psirp architectural components part 1
DESCRIPTION
PSIRP Architectural Components Part 1. Mikko Särelä Slides by Walter Wong. Outline. Identifiers Algorithmic IDs Node Internal Architecture Helper Functions Rendezvous System. Background – IP-based Identifier. Network Layer Identifier IP address Topological identifier - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: PSIRP Architectural Components Part 1](https://reader035.vdocuments.site/reader035/viewer/2022062423/5681457e550346895db255e0/html5/thumbnails/1.jpg)
PSIRP Architectural PSIRP Architectural Components Part 1Components Part 1
Mikko SäreläSlides by Walter Wong
![Page 2: PSIRP Architectural Components Part 1](https://reader035.vdocuments.site/reader035/viewer/2022062423/5681457e550346895db255e0/html5/thumbnails/2.jpg)
OutlineOutlineIdentifiersAlgorithmic IDsNode Internal ArchitectureHelper FunctionsRendezvous System
![Page 3: PSIRP Architectural Components Part 1](https://reader035.vdocuments.site/reader035/viewer/2022062423/5681457e550346895db255e0/html5/thumbnails/3.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062423/5681457e550346895db255e0/html5/thumbnails/4.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062423/5681457e550346895db255e0/html5/thumbnails/5.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062423/5681457e550346895db255e0/html5/thumbnails/6.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062423/5681457e550346895db255e0/html5/thumbnails/7.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062423/5681457e550346895db255e0/html5/thumbnails/8.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062423/5681457e550346895db255e0/html5/thumbnails/9.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062423/5681457e550346895db255e0/html5/thumbnails/10.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062423/5681457e550346895db255e0/html5/thumbnails/11.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062423/5681457e550346895db255e0/html5/thumbnails/12.jpg)
Scope Identifier (Sid)Scope Identifier (Sid)
RidC
RidB
RidA
Sidfamily_album Sidpublic_album
![Page 13: PSIRP Architectural Components Part 1](https://reader035.vdocuments.site/reader035/viewer/2022062423/5681457e550346895db255e0/html5/thumbnails/13.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062423/5681457e550346895db255e0/html5/thumbnails/14.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062423/5681457e550346895db255e0/html5/thumbnails/15.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062423/5681457e550346895db255e0/html5/thumbnails/16.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062423/5681457e550346895db255e0/html5/thumbnails/17.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062423/5681457e550346895db255e0/html5/thumbnails/18.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062423/5681457e550346895db255e0/html5/thumbnails/19.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062423/5681457e550346895db255e0/html5/thumbnails/20.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062423/5681457e550346895db255e0/html5/thumbnails/21.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062423/5681457e550346895db255e0/html5/thumbnails/22.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062423/5681457e550346895db255e0/html5/thumbnails/23.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062423/5681457e550346895db255e0/html5/thumbnails/24.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062423/5681457e550346895db255e0/html5/thumbnails/25.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062423/5681457e550346895db255e0/html5/thumbnails/26.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062423/5681457e550346895db255e0/html5/thumbnails/27.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062423/5681457e550346895db255e0/html5/thumbnails/28.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062423/5681457e550346895db255e0/html5/thumbnails/29.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062423/5681457e550346895db255e0/html5/thumbnails/30.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062423/5681457e550346895db255e0/html5/thumbnails/31.jpg)
Canon Hierarchical DHTCanon Hierarchical DHT
Domain A Domain B
Top-level Domain
![Page 32: PSIRP Architectural Components Part 1](https://reader035.vdocuments.site/reader035/viewer/2022062423/5681457e550346895db255e0/html5/thumbnails/32.jpg)
Rendezvous System Rendezvous System ExampleExample
![Page 33: PSIRP Architectural Components Part 1](https://reader035.vdocuments.site/reader035/viewer/2022062423/5681457e550346895db255e0/html5/thumbnails/33.jpg)
Rendezvous System Rendezvous System BootstrappingBootstrapping
![Page 34: PSIRP Architectural Components Part 1](https://reader035.vdocuments.site/reader035/viewer/2022062423/5681457e550346895db255e0/html5/thumbnails/34.jpg)
Publish OperationPublish Operation
![Page 35: PSIRP Architectural Components Part 1](https://reader035.vdocuments.site/reader035/viewer/2022062423/5681457e550346895db255e0/html5/thumbnails/35.jpg)
Subscribe OperationSubscribe Operation
![Page 36: PSIRP Architectural Components Part 1](https://reader035.vdocuments.site/reader035/viewer/2022062423/5681457e550346895db255e0/html5/thumbnails/36.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062423/5681457e550346895db255e0/html5/thumbnails/37.jpg)
Questions?Questions?Comments?Thanks!