Presence Information
|
In computing, Presence is defined as the "availability and willingness of the user (presentity) for communication". Presence information is published by individuals to other systems users, known as 'watchers' or 'subscribers', to indicate their communication state. Although not limited to IP communications, it has become synonymous with IP applications such as VoIP and Instant Messaging.
Contents |
Presence State
A user may publish a variety of presence states to indicate their communication status. This published state informs others that wish to contact the user of their availability and willingness to communicate. The most common use of presence today is the status indicator displayed on most instant messaging clients. A more simple everyday example is the 'on-hook' or 'off-hook' state of a telephone receiver, resulting in a distinctive ring tone for caller. Some example presence states are:
- Free for Chat
- Away
- Do not Disturb
- Extended Away
- Out to lunch
- Roaming
In fact, users and communication applications can create arbitrary presence states, since there is no standardization of state itself. Presence is different from traditional 'on-hook' telephone status in that it deals with the user not the device.
MPOP and Presence by Observation
Presence becomes interesting for communication systems when it spans a number of different communication channels. The idea that multiple communication devices can combine state, to provide an aggregated view of a users presence has been termed Multiple Points of Presence (MPOP). MPOP becomes even more powerful when it is automatically inferred from passive observation of a users actions. This idea is already familiar to instant messaging users who have their status set to "Away" (or equivalent) if their computer keyboard is inactive for some time. Extension to other devices could include whether the user's cell phone is on, whether they are logged into their computer or perhaps checking their electronic calendar to see if they are in a meeting or on vacation. For example, if a users calendar was marked as out of office and their cell phone was on, they might be considered in "Roaming" state.
MPOP status can then be used to automatically direct incoming messages across all contributing devices. For example "Out of office" might translate to a system directing all messages and calls to the persons cell phone. The status "Do not disturb" might automatically save all messages for later and send all phone calls to voicemail.
XMPP, discussed below, allows for MPOP by assigning each client a "resource" (a specific identifier) and a priority number for each resource. A message directly to the user's ID would go to the resource with highest priority, although messaging a specific resource is possible by using the form user@domain/resource.
Watchers
Users have the potential to publish different presence states depending on who the communicator (or watcher) is. A worker may only want colleagues to see detailed presence information during office hours, for instance. Some users may want to only publish information to a select few. Basic versions of this idea are already common in instant messaging clients as a 'Block' facility, where users can appear as unavailable to selected watchers.
Commercial Products
Presence, particularly MPOP, requires collaboration between a number of electronic devices (for example IM client, home phone, cell phone and electronic calendar). To date, presence has only seen wide scale implementation in closed, SPOP (Single Point of Presence, where a single device publishes state) systems. For presence to reach its full potential, collaboration between systems and devices is essential.
2.5G and 3G cell phone networks promise the possibility of users publishing the presence of their cell phone handsets. In the workplace, private messaging servers offer the possibility of MPOP within a company or work team.
SIMPLE and XMPP
Although presence is a powerful concept which offers the promise of real innovation in communications systems, its realization will be limited by the speed of collaboration by different companies building different products.
Currently there are several working groups trying to standardize a presence protocol.
The XML based XMPP or Extensible Messaging and Presence Protocol was designed and currently mainained by the Jabber Software Foundation. It is the base of the Jabber IM protocol, which is a robust and widely extended protocol. In October 2004, the XMPP working group at IETF published the RFC documents 3920, 3921, 3922 and 3923, to standardize the core XMPP protocol.
Another standardization effort is SIP for Instant Messaging and Presence Leveraging Extensions (SIMPLE). SIMPLE specifies extensions to the SIP protocol which deal with a publish and subscribe mechanism for presence information and sending instant messages. SIMPLE has an IETF working group, trying to also standardize this protocol.
Further Reading
SIMPLE Charter (http://www.ietf.org/html.charters/simple-charter.html)
Website of the SIMPLE Working Group (http://www.softarmor.com/simple/)
Jabber Software Foundation (http://www.jabber.org)
Website of the XMPP working group (http://www.xmpp.org)