IP Library › Granted Patent US 9,612,846
Granted Patent B2
US 9,612,846 · App. 14/735,190 · Granted Apr 4, 2017

Out-of-band (OOB) real-time inventory and configuration of original equipment manufacturer (OEM) devices using advanced configuration and power interface (ACPI) and unified extensible firmware interface (UEFI) services

Inventors: Chandrasekhar Puthillathe (Bangalore, IN); Sumanth Vidyadhara (Bangalore, IN)
Assignee: Dell Products, L.P.
G06F9/4406G06F9/4411
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,612,846
App. No.
14/735,190
Filed
Jun 10, 2015
Granted
Apr 4, 2017
Kind
B2
Art Unit
2116
USPC
713/2
Abstract

Systems and methods for providing Out-of-Band (OOB) real-time inventory and configuration of Original Equipment Manufacturer (OEM) devices using Advanced Configuration and Power Interface (ACPI) and Unified Extensible Firmware Interface (UEFI) services. In an embodiment, a method may include, during the booting of an Operating System (OS) and under control of an UEFI firmware, creating an OEM runtime-defined table configured to store a list of Globally Unique Identifiers (GUIDs) associated with OEM devices, where each OEM device corresponds to an OEM vendor-owned UEFI real-time service, and where each OEM vendor-owned UEFI real-time service is configured to enable operations after the booting of the OS; and load an ACPI OEM driver configured to interpret the OEM runtime-defined table and to invoke one or more corresponding OEM vendor-owned UEFI runtime services, and inform a Baseboard Management Controller (BMC) coupled to the processor that the ACPI OEM driver is available.

Claims (44)

1. An Information Handling System (IHS), comprising:

a processor; and

a physical memory coupled to the processor, the memory having program instructions stored thereon that, upon execution by the processor, cause the IHS to:

(a) during the booting of an Operating System (OS) and under control of an Unified Extensible Firmware Interface (UEFI) firmware:

create an Original Equipment Manufacturer (OEM) runtime-defined table configured to store a list of Globally Unique Identifiers (GUIDs) associated with OEM devices coupled to the IHS, wherein each OEM device corresponds to an OEM vendor-owned UEFI real-time service, and wherein each OEM vendor-owned UEFI real-time service is configured to enable operations with respect to a corresponding one of the OEM devices after the booting of the OS; and

load an Advanced Configuration and Power Interface (ACPI) OEM driver configured to interpret the OEM runtime-defined table and to invoke one or more corresponding OEM vendor-owned UEFI runtime services, and inform a Baseboard Management Controller (BMC) coupled to the processor that the ACPI OEM driver is available;

(b) after the booting of the OS, use contents of the OEM runtime-defined table to perform, via the BMC, at least one of the operations upon at least one of the OEM devices; and

(c) determine that a Configuration Enablement Management (CEM)-capable device among the OEM devices is unable to perform or submit to one or more inventory or management operations due to one or more errors; and

(d) add the CEM-capable device to the OEM runtime-defined table.

2. The IHS of claim 1 , wherein one or more of the OEM devices are not real-time Configuration Enablement Management (CEM) capable.

3. The IHS of claim 2 , wherein the program instructions, upon execution by the processor, further cause the IHS to populate the OEM runtime-defined table under control of the BMC.

4. The IHS of claim 3 , wherein the program instructions, upon execution by the processor, further cause the IHS to generate, in response to the BMC's completion of the population operation, an ACPI General Processing Event (GPE) configured to inform the ACPI OEM driver that an ACPI event has occurred.

5. The IHS of claim 4 , wherein the ACPI GPE is a System Control Interrupt (SCI).

6. The IHS of claim 5 , wherein the program instructions, upon execution by the processor, further cause the IHS to:

read, by the OS in response to receiving the SCI, each given GUID in the OEM runtime-defined table and invoke corresponding vendor-owned UEFI real-time services; and

clear a list of active GUIDs in preparation for a subsequent set of operations.

7. The IHS of claim 1 , wherein the operations include an OEM device inventory operation.

8. The IHS of claim 1 , wherein the operations include an OEM device management operation.

9. The IHS of claim 1 , wherein the program instructions, upon execution by the processor, further cause the IHS to, prior to the booting of the OS and under control of the UEFI, make one or more ACPI tables available to the OS.

10. The IHS of claim 9 , wherein the program instructions, upon execution by the processor, further cause the IHS to, during the booting of the OS and under control of the OS, initialize the one or more ACPI tables using a Root System Description Pointer (RSPD) supplied by the UEFI.

11. The IHS of claim 10 , wherein initializing the one or more ACPI tables includes adding definition blocks in a platform vendor namespace.

12. The IHS of claim 1 , wherein the program instructions, upon execution by the processor, further cause the IHS to gather OEM device inventory information after booting of the OS and share the OEM device inventory information with the BMC in a pre-defined operating region.

13. In an Information Handling System (IHS) having a processor and a physical memory coupled to the processor, the memory having program instructions stored thereon that, upon execution by the processor, configure the IHS to provide Out-of-Band (OOB) real-time inventory and configuration of Original Equipment Manufacturer (OEM) devices using Advanced Configuration and Power Interface (ACPI) and Unified Extensible Firmware Interface (UEFI) services, a method comprising:

(a) during the booting of an Operating System (OS) and under control of an UEFI firmware:

creating an OEM runtime-defined table configured to store a list of Globally Unique Identifiers (GUIDs) associated with OEM devices coupled to the IHS, wherein each OEM device corresponds to an OEM vendor-owned UEFI real-time service, wherein the OEM devices are not real-time Configuration Enablement Management (CEM) capable, and wherein each OEM vendor-owned UEFI real-time service is configured to enable operations with respect to a corresponding one of the OEM devices after the booting of the OS; and

loading an ACPI OEM driver configured to interpret the OEM runtime-defined table and to invoke one or more corresponding OEM vendor-owned UEFI runtime services, and informing a Baseboard Management Controller (BMC) coupled to the processor that the ACPI OEM driver is available;

(b) after the booting of the OS, using contents of the OEM runtime-defined table to perform, via the BMC, at least one of the operations upon at least one of the OEM devices;

(c) receiving a ACPI General Processing Event (GPE) indicating that the BMC is being upgraded; and

(d) updating the OEM runtime-defined table during the upgrade without a reboot of the OS.

14. The method of claim 13 , further comprising populating the OEM runtime-defined table under control of the BMC.

15. The method of claim 14 , further comprising generating, in response to the BMC's completion of the population operation, another ACPI GPE configured to inform the ACPI OEM driver that an ACPI event has occurred.

16. The method of claim 15 , wherein the ACPI GPE is a System Control Interrupt (SCI).

17. The method of claim 16 , further comprising reading, by the OS in response to receiving the SCI, each given GUID in the OEM runtime-defined table and invoking corresponding vendor-owned UEFI real-time services.

18. A physical memory device having program instructions stored thereon that, upon execution by a processor of an Information Handling System (IHS), cause the IHS to:

(a) during the booting of an Operating System (OS) and under control of an Unified Extensible Firmware Interface (UEFI) firmware:

create an Original Equipment Manufacturer (OEM) table configured to store a list of Globally Unique Identifiers (GUIDs) associated with OEM devices coupled to the IHS, wherein each OEM device corresponds to an OEM vendor-owned UEFI real-time service, wherein the one or more of the OEM devices are not real-time Configuration Enablement Management (CEM) capable, and wherein each OEM vendor-owned UEFI real-time service is configured to enable operations with respect to a corresponding one of the OEM devices after the booting of the OS; and

load an Advanced Configuration and Power Interface (ACPI) OEM driver configured to interpret the OEM runtime-defined table and to invoke one or more corresponding OEM vendor-owned UEFI runtime services, and inform a Baseboard Management Controller (BMC) coupled to the processor that the ACPI OEM driver is available;

(b) after the booting of the OS, use contents of the OEM table to perform, via the BMC, at least one of the operations upon at least one of the OEM devices;

(c) determine that a Configuration Enablement Management (CEM)-capable device among the OEM devices is unable to perform or submit to one or more inventory or management operations due to one or more errors;

(d) add the CEM-capable device to the OEM table;

(e) receive a ACPI General Processing Event (GPE) indicating that the BMC is being upgraded; and

(f) in response to the GPE, update the OEM runtime-defined table during the BMC upgrade without a reboot of the OS.

19. The physical memory device of claim 18 , wherein the program instructions, upon execution by the processor, further cause the IHS to populate the OEM runtime-defined table under control of the BMC and to generate another ACPI GPE configured to inform the ACPI OEM driver that an ACPI event has occurred, wherein the ACPI GPE is a System Control Interrupt (SCI).

20. The physical memory device of claim 18 , wherein the program instructions, upon execution by the processor, further cause the IHS to read, by the OS in response to receiving the SCI, each given GUID in the OEM runtime-defined table and invoking corresponding vendor-owned UEFI real-time services, wherein the vendor-owned UEFI real-time services include inventory services and management services.

Assignments (15)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061324/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 3, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL, L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058216/0001 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
RELEASE OF REEL 036502 FRAME 0237 (TL) Recorded Sep 14, 2016
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040028/0088 →
RELEASE OF REEL 036502 FRAME 0291 (NOTE) Recorded Sep 14, 2016
From: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040027/0637 →
RELEASE OF REEL 036502 FRAME 0206 (ABL) Recorded Sep 13, 2016
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040017/0204 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (NOTES) Recorded Aug 27, 2015
From: DELL PRODUCTS L.P.; DELL SOFTWARE INC.; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 036502/0291 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (TERM LOAN) Recorded Aug 27, 2015
From: DELL PRODUCTS L.P.; DELL SOFTWARE INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 036502/0237 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (ABL) Recorded Aug 27, 2015
From: DELL PRODUCTS L.P.; DELL SOFTWARE INC.; WYSE TECHNOLOGY, L.L.C.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 036502/0206 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 10, 2015
From: PUTHILLATHE, CHANDRASEKHAR; VIDYADHARA, SUMANTH
To: DELL PRODUCTS, L.P.
Reel/Frame 035813/0341 →
Continuity (1)
Related Publication 20160364243A1 · Dec 15, 2016