Top Banner
PSIRP Architectural PSIRP Architectural Components Part 1 Components Part 1 Walter Wong NomadicLab & HIIT 08.02.2010
57

PSIRP Architectural Components Part 1

Jan 12, 2016

Download

Documents

idana

PSIRP Architectural Components Part 1. Walter Wong NomadicLab & HIIT 08.02.2010. Outline. Identifiers Algorithmic IDs Node Internal Architecture Helper Functions Rendezvous System. Background – IP-based Identifier. Network Layer Identifier IP address Topological identifier - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: PSIRP Architectural Components Part 1

PSIRP Architectural PSIRP Architectural Components Part 1Components Part 1

Walter WongNomadicLab & HIIT

08.02.2010

Page 2: PSIRP Architectural Components Part 1

OutlineOutlineIdentifiersAlgorithmic IDsNode Internal ArchitectureHelper FunctionsRendezvous System

Page 3: PSIRP Architectural Components Part 1

Background – IP-based Background – IP-based IdentifierIdentifierNetwork Layer Identifier

◦IP address◦Topological identifier◦Refers to a specific location in the

networkTransport Layer Identifier

◦Also IP address (IPsrc/dst, portsrc/dst, protocol)

◦Identifies end-hosts in the Internet

Page 4: PSIRP Architectural Components Part 1

IP Semantic Overload IP Semantic Overload ProblemProblem

Application

Transport

Network

Link

Physical

IP

Socket

200.201.11/24

174.180.23/24

128.17.11.22

Page 5: PSIRP Architectural Components Part 1

IP-based Identification – IP-based Identification – ProblemsProblemsEntangle host location with

identification◦Host-centric approach

Content can’t be addressed alone◦Sub-part of a URL◦Ex.

www.unicamp.br/main/courses/index.html◦ Identified as part of connection parameters◦Ex. TCP sequence number

Limited naming system◦Hinders new features, ex., mobility,

multicast◦Users can’t express their interest in data

regardless of location

Page 6: PSIRP Architectural Components Part 1

PSIRP Identifiers – PSIRP Identifiers – MotivationMotivationExpress user interests

◦WWW users are interested in documents

regardless of their location

◦Currently users express an interest (what) and it is translated to a place (where)

Publish/subscribe◦Users express their interest on data◦Data is asynchronously delivered to

users

Page 7: PSIRP Architectural Components Part 1

PSIRP IdentifiersPSIRP IdentifiersApplication Level Identifier (AId)Rendezvous Identifier (RId)Scope Identifier (SId)Forwarding Identifier (FId)Algorithmic Identifier (AlgId)

Page 8: PSIRP Architectural Components Part 1

Application Level Identifier Application Level Identifier (AId)(AId)Application level identificationBased application requirements

◦Easiness to route, easiness to resolve, randomness, etc

Can be any namespace◦Flat labels◦Structured names (FQDN)◦Global Unique Identifier (GUID)◦Electronic Numbering (ENUM)

Page 9: PSIRP Architectural Components Part 1

Rendezvous Identifier Rendezvous Identifier (RId)(RId)PSIRP network level identifierUniquely identifies a piece of

information256-bit identifier (SHA-256 hash

over the data)Goal: identify the interest

between publishers and subscribers in the rendezvous system

Page 10: PSIRP Architectural Components Part 1

Rendezvous Identifier Rendezvous Identifier (Rid)(Rid)

Publish RIdnut

Subscribe RIdnut

Rendezvous Point

Interest!Doesn’t subscribe RIdnut

Deliver data

Bingo

Scrat

Nut

Page 11: PSIRP Architectural Components Part 1

Scope Identifier (Sid)Scope Identifier (Sid)Also PSIRP network identifier with

256 bits lengthGoal: aggregate a set of Rids into

one group (scope)Represents a collection of whatever

information that Rids representsScope = implicit context of a set of

Rids◦Photo album has a Sid and each photo

has a RidAlso

◦Access control◦Metadata control operations

Page 12: PSIRP Architectural Components Part 1

Scope Identifier (Sid)Scope Identifier (Sid)

RidC

RidB

RidA

Sidfamily_album Sidpublic_album

Page 13: PSIRP Architectural Components Part 1

Forwarding IDForwarding ID256-bit long network identifierGoal: identify path segments in

the forwarding pathDifference:

◦Sid/Rid used in the rendezvous system (slow path)

◦Fid used in the forwarding fabric (fast path)

Can be aggregated in Bloom filters

Page 14: PSIRP Architectural Components Part 1

Forwarding IDForwarding ID

Rendezvous 2

FId21 FId22

FIdA

Rendezvous 1

FId11

FId12

FId13

FId11FId21

FId12

Bloom-filter

Bob Clark

David

FId31

FId22

Page 15: PSIRP Architectural Components Part 1

Forwarding IDForwarding IDSource controlled packet soft state

◦Topology manager creates the Bloom filter

◦+ stateless◦- requires constant updates from the

rendezvous to identify new subscribers◦- recycle Fids after un-subscription

In-network state◦Fid switching state in the forwarding

nodes◦+ Identifies just initial Fid◦- state in the switches

Page 16: PSIRP Architectural Components Part 1

Algorithmic Identifiers Algorithmic Identifiers (AIgIds)(AIgIds)Special class of identifiersInformation collection concept

◦group semantically similar information items

Goal: automatic generation of IDs for different pieces of information

Allow elaborate tests with the identifier

Page 17: PSIRP Architectural Components Part 1

Algorithmic IdentifiersAlgorithmic IdentifiersAllows relationship tests on each

ID:◦Ordering: precedence (does an

identifier precede another one?)◦Composition: does an ID belong to

another ID (e.g. a chunk ID belongs to a file ID)

◦Completeness: do we have all the identifiers composing another information object?

Page 18: PSIRP Architectural Components Part 1

Algorithmic IDsAlgorithmic IDsApplications

◦Automatic deriving identifiers for information fragments

◦Calculating the next identifier for a sequence

◦Deducing the identifier

Page 19: PSIRP Architectural Components Part 1

Subscription ManagementSubscription Management

Subscribecomics

Comics part 1

Comics Part 2

Comics Part 3

Comics Part 6

Comics Part 4

Comics Part 5

Billy

Page 20: PSIRP Architectural Components Part 1

Forwarding State Forwarding State AggregationAggregation

FId11

FId12

FId13

FId21

FId31

FId22

FId32

FIdA

FIdB

FIdC

FId11

FIdA

FId13

FId31 FId32

FIdC

Bloom-filter

RVS

RVS

RVS

Bob Clark

David

Page 21: PSIRP Architectural Components Part 1

Re-encoding the same Re-encoding the same publicationpublication

Publisher

ID1 ID2

IDA IDB IDC

AlgIDhigh_resolution

AlgIDlow_resolution

Publication

Page 22: PSIRP Architectural Components Part 1

Return Path Return Path (legacy client-server model)(legacy client-server model)

Bob Clark

Publish(algIdA)

Subscribe(hash(algIdA))

Subscribe(algIdA)

Publish(hash(algIdA))

RVS

Hey Clark, let’s have a beer after work!Okee dokee, Bob!

Page 23: PSIRP Architectural Components Part 1

Sequence NumberingSequence Numbering

RVS

Publish(algId) Subscribe(algId)

ID2 = hash(ID1)ID3 = hash(ID2)

ID1 = hash(algId)

Alice Beth

Page 24: PSIRP Architectural Components Part 1

Algorithmic IDs – Other Algorithmic IDs – Other scenariosscenariosError control

◦generate error messages identified with IDs derived from the error ID

Reliability◦different algIds can be generated to

receive error messagesAnnouncements

◦prior to a data publication, publishers announce in the algId channel, informing possible subscribers that data will be published in the related algId

Page 25: PSIRP Architectural Components Part 1

Algorithmic ID – General Algorithmic ID – General designdesignDirect Acyclic GraphIdentifiers are related to each other by

functionsSorting algorithms

◦Ordering the identifiersTrees are generated by consecutive

application of one-way functionsSequences can be expressed as the

recursive application of a singular function

Reverse function to walk in both directions

Page 26: PSIRP Architectural Components Part 1

Algorithmic IDs – ExampleAlgorithmic IDs – Example

B = f(A,1)

C = f(A,2)

D = f(C,1)

C = f-1(F,3)A = f-1(C,2)

Page 27: PSIRP Architectural Components Part 1

Node Internal Architecture Node Internal Architecture Blackboard Approach

◦Communication model for sharing memory objects through the network

Uses Memory Object Service◦Simple unreliable page service◦Simple memory object service

Page 28: PSIRP Architectural Components Part 1

Unreliable Page ServiceUnreliable Page ServiceSimple unreliable

page service◦ Pages can be

mapped to packet level transmissions using PageIDs

◦ Allows for identifying and caching individual packets within the network

◦ There is one PageID for each Fid

Memory Pages

Page 29: PSIRP Architectural Components Part 1

Memory Object ServiceMemory Object ServiceWorks on the page

serviceSupports larger

data files (over one memory page)

Supports update on memory objects

Memory PagesMemory Object

Page 30: PSIRP Architectural Components Part 1

Memory Object Creation & Memory Object Creation & PublicationPublication

1. Publisher requests a meta-publication and a memory object2. Memory service returns a memory object with the meta attached

3. Publisher fills the data in the memory object

Blackboard

4. Publisher creates a Rid for the memory object. It can be republished as many times as he needs with equal or different tags

Publisher

Page 31: PSIRP Architectural Components Part 1

Memory Object Memory Object SubscriptionSubscriptionSubscriber subscribers to the MO-RidSubscriber receives an event stream

◦File descriptor which can be read with select

Whenever the publisher publishes some data, the subscriber will be notified and will receive a new memory object representing the corresponding version of the object

Page 32: PSIRP Architectural Components Part 1

Node Internals – Node Internals – NetworkingNetworkingNodes

◦Local input queues, with one Fid for each queue

◦Local output queues, with one Fid for each queue

◦Sender-helper sends the packet identified with the interfaces Fid

◦Network-receiver receives packets from the network

Page 33: PSIRP Architectural Components Part 1

Node Internal ArchitectureNode Internal Architecture

Node Internal - Networking

Publish call

Page 34: PSIRP Architectural Components Part 1

Node Internal ArchitectureNode Internal Architecture

Node Internal - Networking

Subscribe call

MemoryObject

Page 35: PSIRP Architectural Components Part 1

Memory Object Memory Object SegmentationSegmentationPacketiser helper

◦handles memory objects larger than a packet size

◦Partitions objects into a set of packetsAt each local output places, whenever

there is a new object, the packetiser chunks the data and places each of them in the correct output queue scope

There is no memory copy, just a new mapping of the object in the scope directory

Page 36: PSIRP Architectural Components Part 1

Memory Object Memory Object SegmentationSegmentation

Local Blackboard

Page 37: PSIRP Architectural Components Part 1

Helper FunctionsHelper FunctionsNot core network serviceNot traditional applications

◦Actually, it is a set of functions providing additional features for the system

◦“Helps the system!”PSIRP has three categories:

◦Network Management Functions◦Remote Service Functions◦Host Centric Functions

Page 38: PSIRP Architectural Components Part 1

Network Management Network Management FunctionsFunctionsNetwork Management &

Information gatheringInformation gathering for better

planning and management◦Increase performance

In PSIRP, network management functions can subscribe to the link state, receiving information as it becomes available

Page 39: PSIRP Architectural Components Part 1

Network Management Network Management Functions – ExampleFunctions – ExampleCurrent Internet

◦SNMP/ICMP◦GET/SET/TRAP directives◦Managed systems generate

asynchronous messages to notify new events

Page 40: PSIRP Architectural Components Part 1

Network Management Network Management Functions – Unified Link Functions – Unified Link Layer API (ULLA)Layer API (ULLA)Closely resembles publish/subscribeIntroduces an interface to collect

information from the link layerLink aware applications express

their interests by specifying link conditions

Notifications can be asynchronous or periodic

ULLA can be the base for the helper function which subscribes to the link conditions and wait for updates

Page 41: PSIRP Architectural Components Part 1

Remote Service FunctionsRemote Service FunctionsSegmentation function

◦Helps in the segmentation decision◦Extracts data from link layer, such as

MTU, and provides parameters for the fragmentation

Merger function◦Merges partitioned data to get the

original publication

Page 42: PSIRP Architectural Components Part 1

Remote Service FunctionsRemote Service FunctionsForwarding Error

Correction/Content protection◦Error correction in the transmission◦Recover received data without

retransmissions◦Send redundant data together◦Ex. Reed Solomon Block Code (N, K)◦N-K symbol redundancy◦After receiving any K symbols out of

N, the receiver is able to decode the original data

Page 43: PSIRP Architectural Components Part 1

FEC ParametersFEC Parameters◦Currently, the FEC parameters are

statically set, degrading the performance

◦Inaccuracy in the estimation of the underlying channel state, resulting in inefficient bandwidth usage

◦FEC helper can subscribe to the channel conditions in order to generate better parameters

Page 44: PSIRP Architectural Components Part 1

Remote Service FunctionsRemote Service FunctionsContent re-encoding

◦Scenario: heterogeneous subscribers requesting the same video but with different resolution

◦Content provider can’t attend the demand

◦Content provider asks for remote helper functions located closer to the subscribers to perform the translation

Page 45: PSIRP Architectural Components Part 1

Application-specific Application-specific CachesCachesContent caching

◦Offers the same interface as the original content provider (transparent)

◦Applications can select from which cache to retrieve data

◦content providers may instruct caches to serve content on their behalf

◦subscribers can receive data from the closest caches, saving network resources

Page 46: PSIRP Architectural Components Part 1

Host Service FunctionsHost Service FunctionsTransport and other middle network

servicesPSIRP offers shared blackboard for

distributed applications using the network

Analysis and debugging purposes◦Ping, traceroute, tcpdump, wireshark

PSIRP context◦Transport component for rate control and

reliability algorithm for point-to-point delivery

Page 47: PSIRP Architectural Components Part 1

Rendezvous SystemRendezvous SystemMeeting point of interests

between publishers and subscribers

Requirements◦Scalability (Internet scale)◦Efficiency in operation◦Deployability (gradual deployment

and stakeholders incentives)

Page 48: PSIRP Architectural Components Part 1

Rendezvous NetworkRendezvous NetworkComposed of Rendezvous Nodes

(RNs)Organized as a BGP-like inter-domain

hierarchyCollection of RNs from multiple

cooperative ASesRendezvous points (RPs)

◦logical meeting points of interests between publishers and subscribers

◦one rendezvous point for each Sid/Rid pair

Page 49: PSIRP Architectural Components Part 1

Rendezvous Network Rendezvous Network InterconnectionInterconnectionSome approaches

◦Central entity managing signaling reachability: lack of incentives, trust, competition

◦Multiple entities: providers compete for global reachability coverage

◦Fully distributed mechanism: rendezvous networks self-organize to interconnect without any third party infrastructure

Page 50: PSIRP Architectural Components Part 1

Rendezvous Network Rendezvous Network ConnectionConnectionCanon DHT

◦Hierarchical DHT◦Maintains local communication

within its domain◦Caching in the sub-domain exit

between levels in the DHT

Page 51: PSIRP Architectural Components Part 1

Canon Hierarchical DHTCanon Hierarchical DHT

Domain A Domain B

Top-level Domain

Page 52: PSIRP Architectural Components Part 1

Rendezvous System Rendezvous System ExampleExample

Page 53: PSIRP Architectural Components Part 1

Rendezvous System Rendezvous System BootstrappingBootstrapping

Page 54: PSIRP Architectural Components Part 1

Publish OperationPublish Operation

Page 55: PSIRP Architectural Components Part 1

Subscribe OperationSubscribe Operation

Page 56: PSIRP Architectural Components Part 1

SummarizingSummarizingIdentifiers

◦ Many types, special semanticsAlgorithmic ID

◦ New use casesNode Internal Architecture

◦ Blackboard, Input/output queues, memory objects segmentation

Helper functions◦ Adding new functionalities in the

architectureRendezvous System

◦ Matching interests between publishers and subscribers

Page 57: PSIRP Architectural Components Part 1

Questions?Questions?Comments?Thanks!