IP Library Granted Patent US 8,090,877
Granted Patent B2
US 8,090,877 · App. 12/360,014 · Granted Jan 3, 2012

Systems and methods for fine grain policy driven cookie proxying

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,090,877
App. No.
12/360,014
Granted
Jan 3, 2012
Kind
B2
Abstract

The present solution enables a client that is not configured to use cookies to access resources of the server that uses cookies for communications with the clients. An intermediary deployed between a client and a server intercepts and modifies transmissions between the client and the server to compensate for the mismatch in configuration of the cookies between the client and the server. The present disclosure relates to a method for managing cookies by an intermediary for a client. An intermediary receives a response from a server to a request of a client. The response may comprise a uniform resource locator (URL) and a cookie. The intermediary may modify the response by removing the cookie from the response and inserting a unique client identifier into the URL. The intermediary may store the removed cookie in association with the unique client identifier and forward the modified response to the client.

Claims (41)

1. A method for managing cookies by an intermediary for a client, the method comprising:

receiving, by an intermediary, a response from a server to a request of a client, the response comprising a URL and a cookie;

matching, by a cookie manager, one or more values associated with the cookie comprised by the response to a cookie from a plurality of cookies;

modifying, by the intermediary, the response by removing the cookie from the response and inserting a unique client identifier into the URL;

storing, by the intermediary, the removed cookie in association with the unique client identifier; and

forwarding, by the intermediary, the modified response to the client.

2. The method of claim 1 , wherein the modifying is in response to the matching.

3. The method of claim 1 , further comprising:

receiving, by the intermediary, a second request from the client, the second request comprising a request URL; and

matching, by the cookie manager, the request URL with the removed cookie from a plurality of cookies.

4. The method of claim 3 , further comprising:

modifying, by the intermediary, the request URL by adding the removed cookie; and

forwarding, by the intermediary, the modified request URL to the server.

5. The method of claim 3 , wherein the plurality of cookies are associated with at least one of a domain name or at least one path provided by the request URL.

6. The method of claim 3 , further comprising receiving, by the intermediary, one or more name value pairs from the cookie manager in response to the matching.

7. The method of claim 1 , wherein the response comprises a plurality of cookies and the modified response comprises a plurality of client identifiers associated with the plurality of cookies.

8. The method of claim 1 , wherein the unique client identifier is a cookie proxy session cookie comprising a portion of the cookie.

9. The method of claim 1 , further comprising:

receiving, by the intermediary, the request from the client, the request comprising a cookie proxy session cookie, the cookie proxy session cookie comprising a portion of the cookie;

matching, by the intermediary, the cookie proxy session cookie to the cookie;

modifying, by the intermediary, the request by removing the cookie proxy session cookie from the request and adding the cookie to the request; and

forwarding, by the intermediary, the modified request to the server.

10. An intermediary for managing cookies using a proxy on a network, the intermediary comprising:

a packet engine of an intermediary receives a response from a server to a request of a client, the response comprising a URL and a cookie;

a cookie manager of the intermediary for matching one or more values from the response associated with the cookie to a cookie from a plurality of cookies;

a cookie proxy of the intermediary for modifying the response by removing the cookie from the response and inserting a unique client identifier into the URL, the cookie manager storing the removed cookie in association with the unique client identifier; and

the intermediary for forwarding the modified response to the client.

11. The intermediary of claim 10 , wherein the modifying is in response to the matching.

12. The intermediary of claim 10 , wherein the packet engine receives a second request from the client, the second request comprising a request URL and the cookie manager matches the request URL with the removed cookie from a plurality of cookies.

13. The intermediary of claim 12 , wherein the intermediary:

modifies the request URL by adding the removed cookie; and

forwards the modified request URL to the server.

14. The intermediary of claim 12 , wherein the plurality of cookies are associated with at least one of a domain name or at least one path provided by the request URL.

15. The intermediary of claim 12 , wherein the intermediary receives one or more name value pairs from the cookie manager in response to the matching.

16. The intermediary of claim 10 , wherein the response comprises a plurality of cookies and the modified response comprises a plurality of client identifiers associated with the plurality of cookies.

17. The intermediary of claim 10 , wherein the unique client identifier is a cookie proxy session cookie comprising a portion of the information comprised by the cookie.

18. The intermediary of claim 10 , wherein the intermediary:

receives the request from the client, the request comprising a cookie proxy session cookie, the cookie proxy session cookie comprising a portion of the cookie;

matches the cookie proxy session cookie to the cookie;

modifies the request by removing the cookie proxy session cookie from the request and adding the cookie to the request; and

forwards the modified request to the server.

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 →
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 →
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 →
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 →
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 30, 2009
From: AGARWAL, PUNEET; ADHYA, SAIBAL KUMAR; THIRUNARAYANAN, SRINIVASAN; HARRIS, JAMES
To: CITRIX SYSTEMS, INC.
Reel/Frame 022617/0452 →
Continuity (2)
Provisional Application 61023849 · Jan 26, 2008
Related Publication 20090193129A1 · Jul 30, 2009