IP Library Granted Patent US 10,332,182
Granted Patent B2
US 10,332,182 · App. 14/194,356 · Granted Jun 25, 2019

Automatic application layer suggestion

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,332,182
App. No.
14/194,356
Granted
Jun 25, 2019
Kind
B2
Abstract

A desktop management system is described that provides an automated process for distributing and suggesting modifications. The system is comprised of a central server and multiple client devices connected through a network. Application layer drafts for a particular modification (such as an installation, update, un-installation, fix, etc.) are generated based on snapshots of client devices before and after the modification is applied. Several application layer drafts are produced for a particular modification. Based on commonalities between the several application layer drafts, an official application layer is produced. When a client device requests a modification, an official application layer for the requested modification is retrieved and merged onto the requesting client device to apply the modification. If a client device on the network lacks an application that is present on similar client devices on the network, the system can suggest the application to the client device.

Claims (52)

1. A method comprising:

selecting a target client device on a network, the network comprising a plurality of client devices centrally managed by a server, the server containing a library of official application layers, each official application layer relating to a corresponding application, wherein merging the official application layer onto a client device applies the corresponding application onto the client device, wherein the official application layers are captured from the plurality of client devices by the server and stored in the library;

identifying a group of similar client devices to the target client device on the network, the identifying the group of similar client devices comprising:

identifying a set of applications on the target client device that are used on the target client device with a minimum frequency;

identifying client devices in the plurality of client devices that use the applications in the identified set of applications with at least as high frequency as the minimum frequency;

determining which application of the applications for which corresponding official application layers are contained in the library is a preferred application for being installed on the target client device based on which applications are present on the similar client devices, wherein the preferred application is present on at least a subset of the group of similar client devices and is not present on the target client device; and

transmitting a message to the target client device, the message indicating which application out of the applications for which corresponding official application layers are contained in the library on the server is the preferred application for being installed on the target client device.

2. The method of claim 1 , wherein identifying a group of similar client devices to the target client device on the network further comprises:

identifying a set of characteristics related to the target client device; and

identifying similar client devices based on the identified set of characteristics.

3. The method of claim 2 , wherein the set of characteristics includes at least one of information about which applications are on the target client device, information about the amount of time applications are used on the target client device, and information about the frequency with which applications are used on the target client device.

4. The method of claim 2 , wherein the set of characteristics includes profile information about the target client device.

5. The method of claim 1 , further comprising:

receiving a confirmation from the target client device to install the preferred application; and

in response to receiving the confirmation, merging the official application layer on the target client device.

6. The method of claim 1 , wherein an application is one of a software program, an update to a software program, or a patch to a software program.

7. The method of claim 1 , wherein determining the preferred application is further based on at least one of the amount of time that the applications that are present on the similar client devices and not on the target client device are used on the similar client devices and the frequency with which the applications that are present on the similar client devices and not on the target client device are used on the similar client devices.

8. A computing device, comprising:

at least one processor; and

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

select a target client device on a network, the network comprising a plurality of client devices centrally managed by a server, the server containing a library of official application layers, each official application layer relating to a corresponding application, wherein merging the official application layer onto a client device applies the corresponding application onto the client device, wherein the official application layers are captured from the plurality of client devices by the server and stored in the library;

identify a group of similar client devices to the target client device on the network, the identifying the group of similar client devices comprising:

identifying a set of applications on the target client device that are used on the target client device with a minimum frequency;

identifying client devices in the plurality of client devices that use the applications in the identified set of applications with at least as high frequency as the minimum frequency;

determine which application of the applications for which corresponding official application layers are contained in the library is a preferred application for being installed on the target client device based on which applications are present on the similar client devices, wherein the preferred application is present on at least a subset of the group of similar client devices and is not present on the target client device; and

transmit a message to the target client device, the message indicating which application out of the applications for which corresponding official application layers are contained in the library on the server is the preferred application for being installed on the target client device.

9. The computing device of claim 8 , wherein identifying a group of similar client devices to the target client device on the network further comprises:

identifying a set of characteristics related to the target client device; and

identifying similar client devices based on the identified set of characteristics.

10. The computing device of claim 9 , wherein the set of characteristics includes at least one of information about which applications are on the target client device, information about the amount of time applications are used on the target client device, and information about the frequency with which applications are used on the target client device.

11. The computing device of claim 9 , wherein the set of characteristics includes profile information about the target client device.

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

receive a confirmation from the target client device to install the preferred application; and

in response to receiving the confirmation, merge the official application layer on the target client device.

13. The computing device of claim 8 , wherein an application is one of a software program, an update to a software program, or a patch to a software program.

14. The computing device of claim 8 , wherein determining the preferred application is further based on at least one of the amount of time that the applications that are present on the similar client devices and not on the target client device are used on the similar client devices and the frequency with which the applications that are present on the similar client devices and not on the target client device are used on the similar client devices.

15. 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:

selecting a target client device on a network, the network comprising a plurality of client devices centrally managed by a server, the server containing a library of official application layers, each official application layer relating to a corresponding application, wherein merging the official application layer onto a client device applies the corresponding application onto the client device, wherein the official application layers are captured from the plurality of client devices by the server and stored in the library;

identifying a group of similar client devices to the target client device on the network, the identifying the group of similar client devices comprising:

identifying a set of applications on the target client device that are used on the target client device with a minimum frequency;

identifying client devices in the plurality of client devices that use the applications in the identified set of applications with at least as high frequency as the minimum frequency;

determining which application of the applications for which corresponding official application layers are contained in the library is a preferred application for being installed on the target client device based on which applications are present on the similar client devices, wherein the preferred application is present on at least a subset of the group of similar client devices and is not present on the target client device; and

transmitting a message to the target client device, the message indicating which application out of the applications for which corresponding official application layers are contained in the library on the server is the preferred application for being installed on the target client device.

16. The non-transitory computer readable storage medium of claim 15 , wherein identifying a group of similar client devices to the target client device on the network further comprises:

identifying a set of characteristics related to the target client device; and

identifying similar client devices based on the identified set of characteristics.

17. The non-transitory computer readable storage medium of claim 16 , wherein the set of characteristics includes at least one of information about which applications are on the target client device, information about the amount of time applications are used on the target client device, and information about the frequency with which applications are used on the target client device.

18. The non-transitory computer readable storage medium of claim 16 , wherein the set of characteristics includes profile information about the target client device.

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

receiving a confirmation from the target client device to install the preferred application; and

in response to receiving the confirmation, merging the official application layer on the target client device.

20. The non-transitory computer readable storage medium of claim 15 , wherein an application is one of a software program, an update to a software program, or a patch to a software program.

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 Feb 28, 2014
From: ZAMIR, TAL
To: VMWARE INC.
Reel/Frame 032328/0721 →