Distributed server cluster with graphical user interface
First Claim
1. A method of operating a server computer for controlling data traffic of a computer network, the method comprising:
- receiving network data traffic through a network interface that permits communication between the server computer and other computers;
communicating with a plurality of server computers that are all members of a first subnet of network addresses over which network data is sent and received, comprising a front layer of servers, wherein the communication includes state sharing information with a dynamic reconfiguration protocol that permits reassignment of network addresses among the front layer servers and specifies state information sharing and load information sharing among the front layer servers;
communicating with a plurality of network computers that are members of a second subnet of network addresses to send and receive network data traffic;
determining if the data traffic is associated with a previous network communication session of an original server computer of the first subnet, prior to a network address reassignment for the original server computer;
responding to data traffic not associated with a previous network communication session of an original server computer by processing the data traffic; and
responding to data traffic that is associated with a previous network communication session with an original server computer by checking a record of network address assignments and identifying the original server computer associated with the previous network communication session and forwarding the data traffic to the identified original server computer.
9 Assignments
0 Petitions
Accused Products
Abstract
A scalable, distributed, highly available, load balancing server system having multiple machines is provided that functions as a front server layer between a network (such as the Internet) and a back-end server layer having multiple machines functioning as Web file servers, FTP servers, or other application servers. The front layer machines comprise a server cluster that performs fail-over and dynamic load balancing for both server layers. The operation of the servers on both layers is monitored, and when a server failure at either layer is detected, the system automatically shifts network traffic from the failed machine to one or more operational machines, reconfiguring front-layer servers as needed without interrupting operation of the server system. The server system automatically accommodates additional machines in the server cluster, without service interruption. The system operates with a dynamic reconfiguration protocol that permits reassignment of network addresses to the front layer machines. The front layer machines perform their operations without breaking network communications between clients and servers, and without rebooting of computers.
-
Citations
8 Claims
-
1. A method of operating a server computer for controlling data traffic of a computer network, the method comprising:
-
receiving network data traffic through a network interface that permits communication between the server computer and other computers;
communicating with a plurality of server computers that are all members of a first subnet of network addresses over which network data is sent and received, comprising a front layer of servers, wherein the communication includes state sharing information with a dynamic reconfiguration protocol that permits reassignment of network addresses among the front layer servers and specifies state information sharing and load information sharing among the front layer servers;
communicating with a plurality of network computers that are members of a second subnet of network addresses to send and receive network data traffic;
determining if the data traffic is associated with a previous network communication session of an original server computer of the first subnet, prior to a network address reassignment for the original server computer;
responding to data traffic not associated with a previous network communication session of an original server computer by processing the data traffic; and
responding to data traffic that is associated with a previous network communication session with an original server computer by checking a record of network address assignments and identifying the original server computer associated with the previous network communication session and forwarding the data traffic to the identified original server computer.
-
-
2. A method of operating a server computer for controlling data traffic of a computer network, the method comprising:
-
receiving network data traffic through a network interface that permits communication between the server computer and other computers;
communicating with a plurality of server computers that are all members of a first subnet of network addresses over which network data is sent and received, comprising a front layer of servers, wherein the communication includes state sharing information with a dynamic reconfiguration protocol that permits reassignment of network addresses among the front layer servers and specifies state information sharing and load information sharing among the front layer servers, and communicating with a plurality of network computers that are members of a second subnet of network addresses to send and receive network data traffic;
wherein communicating with server computers of the first subnet further includes performing a network address translation comprising;
receiving data traffic for a pool of virtual network addresses serviced by the server computers of the first subnet;
determining that the received data traffic includes a data packet intended for a port connection at a different server computer of the first subnet, and wherein said determination comprises determining that the data packet relates to a port connection that is not in a list of port connections; and
identifying a computer port assignment of the different server computer in the first subnet for which the data traffic is intended and performing an address translation function to route the data packet to the different server computer; and
wherein determining a port connection of the received data traffic comprises determining that the data packet relates to a port connection that is not in a list of port connections, and wherein identifying a port assignment comprises receiving a synchronization message update containing port assignment information that permits identification of the different server computer to which the port is assigned.
-
-
3. A method of operating a server computer for controlling data traffic of a computer network, the method comprising:
-
receiving network data traffic through a network interface that permits communication between the server computer and other computers, communicating with a plurality of server computers that are all members of a first subnet of network addresses over which network data is sent and received, comprising a front layer of servers, wherein the communication includes state sharing information with a dynamic reconfiguration protocol that permits reassignment of network addresses among the front layer servers and specifies state information sharing and load information sharing among the front layer servers;
communicating with a plurality of network computers that are members of a second subnet of network addresses to send and receive network data traffic;
sending a data packet with the request information to a computer of the second subnet;
storing header information for the data request;
receiving data packets of the requested data file from the second subnet computer and forwarding the data packets to the requesting computer;
maintaining state data on the communication session, including the number of data packets sent to the requesting computer;
detecting a failure of the second subnet computer and in response identifying a replacement second subnet computer from which the requested data is available; and
sending a request for the requested data to the replacement second subnet computer, such that the request is for data beginning subsequent to the data packets already forwarded to the requesting computer.
-
-
4. A method of operating a server computer for controlling data traffic of a computer network, the method comprising:
-
receiving network data traffic through a network interface that permits communication between the server computer and other computers;
communicating with a plurality of server computers that are all members of a first subnet of network addresses over which network data is sent and received, comprising a front layer of servers, wherein the communication includes state sharing information with a dynamic reconfiguration protocol that permits reassignment of network addresses among the front layer servers and specifies state information sharing and load information sharing among the front layer servers;
communicating with a plurality of network computers that are members of a second subnet of network addresses to send and receive network data traffic;
configuring an operating system of the server computer such that all network addresses in a pool of addresses assigned to the server computers of the first subnet are assigned to the server computer;
generating a gratuitous address resolution protocol (ARP) message in response to an address reassignment of the server computer and communicating the ARP message to the other server computers of the first subnet; and
blocking the sending of an ARP acknowledgment message to the other server computers of the first subnet for any received gratuitous ARP message, thereby inhibiting reboot operation of the respective server computers and ensuring that each server computer is unaware of any duplicate assignment of network address numbers.
-
-
5. A program product for use in a computer that executes program steps recorded in a computer-readable media to perform a method of operating the computer for controlling data traffic of a computer network, the program product comprising:
-
a recordable media;
computer-readable instructions recorded on the recordable media, comprising instructions executable by the computer to perform a method comprising;
receiving network data traffic through a network interface that permits communication between the computer and other computers;
communicating with a plurality of server computers that are all members of a first subnet of network addresses over which network data is sent and received, comprising a front layer of servers, wherein the communication includes state sharing information with a dynamic reconfiguration protocol that permits reassignment of network addresses among the front layer servers and specifies state information sharing and load information sharing among the front layer servers;
communicating with a plurality of network computers that are members of a second subnet of network addresses to send and receive network data traffic;
determining if the data traffic is associated with a previous network communication session of an original server computer of the first subnet, prior to a network address reassignment for the original server computer;
responding to data traffic not associated with a previous network communication session of an original server computer by processing the data traffic; and
responding to data traffic that is associated with a previous network communication session with an original server computer by checking a record of network address assignments and identifying the original server computer associated with the previous network communication session and forwarding the data traffic to the identified original server computer.
-
-
6. A program product for use in a computer that executes program steps recorded in a computer-readable media to perform a method of operating the computer for controlling data traffic of a computer network, the program product comprising:
-
a recordable media;
computer-readable instructions recorded on the recordable media, comprising instructions executable by the computer to perform a method comprising;
receiving network data traffic through a network interface that permits communication between the computer and other computers;
communicating with a plurality of server computers that are all members of a first subnet of network addresses over which network data is sent and received, comprising a front layer of servers, wherein the communication includes state sharing information with a dynamic reconfiguration protocol that permits reassignment of network addresses among the front layer servers and specifies state information sharing and load information sharing among the front layer servers;
communicating with a plurality of network computers that are members of a second subnet of network addresses to send and receive network data traffic;
wherein communicating with server computers of the first subnet further includes performing a network address translation comprising;
receiving data traffic for a pool of virtual network addresses serviced by the server computers of the first subnet;
determining that the received data traffic includes a data packet intended for a port connection at a different server computer of the first subnet; and
identifying a computer port assignment of the different server computer in the first subnet for which the data traffic is intended and performing an address translation function to route the data packet to the different server computer;
wherein determining a port connection of the received data traffic comprises determining that the data packet relates to a port connection that is not in a list of port connections, and wherein identifying a port assignment comprises receiving a synchronization message update containing port assignment information that permits identification of the different server computer to which the port is assigned.
-
-
7. A program product for use in a computer that executes program steps recorded in a computer-readable media to perform a method of operating the computer for controlling data traffic of a computer network, the program product comprising:
-
a recordable media;
computer-readable instructions recorded on the recordable media, comprising instructions executable by the computer to perform a method comprising;
receiving network data traffic through a network interface that permits communication between the computer and other computers;
communicating with a plurality of server computers that are all members of a first subnet of network addresses over which network data is sent and received, comprising a front layer of servers, wherein the communication includes state sharing information with a dynamic reconfiguration protocol that permits reassignment of network addresses among the front layer servers and specifies state information sharing and load information sharing among the front layer servers;
communicating with a plurality of network computers that are members of a second subnet of network addresses to send and receive network data traffic;
sending a data packet with the request information to a computer of the second subnet;
storing header information for the data request;
receiving data packets of the requested data file from the second subnet computer and forwarding the data packets to the requesting computer;
maintaining state data on the communication session, including the number of data packets sent to the requesting computer;
detecting a failure of the second subnet computer and in response identifying a replacement second subnet computer from which the requested data is available; and
sending a request for the requested data to the replacement second subnet computer, such that the request is for data beginning subsequent to the data packets already forwarded to the requesting computer.
-
-
8. A program product for use in a computer that executes program steps recorded in a computer-readable media to perform a method of operating the computer for controlling data traffic of a computer network, the program product comprising:
-
a recordable media;
computer-readable instructions recorded on the recordable media, comprising instructions executable by the computer to perform a method comprising;
receiving network data traffic through a network interface that permits communication between the computer and other computers;
communicating with a plurality of server computers that are all members of a first subnet of network addresses over which network data is sent and received, comprising a front layer of servers, wherein the communication includes state sharing information with a dynamic reconfiguration protocol that permits reassignment of network addresses among the front layer servers and specifies state information sharing and load information sharing among the front layer servers;
communicating with a plurality of network computers that are members of a second subnet of network addresses to send and receive network data traffic;
configuring an operating system of the computer such that all network addresses in a pool of addresses assigned to the server computers of the first subnet are assigned to the computer;
generating a gratuitous address resolution protocol (ARP) message in response to an address reassignment of the computer and communicating the ARP message to the other server computers of the first subnet; and
blocking the sending of an ARP acknowledgment message to the other server computers of the first subnet for any received gratuitous ARP message, thereby inhibiting reboot operation of the respective server computers and ensuring that each server computer is unaware of any duplicate assignment of network address numbers.
-
Specification