Patent ID: 12204947

DESCRIPTION OF EMBODIMENTS

Configuration of Virtualization Infrastructure

Hereinafter, a resource management device in an embodiment of the present invention will be described. When a reservation request (a request for allocation of a virtualized resource) fails, the resource management device releases (tentatively releases) allocation of an existing reservation to a virtualized resource (a reservation that is already allocated a virtualized resource, excluding a reservation allocated a virtualized resource in use), allocates a virtualized resource for the reservation request, and subsequently reallocates the existing reservation to a virtualized resource. When the reallocation succeeds, the reservation request succeeds. When the reallocation fails, the resource management device brings allocation of the existing reservation back to the allocation before released, and concludes that the reservation request fails. When a new reservation request succeeds during the reallocation, the resource management device performs reallocation of existing reservations including the new reservation request to virtualized resources.

FIG.1is an entire configuration diagram of a virtualization infrastructure10including a resource management device100according to the present embodiment. The virtualization infrastructure10includes physical devices200, the resource management device100, and a switch300connecting the physical devices200and the resource management device100. Although three physical devices200are depicted inFIG.1, the number of physical devices is not limited to three. Although the switch300is connected to a terminal used by a user who requests a virtualized resource, and to an external network to which a destination terminal is connected to which a service using a virtualized resource is provided, the terminal and the external network are not depicted inFIG.1.

Each physical device200is, for example, a device including a physical resource, such as a physical host or a network device. The physical resource of the physical device200is virtualized, reserved as a virtualized resource, and used for a service. Examples of the physical resource include a CPU, a memory, a storage, a network (network bandwidth), and the like.

Configuration of Resource Management Device

FIG.2is a hardware configuration diagram of the resource management device100according to the present embodiment. The resource management device100is a computer and includes a CPU101, a RAM (Random Access Memory)102, a ROM (Read Only Memory)103, an SSD (Solid State Drive)104, a NIC (Network Interface Card)105, an input/output interface106(referred to as input/output I/F (interface) inFIG.2), and a medium drive107.

The NIC105is connected to the switch300, and transmits and receives communication data to/from the physical device200and the terminal used by the user of the virtualization infrastructure10. A UI (User Interface) device198, such as a display, a keyboard, or a mouse, is connected to the input/output interface106. The medium drive107reads a program on a recording medium199. The CPU101executes the read program (see a program121inFIG.3, which will be described later), whereby the resource management device100, which is a computer, allocates and reserves a virtualized resource on any one of the physical devices200for a reservation request for the virtualized resource.

FIG.3is a functional configuration diagram of the resource management device100according to the present embodiment. The resource management device100includes a control unit110, a storage unit120, and a communication unit190. The communication unit190includes the NIC105(seeFIG.2), and transmits and receives communication data to/from the physical devices200and the terminal used by the user of the virtualization infrastructure10.

The storage unit120includes the RAM102, the ROM103, and the SSD104, and stores the program121, a virtualized resource management database130(referred to as virtualized resource management DB (database) inFIG.3; seeFIG.4, which will be described later), a virtualized resource tentative reservation database150(seeFIG.5, which will be described later), a physical device management database160, and the like. The physical device management database160includes information, such as a type, an amount, an auxiliary device, and availability/unavailability, on a virtualized resource included in each physical device200.

Configuration of Resource Management Device: Virtualized Resource Management Database

FIG.4is a data configuration diagram of the virtualized resource management database130according to the present embodiment. The virtualized resource management database130is, for example, data in a tabular form and is a master database indicating reservation information on virtualized resources. One row (record) of the virtualized resource management database130indicates reservation information on one virtualized resource, and includes columns (attributes) of reservation identification information131(referred to as reservation ID (identifier) inFIG.4), physical device identification information132(referred to as physical device ID inFIG.4), resource type133, resource amount134, specified property135, reservation period136, and state137.

The reservation identification information131is identification information on a reservation of a virtualized resource indicated by a record. The physical device identification information132is identification information on a physical device200in which the virtualized resource exists. The resource type133is a type of the virtualized resource, and examples of the type include CPU, memory, and the like. The resource amount134is an amount of the virtualized resource.

The specified property135is a property specified when the virtualized resource is reserved, and indicates, for example, an auxiliary device mounted in a physical host. The reservation period136is a time period for which the virtualized resource is reserved. The state137is a state of the virtualized resource and is “reserved” or “in use”. “Reserved” indicates that the virtualized resource is already reserved but is not in use at a current point of time. “In use” indicates that the virtualized resource is reserved and use of the virtualized resource is already started.

A record148indicates a reservation with identification information of “RQ4935”, a reservation of a 512-GB memory existing in a physical device with identification information of “H034”, and a reservation for a reservation period between 1200 hours on May 18, 2019 and 1200 hours on the next day, May 19, 2019. A record149indicates that the same reservation reserves eight CPUs in the same physical device.

Configuration of Resource Management Device: Virtualized Resource Tentative Reservation Database

FIG.5is a data configuration diagram of the virtualized resource tentative reservation database150according to the present embodiment. The virtualized resource tentative reservation database150is, for example, data in a tabular form and is a temporary database referred to by a virtualized resource state management unit115, which will be described later, when a virtualized resource is reallocated for an existing reservation that is already allocated a virtualized resource in the virtualized resource management database130(seeFIG.4).

One row (record) of the virtualized resource tentative reservation database150indicates tentative reservation information on one virtualized resource, and includes reservation identification information151(referred to as reservation ID inFIG.5), physical device identification information152(referred to as physical device ID inFIG.5), a resource type153, a resource amount154, a specified property155, and a reservation period156. The reservation identification information151, the physical device identification information152, the resource type153, the resource amount154, the specified property155, and the reservation period156are similar to the reservation identification information131, the physical device identification information132, the resource type133, the resource amount134, the specified property135, and the reservation period136in the virtualized resource management database130(seeFIG.4), respectively.

Configuration of Resource Management Device: Control Unit

Referring back toFIG.3, the control unit110will be described.

A physical device management unit111performs control of start and stop of each physical device200. A message transmission/reception unit112performs message exchange with each physical device200, and reception of/response to a reservation request for a virtualized resource. A virtualized resource control unit113performs control of start, stop, migration, and the like of a service (a virtual machine or a virtualized network function) using a virtualized resource.

A virtualized resource reservation unit114performs processing for a reservation request for a virtualized resource received by the message transmission/reception unit112. Specifically, the virtualized resource reservation unit114attempts a reservation by referring to the virtualized resource management database130, searching for a physical device200having an available virtualized resource equivalent to the virtualized resource included in the reservation request, and allocating the virtualized resource. When the allocation succeeds, the virtualized resource reservation unit114stores a record of the reservation corresponding to the reservation request in the virtualized resource management database130, and instructs the message transmission/reception unit112to send a response indicating success of the reservation to a request source. When the allocation fails, the virtualized resource reservation unit114outputs the reservation request to the virtualized resource state management unit115.

When the virtualized resource state management unit115receives the reservation request from the virtualized resource reservation unit114, the virtualized resource state management unit115attempts to allocate a virtualized resource for the reservation request (virtualized resource reallocation processing; see steps S13to S22inFIG.6, which will be described later). Note that while the virtualized resource state management unit115is performing the virtualized resource reallocation processing, the virtualized resource reservation unit114performs processing for a new reservation request in parallel.

Virtualized Resource Allocation Processing

FIG.6is a flowchart of virtualized resource allocation processing performed by the resource management device100, according to the present embodiment. The processing after the message transmission/reception unit112receives a reservation request will be described with reference toFIG.6.

In step S11, the virtualized resource reservation unit114performs processing for the reservation request. Specifically, the virtualized resource reservation unit114attempts a reservation by referring to the virtualized resource management database130, searching for a physical device200having an available virtualized resource equivalent to a virtualized resource included in the reservation request, and allocating the virtualized resource.

In step S12, when the allocation succeeds, so that the reservation succeeds (step S12→YES), the virtualized resource reservation unit114stores the reservation in the virtualized resource management database130and advances to step S23. When the allocation fails, so that the reservation fails (step S12→NO), the virtualized resource reservation unit114outputs the reservation request to the virtualized resource state management unit115, and the virtualized resource state management unit115performs processing in and after step S13. After step S12is finished, the virtualized resource reservation unit114performs processing for a new reservation request (see step S11).

In step S13, the virtualized resource state management unit115copies a record with the state137(seeFIG.4) indicating “in use” from the virtualized resource management database130into the virtualized resource tentative reservation database150. Specifically, the virtualized resource state management unit115empties the virtualized resource tentative reservation database150. Subsequently, the virtualized resource state management unit115adds a record, corresponding to each record with the state137indicating “in use” in the virtualized resource management database130, to the virtualized resource tentative reservation database150and stores the reservation identification information131, the physical device identification information132, the resource type133, the resource amount134, the specified property135, and the reservation period136as the reservation identification information151, the physical device identification information152, the resource type153, the resource amount154, the specified property155, and the reservation period156of each added record, respectively.

The virtualized resource tentative reservation database150is to indicate reservation information on a reservation with the state137indicating “reserved” (an existing reservation) that is released in the virtualized resource management database130. On the other hand, in the virtualized resource management database130, each such existing reservation remains “reserved”. Accordingly, it will also be stated that an existing reservation is tentatively released. Note that a reservation with the state137indicating “in use” is not included among the existing reservations. In subsequent steps, the virtualized resource state management unit115attempts a reservation by allocating resources for the reservation request for which the virtualized resource reservation unit114fails in arranging a reservation, and for each existing reservation, by referring to the virtualized resource tentative reservation database150in which only the reservations with the state137indicating “in use” are registered.

In step S14, the virtualized resource state management unit115attempts a reservation by referring to the virtualized resource tentative reservation database150, searching for a physical device200having an available virtualized resource equivalent to the virtualized resource included in the reservation request outputted by the virtualized resource reservation unit114in step S12, and allocating the virtualized resource.

In step S15, the virtualized resource state management unit115stores the reservation of the virtualized resource in the virtualized resource tentative reservation database150and advances to step S16when the reservation in step S14succeeds (step S15→YES), and advances to step S24when the reservation in step S14fails (step S15→NO).

In step S16, the virtualized resource state management unit115performs reservation by allocating each existing reservation to an originally allocated virtualized resource. An existing reservation is a reservation with the state137(seeFIG.4) indicating “reserved” that is not copied into the virtualized resource tentative reservation database150in step S13. Specifically, with respect to each existing reservation, the virtualized resource state management unit115attempts to allocate the existing reservation a virtualized resource that exists in a physical device indicated under the physical device identification information132and corresponds to the resource type133and the resource amount134in the virtualized resource management database130. The reservation performed for the existing reservation succeeds when the virtualized resource is not allocated for the reservation request in step S14, but the reservation performed for the existing reservation fails when the virtualized resource is allocated for the reservation request. The virtualized resource state management unit115stores each successful reservation in the virtualized resource tentative reservation database150.

In step S17, with respect to each existing reservation for which the reservation performed in step S16fails, the virtualized resource state management unit115newly attempts a reservation in order one by one. In step S16, the virtualized resource state management unit115attempts at and fails in allocating the virtualized resource in the same physical device that is indicated in the virtualized resource management database130. In step S17, the virtualized resource state management unit115attempts to newly allocate a virtualized resource that exists in a different physical device and corresponds to the resource type133and the resource amount134. The virtualized resource state management unit115stores each successful reservation in the virtualized resource tentative reservation database150.

In step S18, the virtualized resource state management unit115advances to step S19when all of the reservations newly attempted for the failed existing reservations succeed in the step S17(step S18→YES), and advances to step S24when even one or some of the newly attempted reservations fail (step S18→NO).

In step S19, the virtualized resource state management unit115advances to step S20when there is any reservation (hereinafter, referred to as new reservation) that is successfully arranged for a new reservation request received after step S12by the virtualized resource reservation unit114(step S19→YES), and advances to step S22when there is no new reservation (step S19→NO).

In step S20, with respect to each new reservation, the virtualized resource state management unit115newly attempts a reservation in order one by one. The virtualized resource state management unit115stores each successful reservation in the virtualized resource tentative reservation database150.

In step S21, the virtualized resource state management unit115advances to step S22when all of the reservations newly attempted for the new reservations succeed in step S20(step S21→YES), and advances to step S24when even one or some of the newly attempted reservations fail (step S21→NO).

In step S22, the virtualized resource state management unit115copies the virtualized resource tentative reservation database150onto the virtualized resource management database130(overwrites the virtualized resource management database130with the virtualized resource tentative reservation database150). Specifically, the virtualized resource state management unit115adds a record, in the virtualized resource tentative reservation database150, of the reservation corresponding to the reservation request failing in steps S11to S12, to the virtualized resource management database130. The virtualized resource state management unit115replaces records of each existing reservation and each new reservation in the virtualized resource management database130, with corresponding records in the virtualized resource tentative reservation database150.

In step S22, reservations are successfully arranged for all of the reservation request failing in steps S11to S12, the existing reservations, and the new reservations, and reservation information on the reservations is stored in the virtualized resource tentative reservation database150. The virtualized resource state management unit115updates the reservation information in the virtualized resource management database130by overwriting the virtualized resource management database130indicating the reservation information on originally allocated virtualized resources, with the reservation information in the virtualized resource tentative reservation database150. When the reservation fails and “NO” is chosen in step S15, S18, or S21, the information in the virtualized resource tentative reservation database150is discarded.

In step S23, the message transmission/reception unit112sends a response indicating success of the reservation request, to the request source.

In step S24, the message transmission/reception unit112sends a response indicating failure of the reservation request, to the request source.

Characteristics of Virtualized Resource Allocation Processing

When the virtualized resource reservation unit114fails in processing for a reservation request, the virtualized resource state management unit115attempts to arrange reservations by allocating a virtualized resource for the reservation request and thereafter allocating a virtualized resource for each existing reservation, while referring to the virtualized resource tentative reservation database150in which only a virtualized resource in use is reserved. In some cases, success of the reservations enables the resource management device100to allocate a virtualized resource also for a reservation request that conventionally fails in reservation, and accordingly resources of the virtualization infrastructure10can be efficiently used.

When re-reservation is performed for an existing reservation (steps S16to S17), the virtualized resource state management unit115allocates the same already allocated physical device200when the physical device200has an available virtualized resource (see step S16). When the same physical device200cannot be allocated, the virtualized resource state management unit115allocates another physical device200(see step S17). Re-reservation is newly performed for not all existing reservations, but an existing reservation is allocated, if possible, to a physical device200already allocated for the existing reservation, whereby the virtualized resource reallocation processing can be sped up.

The virtualized resource state management unit115performs the reallocation processing (steps S13to S22) by referring to the virtualized resource tentative reservation database150that is different from the master virtualized resource management database130. Specifically, the virtualized resource state management unit115newly allocates and reserves a virtualized resource for an existing reservation, assuming that the existing reservation is in a reservation-released state (a state where the virtualized resource is released, a state where the reservation is tentatively released) although the existing reservation remains in a reserved state (with the state137indicating “reserved”) on the virtualized resource management database130. Accordingly, the virtualized resource reservation unit114can continue to perform processing for a reservation request by referring to the virtualized resource management database130(see steps S11to S12) in parallel while the virtualized resource state management unit115is performing the reallocation processing. Accordingly, processing for a reservation request in the resource management device100can be sped up.

Modification Example: Order in Re-Reservation

In step S17(seeFIG.6), with respect to each existing reservation failing in reservation, the virtualized resource state management unit115newly attempts a reservation in order one by one. The virtualized resource state management unit115may newly attempt a reservation while varying the order. For example, it is assumed that existing reservations failing in reservation are a reservation1, a reservation2, a reservation3, a reservation4, and a reservation5. When newly attempted reservations fail that are attempted in the following order of the reservation1, the reservation2, the reservation3, the reservation4, and the reservation5, the virtualized resource state management unit115next newly attempts reservations in the following order of the reservation2, the reservation3, reservation4, the reservation5, and the reservation1. When the newly attempted reservations also fail in such order, reservations are newly attempted in the following order of the reservation3, the reservation4, the reservation5, reservation1, and the reservation2. In such a manner, the virtualized resource state management unit115may newly attempt reservations while changing the order of the reservations in turn. In such a case, when the number of failed existing reservations is N, reservations are attempted in N orders at the maximum.

As another method, reservations may be attempted in every possible order. In such a case, reservations are reattempted in N! (factorial N) orders at the maximum. As another method, reservations may be attempted in order from an existing reservation requesting a largest resource amount. A processing time period can be reduced by allocating virtualized resources in order from an existing reservation for which it is most difficult to allocate a resource.

Modification Example: Reservation Newly Attempted for Existing Reservation

In steps S16to S17(seeFIG.6) in the above-described embodiment, an existing reservation is allocated to the same physical device that is indicated under the physical device identification information132in the virtualized resource management database130, and for an existing reservation failing in the allocation, a physical device200is searched for and a virtualized resource is newly allocated. As another example, for every existing reservation, a physical device200may be searched for and a virtualized resource may be newly allocated.

In the above-described embodiment, while the virtualized resource state management unit115is performing the virtualized resource reallocation processing (steps S13to S22inFIG.6), the virtualized resource reservation unit114performs processing for a new reservation request in parallel. As another example, the virtualized resource reservation unit114may be configured not to perform processing for a new reservation request while the virtualized resource state management unit115is performing the virtualized resource reallocation processing.

FIG.7is a flowchart of virtualized resource allocation processing performed by the resource management device100, according to a modification of the present embodiment. Steps S31, S33to S35, S37to S40correspond to steps S11, S13to S15, S18, S22to S24inFIG.6, respectively. Hereinafter, differences fromFIG.6will be described.

InFIG.6, after step S12is finished, the virtualized resource reservation unit114performs processing for a new reservation request. As another example, inFIG.7, the virtualized resource reservation unit114does not perform processing for a new reservation request after step S32is finished, but performs processing for a new reservation request after the virtualized resource allocation processing shown inFIG.7is finished.

Steps S16and S17inFIG.6are replaced with step S36inFIG.7, in which the virtualized resource state management unit115attempts to search for a physical device200and newly allocate a virtualized resource for every existing reservation.

Steps S19to S21inFIG.6are not included in the virtualized resource allocation processing shown inFIG.7. The reason is that the virtualized resource reservation unit114does not perform processing for a new reservation request, and therefore no new reservation occurs.

In step S36, since the virtualized resource state management unit115attempts to search for a physical device200and newly allocate a virtualized resource for every existing reservation, a probability is increased that resource allocation for all existing reservations succeed, although the processing time period is sacrificed. Moreover, since the virtualized resource reservation unit114does not perform processing for a reservation request and therefore no new reservation occurs while the virtualized resource state management unit115is performing the virtualized resource reallocation processing, a probability is increased that the virtualized resource reallocation processing succeeds.

Other Modification Examples

The present invention is not limited to the above-described embodiment, and changes may be made, in addition to the above-described modification examples, within a scope that does not depart from the gist of the present invention. For example, the program for the resource management device100is read from the recording medium199, but may be acquired via a network. As another embodiment, the program for the resource management device100may be acquired from a server that distributes the program for the resource management device100.

In the above-described present embodiment, the virtualized resource state management unit115accesses the virtualized resource tentative reservation database150in the virtualized resource reallocation processing. In place of the virtualized resource tentative reservation database150, the virtualized resource management database130may be accessed. Specifically, as a value of the state137(seeFIG.4), “tentatively reserved” is provided in addition to “reserved” and “in use”. When performing reservation in the virtualized resource reallocation processing, the virtualized resource state management unit115allocates a virtualized resource, assuming that there are no reservations with the state137indicating “reserved”. When the allocation succeeds, the virtualized resource state management unit115stores a reservation not in the virtualized resource tentative reservation database150, but in the virtualized resource management database130as a record with the state137indicating “tentatively reserved”. When the allocation fails, the virtualized resource state management unit115deletes a record indicating “tentatively reserved”.

Although some embodiments of the present invention have been described hereinabove, the embodiments are described only for illustrative purposes, and do not limit the technical scope of the present invention. The present invention can be implemented in other various embodiments, and further, various changes such as omission and substitution can be made within a scope that does not depart from the gist of the present invention. Such embodiments and modifications are incorporated within the scope and the gist of the invention described in the present description and the like, and within the scope of the inventions and equivalence thereof according to claims.

Effects

Hereinafter, effects of the resource management device will be described.

The resource management device100according to the present embodiment includes: the storage unit120including the virtualized resource management database130that stores reservation information on a virtualized resource by storing the virtualized resource and a reservation period of the virtualized resource in association with each other; the virtualized resource reservation unit114that receives a reservation request for the virtualized resource, and allocates and reserves the virtualized resource included in the reservation request; and the virtualized resource state management unit115as described below. When reservation performed for the reservation request fails, the virtualized resource state management unit115performs tentative release of a reservation with respect to one or more existing reservations each representing a reservation of a virtualized resource already reserved, and allocates and reserves the virtualized resource included in the reservation request. Further, the virtualized resource state management unit115performs re-reservation for each of the one or more existing reservations by allocating an applicable virtualized resource. When the re-reservation succeeds for all of the one or more existing reservations, the virtualized resource state management unit115concludes that the reservation request succeeds. When the re-reservation fails even for one or some of the one or more existing reservations, the virtualized resource state management unit115releases a reservation arranged for the reservation request and keeps reservation information on the one or more existing reservations stored before the tentative release is performed.

According to the resource management device100as described above, for a reservation request for which the virtualized resource reservation unit114fails in arranging a reservation, the virtualized resource state management unit115may succeed in allocating and reserving a virtualized resource in some cases, and accordingly, resources of the virtualization infrastructure10can be efficiently used.

In the resource management device100according to the present embodiment, in the re-reservation performed by the virtualized resource state management unit115for the one or more existing reservations, the virtualized resource allocated before the tentative release is performed is allocated and reserved for each of the one or more existing reservations, and for an existing reservation for which allocation fails, a virtualized resource that is different from the virtualized resource allocated before the tentative release is performed and that is equivalent to the reservation information stored before the tentative release is performed is allocated and reserved.

Thus, the virtualized resource state management unit115does not newly perform the re-reservation for every existing reservation, but allocates an existing reservation, if possible, to a physical device already allocated for the existing reservation, and accordingly, processing for the re-reservation can be sped up.

In the resource management device100according to the present embodiment, the virtualized resource reservation unit114receives one or more new reservation requests while the virtualized resource state management unit115is performing processing. The virtualized resource reservation unit114allocates and reserves a virtualized resource included in each of the one or more new reservation requests, in addition to the reservation information stored when the reservation performed for the reservation request fails. The virtualized resource state management unit115, after the re-reservation succeeds for all of the one or more existing reservations, performs another reservation for the one or more new reservation requests for each of which a reservation is successfully arranged by the virtualized resource reservation unit114, by allocating a virtualized resource applicable to each of the one or more new reservation requests. When the other reservation succeeds for all of the one or more new reservation requests, the virtualized resource state management unit115concludes that the reservation request succeeds. When the other reservation fails even for one or some of the one or more new reservation requests, the virtualized resource state management unit115keeps the reservation information stored when the virtualized resource included in each of the one or more new reservation requests is allocated and reserved, in addition to the reservation information stored when the reservation performed for the reservation request fails.

Thus, the virtualized resource reservation unit114continues to perform processing for a new reservation request in parallel while the virtualized resource state management unit115is performing re-reservation processing. Accordingly, the processing for a reservation request in the resource management device can be sped up.

REFERENCE SIGNS LIST

10Virtualization infrastructure100Resource management device114Virtualized resource reservation unit115Virtualized resource state management unit130Virtualized resource management database150Virtualized resource tentative reservation database199Recording medium