IP Library › Granted Patent US 8,725,791
Granted Patent B2
US 8,725,791 · App. 12/772,980 · Granted May 13, 2014

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

Inventors: Joseph Nord (Lighthouse, FL); Richard Hayton (Burwell, GB)
Assignee: Citrix Systems, Inc.
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 8,725,791
App. No.
12/772,980
Granted
May 13, 2014
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 (61)

1. A method for just in time delivery of a consistent user profile to overlapping user sessions, the method comprising:

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

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

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

receiving, by the server agent, a request from a second user session for the first file and a second file of the plurality of files of the user profile, the second user session and the first user session executing simultaneously;

identifying, by the server agent responsive to receiving the second user session request, a modified version of the first file in a provisional user profile of the user;

retrieving, by the server agent responsive to identifying the modified first file in the provisional user profile, the modified first file from the provisional user profile and the second file from the base user profile;

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

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

comparing a provisional file directory in the provisional user profile to a base file directory in the base user profile, the provisional file directory tracking changes made to file paths and file names;

updating file paths and file names within the base file directory according to the provisional file directory; and

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

2. The method of claim 1 , wherein retrieving from the base user profile further comprises retrieving from a base user profile comprising a version of the user profile of the user.

3. The method of claim 1 , wherein identifying in the provisional user profile further comprises identifying in a provisional user profile comprising a version of the user profile of the user.

4. The method of claim 1 , further comprising:

determining the first user session modified the first file; and

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

5. The method of claim 1 further comprising:

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

replacing the files in the base user profile with the files in the provisional user profile.

6. The method of claim 1 further comprising:

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

copying the files into the base user profile.

7. A system for just in time delivery of a consistent user profile to overlapping user sessions, the system comprising:

a user profile of a user;

a base user profile of the user;

a provisional user profile of the user; and

at least one processor configured to execute a server agent, the server agent configured to:

receive a request from a first user session for a first file of the user profile comprising a plurality of files,

retrieve, responsive to receiving the first user session request, the first file from the base user profile,

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

receive a request from a second user session for the first file and a second file of the user profile, the second user session and the first user session executing simultaneously,

identify, responsive to receiving the second user session request, a modified version of the first file in the provisional user profile,

retrieve, responsive to identifying the modified first file in the provisional user profile, the modified first file from the provisional user profile and the second file from the base user profile,

just in time deliver the modified first file and the second file to the second user session,

determines the first user session and the second user session terminated,

compares a provisional file directory in the provisional user profile to a base file directory in the base user profile, the provisional file directory tracking changes made to file paths and file names, and

updates file paths and file names within the base file directory according to the provisional file directory.

8. The system of claim 7 , wherein the base user profile comprises a version of the user profile of the user.

9. The system of claim 7 , wherein the provisional user profile comprises a version of the user profile of the user.

10. The system of claim 7 , wherein the server agent is further configured to:

identifying files residing in both the provisional user profile and the base user profile, and replacing the files in the base user profile with the files in the provisional user profile.

11. The system of claim 7 , wherein the server agent is further configured to:

identify files residing in the provisional user profile and not residing in the base user profile, and

copy the files into the base user profile.

12. A method for just in time delivery of a consistent user profile to overlapping user sessions, the method comprising:

receiving, by a server agent executing on at least one processor of a computer, a request from a first user session for a first file of a user profile of a user;

delivering, by the server agent just in time, the first file from a base user profile to the first user session;

receiving, by the server agent, a request from a second user session for the first file, the second user session and the first user session executing simultaneously;

delivering, by the server agent just in time, the first file from the base user profile to the second user session;

storing, by the server agent upon detecting the first user session ended, a modified first file in a provisional user profile, the first file modified by the first user session;

determining, by the server agent, a third user session started, the third user session and the second user session executing simultaneously;

delivering, by the server agent responsive to the determination, the modified first file from the provisional user profile to the third user session;

determining the second user session and the third user session terminated;

merging the provisional user profile with the base user profile; and

removing substantially all profile information from the provisional user profile.

13. The method of claim 12 , further comprising receiving the modified first file from the first user session prior to storing the first file in the provisional user profile.

14. The method of claim 12 , further comprising:

receiving a request from a third user session for a second file; and

delivering, by the server agent just in time, the second file from the base user profile to the third user session.

15. The method of claim 12 , wherein the first user session, the second user session and the third user session are of the user.

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 21, 2010
From: NORD, JOSEPH; HAYTON, RICHARD
To: CITRIX SYSTEMS, INC.
Reel/Frame 025021/0100 →
Continuity (2)
Provisional Application 61174996 · May 2, 2009
Related Publication 20110004649A1 · Jan 6, 2011