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
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!