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