IP Library Granted Patent US 10,810,001
Granted Patent B2
US 10,810,001 · App. 16/224,013 · Granted Oct 20, 2020

Device-driven auto-recovery using multiple recovery sources

Inventors: Ned M. Smith (Beaverton, OR); Zheng Zhang (Portland, OR); Thiago J. Macieira (Portland, OR)
Assignee: McAfee, LLC
G06F8/65H04L9/3239H04L67/34H04L2209/38
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,810,001
App. No.
16/224,013
Granted
Oct 20, 2020
Kind
B2
Abstract

Examples for device-driven auto-recovery using multiple recovery sources are disclosed herein. At least one storage device or storage disk includes instructions that, when executed, cause at least one processor to at least detect a flaw in a first configuration of a program to be installed on a programmable device, the first configuration recorded on a first chain of a distributed ledger of a blockchain; correct the flaw in the first configuration to generate a corrected configuration; commit the corrected configuration to the distributed ledger, the corrected configuration to create a second chain of the distributed ledger; detect an update of the first configuration to a first updated configuration and an update to the corrected configuration to an updated corrected configuration; and prevent the first updated configuration from being installed on the programmable device by replacing the first updated configuration with the updated corrected configuration on the second chain.

Claims (37)

1. A method for preventing a flawed configuration of a program from being installed on a programmable device, the method comprising:

detecting, by executing an instruction with a processor, a flaw in a first configuration of a program to be installed on a programmable device, the first configuration recorded on a first chain of a distributed ledger of a blockchain;

correcting, by executing an instruction with the processor, the flaw in the first configuration to generate a corrected configuration of the program;

committing, by executing an instruction with the processor, the corrected configuration of the program to the distributed ledger, the corrected configuration to create a second chain of the distributed ledger;

detecting, by executing an instruction with the processor, an update of the first configuration of the program on the first chain to a first updated configuration and an update to the corrected configuration of the program on the second chain to an updated corrected configuration; and

preventing, by executing an instruction with the processor, the first updated configuration from being installed on the programmable device by replacing the first updated configuration with the updated corrected configuration on the second chain.

2. The method of claim 1 , wherein correcting the flaw includes rolling back the first configuration of the program on the first chain to a non-flawed configuration based on the first configuration.

3. The method of claim 2 , further including generating the corrected configuration based on the non-flawed configuration of the first configuration.

4. The method of claim 1 , further including committing a third configuration of the program to the second chain.

5. The method of claim 4 , further including identifying the second chain as a valid chain based on the commitment of the third configuration to the second chain.

6. The method of claim 1 , further including detecting the flaw based on a failure of the programmable device to transmit a signal within a threshold time period after the programmable device is updated with the first configuration of the program.

7. A machine readable solid state memory or optical disk or magnetic disk comprising instructions that, when executed, cause at least one processor to at least:

detect a flaw in a first configuration of a program to be installed on a programmable device, the first configuration recorded on a first chain of a distributed ledger of a blockchain;

correct the flaw in the first configuration to generate a corrected configuration of the program;

commit the corrected configuration of the program to the distributed ledger, the corrected configuration to create a second chain of the distributed ledger;

detect an update of the first configuration of the program on the first chain to a first updated configuration and an update to the corrected configuration of the program on the second chain to an updated corrected configuration; and

prevent the first updated configuration from being installed on the programmable device by replacing the first updated configuration with the updated corrected configuration on the second chain.

8. The machine readable solid state memory or optical disk or magnetic disk of claim 7 , wherein the instructions, when executed, cause the at least one processor to correct the flaw by rolling back the first configuration of the program on the first chain to a non-flawed configuration based on the first configuration.

9. The machine readable solid state memory or optical disk or magnetic disk of claim 8 , wherein the instructions, when executed, cause the at least one processor to generate the corrected configuration based on the non-flawed configuration of the first configuration.

10. The machine readable solid state memory or optical disk or magnetic disk of claim 7 , wherein the instructions, when executed, cause the at least one processor to commit a third configuration of the program to the second chain.

11. The machine readable solid state memory or optical disk or magnetic disk of claim 10 , wherein the instructions, when executed cause the at least one processor to identify the second chain as a valid chain based on the commitment of the third configuration to the second chain.

12. The machine readable solid state memory or optical disk or magnetic disk of claim 7 , wherein the corrected configuration and the updated corrected configuration are in respective bundles of the second chain.

13. The machine readable solid state memory or optical disk or magnetic disk of claim 7 , wherein the instructions, when executed, cause the at least one processor to detect the flaw based on a failure of the programmable device to transmit a signal within a threshold time period after the programmable device is updated with the first configuration of the program.

14. A system comprising:

memory including instructions; and

at least one processor to:

detect a flaw in a first configuration of a program to be installed on a programmable device, the first configuration recorded on a first chain of a distributed ledger of a blockchain;

correct the flaw in the first configuration to generate a corrected configuration of the program;

commit the corrected configuration of the program to the distributed ledger, the corrected configuration to create a second chain of the distributed ledger;

detect an update of the first configuration of the program on the first chain to a first updated configuration and an update to the corrected configuration of the program on the second chain to an updated corrected configuration; and

prevent the first updated configuration from being installed on the programmable device by replacing the first updated configuration with the updated corrected configuration on the second chain.

15. The system of claim 14 , wherein the at least one processor is to correct the flaw by rolling back the first configuration of the program on the first chain to a non-flawed configuration based on the first configuration.

16. The system of claim 15 , wherein the at least one processor is to generate the corrected configuration based on the non-flawed configuration of the first configuration.

17. The system of claim 14 , wherein the at least one processor is to commit a third configuration of the program to the second chain.

18. The system of claim 17 , wherein the at least one processor is to identify the second chain as a valid chain based on the commitment of the third configuration to the second chain.

19. The system of claim 14 , wherein the corrected configuration and the updated corrected configuration are in respective bundles of the second chain.

20. The system of claim 14 , wherein the at least one processor is to detect the flaw based on a failure of the programmable device to transmit a signal within a threshold time period after the programmable device is updated with the first configuration of the program.

Assignments (4)
CORRECTIVE ASSIGNMENT TO CORRECT THE THE PATENT TITLES AND REMOVE DUPLICATES IN THE SCHEDULE PREVIOUSLY RECORDED AT REEL: 059354 FRAME: 0335. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jun 23, 2022
From: MCAFEE, LLC
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 060792/0307 →
SECURITY INTEREST Recorded Mar 3, 2022
From: MCAFEE, LLC
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT AND COLLATERAL AGENT
Reel/Frame 059354/0335 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 19, 2018
From: SMITH, NED M.; ZHANG, ZHENG; MACIEIRA, THIAGO J.
To: MCAFEE, INC.
Reel/Frame 047820/0235 →
CHANGE OF NAME Recorded Dec 19, 2018
From: MCAFEE, INC.
To: MCAFEE, LLC
Reel/Frame 047965/0298 →
Cited By (3)
US 12,218,795 US 12,316,744 US 12,720,289