Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke
I5-FL-0213-1
LAYERS
ROLE
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
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
(Information Systems)
Prof. Dr. M. Jarke
I5-FL-0213-2
LAYERS
ROLE
Session Mobility?
Refers to…
– IP mobility protocols
– multimedia session mobility
– application migration
SIP
– REFER
– RFC 5631
this talk is about Session Mobility for
Collaborative Pervasive Apps!
fig.1: SIP REFER
Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke
I5-FL-0213-3
LAYERS
ROLE
Session Mobility!
Session Transfer
Session Split
Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke
I5-FL-0213-4
LAYERS
ROLE
Session Mobility in the wild…
fig.1: Deep Shot © Google
fig.2: Cisco WebEx © Cisco
Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke
I5-FL-0213-5
LAYERS
ROLE
Device Discovery
Personal Device
Resources!
QR codes, NFC
<!-- Out -->
<iq from="[email protected]/desktop"
to="[email protected]" type="get" id="1">
<query xmlns="http://jabber.org/protocol/disco#items">
</query>
</iq>
<!-- In -->
<iq type="result" from="[email protected]"
to="[email protected]/desktop" id="123">
<query xmlns="http://jabber.org/protocol/disco#items">
<item jid="[email protected]/desktop"/>
<item jid="[email protected]/phone"/>
<item jid="[email protected]/tablet"/>
</query>
</iq>
lst.1: Querying own resources
Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke
I5-FL-0213-6
LAYERS
ROLE
Public Device – Kiosk
standalone device
XMPP daemon
as personal device
remote login mechanism
fig.3: Kiosk Device
fig.4: Remote Login
Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke
I5-FL-0213-7
LAYERS
ROLE
OAuth & XMPP
XEP-0235: OAuth Over XMPP? deferred
the Google Talk & Windows Live Messenger way…
integrate browser-based authentication?
<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>
<auth xmlns="urn:ietf:params:xml:ns:xmpp-sasl"
mechanism="X-MESSENGER-OAUTH2">
ACCESS_TOKEN
</auth>
lst.2: OAuth @ Google Talk
lst.3: OAuth @ Windows Live Messenger
Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke
I5-FL-0213-8
LAYERS
ROLE
ad hoc Discovery
XEP-0174: Serverless Messaging
port.p2pj=5562
status=avail
lst.4: Advertising Presence via mDNS
fig.5: mDNS Service Discovery
fig.6: ad-hoc Light Switch
Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke
I5-FL-0213-9
LAYERS
ROLE
Session Transfer
two general approaches
– packet logging and replay
– application specific bundling
<iq from="[email protected]/mobile“
to="[email protected]/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-10
LAYERS
ROLE
Session Split / Synchronizing
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:
Juliet sends Message to [email protected]:
Message is forked and sent to:
[email protected]/home
[email protected]/garden
Case B:
Juliet sends Message to [email protected]/home:
Message is sent to:
[email protected]/home
…and forwarded to:
[email protected]/garden
Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke
I5-FL-0213-11
LAYERS
ROLE
Packet Filtering
intelligent packet routing
defined by endpoint
XEP-0273: Stanza Interception and Filtering
Technology (SIFT) deferred
– Stanza
– Sender/Recipient
– Payload
fig.7: communication footprint of a LBG
Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke
I5-FL-0213-12
LAYERS
ROLE
Conclusion
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-13
LAYERS
ROLE
XMPP @ our chair
ROLE project
– Interwidget Communication with XMPP (see DevRoom
talk last year…)
– XMPP over Websockets (not BOSH)
Teaching: Web Science lecture
Bachelor & Master theses…
new projects
Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke
I5-FL-0213-14
LAYERS
ROLE
Mobilis Framework
…for more information please check:
http://mobilis.inf.tu-dresden.de
Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke
I5-FL-0213-15
LAYERS
ROLE
Thank you!
Contact me:
xmpp://[email protected]
http://www.istvank.eu
Check out ROLE SDK of RWTH
http://sourceforge.net/projects/role-project
Check out the Mobilis framework of TU Dresden
https://github.com/danielschuster/mobilis
Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke
I5-FL-0213-16
LAYERS
ROLE
Crazy Stuff with XMPP (or webinos)
Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke
I5-FL-0213-17
LAYERS
ROLE
References
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-18
LAYERS
ROLE
fin
Top Related