Last modified: August 15, 2003
Jun Suzuki (jsuzuki@ics.uci.edu)
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.
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
The Bionet services defines major 9 runtime services as described below:
- Bionet lifecycle service; allows cyber-entities to change their internal state, replicate, and reproduce.
- Bionet relationship management service; allows cyber-entities to establish, examine, update and eliminate their relationships with other cyber-entities.
- Bionet resource sensing service; allows cyber-entities to inquire the type, amount and unit cost of available resources (CPU cycle and memory space).
- Bionet energy management service; keeps track of energy level of cyber-entities running on a local platform, and allows the cyber-entities to pay energy for receiving services from another cyber-entity, utilizing resources (CPU cycle and memory space), and performing their behaviors.
- Bionet social networking service; allows cyber-entities to search for other cyber-entities on a remote node through their relationships. This discovery is called cyber-entity level discovery because the discovery is performed with the knowledge of cyber-entities (i.e. relationships).
- Bionet cyber-entity sensing service; allows cyber-entities to search for other cyber-entities running on a local and neighboring platforms. This discovery is called platform level discovery because the discovery is performed with the knowledge of platforms (i.e. platform connectivity).
- Bionet pheromone emission service; allows cyber-entities to emit their pheromones (traces) and to sense pheromones emitted by other cyber-entities.
- Bionet topology sensing service; allows cyber-entities to sense the existence of remote platforms within N hops.
- Bionet migration service; allows cyber-entities to migrate to another platform.
Platform Component Executive Summary Design/Implementation Notes API Documentation Bionet lifecycle service 12-26-02.ppt
12-26-02.pdf08-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
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
Object Design/Implementation Notes API Documentation Bionet Class Loader 08-14-03.ppt, 08-14-03.pdf soon to be available
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.
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