The present invention relates generally to presence systems.
Within a presence system, when there is a state change associated with a source of a presence state, watchers of the source are notified of the state change. By way of example, if a source accepts a telephone call, the presence state of the source may switch from indicating that the source is available to indicating that the source is on a call, and watchers of source may be notified that the source is on a call. Alternatively, if a source begins to participate in a scheduled meeting, watchers of the source may be notified that a meeting state indicates that the source is involved in a meeting. That is, a presence state change notification may be sent to watchers to indicate that a presence state of a watched user has changed.
Calendaring changes, e.g., changes in meeting states, for sources or users tend to occur at substantially the same time. Often, calendaring changes occur at the top of an hour. As such, a relatively high number of presence state change notifications may generally need to be sent at approximately the top of an hour. Sending a relatively high number of presence state change notifications at approximately the same time often creates a performance spike in the presence server that lasts until a queue of notifications is emptied. The performance spike may slow the sending of notifications, thereby causing watchers to receive the notifications a significant amount of time after state changes take place.