IP Library Granted Patent US 11,340,682
Granted Patent B1
US 11,340,682 · App. 17/190,073 · Granted May 24, 2022

System and method of configuring power settings of an information handling system

Inventors: Daniel Lawrence Hamlin (Round Rock, TX); Justin Walter Johnson (Austin, TX); Charles Delbert Robison (Buford, GA)
Assignee: Dell Products L.P.
G06F1/3203G06F9/4406
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,340,682
App. No.
17/190,073
Granted
May 24, 2022
Kind
B1
Abstract

In one or more embodiments, one or more systems, one or more methods, and/or one or more processes may execute a first information handling system (IHS) initialization executable of a first IHS initialization executable/operating system (OS) executable pair; execute a second OS executable of a second IHS initialization executable/OS executable pair via an OS context; determine, by the second OS executable, that at least one application has been installed on the IHS in addition to multiple applications that have already been installed on the IHS; determine, by the second OS executable, information associated with the at least one application and at least one of system information, power configuration information, status configuration information, and hardware information; and provide first information that recommends how to configure power utilization of the IHS and second information that recommends how not to configure power utilization of the IHS based at least on the determined information.

Claims (73)

1. An information handling system, comprising:

at least one processor; and

a memory medium, coupled to the at least one processor, that stores instructions executable by the at least one processor, which when executed by the at least one processor, cause the information handling system to:

execute, by the at least one processor, at least a portion of information handling system firmware (IHSFW) from a first non-volatile memory medium of the information handling system (IHS);

retrieve, from the first non-volatile memory medium, a first IHS initialization executable of a first IHS initialization executable/operating system (OS) executable pair;

execute, by the at least one processor, the first IHS initialization executable via an environment associated with the IHSFW;

retrieve, from the first non-volatile memory medium, a second IHS initialization executable of a second IHS initialization executable/OS executable pair;

execute, by the at least one processor, the second IHS initialization executable via the environment associated with the IHSFW;

execute, by the at least one processor, a second OS executable of the second IHS initialization executable/OS executable pair via an OS context of an OS;

determine, by the second OS executable, that at least one application, executable via the OS context, has been installed on the IHS in addition to a plurality of applications, executable via the OS context, that have already been installed on the IHS;

in response to determining that the at least one application has been installed on the IHS, determine, by the second OS executable, information associated with the at least one application and at least one of system information associated with the IHS, power configuration information associated with the IHS, status configuration information associated with the IHS, and hardware information associated with the IHS;

receive, by the second OS executable, developed configuration information via a network;

provide, by the second OS executable, first information that recommends how to configure power utilization of the IHS and second information that recommends how not to configure power utilization of the IHS based at least on the developed configuration information, based at least on the information associated with the at least one application, and based at least on the at least one of system information associated with the IHS, power configuration information associated with the IHS, configuration information associated with the IHS, and hardware information associated with the IHS.

2. The information handling system of claim 1 , wherein the instructions further cause the information handling system to:

register, by the first IHS initialization executable, a subroutine configured to store a plurality of addresses of a volatile memory medium of the IHS;

copy, by the first IHS initialization executable, the first OS executable of the first IHS initialization executable/OS executable pair from the first non-volatile memory medium to the volatile memory medium;

copy, by the second IHS initialization executable, the second OS executable from the first non-volatile memory medium to the volatile memory medium;

call, by the second IHS initialization executable, the subroutine;

store, by the subroutine, an address associated with the second OS executable via a data structure stored by the volatile memory medium;

retrieve, by the first OS executable, the address of the volatile memory medium associated with the second OS executable from the data structure; and

copy, by the first OS executable, the second OS executable from the volatile memory medium to the second non-volatile memory medium based at least on the second address of the volatile memory medium associated with the second OS executable.

3. The information handling system of claim 2 , wherein the data structure includes a table that is compliant with an Advanced Configuration and Power Interface (ACPI) table.

4. The information handling system of claim 1 , wherein the system information associated with the IHS includes at least one of a service tag associated with the IHS and an identifier associated with the IHS.

5. The information handling system of claim 1 , wherein the power configuration information associated with the IHS indicates at least one of that the IHS is in a battery mode, that the IHS is optimized to utilize a battery, that the IHS is optimized for a high performance mode, and that the IHS is plugged into a power supply.

6. The information handling system of claim 1 , wherein the configuration information indicates at least on of whether or not an internal camera is enabled, and at least one setting of the IHSFW.

7. The information handling system of claim 1 , wherein the hardware information associated with the IHS includes at least one of an operating speed of the at least one processor, a number of processing cores of the at least one processor, an operating speed of a graphics processing unit, a number of vectors that the graphics processing unit can simultaneously utilize, an amount of random access memory that the IHS includes, and an amount of storage of the second non-volatile memory medium available.

8. A method, comprising:

executing, by at least one processor of an information handling system (IHS), at least a portion of IHS firmware (IHSFW) from a first non-volatile memory medium of the IHS;

retrieving, from the first non-volatile memory medium, a first IHS initialization executable of a first IHS initialization executable/operating system (OS) executable pair;

executing, by the at least one processor, the first IHS initialization executable via an environment associated with the IHSFW;

retrieving, from the first non-volatile memory medium, a second IHS initialization executable of a second IHS initialization executable/OS executable pair;

executing, by the at least one processor, the second IHS initialization executable via the environment associated with the IHSFW;

executing, by the at least one processor, a second OS executable of the second IHS initialization executable/OS executable pair via an OS context of an operating system;

determining, by the second OS executable, that at least one application, executable via the OS context, has been installed on the IHS in addition to a plurality of applications, executable via the OS context, that have already been installed on the IHS;

in response to the determining that the at least one application has been installed on the IHS, determining, by the second OS executable, information associated with the at least one application and at least one of system information associated with the IHS, power configuration information associated with the IHS, status configuration information associated with the IHS, and hardware information associated with the IHS;

receiving, by the second OS executable, developed configuration information via a network;

providing, by the second OS executable, first information that recommends how to configure power utilization of the IHS and second information that recommends how not to configure power utilization of the IHS based at least on the developed configuration information, based at least on the information associated with the at least one application, and based at least on the at least one of system information associated with the IHS, power configuration information associated with the IHS, configuration information associated with the IHS, and hardware information associated with the IHS.

9. The method of claim 8 , further comprising:

registering, by the first IHS initialization executable, a subroutine configured to store a plurality of addresses of a volatile memory medium of the IHS;

copying, by the first IHS initialization executable, the first OS executable of the first IHS initialization executable/OS executable pair from the first non-volatile memory medium to the volatile memory medium;

copying, by the second IHS initialization executable, the second OS executable from the first non-volatile memory medium to the volatile memory medium;

calling, by the second IHS initialization executable, the subroutine;

storing, by the subroutine, an address associated with the second OS executable via a data structure stored by the volatile memory medium;

retrieving, by the first OS executable, the address of the volatile memory medium associated with the second OS executable from the data structure; and

copying, by the first OS executable, the second OS executable from the volatile memory medium to the second non-volatile memory medium based at least on the second address of the volatile memory medium associated with the second OS executable.

10. The method of claim 9 , wherein the data structure includes a table that is compliant with an Advanced Configuration and Power Interface (ACPI) table.

11. The method of claim 8 , wherein the system information associated with the IHS includes at least one of a service tag associated with the IHS and an identifier associated with the IHS.

12. The method of claim 8 , wherein the power configuration information associated with the IHS indicates at least one of that the IHS is in a battery mode, that the IHS is optimized to utilize a battery, that the IHS is optimized for a high performance mode, and that the IHS is plugged into a power supply.

13. The method of claim 8 , wherein the configuration information indicates at least on of whether or not an internal camera is enabled, and at least one setting of the IHSFW.

14. The method of claim 8 , wherein the hardware information associated with the IHS includes at least one of an operating speed of the at least one processor, a number of processing cores of the at least one processor, an operating speed of a graphics processing unit, a number of vectors that the graphics processing unit can simultaneously utilize, an amount of random access memory that the IHS includes, and an amount of storage of the second non-volatile memory medium available.

15. A computer-readable non-transitory memory medium that includes instructions that, when executed by at least one processor of an information handling system, cause the information handling system to:

execute, by the at least one processor, at least a portion of information handling system firmware (IHSFW) from a first non-volatile memory medium of the information handling system (IRS);

retrieve, from the first non-volatile memory medium, a first IHS initialization executable of a first IHS initialization executable/operating system (OS) executable pair;

execute, by the at least one processor, the first IHS initialization executable via an environment associated with the IHSFW;

retrieve, from the first non-volatile memory medium, a second IHS initialization executable of a second IHS initialization executable/OS executable pair;

execute, by the at least one processor, the second IHS initialization executable via the environment associated with the IHSFW;

execute, by the at least one processor, a second OS executable of the second IHS initialization executable/OS executable pair via an OS context of an operating system;

determine, by the second OS executable, that at least one application, executable via the OS context, has been installed on the IHS in addition to a plurality of applications, executable via the OS context, that have already been installed on the IHS;

in response to determining that the at least one application has been installed on the IHS, determine, by the second OS executable, information associated with the at least one application and at least one of system information associated with the IHS, power configuration information associated with the IHS, status configuration information associated with the IHS, and hardware information associated with the IHS;

receive, by the second OS executable, developed configuration information via a network;

provide, by the second OS executable, first information that recommends how to configure power utilization of the IHS and second information that recommends how not to configure power utilization of the IHS based at least on the developed configuration information, based at least on the information associated with the at least one application, and based at least on the at least one of system information associated with the IHS, power configuration information associated with the IHS, configuration information associated with the IHS, and hardware information associated with the IHS.

16. The computer-readable non-transitory memory medium of claim 15 , wherein the instructions further cause the information handling system to:

register, by the first IHS initialization executable, a subroutine configured to store a plurality of addresses of a volatile memory medium of the IHS;

copy, by the first IHS initialization executable, the first OS executable of the first IHS initialization executable/OS executable pair from the first non-volatile memory medium to the volatile memory medium;

copy, by the second IHS initialization executable, the second OS executable from the first non-volatile memory medium to the volatile memory medium;

call, by the second IHS initialization executable, the subroutine;

store, by the subroutine, an address associated with the second OS executable via a data structure stored by the volatile memory medium;

retrieve, by the first OS executable, the address of the volatile memory medium associated with the second OS executable from the data structure; and

copy, by the first OS executable, the second OS executable from the volatile memory medium to the second non-volatile memory medium based at least on the second address of the volatile memory medium associated with the second OS executable.

17. The computer-readable non-transitory memory medium of claim 15 , wherein the system information associated with the IHS includes at least one of a service tag associated with the IHS and an identifier associated with the IHS.

18. The computer-readable non-transitory memory medium of claim 15 , wherein the power configuration information associated with the IHS indicates at least one of that the IHS is in a battery mode, that the IHS is optimized to utilize a battery, that the IHS is optimized for a high performance mode, and that the IHS is plugged into a power supply.

19. The computer-readable non-transitory memory medium of claim 15 , wherein the configuration information indicates at least on of whether or not an internal camera is enabled, and at least one setting of the IHSFW.

20. The computer-readable non-transitory memory medium of claim 15 , wherein the hardware information associated with the IHS includes at least one of an operating speed of the at least one processor, a number of processing cores of the at least one processor, an operating speed of a graphics processing unit, a number of vectors that the graphics processing unit can simultaneously utilize, an amount of random access memory that the IHS includes, and an amount of storage of the second non-volatile memory medium available.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056295/0280) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 062022/0255 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056295/0001) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 062021/0844 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056295/0124) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 062022/0012 →
RELEASE OF SECURITY INTEREST Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058297/0332 →
SECURITY INTEREST Recorded May 19, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 056295/0280 →
SECURITY INTEREST Recorded May 19, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 056295/0001 →
SECURITY INTEREST Recorded May 19, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 056295/0124 →
CORRECTIVE ASSIGNMENT TO CORRECT THE MISSING PATENTS THAT WERE ON THE ORIGINAL SCHEDULED SUBMITTED BUT NOT ENTERED PREVIOUSLY RECORDED AT REEL: 056250 FRAME: 0541. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded May 17, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 056311/0781 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 2, 2021
From: HAMLIN, DANIEL LAWRENCE; JOHNSON, JUSTIN WALTER; ROBISON, CHARLES DELBERT
To: DELL PRODUCTS L.P.
Reel/Frame 055462/0262 →