IP Library › Granted Patent US 8,296,441
Granted Patent B2
US 8,296,441 · App. 12/609,731 · Granted Oct 23, 2012

Methods and systems for joining a real-time session of presentation layer protocol data

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,296,441
App. No.
12/609,731
Filed
Oct 30, 2009
Granted
Oct 23, 2012
Kind
B2
Art Unit
2453
USPC
709/205
Abstract

Methods and systems directed to joining a real-time user session of presentation layer protocol data. The methods describe a user session receiving a presentation layer protocol data stream, wherein the user session comprises a single presentation layer protocol stack. The protocol stack sending a request to a virtual channel to reinitialize. The virtual channel processing an existing request until the request to reinitialize is encountered. The protocol stack modifying the presentation layer protocol data stream to contain a marker. The systems describe a single presentation layer protocol stack. The protocol stack includes a receiver, a virtual channel, and a rollover agent. The receiver receives a presentation layer protocol data stream and receives a message initiating reinitialization. The virtual channel processes a request. The rollover agent sends to the virtual channel a request to reinitialize and modifies the presentation layer protocol data stream to contain a marker.

Claims (27)

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

(a) receiving, by a user session executing on a server, a presentation layer protocol data stream from a client agent executing on a client computing device, wherein the user session comprises a single presentation layer protocol stack;

(b) sending, by the single presentation layer protocol stack, to a virtual channel module stored in memory, a request to reinitialize;

(c) processing, by the virtual channel module stored in memory and executed by a processing circuit, an existing request until the request to reinitialize is encountered; and

(d) modifying, by the single presentation layer protocol stack, the presentation layer protocol data stream to contain a marker; and

(e) resetting, by the single presentation layer protocol stack, a virtual channel state machine to an original state in response to the request to reinitialize; wherein the request to reinitialize the virtual channel is sent in response to receiving a request to initiate a rollover from a shadowing agent service executing on the server; and

(f) receiving, by the user session, a second presentation layer protocol data stream from a shadowing agent service executing on a server.

2. The method of claim 1 , further comprising extracting, by the single presentation layer protocol stack, the presentation layer protocol data stream to a buffer.

3. The method of claim 1 , further comprising pausing, by the virtual channel module stored in memory, the existing request until after the request to reinitialize is processed.

4. The method of claim 1 , further comprising receiving, by the single presentation layer protocol stack, the request to initiate a rollover responsive to a connection request from a second computing device.

5. The method of claim 1 , further comprising receiving, by the single presentation layer protocol stack, the request to initiate a rollover responsive to a durational threshold being met.

6. The method of claim 1 , further comprising receiving, by the single presentation layer protocol stack, the request to initiate a rollover responsive to a file size threshold being met.

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

a single presentation layer protocol stack contained within the real-time user session executing on a server comprising:

a receiver module stored in memory and executed by a processing circuit to:

receive a presentation layer protocol data stream from a client agent executing on a client computing device;

a virtual channel module stored in memory, and executed by a processing circuit to:

processes a request; and

a rollover agent module stored in memory, and executed by a processing circuit to:

send to the virtual channel a request to reinitialize; and

modify the presentation layer protocol data stream to contain a marker;

wherein the request to reinitialize the virtual channel is sent in response to receiving a request to initiate a rollover from a shadowing agent service executing on the server using a processing circuit and the single presentation layer protocol stack resets a virtual channel state machine to an original state in response to the request to reinitialize and wherein the user session receives a second presentation layer protocol data stream from a shadowing agent service executing on a server.

8. The system of claim 7 , wherein the single presentation layer protocol stack extracts the presentation layer protocol data stream to a buffer.

9. The system of claim 7 , wherein the virtual channel module pauses the existing request until after the request to reinitialize is processed.

10. The system of claim 7 , wherein the single presentation layer protocol stack receives the request to initiate a rollover responsive to a connection request from a second computing device.

11. The system of claim 7 , wherein the single presentation layer protocol stack receives the request to initiate a rollover responsive to a durational threshold being met.

12. The system of claim 7 , wherein the single presentation layer protocol stack receives the request to initiate a rollover responsive to a file size threshold being met.

Assignments (8)
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 →
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 (8)
Continuation In Part 11555611 · Nov 1, 2006
Continuation In Part 11036486 · Jan 14, 2005
Continuation In Part 11035851 · Jan 14, 2005
Continuation In Part 11555615 · Nov 1, 2006
Continuation In Part 11036486
Continuation In Part 11035851
Provisional Application 60862349 · Oct 20, 2006
Related Publication 20100049783A1 · Feb 25, 2010