“” How much richer would it be if the network... extract more useful 'state' information about the device

advertisement
“” How much richer would it be if the network could
extract more useful 'state' information about the device
and/or user, especially if it is enriched with embedded
sensors... "phone on charge", "user is on a Bluetooth
headset", "battery low", "at location xyz", "moving in a
way that looks like it's on train", "in a darkened room"
and so on.... . “”
Dean Bubley 2008
XMPP - Extensible Real-Time Services
Research Seminar for Dept. Communications and Networking (TKK)
Matti Vesterinen
11.1.2008
Public presentation
2
© Nokia Siemens Networks
XMPP / Matti Vesterinen / 11.1.2008
Note: Slide notes contain more info!
agenda
Protocol basics
History, standardisation
& current implementations
Extensible Messaging and Presence Protocol
Near future
Potential
Other protocols
Q&A
Public presentation
3
© Nokia Siemens Networks
XMPP / Matti Vesterinen / 11.1.2008
XML stream
<stream>
stanza
<presence>
<show/>
</presence>
<message to='foo'>
<body/>
</message>
<iq to='bar'>
<query/>
</iq>
[ ... ]
</stream>
Public presentation
4
© Nokia Siemens Networks
XMPP / Matti Vesterinen / 11.1.2008
open stream
<?xml version='1.0'?>
<stream:stream
from='juliet@example.com'
to='example.com'
version='1.0'
xml:lang='en'
xmlns='jabber:client'
xmlns:stream='http://etherx.jabber.org/streams'>
<?xml version='1.0'?>
<stream:stream
from='example.com'
id='++TR84Sm6A3hnt3Q065SnAbbk3Y='
to='juliet@example.com'
version='1.0'
xml:lang='en'
xmlns='jabber:client'
xmlns:stream='http://etherx.jabber.org/streams'>
Public presentation
5
© Nokia Siemens Networks
XMPP / Matti Vesterinen / 11.1.2008
Client initiates
a stream to server
Server response
[…]
Public presentation
6
© Nokia Siemens Networks
XMPP / Matti Vesterinen / 11.1.2008
close stream
</stream:stream>
Either entity may close the stream
</stream:stream>
Other entity will reply
Public presentation
7
© Nokia Siemens Networks
XMPP / Matti Vesterinen / 11.1.2008
<presence/>
initial presence
Public presentation
8
© Nokia Siemens Networks
XMPP / Matti Vesterinen / 11.1.2008
I’m now available
presence
<presence>
<show>away</show>
</presence>
Client updates presence to away
<presence from='juliet@example.com/balcony'
to='romeo@example.net'>
<show>away</show>
</presence>
Public presentation
9
© Nokia Siemens Networks
XMPP / Matti Vesterinen / 11.1.2008
Contact receives
the update
iq:roster
<iq from='juliet@example.com/balcony'
type='get‘
id='roster_1'>
<query xmlns='jabber:iq:roster'/>
</iq>
Client queries for roster
<iq to='juliet@example.com/balcony‘
type='result'
id='roster_1'>
<query xmlns='jabber:iq:roster'>
<item jid='romeo@example.net‘
name='Romeo'
subscription='both'>
<group>Friends</group>
</item>
<item jid='mercutio@example.org'
name='Mercutio'
subscription='from'/>
</query>
</iq>
Server returns user’s roster
Public presentation
10
© Nokia Siemens Networks
XMPP / Matti Vesterinen / 11.1.2008
<message
from='juliet@example.com/balcony'
to='romeo@example.net'
type='chat'
xml:lang='en'>
<body>How do you do ?</body>
</message>
Public presentation
11
© Nokia Siemens Networks
XMPP / Matti Vesterinen / 11.1.2008
Public presentation
12
© Nokia Siemens Networks
XMPP / Matti Vesterinen / 11.1.2008
Public presentation
13
© Nokia Siemens Networks
XMPP / Matti Vesterinen / 11.1.2008
not just presence & IM
“” There are mission-critical XMPP deployments at most Wall Street banks,
numerous major corporations, high-profile agencies of the U.S.
federal government, and countless universities and small
businesses worldwide. And the percentage of those organizations
participating in the process of standardizing XMPP extensions continues
to grow significantly, including contributions regarding voice and video
integration from Google and on real-time language translation from the
U.S. Department of Defense. “”
Peter Saint-Andre, January 2007
Public presentation
14
© Nokia Siemens Networks
XMPP / Matti Vesterinen / 11.1.2008
Public presentation
15
© Nokia Siemens Networks
XMPP / Matti Vesterinen / 11.1.2008
session vs. session initiation
Public presentation
16
© Nokia Siemens Networks
XMPP / Matti Vesterinen / 11.1.2008
extensibility – scalability
Protocol
XMPP Extension Protocols (XEPs):
publish-subscribe, multi-user chat, chat rooms,
multimedia sessions (Jingle), link-local
messaging, …
Services
Server components
Service discovery
Servers
Clustering a common solution but not part of XMPP
Server components help as well
Public presentation
17
© Nokia Siemens Networks
XMPP / Matti Vesterinen / 11.1.2008
near future potential
real-time protocol for Internet
Public presentation
18
© Nokia Siemens Networks
XMPP / Matti Vesterinen / 11.1.2008
IETF meetings
potential in mobile / Internet
XMPP is a protocol that can deliver what Dean Bubley
descriped in his 2008 prediction (1st slide)
Contextual data fits well with Publish-Subscribe
Android, mobile platform, has XMPP support
Any kind of messages between devices
Part of Google APIs and services (fixed to Google)
Public presentation
19
© Nokia Siemens Networks
XMPP / Matti Vesterinen / 11.1.2008
enablers
Open, standard protocol
Code libraries for your favorite language
Open source projects
Clients
Servers
Server components
Code libraries
Security
TLS, SASL, SPIM prevention, TCP stream, etc.
Public presentation
20
© Nokia Siemens Networks
XMPP / Matti Vesterinen / 11.1.2008
other protocols
SIP/SIMPLE
Voice drives SIP development
Implementation getting difficult due to enormous number
of specifications
Bandwidth inefficient
NATs and firewall troubles (UDP, message based)
Proxy functionality (does not exist in XMPP)
Proprietary protocols
Fast development for specific needs
Need gateways to interconnect
One initial idea behind XMPP was to offer transparent
comunication to other IM systems
Public presentation
21
© Nokia Siemens Networks
XMPP / Matti Vesterinen / 11.1.2008
conclusions
Open and standard protocol
Strong commitment to interoperability
Implementations drive standardisation
A lot of available extensions while easy to extend as needed
One client – server XML stream
TCP; http bindings available
Transfer any smallish content over IP
in real-time using XMPP
Public presentation
22
© Nokia Siemens Networks
XMPP / Matti Vesterinen / 11.1.2008
Questions & Answers
?
Public presentation
23
© Nokia Siemens Networks
XMPP / Matti Vesterinen / 11.1.2008
Download