Claims Analysis
Total Claims: 32
Claim 1
Independent Claim
98 words
A method for propagating commit times between a plurality of database servers, comprising the steps of: maintaining, at a first database server, a set of one or more values that indicate which timestamps have been exchanged with a second database server that shares access to a common database with said first database server; and in response to committing a transaction that involves said common database, the first database server determining whether to send a commit timestamp associated with said transaction to said second database server based, at least in part, on said set of one or more values.
Claim 2
Independent Claim
98 words
A method for propagating commit times between a plurality of database servers, comprising the steps of: maintaining, at a first database server, a set of one or more values that indicate which timestamps have been exchanged with a second database server that shares access to a common database with said first database server; and in response to committing a transaction that involves said common database, the first database server determining whether to send a commit timestamp associated with said transaction to said second database server based, at least in part, on said set of one or more values.
Claim 3
Dependent Claim
34 words
The method of claim 1 , wherein said one or more values includes Tsent, wherein Tsent is a timestamp associated with the most recent message sent from said first server to said second server.
Claim 4
Dependent Claim
28 words
The method of claim 2 , wherein the step of determining whether to send said commit timestamp includes determining whether Tsent is more recent than said commit timestamp.
Claim 5
Dependent Claim
26 words
The method of claim 3 , further comprising the step of: if Tsent is more recent than said commit timestamp, then not sending said commit timestamp.
Claim 6
Dependent Claim
88 words
The method of claim 4 , further comprising the steps of: maintaining Trecv as one of said one or more values, wherein Trecv is a timestamp associated with the most recent message received by said first server sent from said second server; if Tsent is not more recent than said commit timestamp, then determining if Trecv is more recent than said commit timestamp, and if said commit timestamp is more recent than both Tsent and Trecv, then sending said commit timestamp after a configurable period of time expires.
Claim 7
Dependent Claim
26 words
The method of claim 5 , wherein said configurable period of time is configured such that there is no delay prior to sending said commit timestamp.
Claim 8
Dependent Claim
42 words
The method of claim 2 , further comprising the step of: in response to receiving said commit timestamp at said second database server, transmitting an acknowledgement message to the first database server only if Tsent is less recent than the commit timestamp.
Claim 9
Dependent Claim
28 words
The method of claim 7 , wherein the step of transmitting said acknowledgement message is performed by transmitting the acknowledgement message after expiration of a specified delay period.
Claim 10
Dependent Claim
35 words
The method of claim 1 , wherein said one or more values includes Trecv, wherein Trecv is a timestamp associated with the most recent message received by said first server sent from said second server.
Claim 11
Dependent Claim
26 words
The method of claim 9 , further comprising the step of: upon updating Trecv, determining if a waiting committing process at the first database server exists.
Claim 12
Dependent Claim
37 words
The method of claim 10 , further comprising the step of: upon determining the existence of the waiting committing process, determining if the updated value of Trecv is more recent than the commit time of the transaction.
Claim 13
Dependent Claim
86 words
The method of claim 11 , further comprising the step of: if the updated value of Trecv is more recent than the commit time of the transaction, then determining if the most recent message received from any other member in said plurality of database servers is greater than the commit time of the transaction; and if the most recent message received from any other member in said plurality of database servers is greater than the commit time of the transaction, then unblocking the waiting committing process.
Claim 14
Dependent Claim
61 words
The method of claim 1 , wherein said set of one or more values maintained by said first database server is a first set of one or more values, and further comprising the step of: maintaining, at said second database server, a second set of one or more values that indicate which timestamps have been exchanged with said first database server.
Claim 15
Dependent Claim
70 words
The method of claim 1 , wherein said first database server and said second database server are members in said plurality of database servers, and each member of said plurality of database servers share access to said common database, and each member of said plurality of database servers maintains one or more values that indicate which timestamps have been exchanged between each other member in said plurality of database servers.
Claim 16
Independent Claim
300 words
A method for propagating commit times between a plurality of database servers, comprising the steps of: maintaining a first set of timestamps and a second set of timestamps at a first database server in the plurality of database servers, wherein each of the plurality of database servers has access to a common database, each timestamp in the first set of timestamps is the most recent timestamp associated with a message that has been sent to a particular database server in the plurality of database servers from the first database server, each timestamp in the second set of timestamps is the most recent timestamp associated with a message that has been received by the first database server in the plurality of database servers from a particular database server in the plurality of database servers, wherein the first database server maintains a different timestamp in the first set of timestamps and a different timestamp in the second set of timestamps for each of the plurality of database servers other than the first database server, and wherein each of the plurality of database servers other than the first database is associated with a single timestamp in the first set of timestamps and a single timestamp in the second set of timestamps; receiving a notification that a transaction initiated by the first database server performed against the common database is to be committed, wherein the transaction is associated with a commit time; and transmitting a commit propagation message from the first database server to a second database server in the plurality of database servers if the commit time is more recent than both a timestamp in the first set of timestamps associated with the second database server and a timestamp in the second set of timestamps that is associated with the second database server.
Claim 17
Independent Claim
300 words
A method for propagating commit times between a plurality of database servers, comprising the steps of: maintaining a first set of timestamps and a second set of timestamps at a first database server in the plurality of database servers, wherein each of the plurality of database servers has access to a common database, each timestamp in the first set of timestamps is the most recent timestamp associated with a message that has been sent to a particular database server in the plurality of database servers from the first database server, each timestamp in the second set of timestamps is the most recent timestamp associated with a message that has been received by the first database server in the plurality of database servers from a particular database server in the plurality of database servers, wherein the first database server maintains a different timestamp in the first set of timestamps and a different timestamp in the second set of timestamps for each of the plurality of database servers other than the first database server, and wherein each of the plurality of database servers other than the first database is associated with a single timestamp in the first set of timestamps and a single timestamp in the second set of timestamps; receiving a notification that a transaction initiated by the first database server performed against the common database is to be committed, wherein the transaction is associated with a commit time; and transmitting a commit propagation message from the first database server to a second database server in the plurality of database servers if the commit time is more recent than both a timestamp in the first set of timestamps associated with the second database server and a timestamp in the second set of timestamps that is associated with the second database server.
Claim 18
Dependent Claim
33 words
A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 1 .
Claim 19
Dependent Claim
33 words
A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 2 .
Claim 20
Dependent Claim
33 words
A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 3 .
Claim 21
Dependent Claim
33 words
A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 4 .
Claim 22
Dependent Claim
33 words
A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 5 .
Claim 23
Dependent Claim
33 words
A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 6 .
Claim 24
Dependent Claim
33 words
A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 7 .
Claim 25
Dependent Claim
33 words
A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 8 .
Claim 26
Dependent Claim
33 words
A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 9 .
Claim 27
Dependent Claim
33 words
A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 10 .
Claim 28
Dependent Claim
33 words
A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 11 .
Claim 29
Dependent Claim
33 words
A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 12 .
Claim 30
Dependent Claim
33 words
A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 13 .
Claim 31
Dependent Claim
33 words
A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 14 .
Claim 32
Dependent Claim
33 words
A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 15 .