IP Library › Granted Patent US 10,225,363
Granted Patent B2
US 10,225,363 · App. 15/244,823 · Granted Mar 5, 2019

Methods and systems for providing a consistent profile to overlapping user sessions

Inventors: Joseph Nord (Lighthouse, FL); Richard Hayton (Cambridge, GB)
Assignee: Citrix Systems, Inc.
H04L67/306H04L41/046H04L67/06H04L67/143
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,225,363
App. No.
15/244,823
Granted
Mar 5, 2019
Kind
B2
Abstract

Just in time delivery of a consistent user profile to overlapping user sessions, where a first user session issues a request for a first file of a user profile to a server agent. Upon receiving the request, the server agent retrieves the first file from a base user profile, and just in time delivers the retrieved first file to the first user session. The user, via a second user session executing simultaneously with the first user session, issues a request to the server agent for the first file and a second file of the user profile. Upon receiving the request, the server agent identifies a modified version of the first file in a provisional user profile, retrieves the modified first file from the provisional user profile and the second file from the base user profile, and just in time delivers both files to the second user session.

Claims (74)

1. A method of delivery of a profile to overlapping sessions, comprising:

receiving, by a server agent executing on at least one processor of a computer, a request from a first session for a first file of the profile of a virtual machine comprising a plurality of files;

retrieving, by the server agent responsive to receiving the first session request, the first file from a base profile;

delivering, by the server agent just in time, the first file to the first session;

receiving, by the server agent, during execution of the first session, a request from a second session for the first file of the plurality of files of the profile, the second session and the first session overlapping;

retrieving, by the server agent responsive to the request from the second session, a modified version of the first file from a provisional profile different from the base profile;

delivering, by the server agent just in time, the modified version of the first file to the second session;

determining, by the server agent, the first session and the second session terminated; and

merging, by the server agent, the provisional profile with the base profile to update the base profile responsive to the first session and the second session terminating.

2. The method of claim 1 , comprising:

determining the first session modified the first file; and

storing, by the server agent, the modified version of the first file in the provisional profile responsive to the first session modification of the first file.

3. The method of claim 1 , comprising:

receiving, by the server agent, during execution of the first session, a request from the second session for a second file of the plurality of files of the profile, the second session and the first session overlapping.

4. The method of claim 1 , comprising:

updating the base profile with the provisional profile; and

removing, by the server agent, substantially all profile information from the provisional profile after the updating.

5. The method of claim 1 , comprising:

determining, by the server agent, the first session and the second session terminated; and

updating file paths and file names within the base file based on the provisional file directory.

6. The method of claim 1 , comprising:

responsive to the request from the first session for the first file of the profile, searching the provisional profile for the first file; and

retrieving the first file from the base profile based on a determination that the provisional profile does not include the first file.

7. The method of claim 1 , comprising:

streaming the first file to the first session.

8. The method of claim 1 , comprising:

monitoring, by the server agent, a list of active sessions, the list of active sessions comprising the first session and the second session;

receiving, by the server agent, at least one notification indicating that each of the active sessions in the list terminated; and

merging the provisional profile and the base profile responsive to the at least one notification.

9. The method of claim 1 , comprising:

identifying files residing in both the provisional profile and the base profile; and

replacing the files in the base profile with the files in the provisional profile to update the base profile responsive to the first session and the second session terminating.

10. The method of claim 1 , comprising:

identifying files residing in the provisional profile and not residing in the base profile; and

copying the files into the base profile responsive to the first session and the second session terminating.

11. A system for just in time delivery of a profile to overlapping sessions, comprising:

a profile of an account;

a base profile of the account;

a provisional profile of the account; and

at least one processor that executes a server agent to:

receive a request from a first session for a first file of the profile of a virtual machine comprising a plurality of files;

retrieving, responsive to the request from the first session, the first file from a base profile;

deliver, just in time, the first file to the first session;

receive a request from a second session for the first file of the plurality of files of the profile, wherein the second session and the first session overlap;

retrieve, responsive to the request from the second session, a modified version of the first file from a provisional profile different from the base profile;

deliver, just in time, the modified version of the first file to the second session;

determine the first session and the second session terminated; and

merge the provisional profile with the base profile to update the base profile responsive to termination of the first session and the second session.

12. The system of claim 11 , comprising the server agent configured to:

determine the first session modified the first file; and

store the modified version of the first file in the provisional profile responsive to the modification of the first file by the first session.

13. The system of claim 11 , comprising the server agent configured to:

receive, by the server agent, a request from the second session for a second file of the plurality of files of the profile, wherein the second session and the first session overlap.

14. The system of claim 11 , comprising the server agent configured to:

update the base profile with the provisional profile; and

remove at least a portion of profile information from the provisional profile after the updating.

15. The system of claim 11 , comprising the server agent configured to:

determine the first session and the second session terminated; and

update file paths and file names within the base file based on the provisional file directory.

16. The system of claim 11 , comprising the server agent configured to:

search, responsive to the request from the first session for the first file of the profile, the provisional profile for the first file; and

retrieve the first file from the base profile based on a determination that the provisional profile does not include the first file.

17. The system of claim 11 , comprising the server agent configured to:

stream the first file to the first session.

18. The system of claim 11 , comprising the server agent configured to:

monitor a list of active sessions, the list of active sessions comprising the first session and the second session;

receive at least one notification that indicates that each of the active sessions in the list terminated; and

merge the provisional profile and the base profile responsive to the at least one notification.

19. The system of claim 11 , comprising the server agent configured to:

identify files residing in both the provisional profile and the base profile; and

replace the files in the base profile with the files in the provisional profile to update the base profile responsive to termination of the first session and the second session.

20. The system of claim 11 , comprising the server agent configured to:

identify files that reside in the provisional profile and not residing in the base profile; and

copy the files into the base profile responsive to the first session and the second session terminating.

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 Aug 23, 2016
From: NORD, JOSEPH; HAYTON, RICHARD
To: CITRIX SYSTEMS, INC.
Reel/Frame 039513/0474 →
Continuity (4)
Continuation 14259586 · Apr 23, 2014
Continuation 12772980 · May 3, 2010
Provisional Application 61174996 · May 2, 2009
Related Publication 20170048350A1 · Feb 16, 2017