20
Lehrstuhl Informatik 5 (Information Systems) Prof. Dr. M. Jarke I5-FL-0213-1 LAYERS MOBILIS This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License . Session Mobility for Pervasive Collaborative Apps using XMPP PerCol 2013, San Diego - 2013-03-18 István Koren, RWTH Aachen University, ACIS Group [email protected] Daniel Schuster & Thomas Springer, TU Dresden, Computer Networks {daniel.schuster | thomas.springer}@tu-dresden.de

Session Mobility for Pervasive Collaborative Apps using XMPP

Embed Size (px)

Citation preview

Page 1: Session Mobility for Pervasive Collaborative Apps using XMPP

Lehrstuhl Informatik 5

(Information Systems)

Prof. Dr. M. Jarke

I5-FL-0213-1

LAYERS

MOBILIS

This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.

Session Mobility for Pervasive

Collaborative Apps using XMPP

PerCol 2013, San Diego - 2013-03-18

István Koren, RWTH Aachen University, ACIS Group

[email protected]

Daniel Schuster & Thomas Springer, TU Dresden, Computer Networks

{daniel.schuster | thomas.springer}@tu-dresden.de

Page 2: Session Mobility for Pervasive Collaborative Apps using XMPP

Lehrstuhl Informatik 5

(Information Systems)

Prof. Dr. M. Jarke

I5-FL-0213-2

LAYERS

MOBILIS

Responsive Open

Community Information

Systems

Community Visualization

and Simulation

Community Analytics

Community Support

Web

An

alytics

Web

En

gin

eeri

ng

{Advanced | ATLAS | Awesome | Aachen}

Community Information Systems (ACIS)

Requirements

Engineering

Page 3: Session Mobility for Pervasive Collaborative Apps using XMPP

Lehrstuhl Informatik 5

(Information Systems)

Prof. Dr. M. Jarke

I5-FL-0213-3

LAYERS

MOBILIS

Session Mobility?

Refers to…

– IP mobility protocols

– multimedia session mobility

– application migration

Examples

– Card Game on a TV

– Collaborative Editing

our work is about Session Mobility for

Collaborative Pervasive Apps!

fig.1: Cisco WebEx

Page 4: Session Mobility for Pervasive Collaborative Apps using XMPP

Lehrstuhl Informatik 5

(Information Systems)

Prof. Dr. M. Jarke

I5-FL-0213-4

LAYERS

MOBILIS

Related Works

Plain SIP: session handoff and call

transfer (INVITE, REFER, …)

Multi-Device Manager

(Stähle et al.)

RFC 5631:

SIP Session Mobility

fig.2: SIP REFER

fig.3: Multi-Device System

Page 5: Session Mobility for Pervasive Collaborative Apps using XMPP

Lehrstuhl Informatik 5

(Information Systems)

Prof. Dr. M. Jarke

I5-FL-0213-5

LAYERS

MOBILIS

Requirements

Session Transfer

Session Split

Device Discovery

Packet Filtering

fig.4: Session Transfer

fig.5: Session Split

Page 6: Session Mobility for Pervasive Collaborative Apps using XMPP

Lehrstuhl Informatik 5

(Information Systems)

Prof. Dr. M. Jarke

I5-FL-0213-6

LAYERS

MOBILIS

Why XMPP?

Standard based solution

Real-time XML based message exchange

Supports multiple sessions per user

[email protected]/tablet

Various Extension Protocols (XEPs)

– Multi-User Chat, Pub Sub, File Transfer

Library availability!

– Smack, Strophe etc.

Page 7: Session Mobility for Pervasive Collaborative Apps using XMPP

Lehrstuhl Informatik 5

(Information Systems)

Prof. Dr. M. Jarke

I5-FL-0213-7

LAYERS

MOBILIS

Device Discovery

① Personal Device

– Instant Messaging on tablet + phone

② Public Device (Kiosk Mode)

– using a large public display at a metro station

③ Ad-Hoc

– including presentation hardware in meeting rooms

Device Discovery

Session Transfer

Session Split

Packet Filtering

fig.6: Session Split

Page 8: Session Mobility for Pervasive Collaborative Apps using XMPP

Lehrstuhl Informatik 5

(Information Systems)

Prof. Dr. M. Jarke

I5-FL-0213-8

LAYERS

MOBILIS

(1) Personal Device Discovery

via QR codes, NFC

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

Device Discovery

Session Transfer

Session Split

Packet Filtering

Page 9: Session Mobility for Pervasive Collaborative Apps using XMPP

Lehrstuhl Informatik 5

(Information Systems)

Prof. Dr. M. Jarke

I5-FL-0213-9

LAYERS

MOBILIS

(2) Public Device Discovery

standalone device

XMPP daemon

using as personal device

remote login mechanism

fig.7: Kiosk Device QR discovery

fig.8: Remote Login

Device Discovery

Session Transfer

Session Split

Packet Filtering

Page 10: Session Mobility for Pervasive Collaborative Apps using XMPP

Lehrstuhl Informatik 5

(Information Systems)

Prof. Dr. M. Jarke

I5-FL-0213-10

LAYERS

MOBILIS

(3) Ad-Hoc Discovery

XEP-0174: Serverless Messaging

– over Multicast DNS – TXT [email protected]

port.p2pj=5562

status=avail

lst.2: Advertising Presence via mDNS

fig.9: mDNS Service Discovery

fig.10: ad-hoc Light Switch

Device Discovery

Session Transfer

Session Split

Packet Filtering

Page 11: Session Mobility for Pervasive Collaborative Apps using XMPP

Lehrstuhl Informatik 5

(Information Systems)

Prof. Dr. M. Jarke

I5-FL-0213-11

LAYERS

MOBILIS

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.3: Offering Session Transfer Mechanisms

Device Discovery

Session Transfer

Session Split

Packet Filtering

Page 12: Session Mobility for Pervasive Collaborative Apps using XMPP

Lehrstuhl Informatik 5

(Information Systems)

Prof. Dr. M. Jarke

I5-FL-0213-12

LAYERS

MOBILIS

Session Split

packet sent to bare JID: delivery depends on server

configuration

as fallback, we support client-based message

forwarding

calls for another requirement: Packet Filtering

Device Discovery

Session Transfer

Session Split

Packet Filtering

Page 13: Session Mobility for Pervasive Collaborative Apps using XMPP

Lehrstuhl Informatik 5

(Information Systems)

Prof. Dr. M. Jarke

I5-FL-0213-13

LAYERS

MOBILIS

Packet Filtering

intelligent packet routing

defined by endpoint

XEP-0273: Stanza Interception and Filtering

Technology (SIFT)

– Stanza (Message, IQ or Presence)

– Sender/Recipient

– Payload

fig.11: communication footprint of a LBG

Device Discovery

Session Transfer

Session Split

Packet Filtering

Page 14: Session Mobility for Pervasive Collaborative Apps using XMPP

Lehrstuhl Informatik 5

(Information Systems)

Prof. Dr. M. Jarke

I5-FL-0213-14

LAYERS

MOBILIS

Mobilis Framework

Page 15: Session Mobility for Pervasive Collaborative Apps using XMPP

Lehrstuhl Informatik 5

(Information Systems)

Prof. Dr. M. Jarke

I5-FL-0213-15

LAYERS

MOBILIS

Conclusion

QR based discovery appreciated

Ad-Hoc

– session transfer over local link

– towards IoT

Problems

– extension implementation & deferrals & experimentals

state transfer using publish-subscribe

– as a more general approach

Page 16: Session Mobility for Pervasive Collaborative Apps using XMPP

Lehrstuhl Informatik 5

(Information Systems)

Prof. Dr. M. Jarke

I5-FL-0213-16

LAYERS

MOBILIS

Current Tasks & Plans

integrate HTML5 technologies

– XMPP over WebSocket

– WebRTC

use XEP-0280: Message Carbons for Session Split

commit an OAuth extension to the XMPP community

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 17: Session Mobility for Pervasive Collaborative Apps using XMPP

Lehrstuhl Informatik 5

(Information Systems)

Prof. Dr. M. Jarke

I5-FL-0213-17

LAYERS

MOBILIS

OAuth for Remote Login within XMPP

XEP-0235: OAuth Over XMPP – not the right scope

the Google Talk & Windows Live Messenger way…

they integrate browser-based authentication

1) https://developers.google.com/talk/jep_extensions/oauth

2) http://msdn.microsoft.com/library/live/hh826554

<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.4: Google Talk OAuth1

lst.5: Windows Live Messenger OAuth2

Page 18: Session Mobility for Pervasive Collaborative Apps using XMPP

Lehrstuhl Informatik 5

(Information Systems)

Prof. Dr. M. Jarke

I5-FL-0213-18

LAYERS

MOBILIS

Thank you!

Contacts:

xmpp://[email protected]

[email protected]

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

Integrated Project (grant agreement no 318209) of the European Union.

Page 19: Session Mobility for Pervasive Collaborative Apps using XMPP

Lehrstuhl Informatik 5

(Information Systems)

Prof. Dr. M. Jarke

I5-FL-0213-19

LAYERS

MOBILIS

References

[] R. Shacham, H. Schulzrinne, S. Thakolsri, and W. Kellerer, “Session initiation protocol

(SIP) session mobility,” RFC 5631, IETF, 2009.

[] 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.

Page 20: Session Mobility for Pervasive Collaborative Apps using XMPP

Lehrstuhl Informatik 5

(Information Systems)

Prof. Dr. M. Jarke

I5-FL-0213-20

LAYERS

MOBILIS

fin