IP Library Granted Patent US 9,124,654
Granted Patent B2
US 9,124,654 · App. 13/713,016 · Granted Sep 1, 2015

Forming a federated system with nodes having greatest number of compatible firmware version

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,124,654
App. No.
13/713,016
Granted
Sep 1, 2015
Kind
B2
Abstract

A method initializes a federated computer system from a fabric of nodes connected by a federated interface. Each node casts a vote to the federated interface for a candidate firmware version supported by the node casting the vote. The candidate firmware version having received the greatest number of votes is identified, and the computer system is initialized as a federated system of the nodes that support the firmware version identified as having received the greatest number of votes. A process of iterative voting may be used to identify a greater number of nodes supporting a compatible firmware version.

Claims (46)

1. A method of initializing a federated computer system from a fabric of nodes connected by a federated interface, the method comprising:

performing a sequence of voting rounds wherein each node casts a vote to the federated interface for a candidate firmware version supported by that node;

in each voting round, determining a highest firmware version and a next highest firmware version to receive at least one of the votes;

each node that voted for the highest firmware version to receive at least one of the votes, and that supports the next highest firmware version, changing its vote to the next highest firmware version in a next voting round;

identifying the candidate firmware version having received the greatest number of votes; and

upon a conclusion of voting, initializing a federated system with the nodes that support the firmware version identified as having received the greatest number of votes.

2. The method of claim 1 , wherein the step of each node casting a vote comprises:

each node generating a firmware signature as a composite of a hardware and software version information and communicating the firmware signature to the federated interface.

3. The method of claim 1 , wherein the sequence of voting rounds continues to a final voting round in which the votes do not change.

4. The method of claim 1 , further comprising:

the sequence of voting rounds including an initial voting round, wherein each node initially casts a vote to the federated interface for a highest firmware version supported by that node.

5. The method of claim 1 , further comprising:

identifying a minority set of nodes that do not support the firmware version identified as receiving the greatest number of votes; and

initializing a second federated system with the minority set of nodes.

6. The method of claim 1 , further comprising:

identifying a minority set of nodes that do not support the firmware version identified as receiving the greatest number of votes; and

initializing the minority set of the nodes in a non-federated mode of operation.

7. The method of claim 6 , further comprising:

automatically entering a flash update sequence in the minority set of the nodes in the non-federated mode of operation.

8. The method of claim 1 , further comprising:

identifying a first subset of the nodes that unanimously voted for the candidate firmware version having received the greatest number of votes and a second subset of the nodes that unanimously voted for another candidate firmware version; and

initializing a first sub-federation from the first subset of the nodes and a second sub-federation from the second subset of the nodes.

9. The method of claim 1 , further comprising:

determining the conclusion of voting when every node has published an end-of-vote signal on the federated interface.

10. The method of claim 1 , wherein each node is a server.

11. The method of claim 1 , wherein the federated interface includes high-speed links providing functional connections between nodes so that each node in the federated system is directly connected to every other node in the federated system.

12. A computer program product including computer usable program code stored on a non-transitory computer readable storage medium for initializing a federated computer system from a fabric of nodes connected by a federated interface, the computer program product including:

computer usable program code for performing a sequence of voting rounds wherein each node casts a vote to the federated interface for a candidate firmware version supported by that node;

computer usable program code for, in each voting round, determining a highest firmware version and a next highest firmware version to receive at least one of the votes;

computer usable program code for causing each node that voted for the highest firmware version to receive at least one of the votes, and that supports the next highest firmware version, to change its vote to the next highest firmware version in a next voting round;

computer usable program code for identifying the candidate firmware version having received the greatest number of votes; and

computer usable program code for, upon a conclusion of voting, initializing a federated system with the nodes that support the firmware version identified as having received the greatest number of votes.

13. The computer program product of claim 12 , wherein the computer usable program code for causing each node to cast a vote comprises:

computer usable program code for causing each node to generate a firmware signature as a composite of a hardware and software version information and communicating the firmware signature to the federated interface.

14. The computer program product of claim 12 , further comprising:

computer usable program code for identifying a minority set of nodes that do not support the firmware version identified as receiving the greatest number of votes; and

computer usable program code for initializing a second federated system with the minority set of nodes.

15. The computer program product of claim 12 , further comprising:

computer usable program code for identifying a minority set of nodes that do not support the firmware version identified as receiving the greatest number of votes; and

computer usable program code for initializing the minority set of the nodes in a non-federated mode of operation.

16. The computer program product of claim 15 , further comprising:

computer usable program code for automatically entering a flash update sequence in the minority set of the nodes in the non-federated mode of operation.

17. The computer program product of claim 12 , further comprising:

computer usable program code for identifying a first subset of the nodes that unanimously voted for the candidate firmware version having received the greatest number of votes and a second subset of the nodes that unanimously voted for another candidate firmware version; and

computer usable program code for initializing a first sub-federation from the first subset of the nodes and a second sub-federation from the second subset of the nodes.

18. The computer program product of claim 12 , wherein each node is a server.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 6, 2019
From: LENOVO ENTERPRISE SOLUTIONS (SINGAPORE) PTE LTD.
To: LENOVO INTERNATIONAL LIMITED
Reel/Frame 050300/0878 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNMENT DOCUMENT CONTAINING TYPO ERRORS PREVIOUSLY RECORDED AT REEL: 037101 FRAME: 0969. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Dec 28, 2015
From: LENOVO ENTERPRISE SOLUTIONS (SINGAPORE) PTE. LTD.
To: LENOVO INTERNATIONAL LIMITED
Reel/Frame 037689/0190 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 12, 2015
From: LENOVO ENTERPRISE SOLUTIONS (SINGAPORE) PTE. LTD.
To: LENOVO INTERNATIONAL LIMITED
Reel/Frame 037101/0969 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 10, 2014
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: LENOVO ENTERPRISE SOLUTIONS (SINGAPORE) PTE. LTD.
Reel/Frame 034194/0353 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 13, 2012
From: BOWER, FRED A.; HU, SHUNRONG; PAGAN, WILLIAM G.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 029460/0913 →