The present invention relates to a load distributing system for distributing the load of requests, received from a plurality of client computers, by distributing them between a plurality of computers. More particularly, it relates to a load distributing system and method suitable for dealing with a sudden spike state.
A load distributing system is known which distributes execution requests, issued from a large number of client computers, between a plurality of computers, to efficiently process them. This type of load distributing system is described in, for example, R. Buyya, “High Performance Cluster Computing: Architecture and Systems (Volume 1 & 2)”, 1999, Prentice Hall, or Tony Bourke, “Server Load distributing Technique”, O'Reilly Japan Co., Ltd., Dec. 13, 2001. A load distributing system, for example, a Web server load distributing system comprises a plurality of Web server computers and a load distributing device.
In the Web server load distributing system, a request (execution request) from a client computer is sent to the load distributing device via an external network. This request is issued by, for example, a Web browser running on the client computer. Upon receiving the request from the client computer, the load distributing device selects, from the Web server computers, one server computer that should process the request. The server selection is performed so that excessive load will be prevented from being applied to only a particular server computer. Accordingly, server selection is performed using, for example, (1) a round robin method, (2) a weighted round robin method, or (3) a method for selecting a server computer that has a minimum number of sessions at present. The round robin method is a method for equally selecting all server computers one by one in order. The weighted round method is a method based on the round robin method, but in this method, the frequency of selection of each server computer is changed in accordance with the capacity of each computer.
The load distributing device sends the received request to the selected server computer via an internal network. On the selected server computer, a Web server is running. Based on the received request, the server computer performs processing using the Web server. After that, the server computer supplies the load distributing device with a reply to the request via the internal network. The load distributing device, in turn, sends the reply to the client computer as the request sender via the external network.
Further, Tetsuo Kaneko and Yoshiya Mori, “Cluster Software”, Toshiba Review, vol. 54, No. 12 (1999), pp. 18-21 (hereinafter referred to as “the prior art document”) describe a computer system called a cluster system. In the cluster system, when a failure has occurred in a certain computer in operation, the service (business operation) executed immediately before the occurrence of the failure is taken over to another computer included in the system (fail-over is executed). For example, a computer in a standby state (hot standby state) is used as the fail-over computer.
In the above-described Web server load distributing system including Web servers, the number of Web servers used to process requests from client servers is generally determined based on, for example, the number of requests. Recently, however, the number of users of the Internet has becomes enormous. Accordingly, a much greater number of requests than that the Web-site managing operators expect are liable to concentrate on the-load distributing system. In this case, the following troubles due to a so-called “spike phenomenon” will often occur:
(A) An extremely long response time may be required for each request;
(B) Access to the Web servers may become impossible; and
(C) The Web servers may be down.
When the Web-site operators can estimate an increase in the number of requests (the number of hits) to a certain degree, they can deal with the spike phenomenon, for example, using additional Web servers. However, in most cases, it is impossible to estimate an increase in the number of hits, which makes it difficult to deal with the phenomenon.
It is an object of the invention to provide a load distributing system capable of easily dealing with a sudden spike phenomenon, and a load distributing method employed therein.
In accordance with an aspect of the invention, there is provided a load distributing system comprising a plurality of server computers, a load distributing device, a plurality of provisioning computers, a provisioning-computer management unit, a provisioning-computer start/stop unit and a boot-image selection unit. The server computers processes requests from a plurality of client computers. The server computers are managed, classified into a plurality of server computer groups corresponding to different types of boot images, the different types of boot images including operating systems executed by the server computers. The load distributing device is configured to distribute the requests from the client computers between a plurality of load distribution target computers including the server computers. The provisioning computers is usable as load distribution target computers. The provisioning computers is started when the provisioning computers are used as the load distribution target computers. The server configuration management unit is configured to determine, for each server computer group, the number of provisioning computers, the use of which as new load distribution target computers is to be started, or the use of which as load distribution target computers is to be ended, based on a load of all load distribution target computers including the server computers of said each server computer group. The provisioning-computer management unit is configured to manage states of use of the provisioning computers. The provisioning computer management unit determines provisioning computers corresponding to the number of provisioning computers determined by the server configuration management unit for said each server computer group, the use of the corresponding provisioning computers as the new load distribution target computers being to be started, or the use of the corresponding provisioning computers as the load distribution target computers being to be ended. The provisioning-computer start/stop unit is configured to start or stop the provisioning computers determined by the provisioning-computer management unit. The setting change unit is configured to add, as load distribution target computers that are targets of load distribution by the load distributing device, the provisioning computers determined by the provisioning-computer management unit, or to exclude, from load distribution target computers that are targets of load distribution by the load distributing device, the provisioning computers determined by the provisioning-computer management unit. The boot-image selection unit is configured to select, from the different types of boot images, a boot image corresponding to said each server computer group which includes the provisioning computers determined by the provisioning-computer management unit and started to be used as the load distribution target computers. The boot image is used to boot the provisioning computers determined by the provisioning-computer management unit.
Embodiments of the invention will be described with reference to the drawings.
The Web server computers 11-1 to 11-6 process requests from client computers. When a request is received from a client computer via the external network 14, the load distributing device 12 selects one server computer from the Web server computers 11-1 to 11-6 to cause it to process the request. For selection, any one of the selection methods (1) to (3) described in the background art can be utilized. Further, the load distributing device 12 transmits the request from the client computer to the selected server computer. Namely, the load distributing device 12 distributes, to the Web server computers 11-1 to 11-6, requests supplied from a large number of client computers, to distribute the load therebetween.
The load distributing device 12 includes a load information acquisition unit 120. The load information acquisition unit 120 acquires information (computer load information) indicating the loaded state of each computer as a target of load distributing by the load distributing device 12. The number of sessions set by the load distributing device 12 between the device 12 and the load distribution target computer is used as the load information concerning a computer as a load distribution target, acquired by the device 12. The load distribution target computer is any one of the Web server computers 11-1 to 11-6 and provisioning node computers 15-1 to 15-4 described below, which is booted as a load distribution target.
The provisioning node computers (hereinafter referred to as “the PN computers”) 15-1 to 15-4 are auxiliary computers that are usually in the OFF state and not booted. The PN computers 15-1 to 15-4 are placed as load distribution target candidates for eliminating a sudden “spike state”. However, any PN computer that is already used as a load distribution target is removed from the candidates. In this embodiment, the “spike state” is regarded as a state in which the load of all computers as load distribution targets exceeds a preset threshold value. The PN computers 15-1 to 15-4 are connected to the internal network 13.
The internal network 13 is also connected to a management server computer 15. A management server 150 is running on the management server computer 15. The management server 150 is realized when a CPU (not shown) in the management server computer 15 reads and executes a preset computer management program. The computer management program is provided by a recording medium, such as a CD-ROM, flexible disk or memory card. The computer management program provided by the recording medium is stored and used in, for example, a disk drive in the management server computer 15. The computer management program may be sent to the management server computer 15 via the external network 14 and stored in the disk drive thereof.
The management server 150 includes various functional elements, such as a server configuration management unit 151, provisioning node management unit (hereinafter referred to as “the PN management unit”) 152, provisioning node start/stop unit (hereinafter referred to as “the PN start/stop unit”) 153, and setting change unit 154.
The server configuration management unit 151 has a function for managing a computer (server computer) serving as a Web server. The server configuration management unit 151 also has a function for determining the number of PN computers, the use of which should be started (i.e., which should be newly used as load distribution targets), or the use of which should be ended (i.e., which should be excluded from the load distribution targets). This determination is performed based on the load states of the computers set as load distribution targets by the load distributing device 12. To realize this, the server configuration management unit 151 holds a table 151a. The table 151a stores threshold values (load threshold values), each of which is set for the load of all load distribution target computers employed, in relation to the numbers of PN computers (the numbers of to-be-used PN computers) to be used as load distribution targets and corresponding to the respective threshold values.
The PN management unit 152 has a function for managing the states of use of the PN computers 15-1 to 15-4. Further, when the server configuration management unit 151 determines the number of PN computers, the use of which should be started or ended, the PN management unit 152 determines (selects) PN computers, the use of which should be started or ended, from the PN computers 15-1 to 15-4.
The PN start/stop unit 153 has a function for starting or stopping the PN computers determined by the PN management unit 152. The PN start/stop unit 153 performs the start/stop of a PN computer in the following manners. The PN start/stop unit 153 utilizes the “Wake On LAN” (trademark) technique to start a PN computer. To start a PN computer, the PN start/stop unit 153 sends, to the internal network 13, a particular packet that designates the PN computer to start. To designate the PN computer, the particular packet includes a MAC address assigned to a LAN card (network card) mounted in the PN computer. LAN cards mounted in the respective PN computers operate as control circuits for connecting the computers to a network (in this case, the internal network 13). Each LAN card is kept in a standby state to survey particular packets transmitted through the internal network 13. To this end, a standby current is always supplied to each LAN card when the PN computers are in the OFF state. Each LAN card has a function for booting the corresponding PN computer when it receives a particular packet that designates the corresponding MAC address, namely, a particular packet addressed to it. Further, the PN start/stop unit 153 stops each PN computer in the following manner. The PN start/stop unit 153 supplies, to a PN computer to stop via the internal network 13, a shutdown command that designates interruption of power as an option. As a result of the supply of the command, the PN start/stop unit 153 stops the PN computer. More specifically, in the case of, for example, the operating system UNIX (trademark), command “init” can be used as a shutdown command. The command “init” includes an option that designates power interruption. When the shutdown command that designates power interruption is executed, a power supply driver is called to interrupt the supply of power to the computer. To execute a shutdown command from a remote computer, it is sufficient if a remote shell (rss) command is used.
The setting change unit 154 has a function for controlling the load distributing device 12 so that the device 12 makes a PN computer, started or stopped by the PN start/stop unit 153, be a load distribution target of the device 12, or excludes the PN computer from the load distribution targets. In other words, the setting change unit 154 has a function for permitting the load distributing device 12 to supply a request to a PN computer, started or stopped by the PN start/stop unit 153, or inhibiting the device 12 from supplying the request to the PN computer.
Referring then to the flowchart of
Subsequently, referring to the table 151a, the server configuration management unit 151 determines the number of to-be-used PN computers that corresponds to the present load NS (step S2). In the embodiment, the contents of the table 151a are set as shown in
If NS<NS1, the number of to-be-used PN computers is zero;
If NS1≦NS<NS2, the number of to-be-used PN computers is two;
If NS2≦NS<NS3, the number of to-be-used PN computers is four; and
If NS≧NS3, the number of to-be-used PN computers is six.
Subsequently, the server configuration management unit 151 compares the determined number of to-be-used PN computers with the number of currently used PN computers (step S3). If they are equal to each other, the server configuration management unit 151 determines that it is not necessary to assign a new PN computer as a load distribution target computer (i.e., a computer that should be started to be used). In this case, the server configuration management unit 151 assumes a standby state for a predetermined period (step S4), and then iterates step S1 and the later steps.
In contrast, if the number of to-be-used PN computers is greater (step S3), the server configuration management unit 151 determines that it is necessary to assign a new PN computer as a load distribution target computer. In this case, the server configuration management unit 151 requests the PN management unit 152 to start the use of a new PN computer. In response to this request, the PN management unit 152 determines whether the PN computers 15-1 to 15-4 contain an unoccupied PN computer (step S5). If any unoccupied PN computer is not contained, i.e., if all the PN computers 15-1 to 15-4 are already used as load distribution target computers, this is reported from the PN management unit 152 to the server configuration management unit 151. At this time, the server configuration management unit 151 assumes the standby state for the predetermined period (step S4), and then iterates step S1 and the later steps.
In contrast, if an unoccupied PN computer is contained, i.e., if there is a PN computer that is not used (booted) at present, the PN management unit 152 performs processing for assigning the PN computer as a computer (load distribution target computer) that should be started to be used (step S6). This process is performed as below, based on whether the number N of unoccupied PN computers is larger or smaller than the difference Nd between the above numbers. Firstly, if N≧Nd, the PN management unit 152 selects, from the unoccupied PN computers, the same number of PN computers as the difference Nd, and assigns them as computers that should be started to be used. Further, if N<Nd, the server configuration management unit 151 selects all of the number N of unoccupied PN computers and assigns them as computers that should be started to be used, although they are insufficient in number. Information indicating the computer assignment is supplied from the PN management unit 152 to the server configuration management unit 151, PN start/stop unit 153 and setting change unit 154.
Upon receiving this, the PN start/stop unit 153 starts the PN computers assigned (determined) by the server configuration management unit 151 as computers that should be started to be used (step S7). At this time, the setting change unit 154 controls the load distributing device 12 to add the PN computers, started by the PN start/stop unit 153 (the start of use of the computers is determined by the PN management unit 152), as load distribution target computers that serve as the load distribution targets of the load distributing device 12 (step S8). The order of steps S7 and S8 may be reversed. When the load distribution targets of the load distributing device 12 have been changed by the control of the setting change unit 154, the server configuration management unit 151 assumes the standby state for the predetermined period (step S4), and then iterates step S1 and the later steps.
If the number of to-be-used PN computers is smaller than that of currently used PN computers (step S3), the server configuration management unit 151 determines that it is necessary to end the use of the same number of PN computers as the difference Nd. In this case, the server configuration management unit 151 requests the PN management unit 152 to finish the use of the same number of PN computers as Nd. In response to this request, the PN management unit 152 determines, from the currently used PN computers, the same number of PN computers as Nd, the use of which should be ended (step S9). Information indicating the PN computers, the end of use of which is determined by the PN management unit 152, is sent from the PN management unit 152 to the server configuration management unit 151, PN start/stop unit 153 and setting change unit 154.
At this time, the setting change unit 154 controls the load distributing device 12 so that the PN computers, the use of which is determined to be ended, will be excluded from the load distribution targets of the load distributing device 12 (step S10). The PN start/stop unit 153 stops the PN computers, the end of use of which is determined by the PN management unit 152 (step S11). The order of steps S10 and S11 may be reversed. When the same number of PN computers as Nd are stopped, the server configuration management unit 151 assumes the standby state for the predetermined period (step S4), and then iterates step S1 and the later steps.
As is apparent from the above description, in the system of
Further, when the PN computers 15-1 to 15-4 are used, if the load NS is lower than the load threshold value NS2 (provided that NS≧NS1), two PN computers are excluded from the load distribution targets. In this case, the remaining two PN computers are used. In this state, if the load NS is lower than the load threshold value NS1, the remaining two PN computers are also excluded from the load distribution targets. As a result, no PN computers are used. It can be understood from this that the table 151a defines the conditions for the start/end of use of PN computers, which correspond to load.
As described above, in the load distributing system of the first embodiment of the invention, when a load causing a spike state has occurred, one or more PN computers (spare computers) are booted, and the load distributing device 12 performs load distributing additionally using the booted PN computers. In this state, if the load is reduced, the PN computers are excluded from the load distribution targets and stopped. As a result, a sudden spike state can be dealt with even if a large number of servers are not booted at all times. Namely, even if a much greater number of requests than that the managing operators of a system (which includes the Web server computers 11-1 to 11-6) expect are concentrated on the system, the troubles (A) to (C) recited in the section “Background Art”, which may occur due to a “spike phenomenon”, can be avoided.
The above embodiment employs a structure in which the management server 150 runs on the independent management server computer 15. However, the management server 150 may be operated in any one of the Web server computers 11-1 to 11-6. In this case, it is advisable to employ a structure in which even if an abnormality occurs in the Web server computer with the management server 150 operating therein, the functions provided by the management server 150 is not interrupted. Specifically, it is sufficient if, at least, the Web server computers 11-1 to 11-6 provide such a cluster system as disclosed in the prior art document. When they provide a cluster system, even if an abnormality occurs in the Web server computer in which the management server 150 operates, the functions of the management server 150 (i.e., the functions of the server configuration management unit 151, PN management unit 152, PN start/stop unit 153, and setting change unit 154) can be taken over to another Web server computer. Further, the number of Web server computers and that of PN computers are not limited to the above-described ones. It is sufficient if at least two (i.e., a plurality of) Web server computers are employed, and at least one PN computer is employed. Furthermore, the load information acquisition unit 120 in the load distributing device 12 may acquire the load NS.
Further, in the system of
The server configuration management unit 251 holds a table 251a. The table 251a stores load threshold values for the load of all load distribution target computers employed, in relation to the numbers of PN computers (the numbers of to-be-used PN computers) to be used as load distribution targets and corresponding to the respective threshold values.
Referring to the flowchart of
Accordingly, in the system of
The server configuration management unit 351 holds a table 351a.
Referring to the flowchart of
Specifically, in the load distributing system of
After acquiring the loads NS and NC, the server configuration management unit 351 proceeds to step S43. At step S43, the server configuration management unit 351 refers to the table 351a to determine the number of to-be-used PN computers corresponding to the present load NS. Similarly, the server configuration management unit 351 also determines the number of to-be-used PN computers corresponding to the present load NC, based on the contents of the table 351a. Subsequently, the server configuration management unit 351 compares the numbers of to-be-used PN computers corresponding to the loads NS and NC, and selects the larger one of the numbers as the number of PN computers to be actually used. The following operations are similar to those of the first embodiment.
As described above, in this embodiment, based on different types of loads NS and NC, the numbers n1 and n2 of PN computers necessary to suppress the spike state indicated by the loads NS and NC are computed individually. The larger one of the numbers n1 and n2 is selected as the number of PN computers to be actually used. As a result, the spike state can be more effectively overcome than in the first and second embodiments in which the number of PN computers to be used is determined only from one of the loads NS and NC.
In contrast, in the system of
In light of the above, the system of
Further, the system of
The server configuration management unit 451 holds such a table 451a as shown in
When a load causing a spike state occurs in a Web server computer group 40-i(#i), and the PN management unit 152 determines one or more PN computers (hereinafter, it is assumed that a plurality of PN computers are determined), the boot-image selection unit 455 has a function for setting a boot image #i, unique to the group 40-i(#i), for the determined PN computers. The boot image #i is used in the Web server computers included in the group 40-i(#i). The setting of the boot image #i for the PN computers by the boot-image selection unit 455 means to make the PN computers correspond to a disk (disk drive) storing the boot image #i, using a table 470 described later. Namely, the boot-image selection unit 455 has a function for selecting the disk that stores the boot image #i used to boot the PN computers.
When a high load is applied to the Web server computer group 40-1(#l), a disk (disk D1 described later) storing the boot image #1 that is used in the Web server computers 41-11 to 41-1p belonging to the group is made by the boot-image selection unit 455 to correspond to the PN computers newly incorporated in the group. Similarly, when a high load is applied to the Web server computer group 40-2(#2), a disk (disk D2 described later) storing the boot image #2 that is used in the Web server computers 41-21 to 41-2q belonging to the group is made to correspond to the PN computers newly incorporated in the group. Further, when a high load is applied to the Web server computer group 40-3(#3), a disk (disk D3 described later) storing the boot image #3 that is used in the Web server computers 41-31 to 41-3r belonging to the group is made to correspond to the PN computers newly incorporated in the group.
In this embodiment, the Web sever computers 41-11 to 41-1p, Web sever computers 41-21 to 41-2q, Web sever computers 41-31 to 41-3r, management server computer 45 and PN computers 15-1 to 15-4 are connected to a storage area network (hereinafter referred to as “the SAN”) 46. The SAN 46 is also connected to a storage device 47. The storage device 47 includes disks (disk drives) D1 to D3. Namely, each of the above-described computers and the disks D1 to D3 in the storage device 47 are connected to the SAN 46. The disks D1 to D3 pre-store the boot images #1 to #3 used in the Web server computers of the Web server computer groups 40-1 to 40-3, respectively.
The storage device 47 also includes a database that holds the table 470. The table 470 stores information in which the disks D1 to D3 in the storage device 47 are related to computers that use the disks D1 to D3 as boot disks. A computer that uses a disk Di (i=1, 2, 3) as a boot disk means a boot computer that is booted (started) by the boot image #i stored in the disk Di.
The system of
In this case, when the PN computer 15-j is started by the PN start/stop unit 153, it searches, via the SAN 46, the table 470 stored in the storage device 47, thereby detecting its computer identifier (Pj). From the identifier (Di) of the disk related to the computer identifier (Pj) detected in the table 470, the PN computer 15-j specifies the disk Di that stores the boot image (in this case, the boot image #1) used to boot the computer itself. The PN computer 15-j reads the boot image #1 from the specified disk Dj (i.e., the disk Dj related to the computer itself), and is booted by the boot image #1.
If in the table 470, the disk D1 is newly related to two PN computers 15-1 and 15-2 as shown in
Referring now to the flowchart of
After acquiring the entire loads NS and NC of the group 40-i(#i), the server configuration management unit 451 proceeds to step S64. At step S64, the server configuration management unit 451 refers to the entries of the group 40-i(#i) in the table 451a to determine the number n1 of to-be-used PN computers corresponding to the present load NS of the group 40-i(#i). Similarly, the server configuration management unit 451 determines the number n2 of to-be-used PN computers corresponding to the present load NC of the group 40-i(#i), based on the entries of the group 40-i(#i) in the table 451a. Subsequently, the server configuration management unit 451 compares the numbers n1 and n2 of to-be-used PN computers corresponding to the loads NS and NC of the group 40-i(#i), and selects the larger one of the numbers as the number of to-be-used PN computers to be actually used.
The operations performed after step S64 are substantially similar to those performed after step S43 in
After the boot-image selection unit 455 selects the boot image #i used to boot the PN computer that should be started to be used, the PN start/stop unit 153 operates. The PN start/stop unit 153 starts the one of the PN computers 15-1 to 15-4 that is assigned by the PN management unit 152 (step S71). By the table operation of the boot-image selection unit 455, the started PN computer is made to correspond to the disk Di storing the boot image #i used to boot the computer. Namely, the boot image #i used to boot the started PN computer is selected by the boot-image selection unit 455. The started PN computer reads the selected boot image #i from the disk Di to execute boot processing.
When the PN computer is started by the PN start/stop unit 153, the setting change unit 154 controls the load distributing device 12 so that the started PN computer will belong to the Web server computer group 40-i(#i), and will become a load distribution target computer, along with the other computers in the group 40-i(#i) (step S72). The order of steps S71 and S72 may be reversed.
When target change of load distributing by the load distributing device 12 is made by the control of the setting change unit 154, the server configuration management unit 451 is kept in a standby state for a preset time (step S66). Then, the unit 451 switches the target of processing from one Web server computer group to another (step S67). In the embodiment that employs three Web server computer groups #1 to #3, if the group #1 is the present group, it is switched to the group #2. If the group #2 is the present group, it is switched to the group #3. If the group #3 is the present group, it is switched to the group #1. Step S62 and the later steps are again executed on the Web server computer group acquired by switching.
As described above, in the fourth embodiment, the Web server computers in the system are classified into the Web server computer groups 40-1(#1) to 40-3(#3), depending upon the types of boot images executed by the Web server computers in the system. When a load causing a spike state occurs in any group 40-i(#i) included in the groups 40-1(#1) to 40-3(#3), a PN computer is selected from the PN computers 15-1 to 15-4 and made to correspond to the boot image #i (the disk Di storing the boot image #i) unique to the group 40-i(#i). As a result, the selected PN computer can be started as a load distribution target computer belonging to the group 40-i(#i). Thus, the PN computers 15-1 to 15-4 can be effectively utilized.
In the system of
In
The computers 41-11 and 15-1 include CPUs 52a and 52b, local disks (local disk drives) 53a and 53b, and input/output buses (internal input/output buses) 54a and 54b, respectively. The local disk 53a of the computer 41-11 stores the boot image #1 unique to the Web server computer group 40-1(#1) and used to boot the computer 41-11. The CPU 52a and local disk 53a are connected to each other by the input/output bus 54a, and the CPU 52b and local disk 53b are connected to each other by the input/output bus 54b. Further, the local disks 53a and 53b are connected to the input/output bus 51, and the input/output buses 54a and 54b are also connected to the input/output bus 51.
Assume here that the PN computer 15-1 in
In response to the request to copy issued from the boot-image selection unit 455, the CPU 52a of the Web server computer 41-11 reads the boot image #1 from the local disk 53a of the computer 41-11, and copies it to the local disk 53b of the PN computer 15-1 via the input/output bus 51. By the copying operation of the CPU 52a of the Web server computer 41-11, the boot image #1 can be copied to the local disk 53b of the PN computer 15-1, even if the PN computer 15-1 is not started. Many cluster computers and blade server computers have such a function as this.
After the boot image #1 is copied, the PN start/stop unit 153 shown in
The Web server site 50-1 comprises elements that are similar to those of the system of
The server configuration management unit 551 in the management server 550 has a function for acquiring the entire loads NS and NC of the group 40-i(#i), like the server configuration management unit 451 of
On the other hand, the common PN computer site 60 comprises the PN computers 15-1 to 15-4 and storage device 47. As in the system of
The PN computers 15-1 to 15-4 are connected via a network 70 to the load distributing device 12, management server computer 55 and Web server computer groups 40-1 to 40-3 (the Web server computers belonging to the groups 40-1 to 40-3), which are incorporated in the Web server site 50-1. The PN computers 15-1 to 15-4 are also connected via the network 70 to the load distributing device, management server computer and Web server computer groups (which are not shown) of each of the other Web server sites 50-2 to 50-4. As a result, an arbitrary one of the PN computers can also be assigned as a load distribution target computer that belongs to an arbitrary one of the Web server computer groups of an arbitrary one of the Web server sites.
In light of the above, the common PN computer site 60 includes a management server computer 65 for processing a request to start the use of a provisioning node, and a request to stop the use of a provisioning node, issued from each of the Web server sites 50-1 to 50-4 as management bodies. The management server computer 65 is also connected to the network 70 and SAN 46. On the management server computer 65, a management server 650 runs which has a function for processing the request to start the use of a provisioning node, and the request to stop the use of a provisioning node. The management server 650 includes various functional elements, such as a PN management unit (provisional node management unit) 652, PN start/stop unit 153 and boot-image selection unit 455.
The PN management unit 652 has a function for managing the states of use of the PN computers 15-1 to 15-4. The PN management unit 652 also has a function for receiving a request to start the use of a provisioning node or to stop the use of a provisioning node, issued from each of the Web server sites 50-1 to 50-4, and controlling the PN start/stop unit 153 and boot-image selection unit 455 to process the request.
The PN management unit 652 holds the record file 652a of a data structure shown in
Referring to the flowcharts of
If the numbers are equal to each other, the server configuration management unit 551 is kept in a standby state for a preset period (step S86), and then operates the variable i to switch from one Web server computer group to another (step S87). As a result, step S82 and the later steps are again performed on the Web server computer group acquired by switching.
In contrast, if the number of to-be-used PN computers is larger (step S85), the server configuration management unit 551 determines that it is necessary to assign new PN computers as load distribution target computers. In this case, the server configuration management unit 551 requests, via the network 70, the management server 650 of the management server computer 65 to start the use of new PN computers corresponding to the difference Nd between the compared numbers (step S88).
Further, if the number of to-be-used PN computers is smaller than the number of currently used PN computers (step S85), the server configuration management unit 551 determines that it is necessary to stop the use of the currently used PN computers corresponding to the difference Nd. In this case, the server configuration management unit 551 requests, via the network 70, the management server 650 of the management server computer 65 for PN computer management to stop the use of the currently used PN computers corresponding to the difference Nd (step S91).
The PN management unit 652 of the management server 650 waits for a request (a request to start or stop the use of a PN computer) from each of the Web server sites 50-1 to 50-4 (step S101). Assume here that the PN management unit 652 has received a request from, for example, the management server 550 of the management server computer 55 in the Web server site 50-1. In this case, the PN management unit 652 determines whether the received request is a request to start or stop the use of a PN computer (step S102).
If the received request is a request to start the use of a PN computer, the PN management unit 652 determines whether the PN computers 15-1 to 15-4 contain an unoccupied PN computer (step S103). If there is an unoccupied PN computer, the PN management unit 652 assigns the PN computer as a computer that should be started to be used (step S104).
The boot-image selection unit 455 in the management server 650 makes the PN computer, assigned by the PN management unit 652, correspond to the disk Di that stores the boot image #i. In other words, the boot-image selection unit 455 selects the boot image #i (the disk Di storing the boot image #i) used to boot the PN computer assigned by the PN management unit 652 (step S105). At this time, the PN start/stop unit 153 in the management server 650 operates. The PN start/stop unit 153 starts the one of the PN computers 15-1 to 15-4 that is assigned by the PN management unit 652 (step S106). The started PN computer is made by the boot-image selection unit 455 to correspond to the disk Di that stores the boot image #i used to boot the PN computer. Accordingly, the started PN computer reads the boot image #i from the disk Di made to correspond thereto, and executes boot processing.
When the PN computer assigned as a computer that should be started to be used is started, the PN management unit 652 stores, in the record file 652a, a record that stores the start time, the identifier (provisioning node identifier) of the started PN computer, and information indicating the Web server site (in this case, the Web server site 50-1) that uses the PN computer (step S107). The domain name of the Web server site is used as the information indicating the site. The domain name is made to correspond to an IP (Internet Protocol) address by a DNS (Domain Name System) not shown.
After executing step S107, the PN management unit 652 informs the management server 550, via the network 70, of the result of processing made in reply to the request therefrom (the request to start the use of the PN computer) (step S108).
In contrast, if any unoccupied PN computer does not exist (step S103), the PN management unit 652 reports this to the requester of the start of use of the PN computer (i.e., the management server 550 of the Web server site 50-1) (step S108).
Further, if the request from the management server 550 of the Web server site 50-1 is a request to stop the use of a PN computer (step S102), the PN management unit 652 selects, from the currently used PN computers, the PN computer, the use of which should be ended (step S109). The PN start/stop unit 153 stops the PN computer, the use of which is determined by the PN management unit 652 to be ended (step S110). At this time, the PN management unit 652 searches the record file 652a for the record that stores the identifier of the stopped PN computer and has its stop-time field 82 kept blank, and writes the present time to the field 82 as the stop time (step S111). After that, the PN management unit 652 informs the management server 550 of the Web server site 50-1, via the network 70, of the result of processing made in reply to the request therefrom (the request to stop the use of the PN computer) (step S108).
When the server configuration management unit 551 in the management server 550 of the Web server site 50-1 has issued a request to start the use of a PN computer to the management server 650 of the common PN computer site 60 (step S88), it waits for the result of processing issued from the PN management unit 652 in the management server 650. Upon receiving the result of processing made in reply to the request to start the use of a PN computer, the server configuration management unit 551 determines from the result whether the request has succeeded (step S89). If succeeded, the PN management unit 652 transfers control to the setting change unit 154. The setting change unit 154, in turn, controls the load distributing device 12 so that the PN computer started in reply to the request to start the use of a PN computer will be added in the Web server computer group 40-i(#i) as a load distribution target computer (step S90).
As described above, in this embodiment, the Web server sites 50-1 to 50-4 as four different management bodies can utilize the PN computers of the common PN computer site (auxiliary site) 60. Further, the record file 652a can be used as information indicating, for example, the fees for the PN computers that the management bodies have used.
In this embodiment, it is assumed that a plurality of Web server computers belonging to each of the Web server sites 50-1 to 50-4 are managed, classified into groups corresponding to the respective types of boot images. However, in each of the Web server sites 50-1 to 50-4, all Web server computers may execute the same type of boot image. In this case, it is not necessary to classify the Web server computers in each of the Web server sites 50-1 to 50-4 into groups. Further, when the Web server computers in each of the Web server sites 50-1 to 50-4 execute the same type of boot image, the storage device 47 and boot image selection unit 455 incorporated in the common PN computer site 60 are also unnecessary. Also, instead of the dedicated load distributing device 12, the round-robin function of the DNS (Domain Name System) may be used as a load distributing device. This can be said of the load distributing devices employed in the first to fourth embodiments. The DNS round-robin function is a function for distributing the load of a well-trafficked server utilizing a DNS in which domain names are associated with IP addresses. More specifically, this is a function for assigning a plurality of IP addresses to a single domain name, and sequentially responding to requests sequentially issued, thereby preventing concentration of access to a single computer.
The present invention is not limited to the above-described embodiments, but may be modified in various ways without departing from the scope. Various inventions can be realized by appropriately combining the structure elements disclosed in the embodiments. For instance, some of the disclosed structural elements may be deleted. Some structural elements of different embodiments may be combined appropriately.
In the present invention, when a sudden spike phenomenon occurs, an auxiliary computer is started and used as a new load distribution target computer. When the spike phenomenon has ceased, the booted auxiliary computer is excluded from the load distribution targets, and stopped. Thus, it is not necessary to boot many server computers at all times, and a sudden spike phenomenon that is hard to predict can be easily overcome.
Number | Date | Country | Kind |
---|---|---|---|
2003-148233 | May 2003 | JP | national |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/JP04/07558 | 5/26/2004 | WO | 11/3/2006 |