WO2012025977A1 - スケジュール管理方法及びスケジュール管理サーバ - Google Patents
スケジュール管理方法及びスケジュール管理サーバ Download PDFInfo
- Publication number
- WO2012025977A1 WO2012025977A1 PCT/JP2010/064186 JP2010064186W WO2012025977A1 WO 2012025977 A1 WO2012025977 A1 WO 2012025977A1 JP 2010064186 W JP2010064186 W JP 2010064186W WO 2012025977 A1 WO2012025977 A1 WO 2012025977A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- reservation
- period
- schedule
- schedule management
- virtual machine
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1031—Controlling of the operation of servers by a load balancer, e.g. adding or removing servers that serve requests
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5044—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5014—Reservation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/503—Resource availability
Definitions
- the present invention relates to allocation scheduling of virtual machines that execute user tasks.
- the present invention relates to virtual machine allocation scheduling using hot migration.
- the reserved computer resource is in an occupied state where other business cannot reserve the computer resource.
- Patent Document 1 discloses a technique for searching for a computer resource that matches a user's desired reservation period and reserving a computer resource having a maximum free period that includes the desired reservation period.
- a computer resource that can secure the longest desired reservation period is searched, and the computer resource is reserved based on the search result.
- the idle period of the computer resources can be reduced and many reservations can be accepted.
- Patent Document 1 it is possible to reduce the idle period of computer resources, but it is not possible to make the most effective use of computer resources that are idle in a short period of time.
- An object of the present invention is to provide a computer resource reservation method that takes into account computer resources that have been idle for a short period of time.
- a typical example of the present invention is as follows. That is, in a schedule management method in a computer system comprising: a management computer operated by a user; a plurality of computers that execute the user's work; and a schedule management server that manages assignment of the computer that executes the user's work.
- the management computer includes a first processor, a first memory connected to the first processor, a first network interface connected to the first processor, and the first processor.
- the computer includes a second processor, a second memory connected to the second processor, and a second network interface connected to the second processor.
- the schedule management server is connected to a third processor and the third processor 3 and a third network interface connected to the third processor, and the second memory includes a plurality of virtual computers generated by virtually dividing the physical resources of the computer.
- the first step of receiving the reservation request, and the schedule management unit refers to the reservation information, and extracts a free period that is a period during which a new reservation is possible for each virtual machine.
- a third step in which the schedule management unit selects the computer on which the reservable virtual machine is executed based on the received reservation request and the free period of each extracted virtual machine. And the end point of the reservation period set in the free period of one virtual machine executed on the selected computer, and the free period of the other virtual machine executed on the determined computer.
- a fifth step in which the schedule management unit updates the reservation information based on the generated reservation schedule, and the schedule management unit is configured to update the reservation information based on the updated reservation information.
- a schedule is generated so that the reservation periods set for the free times of a plurality of virtual machines are continuous. be able to. As a result, it is possible to effectively use a short vacant time and realize an occupation state similar to the case where one virtual machine is reserved.
- FIG. 1 is a block diagram illustrating a configuration example of a computer system according to the first embodiment of this invention.
- the computer system includes a management client 100, a schedule management server 110, and computers 120-1 and 120-2.
- the management client 100, the schedule management server 110, and the computers 120-1 and 120-2 are connected to each other via the network 160.
- the network 160 may be a LAN, for example. Note that the present invention is not limited to the connection method of the network 160.
- the management client 100 is a computer operated by a user.
- the schedule management server 110 manages allocation of virtual machines (Virtual Machine: hereinafter referred to as VMs) that execute business.
- the computers 120-1 and 120-2 execute user tasks.
- the computers 120-1 and 120-2 are computers to be managed by the schedule management server 110.
- the computer 120-1 includes a hypervisor 130.
- the hypervisor 130 manages VM1 (140-1) and VM2 (140-2). Since the computer 120-2 has the same configuration, the description thereof is omitted.
- the VM 140 generated on the computer 120 as a computer resource is allocated to each business.
- the hypervisor 130 generates the VM 140 by logically dividing the computer resources included in the computer 120, and manages the generated VM 140. Further, the hypervisor 130 can release computer resources by deleting the VM 140.
- the hypervisor 130 manages VM1 (140-1) and VM2 (140-2) generated on the computer 120-1.
- the VM 140 executes a guest OS corresponding to the user's business.
- the VM 140-1 executes the guest OS 150-1
- the VM 140-2 executes the guest OS 150-2.
- the user designates the usage period desired by the user and reserves the VM 140 that executes the business.
- the usage period desired by the user is referred to as a user request period.
- the reserved VM 140 is in an occupied state where no other business can reserve the VM 140.
- the schedule management server 110 that has received a reservation request for a new VM 140 generates an allocation schedule for the VM 140 that satisfies the user request period when one VM 140 cannot make a reservation for the user request period.
- the schedule management server 110 confirms the reservation state of each VM 140 and extracts the free time of the VM 140.
- the free time of the VM 140 represents a time when the VM 140 is not reserved.
- the schedule management server 110 reserves the VM 140 so that the reservation period set for the free time of each VM 140 is continuous. In other words, the schedule management server 110 connects the free times of the VMs 140 and generates an allocation schedule for the VMs 140 that satisfies the user request period.
- migration is executed when a job is moved from a VM 140 that executes the job to another VM 140.
- the schedule management server 110 when the schedule management server 110 generates an allocation schedule for the VM 140, the schedule management server 110 further sets a temporary reservation period, which is a migration execution period, in the free time of the VM 140. This makes it possible to execute migration safely and reliably.
- FIG. 2 is a block diagram illustrating an apparatus configuration of the computer 120 according to the first embodiment of this invention.
- the computer 120 includes a CPU 200, a memory 210, a nonvolatile storage medium 220, and a network interface 230.
- the CPU 200, the memory 210, the nonvolatile storage medium 220, and the network interface 230 are connected to each other via an internal bus or the like.
- CPU 200 executes a program stored on memory 210. As a result, the functions of the computer 120 are realized.
- the memory 210 stores a program executed by the CPU 200 and information necessary for executing the program. Specifically, the memory 210 stores a configuration information transmission unit 240, a load information transmission unit 250, and a switching execution unit 260. Note that the memory 210 may store other information.
- the configuration information transmission unit 240 transmits the configuration information of the VM 140 generated on the computer 120 to the schedule management server 110.
- the configuration information transmitting unit 240 may transmit the configuration information of the VM 140 periodically or when the configuration information of the VM 140 on the computer 120 is changed. Further, the configuration information transmission unit 240 may transmit the configuration information of the VM 140 when receiving an acquisition request from the schedule management server 110.
- the load information transmission unit 250 acquires the load information of the VM 140 generated on the computer 120, and transmits the acquired load information to the schedule management server 110.
- the load information transmission unit 250 transmits the acquired load information periodically or when receiving a load information acquisition request from the schedule management server 110.
- the switching execution unit 260 executes migration when a migration execution command is received from the schedule management server 110.
- the switching execution unit 260 executes hot migration that moves between VMs 140 on the same computer 120.
- the configuration information transmission unit 240, the load information transmission unit 250, and the switching execution unit 260 are managed by the hypervisor 130.
- the non-volatile storage medium 220 stores various information required by the computer 120.
- the nonvolatile storage medium 220 for example, an HDD or an SSD can be considered.
- the non-volatile storage medium 220 stores a program stored on the memory 210, for example.
- the CPU 200 reads a predetermined program from the nonvolatile storage medium 220 onto the memory 210, and executes the read program.
- the network interface 230 is an interface for connecting to an external device via a network.
- FIG. 3 is a block diagram illustrating a device configuration of the management client 100 according to the first embodiment of this invention.
- the management client 100 includes a CPU 300, a memory 310, a nonvolatile storage medium 320, a network interface 330, and an input / output device 340.
- the CPU 300, the memory 310, the nonvolatile storage medium 320, the network interface 330, and the input / output device 340 are connected to each other via an internal bus or the like.
- CPU 300 executes a program stored on memory 310. As a result, the functions of the management client 100 are realized.
- the memory 310 stores a program executed by the CPU 300 and information necessary for executing the program. Specifically, the memory 310 includes a condition input unit 350 and a result output unit 360. Note that the memory 310 may store other information.
- the condition input unit 350 inputs a condition for generating a reservation model to be described later. In addition, the condition input unit 350 transmits the input condition to the schedule management server 110.
- the result output unit 360 outputs the results of various processes.
- the non-volatile storage medium 320 stores various information necessary for the management client 100.
- the nonvolatile storage medium 320 for example, an HDD or an SSD can be considered.
- the non-volatile storage medium 320 stores a program stored on the memory 310, for example.
- the CPU 300 reads a predetermined program from the nonvolatile storage medium 320 onto the memory 310, and executes the read program.
- the network interface 330 is an interface for connecting to an external device via a network.
- the input / output device 340 is a device for inputting various information or displaying various processing results.
- the input / output device 340 includes, for example, a keyboard, a mouse, a display, and the like.
- the condition input unit 350 acquires information input using the input / output device 340, and transmits the acquired information to the schedule management server 110 or the like. Further, the result output unit 360 outputs the information received from the schedule management server 110 or the like to the input / output device 340.
- FIG. 4 is a block diagram illustrating the apparatus configuration of the schedule management server 110 according to the first embodiment of this invention.
- the schedule management server 110 includes a CPU 400, a memory 410, a nonvolatile storage medium 420, and a network interface 430.
- the CPU 400, the memory 410, the nonvolatile storage medium 420, and the network interface 430 are connected to each other via an internal bus or the like.
- CPU 400 executes a program stored on memory 410. As a result, the functions of the schedule management server 110 are realized.
- the memory 410 stores a program executed by the CPU 400 and information necessary for executing the program.
- the memory 410 includes a configuration information acquisition unit 441, a schedule management unit 442, a configuration information management unit 443, a free time detection unit 444, a reservation model generation unit 445, a load measurement unit 446, a migration command unit 447, and a result output.
- the configuration information acquisition unit 441 acquires the configuration information of the VM 140 transmitted from the configuration information transmission unit 240 of each computer 120.
- the configuration information acquisition unit 441 acquires the configuration information of the VM 140 by transmitting an acquisition request for acquiring the configuration information of the VM 140 to each computer 120.
- the configuration information acquisition unit 441 may transmit an acquisition request periodically or at the start of a reservation process executed by the schedule management unit 442.
- the schedule management unit 442 manages the reservation status of the VM 140 and executes a reservation process for reserving the VM 140.
- the configuration information management unit 443 manages configuration information transmitted from the configuration information transmission unit 240 of each computer 120. Also, the configuration information management unit 443 stores the acquired configuration information of the VM 140 in the configuration information 451.
- the free time detection unit 444 detects the free time of the VM 140.
- the free time of the VM 140 is also described as a free resource.
- the reservation model generation unit 445 generates a reservation model based on the free time of the VM 140 detected by the free time detection unit 444.
- the reservation model represents an allocation schedule of the VM 140 that satisfies the user request period.
- the load measuring unit 446 acquires the load information of the migration destination VM 140 during the provisional reservation period. Specifically, the load measurement unit 446 transmits a load information acquisition request for acquiring the load information of the migration destination VM 140.
- the computer 120 that has received the load information acquisition request acquires the load information of the VM 140 generated on the computer 120. Further, the load information transmission unit 250 of the computer 120 transmits the acquired load information to the load measurement unit 446.
- the migration command unit 447 commands the computer 120 to execute migration. Specifically, the migration command unit 447 transmits a migration execution command to the computer 120. The computer 120 that has received the migration execution command is migrated by the switching execution unit 260.
- the result output unit 448 transmits the processing result of the reservation model and the like generated by the reservation model generation unit 445 to the management client 100.
- the request acquisition unit 449 acquires a reservation request transmitted from the management client 100 and manages the acquired reservation request.
- the reservation request is a request for reserving a new VM 140.
- the memory 410 stores a candidate list 461, a provisional reservation period list 462, and a reservation model 463.
- the candidate list 461 stores information on the VMs 140 that can be reserved, that is, the VMs 140 that can set a reservation period. Details of the candidate list 461 will be described later with reference to FIG.
- the temporary reservation period list 462 stores information on the VM 140 that can set a temporary reservation period. Details of the provisional reservation period list 462 will be described later with reference to FIG.
- the reservation model 463 stores reservation model information. Details of the reservation model 463 will be described later with reference to FIG.
- the non-volatile storage medium 420 stores various information necessary for the management client 100.
- the nonvolatile storage medium 320 for example, an HDD or an SSD can be considered.
- the nonvolatile storage medium 420 stores configuration information 451, migration information 452, evaluation definition information 453, schedule information 454, reservation state information 455, and free resource information 456.
- the configuration information 451 stores the configuration information of the VM 140 acquired from each computer 120. Details of the configuration information 451 will be described later with reference to FIG.
- the migration information 452 stores information related to the migration schedule. Details of the migration information 452 will be described later with reference to FIG.
- the evaluation definition information 453 stores definition information for calculating an evaluation value representing the validity of the generated reservation model. Details of the evaluation definition information 453 will be described later with reference to FIG.
- the schedule information 454 stores the allocation schedule of each VM 140. Specifically, information on the reservation period and provisional reservation period set in each VM 140 is stored. Details of the schedule information 454 will be described later with reference to FIGS. 11 and 12.
- the reservation status information 455 stores information related to the reservation status of the VM 140 in each business. Details of the reservation status information 455 will be described later with reference to FIG.
- the free resource information 456 stores information related to the free time of the VM 140. Details of the free resource information 456 will be described later with reference to FIG.
- the free time of the VM 140 is used as a free resource.
- FIG. 5 is an explanatory diagram illustrating an example of the candidate list 461 according to the first embodiment of this invention.
- the candidate list generation condition is a condition for generating the candidate list 461.
- the candidate list 461 includes an ID 501, a machine name 502, a Start Time 503, an End Time 504, and a type 505.
- ID 501 is an identifier for identifying each record stored in the candidate list 461.
- the machine name 502 is an identifier for identifying the VM 140 that can be reserved.
- Start Time 503 and “End Time 504” represent reservation periods that can be set in the VM 140 corresponding to the machine name 502. Specifically, Start Time 503 is a start time of a reservation period that can be set. End Time 504 is an end time of a reservation period that can be set.
- the type 505 is information representing the reservation type. Since the candidate list 461 stores information on the VMs 140 that can be reserved, “occupation” is stored in the type 505.
- FIG. 6 is an explanatory diagram illustrating an example of the provisional reservation period list 462 according to the first embodiment of this invention.
- the provisional reservation period list 462 includes an ID 601, a machine name 602, a Start Time 603, an End Time 604, and a type 605.
- ID 601 is an identifier for identifying each record stored in the provisional reservation period list 462.
- the machine name 602 is an identifier for identifying the VM 140 for which a provisional reservation period can be set.
- Start Time 603 and End Time 604 represent a provisional reservation period that can be set in the VM 140 corresponding to the machine name 602. Specifically, Start Time 603 is a start time of a temporary reservation period that can be set. End Time 604 is an end time of a provisional reservation period that can be set.
- Type 605 is information indicating the reservation type. Since the provisional reservation period list 462 stores information on the VM 140 in which the provisional reservation period is set, “tentative reservation” is stored in the type 605.
- FIG. 7 is an explanatory diagram illustrating an example of the reservation model 463 according to the first embodiment of this invention.
- one reservation model 463 is generated for one candidate list 461.
- the reservation model 463 includes an ID 701, a machine name 702, a Start Time 703, an End Time 704, and a type 705.
- ID 701 corresponds to ID 501 and ID 601
- machine name 702 corresponds to machine name 502 and machine name 602
- Start Time 703 corresponds to Start Time 503 and Start Time 603
- End Time 704 corresponds to End Time 504 and End Time 604
- the type 705 corresponds to the type 505 and the type 605 and will not be described.
- FIG. 8 is an explanatory diagram illustrating an example of the configuration information 451 according to the first embodiment of this invention.
- one piece of configuration information 451 exists for one computer 120.
- the configuration information 451 includes a machine name 801, an OS 802, a CPU 803, a memory 804, a core number 805, and a server name 806.
- the machine name 801 is an identifier for uniquely identifying the VM 140 on the computer 120.
- the OS 802 is an identifier for identifying the guest OS 150 executed on the VM 140 corresponding to the machine name 801.
- CPU 803 is the frequency of the CPU 200 of the computer 120 assigned to the VM 140 corresponding to the machine name 801.
- the memory 804 stores the memory capacity of the memory 210 of the computer 120 allocated to the VM 140 corresponding to the machine name 801.
- the core number 805 is the number of cores included in the CPU 200 of the computer 120 assigned to the VM 140 corresponding to the machine name 801.
- the server name 806 is a name for uniquely identifying an application running on the VM 140.
- FIG. 9 is an explanatory diagram illustrating an example of the migration information 452 according to the first embodiment of this invention.
- the migration information 452 includes a business ID 901, a migration ID 902, a migration start time 903, a migration end time 904, a type 905, a migration source machine name 906, a migration destination machine name 907, and a reference load 908.
- the business ID 901 is an identifier for identifying a business to be executed by the VM 140 on which migration is executed.
- the migration ID 902 is an identifier for identifying the migration process.
- the migration process is identified by the correspondence between the movement source and the movement destination. For this reason, the same migration ID 902 is assigned to migrations that are the same migration source and the same migration destination.
- Type 905 is information indicating the reservation type. Specifically, “occupied” or “provisional reservation” is stored.
- the migration start time 903 and the migration end time 904 are migration processing execution times.
- the type 905 When the type 905 is “occupied”, only the migration start time 903 is stored.
- the temporary reservation period is stored in the migration start time 903 and the migration end time 904. Specifically, the migration start time 903 stores the start time of the temporary reservation period, and the migration end time 904 stores the end time of the temporary reservation period.
- the migration process is executed within the temporary reservation period indicated by the migration start time 903 and the migration end time 904.
- the migration source machine name 906 is an identifier for identifying the migration source VM 140.
- the migration destination machine name 907 is an identifier for identifying the migration destination VM 140.
- the reference load 908 is a reference value of the load of the migration destination VM 140. Note that a value is stored in the reference load 908 only for a record whose type 905 is “provisional reservation”.
- the migration process is executed when the load of the migration destination VM 140 is equal to or less than the value indicated by the reference load 908.
- FIG. 10 is an explanatory diagram illustrating an example of the evaluation definition information 453 according to the first embodiment of this invention.
- Evaluation definition information 453 includes an evaluation value 1001, an evaluation item 1002, an evaluation criterion 1003, and a weighting 1004.
- Evaluation value 1001 is a variable representing an evaluation value.
- An evaluation item 1002 is a description of an evaluation target for calculating an evaluation value.
- the evaluation standard 1003 is a standard for calculating an evaluation value.
- the weighting 1004 is a weighting coefficient that represents the importance of each evaluation value 1001.
- the weight 1004 can be changed by the user. For example, when the user attaches importance to the CPU frequency assigned to the VM 140, the value is set so that the weight 1004 with the evaluation value 1001 of “b” is maximized.
- 11 and 12 are explanatory diagrams illustrating an example of the schedule information 454 according to the first embodiment of this invention.
- One schedule information 454 exists for one computer 120.
- FIG. 11 shows schedule information 454 before the VM 140 is newly reserved.
- FIG. 12 shows schedule information 454 after the VM 140 is newly reserved.
- the schedule information 454 stores information regarding the reservation status of the VM 140, specifically, the reservation period and the provisional reservation period set in the VM 140.
- the schedule information 454 includes a machine name 1101, a Start Time 1102, an End Time 1103, a type 1104, a business ID 1105, and a server name 1106.
- the machine name 1101 is an identifier for uniquely identifying the VM 140 on the computer 120.
- Start Time 1102 and End Time 1103 represent a reservation period set in the VM 140 corresponding to the machine name 1101 or a provisional reservation period.
- the start time of the reservation period is stored in the Start Time 1102, and the end time of the reservation period is stored in the End Time 1103.
- the start time of the temporary reservation period is stored in the Start Time 1102, and the end time of the temporary reservation period is stored in the End Time 1103.
- the type 1104 is information indicating a reservation type. Specifically, “occupation” is stored when the reservation period is set, and “temporary reservation” is stored when the provisional reservation period is set.
- the business ID 1105 is an identifier for identifying a business executed by the VM 140 corresponding to the machine name 1101.
- the server name 1106 is a name for uniquely identifying an application running on the VM 140.
- FIG. 13 is an explanatory diagram illustrating an example of reservation state information 455 according to the first embodiment of this invention.
- the reservation status information 455 includes a business ID 1301, a user ID 1302, a Start Time 1303, an End Time 1304, a temporary reservation period 1305, a migration 1306, a CPU 1307, and a memory 1308.
- the business ID 1301 is an identifier for identifying a business executed on the VM 140.
- the user ID 1302 is an identifier for identifying the user who requested the reservation of the VM 140 for executing the business corresponding to the business ID 1201.
- Start Time 1303 and End Time 1304 represent a user request period.
- the start time of the user request period is stored in the Start Time 1303.
- the end time 1304 stores the end time of the user request period.
- the provisional reservation period 1305 is information indicating whether or not a provisional reservation period is set for the VM 140 assigned to execute the business corresponding to the business ID 1301. Specifically, “present” is stored when the provisional reservation period is set, and “none” is stored when the provisional reservation period is not set.
- the migration 1306 is information indicating whether or not the VM 140 assigned to execute the business corresponding to the business ID 1301 is changed by the migration. That is, the information indicates whether the allocation schedule uses a plurality of VMs 140.
- migration is not executed. That is, if there is sufficient free time in one VM 140, one VM 140 is reserved. On the other hand, when migration is executed, a schedule that satisfies the user request period is generated by continuously connecting the free times of the VMs 140.
- CPU 1307 is the CPU frequency assigned to the reserved VM 140.
- the memory 1308 is a capacity of memory allocated to the reserved VM 140.
- 14A and 14B are explanatory diagrams illustrating an example of the free resource information 456 according to the first embodiment of this invention.
- One free resource information 456 exists for one computer 120.
- FIG. 14A shows free resource information 456 before the records are sorted in the candidate list generation process (see FIG. 19).
- FIG. 14B shows the free resource information 456 after the records are sorted in the candidate list generation process (see FIG. 19).
- the free resource information 456 includes an ID 1401, a machine name 1402, a Start Time 1403, an End Time 1404, and a type 1405.
- ID 1401 is an identifier for identifying each record of the free resource information 456.
- the machine name 1402 is an identifier for identifying a free resource, that is, a VM 140 having a free time.
- the Start Time 1403 and the End Time 1404 represent the free time that the VM 140 has. Specifically, the start time of the free time is stored in the Start Time 1403, and the end time of the free time is stored in the End Time 1404.
- Start Time 1403 represents a time when the candidate list generation process is executed.
- Undetermined” in End Time 1404 represents that the end time of the free time cannot be specified. That is, if the End Time 1404 is “undecided”, it means that the time after the Start Time 1403 is all free time.
- the type 1405 is information indicating the reservation type. Since the free resource information 456 stores only the record of the VM 140 having free time, “empty” indicating the free resource is stored in the type 1405.
- FIG. 15 is an explanatory diagram illustrating an example of an operation screen output to the input / output device 340 according to the first embodiment of the present invention.
- an operation screen 1500 as shown in FIG. 15 is displayed.
- the operation screen 1500 includes an input unit for inputting information for generating a reservation model and a display unit for displaying the generated reservation model.
- the operation screen 1500 is realized by the condition input unit 350 and the result output unit 360.
- the operation screen 1500 includes a specification setting button 1510, a generation button 1520, a generation condition input unit 1530, a reservation model display unit 1540, and a reservation button 1550.
- Spec setting button 1510 is an operation unit for setting the configuration condition of VM 140 to be reserved.
- an input unit (not shown) for setting the configuration conditions of the VM 140 is displayed. For example, an input unit for inputting a CPU allocated to the VM 140, a memory capacity, and the like is displayed.
- the generation button 1520 is an operation unit for executing reservation processing.
- a reservation request including information input to each input unit is transmitted to the schedule management server 110.
- a user ID for identifying the user who transmits the reservation request is also transmitted to the schedule management server 110.
- a method for acquiring the user ID a method of acquiring from the logon information or the like input when the user operates the management client 100 can be considered.
- the schedule management server 110 that has received the reservation request executes reservation processing based on the reservation request.
- the generation condition input unit 1530 is an input unit for inputting conditions for generating a reservation model.
- the generation item input unit 1530 includes a migration count 1531, a load reference 1532, a provisional reservation period 1533, a start time 1534, and an end time 1535.
- the number of migrations 1531 represents the number of migration executions.
- the load standard 1532 is information regarding the load of the migration destination VM 140.
- the load standard 1532 stores, for example, the usage rate of the CPU assigned to the migration destination VM 140.
- the load on the destination VM 140 is measured during the provisional reservation period. At this time, migration is executed when the measured load is equal to or less than the value indicated in the load reference 1532.
- the provisional reservation period 1533 represents the length of the provisional reservation period desired by the user.
- the start time 1534 and the end time 1535 represent a user request period. Specifically, the start time 1534 stores the start time of the user request period, and the end time 1535 stores the end time of the user request period.
- the reservation model display unit 1540 displays information on the generated reservation model.
- the reservation model display unit 1540 includes a check 1541, a work ID 1542, a use computer 1543, a migration count 1544, an evaluation 1545, a minimum frequency 1546, a use period 1547, and a provisional reservation period 1548.
- Check 1541 is an operation unit for selecting a reservation model used in a reservation setting process described later. The user can select an appropriate reservation model from a plurality of reservation models by operating the check 1541. When the reservation setting process is automatically executed, the check 1541 is set so that it cannot be operated.
- the business ID 1542 is an identifier for identifying a business executed by the VM 140.
- the usage computer 1543 is an identifier for identifying the VM 140 used in the reservation model.
- a reservation period and a provisional reservation period are set for the VM 140 corresponding to the use computer 1543.
- the number of migrations 1544 represents the number of migrations performed in the generated reservation model.
- Evaluation 1545 is an evaluation value of the generated reservation model.
- the minimum frequency 1546 represents the frequency of the CPU allocated to the VM 140 used in the generated reservation model.
- the minimum frequency 1546 stores the minimum frequency among the CPUs assigned to each VM 140.
- the minimum frequency 1546 may store an average value of CPU frequencies allocated to each VM 140.
- the usage period 1547 represents a period during which the generated reservation model can be reserved.
- the temporary reservation period 1548 represents the length of the set temporary reservation period.
- the temporary reservation period 1548 stores the minimum temporary reservation period among the temporary reservation periods. Note that.
- the temporary reservation period 1548 may store an average value of each temporary reservation period.
- the reservation button 1550 is an operation unit for instructing execution of reservation setting processing.
- reservation setting processing is executed based on the reservation model for which the check 1541 is operated.
- the reservation button 1550 is set not to be operated.
- FIG. 16 is a flowchart illustrating an outline of the reservation process executed by the schedule management server 110 according to the first embodiment of this invention.
- the schedule management server 110 starts processing upon receiving a reservation request from the management client 100 (step 1601). Specifically, the request acquisition unit 449 receives a reservation request. The request acquisition unit 449 temporarily stores the received reservation request on the memory 410. The reservation request includes information input using the operation screen 1500 and the user ID of the user who inputs the reservation request.
- FIG. 17 is an explanatory diagram illustrating an example of a reservation request stored on the memory 410 according to the first embodiment of this invention.
- the reservation request 1700 is held as table format information.
- the reservation request 1700 includes a U-Start Time 1701, U-End Time 1702, migration count 1703, load standard 1704, provisional reservation period 1705, and user ID 1706.
- U-Start Time 1701 and U-End Time 1702 represent user request periods. Specifically, the U-Start Time 1701 stores the start time of the user request period, and the U-End Time 1702 stores the end time of the user request period.
- the U-Start Time 1701 is the same as the start time 1534.
- U-End Time 1702 is the same as end time 1535.
- the migration count 1703 is the migration execution count.
- a reservation process for reserving one VM 140 is executed. That is, a conventional reservation process is executed.
- the number of migrations 1703 is “1” or more, reservation processing using a plurality of VMs 140 is executed.
- the migration count 1703 is the same as the migration count 1531.
- the load standard 1704 is information related to the load of the migration destination VM 140. Note that the load reference 1704 is the same as the load reference 1532.
- the temporary reservation period 1705 represents the length of the temporary reservation period desired by the user.
- the temporary reservation period 1705 is the same as the temporary reservation period 1533.
- User ID 1706 is an identifier for identifying a user who wants to reserve the VM 140.
- the reservation request 1700 of the first embodiment stores at least a U-Start Time 1701, a U-End Time 1702, and a user ID 1706. That is, it is necessary to input values for the start time 1534 and the end time 1535 of the operation screen 1500.
- the reservation request does not include information such as the number of migrations 1703, the load reference 1704, and the temporary reservation period 1705.
- the reservation request 1700 may include configuration information of the VM 140 to be reserved.
- the configuration information of the VM 140 may be, for example, a CPU frequency allocated to the VM 140, a memory capacity, and the like.
- the schedule management server 110 executes a search process for searching for a reservable VM 140 based on the received reservation request (step 1602). Specifically, the schedule management server 110 calls the reservation model generation unit 445, and the called reservation model generation unit 445 executes search processing. Details of the search process will be described later with reference to FIG.
- the schedule management server 110 outputs the search result (step 1603). Specifically, the result output unit 448 transmits the generated reservation model to the management client 100.
- the management client 100 displays the reservation model generated on the reservation model display unit 1540 of the operation screen 1500 based on the received information regarding the reservation model.
- the schedule management server 110 executes a reservation setting process based on the search result (step 1604). Specifically, the schedule management unit 442 executes reservation setting processing.
- the reservation setting process may be executed based on an instruction of a user who operates the management client 100, or may be automatically executed.
- the user operating the management client 100 instructs execution of the reservation setting process
- the user operates the reservation model check 1541 displayed on the reservation model display unit 1540 and further operates the reservation button 1550. To instruct execution of the reservation setting process.
- the schedule management server 110 outputs the result of the reservation process (step 1605) and ends the process. Specifically, the result output unit 448 transmits the result of the reservation setting process to the management client 100.
- FIG. 18 is a flowchart for explaining search processing in the first embodiment of the present invention.
- the reservation model generation unit 445 acquires a reservation request 1700 stored on the memory 410 (step 1801).
- the reservation model generation unit 445 sets candidate list generation conditions (step 1802).
- the reservation model generation unit 445 holds one or more candidate list generation conditions in advance, and sets the candidate list generation conditions by reading the stored candidate list generation conditions.
- the candidate list generation conditions are as follows, for example.
- (Generation condition 1) The VM 140 having the longest free time among the free times of the VM 140 is reserved.
- Generation condition 2) Reserve the VM 140 having the highest performance of the assigned CPU.
- Generation condition 3) Reserve a VM 140 having a free time for which no provisional reservation period is set.
- one candidate list 461 is generated for each candidate list generation condition.
- the reservation model generation unit 445 executes candidate list generation processing based on the acquired reservation request 1700 and the set candidate list generation conditions (step 1803). By this processing, a candidate list 461 as shown in FIG. 5 is generated. Also, the generated candidate list 461 is held on the memory 410.
- the reservation model generation unit 445 determines whether the candidate list 461 has been generated as a result of the candidate list generation process (step 1804). That is, it is determined whether there is a VM 140 that satisfies the reservation request and candidate list generation conditions.
- the reservation model generation unit 445 proceeds to step 1808.
- the reservation model generation unit 445 executes provisional reservation period list generation processing based on the generated candidate list 461 (step 1805). By this processing, a temporary reservation period list 462 as shown in FIG. 6 is generated. The generated provisional reservation period list 462 is held on the memory 410.
- the reservation model generation unit 445 executes a reservation model generation process based on the generated candidate list 461 and provisional reservation period list 462 (step 1806).
- the reservation model generation unit 445 holds the reservation model 463 generated by the processing in the memory 410.
- the reservation model generation unit 445 determines whether there are other candidate list generation conditions (step 1807). That is, it is determined whether reservation models have been generated for all candidate list generation conditions.
- the reservation model generation unit 445 returns to step 1802, sets other candidate list generation conditions, and executes the same processing (steps 1802 to 1808).
- the reservation model generation unit 445 outputs the generated reservation model 463 and the calculated evaluation value (step 1809), and ends the process.
- the output reservation model 463 and the calculated evaluation value are transmitted to the management client 100 by the result output unit 448.
- FIG. 19 is a flowchart for explaining candidate list generation processing in the first embodiment of the present invention.
- the reservation model generation unit 445 obtains free resource information 456 (step 1901). Specifically, the following processing is executed.
- the reservation model generation unit 445 first calls the free time detection unit 444.
- the idle time detection unit 444 acquires the processing start time.
- the free time detection unit 444 extracts the free time of the VM 140 for each computer 120 with reference to the schedule information 454.
- the free time detection unit 444 extracts, as free time, a period in which no reservation period or provisional reservation period is set for each computer 120. In other words, a period for which a reservation period or a provisional reservation period is set is not treated as a free time.
- the free time detection unit 444 generates free resource information 456 as shown in FIG. 14A based on the extracted free time of the VM 140. At this time, free resource information 456 of each computer 120 is generated.
- the generated free resource information 456 is stored on the memory 410.
- the generated free resource information 456 may be stored on the nonvolatile storage medium 420.
- the free time detection unit 444 notifies the reservation model generation unit 445 that the generation of the free resource information 456 has been completed.
- the reservation model generation unit 445 reads out all the generated free resource information 456 from the memory 410.
- the reservation model generation unit 445 determines the computer 120 that reserves the VM 140 based on the read free resource information 456.
- the following methods can be considered as a method of selecting a computer.
- the reservation model generation unit 445 refers to the free resource information 456 of each computer, and calculates the total value of the free time of each computer.
- the reservation model generation unit 445 selects a computer having the largest total free time calculated. That is, the computer 120 with the most free resources is selected.
- the reservation model generation unit 445 executes the following processing based on the free resource information 456 corresponding to the selected computer.
- the reservation model generation unit 445 refers to the start time 1303 and the end time 1304 of the acquired free resource information 456, and sorts the records stored in the free resource information 456 (step 1902).
- the reservation model generation unit 445 first sorts the records so that the Start Time 1403 is in ascending order. When there are a plurality of records having the same Start Time 1403, the reservation model generation unit 445 further sorts the records so that the End Time 1304 is in descending order.
- the records are sorted as shown in FIG. 14B.
- the processing time can be shortened by sorting the records stored in the free resource information 456 as described above.
- the reservation model generation unit 445 determines whether there is a VM 140 having a free time that satisfies the reservation request 1700 based on the acquired reservation request 1700 and the free resource information 456 (step 1903). Specifically, it is determined whether there is a VM 140 that satisfies the following conditional expression (1) and conditional expression (2).
- the VM 140 that satisfies the conditional expression (1) and the conditional expression (2) is referred to as a process target VM 140.
- the reservation model generation unit 445 extracts the VM 140 that satisfies the configuration information of the VM 140. Furthermore, the reservation model generation unit 445 determines whether there is a VM 140 that satisfies the conditional expression (1) and the conditional expression (2) for the extracted VM 140.
- the configuration information of the VM 140 included in the reservation request is information input by operating the specification setting button 1510.
- the reservation model generation unit 445 discards the candidate list 461 (step 1904) and ends the processing.
- the reservation model generation unit 445 determines whether there is a VM 140 that satisfies the set candidate list generation condition in the processing target VM 140 (step 1905).
- the set candidate list generation condition is (generation condition 1)
- the candidate list generation condition to be set is (generation condition 3)
- the type 1405 is “provisional reservation”.
- the reservation model generation unit 445 selects one processing target VM 140 (step 1907).
- the reservation model generation unit 445 selects one VM 140 from among the processing target VMs 140 that satisfy the candidate list generation condition. Select (step 1906).
- the reservation model generation unit 445 adds a record corresponding to the selected VM 140 to the candidate list 461 (step 1908).
- the reservation model generation unit 445 refers to the End Time 504 of the record added to the candidate list 461 and determines whether the End Time 504 is equal to or greater than the U-End Time 1702 (Step 1909). That is, it is determined whether or not the schedule setting that satisfies the user request period is completed.
- the schedule setting that satisfies the user request period is set. It is determined that it has not been completed.
- the reservation model generation unit 445 updates the free resource information 456. (Step 1910). That is, the time corresponding to the reservation period of the added VM 140 is deleted from the free time of the VM 140 corresponding to the added record.
- End Time 1404 before the update of the VM 140 corresponding to the added record is “2010/04/14 23:59” and the U-Start Time 1501 before the update is “2010/04/01 0:00”
- the End Time 1404 is updated to “2010/03/21 23:59”.
- the reservation model generation unit 445 updates the reservation request 1700 (step 1911), returns to step 1903, and executes the same processing (steps 1903 to 1912).
- the time obtained by adding 1 minute to the End Time 504 of the added record is stored in the U-Start Time 1701.
- U-Start Time 1701 is updated to “2010/04/10 23:00”.
- Step 1909 When it is determined in Step 1909 that the End Time 504 is equal to or greater than the U-End Time 1702, the reservation model generation unit 445 updates the free resource information 456 (Step 1912).
- the method for updating the free resource information 456 is the same as that in step 1910.
- the reservation model generation unit 445 outputs the generated candidate list 461 (step 1913) and ends the process.
- the reserved VM 140 is searched using the free resource information 456.
- the present invention is not limited to this.
- it may be a method of referring to the schedule information 454 and determining whether each VM 140 has a free time.
- the schedule management server 110 may not store the free resource information 456.
- step 1904 the reservation model generation unit 445 discards the candidate list 461, returns to step 1901, acquires free resource information 456 of other computers 120, and performs similar processing (steps 1901 to 1913). May be executed.
- FIG. 20 is a flowchart for explaining the provisional reservation period list generation processing in the first embodiment of the present invention.
- the reservation model generation unit 445 refers to the generated candidate list 461 and selects a record whose ID 501 is “2” (step 2001).
- the reservation model generation unit 445 determines whether or not all the records in the candidate list 461 have been selected (step 2002). That is, it is determined whether or not processing has been executed for all records in the candidate list 461.
- the reservation model generation unit 445 refers to the free resource information 456 and sets the temporary time for the VM 140 corresponding to the machine name 502 to set a temporary reservation period. It is determined whether it has (step 2003).
- the reservation model generation unit 445 sets the tentative reservation period requested by the user before the reservation period start time (Start Time 503) set in the VM 140 corresponding to the selected record. It is determined whether or not there is.
- the temporary reservation period for example, 1 hour before “2010/04/15 09:59” in VM2 It is determined whether or not there is a free time for setting.
- the length of the provisional reservation period may be specified by the user or may be set in advance.
- hot migration is used.
- information can be instantaneously moved from the migration source VM 140 to the migration destination VM 140. Therefore, the temporary reservation period may be shorter than the time required for normal migration processing. However, it is necessary to secure the time required to measure the load of the migration destination VM 140.
- the reservation model generation unit 445 proceeds to step 2005.
- the reservation model generation unit 445 stores the record of the VM 140 corresponding to the machine name 502 in the provisional reservation period list 462. Add (step 2004).
- the vacant time for up to 1 hour from the Start Time 503 of the selected record is added to the record of the temporary reservation period list 462 as a temporary reservation period.
- the reservation model generation unit 445 refers to the candidate list 461, selects the next record (step 2005), returns to step 2001, and executes the same processing (step 2001 to step 2006).
- the reservation model generation unit 445 outputs the generated provisional reservation period list 462 (step 2006) and ends the process.
- the reservation model generation unit 445 may add a record in which all the free time is the provisional reservation period to the provisional reservation period list 462.
- (generation condition 1) is selected as the candidate list generation condition. Further, it is assumed that a reservation period and a provisional reservation period are set. The length of the provisional reservation period to be set is 1 hour.
- 21A, 21B, 21C, and 21D are explanatory diagrams illustrating specific examples of candidate list generation processing according to the first embodiment of this invention.
- the U-Start Time 1701 of the user request period 2101 is “2010/04/01” and the U-End Time 1702 is “2010/0430”.
- the computer 120 reserved by the VM 140 has a reservation status as shown in FIG. 21A. That is, the reservation period 2104 is set. During the period in which the reservation period 2104 is set, a new reservation period 2104 cannot be set.
- the VM 1 reserves periods of “2010/04/01” to “2010/04/10” and “2010/04/15” to “2010/04/20”. In VM2, a period from “2010/04/15” to “2010/04/25” is reserved. In VM3, periods of “2010/04/05” to “2010/04/10” and “2010/04/25” to “2010/04/20” are reserved.
- the reservation model generation unit 445 performs the “2010/04/10” to “2010/04/15” of the VM1, the “2010/04/20” to “2010/04/30” of the VM1, and the “2” of the VM2. 2010/04/01 ”to“ 2010/04/15 ”, VM2“ 2010/04/25 ”to“ 2010/04/30 ”, VM3“ 2010/04/01 ”to“ 2010/04/05 ” , And the free resource information 456 having “2010/04/10” to “2010/04/25” of the VM 3 as records.
- the reservation model generation unit 445 sets the period of “2010/04/01” to “2010/04/15” of VM2 and “2010/04/01” to “2010/04/05” of VM3. The free time that satisfies the reservation request is extracted.
- Step 1905 the reservation model generation unit 445 selects a record with a long idle time, that is, “2010/04/01” to “2010/04/15” of the VM2. As a result, a record having a reservation period 2105-1 is added to the candidate list 461.
- Step 1909 since the End Time 504 of the added record is “2010/04/15”, the process proceeds to Step 1910.
- step 1910 a process of deleting the free time of “2010/04/01” to “2010/04/15” of the VM 2 from the free resource information 456 is executed.
- step 1911 U-Start Time 1701 is updated to “2010/04/15”.
- the reservation model generation unit 445 extracts the period from “2010/04/15” to “2010/04/25” of the VM 3 as free time that satisfies the reservation request.
- Step 1905 the reservation model generation unit 445 selects “2010/04/15” to “2010/04/25” of the VM3. As a result, a record having a reservation period 2105-2 is added to the candidate list 461.
- Step 1909 since the End Time 504 of the added record is “2010/04/25”, the process proceeds to Step 1910.
- step 1910 a process for deleting the free time of “2010/04/15” to “2010/04/25” of the VM 3 from the free resource information 456 is executed.
- step 1911 U-Start Time 1701 is updated to “2010/04/25”.
- the reservation model generation unit 445 sets the period of “2010/04/20” to “2010/04/30” of VM1 and “2010/04/20” to “2010/04/30” of VM3. Extract as free resources that satisfy the reservation request.
- Step 1905 the reservation model generation unit 445 selects a record with a long idle time, that is, “2010/04/20” to “2010/04/30” of the VM1. As a result, a record having a reservation period 2105-3 is added to the candidate list 461.
- Step 1909 since the End Time 504 of the added record is “2010/04/30”, the process proceeds to Step 1912.
- step 1912 a process for deleting the free time of “2010/04/20” to “2010/04/30” of VM1 from the free resource information 456 is executed.
- step 1913 the reservation model generation unit 445 outputs the generated candidate list 461 and ends the process.
- the reservations of the VMs 140 for the user request period 2101 can be made by connecting the reservation periods 2105-1, 2105-2, and 2105-3 so that they are continuous.
- the temporary reservation period list generation process is further executed in the state shown in FIG. 21D.
- 22A and 22B are explanatory diagrams illustrating a specific example of provisional reservation period list generation processing according to the first embodiment of this invention.
- step 2001 the reservation model generation unit 445 selects a record having a reservation period 2105-2.
- step 2002 since all the records in the candidate list 461 have not been processed, the reservation model generation unit 445 proceeds to step 2003.
- Step 2003 the VM 3 corresponding to the record having the reservation period 2105-2 has a free time of one hour or more before the reservation period 2105-2, that is, before “2010/04/15”. 04/15 ”is added to the provisional reservation period list 462 as a provisional reservation period 2200-1 for a period from the point of 1 hour retroactively.
- step 2005 the reservation model generation unit 445 selects a record having a reservation period 2105-3.
- step 2002 since all the records in the candidate list 461 have not been processed, the reservation model generation unit 445 proceeds to step 2003.
- VM1 corresponding to the record having the reservation period 2105-3 has a free time of one hour or more before the reservation period 2105-3, that is, before “2010/04/25”.
- a record having a period from “2010/04/25” to a point one hour later as the provisional reservation period 2200-2 is added.
- step 2005 the reservation model generation unit 445 returns to step 2002 without selecting a record because there is no other record.
- step 2002 it is determined that the processing has been executed for all the records in the candidate list 461, and the reservation model generation unit 445 outputs the temporary reservation list and ends the processing.
- FIG. 23 is a flowchart for explaining a reservation model generation process according to the first embodiment of the present invention.
- the reservation model generation unit 445 acquires the candidate list 461 and the provisional reservation period list 462 (step 2301). There is one temporary reservation period list 462 in one candidate list 461.
- the reservation model generation unit 445 generates a reservation model 463 as shown in FIG. 7 by merging the candidate list 461 and the provisional reservation period list 462 (step 2302). At this time, all reservation models that satisfy the user request period are generated.
- the reservation model generation unit 445 calculates an evaluation value of the generated reservation model 463 (step 2303). Specifically, the following processing is executed.
- the reservation model generation unit 445 obtains the number of migrations by counting the number of changes between VMs 140 included in the generated reservation model. Also, the reservation model generation unit 445 acquires the CPU frequency by referring to the configuration information 451 based on the machine name 702 of the reservation model 463. In addition, the reservation model generation unit 445 acquires the temporary reservation period from the Start Time 703 and the End Time 704 of the record whose type 705 of the generated reservation model is “provisional reservation”.
- the reservation model generation unit 445 calculates an evaluation value by referring to the evaluation definition information 453 based on the acquired number of migrations, CPU frequency, and provisional reservation period.
- the evaluation value is calculated as follows, for example.
- Evaluation value Y 3 ⁇ a + 2 ⁇ b + 1 ⁇ c
- a, b, and c are values corresponding to the evaluation value 1001.
- the coefficient of each evaluation value 1001 is a value of weighting 1004.
- the reservation model generation unit 445 selects one generated reservation model, and repeatedly executes the processing of steps 2304 to 2306.
- the reservation model generation unit 445 determines whether or not the number of migrations in the selected reservation model is equal to or less than the set number of migrations (step 2304). That is, it is determined whether or not the number of migrations in the selected reservation model is the number of migrations 1703 or less.
- the reservation model generation unit 445 discards the selected reservation model and proceeds to step 2306.
- the reservation model generation unit 445 determines whether or not the evaluation value of the selected reservation model is equal to or greater than a predetermined threshold value. (Step 2305).
- the threshold value is a preset value.
- the reservation model generation unit 445 discards the selected reservation model and proceeds to step 2306.
- the reservation model generation unit 445 determines whether there is another reservation model (step 2306). That is, it is determined whether or not processing has been completed for all generated reservation models.
- the reservation model generation unit 445 selects one reservation model, returns to step 2304, and executes the same processing (steps 2304 to 2307).
- the reservation model generation unit 445 assigns a business ID to the reservation model that has not been discarded in the processing of steps 2304 to 2306, and outputs the reservation model to which the business ID is assigned. (Step 2307), the process ends.
- reservation request includes only the user request period, all possible reservation models are output.
- a flag indicating that the condition is not met may be added to the reservation model, and the reservation model may be output.
- the reservation model display unit 1540 of the operation screen 1500 highlights and displays the reservation model to which the flag is added.
- the user can grasp all selectable reservation models. Further, the user can select a reservation model while confirming a reservation model that does not satisfy the conditions.
- FIG. 24 is a flowchart for explaining reservation setting processing in the first embodiment of the present invention.
- the schedule management unit 442 selects a reservation model (step 2401).
- a method for selecting a reservation model a method that a user selects and a method that the schedule management unit 442 selects can be considered.
- schedule management unit 442 selects, for example, a method of selecting a reservation model having the largest calculated evaluation value can be considered. Note that the schedule management unit 442 may select a reservation model based on other criteria.
- the schedule management unit 442 updates the schedule information 454 based on the selected reservation model (step 2402).
- the schedule management unit 442 adds a record whose type 705 is “occupied” among the selected reservation models to the schedule information 454.
- the business ID 1105 stores the same identifier as the business ID assigned in step 2307.
- the schedule management unit 442 determines whether or not the selected reservation model includes a record relating to the temporary reservation period (step 2403). That is, it is determined whether or not the selected reservation model includes a record whose type 705 is “provisional reservation”.
- the schedule management unit 442 proceeds to Step 2405.
- the schedule management unit 442 adds a record relating to the provisional reservation period to the schedule information 454 (step 2404). At this time, the same identifier as in Step 2402 is stored in the business ID 405. A value is also set for the reference load 908.
- the reservation request includes a load reference value
- the value is stored in the reference load 908.
- a preset value is stored.
- the schedule management unit 442 updates the reservation state information 455 based on the selected reservation model (step 2405).
- the schedule management unit 442 sets the same business ID as the business ID 1105 in the business ID 1301.
- the schedule management unit 442 stores the start time of the user request period in the Start Time 1303 of the reservation status information 455, and stores the end time of the user request period in the End Time 1304.
- the schedule management unit 442 sets the provisional reservation period 1305 to “present”.
- the schedule management unit 442 sets the migration 1306 to “present”.
- the schedule management unit 442 refers to the configuration information 451 from the machine name 702 of the selected reservation model, and stores the configuration information of the corresponding VM 140 in the CPU 1307 and the memory 1308, respectively.
- the schedule management unit 442 updates the migration information 452 based on the selected reservation model (step 2406).
- the schedule management unit 442 refers to the type 705 of the selected reservation model and determines whether or not a provisional reservation period is set.
- the schedule management unit 442 stores the value of the Start Time 703 of the record whose type 705 is “provisional reservation” in the migration start time 903, and migrates the value of the End Time 704 Store at end time 904. Also, the schedule management unit 442 sets a machine name, a business ID, and a server name corresponding to the record.
- the record whose type 705 of the selected reservation model is “occupied” is updated as follows.
- the schedule management unit 442 reads two records whose type 705 is “occupied”, and determines that migration is executed when the machine names 702 of the two records are different from each other.
- the Start Time 703 is stored in the migration start time 903.
- the schedule management unit 442 ends the processing after updating each information.
- FIG. 25 is a flowchart for explaining the migration processing in the first embodiment of the present invention.
- the schedule management unit 442 periodically executes migration processing.
- the schedule management unit 442 selects one record from the migration information 452 (step 2501).
- a record selection method for example, a method of sequentially selecting records stored in the migration information 452 can be considered.
- the schedule management unit 442 acquires the time at the start of processing (step 2502).
- the schedule management unit 442 determines whether or not the acquired time corresponds to either the reservation period or the provisional reservation period (step 2503).
- the schedule management unit 442 determines whether or not the migration start time 903 of the selected record matches the acquired time.
- the schedule management unit 442 proceeds to step 2512.
- the schedule management unit 442 confirms the type 905 of the acquired record.
- the schedule management unit 442 proceeds to Step 2504.
- the schedule management unit 442 proceeds to Step 2509.
- the schedule management unit 442 instructs the hypervisor 130 to execute migration (step 2509).
- the schedule management unit 442 calls the migration command unit 447, and the migration command unit 447 transmits a migration execution command to the hypervisor 130 that manages the migration source VM 140.
- the migration execution instruction includes at least a business ID, an identifier of the migration source VM 140, and an identifier of the migration destination VM 140.
- the hypervisor 130 that has received the migration execution command calls the switching execution unit 260.
- the called switching execution unit 260 moves the guest OS 150 that executes the business corresponding to the business ID from the migration source VM 140 to the migration destination VM 140 based on the migration execution command.
- the switching execution unit 260 transmits a migration processing completion notification to the schedule management server 110.
- the schedule management unit 442 determines whether the migration is successful (step 2510).
- the schedule management unit 442 determines whether or not a completion notification has been received from the switching execution unit 260. When a completion notification is received from the switching execution unit 260, it is determined that the migration is successful. Other determination methods may be used.
- the schedule management unit 442 When it is determined that the migration has failed, the schedule management unit 442 notifies the user that the migration has failed (step 2511).
- the schedule management unit 442 determines whether there is an unselected record (step 2512).
- the schedule management unit 442 returns to Step 2501 and executes the same processing (Steps 2501 to 2512).
- step 2503 If it is determined in step 2503 that the acquired time is the provisional reservation period, the schedule management unit 442 executes a load measurement process (step 2504).
- the schedule management unit 442 calls the load measurement unit 446, and the load measurement unit 446 transmits a load information transmission command to the load information transmission unit 250 of the migration destination VM 140.
- the schedule management unit 442 determines whether or not the value included in the load information is equal to or less than the reference load 908 based on the acquired load information (Step 2505).
- the schedule management unit 442 returns to Step 2502.
- the schedule management unit 442 instructs the hypervisor 130 to execute migration (step 2506). This process is the same as step 2509.
- the schedule management unit 442 determines whether or not the migration is successful (step 2507). This process is the same as step 2510.
- the schedule management unit 442 updates the schedule information 454 (step 2508).
- the schedule management unit 442 stores the migration completion time in the Start Time 1102 of the migration destination VM 140. Further, the schedule management unit 442 deletes the record of the migration source VM 140 from the schedule information 454. As a result, the resources of the migration source VM 140 are released.
- the schedule management unit 442 determines whether there is an unselected record (step 2512).
- the schedule management unit 442 returns to Step 2501 and executes the same processing (Steps 2501 to 2512).
- migration is executed when the load is below a predetermined value. If the migration is not successful, the migration is executed again during the provisional reservation period. As a result, the migration is surely executed, so that the safety and reliability of the VM 140 that executes the business is increased.
- the first embodiment even if there is no VM 140 having a free time longer than the user request period, reservation of the VM 140 that satisfies the user request period from the free time of each VM 140 is possible. As a result, the short idle time of each VM 140 can be used effectively.
- the execution timing of migration is managed by the provisional reservation period.
- migration is executed according to the load of the migration destination VM 140. Even if the migration process fails, the migration process is executed again during the provisional reservation period. As a result, the safety and reliability of the VM 140 that executes a job is increased.
- the candidate list generation process is different when the schedule information 454 includes a record related to the provisional reservation period. Since other apparatus configurations and processing methods are the same as those in the first embodiment, description thereof will be omitted.
- FIG. 26A and FIG. 26B are flowcharts for explaining candidate list generation processing in the second embodiment of the present invention.
- the reservation model generation unit 445 acquires the free resource information 456 generated based on the free time for which no reservation period or provisional reservation period is set (step 2601).
- the free resource information 456 is generated by the following processing.
- the free time detection unit 444 refers to the schedule information 454 and extracts, for each computer 120, free time excluding records whose types 1104 are “occupied” and “provisional reservation”. That is, the free time in which no reservation period or provisional reservation period is set is extracted.
- the free time detecting unit 444 generates free resource information 456 based on the extracted free time. At this time, the generated free resource information 456 stores only the record whose type 1405 is “empty”.
- the reservation model generation unit 445 determines whether or not the determination process is the first time (step 2602). This determination can be made by, for example, the reservation model generation unit 445 counting the number of processes.
- the reservation model generation unit 445 clears the candidate list 461. Specifically, the U-Start Time 1501 is reset to the original value, and all the records stored in the candidate list 461 are deleted.
- the reservation model generation unit 445 acquires the free resource information 456 generated based on the free time for which no reservation period is set (step 2603).
- the free resource information 456 is generated by the following processing.
- the free time detection unit 444 refers to the schedule information 454 and extracts, for each computer 120, free time excluding records whose type 1104 is “occupied”. That is, the free time for which no reservation period is set is extracted. As a result, free resource information 456 in which the temporary reservation period is treated as free time is generated.
- the free time detection unit 444 generates free resource information 456 based on the extracted free time. At this time, the generated free resource information 456 stores records whose types 1405 are “empty” and “provisional reservation”.
- the free time detection unit 444 does not have to extract all the provisional reservation periods as free time.
- the period from the end time of the provisional reservation period (End Time 1103) to one hour before is not extracted as an empty time.
- the provisional reservation period is 4 hours, a period of 3 hours is extracted as the vacant time from the start time (Start Time 1102) of the provisional reservation period.
- the reservation model generation unit 445 determines whether there is a free resource that satisfies the reservation request based on the generated free resource information 456 (step 1902).
- Step 1909 When it is determined in Step 1909 that the End Time 504 is equal to or greater than the U-End Time 1702, the reservation model generation unit 445 updates the free resource information 456 (Step 1912).
- the reservation model generation unit 445 updates the schedule information 454 (step 1913) and ends the process. Specifically, the Start Time 1102 and the End Time 1103 of the record whose type 1104 is “provisional reservation” are updated.
- the time overlapping with Start Time 503 and End Time 504 in the candidate list is deleted. Note that if the total duration of the temporary reservation period overlaps with the Start Time 503 and End Time 504 of the candidate list, the record in which the temporary reservation period is set is deleted from the schedule information 454.
- the update method the same method as in Step 1910 is used. However, the update method of the free resource information 456 generated in step 2604 is partially different. Specifically, when a new reservation period is set in the temporary reservation period, the period for the reservation period is deleted from the temporary reservation period. That is, a new reservation period is set with the provisional reservation period as an idle time.
- the recorder of the temporary reservation period is deleted from the free resource information 456.
- the provisional reservation period is a period during which other users can set the reservation period. That is, during the provisional reservation period, the VM 140 is not treated as an occupied state but as a kind of free time. Thereby, flexible resource allocation and release can be realized.
- migration is executed when the load of the VM 140 that is the destination of the temporary reservation period is equal to or less than the reference load 908.
- the present invention is not limited to this, and the following method may be used.
- the schedule management unit 442 instructs the hypervisor 130 to monitor the job of the job executed on each VM 140.
- the hypervisor 130 that has received the job monitoring command transmits a job completion notification to the schedule management unit 442 when detecting that the job of the migration source VM 140 has been completed.
- the schedule management unit 442 that has received the job completion notification instructs the hypervisor 130 to execute migration.
- migration is executed when the job is completed during the provisional reservation period.
- the hypervisor 130 includes a failure detection unit (not shown) that detects a failure of the VM 140.
- the schedule management unit 442 instructs the hypervisor 130 to monitor the failure of the VM 140.
- the hypervisor 130 that has received the failure monitoring command of the VM 140 calls a failure detection unit (not shown) and monitors the failure of the VM 140.
- the hypervisor 130 transmits a failure notification including the identifier of the migration source VM 140 to the schedule management unit 442.
- the schedule management unit 442 that has received the failure notification instructs the hypervisor 130 to execute migration.
- the hypervisor 130 transmits a failure notification including the identifier of the migration destination VM 140 to the schedule management unit 442.
- the schedule management unit 442 that has received the failure notification notifies the reserved VM 140 that a failure has occurred.
- the schedule management unit 442 may execute the reservation process again.
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
Description
(生成条件1)VM140が有する空き時間のうち、最も長い空き時間を有するVM140を予約する。
(生成条件2)割当てられているCPUの性能が最も高いVM140を予約する。
(生成条件3)仮予約期間が設定されていない空き時間を有するVM140を予約する。
(1)U-Start Time ≧ Start Time
(2)U-Start Time < End Time
評価値Y=3×a+2×b+1×c
ここで、a、b及びcは、評価値1001に対応する値である。また、各評価値1001の係数は、重付け1004の値である。
Claims (16)
- ユーザが操作する端末と、前記ユーザの業務を実行する複数の計算機と、前記ユーザの業務を実行させる前記計算機の割当てを管理するスケジュール管理サーバと、を備える計算機システムにおけるスケジュール管理方法であって、
前記端末は、第1のプロセッサと、前記第1のプロセッサに接続される第1のメモリと、前記第1のプロセッサに接続される第1のネットワークインタフェースと、前記第1のプロセッサに接続される入出力部とを備え、
前記計算機は、第2のプロセッサと、前記第2のプロセッサに接続される第2のメモリと、前記第2のプロセッサに接続される第2のネットワークインタフェースとを備え、
前記スケジュール管理サーバは、第3のプロセッサと、前記第3のプロセッサに接続される第3のメモリと、前記第3のプロセッサに接続される第3のネットワークインタフェースとを備え、
前記第2のメモリは、
前記計算機の物理資源を仮想的に分割して生成される複数の仮想計算機を管理する仮想マシンモニタと、
前記各仮想計算機上で実行され、前記ユーザの業務を実行するオペレーティングシステムと、を格納し、
前記第3のメモリは、
前記ユーザの業務に割り当てる前記仮想計算機を予約するための予約要求を受信する要求受信部と、
前記各仮想計算機の予約状況を含む予約情報を管理し、前記ユーザの業務に割り当てる前記仮想計算機の予約スケジュールを生成するスケジュール管理部と、を格納し、
前記スケジュール生成方法は、
前記要求受信部が、前記端末から送信される、ユーザが希望する予約要求期間を含む前記予約要求を受信する第1のステップと、
前記スケジュール管理部が、前記予約情報を参照して、前記仮想計算機毎に、新たな予約が可能な期間である空き期間を抽出する第2のステップと、
前記スケジュール管理部が、前記受信した予約要求と、前記抽出された各仮想計算機の空き期間とに基づいて、予約可能な前記仮想計算機が実行される前記計算機を選択する第3のステップと、
前記選択された計算機上で実行される一つの前記仮想計算機の空き期間に設定される予約期間の終点と、前記決定された計算機上で実行される他の前記仮想計算機の空き期間に設定される予約期間の開始点とが一致又は重なるように前記各仮想計算機を予約することによって、前記予約要求期間と一致する期間の予約スケジュールを生成する第4のステップと、
前記スケジュール管理部が、前記生成された予約スケジュールに基づいて、前記予約情報を更新する第5のステップと、
前記スケジュール管理部が、前記更新された予約情報に基づいて、前記ユーザの業務を実行する前記仮想計算機から、予約された他の前記仮想計算機に前記ユーザの業務をマイグレーションする第6のステップと、
を含むことを特徴とするスケジュール管理方法。 - 前記第4のステップでは、前記スケジュール管理部が、前記設定される予約期間と、前記設定される予約期間以前の空き時間に設定され、マイグレーション実行期間を示す仮予約期間とを含む前記予約スケジュールを生成することを特徴とする請求項1に記載のスケジュール管理方法。
- 前記第4のステップは、
前記スケジュール管理部が、前記設定される予約期間に関する第1の割当スケジュールを生成する第7のステップと、
前記スケジュール管理部が、前記設定される仮予約期間に関する第2の割当スケジュールを生成する第8のステップと、
前記スケジュール管理部が、前記生成された第1の割当スケジュール及び第2の割当スケジュールに基づいて、前記予約スケジュールを生成する第9のステップと、
を含むことを特徴とする請求項2に記載のスケジュール管理方法。 - 前記スケジュール管理部は、前記第1の割当スケジュールを生成するための生成条件を複数保持し、
前記予約要求は、前記予約スケジュールを選択するための選択基準情報を含み、
前記7のステップでは、前記スケジュール管理部が、前記生成条件毎に、一つの前記第1の割当スケジュールを生成し、
前記第8のステップでは、前記スケジュール管理部が、前記生成された第1の割当スケジュール毎に、対応する前記第2の割当スケジュールを一つ生成し、
前記第9のステップでは、前記スケジュール管理部が、前記複数の第1の割当スケジュールと、対応する前記複数の第2の割当スケジュールとに基づいて、複数の前記予約スケジュールを生成し、
前記スケジュール管理方法は、前記第4のステップが実行された後に、さらに、前記スケジュール管理部が、前記受信した予約要求に基づいて、前記生成された複数の予約スケジュールのなかから、一つの前記予約スケジュールを選択する第10のステップを含むことを特徴とする請求項3に記載のスケジュール管理方法。 - 前記第6のステップでは、
前記スケジュール管理部が、周期的に時刻を取得し、
前記スケジュール管理部が、前記取得された時刻に基づいて前記予約スケジュールを参照して、前記取得された時刻が前記設定された仮予約期間に含まれるか否かを判定し、
前記取得された時刻が前記設定された仮予約期間に含まれると判定された場合に、前記スケジュール管理部が、前記マイグレーション先の仮想計算機の負荷を取得し、
前記取得されたマイグレーション先の仮想計算機の負荷が所定の閾値以下である場合に、前記スケジュール管理部が、前記マイグレーション元の仮想計算機上で実行される前記ユーザの業務を、前記マイグレーション先の仮想計算機にマイグレーションすることを特徴とする請求項2に記載のスケジュール管理方法。 - 前記第6のステップでは、
前記スケジュール管理部が、周期的に時刻を取得し、
前記スケジュール管理部が、前記取得された時刻に基づいて前記予約スケジュールを参照して、前記取得された時刻が前記設定された仮予約期間に含まれるか否かを判定し、
前記取得された時刻が前記設定された仮予約期間に含まれると判定された場合には、前記スケジュール管理部が、前記ユーザの業務が実行されるマイグレーション元の仮想計算機のジョブの実行状況を監視し、
前記ジョブの実行完了が検知された場合に、前記スケジュール管理部が、前記マイグレーション元の仮想計算機上で実行されるユーザの業務を、前記マイグレーション先の仮想計算機にマイグレーションすることを特徴とする請求項2に記載のスケジュール管理方法。 - 前記第6のステップでは、
前記スケジュール管理部が、周期的に時刻を取得し、
前記スケジュール管理部が、前記取得された時刻に基づいて前記予約スケジュールを参照して、前記取得された時刻が前記設定された仮予約期間に含まれるか否かを判定し、
前記取得された時刻が前記設定された仮予約期間に含まれると判定された場合に、前記スケジュール管理部が、前記ユーザの業務が実行されるマイグレーション元の仮想計算機の障害を監視し、
前記マイグレーション元の仮想計算機に障害が発生したことが検知された場合に、前記スケジュール管理部が、前記マイグレーション元の仮想計算機上で実行される前記ユーザの業務を、前記マイグレーション先の仮想計算機にマイグレーションすることを特徴とする請求項2に記載のスケジュール管理方法。 - 前記予約期間内では、当該予約期間が設定された前記仮想計算機は、新たな予約ができない状態であり、
前記仮予約期間内では、当該仮予約期間が設定された前記仮想計算機は、新たな予約が可能な状態であり、
前記スケジュール管理部は、新たな前記予約要求を受信した場合に、前記仮予約期間を、前記空き時間として抽出することを特徴とする請求項2に記載のスケジュール生成方法。 - 計算機が備える物理資源を論理的に分割することによって生成された仮想計算機に対するユーザの業務の割当てを管理するスケジュール管理サーバであって、
前記スケジュール管理サーバは、プロセッサと、前記プロセッサに接続されるメモリと、前記プロセッサに接続されるネットワークインタフェースとを備え、
前記メモリは、
前記ユーザの業務に割り当てる前記仮想計算機を予約するための予約要求を受信する要求受信部と、
前記各仮想計算機の予約状況を含む予約情報を管理し、前記ユーザの業務に割り当てる前記仮想計算機の予約スケジュールを生成するスケジュール管理部と、を備え、
前記要求受信部は、ユーザが希望する予約要求期間を含む前記予約要求を受信し、
前記スケジュール管理部は、
前記予約情報を参照して、前記仮想計算機毎に、新たな予約が可能な期間である空き期間を抽出し、
前記受信した予約要求と、前記抽出された各仮想計算機の空き期間とに基づいて、予約可能な前記仮想計算機が実行される前記計算機を選択し、
前記選択された計算機上で実行される一つの前記仮想計算機の空き期間に設定される予約期間の終点と、前記決定された計算機上で実行される他の前記仮想計算機の空き期間に設定される予約期間の開始点とが一致又は重なるように前記各仮想計算機を予約することによって、前記予約要求期間と一致する期間の予約スケジュールを生成し、
前記生成された予約スケジュールに基づいて、前記予約情報を更新し、
前記更新された予約情報に基づいて、前記ユーザの業務を実行する前記仮想計算機から、予約された他の前記仮想計算機に前記ユーザの業務をマイグレーションすることを特徴とするスケジュール管理サーバ。 - 前記スケジュール管理部は、前記予約スケジュールを生成する場合に、前記各仮想計算機に設定される予約期間と、前記各仮想計算機に設定される予約期間以前の空き時間に設定され、マイグレーション実行期間を示す仮予約期間とを含む前記予約スケジュールを生成することを特徴とする請求項9に記載のスケジュール管理サーバ。
- 前記スケジュール管理部は、前記予約スケジュールを生成する場合に、
前記設定される予約期間に関する第1の割当スケジュールを生成し、
前記設定される仮予約期間に関する第2の割当スケジュールを生成し、
前記生成された第1の割当スケジュール及び第2の割当スケジュールに基づいて、前記予約スケジュールを生成することを特徴とする請求項10に記載のスケジュール管理サーバ。 - 前記スケジュール管理部は、前記第1の割当スケジュールを生成するための生成条件を複数保持し、
前記予約要求は、前記予約スケジュールを選択するための選択基準情報を含み、
前記スケジュール管理部は、
前記生成条件毎に、一つの前記第1の割当スケジュールを生成し、
前記生成された第1の割当スケジュール毎に、対応する前記第2の割当スケジュールを一つ生成し、
前記複数の第1の割当スケジュールと、対応する前記複数の第2の割当スケジュールとに基づいて、複数の前記予約スケジュールを生成し、
前記受信した予約要求に基づいて、前記生成された複数の予約スケジュールのなかから、一つの前記予約スケジュールを選択することを特徴とする請求項11に記載のスケジュール管理サーバ。 - 前記スケジュール管理部は、
周期的に時刻を取得し、
前記取得された時刻に基づいて前記予約スケジュールを参照して、前記取得された時刻が前記設定された仮予約期間に含まれるか否かを判定し、
前記取得された時刻が前記設定された仮予約期間に含まれると判定された場合に、前記マイグレーション先の仮想計算機の負荷を取得し、
前記取得されたマイグレーション先の仮想計算機の負荷が所定の閾値以下である場合に、前記マイグレーション元の仮想計算機上で実行される前記ユーザの業務を、前記マイグレーション先の仮想計算機にマイグレーションすることを特徴とする請求項10に記載のスケジュール管理サーバ。 - 前記スケジュール管理部は、
周期的に時刻を取得し、
前記取得された時刻に基づいて前記予約スケジュールを参照して、前記取得された時刻が前記設定された仮予約期間に含まれるか否かを判定し、
前記取得された時刻が前記設定された仮予約期間に含まれると判定された場合に、前記ユーザの業務が実行されるマイグレーション元の仮想計算機のジョブの実行状況を監視し、
前記ジョブの実行完了が検知された場合に、前記マイグレーション元の仮想計算機上で実行されるユーザの業務を、前記マイグレーション先の仮想計算機にマイグレーションすることを特徴とする請求項10に記載のスケジュール管理サーバ。 - 前記スケジュール管理部は、
周期的に時刻を取得し、
前記取得された時刻に基づいて前記予約スケジュールを参照して、前記取得された時刻が前記設定された仮予約期間に含まれるか否かを判定し、
前記取得された時刻が前記設定された仮予約期間に含まれると判定された場合に、前記ユーザの業務が実行されるマイグレーション元の仮想計算機の障害を監視し、
前記マイグレーション元の仮想計算機に障害が発生したことが検知された場合に、前記マイグレーション元の仮想計算機上で実行される前記ユーザの業務を、前記マイグレーション先の仮想計算機にマイグレーションすることを特徴とする請求項10に記載のスケジュール管理サーバ。 - 前記予約期間内では、当該予約期間が設定された前記仮想計算機は、新たな予約ができない状態であり、
前記仮予約期間内では、当該仮予約期間が設定された前記仮想計算機は、新たな予約が可能な状態であり、
前記スケジュール管理部は、新たな前記予約要求を受信した場合に、前記仮予約期間を、前記空き時間として抽出することを特徴とする請求項10に記載のスケジュール管理サーバ。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2010/064186 WO2012025977A1 (ja) | 2010-08-23 | 2010-08-23 | スケジュール管理方法及びスケジュール管理サーバ |
US13/816,668 US20130227127A1 (en) | 2010-08-23 | 2010-08-23 | Schedule management method and schedule management server |
JP2012530433A JP5334226B2 (ja) | 2010-08-23 | 2010-08-23 | スケジュール管理方法及びスケジュール管理サーバ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2010/064186 WO2012025977A1 (ja) | 2010-08-23 | 2010-08-23 | スケジュール管理方法及びスケジュール管理サーバ |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2012025977A1 true WO2012025977A1 (ja) | 2012-03-01 |
Family
ID=45723007
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2010/064186 WO2012025977A1 (ja) | 2010-08-23 | 2010-08-23 | スケジュール管理方法及びスケジュール管理サーバ |
Country Status (3)
Country | Link |
---|---|
US (1) | US20130227127A1 (ja) |
JP (1) | JP5334226B2 (ja) |
WO (1) | WO2012025977A1 (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014030203A1 (ja) * | 2012-08-20 | 2014-02-27 | 富士通株式会社 | 稼働管理装置、稼働管理方法、及び稼働管理プログラム |
WO2015083255A1 (ja) * | 2013-12-04 | 2015-06-11 | 株式会社日立製作所 | 計算機システム及び仮想マシンの制御方法 |
WO2017170470A1 (ja) * | 2016-03-28 | 2017-10-05 | 日本電気株式会社 | ネットワーク機能仮想化管理オーケストレーション装置と方法とプログラム |
US10768967B2 (en) | 2017-08-23 | 2020-09-08 | Fujitsu Limited | Maintenance control method, system control apparatus and storage medium |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013042078A1 (en) * | 2011-09-22 | 2013-03-28 | International Business Machines Corporation | Provisioning of resources |
CN102724277B (zh) * | 2012-05-04 | 2016-01-06 | 华为技术有限公司 | 虚拟机热迁移和部署的方法、服务器及集群系统 |
WO2013180523A1 (ko) * | 2012-05-31 | 2013-12-05 | 엘지전자 주식회사 | 무선 통신 시스템에서 스케줄을 통합하기 위한 방법 및 장치 |
US9612866B2 (en) * | 2012-08-29 | 2017-04-04 | Oracle International Corporation | System and method for determining a recommendation on submitting a work request based on work request type |
US9323628B2 (en) * | 2012-10-09 | 2016-04-26 | Dh2I Company | Instance level server application monitoring, load balancing, and resource allocation |
US9442971B2 (en) * | 2013-04-17 | 2016-09-13 | International Business Machines Corporation | Weighted transaction priority based dynamically upon phase of transaction completion |
WO2015033412A1 (ja) * | 2013-09-05 | 2015-03-12 | 株式会社日立製作所 | 計算機システム及び計算機システムの制御方法 |
JP6326913B2 (ja) * | 2014-03-31 | 2018-05-23 | 富士通株式会社 | 制御プログラムおよび制御方法 |
US10395219B1 (en) * | 2015-12-18 | 2019-08-27 | Amazon Technologies, Inc. | Location policies for reserved virtual machine instances |
EP3226133A1 (en) * | 2016-03-31 | 2017-10-04 | Huawei Technologies Co., Ltd. | Task scheduling and resource provisioning system and method |
US10248457B2 (en) | 2016-08-10 | 2019-04-02 | International Business Machines Corporation | Providing exclusive use of cache associated with a processing entity of a processor complex to a selected task |
US10275280B2 (en) * | 2016-08-10 | 2019-04-30 | International Business Machines Corporation | Reserving a core of a processor complex for a critical task |
US10223164B2 (en) | 2016-10-24 | 2019-03-05 | International Business Machines Corporation | Execution of critical tasks based on the number of available processing entities |
US10248464B2 (en) | 2016-10-24 | 2019-04-02 | International Business Machines Corporation | Providing additional memory and cache for the execution of critical tasks by folding processing units of a processor complex |
CN107733735B (zh) * | 2017-06-01 | 2022-03-04 | 云智慧(北京)科技有限公司 | 一种植入于压测宝中的脚本录制系统及方法 |
US10909094B1 (en) | 2018-04-30 | 2021-02-02 | Amazon Technologies, Inc. | Migration scheduling for fast-mutating metadata records |
US11233747B2 (en) * | 2019-01-23 | 2022-01-25 | Servicenow, Inc. | Systems and methods for acquiring server resources at schedule time |
US11347541B2 (en) * | 2019-01-31 | 2022-05-31 | Walmart Apollo, Llc | Methods and apparatus for virtual machine rebalancing |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005346433A (ja) * | 2004-06-03 | 2005-12-15 | Hitachi Ltd | プログラム実行予約方法及び装置並びにその処理プログラム、及びプログラム実行システム |
JP2007179248A (ja) * | 2005-12-27 | 2007-07-12 | Hitachi Ltd | 計算機管理方法、計算機管理プログラム、および、計算機管理装置 |
JP2009116852A (ja) * | 2007-10-18 | 2009-05-28 | Fujitsu Ltd | マイグレーションプログラム、および仮想マシン管理装置 |
JP2009134687A (ja) * | 2007-11-29 | 2009-06-18 | Hitachi Ltd | アプリケーションマイグレーションのための候補データセンタを見つける方法および装置[0001] |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7668782B1 (en) * | 1998-04-01 | 2010-02-23 | Soverain Software Llc | Electronic commerce system for offer and acceptance negotiation with encryption |
US7016949B1 (en) * | 2000-11-20 | 2006-03-21 | Colorado Computer Training Institute | Network training system with a remote, shared classroom laboratory |
EP1868132A4 (en) * | 2005-03-23 | 2014-06-18 | Ihc Corp | AUTHENTICATION SYSTEM |
JP4629587B2 (ja) * | 2006-01-18 | 2011-02-09 | 富士通株式会社 | 予約管理プログラム |
GB2467769B (en) * | 2009-02-13 | 2011-04-13 | Amdocs Software Systems Ltd | Method and system for specifying planned changes to a communications network |
US20110046987A1 (en) * | 2009-08-24 | 2011-02-24 | Petrisor Gregory C | Method and system for virtual inflight reservation of post-flight resources |
-
2010
- 2010-08-23 WO PCT/JP2010/064186 patent/WO2012025977A1/ja active Application Filing
- 2010-08-23 JP JP2012530433A patent/JP5334226B2/ja active Active
- 2010-08-23 US US13/816,668 patent/US20130227127A1/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005346433A (ja) * | 2004-06-03 | 2005-12-15 | Hitachi Ltd | プログラム実行予約方法及び装置並びにその処理プログラム、及びプログラム実行システム |
JP2007179248A (ja) * | 2005-12-27 | 2007-07-12 | Hitachi Ltd | 計算機管理方法、計算機管理プログラム、および、計算機管理装置 |
JP2009116852A (ja) * | 2007-10-18 | 2009-05-28 | Fujitsu Ltd | マイグレーションプログラム、および仮想マシン管理装置 |
JP2009134687A (ja) * | 2007-11-29 | 2009-06-18 | Hitachi Ltd | アプリケーションマイグレーションのための候補データセンタを見つける方法および装置[0001] |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014030203A1 (ja) * | 2012-08-20 | 2014-02-27 | 富士通株式会社 | 稼働管理装置、稼働管理方法、及び稼働管理プログラム |
WO2015083255A1 (ja) * | 2013-12-04 | 2015-06-11 | 株式会社日立製作所 | 計算機システム及び仮想マシンの制御方法 |
WO2017170470A1 (ja) * | 2016-03-28 | 2017-10-05 | 日本電気株式会社 | ネットワーク機能仮想化管理オーケストレーション装置と方法とプログラム |
US10768967B2 (en) | 2017-08-23 | 2020-09-08 | Fujitsu Limited | Maintenance control method, system control apparatus and storage medium |
Also Published As
Publication number | Publication date |
---|---|
US20130227127A1 (en) | 2013-08-29 |
JPWO2012025977A1 (ja) | 2013-10-28 |
JP5334226B2 (ja) | 2013-11-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5334226B2 (ja) | スケジュール管理方法及びスケジュール管理サーバ | |
CN106874084B (zh) | 一种分布式工作流调度的方法、装置及计算机设备 | |
JP5477602B2 (ja) | サーバの信頼性可視化方法、計算機システム及び管理サーバ | |
US9852035B2 (en) | High availability dynamic restart priority calculator | |
US8595737B2 (en) | Method for migrating a virtual server to physical server according to a variation ratio, a reference execution time, a predetermined occupied resource amount and a occupancy amount | |
US9112750B2 (en) | Job management server and job management method | |
JP5773554B2 (ja) | タスク管理方法及びタスク管理装置 | |
US8838801B2 (en) | Cloud optimization using workload analysis | |
JP5577412B2 (ja) | 計算機システム、マイグレーション方法及び管理サーバ | |
US9396026B2 (en) | Allocating a task to a computer based on determined resources | |
US9477460B2 (en) | Non-transitory computer-readable storage medium for selective application of update programs dependent upon a load of a virtual machine and related apparatus and method | |
US20110113429A1 (en) | Incident management method and operation management server | |
WO2014024251A1 (ja) | クラウドサービス選択装置、クラウドサービス選択システム、クラウドサービス選択方法、およびクラウドサービス選択プログラム | |
US8832695B2 (en) | Method of scheduling jobs and information processing apparatus implementing same | |
JP5589218B2 (ja) | 計算機システム及び管理計算機 | |
JP6501694B2 (ja) | 計算機システム及び計算機システムのタスク実行方法 | |
JP5740338B2 (ja) | 仮想環境運用支援システム | |
JP2017162209A (ja) | 分散処理実行管理プログラム、分散処理実行管理方法および分散処理実行管理装置 | |
Liu et al. | High-responsive scheduling with MapReduce performance prediction on hadoop YARN | |
JPWO2007108062A1 (ja) | サーバ管理方法、プログラム及び装置 | |
JP5417626B2 (ja) | 管理計算機、ジョブスケジューリング方法及びジョブスケジューリングプログラム | |
JPH1049504A (ja) | 負荷分散バッチシステム | |
JP5056346B2 (ja) | 情報処理装置、情報処理システム、仮想サーバの移動処理の制御方法、及び、プログラム | |
WO2013022411A1 (en) | Coordinating software deployment | |
JP6681484B2 (ja) | 計算機運用管理システムおよび方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 10856386 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2012530433 Country of ref document: JP |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
WWE | Wipo information: entry into national phase |
Ref document number: 13816668 Country of ref document: US |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 10856386 Country of ref document: EP Kind code of ref document: A1 |