Load balancing technique implemented in a data network device utilizing a data cache
First Claim
1. A computer-implemented method for effecting electronic commerce over a data network, the method comprising:
- receiving a block of data from a computing device;
performing load balancing to assign the block of data from the computing device to a first server of a multi-server system, with a communication session established between the first server and the computing device, the multi-server system including at least a second server, with the first server configured to use a first data cache and a database, and with the second server configured to use a second data cache and the database;
storing state data information associated with the communication session in both the first data cache and the database, the state data information being associated with a session identifier for the communication session and an instance identifier for the first server;
generating a response to the block of data at the first server, with the response including information regarding the session identifier and the instance identifier;
transmitting the response to the computing device;
causing a subsequent block of data received from the computing device to be routed to the first server, the subsequent block of data including the information regarding the session identifier for the communication session and the instance identifier;
comparing the information regarding the instance identifier with information regarding a current instance identifier for the first server; and
retrieving state data information associated with the communication session from the database and storing such into the first data cache, if the information regarding the instance identifier differs from the information regarding the current instance identifier,wherein accessing at least some of the state data information in the first data cache takes less time than accessing the at least some of the state data information from the database.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques for implementing a load balanced server system are described which may be used for effecting electronic commerce over a data network. The system comprises a load balancing system and a plurality of servers in communication with the load balancing system. Each of the plurality of servers may include a respective data cache for storing state information relating to client session transactions conducted between the server and a particular client. The load balancing system can be configured to select, using a load balancing protocol, an available first server from the plurality of servers to process an initial packet received from a source device such as, for example, a client machine of a customer. The load balancing system can also configured to route subsequent packets received from the source device to the first server. Before generating its response, the first server may verify that the state information relating to a specific client session stored in the data cache is up-to-date. If the first server determines that the state information stored in the data cache is not up-to-date, then the first server may be configured to retrieve the desired up-to-date state information from a database which is configured to store all state information relating to client sessions which have been initiated with the server system.
-
Citations
20 Claims
-
1. A computer-implemented method for effecting electronic commerce over a data network, the method comprising:
-
receiving a block of data from a computing device; performing load balancing to assign the block of data from the computing device to a first server of a multi-server system, with a communication session established between the first server and the computing device, the multi-server system including at least a second server, with the first server configured to use a first data cache and a database, and with the second server configured to use a second data cache and the database; storing state data information associated with the communication session in both the first data cache and the database, the state data information being associated with a session identifier for the communication session and an instance identifier for the first server; generating a response to the block of data at the first server, with the response including information regarding the session identifier and the instance identifier; transmitting the response to the computing device; causing a subsequent block of data received from the computing device to be routed to the first server, the subsequent block of data including the information regarding the session identifier for the communication session and the instance identifier; comparing the information regarding the instance identifier with information regarding a current instance identifier for the first server; and retrieving state data information associated with the communication session from the database and storing such into the first data cache, if the information regarding the instance identifier differs from the information regarding the current instance identifier, wherein accessing at least some of the state data information in the first data cache takes less time than accessing the at least some of the state data information from the database. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A non-transitory computer readable medium comprising a plurality of instructions for effecting electronic commerce over a data network, the plurality of instructions, when executed by a computing apparatus, result in the computing apparatus:
-
receiving a block of data from a computing device; performing load balancing to assign the block of data from the computing device to a first server of a multi-server system, with a communication session established between the first server and the computing device, the multi-server system including at least a second server, with the first server configured to use a first data cache and a database, and with the second server configured to use a second data cache and the database; storing state data information associated with the communication session in both the first data cache and the database, the state data information being associated with a session identifier for the communication session and an instance identifier for the first server; generating a response to the block of data at the first server, with the response including information regarding the session identifier and the instance identifier; transmitting the response to the computing device; causing a subsequent block of data received from the computing device to be routed to the first server, the subsequent block of data including the information regarding the session identifier and the instance identifier; comparing the information regarding the instance identifier with information regarding a current instance identifier for the first server; and retrieving state data information associated with the communication session from the database and storing such into the first data cache, if the information regarding the instance identifier differs from the information regarding the current instance identifier, wherein accessing at least some of the state data information in the first data cache takes less time than accessing the at least some of the state data information from the database. - View Dependent Claims (8, 9, 10, 11)
-
-
13. A non-transitory computer readable medium as recited in claim 1,
wherein the first server has information related to a plurality of products available for purchase from an on-line merchant, and wherein at least one subsequent block of data is related to purchasing a product from the plurality of products via an electronic shopping cart.
-
13-1. A multi-server system for effecting electronic commerce over a network, the multi-server system comprising:
-
a load balancing component; a plurality of servers including a first and a second server, both in communication with the load balancing component, with the first server including a first data cache, and with the second server including a second data cache; and a database coupled to at least the first and the second server, wherein the multi-server system is configured to; receive a block of data from a computing device; perform load balancing to assign the block of data from the computing device to the first server, with a communication session established between the first server and the computing device; store state data information associated with the communication session in both the first data cache and the database, the state data information being associated with a session identifier for the communication session and an instance identifier for the first server; generate a response to the block of data at the first server, with the response including information regarding the session identifier and the instance identifier; transmit the response to the computing device; cause a subsequent block of data received from the computing device to be routed to the first server, the subsequent block of data including the information regarding the session identifier for the communication session and the instance identifier; compare the information regarding the instance identifier with information regarding a current instance identifier for the first server; and retrieve state data information associated with the communication session from the database and store such into the first data cache, if the information regarding the instance identifier differs from the information regarding the current instance identifier, wherein accessing at least some of the state data information in the first data cache takes less time than accessing the at least some of the state data information from the database.
-
-
19. A computer-implemented method for effecting electronic commerce over a data network, the method comprising:
-
receiving a block of data from a computing device; performing load balancing to assign the block of data from the computing device to a first server of a multi-server system, with a communication session established between the first server and the computing device, the multi-server system including at least a second server, with the first server configured to use a first data cache and a database, and with the second server configured to use a second data cache and the database; storing state data information associated with the communication session in both the first data cache and the database, the state data information being associated with a session identifier for the communication session and an instance identifier for the first server; generating a response to the block of data at the first server, with the response including information regarding the session identifier and the instance identifier; transmitting the response to the computing device; causing a subsequent block of data received from the computing device to be routed to the first server, the subsequent block of data including the information regarding the session identifier for the communication session and the instance identifier; comparing the information regarding the instance identifier with information regarding a current instance identifier for the first server; and flushing at least a portion of the first data cache if the information regarding the instance identifier differs from the information regarding the current instance identifier, wherein accessing at least some of the state data information in the first data cache takes less time than accessing the at least some of the state data information from the database. - View Dependent Claims (20)
-
Specification