SlideShare a Scribd company logo
1 of 20
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.de
Lehrstuhl 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.
{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        Analytics




Lehrstuhl Informatik 5
                                                  Requirements
(Information Systems)
   Prof. Dr. M. Jarke
   I5-FL-0213-2
                                                   Engineering
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 for
Lehrstuhl Informatik 5
(Information Systems)
   Prof. Dr. M. Jarke
                             Collaborative Pervasive Apps!
   I5-FL-0213-3
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 Mobility

Lehrstuhl Informatik 5
(Information Systems)
   Prof. Dr. M. Jarke                                              fig.3: Multi-Device System
   I5-FL-0213-4
LAYERS                                      Requirements
                            Session Transfer
 MOBILIS



                                                    fig.4: Session Transfer
                            Session Split



                                                   fig.5: Session Split
                          Device Discovery
Lehrstuhl Informatik 5
(Information Systems)
   Prof. Dr. M. Jarke
                          Packet Filtering
   I5-FL-0213-5
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
LAYERS                                    Device Discovery

                          ①   Personal Device
  MOBILIS
                              – Instant Messaging on tablet + phone
Device Discovery
                                                                             fig.6: Session Split
Session Transfer          ②   Public Device (Kiosk Mode)
Session Split

Packet 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
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
LAYERS                          (2) Public Device Discovery
                           standalone device
  MOBILIS                  XMPP daemon

Device Discovery
                           using as personal device
Session Transfer
                            remote login mechanism
Session Split

Packet Filtering


                                                       fig.7: Kiosk Device QR discovery




 Lehrstuhl Informatik 5
 (Information Systems)
                              fig.8: Remote Login
    Prof. Dr. M. Jarke
    I5-FL-0213-9
LAYERS                                       (3) Ad-Hoc Discovery
                             XEP-0174: Serverless Messaging
  MOBILIS                     – over Multicast DNS – TXT Records
                               jid=lightsensor@xmpp.org
                               port.p2pj=5562
                               status=avail
Device Discovery

Session Transfer
                               lst.2: Advertising Presence via mDNS

Session Split

Packet 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
LAYERS                                             Session Transfer
                             two general approaches
  MOBILIS                     – packet logging and replay
                              – application specific bundling
Device Discovery

Session 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
LAYERS                                      Session Split

                             packet sent to bare JID: delivery depends on server
  MOBILIS
                              configuration
Device Discovery

Session Transfer             as fallback, we support client-based message
Session Split

Packet Filtering
                              forwarding
                             calls for another requirement: Packet Filtering


 Lehrstuhl Informatik 5
 (Information Systems)
    Prof. Dr. M. Jarke
   I5-FL-0213-12
LAYERS                                   Packet Filtering
                           intelligent packet routing
  MOBILIS                  defined by endpoint

Device Discovery

Session Transfer

Session Split
                                                               fig.11: communication footprint of a LBG
Packet 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
LAYERS                  Mobilis Framework


 MOBILIS




Lehrstuhl Informatik 5
(Information Systems)
   Prof. Dr. M. Jarke
  I5-FL-0213-14
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 approach

Lehrstuhl Informatik 5
(Information Systems)
   Prof. Dr. M. Jarke
  I5-FL-0213-15
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/garden

Lehrstuhl Informatik 5
(Information Systems)
                             commit an OAuth extension to the XMPP community
   Prof. Dr. M. Jarke
  I5-FL-0213-16
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 authentication
Lehrstuhl 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
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 ICT
Lehrstuhl Informatik 5
(Information Systems)        Integrated Project (grant agreement no 318209) of the European Union.
   Prof. Dr. M. Jarke
  I5-FL-0213-18
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
LAYERS                  fin

 MOBILIS




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

More Related Content

More from IstvanKoren

DevOps Gamification Workshop at JTEL Summer School 2015
DevOps Gamification Workshop at JTEL Summer School 2015DevOps Gamification Workshop at JTEL Summer School 2015
DevOps Gamification Workshop at JTEL Summer School 2015IstvanKoren
 
Smart Ambient Learning with Physical Artifacts Using Wearable Technologies - ...
Smart Ambient Learning with Physical Artifacts Using Wearable Technologies - ...Smart Ambient Learning with Physical Artifacts Using Wearable Technologies - ...
Smart Ambient Learning with Physical Artifacts Using Wearable Technologies - ...IstvanKoren
 
Requirements Bazaar - Meet your Users on the Web
Requirements Bazaar - Meet your Users on the WebRequirements Bazaar - Meet your Users on the Web
Requirements Bazaar - Meet your Users on the WebIstvanKoren
 
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 (10)

DevOps Gamification Workshop at JTEL Summer School 2015
DevOps Gamification Workshop at JTEL Summer School 2015DevOps Gamification Workshop at JTEL Summer School 2015
DevOps Gamification Workshop at JTEL Summer School 2015
 
Smart Ambient Learning with Physical Artifacts Using Wearable Technologies - ...
Smart Ambient Learning with Physical Artifacts Using Wearable Technologies - ...Smart Ambient Learning with Physical Artifacts Using Wearable Technologies - ...
Smart Ambient Learning with Physical Artifacts Using Wearable Technologies - ...
 
Requirements Bazaar - Meet your Users on the Web
Requirements Bazaar - Meet your Users on the WebRequirements Bazaar - Meet your Users on the Web
Requirements Bazaar - Meet your Users on the Web
 
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
 

Recently uploaded

Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 

Recently uploaded (20)

Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 

Session Mobility for Pervasive Collaborative Apps using XMPP

  • 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.de Lehrstuhl 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. {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 Analytics Lehrstuhl Informatik 5 Requirements (Information Systems) Prof. Dr. M. Jarke I5-FL-0213-2 Engineering
  • 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 for Lehrstuhl Informatik 5 (Information Systems) Prof. Dr. M. Jarke Collaborative Pervasive Apps! I5-FL-0213-3
  • 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 Mobility Lehrstuhl Informatik 5 (Information Systems) Prof. Dr. M. Jarke fig.3: Multi-Device System I5-FL-0213-4
  • 5. LAYERS Requirements  Session Transfer MOBILIS fig.4: Session Transfer  Session Split fig.5: Session Split  Device Discovery Lehrstuhl Informatik 5 (Information Systems) Prof. Dr. M. Jarke  Packet Filtering I5-FL-0213-5
  • 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. LAYERS Device Discovery ① Personal Device MOBILIS – Instant Messaging on tablet + phone Device Discovery fig.6: Session Split Session Transfer ② Public Device (Kiosk Mode) Session Split Packet 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. 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. LAYERS (2) Public Device Discovery  standalone device MOBILIS  XMPP daemon Device Discovery  using as personal device Session Transfer  remote login mechanism Session Split Packet 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. LAYERS (3) Ad-Hoc Discovery  XEP-0174: Serverless Messaging MOBILIS – over Multicast DNS – TXT Records jid=lightsensor@xmpp.org port.p2pj=5562 status=avail Device Discovery Session Transfer lst.2: Advertising Presence via mDNS Session Split Packet 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. LAYERS Session Transfer  two general approaches MOBILIS – packet logging and replay – application specific bundling Device Discovery Session 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. LAYERS Session Split  packet sent to bare JID: delivery depends on server MOBILIS configuration Device Discovery Session Transfer  as fallback, we support client-based message Session Split Packet Filtering forwarding  calls for another requirement: Packet Filtering Lehrstuhl Informatik 5 (Information Systems) Prof. Dr. M. Jarke I5-FL-0213-12
  • 13. LAYERS Packet Filtering  intelligent packet routing MOBILIS  defined by endpoint Device Discovery Session Transfer Session Split fig.11: communication footprint of a LBG Packet 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. LAYERS Mobilis Framework MOBILIS Lehrstuhl Informatik 5 (Information Systems) Prof. Dr. M. Jarke I5-FL-0213-14
  • 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 approach Lehrstuhl Informatik 5 (Information Systems) Prof. Dr. M. Jarke I5-FL-0213-15
  • 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/garden Lehrstuhl Informatik 5 (Information Systems)  commit an OAuth extension to the XMPP community Prof. Dr. M. Jarke I5-FL-0213-16
  • 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 authentication Lehrstuhl 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. 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 ICT Lehrstuhl Informatik 5 (Information Systems) Integrated Project (grant agreement no 318209) of the European Union. Prof. Dr. M. Jarke I5-FL-0213-18
  • 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. LAYERS fin MOBILIS Lehrstuhl Informatik 5 (Information Systems) Prof. Dr. M. Jarke I5-FL-0213-20