IP Library Granted Patent US 7,383,281
Granted Patent B1
US 7,383,281 · App. 10/950,184 · Granted Jun 3, 2008

Multiversion database cluster management

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,383,281
App. No.
10/950,184
Granted
Jun 3, 2008
Kind
B1
Abstract

A technique for propagating an update from a first database having a first version to a second database having a second version is disclosed. The technique includes receiving an update and the first version, determining a translation path, and translating the update to the second version.

Claims (67)

1. A computer-implemented method of propagating an update from a first database having a first version to a second database having a second version, including:

receiving an update to a value in a first data structure in the first database;

determining a translation path for updating the second database, wherein the translation path comprises a sequence of two or more translation steps for translating the update from the first version to the second version; and

translating the update to the second version using the translation path so that the translated update can be applied to the second database;

wherein the sequence of translation steps includes a first translation step and a second translation step and wherein translating includes:

executing the first translation step to translate the update from the first version of the database to a third version of the database; and

executing the second translation step to translate the update from the third version of the database to the second version of the database.

2. The method as recited in claim 1 , wherein the first version is determined using a content based key associated with the first database.

3. The method as recited in claim 1 , wherein the first version is a hash value associated with the first database.

4. The method as recited in claim 1 , wherein the first database and the second database are in a database cluster.

5. The method as recited in claim 1 , wherein translating includes executing steps in the translation path.

6. The method as recited in claim 1 , further including building a translation graph.

7. The method as recited in claim 1 , wherein the path is the shortest path in a translation graph.

8. The method as recited in claim 1 , wherein determining the translation path is based on a content based key associated with the first version and a content based key associated with the second version.

9. The method as recited in claim 1 , wherein determining the translation path is based on a hash value associated with the first version and a hash value associated with the second version.

10. The method as recited in claim 1 , wherein translating includes processing a markup language representation of each translation step.

11. The method as recited in claim 1 , wherein translating includes processing an XML representation of each translation step.

12. The method as recited in claim 1 , wherein each translation step translates the database to another version of the database.

13. The method as recited in claim 1 , wherein translating includes executing translations steps, wherein each translation step translates the database to another version of the database.

14. The method as recited in claim 1 , wherein translating includes applying a translation of type name change, value change, new member, or value transform.

15. A system for propagating an update from a first database having a first version to a second database having a second version, including:

a processor configured to: receive an update to a value in a first data structure in the first database;

determine a translation path for updating the second database, wherein the translation path comprises a sequence of one or more translation steps for translating the update from the first version to the second version; and

translate the update to the second version using the translation path so that the translated update can be applied to the second database;

wherein the sequence of translation steps includes a first translation step and a second translation step and wherein translating includes:

executing the first translation step to translate the update from the first version of the database to a third version of the database; and

executing the second translation step to translate the update from the third version of the database to the second version of the database; and

a memory that is coupled with the processor, wherein the memory provides the processor with computer-executable instructions.

16. The system as recited in claim 15 , wherein the first version is a content based key associated with the first database.

17. The system as recited in claim 15 , wherein the first version is a hash value associated with the first database.

18. The system as recited in claim 15 , wherein the first database and the second database are in a database cluster.

19. The system as recited in claim 15 , wherein translate includes execute steps in the translation path.

20. The system as recited in claim 15 , wherein the processor is further configured to building a translation graph.

21. The system as recited in claim 15 , wherein the path is the shortest path in a translation graph.

22. The system as recited in claim 15 , wherein the translation path is determined based on a content based key associated with the first version and a content based key associated with the second version.

23. The system as recited in claim 15 , wherein the translation path is determined based on a hash value associated with the first version and a hash value associated with the second version.

24. The system as recited in claim 15 , wherein translate includes process a markup language representation of each translation step.

25. The system as recited in claim 15 , wherein translate includes process an XML representation of each translation step.

26. The system as recited in claim 15 , wherein each translation step translates the database to another version of the database.

27. The system as recited in claim 15 , wherein translate includes execute translations steps, wherein each translation step translates the database to another version of the database.

28. The system as recited in claim 15 , wherein translate includes apply a translation of type name change, value change, new member, or value transform.

29. A computer program product for propagating an update from a first database having a first version to a second database having a second version, the computer program product being embodied in a computer readable storage medium and comprising computer-executable instructions for:

receiving an update to a value in a first data structure in the first database;

determining a translation path for updating the second database, wherein the translation path comprises a sequence of one or more translation steps for translating the update from the first version to the second version; and

translating the update to the second version using the translation path so that the translated update can be applied to the second database;

wherein the sequence of translation steps includes a first translation step and a second translation step and wherein translating includes:

executing the first translation step to translate the update from the first version of the database to a third version of the database; and

executing the second translation step to translate the update from the third version of the database to the second version of the database.

30. The computer program product as recited in claim 29 , wherein the first version is a content based key associated with the first database.

31. The computer program product as recited in claim 29 , wherein the first version is a hash value associated with the first database.

32. The computer program product as recited in claim 29 , wherein the first database and the second database are in a database cluster.

33. The computer program product as recited in claim 29 , wherein translating includes executing steps in the translation path.

34. The computer program product as recited in claim 29 , the computer program product further comprising computer instructions for building a translation graph.

35. The computer program product as recited in claim 29 , wherein the path is the shortest path in a translation graph.

36. The computer program product as recited in claim 29 , wherein determining the translation path is based on a content based key associated with the first version and a content based key associated with the second version.

37. The computer program product as recited in claim 29 , wherein determining the translation path is based on a hash value associated with the first version and a hash value associated with the second version.

38. The computer program product as recited in claim 29 , wherein translating includes processing a markup language representation of each translation step.

39. The computer program product as recited in claim 29 , wherein translating includes processing an XML representation of each translation step.

40. The computer program product as recited in claim 29 , wherein each translation step translates the database to another version of the database.

41. The computer program product as recited in claim 29 , wherein translating includes executing translations steps, wherein each translation step translates the database to another version of the database.

42. The computer program product as recited in claim 29 , wherein translating includes applying a translation of type name change, value change, new member, or value transform.

43. The method as recited in claim 1 , wherein the first data structure is an existing data structure in the first database.

44. The method as recited in claim 1 , wherein the translation steps include creating a new data structure in the second database that corresponds to the first data structure.

45. The system as recited in claim 15 , wherein the first data structure is an existing data structure in the first database.

46. The system as recited in claim 15 , wherein the translation steps include creating a new data structure in the second database that corresponds to the first data structure.

47. The computer program product as recited in claim 29 , wherein the first data structure is an existing data structure in the first database.

48. The computer program product as recited in claim 29 , wherein the translation steps include creating a new data structure in the second database that corresponds to the first data structure.

Assignments (7)
RELEASE OF FIRST LIEN SECURITY INTEREST IN PATENTS (RELEASES RF 040575/0549) Recorded Dec 3, 2020
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: INFOBLOX INC.
Reel/Frame 054585/0914 →
FIRST LIEN SECURITY AGREEMENT Recorded Dec 2, 2020
From: INFOBLOX INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 054615/0317 →
SECOND LIEN SECURITY AGREEMENT Recorded Dec 2, 2020
From: INFOBLOX INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 054615/0331 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS (RELEASES RF 040579/0302) Recorded Oct 23, 2019
From: ROYAL BANK OF CANADA, AS COLLATERAL AGENT
To: INFOBLOX, INC.
Reel/Frame 050809/0980 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Nov 8, 2016
From: INFOBLOX INC.
To: ROYAL BANK OF CANADA, AS COLLATERAL AGENT
Reel/Frame 040579/0302 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Nov 7, 2016
From: INFOBLOX INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 040575/0549 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE PREVIOUSLY RECORDED ON REEL 015425 FRAME 0272. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNEE'S CORRECT NAME IS INFOBLOX INC. Recorded Oct 25, 2016
From: GUTTI, SRINATH; PULLEYN, IVAN
To: INFOBLOX INC.
Reel/Frame 040478/0694 →