Download presentation
Presentation is loading. Please wait.
Published byCalvin Boone Modified over 9 years ago
1
Sarantorn Bisalbutra NomadicLab, Ericsson Research Supervisor: Prof. Jörg Ott Instructors: Petri Jokela Jimmy Kjällman PUBLISH/SUBSCRIBE GATEWAY FOR REAL-TIME COMMUNICATION
2
Outline Background PURSUIT Publish/Subscribe Internet Technology Design - Pub/sub Gateway and SIP Registrar SIP Voice Call Multimedia Streaming over Multicast Implementation Evaluation Conclusion
3
Background
4
EU FP7 Project for the future Internet based on publish/subscribe paradigm Motivation Internet users tend to be aware of data content more than where it comes from Information-Centric Network instead of Host-Centric Network Network Architecture PURSUIT Publish/Subscribe Internet Technology (1) Publisher Subscriber FW RVTM
5
Publisher A source of information. It publicizes the information by indicating an existence of the information to the network. Subscriber An element, who states its interest in the information by subscribing to the scope or the information item. Rendezvous System A system, performing information-related services. It maintains the information tree by inserting or deleting information IDs. Also, it matches scope or data subscriptions with the publication so as to identify a potential publisher and the subscribers for each specific information item. Topology Manager A system, which controls all packet deliveries within the publish/subscribe network. It has overall knowledge about the network, and compute the path from the publisher to the subscriber(s). Forwarder Pub/sub element along the forwarding path. It reads each packet header, and choose an outgoing link accordingly. Network Elements
6
PURSUIT Publish/Subscribe Internet Technology (2) The communication happens based on the Information Structure = Scope: Defines a set of information = Information Item: Represents data P = Publisher: Where the data is stored S = Subscriber: Where the data is needed Example: SocialNetworks Alice P-A / S-C Alice P-A / S-C Facebook S-E Facebook S-E Bob P-B Bob P-B Carol P-C Carol P-C Dave P-D Dave P-D Root Alice Bob Dave Eve FW RVTM 1. Publish(Alice) 2. Subscribe(Alice) 3. Matching 4. Path Computation 5. START_PUBLISH 6.Forwarding Carol 5. Topology Manager signals Alice to start the publication. 1. Alice Publishes her Facebook profile. 2. Carol subscribes Alice’s Facebook profile. 3. Rendezvous system matches publication and subscription. 4. Topology Manager computes an optimal path from Alice to Carol. 6. Alice’s node forwards her Facebook data to Carol. 7. If Eve wants to see the Facebook of Alice, Bob and Carol, she can subscribe the Facebook scope. 7.Forwarding LinkedIn
7
Pub/sub Gateway
8
Migration phase from IP to Publish/Subscribe network Installed at the network edge, between IP and Publish/subscribe network Convert IP based end-to-end traffic to publish/subscribe based and vice versa Supports Session Initiation Protocol (SIP) : initializes the session, establishes RTP connection, maintains the connectivity, and terminate the session Multimedia streaming over multicast: multicast initiation, group joining and leaving Pub/sub Gateway Alice Bob Carol Dave Eve FW RVTM IP GW
9
Design-SIP Voice Call
10
Call Initiation (1) FW RVTM GW1 Dave Alice SIP Registrar Register P REG / S REG Register P REG / S REG GW1 P GW1 / S REG GW1 P GW1 / S REG GW2 P GW2 / S REG GW2 P GW2 / S REG Alice P GW1 Alice P GW1 REQ P GW1 / S REG REQ P GW1 / S REG RES P REG / S GW1 RES P REG / S GW1 INT P REG / S GW1 INT P REG / S GW1 Dave P GW2 Dave P GW2 REQ P GW2 / S REG REQ P GW2 / S REG RES P REG / S GW2 RES P REG / S GW2 INT P REG /S GW2 INT P REG /S GW2 Call P REG Call P REG 12345 P GW1 12345 P GW1 Signal P GW1 / S GW1, GW2 Signal P GW1 / S GW1, GW2 Media P GW1 Media P GW1 RTP P GW1 / S GW1, GW2 RTP P GW1 / S GW1, GW2 RTCP P GW1 / S GW1, GW2 RTCP P GW1 / S GW1, GW2 Alice P GW1 Alice P GW1 Dave P GW2 Dave P GW2 Alice P GW1 Alice P GW1 Alice P GW1 Alice P GW1 Dave P GW2 Dave P GW2 Dave P GW2 Dave P GW2 1. INVITE To: Dave From: Alice Call-ID: 12345 3. Pub(INVITE) 4. Pub(INVITE) 6. INVITE To: Dave From: Alice Call-ID: 12345 3. 4. 2. Pub/Sub items 5. Pub/Sub items Domain = “pubsubgateway.net” GW2 IP
11
Call Initiation (2) FW RVTM GW2GW1 Dave Alice SIP Registrar Register P REG / S REG Register P REG / S REG GW1 P GW1 / S REG GW1 P GW1 / S REG GW2 P GW2 / S REG GW2 P GW2 / S REG Alice P GW1 Alice P GW1 REQ P GW1 / S REG REQ P GW1 / S REG RES P REG / S GW1 RES P REG / S GW1 INT P REG / S GW1 INT P REG / S GW1 Dave P GW2 Dave P GW2 REQ P GW2 / S REG REQ P GW2 / S REG RES P REG / S GW2 RES P REG / S GW2 INT P GW2 /S GW2 INT P GW2 /S GW2 Call P REG Call P REG 12345 P GW1 12345 P GW1 Signal P GW1 / S GW1, GW2 Signal P GW1 / S GW1, GW2 Media P GW1 Media P GW1 RTP P GW1 / S GW1, GW2 RTP P GW1 / S GW1, GW2 RTCP P GW1 / S GW1, GW2 RTCP P GW1 / S GW1, GW2 Alice P GW1 Alice P GW1 Dave P GW2 Dave P GW2 Alice P GW1 Alice P GW1 Alice P GW1 Alice P GW1 Dave P GW2 Dave P GW2 Dave P GW2 Dave P GW2 8. Pub(100 Trying) 7. 100 Trying 9. 100 Trying 11. Pub(180 Ringing) 10. 180 Ringing 12. 180 Ringing 13. 200 OK 14. Pub( 200 OK ) 15. 200 OK IP
12
Dave Alice Call Signalling & Media Call P REG Call P REG 12345 P GW1 12345 P GW1 Signal P GW1 / S GW1, GW2 Signal P GW1 / S GW1, GW2 Media P GW1 Media P GW1 RTP P GW1 / S GW1, GW2 RTP P GW1 / S GW1, GW2 RTCP P GW1 / S GW1, GW2 RTCP P GW1 / S GW1, GW2 Alice P GW1 Alice P GW1 Dave P GW2 Dave P GW2 Alice P GW1 Alice P GW1 Alice P GW1 Alice P GW1 Dave P GW2 Dave P GW2 Dave P GW2 Dave P GW2 GW1 GW2 IP
13
1. BYE 2. Pub( BYE ) 3. BYE Call Termination FW RVTM GW2GW1 Dave Alice SIP Registrar Register P REG / S REG Register P REG / S REG GW1 P GW1 / S REG GW1 P GW1 / S REG GW2 P GW2 / S REG GW2 P GW2 / S REG Alice P GW1 Alice P GW1 REQ P GW1 / S REG REQ P GW1 / S REG RES P REG / S GW1 RES P REG / S GW1 INT P REG / S GW1 INT P REG / S GW1 Dave P GW2 Dave P GW2 REQ P GW2 / S REG REQ P GW2 / S REG RES P REG / S GW2 RES P REG / S GW2 INT P GW2 /S GW2 INT P GW2 /S GW2 Call P REG Call P REG 12345 P GW1 12345 P GW1 Signal P GW1 / S GW1, GW2 Signal P GW1 / S GW1, GW2 Media P GW1 Media P GW1 RTP P GW1 / S GW1, GW2 RTP P GW1 / S GW1, GW2 RTCP P GW1 / S GW1, GW2 RTCP P GW1 / S GW1, GW2 Alice P GW1 Alice P GW1 Dave P GW2 Dave P GW2 Alice P GW1 Alice P GW1 Alice P GW1 Alice P GW1 Dave P GW2 Dave P GW2 Dave P GW2 Dave P GW2 4. 200 OK 6. unPub/unSub items 5. Pub( 200 OK ) 8. unPub/unSub items 7. 200 OK IP
14
Design-Multimedia Streaming over Multicast
15
Group Establishment FW RVTM GW2GW1GW3 FW Multicast Media SAP S GW1-3 SAP S GW1-3 GW1 P GW1 GW1 P GW1 GW2 P GW2 GW2 P GW2 GW3 P GW3 GW3 P GW3 Nemo P GW1 Nemo P GW1 RTP P GW1 RTP P GW1 RTCP P GW1 RTCP P GW1 1. SAP Name: Nemo Multicast addr: 224.1.1.1:5004 2. Pub/Sub items 4. SAP Name: Nemo Multicast addr: 224.1.1.1:5004 4. SAP Name: Nemo Multicast addr: 224.1.1.1:5004 3. Pub(SAP) RTP RTCP Alice IP Dave IP Eve IP
16
Eve IP Dave IP RTP P GW1 /S GW2,GW3 RTP P GW1 /S GW2,GW3 Group Joining FW RVTM GW2GW1 Alice GW3 FW Multicast Media SAP S GW1-3 SAP S GW1-3 GW1 P GW1 GW1 P GW1 GW2 P GW2 GW2 P GW2 GW3 P GW3 GW3 P GW3 Nemo P GW1 Nemo P GW1 RTCP P GW1 /S GW2,GW3 RTCP P GW1 /S GW2,GW3 RTP 2. Sub (RTP,RTCP) 1. IGMP Join 224.1.1.1: 5004 3. Pub(RTP) and Pub (RTCP) RTCP RTP RTCP 5. IGMP Join 224.1.1.1: 5004 RTP RTCP 4. 6. Sub (RTP,RTCP) 7. IP
17
Dave IP Eve IP RTP P GW1 /S GW2,GW3 RTP P GW1 /S GW2,GW3 Group Leaving FW RVTM GW2GW1 Alice GW3 FW Multicast Media SAP S GW1-3 SAP S GW1-3 GW1 P GW1 GW1 P GW1 GW2 P GW2 GW2 P GW2 GW3 P GW3 GW3 P GW3 Nemo P GW1 Nemo P GW1 RTCP P GW1 /S GW2,GW3 RTCP P GW1 /S GW2,GW3 RTP 5. unSub (RTP,RTCP) 4. IGMP Leave 224.1.1.1: 5004 RTCP RTP RTCP 1. IGMP Leave 224.1.1.1: 5004 RTP RTCP 2. unSub (RTP,RTCP) 6. Stop Pub (RTP,RTCP) IP 3.
18
Implementation
19
Gateway-SIP Module dns: Responds to DNS query with gateway IP address sip_signaling: Receives SIP signals from IP and forward to register_signal and call_signal threads register_signal: Handles user registration, cooperates with SIP registrar call_signal: Handles Call signaling, session establishment, maintaining and termination call_manager: stores/deletes active call states and start/stop call_media thread call_media: Handles media session (RTP and RTCP) of each call Receives packets from IP -> Publishes to pub/sub Receives packets from pub/sub -> send out to IP pubsub_handler: interface between our program and the Blackadder library executes the pub/sub commands and lists all executed publications and subscriptions pubsub_gateway: sip dns pubsub_handler sip_signalling register_signal call_signal …call_media… call_manager socket libblackadder socket: Interface to IP network libblackadder: Interface to pub/sub network : Thread : Module
20
Gateway-Multicast Module pubsub_gateway: multicast pubsub_handler igmp sap …media_streamer… group_manager socket libblackadder sap: receives SAP announcement from both IP Network then publish to other pub/sub entities and vice versa igmp: receives joining and leaving membership report from IP client, then send an update to the group manager group_manager: accepts the commandsfrom sap, media_streamer, and igmp threads to create multicast state, delete multicast state, and to start/stop the media_streamer respectively media_streamer: Handles media session (RTP and RTCP) of each multicast group Receives packets from IP -> Publishes to pub/sub Receives packets from pub/sub -> send out to IP pubsub_handler: interface between our program and the Blackadder library executes the pub/sub commands and lists all executed publications and subscriptions
21
Pub/sub SIP Registrar register: stores/deletes user’s information in the Location service redirect: redirect an INVITE request from call originator to the recipient Location service: database storing user’s information the format is shown: pubsub_handler: interface between our program and the Blackadder library executes the pub/sub commands and lists all executed publications and subscriptions pubsub_registrar Location service pubsub_handler register redirect libblackadder Username(ip:port)Gateway SIDCSeq
22
Evaluation
23
Evaluation (1) Functional Testing: 41 VMs in total (14 pub/sub, 27 IP clients) SIP Voice Call and media streaming from every IP client to all others Test with up to 15 sessions at the same time. Flexibility and Adaptability Testing
24
Evaluation (2) Traffic Analysis SIP Voice Call Media session creates the highest amount of traffic density Multimedia Streaming over Multicast Confirms that media content is multicast in pub/sub network Call Setup Duration 6/10 times of the test show that pub/sub provide faster call setup. Even though it needs some time to set up the information tree, before an actual transfer occurs.
25
Conclusion
26
Conclusions A novel design for publish/subscribe gateway and SIP registrar to enable IP-based real-time communication over the publish/subscribe paradigm. The gateway enables a co-existence between the IP and publish/subscribe network Confirms that the idea to deploy gateway during an IP to pub/sub migration is reasonable and applicable. SIP and multimedia streaming are possible to work under an Information-Centric context Future work Support for other protocols. Ex: HTTP, IMAP, SMTP
27
Thank you Q&A?
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.