← Back to Patent Explorer
US6823347B2 Expired / Lapsed US ⏱️ 0.0 years remaining

Propagating commit times

Assignee: Oracle International Corp
•
Filing: 2003-04-23
•
Granted: 2004-11-23
•
Expires: 2023-04-23
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method and mechanism for propagating commit times between a plurality of database servers is provided. A database server maintains a set of one or more values that indicate which timestamps have been exchanged with at least one other database server that shares access to a common database. The one or more values maintained by the database server include a first value describing the most recent timestamp that the database server has sent to another database server and a second value describing the most recent timestamp that the database server has received from the other database server. The database server determines whether to send a commit timestamp associated with a committing transaction to another database server based, at least in part, on the set of one or more values. These techniques may be utilized for propagating commit times between any number of database servers.

Inventors

  • 👤 Sashikanth Chandrasekaran

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-03 19:20
CPC Classifications
G; G06; G06F; G06F16/00; G06F16/20; G06F16/23; G06F16/2308; G06F16/2315; G06F16/2322; G06F16/27; Y; Y10; Y10S; Y10S707/00; Y10S707/99941; Y10S707/99944; Y10S707/99945; Y10S707/99951; Y10S707/99952; Y10S707/99953

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 .

References Cited (Backward Citations)

US6343286B1 Cited
US6694340B1 Cited
US6397227B1 Cited
US6567928B1 Cited
US6651073B1 Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2007-11-23 2008-05-24 2008-11-23 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2011-11-23 2012-05-24 2012-11-23 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2015-11-23 2016-05-24 2016-11-23 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag