IP Library Granted Patent US 8,650,249
Granted Patent B2
US 8,650,249 · App. 12/903,537 · Granted Feb 11, 2014

Selectively processing cookies in a proxy

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,650,249
App. No.
12/903,537
Granted
Feb 11, 2014
Kind
B2
Abstract

An intermediary (such as a web reverse proxy), which is located between a web browser and one or more backend applications, manages cookies that are provided by the backend applications and returned to the web browser during a user session. The intermediary decides which cookies should be sent to the browser and which cookies should be stored therein. Preferably, this determination is made in an automated manner by examining the response for any cookie-dependent code (e.g., scripting) included in the response.

Claims (31)

1. Apparatus positioned between a client browser and one or more backend applications, comprising:

a processor;

computer memory holding computer program instructions that when executed by the processor perform a method during an existing authenticated session with a user operating the client browser, the method comprising:

responsive to forwarding a request to a backend application, receiving a response;

making a determination whether the response is associated with a cookie that should be returned to the client browser by examining the response for presence of code whose execution in the client browser requires a cookie, wherein if the response includes code whose execution in the client browser requires a cookie, marking the response as associated with a cookie that should be returned to the client browser;

if the response is associated with a cookie that should be returned to the client browser, tracking the cookie in a per-user session cache object associated with the session; and

forwarding the response including the cookie to the client browser.

2. Apparatus as described in claim 1 wherein the method further includes:

if the response is associated with a cookie that need not be returned to the client browser, tracking the cookie in the per-user session cache object associated with the session; and

caching the cookie for re-use by the intermediary on a subsequent request to a backend application on behalf of the client browser.

3. The apparatus as described in claim 1 wherein the code whose execution in the client browser requires a cookie is a script.

4. The apparatus as described in claim 1 wherein the response from the backend application is an HTTP response.

5. The apparatus as described in claim 1 wherein the step of tracking the cookie in the per-user session cache object stores a name of the cookie and its value.

6. The apparatus as described in claim 1 wherein the method further includes the step of making a determination whether the response includes the cookie if the response is associated with a cookie that should be returned to the client browser.

7. The apparatus as described in claim 2 wherein the method further includes making a determination whether the cookie is stored in the per-user session cache object if the response does not include the cookie.

8. A computer program product in a non-transitory computer readable medium for use in a data processing system positioned between a client browser and one or more backend applications, the computer program product holding computer program instructions which, when executed by the data processing system, perform a method during an existing authenticated session with a user operating the client browser, the method comprising:

responsive to forwarding a request to a backend application, receiving a response;

making a determination whether the response is associated with a cookie that should be returned to the client browser by examining the response for presence of code whose execution in the client browser requires a cookie, wherein if the response includes code whose execution in the client browser requires a cookie, marking the response as associated with a cookie that should be returned to the client browser;

if the response is associated with a cookie that should be returned to the client browser, tracking the cookie in a per-user session cache object associated with the session; and

forwarding the response including the cookie to the client browser.

9. The computer program product as described in claim 8 wherein the method further includes:

if the response is associated with a cookie that need not be returned to the client browser, tracking the cookie in the per-user session cache object associated with the session; and

caching the cookie for re-use by the intermediary on a subsequent request to a backend application on behalf of the client browser.

10. The computer program product as described in claim 8 wherein the code whose execution in the client browser requires a cookie is a script.

11. The computer program product as described in claim 8 wherein the response from the backend application is an HTTP response.

12. The computer program product as described in claim 8 wherein the step of tracking the cookie in the per-user session cache object stores a name of the cookie and its value.

13. The apparatus as described in claim 8 wherein the method further includes the step of making a determination whether the response includes the cookie if the response is associated with a cookie that should be returned to the client browser.

14. The apparatus as described in claim 13 wherein the method further includes making a determination whether the cookie is stored in the per-user session cache object if the response does not include the cookie.

15. A web proxy operating as an intermediary between a client browser and a backend application during an existing authenticated session with a user operating the client browser, comprising:

a processor;

computer memory holding computer program instructions that when executed by the processor automatically examines each HTTP response received from a backend application during the authenticated session, parses the HTTP response to identify cookie-dependent client-side scripting code whose execution in the client browser requires a cookie, marks the HTTP response as associated with a cookie that should be returned to the client browser if the HTTP response includes the cookie-dependent client-side scripting code, tracks in a per user-session cache object the cookie associated with the cookie-dependent client-side code, and forwards the HTTP response, together with the cookie, to the client browser.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 8, 2025
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: WORKDAY, INC.
Reel/Frame 073051/0916 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 13, 2010
From: CANNING, SIMON GILBERT; EXTON, SCOTT ANTHONY; READSHAW, NEIL IAN
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 025132/0332 →