Claims
- 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 web resource being sent to the client from the server in response to a request from the client; modify the web resource such that any subsequent requests from the client originating via the modified web resource can be identified as such by the appliance; send the modified web resource to the client; receive any subsequent requests from the client; identify any subsequent requests originating from the modified web resource; and modify any subsequent requests originating from the modified web resource to include a 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 session identifier.
- 4. The system of claim 1 wherein the server assigns the session identifier.
- 5. The system of claim 1 wherein the step of modifying the web resource includes adding a client session identifier to the resource.
- 6. The system of claim 5 wherein the client session identifier is identical to the session identifier.
- 7. The system of claim 5 wherein the client session identifier is different from the session identifier.
- 8. The system of claim 5 wherein the client session identifier is added to one or more Uniform Resource Locators (URLs) in the resource.
- 9. The system of claim 5 wherein the client session identifier is added to a content location header for the resource.
- 10. The system of claim 5 wherein the step of modifying the resource includes the appliance setting a cookie on the client machine.
- 11. The system of claim 4 wherein the server assigns the session identifier by setting a cookie on the appliance.
- 12. A method for maintaining statefulness during a series of interactions between a client and a server communicating over a computer network, the method comprising:
modifying a client's request for a web resource to include a unique identifier that is recognizable by the server; intercepting the requested web resource before it reaches the client; modifying the requested web resource such that any request originating via the requested web resource can be identified as such; and sending the modified requested web resource to the client.
- 13. The method of claim 12 further comprising the steps of:
receiving and identifying a second request originating via the requested web resource; modifying the second request to include the session identifier; and sending the modified second request including the session identifier to the server.
- 14. The method of claim 13 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.
- 15. The method of claim 13 further comprising adjusting the content of the second requested web resource based on the session identifier.
- 16. The method of claim 12 wherein modifying the requested web resource includes modifying all Uniform Resource Locators (URLs) in the resource to include a client session identifier.
- 17. The method of claim 16 wherein the client session identifier is identical to the session identifier.
- 18. The method of claim 12 wherein modifying the requested web resource includes modifying a content location header for the resource to include a client session identifier.
- 19. The method of claim 17 wherein the client session identifier is identical to the session identifier.
- 20. An appliance configured to maintain statefulness during interactions between a client and a server communicating over a computer network, the appliance being configured to modify a web resource being sent by the server to the client such that the appliance can intercept, identify, and modify a request originating from the web resource.
- 21. The appliance of claim 20 wherein the appliance is configured to modify the web resource by appending a session identifier to one or more Uniform Resource Locators (URLs) in the resource.
- 22. The appliance of claim 20 wherein the appliance is configured to modify the web resource by appending a session identifier to a content location header for the resource.
- 23. The appliance of claim 20 further configured to modify the request originating from the web resource to include a session identifier.
- 24. The appliance of claim 23 wherein the computer network includes a plurality of servers and the appliance is further configured to select which of the servers to send the request to based on the session identifier.
- 25. The appliance of claim 20 further configured to assign a state identifier to a request for a web resource from a client to a server.
- 26. The appliance of claim 25 further configured to assign a client session identifier to a client requesting a web resource from a server.
- 27. The appliance of claim 26 further configured to maintain an association between the state identifier and the client session identifier.
- 28. The appliance of claim 20 further configured intercept and store any cookies on the appliance that the server tries to set on the client.
- 29. The appliance of claim 20 further configured to set cookies on the client.
- 30. A method for identifying the source of a request for a web resource in a computer system, the method comprising:
intercepting a resource that has been requested from the server by a client before the resource reaches the client; modifying the requested web resource to include a session identifier such that the session identifier will be included in any subsequent request originating from the modified resource; and sending the requested web resource including the unique user identifier to the client.
- 31. The method of claim 30 wherein the requested web resource is modified by rewriting any URL links in the requested web resource to include the unique user identifier.
- 32. The method of claim 30 wherein the requested web resource is modified by including the client session identifier in the resource's content location header.
- 33. A method for directing client requests to an appropriate sticky servers in a computer network including a plurality of servers, the method comprising:
assigning a first session identifier that is recognizable by a first server to a client's request for a web resource; intercepting the requested web resource sent from the server to the client before the resource reaches the client; modifying the requested web resource such that any subsequent requests originating from the modified resource will include a second session identifier; sending the modified web resource to the client; receiving a new request for a second web resource from the remote client; determining whether the second unique user identifier is present in the new request and, if so sending the new request to the first server.
- 34. The method of claim 33 wherein the first session identifier and the second session identifier are identical.
- 35. The method of claim 33 wherein the requested web resource is modified by rewriting one or more URL links in the requested web resource to include the unique user identifier.
- 36. The method of claim 33 wherein the requested web resource is modified by including the client session identifier in the resource's content location header.
- 37. An appliance for use on a computer network connecting a web server and a remote client, wherein the remote client is configured to download a web resource from the web server via the computer network and display the web resource via a browser, the appliance being configured to:
receive the request from the remote client; generate a unique user identifier based on the request; receive the requested web resource from the web server:
modify the requested web resource to include the unique user identifier; and send the requested web resource with the appended unique user identifier to the remote client.
- 38. The appliance of claim 37, wherein the unique user identifier is appended to the requested web resource by rewriting any URL links in the requested web resource to include the unique user identifier.
- 39. An article comprising a storage medium having a plurality of machine-readable instructions, wherein when the instructions are executed by a computing system, and cause the computing system to perform the steps of:
intercepting a request for a web resource from a remote client before the request reaches the web server; generating a unique user identifier; appending the unique user identifier to the requested web resource; and sending the requested web resource including appended unique user identifier to the client.
- 40. The article of claim 39 wherein the unique user identifier is appended to the requested web resource by rewriting any URL links in the requested web resource to include the unique user identifier.
CROSS REFERENCE TO RELATED APPLICATION
[0001] The present application claims priority from U.S. Provisional Patent Application Serial No. 60/313,006 to Christopher Peiffer and Israel L'Heureux entitled SYSTEM AND METHOD FOR IDENTIFYING A UNIQUE USER INTERACTING WITH A WEB SERVER, filed Aug. 16, 2001, the entire disclosure of which is hereby incorporated by reference for all purposes.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60313006 |
Aug 2001 |
US |