Title: Cyber Entity Directory Service
1Cyber Entity Directory Service
2Motivation
- In BIONET a CE may only maintain a finite number
of relations. - These relationships stabilize based upon
similarity and usefulness. - If a CE attempts to locate another CE that is not
closely related or directly useful, search may
take a long time. - What if a CE application provided assistance to
the search by organizing a distributed directory? - The CE directory provides a fast look up service
for other Cyber entities in the hopes of making
discovery more efficient.
3Motivation (cont.)
- What if network is highly dynamic and is
constantly undergoing stabilization? - Network may be slow because too many CEs are
searching too much of the network. - Ex PDA / Cellphone network with PDAs and
Cellphones constantly coming on and off of the
network.
4Proposed Purpose
- To provide a mechanism for fast look up of CEs
based on a CEs published list of keywords. - The mechanism is NOT the standard query method.
It is meant only to enhance the relationship
method. - Suppose it takes 30 hops to find something in the
directory while it takes 4 hops to find the same
CE you are related to. Clearly the relational
query is faster. - Suppose it takes 30 hops to find something in the
directory but takes 100 hops to find a CE you are
not directly related to ( or have links
established to ). Clearly it is better to take
the directory. - CEs must find a balance between relying on the
directory and their own relationships.
5Approach
- Build a multi-tier architecture of CEs that
maintain a table of look-up relationships (
Distributed Tree structure ) - Bottom level CEs maintain relationships with CEs
located in the directory. When connecting CE
needs a lookup, it sends the query to its
connected bottom level CE. The bottom level CE
then checks if it has a link to the CE we are
searching for. If not, the query is forwarded to
the bottom level CEs connecting midlevel CE. - Midlevel CEs link bottom level agents to higher
level CEs. If a query is received, it checks to
see if it has a link to the CE requested. If it
does it sends the request down the tree to the
appropriate midlevel / bottom level CE. - Top level CE communicate to each other. They
find the correct Top level CE to send the query
down for a given keyword/words. It then routes
that keyword/words down to its mid and finally
bottom level CE to locate the CE requested. - CEs at each level distribute their knowledge base
to so that any given CE has only a subset of the
CE links to the next level down and only a
constant value of links to the next level up. (
ie Top CEs contain links to keywords (a- b) ,
(c f ) , ( g z). Mid level contain ( aa af
) , (ag az ) Bottom level contain ( aaa
aaf ) - Option Let the number of tiers / links per tier
evolve.
6Approach (cont.)
Top Directory CEs
Mid Dir CEs
Mid Dir CEs
Mid Dir CEs
Mid Dir CEs
Mid Dir CEs
Bottom Dir CEs
Bottom Dir CEs
Bottom Dir CEs
CE
CE
CE
CE
CE
7Approach (cont.)
Top Directory CEs
Mid Dir CEs
Mid Dir CEs
Mid Dir CEs
Mid Dir CEs
Mid Dir CEs
Bottom Dir CEs
Bottom Dir CEs
Bottom Dir CEs
CE
CE
CE
CE
CE
CE requests for CE with keyword xyz
8Approach (cont.)
Top Directory CEs
Mid Dir CEs
Mid Dir CEs
Mid Dir CEs
Mid Dir CEs
Mid Dir CEs
Bottom Dir CEs
Bottom Dir CEs
Bottom Dir CEs
CE
CE
CE
CE
CE
Bottom level CE doesnt have any links to
anything of the xyz division. Query is
forwarded up one level.
9Approach (cont.)
Top Directory CEs
Mid Dir CEs
Mid Dir CEs
Mid Dir CEs
Mid Dir CEs
Mid Dir CEs
Bottom Dir CEs
Bottom Dir CEs
Bottom Dir CEs
CE
CE
CE
CE
CE
Mid level CE has a link to divisions of xy.
Mid level CE forwards the request Down to the
link with xy
10Approach (cont.)
Top Directory CEs
Mid Dir CEs
Mid Dir CEs
Mid Dir CEs
Mid Dir CEs
Mid Dir CEs
Bottom Dir CEs
Bottom Dir CEs
Bottom Dir CEs
CE
CE
CE
CE
CE
Bottom level CE has links to xy( a j ) and
xy( k z). Link is checked for integrity And
location / relation information is sent back up
the tree.
11Approach (cont.)
Top Directory CEs
Mid Dir CEs
Mid Dir CEs
Mid Dir CEs
Mid Dir CEs
Mid Dir CEs
Bottom Dir CEs
Bottom Dir CEs
Bottom Dir CEs
CE
CE
CE
CE
CE
Relation / location information is forwarded to
requester
12Approach (cont.)
- Distribute the CEs over the network.
- Give CEs parameters so that they try to evenly
distribute themselves over the network. - Option Let the parameters evolve to avoid
network segments that have high failure rate,
slow response etc. - Distribute each Node over multiple CEs in
order to achieve fault tolerance( clustering ). - Each node has participating CEs.
- The participating CEs form a graph to link to
each other. - Option Allow parameters for the number of CEs
per node to evolve.
13Approach (cont.)
Top Level Node for (A F)
CE 2
CE 4
CE 1
CE 5
CE 3
To Node (AA CD)
14Approach (cont.)
(A F)
(AA CD)
To next level down
To next level down.
15Approach (cont.)
- Make the application an extension of BIONET that
CEs chose to participate in rather than be
forced to. - If CEs can satisfy all their needs effectively
without the directory, then they can exclude
themselves from the directory. This leaves fewer
CEs in the directory, thus reducing search
resources overall. - Either chosen at runtime by evolution or at
compile time by application / CE designers
16Approach (cont.)
- Option Allow base level CEs to maintain
relationship areas. ie. Relate to a single CE
and through that CE it relates to all neighbors.
Max relationship distance as an evolution
parameter. - Option Allow directory CEs to modify random
relationships of CEs in applications to be more
efficient. - Option Aid CE clustering. When a CE is born, it
automatically invokes the directory service to
find similar CEs are then linked via
relationships to the new CE. This facilitates CE
clustering at CE inception. - Not needed for CE reproduction. CEs that
reproduce can automatically give their offspring
good relationships. - However, in a mobile device network, CEs may be
spontaniously born in areas where similar CEs may
not exist.
17Approach (cont.)
- Use the directory as an alternative to
relationship searching. Ex Use the directory one
time then establish a relationship to the node
that provides the service required. This way
relationships would still be the defacto search
method, the directory just facilitates fast
lookup when needed.
18Alternate Solutions
- Allow only BIONET relationships and current
discovery mechanisms to handle discovery. - Does not allow for rapid lookup of unrelated
entities. - Build a distributed directory at the BIONET
platform level rather than implement it with CEs - Inherently similar to the concept of using CEs.
However, CEs may benefit from evolution that the
platform level application would not.
19Alternate Solutions
- Distributed Consistent Hashing ( Chord protocol
applied to BIONET. http//pdos.ics.mit.edu/chord/
) - Provides good upperbound on both maximum number
of links to other agents as well as search time.
approx O(log( n )) - Does not allow anonymity of services
- n agents requires nlog(n) total relationships in
the system.
20Alternate Solutions (cont.)
- Adapt a graph theory approach like the HITS or
HyperClass algorithm for webcrawling. - Must be implemented at the CE level so all CEs
are a part of the directory, not just a subset. - Similar to Freenet, but instead of node becoming
good at searching an area, a node gets ranked on
how well it searches.
J. Kleinberg, S.R. Kumar, P. Raghavan, S.
Rajagopalan, and A. Tomkins, The web as a graph
Measurements, models and methods, Proceedings of
the International Conference on Combinatorics and
Computing 1999.
21Advantages
- Applications that wish to be diverse may
implement a protocol to talk to the CE directory
service. This would link highly mobile and
diverse agents together, while leaving relatively
stagnant agents out of the directory, keeping the
size of the directory limited and thus faster.
22Advantages (cont.)
- Rapid discovery for service emergence.
- Since CEs for an application exist on the
network, why not allow other applications to use
those components as well? - Applications that wish to reuse components must
locate those components quickly and efficiently.
23Advantages (cont.)
- Since the application is itself part of BIONET,
it undergoes evolution and natural selection.
This will act as the default load balancing
mechanism in the system. - Could be implemented in an anonymous fashion by
using hash functions rather than direct key
values. - Since the applications sole purpose is fast
lookup, it exists in a symbiotic relationship
with the BIONET. Ie If the application thrives
so does BIONET because fast discovery is possible.
24Challenges
- Investigate scalability of the concept and
related issues. - How to keep the directory from monopolizing
Bionet time. - Investigate good graph algorithms to distribute
nodes in the network. They must provide - Fault tolerance If a given CE goes down for a
node, the other CEs must take over for it and
reestablish relationships for it. - Efficiency The network will be dynamic so they
must exchange information efficiently. - Investigate evolutionary parameters of the
system. - Which parameters should be fixed? Which
parameters should evolve?
25Goals
- To provide a directory service for rapid location
of Cyber Entities within the BIONET architecture. - To distribute the directory in a fashion such
that it is both fault tolerant and efficient. - Evaluate alternate solutions to the proposed
directory as both Agent based, and platform based
algorithms. - Test the effectiveness of BIONET evolution in
combination with routing algorithms.