WO2004092971A1 - Server allocation control method - Google Patents

Server allocation control method Download PDF

Info

Publication number
WO2004092971A1
WO2004092971A1 PCT/JP2003/004679 JP0304679W WO2004092971A1 WO 2004092971 A1 WO2004092971 A1 WO 2004092971A1 JP 0304679 W JP0304679 W JP 0304679W WO 2004092971 A1 WO2004092971 A1 WO 2004092971A1
Authority
WO
WIPO (PCT)
Prior art keywords
server
server group
servers
response time
requests
Prior art date
Application number
PCT/JP2003/004679
Other languages
French (fr)
Japanese (ja)
Inventor
Yasuhiro Kokusho
Satoshi Tutiya
Tsutomu Kawai
Original Assignee
Fujitsu Limited
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Limited filed Critical Fujitsu Limited
Priority to JP2004570858A priority Critical patent/JP3964909B2/en
Priority to PCT/JP2003/004679 priority patent/WO2004092971A1/en
Publication of WO2004092971A1 publication Critical patent/WO2004092971A1/en
Priority to US11/099,538 priority patent/US20050193113A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1012Server selection for load balancing based on compliance of requirements or conditions with available server resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/10015Access to distributed or replicated servers, e.g. using brokers

Definitions

  • the present invention relates to a method for dynamically changing the configuration of a group of servers assigned to a network service so that a plurality of servers providing the network service achieve a certain level of response time.
  • So-called service providers such as Internet service providers (ISPs) and application service providers (ASPs), which provide network services, maintain and manage servers for providing network services. May be outsourced to a data center operator.
  • ISPs Internet service providers
  • ASPs application service providers
  • a data center operator has multiple servers in its own data center, and allocates some of them to each network service. That is, a server group consisting of a plurality of servers is formed for each network service, and a service request for a network service is processed by one of the servers belonging to the corresponding server group.
  • the data center operator guarantees a certain level of service such as reliability, maintainability, availability, and response time to service users in contracts with each xSP. If the number of servers assigned to the network service is too large, there will be servers with a low operating rate, and effective utilization of servers will not be achieved. Conversely, if the number of servers is too small, the service level cannot be guaranteed beyond a certain level.
  • the data center operator installs a load balancer in front of multiple servers owned by the data center operator, and changes the settings of the load balancer to specify the load balancer.
  • Server is added to a group of servers that provide a certain network service, and a specific server is deleted from a group of servers that provide a certain network service.
  • the load distribution device also distributes the load on servers belonging to the server group by distributing service requests from user terminals according to a preset distribution ratio.
  • the load on network services fluctuates in a complex manner due to time of day, seasonal factors, and human factors, and the fluctuations vary from network service to network service.
  • the conventional method enables the setting of the load balancer to be performed automatically in real time without manual intervention.However, do you need more servers in the future or fewer servers? Servers are allocated only according to the current operation status and the set service level, without deciding whether or not it is necessary. Therefore, there is a problem that the server assigned according to the current operation status is not always optimal in the future.
  • the object is to provide a server system in a network system having a plurality of user terminals connected to a network, and a server group including a plurality of servers connected to the network and processing requests from the plurality of user terminals.
  • the number of requests from the plurality of user terminals for each predetermined time is accumulated, and a characteristic of time and number of requests is obtained as a function based on the accumulated number of past requests.
  • the average response time per one of the plurality of servers And substituting the predicted number of requests into a relational expression between the number of requests and the number of requests.
  • a first average response time per vehicle is determined, and it is determined whether the first average response time is a positive value and falls within a range equal to or less than a preset threshold, and according to the result of the determination.
  • the present invention is achieved by the invention according to claim 1, which provides a method for adjusting the number of servers in a server group, wherein the number of servers included in the server group is increased or decreased. Further, in the above-mentioned object, according to claim 1, when the average response time is included in the range as a result of the determination, (a) selecting one server included in the server group, and (b) selecting the server (C) obtain a second average response time per one of a plurality of servers included in the assumed server group, and (d) obtain the second average response time.
  • the selected server is referred to as the server group.
  • the invention is achieved by the invention according to claim 2, which provides a method of adjusting the number of server groups, which is excluded from the configuration of (1).
  • the above object is achieved in claim 2 in which after (e), after (e), the above (a) to (e) are repeated again, and as a result of the new determination, the second average response time is as described above.
  • a method for adjusting the number of servers in a server group wherein a plurality of servers included in the server group are excluded from the configuration one by one until the servers are not included in the range. The invention described in the range 3 is achieved.
  • the above-described object may be configured as described in claim 1, further comprising an unused server group including a plurality of unused servers connected to the network, and as a result of the determination, the average response time is included in the range.
  • a method of adjusting the number of servers is provided, wherein one server included in the unused server group is selected, and the selected server is added to the server group. This is achieved by the invention described in range 4.
  • the above object is achieved in claim 4 in which: (f) in a new server group after the selected server is added, a third server per one of a plurality of servers included in the new server group; (G) performing a new determination to determine whether or not the third average response time falls within the range; (h) a result of the new determination; the third average response time If not included in the range, one server included in the unused server group is selected, and (i) the selected server is added to the new server group, and after (i), again The above (f) to (i) are repeated, and as a result of the new determination, the servers included in the unused server group are added to the server group until the third average response time is included in the range.
  • a method for adjusting the number of server groups by adding one server at a time This is achieved by the invention described in claim 5 which provides the following.
  • the above object is to provide a server group including a plurality of user terminals connected to a network, a plurality of servers connected to the network and processing requests from the user terminals, A load balancing device that is connected and includes storage means for storing the number of requests from the user terminal, the distribution rate of the number of requests, and the configuration information of the server group at predetermined time intervals; and resources connected to the network.
  • a resource allocation control device in a network system having an allocation control device obtains a characteristic of time and the number of requests as a function based on the number of past requests stored in the load distribution device, and the function calculates a future time.
  • the number of requests from the plurality of user terminals assuming that the number of requests from the plurality of user terminals follows a predetermined probability distribution. Substituting the predicted number of requests into the relational expression between the response time and the number of requests to obtain a first average response time per one of the plurality of servers, wherein the first average response time is positive. Value and is determined to be included in a range equal to or less than a preset threshold, 7.
  • FIG. 1 is a diagram illustrating an example of the configuration of the entire system according to an embodiment of the present invention.
  • FIG. 2 is a block diagram illustrating a configuration example of a load distribution device.
  • FIG. 3 is a block diagram showing a configuration example of a mobile terminal such as a mobile phone or a PDA used as a user terminal.
  • FIG. 4 is a block diagram illustrating a configuration example of a server.
  • FIG. 5 is a diagram illustrating an example of a data configuration of server group configuration information stored in the RAM of the load distribution device.
  • FIG. 6 is a diagram illustrating a data configuration example of statistical information stored in the RAM of the load balancing device.
  • FIG. 7 is a diagram illustrating a data configuration example of data center configuration information stored in the RAM of the resource allocation control device.
  • FIG. 9 is a flowchart illustrating the server group new creation processing.
  • FIGS. 10 and 11 are flowcharts illustrating the server allocation adjustment processing.
  • FIG. 12 is a diagram for explaining a prediction method using the least squares method. BEST MODE FOR CARRYING OUT THE INVENTION
  • FIG. 1 is a diagram illustrating an example of the configuration of the entire system according to an embodiment of the present invention.
  • all servers that provide network services will be described as servers on which web servers operate.
  • the user terminal sends an http request including the homepage address to be viewed as a service request, and the web server sends the content corresponding to the corresponding homepage address to the user terminal.
  • Network 2 that connects a plurality of user terminals 1 and a plurality of servers 10 in a data center 3.
  • Network 2 can be wired or wireless.
  • the network 2 may be a LAN (Local Area Network) or a WAN (Wide Area Network), and the network 2 may be an internet connecting LANs and WANs.
  • a mobile terminal such as a PC (personal computer), a mobile phone, or a PDA (Personal Digital Assistant) is used.
  • the plurality of servers 10 in the data center 3 are grouped for each network service to be provided.
  • servers 7 to 7 3 to provide a network service exists in FIG. 1, the server group 7 have 7 2 provides separate network services as a web server. Server group 7 3 are unused servers that are not assigned to any network service.
  • Each of the servers 10 in the data center is connected to the LAN 6 in the center.
  • LA 6 in the center can be wireless, wired, or wired.
  • a request sent from the user terminal 1 is processed by the server 10 belonging to the server group that provides the network service corresponding to the request, and the network service is provided by responding the result to the user terminal.
  • the server group 7 provides company homepage content
  • the server group 7! Is sent to the user terminal that sent the company A homepage address as a browsing request (http request) from the user terminal.
  • Server sends the content corresponding to the address.
  • a load balancer 4 is provided at a stage preceding the server in the data center, and the load balancer 4 is connected to the LAN 6 and the network 2 in the center.
  • Load balancer 4 is to determine the server group corresponding to the request from the user terminal, and to prevent the load of the server belonging to that server group from being concentrated on a specific server, Distribute requests.
  • the load balancer 4 counts the number of requests (http requests) transmitted via the network 2 at regular time intervals for each server group 7 and accumulates the information as statistical information.
  • a resource allocation control device 5 for controlling the configuration of the server group 7 by adding or deleting servers 10 belonging to the server group 7 is connected to the LAN 6 in the center.
  • a configuration including a gateway, a router, a firewall, and the like between the load distribution device 4 and the network 2 is also possible.
  • a storage device such as a disk array may be connected to the outside of the server 10 if the hard disk provided inside the server is insufficient.
  • FIG. 2 is a block diagram showing a configuration example of the load distribution device 4.
  • the CPU 21 executes the control in the load distribution device 4.
  • a ROM (Read Only Memory) 22 stores a program executed when the load distribution device 4 is initialized, data necessary for the initialization, and a control program transferred to the RAM 23 at the time of initialization.
  • FIG. 3 is a block diagram showing a configuration example of a mobile terminal such as a mobile phone or a PDA used as the user terminal 1.
  • the CPU 31 executes control in the mobile terminal.
  • R0M32 a program executed when the mobile terminal is initialized, data necessary for initialization, and a control program transferred to the MM34 at the time of initialization are recorded.
  • the RAM 34 stores a control program and data S such as a work result when the control program is executed.
  • the communication device 35 connects to the network 2 and the LM 6 in the center. Interface to enable data transmission and reception with devices connected via the network 2 or the LAN 6 in the center.
  • the input device 36 is a keypad, a pen-type input device, or the like, and is used by a user for inputting various commands and data.
  • the display device 33 is a liquid crystal screen or the like, and displays a control result or the like of the CPU 31 to a user. These forces are connected by connecting lines 37 as shown in Fig.3.
  • FIG. 4 is a block diagram showing a configuration example of the resource allocation control device 5.
  • the CPU 41 executes the control in the resource allocation control device 5.
  • the ROM 42 stores a program executed when the resource allocation control device 5 is initialized and data necessary for the initialization.
  • the hard disk 46 stores OS (Operating System) data for controlling the resource allocation control device 5.
  • the RAM 45 stores data such as a work result when the OS is executed.
  • the communication device 48 has an interface for connecting to the network 2 and the LAN 6 in the center, and enables data transmission and reception to and from devices connected through the network 2 and the LA 6 in the center.
  • the input device 47 is a keyboard mouse or the like, and is used by a user to input various commands and data.
  • the display device 43 is a liquid crystal monitor, a CRT, or the like, and displays a control result of the CPU to a user.
  • the optical drive 44 is used to write or read data to media such as CD, DVD, and M0.
  • the administrator can log in to the resource allocation control device 5 from the server 10 connected via the network and remotely control the resource allocation control device 5, a configuration without the input device 47 and the display device 43 may be used.
  • the configuration of the PC used as the server 10 and the user terminal 1 is the same as that shown in FIG.
  • FIG. 5 is a diagram illustrating a data configuration example of the server group configuration information stored in the MM 23 of the load distribution device 4.
  • server group configuration information server group name 51, representative IP address 52, response time threshold 53, server name 54 belonging to the server, IP address 55, distribution ratio 56 are assigned to each server group. Is stored in
  • the server group name 51 is a management name for specifying the server group 7.
  • Representative IP address The address 52 is a number consisting of 32 bits for IPv4 and 128 bits for IPv6, and is an IP address that is disclosed to the outside for network services provided by the server group 7. That is, when the network service provided by the server group 7 is used, the user terminal 1 sends a request (http request) to the representative IP address 52 of the server group 7 and the server group 7 2 provides the request. If the network service is available, the user terminal 1 transmits a request to the representative IP Adoresu 5 second server group 7 2.
  • the representative IP address 52 a global IP address is used, but a private IP address may be used if the network service is for a limited organization. it can.
  • the response time threshold 53 is one of the service levels required by xSP when contracting with the data center, and the data center operator operates the network so that the response time to user terminal 1 does not fall below the response time threshold '53.
  • Server 10 is assigned to server group 7 that provides services, and data center 3 is managed.
  • the server name 54 of the belonging server information is a management name for specifying the server 10 belonging to each server group 7.
  • the IP address 55 is the IP address of the server corresponding to the server name 54.
  • As the IP address 55 a private IP address is used, but a global IP address can also be used if there is a surplus of global IP addresses.
  • Figure 5 stores information about two server groups.
  • the representative IP address 52 is GIP1
  • the response time threshold 53 is ST1
  • the server name 54 is WEB-A, WEB-B, WEB-C, and WEB-D.
  • the IP address 5 5 PIP1, PIP2, PIP3, PIP4, and distribution ratio 56 are 0.5, 0.3, 0.1, and 0.1, respectively.
  • FIG. 5 also stores the representative IP address 52 of the server group B and information about three servers to which the server group B belongs.
  • FIG. 6 is a diagram illustrating an example of a data configuration of statistical information stored in the RAM 23 of the load distribution device 4.
  • a value obtained by totaling the number of arriving requests at fixed time intervals is stored for each server group.
  • FIG. 6 contains the number of arriving requests per second, store that R 21 amino request arrives in R u number of requests force server group B in server group A during time 6 1 ⁇ 2 Is done.
  • the latest data is added below Figure 6. In this way, information on the number of arrival requests 62 for the last n seconds (n is a natural number) from the current time is stored.
  • FIG. 7 is a diagram showing a data configuration example of the data center configuration information stored in the RAM 45 of the resource allocation control device 5.
  • the data center configuration information stores the server name 71, IP address 72, CPU clock speed 73, and assigned server group name 74 of each server 10, including unused servers not assigned to network services. Is performed.
  • the server name 71 and the IP address 72 are the same as the server name 54 and the IP address 55 in FIG.
  • the CPU clock speed 73 stores a value obtained by dividing the clock frequency of the CPU 41 mounted on the server 10 by the reference clock frequency.
  • the reference cook frequency is 1 GHz. From the CPU clock speed 73, it can be seen that the clock frequency mounted on the server 10 is several times the reference clock frequency. For the server 10 having a plurality of CPUs 41, a value obtained by dividing the total value of the clock frequencies by the reference clock frequency is stored.
  • the belonging server group name 74 specifies the server group 7 to which the server 10 of each server name 71 belongs.
  • the data center configuration information Information is also stored.
  • FIG. 7 it can be seen that four servers whose server names 71 are WEB-H, WEB-1, WEB-J, and WEB-K are unused servers.
  • FIG. 8 is a table in which the number of requests processed per second by the server equipped with the CPU 41 of the reference clock frequency (1 GHz) stored in the RAM 45 of the resource allocation control device 5 is stored for each Web server software 81.
  • FIG. 4 is a diagram showing an example of the data configuration of FIG.
  • FIG. 8 when an application is used as web server software, multiple http requests are sent to a server equipped with a CPU 41 with a reference clock frequency (1 GHz), and as a result, requests per second are processed.
  • application An it is understood that c n requests are processed per second as a result of sending a plurality of http requests to a server equipped with CPU 41 of the reference clock frequency. This data is collected in advance and input to the resource allocation controller in advance.
  • FIG. 9 is a flowchart illustrating the server group new creation processing.
  • the resource allocation control device 5 receives a server group new creation request (S91).
  • the new creation of the server group 7 is based on the initiative of the operation manager, and here, the command input by the operation manager through the input device 47 provided in the resource allocation control device 5 is received. . It also receives the name of the newly created server group, the initial number of servers to be assigned, and the response time threshold as command arguments.
  • step S92 the name of the newly created server group, the initial number of servers to be allocated, and the response time threshold are stored (S92).
  • step S92 the information received as the command argument is temporarily stored in the RAM 45 provided in the resource allocation control device 5.
  • step S93 the data center configuration information is updated so that the servers for the initial number received in step S91 are added to the newly created server group (S93).
  • step S93 the servers corresponding to the initial number received in step S91 are selected from the entry of the server in which the server group name 74 is "unused" in the data center configuration information in FIG. Then, the field of the server group name 74 of the selected server may be changed to the name of the newly created server group received in step S91.
  • the representative IP address to be assigned to the newly created server group and the distribution rate of each server belonging to the server group are determined (S94). The representative IP address and the distribution ratio are set in the load distribution device 4, but are determined by the resource allocation control device 5.
  • the representative IP address is determined by selecting an arbitrary one from a set of unused IP addresses stored in the hard disk of the resource allocation control device 5 (because it is exclusively used as the representative IP address). .
  • the method of determining the initial value of the distribution rate is not particularly limited as long as the sum of the distribution rates is 1, so for example, 1 is divided by the initial number received in step S91, and the value of What is necessary is just to determine it as a distribution rate.
  • step S94 new configuration information is transmitted to the load balancer (S95), and the server group new creation process ends.
  • step S95 the name of the newly created server group, the representative IP address, the response time threshold stored in step S92, the server name for the initial number selected in step S93, and the step S94 Is transmitted to the load balancer by the resource allocation controller.
  • FIG. 9 When a new server group is created, the processing in FIG. 9 is executed.To determine whether a server belonging to an existing server group is optimal for providing network services, the resource allocation control device 5 Perform server allocation adjustment processing.
  • the CPU clock frequency is used as a numerical value for measuring the processing capacity of the server group, and the number of servers is simply increased to improve the processing capacity of the server group.
  • FIGS. 10 and 11 are flowcharts illustrating the server allocation adjustment processing.
  • the resource allocation control device 5 periodically executes a server allocation adjustment process to determine whether a server allocated to a group of servers providing each network service is optimal. It is assumed that the table data in FIG. 8 has been input before this processing.
  • the resource allocation control device 5 refers to the belonging server group name 74 of the data center configuration information in FIG. 7 and selects one server group name other than “unused”.
  • step S102 the number of arrival requests of the server group selected in step S101 after 60 seconds is predicted (S102).
  • step S 102 first, the latest 300 seconds of the server group selected in step S 101 are sent to the resource allocation control device 5 and the load distribution device 4. 3 004679
  • the load balancer 4 refers to the statistical information in FIG. 6 and sends the latest number of arrival requests 62 for the latest 300 seconds of the corresponding server group to the resource allocation controller 5. . Then, the number of arrival requests 60 seconds from now is predicted using the least squares method based on the number of arrival requests for 300 seconds obtained.
  • FIG. 12 is a diagram for explaining a prediction method using the least squares method.
  • Figure 12 shows the time (seconds) on the horizontal axis and the number of arrival requests (number) on the vertical axis, and plots data for 300 seconds on the coordinate plane at 1-second intervals. On the coordinate plane, a straight line that minimizes the distance in the vertical axis direction from each plotted point is obtained by the least squares method.
  • step S102 the number of arrival requests after 60 seconds is predicted.
  • the present invention is not limited to this and can be determined according to the policy of the operation manager.
  • the latest 300 seconds of data was used to estimate the number of arrival requests after 60 seconds, the present invention is not limited to this.
  • data of five times the difference between the predicted future time and the current time is used as a guide.
  • step S102 based on the number of arrival requests predicted in step S102, the average response time T after 60 seconds per server belonging to the server group selected in step S101 is calculated. Yes (S103).
  • p is the window utilization rate in queuing theory, and is the probability that the window is busy at any time.
  • the Poisson model guarantees that the queue will not overflow at p ⁇ 1, which means that no matter how much time passes, the queue length will remain below a certain length.
  • the waiting time means the average response time ⁇ of the servers belonging to the server group selected in step S101. Then, assuming that the average response time of the server takes the worst value, since p is 1,
  • the response time of the i-th server belonging to the server group selected in step S101 can be derived as follows. Assuming that the i-th server in the server group is a window in queuing theory, the number of requests processed per second at the window is f ; X ⁇ , the number of requests to the window arrives at the number of arrival requests for the entire server group. , X multiplied by the distribution ratio r of the i-th server. Therefore, the response time 1 of the i-th server belonging to the server group becomes
  • step S104 it is determined whether or not the response time T calculated in step S103 satisfies 0 ⁇ T ⁇ Tp with respect to a preset response time threshold Tp (S104). If the response time ⁇ falls within the range (0 ⁇ T ⁇ Tp) in step S104, the service level satisfies the service level guaranteed in the contract with xSP, but the allocated server is probably excessive, This means that there may be room for server reduction.
  • step S104 if the response time T falls within the predetermined range in step S104, one arbitrary server belonging to the server group is selected (S105). Then, assuming a configuration in which the server selected in step S105 is excluded from the server group selected in step S101, the future response time ⁇ is calculated again in the assumed new configuration.
  • Step S106 can be calculated using equation (A) as in step S103.
  • step S106 it is determined whether the response time calculated in step S106 satisfies 0 ⁇ T ⁇ T with respect to the response time threshold T (S107).
  • the number of servers is reduced by one, so the value of the denominator becomes smaller, and the response time ⁇ is calculated in the previous calculation.
  • Step S103 Therefore, if the increased value satisfies 0 ⁇ ⁇ , it is safe to delete one server.
  • step S107 the server actually selected in step S105 is added to the unused server (S108), and the number of servers is reduced.
  • step S108 the server group name selected in step S101 is updated by updating the affiliated server group name 74 corresponding to the server selected in step S105 in the data center configuration information in FIG. Means that the server is removed from the configuration.
  • step S108 the process returns to step S105 to determine whether there is room for further server reduction.
  • step S107 the response time T is 0 ⁇ If T ⁇ Tp is not satisfied, it is known that the current configuration is the minimum necessary, and the configuration is not changed, and the process proceeds to the next process (moving to FIG. 11), and the distribution ratio is calculated (S109) ).
  • step S109 in FIG. 11 the distribution rates of the servers belonging to the server group are calculated by a method described later, so that the response times of the servers belonging to the same server group become equal to each other. If the response time of each server belonging to the same server group is not uniform, even if the average response time of the server obtained by averaging the entire server group is less than the response time threshold, the response time of some servers The time threshold may be exceeded. Therefore, it is necessary to control the distribution ratio of each server so that the response times of the servers belonging to the same server group are equal to each other.
  • -(1- ⁇ ⁇ /,) + ⁇ (c)
  • n the number of servers belonging to the server group
  • selected in step S101.
  • the average number of requests processed per second at the reference frequency of the Web server software used by the servers belonging to the server group.R is the number of arrival requests after 60 seconds for the entire server group selected in step S101. Yes, it is the value predicted in step S102.
  • f i is the relative clock magnification of the i-th server among the n servers belonging to the server group selected in step S101, and it is appropriate to refer to the CPU clock speed 73 in the data center configuration information in FIG.
  • Equation (C) The derivation method of equation (C) is as follows. From equation (B), the response time of the i-th server is
  • step S104 of Fig. 10 If the response time T does not fall within the range of 0 ⁇ T ⁇ Tp in step S104 of Fig. 10, select one server belonging to an unused server (S112) . Then, the server selected in step S112 is added to the server group (S113).
  • the reason why the number of arrival requests does not fall within the predetermined range in step S104 is that the number of arrival requests exceeds the processing capacity of the server group, that is, the denominator of equation ( ⁇ ) is negative, or the number of arrival requests is The range of processing capacity is ⁇ , but the load is higher as the response time is shorter than the required response time. In any case, it is necessary to increase the number of servers and increase the processing capacity.
  • step S115 It is determined again whether the response time calculated in step S114 falls within a predetermined range (0T ⁇ Tp) (S115). In step S115, even if one is added, if it does not yet fall within the prescribed range, the service level guaranteed in the contract with xSP has not yet been satisfied, and in order to further add servers, steps S112 Return to and continue the process. If the value falls within the predetermined range in step S115, the flow advances to step S109 to calculate the distribution rate.
  • the resource allocation control device 5 1 It is also possible to set to execute the new server group creation processing in Fig. 9 as interrupt processing.
  • the present invention provides a method for automatically allocating servers in a data center to each network service in real time to a load distribution device without manual intervention. Can be. It also monitors the fluctuations in the amount of requests arriving at each network service, predicts the value of the amount of request after a certain period of time, and provides services for the network service in accordance with the magnitude of the estimated amount of request. It is possible to control the quota of the bus.
  • the burden on the operation manager can be reduced, and operation by fewer operation managers is possible. In addition, it can be operated by inexperienced operation managers.
  • the amount of servers allocated to the network service is determined by the average of the response time to the user terminal when the amount of traffic indicated by the predicted request value arrives at the network service. Is set to be equal to or less than a predetermined response time threshold.
  • the server application is a web server, and a request from the user terminal is an ht3 ⁇ 4) request.
  • Another application program is used in the server, and the user terminal performs a request for the application program. If the server sends a request and the server sends a reply to the request to the user terminal, the present invention can be applied to such a case.
  • the CPU clock frequency is used as a numerical value for measuring the processing capacity of the server group, and the number of servers is simply increased or decreased in order to adjust the processing capacity of the server group.
  • the present invention is also applicable to a case where computer resources such as a CPU, a memory, and a hard disk are individually numerically increased and decreased.
  • the force S at which the reference clock frequency is 1 GHz is not limited thereto.
  • the average number of processes for each application in the server equipped with the peak frequency determined as the reference peak frequency is collected in advance and input to the resource allocation control device in advance as shown in FIG. Is applicable.
  • the present invention provides a method of automatically allocating servers in a data center to respective network services to a load distribution apparatus in real time without manual intervention. Can be. It also monitors the fluctuations in the amount of requests arriving at each network service, predicts the value of the amount of request after a certain period of time, and provides services for the network service in accordance with the magnitude of the estimated amount of request. It is possible to control the quota of the bus.

Abstract

Allocation of the servers in a data center to network services is automatically conducted by a load distributing device on real time without any manual operation. The variation in the quantity of requests arriving at each network service is monitored, the value of the quantity of requests after a predetermined elapsed time is predicted. Depending on the magnitude of the request quantity predicted value, the allocation quantity of servers to the network service can be controlled. The quantity of servers allocated to the network service is so determined that the average of response times to user terminals is a response time threshold or less predetermined by the operation manager when a traffic of a quantity indicated by the request quantity predicted value arrives at the network service. The server group can include a requisite minimum number of servers necessary for the operation of the network services so that it is judged whether or not the response times based on the predicted value are in a predetermined range each time the a server is added or eliminated.

Description

サーバ割当制御方法 技術分野 Server allocation control method
本発明は、 ネットワークサービスを提供する複数のサーバが一定水準の応答 時間を達成するために、 そのネットワークサービスに割り当てるサーバ群の構 成を動的に変更する方法に関する。 背景技術  The present invention relates to a method for dynamically changing the configuration of a group of servers assigned to a network service so that a plurality of servers providing the network service achieve a certain level of response time. Background art
現在インターネット等のネットワークを介して多様なネットワークサービス が提供されている。 このネットワークサービスを提供する事業者である、 イン ターネットサービスプロバイダ(ISP)、 アプリケーションサービスプロバイダ (ASP)等のいわゆるサービスプロバイダ(xSP)は、 ネットワークサービスを提供 するためのサーバの維持、 管理を自社で行わず、 データセンタ事業者に外部委 託する場合がある。  Currently, various network services are provided via networks such as the Internet. So-called service providers (xSP), such as Internet service providers (ISPs) and application service providers (ASPs), which provide network services, maintain and manage servers for providing network services. May be outsourced to a data center operator.
データセンタ事業者は、 自社のデータセンタに複数のサーバを有し、 その一 部をネットワークサービス毎に割り当てる。 すなわちネットワークサービズ毎 に複数のサーバからなるサーバ群が形成され、 ネットワークサービスへのサー ビス要求が対応するサーバ群に所属するいずれかのサーバにより処理される。 またデータセンタ事業者は、 各 xSP との契約において信頼性、 保守性、 可用性 やサービス利用者への応答時間等のサービスレベルを一定水準以上に保証する。 ネットワークサービスに割り当てられるサーバ台数が多すぎると、 稼働率の 低いサーバが存在することになり、 サーバの有効活用が図られない。 逆に、 サ ーバ台数が少なすぎるとサービスレベルを一定以上に保証することができない。 また、 サーバに対する負荷は、 ネットワークに接続された複数の利用者端末か らのサービス要求数に応じて増減し時々刻々と変動するため、 データセンタで 提供されるネットワークサービスが複数であれば、 ネットワークサービス間で 負荷の大小に差が生じる。 そこでデータセンタ事業者は、 保証したサービスレ ベルを下回らない程度に、 負荷の軽いネットワークサービスに割り当てられた サーバ、 あるいは未使用のサーバを負荷の重いネットワークサービスに再配置 することでサーバ群の構成を変更し、 保有するサーバを有効活用する。 A data center operator has multiple servers in its own data center, and allocates some of them to each network service. That is, a server group consisting of a plurality of servers is formed for each network service, and a service request for a network service is processed by one of the servers belonging to the corresponding server group. In addition, the data center operator guarantees a certain level of service such as reliability, maintainability, availability, and response time to service users in contracts with each xSP. If the number of servers assigned to the network service is too large, there will be servers with a low operating rate, and effective utilization of servers will not be achieved. Conversely, if the number of servers is too small, the service level cannot be guaranteed beyond a certain level. In addition, the load on the server increases and decreases according to the number of service requests from multiple user terminals connected to the network, and fluctuates every moment. Therefore, if there are multiple network services provided by the data center, The load varies between services. Therefore, the data center operator must provide the guaranteed service level. Servers assigned to lightly loaded network services or unused servers are relocated to heavily loaded network services so that the number of servers does not fall below the level, and the configuration of the server group is changed, and the owned servers are used effectively. .
このような構成変更を可能とするために、 データセンタ事業者はデータセン タ事業者の有する複数のサーバの前段に負荷分散装置を設置し、 その負荷分散 装置の設定を変更することで、 特定のサーバをあるネットワークサービスを提 供するサーバ群に追加し、 逆にあるネットワークサービスを提供するサーバ群 から特定のサーバを削除する。 また負荷分散装置は、 予め設定された振分率に 応じて、 利用者端末からのサービス要求を振り分けることで、 サーバ群に所属 するサーバへの負荷を分散させることも行う。  In order to make such a configuration change possible, the data center operator installs a load balancer in front of multiple servers owned by the data center operator, and changes the settings of the load balancer to specify the load balancer. Server is added to a group of servers that provide a certain network service, and a specific server is deleted from a group of servers that provide a certain network service. The load distribution device also distributes the load on servers belonging to the server group by distributing service requests from user terminals according to a preset distribution ratio.
負荷分散装置の設定は、 データセンタの運用管理者の経験や判断に基づいて 手動で変更されたり、 また現在の動作状況に応じて (C P U稼働率から) サー ビスレベルが一定水準以上であるかが判定され、 負荷分散装置の設定が自動的 に変更されるものが提案されている (特許文献 1参照)。  The settings of the load balancer can be changed manually based on the experience and judgment of the data center operation manager, and whether the service level is above a certain level (from the CPU operation rate) according to the current operation status. It has been proposed that the judgment be made and the setting of the load balancer be changed automatically (see Patent Document 1).
しかしながら、 ネットワークサービスへの負荷は時間帯や季節的要因、 人為的 要因などによって複雑に変動し、 その変動はネットワークサービス毎に異なるた め、 従来の負荷分散装置の設定を手動で設定する方法において、 運用管理者がそ の経験や判断だけでその変動パターンを正確に予測することは困難である。また、 従来の方法は、 負荷分散装置の設定を人手によらずリアルタイムに自動的に行う ことを可能にするものではあるが、 より多くのサーバを将来必要とするのか、 そ れともより少ないサーバで済むのか判断せずに、 現在の動作状況と設定されたサ 一ビスレベルのみに応じてサーバが割り当てられる。 従って、 現在の動作状況に 応じて割り当てられたサーバが必ずしも将来において最適なものとはなっていな いという課題を有していた。  However, the load on network services fluctuates in a complex manner due to time of day, seasonal factors, and human factors, and the fluctuations vary from network service to network service. However, it is difficult for an operation manager to accurately predict the fluctuation pattern based only on his or her experience and judgment. In addition, the conventional method enables the setting of the load balancer to be performed automatically in real time without manual intervention.However, do you need more servers in the future or fewer servers? Servers are allocated only according to the current operation status and the set service level, without deciding whether or not it is necessary. Therefore, there is a problem that the server assigned according to the current operation status is not always optimal in the future.
(特許文献 1 ) 特開 2 0 0 2— 2 4 1 9 2号公報 発明の開示  (Patent Document 1) Japanese Patent Application Laid-Open No. 2002-224192 Disclosure of the Invention
本発明の目的は、 ネットワークサービスに割り当てられた複数のサーバの構成 を利用者端末からの要求数に応じて動的に制御することを可能にする方法および プログラムを提供することにある。 また、 各ネットワークサービスに到着する要 求数の変動の様子から、 一定時間経過後の到着要求数を予測し、 その予測値に応 じて各ネットワークサービスに対するサーバの割り当てを制御する方法およびプ 口グラムを提供することにある。 An object of the present invention is to provide a method for dynamically controlling the configuration of a plurality of servers assigned to a network service according to the number of requests from user terminals, and To provide a program. In addition, a method and a method for predicting the number of arrival requests after a certain period of time from the fluctuation of the number of requests arriving at each network service, and controlling server allocation to each network service in accordance with the predicted value. Is to provide gram.
上記目的は、 ネットワークに接続された複数の利用者端末と、 前記ネットヮー クに接続され、 前記複数の利用者端末からの要求を処理する複数のサーバを含む サーバ群を有するネットワークシステムにおける前記サーバ群の台数調整方法で あって、 所定時間毎の前記複数の利用者端末からの要求数を蓄積し、 蓄積された 過去の要求数に基づいて、 時間と要求数の特性を関数として求め、 前記関数に将 来の時間を代入して将来の要求数を予測し、 前記複数の利用者端末からの要求数 が所定の確率分布に従うと仮定した場合の前記複数のサーバ 1台あたりの平均応 答時間と要求数の関係式に、 前記予測された要求数を代入して前記複数のサーバ The object is to provide a server system in a network system having a plurality of user terminals connected to a network, and a server group including a plurality of servers connected to the network and processing requests from the plurality of user terminals. The number of requests from the plurality of user terminals for each predetermined time is accumulated, and a characteristic of time and number of requests is obtained as a function based on the accumulated number of past requests. To predict the number of requests in the future by substituting the time into the future, and assuming that the number of requests from the plurality of user terminals follows a predetermined probability distribution, the average response time per one of the plurality of servers And substituting the predicted number of requests into a relational expression between the number of requests and the number of requests.
1台あたりの第一の平均応答時間を求め、 前記第一の平均応答時間が正の値であ りかつ予め設定された閾値以下の範囲に含まれるかを判定し、 前記判定の結果に 応じて前記サーバ群に含まれるサーバの台数を増減させることを特徴とするサー バ群の台数調整方法を提供する請求の範囲 1に記載の発明により達成される。 また、 上記目的は、 請求の範囲 1において、 前記判定の結果、 前記平均応答 時間が前記範囲に含まれる場合、 (a)前記サーバ群に含まれるサーバを 1台選択 し、 (b)前記選択されたサーバを除外したサーバ群を仮定し、 (c)前記仮定され たサーバ群に含まれる複数のサーバ 1台あたりの第二の平均応答時間を求め、 (d)前記第二の平均応答時間が前記範囲に含まれるか判定する新たな判定を行 い、 (e)前記新たな判定の結果、 前記第二の平均応答時間が前記範囲に含まれる 場合、 前記選択されたサーバを前記サーバ群の構成から除外する、 ことを特徴 とするサーバ群の台数調整方法を提供する請求の範囲 2に記載の発明により達 成される。 A first average response time per vehicle is determined, and it is determined whether the first average response time is a positive value and falls within a range equal to or less than a preset threshold, and according to the result of the determination. The present invention is achieved by the invention according to claim 1, which provides a method for adjusting the number of servers in a server group, wherein the number of servers included in the server group is increased or decreased. Further, in the above-mentioned object, according to claim 1, when the average response time is included in the range as a result of the determination, (a) selecting one server included in the server group, and (b) selecting the server (C) obtain a second average response time per one of a plurality of servers included in the assumed server group, and (d) obtain the second average response time. (E) when the second average response time is included in the range, as a result of the new determination, the selected server is referred to as the server group. The invention is achieved by the invention according to claim 2, which provides a method of adjusting the number of server groups, which is excluded from the configuration of (1).
また、 上記目的は、 請求の範囲 2において、 前記 (e)の後、 再び前記 (a)から 前記 (e)を繰り返し行い、 前記新たな判定の結果、 前記第二の平均応答時間が前 記範囲に含まれなくなるまで、 前記サーバ群に含まれる複数のサーバを 1台ず つ構成から除外することを特徴とするサーバ群の台数調整方法を提供する請求 の範囲 3に記載の発明により達せされる。 In addition, the above object is achieved in claim 2 in which after (e), after (e), the above (a) to (e) are repeated again, and as a result of the new determination, the second average response time is as described above. A method for adjusting the number of servers in a server group, wherein a plurality of servers included in the server group are excluded from the configuration one by one until the servers are not included in the range. The invention described in the range 3 is achieved.
また、 上記目的は、 請求の範囲 1において、 さらに、 前記ネットワークに接 続された複数の未使用サーバを含む未使用サーバ群を有し、 前記判定の結果、 前記平均応答時間が前記範囲に含まれなレ、場合、 前記未使用サーバ群に含まれ るサーバを 1台選択し、 前記選択されたサーバを前記サーバ群に追加すること を特徴とするサーバ群の台数調整方法を提供する請求の範囲 4に記載の発明に より達成される。  In addition, the above-described object may be configured as described in claim 1, further comprising an unused server group including a plurality of unused servers connected to the network, and as a result of the determination, the average response time is included in the range. In this case, a method of adjusting the number of servers is provided, wherein one server included in the unused server group is selected, and the selected server is added to the server group. This is achieved by the invention described in range 4.
また、 上記目的は、 請求の範囲 4において、 (f)前記選択されたサーバが追加 された後の新たなサーバ群において、 該新たなサーバ群に含まれる複数のサー バ 1台あたりの第三の平均応答時間を求め、 (g)前記第三の平均応答時間が前記 範囲に含まれるか判定する新たな判定を行い、 (h)前記新たな判定の結果、 前記 第三の平均応答時間が前記範囲に含まれない場合、 前記未使用サーバ群に含ま れるサーバを 1台選択し、 (i)前記選択されたサーバを前記新たなサーバ群に追 加し、 前記 (i)の後、 再び前記 (f)から前記 (i)を繰り返し行い、 前記新たな判定 の結果、 前記第三の平均応答時間が前記範囲に含まれるまで、 前記サーバ群に' 前記未使用サーバ群に含まれるサーバを 1台ずつ追加することを特徴とするサ ーバ群の台数調整方法を提供する請求の範囲 5に記載の発明により達成される。 また、 上記目的は、 ネットワ^"クに接続された複数の利用者端末と、 前記ネッ トワークに接続され、 前記利用者端末からの要求を処理する複数のサーバを含む サーバ群と、 前記ネットワークに接続され、 所定時間毎の前記利用者端末からの 要求数と前記要求数の振分率と前記サーバ群の構成情報とを蓄積する蓄積手段を 含む負荷分散装置と、 前記ネットワークに接続された資源割当制御装置を有する ネットワークシステムにおける資源割当制御装置に、 前記負荷分散装置に蓄積さ れた過去の要求数に基づいて、 時間と要求数の特性を関数として求めさせ、 前記 関数に将来の時間を代入して将来の要求数を予測させ、 前記複数の利用者端末か らの要求数が所定の確率分布に従うと仮定した場合の前記複数のサーバ 1台あた りの平均応答時間と要求数の関係式に、 前記予測された要求数を代入して前記複 数のサーバ 1台あたりの第一の平均応答時間を求めさせ、 前記第一の平均応答時 間が正の値でありかつ予め設定された閾値以下の範囲に含まれるかを判定させ、 前記判定の結果に応じて前記サーバ群に含まれるサーバの台数を増減させるよう 前記構成情報を変更させることを特徴とするプログラムを提供する請求の範囲 6 に記載の発明により達成される。 Further, the above object is achieved in claim 4 in which: (f) in a new server group after the selected server is added, a third server per one of a plurality of servers included in the new server group; (G) performing a new determination to determine whether or not the third average response time falls within the range; (h) a result of the new determination; the third average response time If not included in the range, one server included in the unused server group is selected, and (i) the selected server is added to the new server group, and after (i), again The above (f) to (i) are repeated, and as a result of the new determination, the servers included in the unused server group are added to the server group until the third average response time is included in the range. A method for adjusting the number of server groups by adding one server at a time This is achieved by the invention described in claim 5 which provides the following. In addition, the above object is to provide a server group including a plurality of user terminals connected to a network, a plurality of servers connected to the network and processing requests from the user terminals, A load balancing device that is connected and includes storage means for storing the number of requests from the user terminal, the distribution rate of the number of requests, and the configuration information of the server group at predetermined time intervals; and resources connected to the network. A resource allocation control device in a network system having an allocation control device obtains a characteristic of time and the number of requests as a function based on the number of past requests stored in the load distribution device, and the function calculates a future time. The number of requests from the plurality of user terminals, assuming that the number of requests from the plurality of user terminals follows a predetermined probability distribution. Substituting the predicted number of requests into the relational expression between the response time and the number of requests to obtain a first average response time per one of the plurality of servers, wherein the first average response time is positive. Value and is determined to be included in a range equal to or less than a preset threshold, 7. The invention according to claim 6, which provides a program for changing the configuration information so as to increase or decrease the number of servers included in the server group according to the result of the determination.
また、 上記目的は、 請求の範囲 6において、 前記判定の結果、 前記平均応答時 間が前記範囲に含まれる場合、(a)前記サーバ群に含まれるサーバを 1台選択させ、 (b)前記選択されたサーバを除外したサーバ群を仮定させ、(c)前記仮定されたサー バ群に含まれる複数のサーバ 1台あたりの第二の平均応答時間を求めさせ、 (d) 前記第二の平均応答時間が前記範囲に含まれるか判定する新たな判定を行わせ、 (e)前記新たな判定の結果、 前記第二の平均応答時間が前記範囲に含まれる場合、 前記選択されたサーバを前記構成情報から削除させる、 ことを特徴とするプログ ラムを提供する請求の範囲 7に記載の発明により達成される。  Further, in the above-described object, in the claim 6, when the result of the determination is that the average response time is included in the range, (a) selecting one server included in the server group; (C) causing a second average response time per one of a plurality of servers included in the assumed server group to be obtained; A new determination is made to determine whether the average response time is included in the range. (E) As a result of the new determination, when the second average response time is included in the range, the selected server is The present invention is attained by the invention according to claim 7, which provides a program characterized by deleting from the configuration information.
また、 上記目的は、請求の範囲 7において、前記 (e)の後、再び前記 (a)から前記 (e)を行い、 前記新たな判定の結果、前記第二の平均応答時間が前記範囲に含まれ なくなるまで、 前記サーバ群に含まれる複数のサーバを 1台ずつ前記構成情報か ら削除させることを特徴とするプログラムを提供する請求の範囲 8に記載の発明 により達成される。  In addition, the above object is achieved in claim 7, in which after (e), (a) to (e) are performed again, and as a result of the new determination, the second average response time falls within the range. The present invention is attained by the invention according to claim 8, which provides a program for providing a program for deleting a plurality of servers included in the server group one by one from the configuration information until the server is no longer included.
また、 上記目的は、 請求の範囲 6においてく さらに、 前記ネットワークに接続 された複数の未使用サーバを含む未使用サーバ群を有し、 前記判定の結果、 前記 平均応答時間が前記範囲に含まれない場合、 前記未使用サーバ群に含まれるサー バを 1台選択させ、 前記選択されたサーバを前記構成情報に追加させることを特 徴とするプログラムを提供する請求の範囲 9に記載の発明により達成される。 また、 上記目的は、 請求の範囲 9において、 (f)前記選択されたサーバが追カロ された後の新たなサーバ群において、 該新たなサーバ群に含まれる複数のサー バ 1台あたりの第三の平均応答時間を求めさせ、 (g)前記第三の平均応答時間が 前記範囲に含まれるか判定する新たな判定を行わせ、 (h)前記新たな判定の結果、 前記第三の平均応答時間が前記範囲に含まれない場合、 前記未使用サーバ群に 含まれるサーバを 1台選択させ、 (i)前記選択されたサーバを前記新たなサーバ 群に追加させ、 前記 (i)の後、 再び前記 (f)から前記 (i)を行わせ、 前記新たな判 定の結果、 前記第三の平均応答時間が前記範囲に含まれるまで、 前記構成情報 に前記未使用サーバ群に含まれるサーバを 1台ずつ追加させることを特徴とす るプログラムを提供する請求の範囲 1 0に記載の発明により達成される。 図面の簡単な説明 In addition, the above object is achieved in claim 6, further comprising an unused server group including a plurality of unused servers connected to the network, and as a result of the determination, the average response time is included in the range. In the case where there is no server, the invention according to claim 9, which provides a program characterized by selecting one server included in the unused server group and adding the selected server to the configuration information. Achieved. In addition, the above object is achieved in claim 9 in which: (f) in a new server group after the selected server has been added, a plurality of servers included in the new server group per second server are included. (G) making a new determination to determine whether the third average response time falls within the range, (h) a result of the new determination, the third average If the response time is not included in the above range, one of the servers included in the unused server group is selected, (i) the selected server is added to the new server group, and after (i) Again performing the above (f) to (i), and until the result of the new determination, the third average response time is included in the range, the configuration information The present invention is attained by the invention according to claim 10, which provides a program for adding a server included in the unused server group one by one. BRIEF DESCRIPTION OF THE FIGURES
図 1は、本発明の実施形態におけるシステム全体の構成例を説明する図である。 図 2は、 負荷分散装置の構成例を示すブロック図である。  FIG. 1 is a diagram illustrating an example of the configuration of the entire system according to an embodiment of the present invention. FIG. 2 is a block diagram illustrating a configuration example of a load distribution device.
図 3は、利用者端末として使用される携帯電話、 PDA等の携帯端末の構成例を 示すブロック図である。  FIG. 3 is a block diagram showing a configuration example of a mobile terminal such as a mobile phone or a PDA used as a user terminal.
図 4は、 サーバの構成例を示すブロック図である。  FIG. 4 is a block diagram illustrating a configuration example of a server.
図 5は、 負荷分散装置の RAMに格納されるサーバ群構成情報のデータ構成例 を示す図である。  FIG. 5 is a diagram illustrating an example of a data configuration of server group configuration information stored in the RAM of the load distribution device.
図 6は、 負荷分散装置の RAMに格納される統計情報のデータ構成例を示す図 である。  FIG. 6 is a diagram illustrating a data configuration example of statistical information stored in the RAM of the load balancing device.
図 7は、 資源割当制御装置の RAMに格納されるデータセンタ構成情報のデー タ構成例を示す図である。  FIG. 7 is a diagram illustrating a data configuration example of data center configuration information stored in the RAM of the resource allocation control device.
図 8は、資源割当制御装置の RAMに格納される、基準ク口ック周波数の CPU を搭載したサーバが毎秒処理する要求数をアプリケーション毎に格納した表のデ ータ構成例を示す図である。  FIG. 8 is a diagram showing an example of a data configuration of a table stored in the RAM of the resource allocation control device, in which the number of requests processed by the server having the CPU of the reference clock frequency processed per second is stored for each application. is there.
図 9は、 サーバ群新規作成処理を説明するフローチャートである。  FIG. 9 is a flowchart illustrating the server group new creation processing.
図 1 0、 図 1 1は、 サーバ割当調整処理を説明するフローチャートである。 図 1 2は、 最小二乗法を利用した予測の方法を説明する図である。 発明を実施するための最良の形態  FIGS. 10 and 11 are flowcharts illustrating the server allocation adjustment processing. FIG. 12 is a diagram for explaining a prediction method using the least squares method. BEST MODE FOR CARRYING OUT THE INVENTION
以下、 本発明の実施の形態について図面に従って説明する。 しかしながら、 本 発明の技術的範囲はかかる実施の形態に限定されるものではない。  Hereinafter, embodiments of the present invention will be described with reference to the drawings. However, the technical scope of the present invention is not limited to such an embodiment.
本発明の実施形態を、 本発明の方法が適用されるシステム全体の構成例、 前記 システムに含まれる装置の構成例、 前記システムに含まれる装置に格納されるデ ータ構成例、 本発明の方法を説明する動作フローの順に説明する。 まず本発明の 方法が適用されるシステム全体の構成例を説明する。 図 1は、 本発明の実施形態におけるシステム全体の構成例を説明する図であ る。 本発明の実施形態では簡単化のために、 ネ—ットワークサービスを提供する サーバはすべてウェブサーバが稼動するサーバとして説明する。 利用者端末は 閲覧したいホームページァドレスを含む httpリクエストをサービス要求として 送信し、 ウェブサーバは該当するホームページアドレスに対応するコンテンツ を利用者端末に送信する。 Embodiments of the present invention are described by way of an example of a configuration of the entire system to which the method of the present invention is applied, an example of a configuration of an apparatus included in the system, an example of a data configuration stored in an apparatus included in the system, The operation will be described in the order of the operation flow. First, a configuration example of the entire system to which the method of the present invention is applied will be described. FIG. 1 is a diagram illustrating an example of the configuration of the entire system according to an embodiment of the present invention. In the embodiment of the present invention, for simplicity, all servers that provide network services will be described as servers on which web servers operate. The user terminal sends an http request including the homepage address to be viewed as a service request, and the web server sends the content corresponding to the corresponding homepage address to the user terminal.
まず、 複数の利用者端末 1とデータセンタ 3内の複数のサーバ 1 0を接続す るネットワーク 2が存在する。 ネットワーク 2は、 有線、 無 f泉を問わない。 ネ Vトワーク 2は LAN (Local Area Network)でも WAN (Wide Area Network)でも、 また、 ネットワーク 2は LANや WANを相互接続したィンターネットでも構わな い。  First, there is a network 2 that connects a plurality of user terminals 1 and a plurality of servers 10 in a data center 3. Network 2 can be wired or wireless. The network 2 may be a LAN (Local Area Network) or a WAN (Wide Area Network), and the network 2 may be an internet connecting LANs and WANs.
利用者端末 1 と しては PC (パーソナルコンピュータ)や携帯電話、 PDA (Personal Digital Assistant)等の携帯端末が利用される。 データセンタ 3 内の複数のサーバ 1 0は、 提供するネットワークサービス毎にグループ化され る。  As the user terminal 1, a mobile terminal such as a PC (personal computer), a mobile phone, or a PDA (Personal Digital Assistant) is used. The plurality of servers 10 in the data center 3 are grouped for each network service to be provided.
例えば、 図 1にはネットワークサービスを提供するサーバ群 7 〜 7 3が存在 し、 サーバ群 7い 7 2はウェブサーバとして別々のネットワークサービスを提 供する。 サーバ群 7 3はどのネットワークサービスにも割り当てられていない未 使用サーバ群である。 データセンタ内の複数のサーバ 1 0はそれぞれ、 センタ 内 LAN 6に接続される。 センタ内 LA 6は、 無線、 有,線を問わない。 For example, servers 7 to 7 3 to provide a network service exists in FIG. 1, the server group 7 have 7 2 provides separate network services as a web server. Server group 7 3 are unused servers that are not assigned to any network service. Each of the servers 10 in the data center is connected to the LAN 6 in the center. LA 6 in the center can be wireless, wired, or wired.
利用者端末 1から送信される要求を、 その要求に対応するネットワークサー ビスを提供するサーバ群に所属するサーバ 1 0が処理し、 結果を利用者端末に 応答することでネットワークサービスが提供される。 例えば、 サーバ群 7 Α 社のホームページコンテンツを提供するものであれば、 利用者端末からの閲覧 要求 (http リクエスト) として A社のホームページアドレスを送信した利用者 端末に対して、 サーバ群 7!のいずれかのサーバがそのァドレスに対応するコン テンッを送信する。  A request sent from the user terminal 1 is processed by the server 10 belonging to the server group that provides the network service corresponding to the request, and the network service is provided by responding the result to the user terminal. . For example, if the server group 7 provides company homepage content, the server group 7! Is sent to the user terminal that sent the company A homepage address as a browsing request (http request) from the user terminal. Server sends the content corresponding to the address.
また、 データセンタ内のサーバの前段には負荷分散装置 4が備えられ、 その 負荷分散装置 4はセンタ内 LAN 6とネットワーク 2に接続される。負荷分散装置 4は、 利用者端末からの要求に対応するサーバ群を決定し、 そのサーバ群に所 属するサーバの負荷を特定のサーバに集中させないために、 後述する振分率に 応じて、 利用者端末からの要求を振り分ける。 A load balancer 4 is provided at a stage preceding the server in the data center, and the load balancer 4 is connected to the LAN 6 and the network 2 in the center. Load balancer 4 is to determine the server group corresponding to the request from the user terminal, and to prevent the load of the server belonging to that server group from being concentrated on a specific server, Distribute requests.
さらに、 負荷分散装置 4は、 ネットワーク 2を介して送信される要求 (http リクエスト) の個数をサーバ群 7ごとに一定時間間隔で集計し統計情報として 蓄積する。 また、 他にサーバ群 7に所属させるサーバ 1 0を追加、 削除してサ ーバ群 7の構成を制御するための資源割当制御装置 5がセンタ内 LAN 6に接続 される。  Further, the load balancer 4 counts the number of requests (http requests) transmitted via the network 2 at regular time intervals for each server group 7 and accumulates the information as statistical information. In addition, a resource allocation control device 5 for controlling the configuration of the server group 7 by adding or deleting servers 10 belonging to the server group 7 is connected to the LAN 6 in the center.
なお、 図 1では、 図示しないが負荷分散装置 4とネットワーク 2の間にグー トウエイ、ルータ、ファイアウォール等を備えた構成とすることも可能である。 また、 同じく図示しないが、 サーバの内部に備えられたハードディスクで不足 の場合、 サーバ 1 0の外部にディスクアレイ等の蓄積装置が接続されていても よい。  Although not shown in FIG. 1, a configuration including a gateway, a router, a firewall, and the like between the load distribution device 4 and the network 2 is also possible. Although not shown in the figure, a storage device such as a disk array may be connected to the outside of the server 10 if the hard disk provided inside the server is insufficient.
次に図 1のシステムに含まれる装置の構成例を説明する。  Next, a configuration example of the devices included in the system of FIG. 1 will be described.
図 2は、 負荷分散装置 4の構成例を示すブロック図である。 CPU 2 1は負荷分 散装置 4における制御を実行する。 ROM (Read Only Memory) 2 2には、 負荷分散 装置 4の初期化時に実行されるプログラムや初期化に必要なデータ、 初期化時 に RAM 2 3に転送される制御プログラムが記録される。  FIG. 2 is a block diagram showing a configuration example of the load distribution device 4. The CPU 21 executes the control in the load distribution device 4. A ROM (Read Only Memory) 22 stores a program executed when the load distribution device 4 is initialized, data necessary for the initialization, and a control program transferred to the RAM 23 at the time of initialization.
RAM (Random Access Memory) 2 3には、 制御プログラムや制御プログラム実行 時の作業結果等のデータが格納される。 通信装置 2 4は、 ネットワーク 2ゃセ ンタ内 LAN 6と接続するためのインタフェースを備え、ネットワーク 2やセンタ 内 LAN 6を介して接続された装置とのデータの送受信を可能にする。 これら力 図 2のように接続線 2 5により接続される。  A RAM (Random Access Memory) 23 stores a control program and data such as a work result when the control program is executed. The communication device 24 has an interface for connection to the network 2 and the LAN 6 in the center, and enables transmission and reception of data to and from devices connected through the network 2 and the LAN 6 in the center. These forces are connected by a connection line 25 as shown in Fig.2.
図 3は、利用者端末 1として使用される携帯電話、 PDA等の携帯端末の構成例 を示すブロック図である。 CPU 3 1は携帯端末における制御を実行する。 R0M 3 2には、 携帯端末の初期化時に実行されるプログラムや初期化に必要なデータ、 初期化時に MM 3 4に転送される制御プログラムが記録される。  FIG. 3 is a block diagram showing a configuration example of a mobile terminal such as a mobile phone or a PDA used as the user terminal 1. The CPU 31 executes control in the mobile terminal. In R0M32, a program executed when the mobile terminal is initialized, data necessary for initialization, and a control program transferred to the MM34 at the time of initialization are recorded.
RAM 3 4には、 制御プログラムや制御プログラム実行時の作業結果等のデータ 力 S格納される。通信装置 3 5は、ネットワーク 2やセンタ内 LM 6と接続するた めのインタフェースを備え、ネットワーク 2やセンタ内 LAN 6を介して接続され た装置とのデータの送受信を可能にする。 The RAM 34 stores a control program and data S such as a work result when the control program is executed. The communication device 35 connects to the network 2 and the LM 6 in the center. Interface to enable data transmission and reception with devices connected via the network 2 or the LAN 6 in the center.
入力装置 3 6は、 キーパッドやペン型入力装置等であり、 利用者が各種命令 やデータの入力に使用する。 表示装置 3 3は、液晶画面等であり、利用者に CPU 3 1の制御結果等を表示する。 これら力 図 3のように接続線 3 7により接続 される。  The input device 36 is a keypad, a pen-type input device, or the like, and is used by a user for inputting various commands and data. The display device 33 is a liquid crystal screen or the like, and displays a control result or the like of the CPU 31 to a user. These forces are connected by connecting lines 37 as shown in Fig.3.
図 4は、 資源割当制御装置 5の構成例を示すブロック図である。 CPU 4 1は資 源割当制御装置 5における制御を実行する。 ROM 4 2には、 資源割当制御装置 5 の初期化時に実行されるプログラムや初期化に必要なデータが格納される。 ハ 一ドデイスク 4 6には、 資源割当制御装置 5を制御するための OS (Operating System)ゃデータが格納される。  FIG. 4 is a block diagram showing a configuration example of the resource allocation control device 5. The CPU 41 executes the control in the resource allocation control device 5. The ROM 42 stores a program executed when the resource allocation control device 5 is initialized and data necessary for the initialization. The hard disk 46 stores OS (Operating System) data for controlling the resource allocation control device 5.
RAM 4 5には、 OS実行時の作業結果等のデータが格納される。通信装置 4 8は、 ネットワーク 2やセンタ内 LAN 6と接続するためのィンタフェースを備え、ネッ トワーク 2やセンタ内 LA 6を介して接続された装置とのデータの送受信を可 能にする。  The RAM 45 stores data such as a work result when the OS is executed. The communication device 48 has an interface for connecting to the network 2 and the LAN 6 in the center, and enables data transmission and reception to and from devices connected through the network 2 and the LA 6 in the center.
入力装置 4 7は、 キーボ一ドゃマウス等であり、 利用者が各種命令やデータ の入力に使用する。 表示装置 4 3は、液晶モニタや CRT等であり、利用者に CPU の制御結果等を表示する。 光学ドライブ 4 4は、 CDや DVD、 M0といったメディ ァへのデータ書き込み、 あるいは読み出しに使用される。  The input device 47 is a keyboard mouse or the like, and is used by a user to input various commands and data. The display device 43 is a liquid crystal monitor, a CRT, or the like, and displays a control result of the CPU to a user. The optical drive 44 is used to write or read data to media such as CD, DVD, and M0.
ただし、 管理者がネットワークを介して接続されたサーバ 1 0から資源割当 制御装置 5にログインし遠隔操作ができるので、 入力装置 4 7、 表示装置 4 3 を備えていない構成でも構わない。 なお、 サーバ 1 0や利用者端末 1として使 用される PCも、 その構成は、 図 4と同じである。  However, since the administrator can log in to the resource allocation control device 5 from the server 10 connected via the network and remotely control the resource allocation control device 5, a configuration without the input device 47 and the display device 43 may be used. The configuration of the PC used as the server 10 and the user terminal 1 is the same as that shown in FIG.
次に、 システムに含まれる装置に格納されるデータ構成例を説明する。  Next, an example of a data configuration stored in a device included in the system will be described.
図 5は、負荷分散装置 4の MM 2 3に格納されるサーバ群構成情報のデータ構 成例を示す図である。 サーバ群構成情報として、 サーバ群名 5 1、 代表 IPアド レス 5 2、 応答時間閾値 5 3、 所属サーバ情報であるサーバ名 5 4、 IP ァドレ ス 5 5、 振分率 5 6がサーバ群毎に格納される。  FIG. 5 is a diagram illustrating a data configuration example of the server group configuration information stored in the MM 23 of the load distribution device 4. As server group configuration information, server group name 51, representative IP address 52, response time threshold 53, server name 54 belonging to the server, IP address 55, distribution ratio 56 are assigned to each server group. Is stored in
サーバ群名 5 1は、 サーバ群 7を特定するための管理名である。 代表 IPアド レス 5 2は、 IPv4であれば 3 2ビット、 IPv6であれば 1 2 8ビットからなる数 字で、 そのサーバ群 7が提供するネットワークサービスのために外部に公開さ れる IP アドレスである。 すなわち、 サーバ群 7 が提供するネットワークサー ビスが利用される場合は、 利用者端末 1はサーバ群 7 の代表 IP アドレス 5 2 に対し要求 (httpリクエスト) を送信し、 サーバ群 7 2が提供するネットワーク サービスが利用される場合は、 利用者端末 1はサーバ群 7 2の代表 IPァドレス 5 2に対し要求を送信する。 The server group name 51 is a management name for specifying the server group 7. Representative IP address The address 52 is a number consisting of 32 bits for IPv4 and 128 bits for IPv6, and is an IP address that is disclosed to the outside for network services provided by the server group 7. That is, when the network service provided by the server group 7 is used, the user terminal 1 sends a request (http request) to the representative IP address 52 of the server group 7 and the server group 7 2 provides the request. If the network service is available, the user terminal 1 transmits a request to the representative IP Adoresu 5 second server group 7 2.
代表 IPアドレス 5 2は、 グ口一バル IP了ドレスが使用されるが、 ネッ トヮ 一クサ一ビスが限られた組織内に対するものであればプライべ一ト IPアドレス が使用されることもできる。応答時間閾値 5 3は、 xSPがデータセンタとの契約 にあたり要求するサービスレベルの 1つで、 利用者端末 1への応答時間が応答 時間閾値' 5 3を下回らないようデータセンタ事業者はそのネットワークサービ スを提供するサーバ群 7にサーバ 1 0を割り当て、 データセンタ 3を管理する。 所属サーバ情報のサーバ名 5 4は、 各サーバ群 7に所属するサーバ 1 0を特 定するための管理名である。 IPァドレス 5 5は、 サーバ名 5 4に対応するサー バの IP了ドレスである。 IPァドレス 5 5は、 プライべ一ト IPァドレスが使用 されるが、 保有するグローバル IPァドレスに余りがあるのであればグローバル IPアドレスが使用されることもできる。  As the representative IP address 52, a global IP address is used, but a private IP address may be used if the network service is for a limited organization. it can. The response time threshold 53 is one of the service levels required by xSP when contracting with the data center, and the data center operator operates the network so that the response time to user terminal 1 does not fall below the response time threshold '53. Server 10 is assigned to server group 7 that provides services, and data center 3 is managed. The server name 54 of the belonging server information is a management name for specifying the server 10 belonging to each server group 7. The IP address 55 is the IP address of the server corresponding to the server name 54. As the IP address 55, a private IP address is used, but a global IP address can also be used if there is a surplus of global IP addresses.
振分率 5 6は、 サーバ群 7の代表 IPアドレス 5 2に対する利用者端末 1から の要求を、 所属するサーバ 1 0が処理する割合である。 負荷分散装置 4は、 こ のサーバ群構成情報を利用して、 利用者端末 1から送信される要求 (http リク エスト) のあて先 IPァドレスに一致する代表 IP了ドレスを検索してサーバ群 7を特定し、 そのサーバ群 7の所属サーバ情報の振分率 5 6を基にその要求を 処理するサーバを選択し、 その要求のあて先 IPァドレスを選択されたサーバの IP アドレス 5 5に変換することにより、 その要求を振分率を基に選択されたサ —パに転送する。  The distribution ratio 56 is a ratio at which the server 10 to which the user terminal 1 belongs processes the request from the user terminal 1 to the representative IP address 52 of the server group 7. Using this server group configuration information, the load balancer 4 searches for a representative IP address that matches the destination IP address of the request (http request) transmitted from the user terminal 1 and configures the server group 7. Identify and select the server that will process the request based on the distribution ratio 56 of the server information to which the server group 7 belongs, and translate the destination IP address of the request into the IP address 55 of the selected server. Transfers the request to the server selected based on the distribution rate.
例えば、 図 5 は、 2つのサーバ群に関する情報が格納されている。 サーバ 群 Aは代表 IPアドレス 5 2が GIP1で、応答時間閾値 5 3力 S T 1、サーバ名 5 4 が WEB- A、 WEB- B、 WEB- C、 WEB- Dなる 4台のサーバが所属し、 IPアドレス 5 5は それぞれ PIP1、 PIP2、 PIP3、 PIP4、 振分率 5 6はそれぞれ 0. 5、 0. 3、 0. 1、 0. 1 である。 すなわち、 1 0回の要求の内、 5回は WEB - A力 3回は WEB-B力 1 回は WEB-Cが 1回は WEB Dが処理することになる。 図 5には、 同様にサーバ群 Bの代表 IPアドレス 5 2や、 所属する 3台のサーバについての情報が格納され ている。 For example, Figure 5 stores information about two server groups. In server group A, the representative IP address 52 is GIP1, the response time threshold 53 is ST1, and the server name 54 is WEB-A, WEB-B, WEB-C, and WEB-D. The IP address 5 5 PIP1, PIP2, PIP3, PIP4, and distribution ratio 56 are 0.5, 0.3, 0.1, and 0.1, respectively. In other words, of the 10 requests, 5 times WEB-A, 3 times WEB-B, 1 time WEB-C, and 1 time WEB D. FIG. 5 also stores the representative IP address 52 of the server group B and information about three servers to which the server group B belongs.
図 6は、負荷分散装置 4の RAM 2 3に格納される統計情報のデータ構成例を示 す図である。 統計情報として、 到着した要求数を一定時間間隔で集計した値が サーバ群毎に格納される。 例えば、 図 6では、 毎秒の到着要求数が格納され、 時間 6 1 Ί〜Τ2の間にサーバ群 Aに Ru個の要求力 サーバ群 Bに R21個の要求が 到着したことが格納される。 最新データは図 6の下方に追加される。 こうして 現在時刻から見て直前 n秒分 ( nは自然数) の到着要求数 6 2の情報が格納さ れる。 FIG. 6 is a diagram illustrating an example of a data configuration of statistical information stored in the RAM 23 of the load distribution device 4. As statistical information, a value obtained by totaling the number of arriving requests at fixed time intervals is stored for each server group. For example, in FIG. 6, contains the number of arriving requests per second, store that R 21 amino request arrives in R u number of requests force server group B in server group A during time 6 1 Ί~Τ 2 Is done. The latest data is added below Figure 6. In this way, information on the number of arrival requests 62 for the last n seconds (n is a natural number) from the current time is stored.
図 7は、資源割当制御装置 5の RAM 4 5に格納されるデータセンタ構成情報の データ構成例を示す図である。 データセンタ構成情報には、 ネットワークサー ビスに割り当てられていない未使用サーバを含めた各サーバ 1 0のサーバ名 7 1、 IP アドレス 7 2、 CPU クロック速度 7 3、 所属サーバ群名 7 4が格納され る。 サーバ名 7 1、 IPアドレス 7 2については、 図 5のサーバ名 5 4、 IPアド レス 5 5と同じである。  FIG. 7 is a diagram showing a data configuration example of the data center configuration information stored in the RAM 45 of the resource allocation control device 5. The data center configuration information stores the server name 71, IP address 72, CPU clock speed 73, and assigned server group name 74 of each server 10, including unused servers not assigned to network services. Is performed. The server name 71 and the IP address 72 are the same as the server name 54 and the IP address 55 in FIG.
CPUクロック速度 7 3は、 サーバ 1 0に搭載された CPU 4 1のクロック周波数 を基準ク口ック周波数で割った値が格納される。 本発明の実施形態においては、 基準ク口ック周波数を 1 GHzとする。サーバ 1 0に搭載されたク口ック周波数が 基準クロック周波数の何倍かが CPU クロック速度 7 3からわかる。 複数の CPU 4 1を搭載しているサーバ 1 0については、 クロック周波数の合計値を基準ク ロック周波数で割つた値が格納される。  The CPU clock speed 73 stores a value obtained by dividing the clock frequency of the CPU 41 mounted on the server 10 by the reference clock frequency. In the embodiment of the present invention, the reference cook frequency is 1 GHz. From the CPU clock speed 73, it can be seen that the clock frequency mounted on the server 10 is several times the reference clock frequency. For the server 10 having a plurality of CPUs 41, a value obtained by dividing the total value of the clock frequencies by the reference clock frequency is stored.
基準ク口ック周波数 ( 1 GHz) の CPUを搭載したサーバにおける平均要求処理 数を とすれば、 CPUクロック速度 7 3の値に //を掛けた値が、そのサーバにお ける平均要求処理数として算出される。 所属サーバ群名 7 4は、 各サーバ名 7 1のサーバ 1 0が所属するサーバ群 7を特定する。  If the average request processing count in a server equipped with a CPU of the reference clock frequency (1 GHz) is taken, the value obtained by multiplying the value of the CPU clock speed 73 by // is the average request processing in the server. Calculated as a number. The belonging server group name 74 specifies the server group 7 to which the server 10 of each server name 71 belongs.
図 5のサーバ群構成情報と異なりデータセンタ構成情報には未使用サーバの 情報も格納される。 例えば、 図 7では、 サーバ名 7 1が WEB- H、 WEB- 1、 WEB- J、 WEB- Kの 4台のサーバが未使用サーバであることがわかる。 Unlike the server group configuration information in Fig. 5, the data center configuration information Information is also stored. For example, in FIG. 7, it can be seen that four servers whose server names 71 are WEB-H, WEB-1, WEB-J, and WEB-K are unused servers.
図 8は、資源割当制御装置 5の RAM 4 5に格納される、基準クロック周波数( 1 GHz) の CPU 4 1を搭載したサーバが毎秒処理する要求数を Webサーバソフト 8 1毎に格納した表のデータ構成例を示す図である。 例えば、 図 8では、 ウェブ サーバソフトとしてアプリケーション を使用した場合、 基準ク口ック周波数 ( 1 GHz)の CPU 4 1を搭載したサーバに複数の httpリクエストを送信した結果、 毎秒 個の要求が処理され、 アプリケーション Anを使用した場合、 基準クロッ ク周波数の CPU 4 1を搭載したサーバに複数の httpリクエストを送信した結果、 毎秒 cn個の要求が処理されることがわかる。 このデータは事前に収集され、 予 め資源割当制御装置に入力される。 FIG. 8 is a table in which the number of requests processed per second by the server equipped with the CPU 41 of the reference clock frequency (1 GHz) stored in the RAM 45 of the resource allocation control device 5 is stored for each Web server software 81. FIG. 4 is a diagram showing an example of the data configuration of FIG. For example, in Fig. 8, when an application is used as web server software, multiple http requests are sent to a server equipped with a CPU 41 with a reference clock frequency (1 GHz), and as a result, requests per second are processed. When application An is used, it is understood that c n requests are processed per second as a result of sending a plurality of http requests to a server equipped with CPU 41 of the reference clock frequency. This data is collected in advance and input to the resource allocation controller in advance.
次に、 本発明の方法を説明する動作フローについて説明する。  Next, an operation flow for explaining the method of the present invention will be described.
図 9は、 サーバ群新規作成処理を説明するフローチャートである。 新たなネ ットワークサービスを提供する場合、 まずそのネットワークサービスを提供す るサーバ群が定義されないと運用が開始されない。 そこで本処理が実行される。 まず資源割当制御装置 5は、 サーバ群新規作成要求を受信する (S 9 1 )。 通 常サーバ群 7の新規作成は、 運用管理者の発意によるものであり、 ここでは、 運用管理者が資源割当制御装置 5に備えられた入力装置 4 7にて入力したコマ ンドが受信される。 コマンドの引数として、 新規作成するサーバ群の名前、 割 り当てるサーバの初期台数、 応答時間閾値も合わせて受信する。  FIG. 9 is a flowchart illustrating the server group new creation processing. When providing a new network service, the operation will not start unless the server group that provides the network service is defined first. Then, this processing is executed. First, the resource allocation control device 5 receives a server group new creation request (S91). Normally, the new creation of the server group 7 is based on the initiative of the operation manager, and here, the command input by the operation manager through the input device 47 provided in the resource allocation control device 5 is received. . It also receives the name of the newly created server group, the initial number of servers to be assigned, and the response time threshold as command arguments.
次に、 新規作成するサーバ群名、 割り当てるサーバの初期台数、 応答時間閾 値を記憶する (S 9 2 )。 ステップ S 9 2は、 コマンドの引数として受信したこ れらの情報を資源割当制御装置 5に備えられた RAM 4 5に一時的に格納する。 次に、 新規作成されたサーバ群にステップ S 9 1で受信した初期台数分のサ —バを追加するようデータセンタ構成情報を更新する (S 9 3 )。 ステップ S 9 3は、 図 7のデータセンタ構成情報において、 所属サーバ群名 7 4が 「未使用」 となっているサーバのエントリからステップ S 9 1で受信した初期台数分のサ ーバを選択し、 選択されたサーバの所属サーバ群名 7 4の欄をステップ S 9 1 で受信した新規作成するサーバ群の名前に変更すればよい。 そして、 新規作成したサーバ群に割り当てるべき代表 IPアドレスと、 サーバ 群に属する各サーバの振分率を決定する (S 9 4 )。 代表 IPァドレスと振分率 は負荷分散装置 4に設定されるが、 資源割当制御装置 5にて決定する。 Next, the name of the newly created server group, the initial number of servers to be allocated, and the response time threshold are stored (S92). In step S92, the information received as the command argument is temporarily stored in the RAM 45 provided in the resource allocation control device 5. Next, the data center configuration information is updated so that the servers for the initial number received in step S91 are added to the newly created server group (S93). In step S93, the servers corresponding to the initial number received in step S91 are selected from the entry of the server in which the server group name 74 is "unused" in the data center configuration information in FIG. Then, the field of the server group name 74 of the selected server may be changed to the name of the newly created server group received in step S91. Then, the representative IP address to be assigned to the newly created server group and the distribution rate of each server belonging to the server group are determined (S94). The representative IP address and the distribution ratio are set in the load distribution device 4, but are determined by the resource allocation control device 5.
代表 IPアドレスの決定は、 資源割当制御装置 5のハードディスク内に (専ら 代表 IPァドレスとして使用されるために) 記憶されている未使用 IPァドレス の集合の中から任意の一つを選び出すことによって行う。 振分率の初期値の決 定法は、 振分率の和が 1であれば、 特に制限がないため、 例えば、 1をステツ プ S 9 1で受信した初期台数で割った をそれぞれのサーバの振分率として決 定すればよい。  The representative IP address is determined by selecting an arbitrary one from a set of unused IP addresses stored in the hard disk of the resource allocation control device 5 (because it is exclusively used as the representative IP address). . The method of determining the initial value of the distribution rate is not particularly limited as long as the sum of the distribution rates is 1, so for example, 1 is divided by the initial number received in step S91, and the value of What is necessary is just to determine it as a distribution rate.
ステップ S 9 4が済むと、負荷分散装置に新たな構成情報を送信し(S 9 5 )、 サーバ群新規作成処理を終了する。 ステップ S 9 5では、 ステップ S 9 2で記 憶された新規作成するサーバ群名、 代表 IPアドレス、 応答時間閾値、 ステップ S 9 3で選択された初期台数分のサーバ名、 そしてステップ S 9 4で決定され た振分率が資源割当制御装置により負荷分散装置に送信される。  After step S94, new configuration information is transmitted to the load balancer (S95), and the server group new creation process ends. In step S95, the name of the newly created server group, the representative IP address, the response time threshold stored in step S92, the server name for the initial number selected in step S93, and the step S94 Is transmitted to the load balancer by the resource allocation controller.
サーバ群を新規作成する場合は図 9の処理が実行されるが、 既存のサーバ群 に所属するサーバがネットワークサービスを提供するために最適かを判定する ために、 資源割当制御装置 5は次のサーバ割当調整処理を行う。 ここでは、 サ ーバ群の処理能力を測る数値として CPU クロック周波数を使用し、 サーバ群の 処理能力を向上させるために単純にサーバの台数を増加させるものとする。 図 1 0、 図 1 1は、 サーバ割当調整処理を説明するフローチャートである。 資源割当制御装置 5は定期的にサーバ割当調整処理を実行し、 各ネットワーク サービスを提供するサーバ群に割り当てられたサーバが最適かを判定する。 本 処理の前に予め図 8の表データが入力されているものとする。  When a new server group is created, the processing in FIG. 9 is executed.To determine whether a server belonging to an existing server group is optimal for providing network services, the resource allocation control device 5 Perform server allocation adjustment processing. Here, the CPU clock frequency is used as a numerical value for measuring the processing capacity of the server group, and the number of servers is simply increased to improve the processing capacity of the server group. FIGS. 10 and 11 are flowcharts illustrating the server allocation adjustment processing. The resource allocation control device 5 periodically executes a server allocation adjustment process to determine whether a server allocated to a group of servers providing each network service is optimal. It is assumed that the table data in FIG. 8 has been input before this processing.
まず、ネットワークサービスを提供するサーバ群を 1つ選択する(S 1 0 1 )。 資源割当制御装置 5は、 図 7のデータセンタ構成情報の所属サーバ群名 7 4を 参照し、 「未使用」 以外のサーバ群名を 1つ選択する。  First, one server group that provides a network service is selected (S101). The resource allocation control device 5 refers to the belonging server group name 74 of the data center configuration information in FIG. 7 and selects one server group name other than “unused”.
そしてステップ S 1 0 1で選択されたサーバ群の 6 0秒後の到着要求数を予 測する (S 1 0 2 )。 ステップ S 1 0 2では、 まず、 資源割当制御装置 5力 負 荷分散装置 4に対し、 ステップ S 1 0 1で選択されたサーバ群の最新 3 0 0秒 3 004679 Then, the number of arrival requests of the server group selected in step S101 after 60 seconds is predicted (S102). In step S 102, first, the latest 300 seconds of the server group selected in step S 101 are sent to the resource allocation control device 5 and the load distribution device 4. 3 004679
分の到着要求数を要求し、 負荷分散装置 4は、 図 6の統計情報を参照し、 対応 するサーバ群の最新 3 0 0秒分の到着要求数 6 2を資源割当制御装置 5に送信 する。 そして、 現在から 6 0秒後の到着要求数を、 取得した 3 0 0秒分の到着 要求数を基に最小二乗法を利用し予測する。 , The load balancer 4 refers to the statistical information in FIG. 6 and sends the latest number of arrival requests 62 for the latest 300 seconds of the corresponding server group to the resource allocation controller 5. . Then, the number of arrival requests 60 seconds from now is predicted using the least squares method based on the number of arrival requests for 300 seconds obtained.
図 1 2は、最小二乗法を利用した予測の方法を説明する図である。図 1 2は、 横軸に時間 (秒)、 縦軸に到着要求数 (個) を取り、 3 0 0秒分のデータを, 1秒 間隔で座標平面にプロットする。 その座標平面上で、 プロットした各点から縦 軸方向の距離が最小となる直線を最小二乗法により求める。  FIG. 12 is a diagram for explaining a prediction method using the least squares method. Figure 12 shows the time (seconds) on the horizontal axis and the number of arrival requests (number) on the vertical axis, and plots data for 300 seconds on the coordinate plane at 1-second intervals. On the coordinate plane, a straight line that minimizes the distance in the vertical axis direction from each plotted point is obtained by the least squares method.
即ち、 その直線を Y= c¾ *X+ i3と表した時の α、 ]3をそれぞれ求める。 そして求 められた直線の式に X= 6 0を代入したものが 6 0秒後の到着要求数の予測値で ある。 計算された予測値が 0より小さくなる場合は、 6 0秒後の予測値は 0で あるとする。 なお図 1 2では、 各時間間隔の到着数を、 その時間間隔の中点に おける到着数としてプロットしてある。  That is, α and] 3 are obtained when the straight line is expressed as Y = c¾ * X + i3. The value obtained by substituting X = 60 into the obtained straight-line equation is the predicted value of the number of arrival requests after 60 seconds. If the calculated predicted value is smaller than 0, the predicted value after 60 seconds is assumed to be 0. In Fig. 12, the number of arrivals at each time interval is plotted as the number of arrivals at the midpoint of the time interval.
なお、 ステップ S 1 0 2においては 6 0秒後の到着要求数を予測したが、 こ れに限定されるものではなく、 運用管理者の方針により決定することができる。 また、 6 0秒後の到着要求数を予測するのに最新 3 0 0秒分のデータを使用し たが、 これに限定されるものではない。 本実施形態では、 予測する将来時刻と 現在時刻との差の 5倍分のデータを目安として用いている。  In step S102, the number of arrival requests after 60 seconds is predicted. However, the present invention is not limited to this and can be determined according to the policy of the operation manager. In addition, although the latest 300 seconds of data was used to estimate the number of arrival requests after 60 seconds, the present invention is not limited to this. In the present embodiment, data of five times the difference between the predicted future time and the current time is used as a guide.
図 1 0に戻り説明を続ける。 次に、,ステップ S 1 0 2で予測された到着要求 数に基づき、 ステップ S 1 0 1で選択されたサーバ群に所属するサーバ 1 台あ たりの 6 0秒後の平均応答時間 Tを算出する ( S 1 0 3 )。  Returning to FIG. 10, the description will be continued. Next, based on the number of arrival requests predicted in step S102, the average response time T after 60 seconds per server belonging to the server group selected in step S101 is calculated. Yes (S103).
応答時間 Tは次式 (A) により算出される。
Figure imgf000016_0001
The response time T is calculated by the following equation (A).
Figure imgf000016_0001
ただし、 μはステップ S 1 0 1で選択されたサーバ群に所属するサーバで使用さ れる Webサーバソフトの基準ク口ック周波数における毎秒の平均要求処理数で あり、 図 8を参照すれば求まる値である。 Rは、 ステップ S 1 0 1で選択された サーバ群に対する 6 0秒後の到着要求数であり、 ステップ S 1 0 2で予測された 値である。 f iは、 ステップ S 1 0 1で選択されたサーバ群に所属する n台のサ ーバにおける i番目のサーバの相対クロック倍率であり、 図 7のデータセンタ構 成情報の CPUクロック速度 7 3から求まる値である。 Here, μ is the average number of requests processed per second at the reference click frequency of the Web server software used by the servers belonging to the server group selected in step S101, and can be obtained by referring to Fig. 8. Value. R is the number of arrival requests for the server group selected in step S101 after 60 seconds, and is predicted in step S102. Value. fi is the relative clock magnification of the i-th server among the n servers belonging to the server group selected in step S101, and is calculated from the CPU clock speed 73 of the data center configuration information in FIG. This is the value to be obtained.
式 (A) の導出法は以下の通りである。 ステップ S 1 0 1で選択されたサーバ 群全体を待ち行列理論における単一の窓口とすると、 その窓口における毎秒あた りの要求処理数は ∑Λ、 窓口への要求到着頻度は、 サーバ群全体に対する到着 要求数 Rとなる。  The derivation method of equation (A) is as follows. Assuming that the entire server group selected in step S101 is a single window in queuing theory, the number of requests processed per second at that window is ∑Λ, and the frequency of request arrival at the window is the entire server group. The number of arrival requests R for
待ち行列への要求到着がポアソンモデルに従うとすると、 到着した要求が待ち 行列の中で待たされる時間は、  Assuming that the arrival of requests in the queue follows the Poisson model, the time that an incoming request waits in the queue is
P
Figure imgf000017_0001
P
Figure imgf000017_0001
となる。 ここで、 pは、 待ち行列理論における窓口稼働率であり、 任意の時点 において窓口がビジーである確率である。 It becomes. Here, p is the window utilization rate in queuing theory, and is the probability that the window is busy at any time.
ポアソンモデルにおいては、 pく 1の時に待ち行列が溢れない、 つまりどんな に時間が経過しても待ち行列の長さはある一定の長さ以下に保たれることが保証 されている。 また、 この待ち日き間は、 ステップ S 1 0 1で選択されたサーバ群に 属するサーバの平均応答時間 τを意味する。 そこで、 前記サーバの平均応答時間 として最悪値をとると仮定すると、 pく 1であることから、
Figure imgf000017_0002
The Poisson model guarantees that the queue will not overflow at p <1, which means that no matter how much time passes, the queue length will remain below a certain length. The waiting time means the average response time τ of the servers belonging to the server group selected in step S101. Then, assuming that the average response time of the server takes the worst value, since p is 1,
Figure imgf000017_0002
とおくことができる。 これが式 (A) である。 I can put it. This is equation (A).
なお、 ステップ S 1 0 1で選択されたサーバ群に属する i番目のサーバの応答 時間は以下のようにして導出できる。 前記サーバ群の i番目のサーバを待ち行列 理論における窓口とすると、 その窓口における毎秒あたりの要求処理数は、 f ; X μ、 窓口への要求数到着頻度は、 サーバ群全体に対する到着要求数 に、 i番 目のサーバの振分率 r;を掛けた r X Rとなる。 従って、 前述した式 (A) の導出手順と同様の導出法により、 前記サーバ群に 属する i番目のサーバの応答時間 1 は、 The response time of the i-th server belonging to the server group selected in step S101 can be derived as follows. Assuming that the i-th server in the server group is a window in queuing theory, the number of requests processed per second at the window is f ; X μ, the number of requests to the window arrives at the number of arrival requests for the entire server group. , X multiplied by the distribution ratio r of the i-th server. Therefore, the response time 1 of the i-th server belonging to the server group becomes
^ ^ ~~ (Β) と求まる。 ^ ^ ~~ (Β)
そして、 ステップ S 103で算出された応答時間 Tが予め設定された応答時間 閾値 Tpに対し、 0≤T≤Tpを満たすか判定する (S 104) 。 ステップ S 1 04で応答時間 Τがその範囲 (0≤T≤Tp) に入れば、 xSPとの契約において 保証したサービスレベルを満たしてはいるが、 もしかすると割り当てられたサー バが過剰であり、 サーバ削減の余地があるかもしれないことを意味する。  Then, it is determined whether or not the response time T calculated in step S103 satisfies 0 ≦ T ≦ Tp with respect to a preset response time threshold Tp (S104). If the response time に falls within the range (0≤T≤Tp) in step S104, the service level satisfies the service level guaranteed in the contract with xSP, but the allocated server is probably excessive, This means that there may be room for server reduction.
そこで、 ステップ S 104で応答時間 Tが所定の範囲内に入る場合、 そのサー バ群に所属する任意のサーバを 1台選択する (S 105) 。 そして、 ステップ S 105で選択されたサーバをステップ S 101で選択されたサーバ群から外した 構成を仮定し、 仮定した新たな構成において、 再度将来の応答時間 τを計算する Therefore, if the response time T falls within the predetermined range in step S104, one arbitrary server belonging to the server group is selected (S105). Then, assuming a configuration in which the server selected in step S105 is excluded from the server group selected in step S101, the future response time τ is calculated again in the assumed new configuration.
(S 106) 。 ステップ S 106は、 ステップ S 103と同じく式 (A) を用い て算出できる。 (S106). Step S106 can be calculated using equation (A) as in step S103.
そして、 ステップ S 106で算出された応答時間が応答時間閾値 T に対し、 0≤T≤T を満たすか判定する(S 107)。仮定した新たな構成においては、 サーバが 1台減っているため、 分母の値が小さくなり、 応答時間 τは前回の計算 Then, it is determined whether the response time calculated in step S106 satisfies 0≤T≤T with respect to the response time threshold T (S107). In the assumed new configuration, the number of servers is reduced by one, so the value of the denominator becomes smaller, and the response time τ is calculated in the previous calculation.
, (ステップ S 103) より大きくなる。 従って、 その大きくなつた値がまた 0≤ Τ≤Τρを満たせば、 サーバを 1台削除しても問題ないことになる。 , (Step S103). Therefore, if the increased value satisfies 0≤ Τ≤Τρ, it is safe to delete one server.
そこで、 ステップ S 107で、 0 T≤Tpを満たす場合、 実際にステップ S 105で選択されたサーバを未使用サーバに追加し (S 108) 、 サーバの削減 を実行する。 ステップ S 108は、 図 7のデータセンタ構成情報において、 ステ ップ S 105で選択されたサーバに対応する所属サーバ群名 74を未使用に更新 することで、 ステップ S 101で選択されたサーバ群の構成からそのサーバを外 すことを意味する。  Therefore, if 0 T≤Tp is satisfied in step S107, the server actually selected in step S105 is added to the unused server (S108), and the number of servers is reduced. In step S108, the server group name selected in step S101 is updated by updating the affiliated server group name 74 corresponding to the server selected in step S105 in the data center configuration information in FIG. Means that the server is removed from the configuration.
ステップ S 108が済むと、 さらなるサーバ削減の余地がないかを判定するた めステップ S 105に戻り処理を行う。 ステップ S 107で、 応答時間 Tが 0≤ T≤Tpを満たさない場合、 現在の構成が必要最小限であることがわかるため構 成変更を行わず、 次の処理に進み (図 11に移る) 、 振分率を算出する (S 10 9) 。 After step S108, the process returns to step S105 to determine whether there is room for further server reduction. In step S107, the response time T is 0≤ If T≤Tp is not satisfied, it is known that the current configuration is the minimum necessary, and the configuration is not changed, and the process proceeds to the next process (moving to FIG. 11), and the distribution ratio is calculated (S109) ).
図 11のステップ S 109では、 サーバ群に属する各サーバの振分率を後述す る方法で計算することにより、 同一サーバ群に属する各サーバの応答時間が互い に等しくなるようにする。 同一サーバ群に属する各サーバの応答時間がそろって いない場合、 サーバ群全体を平均して求めたサーバの平均応答時間は応答時間闘 値以下であっても、 一部のサーバの応答時間が応答時間閾値を越えてしまうこと がある。 従って、 同一サーバ群に属する各サーバの応答時間が互いに等しくなる ように、 各サーバの振分率を制御する必要がある。  In step S109 in FIG. 11, the distribution rates of the servers belonging to the server group are calculated by a method described later, so that the response times of the servers belonging to the same server group become equal to each other. If the response time of each server belonging to the same server group is not uniform, even if the average response time of the server obtained by averaging the entire server group is less than the response time threshold, the response time of some servers The time threshold may be exceeded. Therefore, it is necessary to control the distribution ratio of each server so that the response times of the servers belonging to the same server group are equal to each other.
図 1 1のステップ S 109の振分率は、 式 (C) により算出される。  The distribution rate in step S109 in FIG. 11 is calculated by equation (C).
^=-(1-^∑/,)+^ (c) ただし、 は i番目のサーバの振分率、 nはサーバ群に所属するサーバの台数、 μはステップ S 1 0 1で選択されたサーバ群に所属するサーバで使用される Webサーバソフトの基準ク口ック周波数における毎秒の平均要求処理数、 Rはス テツプ S 101で選択されたサーバ群全体に対する 60秒後の到着要求数であ り、 ステップ S 102で予測された値である。 f iはステップ S 101で選択さ れたサーバ群に所属する n台のサーバにおける i番目のサーバの相対クロック 倍率であり、 図 7のデータセンタ構成情報の CPUクロック速度 73を参照すれ は まる。 ^ =-(1- ^ ∑ /,) + ^ (c) where is the distribution ratio of the i-th server, n is the number of servers belonging to the server group, and μ is selected in step S101. The average number of requests processed per second at the reference frequency of the Web server software used by the servers belonging to the server group.R is the number of arrival requests after 60 seconds for the entire server group selected in step S101. Yes, it is the value predicted in step S102. f i is the relative clock magnification of the i-th server among the n servers belonging to the server group selected in step S101, and it is appropriate to refer to the CPU clock speed 73 in the data center configuration information in FIG.
式 (C) の導出法は以下の通りである。 式 (B) より、 i番目のサーバの応答 時間 は、  The derivation method of equation (C) is as follows. From equation (B), the response time of the i-th server is
である。 ここで、 n台のサーバの応答時間がすべて等しいと仮定すると、 Τλ2 = ... =7 が成り立つから、 It is. Here, assuming that the response times of the n servers are all equal, Τ λ = Τ 2 = ... = 7 holds.
f^-rxR = f^-r2R= ... =/"〃一,'" R すなわち f ^ -r x R = f ^ -r 2 R = ... = / "〃 一, '" R Ie
¾二 + (/;.+ /;) (D) が成り立つ。 ¾ 二 + (/ ;. + /;) (D) holds.
式 (D) を変形し、 を で書き表すと、  By transforming equation (D) and expressing by,
rx = J
Figure imgf000020_0001
r x = J
Figure imgf000020_0001
Ή +|(/Β -Λ) = ^ +|(Λ Λ _ )= 'Ί + Λ - :) であるから、 結局 rt 二 r fi一 f (E) が成り立つ。 式 (E) の両辺を添え字について 1から nまでについて和を取る と、 Since Ή + | (/ Β -Λ) = ^ + | (Λ _ _) = 'Ί + Λ-:), r t2 r fi-1 f (E) holds. Subtracting both sides of equation (E) for subscripts 1 to n gives
であり であるから、 が以下のように求まる。Since and, is obtained as follows.
Figure imgf000020_0002
Figure imgf000020_0002
^ =λ(ΐ-^∑( -Λ)) (F) そして、 式 (F) を式 (E) に代入すれば、 ひ一 έΛ) となり、 式 (C) が導出される。 ^ = λ (ΐ- ^ ∑ (-Λ)) (F) Then, substituting equation (F) into equation (E) gives (1), and equation (C) is derived.
ステップ S 10 9が済むと、 資源割当制御装置 5は新たな構成情報を負荷分散 装置 4に送信し、 負荷分散装置 4は受信した構成情報でサーバ群構成情報を更新 する (S 1 10) 。 ステップ S 1 10は、 まず資源割当制御装置 5が、 ステップ S 1 0 1で選択されたサーバ群名、 図 7のデータセンタ構成情報を参照して得ら れるそのサーバ群に所属するサーバ名 7 1、 I Pアドレス 7 2、 ステップ S 1 0 9で計算された振分率を負荷分散装置 4に送信する。 After step S109, the resource allocation control device 5 transmits new configuration information to the load distribution device 4, and the load distribution device 4 updates the server group configuration information with the received configuration information (S110). In step S110, first, the resource allocation control device 5 obtains the server group name selected in step S101 by referring to the data center configuration information in FIG. The server name 71, the IP address 72, and the distribution rate calculated in step S109, which belong to the server group, are transmitted to the load balancer 4.
そして、 負荷分散装置 4が、 受信したサーバ群名に対応するサーバ所属情報を それぞれ受信した情報に対応する箇所を更新すればよい。 そして、 すべてのサー バ群について、 そのサーバ群に所属するサーバの割当が妥当かを判定するステツ プ S 1 0 2以降の処理を完了した力判定し (S 1 1 1 ) 、 まだ未判定のサーバ群 が存在する場合、 ステップ S 1 0 1に戻り処理を続ける。 ステップ S 1 1 1です ベてのサーバ群について判定が完了していれば処理を終了する。  Then, the load distribution device 4 only needs to update the server affiliation information corresponding to the received server group name and the portion corresponding to the received information. Then, for all the server groups, a force determination is made (S111) to complete the processing after step S102 to determine whether the assignment of the server belonging to the server group is appropriate (S111). If a server group exists, the process returns to step S101 to continue. In step S111, if the judgment has been completed for all the server groups, the processing ends.
' 図 1 0のステップ S 1 0 4で、 応答時間 Tが 0≤T≤T pの範囲に入らない場 合、未使用サーバに所属する任意のサーバを 1台選択する(S 1 1 2 )。そして、 ステップ S 1 1 2で選択されたサーバをそのサーバ群に追加する (S 1 1 3 ) 。 ステップ S 1 0 4で所定の範囲に入らないのは、 到着要求数がサーバ群の処理 能力を超える場合、 つまり式 (Α) の分母が負になる場合か、 あるいは到着要求 数はサーバ群の処理能力の範囲內だが要求される応答時間を下回るほど負荷が高 い場合であり、いずれにせよサーバの台数を増やし処理能力を上げる必要がある。 そこで、 ステップ S 1 1 2で任意の未使用サーバが選択され、 ステップ S 1 1 3 でその選択されたサーバがステップ S 1 0 1で選択されたサーバ群に追加される。 ステップ S 1 1 3の処理は、 図 7のデータセンタ構成情報において、 ステップ S 1 1 2で選択されたサーバに対応する所属サーバ群名 7 4を 「未使用」 力 らス テツプ S 1 0 1で選択されたサーバ群名に資源割当制御装置 5が更新すればよレ、。 そして、新たな構成における将来の応答時間 Τを式(Α)により再度計算する (S 1 1 4 ) 。  '' If the response time T does not fall within the range of 0≤T≤Tp in step S104 of Fig. 10, select one server belonging to an unused server (S112) . Then, the server selected in step S112 is added to the server group (S113). The reason why the number of arrival requests does not fall within the predetermined range in step S104 is that the number of arrival requests exceeds the processing capacity of the server group, that is, the denominator of equation (Α) is negative, or the number of arrival requests is The range of processing capacity is 內, but the load is higher as the response time is shorter than the required response time. In any case, it is necessary to increase the number of servers and increase the processing capacity. Therefore, an arbitrary unused server is selected in step S112, and the selected server is added to the server group selected in step S101 in step S113. In the processing of step S113, the server group name 74 corresponding to the server selected in step S112 in the data center configuration information of FIG. If the resource allocation control device 5 updates the server group name selected in the above, Then, the future response time に お け る in the new configuration is calculated again by the equation (Α) (S114).
ステップ S 1 1 4で算出された応答時間 Τ力 所定の範囲 (0 T≤T p ) に 入るかを再度判定する (S 1 1 5 ) 。 ステップ S 1 1 5において、 1台追加して もまだ所定の範囲に入らなければ未だ xSP との契約において保証したサービス レベルを満たしておらず、 更なるサーバ追加を行うためにステップ S 1 1 2に戻 り処理を続ける。 ステップ S 1 1 5で所定の範囲に入れば、 ステップ S 1 0 9に 進み振分率の計算を行う。  It is determined again whether the response time calculated in step S114 falls within a predetermined range (0T≤Tp) (S115). In step S115, even if one is added, if it does not yet fall within the prescribed range, the service level guaranteed in the contract with xSP has not yet been satisfied, and in order to further add servers, steps S112 Return to and continue the process. If the value falls within the predetermined range in step S115, the flow advances to step S109 to calculate the distribution rate.
なお、 本処理を実行中にサーバ群新規作成要求があれば、 資源割当制御装置 5 1 図 9のサーバ群新規作成処理を割り込み処理として実行するよう設定するこ ともできる。 If there is a request to create a new server group during the execution of this process, the resource allocation control device 5 1 It is also possible to set to execute the new server group creation processing in Fig. 9 as interrupt processing.
以上説明した本発明の実施形態によれば、 本発明ではデータセンタ内のサーバ の各ネットワークサービスへの配分を負荷分散装置に対して人手によらずリアル タイムに自動的に行う方法を提供することができる。 また、 各ネットワークサー ビスに到着する要求量の変動の様子を監視し、 要求量の一定時間経過後の値を予 測し、 その要求量予測値の大きさに応じて当該ネットワークサービスに対するサ ーバの割当量を制御することができる。  According to the embodiment of the present invention described above, the present invention provides a method for automatically allocating servers in a data center to each network service in real time to a load distribution device without manual intervention. Can be. It also monitors the fluctuations in the amount of requests arriving at each network service, predicts the value of the amount of request after a certain period of time, and provides services for the network service in accordance with the magnitude of the estimated amount of request. It is possible to control the quota of the bus.
よって運用管理者の負担を軽減でぎ、 少ない運用管理者による運用を可能にす る。 また、 経験の浅い運用管理者による運用も可能にする。 ここで、 当該ネット ワークサービスに対して割り当てられるサーバの量は、 要求量予測値が示す量の トラフィックが当該ネットワークサービスに到着した場合に、 利用者端末に対す る応答時間の平均が運用管理者が予め定めた応答時間閾ィ直以下となるように定め られる。  Therefore, the burden on the operation manager can be reduced, and operation by fewer operation managers is possible. In addition, it can be operated by inexperienced operation managers. Here, the amount of servers allocated to the network service is determined by the average of the response time to the user terminal when the amount of traffic indicated by the predicted request value arrives at the network service. Is set to be equal to or less than a predetermined response time threshold.
よって、 xSP等データセンタ事業者の顧客との契約等において守るべきサービ スレベルを一定水準以上に維持することを可能にする。 また、 サーバの増減を 1 台ずつ行う度、 予測値に基づく応答時間が所定の範囲に入るかを判定するため、 ネットワークサービスの運用に必要な最低限のサーバ台数によりサーバ群を構成 することができ、 データセンタ事業者は保有するサーバ資源を最大限効率的に運 用することが可能である。  Therefore, it is possible to maintain the service level to be maintained in a contract with a customer of a data center operator such as xSP at a certain level or more. In addition, each time the number of servers is increased or decreased one by one, it is necessary to configure the server group with the minimum number of servers necessary for the operation of the network service in order to determine whether the response time based on the predicted value falls within a predetermined range. This allows data center operators to operate their server resources as efficiently as possible.
以上説明した本発明の実施形態においては、 サーバアプリケーションをウェブ サーバとし、利用者端末からの要求を ht¾)リクエストとした力 サーバにて他の アプリケーションプログラムが使用され、 利用者端末がそのアプリケーションプ ログラムに対するリクエストを送信し、 サーバがリクエストに対するリプライを 利用者端末に送信するものであれば、 その場合にも本発明の適用が可能である。 なお、本発明の実施形態においては、サーバ群の処理能力を測る数値として CPU ク口ック周波数を使用し、 サーバ群の処理能力を調整するために単純にサーバの 台数を増減させたが、 CPU、 メモリ、 ハードディスクといった計算機資源を個々 に数値ィ匕して個々の計算機資源を増減させる場合にも本発明の適用が可能である。 また、 本発明の実施形態においては、 基準クロック周波数を 1 GHz とした力 S、 これに限定されるものではない。 その場合基準ク口ック周波数として定めたク口 ック周波数を搭載したサーバにおけるアプリケーション毎の平均処理数を事前に 収集し、 図 8の様に予め資源割当制御装置に入力すれば、 本発明が適用可能であ る。 In the embodiment of the present invention described above, the server application is a web server, and a request from the user terminal is an ht¾) request. Another application program is used in the server, and the user terminal performs a request for the application program. If the server sends a request and the server sends a reply to the request to the user terminal, the present invention can be applied to such a case. In the embodiment of the present invention, the CPU clock frequency is used as a numerical value for measuring the processing capacity of the server group, and the number of servers is simply increased or decreased in order to adjust the processing capacity of the server group. The present invention is also applicable to a case where computer resources such as a CPU, a memory, and a hard disk are individually numerically increased and decreased. Further, in the embodiment of the present invention, the force S at which the reference clock frequency is 1 GHz is not limited thereto. In this case, if the average number of processes for each application in the server equipped with the peak frequency determined as the reference peak frequency is collected in advance and input to the resource allocation control device in advance as shown in FIG. Is applicable.
本発明の保護範囲は、 上記の実施の形態に限定されず、 特許請求の範囲に記載 された発明とその均等物に及ぶものである。 産業上の利用の可能性  The protection scope of the present invention is not limited to the above embodiments, but extends to the inventions described in the claims and their equivalents. Industrial potential
以上説明した本発明の実施形態によれば、 本発明ではデータセンタ内のサーバ の各ネットワークサービスへの配分を負荷分散装置に対して人手によらずリアノレ タイムに自動的に行う方法を提供することができる。 また、 各ネットワークサー ビスに到着する要求量の変動の様子を監視し、 要求量の一定時間経過後の値を予 測し、 その要求量予測値の大きさに応じて当該ネットワークサービスに対するサ ーバの割当量を制御することができる。  According to the embodiment of the present invention described above, the present invention provides a method of automatically allocating servers in a data center to respective network services to a load distribution apparatus in real time without manual intervention. Can be. It also monitors the fluctuations in the amount of requests arriving at each network service, predicts the value of the amount of request after a certain period of time, and provides services for the network service in accordance with the magnitude of the estimated amount of request. It is possible to control the quota of the bus.

Claims

請求の範囲 The scope of the claims
1 . ネットワークに接続された複数の利用者端末と、 1. Multiple user terminals connected to the network,
前記ネットワークに接続され、 前記複数の利用者端末からの要求を処理する複 数のサーバを含むサーバ群を有するネットワークシステムにおける前記サーバ群 の台数調整方法であって、  A method for adjusting the number of server groups in a network system having a server group including a plurality of servers connected to the network and configured to process requests from the plurality of user terminals,
所定時間毎の前記複数の利用者端末からの要求数を蓄積し、  Accumulate the number of requests from the plurality of user terminals for each predetermined time,
蓄積された過去の要求数に基づいて、 時間と要求数の特性を関数として求め、 前記関数に将来の時間を代入して将来の要求数を予測し、  Based on the accumulated number of requests in the past, the characteristics of time and the number of requests are obtained as a function, and the number of future requests is predicted by substituting future time for the function,
前記複数の利用者端末からの要求数が所定の確率分布に従うと仮定した場合の 前記複数のサーバ 1台あたりの平均応答時間と要求数の関係式に、 前記予測され た要求数を代入して前記複数のサーバ 1台あたりの第一の平均^答時間を求め、 前記第一の平均応答時間が正の値でありかつ予め設定された閾値以下の範囲に 含まれるかを判定し、  When the number of requests from the plurality of user terminals is assumed to follow a predetermined probability distribution, the predicted number of requests is substituted into a relational expression between the number of requests and the average response time per one of the plurality of servers. Calculating a first average response time per one of the plurality of servers; determining whether the first average response time is a positive value and is included in a range equal to or less than a preset threshold value;
前記判定の結果に応じて前記サーバ群に含まれるサーバの台数を増減させるこ とを特 ί敷とするサーバ群の台数調整方法。  A method of adjusting the number of servers, which is characterized by increasing or decreasing the number of servers included in the server group according to the result of the determination.
2 . 請求の範囲 1において、  2. In Claim 1,
前記判定の結果、 前記平均応答時間が前記範囲に含まれる場合、 (a)前記サー バ群に含まれるサーバを 1台選択し、  When the result of the determination is that the average response time is included in the range, (a) selecting one server included in the server group,
(b)前記選択されたサーバを除外したサーバ群を仮定し、  (b) Assuming a server group excluding the selected server,
(c)前記仮定されたサーバ群に含まれる複数のサーバ 1台あたりの第二の平 均応答時間を求め、  (c) calculating a second average response time per one of a plurality of servers included in the assumed server group,
(d)前記第二の平均応答時間が前記範囲に含まれるか判定する新たな判定を 行い、  (d) performing a new determination to determine whether the second average response time falls within the range,
(e)前記新たな判定の結果、 前記第二の平均応答時間が前記範囲に含まれる場 合、 前記選択されたサーバを前記サーバ群の構成から除外する、 ことを特徴と するサーバ群の台数調整方法。  (e) as a result of the new determination, if the second average response time is included in the range, the selected server is excluded from the configuration of the server group; Adjustment method.
3 . 請求の範囲 2において、  3. In Claim 2,
前記 (e)の後、 再び前記 (a)から前記 (e)を繰り返し行い、 前記新たな判定の結 果、 前記第二の平均応答時間が前記範囲に含まれなくなるまで、 前記サーバ群 に含まれる複数のサーバを 1台ずつ構成から除外することを特徴とするサーバ 群の台数調整方法。 After the above (e), the above (a) to (e) are repeated again, and the result of the new judgment is obtained. As a result, a plurality of servers included in the server group are excluded from the configuration one by one until the second average response time is not included in the range.
4 . 請求の範囲 1において、  4. In Claim 1,
さらに、 前記ネットワークに接続された複数の未使用サーバを含む未使用サ 一バ群を有し、  Further, it has an unused server group including a plurality of unused servers connected to the network,
前記判定の結果、 前記平均応答時間が前記範囲に含まれない場合、 前記未使 用サーバ群に含まれるサーバを 1台選択し、  If the result of the determination is that the average response time is not included in the range, one server included in the unused server group is selected,
前記選択されたサーバを前記サーバ群に追加することを特徴とするサーバ群 の台数調整方法。  A method of adjusting the number of servers, wherein the selected server is added to the server group.
5 . 請求の範囲 4において、  5. In Claim 4,
(f)前記選択されたサーバが追加された後の新たなサーバ群において、 該新た なサーバ群に含まれる複数のサーバ 1台あたりの第三の平均応答時間を求め、 (f) in a new server group after the selected server has been added, obtain a third average response time per one of a plurality of servers included in the new server group;
(g)前記第三の平均応答時間が前記範囲に含まれるか判定する新たな判定を 行い、 (g) performing a new determination to determine whether the third average response time falls within the range,
(h)前記新たな判定の結果、 前記第三の平均応答時間が前記範囲に含まれない 場合、 前記未使用サーバ群に含まれるサーバを 1台選択し、  (h) as a result of the new determination, if the third average response time is not included in the range, select one server included in the unused server group,
(i)前記選択されたサーバを前記新たなサーバ群に追加し、  (i) adding the selected server to the new server group,
前記 (i)の後、 再び前記 (f)から前記 (i)を繰り返し行い、 前記新たな判定の結 果、 前記第三の平均応答時間が前記範囲に含まれるまで、 前記サーバ群に前記 未使用サーバ群に含まれるサーバを 1台ずつ追加することを特徴とするサーバ 群の台数調整方法。  After the above (i), the above (f) to (i) are repeated again. A method for adjusting the number of servers, wherein one server is added to each used server group.
6 . ネットワークに接続された複数の利用者端末と、  6. Multiple user terminals connected to the network,
前記ネットワークに接続され、 前記利用者端末からの要求を処理する複数の サーバを含むサーバ群と、  A server group including a plurality of servers connected to the network and processing requests from the user terminals;
前記ネットワークに接続され、 所定時間間隔毎の前記利用者端末からの要求 数と前記要求数の振分率と前記サーバ群の構成情報とを蓄積する蓄積手段を含む 負荷分散装置と、  A load distribution device connected to the network and including storage means for storing the number of requests from the user terminal at predetermined time intervals, a distribution ratio of the number of requests, and configuration information of the server group;
前記ネットワークに接続された資源割当制御装置を有するネットワークシス テムにおける資源割当制御装置に、 A network system having a resource allocation control device connected to the network System resource allocation control device,
前記負荷分散装置に蓄積された過去の要求数に基づいて、 時間と要求数の特性 を関数として求めさせ、  Based on the number of past requests accumulated in the load balancer, the characteristics of time and number of requests are obtained as a function,
前記関数に将来の時間を代入して将来の要求数を予測させ、  Substituting a future time into the function to predict the number of future requests,
前記複数の利用者端末からの要求数が所定の確率分布に従うと仮定した場合の 前記複数のサーバ 1台あたりの平均応答時間と要求数の関係式に、 前記予測され た要求数を代入して前記複数のサーバ 1台あたりの第一の平均応答時間を求めさ せ、 *  When the number of requests from the plurality of user terminals is assumed to follow a predetermined probability distribution, the predicted number of requests is substituted into a relational expression between the number of requests and the average response time per the plurality of servers. Calculating a first average response time per one of the plurality of servers; *
前記第一の平均応答時間が正の値でありかつ予め設定された閾値以下の範囲に 含まれるかを判定させ、  It is determined whether the first average response time is a positive value and is included in a range equal to or less than a predetermined threshold,
前記判定の結果に応じて前記サーバ群に含まれるサーバの台数を增減させるよ う前記構成情報を変更させることを特徴とするプログラム。  A program for changing the configuration information so as to reduce the number of servers included in the server group according to the result of the determination.
7 . 請求の範囲 6において、  7. In Claim 6,
前記判定の結果、 前記平均応答時間が前記範囲に含まれる場合、 (a)前記サー バ群に含まれるサーバを 1台選択させ、  As a result of the determination, when the average response time is included in the range, (a) selecting one server included in the server group,
(b)前記選択されたサーバを除外したサーバ群を仮定させ、  (b) assuming a server group excluding the selected server,
(c)前記仮定されたサーバ群に含まれる複数のサーバ 1台あたりの第二の平 均応答時間を求めさせ、  (c) causing a second average response time per one of a plurality of servers included in the assumed server group to be obtained,
(d)前記第二の平均応答時間が前記範囲に含まれるか判定する新たな判定を 行わせ、  (d) performing a new determination to determine whether the second average response time falls within the range,
(e)前記新たな判定の結果、 前記第二の平均応答時間が前記範囲に含まれる場 合、 前記選択されたサーバを前記構成情報から削除させる、 ことを特徴とする  (e) as a result of the new determination, when the second average response time is included in the range, the selected server is deleted from the configuration information.
8 . 請求の範囲 7において、 8. In Claim 7,
前記 (e)の後、 再び前記 (a)から前記 (e)を行い、 前記新たな判定の結果、 前記 第二の平均応答時間が前記範囲に含まれなくなるまで、 前記サーバ群に含まれ る複数のサーバを 1台ずつ前記構成情報から削除させることを特徴とするプロ グラム。  After the above (e), the above (a) to (e) are performed again, and the second average response time is included in the server group until the second average response time is not included in the above range as a result of the new determination. A program for deleting a plurality of servers one by one from the configuration information.
9 . 請求の範囲 6において、 さらに、 前記ネットワークに接続された複数の未使用サーバを含む未使用サ 一バ群を有し、 9. In Claim 6, Further, it has an unused server group including a plurality of unused servers connected to the network,
前記判定の結果、 前記平均応答時間が前記範囲に含まれない場合、 前記未使 用サーバ群に含まれるサーバを 1台選択させ、  If the result of the determination is that the average response time is not included in the range, one of the servers included in the unused server group is selected,
前記選択されたサーバを前記構成情報に追加させることを特徴とするプログ ラム。  A program for causing the selected server to be added to the configuration information.
1 0 . 請求の範囲 9において、  10. In Claim 9,
(f)前記選択されたサーバが追加された後の新たなサーバ群において、 該新た なサーバ群に含まれる複数のサーバ 1台あたりの第三の平均応答時間を求めさ せ、  (f) in a new server group after the selected server has been added, a third average response time per one of a plurality of servers included in the new server group is calculated;
(g)前記第三の平均応答時間が前記範囲に含まれるか判定する新たな判定を 行わせ、  (g) performing a new determination to determine whether the third average response time falls within the range,
(h)前記新たな判定の結果、 前記第三の平均応答時間が前記範囲に含まれない 場合、 前記未使用サーバ群に含まれるサーバを 1台選択させ、  (h) as a result of the new determination, if the third average response time is not included in the range, select one server included in the unused server group,
(i)前記選択されたサーバを前記新たなサーバ群に追加させ、  (i) causing the selected server to be added to the new server group,
前記 (i)の後、 再び前記 (f)から前記(i)を行わせ、 前記新たな判定の結果、 前 記第三の平均応答時間が前記範囲に含まれるまで、 前記構成情報に前記未使用 サーバ群に含まれるサーバを 1台ずつ追加させることを特徴とするプログラム。  After the above (i), the above (f) to the above (i) are performed again. As a result of the above-mentioned new determination, the above-mentioned configuration information is not updated until the third average response time is included in the above-mentioned range. Used A program characterized by adding servers included in a server group one by one.
PCT/JP2003/004679 2003-04-14 2003-04-14 Server allocation control method WO2004092971A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2004570858A JP3964909B2 (en) 2003-04-14 2003-04-14 Server allocation control method
PCT/JP2003/004679 WO2004092971A1 (en) 2003-04-14 2003-04-14 Server allocation control method
US11/099,538 US20050193113A1 (en) 2003-04-14 2005-04-06 Server allocation control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2003/004679 WO2004092971A1 (en) 2003-04-14 2003-04-14 Server allocation control method

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US11/099,538 Continuation US20050193113A1 (en) 2003-04-14 2005-04-06 Server allocation control method

Publications (1)

Publication Number Publication Date
WO2004092971A1 true WO2004092971A1 (en) 2004-10-28

Family

ID=33193209

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2003/004679 WO2004092971A1 (en) 2003-04-14 2003-04-14 Server allocation control method

Country Status (2)

Country Link
JP (1) JP3964909B2 (en)
WO (1) WO2004092971A1 (en)

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7664859B2 (en) 2005-03-30 2010-02-16 Hitachi, Ltd. Resource assigning management apparatus and resource assigning method
JP2010061261A (en) * 2008-09-02 2010-03-18 Fujitsu Ltd Authentication system and authentication method
US7693995B2 (en) 2005-11-09 2010-04-06 Hitachi, Ltd. Arbitration apparatus for allocating computer resource and arbitration method therefor
JP2010191603A (en) * 2009-02-17 2010-09-02 Kddi Corp Service providing server
JP2011076469A (en) * 2009-09-30 2011-04-14 Nomura Research Institute Ltd Load management device, information processing system and load management method
JP2011204110A (en) * 2010-03-26 2011-10-13 Nomura Research Institute Ltd System and method for processing information
JP2011204128A (en) * 2010-03-26 2011-10-13 Nomura Research Institute Ltd Device and method for managing operation
JP2011210225A (en) * 2010-07-14 2011-10-20 Nomura Research Institute Ltd System and method for information processing
JP2012053899A (en) * 2011-10-26 2012-03-15 Nomura Research Institute Ltd Operation management device and information processing system
JP2012518842A (en) * 2009-02-23 2012-08-16 マイクロソフト コーポレーション Server management with energy awareness
US8839254B2 (en) 2009-06-26 2014-09-16 Microsoft Corporation Precomputation for data center load balancing
US8849469B2 (en) 2010-10-28 2014-09-30 Microsoft Corporation Data center system that accommodates episodic computation
JP2015095149A (en) * 2013-11-13 2015-05-18 富士通株式会社 Management program, management method, and management device
US9063738B2 (en) 2010-11-22 2015-06-23 Microsoft Technology Licensing, Llc Dynamically placing computing jobs
WO2015092873A1 (en) * 2013-12-18 2015-06-25 株式会社日立製作所 Information processing system and information processing method
US9450838B2 (en) 2011-06-27 2016-09-20 Microsoft Technology Licensing, Llc Resource management for cloud computing platforms
US9595054B2 (en) 2011-06-27 2017-03-14 Microsoft Technology Licensing, Llc Resource management for cloud computing platforms
US9933804B2 (en) 2014-07-11 2018-04-03 Microsoft Technology Licensing, Llc Server installation as a grid condition sensor
US10234835B2 (en) 2014-07-11 2019-03-19 Microsoft Technology Licensing, Llc Management of computing devices using modulated electricity
JP2020102189A (en) * 2018-12-21 2020-07-02 北京百度网▲訊▼科技有限公司Beijing Baidu Netcom Science And Technology Co., Ltd. Method, apparatus and system for processing data
WO2020261399A1 (en) * 2019-06-25 2020-12-30 日本電信電話株式会社 Server control device, server control method, and program
CN113556372A (en) * 2020-04-26 2021-10-26 浙江宇视科技有限公司 Data transmission method, device, equipment and storage medium

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5928699B2 (en) * 2012-03-05 2016-06-01 日本電気株式会社 Job allocation method, apparatus, and program

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6230183B1 (en) * 1998-03-11 2001-05-08 International Business Machines Corporation Method and apparatus for controlling the number of servers in a multisystem cluster
US6466980B1 (en) * 1999-06-17 2002-10-15 International Business Machines Corporation System and method for capacity shaping in an internet environment

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6230183B1 (en) * 1998-03-11 2001-05-08 International Business Machines Corporation Method and apparatus for controlling the number of servers in a multisystem cluster
US6466980B1 (en) * 1999-06-17 2002-10-15 International Business Machines Corporation System and method for capacity shaping in an internet environment

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Edwin R. Lassettre et al., "HotRod: An Automomic System for Dynamic Surge Protection", [online], IBM Research Division, 17 March, 2003 [retrieved on 30 May, 2003], Retrieved from the Internet: <URL: http://domino.watson.ibm.com/library/CyberDig.nsf/0/485bf8b1f6ef56fd85256cee0064cd4f?OpenDocument> *

Cited By (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7664859B2 (en) 2005-03-30 2010-02-16 Hitachi, Ltd. Resource assigning management apparatus and resource assigning method
US7693995B2 (en) 2005-11-09 2010-04-06 Hitachi, Ltd. Arbitration apparatus for allocating computer resource and arbitration method therefor
JP2010061261A (en) * 2008-09-02 2010-03-18 Fujitsu Ltd Authentication system and authentication method
JP2010191603A (en) * 2009-02-17 2010-09-02 Kddi Corp Service providing server
JP2012518842A (en) * 2009-02-23 2012-08-16 マイクロソフト コーポレーション Server management with energy awareness
KR101624765B1 (en) * 2009-02-23 2016-05-26 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 Energy-aware server management
US8839254B2 (en) 2009-06-26 2014-09-16 Microsoft Corporation Precomputation for data center load balancing
JP2011076469A (en) * 2009-09-30 2011-04-14 Nomura Research Institute Ltd Load management device, information processing system and load management method
JP2011204110A (en) * 2010-03-26 2011-10-13 Nomura Research Institute Ltd System and method for processing information
JP2011204128A (en) * 2010-03-26 2011-10-13 Nomura Research Institute Ltd Device and method for managing operation
JP2011210225A (en) * 2010-07-14 2011-10-20 Nomura Research Institute Ltd System and method for information processing
US9886316B2 (en) 2010-10-28 2018-02-06 Microsoft Technology Licensing, Llc Data center system that accommodates episodic computation
US8849469B2 (en) 2010-10-28 2014-09-30 Microsoft Corporation Data center system that accommodates episodic computation
US9063738B2 (en) 2010-11-22 2015-06-23 Microsoft Technology Licensing, Llc Dynamically placing computing jobs
US9450838B2 (en) 2011-06-27 2016-09-20 Microsoft Technology Licensing, Llc Resource management for cloud computing platforms
US9595054B2 (en) 2011-06-27 2017-03-14 Microsoft Technology Licensing, Llc Resource management for cloud computing platforms
US10644966B2 (en) 2011-06-27 2020-05-05 Microsoft Technology Licensing, Llc Resource management for cloud computing platforms
JP2012053899A (en) * 2011-10-26 2012-03-15 Nomura Research Institute Ltd Operation management device and information processing system
JP2015095149A (en) * 2013-11-13 2015-05-18 富士通株式会社 Management program, management method, and management device
US10225333B2 (en) 2013-11-13 2019-03-05 Fujitsu Limited Management method and apparatus
WO2015092873A1 (en) * 2013-12-18 2015-06-25 株式会社日立製作所 Information processing system and information processing method
US10234835B2 (en) 2014-07-11 2019-03-19 Microsoft Technology Licensing, Llc Management of computing devices using modulated electricity
US9933804B2 (en) 2014-07-11 2018-04-03 Microsoft Technology Licensing, Llc Server installation as a grid condition sensor
JP2020102189A (en) * 2018-12-21 2020-07-02 北京百度网▲訊▼科技有限公司Beijing Baidu Netcom Science And Technology Co., Ltd. Method, apparatus and system for processing data
US11064053B2 (en) 2018-12-21 2021-07-13 Beijing Baidu Netcom Science And Technology Co., Ltd. Method, apparatus and system for processing data
US11277498B2 (en) 2018-12-21 2022-03-15 Beijing Baidu Netcom Science And Technology Co., Ltd. Method, apparatus and system for processing data
WO2020261399A1 (en) * 2019-06-25 2020-12-30 日本電信電話株式会社 Server control device, server control method, and program
JPWO2020261399A1 (en) * 2019-06-25 2020-12-30
JP7173340B2 (en) 2019-06-25 2022-11-16 日本電信電話株式会社 SERVER CONTROL DEVICE, SERVER CONTROL METHOD, AND PROGRAM
CN113556372A (en) * 2020-04-26 2021-10-26 浙江宇视科技有限公司 Data transmission method, device, equipment and storage medium
CN113556372B (en) * 2020-04-26 2024-02-20 浙江宇视科技有限公司 Data transmission method, device, equipment and storage medium

Also Published As

Publication number Publication date
JP3964909B2 (en) 2007-08-22
JPWO2004092971A1 (en) 2006-07-06

Similar Documents

Publication Publication Date Title
WO2004092971A1 (en) Server allocation control method
US20050193113A1 (en) Server allocation control method
Baek et al. Managing fog networks using reinforcement learning based load balancing algorithm
US11051210B2 (en) Method and system for network slice allocation
CN107743100B (en) Online adaptive network slice virtual resource allocation method based on service prediction
Zhang et al. Workload-aware load balancing for clustered web servers
US7680897B1 (en) Methods and systems for managing network traffic
EP1499152B1 (en) Method and apparatus for adaptive and online assignment in hierarchical overlay networks
KR101947354B1 (en) System to share network bandwidth among competing applications
JP4984169B2 (en) Load distribution program, load distribution method, load distribution apparatus, and system including the same
US20080263559A1 (en) Method and apparatus for utility-based dynamic resource allocation in a distributed computing system
US20080215742A1 (en) METHOD AND APPARATUS FOR DYNAMICALLY ADJUSTING RESOURCES ASSIGNED TO PLURALITY OF CUSTOMERS, FOR MEETING SERVICE LEVEL AGREEMENTS (SLAs) WITH MINIMAL RESOURCES, AND ALLOWING COMMON POOLS OF RESOURCES TO BE USED ACROSS PLURAL CUSTOMERS ON A DEMAND BASIS
EP0384339A2 (en) Broker for computer network server selection
CN113364850B (en) Software-defined cloud-edge collaborative network energy consumption optimization method and system
CN111711666B (en) Internet of vehicles cloud computing resource optimization method based on reinforcement learning
EP3371938B1 (en) Adaptive subscriber-driven resource allocation for push-based monitoring
US11792275B2 (en) Dynamic connection capacity management
Liu et al. Cost-efficient virtual network function placement and traffic steering
CN112822050A (en) Method and apparatus for deploying network slices
Guha Roy et al. Service aware resource management into cloudlets for data offloading towards IoT
CN111143036A (en) Virtual machine resource scheduling method based on reinforcement learning
CN112219191A (en) Self-configuration of services and servers in a data center
JP3545931B2 (en) Call control scheduling method
CN113543160A (en) 5G slice resource allocation method and device, computing equipment and computer storage medium
US20220124172A1 (en) Service Deployment Method and Scheduling Apparatus

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): JP US

WWE Wipo information: entry into national phase

Ref document number: 2004570858

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 11099538

Country of ref document: US