Methods for ensuring fair access to information
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-modified1 . 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.