PSIRP Architecture

advertisement
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
◦ 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
IP Semantic Overload Problem
Socket
Application
174.180.23/24
Transport
IP
Network
Link
Physical
200.201.11/24
128.17.11.22
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
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
PSIRP Identifiers
Application Level Identifier (AId)
 Rendezvous Identifier (RId)
 Scope Identifier (SId)
 Forwarding Identifier (FId)
 (Algorithmic Identifier (AlgId))

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)
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

Rendezvous Identifier (Rid)
Interest!
Doesn’t subscribe RIdnut
Rendezvous Point
Bingo
Publish RIdnut
Deliver data
Nut
Subscribe RIdnut
Scrat
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
Scope Identifier (Sid)
RidA
Sidfamily_album
RidB
RidC
Sidpublic_album
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
Forwarding ID
Rendezvous 1
FId11
FId12
FId13
Rendezvous 2
FId21
FId22
FId31
David
Bloom-filter
FIdA
Bob
Clark
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
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

Forwarding State Aggregation
RVS
FId21
RVS
FId22
FIdB
FId12
FId11
David
FId13
RVS
FId31
FIdC
FId A
Bloom-filter
Bob
FId32
Clark
Return Path
(legacy client-server model)
Publish(algIdA)
RVS
Subscribe(hash(algIdA))
Bob
Subscribe(algIdA)
Publish(hash(algIdA))
Hey Clark, let’s have a beer after work!
Okee dokee, Bob!
Clark
Sequence Numbering
RVS
Subscribe(algId)
Publish(algId)
ID2
ID3
ID1
Alice
ID1 = hash(algId)
ID2 = hash(ID1)
ID3 = hash(ID2)
ID3
ID2
ID1
Beth
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
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 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
Memory Object Service
Works on the page
service
 Supports larger data
files (over one memory
page)
 Supports update on
memory objects

Memory Pages
Memory Object
PageIDA
PageIDB
PageIDC
PageIDD
PageIDE
MOA
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
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
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
Rendezvous System
Meeting point of interests between
publishers and subscribers
 Requirements

◦ Scalability (Internet scale)
◦ Efficiency in operation
◦ Deployability (gradual deployment and
stakeholders incentives)
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
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
Rendezvous Network Connection

Canon DHT
◦ Hierarchical DHT
◦ Maintains local communication within its
domain
◦ Caching in the sub-domain exit between
levels in the DHT
Canon Hierarchical DHT
Top-level Domain
0
13
2
12
3
10
5
8
0
5
2
3
12
10
13
8
Domain A
Domain B
Rendezvous System Example
RNA
RNB
RNB10
RNC
RP
RNC10
RNC100
RNB100
Pub
Node
Node
Sub
Rendezvous System Bootstrapping
RNA
RNB
RNB10
RNC
RP
RNC10
RNC100
RNB100
Pub
Node
Node
Sub
Publish Operation
RNA
RNB
RNB10
RNC
RP
RNC10
RNC100
RNB100
Pub
Node
Node
Sub
Subscribe Operation
RNA
RNB
RNB10
RNC
RP
RNC10
RNC100
RNB100
Pub
Node
Node
Sub
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
Questions?
Comments?
 Thanks!

Download