Session Mobility for Pervasive Collaborative Apps using XMPP

810 views
723 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
810
On SlideShare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
10
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Session Mobility for Pervasive Collaborative Apps using XMPP

  1. 1. LAYERS MOBILIS Session Mobility for Pervasive Collaborative Apps using XMPP PerCol 2013, San Diego - 2013-03-18 István Koren, RWTH Aachen University, ACIS Group koren@dbis.rwth-aachen.de Daniel Schuster & Thomas Springer, TU Dresden, Computer Networks {daniel.schuster | thomas.springer}@tu-dresden.deLehrstuhl Informatik 5(Information Systems) Prof. Dr. M. Jarke I5-FL-0213-1 This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
  2. 2. {Advanced | ATLAS | Awesome | Aachen} LAYERS Community Information Systems (ACIS) MOBILIS Responsive Web Engineering Community Web Analytics Open Visualization Community and Information Simulation Systems Community Community Support AnalyticsLehrstuhl Informatik 5 Requirements(Information Systems) Prof. Dr. M. Jarke I5-FL-0213-2 Engineering
  3. 3. LAYERS Session Mobility?  Refers to… MOBILIS – IP mobility protocols – multimedia session mobility – application migration  Examples fig.1: Cisco WebEx – Card Game on a TV – Collaborative Editing  our work is about Session Mobility forLehrstuhl Informatik 5(Information Systems) Prof. Dr. M. Jarke Collaborative Pervasive Apps! I5-FL-0213-3
  4. 4. LAYERS Related Works  Plain SIP: session handoff and call MOBILIS transfer (INVITE, REFER, …)  Multi-Device Manager fig.2: SIP REFER (Stähle et al.)  RFC 5631: SIP Session MobilityLehrstuhl Informatik 5(Information Systems) Prof. Dr. M. Jarke fig.3: Multi-Device System I5-FL-0213-4
  5. 5. LAYERS Requirements  Session Transfer MOBILIS fig.4: Session Transfer  Session Split fig.5: Session Split  Device DiscoveryLehrstuhl Informatik 5(Information Systems) Prof. Dr. M. Jarke  Packet Filtering I5-FL-0213-5
  6. 6. LAYERS Why XMPP?  Standard based solution MOBILIS  Real-time XML based message exchange  Supports multiple sessions per user – alice@example.org/tablet  Various Extension Protocols (XEPs) – Multi-User Chat, Pub Sub, File Transfer  Library availability!Lehrstuhl Informatik 5(Information Systems) – Smack, Strophe etc. Prof. Dr. M. Jarke I5-FL-0213-6
  7. 7. LAYERS Device Discovery ① Personal Device MOBILIS – Instant Messaging on tablet + phoneDevice Discovery fig.6: Session SplitSession Transfer ② Public Device (Kiosk Mode)Session SplitPacket Filtering – using a large public display at a metro station ③ Ad-Hoc – including presentation hardware in meeting rooms Lehrstuhl Informatik 5 (Information Systems) Prof. Dr. M. Jarke I5-FL-0213-7
  8. 8. LAYERS (1) Personal Device Discovery  via QR codes, NFC MOBILIS  Resources! <!-- Out --> <iq from="alice@mobilis.inf.tu-dresden.de/desktop"Device Discovery to="alice@mobilis.inf.tu-dresden.de" type="get" id="1"> <query xmlns="http://jabber.org/protocol/disco#items">Session Transfer </query>Session Split </iq>Packet Filtering <!-- In --> <iq type="result" from="alice@mobilis.inf.tu-dresden.de" to="alice@mobilis.inf.tu-dresden.de/desktop" id="123"> <query xmlns="http://jabber.org/protocol/disco#items"> <item jid="alice@mobilis.inf.tu-dresden.de/desktop"/> <item jid="alice@mobilis.inf.tu-dresden.de/phone"/> <item jid="alice@mobilis.inf.tu-dresden.de/tablet"/> </query> </iq> Lehrstuhl Informatik 5 lst.1: Querying own resources (Information Systems) Prof. Dr. M. Jarke I5-FL-0213-8
  9. 9. LAYERS (2) Public Device Discovery  standalone device MOBILIS  XMPP daemonDevice Discovery  using as personal deviceSession Transfer  remote login mechanismSession SplitPacket Filtering fig.7: Kiosk Device QR discovery Lehrstuhl Informatik 5 (Information Systems) fig.8: Remote Login Prof. Dr. M. Jarke I5-FL-0213-9
  10. 10. LAYERS (3) Ad-Hoc Discovery  XEP-0174: Serverless Messaging MOBILIS – over Multicast DNS – TXT Records jid=lightsensor@xmpp.org port.p2pj=5562 status=availDevice DiscoverySession Transfer lst.2: Advertising Presence via mDNSSession SplitPacket Filtering fig.9: mDNS Service Discovery Lehrstuhl Informatik 5 (Information Systems) fig.10: ad-hoc Light Switch Prof. Dr. M. Jarke I5-FL-0213-10
  11. 11. LAYERS Session Transfer  two general approaches MOBILIS – packet logging and replay – application specific bundlingDevice DiscoverySession Transfer <iq from="alice@example.org/mobile“ to="alice@example.org/tablet“Session Split type="get" id="234"> <query xmlns="mobilis:iq:sessionmobility#sessiontransfer">Packet Filtering <mechanisms xmlns="mobilis:params:sessiontransfer“> <mechanism>INBAND-XMPP</mechanism> <mechanism >FILES</mechanism > <mechanism>BUNDLE-COMPRESSED-ZIP</mechanism> </mechanisms> </query> </iq> lst.3: Offering Session Transfer Mechanisms Lehrstuhl Informatik 5 (Information Systems) Prof. Dr. M. Jarke I5-FL-0213-11
  12. 12. LAYERS Session Split  packet sent to bare JID: delivery depends on server MOBILIS configurationDevice DiscoverySession Transfer  as fallback, we support client-based messageSession SplitPacket Filtering forwarding  calls for another requirement: Packet Filtering Lehrstuhl Informatik 5 (Information Systems) Prof. Dr. M. Jarke I5-FL-0213-12
  13. 13. LAYERS Packet Filtering  intelligent packet routing MOBILIS  defined by endpointDevice DiscoverySession TransferSession Split fig.11: communication footprint of a LBGPacket Filtering  XEP-0273: Stanza Interception and Filtering Technology (SIFT) – Stanza (Message, IQ or Presence) – Sender/Recipient – Payload Lehrstuhl Informatik 5 (Information Systems) Prof. Dr. M. Jarke I5-FL-0213-13
  14. 14. LAYERS Mobilis Framework MOBILISLehrstuhl Informatik 5(Information Systems) Prof. Dr. M. Jarke I5-FL-0213-14
  15. 15. LAYERS Conclusion  QR based discovery appreciated MOBILIS  Ad-Hoc – session transfer over local link – towards IoT  Problems – extension implementation & deferrals & experimentals  state transfer using publish-subscribe – as a more general approachLehrstuhl Informatik 5(Information Systems) Prof. Dr. M. Jarke I5-FL-0213-15
  16. 16. LAYERS Current Tasks & Plans  integrate HTML5 technologies MOBILIS – XMPP over WebSocket – WebRTC  use XEP-0280: Message Carbons for Session Split Case A: Case B: Juliet sends Message to romeo@example.net: Juliet sends Message to romeo@example.net/home: Message is forked and sent to: Message is sent to: romeo@example.net/home romeo@example.net/home romeo@example.net/garden …and forwarded to: romeo@example.net/gardenLehrstuhl Informatik 5(Information Systems)  commit an OAuth extension to the XMPP community Prof. Dr. M. Jarke I5-FL-0213-16
  17. 17. LAYERS OAuth for Remote Login within XMPP  XEP-0235: OAuth Over XMPP – not the right scope MOBILIS  the Google Talk & Windows Live Messenger way… <auth xmlns="urn:ietf:params:xml:ns:xmpp-sasl" mechanism="X-OAUTH2" auth:service="oauth2" xmlns:auth="http://www.google.com/talk/protocol/auth"> base64("0" + user_name + "0" + oauth_token) </auth> lst.4: Google Talk OAuth1 <auth xmlns="urn:ietf:params:xml:ns:xmpp-sasl" mechanism="X-MESSENGER-OAUTH2"> ACCESS_TOKEN </auth> lst.5: Windows Live Messenger OAuth2 they integrate browser-based authenticationLehrstuhl Informatik 5(Information Systems) 1) https://developers.google.com/talk/jep_extensions/oauth Prof. Dr. M. Jarke I5-FL-0213-17 2) http://msdn.microsoft.com/library/live/hh826554
  18. 18. LAYERS Thank you!  Contacts: MOBILIS xmpp://koren@role.dbis.rwth-aachen.de koren@dbis.rwth-aachen.de http://dbis.rwth-aachen.de/cms/staff/koren  Check out the Mobilis framework of TU Dresden http://mobilis.inf.tu-dresden.de The research work described here is partially funded through the LAYERS FP7 ICTLehrstuhl Informatik 5(Information Systems) Integrated Project (grant agreement no 318209) of the European Union. Prof. Dr. M. Jarke I5-FL-0213-18
  19. 19. LAYERS References [] R. Shacham, H. Schulzrinne, S. Thakolsri, and W. Kellerer, “Session initiation protocol (SIP) session mobility,” RFC 5631, IETF, 2009. MOBILIS [] T. Chang and Y. Li, “Deep shot: a framework for migrating tasks across devices using mobile phone cameras,” in Pro- ceedings of the 2011 annual conference on Human factors in computing systems, 2011. [] J. Hildebrand, J. Moffitt, and P. Saint-Andre, “Stanza inter- ception and filtering technology (SIFT),” 2011. [] P. Saint-Andre, “XEP-0174: Serverless messaging,” http://xmpp.org/extensions/xep- 0174.html, 2008. [] J. Hildebrand, J. Moffitt, and P. Saint-Andre, “XEP-0273: Stanza inter- ception and filtering technology (SIFT),” 2011. [] J. Hildebrand and M. Miller, “XEP-0280: Message Carbons” 2012.Lehrstuhl Informatik 5(Information Systems) Prof. Dr. M. Jarke I5-FL-0213-19
  20. 20. LAYERS fin MOBILISLehrstuhl Informatik 5(Information Systems) Prof. Dr. M. Jarke I5-FL-0213-20

×