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