IP Library Granted Patent US 9,734,185
Granted Patent B2
US 9,734,185 · App. 15/159,210 · Granted Aug 15, 2017

Mechanism for communication in a distributed database

Inventors: Sushma Anantharam (Cupertino, CA); Amitabha Biswas (San Franciso, CA); Nirapada Ghosh (Sunnyvale, CA); Harshad S. Padhye (Santa Clara, CA)
Assignee: International Business Machines Corporation
G06F17/30368G06F17/30356G06F17/30371G06F17/30575
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,734,185
App. No.
15/159,210
Granted
Aug 15, 2017
Kind
B2
Abstract

In a method for providing communication integrity within a distributed database computer system, a first node of a plurality of nodes transmits a change notification to a second node of the plurality of nodes. The change notification indicates that the first node has changed from a first version to a second version. The first node receives at least one change confirmation from the second node. The change confirmation confirms acknowledgment of the change notification by the second node and by a third node of the plurality of nodes. The first node updates a version table of the first node to show that the second node and the third node know that the first node has changed from the first version to the second version.

Claims (57)

1. A method for providing communication integrity within a distributed database computer system, the method comprising the steps of:

Transmitting, by a first node of a plurality of nodes, a change notification to a second node of the plurality of nodes, wherein the change notification indicates that the first node has changed from a first version to a second version, and wherein the second node is a neighbor of the first node;

Receiving, by the first node of the plurality of nodes, at least one change confirmation from the second node, the change confirmation confirming acknowledgement of the change notification by the second node and by a third node of the plurality of nodes, wherein the third node of the plurality of nodes is not a neighbor of the first node, and wherein the third node is a neighbor of the second node; and

Updating, by the first node of the plurality of nodes, a version table of the first node to show that the second node and the third node know that the first node has changed from the first version to the second version, wherein the version table of the first node shows the first node's knowledge about what the second node knows about the version of the first node and a version of the third node, and about what the third node knows about the version of the first node and a version of the second node.

2. The method of claim 1 , wherein the step of receiving, by the first node of the plurality of nodes, at least one change confirmation from the second node includes receiving a change confirmation from each node of the plurality of nodes.

3. The method of claim 1 , wherein the change confirmation confirming acknowledgment of the change notification by the second node and by the third node comprises a notification that the second node and the third node know that the first node has changed from the first version to the second version.

4. The method of claim 1 , wherein:

the plurality of nodes includes at least four nodes; and

the version table of the first node shows the first node's knowledge about what each of the nodes in the plurality of nodes knows about versions of each of the other nodes in the plurality of nodes.

5. The method of claim 1 , further comprising:

receiving, by the first node of the plurality of nodes, a change notification from the second node, wherein the change notification indicates that the second node has changed from a first version to a second version; and

transmitting, by the first node of the plurality of nodes, a change confirmation to the second node, the change confirmation confirming acknowledgement of the received change notification.

6. The method of claim 5 , further comprising:

updating, by the first node of the plurality of nodes, an attribute table of the first node to show that the second node has changed from the first version to the second version.

7. The method of claim 6 , further comprising:

updating, by the first node of the plurality of nodes, the version table of the first node to show that the second node knows that the second node has changed from the first version to the second version.

8. The method of claim 1 , further comprising:

receiving, by the first node of the plurality of nodes, a change notification of the third node from the second node, wherein the change notification indicates that the third node has changed from a first version to a second version; and

transmitting, by the first node of the plurality of nodes, a change confirmation to the second node for transmission to the third node, the change confirmation confirming acknowledgement of the received change notification.

9. The method of claim 8 , further comprising:

updating, by the first node of the plurality of nodes, an attribute table of the first node to show that the third node has changed from the first version to the second version.

10. The method of claim 9 , further comprising:

updating, by the first node of the plurality of nodes, the version table of the first node to show that the second node and the third node know that the third node has changed from the first version to the second version.

11. A computer program product for providing communication integrity within a distributed database computer system, the computer program product comprising:

one or more computer-readable storage media and program instructions stored on the one or more computer-readable storage media, the program instructions comprising:

program instructions to transmit, by a first node of a plurality of nodes, a change notification to a second node of the plurality of nodes, wherein the change notification indicates that the first node has changed from a first version to a second version, and wherein the second node is a neighbor of the first node;

program instructions to receive, by the first node of the plurality of nodes, at least one change confirmation from the second node, the change confirmation confirming acknowledgement of the change notification by the second node and by a third node of the plurality of nodes, wherein the third node of the plurality of nodes is not a neighbor of the first node, and wherein the third node is a neighbor of the second node; and

program instructions to update, by the first node of the plurality of nodes, a version table of the first node to show that the second node and the third node know that the first node has changed from the first version to the second version, wherein the version table of the first node shows the first node's knowledge about what the second node knows about the version of the first node and a version of the third node, and about what the third node knows about the version of the first node and a version of the second node.

12. The computer program product of claim 11 , wherein the program instructions to receive, by the first node of the plurality of nodes, at least one change confirmation from the second node include program instructions to receive a change confirmation from each node of the plurality of nodes.

13. The computer program product of claim 11 , wherein the change confirmation confirming acknowledgment of the change notification by the second node and by the third node comprises a notification that the second node and the third node know that the first node has changed from the first version to the second version.

14. The computer program product of claim 11 , wherein the program instructions further comprise:

program instructions to receive, by the first node of the plurality of nodes, a change notification from the second node, wherein the change notification indicates that the second node has changed from a first version to a second version;

program instructions to transmit, by the first node of the plurality of nodes, a change confirmation to the second node, the change confirmation confirming acknowledgement of the received change notification;

program instructions to update, by the first node of the plurality of nodes, an attribute table of the first node to show that the second node has changed from the first version to the second version; and

program instructions to update, by the first node of the plurality of nodes, the version table of the first node to show that the second node knows that the second node has changed from the first version to the second version.

15. The computer program product of claim 11 , wherein the program instructions further comprise:

program instructions to receive, by the first node of the plurality of nodes, a change notification of the third node from the second node, wherein the change notification indicates that the third node has changed from a first version to a second version;

program instructions to transmit, by the first node of the plurality of nodes, a change confirmation to the second node for transmission to the third node, the change confirmation confirming acknowledgement of the received change notification;

program instructions to update, by the first node of the plurality of nodes, an attribute table of the first node to show that the third node has changed from the first version to the second version; and

program instructions to update, by the first node of the plurality of nodes, the version table of the first node to show that the second node and the third node know that the third node has changed from the first version to the second version.

16. A computer system for providing communication integrity within a distributed database computer system, the computer system comprising:

one or more computer processors, one or more computer-readable storage media, and program instructions stored on the computer-readable storage media for execution by at least one of the one or more processors, the program instructions comprising:

program instructions to transmit, by a first node of a plurality of nodes, a change notification to a second node of the plurality of nodes, wherein the change notification indicates that the first node has changed from a first version to a second version, and wherein the second node is a neighbor of the first node;

program instructions to receive, by the first node of the plurality of nodes, at least one change confirmation from the second node, the change confirmation confirming acknowledgement of the change notification by the second node and by a third node of the plurality of nodes, wherein the third node of the plurality of nodes is not a neighbor of the first node, and wherein the third node is a neighbor of the second node; and

program instructions to update, by the first node of the plurality of nodes, a version table of the first node to show that the second node and the third node know that the first node has changed from the first version to the second version, wherein the version table of the first node shows the first node's knowledge about what the second node knows about the version of the first node and a version of the third node, and about what the third node knows about the version of the first node and a version of the second node.

17. The computer system of claim 16 , wherein the program instructions to receive, by the first node of the plurality of nodes, at least one change confirmation from the second node include program instructions to receive a change confirmation from each node of the plurality of nodes.

18. The computer system of claim 16 , wherein the change confirmation confirming acknowledgment of the change notification by the second node and by the third node comprises a notification that the second node and the third node know that the first node has changed from the first version to the second version.

19. The computer system of claim 16 , wherein the program instructions further comprise:

program instructions to receive, by the first node of the plurality of nodes, a change notification from the second node, wherein the change notification indicates that the second node has changed from a first version to a second version;

program instructions to transmit, by the first node of the plurality of nodes, a change confirmation to the second node, the change confirmation confirming acknowledgement of the received change notification;

program instructions to update, by the first node of the plurality of nodes, an attribute table of the first node to show that the second node has changed from the first version to the second version; and

program instructions to update, by the first node of the plurality of nodes, the version table of the first node to show that the second node knows that the second node has changed from the first version to the second version.

20. The computer system of claim 16 , wherein the program instructions further comprise:

program instructions to receive, by the first node of the plurality of nodes, a change notification of the third node from the second node, wherein the change notification indicates that the third node has changed from a first version to a second version;

program instructions to transmit, by the first node of the plurality of nodes, a change confirmation to the second node for transmission to the third node, the change confirmation confirming acknowledgement of the received change notification;

program instructions to update, by the first node of the plurality of nodes, an attribute table of the first node to show that the third node has changed from the first version to the second version; and

program instructions to update, by the first node of the plurality of nodes, the version table of the first node to show that the second node and the third node know that the third node has changed from the first version to the second version.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 13, 2021
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: KYNDRYL, INC.
Reel/Frame 057885/0644 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 19, 2016
From: ANANTHARAM, SUSHMA; BISWAS, AMITABHA; GHOSH, NIRAPADA; PADHYE, HARSHAD S.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 038648/0341 →
Continuity (2)
Continuation 14058327 · Oct 21, 2013
Related Publication 20160267121A1 · Sep 15, 2016