US2009265352A1PendingUtilityA1

Methods for ensuring fair access to information

Assignee: GRAVIC INCPriority: Apr 18, 2008Filed: Apr 18, 2008Published: Oct 22, 2009
Est. expiryApr 18, 2028(~1.7 yrs left)· nominal 20-yr term from priority
G06F 16/2336G06Q 10/00
54
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Locks placed on corresponding objects held in a plurality of databases located at different nodes in a network during replication are released in accordance with fairness criteria. Propagation delays are determined between a transaction initiating node and one or more other nodes in the network. An object is locked during a transaction being executed at the transaction initiating node. Corresponding objects are locked at one or more other nodes in the network that are manipulated as a result of the replication Upon determining that the object locks should be released, the propagation delays are used to determine when to release the object locks so that all of the object locks at the one or more other nodes are released in accordance with the fairness criteria.

Claims

exact text as granted — not AI-modified
1 . A computer-implemented method of releasing locks in accordance with fairness criteria, the locks being placed on corresponding objects held in a plurality of databases located at different nodes in a network during replication, the method comprising:
 (a) determining propagation delays between a transaction initiating node and one or more other nodes in the network;   (b) locking an object during a transaction being executed at the transaction initiating node;   (c) locking corresponding objects at one or more other nodes in the network that are manipulated as a result of the replication; and   (d) upon determining that the object locks should be released, using the propagation delays to determine when to release the object locks so that all of the object locks at the one or more other nodes are released in accordance with the fairness criteria.   
   
   
       2 . The method of  claim 1  wherein the manipulations include at least one of inserts, updates and deletes. 
   
   
       3 . The method of  claim 1  wherein the propagation delay is the longest propagation delay. 
   
   
       4 . The method of  claim 1  wherein step (d) further comprises the transaction initiating node sending lock release commands to the one or more other nodes and to itself. 
   
   
       5 . The method of  claim 1  wherein the fairness criteria is that all object locks are simultaneously released. 
   
   
       6 . The method of  claim 1  wherein the fairness criteria is that all object locks are released within a predetermined time window of each other. 
   
   
       7 . The method of  claim 1  wherein selected nodes have predefined service levels, and the fairness criteria is that all object locks are released based on a priority order determined by the service levels of the nodes. 
   
   
       8 . The method of  claim 1  wherein the fairness criteria is defined by business rules. 
   
   
       9 . The method of  claim 1  wherein two or more of the databases are online. 
   
   
       10 . The method of  claim 1  wherein the object is a database table. 
   
   
       11 . The method of  claim 1  wherein the object is a row of a database table. 
   
   
       12 . The method of  claim 1  wherein at least some of the different nodes are not co-located, and the propagation delay is a communication delay. 
   
   
       13 . The method of  claim 1  wherein at least some of the different nodes are co-located, and the propagation delay is the result of application delays associated with the different nodes. 
   
   
       14 . The method of  claim 1  wherein the replication is synchronous replication. 
   
   
       15 . The method of  claim 1  wherein step (a) is performed at periodic time intervals. 
   
   
       16 . A computer-implemented method of performing transactions on objects held in a database in accordance with fairness criteria, wherein two or more entities are capable of initiating transactions to the database, each transaction including (i) one or more transaction steps or operations, and (ii) a transaction ownership step, the fairness criteria defining rules for determining a fair propagation delay time period that must pass after transaction initiation, the method comprising:
 (a) one of the entities initiating a transaction on an object at the database;   (b) immediately processing the steps or operations of the initiated transaction up to the transaction ownership step;   (c) determining propagation delays between the database and at least some of the other entities that are capable of initiating transactions to the database;   (d) using the propagation delays and the fairness criteria to determine the fair propagation delay period; and   (e) upon determining that the fair propagation delay period has been exceeded, detecting whether any of the other entities initiated a transaction on the same object during the fair propagation delay time period, and if not, then the transaction initiating entity performing the transaction ownership step on the transaction initiated in step (a).   
   
   
       17 . The method of  claim 16  wherein if it is detected that another entity has initiated a transaction on the same object during the fair propagation delay time period, step (e) further comprises using the propagation delays and the fairness criteria to resolve the entity that is entitled to perform the transaction ownership step on the initiated transaction. 
   
   
       18 . The method of  claim 16  wherein the fairness criteria propagation delay is the longest propagation delay of the other entities minus the propagation delay of the initiating entity. 
   
   
       19 . The method of  claim 16  wherein the fairness criteria is defined by business rules. 
   
   
       20 . The method of  claim 16  wherein the object is a database table. 
   
   
       21 . The method of  claim 16  wherein the object is a row of a database table. 
   
   
       22 . The method of  claim 16  wherein at least some of the entities are not co-located, and the propagation delay is a communication delay. 
   
   
       23 . The method of  claim 16  wherein at least some of the entities are co-located, and the propagation delay is the result of application delays associated with the different entities. 
   
   
       24 . The method of  claim 16  wherein step (c) is performed at periodic time intervals. 
   
   
       25 . An article of manufacture for releasing locks in accordance with fairness criteria, the locks being placed on corresponding objects held in a plurality of databases located at different nodes in a network during replication, the article of manufacture comprising a computer-readable medium encoded with computer-executable instructions for performing the steps of:
 (a) determining propagation delays between a transaction initiating node and one or more other nodes in the network;   (b) locking an object during a transaction being executed at the transaction initiating node;   (c) locking corresponding objects at one or more other nodes in the network that are manipulated as a result of the replication; and   (d) upon determining that the object locks should be released, using the propagation delays to determine when to release the object locks so that all of the object locks at the one or more other nodes are released in accordance with the fairness criteria.   
   
   
       26 . The article of manufacture of  claim 25  wherein the manipulations include at least one of inserts, updates and deletes. 
   
   
       27 . The article of manufacture of  claim 25  wherein the propagation delay is the longest propagation delay. 
   
   
       28 . The article of manufacture of  claim 25  wherein step (d) further comprises the transaction initiating node sending lock release commands to the one or more other nodes and to itself. 
   
   
       29 . The article of manufacture of  claim 25  wherein the fairness criteria is that all object locks are simultaneously released. 
   
   
       30 . The article of manufacture of  claim 25  wherein the fairness criteria is that all object locks are released within a predetermined time window of each other. 
   
   
       31 . The article of manufacture of  claim 25  wherein selected nodes have predefined service levels, and the fairness criteria is that all object locks are released based on a priority order determined by the service levels of the nodes. 
   
   
       32 . The article of manufacture of  claim 25  wherein the fairness criteria is defined by business rules. 
   
   
       33 . The article of manufacture of  claim 25  wherein two or more of the databases are online. 
   
   
       34 . The article of manufacture of  claim 25  wherein the object is a database table. 
   
   
       35 . The article of manufacture of  claim 25  wherein the object is a row of a database table. 
   
   
       36 . The article of manufacture of  claim 25  wherein at least some of the different nodes are not co-located, and the propagation delay is a communication delay. 
   
   
       37 . The article of manufacture of  claim 25  wherein at least some of the different nodes are co-located, and the propagation delay is the result of application delays associated with the different nodes. 
   
   
       38 . The article of manufacture of  claim 25  wherein the replication is synchronous replication. 
   
   
       39 . The article of manufacture of  claim 25  wherein step (a) is performed at periodic time intervals. 
   
   
       40 . An article of manufacture for performing transactions on objects held in a database in accordance with fairness criteria, wherein two or more entities are capable of initiating transactions to the database, each transaction including (i) one or more transaction steps or operations, and (ii) a transaction ownership step, the fairness criteria defining rules for determining a fair propagation delay time period that must pass after transaction initiation, the article of manufacture comprising a computer-readable medium encoded with computer-executable instructions for performing the steps of:
 (a) one of the entities initiating a transaction on an object at the database;   (b) immediately processing the steps or operations of the initiated transaction up to the transaction ownership step;   (c) determining propagation delays between the database and at least some of the other entities that are capable of initiating transactions to the database;   (d) using the propagation delays and the fairness criteria to determine the fair propagation delay period; and   (e) upon determining that the fair propagation delay period has been exceeded, detecting whether any of the other entities initiated a transaction on the same object during the fair propagation delay time period, and if not, then the transaction initiating entity performing the transaction ownership step on the transaction initiated in step (a).   
   
   
       41 . The article of manufacture of  claim 40  wherein if it is detected that another entity has initiated a transaction on the same object during the fair propagation delay time period, step (e) further comprises using the propagation delays and the fairness criteria to resolve the entity that is entitled to perform the transaction ownership step on the initiated transaction. 
   
   
       42 . The article of manufacture of  claim 40  wherein the fairness criteria propagation delay is the longest propagation delay of the other entities minus the propagation delay of the initiating entity. 
   
   
       43 . The article of manufacture of  claim 40  wherein the fairness criteria is defined by business rules. 
   
   
       44 . The article of manufacture of  claim 40  wherein the object is a database table. 
   
   
       45 . The article of manufacture of  claim 40  wherein the object is a row of a database table. 
   
   
       46 . The article of manufacture of  claim 40  wherein at least some of the entities are not co-located, and the propagation delay is a communication delay. 
   
   
       47 . The article of manufacture of  claim 40  wherein at least some of the entities are co-located, and the propagation delay is the result of application delays associated with the different entities. 
   
   
       48 . The article of manufacture of  claim 40  wherein step (c) is performed at periodic time intervals.

Join the waitlist — get patent alerts

Track US2009265352A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.