Jabber BBN Presenter. Book. Brief background (streaming protocol, XML based) Clients implement subsets of protocol. Server maintains little user state. Keeps track via .xml - presence state, roster, etc. Because it retains little state, easily transfers state from endpoint to endpoint. jabberd extension via direct lib modules (dll / .so) Components can tie on remotely (over net etc). Configuration via jabberd.xml (apache model) Example of stream message to open connection. Discussion of libraries Jabberbeans J-XMO b9j2 (new java lib) python libs ruby libs perl libs XMPP elements - info query (primarily server interrogation) XML namespaces qualify elements, and Jabber IDentifies look similar to email with the addion of a resource (used for example, for routing. (eample message). Incorporates a threading identifier (bas64 in example - may be worth investigating). Compare to well formed jabber msg spec Sample java codelet. Example of service browsing (interrogation for services of a particular host) Presence example - from includes a resource. Can be generated on behalf of a particular user/resouce (how is this guaranteed?) Note also that this includes both state and status (state and message) BBN using for distributed testing - DARPA UltraLog project. Example project 0 a distributed jpg filetransfer server. Summary: Monetising, IM not just for chat, Jabber robust and open.