IP Library Granted Patent US 9,330,363
Granted Patent B2
US 9,330,363 · App. 13/530,602 · Granted May 3, 2016

Method and article of manufacture for ensuring fair access to information using propagation delays to determine when to release object locks

Inventors: Paul J. Holenstein (Downingtown, PA); Bruce D. Holenstein (Media, PA); Wilbur H. Highleyman (Blairstown, NJ)
Assignee: Intel Corporation
G06Q10/00G06F17/30359
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,330,363
App. No.
13/530,602
Granted
May 3, 2016
Kind
B2
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 (38)

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 between the plurality of databases, the method comprising:

(a) determining propagation delays between a transaction initiating node and one or more other nodes in the network, the transaction initiating node having an associated database and each of the one or more other nodes in the network having respective associated databases, wherein the propagation delays are time values;

(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 between the plurality of databases; and

(d) upon determining that the object locks should be released, using the propagation delays to determine a time 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 that is used to determine when to release the object locks is the longest propagation delay determined between the transaction initiating node and the one or more other nodes in the network.

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 delays are communication delays.

13. The method of claim 1 wherein at least some of the different nodes are co-located, and the propagation delays are 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. 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 between the plurality of databases, the article of manufacture comprising a non-transitory 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, the transaction initiating node having an associated database and each of the one or more other nodes in the network having respective associated databases, wherein the propagation delays are time values;

(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 between the plurality of databases; and

(d) upon determining that the object locks should be released, using the propagation delays to determine a time 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.

17. The article of manufacture of claim 16 wherein the manipulations include at least one of inserts, updates and deletes.

18. The article of manufacture of claim 16 wherein the propagation delay that is used to determine when to release the object locks is the longest propagation delay determined between the transaction initiating node and the one or more other nodes in the network.

19. The article of manufacture of claim 16 wherein step (d) further comprises the transaction initiating node sending lock release commands to the one or more other nodes and to itself.

20. The article of manufacture of claim 16 wherein the fairness criteria is that all object locks are simultaneously released.

21. The article of manufacture of claim 16 wherein the fairness criteria is that all object locks are released within a predetermined time window of each other.

22. The article of manufacture of claim 16 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.

23. The article of manufacture of claim 16 wherein the fairness criteria is defined by business rules.

24. The article of manufacture of claim 16 wherein two or more of the databases are online.

25. The article of manufacture of claim 16 wherein the object is a database table.

26. The article of manufacture of claim 16 wherein the object is a row of a database table.

27. The article of manufacture of claim 16 wherein at least some of the different nodes are not co-located, and the propagation delays are communication delays.

28. The article of manufacture of claim 16 wherein at least some of the different nodes are co-located, and the propagation delays are the result of application delays associated with the different nodes.

29. The article of manufacture of claim 16 wherein the replication is synchronous replication.

30. The article of manufacture of claim 16 wherein step (a) is performed at periodic time intervals.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 3, 2015
From: GRAVIC, INC.
To: INTEL CORPORATION
Reel/Frame 036487/0205 →
Continuity (2)
Continuation 12106006 · Apr 18, 2008
Related Publication 20120296868A1 · Nov 22, 2012