Scaling of Presence and IM. As IM moves from centralized services to distributed deployment, scaling of presence status is a key problem. If I have 200 contacts, and my presence status changes from "at desk" to "in meeting," this needs to be communicated with those contacts watching my status. In a distributed environment, this leads to network traffic.

Scaling efficiently is essential for a global IM service. This is being examined for the two proposed open standards for IM: XMPP (eXtensible Messaging and Presence Protocol) and SIMPLE (Session Initiation Protocol (SIP) for Instant Messaging and Presence Leveraging Extensions).

SIMPLE experts have set out a framework for analyzing this problem, including some suggestions to improve SIMPLE in this area.

XMPP experts have used the framework and example scenarios of this paper to provide an equivalent analysis for XMPP.

The analysis offers some interesting comparisons. We've shown the results for bandwidth usage, for both the current SIMPLE specifications and after the improvements recommended in the draft.

For example, if the domains have 20,000 users, where each user has four contacts in external domains and changes presence three times an hour, bandwidth usage is estimated to be 30 kilobytes per second for XMPP and 830 kilobytes per second for SIMPLE (571 kilobytes per second with suggested optimizations).

Or, in tabular form, including some other examples:

No. users
Contacts/user
Changes/hour
XMPP Bandwidth
SIMPLE Bandwidth
Optimized SIMPLE
20,000
4
3
30KB/s
830KB/s
571KB/s
20,000
20
3
150KB/s
1968KB/s
571KB/s
60,000
10
3
225KB/s
3683KB/s
16775KB/s
10,000,000
10
6
70833KB/s
880555KB/s
545833KB/s

XMPP appears to be substantially better than SIMPLE in a key performance area. ... Steve Kille and Richi Jennings