Distributed Database System Providing Data and Space Management Methodology
First Claim
1. In a distributed system comprising a plurality of servers sharing access to data maintained on data pages, a method for setting a timestamp indicating when modifications to data pages are made in a non-regressing fashion, the method comprising:
- maintaining a local sequence at each server and an allocation page timestamp on an allocation page of the distributed system;
upon allocation of a data page, applying a timestamp to the data page which is greater than the allocation page timestamp;
upon modification of a given data page at a particular server, setting the timestamp on the given data page to the greater of the local sequence at the particular server and an existing timestamp already on the given data page; and
when at least one data page is deallocated, adjusting the allocation page timestamp to a value greater than the timestamp value on any deallocated data page.
0 Assignments
0 Petitions
Accused Products
Abstract
A distributed database system providing data and space management methodology. In a distributed system comprising a plurality of servers sharing access to data pages, a method for setting a timestamp indicating when modifications to data pages are made in a non-regressing fashion comprises steps of: maintaining a local sequence at each server and an allocation page timestamp on an allocation page; upon allocation of a data page, applying a timestamp to the data page which is greater than the allocation page timestamp; upon modification of a given data page at a particular server, setting the timestamp on the given data page to the greater of the local sequence at the particular server and an existing timestamp already on the given data page; and when data pages are deallocated, adjusting the allocation page timestamp to a value greater than the timestamp value on any deallocated data page.
-
Citations
38 Claims
-
1. In a distributed system comprising a plurality of servers sharing access to data maintained on data pages, a method for setting a timestamp indicating when modifications to data pages are made in a non-regressing fashion, the method comprising:
-
maintaining a local sequence at each server and an allocation page timestamp on an allocation page of the distributed system; upon allocation of a data page, applying a timestamp to the data page which is greater than the allocation page timestamp; upon modification of a given data page at a particular server, setting the timestamp on the given data page to the greater of the local sequence at the particular server and an existing timestamp already on the given data page; and when at least one data page is deallocated, adjusting the allocation page timestamp to a value greater than the timestamp value on any deallocated data page. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. In a distributed system comprising a plurality of servers sharing access to data maintained on data pages, a system for setting a timestamp indicating when modifications are made to data pages in a non-regressing fashion, the system comprising:
-
a local timestamp sequence maintained at each server of the distributed system; a deallocation clock (object) provided on an allocation page of the distributed system; a page allocation module which applies a timestamp to a data page which is greater than the deallocation clock value upon allocation of the data page and which adjusts the deallocation clock to a value greater than the timestamp value on any data page which is deallocated; and a timestamp module at each server of the distributed system which sets the timestamp on a given data page to the greater of the local timestamp sequence and an existing timestamp already on the given data page when the given data page is modified at a particular server. - View Dependent Claims (11, 12, 13, 14, 15)
-
-
16. In a distributed database system comprising a plurality of nodes sharing access to data pages, each of the data pages having a timestamp for indicating when a given data page was last modified, a method for setting a data page'"'"'s timestamp in a non-regressing fashion, the method comprising:
-
providing a local sequence at each of the nodes and a watermark which is maintained logically by the system across all the nodes; on startup of the database system, setting the watermark to a value greater than any local sequence value at any of the nodes; when a data page is modified at a particular node, setting the data page'"'"'s timestamp to the greater of the particular node'"'"'s local sequence and an existing timestamp already on the data page without updating the data page'"'"'s allocation page; when multiple data pages are deallocated, ensuring that the allocation page timestamp is above the watermark value; when a single data page is deallocated, ensuring that the allocation page timestamp has a value greater than the value of the deallocated data page'"'"'s timestamp value; and when a given data page is allocated, applying a timestamp to the given data page which is greater than the allocation page timestamp, so as to ensure that the given data page'"'"'s timestamp does not regress. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27)
-
-
28. In a distributed database system comprising a plurality of nodes sharing access to data pages, a system for setting a data page'"'"'s timestamp indicating when a given data page was last modified in a non-regressing fashion, the system comprising:
-
a local sequence maintained at each node of the distributed database system; a watermark maintained logically across all nodes of the distributed database system and which is set to a value greater than any local sequence value at any of the nodes on startup of the distributed database system; an allocation page timestamp maintained on each allocation page of the distributed database system; a local timestamp module at each node of the distributed database system which maintains the local sequence and which, when a data page is modified at a particular node, sets the data page'"'"'s timestamp to the greater of the particular node'"'"'s local sequence and an existing timestamp already on the data page without updating the data page'"'"'s allocation page; a deallocation module which, when a single data page is deallocated, ensures that the allocation page timestamp has a value greater than the value of the deallocated data page'"'"'s timestamp value and which, when multiple data pages are deallocated, ensures that the allocation page timestamp is above the watermark value; and an allocation module which, when a given data page is allocated, applies a timestamp to the given data page which is greater than the allocation page timestamp, so as to ensure that the given data page'"'"'s timestamp does not regress. - View Dependent Claims (29, 30, 31, 32, 33, 34, 35, 36, 37, 38)
-
Specification