18
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) [email protected]

FOSDEM: Session Mobiliy using XMPP

Embed Size (px)

DESCRIPTION

Slides for my talk at FOSDEM 2013 in the XMPP DevRoom.

Citation preview

Page 1: FOSDEM: Session Mobiliy using XMPP

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)

[email protected]

Page 2: FOSDEM: Session Mobiliy using XMPP

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

Page 3: FOSDEM: Session Mobiliy using XMPP

Lehrstuhl Informatik 5

(Information Systems)

Prof. Dr. M. Jarke

I5-FL-0213-3

LAYERS

ROLE

Session Mobility!

Session Transfer

Session Split

Page 4: FOSDEM: Session Mobiliy using XMPP

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

Page 5: FOSDEM: Session Mobiliy using XMPP

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

Page 6: FOSDEM: Session Mobiliy using XMPP

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

Page 7: FOSDEM: Session Mobiliy using XMPP

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

Page 8: FOSDEM: Session Mobiliy using XMPP

Lehrstuhl Informatik 5

(Information Systems)

Prof. Dr. M. Jarke

I5-FL-0213-8

LAYERS

ROLE

ad hoc Discovery

XEP-0174: Serverless Messaging

[email protected]

port.p2pj=5562

status=avail

lst.4: Advertising Presence via mDNS

fig.5: mDNS Service Discovery

fig.6: ad-hoc Light Switch

Page 9: FOSDEM: Session Mobiliy using XMPP

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

Page 10: FOSDEM: Session Mobiliy using XMPP

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

Page 11: FOSDEM: Session Mobiliy using XMPP

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

Page 12: FOSDEM: Session Mobiliy using XMPP

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…

Page 13: FOSDEM: Session Mobiliy using XMPP

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

Page 14: FOSDEM: Session Mobiliy using XMPP

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

Page 15: FOSDEM: Session Mobiliy using XMPP

Lehrstuhl Informatik 5

(Information Systems)

Prof. Dr. M. Jarke

I5-FL-0213-15

LAYERS

ROLE

Thank you!

Contact me:

xmpp://[email protected]

[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

Page 16: FOSDEM: Session Mobiliy using XMPP

Lehrstuhl Informatik 5

(Information Systems)

Prof. Dr. M. Jarke

I5-FL-0213-16

LAYERS

ROLE

Crazy Stuff with XMPP (or webinos)

Page 17: FOSDEM: Session Mobiliy using XMPP

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

Page 18: FOSDEM: Session Mobiliy using XMPP

Lehrstuhl Informatik 5

(Information Systems)

Prof. Dr. M. Jarke

I5-FL-0213-18

LAYERS

ROLE

fin