LOAD-BALANCING CLUSTER
First Claim
1. A load-balancing cluster comprising:
- (A) a switch having a plurality of ports; and
(B) a plurality of servers connected to at least some of the plurality of ports of the switch, each of said servers being addressable by the same virtual Internet Protocol (VIP) address, wherein each of said plurality of servers comprises;
a mechanism constructed and adapted to respond to a connection request at the VIP address by selecting one of said plurality of servers to handle that connection, wherein said selecting is based, at least in part, on a first given function of information used to request the connection;
a firewall mechanism constructed and adapted to accept all requests for the VIP address for a particular connection only on the server that has been selected to handle that particular connection;
a mechanism constructed and adapted to determine, when a server has been selected and when a request for a resource has been made, whether the server is responsible for the request for the resource, said determining being based, at least in part, on information associated with the request for the resource; and
a handoff mechanism constructed and adapted to handoff a network connection to another of said plurality of servers and to accept a handoff request from another of said plurality of servers, wherein the handoff mechanism determines whether to handoff a network connection or to accept a handoff request based on at least one attribute associated with the requested resource.
1 Assignment
0 Petitions
Accused Products
Abstract
A load-balancing cluster includes a switch having a plurality of ports; and a plurality of servers connected to at least some of the plurality of ports of the switch. Each server is addressable by the same virtual Internet Protocol (VIP) address. Each server in the cluster has a mechanism constructed and adapted to respond to connection requests at the VIP by selecting one of the plurality of servers to handle that connection, wherein the selecting is based, at least in part, on a given function of information used to request the connection; and a firewall mechanism constructed and adapted to accept all requests for the VIP address for a particular connection only on the server that has been selected to handle that particular connection. The selected server determines whether it is responsible for the request and may hand it off to another cluster member.
131 Citations
22 Claims
-
1. A load-balancing cluster comprising:
-
(A) a switch having a plurality of ports; and (B) a plurality of servers connected to at least some of the plurality of ports of the switch, each of said servers being addressable by the same virtual Internet Protocol (VIP) address, wherein each of said plurality of servers comprises; a mechanism constructed and adapted to respond to a connection request at the VIP address by selecting one of said plurality of servers to handle that connection, wherein said selecting is based, at least in part, on a first given function of information used to request the connection; a firewall mechanism constructed and adapted to accept all requests for the VIP address for a particular connection only on the server that has been selected to handle that particular connection; a mechanism constructed and adapted to determine, when a server has been selected and when a request for a resource has been made, whether the server is responsible for the request for the resource, said determining being based, at least in part, on information associated with the request for the resource; and a handoff mechanism constructed and adapted to handoff a network connection to another of said plurality of servers and to accept a handoff request from another of said plurality of servers, wherein the handoff mechanism determines whether to handoff a network connection or to accept a handoff request based on at least one attribute associated with the requested resource. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method, operable in a load-balancing cluster comprising:
- a switch having a plurality of ports; and
a plurality of servers connected to at least some of the plurality of ports of the switch, each of the plurality of servers being addressable by the same Internet Protocol (IP) address, and each of the plurality of servers having a unique hardware address, the method comprising;obtaining a connection request at the cluster to connect to a server associated with the IP address, wherein the connection request is for a resource; providing the connection request to each server connected to the switch; at least one of the plurality of servers determining which of the plurality servers is to handle the connection, wherein the determining act is based, at least in part, on a given function of information used to request the connection; and if a first server of the plurality of servers that is determined to handle the connection does not have a copy of the requested resource, the first server providing a notification to a second server of the plurality of servers that does have a copy of the requested resource, wherein the notification indicates that the first server does not have a copy of the requested resource. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21)
- a switch having a plurality of ports; and
-
22. A method for load-balancing across a plurality of servers connected to a switch, wherein each of the plurality of servers is addressable by the same Internet Protocol (IP) address, the method comprising:
-
receiving a connection request to connect to a server associated with the IP address, wherein the connection request is for a resource; determining which of the plurality servers is to handle the connection; if a first server of the plurality of servers that is determined to handle the connection does not have a copy of the requested resource, the first server providing a notification to a second server of the plurality of servers that does have a copy of the requested resource, wherein the notification indicates that the first server does not have a copy of the requested resource; and in response to receiving the notification from the first server, determining, by the second server, whether to;
i) provide a copy of the requested resource to said server, or ii) request the server to handoff the connection to the second server so that the second server can serve the requested resource,wherein the determining act performed by the second server is based on an attribute of the requested resource.
-
Specification