Patent 7865962 was granted and assigned to Microsoft on January, 2011 by the United States Patent and Trademark Office.
A multi-level sequence number is associated with a data provider supplying data for an object. The multi-level sequence number includes a portion that is unique to the data provider, and one or more portions that are shared by other data providers for the object. A per-object table is used to cache data supplied by each data provider for the object and the corresponding multi-level sequence number. A global table associates each data provider with the current value of its multi-level sequence number. Whenever data supplied by a data provider changes, the sequence number in the global table is updated. Cached data of the data provider is updated with current data of the data provider only if the cached value of the sequence number is found to be different from the current value of the sequence number.