IP Library Granted Patent US 11,516,082
Granted Patent B1
US 11,516,082 · App. 17/710,307 · Granted Nov 29, 2022

Configuration of a baseboard management controller (BMC) group leader responsive to load

Inventors: Caihong Zhang (Shanghai, CN); Ming Lei (Shanghai, CN); Fred Allison Bower, III (Durham, NC); Hai Jun Xu (Shanghai, CN)
Assignee: LENOVO GLOBAL TECHNOLOGY (UNITED STATES) INC.
H04L41/0823
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 11,516,082
App. No.
17/710,307
Granted
Nov 29, 2022
Kind
B1
Abstract

A method includes various operations and a computer program product may cause a processor to perform various operations. The operations include obtaining, for each of a plurality of baseboard management controllers (BMCs) that have been configured to form a baseboard management controller (BMC) group, an amount of load placed on the BMC, wherein a first BMC in the BMC group has been configured to operate as a BMC group leader for the BMC group. The operations further include, in response to a second BMC in the BMC group having less load than any other BMC in the BMC group, configuring the second BMC to operate as the BMC group leader and unconfiguring the first BMC to no longer operate as the BMC group leader. Still further, the operations include causing the second BMC to perform a BMC group operation operating as the BMC group leader.

Claims (43)

1. A computer program product comprising a non-volatile computer readable medium and non-transitory program instructions embodied therein, the program instructions being configured to be executable by a processor to cause the processor to perform operations comprising:

obtaining, for each of a plurality of baseboard management controllers (BMCs) that have been configured to form a baseboard management controller (BMC) group, an amount of load placed on the BMC, wherein a first BMC in the BMC group has been configured to operate as a BMC group leader for the BMC group;

in response to a second BMC in the BMC group having less load than any other BMC in the BMC group, configuring the second BMC to operate as the BMC group leader and unconfiguring the first BMC to no longer operate as the BMC group leader; and

causing the second BMC to perform a BMC group operation operating as the BMC group leader.

2. The computer program product of claim 1 , wherein the group operation includes initiating deployment of a group firmware update, operating system, configuration setting, license installation, and/or call home functionality.

3. The computer program product of claim 1 , wherein the obtained amount of load placed on each BMC is obtained during a time period in which none of the BMCs in the BMC group are performing a group operation.

4. The computer program product of claim 1 , wherein the obtained amount of load placed on each BMC is an amount of processor load and/or an amount of memory load.

5. The computer program product of claim 1 , wherein the obtained amount of load placed on each BMC is an average load for at least one trailing time period.

6. The computer program product of claim 1 , wherein the obtained amount of load placed on each BMC includes an average load for each of a plurality of trailing time periods, wherein the second BMC is determined to have less load than any other BMC in the BMC group in response to the second BMC having, for each of the plurality of trailing time periods, less average load than the average load of any other BMC in the BMC group.

7. The computer program product of claim 1 , the operations further comprising:

identifying that the BMC group operation is to be performed, wherein the operations of:

obtaining, for each of plurality of baseboard management controllers (BMCs) that have been configured to form a baseboard management controller (BMC) group, an amount of load placed on the BMC, wherein a first BMC in the BMC group has been configured to operate as a BMC group leader for the BMC group; and

in response to a second BMC in the BMC group having less load than any other BMC in the BMC group, configuring the second BMC to operate as the BMC group leader and unconfiguring the first BMC to no longer operate as the BMC group leader;

are performed in response to identifying that the BMC group operation is to be performed.

8. The computer program product of claim 7 , the operations further comprising:

establishing, for each of the plurality of BMCs in the BMC group, communication with the BMC by calling a BMC group management application programming interface (API) running on the BMC.

9. The computer program product of claim 1 , the operations further comprising:

receiving user input creating the BMC group; and

receiving user input assigning one or more of the BMCs to the BMC group.

10. The computer program product of claim 1 , wherein each of the BMCs serve as an interface between system management and hardware of a server in which the BMC is installed, and wherein the amount of load placed on the BMC includes system management interface operations.

11. A computer program product comprising a non-volatile computer readable medium and non-transitory program instructions embodied therein, the program instructions being configured to be executable by a processor to cause the processor to perform operations comprising:

periodically obtaining, for each of a plurality of baseboard management controllers (BMCs) that have been configured to form a baseboard management controller (BMC) group, an amount of load placed on the BMC, wherein a first BMC in the BMC group has been configured to operate as a BMC group leader for the BMC group;

in response to a second BMC in the BMC group having a lower amount of load than the first BMC, configuring the second BMC to operate as the BMC group leader and unconfiguring the first BMC to no longer operate as the BMC group leader; and

causing the second BMC to perform a BMC group operation operating as the BMC group leader.

12. A method, comprising:

obtaining, for each of a plurality of baseboard management controllers (BMCs) that have been configured to form a baseboard management controller (BMC) group, an amount of load placed on the BMC, wherein a first BMC in the BMC group has been configured to operate as a BMC group leader for the BMC group;

in response to a second BMC in the BMC group having less load than any other BMC in the BMC group, configuring the second BMC to operate as the BMC group leader and unconfiguring the first BMC to no longer operate as the BMC group leader; and

causing the second BMC to perform a BMC group operation operating as the BMC group leader.

13. The method of claim 12 , wherein the group operation includes initiating deployment of a group firmware update, operating system, configuration setting, license installation, and/or call home functionality.

14. The method of claim 12 , wherein the obtained amount of load placed on each BMC is obtained during a time period in which none of the BMCs in the BMC group are performing a group operation.

15. The method of claim 12 , wherein the obtained amount of load placed on each BMC is an amount of processor load and/or an amount of memory load.

16. The method of claim 12 , wherein the obtained amount of load placed on each BMC is an average load for at least one trailing time period.

17. The method of claim 12 , wherein the obtained amount of load placed on each BMC includes an average load for each of a plurality of trailing time periods, wherein the second BMC is determined to have less load than any other BMC in the BMC group in response to the second BMC having, for each of the plurality of trailing time periods, less average load than the average load of any other BMC in the BMC group.

18. The method of claim 12 , the operations further comprising:

identifying that the BMC group operation is to be performed, wherein the operations of:

obtaining, for each of plurality of baseboard management controllers (BMCs) that have been configured to form a baseboard management controller (BMC) group, an amount of load placed on the BMC, wherein a first BMC in the BMC group has been configured to operate as a BMC group leader for the BMC group; and

in response to a second BMC in the BMC group having less load than any other BMC in the BMC group, configuring the second BMC to operate as the BMC group leader and unconfiguring the first BMC to no longer operate as the BMC group leader;

are performed in response to identifying that the BMC group operation is to be performed.

19. The method of claim 18 , the operations further comprising:

establishing, for each of the plurality of BMCs in the BMC group, communication with the BMC by calling a BMC group management application programming interface (API) running on the BMC.

20. The method of claim 12 , the operations further comprising:

receiving user input creating the BMC group; and

receiving user input assigning one or more of the BMCs to the BMC group.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 20, 2025
From: LENOVO ENTERPRISE SOLUTIONS (SINGAPORE) PTE LTD.
To: LENOVO GLOBAL TECHNOLOGIES INTERNATIONAL LTD.
Reel/Frame 070267/0096 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 20, 2025
From: LENOVO GLOBAL TECHNOLOGIES INTERNATIONAL LIMITED
To: LENOVO GLOBAL TECHNOLOGIES SWITZERLAND INTERNATIONAL GMBH
Reel/Frame 070269/0207 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 18, 2022
From: ZHANG, CAIHONG; LEI, MING; BOWER, FRED ALLISON, III; XU, HAIJUN
To: LENOVO GLOBAL TECHNOLOGY (UNITED STATES) INC.
Reel/Frame 059944/0633 →