IP Library Granted Patent US 9,424,021
Granted Patent B2
US 9,424,021 · App. 14/564,843 · Granted Aug 23, 2016

Capturing updates to applications and operating systems

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 9,424,021
App. No.
14/564,843
Granted
Aug 23, 2016
Kind
B2
Abstract

An enterprise network management system is described for automatically updating program layers. A program is installed on a reference machine designated for the program and the reference machine is subsequently suspended. When the system detects a newer version of the program on a client device on the network, the reference machine is resumed, the program is allowed to update to the newer version, an updated program layer for the newer version is captured and stored, and the reference machine is suspended. Thereby, when a program layer for the updated application is required for IT operations, the layer will be available. The process can repeat when subsequent versions of the program are detected on client devices.

Claims (73)

1. A method comprising:

installing a first version of a program on a reference machine on a network, the network comprising a plurality of client devices centrally managed by a server;

producing a first program layer for the first version of the program based on the installation of the first version of the program on the reference machine;

uploading information from a client device on the network to the server at a predetermined frequency to back-up the client device;

detecting a second version of the program on the client device based on the uploaded information;

updating the program on the reference machine to the second version of the program; and

producing an updated program layer for the second version of the program based on the updating of the program on the reference machine to the second version of the program.

2. The method of claim 1 , wherein:

producing a first program layer for the first version of the program based on the installation of the first version of the program on the reference machine comprises:

capturing a first snapshot of the reference machine prior to installation of the first version of the program;

capturing a second snapshot of the reference machine after installation of the first version of the program; and

wherein the first program layer for the first version of the program is produced based on differences between the first snapshot and the second snapshot.

3. The method of claim 1 , wherein:

producing an updated program layer for the second version of the program based on the updating of the program on the reference machine to the second version of the program comprises:

capturing a third snapshot of the reference machine prior to updating of the program on the reference machine to the second version of the program;

capturing a fourth snapshot of the reference machine after updating of the program on the reference machine to the second version of the program; and

wherein the updated program layer for the second version of the program is produced based on differences between the third snapshot and the fourth snapshot.

4. The method of claim 1 , further comprising:

suspending the reference machine after producing a first program layer for the first version of the program based on the installation of the first version of the program on the reference machine; and

resuming the reference machine prior to updating the program on the reference machine to the second version of the program.

5. The method of claim 1 , further comprising:

after the detecting of the second version of the program on the client device on the network, determining whether a program layer for the second version of the program is available;

wherein, updating the program on the reference machine to the second version of the program and producing the updated program layer for the second version of the program is performed if a program layer for the second version of the program is not available.

6. The method of claim 1 , wherein the reference machine is a virtual machine.

7. A computing device, comprising:

at least one hardware processor; and

memory including instructions that, when executed by the at least one processor, cause the computing device to:

install a first version of a program on a reference machine, the network comprising a plurality of client devices centrally managed by a server;

produce a first program layer for the first version of the program based on the installation of the first version of the program on the reference machine;

upload information from the client device to the server at a predetermined frequency to back-up the client device;

detect a second version of the program on the client device based on the uploaded information;

update the program on the reference machine to the second version of the program; and

produce an updated program layer for the second version of the program based on the updating of the program on the reference machine to the second version of the program.

8. The computing device of claim 7 , wherein:

producing a first program layer for the first version of the program based on the installation of the first version of the program on the reference machine comprises:

capturing a first snapshot of the reference machine prior to installation of the first version of the program;

capturing a second snapshot of the reference machine after installation of the first version of the program; and

wherein the first program layer for the first version of the program is produced based on differences between the first snapshot and the second snapshot.

9. The computing device of claim 7 , wherein:

producing an updated program layer for the second version of the program based on the updating of the program on the reference machine to the second version of the program comprises:

capturing a third snapshot of the reference machine prior to updating of the program on the reference machine to the second version of the program;

capturing a fourth snapshot of the reference machine after updating of the program on the reference machine to the second version of the program; and

wherein the updated program layer for the second version of the program is produced based on differences between the third snapshot and the fourth snapshot.

10. The computing device of claim 7 , wherein the memory further includes instructions that when executed by the at least one processor, cause the computing device to:

suspend the reference machine after producing a first program layer for the first version of the program based on the installation of the first version of the program on the reference machine; and

resume the reference machine prior to updating the program on the reference machine to the second version of the program.

11. The computing device of claim 7 , wherein the memory further includes instructions that when executed by the at least one processor, cause the computing device to:

after the detecting of the second version of the program on the client device on the network, determine whether a program layer for the second version of the program is available;

wherein, updating the program on the reference machine to the second version of the program and producing the updated program layer for the second version of the program is performed if a program layer for the second version of the program is not available.

12. The computing device of claim 7 , wherein the reference machine is a virtual machine.

13. A non-transitory computer readable storage medium comprising one or more sequences of instructions, the instructions when executed by one or more processors causing the one or more processors to execute the operations of:

installing a first version of a program on a reference machine on a network, the network comprising a plurality of client devices centrally managed by a server;

producing a first program layer for the first version of the program based on the installation of the first version of the program on the reference machine;

uploading information from the client device to the server at a predetermined frequency to back-up the client device;

detecting a second version of the program on the client device based on the uploaded information;

updating the program on the reference machine to the second version of the program; and

producing an updated program layer for the second version of the program based on the updating of the program on the reference machine to the second version of the program.

14. The non-transitory computer readable storage medium of claim 13 , further comprising instructions that when executed by the one or more processors cause the one or more processors to execute the operations of:

producing a first program layer for the first version of the program based on the installation of the first version of the program on the reference machine comprises:

capturing a first snapshot of the reference machine prior to installation of the first version of the program;

capturing a second snapshot of the reference machine after installation of the first version of the program;

wherein the first program layer for the first version of the program is produced based on differences between the first snapshot and the second snapshot.

15. The non-transitory computer readable storage medium of claim 13 , further comprising instructions that when executed by the one or more processors cause the one or more processors to execute the operations of:

producing an updated program layer for the second version of the program based on the updating of the program on the reference machine to the second version of the program comprises:

capturing a third snapshot of the reference machine prior to updating of the program on the reference machine to the second version of the program;

capturing a fourth snapshot of the reference machine after updating of the program on the reference machine to the second version of the program; and

wherein the updated program layer for the second version of the program is produced based on differences between the third snapshot and the fourth snapshot.

16. The non-transitory computer readable storage medium of claim 13 , further comprising instructions that when executed by the one or more processors cause the one or more processors to execute the operations of:

suspending the reference machine after producing a first program layer for the first version of the program based on the installation of the first version of the program on the reference machine; and

resuming the reference machine prior to updating the program on the reference machine to the second version of the program.

17. The non-transitory computer readable storage medium of claim 13 , further comprising instructions that when executed by the one or more processors cause the one or more processors to execute the operations of:

after the detecting of the second version of the program on the client device on the network, determining whether a program layer for the second version of the program is available;

wherein, updating the program on the reference machine to the second version of the program and producing the updated program layer for the second version of the program is performed if a program layer for the second version of the program is not available.

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/0395 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: ZAMIR, TAL
To: VMWARE, INC.
Reel/Frame 034440/0984 →