Load balancing and fault tolerance for server-based software applications
First Claim
1. A method of providing a remote networked computer with a service session using one of a plurality of similarly functioning software applications residing on different servers with different unique network addresses, the method comprising:
- receiving, from the remote computer and at a device having a unique network address that is different from the network address of any of the servers, a packet-based message comprising a request for a service session;
assigning one of the several servers to be used by the remote computer in the service session; and
transmitting, to the remote computer, a packet-based message comprising the unique network address of the assigned server for the remote user to address subsequent messages during the service session.
2 Assignments
0 Petitions
Accused Products
Abstract
An application service provider provides to remote networked computers service sessions using one of a plurality of similarly functioning software applications residing on different servers with different unique network addresses. To request a service session, a remote computer transmits a “probe request” to a unique network address associated with the service provider. A load balancer then assigns one of the servers to provide the service. The service provider then sends back to the remote computer a “probe response” providing the unique network address of the assigned server. Thereafter, for packet-based messages sent by the remote computer that are part of the service session, the messages are addressed to the unique network address of the assigned server. “Probe request” and “probe response” messages may also be used during the course of a service session for fault tolerance.
-
Citations
40 Claims
-
1. A method of providing a remote networked computer with a service session using one of a plurality of similarly functioning software applications residing on different servers with different unique network addresses, the method comprising:
-
receiving, from the remote computer and at a device having a unique network address that is different from the network address of any of the servers, a packet-based message comprising a request for a service session;
assigning one of the several servers to be used by the remote computer in the service session; and
transmitting, to the remote computer, a packet-based message comprising the unique network address of the assigned server for the remote user to address subsequent messages during the service session. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. An apparatus for providing service sessions to remote networked computers, comprising:
-
a plurality of servers each having a different unique network address, each of the servers for executing a similarly functioning software application to provide a service session;
a load balancer having a unique network address different from the unique network address of any of the servers, the load balancer comprising a first processor and first memory for storing thereon instructions that when executed by the first processor assigns, in response to receiving from a remote networked computer a packet-based message comprising a request for a service session, one of the servers to be used by the remote computer in the service session;
a second processor and second memory for storing thereon instructions that when executed by the second processor transmits, to the remote networked computer that requested service, a packet-based message containing the identity of the unique network address of the assigned server to which the remote networked computer is to address packet-based messages during the service session. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29)
-
-
30. An apparatus that assigns, for a service session, one of a plurality of servers with unique network addresses, each of the plurality of servers being capable of executing a similarly functioning software application to provide the service session, the apparatus comprising:
-
a unique network address that is different from the unique network address of any of the plurality of servers;
a processor; and
memory for storing thereon instructions that when executed by the processor perform the following functions;
assigns one of the servers to be used by a remote computer in the service session in response to receiving a packet-based message comprising a request for the service session from the remote computer; and
transmits, to the remote computer that requested the service session, a packet-based message containing the unique network address of the assigned server to which the remote computer is to address packet-based messages during the service session. - View Dependent Claims (31, 32, 33, 34)
-
-
35. Computer readable medium having stored thereon program instructions that when executed by a processor in a networked computer perform the following functions:
-
transmits, in response to a predetermined user command input to the networked computer, a packet-based message comprising a request for a service session to a remote service provider, the message being addressed to a unique network address associated with the service provider, the service provider comprising a plurality of different servers with different unique network addresses, each of the servers having thereon similarly functioning software applications to provide a service session;
in response to receiving from the service provider a packet-based message comprising a unique network address for one of the plurality of servers that has been assigned for the service session, transmits during the service session packet-based messages addressed to the unique network address of the assigned server. - View Dependent Claims (36, 37, 38, 39, 40)
-
Specification