Maintaining consistency of a global resource in a distributed peer process environment
First Claim
Patent Images
1. A method for controlling access to data, residing on one node, from a plurality of nodes which are coupled together as a distributed peer-to-peer data processing system group, said method comprising the steps of:
- assigning to said data a global incarnation number which is accessible to processes running on said nodes;
assigning to local versions of said data within individual nodes a local incarnation number;
providing to nodes within said group a change notification regarding said data;
comparing, within at least one of said nodes in said group upon receipt of said change notification, said global incarnation number with the local incarnation number;
based upon said comparison, providing, to at least one node in said group, a proposed incarnation number; and
determining, for at least one node in said group, whether to update the local version of said data within said node based upon a comparison of said global incarnation number with said proposed incarnation number.
2 Assignments
0 Petitions
Accused Products
Abstract
In a distributed peer-to-peer data processing system, consistency and access to a global resource maintained on one of the nodes is provided through the use of global incarnation numbers, local incarnation numbers, and proposed incarnation numbers. Internode traffic is kept to a minimum while still maintaining consistency. The system and method of the present invention are particularly useful at start-up and data change processing points in time.
-
Citations
10 Claims
-
1. A method for controlling access to data, residing on one node, from a plurality of nodes which are coupled together as a distributed peer-to-peer data processing system group, said method comprising the steps of:
-
assigning to said data a global incarnation number which is accessible to processes running on said nodes;
assigning to local versions of said data within individual nodes a local incarnation number;
providing to nodes within said group a change notification regarding said data;
comparing, within at least one of said nodes in said group upon receipt of said change notification, said global incarnation number with the local incarnation number;
based upon said comparison, providing, to at least one node in said group, a proposed incarnation number; and
determining, for at least one node in said group, whether to update the local version of said data within said node based upon a comparison of said global incarnation number with said proposed incarnation number. - View Dependent Claims (2, 3, 4, 5, 6, 8, 9)
-
-
7. A method for controlling access to data, residing on one node, from a plurality of nodes which are coupled together as a distributed peer-to-peer data processing system group, said method comprising the steps of:
-
assigning to said data a global incarnation number which is accessible to processes running on said nodes;
assigning to local versions of said data within individual nodes a local incarnation number;
providing notification to nodes within said group that a new node has joined the group and is requesting access to said data;
comparing, within said new node in said group upon receipt of said notification of joining approval, said global incarnation number with a local incarnation number;
based upon said comparison, providing to said new node in said group, a proposed incarnation number; and
determining for said new node, whether to update the local version of said data within said node, based upon a comparison of said global incarnation number with said proposed incarnation number.
-
-
10. A data processing system comprising:
-
a plurality of processor nodes each of which includes a processor and memory, said nodes having a network interconnection for sending data and messages between any one and another of said plurality of nodes;
global information stored on any one of said nodes for access and use by other ones of said nodes through said network interconnection, said global information being associated with a global incarnation number;
local information, representing versions of said global information, stored in the memories of said other nodes in said system, said local information being associated with a local incarnation number;
first program means residing in said nodes, for notifying, via said network interconnection, other nodes that said global information has changed, and providing with said notification, said global incarnation number;
second program means residing in said nodes, for comparing said received global incarnation number with said local incarnation number;
third program means residing in said nodes, for providing via said network interconnection, based upon said comparison, a proposed incarnation number for said global information; and
fourth program means residing in said nodes, for determining whether to update local versions of said information based upon comparison of said global incarnation number with said proposed incarnation number.
-
Specification