IP Library Granted Patent US 7,953,890
Granted Patent B1
US 7,953,890 · App. 11/341,301 · Granted May 31, 2011

System and method for switching to a new coordinator resource

Assignee: Symantec Operating Corporation
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,953,890
App. No.
11/341,301
Granted
May 31, 2011
Kind
B1
Abstract

Various embodiments of methods and systems for dynamically switching to a new coordinator resource are disclosed. In one embodiment, a method involves receiving information identifying a new coordinator resource for use by a cluster; detecting whether each of the nodes within the cluster is committing to use the new coordinator resource; and switching from an existing coordinator resource to the new coordinator resource, in response to detecting that each of the nodes within the cluster is committing to use the new coordinator resource. This method can be performed concurrently with normal cluster operations, and thus the cluster need not be disabled to perform the switchover.

Claims (87)

1. A method comprising:

receiving information identifying a new coordinator resource for use by a cluster, wherein

the cluster is coupled to an existing coordinator resource,

the cluster comprises a plurality of nodes, and

one of the nodes of the plurality of nodes is a primary node;

detecting whether each of the nodes within the cluster is committing to use the new coordinator resource, wherein

the detecting comprises detecting whether each of the nodes of the cluster has received a switchover request, and

the detecting is performed prior to switching from the existing coordinator resource to the new coordinator resource;

detecting a cluster partition;

switching from the existing coordinator resource to the new coordinator resource, in response to detecting that each of the nodes within the cluster is committing to use the new coordinator resource, wherein

the new coordinator resource is configured to deny access by a first node of the plurality of nodes subsequent to the cluster partition; and

ending cluster operations on the first node, if the first node has not received a done message from each of the other nodes in the cluster prior to detection of the cluster partition, wherein each done message indicates that a respective sending node is now using the new coordinator resource.

2. The method of claim 1 , wherein cluster operations are performed concurrently with the receiving, the detecting, and the switching.

3. The method of claim 1 , further comprising:

detecting whether a second node can use the new coordinator resource; and

sending a rollback message to at least one of the nodes within the cluster, in response to detecting that the second node cannot use the new coordinator resource, wherein the rollback message instructs the at least one of the nodes to use the existing coordinator resource instead of the new coordinator resource.

4. The method of claim 3 , wherein the detecting whether the second node can use the new coordinator resource comprises attempting to register the second node with a set of coordinator storage devices.

5. The method of claim 1 , wherein the existing coordinator resource and the new coordinator resource are a same coordinator resource.

6. The method of claim 1 , wherein the detecting whether each of the nodes within the cluster is committing to use the new coordinator resource comprises:

receiving a commit message at a second node from each other one of the nodes within the cluster.

7. The method of claim 1 , further comprising:

sending a message identifying the new coordinator resource from a second node of the nodes to at least one of the nodes within the cluster.

8. The method of claim 7 , further comprising:

comparing messages received from the nodes in the cluster to determine whether each node in the cluster is identifying a same resource as the second node is identifying.

9. The method of claim 7 , further comprising:

sending a done message from the second node to at least one of the nodes in the cluster, in response to the second node switching from the existing coordinator resource to the new coordinator resource, wherein the done message indicates that the second node is now using the new coordinator resource.

10. A system comprising:

a first coordinator resource;

a second coordinator resource; and

a cluster comprising a plurality of nodes, wherein

the first coordinator resource is coupled to the cluster,

the cluster comprises a primary node,

the cluster is configured to:

detect, prior to switching from the first coordinator resource to the second coordinator resource, whether each of the plurality of nodes is committing to use the second coordinator resource, wherein

the cluster is further configured to detect whether each of the nodes of the cluster has received a switchover request;

detect a cluster partition;

switch from using the first coordinator resource to using the second coordinator resource without ending cluster operations, wherein

the second coordinator resource is configured to deny access by a first node of the plurality of nodes subsequent to the cluster partition; and

end cluster operations on the first node, if the first node has not received a done message from each of the other nodes in the cluster prior to detection of the cluster partition, wherein the done message indicates that a sending node is using the second coordinator resource.

11. The system of claim 10 , wherein the cluster is configured to:

verify that each of the nodes can use the second coordinator resource; and

inhibit the switch from using the first coordinator resource to using the second coordinator resource unless each of the nodes can use the second coordinator resource.

12. The system of claim 10 , wherein the cluster is configured to:

detect whether each of the nodes is committed to using the second coordinator resource; and

inhibit the switch from using the first coordinator resource to using the second coordinator resource unless each of the nodes has committed to use the second coordinator resource.

13. The system of claim 10 , wherein the cluster is configured to:

detect whether each of the nodes identifies the second coordinator resource as a new coordinator resource; and

inhibit the switch from using the first coordinator resource to using the second coordinator resource unless each of the nodes identifies the second coordinator resource as the new coordinator resource.

14. The system of claim 10 , wherein the second coordinator resource comprises one of: a set of one or more storage devices, a network switch, a process, a non-cluster node, and a management console.

15. A node comprising:

an interface configured to receive information identifying a new coordinator resource; and

a coordinator resource update module coupled to the interface and configured to:

receive information identifying a new coordinator resource for use by a cluster, wherein

the cluster comprises the node and an additional node,

the cluster comprises a primary node,

the cluster is coupled to an existing coordinator resource;

detect, prior to switching from the existing coordinator resource to the new coordinator resource, whether each of the nodes of the cluster is committing to use the new coordinator resource, wherein the coordinator resource update module is further configured to

detect whether each of the nodes of the cluster has received

a switchover request;

detect a cluster partition; and

switch from the existing coordinator resource to the new coordinator resource, in response to detecting that each of the nodes of the cluster is committing to use the new coordinator resource, wherein

the new coordinator resource is configured to deny access by a first node of the plurality of nodes subsequent to the cluster partition;

end cluster operations on the first node, if the first node has not received a done message from each of the other nodes in the cluster prior to detection of the cluster partition, wherein the done message indicates that a sending node is now using the new coordinator resource.

16. The node of claim 15 , wherein the coordinator resource update module is configured to:

detect whether the node can use the new coordinator resource; and

send a rollback message to the additional node, if the node cannot use the new coordinator resource,

wherein the rollback message instructs the at least one of the nodes to use the existing coordinator resource instead of the new coordinator resource.

17. The node of claim 16 , wherein

the new coordinator resource comprises a storage device; and

the coordinator resource update module is configured to determine that the node can use the new coordinator resource if the node can register a key with the storage device.

18. The node of claim 15 , wherein the existing coordinator resource is the new coordinator resource.

19. The node of claim 15 , wherein the coordinator resource update module is configured to send a done message to the additional node, in response to switching from the existing coordinator resource to the new coordinator resource wherein the done message indicates that the node is now using the new coordinator resource.

20. A non-transitory computer readable storage medium comprising program instructions executable to:

receive information identifying a new coordinator resource for use by a cluster, wherein

the cluster is coupled to an existing coordinator resource,

the cluster comprises a plurality of nodes, and

one of the nodes of the plurality of nodes is a primary node;

detect, prior to switching from the existing coordinator resource to the new coordinator resource, whether each of the nodes within the cluster is committing to use the new coordinator resource;

detect whether each of the nodes of the cluster has received a switchover request;

detect a cluster partition;

switch from the existing coordinator resource to the new coordinator resource, in response to detecting that each of the nodes within the cluster is committing to use the new coordinator resource, wherein

the new coordinator resource is configured to deny access by a first node of the plurality of nodes subsequent to the cluster partition; and

end cluster operations on the first node, if the first node has not received a done message from each of the other nodes in the cluster prior to detection of the cluster partition, wherein the done message indicates that a sending node is now using the new coordinator resource.

21. The non-transitory computer readable storage medium of claim 20 , wherein the program instructions are further executable to:

determine whether a second node of the nodes can use the new coordinator resource; and

send a rollback message to at least one of the nodes within the cluster, in response to detecting that the second node cannot use the new coordinator resource.

22. The non-transitory computer readable storage medium of claim 20 , wherein the existing coordinator resource is the new coordinator resource.

Assignments (11)
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 →
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069634/0584 →
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 →
SECURITY INTEREST Recorded Aug 20, 2020
From: VERITAS TECHNOLOGIES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 054370/0134 →
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 →
CHANGE OF NAME Recorded Oct 1, 2007
From: VERITAS OPERATING CORPORATION
To: SYMANTEC OPERATING CORPORATION
Reel/Frame 019899/0213 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 27, 2006
From: KATKAR, AMOL S.; CHEN, GRACE; KAMAT, VIRAJ R.; DIVATIA, SHARDUL
To: VERITAS OPERATING CORPORATION
Reel/Frame 017523/0891 →