RELOAD Usages for P2P Data Storage and Discovery



Similar documents
Mobile P2PSIP. Peer-to-Peer SIP Communication in Mobile Communities

A P2P SIP Architecture - Two Layer Approach - draft-sipping-shim-p2p-arch-00.txt

Bridging the gap between peer-to-peer and conventional SIP networks

A Peer-to-peer Secure VoIP Architecture

Quantitative Analysis of 2-tier P2P- SIP Architecture with ID-based Signature

Lawful Interception in P2Pbased

Bit Chat: A Peer-to-Peer Instant Messenger

Research on P2P-SIP based VoIP system enhanced by UPnP technology

Session Initiation Protocol Deployment in Ad-Hoc Networks: a Decentralized Approach

Department of Computer Science Institute for System Architecture, Chair for Computer Networks. File Sharing

3.1 SESSION INITIATION PROTOCOL (SIP) OVERVIEW

Design of a SIP Outbound Edge Proxy (EPSIP)

ENUM: Migrating to VoIP. P2P Voice Applications

A Self-Managing SIP-based IP Telephony System based on a P2P approach using Kademlia

Multidomain Virtual Security Negotiation over the Session Initiation Protocol (SIP)

A P2PSIP event notification architecture

NAT TCP SIP ALG Support

Implementing Intercluster Lookup Service

Masterarbeit. Alexander Knauf DisCo: A Protocol Scheme for Distributed Conference Control in P2PSIP based on RELOAD

User authentication in SIP

SOSIMPLE: A SIP/SIMPLE Based P2P VoIP and IM System

An Efficient Server Load Balancing using Session Management

Security Issues and Solutions in Peer-topeer Systems for Real-time Communications

Chord - A Distributed Hash Table

OSSIR, November /45

Network Convergence and the NAT/Firewall Problems

International Journal of Scientific & Engineering Research, Volume 4, Issue 11, November ISSN

How will the Migration from IPv4 to IPv6 Impact Voice and Visual Communication?

A Comparative Study of Signalling Protocols Used In VoIP

Analysis of SIP Traffic Behavior with NetFlow-based Statistical Information

White paper. SIP An introduction

Security in Structured P2P Systems

Cisco TelePresence Video Communication Server (Cisco VCS) IP Port Usage for Firewall Traversal. Cisco VCS X8.5 December 2014

Application Notes for Configuring Microsoft Office Communications Server 2007 R2 and Avaya IP Office PSTN Call Routing - Issue 1.0

Cisco TelePresence Video Communication Server Basic Configuration (Control with Expressway)

SOSIMPLE: A Serverless, Standards-based, P2P SIP Communication System

Chapter 10 Session Initiation Protocol. Prof. Yuh-Shyan Chen Department of Computer Science and Information Engineering National Taipei University

Authentication and Authorisation for Integrated SIP Services in Heterogeneous Environments 1

NAT and Firewall Traversal. VoIP and MultiMedia /77

Application Note. Firewall Requirements for the Onsight Mobile Collaboration System and Hosted Librestream SIP Service v5.0

A P2P SERVICE DISCOVERY STRATEGY BASED ON CONTENT

Enabling Users for Lync services

Acano solution. Third Party Call Control Guide. March E

Request for Comments: August 2006

Creating your own service profile for SJphone

Application Note. Onsight Connect Network Requirements V6.1

Adapting Distributed Hash Tables for Mobile Ad Hoc Networks

Intercluster Lookup Service

SIP Trunk Configuration V/IPedge Feature Description 5/22/13

... Figure 2: Proposed Service Invocation Mechanism. AS Service invocation 2 SC invocation 2. Session/Call Control Function

Application Note. SIP Domain Management

Session Initiation Protocol and Services

SIP and ENUM. Overview DENIC. Introduction to SIP. Addresses and Address Resolution in SIP ENUM & SIP

Application Notes for Avaya IP Office 7.0 Integration with Skype Connect R2.0 Issue 1.0

Vesselin Tzvetkov, Holger Zuleger {vesselin.tzvetkov, Arcor AG&Co KG, Alfred-Herrhausen-Allee 1, Eschborn, Germany

Polycom Unified Communications Deployment Guide for Microsoft Environments

A Scalable Architecture for SIP Infrastructure using Content Addressable Networks

Using SIP Protocol for Bi-directional Push-to-Talk Mechanism over Ad-Hoc Network

IP Office Technical Tip

CommuniGate Pro Real-Time Features. CommuniGate Pro Internet Communications VoIP, , Collaboration, IM

Efficient load balancing system in SIP Servers ABSTRACT:

NAT and Firewall Traversal with STUN / TURN / ICE

Cisco Expressway IP Port Usage for Firewall Traversal. Cisco Expressway X8.1 D December 2013

A Scalable Multi-Server Cluster VoIP System

Enhancements to Collaborative Media Streaming with IETF Protocols

Peer-to-peer framework of Distributed Environment for Cooperative and Collaborative Work Service Composition

New possibilities for the provision of value-added services in SIP-based peer-to-peer networks

Guidance Regarding Skype and Other P2P VoIP Solutions

I-TNT: PHONE NUMBER EXPANSION AND TRANSLATION SYSTEM FOR MANAGING INTERCONNECTIVITY ADDRESSING IN SIP PEERING

Adaptation of TURN protocol to SIP protocol

SIP : Session Initiation Protocol

TECHNICAL NOTE. FortiGate Support for SIP FortiOS v3.0 MR5.

2. What is the maximum value of each octet in an IP address? A. 28 B. 255 C. 256 D. None of the above

Proposition of a new approach to adapt SIP protocol to Ad hoc Networks

EE4607 Session Initiation Protocol

A Distributed Architecture of Video Conference Using P2P Technology

Application Note. Onsight Connect Network Requirements v6.3

Hybrid Overlay Multicast Framework draft-irtf-sam-hybrid-overlay-framework-01.txt. John Buford, Avaya Labs Research

SIP Essentials Training

NAT and Firewall Traversal with STUN / TURN / ICE

Plaxton routing. Systems. (Pastry, Tapestry and Kademlia) Pastry: Routing Basics. Pastry: Topology. Pastry: Routing Basics /3

VoIP Server Reference

IP over Optical Networks - A Framework draft-ip-optical-framework-01.txt

Transcription:

RELOAD Usages for P2P Data Storage and Discovery AW2-presentation from Alexander Knauf Alexander.Knauf@Haw-Hamburg.de

Review Infrastructure Independent Conferencing: Decentralized fashion Multiple conference controller Signaling with SIP Connected through DHT Proximity-aware Mesh building

Outline Introduction into RELOAD RELOAD Usages TURN advertisement SIP Registration Service Discovery Conclusion & Outlook

RELOAD Overview(1) RELOAD = REsource LOcation And Discovery (Defines) * a signaling protocol for P2P networks Features: Data storage and retrieval in a P2P network Message and routing services Designed for a variety of applications Pluggable overlay algorithm High security definitions NAT and Firewall traversal * Not a standard jet

RELOAD Overview(2) RELOAD overlay instance: Functionality overview

RELOAD Architecture OSI application layer! Application SIP Usage TURN Usage... Message Transport Storage Transport Topology Plugin Network Forward & Link Management Link DTLS TLS... OSI transport layer! Application: The application specific behaviors, called Usages Transport: Defines messages(store, fetch, join, etc) Defines storage types and permissions Pluggable Overlay Network: Creates, maintains and deletes connections Link: Underlying secure transport protocols

Kind Definition Each stored data (called Resource) belongs to a Kind: Resource-ID= Hash(Resource name), e.g. SIP URI But: Other Resources with different Kinds may produce same Resource-ID! Solution: Each Kind has its own Kind-ID Its up by the application to add new Kinds (data structures)

Usages A usage is an application that wishes to use the overlay for some purpose [1] A Usage must specify: Kind-IDs registration Kind data structure definition Access Control Rule How a Resource name is formed Merge of data, if its partitioned on multiple nodes Defines types of connections

TURN Usage(1) Problem: Many (if not most) peers behind NAT Solution: Communication through intermediate relay peer TURN = Traversal Using Relays around NAT) RELOAD Usage: Each overlay peer may act as TURN server After overlay join, a peer knows if it has an public IP if(ip==public): for d in range( 1, turndensity) store(turnserverkind(hash(node-id+d))) Advertises this peer as TURN server randomly in the Overlay

TURN Usage(2) Finding a TURN server (TS): Peer uses a Find request messages find(turnserverkind (random (Resource-ID) ) ) Returns 0 if no TURN server is known Returns the Resource-IDs for this Kind Then a peer uses a Fetch request for the returned Resource-ID Because every peer with public IP will become TS, a random search will quickly succeed

SIP Usage(1) Goal: Replace SIP registrars and proxies SIP Usage: Store mappings SIP URI Node-ID Example: sip:elmo@muppets.com e4f3a User lookup: fetch(sipkind(hash( sip:elmo@muppets.com ))) Returns: e4f3a Establishing a connection: 1. Use RELOAD AppAttach request to set up a transport 2. Establish SIP connection using this transport connection

SIP Usage(2) Establishing a SIP Dialog: ICE Checks for NAT and Firewall traversal Kermit Peer 1 Peer 2 Peer n Elmo AppAttach AppAttach AppAttach AppAttach AppAttach AppAttach AppAttach AppAttach ICE Checks INVITE 200 OK ACK

SIP Usage(3) SIP Usage defines a new Kind data structure SipRegistration: SIP URI as string XOR Destination List with preferred contacts Note: a user can have multiple locations (Home, Office, etc..) SipRegistrationData <<type=1>> +uri: opaque[2^16-1] SipRegistrationType <<enum>> +sip_registration_uri=1 +sip_registration_route=2 SipRegistration +type: SipRegistrationType +length: uint16 1 {XOR} 1 +data +data 1 1 SipRegistrationData <<type=2>> +contact_prefs: opaque[2^16-1] +destination_list: Destination[2^16-1]

Service Discovery Usage(1) Problem: How to find a service in a RELOAD overlay? Naive solution: Store all service-provider under well known Resource ID Scales linearly Owner of Resource ID may store an amount of data Requests could overload ID owner Solution: Building service discover tree structures: Scales logarithmic Storage and requesting load distributed

Service Discovery Usage(2) Each service provided in the overlay is identified by its own namespace Service registration: hash(namespace, i, j), with i is the level (depth) of the tree and j Node-ID at this level Example: hash( voice-mail, 1, ef3a1 ) Then, service provider stores mappings up and down the tree Stops if: others IDs <= n.id <= other IDs OR Stops if: its the only leaf in the tree Each leaf has its own peer responsible for a range of Node-IDs

Service Discovery Usage(3) Service lookup: Fetch operation on hash( voice-mail, 1, 3af2b ) Analog: Queries the tree up and down Repeat Fetch() until a node is found with the closest Node- ID to the node searching for the service Then: Establish transport connection to this node and proceed application procedures

Conclusion & Outlook Conclusion: RELOAD base protocol for P2P signaling Ready to add new applications Applications MUST define Usages, Kinds, etc.. Some Usages already defined No Usage for conferencing Outlook: RELOAD potential base for distributed conferencing My draft writing had already begun

Questions and Discussion Thanks for your Attention!

References [1] C. Jennings, B. Lowekamp, E. Rescorla, S. Baset, and H. Schulzrinne, REsource Location And Discovery (RELOAD) Base Protocol, IETF, Internet-Draft work in progress 08, March 2010. [2] C. Jennings, B. Lowekamp, E. Rescorla, S. Baset, and H. Schulzrinne, A SIP Usage for RELOAD, IETF, Internet-Draft work in progress 04, March 2010. [3] J.Meanpe, G. Camarillo, Service Discovery Usage for REsource LOcation And Discovery (RELOAD)" IETF, Internet-Draft work in progress 00, January 2010.