IP Library Granted Patent US 12,079,609
Granted Patent B2
US 12,079,609 · App. 17/727,503 · Granted Sep 3, 2024

On-demand remote applications

Inventors: Jeffrey Paul Ulatoski (Palo Alto, CA); Jairam Choudhary (Palo Alto, CA)
Assignee: VMware LLC
G06F8/61G06F9/445H04L67/34H04L67/1004
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 12,079,609
App. No.
17/727,503
Granted
Sep 3, 2024
Kind
B2
Abstract

Techniques for delivering remote applications to servers in an on-demand fashion (i.e., as end-users need them) are provided. In one set of embodiments, these techniques include packaging the installed contents (e.g., executable code and configuration data) of the remote applications into containers, referred to as application packages, that are placed on shared storage and dynamically attaching (i.e., mounting) an application package to a server at a time an end-user requests access a remote application in that package, thereby enabling the server to launch the application.

Claims (44)

1. A method comprising:

receiving, by a computer system from a client device operated by an end-user, a request to access a remote application;

identifying, by the computer system, a target server in a plurality of servers for running the remote application, wherein the remote application is installed in an application package that is maintained on a shared storage component separate from the plurality of servers, a single server pool comprising the plurality of servers, single master software image being loaded on each of the plurality of servers, the shared storage component being accessible to the plurality of servers;

initializing, by the computer system, a user session for the end-user on the target server; and

transmitting, by the computer system to an app remoting agent running in the user session on the target server, an application specification for the remote application, the application specification including an identifier of the application package and an executable path for the remote application.

2. The method of claim 1 wherein upon receiving the application specification, the app remoting agent provides the application specification to an app delivery agent running in the user session.

3. The method of claim 2 wherein the app delivery agent:

determines, based on the application specification, that the remote application is installed in the application package;

dynamically mounts the application package from the shared storage component to the target server; and

launches the remote application via the mounted application package within the user session.

4. The method of claim 3 wherein the app remoting agent subsequently streams a user interface of the launched remote application to the end-user client device.

5. The method of claim 1 wherein the plurality of servers are loaded with a common software image that excludes remote application installations.

6. The method of claim 1 wherein the application package comprises a virtual disk file that includes installed content of the remote application and metadata attributes of the remote application.

7. The method of claim 1 wherein the computer system identifies the target server based on one or more criteria including current loads on the plurality of servers.

8. A non-transitory computer readable storage medium having stored thereon program code executable by a computer system, the program code embodying a method comprising:

receiving, from a client device operated by an end-user, a request to access a remote application;

identifying a target server in a plurality of servers for running the remote application, wherein the remote application is installed in an application package that is maintained on a shared storage component separate from the plurality of servers, a single server pool comprising the plurality of servers, single master software image being loaded on each of the plurality of servers, the shared storage component being accessible to the plurality of servers;

initializing a user session for the end-user on the target server; and

transmitting, to an app remoting agent running in the user session on the target server, an application specification for the remote application, the application specification including an identifier of the application package and an executable path for the remote application.

9. The non-transitory computer readable storage medium of claim 8 wherein upon receiving the application specification, the app remoting agent provides the application specification to an app delivery agent running in the user session.

10. The non-transitory computer readable storage medium of claim 9 wherein the app delivery agent:

determines, based on the application specification, that the remote application is installed in the application package;

dynamically mounts the application package from the shared storage component to the target server; and

launches the remote application via the mounted application package within the user session.

11. The non-transitory computer readable storage medium of claim 10 wherein the app remoting agent subsequently streams a user interface of the launched remote application to the end-user client device.

12. The non-transitory computer readable storage medium of claim 8 wherein the plurality of servers are loaded with a common software image that excludes remote application installations.

13. The non-transitory computer readable storage medium of claim 8 wherein the application package comprises a virtual disk file that includes installed content of the remote application and metadata attributes of the remote application.

14. The non-transitory computer readable storage medium of claim 8 wherein the computer system identifies the target server based on one or more criteria including current loads on the plurality of servers.

15. A computer system comprising:

a processor; and

a non-transitory computer readable medium having stored thereon program code that, when executed, causes the processor to:

receive, from a client device operated by an end-user, a request to access a remote application;

identify a target server in a plurality of servers for running the remote application, wherein the remote application is installed in an application package that is maintained on a shared storage component separate from the plurality of servers, a single server pool comprising the plurality of servers, single master software image being loaded on each of the plurality of servers, the shared storage component being accessible to the plurality of servers;

initialize a user session for the end-user on the target server; and

transmit, to an app remoting agent running in the user session on the target server, an application specification for the remote application, the application specification including an identifier of the application package and an executable path for the remote application.

16. The computer system of claim 15 wherein upon receiving the application specification, the app remoting agent provides the application specification to an app delivery agent running in the user session.

17. The computer system of claim 16 wherein the app delivery agent:

determines, based on the application specification, that the remote application is installed in the application package;

dynamically mounts the application package from the shared storage component to the target server; and

launches the remote application via the mounted application package within the user session.

18. The computer system of claim 17 wherein the app remoting agent subsequently streams a user interface of the launched remote application to the end-user client device.

19. The computer system of claim 15 wherein the plurality of servers are loaded with a common software image that excludes remote application installations.

20. The computer system of claim 15 wherein the application package comprises a virtual disk file that includes installed content of the remote application and metadata attributes of the remote application.

21. The computer system of claim 15 wherein the computer system identifies the target server based on one or more criteria including current loads on the plurality of servers.

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 Feb 27, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 066692/0103 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 1, 2022
From: ULATOSKI, JEFFREY PAUL; CHOUDHARY, JAIRAM
To: VMWARE, INC.
Reel/Frame 060687/0017 →
Cited By (1)
US 12,681,710