Download bionet-sdo - UMass Boston Computer Science

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Biological warfare wikipedia , lookup

History of biological warfare wikipedia , lookup

Transcript
Biologically-inspired Adaptive
Networking with
Super Distributed Objects
Jun Suzuki, Ph.D.
[email protected]
http://dssg.cs.umb.edu/
Distributed Software Systems Group
Department of Computer Science
University of Massachusetts, Boston
1
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
2
UMass Boston
• One of the 5 UMass system universities
3
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
4
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
5
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
6
The Bio-Networking Architecture
• 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
users
cyber-entities
Bionet Platform
Devise
7
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
8
Biological Concepts Applied (2)
• 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
9
Biological Concepts Applied (3)
• 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.
10
Biological Concepts Applied (4)
• 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
11
Biological Concepts Applied (5)
• 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.
12
CE’s Structure and Behaviors
Bionet platform
Devise
Cyber-entities running
on a bionet platform
users
• Attributes
–
–
–
–
ID
Relationship list
Owner
…etc.
• Body
– functional service
• hotel room reservation
• temperature sensing,
etc.
Attributes
Body
Behaviors
cyber-entity
• Behaviors
–
–
–
–
–
–
–
–
Energy exchange and storage
Migration
Replication
Reproduction
Death
Relationship maintenance
Social networking (discovery)
Resource sensing
13
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
14
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
15
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.
16
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  F i .W i > threshold, then
i
migrate.
Example migration factors:
Behavior Policy
Migration Policy
Factor-Weight
Factor-Weight
threshold
Reproduction Policy
Factor-Weight
Factor-Weight
Factor-Weight
threshold
– 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).
– Resource Cost
• encourages CEs to migrate
to a network node whose
resource cost is cheaper.
17
chromosome
Each CE has its own chromosome.
It is given by a human developer or
contributed by its parent(s).
CE
gene strand
Migration …… Replication
gene
factor_name weight value
gene
factor_name weight value
gene
factor_name weight value
A chromosome consists of gene strands.
Each gene strand corresponds to
a behavior.
…
…
A gene strand consists of genes.
Each gene encodes factor name,
and weight value.
Weight values are mutable.
18
• Crossover occurs during
• Weight values in each
reproduction.
behavior policy change
dynamically through mutation. • A child CE inherits different
behaviors from different
• Mutation occurs during
parents through crossover.
replication and reproduction.
Behavior Policy Parameter Set
Behavior Policy
parents
Behavior Policy Parameter Set
Migration Policy Params
Migration Policy Params
weight 1
weight 2
threshold
weight 1
weight 2
threshold
Migration Policy
Factor-Weight
Factor-Weight
threshold
Reproduction Policy
Factor-Weight
Factor-Weight
Factor-Weight
threshold
..
Reproduction Policy Params
Reproduction Policy Params
weight 1
weight 2
Weight 3
threshold
weight 1
weight 2
Weight 3
threshold
Behavior Policy Parameter Set
Migration Policy Params
weight 1
weight 2
threshold
reproduced
child
Reproduction Policy Params
weight 1
weight 2
Weight 3
threshold
19
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.
20
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
21
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
Bionet platform
Devise
22
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.
23
Platform Architecture
A Cyber-entity (CE) is an
CE
Platform
representative
Bionet Services
Bionet Container
Bionet Message Transport
Bionet Class Loader
Java VM
External Helper Tools
CE
CE Context
Bionet Platform
autonomous mobile object.
CEs communicate with each
other using FIPA ACL.
A platform rep keeps
references to bionet
services and container.
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 message transport
takes care of I/O, low-level
messaging and concurrency.
Bionet class loader loads
byte code of CEs to Java VM.
24
CE’s Internals
• 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()
run()
while(true)
msgs
metadata()
msgs
Message
queue
fetch and
process
Environment
run() sensing
Behavior
selection
Behavior
invocation
25
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).
26
• 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.
27
• 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.
28
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.29
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.
30
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
In-car net
SDO Net
Networked
appliances
(e.g. EchoNet)
Networked
A/V devices
(e.g. HAVi)
Personal-area
network
31
• 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
32
omg.org.SDOPackage
SDOSystemElement
SDO
-organizations
-owner
0..n
1
-members
1
0..n
-organizations
0..n
ServiceProfile
-serviceProfile
OrganizationProperty
SDO
1..*
Organization
Configuration
The bionet
platform as
a specialization
of the SDO
standard
Monitoring
edu.uci.ics.bionet
CyberEntity
java.lang.Runnable
CyberEntityImpl
-metadata:String
-mQueue:MessageQueue
Relationship
...
+send(message:String):void
+metadata():String
+run():void
-getCEContext():CEContext
+setCEContext(ctx:CEContext):void
+getRelationships():Vector
CEContext
1
1
Bionet Platform
java.lang.Serializable
+findBionetService(…):Object
...
...
33
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
34