THE US NATIONAL VIRTUAL OBSERVATORY JabberXMPP Matthew J
THE US NATIONAL VIRTUAL OBSERVATORY Jabber/XMPP Matthew J. Graham Caltech IVOA - Victoria: VOEvent 1 15 May 2006 1
Concerns with TCPV • Performance: expect hundreds of constant TCP connections while sending imalives, acks + many events • Security: events are sent as plain text • Errors: integrity of event notices rely on underlying TCP protocol • Lost events: events are currently being published via a single server • Citation: publication timestamps? IVOA - Victoria: VOEvent 1 15 May 2006 2
Jabber/XMPP - I • An open (RFC 3920/3921), secure, decentralized, and extensible IM service • Large user base: millions, Google Talk • Connect to other protocols (AIM, MSN, ICQ, Email, RSS) • Client-server architecture, aware of user presence: – Presence connected (listening, ignoring), not connected, do not disturb – Two one-way XML streams – Messages sent as XML snippets (stanzas) – Each user unique ID node@domain/resource IVOA - Victoria: VOEvent 1 15 May 2006 3
Jabber/XMPP - II • ~80 Jabber clients and 15 server code library sources (most GPL) in Java, C#, PHP, C, C++, Python, Perl, etc. • Plain IM lacks subscription (not suitable for VOEvents) Jabber Enhancement Proposals (JEPs) • Increase functionality via: message logging, jabber to email, HTTP-polling, HTTP-binding, service discovery, file transfer, etc. Publish/Subscribe (JEP-60): • Broadcasting of event notification for authorized subscribers IVOA - Victoria: VOEvent 1 15 May 2006 4
Pub. Sub • • • Publishers send data to pubnode Servers can keep record of sent events Undelivered events remain on server Affiliations to, subscribe, publish, purge items, configure a node, delete a node Users can be publishers, subscribers or blocked Message nodes can be discovered by clients Subscription can be open, list, authorized Message nodes can be configured with persistant items, deletion, retraction, change notification Two servers with Pub. Sub support : ejabberd (erlang) and wildfire (Java) IVOA - Victoria: VOEvent 1 15 May 2006 5
Is XMPP better than TCPV? - I • Performance – Jabber servers can cope with thousands of concurrent users sending instant messages – Caltech server running 7 months without change: update without downtime • Security – Core protocols include end-to-end signing and object encryption via TLS and SSL • Errors – Stream errors (such as <xml-not-well-formed/>, <badformat/>, <connection-timeout/>, <not-authorized/>, <remote-connection-failed/>) handling in XMPP core (but errors within message xml possible) IVOA - Victoria: VOEvent 1 15 May 2006 6
Is XMPP better than TCPV? - II • Lost events – Both post events to multiple servers (need brokers) • Citation – Messages have timestamps on the server IVOA - Victoria: VOEvent 1 15 May 2006 7
- Slides: 7