Method for adjusting curent clock counts in a distributed computer system
First Claim
1. A method for adjusting current clock counts in a distributed computer system, wherein the distributed computer system includes a plurality of computer sites, each computer site including a processor, a memory having a plurality of record keys for storing a timestamp table, a database, abort register means for storing an abort count corresponding to the computer site, clock means for generating a clock signal indicating passage of time, and clock resister means responsive to the clock signal for storing a current clock count corresponding to the computer site, wherein the database for each computer site including a plurality of data entries that correspond to the plurality of record keys and that are accessed by a processor, wherein each record key corresponds to a timestamp which includes at least a clock count that indicates when a data entry corresponding to the record key was most recently accessed, wherein the distributed computer system includes network means for interconnecting the plurality of computer sites to enable a processor in one computer site to send data entries and requests for data entry accessing to another computer site, and wherein the following steps are executed by a processor in at least a first one of the computer sites;
- asigning to a new transaction a timestamp related to the current clock count for the first computer site, at times when the processor in the first one of the computer sites is initiating the new transaction;
reading the timestamp corresponding to the record key from the memory, at times when the processor in the first computer site is initiating the new transaction;
comparing an existing timestamp corresponding to the record key with the timestamp assigned to the new transaction;
aborting the new transaction, at times when the timestamp assigned to the new transaction is smaller than the existing timestamp corresponding to the record key;
incrementing an abort count corresponding to the first computer site, at times when the new transaction is aborted, to indicate the number of times that new transactions initiated by the first computer site have been aborted;
accessing an abort count in a second computer site corresponding to new transactions aborted in the second computer site;
comparing the abort count corresponding to the first computer site with the abort count corresponding to the second computer site; and
changing the current clock count corresponding to the first computer site to more closely match the current clock count corresponding to the second computer site, at times when the comparison between the abort counts in the first and second computer sites indicates the new transactions have been aborted more frequently in one of the two computer sites.
1 Assignment
0 Petitions
Accused Products
Abstract
A method for adjusting current clock counts in a distributed database apparatus is accomplished. Each processor assigns a timestamp to a transaction according to its clock when the transaction is generated, and transaction are executed by accessing the database according to timestamp order. A processor in at least a first one of the computer sites accesses an abort count corresponding to a second computer site; compares an abort count corresponding to the first computer site with the abort count corresponding to the second computer site; and changes the current clock count corresponding to the first computer site to more closely match the current clock count corresponding to the second computer site, at times when the comparison between the abort counts in the first and second computer sites indicates that new transactions have been aborted more frequently in one of the two computer sites.
42 Citations
18 Claims
-
1. A method for adjusting current clock counts in a distributed computer system, wherein the distributed computer system includes a plurality of computer sites, each computer site including a processor, a memory having a plurality of record keys for storing a timestamp table, a database, abort register means for storing an abort count corresponding to the computer site, clock means for generating a clock signal indicating passage of time, and clock resister means responsive to the clock signal for storing a current clock count corresponding to the computer site, wherein the database for each computer site including a plurality of data entries that correspond to the plurality of record keys and that are accessed by a processor, wherein each record key corresponds to a timestamp which includes at least a clock count that indicates when a data entry corresponding to the record key was most recently accessed, wherein the distributed computer system includes network means for interconnecting the plurality of computer sites to enable a processor in one computer site to send data entries and requests for data entry accessing to another computer site, and wherein the following steps are executed by a processor in at least a first one of the computer sites;
-
asigning to a new transaction a timestamp related to the current clock count for the first computer site, at times when the processor in the first one of the computer sites is initiating the new transaction; reading the timestamp corresponding to the record key from the memory, at times when the processor in the first computer site is initiating the new transaction; comparing an existing timestamp corresponding to the record key with the timestamp assigned to the new transaction; aborting the new transaction, at times when the timestamp assigned to the new transaction is smaller than the existing timestamp corresponding to the record key; incrementing an abort count corresponding to the first computer site, at times when the new transaction is aborted, to indicate the number of times that new transactions initiated by the first computer site have been aborted; accessing an abort count in a second computer site corresponding to new transactions aborted in the second computer site; comparing the abort count corresponding to the first computer site with the abort count corresponding to the second computer site; and changing the current clock count corresponding to the first computer site to more closely match the current clock count corresponding to the second computer site, at times when the comparison between the abort counts in the first and second computer sites indicates the new transactions have been aborted more frequently in one of the two computer sites. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method for adjusting current clock counts in a distributed computer system, wherein the distributed computer system includes a plurality of computer sites, each computer site including a processor, a memory having a plurality of record keys for storing a timestamp table, a database, succeed register means for storing an succeed count corresponding to the computer site, clock means for generating a click signal indicating passage of time, and clock register means responsive to the clock signal for storing a current clock count corresponding to the computer site, wherein the database for each computer site includes a plurality of data entries that correspond to the plurality of record keys and that are accessed by a processor, wherein each record key corresponds to a timestamp which includes at least a clock count that indicates when a data entry corresponding to the record key was most recently accessed, wherein the distributed computer system includes network means for interconnecting the plurality of computer sites to enable a processor in one computer site to send data entries and requests for data entry accessing to another computer site, and wherein the following steps are executed by a processor in at least a first one of the computer sites:
-
assigning to a new transaction a timestamp related to the current clock count for the first computer site, at times when the processor in the first one of the computer sites is initiating the new transaction; reading the timestamp corresponding to the record key from the memory, at times when the processor in the first computer site is initiating the new transaction; comparing an existing timestamp corresponding to the record key with the timestamp assigned to the new transactional aborting the new transaction, at times when the timestamp assigned to the new transaction is smaller than the existing timestamp corresponding to the record key; incrementing a succeed count corresponding to the first computer site, at times when the new transaction is not aborted, to indicate the number of times that new transactions initiated by the first computer site have been successfully completed; accessing a succeed count in a second computer site corresponding to new transactions not aborted in the second computer site; comparing the succeed count corresponding to the first computer site with the succeed count corresponding to the second computer site; and changing the current clock count corresponding to the first computer site to more closely match the current clock count corresponding to the second computer site, at times when the comparison between the second counts in the first and second computer sites indicates that new transactions have been successfully completed more frequently in one of the two computer sites. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
Specification