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

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

Embed Size (px)

Citation preview

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

PSIRP Architectural PSIRP Architectural Components Part 1Components Part 1

Mikko SäreläSlides by Walter Wong

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

OutlineOutlineIdentifiersAlgorithmic IDsNode Internal ArchitectureHelper FunctionsRendezvous System

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

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 Mikko Särelä Slides by Walter Wong

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 Mikko Särelä Slides by Walter Wong

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 Mikko Särelä Slides by Walter Wong

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 Mikko Särelä Slides by Walter Wong

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 Mikko Särelä Slides by Walter Wong

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 Mikko Särelä Slides by Walter Wong

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 Mikko Särelä Slides by Walter Wong

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 Mikko Särelä Slides by Walter Wong

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 Mikko Särelä Slides by Walter Wong

Scope Identifier (Sid)Scope Identifier (Sid)

RidC

RidB

RidA

Sidfamily_album Sidpublic_album

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

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 Mikko Särelä Slides by Walter Wong

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 Mikko Särelä Slides by Walter Wong

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 Mikko Särelä Slides by Walter Wong

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 Mikko Särelä Slides by Walter Wong

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 18: PSIRP Architectural Components Part 1 Mikko Särelä Slides by Walter Wong

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 19: PSIRP Architectural Components Part 1 Mikko Särelä Slides by Walter Wong

Sequence NumberingSequence Numbering

RVS

Publish(algId) Subscribe(algId)

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

ID1 = hash(algId)

Alice Beth

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

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 21: PSIRP Architectural Components Part 1 Mikko Särelä Slides by Walter Wong

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 22: PSIRP Architectural Components Part 1 Mikko Särelä Slides by Walter Wong

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 23: PSIRP Architectural Components Part 1 Mikko Särelä Slides by Walter Wong

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 24: PSIRP Architectural Components Part 1 Mikko Särelä Slides by Walter Wong

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 25: PSIRP Architectural Components Part 1 Mikko Särelä Slides by Walter Wong

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 26: PSIRP Architectural Components Part 1 Mikko Särelä Slides by Walter Wong

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 27: PSIRP Architectural Components Part 1 Mikko Särelä Slides by Walter Wong

Rendezvous SystemRendezvous SystemMeeting point of interests

between publishers and subscribers

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

and stakeholders incentives)

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

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 29: PSIRP Architectural Components Part 1 Mikko Särelä Slides by Walter Wong

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 30: PSIRP Architectural Components Part 1 Mikko Särelä Slides by Walter Wong

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 31: PSIRP Architectural Components Part 1 Mikko Särelä Slides by Walter Wong

Canon Hierarchical DHTCanon Hierarchical DHT

Domain A Domain B

Top-level Domain

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

Rendezvous System Rendezvous System ExampleExample

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

Rendezvous System Rendezvous System BootstrappingBootstrapping

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

Publish OperationPublish Operation

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

Subscribe OperationSubscribe Operation

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

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 37: PSIRP Architectural Components Part 1 Mikko Särelä Slides by Walter Wong

Questions?Questions?Comments?Thanks!