David Foster

Sametime Client

com.air2web.im.service.sametime is a highly scalable Sametime client implementation. This library was developed for Air2Web's 2IM enterprise instant messaging server during the summer of 2007 and consists of about 12,000 lines of code.

The key feature of this library is its scalability to thousands of simultaneous client connections. This scalability was achieved by writing a NIO socket abstraction that internally multiplexed communications of multiple conceptual sockets over the same NIO channel. Most of the NIO socket abstraction was written by Josh Miers at Air2Web, but I had to work with and debug the abstraction extensively.


Notable features of this program include:
  • scalability to thousands of concurrent connections
  • encrypted connections with the 40- and 128-bit RC2 block cipher
  • multiple connection types including:
    • Sametime direct connections
    • HTTP direct connections
    • HTTP proxy connections
    • HTTPS proxy connections
Other features include:
  • conferences (i.e. user chat)
  • instant messages
  • user lookup by credentials
  • buddy list storage + buddy presence awareness