Load balancing
AssigneeRadware, Ltd.
InventorsRoy Zisapel, Amir Peless, Smadar Fuks
Life of this patent
Estimating the term…
Loading patent…
AssigneeRadware, Ltd.
InventorsRoy Zisapel, Amir Peless, Smadar Fuks
Estimating the term…
This invention discloses a method for managing a computer network connected to the Internet through a network connection, such as different Internet Service Providers, including the steps of: sending polling requests through a plurality of routes tom a computer network to a remote server computer, receiving replies from the remote server computer corresponding to the polling requests, and measuring proximities of the remote server computer to the computer network based on the received replies. A network management system for managing a computer network connected to the Internet through a plurality of routes is also disclosed.
A method for managing a computer network connected to the Internet through a plurality of routes, comprising the steps of;
A method for managing a computer network connected to the Internet through a plurality of routes, comprising the steps of:
A network management system for managing a computer network connected to the Internet through a plurality of routes, comprising:
A network management system for managing a computer network connected to the Internet through a plurality of routes, comprising:
A method for managing a computer network connected to the Internet through a plurality of routes, comprising the steps of:
A method for managing a computer network connected to the Internet through a plurality of routes, comprising the steps of:
A network management system for managing a computer network connected to the Internet through a plurality of routes, comprising:
A network management system for managing a computer network connected to the Internet through a plurality of routes, comprising:
A routing system for routing data via a network from a first node to a second node;
A routing system for routing data via a network from a first node to a second node;
A method for routing data by a content routing system from a first node to a second node via a network and comprising the steps of;
A method for routing data by a content rout system from a first node to a second node via a network and comprising the steps of;
A method for calculating a path quality parameter for a network path between a first node and a second node, comprising the step of checking the availability of the path, the cost of the path connection, and the data packet loss rate of the path.
Dependencies are inferred from the claim text.
Drawings are temporarily unavailable. Open the PDF at USPTO
From the US filing history. Foreign family members aren’t listed.
Backward citations are indexed for grants only.
The resource being a machine, e.g. CPUs, Servers, Terminals: considering the load
Routing or path finding of packets in data switching networks: routing performance; Theoretical aspects
Avoiding congestion; Recovering from congestion: by balancing the load, e.g. traffic engineering
Using standardised directories; using standardised directory access protocols: using domain name system [DNS]
Term end not estimated
The present invention relates to computer networks in general, and in particular to load balancing client requests among redundant network servers in different geographical locations.
In computer networks, such as the Internet, preventing a server from becoming overloaded with requests from clients may be accomplished by providing several servers having redundant capabilities and managing the distribution of client requests among the servers through a process known as “load balancing.”
In one early implementation of load balancing, a Domain Naming System (DNS) server connected to the Internet is configured to maintain several IP addresses for a single domain name, with each address corresponding to one of several servers having redundant capabilities. The DNS server receives a request for address translation and responds by returning the list of server addresses from which the client chooses one address at random to connect to. Alternatively, the DNS server returns a single address chosen either at random or in a round-robin fashion, or actively monitors each of the servers and returns a single address based on server load and availability.
The present invention will be understood and appreciated from the following detailed description, taken in conjunction with the drawings in which:
FIGS. 1A-1C, taken together, are simplified pictorial flow illustrations of a triangulation load balancing system constructed and operative in accordance with a preferred embodiment of the present invention;
FIGS. 2A-2F, taken together, are simplified pictorial flow illustrations of a network proximity load balancing system constructed and operative in accordance with another preferred embodiment of the present invention;
Reference is now made to FIGS. 1A-1C which, taken together, are simplified pictorial flow illustrations of a triangulation load balancing system constructed and operative in accordance with a preferred embodiment of the present invention. Two server farms, generally designated 10 and 12 respectively, are shown connected to a network 14, such as the Internet, although it is appreciated that more than two server farms may be provided. Server farms 10 and 12 typically comprise a load balancer 16 and 18 respectively, which may be a dedicated load balancer or a server or router configured to operate as a load balancer, with each of the load balancers being connected to one or more servers 20. Load balancers 16 and 18 are alternatively referred to herein as LB1 and LB2 respectively. LB1 and LB2 typically maintain a server status table 22 and 24 respectively, indicating the current load, configuration, availability, and other server information as is common to load balancers. LB1 and LB2 also typically periodically receive and maintain each other's overall status and load statistics such that LB1 and LB2 can know each other's availability.
Typical operation of the triangulation load balancing system of FIGS. 1A-1C is now described by way of example. As is shown more particularly with reference to FIG. 1A, a client 26, such as any known computer terminal configured for communication via network 14, is shown sending a request 28, such as an FTP or HTTP request, to LB1 whose virtual IP address is 100.100.1.0. In accordance with network transmission protocols, request 28 indicates the source IP address of the requestor, being the IP address 197.1.33.5 of client 26, and the destination IP address, being the virtual IP address 100.100.1.0 of LB1. LB2 preferably periodically sends a status report 30 to LB1, the virtual IP address 100.100.1.0 of LB1 being known in advance to LB2. Status report 30 typically indicates the availability of server farm 12 and provides load statistics, which LB1 maintains.
LB2 is preferably capable of having multiple viral IP addresses as is well known. It is a particular feature of the present invention for LB2 to designate a currently unused virtual IP address, such as 200.100.1.1, for LB1's use and store the mapping between the IP address of LB1 and the designated IP address in a triangulation mapping table 32, as is shown more particularly with reference to FIG. 1B. The designated address is referred to herein as the triangulation address and may be preconfigured with LB1 or periodically provided to LB1 from LB2. LB1 preferably maintains in a client mapping table 36 a mapping of the IP address 197.1.33.5 of client 26 and the triangulation address 200.100.1.1 of LB2 to which client 26's requests may be redirected.