IP Library › Granted Patent US 9,356,827
Granted Patent B2
US 9,356,827 · App. 13/785,654 · Granted May 31, 2016

Data center node management

Inventor: Michael Bevilacqua-Linn (Philadelphia, PA)
Assignee: Comcast Cable Communications, LLC
H04L41/042H04L41/069H04L43/0817H04L41/082H04L61/2038
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,356,827
App. No.
13/785,654
Granted
May 31, 2016
Kind
B2
Abstract

A distributed computing system may allow multiple devices to distribute master node responsibilities. The various nodes in the system may be given unique, sequenced, node identifiers, and may periodically report their status to a central monitor or current master node. A comparison of the report time stamps and node identifiers, made against the node identifier of the current master node, may yield a determination as to whether the current master node should be replaced.

Claims (48)

1. A method comprising:

establishing, by one or more processing devices, a master node term limit for a current master node;

receiving, by the one or more processing devices, a plurality of node reporting messages from a plurality of nodes including the current master node;

storing, by the one or more processing devices, and for each of the node reporting messages, node reporting information indicating a node that sent the node reporting message, and a time stamp for the node reporting message;

determining, by the one or more processing devices, a subset of the received plurality of node reporting messages that were received within a predetermined timeout period; and

responsive to a determination, by the one or more processing devices, that the current master node has exceeded the master node term limit, selecting, by the one or more processing devices, a new master node based on a comparison of master node priority indications for nodes sending the subset of the received plurality of node reporting messages.

2. The method of claim 1 further comprising, prior to the determination that the current master node has exceeded the master node term limit:

receiving, from a first node, a new node reporting message; and

determining that the first node is the current master node, and in response, determining whether the subset of the received plurality of node reporting messages includes any messages from a node having a higher master node priority indication than that of the first node.

3. The method of claim 2 , further comprising, in response to determining that the subset includes at least one message sent from a node having a higher master node priority indication than that of the first node, reassigning master node status from the first node to the node that sent the at least one message.

4. The method of claim 1 , further comprising assigning unique, sequential node identifiers to the plurality of nodes.

5. The method of claim 4 , wherein a lower numeric node identifier is a higher master node priority indication.

6. The method of claim 1 , further comprising, prior to the determination that the current master node has exceeded the master node term limit:

receiving, from a first node, a new node reporting message; and

determining that the first node is not the current master node, and in response, determining whether the subset of the received plurality of node reporting messages were all sent by nodes having a lower master node priority indication than that of the first node.

7. The method of claim 1 , wherein the selecting the new master node further comprises selecting a node corresponding to a highest master node priority ranking as the new master node.

8. The method of claim 1 , wherein the master node term limit is a predetermined time period representing a maximum amount of contiguous time that a node will be permitted to serve as a master node.

9. A method comprising:

receiving, at a first computing device, information indicating times at which other computing devices provided status messages, and a unique node identifier (n) for each of the other computing devices;

for each of the other computing devices:

determining the unique node identifier (n) for that other computing device;

calculating a time value (t) that is the determined unique node identifier (n) for that other computing device multiplied by a time period (P); and

ascertaining whether that other computing device provided a status report within the time value (t) prior to a current time; and

determining whether the first computing device should assume master node status over the other computing devices based on results of the calculating and ascertaining for each of the other computing devices indicated in the information.

10. The method of claim 9 , further comprising assigning unique node identifiers (n) to the other computing devices using monotonically increasing integers.

11. The method of claim 9 , further comprising limiting the calculating and ascertaining to those other computing devices having a node identifier (n) that is lower than a node identifier of the first computing device.

12. The method of claim 9 , further comprising stopping the calculating and ascertaining when another computing device is determined to have reported its status within its corresponding value of time of (t) prior to the current time.

13. A computing device, comprising:

a processor; and

a computer-readable medium, storing instructions that, when executed by the processor, cause the computing device to perform the following:

establish a master node term limit for a current master node;

receive a plurality of node reporting messages from a plurality of nodes including the current master node;

store, for each of the node reporting messages, node reporting information indicating a node that sent the node reporting message, and a time stamp for the node reporting message;

determine a subset of the received plurality of node reporting messages that were received within a predetermined timeout period; and

responsive to a determination that the current master node has exceeded the master node term limit, selecting a new master node based on a comparison of master node priority indications for nodes sending the subset of the received plurality of node reporting messages.

14. The computing device of claim 13 wherein the computer-readable medium further stores instructions that, when executed by the processor, further cause the computing device to, prior to the determining that the current master node has exceeded the master node term limit:

receive, from a first node, a new node reporting message; and

determine that the first node is the current master node, and in response, determining whether the subset of the received plurality of node reporting messages includes any messages from a node having a higher master node priority indication than that of the first node.

15. The computing device of claim 14 , wherein the computer-readable medium further stores instructions that, when executed by the processor, further cause the computing device to:

determine that the subset of the received plurality of node reporting messages includes a message from a node having a higher master node priority indication than that of the first node; and

reassign master node status from the first node to the node.

16. The computing device of claim 13 , wherein the computer-readable medium further stores instructions that, when executed by the processor, further cause the computing device to assign unique, sequential node identifiers to the plurality of nodes.

17. The computing device of claim 16 , wherein a lower numeric node identifier is a higher master node priority indication.

18. The computing device of claim 13 , wherein the master node term limit is a predetermined time period representing a maximum amount of contiguous time that a node will be permitted to serve as a master node.

19. The computing device of claim 13 , wherein selecting the new master node further comprises selecting a node corresponding to a highest master node priority ranking as the new master node.

20. The computing device of claim 13 , wherein the computer-readable medium further stores instructions that, when executed by the processor, further cause the computing device to, prior to the determining that the current master node has exceeded the master node term limit:

receive, from a first node, a new node reporting message; and

determine that the first node is not the current master node, and in response, determine whether the subset of the received plurality of node reporting messages were all sent by nodes having a lower master node priority indication than that of the first node.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 25, 2013
From: BEVILACQUA-LINN, MICHAEL
To: COMCAST CABLE COMMUNICATIONS, LLC
Reel/Frame 030075/0556 →
Continuity (2)
Provisional Application 61766052 · Feb 18, 2013
Related Publication 20140237095A1 · Aug 21, 2014