IP Library › Granted Patent US 8,135,850
Granted Patent B2
US 8,135,850 · App. 12/323,243 · Granted Mar 13, 2012

Systems and methods for load balancing real time streaming

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,135,850
App. No.
12/323,243
Filed
Nov 25, 2008
Granted
Mar 13, 2012
Kind
B2
Art Unit
2441
USPC
709/228
Abstract

The present application relates to systems and methods for managing of Real Time Stream Protocol (RTSP) sessions by an intermediary located between a client and a server. An intermediary located between a client and a server receives a response from the server to a request of the client to setup a media stream. The response may include a first session identifier established by the server. The intermediary may encode a port of the server and an internet protocol address of the server into the first session identifier to form a second session identifier. The intermediary may modify the response to identify the second session identifier as the session identifier provided by the server. The intermediary may transmit the modified response to the client responsive to the request of the client to setup the media stream.

Claims (32)

1. A method for managing a streaming session by an intermediary between a client and a server , the method comprising:

a) receiving, by an intermediary between a client and a server, a response from the server to a request of the client to setup a media stream, the response comprising a first session identifier established by the server;

b) identifying, by the intermediary, via the response the port and the internet protocol address of the server;

c) encoding, by the intermediary, a port of the server and an internet protocol address of the server into the first session identifier to form a second session identifier;

d) modifying, by the intermediary, the response to identify the second session identifier as the session identifier provided by the server; and

e) transmitting, by the intermediary, the modified response to the client responsive to the request of the client to setup the media stream.

2. The method of claim 1 , wherein step (c) further comprises prefixing, by the intermediary, a concatenation of the internet protocol address and the port of the server to the first session identifier.

3. The method of claim 1 , wherein step (c) further comprises appending, by the intermediary, a concatenation of the port and the internet protocol address of the server to the first session identifier.

4. The method of claim 1 , wherein step (d) further comprises replacing, by the intermediary, in the response the first session identifier with the second session identifier.

5. The method of claim 1 , further comprising receiving, by the intermediary, a second request from the client to control the media stream, the second request identifying the second session identifier.

6. The method of claim 5 , further comprising decoding, by the intermediary, the port and the internet protocol address from the second session identifier.

7. The method of claim 5 , further comprising decoding, by the intermediary, the first session identifier of the server from the second session identifier of the second request.

8. The method of claim 5 , further comprising modifying, by the intermediary, the second request to use the first session identifier and forwarding the modified request to the port and the internet protocol address of the server identified via the second session identifier.

9. The method of claim 1 , further comprising receiving, by the intermediary, a second request from the client to control the media stream, the intermediary determining that a session identifier of the second request does not comprise identification of the port and the internet protocol address of the server, and in response to the determination, transmits a second response to the client indicating that the session identifier is one of not valid, not found or that a service requested by the second request is unavailable.

10. A system for managing a streaming session by an intermediary between a client and a server, the system comprising:

an intermediary device between a client and a server, configured to:

receive a response from the server to a request of the client to setup a media stream, the response comprising a first session identifier established by the server,

identify, via the response, the port and the internet protocol address of the server,

encode a port of the server and an internet protocol address of the server into the first session identifier to form a second session identifier,

modify the response to identify the second session identifier as the session identifier provided by the server, and

transmit the modified response to the client responsive to the request of the client to setup the media stream.

11. The system of claim 10 , wherein the intermediary is further configured to prefix a concatenation of the internet protocol address and the port of the server to the first session identifier.

12. The system of claim 10 , wherein the intermediary is further configured to append a concatenation of the port and the internet protocol address of the server to the first session identifier.

13. The system of claim 10 , wherein the intermediary is further configured to replace in the response the first session identifier with the second session identifier.

14. The system of claim 10 , wherein the intermediary is further configured to receive a second request from the client to control the media stream, the second request identifying the second session identifier.

15. The system of claim 14 , wherein the intermediary is further configured to decode the port and the internet protocol address from the second session identifier.

16. The system of claim 14 , wherein the intermediary is further configured to decode the first session identifier of the server from the second session identifier of the second request.

17. The system of claim 14 , wherein the intermediary is further configured to modify the second request to use the first session identifier and forward the modified request to the port and the internet protocol address of the server identified via the second session identifier.

18. The system of claim 10 , wherein the intermediary is further configured to:

receive a second request from the client to control the media stream,

determine that a session identifier of the second request does not comprise identification of the port and the internet protocol address of the server, and

in response to the determination, transmit a second response to the client indicating that the session identifier is one of not valid, not found or that a service requested by the second request is unavailable.

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 Apr 2, 2009
From: NARAYANA, RAGHAV SOMANAHALLI; VERZUNOV, SERGEY
To: CITRIX SYSTEMS, INC.
Reel/Frame 022495/0138 →
Continuity (1)
Related Publication 20100131659A1 · May 27, 2010