31
JWAITS 2001 @La Jolla, CA 1 Bionet Project Overview: Applying Biological Concepts and Mechanisms for Designing Adaptable, Scalable and Survivable Communication Software Jun Suzuki and Tatsuya Suda [email protected] Dept. of Information and Computer Science, University of California, Irvine

JWAITS 2001 @La Jolla, CA1 Bionet Project Overview: Applying Biological Concepts and Mechanisms for Designing Adaptable, Scalable and Survivable Communication

Embed Size (px)

Citation preview

JWAITS 2001 @La Jolla, CA 1

Bionet Project Overview:Applying Biological Concepts and Mechanisms

for Designing Adaptable, Scalable and Survivable Communication Software

Jun Suzuki and Tatsuya [email protected]

Dept. of Information and Computer Science,University of California, Irvine

JWAITS 2001 @La Jolla, CA 2

Agenda

Bio-Networking Architecture Overview Motivation to Bionet Project Observations of large scale biological systems that

scale, adapt, and survive in dynamic environment How bio concepts are used in the Bionet project

Bio-Networking Architecture DesignCurrent Project Status and Future WorkConclusion

JWAITS 2001 @La Jolla, CA 3

Motivation: Bionet Project

The explosive growth of the net places larger and more challenging demands on underlying communication software.Future network services and applications have to satisfy: Scalability

They have to be able to scale to billions of nodes and users.

AdaptabilityThey have to be able to adapt to diverse and

dynamic conditions in the network.

JWAITS 2001 @La Jolla, CA 4

Availability and SurvivabilityThey have to be secure and highly available.

AutonomyThey have to require minimal human configuration

and management.

Networks need to have built-in mechanisms to provide these features

JWAITS 2001 @La Jolla, CA 5

Bionet: Applying Biological Concepts and Mechanisms

Observation: large scale biological systems scale, adapt, and survive e.g. bee colony

Bionet: applying biological concepts/mechanisms to network services and applications A bee colony can scale to a large number of bees

because all activities of the colony are carried out without centralized control.decentralization

JWAITS 2001 @La Jolla, CA 6

Bees act autonomously, influenced by local conditions and local interactions with other bees.

The bee colony also adapts to dynamic conditions, often to optimize its food gain relative to energy expenditure.

The bee colony is survivable because it is not dependent on any single bee

Scalability, adaptability and survivability are not present in any single bee. Rather, they emerge from the collective actions and interactions of all the bees in the colony.

JWAITS 2001 @La Jolla, CA 7

Complex Adaptive System

a super entity with emergent characteristics

individual entities (agents)

emergencethrough self-organization

Feedback andreinforcement

learning

JWAITS 2001 @La Jolla, CA 8

Agenda

Bio-Networking Architecture Overview Motivation to Bionet Project Observations of large scale biological systems that

scale, adapt, and survive in dynamic environment How bio concepts are used in the Bionet project

Bio-Networking Architecture DesignCurrent Project Status and Future WorkConclusion

JWAITS 2001 @La Jolla, CA 9

Emergent BehaviorBiological systems consist of many autonomous entities useful group behavior emerges from autonomous lo

cal interaction of individuals with simple behaviors

JWAITS 2001 @La Jolla, CA 10

Bio-Network application constructed from a collection of cyber-e

ntities (objects/agents) cyber-entities have biological behaviors

e.g. migration, reproduction, death, energy exchange each cyber-entity has basic functionality related to i

ts application and service

JWAITS 2001 @La Jolla, CA 11

Food and EnergyBiological systems biological entities naturally strive to gain energy by

seeking and consuming food

JWAITS 2001 @La Jolla, CA 12

Bio-Network cyber-entity stores/expends energy (food/money) Energy is the unit of exchange for service or resour

ce usages. energy exchange

CE gains energy from a user/another CE in exchange for performing a service

CE expend energy to use network/computing resources

energy used as a control mechanism (natural selection mechanism) abundance induces replication or reproduction scarcity induces death

JWAITS 2001 @La Jolla, CA 13

Evolution and AdaptationBiological systems the biological system specializes and optimizes itsel

f for environmental changes. key enablers:

diversity from mutations and crossovers during replication/reproduction

natural selection keeps entities with beneficial features alive and increase reproduction probability

JWAITS 2001 @La Jolla, CA 14

Bio-Network cyber-entities (CEs) evolve, adapt, and localize thro

ugh diversity and natural selection diversity

A CE behavior can be implemented by a number of algorithms/policies

human designers can introduce diversity in CEsCEs replicate/reproduce with mutation/crossover

natural selectiondeath from energy starvation replication/reproduction from energy abundance

JWAITS 2001 @La Jolla, CA 15

Agenda

Bio-Networking Architecture Overview Motivation to Bionet Project Observations of large scale biological systems that

scale, adapt, and survive in dynamic environment How bio concepts are used in the Bionet project

Bio-Networking Architecture DesignCurrent Project Status and Future WorkConclusion

JWAITS 2001 @La Jolla, CA 16

Bionet Platform Architecture

Bionet Services

Bionet Platform

Bionet Container

CE

CE Context

CE CE CE

Java VM

JWAITS 2001 @La Jolla, CA 17

Bionet Platform Components

Bionet Platform is developed by Java and runs on a Java virtual

machine.Major components: Cyber entity

runs and moves autonomously Provides a simple service is the smallest component in Bionet environment.

Cyber entity context Bionet Services Bionet Container

JWAITS 2001 @La Jolla, CA 18

Ineter-CE CommunicationA CE has a single method “service”, which accepts a message written in an Agent Communication Language (ACL). Each CE has an ACL

interpretation engine.

CEservice(<ACL msg>)

CE

<request> <name>reserve</name> <arg>01</arg> …</request>

JWAITS 2001 @La Jolla, CA 19

The class CyberEntity

CyberEntity

migrate()replicate()reproduce()

…init(Object[]): void

run(): voidgetCEContext(): AgentContextsetCEContext(CEContext): void

log(): void…

onCreated(): voidonMove(): voidonArrival(): void

onActivated(): voidonDeactivated(): void

onDestroy(): void

private float energyprivate int age

private String name…

Behavior

Auxiliary methods

Callback operations

attribute

HotelReservationAgent

private float rateprivate Vector reservations

extends

reserve()checkAvailability()

cancelRerservation()

Body’s non-executable data

Body’s executable code

JWAITS 2001 @La Jolla, CA 20

Cyber Entity Context

CE Context is an entry point for CE to access Bionet Services. is created and associated with each CE implicitly by

Bionet Lifecycle Service, when a CE is created, replicated, reproduced, or migrated from another host.

is called by only its associated cyber entity.

CyberEntity

getCEContext(): CEContextsetCEContext(CEContext): void

CEContext

find(String): ObjectgetBionetContainer(String): BionetContainer

getReference(): CERreference

1 1

JWAITS 2001 @La Jolla, CA 21

Bionet Services

CE Directory

Cyber EntityMigration

PheromoneEmission

ResourceSensing

Social Networking

Cyber-EntityComm.

Cyber-EntityLifecycle

Security

Bionet Services

RelationshipManagement

EnergyManagement

ResourceAllocation

JWAITS 2001 @La Jolla, CA 22

Bionet Container

Bionet Container is a sandbox in which CEs and Bionet Services run. runs on per-process basis.

One or more Bionet containers can run on a single host.

a host

Bionet Container

Process 1

Bionet Container

Process 2

JWAITS 2001 @La Jolla, CA 23

Bionet Platform provides the bottom most operations to maintain Bionet Platform. CE registration/unregistration CE activation/deactivation resource management CE reference management request/event parsing

Bionet Services

Bionet Container

CE

memory connection

threads

CEBionet ServicesBionet Services

available resources

JWAITS 2001 @La Jolla, CA 24

Agenda

Bio-Networking Architecture Overview Motivation to Bionet Project Observations of large scale biological systems that

scale, adapt, and survive in dynamic environment How bio concepts are used in the Bionet project

Bio-Networking Architecture DesignCurrent Project Status and Future WorkConclusion

JWAITS 2001 @La Jolla, CA 25

Current Project Status

Bionet Simulator Adaptation/evolution simulation done.

See a technical paper for details: netresearch.ics.uci.edu/bionet/

Results show Bio-Networking Architecture works well.

Bionet Platform is design/early implementation stages. on top of CORBA and Enterprise Java Beans (EJB)

JWAITS 2001 @La Jolla, CA 26

An Ongoing project:Self-Organizing Agents

It has been one of the biggest problem in traditional distributed object computing environments to decide and optimize object locations. Static and manual configuration in the environment without object

mobility e.g. Many objects on a powerful machine Frequently interacting objects on the same host/process

Tedious and time-consuming The system/object should be stopped; availability decreased.

The decision is ad-hoc or static even in mobile agent environments. e.g. Developers define an agent itinerary that describes when and

where to move at development time.

JWAITS 2001 @La Jolla, CA 27

We need more dynamic and autonomous mechanism of deciding agent location. Bionet facilitates this by using self-organizing cyber ent

ities A CE organization is emerged from autonomous local i

nteractions. Energy exchange between CEs Energy exchange between an CE and its platform

JWAITS 2001 @La Jolla, CA 28

Agent-agent/agent-platform interactions

Energy in Bionet Unit of exchange for service or resource usages

Agent-agent interaction Each agent gains energy from another agent (or user) in

exchange for performing a service. abundance induces replication or reproduction scarcity induces death

Agent-platform interaction Each agent expends energy to use network/computing

resources. e.g. thread, transport connection, memory space and CPU

cycle Agent platform knows the types, amount and cost of

available resources.

JWAITS 2001 @La Jolla, CA 29

An Example ScenarioEach agent asks its underlying platform to assign a thread, and pays its energy.The unit cost of a thread utilization may vary with the number of available threads.

More idle threads exist in a pool, cheaper the unit cost is.

Each agent behaves autonomously with its policies.

e.g. An agent migrates to another host when migration cost is cheaper than thread utilization cost.

e.g. An agent deactivates itself when its thread utilization cost is too expensive to pay.

The concept of energy allows agents to consume available resources in a distributed environment effectively.

Bionet Container

CE

agent registration table

Thread pool

(2) assigns an idle thread(3) requires the cost (1) registers

JWAITS 2001 @La Jolla, CA 30

Wrap upBionet provides a new paradigm to build network services and applications. Inspired by biology

Bionet Platform is in design/early implementation stages Most of the elements are in place

Several simulation results have supported our direction.Bionet Simulator is available at http://netresearch.ics.uci.edu/bionet/

Bionet Platform will be available in the middle of this year.

JWAITS 2001 @La Jolla, CA 31

AcknowledgementsThis work has been supported by

the National Science Foundation through grants ANI-0083074 and ANI-9903427,

DARPA through Grant MDA972-99-1-0007,

AFOSR through Grant MURI F49620-00-1-0330,

grants from the University of California MICRO Program,

Hitachi, Hitachi America, Standard Microsystems

Corporation, Canon, Canon USA,

Novell, Tokyo Electric Power Com

pany, Nippon Telegraph and Tele

phone Corporation (NTT), NTT Docomo, Fujitsu, Nippon Steel Information a

nd Communication Systems Incorporated (ENICOM),

Matsushita Electric Industrial company.