SlideShare a Scribd company logo
1 of 18
Download to read offline
ROLE



 LAYERS


                                            Session Mobility
                                              using XMPP


                          FOSDEM 2013 – XMPP DevRoom, 2012-02-02
                                        István Koren
                                   RWTH Aachen University
                         Advanced Community Information Systems (ACIS)
Lehrstuhl Informatik 5
                                  koren@dbis.rwth-aachen.de
(Information Systems)
   Prof. Dr. M. Jarke
   I5-FL-0213-1           This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
ROLE
                                          Session Mobility?
 LAYERS                     Refers to…
                             – IP mobility protocols
                             – multimedia session mobility
                             – application migration


                            SIP
                             – REFER                         fig.1: SIP REFER

                             – RFC 5631
                          this talk is about Session Mobility for
Lehrstuhl Informatik 5
(Information Systems)
   Prof. Dr. M. Jarke
                         Collaborative Pervasive Apps!
   I5-FL-0213-2
ROLE
                                         Session Mobility!
 LAYERS                     Session Transfer




                            Session Split




Lehrstuhl Informatik 5
(Information Systems)
   Prof. Dr. M. Jarke
   I5-FL-0213-3
ROLE
                         Session Mobility in the wild…
 LAYERS




                         fig.1: Deep Shot © Google




Lehrstuhl Informatik 5
(Information Systems)
                                                     fig.2: Cisco WebEx © Cisco
   Prof. Dr. M. Jarke
   I5-FL-0213-4
ROLE
                                        Device Discovery
                             Personal Device
                                               <!-- Out -->

 LAYERS                                       <iq from="alice@mobilis.inf.tu-dresden.de/desktop"
                                                   to="alice@mobilis.inf.tu-dresden.de" type="get" id="1">
                                                 <query xmlns="http://jabber.org/protocol/disco#items">
                                               </query>
                                               </iq>

                                               <!-- In -->

                             Resources!        <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>

                                               lst.1: Querying own resources




                            QR codes, NFC

Lehrstuhl Informatik 5
(Information Systems)
   Prof. Dr. M. Jarke
   I5-FL-0213-5
ROLE
                                         Public Device – Kiosk
 LAYERS                   standalone device
                          XMPP daemon
                          as personal device
                           remote login mechanism

                                                           fig.3: Kiosk Device




Lehrstuhl Informatik 5
(Information Systems)
                             fig.4: Remote Login
   Prof. Dr. M. Jarke
   I5-FL-0213-6
ROLE
                                                     OAuth & XMPP
 LAYERS                   XEP-0235: OAuth Over XMPP? deferred
                          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.2: OAuth @ Google Talk

                              <auth xmlns="urn:ietf:params:xml:ns:xmpp-sasl"
                                  mechanism="X-MESSENGER-OAUTH2">
                                ACCESS_TOKEN
                              </auth>

                              lst.3: OAuth @ Windows Live Messenger


                            integrate browser-based authentication?
Lehrstuhl Informatik 5
(Information Systems)
   Prof. Dr. M. Jarke
   I5-FL-0213-7
ROLE
                                                   ad hoc Discovery
 LAYERS                     XEP-0174: Serverless Messaging
                              jid=lightsensor@xmpp.org
                              port.p2pj=5562
                              status=avail

                              lst.4: Advertising Presence via mDNS




                                                                     fig.5: mDNS Service Discovery



Lehrstuhl Informatik 5
(Information Systems)               fig.6: ad-hoc Light Switch
   Prof. Dr. M. Jarke
   I5-FL-0213-8
ROLE
                                                   Session Transfer
 LAYERS                     two general approaches
                             – packet logging and replay
                             – application specific bundling
                             <iq from="alice@example.org/mobile“
                                 to="alice@example.org/tablet“
                                 type="get" id="234">
                               <query xmlns="mobilis:iq:sessionmobility#sessiontransfer">
                                 <mechanisms xmlns="mobilis:params:sessiontransfer“>
                                   <mechanism>INBAND-XMPP</mechanism>
                                   <mechanism >FILES </mechanism >
                                   <mechanism>BUNDLE-COMPRESSED-ZIP</mechanism>
                                 </mechanisms>
                               </query>
                             </iq>

                              lst.5: Offering Session Transfer Mechanisms

Lehrstuhl Informatik 5
(Information Systems)
   Prof. Dr. M. Jarke
   I5-FL-0213-9
ROLE
                                    Session Split / Synchronizing
 LAYERS                    packet sent to bare JID: delivery depends on server
                            implementation…
                           XEP-0280: Message Carbons experimental
                               – forwarding in- and outbond messages to other resources
                         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/garden
Lehrstuhl Informatik 5
(Information Systems)
   Prof. Dr. M. Jarke
  I5-FL-0213-10
ROLE
                                          Packet Filtering
 LAYERS                   intelligent packet routing
                          defined by endpoint



                                                            fig.7: communication footprint of a LBG

                            XEP-0273: Stanza Interception and Filtering
                             Technology (SIFT) deferred
                             – Stanza
                             – Sender/Recipient
                             – Payload
Lehrstuhl Informatik 5
(Information Systems)
   Prof. Dr. M. Jarke
  I5-FL-0213-11
ROLE
                                                Conclusion
 LAYERS                     Problems
                             – extension implementation & deferrals & experimentals
                             – OAuth
                            ad-hoc
                             – session transfer over local link
                             – towards IoT
                            state transfer using publish-subscribe
                             – as a more general approach
                            more evaluation needed…
Lehrstuhl Informatik 5
(Information Systems)
   Prof. Dr. M. Jarke
  I5-FL-0213-12
ROLE
                                        XMPP @ our chair
 LAYERS                     ROLE project
                             – Interwidget Communication with XMPP (see DevRoom
                               talk last year…)
                             – XMPP over Websockets (not BOSH)


                            Teaching: Web Science lecture

                            Bachelor & Master theses…

Lehrstuhl Informatik 5
(Information Systems)
   Prof. Dr. M. Jarke
  I5-FL-0213-13
                            new projects
ROLE
                                    Mobilis Framework
 LAYERS




                         …for more information please check:
Lehrstuhl Informatik 5
(Information Systems)    http://mobilis.inf.tu-dresden.de
   Prof. Dr. M. Jarke
  I5-FL-0213-14
ROLE
                                                 Thank you!
 LAYERS                     Contact me:
                             xmpp://koren@role.dbis.rwth-aachen.de
                             koren@dbis.rwth-aachen.de
                             http://www.istvank.eu


                            Check out ROLE SDK of RWTH
                             http://sourceforge.net/projects/role-project


                            Check out the Mobilis framework of TU Dresden
Lehrstuhl Informatik 5
(Information Systems)
   Prof. Dr. M. Jarke
  I5-FL-0213-15
                             https://github.com/danielschuster/mobilis
ROLE
                         Crazy Stuff with XMPP (or webinos)
 LAYERS




Lehrstuhl Informatik 5
(Information Systems)
   Prof. Dr. M. Jarke
  I5-FL-0213-16
ROLE
                                                  References
 LAYERS
                         http://tools.ietf.org/html/rfc5631
                         https://developers.google.com/talk/jep_extensions/oauth
                         http://msdn.microsoft.com/library/live/hh826554

                         http://xmpp.org/extensions/xep-0235.html
                         http://xmpp.org/extensions/xep-0174.html
                         http://xmpp.org/extensions/xep-0280.html
                         http://xmpp.org/extensions/xep-0273.html




Lehrstuhl Informatik 5
(Information Systems)
   Prof. Dr. M. Jarke
  I5-FL-0213-17
ROLE
                         fin
 LAYERS




Lehrstuhl Informatik 5
(Information Systems)
   Prof. Dr. M. Jarke
  I5-FL-0213-18

More Related Content

More from IstvanKoren

Unpacking the Layers Box
Unpacking the Layers BoxUnpacking the Layers Box
Unpacking the Layers BoxIstvanKoren
 
Layers box agder docker
Layers box agder dockerLayers box agder docker
Layers box agder dockerIstvanKoren
 
Requirements Bazaar powered by AngularJS and Polymer - Talk at Google Develop...
Requirements Bazaar powered by AngularJS and Polymer - Talk at Google Develop...Requirements Bazaar powered by AngularJS and Polymer - Talk at Google Develop...
Requirements Bazaar powered by AngularJS and Polymer - Talk at Google Develop...IstvanKoren
 
Requirements Bazaar FOSDEM 2015 Lightning Talk
Requirements Bazaar FOSDEM 2015 Lightning TalkRequirements Bazaar FOSDEM 2015 Lightning Talk
Requirements Bazaar FOSDEM 2015 Lightning TalkIstvanKoren
 
DireWolf Goes Pack Hunting: A Peer-to-Peer Approach for Secure Low Latency Wi...
DireWolf Goes Pack Hunting: A Peer-to-Peer Approach for Secure Low Latency Wi...DireWolf Goes Pack Hunting: A Peer-to-Peer Approach for Secure Low Latency Wi...
DireWolf Goes Pack Hunting: A Peer-to-Peer Approach for Secure Low Latency Wi...IstvanKoren
 
Shared Editing on the Web: A Classification of Developer Support Frameworks
Shared Editing on the Web: A Classification of Developer Support FrameworksShared Editing on the Web: A Classification of Developer Support Frameworks
Shared Editing on the Web: A Classification of Developer Support FrameworksIstvanKoren
 
Informatik-Kolloquium XMPP
Informatik-Kolloquium XMPPInformatik-Kolloquium XMPP
Informatik-Kolloquium XMPPIstvanKoren
 

More from IstvanKoren (7)

Unpacking the Layers Box
Unpacking the Layers BoxUnpacking the Layers Box
Unpacking the Layers Box
 
Layers box agder docker
Layers box agder dockerLayers box agder docker
Layers box agder docker
 
Requirements Bazaar powered by AngularJS and Polymer - Talk at Google Develop...
Requirements Bazaar powered by AngularJS and Polymer - Talk at Google Develop...Requirements Bazaar powered by AngularJS and Polymer - Talk at Google Develop...
Requirements Bazaar powered by AngularJS and Polymer - Talk at Google Develop...
 
Requirements Bazaar FOSDEM 2015 Lightning Talk
Requirements Bazaar FOSDEM 2015 Lightning TalkRequirements Bazaar FOSDEM 2015 Lightning Talk
Requirements Bazaar FOSDEM 2015 Lightning Talk
 
DireWolf Goes Pack Hunting: A Peer-to-Peer Approach for Secure Low Latency Wi...
DireWolf Goes Pack Hunting: A Peer-to-Peer Approach for Secure Low Latency Wi...DireWolf Goes Pack Hunting: A Peer-to-Peer Approach for Secure Low Latency Wi...
DireWolf Goes Pack Hunting: A Peer-to-Peer Approach for Secure Low Latency Wi...
 
Shared Editing on the Web: A Classification of Developer Support Frameworks
Shared Editing on the Web: A Classification of Developer Support FrameworksShared Editing on the Web: A Classification of Developer Support Frameworks
Shared Editing on the Web: A Classification of Developer Support Frameworks
 
Informatik-Kolloquium XMPP
Informatik-Kolloquium XMPPInformatik-Kolloquium XMPP
Informatik-Kolloquium XMPP
 

FOSDEM: Session Mobiliy using XMPP

  • 1. ROLE LAYERS Session Mobility using XMPP FOSDEM 2013 – XMPP DevRoom, 2012-02-02 István Koren RWTH Aachen University Advanced Community Information Systems (ACIS) Lehrstuhl Informatik 5 koren@dbis.rwth-aachen.de (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. ROLE Session Mobility? LAYERS  Refers to… – IP mobility protocols – multimedia session mobility – application migration  SIP – REFER fig.1: SIP REFER – RFC 5631  this talk is about Session Mobility for Lehrstuhl Informatik 5 (Information Systems) Prof. Dr. M. Jarke Collaborative Pervasive Apps! I5-FL-0213-2
  • 3. ROLE Session Mobility! LAYERS  Session Transfer  Session Split Lehrstuhl Informatik 5 (Information Systems) Prof. Dr. M. Jarke I5-FL-0213-3
  • 4. ROLE Session Mobility in the wild… LAYERS fig.1: Deep Shot © Google Lehrstuhl Informatik 5 (Information Systems) fig.2: Cisco WebEx © Cisco Prof. Dr. M. Jarke I5-FL-0213-4
  • 5. ROLE Device Discovery Personal Device <!-- Out --> LAYERS  <iq from="alice@mobilis.inf.tu-dresden.de/desktop" to="alice@mobilis.inf.tu-dresden.de" type="get" id="1"> <query xmlns="http://jabber.org/protocol/disco#items"> </query> </iq> <!-- In --> Resources! <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> lst.1: Querying own resources  QR codes, NFC Lehrstuhl Informatik 5 (Information Systems) Prof. Dr. M. Jarke I5-FL-0213-5
  • 6. ROLE Public Device – Kiosk LAYERS  standalone device  XMPP daemon  as personal device  remote login mechanism fig.3: Kiosk Device Lehrstuhl Informatik 5 (Information Systems) fig.4: Remote Login Prof. Dr. M. Jarke I5-FL-0213-6
  • 7. ROLE OAuth & XMPP LAYERS  XEP-0235: OAuth Over XMPP? deferred  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.2: OAuth @ Google Talk <auth xmlns="urn:ietf:params:xml:ns:xmpp-sasl" mechanism="X-MESSENGER-OAUTH2"> ACCESS_TOKEN </auth> lst.3: OAuth @ Windows Live Messenger  integrate browser-based authentication? Lehrstuhl Informatik 5 (Information Systems) Prof. Dr. M. Jarke I5-FL-0213-7
  • 8. ROLE ad hoc Discovery LAYERS  XEP-0174: Serverless Messaging jid=lightsensor@xmpp.org port.p2pj=5562 status=avail lst.4: Advertising Presence via mDNS fig.5: mDNS Service Discovery Lehrstuhl Informatik 5 (Information Systems) fig.6: ad-hoc Light Switch Prof. Dr. M. Jarke I5-FL-0213-8
  • 9. ROLE Session Transfer LAYERS  two general approaches – packet logging and replay – application specific bundling <iq from="alice@example.org/mobile“ to="alice@example.org/tablet“ type="get" id="234"> <query xmlns="mobilis:iq:sessionmobility#sessiontransfer"> <mechanisms xmlns="mobilis:params:sessiontransfer“> <mechanism>INBAND-XMPP</mechanism> <mechanism >FILES </mechanism > <mechanism>BUNDLE-COMPRESSED-ZIP</mechanism> </mechanisms> </query> </iq> lst.5: Offering Session Transfer Mechanisms Lehrstuhl Informatik 5 (Information Systems) Prof. Dr. M. Jarke I5-FL-0213-9
  • 10. ROLE Session Split / Synchronizing LAYERS  packet sent to bare JID: delivery depends on server implementation…  XEP-0280: Message Carbons experimental – forwarding in- and outbond messages to other resources 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/garden Lehrstuhl Informatik 5 (Information Systems) Prof. Dr. M. Jarke I5-FL-0213-10
  • 11. ROLE Packet Filtering LAYERS  intelligent packet routing  defined by endpoint fig.7: communication footprint of a LBG  XEP-0273: Stanza Interception and Filtering Technology (SIFT) deferred – Stanza – Sender/Recipient – Payload Lehrstuhl Informatik 5 (Information Systems) Prof. Dr. M. Jarke I5-FL-0213-11
  • 12. ROLE Conclusion LAYERS  Problems – extension implementation & deferrals & experimentals – OAuth  ad-hoc – session transfer over local link – towards IoT  state transfer using publish-subscribe – as a more general approach  more evaluation needed… Lehrstuhl Informatik 5 (Information Systems) Prof. Dr. M. Jarke I5-FL-0213-12
  • 13. ROLE XMPP @ our chair LAYERS  ROLE project – Interwidget Communication with XMPP (see DevRoom talk last year…) – XMPP over Websockets (not BOSH)  Teaching: Web Science lecture  Bachelor & Master theses… Lehrstuhl Informatik 5 (Information Systems) Prof. Dr. M. Jarke I5-FL-0213-13  new projects
  • 14. ROLE Mobilis Framework LAYERS …for more information please check: Lehrstuhl Informatik 5 (Information Systems) http://mobilis.inf.tu-dresden.de Prof. Dr. M. Jarke I5-FL-0213-14
  • 15. ROLE Thank you! LAYERS  Contact me: xmpp://koren@role.dbis.rwth-aachen.de koren@dbis.rwth-aachen.de http://www.istvank.eu  Check out ROLE SDK of RWTH http://sourceforge.net/projects/role-project  Check out the Mobilis framework of TU Dresden Lehrstuhl Informatik 5 (Information Systems) Prof. Dr. M. Jarke I5-FL-0213-15 https://github.com/danielschuster/mobilis
  • 16. ROLE Crazy Stuff with XMPP (or webinos) LAYERS Lehrstuhl Informatik 5 (Information Systems) Prof. Dr. M. Jarke I5-FL-0213-16
  • 17. ROLE References LAYERS http://tools.ietf.org/html/rfc5631 https://developers.google.com/talk/jep_extensions/oauth http://msdn.microsoft.com/library/live/hh826554 http://xmpp.org/extensions/xep-0235.html http://xmpp.org/extensions/xep-0174.html http://xmpp.org/extensions/xep-0280.html http://xmpp.org/extensions/xep-0273.html Lehrstuhl Informatik 5 (Information Systems) Prof. Dr. M. Jarke I5-FL-0213-17
  • 18. ROLE fin LAYERS Lehrstuhl Informatik 5 (Information Systems) Prof. Dr. M. Jarke I5-FL-0213-18