IP Library Granted Patent US 7,962,458
Granted Patent B2
US 7,962,458 · App. 12/707,322 · Granted Jun 14, 2011

Method for replicating explicit locks in a data replication engine

Assignee: Gravic, Inc.
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 7,962,458
App. No.
12/707,322
Granted
Jun 14, 2011
Kind
B2
Abstract

An automated method is provided of replicating a locking protocol in a database environment for performing I/O operations wherein the database environment includes a plurality of databases. A locking protocol is performed that includes one or more explicit locking operations on objects in a first database of the database environment. The one or more explicit locking operations are replicated in one or more other databases in the database environment. At least some of the explicit locking operations are performed asynchronously with respect to the explicit locking operations performed in the first database. I/O operations are performed at the first database of the database environment that are associated with the one or more explicit locking operations implemented in the first database.

Claims (84)

1. An automated method of replicating a locking protocol in a database environment for performing I/O operations, the database environment including a plurality of databases, the method comprising:

(a) performing a locking protocol that includes one or more explicit locking operations on objects in a first database of the database environment;

(b) replicating the one or more explicit locking operations in one or more other databases in the database environment, wherein at least some of the explicit locking operations are performed asynchronously with respect to the explicit locking operations performed in the first database; and

(c) performing I/O operations at the first database of the database environment that are associated with the one or more explicit locking operations implemented in the first database.

2. The method of claim 1 further comprising:

(d) performing at least some of the I/O operations at one or more of the other databases.

3. The method of claim 2 wherein steps (b) and (d) are performed by a database replication system.

4. The method of claim 3 wherein step (b) is performed using one or more tokens.

5. The method of claim 2 wherein step (d) is performed by a database replication system and step (b) is performed outside of the database replication system.

6. The method of claim 1 wherein one or more of the explicit locking operations is a no change update performed on one or more of the objects in the first database.

7. The method of claim 1 wherein one or more of the I/O operations are part of a database transaction.

8. The method of claim 1 wherein one or more of the explicit locking operations are read locks.

9. The method of claim 1 wherein the objects in step (a) are header rows, and the I/O operations are applied to detail rows.

10. The method of claim 1 wherein the objects in step (a) are parent rows, and the I/O operations are applied to child rows, and the one or more explicit locking operations in step (c) are performed on the parent rows.

11. The method of claim 1 wherein a referential integrity relationship exists between the objects in step (a) and the I/O operations in step (c).

12. An automated method of replicating a locking protocol in a database environment for performing I/O operations, the database environment including a plurality of databases, the method comprising:

(a) performing a locking protocol that includes one or more explicit locking operations on objects in a first database of the database environment;

(b) replicating the one or more explicit locking operations in one or more other databases in the database environment;

(c) performing I/O operations at the first database of the database environment that are associated with the one or more explicit locking operations implemented in the first database; and

(d) performing at least some of the I/O operations at one or more of the other databases, wherein at least some of the I/O operations are performed asynchronously with respect to the I/O operations performed at the first database.

13. The method of claim 12 wherein steps (b) and (d) are performed by a database replication system.

14. The method of claim 13 wherein step (b) is performed using one or more tokens.

15. The method of claim 12 wherein one or more of the explicit locking operations is a no change update performed on one or more of the objects in the first database.

16. The method of claim 12 wherein step (d) is performed by a database replication system and step (b) is performed outside of the database replication system.

17. The method of claim 12 wherein one or more of the I/O operations are part of a database transaction.

18. The method of claim 12 wherein one or more of the explicit locking operations are read locks.

19. The method of claim 12 wherein the objects in step (a) are header rows, and the I/O operations performed in steps (c) and (d) are applied to detail rows.

20. The method of claim 12 wherein the objects in step (a) are parent rows, and the I/O operations are applied to child rows, and the one or more explicit locking operations in step (c) are performed on the parent rows.

21. The method of claim 12 wherein a referential integrity relationship exists between the objects in step (a) and the I/O operations in step (c).

22. An automated method of replicating a locking protocol in a database environment for performing I/O operations, the database environment including a plurality of databases, the method comprising:

(a) performing a locking protocol that includes one or more explicit locking operations on objects in a first database of the database environment;

(b) performing I/O operations at the first database of the database environment that are associated with the one or more explicit locking operations implemented in the first database;

(c) replicating the I/O operations from the first database to one or more other databases in the database environment; and

(d) performing the one or more explicit locking operations in the one or more other databases in the database environment when one or more of the I/O operations are received at the one or more other databases in the database environment, wherein at least some of the explicit locking operations are performed asynchronously with respect to the explicit locking operations performed in the first database.

23. The method of claim 22 further comprising:

(e) performing at least some of the I/O operations at one or more of the other databases.

24. The method of claim 22 wherein steps (c) and (d) are performed by a database replication system.

25. The method of claim 22 wherein the objects in step (a) are header rows, and the I/O operations are applied to detail rows, and the one or more explicit locking operations in step (d) are performed on the header rows.

26. The method of claim 22 wherein one or more of the explicit locking operations are read locks.

27. The method of claim 22 wherein one or more of the I/O operations are part of a database transaction.

28. The method of claim 22 wherein the objects in step (a) are parent rows, and the I/O operations are applied to child rows, and the one or more explicit locking operations in step (b) are performed on the parent rows.

29. The method of claim 22 wherein a referential integrity relationship exists between the objects in step (a) and the I/O operations in step (b).

30. A computer program product for replicating a locking protocol in a database environment for performing I/O operations, the database environment including a plurality of databases, the computer program product comprising computer-readable media encoded with instructions for execution by a processor to perform a method comprising:

(a) performing a locking protocol that includes one or more explicit locking operations on objects in a first database of the database environment;

(b) replicating the one or more explicit locking operations in one or more other databases in the database environment, wherein at least some of the explicit locking operations are performed asynchronously with respect to the explicit locking operations performed in the first database; and

(c) performing I/O operations at the first database of the database environment that are associated with the one or more explicit locking operations implemented in the first database.

31. The computer program product of claim 30 wherein the computer-readable media is encoded with instructions for execution by the processor to perform a method further comprising:

(d) performing at least some of the I/O operations at one or more of the other databases.

32. The computer program product of claim 31 wherein steps (b) and (d) are performed by a database replication system.

33. The computer program product of claim 32 wherein step (b) is performed using one or more tokens.

34. The computer program product of claim 31 wherein step (d) is performed by a database replication system and step (b) is performed outside of the database replication system.

35. The computer program product of claim 30 wherein one or more of the explicit locking operations is a no change update performed on one or more of the objects in the first database.

36. The computer program product of claim 30 wherein one or more of the I/O operations are part of a database transaction.

37. The computer program product of claim 30 wherein one or more of the explicit locking operations are read locks.

38. The computer program product of claim 30 wherein the objects in step (a) are header rows, and the I/O operations are applied to detail rows.

39. The computer program product of claim 30 wherein the objects in step (a) are parent rows, and the I/O operations are applied to child rows, and the one or more explicit locking operations in step (c) are performed on the parent rows.

40. The computer program product of claim 30 wherein a referential integrity relationship exists between the objects in step (a) and the I/O operations in step (c).

41. A computer program product for replicating a locking protocol in a database environment for performing I/O operations, the database environment including a plurality of databases, the computer program product comprising computer-readable media encoded with instructions for execution by a processor to perform a method comprising:

(a) performing a locking protocol that includes one or more explicit locking operations on objects in a first database of the database environment;

(b) replicating the one or more explicit locking operations in one or more other databases in the database environment;

(c) performing I/O operations at the first database of the database environment that are associated with the one or more explicit locking operations implemented in the first database; and

(d) performing at least some of the I/O operations at one or more of the other databases, wherein at least some of the I/O operations are performed asynchronously with respect to the I/O operations performed at the first database.

42. The computer program product of claim 41 wherein steps (b) and (d) are performed by a database replication system.

43. The computer program product of claim 42 wherein step (b) is performed using one or more tokens.

44. The computer program product of claim 41 wherein one or more of the explicit locking operations is a no change update performed on one or more of the objects in the first database.

45. The computer program product of claim 41 wherein step (d) is performed by a database replication system and step (b) is performed outside of the database replication system.

46. The computer program product of claim 41 wherein one or more of the I/O operations are part of a database transaction.

47. The computer program product of claim 41 wherein one or more of the explicit locking operations are read locks.

48. The computer program product of claim 41 wherein the objects in step (a) are header rows, and the I/O operations performed in steps (c) and (d) are applied to detail rows.

49. The computer program product of claim 41 wherein the objects in step (a) are parent rows, and the I/O operations are applied to child rows, and the one or more explicit locking operations in step (c) are performed on the parent rows.

50. The computer program product of claim 41 wherein a referential integrity relationship exists between the objects in step (a) and the I/O operations in step (c).

51. A computer program product for replicating a locking protocol in a database environment for performing I/O operations, the database environment including a plurality of databases, the computer program product comprising computer-readable media encoded with instructions for execution by a processor to perform a method comprising:

(a) performing a locking protocol that includes one or more explicit locking operations on objects in a first database of the database environment;

(b) performing I/O operations at the first database of the database environment that are associated with the one or more explicit locking operations implemented in the first database;

(c) replicating the I/O operations from the first database to one or more other databases in the database environment; and

(d) performing the one or more explicit locking operations in the one or more other databases in the database environment when one or more of the I/O operations are received at the one or more other databases in the database environment, wherein at least some of the explicit locking operations are performed asynchronously with respect to the explicit locking operations performed in the first database.

52. The computer program product of claim 51 wherein the computer-readable media is encoded with instructions for execution by the processor to perform a method further comprising:

(e) performing at least some of the I/O operations at one or more of the other databases.

53. The computer program product of claim 51 wherein steps (c) and (d) are performed by a database replication system.

54. The computer program product of claim 51 wherein the objects in step (a) are header rows, and the I/O operations are applied to detail rows, and the one or more explicit locking operations in step (d) are performed on the header rows.

55. The computer program product of claim 51 wherein one or more of the explicit locking operations are read locks.

56. The computer program product of claim 51 wherein one or more of the I/O operations are part of a database transaction.

57. The computer program product of claim 51 wherein the objects in step (a) are parent rows, and the I/O operations are applied to child rows, and the one or more explicit locking operations in step (b) are performed on the parent rows.

58. The computer program product of claim 51 wherein a referential integrity relationship exists between the objects in step (a) and the I/O operations in step (b).

Assignments (8)
PATENT SECURITY AGREEMENT Recorded Aug 6, 2024
From: RPX CORPORATION; RPX CLEARINGHOUSE LLC
To: BARINGS FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 068328/0674 →
RELEASE OF LIEN ON PATENTS Recorded Aug 5, 2024
From: BARINGS FINANCE LLC
To: RPX CORPORATION
Reel/Frame 068328/0278 →
RELEASE OF SECURITY INTEREST Recorded Oct 26, 2020
From: JEFFERIES FINANCE LLC
To: RPX CORPORATION
Reel/Frame 054486/0422 →
PATENT SECURITY AGREEMENT Recorded Oct 23, 2020
From: RPX CLEARINGHOUSE LLC; RPX CORPORATION
To: BARINGS FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 054244/0566 →
PATENT SECURITY AGREEMENT Recorded Oct 23, 2020
From: RPX CLEARINGHOUSE LLC; RPX CORPORATION
To: BARINGS FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 054198/0029 →
PATENT SECURITY AGREEMENT Recorded Feb 19, 2019
From: RPX CORPORATION
To: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 048376/0915 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 9, 2019
From: GRAVIC, INC.
To: RPX CORPORATION
Reel/Frame 047943/0765 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 19, 2010
From: HOLENSTEIN, BRUCE D.; HOLENSTEIN, PAUL J.; HOFFMANN, JOHN R.; HIGHLEYMAN, WILBUR H.; STRICKLER, GARY E.
To: GRAVIC, INC.
Reel/Frame 024110/0040 →
Continuity (5)
Continuation In Part 12483849 · Jun 12, 2009
Provisional Application 61061040 · Jun 12, 2008
Provisional Application 61098509 · Sep 19, 2008
Provisional Application 61208273 · Feb 20, 2009
Related Publication 20100191884A1 · Jul 29, 2010