US 11,861,343 B2
Systems, apparatus, and methods for updating a programmable device using a distributed ledger
Ned M. Smith, Beaverton, OR (US); Zheng Zhang, Portland, OR (US); and Thiago J. Macieira, Portland, OR (US)
Assigned to McAfee, LLC, San Jose, CA (US)
Filed by McAfee, LLC, San Jose, CA (US)
Filed on Sep. 30, 2020, as Appl. No. 17/039,359.
Application 17/039,359 is a continuation of application No. 16/224,013, filed on Dec. 18, 2018, granted, now 10,810,001.
Application 16/224,013 is a continuation of application No. 15/278,936, filed on Sep. 28, 2016, granted, now 10,185,550, issued on Jan. 22, 2019.
Prior Publication US 2021/0011708 A1, Jan. 14, 2021
Int. Cl. G06F 8/65 (2018.01); H04L 67/00 (2022.01); H04L 9/00 (2022.01); H04L 9/32 (2006.01)
CPC G06F 8/65 (2013.01) [H04L 67/34 (2013.01); H04L 9/3239 (2013.01); H04L 9/50 (2022.05)] 17 Claims
OG exemplary drawing
 
1. A method comprising:
registering, on a distributed ledger of a blockchain and by executing an instruction with at least one processor, a first configuration of software installed on a programmable device, the first configuration applied by a first update entity;
based on a contract associated with the programmable device, the first update entity, and a second update entity, transmitting, prior to application of an update to the software from the first configuration to a second configuration by the second update entity, a first notification indicative of the first configuration of the software to the second update entity, the first update entity different than the second update entity, the contract on the distributed ledger, and the contract defining that the first configuration is to be applied by the first update entity prior to the application of the update by the second update entity;
detecting, by executing an instruction with the at least one processor, the update of the software installed on the programmable device;
registering, on the distributed ledger and by executing instruction with the at least one processor, the second configuration of the software installed on the programmable device; and
transmitting a second notification indicative of the second configuration of the software to the first update entity, the second notification different than the registration of the second configuration on the distributed ledger.