1 / 26

Publish/Subscribe Gateway for real-time communication

Publish/Subscribe Gateway for real-time communication. Sarantorn Bisalbutra NomadicLab , Ericsson Research Supervisor: Prof . Jörg Ott Instructors: Petri Jokela Jimmy Kjällman. Outline. Background PURSUIT Publish/Subscribe Internet Technology

alair
Download Presentation

Publish/Subscribe Gateway for real-time communication

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. Publish/Subscribe Gateway for real-time communication Sarantorn Bisalbutra NomadicLab, Ericsson Research Supervisor: Prof. JörgOtt Instructors: Petri Jokela Jimmy Kjällman

  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. PURSUIT Publish/Subscribe Internet Technology (1) • 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 RV FW FW FW FW FW FW TM Subscriber Publisher Subscriber Publisher Subscriber

  5. PURSUIT Publish/Subscribe Internet Technology (2) Root • 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 LinkedIn Facebook S-E RV FW FW FW FW FW FW TM Bob P-B Alice P-A /S-C Carol P-C Dave P-D 2. Subscribe(Alice) 3. Matching Carol • 1. Alice Publishes her Facebook profile. 4. Path Computation • 2. Carol subscribes Alice’s Facebook profile. 1. Publish(Alice) Alice • 3. Rendezvous system matches publication and subscription. 5. START_PUBLISH • 4. Topology Manager computes an optimal path from Alice to Carol. Dave • 5. Topology Manager signals Alice to start the publication. 6.Forwarding • 6. Alice’s node forwards her Facebook data to Carol. 7.Forwarding Bob • 7. If Eve wants to see the Facebook of Alice, Bob and Carol, she can subscribe the Facebook scope. Eve

  6. Pub/sub Gateway

  7. Pub/sub Gateway • 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 RV FW FW FW FW FW FW TM GW GW GW GW Carol IP IP Alice IP Dave IP IP Bob Eve

  8. Design-SIP Voice Call

  9. Call Initiation (1) Call PREG Register PREG/ SREG 12345 PGW1 GW1 PGW1 / SREG GW2 PGW2/ SREG Signal PGW1 / SGW1, GW2 Media PGW1 Dave PGW2 Alice PGW1 Alice PGW1 Dave PGW2 RES PREG/ SGW2 RES PREG/ SGW1 REQ PGW2/ SREG INT PREG/SGW2 REQ PGW1 / SREG INT PREG/ SGW1 RTP PGW1 / SGW1, GW2 RTCP PGW1 / SGW1, GW2 RV SIP Registrar FW FW TM 4. 3. Alice PGW1 Dave PGW2 Alice PGW1 Dave PGW2 GW1 GW2 1. INVITE To: Dave From: Alice Call-ID: 12345 6. INVITE To: Dave From: Alice Call-ID: 12345 Alice IP IP Dave 2. Pub/Sub items 5. Pub/Sub items 4. Pub(INVITE) 3. Pub(INVITE) Domain = “pubsubgateway.net”

  10. Call Initiation (2) Call PREG Register PREG/ SREG 12345 PGW1 GW1 PGW1 / SREG GW2 PGW2/ SREG Signal PGW1 / SGW1, GW2 Media PGW1 Dave PGW2 Alice PGW1 Alice PGW1 Dave PGW2 RES PREG/ SGW2 RES PREG/ SGW1 REQ PGW2/ SREG INT PGW2/SGW2 REQ PGW1 / SREG INT PREG/ SGW1 RTP PGW1 / SGW1, GW2 RTCP PGW1 / SGW1, GW2 SIP Registrar RV FW FW TM Alice PGW1 Dave PGW2 Alice PGW1 Dave PGW2 GW1 GW2 9. 100 Trying 7. 100 Trying Alice 12. 180 Ringing 10. 180 Ringing 15. 200 OK 13. 200 OK IP IP Dave 8. Pub(100 Trying) 11. Pub(180 Ringing) 14. Pub( 200 OK )

  11. Call Signalling & Media Call PREG 12345 PGW1 Media PGW1 Signal PGW1 / SGW1, GW2 RTCP PGW1 / SGW1, GW2 RTP PGW1 / SGW1, GW2 Alice PGW1 Dave PGW2 GW1 GW2 Alice PGW1 Dave PGW2 Alice PGW1 Dave PGW2 Alice Dave IP IP

  12. Call Termination Call PREG Register PREG/ SREG 12345 PGW1 GW1 PGW1 / SREG GW2 PGW2/ SREG Signal PGW1 / SGW1, GW2 Media PGW1 Dave PGW2 Alice PGW1 Alice PGW1 Dave PGW2 RES PREG/ SGW2 RES PREG/ SGW1 REQ PGW2/ SREG INT PGW2/SGW2 REQ PGW1 / SREG INT PREG/ SGW1 RTP PGW1 / SGW1, GW2 RTCP PGW1 / SGW1, GW2 SIP Registrar RV FW FW TM Alice PGW1 Dave PGW2 Alice PGW1 Dave PGW2 GW2 GW1 7. 200 OK 4. 200 OK Alice 3. BYE 1. BYE IP IP Dave 6. unPub/unSub items 8. unPub/unSub items 2. Pub( BYE ) 5. Pub( 200 OK )

  13. Design-Multimedia Streaming over Multicast

  14. Group Establishment Multicast SAP SGW1-3 Media GW2 PGW2 GW3 PGW3 GW1 PGW1 Nemo PGW1 RV RTCP PGW1 RTP PGW1 FW FW FW TM GW3 GW2 GW1 4. SAP Name: Nemo Multicast addr: 224.1.1.1:5004 IP Alice 1. SAP Name: Nemo Multicast addr: 224.1.1.1:5004 4. SAP Name: Nemo Multicast addr: 224.1.1.1:5004 Eve Dave RTP IP RTCP IP 2. Pub/Sub items 3. Pub(SAP)

  15. Group Joining Multicast SAP SGW1-3 Media GW2 PGW2 GW3 PGW3 GW1 PGW1 Nemo PGW1 RV RTP PGW1 /SGW2,GW3 RTCP PGW1 /SGW2,GW3 FW FW FW TM GW1 GW3 GW2 IP Alice 4. Eve Dave RTP RTP RTP 2. Sub (RTP,RTCP) IP RTCP RTCP RTCP 1. IGMP Join 224.1.1.1: 5004 5. IGMP Join 224.1.1.1: 5004 IP 7. 3. Pub(RTP) and Pub (RTCP) 7. 6. Sub (RTP,RTCP)

  16. Group Leaving Multicast SAP SGW1-3 Media GW2 PGW2 GW3 PGW3 GW1 PGW1 Nemo PGW1 RV RTP PGW1 /SGW2,GW3 RTCP PGW1 /SGW2,GW3 FW FW FW TM GW1 GW3 GW2 IP Alice Dave Eve RTP RTP RTP IP 5. unSub (RTP,RTCP) RTCP RTCP RTCP 4. IGMP Leave 224.1.1.1: 5004 1. IGMP Leave 224.1.1.1: 5004 IP 3. 6. Stop Pub (RTP,RTCP) 2. unSub (RTP,RTCP)

  17. Implementation

  18. Gateway-SIP Module pubsub_gateway: sip • socket: Interface to IP network • libblackadder: Interface to pub/sub network • : Thread • : 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 commandsand lists all executed publications and subscriptions …call_media… call_manager sip_signalling register_signal call_signal dns pubsub_handler socket libblackadder

  19. Gateway-Multicast Module pubsub_gateway: multicast • 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 commandsfromsap, media_streamer, and igmpthreads 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 libraryexecutes the pub/sub commands and lists all executed publications and subscriptions …media_streamer… group_manager sap igmp pubsub_handler socket libblackadder

  20. 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 libraryexecutes the pub/sub commands and lists all executed publications and subscriptions pubsub_registrar Location service redirect register pubsub_handler libblackadder

  21. Evaluation

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

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

  24. Conclusion

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

  26. Thank youQ&A?

More Related