Load balancing technique implemented in a data network device utilizing a data cache
DCFirst Claim
1. A computer-implemented method for effecting electronic commerce over a data network, the method comprising:
- receiving a block of data from a device;
performing load balancing to assign the initial block of data from the device to a first server of a multi-server system, which includes at least a second server, with the first server supporting a plurality of products available for purchase from an on-line merchant, with the first server using a first data cache and a database, and with the second server using a second data cache and the database, wherein a communication session between the device and the first server is initiated;
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 an identifier for the communication session;
generating a response to the block of data at the first server, with the response including state data information associated with the communication session;
transmitting the response to the device;
causing a subsequent block of data received from the device to be routed to the first server, with state data information related to the subsequent block of data stored in both the first data cache and the database, and with such state data information being stored also associated with the communication session, wherein at least a portion of the subsequent block of data is related to purchasing a product from the plurality of products via an electronic shopping cart associated with the communication session;
detecting, by one of the first and the second servers, a cache miss with respect to retrieving state data information associated with the communication session related to the data cache of one of the first and the second servers; and
retrieving state data information associated with the communication session from the database and storing such into the data cache of the one of the first and the second servers for use by the one of the first and the second servers, in view of the state data information not being accessible from the data cache of the one of the first and the second servers due to the cache miss,wherein the access time associated with accessing data in the data cache of either the first or the second server is less than the access time associated with accessing the data from the database.
4 Assignments
Litigations
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
34 Claims
-
1. A computer-implemented method for effecting electronic commerce over a data network, the method comprising:
-
receiving a block of data from a device; performing load balancing to assign the initial block of data from the device to a first server of a multi-server system, which includes at least a second server, with the first server supporting a plurality of products available for purchase from an on-line merchant, with the first server using a first data cache and a database, and with the second server using a second data cache and the database, wherein a communication session between the device and the first server is initiated; 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 an identifier for the communication session; generating a response to the block of data at the first server, with the response including state data information associated with the communication session; transmitting the response to the device; causing a subsequent block of data received from the device to be routed to the first server, with state data information related to the subsequent block of data stored in both the first data cache and the database, and with such state data information being stored also associated with the communication session, wherein at least a portion of the subsequent block of data is related to purchasing a product from the plurality of products via an electronic shopping cart associated with the communication session; detecting, by one of the first and the second servers, a cache miss with respect to retrieving state data information associated with the communication session related to the data cache of one of the first and the second servers; and retrieving state data information associated with the communication session from the database and storing such into the data cache of the one of the first and the second servers for use by the one of the first and the second servers, in view of the state data information not being accessible from the data cache of the one of the first and the second servers due to the cache miss, wherein the access time associated with accessing data in the data cache of either the first or the second server is less than the access time associated with accessing the data from the database. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. 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 device, result in the computing device:
-
receiving a block of data from a device; performing load balancing to assign the initial block of data from the device to a first server of a multi-server system, which includes at least a second server, with the first server supporting a plurality of products available for purchase from an on-line merchant, with the first server using a first data cache and a database, and with the second server using a second data cache and the database, wherein a communication session between the device and the first server is initiated; 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 an identifier for the communication session; generating a response to the initial block of data at the first server, with the response including state data information associated with the communication session; transmitting the response to the device; causing a subsequent block of data received from the device to be routed to the first server, with state data information related to the subsequent block of data stored in both the first data cache and the database, and with such state data information being stored also associated with the communication session, wherein at least a portion of the subsequent block of data is related to purchasing a product from the plurality of products via an electronic shopping cart associated with the communication session; detecting, by one of the first and the second servers, a cache miss with respect to retrieving state data information associated with the communication session related to the data cache of one of the first and the second servers; and retrieving state data information associated with the communication session from the database and storing such into the data cache of the one of the first and the second servers for use by the one of the first and the second servers, in view of the state data information not being accessible from the data cache of the one of the first and the second servers due to the cache miss, wherein the access time associated with accessing data in the data cache of either the first or the second server is less than the access time associated with accessing the data from the database. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. 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 supporting a plurality of products available for purchase from an on-line store, 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 device; perform load balancing to assign the block of data from the device to the first server, wherein an electronic commerce session between the device and the first server is initiated; store state data information associated with the electronic commerce session in both the first data cache and the database, the state data information being associated with an identifier for the electronic commerce session; generate a response to the block of data at the first server, with the response including state data information associated with the electronic commerce session; transmit the response to the device; receive a subsequent block of data from the device, wherein at least a portion of the subsequent block of data is related to purchasing a product from the plurality of products via an electronic shopping cart associated with the electric commerce session; detect, by one of the first and the second servers, a cache miss with respect to retrieving state data information associated with the electronic commerce session related to the data cache of one of the first and the second servers; and retrieve state data information associated with the electronic commerce session from the database and store such into the data cache of the one of the first and the second servers for use by the one of the first and the second servers, in view of the state data information not being accessible from the data cache of the one of the first and the second servers due to the cache miss, wherein accessing at least some of the state data information in the data cache of either the first or the second server takes less time than accessing the at least some of the state data information from the database. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34)
-
Specification