IP Library › Granted Patent US 11,385,905
Granted Patent B2
US 11,385,905 · App. 16/898,139 · Granted Jul 12, 2022

Managing boot device orders for computing devices

Inventors: Kambiz Aghaiepour (Carrboro, NC); Gonzalo Antonio Rafuls (Brno, CZ); William W. Foster, Jr. (Dublin, IE)
Assignee: Red Hat, Inc.
G06F9/4416G06F9/441G06F9/44505G06F11/0772G06F11/1417
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,385,905
App. No.
16/898,139
Granted
Jul 12, 2022
Kind
B2
Abstract

Systems and methods for managing boot device orders for computing devices are disclosed. A device management module may use boot metadata to provide a common syntax/format for a user to indicate a boot order for the computing device. The device management module may determine the appropriate commands for a particular type of computing device and use the appropriate commands to set the boot order of the computing devices to the desired boot order.

Claims (71)

1. A method, comprising:

receiving a request to modify a boot order for a set of bootable devices on a computing device, wherein the computing device is one of a set of heterogeneous computing devices, and wherein the request comprises an identifier for the computing device and a configuration for the computing device;

determining a first boot order for the set of bootable devices on the computing device based on the identifier for the computing device, the configuration for the computing device, and a boot metadata, wherein the boot metadata comprises a set of boot orders for the set of heterogeneous computing devices and wherein the boot metadata conforms to a common syntax across the set of heterogeneous computing devices;

determining a set of commands to set the boot order for the set of bootable devices to the first boot order based on command data, wherein the command data indicates a plurality of commands for managing the set of heterogeneous computing devices; and

transmitting the set of commands to an out-of-band system of the computing device, wherein the plurality of commands comprises subsets of commands that are compatible with different out-of-band systems.

2. The method of claim 1 , wherein:

the boot metadata comprises a set of entries;

each entry comprises a corresponding identifier, a corresponding configuration, and a corresponding boot order; and

the corresponding boot order comprises a set device types, a set of device locations, and a set of device identifiers.

3. The method of claim 1 , further comprising:

determining whether the boot order of the computing device matches the first boot order; and

refraining from transmitting the set of commands when the boot order of the computing device matches the first boot order.

4. The method of claim 1 , further comprising:

determining that the first boot order has an error with a subset of the set of bootable devices; and

transmitting a second set of commands to the out-of-band system of the computing device to set the boot order without using the subset of the set of bootable devices.

5. The method of claim 1 , further comprising:

determining that the first boot order has an error with a subset of the set of bootable devices; and

providing an error message to a user, wherein the error message indicates the error with the subset of the set of bootable devices.

6. The method of claim 1 , further comprising:

receiving a second request to check the boot order for the set of bootable devices;

requesting the boot order for the set of bootable devices via the out-of-band system of the computing device; and

providing the boot order for the set of bootable devices to a user.

7. The method of claim 1 , further comprising:

receiving a second request to use a first bootable device of the set of bootable devices to for a one-time boot of the computing device;

determining a second set of commands to configure the computing device to use the first bootable device for the one-time boot of the computing device based on the command data; and

transmitting the second set of commands to the out-of-band system of the computing device.

8. The method of claim 1 , further comprising:

receiving a second request for list of available bootable devices of the set of heterogeneous computing devices;

requesting the list of available bootable devices from the set of heterogeneous computing devices via a set of out-of-band systems of the set of heterogeneous computing devices; and

providing the list of available bootable devices to a user.

9. The method of claim 1 , wherein the out-of-band system of the computing device is to set the boot order for the set of bootable devices to the first boot order by updating one or more of a basis input/output system (BIOS) or a unified extensible firmware interface (UEFI) based on the set of commands.

10. The method of claim 1 , wherein the set of heterogeneous computing devices comprises one or more of:

computing devices from different vendors; or

different models of computing devices from a same vendor.

11. An apparatus, comprising:

a memory; and

a processing device operatively coupled to the memory, the processing device to:

receive a request to modify a boot order for a set of bootable devices on a computing device, wherein the computing device is one of a set of heterogeneous computing devices, and wherein the request comprises an identifier for the computing device and a configuration for the computing device;

determine a first boot order for the set of bootable devices on the computing device based on the identifier for the computing device, the configuration for the computing device, and a boot metadata, wherein the boot metadata comprises a set of boot orders for the set of heterogeneous computing devices and wherein the boot metadata conforms to a common syntax across the set of heterogeneous computing devices;

determine a set of commands to set the boot order for the set of bootable devices to the first boot order based on command data, wherein the command data indicates a plurality of commands for managing the set of heterogeneous computing devices;

determine whether the boot order of the computing device matches the first boot order;

transmit the set of commands to an out-of-band system of the computing device when the computing device does not match the first boot order; and

refrain from transmitting the set of commands when the boot order of the computing device matches the first boot order.

12. The apparatus of claim 11 , wherein:

the boot metadata comprises a set of entries;

each entry comprises a corresponding identifier, a corresponding configuration, and a corresponding boot order; and

the corresponding boot order comprises a set device types, a set of device locations, and a set of device identifiers.

13. The apparatus of claim 11 , wherein the plurality of commands comprises subsets of commands that are compatible with different out-of-band systems.

14. The apparatus of claim 11 , wherein the processing device is further to:

determine that the first boot order has an error with a subset of the set of bootable devices; and

transmit a second set of commands to the out-of-band system of the computing device to set the boot order without using the subset of the set of bootable devices.

15. The apparatus of claim 11 , wherein the processing device is further to:

receive a second request to check the boot order for the set of bootable devices;

request the boot order for the set of bootable devices via the out-of-band system of the computing device; and

provide the boot order for the set of bootable devices to a user.

16. The apparatus of claim 11 , wherein the processing device is further to:

receive a second request to use a first bootable device of the set of bootable devices for a one-time boot of the computing device;

determine a second set of commands to configure the computing device to use the first bootable device for the one-time boot of the computing device based on the command data; and

transmit the second set of commands to the out-of-band system of the computing device.

17. The apparatus of claim 11 , further comprising:

receive a second request for list of available bootable devices of the set of heterogeneous computing devices;

request the list of available bootable devices from the set of heterogeneous computing devices via a set of out-of-band systems of the set of heterogeneous computing devices; and

provide the list of available bootable devices to a user.

18. A non-transitory computer readable medium having instruction stored thereon that, when executed by a processing device, cause the processing device to:

receive a request to modify a boot order for a set of bootable devices on a computing device, wherein the computing device is one of a set of heterogeneous computing devices, and wherein the request comprises an identifier for the computing device and a configuration for the computing device;

determine a first boot order for the set of bootable devices on the computing device based on the identifier for the computing device, the configuration for the computing device, and a boot metadata, wherein the boot metadata comprises a set of boot orders for the set of heterogeneous computing devices and wherein the boot metadata conforms to a common syntax across the set of heterogeneous computing devices;

determine a set of commands to set the boot order for the set of bootable devices to the first boot order based on command data, wherein the command data indicates a plurality of commands for managing the set of heterogeneous computing devices; and

transmit the set of commands to an out-of-band system of the computing device;

receive a second request to use a first bootable device of the set of bootable devices for a one-time boot of the computing device;

determine a second set of commands to configure the computing device to use the first bootable device for the one-time boot of the computing device based on the command data; and

transmit the second set of commands to the out-of-band system of the computing device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 23, 2020
From: AGHAIEPOUR, KAMBIZ; RAFULS, GONZALO ANTONIO; FOSTER, WILLIAM W., JR.
To: RED HAT, INC.
Reel/Frame 053016/0846 →
Continuity (1)
Related Publication 20210389957A1 · Dec 16, 2021
Cited By (1)
US 12,250,221