IP Library Granted Patent US 8,543,546
Granted Patent B2
US 8,543,546 · App. 13/608,284 · Granted Sep 24, 2013

Semantic replication

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 8,543,546
App. No.
13/608,284
Granted
Sep 24, 2013
Kind
B2
Abstract

Replicating data in a distributed database having a plurality of nodes is disclosed. Replicating includes receiving a semantic command at a local version of the database at a node, interpreting the semantic command, and applying the semantic command to the local version of the database.

Claims (46)

1. A method of replicating IP address assignment changes in a distributed database having a plurality of nodes, comprising:

receiving a semantic command at a first node having a first local version of the database, wherein the semantic command comprises a semantically expressed request to modify one or more IP address assignments in the database that allows for provisional modification of the first local version of the database before sending the semantic command to a master node having a master version of the database;

provisionally applying the semantic command to the first local version of the database before sending the semantic command to the master node; and

reconciling the semantic command with the master version of the database, wherein reconciling the semantic command with the master version of the database includes determining whether the semantic command includes any IP address assignment changes that would result in an IP address assignment conflict with IP address assignment data stored in the master version of the database on the master node.

2. A method as recited in claim 1 , further including interpreting the semantic command, including determining an operation associated with the semantic command, wherein the semantic command is defined by one or more instructions or operations.

3. A method as recited in claim 1 , further including sending the semantic command to the master node to reconcile the semantic command with the master version of the database based on any IP address assignment changes associated with the semantic command.

4. A method as recited in claim 1 , wherein the first node is a passive node in a high availability pair.

5. A method as recited in claim 1 , further including translating the semantic command into a set of one or more semantic commands, wherein the semantic command has a meaning in a first context that is characteristic of a first node, and wherein the set of commands has a meaning in a second context that is characteristic of a second node.

6. A method as recited in claim 1 , wherein each of the plurality of nodes includes a semantic processor configured to interpret the semantic command and apply the semantic command to the local version of the database.

7. A method as recited in claim 1 , wherein each of the plurality of nodes includes a semantic processor configured to interpret the semantic command and apply the semantic command to the local version of the database, and wherein a semantic change channel between each semantic processor is used to upgrade the semantic processor.

8. A method as recited in claim 1 , wherein each of the plurality of nodes includes a semantic processor configured to interpret the semantic command and apply the semantic command to the local version of the database, and wherein a semantic replication channel between each semantic processor is used to send and receive semantic commands.

9. A method as recited in claim 1 , wherein the semantic command is received over a semantic replication channel.

10. A method as recited in claim 1 , wherein each of the plurality of nodes includes a semantic translation processor configured to translate the semantic command so that it can be processed by a local semantic processor.

11. A method as recited in claim 1 , wherein the provisional modification comprises modifying the first local version of the database before reconciling the modification with the master node.

12. A method as recited in claim 1 , wherein the semantic command is determined not to have a conflict with the master version of the database, and further comprising:

sending the semantic command to a second node having a second local version of the database to replicate any IP address assignment changes associated with the semantic command on the second node.

13. A method as recited in claim 1 , wherein the semantic command is determined to result in a conflict with the master version of the database and further comprising:

sending conflict status information to the first node, wherein the first node manages the conflict including backing out any of the IP address assignment changes associated with the semantic command.

14. A computer program product for replicating IP address assignment changes in a distributed database having a plurality of nodes, the computer program product being embodied in a non-transitory computer readable medium and comprising computer instructions for:

receiving a semantic command at a first node having a first local version of the database, wherein the semantic command comprises a semantically expressed request to modify one or more IP address assignments in the database that allows for provisional modification of the first local version of the database before sending the semantic command to a master node having a master version of the database;

provisionally applying the semantic command to the first local version of the database before sending the semantic command to the master node; and

reconciling the semantic command with the master version of the database, wherein reconciling the semantic command with the master version of the database includes determining whether the semantic command includes any IP address assignment changes that would result in an IP address assignment conflict with IP address assignment data stored in the master version of the database on the master node.

15. A computer program product as recited in claim 14 , the computer program product further comprising further including interpreting the semantic command, including determining an operation associated with the semantic command, wherein the semantic command is defined by one or more instructions or operations.

16. A computer program product as recited in claim 14 , the computer program product further comprising further including sending the semantic command to the master node to reconcile the semantic command with the master version of the database based on any IP address assignment changes associated with the semantic command.

17. A computer program product as recited in claim 14 , wherein the first node is a passive node in a high availability pair.

18. A computer program product as recited in claim 14 , the computer program product further comprising computer instructions for translating the semantic command into a set of one or more semantic commands, wherein the semantic command has a meaning in a first context that is characteristic of a first node, and wherein the set of commands has a meaning in a second context that is characteristic of a second node.

19. A computer program product as recited in claim 14 , wherein the provisional modification comprises modifying the first local version of the database before reconciling the modification with the master node.

20. A computer program product as recited in claim 14 , wherein the semantic command is determined not to have a conflict with the master version of the database, and further comprising instructions for:

sending the semantic command to a second node having a second local version of the database to replicate any IP address assignment changes associated with the semantic command on the second node.

21. A computer program product as recited in claim 14 , wherein the semantic command is determined to result in a conflict with the master version of the database and further comprising instructions for:

sending conflict status information to the first node, wherein the first node manages the conflict including backing out any of the IP address assignment changes associated with the semantic command.

22. A system for replicating IP address assignment changes in a distributed database having a plurality of nodes, comprising:

a processor configured to:

receive a semantic command at a first node having a first local version of the database, wherein the semantic command comprises a semantically expressed request to modify one or more IP address assignments in the database that allows for provisional modification of the first local version of the database before sending the semantic command to a master node having a master version of the database;

provisionally apply the semantic command to the first local version of the database before sending the semantic command to the master node;

reconcile the semantic command with the master version of the database, wherein reconciling the semantic command with the master version of the database includes determining whether the semantic command includes any IP address assignment changes that would result in an IP address assignment conflict with IP address assignment data stored in the master version of the database on the master node; and

a memory coupled with the processor, wherein the memory provides the processor with instructions.

23. A system as recited in claim 22 , wherein the processor is further configured to interpret the semantic command, including determining an operation associated with the semantic command, wherein the semantic command is defined by one or more instructions or operations.

24. A system as recited in claim 22 , wherein the processor is further configured to send the semantic command to the master node to reconcile the semantic command with the master version of the database based on any IP address assignment changes associated with the semantic command.

25. A system as recited in claim 22 , wherein the first node is a passive node in a high availability pair.

26. A system as recited in claim 22 , wherein the processor is further configured to translate the semantic command into a set of one or more semantic commands, wherein the semantic command has a meaning in a first context that is characteristic of a first node, and wherein the set of commands has a meaning in a second context that is characteristic of a second node.

27. A system as recited in claim 22 , wherein the provisional modification comprises modifying the first local version of the database before reconciling the modification with the master node.

28. A system as recited in claim 22 , wherein the semantic command is determined not to have a conflict with the master version of the database, and wherein the processor is further configured to:

send the semantic command to a second node having a second local version of the database to replicate any IP address assignment changes associated with the semantic command on the second node.

29. A system as recited in claim 22 , wherein the semantic command is determined to result in a conflict with the master version of the database, and wherein the processor is further configured to:

send conflict status information to the first node, wherein the first node manages the conflict including backing out any of the IP address assignment changes associated with the semantic command.

Assignments (6)
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 →