resource addressable network (ran) an adaptive peer-to-peer substrate for internet-scale service...
TRANSCRIPT
![Page 1: Resource Addressable Network (RAN) An Adaptive Peer-to-Peer Substrate for Internet-Scale Service Platforms RAN Concept & Design Adaptive, self-organizing,](https://reader037.vdocuments.mx/reader037/viewer/2022110405/56649eff5503460f94c15477/html5/thumbnails/1.jpg)
Resource Addressable Network (RAN)Resource Addressable Network (RAN)An Adaptive Peer-to-Peer Substrate for Internet-Scale Service Platforms An Adaptive Peer-to-Peer Substrate for Internet-Scale Service Platforms
RAN Concept & Design
Adaptive, self-organizing, scalable, P2P resource naming and discovery mechanism for large scale service infrastructures.
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
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.
2nd Level Approx. 3rd Level Approx. asymmetric construction
1 2
0 310231
023
0.3.1
Hilbert Space Filling Curve
Advanced Networking Research Laboratory,School of Computer Science,
McGill UniversityMontreal, Quebec, Canada.
ANRLANRLAdvanced Networking Research LabAdvanced Networking Research Lab
Profile-based Naming
Conceptual View
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.
Label-based naming
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.
Description-based naming
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.
Profile-based naming
Profiled-based namingProfiled-based naming
Description-based namingDescription-based naming
consists of all possible names
Possible SpacePossible Spaceconsists of the names of the
resources in the system
Populated SpacePopulated Space
names that are popular in the client queries
Popular SpacePopular Space
Perceived space: names
recognized by the naming scheme
Location-based Naming
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.
Landmark-aided Positioning
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.
Spring Algorithm
The positions are mapped to Hilbert index based location IDs (LID).
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 curve’s proximity property. Profile-adaptation can increase the resolution of the Hilbert curve or change the axes structure.
Pentium 4, Pentium 4, 3GHz, 3GHz,
512MB, 512MB, 100GB100GB
Pentium 3, Pentium 3, 1GHz, 1GHz,
256MB, 256MB, 40GB40GB
Pentium 4, Pentium 4, 2.8GHz, 2.8GHz, 256MB, 256MB, 80GB80GB
Resource descriptions
CPUCPU
speedspeed
me
mor
me
mor
yy
{Pentium, 3GHz, 512MB}{Pentium, 3GHz, 512MB}
Pentium, Pentium, >3GHz>3GHz
Pentium Pentium 4, 256MB4, 256MB
Pentium, Pentium, 2.8GHz, 2.8GHz,
80GB80GBClient query descriptions
Profiling
Failed queries
Profile Adaptation
Landmarks: just any peer who shows stable characteristics.
They run distributed spring algorithm to find their Cartesian positions.
Other nodes pings the landmarks and use a
centralized spring algorithm to find their positions.
1
2
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.
Typ
e ID
Location ID
RAN Architecture
Routing in RAN
RAN Operation
Type rings
Ring Pointers
Left Pointer IP Address Right Pointer IP Address
2.3.3.0 …… 2.3.1.2 ……
Jump Pointers
0 1 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
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.
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 node’s 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.