Electrical computers and digital processing systems: multicomput – Computer network managing – Computer network monitoring
Reexamination Certificate
1997-06-19
2001-07-17
Maung, Zarni (Department: 2152)
Electrical computers and digital processing systems: multicomput
Computer network managing
Computer network monitoring
C709S225000, C709S241000
Reexamination Certificate
active
06263368
ABSTRACT:
BACKGROUND OF THE INVENTION
This invention relates to multi-computer servers and to load-balancing for such multi-computer servers.
The growth of network services, for example Internet or intranet services, has made significant demands on the availability and performance of Internet and intranet sites and the servers at those sites. The growth in demand is related to increasing numbers of users, the increasing complexity of applications including increasing use of audio and video, and the increasing commercial demands for better and better service.
Thus the tremendous growth of the Internet has fuelled the requirement of multi-server-architectures in order to address the performance or reliability issues of high-traffic Internet sites. Such multi-computer Internet and intranet sites provide a much higher processing power than a single computer, even a very large computer.
FIG. 1
of the accompanying drawings is a schematic representation of a client station
14
requiring access to a server station
10
via the Internet or an intranet.
FIG. 2
illustrates in more detail a possible configuration of a multi-computer server
10
. The multi-computer server
10
comprises a plurality of (in the present instance four) individual server computers
16
.
1
-
16
.
4
. Each of those computers includes a network agent
18
.
1
-
18
.
4
, respectively. The individual server computers
16
.
1
-
16
.
4
are connected via server network links
20
.
1
-
20
.
4
to a switch
22
which is connected to the Internet or intranet
12
of
FIG. 1
via a link
25
. Also shown in
FIG. 1
is a Domain Name System (DNS) server
24
, the function of which will be described later.
The server computers
16
.
1
-
16
-
4
operate as identical copies of each other and are able to handle all possible requests received from the Internet or intranet
12
. The switch
22
connects the individual server computers
16
.
1
-
16
.
4
to the Internet or intranet
12
. Ideally, tasks should be distributed equally among the individual server computers
16
.
1
-
16
.
4
to balance the overall loading of the server site
10
in order to obtain optimum performance. To achieve this, it is necessary to direct the individual requests arriving from the Internet or intranet
12
to the individual server computers
16
.
1
-
16
.
4
.
This kind of solution assumes that each request has the same load result, and therefore fails to address the real load generated by each request. If the individual computers
16
.
1
-
16
.
4
had visibly different external addresses, then this would typically require the attention of the users in order to arrange for distribution of the tasks. A more practical solution from the user's point of view is to provide a system whereby the distribution of tasks among the four server computers
16
.
1
-
16
.
4
occurs in a transparent manner, so that the user merely needs to address the server
10
and then the distribution task is handled by the server
10
.
Thus a multi-server/multi-computer server architecture as shown in
FIG. 2
requires a mechanism for dispatching requests to individual server computers while preferably keeping a unique service name.
In order to achieve the distribution of tasks between multiple server computers
16
.
1
-
16
.
4
, various approaches have been proposed in the prior art. These approaches typically employ a Domain Name System (DNS) arrangement with task distribution on a conventional ‘round-robin’ or ‘load balancing’ basis. These different approaches will be described in the following. It should be noted that traditional load balancing is a modified form of round-robin approach in which account is taken of the processor loading of the individual server computers. This conventional load balancing approach will be termed ‘processor load balancing’ herein.
With a Domain Name System, a DNS server
24
is provided which responds to Domain Name look-up requests by providing an appropriate server name or numerical Internetwork Protocol (IP) address (e.g. www.sun.com or
192
.
10
.
20
.
30
, respectively).
The round robin approach is one in which the server to receive a client request for processing is determined in a cyclically sequential, or round-robin manner. This is achieved in a well known manner by changing the mapping between the service name (e.g. www.sun.com) and the IP address (e.g. ten hosts with IP addresses ranging from
192
.
10
.
20
.
30
and
192
.
10
.
20
.
40
) in this cyclical and sequential manner. For example, with reference to
FIG. 2
, a different IP address may be given for each of the server computers
16
.
1
-
16
.
4
(e.g. IP
1
-IP
4
) with the next one, in rotation, of the IP addresses being returned each time the DNS look-up is performed. In this way, one quarter of the Internet requests are distributed to each of the four computers. This approach works in principle, but in practice is not particularly efficient as different requests can lead to significantly different processing requirements and traffic volumes.
The conventional processor load balancing approach makes an attempt at balancing the load between servers at a site by taking account of parameters representative of the loading of the individual server computers. This is typically achieved by using an agent
18
.
1
-
18
.
4
on each server computer
16
.
1
-
16
.
4
to monitor the loading on that computer, for example by measuring the actual CPU loading, or the number of active Transmission Control Protocol (TCP) connections, or the number of active processes at the server computer concerned. The DNS server
24
can then be arranged to monitor the individual agents
18
.
1
-
18
.
4
to determine the server computer loading and to take this into account when distributing tasks. The DNS server
24
will typically still use a round-robin approach, but before allocating a new task to an individual server computer
16
.
1
-
16
.
4
, it will check the current loading of that computer as recorded by its respective agent
18
.
1
-
18
.
4
and may skip the server computer concerned if its current loading is excessive.
Although this conventional processor load balancing approach does provide an improvement over a simple round-robin approach, it has nevertheless been found that such a conventional processor load balancing approach is significantly less effective in optimising the balancing of the loading throughout the multiple-computer server (often referred to as a “server farm” or “server cluster”) than might previously have been expected. The inventor has identified that developments in computer usage, which are requiring transfer of larger amounts of data, have the result that the monitoring of the loading of the individual server computers is no longer a good measure of the loading of the multi-computer server as a whole. With the increase in the amount of data to be returned in response to user requests, and generally the amount of data to be transmitted, the multi-computer server systems are tending to be server network link bound, rather than processor bound. As a result of this processor usage or CPU loading is becoming a less reliable measure for determining the load of the multi-computer server system. Also, as the use of User Datagram Protocol (UDP) messages becomes more and more common (for example for video files), measuring the number of active TCP ports is also becoming an unreliable measure of the loading of a multi-computer server system.
Accordingly, there is a need for improved control of message and task distribution for multi-computer servers to enable more efficient use of the available resources.
SUMMARY OF THE INVENTION
An aim of the present invention is to mitigate the performance disadvantages of prior approaches for the control of multi-computer servers as described above.
In accordance with a first aspect of the invention, there is provided a message dispatch system for a multi-computer server which comprises a plurality of server computers having respective server network links, the message dispatch system being connectable to an external telecommunications network
Cardone Jason D.
Conley Rose & Tayon PC
Kivlin B. Noäl
Maung Zarni
Sun Microsystems Inc.
LandOfFree
Network load balancing for multi-computer server by counting... does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Network load balancing for multi-computer server by counting..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Network load balancing for multi-computer server by counting... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-2493954