IP Library Granted Patent US 7,899,934
Granted Patent B2
US 7,899,934 · App. 11/651,707 · Granted Mar 1, 2011

Handling un-partitioning of a computer network

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 7,899,934
App. No.
11/651,707
Granted
Mar 1, 2011
Kind
B2
Abstract

A system and method for handling un-partitioning of a computer network are disclosed. Routing information may be stored on a first node in the network when the network is partitioned into a first group of nodes and a second group of nodes, where the first node is in the first group of nodes. Storing the routing information on the first node may include storing information usable to route messages to nodes in the first group of nodes. A technique for determining when the second group of nodes has become un-partitioned from the first group of nodes (i.e., for determining when the partition has been repaired) may be employed. In response to determining that the second group of nodes has become un-partitioned from the first group of nodes, the routing information on the first node may be modified. Modifying the routing information on the first node may include storing information useable to route messages to nodes in the second group of nodes.

Claims (61)

1. A method for determining when a network becomes unpartitioned, the method comprising:

assigning a value to each node in the network using a computer, in response to the detection of a failure of a link that enables communication between nodes, such that all nodes in a given group of nodes are assigned the same value, wherein the network is partitioned into a first group of nodes and a second group of nodes,

each node in the first group of nodes is assigned a first value,

each node in the second group of nodes is assigned a second value, and

the first value is different than the second value;

determining that a new link has been added to the network using the computer, wherein the link enables a first node to communicate with a second node;

comparing the value assigned to the first node to the value assigned to the second node using the computer; and

determining that the value assigned to the first node is different than the value assigned to the second node using the computer, wherein

said determining that the value assigned to the first node is different than the value assigned to the second node indicates that the network has become unpartitioned.

2. The method of claim 1 , wherein said assigning a value to each node in the network is performed in response to detecting that the network has become partitioned into the first group of nodes and the second group of nodes.

3. The method of claim 1 , further comprising:

modifying routing information stored on one or more nodes in the network in response to determining that the network has become un-partitioned.

4. The method of claim 1 , further comprising one of:

assigning the first value to each node in the second group of nodes after determining that the network has become un-partitioned; or

assigning the second value to each node in the first group of nodes after determining that the network has become un-partitioned.

5. The method of claim 1 , wherein said assigning a value to each node in the network is performed using a technique that guarantees that each node in the same group is assigned the same value.

6. The method of claim 5 , further comprising:

utilizing Lamport Logical Clock readings to ensure that each node in the same group is assigned the same value.

7. The method of claim 1 , wherein said assigning a value to each node in the network is performed using a technique that guarantees that the first value assigned to nodes in the first group of nodes is different than the second value assigned to nodes in the second group of nodes.

8. The method of claim 1 , further comprising:

assigning an undefined value to each node in the network before the network is partitioned into the first group of nodes and the second group of nodes.

9. A non-transitory computer-readable memory medium comprising program instructions executable to:

assign a value to each node in a network in response to the detection of a failure of a link that enables communication between nodes, such that all nodes in a given group of nodes are assigned the same value, wherein

the network is partitioned into a first group of nodes and a second group of nodes,

each node in the first group of nodes is assigned a first value,

each node in the second group of nodes is assigned a second value, and

the first value is different than the second value;

determine that a new link has been added to the network, wherein

the link enables a first node to communicate with a second node;

compare the value assigned to the first node to the value assigned to the second node; and

determine that the value assigned to the first node is different than the value assigned to the second node, wherein

said determining that the value assigned to the first node is different than the value assigned to the second node indicates that the network has become unpartitioned.

10. The computer-readable memory medium of claim 9 , wherein said assigning a value to each node in the network is performed in response to detecting that the network has become partitioned into the first group of nodes and the second group of nodes.

11. The computer-readable memory medium of claim 9 , wherein the program instructions are further executable to:

modify routing information stored on one or more nodes in the network in response to determining that the network has become un-partitioned.

12. The computer-readable memory medium of claim 9 , wherein the program instructions are further executable to perform one of:

assigning the first value to each node in the second group of nodes after determining that the network has become un-partitioned; or

assigning the second value to each node in the first group of nodes after determining that the network has become un-partitioned.

13. The computer-readable memory medium of claim 9 , wherein the program instructions are further executable to:

assign an undefined value to each node in the network before the network is partitioned into the first group of nodes and the second group of nodes.

14. A system comprising:

a plurality of nodes in a network;

wherein the plurality of nodes execute program instructions to:

assign a value to each node in the network in response to the detection of a failure of a link that enables communication between nodes, such that all nodes in a given group of nodes are assigned the same value, wherein

the network is partitioned into a first group of nodes and a second group of nodes,

each node in the first group of nodes is assigned a first value,

each node in the second group of nodes is assigned a second value, and

the first value is different than the second value;

determine that a new link has been added to the network, wherein

the link enables a first node to communicate with a second node;

compare the value assigned to the first node to the value assigned to the second node; and

determine that the value assigned to the first node is different than the value assigned to the second node, wherein

said determining that the value assigned to the first node is different than the value assigned to the second node indicates that the network has become unpartitioned.

15. The system of claim 14 , wherein said assigning a value to each node in the network is performed in response to detecting that the network has become partitioned into the first group of nodes and the second group of nodes.

16. The system of claim 14 , wherein the plurality of nodes further execute program instructions to:

modify routing information stored on one or more nodes in the network in response to determining that the network has become un-partitioned.

17. The system of claim 14 , wherein the plurality of nodes further execute program instructions to perform one of:

assigning the first value to each node in the second group of nodes after determining that the network has become un-partitioned; or

assigning the second value to each node in the first group of nodes after determining that the network has become un-partitioned.

18. The system of claim 7 , wherein the plurality of nodes further execute program instructions to:

assign an undefined value to each node in the network before the network is partitioned into the first group of nodes and the second group of nodes.

Assignments (9)
RELEASE OF SECURITY INTEREST Recorded Dec 16, 2024
From: ACQUIOM AGENCY SERVICES LLC, AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC (F/K/A VERITAS US IP HOLDINGS LLC)
Reel/Frame 069712/0090 →
ASSIGNMENT OF SECURITY INTEREST IN PATENT COLLATERAL Recorded Nov 25, 2024
From: BANK OF AMERICA, N.A., AS ASSIGNOR
To: ACQUIOM AGENCY SERVICES LLC, AS ASSIGNEE
Reel/Frame 069440/0084 →
TERMINATION AND RELEASE OF SECURITY IN PATENTS AT R/F 037891/0726 Recorded Nov 30, 2020
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: VERITAS US IP HOLDINGS, LLC
Reel/Frame 054535/0814 →
MERGER AND CHANGE OF NAME Recorded Apr 18, 2016
From: VERITAS US IP HOLDINGS LLC; VERITAS TECHNOLOGIES LLC
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 038455/0752 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 037891/0726 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037891/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 4, 2016
From: SYMANTEC CORPORATION
To: VERITAS US IP HOLDINGS LLC
Reel/Frame 037697/0412 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE PREVIOUSLY RECORDED ON REEL 019872 FRAME 979. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNEE IS SYMANTEC OPERATING CORPORATION. Recorded Feb 21, 2008
From: VERITAS OPERATING CORPORATION
To: SYMANTEC OPERATING CORPORATION
Reel/Frame 020540/0248 →
CHANGE OF NAME Recorded Sep 26, 2007
From: VERITAS OPERATING CORPORATION
To: SYMANTEC CORPORATION
Reel/Frame 019872/0979 →