Title: Resource Addressable Network (RAN)
1Resource Addressable Network (RAN)
An Adaptive Peer-to-Peer Substrate for
Internet-Scale Service Platforms
RAN Concept Design
Profile-based Naming
Description-based naming
- Adaptive, self-organizing, scalable, P2P resource
naming and discovery mechanism for large scale
service infrastructures.
- Resources are identified by their attributes such
as processor type, speed, memory, or hard disk
size. - E.g. INS, database records.
- Highly flexible mechanism.
- As any combination of attributes is possible, the
perceived space of a description-based scheme
expands to possible space.
Conceptual View
- Adaptive naming scheme changes with the trends
in user queries. - Self-organizing each node in the system is
involved in constructing and managing the overlay
structure. - Scalable the route and message complexities are
log proportional to the system size. - P2P participating nodes are of similar
functionalities, preserving their autonomies.
- RAN nodes are managed along two axes
- Attributes of the managed resources
- Managed with profile-based naming
- Location of the resources
- Managed with location-based naming
Label-based naming
Profile-based naming
- Resources are identified by unique labels.
- E.g. DNS, human names.
- Discovery is fast.
- But, to address all the nodes, its boundary falls
well into the possible space.
- Combination of the other two schemes identify
the popular attribute combinations and label
them. - Naming scheme adaptive to client queries
Boundary of the perceived space boundary is
adjusted between popular space and populated
space. - Not all resources are labelled less managing
overhead with a probability of false miss
trading off efficiency for scalability.
?
?
Location-based Naming
Landmark-aided Positioning
- Landmark-aided positioning (LAP) is used to map
the resources in the system onto a Cartesian
space. - The Cartesian distance between resources is
designed to be proportional to the network delay
between them.
Spring Algorithm
- Nodes are considered to be connected to each
other with springs. - The ping distances are assumed to be the natural
length of the springs. - The algorithm is a heuristic optimization to
minimize the total force exerted on the springs.
- Each popular attribute forms an axis of a
Cartesian space. - Each resource description maps on to a point in
this Cartesian space. - A Hilbert curve is fit into this space to map
these resource description points to Hilbert
indices creating type IDs (TID). - Number of type IDs in the system is restricted.
Resources that do not belong to any recognized
type ID is mapped to the closest type ID using
Hilbert curves proximity property. - Profile-adaptation can increase the resolution of
the Hilbert curve or change the axes structure.
- The positions are mapped to Hilbert index based
location IDs (LID).
RAN Architecture
RAN Operation
- RAN resources creates an overlay structure based
on these two naming schemes. - Resources belongs to the same type ID form
separate type rings. - Resources in a type ring are positioned with
their location IDs. - Type rings are stacked in the order of their type
IDs. - Routing tables in the nodes create these
connections.
- RAN initializes with a service provider (SP) and
a set of pre-installed landmarks. - The first node joining the RAN becomes the RAN.
- SP provides new nodes joining RAN with
- The RAN core software and
- Name of an existing RAN node (entry node).
- A new node calculates its LID using the list of
landmarks provided by the entry node. - The entry node routes the join request from the
new node using the new nodes LID as the target
Destination becomes the join-point. - The new node adapts routing entries from the
join-point ring pointers are duly
created/modified. - Jump pointer section gets filled with the time by
monitoring the messages passing through. - Nodes join/leave or failure affects only a
portion of a ring and handled by the nodes in the
region. - Landmarks form a virtual type ring and any stable
node can join this ring to become landmarks.
Type rings
Type ID
Location ID
Routing in RAN
- Two routing tables in each node to discover
resources along location and type. - Ring pointers creates the rings pointing to the
left and right neighbours. - Jump pointers enable routing strides to different
Hilbert regions providing log N route complexity. - Ring pointer section is always complete, but jump
pointer section is lazily filled with time.
Ring Pointers Ring Pointers Ring Pointers Ring Pointers Ring Pointers Ring Pointers Ring Pointers Ring Pointers
Left Pointer Left Pointer IP Address IP Address Right Pointer Right Pointer IP Address IP Address
2.3.3.0 2.3.3.0 2.3.1.2 2.3.1.2
Jump Pointers Jump Pointers Jump Pointers Jump Pointers Jump Pointers Jump Pointers Jump Pointers Jump Pointers
0 0 1 1 3 3
LID IP Address LID IP Address LID IP Address LID IP Address
0.2.1.0 1.2.3.3 3.2.2.0
2.0.2.3 2.1.3.1 2.2.3.2
- - 2.3.1.2 2.3.2.0
2.3.3.0 - - - - -
Location-based routing table of a node with LID
2.3.3.1
Hilbert Space Filling Curve
- Space filling curve (SFC) is a curve the passes
through all the points in a bounded space. - Hilbert curve is a SFC that is mathematically
defined and can be constructed at different
levels of approximation. - Useful characteristics of the Hilbert curve
- Mapping of points from multi-dimensional to
one-dimensional space. - Mapping preserves the proximity characteristics.
- Can be constructed recursively possibility of
asymmetrical and hierarchical name space.
Advanced Networking Research Laboratory, School
of Computer Science, McGill University Montreal,
Quebec, Canada.
ANRL Advanced Networking Research Lab