IP Library Granted Patent US 10,684,904
Granted Patent B2
US 10,684,904 · App. 16/193,651 · Granted Jun 16, 2020

Information handling systems and methods to selectively control ownership of a hardware based watchdog timer (WDT)

Inventors: Manuel Novoa (Leander, TX); Wai Ming R. Chan (Austin, TX)
Assignee: Dell Products L.P.
G06F11/0757G06F9/4401G06F9/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 10,684,904
App. No.
16/193,651
Granted
Jun 16, 2020
Kind
B2
Abstract

Embodiments of information handling systems and methods are provided herein to selectively control ownership of a hardware watchdog timer (WDT) provided on a system platform of an information handling system (IHS), which is configured to store and execute boot firmware, an operating system (OS) and one or more user applications. One embodiment of a method disclosed herein may include receiving user input in a boot setup utility of the boot firmware to select between OS-ownership and user application-ownership of the hardware WDT during OS runtime, and controlling ownership of the hardware WDT during OS runtime based on the user input received in the boot setup utility. Another embodiment of a method disclosed herein may authorize one or more user applications prior to controlling ownership of the hardware WDT during OS runtime, so that only authorized user applications are enabled to use the hardware WDT.

Claims (39)

1. An information handling system (IHS), comprising:

a hardware watchdog timer (WDT) provided on a system platform of the IHS;

a computer readable storage medium configured to store an operating system (OS), a plurality of user applications and a watchdog timer driver;

a computer readable non-volatile memory configured to store boot firmware having a boot setup utility, which enables a user to select between OS-ownership and user application-ownership of the hardware WDT during OS runtime; and

a host processing device configured to execute program instructions within the boot firmware when the IHS is booted before the OS is loaded into a system memory of the IHS and executed by the host processing device during OS runtime;

wherein when user application-ownership of the hardware WDT is selected in the boot setup utility, program instructions within the watchdog timer driver are executed by the host processing device to enable one or more of the user applications to use the hardware WDT during OS runtime.

2. The information handling system as recited in claim 1 , wherein when OS-ownership of the hardware WDT is selected in the boot setup utility, the operating system retains sole access to and use of the hardware WDT during OS runtime.

3. The information handling system as recited in claim 1 , wherein the computer readable non-volatile memory is further configured to store:

a first watchdog timer action table (WDAT) specified for the operating system, wherein the first watchdog timer action table is loaded into the system memory when the IHS is booted if the user selects OS-ownership of the hardware WDT in the boot setup utility; and

a second watchdog timer action table (DWDT) specified for the one or more user applications, wherein the second watchdog timer action table is loaded into the system memory when the IHS is booted if the user selects user application-ownership of the hardware WDT in the boot setup utility.

4. The information handling system as recited in claim 3 , wherein the first watchdog timer action table (WDAT) and the second watchdog timer action table (DWDT) are Advanced Configuration and Power Interface (ACPI) watchdog timer action tables.

5. The information handling system as recited in claim 3 , wherein the second watchdog timer action table (DWDT) specifies at least one watchdog action to be performed for the one or more user applications if the hardware WDT reaches at least one timeout value, which is specified for the one or more user applications and used to configure the hardware WDT.

6. The information handling system as recited in claim 5 , wherein the at least one timeout value comprises a first timeout value specified for a first one of the user applications and a second timeout value specified for a second one of the user applications, wherein the second timeout value differs from the first timeout value.

7. The information handling system as recited in claim 1 , further comprising a watchdog application program interface, which is stored within the computer readable storage medium and comprises program instructions that are executable by the host processing device to control access to the watchdog timer driver.

8. The information handling system as recited in claim 7 , wherein the program instructions of the watchdog application program interface are executable by the host processing device to authorize one or more user applications and allow only the authorized user applications to access the watchdog timer driver during OS runtime.

9. The information handling system as recited in claim 8 , wherein the program instructions of the watchdog application program interface are executable by the host processing device to authorize multiple user applications to access the watchdog timer driver and share the hardware WDT during OS runtime.

10. The information handling system as recited in claim 8 , wherein the program instructions of the watchdog application program interface are executable by the host processing device to:

authorize at least one user application if a unique identifier and a binding key provided by the at least one user application matches a corresponding identifier and binding key maintained by the watchdog application program interface; and

bind the at least one user application to the watchdog timer driver only if the at least one user application is authorized.

11. The information handling system as recited in claim 10 , wherein the unique identifier comprises a data string that uniquely identifies the at least one user application or a vendor that created the user application.

12. The information handling system as recited in claim 10 , wherein the binding key is a shared secret key provided by a manufacturer of the IHS to the at least one user application.

13. The information handling system as recited in claim 10 , wherein the binding key is a hash-based message authentication code (HMAC), which is generated by hashing the unique identifier with a private key maintained by a manufacturer of the IHS.

14. A method to selectively control ownership of a hardware watchdog timer (WDT) provided on a system platform of an information handling system (IHS), which is configured to store and execute boot firmware, an operating system (OS) and one or more user applications, wherein the method comprises:

receiving user input in a boot setup utility of the boot firmware to select between OS-ownership and user application-ownership of the hardware WDT during OS runtime; and

controlling ownership of the hardware WDT during OS runtime based on the user input received in the boot setup utility.

15. The method as recited in claim 14 , further comprising rebooting the IHS after said receiving user input and before said controlling ownership of the hardware WDT, wherein in response to said rebooting, the method comprises:

loading a first watchdog timer action table (WDAT) specified for the operating system into a system memory of the IHS if the received user input selects OS-ownership in the boot setup utility; and

loading a second watchdog timer action table (DWDT) specified for the one or more user applications into the system memory if the received user input selects user application-ownership in the boot setup utility.

16. The method as recited in claim 14 , further comprising authorizing at least one user application to use the hardware WDT during OS runtime before said controlling ownership of the hardware WDT during OS runtime.

17. The method as recited in claim 16 , further comprising authorizing a plurality of user applications to share the hardware WDT during OS runtime before said controlling ownership of the hardware WDT during OS runtime.

18. The method as recited in claim 16 , wherein said authorizing comprises:

comparing a unique identifier and a binding key provided by the at least one user application to a corresponding identifier and binding key maintained within the IHS;

authorizing the at least one user application if the unique identifier and the binding key provided by the at least one user application match the corresponding identifier and binding key maintained within the IHS; and

enabling the at least one user application to use the hardware WDT during OS runtime only if the at least one user application is authorized.

19. A method to authorize one or more user applications to use a hardware watchdog timer (WDT) provided on a system platform of an information handling system (IHS) comprising an operating system (OS) and the one or more user applications, wherein the method comprises:

comparing a unique identifier and a binding key provided by at least one user application to a corresponding identifier and binding key maintained within the IHS;

authorizing the at least one user application if the unique identifier and the binding key provided by the at least one user application match the corresponding identifier and binding key maintained within the IHS; and

enabling the at least one user application to use the hardware WDT during OS runtime only if the at least one user application is authorized.

20. The method as recited in claim 19 , wherein if the at least one user application is authorized, said enabling comprises binding the at least one user application to a watchdog timer driver, which is configured to access, configure and use the hardware WDT during OS runtime.

Assignments (6)
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 AT REEL 048825 FRAME 0489 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 058000/0916 →
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 Apr 8, 2019
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 048825/0489 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 16, 2018
From: NOVOA, MANUEL; CHAN, WAI MING R.
To: DELL PRODUCTS L.P.
Reel/Frame 047528/0390 →
Continuity (1)
Related Publication 20200159543A1 · May 21, 2020