A Biologically Inspired Network for Ubiquitous Computing

Larry T. Chen, larryc@ics.uci.edu

Introduction

We envision ubiquitous computing to be the scenario where personal and group-based information and computing resources are accessible from anywhere in the world. Such a network would maintain and make available to authorized parties personal information such as:

It would make available computing resources such as

Such a network would allow emergency doctors to instantly access personal medical information, for example.  It would allow hotel and airline reservations to be made without specifying preferences every time (non-smoking, etc.).  It would promote increased personal productivity by providing access to essential programs and information from anywhere.

Requirements

We believe realizing such a scenario requires a global network which provides the following guarantees:

In short, the network must provide ubiquitous access to information and program resources, despite physical failures or security attacks. It must preserve integrity and confidentiality of information. It must survive and recover from substantial partial physical network failures or directed security attacks to deny service or violate data/program integrity.

Today's networks are unable to provide such guarantees.  The current Internet is not highly available because of the following reasons:

We believe to ensure such guarantees, such a network must exhibit the following properties:

A Biologically-Inspired Architecture

The Cyberentity

We propose to view the global network as one large virtual computer for each user. Thus, a user's identity and essential information (which we will refer to as profile) is not stored in one fixed vulnerable location.  Instead, the profile is stored in a virtual cyberentity, a distributed, autonomous entity which "lives" in the entire network.  The cyberentity's behavior is the emergent behavior of all of its atomic components, which consists of bits of information and bits of programs. The cyberentity autonomously strives for its own survival, well-being, and fidelity of service to its owner (by providing a high quality of service to its owner).  The cyberentity achieves this by self-organization, replication, and evolution to distribute itself widely throughout the network for the purposes of surviviability, integrity, and high availability.

Note that the cyberentity is not limited to encapsulating a user profile.  A cyberentity may encapsulate a network service--for example, a multicast communication service. It may encapsulate a policy--for example, a security policy.

Biological Mechanisms

We believe the following biologically-inspired mechanisms can achieve the desired cyberentity concept and behaviors:

Food

The concept of food can be mapped to:

1) Available physical network resources (e.g., network nodes).  This mechanism ensures wide distribution proportional to the amount of network resources available.  This also brings forth the concept of different entities competing for scarce resouces (food).

2) Service requests: This provides an incentive for the entity to organize itself in heavier concentrations in areas of high service requests.

Pheromones

In a ubiquitous computing scenario, a basic use of pheromones is to find the closest component of the desired cyberentity.  A user wishing to access his profile will send an agent which seeks the closest cyberentity component by autonomously navigating towards the direction of increasing pheromone strength for the cyberentity.

Pheromones can be used to distribute information reflecting the global state of the cyberentity.  If a cyberentity is in need of repair in a certain location, pheromones may attract other individuals to move or replicate towards the damaged area.  If a cyberentity's global population has been dramatically reduced, pheromones may be used to signify this low-population state and cause a faster birth rate.  Pheromones may be used to attract individuals exhibiting beneficial behaviors to produce improved offspring.

Genetic Selection and Replication

Selection requires a metric for determining fitness.  Such a metric may be:  for a service entity, the service response time; for a user profile entity, the distribution spread of data.

Via this selection process, beneficial behaviors are retained while detrimental behaviors are discarded.  Transfer of beneficial behaviors to other entities may occur through replication or sexual reproduction. Offspring of cyberentities should inherit beneficial behaviors from two or more parents. It may also be possible for a cyberentity to teach another cyberentity beneficial behaviors that it has learned. 

Immune System

An immune system detects foreign agents when randomly generated receptors bind to non-self foreign agents.  A cyberentity may use this concept to detect foreign components attempting to invade the cyberentity.  If an intruder attempts to violate integrity of confidential information by changing a particular data component, the cyberentity detects the intrusion because the changed component would appear anomalous to the rest of the system.  The anomaly would be automatically repaired by the rest of the cyberentity because a vast majority of the redundant information in the cyberentity indicates that the intrusion is an anomaly. Because the system uses massive replication to clone and break up many copies of the data in different ways, it is very difficult for the intruder to successfully change data.

Research Issues

Evolution

What can be evolved in a cyberentity?  Which components/parameters can be evolved?  What is the atomic unit of evolution?  We do not believe evolution occurs on only one scale; rather, evolution will occur on many scale levels, with each level's individual evolutionary behavior contributing to evolution of the emergent behavior of higher levels.  (See discussion on Diversity.) However, we must define an atomic unit of evolution.

In biological systems, the atomic unit of evolution can arguably be the gene. The gene itself may evolve by crossing-over with other genes.  Combinations of genes (roughly the concept of DNA) produce unique characteristics and properties. We believe such a concept may be applied by mapping genes to data and code fragments. 

DNA model or Society model?

In biological organisms, each cell in the organism contains a whole copy of DNA, i.e., each cell contains the blueprint for building the entire organism.  This model ensures maximum survivability, since survival of only one cell leaves open the possibility of reconstructing the entire organism. (Recently demonstrated artificial cloning procedures can definitely do this.)

Such a model may not be efficient or desirable in the cyberentity concept for ubiquitous computing.  First, having a complete copy of the blueprint in every individual component renders the cyberentity vulnerable to unauthorized information access.  A cyberentity probably should distribute its distinct, dissimilar components as widely as possible, thus requiring an intruder to piece together many components to obtain any information.

Thus, a more plausible model for a cyberentity may be the society model, where diverse components of the cyberentity are widely distributed, and the cooperation of a certain minimum subset of the cyberentity is required to perform its functions.  The same concept may be applied to data.  Data, especially data that needs to be confidential, may be spread among many locations.  The combination of many pieces of data components is required to reconstruct the desired data.

Selfishness or Altruism?

Primitive biological entities tend to behave in selfish ways, such as bacteria, viruses, genes [1], and insects.  However, more complex, higher-level biological entities often exhibit altruism [2].  For example, humans give gifts and contribute to charity organizations with apparently altruistic intentions. On today's Internet, anonymous users post valuable information to Usenet newsgroups, benefiting other users whom the contributors may never see again.

In the proposed ubiquitous computing network, the issue of selfishness or altruism plays an important role in ensuring fairness and survivability.

Let us consider two cyberentities, A and B, each of which are distributed throughout the global network.  Let us assume that a natural diaster has caused a massive network failure which has destroyed 70% of A, but only 30% of B.  (This may occur because A was concentrated in the particular area of the network that was destroyed due to high service requests in that area.)  Now in the remaining network, both A and B are still fully functioning, since widespread random replication and distribution has ensured that even 30% of A still embodies all essential data and functionality for A.  After such adverse damage to the network, it is in the self-interest of both entities A and B to redistribute and replicate themselves towards optimal global distribution.  However, entity B nows has an unfair advantage over entity A since it has a larger number of individuals to claim and occupy the remain network resources.  In an environment of purely selfish entities, entity A may not eventually survive.

We believe some measure of altruism must be incorporated to ensure fair survival of all entities. The social principle of individuals contributing to a community so that the community may help individuals in return is likely applicable here.  A relatively intact entity which survives a disaster and who help disadvantaged entities may benefit in the long run when it encounters situations when it requires help from other entities. Thus, high-level forms of altruism may promote a stronger community and thus stronger survivability, availability, and integrity guarantees.

[1] The Selfish Gene.

[2] Peter Kollock.  "The Economies of Online Cooperation: Gifts and Public Goods in Cyberspace."  Communities in Cyberspace, Los Angeles: University of California Press.