A technique for implementing a load balanced server farm system is
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 is
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 is also configured to route
subsequent packets received from the source device to the first server.
In this way, a "stickiness" scheme may be implemented in the server farm
system whereby, once an electronic commerce session has been initiated
between the first server and the source device, the first server may
handle all subsequent requests from the source device in order to make
optimal use of the state data stored in the first server's data cache.
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 farm system.