IP Library Granted Patent US 6,950,820
Granted Patent B2
US 6,950,820 · App. 09/791,281 · Granted Sep 27, 2005

Maintaining consistency of a global resource in a distributed peer process environment

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 6,950,820
App. No.
09/791,281
Granted
Sep 27, 2005
Kind
B2
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.

Claims (29)

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. The method of claim 1 in which said proposed incarnation number is provided to all of the nodes within said group.

3. The method of claim 1 in which said local incarnation number, said global incarnation number and said proposed incarnation number are updated in a monotonically increasing fashion.

4. The method of claim 1 in which said local incarnation number, said global incarnation number and said proposed incarnation number are updated in a monotonically decreasing fashion.

5. The method of claim 1 in which said determining step is carried out for all of the nodes within the group.

6. The method of claim 1 in which said determining step is carried out by said processes running on said nodes.

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.

8. The method of claim 1 in which said local incarnation number, said global incarnation number and said proposed incarnation number are updated in a monotonically increasing fashion.

9. The method of claim 1 in which said local incarnation number, said global incarnation number and said proposed incarnation number are updated in a monotonically decreasing fashion.

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.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 17, 2013
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: INTELLECTUAL DISCOVERY, INC.
Reel/Frame 030628/0554 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 23, 2001
From: BAE, MYUNG M.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 011589/0841 →