IP Library › Granted Patent US 8,200,828
Granted Patent B2
US 8,200,828 · App. 12/609,684 · Granted Jun 12, 2012

Systems and methods for single stack shadowing

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,200,828
App. No.
12/609,684
Filed
Oct 30, 2009
Granted
Jun 12, 2012
Kind
B2
Art Unit
2452
USPC
709/227
Abstract

Methods and systems directed to controlling a real-time user session of presentation layer protocol data. Methods describing a shadowing agent service receiving a connection request from a shadowing tool and initiating a rollover operation responsive to the connection request. A rollover operation including reinitializing the single protocol stack and receiving a protocol data stream from the protocol stack. The shadowing agent service receiving a second data stream from the shadowing tool and inserting data from the second protocol data stream into the protocol stack. Systems describing a controller of the shadowing agent service receiving a connection request from a shadowing tool; a recorder of the shadowing agent service initiating a rollover operation responsive to the connection request; the controller receiving a second protocol data stream from the shadowing tool; and the controller inserting data from the second protocol data stream into the protocol stack.

Claims (34)

1. A method for controlling a real-time user session of presentation layer protocol data, the method comprising:

(a) establishing, by a server, a shadowing agent service and a user session comprising a single presentation layer protocol stack for communication with a client agent;

(b) receiving, by the shadowing agent service, a connection request from a shadowing tool executing on a computing device;

(c) initiating, by the shadowing agent service, a rollover operation responsive to receipt of the connection request, the rollover operation comprising:

(i) reinitializing the single presentation layer protocol stack; and

(ii) receiving a first presentation layer protocol data stream from the single presentation layer protocol stack;

(d) receiving, by the shadowing agent service, a second presentation layer protocol data stream from the shadowing tool; and

(e) inserting, by the shadowing agent service, data from the second presentation layer protocol data stream into the single presentation layer protocol stack;

(f) deleting, by the shadowing agent service, the stored data stream once the client agent disconnects from the server.

2. The method of claim 1 , further comprising storing, by the shadowing agent service, the first presentation layer protocol data stream in a plurality of files stored on the server.

3. The method of claim 2 , further comprising deleting, by the shadowing agent service, the plurality of files once the client agent disconnects from the server.

4. The method of claim 1 , further comprising initiating, by the shadowing agent service, the rollover operation when one of a predetermined file size and durational threshold is met and creating a new file to store the first presentation layer protocol data stream.

5. The method of claim 4 , further comprising deleting, by the shadowing agent service, an oldest existing file storing the first presentation layer protocol data stream, retaining at least two files storing the first presentation layer protocol data stream.

6. The method of claim 1 , further comprising storing, by the shadowing agent service, the first data stream in volatile memory of the server.

7. The method of claim 6 , further comprising encrypting, by the shadowing agent service, the stored data stream in volatile memory.

8. The method of claim 7 , further comprising storing, by the shadowing agent service, the first data stream as a process-local temporary file designated for deletion upon close of the process.

9. The method of claim 1 , further comprising communicating, by the shadowing agent service, with a permission agent executing in the user session to obtain permission to grant the connection request from the shadowing tool.

10. A system for controlling a real-time user session of presentation layer protocol data comprising:

a server establishing a shadowing agent service and a user session comprising a single presentation layer protocol stack for communication with a client agent;

a controller of the shadowing agent service receiving a connection request from a shadowing tool executing on a computing device;

a recorder of the shadowing agent service initiating a rollover operation responsive to receipt of the connection request, the rollover operation comprising:

reinitializing the single presentation layer protocol stack; and

receiving a first presentation layer protocol data stream from the single presentation layer protocol stack;

the controller receiving a second presentation layer protocol data stream from the shadowing tool;

the controller inserting data from the second presentation layer protocol data stream into the single presentation layer protocol stack; and

wherein the shadowing agent server deletes the stored data stream once the client agent disconnects from the server.

11. The system of claim 10 , wherein the shadowing agent service stores the first presentation layer protocol data stream in a plurality of files stored on the server.

12. The system of claim 11 , wherein the shadowing agent service deletes the plurality of files once the client agent disconnects from the server.

13. The system of claim 10 , wherein the shadowing agent service initiates the rollover operation when one of a predetermined file size and durational threshold is met and creating a new file to store the first presentation layer protocol data stream.

14. The system of claim 13 , wherein the shadowing agent service deletes an oldest existing file storing the first presentation layer protocol data stream, retaining at least two files storing the first presentation layer protocol data stream.

15. The system of claim 10 , wherein the shadowing agent service stores the first data stream in volatile memory of the server.

16. The system of claim 15 , wherein the shadowing agent service encrypts the stored data stream in volatile memory.

17. The system of claim 16 , wherein the shadowing agent service stores the first data stream as a process-local temporary file designated for deletion upon close of the process.

18. The system of claim 10 , wherein the shadowing agent service communicates with a permission agent executing in the user session to obtain permission to grant the connection request from the shadowing tool.

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 Nov 26, 2013
From: RYMAN, PAUL A.
To: CITRIX SYSTEMS, INC
Reel/Frame 031680/0682 →
Continuity (10)
Continuation In Part 11555611 · Nov 1, 2006
Continuation In Part 11555615 · Nov 1, 2006
Continuation In Part 11036486 · Jan 14, 2005
Continuation In Part 11035851 · Jan 14, 2005
Continuation In Part 11036486
Continuation In Part 11036486
Continuation In Part 11035851
Continuation 11035851
Provisional Application 60862349 · Oct 20, 2006
Related Publication 20100049797A1 · Feb 25, 2010