1 / 37

PSIRP Architectural Components Part 1

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

dora-craig
Download Presentation

PSIRP Architectural Components Part 1

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Outline • Identifiers • Algorithmic IDs • Node Internal Architecture • Helper Functions • Rendezvous System

  3. Background – IP-based Identifier • Network Layer Identifier • IP address • Topological identifier • Refers to a specific location in the network • Transport Layer Identifier • Also IP address (IPsrc/dst, portsrc/dst, protocol) • Identifies end-hosts in the Internet

  4. Application Transport Network Link Physical IP Semantic Overload Problem Socket 174.180.23/24 IP 128.17.11.22 200.201.11/24

  5. IP-based Identification – Problems • Entangle 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

  6. PSIRP Identifiers – Motivation • Express 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

  7. PSIRP Identifiers • Application Level Identifier (AId) • Rendezvous Identifier (RId) • Scope Identifier (SId) • Forwarding Identifier (FId) • (Algorithmic Identifier (AlgId))

  8. Application Level Identifier (AId) • Application level identification • Based 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)

  9. Rendezvous Identifier (RId) • PSIRP network level identifier • Uniquely identifies a piece of information • 256-bit identifier (SHA-256 hash over the data) • Goal: identify the interest between publishers and subscribers in the rendezvous system

  10. Rendezvous Identifier (Rid) Doesn’t subscribe RIdnut Interest! Rendezvous Point Bingo Publish RIdnut Deliver data Nut Subscribe RIdnut Scrat

  11. Scope Identifier (Sid) • Also PSIRP network identifier with 256 bits length • Goal: aggregate a set of Rids into one group (scope) • Represents a collection of whatever information that Rids represents • Scope = implicit context of a set of Rids • Photo album has a Sid and each photo has a Rid • Also • Access control • Metadata control operations

  12. Scope Identifier (Sid) RidA Sidpublic_album Sidfamily_album RidB RidC

  13. Forwarding ID • 256-bit long network identifier • Goal: identify path segments in the forwarding path • Difference: • Sid/Rid used in the rendezvous system (slow path) • Fid used in the forwarding fabric (fast path) • Can be aggregated in Bloom filters

  14. Forwarding ID FId12 FId22 FId21 FId11 FId31 Rendezvous 1 Rendezvous 2 FId12 FId21 FId22 FId11 FId13 David Bloom-filter FIdA Bob Clark

  15. Forwarding ID • Source 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

  16. Algorithmic Identifiers (AIgIds) • Special class of identifiers • Information collection concept • group semantically similar information items • Goal: automatic generation of IDs for different pieces of information • Allow elaborate tests with the identifier

  17. Forwarding State Aggregation RVS FId21 FId22 FIdB RVS FId12 David FId11 FId11 FId13 FId13 RVS FId31 FId32 FId31 FId32 FIdC FIdC FIdA FIdA Bloom-filter Clark Bob

  18. Return Path (legacy client-server model) RVS Subscribe(algIdA) Publish(algIdA) Clark Bob Publish(hash(algIdA)) Subscribe(hash(algIdA)) Hey Clark, let’s have a beer after work! Okee dokee, Bob!

  19. Sequence Numbering RVS Subscribe(algId) Publish(algId) ID3 ID3 ID2 ID2 ID1 ID1 ID1 = hash(algId) ID2 = hash(ID1) Beth Alice ID3 = hash(ID2)

  20. Algorithmic IDs – Other scenarios • Error control • generate error messages identified with IDs derived from the error ID • Reliability • different algIds can be generated to receive error messages • Announcements • prior to a data publication, publishers announce in the algId channel, informing possible subscribers that data will be published in the related algId

  21. 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

  22. Unreliable Page Service • Simple 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 PageIDA PageIDB PageIDC PageIDD PageIDE

  23. Memory Object Service • Works on the page service • Supports larger data files (over one memory page) • Supports update on memory objects Memory Object Memory Pages PageIDA MOA PageIDB PageIDC PageIDD PageIDE

  24. Node Internals – Networking • Nodes • 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

  25. Helper Functions • Not core network service • Not 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

  26. Network Management Functions • Network Management & Information gathering • Information 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

  27. Rendezvous System • Meeting point of interests between publishers and subscribers • Requirements • Scalability (Internet scale) • Efficiency in operation • Deployability (gradual deployment and stakeholders incentives)

  28. Rendezvous Network • Composed of Rendezvous Nodes (RNs) • Organized as a BGP-like inter-domain hierarchy • Collection of RNs from multiple cooperative ASes • Rendezvous points (RPs) • logical meeting points of interests between publishers and subscribers • one rendezvous point for each Sid/Rid pair

  29. Rendezvous Network Interconnection • Some 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

  30. Rendezvous Network Connection • Canon DHT • Hierarchical DHT • Maintains local communication within its domain • Caching in the sub-domain exit between levels in the DHT

  31. Canon Hierarchical DHT Top-level Domain 0 2 3 5 13 8 10 12 2 3 0 5 13 8 12 10 Domain B Domain A

  32. Rendezvous System Example RNA RNC RP RNB RNC10 RNB10 RNC100 RNB100 Pub Node Sub Node

  33. Rendezvous System Bootstrapping RNA RNC RP RNB RNC10 RNB10 RNC100 RNB100 Pub Node Sub Node

  34. Publish Operation RNA RNC RP RNB RNC10 RNB10 RNC100 RNB100 Pub Node Sub Node

  35. Subscribe Operation RNA RNC RP RNB RNC10 RNB10 RNC100 RNB100 Pub Node Sub Node

  36. Summarizing • Identifiers • Many types, special semantics • Algorithmic ID • New use cases • Node Internal Architecture • Blackboard, Input/output queues, memory objects segmentation • Helper functions • Adding new functionalities in the architecture • Rendezvous System • Matching interests between publishers and subscribers

  37. Questions? • Comments? • Thanks!

More Related