IP Library › Granted Patent US 11,126,455
Granted Patent B2
US 11,126,455 · App. 16/585,173 · Granted Sep 21, 2021

System and methods for provisioning different versions of a virtual application

Inventors: Nabeel Youakim (Lauderdale By The Sea, FL); P. J. Hough (Mountain View, CA)
Assignee: CITRIX SYSTEMS, INC.
G06F9/45558G06F8/65G06F8/71G06F2009/45595
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,126,455
App. No.
16/585,173
Filed
Sep 27, 2019
Granted
Sep 21, 2021
Kind
B2
Art Unit
2199
USPC
718/1
Abstract

A computing device may include a memory and a processor cooperating with the memory and configured to provide a first application layer within a virtual machine responsive to a client device, with the first application layer including a first version of a first virtual application and at least one second virtual application compatible with the first version of the first virtual application. The processor may be further configured to provide a second application layer within the virtual machine responsive to the client device, with the second application layer including a second version of the first virtual application, and the second version being different than the first version in the first application layer. Further, the second version of the virtual application is not compatible with the at least one second virtual application.

Claims (32)

1. A computing device comprising:

a memory and a processor cooperating with the memory and configured to

provide a first application layer within a virtual machine responsive to a client device, the first application layer including a first version of a first virtual application and at least one second virtual application compatible with the first version of the first virtual application, and

provide a second application layer within the virtual machine responsive to the client device, the second application layer including a second version of the first virtual application, the second version being different than the first version in the first application layer,

wherein the second version of the virtual application is not compatible with the at least one second virtual application.

2. The computing device of claim 1 wherein the second version of the virtual application is newer than the first version of the virtual application.

3. The computing device of claim 1 wherein the memory and processor are configured to initially provide the first or second application layer for the client device at logon based upon a macro preference.

4. The computing device of claim 1 wherein the first and second application layers are containerized.

5. The computing device of claim 1 wherein the memory and processor are configured to simultaneously provide the first and second application layers to the client device.

6. The computing device of claim 1 wherein the first application layer is locked to prevent updates thereto.

7. The computing device of claim 1 wherein the at least one second virtual application comprises at least one macro.

8. A method comprising:

providing a first application layer within a virtual machine at a server responsive to a client device, the first application layer including a first version of a first virtual application and at least one second virtual application compatible with the first version of the first virtual application; and

providing a second application layer within the virtual machine responsive to the client device, the second application layer including a second version of the first virtual application, the second version being different than the first version in the first application layer,

wherein the second version of the virtual application is not compatible with the at least one second virtual application.

9. The method of claim 8 wherein the second version of the virtual application is newer than the first version of the virtual application.

10. The method of claim 8 wherein the server is configured to initially provide the first or second application layer for the client device at logon based upon a macro preference.

11. The method of claim 8 wherein the first and second application layers are containerized.

12. The method of claim 8 wherein the server is configured to simultaneously provide the first and second application layers to the client device.

13. The method of claim 8 wherein the first application layer is locked to prevent updates thereto.

14. The method of claim 8 wherein the at least one second virtual application comprises at least one macro.

15. A computing system comprising:

a client device configured to access a virtual application; and

a server, comprising a memory and a processor, configured to:

provide a first application layer within a virtual machine responsive to the client device, the first application layer including a first version of a first virtual application and at least one second virtual application compatible with the first version of the first virtual application, and

provide a second application layer within the virtual machine responsive to the client device, the second application layer including a second version of the first virtual application, the second version being different than the first version in the first application layer,

wherein the second version of the virtual application is not compatible with the at least one second virtual application.

16. The computing system of claim 15 wherein the second version of the virtual application is newer than the first version of the virtual application.

17. The computing system of claim 15 wherein the server is configured to initially provide the first or second application layer for the client device at logon based upon a macro preference.

18. The computing system of claim 15 wherein the first and second application layers are containerized.

19. The computing system of claim 15 wherein the server is configured to simultaneously provide the first and second application layers to the client device.

20. The computing system of claim 15 wherein the first application layer is locked to prevent updates thereto.

Assignments (9)
PATENT SECURITY AGREEMENT Recorded Aug 15, 2025
From: CLOUD SOFTWARE GROUP, INC.; CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 072488/0172 →
SECURITY INTEREST Recorded May 24, 2024
From: CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.); CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 067662/0568 →
PATENT SECURITY AGREEMENT Recorded Apr 14, 2023
From: CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.); CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 063340/0164 →
RELEASE AND REASSIGNMENT OF SECURITY INTEREST IN PATENT (REEL/FRAME 062113/0001) Recorded Apr 14, 2023
From: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
To: CITRIX SYSTEMS, INC.; CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.)
Reel/Frame 063339/0525 →
PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 062112/0262 →
PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 062113/0470 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 062113/0001 →
SECURITY INTEREST Recorded Sep 30, 2022
From: CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 062079/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 27, 2019
From: YOUAKIM, NABEEL; HOUGH, P.J.
To: CITRIX SYSTEMS, INC.
Reel/Frame 050512/0790 →
Continuity (1)
Related Publication 20210096897A1 · Apr 1, 2021