PSIRP Architectural Components Part 1 Mikko Särelä Slides by Walter Wong

Preview:

Citation preview

PSIRP Architectural PSIRP Architectural Components Part 1Components Part 1

Mikko SäreläSlides by Walter Wong

OutlineOutlineIdentifiersAlgorithmic IDsNode Internal ArchitectureHelper FunctionsRendezvous System

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

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

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

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

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

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)

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

Rendezvous Identifier Rendezvous Identifier (Rid)(Rid)

Publish RIdnut

Subscribe RIdnut

Rendezvous Point

Interest!Doesn’t subscribe RIdnut

Deliver data

Bingo

Scrat

Nut

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

Scope Identifier (Sid)Scope Identifier (Sid)

RidC

RidB

RidA

Sidfamily_album Sidpublic_album

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

Forwarding IDForwarding ID

Rendezvous 2

FId21 FId22

FIdA

Rendezvous 1

FId11

FId12

FId13

FId11FId21

FId12

Bloom-filter

Bob Clark

David

FId31

FId22

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

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

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

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!

Sequence NumberingSequence Numbering

RVS

Publish(algId) Subscribe(algId)

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

ID1 = hash(algId)

Alice Beth

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

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

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

Memory Object ServiceMemory Object ServiceWorks on the page

serviceSupports larger

data files (over one memory page)

Supports update on memory objects

Memory PagesMemory Object

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

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

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

Rendezvous SystemRendezvous SystemMeeting point of interests

between publishers and subscribers

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

and stakeholders incentives)

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

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

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

Canon Hierarchical DHTCanon Hierarchical DHT

Domain A Domain B

Top-level Domain

Rendezvous System Rendezvous System ExampleExample

Rendezvous System Rendezvous System BootstrappingBootstrapping

Publish OperationPublish Operation

Subscribe OperationSubscribe Operation

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

Questions?Questions?Comments?Thanks!