IP Library Granted Patent US 10,942,728
Granted Patent B2
US 10,942,728 · App. 16/511,748 · Granted Mar 9, 2021

Deploying device campaign updates to IoT devices

Inventors: Sabo Rusev (Sofia, BG); Dobromir Ivanov (Sofia, BG); Ivo Petkov (Sofia, BG); Ilya Mayorski (Sofia, BG); Militsa Borisova (Sofia, BG)
Assignee: VMware, Inc.
G06F8/65G06F9/44589H04L41/082H04L41/0886H04L67/125H04L67/34
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,942,728
App. No.
16/511,748
Granted
Mar 9, 2021
Kind
B2
Abstract

Disclosed are various embodiments for updating IoT endpoints. A software update package can be deployed to a IoT gateway. The software package can have lifecycle scripts and software executable for installation on IoT endpoints. The lifecycle scripts represent different lifecycle phases of the update process.

Claims (52)

1. A system, comprising:

a computing device comprising a processor and a memory;

machine readable instructions stored in the memory that, when executed by the processor, cause the computing device to at least:

obtain a command to initiate a device campaign for updating individual IoT endpoints assigned to an IoT management agent;

download a software update package for installation on individual IoT endpoints, the software update package further comprising a manifest and at least one execution script corresponding to a plurality of lifecycle phases, wherein the lifecycle phases comprise at least an entry point phase, a verification phase, an execution phase, and a validation phase;

for each of a plurality of individual IoT endpoints:

execute an entry point script from the software update package to initiate downloading of a software executable from the software update package to an IoT endpoint, the entry point script returning an indication to the computing device upon successful completion of the downloading;

execute a verification script from the software update package to verify integrity of the software update package downloaded to the IoT endpoint, the verification script returning an indication to the computing device upon successful completion of verification of the software update package;

execute a validation script from the software update package to validate successful application of the software executable to the IoT endpoint; and

execute an execution script from the software update package to activate the software executable on the IoT endpoint; and

report a status of the device campaign to the IoT management agent based upon a result obtained from each of the individual IoT endpoints.

2. The system of claim 1 , wherein the machine readable instructions further cause the computing device to at least:

for each of the individual IoT endpoints, executing a customized script specified by the manifest, the customized script being executed after the verifying.

3. The system of claim 1 , wherein the integrity of the software executable downloaded to the IoT endpoint is verified by initiating execution of a verification script that verifies the software executable, wherein the verification script is referenced by the manifest and included with the software update package.

4. The system of claim 1 , wherein the successful application of the software executable is validated by initiating execution of a validation script referenced by the manifest and included with the software update package, the validation script confirming that the software executable is running on the IoT endpoint.

5. The system of claim 4 , wherein the machine readable instructions further cause the computing device to at least reset the application of the software executable in response to the validation script indicating that the validation failed.

6. The system of claim 1 , wherein the software executable on the IoT endpoint is activated by initiating execution of an activation script referenced by the manifest and included with the software update package, the activation script making installation of the software executable on the IoT endpoint permanent.

7. The system of claim 1 , wherein the software package comprises an installer for the software executable that is executable by the individual IoT endpoints.

8. A method, comprising:

obtaining a command to initiate a device campaign for updating individual IoT endpoints assigned to an IoT management agent;

downloading a software update package for installation on individual IoT endpoints, the software update package further comprising a manifest and at least one execution script;

for each of a plurality of individual IoT endpoints:

corresponding to a plurality of lifecycle phases, wherein the lifecycle phases comprise at least an entry point phase, a verification phase, an execution phase, and a validation phase;

for each of a plurality of individual IoT endpoints:

executing an entry point script from the software update package to initiate downloading of a software executable from the software update package to an IoT endpoint, the entry point script returning an indication to the computing device upon successful completion of the downloading;

execute a verification script from the software update package to integrity of the software update package downloaded to the IoT endpoint, the verification script returning an indication to the computing device upon successful completion of verification of the software update package;

execute a validation script from the software update package to validate successful application of the software executable to the IoT endpoint; and

execute an execution script from the software update package to activate the software executable on the IoT endpoint; and

reporting a status of the device campaign to the IoT management agent based upon a result obtained from each of the individual IoT endpoints.

9. The method of claim 8 , further comprising, for each of the individual IoT endpoints, executing a customized script specified by the manifest, the customized script being executed after the verifying.

10. The method of claim 8 , wherein verifying the integrity of the software executable downloaded to the IoT endpoint further comprises initiating execution of a verification script that verifies the software executable, wherein the verification script is referenced by the manifest and included with the software update package.

11. The method of claim 8 , wherein validating successful application of the software executable further comprises initiating execution of a validation script referenced by the manifest and included with the software update package, the validation script confirming that the software executable is running on the IoT endpoint.

12. The method of claim 11 , further comprising resetting the application of the software executable in response to the validation script indicating that the validation failed.

13. The method of claim 8 , wherein activating the software executable on the IoT endpoint further comprises initiating execution of an activation script referenced by the manifest and included with the software update package, the activation script making installation of the software executable on the IoT endpoint permanent.

14. The method of claim 8 , wherein the software package comprises an installer for the software executable that is executable by the individual IoT endpoints.

15. A non-transitory, computer-readable medium, comprising machine readable instructions that, when executed by a processor, cause a computing device to at least:

obtain a command to initiate a device campaign for updating individual IoT endpoints assigned to an IoT management agent;

download a software update package for installation on individual IoT endpoints, the software update package further comprising a manifest and at least one execution script;

for each of a plurality of individual IoT endpoints:

corresponding to a plurality of lifecycle phases, wherein the lifecycle phases comprise at least an entry point phase, a verification phase, an execution phase, and a validation phase;

for each of a plurality of individual IoT endpoints:

execute an entry point script from the software update package to initiate downloading of a software executable from the software update package to an IoT endpoint, the entry point script returning an indication to the computing device upon successful completion of the downloading;

execute a verification script from the software update package to verify integrity of the software update package downloaded to the IoT endpoint, the verification script returning an indication to the computing device upon successful completion of verification of the software update package;

execute a validation script from the software update package to validate successful application of the software executable to the IoT endpoint; and

execute an execution script from the software update package to activate the software executable on the IoT endpoint; and

report a status of the device campaign to the IoT management agent based upon a result obtained from each of the individual IoT endpoints.

16. The non-transitory, computer-readable medium of claim 15 , wherein the machine readable instructions further cause the computing device to at least:

for each of the individual IoT endpoints, executing a customized script specified by the manifest, the customized script being executed after the verifying.

17. The non-transitory, computer-readable medium of claim 15 , wherein the integrity of the software executable downloaded to the IoT endpoint is verified by initiating execution of a verification script that verifies the software executable, wherein the verification script is referenced by the manifest and included with the software update package.

18. The non-transitory, computer-readable medium of claim 15 , wherein the successful application of the software executable is validated by initiating execution of a validation script referenced by the manifest and included with the software update package, the validation script confirming that the software executable is running on the IoT endpoint.

19. The non-transitory, computer-readable medium of claim 15 , wherein the machine readable instructions further cause the computing device to at least reset the application of the software executable in response to the validation script indicating that the validation failed.

20. The non-transitory, computer-readable medium of claim 15 , wherein the software package comprises an installer for a binary application executable by the individual IoT endpoints or for a firmware for individual IoT endpoints.

Assignments (4)
PATENT ASSIGNMENT Recorded Aug 5, 2024
From: VMWARE LLC
To: OMNISSA, LLC
Reel/Frame 068327/0365 →
SECURITY INTEREST Recorded Jul 3, 2024
From: OMNISSA, LLC
To: UBS AG, STAMFORD BRANCH
Reel/Frame 068118/0004 →
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0314 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 29, 2019
From: RUSEV, SABO; IVANOV, DOBROMIR; PETKOV, IVO; MAYORSKI, ILYA; BORISOVA, MILITSA
To: VMWARE, INC.
Reel/Frame 049885/0478 →
Cited By (1)
US 12,307,239