What Are Your Presence Platform Requirements?


by Dave Uhlir

As a follow-on to the discussion of the types of applications and services that are driving demand for presence platform software, let’s now turn our attention to the critical requirements for this new software category. If I’ve missed something that’s important to your existing or planned deployment of presence technology, please post a comment on this blog.

To be broadly useful, presence platforms must be scalable, highly available, extensible and able to work with other middleware and network services. It is worth noting that some of these requirements are the same or very similar to the requirements of more established types of platform middleware, particularly services at the edge of the network, such as Web servers and application servers. This is because presence platforms in commercial deployments have similar, and in some cases, greater demands placed on them by the enterprise applications, consumer-facing services, etc. that they support.

The ability to scale is critical because presence must, by definition, be a real-time service. In commercial applications, a presence server must scale to be able to route presence information between millions of network nodes. Millions of points of presence are not uncommon, even in traditional enterprise settings. When counting points of presence, consider that a single person, device or sensor can have multiple presence elements. For example, a person with a desktop computer, and both desktop and mobile telephones has three points of presence, not counting additional presence states of presence-enabled applications running on their computer. With millions of nodes with changing presence states, a presence platform must be able to handle extreme message rates. For example, in some benchmark testing designed to model consumer service use patterns, rates of over 15,000 messages per second were observed. Without a highly scalable presence platform, presence information degrades into pseudo real-time information - what presence was, not what it is. Latency in the delivery of presence information greatly reduces its value and may cause errors and oddities in presence-enabled applications.

As presence is an always-on service, presence platforms must be highly available. The presence platforms which meet availability requirements typically have built-in architectural redundancy and auto-healing features designed to gracefully recover from outages on the network or at the network node level.

There is no such thing as a one-size-fits-all presence model. To allow the presence platform to be tailored to specific applications and services, it must provide developers ways to access and extend its capabilities. As there are several presence protocols in general use ( e.g., SIMPLE and XMPP) support for multiple standards makes it easier for application developers to make use of a presence platform when the presence nodes speak different protocols. To maximize interoperability and prevent vendor lock-in, presence platforms should be based on truly open standards and not rely on proprietary extensions. Another important development requirement is libraries to facilitate the creation of clients and software to connect network nodes and applications with the presence platform. A diverse set of libraries, such as is listed here, represents a major advantage for a presence platform, as it allows developers to work in the language that is most appropriate for their specific objectives.

Presence platforms are not stand-alone entities. In most use cases, presence platforms must interoperate with other network software, such as directory servers and data base services. As presence is often a new service added to an existing deployment architecture, the presence platform must be able to integrate with existing network middleware. To minimize data/hosting center floorspace and management costs, presence platforms should run on the most popular server operating systems, so a customer is not required to provision new hardware and train staff on the management of a new OS.

If you have deployed a presence platform or are planning to do so, do you have other requirements?

Leave a Reply

I agree to all commenting
Terms and Conditions

This is a captcha-picture. It is used to prevent mass-access by robots. (see: www.captcha.net)

You must read and type the 5 chars within 0..9 and A..F, and submit the form.

  

Oh no, I cannot read this. Please, generate a