IP Library Granted Patent US 10,803,153
Granted Patent B2
US 10,803,153 · App. 15/785,871 · Granted Oct 13, 2020

Session based elastic layering

Inventors: John Webb (Sutton, MA); Christopher W. Midgley (Marlborough, MA); Manuel Gonsalves (Westborough, MA)
Assignee: CITRIX SYSTEMS, INC.
G06F21/31G06F9/44505G06F9/44521G06F16/951G06F21/6218G06F2221/2149
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,803,153
App. No.
15/785,871
Granted
Oct 13, 2020
Kind
B2
Abstract

A server includes a processor to execute a single generic composited layered image that includes an operating system layer and an application layer. A layering engine hooks into the user log-in process to capture a user identification of the user initiating the log-in process, and compares the user identification to a list of additional application layers that are to be available to different users based on their respective user identifications. The layering engine determines if at least one additional application layer is to be available to the user based on the compare, and creates a single user-specific composited layered image by mounting the at least one additional application layer to the single generic composited layered image if the at least one additional application layer is to be available to the user.

Claims (35)

1. A server comprising:

a memory and at least one processor cooperating with said memory to execute a single generic composited layered image comprising an operating system layer and at least one application layer, with the operating system layer providing a user interface to be accessed by anyone of a plurality of different users via a user log-in process; and

a layering engine configured to perform, in response to each user log-in process, the following:

hook into the user log-in process to capture a user identification of the user initiating the log-in process,

compare, in response to the user log-in process, the user identification to a list of additional application layers that are to be selectively available to the plurality of different users based on their respective user identifications,

determine if at least one additional application layer is to be selectively available to the user based on the compare but not available to all of the other different users, and

create, in response to the determining, a single user-specific composited layered image by mounting the at least one additional application layer to the single generic composited layered image if the at least one additional application layer is to be selectively available to the user.

2. The server according to claim 1 wherein said layering engine is further configured to save the single user-specific composited layered image.

3. The server according to claim 2 wherein said layering engine is further configured to capture a host session identification based on the user logging-in so that a next time the user logs-in the single user-specific composited layered image is available.

4. The server according to claim 1 wherein said layering engine is further configured to access a policy database prior to the compare, with the policy database including the list of additional application layers that are to be available to the plurality of different users based on their respective user identifications.

5. The server according to claim 4 wherein the policy database is remotely located from the server.

6. The server according to claim 4 wherein the server has a host server identification associated therewith, and wherein the policy database further includes a list of host server identifications, with each host server identification identifying the list of additional application layers that are available to that host server, and wherein said layering engine is configured to further accesses the policy database based on the host server identification.

7. A method for operating a server comprising:

executing a single generic composited layered image

comprising an operating system layer and at least one application layer, with the operating system layer providing a user interface to be accessed by anyone of a plurality of different users via a user log-in process;

hooking into a user log-in process to capture a user identification of the user initiating the log-in process;

comparing, in response to the user log-in process, the user identification to a list of additional application layers that are to be selectively available to the plurality of different users based on their respective user identifications;

determining if at least one additional application layer is to be selectively available to the user based on the comparing but not available to all of the other different users; and

creating, in response to the determining, a single user-specific composited layered image by mounting the at least one additional application layer to the single generic composited layered image if the at least one additional application layer is to be selectively available to the user.

8. The method according to claim 7 further comprising operating the layering engine to save the single user-specific composited layered image.

9. The method according to claim 8 further comprising operating the layering engine to capture a host session identification based on the user logging-in so that a next time the user logs-in the single user-specific composited layered image is available.

10. The method according to claim 7 further comprising operating the layering engine to access a policy database prior to the compare, with the policy database including the list of additional application layers that are to be available to the plurality of different users based on their respective user identifications.

11. The method according to claim 10 wherein the policy database is remotely located from the server.

12. The method according to claim 10 wherein the server has a host server identification associated therewith, and wherein the policy database further includes a list of host server identifications, with each host server identification identifying the list of additional application layers that are available to that host server, and wherein said layering engine is configured to further accesses the policy database based on the host server identification.

13. A non-transitory computer readable medium for a server, with the non-transitory computer readable medium having a plurality of computer executable instructions for causing the server to perform steps comprising:

executing a single generic composited layered image comprising an operating system layer and at least one application layer, with the operating system layer providing a user interface to be accessed by anyone of a plurality of different users via a user log-in process;

hooking into a user log-in process to capture a user identification of the user initiating the log-in process;

comparing, in response to the user log-in process, the user identification to a list of additional application layers that are to be selectively available to the plurality of different users based on their respective user identifications;

determining if at least one additional application layer is to be selectively available to the user based on the comparing but not available to all of the other different users; and

creating, in response to the user determining, a single user-specific composited layered image by mounting the at least one additional application layer to the single generic composited layered image if the at least one additional application layer is to be selectively available to the user.

14. The non-transitory computer readable medium according to claim 13 further comprising operating the layering engine to save the single user-specific composited layered image.

15. The non-transitory computer readable medium according to claim 14 further comprising operating the layering engine to capture a host session identification based on the user logging-in so that a next time the user logs-in the single user-specific composited layered image is available.

16. The non-transitory computer readable medium according to claim 13 further comprising operating the layering engine to access a policy database prior to the compare, with the policy database including the list of additional application layers that are to be available to the plurality of different users based on their respective user identifications.

17. The non-transitory computer readable medium according to claim 16 wherein the policy database is remotely located from the server.

18. The non-transitory computer readable medium according to claim 16 wherein the server has a host server identification associated therewith, and wherein the policy database further includes a list of host server identifications, with each host server identification identifying the list of additional application layers that are available to that host server, and wherein said layering engine is configured to further accesses the policy database based on the host server identification.

Assignments (11)
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 →
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 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 →
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 →
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 →
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 Jan 11, 2018
From: UNIDESK CORPORATION
To: CITRIX SYSTEMS, INC.
Reel/Frame 044593/0395 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE PREVIOUSLY RECORDED AT REEL: 043892 FRAME: 0398. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Oct 20, 2017
From: WEBB, JOHN; MIDGLEY, CHRIS; GONSALVES, MANUEL
To: UNIDESK CORPORATION
Reel/Frame 044568/0013 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 18, 2017
From: WEBB, JOHN; MIDGLEY, CHRIS; GONSALVES, MANUEL
To: CITRIX SYSTEMS, INC.
Reel/Frame 043892/0398 →
Continuity (2)
Provisional Application 62411456 · Oct 21, 2016
Related Publication 20180114002A1 · Apr 26, 2018