IP Library Granted Patent US 11,875,143
Granted Patent B2
US 11,875,143 · App. 17/194,616 · Granted Jan 16, 2024

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 11,875,143
App. No.
17/194,616
Granted
Jan 16, 2024
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 (50)

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, and an execution phase;

for each of a plurality of individual IoT endpoints:

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

verify integrity of the software update package downloaded to the IoT endpoint with a verification script, 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 activation script 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:

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

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

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

executing an activation script 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 corresponding to a plurality of lifecycle phases, wherein the lifecycle phases comprise at least an entry point phase, a verification phase, and an execution phase;

for each of a plurality of individual IoT endpoints:

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

verify integrity of the software update package downloaded to the IoT endpoint with a verification point script, 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 activation script 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 (3)
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/0395 →
Continuity (2)
Continuation 16511748 · Jul 15, 2019
Related Publication 20210191711A1 · Jun 24, 2021