Objective
The Bio-Networking Architecture that the PI proposes is inspired by the observation that the biological world has already developed the mechanisms necessary to achieve the key requirements for the Next Generation Internet (NGI), such as scalability, adaptability to heterogeneous and dynamic conditions, security, survivability, and simplicity. In the biological world, each individual entity (e.g., a bee in a bee colony) follows a simple set of behavior rules (e.g., migration, reproduction, energy exchange, mutation, and death), yet a group of entities (e.g. a bee colony) exhibits complex, emergent behavior (e.g., adaptation, evolution, security, survivability). Therefore, if services and applications adopt biological concepts and mechanisms, they too may be able to achieve the key requirements of NGI.
In this project, the PI explores an innovative idea of applying key
concepts and mechanisms from the biological world onto network application
designs to enable construction of large scale network applications.
Approach
The PI is currently applying key concepts and mechanisms from the biological
world to design and empirically evaluate a new network architecture called
the Bio-Networking Architecture. In the Bio-Networking Architecture, services
and applications are implemented by super-entity, i.e., a collection of
multiple entities called cyber-entities (as a bee colony consists of multiple
bees). (See Fig.1). These cyber-entities have functionality related to
their service or application and follow simple behavior rules (e.g., migration,
reproduction, energy exchange, mutation, death) similar to biological entities.
(See Fig.2) The Bio-Networking platform software on each node in the Bio-Networking
Architecture provides an execution environment and supporting facilities
for cyber-entities. (See Fig.3.) A specialized cyber-entity, the resource
cyber-entity, manages and allocates resources to the other cyber-entities
on the network node. In the Bio-Networking Architecture, useful emergent
behaviors (e.g., adaptation, evolution, security, and survivability) result
when individual cyber-entities interact.
Figure 1: Super-entity |
|
|
The innovative claims of the proposed project are:
Recent Accomplishment
Aphid: An Adaptive and Scalable Web Content Distribution Application
To demonstrate the adaptability and scalability, as well as to obtain a better understanding of the Bio-Networking Architecture, we have designed an adaptive and scalable web content distribution application called Aphid.
Aphid cyber-entities are constructed according to the design shown in Figure 2. The attributes section of the Aphid cyber-entity contains information about itself, including a unique ID, which web site (super-entity) the cyber-entity belongs to, what web pages are in its body, and what system resources are required by the cyber-entity. The body section of the Aphid cyber-entity contains the web pages that they disseminate. The behavior section of the Aphid cyber-entity contains behaviors (executable methods or functions) that control the autonomous actions of the cyber-entity. They include but are not limited to:
To receive a web page held by an Aphid cyber-entity, users must first locate a nearby cyber-entity containing the desired web page. This can be done via social networking, a fully distributed directory service for mobile and replicated objects currently under development as part of the Bio-Networking Architecture project, or by some conventional directory service, such as DNS. When a user receives a web page from an Aphid cyber-entity, the user pays the cyber-entity with energy units.
Recent Accomplishment: Aphid Simulations
We have developed a simulator for the Bio-Networking Architecture and Aphid. The simulator can simulate a wide variety of network topologies and user demand workloads. In the following, we will present some preliminary simulation results.
The simulation results are based on the network topology shown in Figure 4 and the user workload shown in Figure 5. In Figure 4, the circles represent Bio-net nodes and the numbers next to them are their ID numbers. Figure 5 shows the number of users requesting web pages over a 24 hour period. During most of the day, the number of users vary randomly between 0 and 5. However, there is a surge in user demand between 7am and 10am. Users are randomly placed in the network.
Figure 4: Screenshot of the simulator and a 50 node
network
Figure 5: User Demand Workload
Three separate simulation runs were conducted. In the first run, a single Aphid cyber-entity was placed on node 9. In the second run, 4 "static" servers were placed on nodes 1, 4, 9, and 13. Static servers are conventional software web servers that do not migrate, reproduce, or die. In the third run, 6 static servers were placed on nodes 1, 4, 9, 13, 8, and 6. In simulations, each user requests one web page per second from the nearest Aphid cyber-entity or static server and pays that cyber-entity or static server 1 energy unit. Aphid cyber-entities and static servers can process 50 requests per second and must pay the Bio-net nodes they are residing on 3 energy units per second. Figures 6 and 7 show the results of the 3 simulation runs super-imposed on each other for comparison purposes.
Figure 6 shows the average delay experienced by users. Of the three simulation runs, users experience the highest delay, approximately 60 seconds, when 4 static servers are used. This is caused by an imbalance of users relative to the location of the servers. As a result, some servers are overloaded with user requests for a short period of time. When 6 static servers are used, there is enough excess processing capacity to overcome any imbalance in user locations. When Aphid cyber-entities are used, users experience a slight increase in delay at the beginning of the surge in user demand. This is due to the fact that there is only 1 cyber-entity in the network at the beginning of the surge. However, the initial Aphid cyber-entity is able to quickly replicate to accommodate the demand.
Figure 7 shows the resource cost when 4 static servers, 6 static servers,
and Aphid cyber-entities are used in the simulation runs. Resource costs
are defined as the total number of energy units a static server or cyber-entity
pays to the platform. Aphid cyber-entities use approximately one fourth
the resources of 6 static servers. The cost saving achieved by Aphid cyber-entities
is due to their death behaviors which causes excess cyber-entities to die
during periods of low user demand.
Figure 6: Average Delay Experienced by Users |
Figure 7: Resource Cost for 1 Day |
Even though the 6 static servers produced the lowest delay, Aphid cyber-entities were able to produce comparable delay characteristics at a lower resource cost. Due to limited space, we only presented a limited set of simulation results. However, we believe they show that the approach used by Bio-Networking Architecture is promising.
Recent Accomplishment: Aphid Implementation
The PI is currently implementing Aphid to show the feasibility of the Bio-Networking Architecture. The current implementation effort focuses around Aphid cyber-entities to study how biological behaviors, such as replication, migration, energy consumption and death of cyber entities, can be implemented with a current programming language. The platform software will be implemented when the implementation of Aphid cyber-entities is completed. In this subsection, the current implementation status is briefly summarized.
As described in Approach section, the Aphid cyber-entity has three sections: attributes, body and behaviors. In the current implementation, the attributes section stores the name, energy level, and the current location of the cyber entity. The body section implements the web server functionality that processes HTTP "get" command. The HTML pages and images that the Aphid cyber-entity serves are also a part of the cyber entity body. To make the HTTP service more responsive and efficient to user requests, the body section of the Aphid cyber-entity runs in an individual thread created by the Aphid cyber-entity in initialization. The behaviors in the current implementation are the methods implemented in the Aphid cyber-entity. The behaviors implemented so far include replication, migration, energy consumption, and death.
Running Aphid cyber entities requires the support of the Bio-Networking platform software as described in Approach section. In the current implementation, commercially available Voyager ORB, a mobile agent platform developed by ObjectSpace Inc., is used as a platform software. Voyager ORB supports migration, communication, and lookup service of mobile objects. In order to aid cyber-entity migration, we have augmented the Voyager ORB with functionality needed to support hop-by-hop migration of cyber entities toward the users.
Aphid cyber entities receive energy from users for the services they provide. In the current implementation, energy is expressed in a positive integer. When requesting web pages from an Aphid cyber–entity, a user specifies the amount of energy he is willing to pay at the end of the URL string. For instance, www.uci.edu/index.html$40 indicates that a user is paying 40 energy units to the Aphid cyber-entity. Aphid cyber-entities also pay energy to the platform software that it is running on. This is currently simulated by letting the Aphid cyber-entity to decrease its energy level by 1 every second. When an Aphid cyber exhausts all energy, it dies and releases resources.
The Aphid cyber-entity is implemented in Java and tested in a Windows
NT 4.0 environment. In a demonstration over a small scale testbed of 3
nodes, we observed that Aphid cyber-entities collect energy from users,
replicate when their energy level reaches a threshold, migrate toward a
user who provides the largest energy amount for the service, and die when
the energy is exhausted.
Current Plan
As described in Research Accomplishment section, the PI has initiated feasibility study of the proposed Bio-Networking Architecture through simulation and implementation of an example application, Aphid. Initial results show that the proposed architecture exhibits such key features as adaptability, survivability and availability. The proposed research will follow the three major phases described below.
Task 1: Extensive Simulation and Analysis
Large-scale simulation of the Bio-Networking Architecture will be conducted. Various biological concepts and mechanisms will be simulated, and their benefits and overheads empirically evaluated. Major tasks in this phase include:
Components of the Bio-Networking Architecture will be designed. The major tasks include:
Components of the Bio-Networking Architecture designed in Task 2 will be implemented on a test network. The major tasks in this phase include:
Technology Transition
The project is relatively young, and the DARPA’s support for the project started in August of this year. Thus, the PI has been focusing on the feasibility study aspects of the Bio-Networking Architecture and has not made significant contributions in the area of technology transfer.