IP Library Granted Patent US 8,346,848
Granted Patent B2
US 8,346,848 · App. 10/222,051 · Granted Jan 1, 2013

System and method for maintaining statefulness during client-server interactions

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,346,848
App. No.
10/222,051
Granted
Jan 1, 2013
Kind
B2
Abstract

The present invention provides systems and methods for maintaining stateful interactions between clients and servers. Furthermore, the invention provides systems and methods for maintaining stateful interactions between clients and load balancers. In one embodiment, the present invention provides systems and methods for maintaining statefulness without the need for the server to query and/or store information on the client.

Claims (26)

1. A system for maintaining statefulness through a series of transactions between a client and a server over a computer network without having the server query and/or store any information on the client, the system comprising:

an appliance situated between the client and the server on the computer network, the appliance being configured to:

intercept a response containing a web resource being sent to the client from the server in response to a request from the client, wherein the web resource includes a server session identifier assigned by the server;

remove the server session identifier and modify the web resource to include a client session identifier that is different from the server session identifier and assigned by the appliance such that any subsequent requests originating via the modified web resource can be identified by the appliance as originating from the same client to which the intercepted response was directed;

send the modified web resource to the client;

receive subsequent requests from the client that include the client session identifier;

determine that the client session identifier assigned by the appliance is associated with the server session identifier assigned by the server to identify the subsequent requests as originating from the modified web resource;

modify the subsequent requests originating from the modified web resource to include the server session identifier that is recognizable by the server; and

forward the subsequent requests to the server.

2. The system of claim 1 wherein the computer network includes a plurality of servers and the appliance is further adapted to select which of the plurality of servers to send the request to based on the session identifier.

3. The system of claim 1 wherein the appliance assigns the client session identifier and the server session identifier.

4. The system of claim 1 wherein the client session identifier is added to one or more Uniform Resource Locator (URLs) in the resource.

5. The system of claim 1 wherein the client session identifier is added to a content location header for the resource.

6. The system of claim 1 wherein the server assigns the server session identifier by setting a cookie on the appliance.

7. A method for directing client requests to an appropriate server in a computer network including a plurality of servers, the method comprising:

intercepting a requested web resource sent from the a first server to a client before the resource reaches the client, wherein the web resource includes a server session identifier;

generating with the intermediate device a client session identifier that uniquely identifies the client, wherein the client session identifier is different from the server session identifier;

modifying the requested web resource with the intermediate device to remove the server session identifier and to include the client session identifier such that any subsequent requests originating by the client from the modified resource can be identified by the intermediate device as originating from the same client to which the intercepted response was directed;

sending the modified web resource from the intermediate device to the client;

receiving with the intermediate device a new request for a second web resource from the remote client;

determining that the new request originated from the modified web resource by determining with the intermediate device whether the client session identifier that maps to the server session identifier is present in the new request; and

when the client session identifier is present in the new request, modifying the new request with the intermediate device to include the server session identifier and sending the new request in modified form to the first server.

8. The method of claim 7 wherein the computer network includes a plurality of servers, the method further comprising selecting which of the servers to send the second request to based on the session identifier.

9. The method of claim 7 further comprising adjusting the content of the second requested web resource based on the session identifier.

10. The method of claim 7 wherein modifying the requested web resource includes modifying all Uniform Resource Locators (URLs) in the resource to include the client session identifier.

11. The method of claim 7 wherein modifying the requested web resource includes modifying a content location header for the resource to include the client session identifier.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 30, 2005
From: REDLINE NETWORKS, INC.
To: JUNIPER NETWORKS, INC.
Reel/Frame 016207/0098 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 15, 2003
From: PEIFFER, CHRISTOPHER; L'HEUREUX, ISRAEL
To: REDLINE NETWORKS, INC.
Reel/Frame 014592/0815 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 17, 2002
From: PEIFFER, CHRISTOPHER; L'HEUREUX, ISRAEL
To: REDLINE NETWORKS, INC.
Reel/Frame 013400/0080 →