Program, method, and apparatus for dynamically allocating servers to target system
First Claim
1. A non-transitory computer-readable medium encoded with a server allocation program that performs, when executed on a computer, a process of allocating servers to a target system including a working system and a backup system, the process comprising:
- monitoring operating condition of spare servers that are deallocated from the target system and belong to a spare server pool;
storing and managing server management data which describes performance and reliability of the spare servers and the operating condition of the spare servers, including operating time of each spare server which indicates continuing run time of that spare server since startup thereof;
determining, based on demand forecast data or previously specified data about the target system, a dynamic allocation period during which the target system is expected to need allocation of the spare servers;
calculating a remaining operating time of each individual spare server from the operating time and the reliability of the spare servers described in the stored server management data;
determining whether a predicted failure time of each of the spare servers comes during the dynamic allocation period or after the dynamic allocation period, by comparing the remaining operating time of each spare server with the dynamic allocation period;
nominating a set of allocation candidates from the spare server pool, by including therein the spare servers whose predicted failure times are determined to come after the dynamic allocation period, while excluding therefrom the spare servers whose predicted failure times are determined to come during the dynamic allocation period;
selecting, based on the stored server management data, which allocation candidate to allocate to the target system, such that the selected allocation candidate enables the target system to satisfy a specified performance requirement during the dynamic allocation period;
allocating the selected allocation candidate to the working system being a group of servers currently working to provide services to clients connected to the target system;
calculating reliability that the target system as a whole, including the allocated allocation candidate in the working system, is expected to attain during the dynamic allocation period; and
further allocating one of the other allocation candidates to the backup system being another group of servers to replace some or all of the servers in the working system in case of failure thereof, when the calculated reliability of the target system falls short of a reliability requirement that the target system as a whole, including both the working and backup systems, has to satisfy.
1 Assignment
0 Petitions
Accused Products
Abstract
Server management data describes observed operating condition of a pool of spare servers. Based on a demand forecast of a specific target system, a dynamic allocation period is determined as a period during which the target system needs additional server resources to handle an expected demand. Based on the dynamic allocation period and server management data, a set of allocation candidates are nominated from the spare server pool, by eliminating therefrom spare servers which are likely to fail during the dynamic allocation period. An appropriate allocation candidate is then selected for allocation to the target system, such that the selected candidate will satisfy a specified requirement during its allocation period.
65 Citations
19 Claims
-
1. A non-transitory computer-readable medium encoded with a server allocation program that performs, when executed on a computer, a process of allocating servers to a target system including a working system and a backup system, the process comprising:
-
monitoring operating condition of spare servers that are deallocated from the target system and belong to a spare server pool; storing and managing server management data which describes performance and reliability of the spare servers and the operating condition of the spare servers, including operating time of each spare server which indicates continuing run time of that spare server since startup thereof; determining, based on demand forecast data or previously specified data about the target system, a dynamic allocation period during which the target system is expected to need allocation of the spare servers; calculating a remaining operating time of each individual spare server from the operating time and the reliability of the spare servers described in the stored server management data; determining whether a predicted failure time of each of the spare servers comes during the dynamic allocation period or after the dynamic allocation period, by comparing the remaining operating time of each spare server with the dynamic allocation period; nominating a set of allocation candidates from the spare server pool, by including therein the spare servers whose predicted failure times are determined to come after the dynamic allocation period, while excluding therefrom the spare servers whose predicted failure times are determined to come during the dynamic allocation period; selecting, based on the stored server management data, which allocation candidate to allocate to the target system, such that the selected allocation candidate enables the target system to satisfy a specified performance requirement during the dynamic allocation period; allocating the selected allocation candidate to the working system being a group of servers currently working to provide services to clients connected to the target system; calculating reliability that the target system as a whole, including the allocated allocation candidate in the working system, is expected to attain during the dynamic allocation period; and further allocating one of the other allocation candidates to the backup system being another group of servers to replace some or all of the servers in the working system in case of failure thereof, when the calculated reliability of the target system falls short of a reliability requirement that the target system as a whole, including both the working and backup systems, has to satisfy. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 19)
-
-
15. A method for dynamically allocating servers to a target system including a working system and a backup system, the method comprising:
-
monitoring operating condition of spare servers that are deallocated from the target system and belong to a spare server pool; storing and managing server management data which describes performance and reliability of the spare servers and the operating condition of the spare servers, including operating time of each spare server which indicates continuing run time of that spare server since startup thereof; determining, based on demand forecast data or previously specified data about the target system, a dynamic allocation period during which the target system is expected to need allocation of the spare servers; calculating a remaining operating time of each individual spare server from the operating time and the reliability of the spare servers described in the stored server management data; determining whether a predicted failure time of each of the spare servers comes during the dynamic allocation period or after the dynamic allocation period, by comparing the remaining operating time of each spare server with the dynamic allocation period; nominating a set of allocation candidates from the spare server pool, by including therein the spare servers whose predicted failure times are determined to come after the dynamic allocation period, while excluding therefrom the spare servers whose predicted failure times are determined to come during the dynamic allocation period; and selecting, based on the stored server management data, which allocation candidate to allocate to the target system, such that the selected allocation candidate enables the target system to satisfy a specified performance requirement during the dynamic allocation period; allocating the selected allocation candidate to the working system being a group of servers currently working to provide services to clients connected to the target system; calculating reliability that the target system as a whole, including the allocated allocation candidate in the working system, is expected to attain during the dynamic allocation period; and further allocating one of the other allocation candidates to the backup system being another group of servers to replace some or all of the servers in the working system in case of failure thereof, when the calculated reliability of the target system falls short of a reliability requirement that the target system as a whole, including both the working and backup systems, has to satisfy.
-
-
16. An apparatus for dynamically allocating servers to a target system, the apparatus comprising:
-
a processing device configured to execute a procedure comprising; monitoring operating condition of spare servers that are deallocated from the target system and belong to a spare server pool; storing and managing server management data which describes performance and reliability of the spare servers and the operating condition of the spare servers, including operating time of each spare server which indicates continuing run time of that spare server since startup thereof; determining, based on demand forecast data or previously specified data about the target system, a dynamic allocation period during which the target system is expected to need allocation of the spare servers; calculating a remaining operating time of each individual spare server from the operating time and the reliability of the spare servers described in the stored server management data; determining whether a predicted failure time of each of the spare servers comes during the dynamic allocation period or after the dynamic allocation period, by comparing the remaining operating time of each spare server with the dynamic allocation period; nominating a set of allocation candidates from the spare server pool, by including therein the spare servers whose predicted failure times are determined to come after the dynamic allocation period, while excluding therefrom the spare servers whose predicted failure times are determined to come during the dynamic allocation period; selecting, based on the stored server management data, which allocation candidate to allocate to the target system, such that the selected allocation candidate enables the target system to satisfy a specified performance requirement during the dynamic allocation period; allocating the selected allocation candidate to the working system being a arum of servers currently working to provide services to clients connected to the target system; calculating reliability that the target system as a whole, including the allocated allocation candidate in the working system, is expected to attain during the dynamic allocation period; and further allocating one of the other allocation candidates to the backup system being another group of servers to replace some or all of the servers in the working system in case of failure thereof, when the calculated reliability of the target system falls short of a reliability requirement that the target system as a whole, including both the working and backup systems, has to satisfy.
-
-
17. A non-transitory computer-readable medium storing a program that causes a computer to execute a procedure, the procedure comprising:
-
calculating a remaining operating time of a server of a server pool, based on reliability data of the server; judging whether a predicted failure occurrence timing of the server is beyond a period or within the period in which a server group is required to satisfy a certain performance, by comparing the period with the remaining operating time of the server; and causing one or more servers of the server pool to be included in the server group based on the judging, wherein a server of the server pool is excluded from the server group when a predicted failure occurrence timing of the server is within the period and a server of the server pool is allowed to be included in the server group when a predicted failure occurrence timing of the server is beyond the period; wherein the server group includes working servers currently working to provide services to clients connected to the server group and backup servers to replace some or all of the working servers in case of failure thereof, and said causing includes; including one or more servers of the server pool as the working servers in the server group; calculating reliability that the server group as a whole is expected to attain during the period; and further including one or more servers of the server pool as the backup servers, in the server group when the calculated reliability of the server group falls short of a reliability requirement that the server group as a whole, including both the working and backup servers, has to satisfy.
-
-
18. An apparatus comprising:
-
a processing device configured to execute a procedure comprising; calculating a remaining operating time of a server of a server pool, based on reliability data of the server; judging whether a predicted failure occurrence timing of the server is beyond a period or within the period in which a server group is required to satisfy a certain performance, by comparing the period with the remaining operating time of the server; and causing one or more servers of the server pool to be included in the server group based on the judging, wherein a server of the server pool is excluded from the server group when a predicted failure occurrence timing of the server is within the period and a server of the server pool is allowed to be included in the server group when a predicted failure occurrence timing of the server is beyond the period; wherein the server group includes working servers currently working to provide services to clients connected to the server group and backup servers to replace some or all of the working servers in case of failure thereof, and said causing includes; including one or more servers of the server pool as the working servers in the server group; calculating reliability that the server group as a whole is expected to attain during the period; and further including one or more servers of the server pool as the backup servers, in the server group when the calculated reliability of the server group falls short of a reliability requirement that the server group as a whole, including both the working and backup servers, has to satisfy.
-
Specification