resource addressable network (ran) an adaptive peer-to-peer substrate for internet-scale service...

1
Resource Addressable Network (RAN) Resource Addressable Network (RAN) An Adaptive Peer-to-Peer Substrate for Internet-Scale Service An Adaptive Peer-to-Peer Substrate for Internet-Scale Service Platforms 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. 2 nd Level Approx. 3 rd Level Approx. asymmetric construction 1 2 0 3 1 0 2 3 1 0 2 3 0.3.1 Hilbert Space Filling Curve Advanced Networking Research Laboratory, School of Computer Science, McGill University Montreal, Quebec, Canada. ANRL ANRL Advanced Networking Research Lab Advanced 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 naming Profiled-based naming Description-based naming Description-based naming consists of all possible names Possible Space Possible Space consists of the names of the resources in the system Populated Space Populated Space names that are popular in the client queries Popular Space Popular 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 Pentium 4, 3GHz, 4, 3GHz, 512MB, 512MB, 100GB 100GB Pentium Pentium 3, 1GHz, 3, 1GHz, 256MB, 256MB, 40GB 40GB Pentium Pentium 4, 4, 2.8GHz, 2.8GHz, 256MB, 256MB, 80GB 80GB Resource descripti ons CPU CPU speed speed memor memor y y {Pentium, 3GHz, 512MB} {Pentium, 3GHz, 512MB} Pentiu Pentiu m, m, >3GHz >3GHz Pentium Pentium 4, 4, 256MB 256MB Pentium Pentium , , 2.8GHz, 2.8GHz, 80GB 80GB Client query descripti ons 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. Type 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.

Upload: byron-cook

Post on 03-Jan-2016

213 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Resource Addressable Network (RAN) An Adaptive Peer-to-Peer Substrate for Internet-Scale Service Platforms RAN Concept & Design  Adaptive, self-organizing,

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.