IP Library Granted Patent US 11,301,258
Granted Patent B2
US 11,301,258 · App. 16/580,092 · Granted Apr 12, 2022

Supervised learning based UEFI pre-boot control

Inventors: Shekar Babu Suryanarayana (Karnataka, IN); Neeraj Kumar Pant (Karnataka, IN); Manikandan Radhakrishnan (Karnataka, IN)
Assignee: Dell Products L.P.
G06F9/4403G06N20/00
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,301,258
App. No.
16/580,092
Filed
Sep 24, 2019
Granted
Apr 12, 2022
Kind
B2
Art Unit
2187
USPC
713/2
Abstract

In some examples, a computing device may initiate a chat session with a software agent on a server. During the chat session, the software agent may ask questions and receive answers in response. The server may process logs sent from the computing device and a transcript of the chat session to identify tokens. A supervised learning model on the server may select a script based on the tokens and send the script to the computing device. The computing device may store the script in non-volatile memory and boot into a setup state of a basic input output system (BIOS) of the computing device. The BIOS may retrieve the script, convert BIOS procedure calls in the script into an action tree, and execute the actions in the action tree, causing a virtual mouse and/or virtual keyboard to provide input to the BIOS to modify the BIOS to address an issue.

Claims (65)

1. A method comprising:

sending, by one or more processors of a computing device, data associated with an issue of the computing device to a sever;

receiving, by the one or more processors, a script from the server, wherein the script is selected by a supervised learning model executing on the server;

storing, by the one or more processors, the script in a non-volatile memory of the computing device;

rebooting, by the one or more processors, the computing device into a setup state of a basic input output system (BIOS) of the computing device;

executing, by the one or more processors, the script to modify the BIOS to create a modified BIOS, wherein the modified BIOS addresses the issue of the computing device; and

rebooting, by the one or more processors, the computing device to boot into an operating system.

2. The method of claim 1 , wherein the data comprises:

a chat transcript comprising questions sent by a software agent executing on the server and answers corresponding to the questions; and

one or more logs stored on the computing device, wherein the one or more logs include at least one of a system log, an error log, or a diagnostic log.

3. The method of claim 1 , wherein:

the script comprises one or more BIOS procedure calls.

4. The method of claim 1 , wherein storing the script in the non-volatile memory of the computing device comprises:

storing the script in a namespace of the non-volatile memory of the computing device.

5. The method of claim 1 , wherein executing script to modify the BIOS to create the modified BIOS comprises:

determining one or more BIOS procedure calls included in the script;

creating an action tree based on the one or more BIOS procedure calls; and

executing each action in the action tree using at least one of a virtual mouse or a virtual keyboard to modify the BIOS.

6. The method of claim 5 , further comprising:

storing, in a namespace of the non-volatile memory, a status indicating whether the script was successfully executed.

7. A computing device comprising:

one or more processors; and

one or more non-transitory computer-readable storage media to store instructions executable by the one or more processors to perform operations comprising:

sending data associated with an issue of the computing device to a server, wherein the data comprises one or more logs stored on the computing device, wherein the one or more logs include at least one of a system log, an error log, or a diagnostic log;

receiving a script from the server;

storing the script in a non-volatile memory of the computing device;

rebooting the computing device into a setup state of a basic input output system (BIOS) of the computing device;

executing the script to modify the BIOS to create a modified BIOS, wherein the modified BIOS addresses the issue of the computing device; and

rebooting the computing device to boot into an operating system.

8. The computing device of claim 7 , wherein the data comprises:

a chat transcript comprising questions sent by a software agent executing on the server and answers corresponding to the questions.

9. The computing device of claim 7 , wherein:

the script comprises one or more BIOS procedure calls.

10. The computing device of claim 7 , wherein storing the script in the non-volatile memory of the computing device comprises:

storing the script in a namespace of the non-volatile memory of the computing device.

11. The computing device of claim 7 , wherein executing script to modify the BIOS to create the modified BIOS comprises:

determining one or more BIOS procedure calls included in the script;

creating an action tree based on the one or more BIOS procedure calls; and

executing each action in the action tree using at least one of a virtual mouse or a virtual keyboard to modify the BIOS.

12. The computing device of claim 11 , further comprising:

storing, in a namespace of the non-volatile memory, a status indicating that the script was either successfully executed or unsuccessful.

13. A server comprising:

one or more processors; and

one or more non-transitory computer-readable storage media to store instructions executable by the one or more processors to perform operations comprising:

receiving, by a software agent, a request from a chat application executing on a computing device to initiate a chat session;

sending one or more questions via the chat session requesting information about an issue associated with the computing device;

receiving, from the computing device via the chat session, one or more responses corresponding to the one or more questions;

processing a transcript of the chat session to create a plurality of problem tokens wherein the processing includes filtering the chat session to remove stop words to create a filtered chat session, and performing natural language processing on the filtered chat session to identify the plurality of problem tokens;

selecting, based on the plurality of problem tokens, a script to address the issue associated with the computing device;

sending the script to the computing device;

instructing the computing device to store the script in a non-volatile memory;

instructing the computing device to reboot into a setup state of a basic input output system (BIOS) of the computing device.

14. The one or more non-transitory computer readable media of claim 13 , wherein the operations further comprise:

instructing the computing device to retrieve one or more logs stored on the computing device;

receiving the one or more logs from the computing device; and

processing the one or more logs while processing the transcript of the chat session to create the plurality of classified problem tokens.

15. The one or more non-transitory computer readable media of claim 13 , wherein:

the script comprises one or more BIOS procedure calls.

16. The one or more non-transitory computer readable media of claim 15 , wherein:

the computing device constructs an action tree based on the one or more BIOS procedure calls, wherein each action in the action tree causes either a virtual mouse or a virtual keyboard to modify the BIOS.

17. The one or more non-transitory computer readable media of claim 13 , wherein selecting, based on the plurality of problem tokens, the script to address the issue associated with the computing device comprises:

selecting the script using a supervised learning model.

18. The one or more non-transitory computer readable media of claim 13 , wherein instructing the computing device to reboot into a setup state of a basic input output system (BIOS) of the computing device causes the computing device to:

retrieve the script from the non-volatile memory; and

execute the script to modify the BIOS to address the issue associated with the computing device.

Assignments (9)
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 (051302/0528) Recorded Jun 23, 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; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO WYSE TECHNOLOGY L.L.C.); SECUREWORKS CORP.
Reel/Frame 060438/0593 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053311/0169) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060438/0742 →
RELEASE OF SECURITY INTEREST AT REEL 051449 FRAME 0728 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.; SECUREWORKS CORP.; EMC CORPORATION
Reel/Frame 058002/0010 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 053311/0169 →
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 Dec 31, 2019
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.; SECUREWORKS CORP.; EMC CORPORATION
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 051449/0728 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Dec 16, 2019
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.; SECUREWORKS CORP.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 051302/0528 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 24, 2019
From: SURYANARAYANA, SHEKAR BABU; PANT, NEERAJ KUMAR; RADHAKRISHNAN, MANIKANDAN
To: DELL PRODUCTS L. P.
Reel/Frame 050470/0932 →
Continuity (1)
Related Publication 20210089325A1 · Mar 25, 2021
Cited By (2)
US 12,579,019 US 12,645,802