WebSphere brand IBM WebSphere Presence Server, Version 7.0

Notification throttling

Presence Server version 7.0 implements the notification throttling mechanism as a means of improving performance.

Notification throttling is defined in IETF draft-niemi-sipping-event-throttle-06. It can help improve performance by limiting the rate of SIP event notifications for one or more event packages.

Presence Server provides a default throttling mode, in which the throttle interval is not included in the NOTIFY request. However, if a throttle parameter is specified in the SUBSCRIBE request, the throttle interval is included in the NOTIFY request.

The default mode is configured separately per event package and applies only for the event packages for which it was enabled. In particular, this mode is configured separately for the presence, presence.winfo and presence.winfo.winfo event packages.

Minimum and Maximum Intervals

Presence Server imposes minimum and maximum throttle intervals. The purpose of setting a minimum and maximum is to ensure that the server performance is not harmed. An interval that is too small (for example, 5 seconds) creates overhead on the server, without a real benefit for the client. In the case of an interval that is too big (for example, 15 minutes), it would probably make more sense for the client to send a fetch request every 15 minutes, and save the overhead (especially memory consumption) of keeping an idle subscription for such long times.

Both minimum and maximum intervals are configurable. The defaults are 5 seconds minimum and 10 minutes maximum. When a subscription request specifies a throttling interval that is outside of the configured range, the server sets the throttle to the minimum value or maximum value as appropriate. The adjusted throttle value is included in the Subscription-State header field's throttle parameter in each of the NOTIFY messages sent to the subscriber.

The minimum and maximum intervals are configured separately for each event package. If the throttle interval exceeds the subscription expiration value, Presence Server does not change the interval in the response to the subscriber. In this case, the effective interval is until the subscription expires.

Partial State Notification

When a subscriber has requested to receive partial notifications, Presence Server buffers all patch operations from all partial notifications that were throttled during the throttle interval. At the end of the throttle interval, all buffered patch operations are composed into one pidf-diff document. The composition is done by appending all patch operations together. If the result pidf-diff document is larger than the full presence document, the server sends the full state instead

Watcher Information Subscriptions

Watcher information subscriptions can also be throttled. If the state of at least one watcher has changed during the throttle interval, Presence Server sends a partial <watcherinfo> document at the end of the period, containing only the watchers whose state has changed.




Terms of use
(C) Copyright IBM Corporation 2009. All Rights Reserved.