Distributed traffic controller for network data
First Claim
1. A method of operating a server computer of a plurality of server computers that comprise a front layer of server computers for controlling data traffic of a computer network, said plurality of server computers being members of a first subnet of network addresses over which network data traffic is sent and received, the method comprising:
- receiving network data traffic through a network interface that permits communication between the server computer and other server computers of said plurality of server computers;
receiving a data request from a responding server computer of the first subnet, which data request was initially received at the responding server computer;
identifying a server computer in the first subnet that will handle the data traffic associated with the data request and forwarding the data request to the identified server computer for handling;
receiving a reply message from a server computer of the first subnet that is operating as a default reply node to a network computer of a second subnet that is responding to the data request; and
forwarding the reply message to a server computer of the first subnet that will ensure symmetric routing of the data request and reply message with respect to the plurality of server computers of the first subnet.
9 Assignments
0 Petitions
Accused Products
Abstract
A distributed gateway for controlling computer network data traffic dynamically reconfigures traffic assignments among multiple gateway machines for increased network availability. If one of the distributed gateway machines becomes unavailable, traffic assignments are moved among the multiple machines such that network availability is substantially unchanged. The machines of the distributed gateway form a cluster and communicate with each other using a Group Membership protocol word such that automatic, dynamic traffic assignment reconfiguration occurs in response to machines being added and deleted from the cluster, with no loss in functionality for the gateway overall, in a process that is transparent to network users, thereby providing a distributed gateway functionality that is scalable. Operation of the distributed gateway remains consistent as machines are added and deleted from the cluster. A scalable, distributed, highly available, load balancing network gateway is thereby provided, having multiple machines that function as a front server layer between the network 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.
-
Citations
12 Claims
-
1. A method of operating a server computer of a plurality of server computers that comprise a front layer of server computers for controlling data traffic of a computer network, said plurality of server computers being members of a first subnet of network addresses over which network data traffic is sent and received, the method comprising:
-
receiving network data traffic through a network interface that permits communication between the server computer and other server computers of said plurality of server computers; receiving a data request from a responding server computer of the first subnet, which data request was initially received at the responding server computer; identifying a server computer in the first subnet that will handle the data traffic associated with the data request and forwarding the data request to the identified server computer for handling; receiving a reply message from a server computer of the first subnet that is operating as a default reply node to a network computer of a second subnet that is responding to the data request; and forwarding the reply message to a server computer of the first subnet that will ensure symmetric routing of the data request and reply message with respect to the plurality of server computers of the first subnet. - View Dependent Claims (2, 3, 4)
-
-
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, the program product comprising:
-
a recordable media; a plurality of computer-readable instructions executable by the computer to perform a method of operating a server computer of a plurality of server computers that comprise a front layer of server computers for controlling data traffic of a computer network, said plurality of server computers being members of a first subnet of network addresses over which network data traffic is sent and received, the method comprising; receiving network data traffic through a network interface that permits communication between the server computer and other server computers of said plurality of server computers; receiving a data request from a responding server computer of the first subnet, which data request was initially received at the responding server computer; identifying a server computer in the first subnet that will handle the data traffic associated with the data request and forwarding the data request to the identified server computer for handling; receiving a reply message from a server computer of the first subnet that is operating as a default reply node to a network computer of a second subnet that is responding to the data request; and forwarding the reply message to a server computer of the first subnet that will ensure symmetric routing of the data request and reply message with respect to the plurality of server computers of the first subnet. - View Dependent Claims (6, 7, 8)
-
-
9. A method of operating a server computer of a plurality of server computers that comprise a front layer of server computers for controlling data traffic of a computer network, said plurality of server computers being members of a first subnet of network addresses over which network data traffic is sent and received, the method comprising:
-
receiving network data traffic through a network interface that permits communication between the server computer and other server computers of said plurality of server computers; communicating with the plurality of server computers state sharing information with a dynamic reconfiguration protocol that permits reassignment of any of a plurality of virtual network addresses to any of a plurality of primary network addresses among the front layer server computers and includes 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 said network data traffic; operating said server computer as an authoritative node of the first subnet to ensure symmetric routing of network data traffic to and from the first subnet, comprising; receiving a data request from a responding server computer of the first subnet, wherein the data request was initially received at the responding server computer; determining an authoritative node for responding to the data request; identifying a server computer in the first subnet that will handle the data traffic associated with the data request and forwarding the data request to the identified server computer for handling; receiving a reply message from a server computer of the first subnet that is operating as a default reply node to a network computer of said second subnet that is responding to the data request; and forwarding the reply message to a server computer of the first subnet that will ensure symmetric routing of the data request and reply message with respect to the plurality of server computers of the first subnet. - View Dependent Claims (10)
-
-
11. 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, the program product comprising:
-
a computer-readable media having recorded therein a plurality of computer-readable instructions executable by the computer to perform a method of operating a server computer of a plurality of server computers that comprise a front layer of server computers for controlling data traffic of a computer network, said plurality of server computers being members of a first subnet of network addresses over which network data traffic is sent and received, the method comprising; receiving network data traffic through a network interface that permits communication between the server computer and other server computers of said plurality of server computers; communicating with the plurality of server computers state sharing information with a dynamic reconfiguration protocol that permits reassignment of any of a plurality of virtual network addresses to any of a plurality of primary network addresses among the front layer server computers and includes 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 said network data traffic; operating said server computer as an authoritative node of the first subnet to ensure symmetric routing of network data traffic to and from the first subnet, comprising; receiving a data request from a responding server computer of the first subnet, wherein the data request was initially received at the responding server computer; determining an authoritative node for responding to the data request; identifying a server computer in the first subnet that will handle the data traffic associated with the data request and forwarding the data request to the identified server computer for handling; receiving a reply message from a server computer of the first subnet that is operating as a default reply node to a network computer of said second subnet that is responding to the data request; and forwarding the reply message to a server computer of the first subnet that will ensure symmetric routing of the data request and reply message with respect to the plurality of server computers of the first subnet. - View Dependent Claims (12)
-
Specification