XMPP Tactical Chat Don McGregor (mcgredo at nps.edu) Don Brutzman (brutzman at nps.edu)
Military Chat Chat is used for a lot of things in the military: • Navy bridge to bridge comms • Logistics support • Mission planning In theory it’s not an official command & control link--in reality it is
Military Chat: Standards Chat grew from the bottom up; individual commands and organizations “unofficially” deployed it. This means there was no initial standards or design effort; lots of incompatible chat systems out there There may be other problems: unaudited code, no authentication of users/roles, etc
Military Chat Human factors is huge and unexplored • Often one user monitoring dozens of chat rooms; designated guy to monitor chat • Vigilance task, which humans are notoriously bad at; “sit here and wait for something to happen” • How do we scale to very large numbers of people in a chat room? • The military uses chat for different things than the public; often goal-oriented rather than open-ended • Multi-level security, coalition security, etc.
Military Domain-Specific Chat Right now many chat clients attempt to be general purpose. But why shouldn’t we have different chat applications for different tasks? When working in a 2,000 user chat room, use an application that does that well. When working w/ something that requires vigilance, have an app that alerts you to new data Platoon leader can’t be heads down in a firefight; have an implementation that does voice or audio from a PDA AUV Workbench uses embedded chat
XMPP XMPP has been adopted as the mandatory standard for chat by the DoD IT Standards Registry; no other chat protocol has been approved http://www.xmpp.org/ http://www.igniterealtime.org/ Open standards and open source implementations
XMPP XMPP IDs are very similar to mail addresses smith@xmpp.nps.edu, jones@xmpp.navy.mil, etc The usernames can be tied to existing enterprise LDAP user databases No one grand user database for all of XMPP--each server maintains its own user database
XMPP Server-to-Server XML Comms on TCP 5269 XMPP Server XMPP Server TLS encrypted XML stream on Port TCP 5222 Client Client
XMPP JFCOM has been working on a military, multi-level security XMPP client implementation, Transverse Translation, coalition features, etc
XMPP as Comms Backplane Since XMPP is XML and distributes messages well, why not use this capability to have devices talk to each other? Distributed Interactive Simulation--use XMPP as a data bridge for real-time data JTC--use XMPP as a planning tool, sending maps and drawings across XMPP
XMPP Shared Chatroom Blackboard Device w/ JID XMPP XML-Enabled Communications Backplane Device User
JTC JTC uses XMPP chat rooms as shared blackboards to pass information: • Conventional chat • Specify map regions • Collaborative map modification
XMPP: Conclusions The standard provides a platform on which to build Focus should now shift to using the standard to solve problems DoD should encourage innovation at the application level; it is much too early to standardize or limit XMPP-enabled applications