Claims
- 1. A system for replicating information in a client session, comprising:
a. a plurality of servers; b. a primary server in said plurality of servers, said primary server adapted to receive a request in a client session and serve a response to that request, said primary server further adapted to store session information for that client session; c. a secondary server in said plurality of servers, said secondary server adapted to receive request in a client session and serve a response to that request, said primary server further adapted to store session information for that client session; and d. a hardware load balancer adapted to receive a request from a client, the request containing identification information for said primary and secondary servers, said hardware load balancer adapted to check that portion of the request containing the identification information and serve the process request on said primary server if that portion has not changed since a previous request, said hardware load balancer further adapted to select a new primary server from said plurality of servers if that portion has changed.
- 2. A system according to claim 1, further comprising a cookie adapted to be stored on the client, said cookie adapted to contain the identification information for said primary and secondary servers.
- 3. A system according to claim 2, wherein said cookie contains a number for said primary server and a number for said secondary server.
- 4. A system according to claim 2, wherein said cookie contains a number that is the sum of a number for said primary server and a number for said secondary server.
- 5. A system according to claim 1, wherein said hardware load balancer is further adapted to select a new primary server from said plurality of servers if said primary server cannot process the request.
- 6. A system according to claim 1, wherein said primary server is adapted to request session information for that client session from said secondary server when said primary server receives a request on a client session that the primary server is not hosting, information for that client session being stored on said secondary server.
- 7. A system according to claim 1, wherein said primary server is further adapted to read a cookie associated with a request received for a client session and determine whether the primary server is hosting that client session.
- 8. A system according to claim 1, wherein said hardware load balancer is further adapted to send requests to said primary server in batches.
- 9. A method for providing redundancy in a client session, comprising:
a. making a load balancing decision for an initial request from a client in a client session in order to select a primary server from a plurality of servers, the load balancing decision being made using an algorithm in a hardware load balancer; b. serving said request on the primary server; c. selecting a secondary server using the primary server; d. sending session information for that client session from the primary server to the secondary server; and e. updating session information on the primary and secondary servers each time a request is received in the client session.
- 10. A method according to claim 9, further comprising:
storing the information in a cookie on the client.
- 11. A method according to claim 9, further comprising:
selecting a new primary server using the hardware load balancer if the primary server is unable to process the request.
- 12. A method according to claim 11, further comprising:
serving the request on the new primary server.
- 13. A method according to claim 11, further comprising:
selecting a new secondary server.
- 14. A method according to claim 9, further comprising:
serving requests to the primary server in batches.
- 15. A method according to claim 9, further comprising:
sending session information for that client session from the primary server to the secondary server in batches.
- 16. A method according to claim 9, further comprising:
associating a version number with each update to the session information in response to a request.
- 17. A method according to claim 9, wherein sending session information for that client session from the primary server to the secondary server comprises sending a delta of information containing the changes in the session information.
- 18. A method according to claim 9, further comprising:
assigning the primary and secondary servers each an identification number.
- 19. A method according to claim 9, further comprising:
adding an identification number for the primary server and an identification number for the secondary server to obtain one number that describes both the primary and secondary servers.
- 20. A system for replicating information in a client session, comprising:
a. a plurality of servers; b. a primary server in said plurality of servers, said primary server adapted to receive a request in a client session and serve a response to that request, said primary server further adapted to store session information for that client session, and adapted to generate a cookie containing information relating to said primary server and transmit the cookie to the session client; c. a secondary server in said plurality of servers selected by said primary server, said secondary server adapted to receive the session information from said primary server and store the session information, the secondary server further adapted to receive a request in a client session and serve a response to that request; and d. a hardware load balancer adapted to receive a request from a client, the request containing identification information for said primary and secondary servers, the web server adapted to process the identification information and serve the process request on said primary server, the hardware load balancer adapted to serve the request on a new primary server if said primary server is unable to process the request.
- 21. A method for providing redundancy in a client session, comprising:
a. making a load balancing decision for an initial request from a client in a client session in order to select a primary server from a plurality of servers, the load balancing decision being made using an algorithm in a hardware load balancer; b. serving said request on said primary server; c. sending session information for that client session from the primary server to a secondary server selected by said primary server; d. storing a cookie on the session client containing information identifying the primary and secondary servers; and e. updating session information on the primary and secondary servers each time a request is received in the client session.
- 22. A method according to claim 21, further comprising the step of processing a segment of the cookie containing identification information for a request received in the client session and serving the request on the primary server.
- 23. A system for replicating information in a client session, comprising:
a. a plurality of servers; b. a primary server in said plurality of servers, said primary server adapted to receive a request in a client session and serve a response to that request, said primary server further adapted to store session information for that client session, and adapted to generate a cookie containing information relating to said primary server and transmit the cookie to the session client; c. a secondary server in said plurality of servers selected by said primary server, said secondary server adapted to receive the session information from said primary server and store the session information, the secondary server further adapted to receive a request in a client session and serve a response to that request; and d. a hardware load balancer containing load-balancing logic for selecting said primary server, said hardware load balancer adapted to receive an initial request from a client and direct that request to said primary server, said hardware load balancer further adapted to receive a subsequent request from a client, the subsequent request containing identification information for said primary and secondary servers, the hardware load balancer adapted to process the identification information and serve the process request on said primary server, the hardware load balancer further adapted to select a new primary server and serve the request on the new primary server if said primary server is unable to process the request.
- 24. A method for providing redundancy in a client session, comprising:
a. making a load balancing decision for an initial request from a client in a client session in order to select a primary server from a plurality of servers, the load balancing decision being made using an algorithm in a hardware load balancer; b. serving the request on the primary server; c. sending session information for that client session from the primary server to a secondary server selected by said primary server; d. storing a cookie on the session client, the cookie containing information identifying the primary and secondary servers; e. reading the identification information received with any subsequent request in the client session and serving that subsequent request on the primary server; and f. updating session information on the primary and secondary servers each time a subsequent request is served on the primary server for that client session.
- 25. A method for providing redundancy in a client session, comprising:
a. selecting a primary server from a plurality of servers in response to an initial request from a client, the selecting step using load-balancing logic in a hardware load balancer; b. serving said request on said primary server to begin a client session; c. selecting a secondary server; d. sending session information for that client session from the primary server to the secondary server; and e. updating session information on the primary and secondary servers each time a request is received in the client session.
- 26. A method according to claim 25, further comprising:
storing the information in a cookie on the client.
- 27. A method according to claim 25, further comprising:
serving the request on a new primary server if the primary server is unable to process the request.
- 28. A method according to claim 25, further comprising:
selecting a new primary server using load-balancing logic in the hardware load balancer.
- 29. A method according to claim 25, further comprising:
selecting a new secondary server.
- 30. A method according to claim 25, further comprising:
serving requests to the primary server in batches.
- 31. A method according to claim 25, further comprising:
sending session information for that client session from the primary server to the secondary server in batches.
CLAIM OF PRIORITY
[0001] This application claims priority to U.S. Provisional patent application No. 60/305,969, filed Jul. 16, 2001, entitled HARDWARE LOAD-BALANCING APPARATUS FOR SERVLET SESSION REPLICATION, incorporated herein by reference.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60305969 |
Jul 2001 |
US |