The Bio-Networking Platform

Last modified: August 15, 2003

Jun Suzuki (jsuzuki@ics.uci.edu)

Overview

We believe that the future networks, which will be orders of magnitude more complex and larger than current networks, should exhibit self-organization with inherent support for scalability, adaptability to environmental changes in networks, and survivability/availability from massive failures and attacks. The Bio-Networking Architecture is motivated by the observation that these desirable properties (such as scalability, adaptability and survivability/availability) have already been realized in various biological systems, and it applies key biological principles and mechanisms for designing network applications. The Bio-Networking Architecture is a new framework for developing large-scale, highly distributed, heterogeneous and dynamic network applications.

In the Bio-Networking Architecture, a network application is implemented as a decentralized collection of autonomous objects called cyber-entities. This is analogous to a bee colony (a network application) consisting of multiple bees (cyber-entities). Each cyber-entity implements a functional component related to their service or application, and follows simple behavior rules (e.g., replication, reproduction and migration) similar to biological entities. Cyber-entities store and expend energy for living. They gain energy in exchange for providing their services, and expend energy for performing their biological behaviors, invoking other cyber-entities' services and utilizing resources (e.g. CPU cycles and memory space).

The Bio-Networking platform is a middleware system that provides reusable components for deploying and executing cyber-entities (CEs). These components abstract low-level operating and networking details (e.g. I/O, concurrency, messaging and network connection management) and provide a series of runtime services that cyber-entities frequently use for performing their services and invoking their biological behaviors.

The architecture of the Bio-Networking platform is organized as shown below:

The Bio-Networking platform runs on a Java virtual machine on a network node. The Bio-Networking platform consists of four components; Bionet services, Bionet message transport, Bionet container and Bionet class loader. The Bionet services provide a set of runtime services that cyber-entities frequently use. Examples of the Bionet services include the bionet lifecycle service, bionet relationship management service and bionet energy management service and bionet migration service. The Bionet message transport abstracts low-level networking and operating details such as network I/O, concurrency, messaging, and network connection management. The Bionet container dispatches incoming messages to cyber-entities running on a local Bio-Networking platform. The Bionet class loader dynamically loads class definitions of cyber-entities into a Java virtual machine when they migrate from a Bio-Networking platform to another.

Cyber-entities run on a Bio-Networking platform and use services provided by the Bio-Networking platform for performing its services and invoking its behaviors (e.g. discovery, replication and migration). The CE context is an entry point for a cyber-entity to access Bionet services. It examines if a Bionet service requested by a cyber-entity is available on the Bio-Networking platform, and if it is, it obtains a reference to the requested Bionet service. The CE context is created and associated with each cyber-entity implicitly (automatically), when a cyber-entity is created, replicated, reproduced or migrated from another host.

Please see the following materials for general overviews of the Bio-Networking Architecture and Bio-Networking platform.

Cyber-entity and its Helper Objects

Component Design/Implementation Notes API Documentation
Cyber-entity 01-13-02.ppt, 01-13-02.pdf 12-27-02
Cyber-entity Context 08-17-03.ppt, 01-17-03.pdf
Attribute-enabled Cyber-entity 08-22-03.ppt, 08-22-03.pdf soon
Gene-injected Cyber-entity , soon
Immuno-Cyber-entity , soon
Relationship soon soon
Platform Representative 08-17-03.ppt, 08-17-03.pdf soon
Graphical User Interface for Cyber-entities 08-17-03.ppt, 08-17-03.ppt soon
OMG Super Distributed Objects Current SDO specification (08-17-03),
Bionet platform design based on the SDO spec.
soon

Bionet Services

The Bionet services defines major 9 runtime services as described below:

Platform Component Executive Summary Design/Implementation Notes API Documentation
Bionet lifecycle service
12-26-02.ppt
12-26-02.pdf
08-13-03.ppt, 08-13-03.pdf 12-27-02
Bionet relationship management service soon to be available soon to be available
Bionet resource sensing service soon to be available soon to be available
Bionet energy management service 08-22-03.ppt, 08-22-03.pdf soon to be available
Bionet social networking service 08-22-03.ppt, 08-22-03.pdf soon to be available
Bionet cyber-entity sensing service soon to be available soon to be available
Bionet pheromone emission service soon to be available soon to be available
Bionet topology sensing service soon to be available soon to be available
Bionet migration service 05-01-03.ppt, 05-01-03.pdf soon

Utilities

Utility Component Design/Implementation Notes API Documentation
Thread Pool 12-27-02.ppt 12-27-02
CE Factory 08-14-03.ppt, 08-14-03.pdf soon to be available
CE Installer 08-14-03.ppt, 08-14-03.pdf soon to be available
GUID Generator 08-21-03.ppt, 08-21-03.pdf 04-01-03
Bootstrap 08-14-03.ppt, 08-14-03.pdf 12-27-02
Analysis soon 12-27-02
Attribute Description Language 08-12-03.ppt, 08-12-03.pdf soon

Bionet Class Loader

Object Design/Implementation Notes API Documentation
Bionet Class Loader 08-14-03.ppt, 08-14-03.pdf soon to be available

Bionet Message Transport and Bionet Container

The bionet message transport and bionet container are designed and implemented based on the CORBA ORB and POA specifications, respectively. We have been using 2 different implementations for this substrate layer; JacORB (http://www.jacorb.org) and our own lightweight CORBA implementation, called muCORBA. More detailed information on muCORBA will be available soon.

How to Get Ready for Using the Bionet Platform

Readme file is available.

If you are new to CORBA, please take a look at this page.


Back to the project top page
Back to the bionet platform page

Network Research Group
School of Information and Computer Science
University of California, Irvine