Patent ID: 8051136

Claim:
A method of optimizing throughput and quality of service of a presence-enabled managed service, the method comprising: in response to a request from a requestor, via an aggregator of presence services, for presence information of a presentity: looking up a subscriber profile of the aggregator associated with at least one of the requestor and the presentity that is stored in a cache of a presence server, the subscriber profile comprising a profile threshold time indicating a maximum amount of time that presence information for the presentity may remain in the cache, a profile query rate indicating a maximum query rate of presence requests that the aggregator may send to the presence server to request for the presence information of the presentity, and a profile trigger value indicating a predetermined time elapsed since a last presence request of the presence information of the presentity when the presence information is automatically updated; fetching the presence information from the presentity and storing the presence information on a presence document on the cache with a timestamp and returning the stored presence information to the requestor if the presence information is not stored in the cache; if the presence information is stored in the cache: updating the stored presence information in the cache and returning the updated stored presence information from the cache to the requestor if a first time elapsed since the timestamp exceeds the profile threshold time; returning the stored presence information to the requestor from the cache and then updating the stored presence information if the first time elapsed since the timestamp does not exceed the profile threshold time and a query rate of the requestor for the presence information exceeds the profile query rate and a second time elapsed since the last presence request of the presence information does not exceed the profile trigger value; and returning the stored presence information from the cache to the requestor and without updating the stored presence information in the cache if the first time elapsed since the timestamp does not exceed the profile threshold time and either of the query rate of the requestor for the presence information does not exceed the profile query rate or the second time elapsed since the last presence request of the presence information exceeds the profile trigger value.