OPPORTUNISTIC CLEARING OF SYNC STATES ASSOCIATED WITH A DATABASE
First Claim
1. A method for managing the metadata of a database, said database comprising a set of data, each said data capable of being added, changed and deleted from said database, and wherein said metadata managed by at least one provider, said provider capable of communicating with a set of consumers, the steps of said method comprising:
- maintaining a list of changes to said database, said changes associated with a sync token;
maintaining a list of consumers of said database, said list of consumers associated with a last sync token for each said consumer;
adding a tombstone to said list of changes when data is deleted from said database, said tombstone having its associated sync token in said list of changes;
reading a request for sync from one of said consumers;
updating said one of said consumers with metadata added to said list of changes to said database since said last sync token; and
if all consumers have been updated with said sync token associated with said tombstone, deleting said tombstone from said list of changes to said database.
2 Assignments
0 Petitions
Accused Products
Abstract
Systems and techniques of the management of the metadata of a database are presented. A provider is in communication with a database and a set of consumers of the database. Data may be changed by addition, editing or deletion from the database and such changes are recorded and/or maintained by the provider on a list of changes. The changes on this list may be associated with a sync token. The provider may also maintain a list of consumers and associate with each consumer a last sync token which describes when the last sync request and update on the database was made with the consumer. Data which is deleted from the database is recorded with a tombstone. The tombstone is maintained on the list of changes until all consumers have been made aware of the deletion—then the tombstone may be deleted from the list of changes.
-
Citations
20 Claims
-
1. A method for managing the metadata of a database, said database comprising a set of data, each said data capable of being added, changed and deleted from said database, and wherein said metadata managed by at least one provider, said provider capable of communicating with a set of consumers, the steps of said method comprising:
-
maintaining a list of changes to said database, said changes associated with a sync token; maintaining a list of consumers of said database, said list of consumers associated with a last sync token for each said consumer; adding a tombstone to said list of changes when data is deleted from said database, said tombstone having its associated sync token in said list of changes; reading a request for sync from one of said consumers; updating said one of said consumers with metadata added to said list of changes to said database since said last sync token; and if all consumers have been updated with said sync token associated with said tombstone, deleting said tombstone from said list of changes to said database. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A system for managing the metadata of a database, said system comprising:
-
a provider, said provider further comprising a processor and memory; a database, said database in communication with said provider and said provider is capable of maintaining a list of changes to said database and said provider is further capable of adding a tombstone for a data deleted from said database, said tombstone added to said list of changes to said database; wherein said provider is in communications with a set of consumers, said consumers requesting to sync with said database; and
said provider is capable of maintaining a list of said consumers; andfurther wherein said provider is capable of deleting said tombstone when all consumers have been made aware of said deletion of said data. - View Dependent Claims (12, 13, 14, 15, 16)
-
-
17. A computer readable storage medium that is not a transient signal, said computer readable storage medium having computer-executable instructions stored thereon that, when executed by a processor, cause said processor to execute:
- a method for managing the allocation of a plurality of memory elements stored within one or more lockless list structures, said lockless list structures accessible within an operating system environment of a multicore processor, the steps of said method comprising the step of;
maintaining a list of changes to said database, said changes associated with a sync token; maintaining a list of consumers of said database, said list of consumers associated with a last sync token for each said consumer; adding a tombstone to said list of changes when data is deleted from said database, said tombstone having its associated sync token in said list of changes; reading a request for sync from one of said consumers; updating said one of said consumers with metadata added to said list of changes to said database since said last sync token; and if all consumers have been updated with said sync token associated with said tombstone, deleting said tombstone from said list of changes to said database. - View Dependent Claims (18, 19, 20)
- a method for managing the allocation of a plurality of memory elements stored within one or more lockless list structures, said lockless list structures accessible within an operating system environment of a multicore processor, the steps of said method comprising the step of;
Specification