IP Library Granted Patent US 9,438,670
Granted Patent B2
US 9,438,670 · App. 13/801,977 · Granted Sep 6, 2016

Data replication for a virtual networking system

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,438,670
App. No.
13/801,977
Granted
Sep 6, 2016
Kind
B2
Abstract

Embodiments of the invention provide a method for data replication in a networking system comprising multiple computing nodes. The method comprises maintaining a data set on at least two computing nodes of the system. The method further comprises receiving a data update request for the data set, wherein the data update request includes a data update for the data set. The data set on the at least two computing nodes is updated based on the data update request received.

Claims (57)

1. A method for data replication in a virtual networking system comprising multiple computing nodes, wherein the multiple computing nodes include a first computing node, and wherein each computing node comprises a server including one or more resources, the method comprising:

maintaining a first replica of a data set for a tenant on the first computing node;

receiving, at the first computing node, a data request for the data set, wherein the data request includes a data update for the data set;

updating the first replica of the data set based on the data request;

determining where the data request originates from;

in response to determining that the data request originates from a client device:

determining a second computing node of the multiple computing nodes that maintains a second replica of the data set;

modifying the data request by modifying a transport header section of the data request to include an address of the second computing node as a destination address; and

forwarding the modified data request to the second computing node to update the second replica of the data set based on the modified data request; and

in response to determining that the data request originates from another computing node of the multiple computing nodes:

sending an acknowledgement message to the another computing node.

2. The method of claim 1 , wherein modifying the data request further comprises modifying the transport header section of the data request to further include an address of the first computing node as a source address.

3. The method of claim 1 , further comprising:

maintaining mapping information on the first computing node, wherein the mapping information identifies which one or more computing nodes of the multiple computing nodes maintains one or more replicas for the data set.

4. The method of claim 3 , wherein the second computing node is determined based on the mapping information.

5. The method of claim 4 , further comprising:

in response to determining that the data originates from the client device:

receiving a first acknowledgement message from the second computing node; and

sending a second acknowledgement message to the client device in response to receiving the first acknowledgment message from the second computing device.

6. The method of claim 2 , wherein modifying the data request into the first data replication request further comprises modifying the transport header section of the data request to further include a first port of the first computing node as a source port and a second port of the second computing node as a destination port.

7. A system comprising a computer processor, a computer-readable hardware storage medium, and program code embodied with the computer-readable hardware storage medium for execution by the computer processor to implement a method for data replication in a virtual networking system comprising multiple computing nodes, wherein the multiple computing nodes include a first computing node and wherein each computing node comprises a server including one or more resources, the method comprising:

maintaining a first replica of a data set for a tenant on the first computing node;

receiving, at the first computing node, a data request for the data set, wherein the data request includes a data update for the data set;

updating the first replica of the data set based on the data request;

determining where the data request originates from;

in response to determining that the data request originates from a client device:

determining a second computing node of the multiple computing nodes that maintains a second replica of the data set;

modifying the data request by modifying a transport header section of the data request to include an address of the second computing node as a destination address; and

forwarding the modified data request to the second computing node to update the second replica of the data set based on the modified data request; and

in response to determining that the data request originates from another computing node of the multiple computing nodes:

sending an acknowledgement message to the another computing node.

8. The system of claim 7 , the method further comprising: maintaining mapping information on the first computing node, wherein the mapping information identifies which one or more computing nodes of the multiple computing nodes maintains one or more replicas for the data set.

9. The system of claim 8 , wherein the second computing node is determined based on the mapping information.

10. The system of claim 7 , the method further comprising:

in response to determining that the data request originates from the client device:

receiving a first acknowledgement message from the second computing node; and

sending a second acknowledgement message to the client device in response to receiving the first acknowledgment message from the second computing device.

11. The system of claim 7 , wherein modifying the data request further comprises modifying the transport header section of the data request to further include an address of the first computing node as a source address.

12. The system of claim 11 , wherein modifying the data request into the first data replication request further comprises modifying the transport header section of the data request to further include a first port of the first computing node as a source port, and a second port of the second computing node as a destination port.

13. A computer program product comprising a computer-readable hardware storage medium having program code embodied therewith, the program code being executable by a computer to implement a method for data replication in a virtual networking system comprising multiple computing nodes, wherein the multiple computing nodes include a first computing node, and wherein each computing node comprises a server including one or more resources, the method comprising:

maintaining a first replica of a data set for a tenant on the first computing node;

receiving, at the first computing node, a data request for the data set, wherein the data request includes a data update for the data set;

updating the first replica of the data set based on the data request;

determining where the data request originates from;

in response to determining that the data request originates from a client device:

determining a second computing node of the multiple computing nodes that maintains a second replica of the data set;

modifying the data request by modifying a transport header section of the data request to include an address of the second computing node as a destination address; and

forwarding the modified data request to the second computing node to update the second replica of the data set based on the modified data request; and

in response to determining that the data request originates from another computing node of the multiple computing nodes:

sending an acknowledgement message to the another computing node.

14. The computer program product of claim 13 , wherein modifying the data request further comprises modifying the transport header section of the data request to further include an address of the first computing node as a source address.

15. The computer program product of claim 14 , the method further comprising: maintaining mapping information on the first computing node, wherein the mapping information identifies which one or more computing nodes of the multiple computing nodes maintains one or more replicas for the data set.

16. The computer program product of claim 15 , wherein the second computing node is determined based on the mapping information.

17. The computer program product of claim 16 , the method further comprising:

in response to determining that the data request originates from the client device:

receiving a first acknowledgement message from the second computing node; and

sending a second acknowledgement message to the client device in response to receiving the first acknowledgment message from the second computing device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 13, 2021
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: KYNDRYL, INC.
Reel/Frame 057885/0644 →