1 Biologically-inspired Adaptive Networking with Super Distributed Objects Jun Suzuki, Ph.D. Distributed Software.

Slides:



Advertisements
Similar presentations
Research Issues in Web Services CS 4244 Lecture Zaki Malik Department of Computer Science Virginia Tech
Advertisements

Agents & Mobile Agents.
1 An Adaptive GA for Multi Objective Flexible Manufacturing Systems A. Younes, H. Ghenniwa, S. Areibi uoguelph.ca.
Software Architecture Frameworks A Family of Implementations Nikunj Mehta Computer Science Department University of Southern California Los Angeles, CA.
Using Parallel Genetic Algorithm in a Predictive Job Scheduling
Some questions o What are the appropriate control philosophies for Complex Manufacturing systems? Why????Holonic Manufacturing system o Is Object -Oriented.
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
GridRPC Sources / Credits: IRISA/IFSIC IRISA/INRIA Thierry Priol et. al papers.
Common Object Request Broker Architecture (CORBA) By: Sunil Gopinath David Watkins.
The Bio-Networking Architecture: Adaptation of Network Applications through Biological Evolution Jun Suzuki and Tatsuya Suda {jsuzuki,
OMG TC meeting at Irvine Feb Bio-Networking Architecture: An Approach to Leverage Super Distributed Object Environment using Biological Concepts.
CORBA Case Study By Jeffrey Oliver March March 17, 2003CORBA Case Study by J. T. Oliver2 History The CORBA (Common Object Request Broker Architecture)
Dept. of Computer Science & Engineering, CUHK1 Trust- and Clustering-Based Authentication Services in Mobile Ad Hoc Networks Edith Ngai and Michael R.
CS 501: Software Engineering Fall 2000 Lecture 16 System Architecture III Distributed Objects.
Mobile Agents: A Key for Effective Pervasive Computing Roberto Speicys Cardoso & Fabio Kon University of São Paulo - Brazil.
1 Distributed Scheduling In Sombrero, A Single Address Space Distributed Operating System Milind Patil.
The Bio-Networking Architecture: An Infrastructure of Autonomic Agents in Pervasive Networks Jun Suzuki netresearch.ics.uci.edu/bionet/
1 Spring Semester 2007, Dept. of Computer Science, Technion Internet Networking recitation #5 Mobile Ad-Hoc Networks TBRPF.
1 FM Overview of Adaptation. 2 FM RAPIDware: Component-Based Design of Adaptive and Dependable Middleware Project Investigators: Philip McKinley, Kurt.
1 Driving MDA with UML: Principles and Practices Junichi Suzuki, Ph.D. School of Information and Computer Science.
Distributed Systems Architecture Presentation II Presenters Rose Kit & Turgut Tezir.
Community Manager A Dynamic Collaboration Solution on Heterogeneous Environment Hyeonsook Kim  2006 CUS. All rights reserved.
Algorithms for Self-Organization and Adaptive Service Placement in Dynamic Distributed Systems Artur Andrzejak, Sven Graupner,Vadim Kotov, Holger Trinks.
Computer System Lifecycle Chapter 1. Introduction Computer System users, administrators, and designers are all interested in performance evaluation. Whether.
Ihr Logo Chapter 5 Business Intelligence: Data Warehousing, Data Acquisition, Data Mining, Business Analytics, and Visualization Turban, Aronson, and Liang.
Adapting Legacy Computational Software for XMSF 1 © 2003 White & Pullen, GMU03F-SIW-112 Adapting Legacy Computational Software for XMSF Elizabeth L. White.
Univ. Notre Dame, September 25, 2003 Support for Run-Time Adaptation in RAPIDware Philip K. McKinley Software Engineering and Networking Systems Laboratory.
1 CS 456 Software Engineering. 2 Contents 3 Chapter 1: Introduction.
Chapter 6 Operating System Support. This chapter describes how middleware is supported by the operating system facilities at the nodes of a distributed.
B.Ramamurthy9/19/20151 Operating Systems u Bina Ramamurthy CS421.
An Introduction to Software Architecture
Database Design - Lecture 2
Soft Computing Lecture 18 Foundations of genetic algorithms (GA). Using of GA.
Introduction to MDA (Model Driven Architecture) CYT.
CHEN Ge CSIS, HKU March 9, Jigsaw W3C’s Java Web Server.
Discrete Event Modeling and Simulation of Distributed Architectures using the DSSV Methodology E. de Gentili, F. Bernardi, J.F. Santucci University Pascal.
© 2005 Prentice Hall, Decision Support Systems and Intelligent Systems, 7th Edition, Turban, Aronson, and Liang 5-1 Chapter 5 Business Intelligence: Data.
Odyssey A Reuse Environment based on Domain Models Prepared By: Mahmud Gabareen Eliad Cohen.
Cracow Grid Workshop, October 27 – 29, 2003 Institute of Computer Science AGH Design of Distributed Grid Workflow Composition System Marian Bubak, Tomasz.
Copyright © George Coulouris, Jean Dollimore, Tim Kindberg This material is made available for private study and for direct.
JWAITS Jolla, CA1 Bionet Project Overview: Applying Biological Concepts and Mechanisms for Designing Adaptable, Scalable and Survivable Communication.
CSC480 Software Engineering Lecture 11 September 30, 2002.
Communication Paradigm for Sensor Networks Sensor Networks Sensor Networks Directed Diffusion Directed Diffusion SPIN SPIN Ishan Banerjee
Freelib: A Self-sustainable Digital Library for Education Community Ashraf Amrou, Kurt Maly, Mohammad Zubair Computer Science Dept., Old Dominion University.
07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking.
Transparent Mobility of Distributed Objects using.NET Cristóbal Costa, Nour Ali, Carlos Millan, Jose A. Carsí 4th International Conference in Central Europe.
DEVS Based Modeling and Simulation of the CORBA POA F. Bernardi, E. de Gentili, Pr. J.F. Santucci {bernardi, gentili, University.
SOFTWARE DESIGN. INTRODUCTION There are 3 distinct types of activities in design 1.External design 2.Architectural design 3.Detailed design Architectural.
CS 501: Software Engineering Fall 1999 Lecture 12 System Architecture III Distributed Objects.
Bio-Networking: Biology Inspired Approach for Development of Adaptive Network Applications 21 May 2005Ognen Paunovski Bio-Networking: Biology Inspired.
 Common Object Request Broker Architecture  An industry standard developed by OMG to help in distributed programming.
Abstract A Structured Approach for Modular Design: A Plug and Play Middleware for Sensory Modules, Actuation Platforms, Task Descriptions and Implementations.
CSI 3125, Preliminaries, page 1 SERVLET. CSI 3125, Preliminaries, page 2 SERVLET A servlet is a server-side software program, written in Java code, that.
Internet of Things. IoT Novel paradigm – Rapidly gaining ground in the wireless scenario Basic idea – Pervasive presence around us a variety of things.
Component Patterns – Architecture and Applications with EJB copyright © 2001, MATHEMA AG Component Patterns Architecture and Applications with EJB Markus.
Operating Systems (CS 340 D) Dr. Abeer Mahmoud Princess Nora University Faculty of Computer & Information Systems Computer science Department.
An Adaptive Zone-based Storage Architecture for Wireless Sensor Networks Thang Nam Le, Dong Xuan and *Wei Yu Department of Computer Science and Engineering,
February 19, February 19, 2016February 19, 2016February 19, 2016 Azusa, CA Sheldon X. Liang Ph. D. Software Engineering in CS at APU Azusa Pacific.
(C) 2003 University of ManchesterCS31010 Lecture 14: CORBA.
Third International Workshop on Networked Appliance 2001 SONA: Applying Mobile Agent to Networked Appliance Control S.Aoki, S.Makino, T.Okoshi J.Nakazawa.
IHP Im Technologiepark Frankfurt (Oder) Germany IHP Im Technologiepark Frankfurt (Oder) Germany ©
Artificial Intelligence By Mr. Ejaz CIIT Sahiwal Evolutionary Computation.
1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 15 System Architecture III.
Towards a High Performance Extensible Grid Architecture Klaus Krauter Muthucumaru Maheswaran {krauter,
The Biologically Inspired Distributed File System: An Emergent Thinker Instantiation Presented by Dr. Ying Lu.
Processes and threads.
An Introduction to Software Architecture
Database System Concepts and Architecture
Design.
Presentation transcript:

1 Biologically-inspired Adaptive Networking with Super Distributed Objects Jun Suzuki, Ph.D. Distributed Software Systems Group Department of Computer Science University of Massachusetts, Boston

2 Who am I? Academics –Assistant Professor, UMass Boston –Post-doc Research Fellow, UC Irvine –Lecturer, Keio University, Japan –Ph.D. from Keio University Industrial –Technical Director, Object Management Group Japan –Technical Director, Soken Planning Co., Ltd., Japan –Co-founder and CTO, TechAtlas Comm Corp, Austin, TX Professional –Member, ISO SC7/WG 19 –OMG Super Distributed Objects SIG

3 UMass Boston One of the 5 UMass system universities

4 Distributed Software Systems Group A research groups at CS Dept, UMass Boston –PI: Jun Suzuki –6 Ph.D. students –5 master’s students –2 industrial visitors Research thrusts –Autonomous adaptive networks –Model-driven development frameworks

5 Research Goals To make network systems more autonomous, scalable and adaptive. –Autonomy e.g. to avoid interrupting users/administrators frequently –Scalability e.g. in terms of # of application objects and network nodes –Adaptability to dynamic changes in network conditions e.g. workload, resource availability and user’s location –Simplicity to develop and deploy Autonomic networks – Enormous technical and economic impacts

6 Observation and Approach Observation –The requirements for autonomic networks have already been realized by various biological systems. e.g. bee colony, bird flock, fish school, etc. Approach –Apply biological concepts and mechanisms to network (application) design

7 The Bio-Networking Architecture –defines a network application as a set of software objects (agents). –models agents after biological concepts so that they can support the identified requirements for autonomic networks –i.e. autonomy, scalability, adaptability and simplicity Devise Bionet Platform cyber-entities users

8 Biological Concepts Applied (1) Decentralization –Biological systems consist of autonomous entities (e.g. bees in a bee colony) no centralized entity (e.g. a leader in a bird flock) –Decentralization increases scalability and survivability of biological systems. –The Bio-Networking Architecture biological entities = cyber-entities (CEs) –autonomous with (biological) behaviors »replication, reproduction, migration, death, etc. »makes its own behavioral decision according to its own policy no centralized entity among CEs

9 Emergence –Biological systems Useful group behavior (e.g. adaptability) emerges from autonomous local interaction of individuals. –i.e. no centralized entity –The Bio-Networking Architecture Each CE autonomously –senses local/nearby environment »e.g. existence of neighboring CEs, workload, etc. –invokes its behavior(s) according to the current environmental condition –interacts with each other Biological Concepts Applied (2)

10 Lifecycle –Biological systems Each entity strives to seek and consume food for living. Some entities replicate themselves and/or reproduce children with partners. –The Bio-Networking Architecture Each CE stores and expends energy for living. –gains energy in exchange for providing its service to other CEs –expends energy for performing its behaviors, utilizing resources (e.g. memory), and invoking another CE’s service. Each CE replicates itself and reproduce a child with a partner. Biological Concepts Applied (3)

11 Evolution –Biological system adjusts itself for environmental changes through species diversity and natural selection. –The Bio-Networking Architecture CEs evolve by –generating behavioral diversity among them, and »manually by human developers »through mutation and crossover (in replication/reproduction) –executing natural selection. »death from energy starvation »tendency to replicate/reproduce from energy abundance Biological Concepts Applied (4)

12 Social networking –Biological systems (social systems) Any two entities can be linked in a short path through relationships among entities. –six decrees of separation (“small world!” phenomenon) –The Bio-Networking Architecture CEs are linked with each other using relationships. –Each relationship contains the attributes of a relationship partner. Relationships are used for a CE to search other CEs. –Search queries travel thru relationships among CEs. Biological Concepts Applied (5)

13 Devise Bionet platform Cyber-entities running on a bionet platform Attributes Body Behaviors cyber-entity users CE’s Structure and Behaviors Behaviors –Energy exchange and storage –Migration –Replication –Reproduction –Death –Relationship maintenance –Social networking (discovery) –Resource sensing Attributes –ID –Relationship list –Owner –…etc. Body –functional service hotel room reservation temperature sensing, etc.

14 Research Methods Simulations –Implementing various biological mechanisms on simulator –Understanding the characteristics of those biological mechanisms Empirical evaluation –Porting simulation implementations on the real network –Evaluating how biological mechanisms impact on network systems

15 Bionet Simulator Java based simulator –Contains over 14,000 lines of Java code Simulates –Network topology –Network traffic –Users (request rate and location) –CEs –Platforms –resources

16 Simulation Work Evolutionary adaptation (long-term adaptation) –A genetic algorithm designed for CEs. –Behavioral policies modeled as genes. –Cyber-entities dynamically adjust their population and location against demands, net traffic and resource availability. Immunological adaptation (short-term adaptation) –An immunological algorithm designed for CEs. –Environmental conditions modeled as antigens. –Behavioral policies modeled as antibodies. –Cyber-entities dynamically adjust their population and location against demands, net traffic and resource availability.

17 Bionet Genetic Algorithm Each CE has its own policy for each behavior. A behavior policy consists of factors (F), weights (W), and a threshold. –If > threshold, then migrate. Example migration factors: –Migration Cost A higher migration cost (energy consumption) may discourage migration. –Distance to Energy Sources encourages CEs to migrate toward energy sources (e.g. users). Behavior Policy Factor-Weight threshold Migration Policy Factor-Weight threshold Reproduction Policy –Resource Cost encourages CEs to migrate to a network node whose resource cost is cheaper.

18 CE chromosome Each CE has its own chromosome. It is given by a human developer or contributed by its parent(s). MigrationReplication …… A chromosome consists of gene strands. Each gene strand corresponds to a behavior. gene strand factor_nameweight value gene factor_nameweight value factor_nameweight value …… A gene strand consists of genes. Each gene encodes factor name, and weight value. Weight values are mutable. gene

19 Weight values in each behavior policy change dynamically through mutation. Mutation occurs during replication and reproduction. Behavior Policy Factor-Weight threshold Migration Policy Factor-Weight threshold Reproduction Policy Crossover occurs during reproduction. A child CE inherits different behaviors from different parents through crossover. Behavior Policy Parameter Set weight 1 weight 2 threshold Migration Policy Params weight 1 weight 2 Weight 3 threshold Reproduction Policy Params Behavior Policy Parameter Set weight 1 weight 2 threshold Migration Policy Params weight 1 weight 2 Weight 3 threshold Reproduction Policy Params Behavior Policy Parameter Set weight 1 weight 2 threshold Migration Policy Params weight 1 weight 2 Weight 3 threshold Reproduction Policy Params parents reproduced child

20 Bionet Immune Algorithm The immune system –detects antigens (e.g. viruses) and produces a specific type of antibodies that kill them. The Bionet artificial immune system –detects environmental changes (antigens) and selects a behavior (antibody) suitable to the current environmental condition.

21 On-going Work Combining short-term and long-term adaptation mechanisms –Genetic + immunological algorithms –Synergistic effect? Symbiosis between CEs and platforms –Models both CEs and platforms as biological entities

22 The Bio-Networking Platform The bionet platform is a middleware that –deploys the Bio-Networking Architecture on the network. –aids developing, deploying and executing CEs by abstracting low-level networking and operating details. providing high-level runtime services –designed based on several biological mechanisms. –Contains 34,000 lines of Java code Devise Bionet platform

23 Design Strategy Identify a set of functional requirements derived from the features of cyber-entities –e.g. energy mgt., relationship maintenance, discovery, environment sensing, migration, lifecycle mgt., etc. Identify a set of common networking and operating functionalities required to deploy and execute CEs. –e.g. I/O, concurrency, messaging, network connection management, reference management, etc. Design and implement the bionet platform based on identified functionalities.

24 Platform Architecture A Cyber-entity (CE) is an autonomous mobile object. CEs communicate with each other using FIPA ACL. A CE context provides references to available bionet services. Bionet services are runtime services that CEs use frequently. Bionet container dispatches incoming messages to target CEs. Bionet class loader loads byte code of CEs to Java VM. Bionet message transport takes care of I/O, low-level messaging and concurrency. Bionet Services Bionet Platform Bionet Container CE CE Context Java VM Bionet Message Transport CE Bionet Class Loader External Helper Tools Platform representative A platform rep keeps references to bionet services and container.

25 Each CE is implemented as a Java object. Each CE uses 2 threads to –(1) fetch and process incoming messages –(2) sense nearby env conditions and invoke behaviors Each message is formatted in FIPA ACL and encoded with XML. Cyber-entity send() metadata() Message queue Environment sensing Behavior selection msgs Behavior invocation msgs fetch and process while(true) run() CE’s Internals

26 Bionet Services 8 services defined and implemented. Each service works on per-platform basis. Bionet Lifecycle Service –used to initialize and install a CE. –allows a CE to activate, inactivate and replicate itself. reproduce a child CE with a partner. Bionet Energy Management Service –keeps track of energy level of the CEs running on a local platform. –allows a CE to pay energy amounts for invoking another CE’s service using resources (e.g. memory) performing behaviors (e.g. for replicating).

27 Bionet Relationship Management Service –allows a CE to establish, examine and eliminate its relationships. Bionet Resource Sensing Service –allows a CE to sense the type, amount and unit cost of available resources. Bionet CE Sensing Service –allows a CE to locate others CEs on the same platform. Bionet Migration Service –allows a CE to migrate to another bionet platform.

28 Bionet Pheromone Emission/Sensing Service –allows a CE to leave its pheromone (or trace) on a local platform when it migrates to another platform so that other CEs can find the CE at a destination platform Bionet Social Networking Service –allows a CE to search other CEs through their relationships.

29 Bionet Message Transport abstracts low-level networking details –such as I/O, concurrency, messaging, network connection management. –Marshaling/unmarshaling messages issued by a CE A string message (string data) written in the FIPA ACL is transformed to an IIOP binary representation. –TCP connection setup and management “keep alive” policy (connection pooling) on connection management –A connection between platforms keeps alive (not destroyed) after it is established so that it is reused for future communication. –Threading (thread pooling) to accept incoming messages uses the interfaces of the CORBA ORB specification.

30 Bionet Container contains a table listing all the CEs running on the same platform. –pairs of CE’s GUID and pointer to the CE uses the table to dispatch incoming msgs to target CEs. creates a CE references. keeps track of the current traffic load by counting –the size of incoming IIOP messages –the number of method dispatches. uses the interfaces of the CORBA POA (Portable Object Adaptor) specification.

31 OMG SDO Specification Contributed several designs in the bionet platform to the OMG’s Super Distributed Objects (SDO) SIG SDO SIG aims to –incorporate massive numbers of heterogeneous hardware devices and software services –model them as objects (SDOs) in a uniform object model –operate SDOs on higher-level overlay network in a decentralized manner Networked appliances (e.g. EchoNet) Networked A/V devices (e.g. HAVi) Personal-area network In-car net SDO Net

32 The current SDO standard defines –common resource data model for SDOs used to describe SDO’s properties (e.g. ID) –common interfaces to access and manipulate the resource data –PIM and CORBA PSM for Resource data model and interfaces

33 SDO Bionet Platform The bionet platform as a specialization of the SDO standard

34 Current Status Measurements done to evaluate the bionet platform –Overhead of platform functionalities –Memory footprint of CEs and platforms Deploying and evaluation adaptation mechanisms on the bionet platform