IP Library Granted Patent US 11,687,348
Granted Patent B2
US 11,687,348 · App. 17/068,076 · Granted Jun 27, 2023

Intelligent launch of applications

Inventors: Stephen Jonathan Parry-Barwick (Sydney, AU); Lili Wang (Sydney, AU); Hua Fiona Zhang (Sydney, AU); Maria Matelle Sy (Sydney, AU)
Assignee: VMWARE, INC.
G06F9/4451G06F3/0482G06F9/452G06F21/51G06F21/629G06F2221/2141
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,687,348
App. No.
17/068,076
Granted
Jun 27, 2023
Kind
B2
Abstract

Disclosed are various examples of intelligent provisioning management. An application launch is detected from a client device. An application launch policy is identified. Device parameters are identified and mapped to an application access type according to the application launch policy. The application is accessed according to the application access type.

Claims (68)

1. A system, comprising:

at least one computing device comprising at least one processor and at least one memory; and

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

intercept, by a launch agent that facilitates just-in-time application delivery decisions between a plurality of application access types for a requested application at launch time, a launch request for the requested application that is requested from a client device;

identify an application launch policy that causes the launch agent to detect at least one device parameter and calculate a plurality of access-type-specific performance ratings corresponding to the plurality of application access types, wherein the plurality of access-type-specific performance ratings are calculated using the at least one device parameter;

retrieve, by the launch agent at the launch time, the plurality of access-type-specific performance ratings specified by the application launch policy;

map, by the launch agent at the launch time, an application access type from the plurality of application access types according to the application launch policy and based at least in part on the plurality of access-type-specific performance ratings, wherein the plurality of application access types refer to different ways to deliver the requested application; and

launch and access the requested application using the application access type that is identified by the launch agent at the launch time.

2. The system of claim 1 , wherein the instructions, when executed by the at least one processor, cause the at least one computing device to at least:

receive the application launch policy from a management service.

3. The system of claim 1 , wherein the application launch is intercepted using an application launch agent installed on: the client device, a RDSH desktop server, or a VDI desktop server.

4. The system of claim 1 , wherein the application access types indicated in the application launch policy comprise:

a local instance of the requested application installed on the client device,

a remote desktop session host (RDSH) instance of the requested application installed on a RDSH desktop server,

a virtual desktop infrastructure (VDI) instance of the requested application installed on a VDI desktop server,

a web application instance of the requested application installed on a web application, and

a thin-wrapped executable of the requested application on a mountable volume, and application access rules cause the launch agent to select the application access type from a group comprising the local instance, the RDSH instance, the VDI instance, and the thin-wrapped executable based on the at least one device parameter.

5. The system of claim 1 , wherein the instructions, when executed by the at least one processor, cause the at least one computing device to at least:

generate a user interface that includes a list of application access types and a user interface element that enables a user confirmation of the application access type, wherein the user confirmation is detected based on an activation of the user interface element.

6. The system of claim 1 , wherein the instructions, when executed by the at least one processor, cause the at least one computing device to at least:

monitor updated device parameters during access of the requested application based on the application access type, wherein the application access type is a first application access type;

analyze the updated device parameters based on an access modification threshold specified by the application launch policy to identify a second application access type for the requested application; and

access the requested application based on the second application access type.

7. The system of claim 1 , wherein the plurality of application access types are provided using a plurality of separately stored instances that are delivered in different ways.

8. A non-transitory computer-readable medium comprising machine-readable instructions, wherein the instructions, when executed by at least one processor, cause at least one computing device to at least:

intercept, by a launch agent that facilitates just-in-time application delivery decisions between a plurality of application access types for a requested application at launch time, a launch request for the requested application that is requested from a client device;

identify an application launch policy that causes the launch agent to detect at least one device parameter and calculate a plurality of access-type-specific performance ratings corresponding to the plurality of application access types, wherein the plurality of access-type-specific performance ratings are calculated using the at least one device parameter;

retrieve, by the launch agent at the launch time, the plurality of access-type-specific performance ratings specified by the application launch policy;

map, by the launch agent at the launch time, an application access type from the plurality of application access types according to the application launch policy and based at least in part on the plurality of access-type-specific performance ratings, wherein the plurality of application access types refer to different ways to deliver the requested application; and

launch and access the requested application using the application access type that is identified by the launch agent at the launch time.

9. The non-transitory computer-readable medium of claim 8 , wherein the instructions, when executed by the at least one processor, cause the at least one computing device to at least:

receive the application launch policy from a management service.

10. The non-transitory computer-readable medium of claim 8 , wherein the application launch is intercepted using an application launch agent installed on: the client device, a RDSH desktop server, or a VDI desktop server.

11. The non-transitory computer-readable medium of claim 8 , wherein the requested application is accessed based on:

a local instance of the requested application installed on the client device,

a remote desktop session host (RDSH) instance of the requested application installed on a RDSH desktop server,

a virtual desktop infrastructure (VDI) instance of the requested application installed on a VDI desktop server,

a web application instance of the requested application installed on a web application, or

a thin-wrapped executable application on a mountable volume.

12. The non-transitory computer-readable medium of claim 8 , wherein the instructions, when executed by the at least one processor, cause the at least one computing device to at least:

generate a user interface that includes a list of application access types and a user interface element that enables a user confirmation of the application access type, wherein the user confirmation is detected based on an activation of the user interface element.

13. The non-transitory computer-readable medium of claim 8 , wherein the instructions, when executed by the at least one processor, cause the at least one computing device to at least:

monitor updated device parameters during access of the requested application based on the application access type, wherein the application access type is a first application access type;

analyze the updated device parameters based on an access modification threshold specified by the application launch policy to identify a second application access type for the requested application; and

access the requested application based on the second application access type.

14. The non-transitory computer-readable medium of claim 12 , wherein the at least one device parameter comprises a device performance rating comprising a combined measure of a plurality of weighted hardware usage parameters.

15. A method performed by instructions executed by at least one processor of at least one computing device, the method comprising:

intercepting, by a launch agent that facilitates just-in-time application delivery decisions between a plurality of application access types for a requested application at launch time, a launch request for the requested application that is requested from a client device;

identifying an application launch policy that causes the launch agent to detect at least one device parameter and calculate a plurality of access-type-specific performance ratings corresponding to the plurality of application access types, wherein the plurality of access-type-specific performance ratings are calculated using the at least one device parameter;

retrieving, by the launch agent at the launch time, the plurality of access-type-specific performance ratings specified by the application launch policy;

mapping, by the launch agent at the launch time, an application access type from the plurality of application access types according to the application launch policy and based at least in part on the plurality of access-type-specific performance ratings, wherein the plurality of application access types refer to different ways to deliver the requested application; and

launching and accessing the requested application using the application access type that is identified by the launch agent at the launch time.

16. The method of claim 15 , wherein the application launch is intercepted using an application launch agent installed on: the client device, a RDSH desktop server, or a VDI desktop server.

17. The method of claim 15 , wherein the requested application is accessed based on:

a local instance of the requested application installed on the client device,

a remote desktop session host (RDSH) instance of the requested application installed on a RDSH desktop server,

a virtual desktop infrastructure (VDI) instance of the requested application installed on a VDI desktop server,

a web application instance of the requested application installed on a web application, or

a thin-wrapped executable application on a mountable volume.

18. The method of claim 15 , further comprising:

identifying at least one static parameter of the client device, wherein the at least one static parameter is not subject to change based on usage of the client device and usage of a network environment of the client device;

periodically detecting at least one dynamic parameter, wherein the at least one dynamic parameter changes based on usage of the client device and usage of the network environment of the client device.

19. The method of claim 17 , further comprising:

generating a user interface that includes a list of application access types and a user interface element that enables a user confirmation of the application access type, wherein the user confirmation is detected based on an activation of the user interface element.

20. The method of claim 15 , further comprising:

monitoring updated device parameters during access of the requested application based on the application access type, wherein the application access type is a first application access type;

analyzing the updated device parameters based on an access modification threshold specified by the application launch policy to identify a second application access type for the requested application; and

accessing the requested application based on the second application access type.

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 Oct 12, 2020
From: PARRY-BARWICK, STEPHEN JONATHAN; WANG, LILI; SY, MARIA MATELLE; ZHANG, HUA FIONA
To: VMWARE, INC.
Reel/Frame 054027/0024 →