Resource allocation device, resource allocation method, and program

WO2025052519A1PCT designated stage expired Publication Date: 2025-03-13NIPPON TELEGRAPH & TELEPHONE CORP
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
PCT/JP2023/032255
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-09-04
Publication Date
2025-03-13

Smart Images

  • Figure JP2023032255_13032025_PF_FP_ABST
    Figure JP2023032255_13032025_PF_FP_ABST
Patent Text Reader

Abstract

The present invention provides a resource allocation device that allocates the resources of a physical network to a virtual network, the device comprising: an input unit that accepts input of a request for the allocation of resources to the virtual network; and a resource allocation unit that calculates an expansion cost associated with resource expansion required to accommodate the virtual network for each of one or more default routes to the virtual network, selects a minimum default route, which is the default route with the minimum expansion cost among the one or more default routes, and allocates the resources of the minimum default route, with the resource expansion applied thereto, to the virtual network.
Need to check novelty before this filing date? Find Prior Art

Description

Resource allocation device, resource allocation method, and program

[0001] The present invention relates to network design of a physical network in which a plurality of virtual networks coexist, and in particular to link addition in a physical network.

[0002] Virtualization of communication networks is progressing. With virtualization of communication networks, service providers can provide flexible services by freely utilizing network resources and service functions prepared in advance on the network. In a virtualized network, services are provided by allocating physical network resources provided by the communication carrier to a virtual network (VN) created based on the service provider's requests. This resource allocation problem is called VNE (Virtual Network Embedding). Specific VNE techniques include the technologies disclosed in, for example, Non-Patent Document 1 and Patent Document 1.

[0003] In the techniques disclosed in Non-Patent Document 1 and Patent Document 1, the resource allocation to be allocated to a new virtual network is calculated from the remaining resources obtained by subtracting the resource allocation to existing virtual networks from the upper limit of physical resources available in the physical network. Therefore, the total resource allocation to the virtual networks cannot exceed the upper limit of the physical resources. If the upper limit of the physical resources is exceeded, the new resource allocation will fail.

[0004] Masahiro Kobayashi, Ryutaro Matsumura, Takumi Kimura, Toshiaki Tsuchiya, and Katsuji Noritake, "Virtual Network Resource Allocation Method Based on Multiple Policies," IEICE Technical Report, vol. 116, no. 111, NS2016-35, pp. 41-46, June 2016.

[0005] Patent No. 6470426

[0006] When allocating resources to a new virtual network, if the allocation fails due to insufficient physical resources in the remaining resources of the physical network, no matter how the allocation is performed, it becomes necessary to add physical resources. However, conventional technology cannot identify the location and amount of addition that will minimize the cost of addition (addition cost).

[0007] The present invention has been made in consideration of the above points, and aims to provide a technology that enables resource expansion at minimal cost in network design of a physical network that includes multiple virtual networks.

[0008] According to the disclosed technology, there is provided a resource allocation device that allocates resources of a physical network to a virtual network, comprising: an input unit that inputs a request for resource allocation to the virtual network; and a resource allocation unit that calculates, for each of one or more default routes to the virtual network, an expansion cost required to expand resources necessary to accommodate the virtual network, selects a minimum default route from the one or more default routes that is a default route with the minimum expansion cost, and allocates the resources of the minimum default route with the expanded resources to the virtual network.

[0009] According to the disclosed technology, in network design of a physical network in which a plurality of virtual networks are mixed, it is possible to add resources at the lowest possible cost.

[0010] FIG. 1 is a configuration diagram of a system according to an embodiment of the present invention. FIG. 2 is a diagram illustrating an example of a physical network 200. FIG. 3 is a diagram illustrating an example of a functional configuration of a resource allocation device 100. FIG. 4 is a flowchart according to a first embodiment. FIG. 5 is a diagram for explaining a specific example of the first embodiment. FIG. 6 is a diagram for explaining a specific example of the first embodiment. FIG. 7 is a diagram for explaining a specific example of the first embodiment. FIG. 8 is a flowchart according to a second embodiment. FIG. 9 is a diagram for explaining a specific example of the second embodiment. FIG. 10 is a diagram for explaining a specific example of the second embodiment. FIG. 11 is a diagram for explaining a specific example of the second embodiment. FIG. 12 is a diagram for explaining a specific example of the second embodiment. FIG. 13 is a diagram for explaining a specific example of the second embodiment. FIG. 14 is a diagram for explaining a specific example of the first embodiment.

[0011] Hereinafter, an embodiment of the present invention will be described with reference to the drawings. The embodiment described below is merely an example, and the embodiment to which the present invention is applied is not limited to the following embodiment.

[0012] (System Configuration Example) Fig. 1 shows an example of the configuration of a system according to this embodiment. As shown in Fig. 1, this system includes a physical network 200 and a resource allocation device 100. The physical network 200 is made up of a plurality of nodes and links connecting the nodes. A virtual network is constructed using the resources of the physical network 200.

[0013] A node is a router, switch, server, or the like. A link is a transmission path for transmitting data between nodes, and has a certain bandwidth as a resource. Figure 2 shows an example of a physical network 200. In the example shown in Figure 2, there are nodes 1 to 6, and as shown, two nodes are connected by a link.

[0014] Resource allocation device 100 allocates resources of physical network 200 to a virtual network. Resource allocation device 100 calculates the expansion and allocation of resources of physical network 200 to the virtual network, and executes resource control (expansion, configuration, etc.) based on the calculation results for physical network 200. Note that resource allocation device 100 may only calculate resource allocation for the virtual network, and actual resource control for physical network 200 may be performed by another device.

[0015] (Operation Overview, Device Configuration Example) When adding a virtual network to a physical network, the resource allocation device 100 first provisionally assigns each route in the default route list to the virtual network, and provisionally adds the minimum amount of bandwidth required to add the virtual network to each route. Next, the resource allocation device 100 identifies the location and amount of addition for each route, calculates the addition cost, selects the route with the lowest addition cost, adds the route, and assigns the resources of that route to the virtual network.

[0016] In this embodiment, the default route list is a list in which the default route with the smallest expansion cost is placed at the top, and the default routes are arranged in ascending order of expansion cost. When provisionally assigning each route in the default route list to a virtual network, the routes can be assigned to the virtual network in ascending order of expansion cost in the default route list.

[0017] In this embodiment, the location of the facility extension is a link, and the amount is the amount of bandwidth of the link. Also, in this embodiment, the resource is the bandwidth, but the resource is not limited to the bandwidth.

[0018] 3 shows an example of the functional configuration of resource allocation device 100. As shown in FIG. 3, resource allocation device 100 includes an input unit 110, a resource allocation unit 120, an output unit 130, a network configuration DB 141, an allocated resource DB 142, a remaining network DB 143, a route DB 144, and an expansion cost DB 145. Note that network configuration DB 141, allocated resource DB 142, remaining network DB 143, route DB 144, and expansion cost DB 145 may be provided outside resource allocation device 100.

[0019] The input unit 110 inputs a resource allocation request for a virtual network. The resource allocation unit 120 refers to DBs 141 to 145 and allocates resources of the physical network 200 to the virtual network. The output unit 130 outputs the resource allocation result. The process of allocating resources of the physical network 200 to the virtual network is a process on a computer (on the resource allocation device 100), and as this process, the process (resource expansion and allocation) described in the flowchart below is performed. The resource allocation result is output from the output unit 130, and allocation to the physical network 200 is controlled.

[0020] The network configuration DB 141 stores a list of links and their quantities (thickness, bandwidth) that make up the physical network 200. The information stored in the network configuration DB 141 is expressed as "link, quantity".

[0021] The allocated resource DB 142 stores a list of the link quantities of the physical network 200 to which virtual networks are allocated. The information stored in the allocated resource DB 142 is expressed as "link, quantity." In "link, quantity," the quantity of an unallocated link is set to 0.

[0022] The remaining network DB 143 stores a list of the amount of the physical network 200 to which no virtual network has been allocated. The information stored in the remaining network DB 143 is expressed as "link, amount." Note that the amount of allocated resources + the remaining network amount = the entire physical network (network configuration DB 141).

[0023] The route DB 144 stores a list of default routes for allocating virtual networks. In other words, it stores all possible default routes for each virtual network location. The default routes stored in the route DB 144 are arranged in ascending order of expansion cost. The information stored in the route DB 144 is represented as "source node, destination node, number of routes n, route 1 (minimum cost route), ..., route n."

[0024] The expansion cost DB 145 stores a list of links that are candidates for expansion and the expansion cost per expansion unit. The expansion cost DB 145 stores the expansion costs for all links in the network configuration DB 141. The information stored in the expansion cost DB 145 is expressed as "link, expansion cost (per expansion unit)."

[0025] Hereinafter, a first embodiment and a second embodiment will be described as specific examples of the operation of the resource allocation device 100.

[0026] (First Embodiment) An example of the operation of the resource allocation device 100 in the first embodiment will be described with reference to the flowchart of Fig. 4. In the first embodiment, an example of adding one virtual network will be described. In the first embodiment, when the remaining resources of the physical network 200 are insufficient and resource allocation to the new virtual network fails, the expansion cost of each default route that can accommodate the virtual network (having the same source and destination nodes as the virtual network) is calculated, and the resources of the default route with the smallest expansion cost are allocated to the virtual network. A detailed description will be given below with reference to Fig. 4.

[0027] In the following description, k=0, 1, . . . , K-1, where K is the number of predefined paths that have been explored or will be explored.

[0028] <S101> In S101, a request for resource allocation for a new virtual network v arrives at the resource allocation device 100, and the request is input by the input unit 110. The request includes, for example, the source node and destination node of the new virtual network v, a required bandwidth, etc.

[0029] <S102> In S102, the resource allocation unit 120 generates a remaining network G by subtracting the allocated resources from the physical network 200. Information about the remaining network G is stored in the remaining network DB 143. Note that the processing of S102 may be performed in advance.

[0030] <S103> In S103, the resource allocation unit 120 searches for K allocation candidates in G that satisfy the requirements of v by referring to the remaining network DB 143 and the route DB 144.

[0031] <S104> If K≧1, the allocation is successful (YES in S104) and the process proceeds to S105, and if K=0, the allocation is unsuccessful (NO in S104) and the process proceeds to S106.

[0032] <S105> In S105, the resource allocation unit 120 selects an optimal route based on a certain index and allocates resources to v. The output unit 130 outputs the result of the resource allocation.

[0033] <S106> In S106, the resource allocation unit 120 initializes a variable k by setting k=0.

[0034] <S107> In S107, the resource allocation unit 120 k is provisionally assigned to the virtual network v.

[0035] <S108> In S108, the resource allocation unit 120 allocates the default route R k The expansion cost C when allocating k is the route R required to accommodate the virtual network v. k The calculation is made from the resources obtained by subtracting the resources present in the remaining network G from the resources of the network G.

[0036] <S109> In S109, the resource allocation unit 120 increments k (k++), and if k<K, proceeds to S107, and if k=K, proceeds to S110.

[0037] <S110> In S110, the resource allocation unit 120 allocates a route to the virtual network v with an expansion cost C k The route R that minimizes k0 That is, the resource allocation unit 120 selects C k0 = min C k A route R that satisfies k0 Select .

[0038] <S111> In S111, the resource allocation unit 120 allocates the route R k0 In this case, among the resources required to accommodate the virtual network v, resources that do not exist in the remaining network G are added.

[0039] <S112> In S112, the resource allocation unit 120 assigns a route R k0 The output unit 130 outputs the resource allocation result.

[0040] 5 to 8, a specific example of resource allocation in the first embodiment will be described. The configuration of the physical network 200 in the specific example is as shown in Fig. 2. Fig. 5 shows the network configuration and expansion costs in this specific example.

[0041] The information shown in Fig. 5 is obtained from information stored in a network configuration DB 141, an allocated resource DB 142, a remaining network DB 143, a route DB 144, and an expansion cost DB 145. In Fig. 5, for example, link 12 indicates a link connecting node 1 and node 2. The expansion cost in Fig. 5 is a cost per expansion amount of 10.

[0042] Assume that there are two default routes (routes stored in the route DB 144) for the virtual network to be added: route (1) and route (2) shown in Fig. 6. Routes are stored in the route DB 144 in ascending order of expansion cost, so the expansion cost of route (1) is lower than the expansion cost of route (2). The expansion cost for a default route is the sum of the expansion costs of all links when a unit amount is added to each link.

[0043] Here, in the assignment of routes to a virtual network with node 1 as the source node and node 6 as the destination node, it is assumed that six routes of bandwidth 15 from node 1 to node 6 have been successfully assigned, and the state at this time is shown in FIG. 5.

[0044] As a result of the above allocation, as shown in FIG. 7, a bandwidth of 15×3 has been allocated to the virtual network on each of the routes (1) and (2).

[0045] At this time, an attempt is made to allocate a seventh route (route with bandwidth 15 from node 1 to node 6) to the added virtual network, but allocation is not possible due to a lack of remaining bandwidth.

[0046] Therefore, the resource allocation unit 120 increases the link bandwidth as follows. The example described below is a specific example of the processing from S106 to S112 in the flow of Fig. 4. This specific example will be described with reference to Fig. 8.

[0047] First, the resource allocation unit 120 provisionally determines route (1) and route (2) as routes to be allocated to the additional virtual network. Next, the resource allocation unit 120 calculates the expansion cost for adding resources that are insufficient for the 15×1 bandwidth required to accommodate the virtual network, in expansion units (10 in this case), for each of route (1) and route (2).

[0048] As shown in Figure 8, for example, for link 23 of route (1), the remaining resources are 5, so there is a shortage of 15 - 5 = 10, which is the additional bandwidth. The expansion cost is then 2. By performing this calculation for each link and calculating the sum for the links, the expansion cost for route (1) is calculated as 6. By a similar calculation, the expansion cost for route (2) is calculated as 8.

[0049] Therefore, the pattern that allocates the path (1) with the lowest cost results in the lowest expansion cost, and the resource allocation unit 120 selects the path (1) as the path to allocate the 15×1 additional bandwidth for the additional virtual network.

[0050] (Example 2) Next, Example 2 will be described. Example 2 is an example of adding multiple virtual networks (virtual network groups) at once. In Example 2, by referencing the route DB 144, a route pattern (= combination of default routes) to be assigned to the virtual network group is searched for, the expansion cost for each of one or more patterns obtained by the search is calculated, and the pattern with the smallest expansion cost is assigned to the virtual network group. Note that in Example 2, the virtual network group may be made up of only one virtual network. The processing when the virtual network group is made up of only one virtual network is the same as the processing of S106 to S112 in Example 1.

[0051] An example of the operation of the resource allocation device 100 according to the second embodiment will be described in detail below with reference to the flowchart of FIG.

[0052] In the following description, l=0, 1, ..., L-1, where l is a virtual network index and L is the number of virtual networks in the virtual network group V. k=0, 1, ..., K-1, where K is the number of default routes.

[0053] Virtual network group (V = {v l , L−1}) arrives at resource allocation device 100, and input unit 110 inputs the request. Then, the following process is executed.

[0054] <S201> In S201, the resource allocation unit 120 initializes a variable k by setting k=0.

[0055] <S202> In S202, the resource allocation unit 120 initializes a variable l by setting l=0.

[0056] <S203, S204> In S203 and S204, the resource allocation unit 120 searches for a combination of routes (called a pattern) to be allocated to the virtual network group V based on the default routes that are candidates to be allocated to the virtual network group V.

[0057] Specifically, a route to be assigned is provisionally determined for each of the L virtual networks that make up the virtual network group V. A combination of routes provisionally determined for the L virtual networks constitutes one pattern. Generally, there are multiple route combinations, so there are multiple patterns provisionally determined for the L virtual networks. However, there may be a case where there is only one pattern.

[0058] As will be described later in S206, k is incremented by 1. For example, when k=0, the default route to be searched is the route R 0 Since there is only one route R, all virtual networks in the virtual network group V 0 is tentatively assigned.

[0059] When k=1, the search target is the route R 0 and route R 1 In this case, "any virtual network group among the virtual network groups V is connected to the route R 0 The remaining virtual networks are assigned to route R 1 "A pattern in which all virtual networks in the virtual network group V are assigned to route R" and "A pattern in which all virtual networks in the virtual network group V are assigned to route R" 1 There is a pattern in which all virtual networks in the virtual network group V are assigned to the route R. 0 The pattern "assigned to" has already been determined when k=0, so this pattern is excluded when k=1.

[0060] Thereafter, as k increases, patterns (combinations of routes to be assigned) are searched for, and a group of patterns to be assigned to the virtual network group V is generated.

[0061] <S205> In S205, the resource allocation unit 120 calculates the expansion cost of each pattern. As in the first embodiment, the expansion cost for each route constituting a pattern is calculated from the resources obtained by subtracting the resources present in the remaining network G from the resources of the route required to accommodate the virtual network. The expansion cost of a pattern is the sum of the expansion costs of one or more routes constituting the pattern.

[0062] <S206> In S206, the resource allocation unit 120 increments k (k++), and if k<K, proceeds to S202, and if k=K, proceeds to S207.

[0063] <S207> In S207, the resource allocation unit 120 selects, from all patterns found as candidates for allocation to the virtual network group V, a pattern that minimizes the expansion cost.

[0064] <S208> In S208, the resource allocation unit 120 adds resources that do not exist in the remaining network G to each route that constitutes the selected pattern. The addition is performed in predetermined addition units.

[0065] <S209> In S209, the resource allocation unit 120 allocates resources for each path constituting the selected pattern to the virtual network group V. The output unit 130 outputs the result of the resource allocation.

[0066] (Specific Example of Example 2) A specific example of resource allocation in Example 2 will be described. The configuration of the physical network 200 is as shown in Fig. 2. The prerequisite state is the same as the prerequisite state in Example 1, and is as described with reference to Figs. 5 to 8.

[0067] Here, we will explain the cases where the number of virtual networks constituting the virtual network group to be added is 2, 3, and 4. The case where the number of virtual networks is 2 will be explained as Example 2-1, the case where the number of virtual networks is 3 will be explained as Example 2-2, and the case where the number of virtual networks is 4 will be explained as Example 2-3. Each virtual network has node 1 as the source node and node 6 as the destination node, and a route of bandwidth 15 from node 1 to node 6 is assigned to each virtual network.

[0068] <Embodiment 2-1> In embodiment 2-1, a route (resource of bandwidth 15) from node 1 to node 6 is allocated to each of two virtual networks.

[0069] First, the resource allocation unit 120 provisionally determines three patterns as combinations of paths to be allocated to two virtual networks, as shown in Fig. 10. Here, "a pattern in which path (1) is allocated to each of two virtual networks" is defined as pattern 1, "a pattern in which path (1) is allocated to one of the two virtual networks and path (2) is allocated to the other virtual network" is defined as pattern 2, and "a pattern in which path (2) is allocated to each of the two virtual networks" is defined as pattern 3.

[0070] Next, the resource allocation unit 120 calculates the cost of adding resources that are insufficient for the bandwidth required to accommodate the virtual networks, in expansion units (here, 10), for each pattern.

[0071] For example, in pattern 1, a bandwidth of 30 is required for each link of route (1), so additional bandwidth is required as shown in Figure 10, and the expansion cost is calculated as 16. Similarly, the expansion cost for pattern 2 is 14, and the expansion cost for pattern 3 is 22.

[0072] Therefore, the resource allocation unit 120 selects pattern 2, which has the smallest expansion cost, from patterns 1 to 3. The resource allocation unit 120 adds additional bandwidth to each path of pattern 2 and allocates resources to each virtual network.

[0073] As described above, by making effective use of remaining resources, pattern 2, in which path (1) and path (2) are assigned to each virtual network, results in lower expansion costs than pattern 1, in which the lowest-cost path (1) is assigned to two virtual networks.

[0074] <Embodiment 2-2> Next, embodiment 2-2 will be described. In embodiment 2-2, a route from node 1 to node 6 (resources of bandwidth 15) is allocated to each of three virtual networks.

[0075] First, the resource allocation unit 120 provisionally determines four patterns as combinations of paths to be allocated to three virtual networks, as shown in Figures 11 and 12. Here, "a pattern in which path (1) is allocated to each of the three virtual networks" is defined as pattern 1, "a pattern in which path (1) is allocated to two of the three virtual networks and path (2) is allocated to the remaining virtual network" is defined as pattern 2, "a pattern in which path (1) is allocated to one of the three virtual networks and path (2) is allocated to the remaining two virtual networks" is defined as pattern 3, and "a pattern in which path (2) is allocated to each of the three virtual networks" is defined as pattern 4.

[0076] Next, the resource allocation unit 120 calculates the cost of adding resources that are insufficient for the bandwidth required to accommodate the virtual networks, in expansion units (here, 10), for each pattern.

[0077] For example, in pattern 1, a bandwidth of 45 is required for each link of route (1), so additional bandwidth is required as shown in Figure 11, and the expansion cost is calculated as 24. Similarly, the expansion cost for pattern 2 is 26, the expansion cost for pattern 3 is 30, and the expansion cost for pattern 4 is 32.

[0078] Therefore, the resource allocation unit 120 selects pattern 1, which has the smallest expansion cost, from patterns 1 to 4. The resource allocation unit 120 adds additional bandwidth to each path of pattern 1 and allocates resources to each virtual network.

[0079] <Embodiment 2-3> Next, embodiment 2-3 will be described. In embodiment 2-3, a route from node 1 to node 6 (resources of bandwidth 15) is allocated to each of four virtual networks.

[0080] First, the resource allocation unit 120 provisionally determines five patterns as combinations of paths to be allocated to four virtual networks, as shown in Figures 13 and 14. Here, "a pattern in which path (1) is allocated to each of the four virtual networks" is defined as pattern 1, "a pattern in which path (1) is allocated to three of the four virtual networks and path (2) is allocated to the remaining virtual network" is defined as pattern 2, "a pattern in which path (1) is allocated to two of the four virtual networks and path (2) is allocated to the remaining two virtual networks" is defined as pattern 3, "a pattern in which path (1) is allocated to one of the three virtual networks and path (2) is allocated to the remaining three virtual networks" is defined as pattern 4, and "a pattern in which path (2) is allocated to each of the four virtual networks" is defined as pattern 5.

[0081] Next, the resource allocation unit 120 calculates the cost of adding resources that are insufficient for the bandwidth required to accommodate the virtual networks, in expansion units (here, 10), for each pattern.

[0082] For example, in pattern 1, a bandwidth of 60 is required for each link of route (1), so additional bandwidth is required as shown in Figure 13, and the expansion cost is calculated to be 34. Similarly, the expansion cost for pattern 2 is 32, the expansion cost for pattern 3 is 40, the expansion cost for pattern 4 is 38, and the expansion cost for pattern 5 is 46.

[0083] Therefore, the resource allocation unit 120 selects pattern 2, which has the smallest expansion cost, from patterns 1 to 5. The resource allocation unit 120 expands additional bandwidth to each path of pattern 2 and allocates resources to each virtual network.

[0084] As described above, by making effective use of remaining resources, pattern 2 results in lower expansion costs than pattern 1, which allocates the lowest-cost route (1) to four virtual networks.

[0085] (Summary of Examples 1 and 2) Fig. 15 shows a summary of Examples 1 and 2. In Fig. 15, n represents the number of virtual networks to be added. The "Number of allocated paths for route (1)" row in Fig. 15 indicates the number of virtual networks to be allocated to route (1), and the "Number of allocated paths for route (2)" row indicates the number of virtual networks to be allocated to route (2). For example, when n = 2, "n-1" in the "Number of allocated paths for route (1)" row indicates that one virtual network is allocated to route (1).

[0086] The row "1" in Fig. 15 shows the expansion cost for each pattern when n = 1. Similarly, the row "2" in Fig. 15 shows the expansion cost for each pattern when n = 2. The same applies to "3" and "4".

[0087] For example, in the row "2" of FIG. 15, it is shown that the expansion cost of "a pattern in which one virtual network is assigned to route (1) and another virtual network is assigned to route (2)" is 14.

[0088] As shown in FIG. 15, in the first and second embodiments, when the number of virtual networks to be added is 1 or 3, the pattern of selecting only the minimum cost route (1) results in the minimum expansion cost.

[0089] When the number of virtual networks to be added is 2 or 4, the "pattern of allocating one virtual network to route (2) and the remaining virtual networks to route (1)" has lower expansion costs than the pattern of selecting only the lowest-cost route (1) by utilizing remaining resources.

[0090] (Hardware Configuration Example) The resource allocation device 100 described in this embodiment can be realized, for example, by causing a computer to execute a program. This computer may be a physical computer or a virtual machine on a cloud.

[0091] That is, the resource allocation device 100 can be realized by using hardware resources such as a CPU and memory built into a computer to execute a program corresponding to the processing performed by the resource allocation device 100. The program can be recorded on a computer-readable recording medium (such as a portable memory) and can be saved or distributed. The program can also be provided via a network such as the Internet or email.

[0092] Fig. 16 is a diagram showing an example of the hardware configuration of the computer. The computer in Fig. 16 includes a drive device 1000, an auxiliary storage device 1002, a memory device 1003, a CPU 1004, an interface device 1005, a display device 1006, an input device 1007, an output device 1008, and the like, all of which are interconnected by a bus BS. The computer may further include a GPU.

[0093] The program that realizes the processing on the computer is provided by a recording medium 1001, such as a CD-ROM or a memory card. When the recording medium 1001 storing the program is set in the drive device 1000, the program is installed from the recording medium 1001 to the auxiliary storage device 1002 via the drive device 1000. However, the program does not necessarily have to be installed from the recording medium 1001, but may be downloaded from another computer via a network. The auxiliary storage device 1002 stores the installed program as well as necessary files, data, etc.

[0094] The memory device 1003 reads and stores the program from the auxiliary storage device 1002 when an instruction to start the program is received. The CPU 1004 realizes functions related to the resource allocation device 100 in accordance with the program stored in the memory device 1003. The interface device 1005 is used as an interface for connecting to a network, etc. The display device 1006 displays a GUI (Graphical User Interface) or the like according to the program. The input device 1007 is composed of a keyboard, mouse, buttons, a touch panel, etc., and is used to input various operation instructions. The output device 1008 outputs the results of calculations.

[0095] (Effects of the embodiment) As described above, the technology described in the embodiment makes it possible to add resources at the lowest possible cost in network design of a physical network in which a plurality of virtual networks coexist.

[0096] The following additional notes are provided regarding the above-described embodiments.

[0097] <Additional Notes> (Additional Note 1) A resource allocation device that allocates resources of a physical network to a virtual network, comprising: a memory; and at least one processor connected to the memory, wherein the processor inputs a request for resource allocation to the virtual network; calculates, for each of one or more default routes to the virtual network, an expansion cost required to expand resources necessary to accommodate the virtual network; selects, from the one or more default routes, a minimum default route that is a default route with the minimum expansion cost; and allocates the resources of the minimum default route with the expanded resources to the virtual network. (Supplementary Item 2) A resource allocation device that allocates resources of a physical network to a group of virtual networks consisting of a plurality of virtual networks, comprising: a memory; and at least one processor connected to the memory, wherein the processor receives a resource allocation request for the group of virtual networks, identifies one or more patterns that are combinations of one or more default routes for the group of virtual networks, calculates an expansion cost for adding resources required to accommodate the group of virtual networks for each of the one or more patterns, selects a minimum pattern from the one or more patterns that has the smallest expansion cost, and allocates the resources of the minimum pattern with the added resources to the group of virtual networks. (Supplementary Item 3) The resource allocation device according to Supplementary Item 1 or 2, wherein the processor calculates the expansion cost of a given default route based on resources obtained by subtracting remaining resources from resources required to accommodate the virtual network on that default route. (Supplementary Item 4) The resource allocation device according to any one of Supplementary Items 1 to 3, wherein the processor identifies the one or more default routes from a database in which a plurality of default routes are stored in ascending order of expansion cost.(Supplementary Item 5) A resource allocation method executed by a resource allocation device that allocates resources of a physical network to a virtual network, comprising: an input step of inputting a request for resource allocation to the virtual network; and a resource allocation step of calculating, for each of one or more default routes to the virtual network, an expansion cost required to expand resources necessary to accommodate the virtual network, selecting a minimum default route from the one or more default routes that is a default route with the minimum expansion cost, and allocating the resources of the minimum default route with the expanded resources to the virtual network. (Supplementary Item 6) A resource allocation method executed by a resource allocation device that allocates resources of a physical network to a group of virtual networks consisting of a plurality of virtual networks, comprising: an input step of inputting a resource allocation request for the group of virtual networks, and a resource allocation step of identifying one or more patterns that are combinations of one or more default routes for the group of virtual networks, calculating an expansion cost for adding resources necessary to accommodate the group of virtual networks for each of the one or more patterns, selecting a minimum pattern from the one or more patterns that is a pattern with the minimum expansion cost, and allocating the resources of the minimum pattern with the added resources to the group of virtual networks. (Supplementary Item 7) A non-transitory storage medium that stores a program for causing a computer to function as each unit in the resource allocation device described in any one of Supplementary Item 1 to 4.

[0098] Although the present embodiment has been described above, the present invention is not limited to such a specific embodiment, and various modifications and changes are possible within the scope of the gist of the present invention described in the claims.

[0099] REFERENCE SIGNS LIST 100 Resource allocation device 110 Input unit 120 Resource allocation unit 130 Output unit 141 Network configuration DB 142 Allocated resource DB 143 Residual network DB 144 Route DB 145 Expansion cost DB 200 Physical network 1000 Drive device 1001 Recording medium 1002 Auxiliary storage device 1003 Memory device 1004 CPU 1005 Interface device 1006 Display device 1007 Input device 1008 Output device

Claims

1. A resource allocation device that allocates resources of a physical network to a virtual network, comprising: an input unit for inputting a request for resource allocation for the virtual network; and a resource allocation unit that calculates an expansion cost required to expand resources required to accommodate the virtual network for each of one or more default routes to the virtual network, selects a minimum default route from the one or more default routes which is a default route with the smallest expansion cost, and allocates the resources of the minimum default route after the resource expansion to the virtual network.

2. A resource allocation device that allocates physical network resources to a virtual network group consisting of a plurality of virtual networks, comprising: an input unit for inputting a request for resource allocation to the virtual network group; and a resource allocation unit that identifies one or more patterns which are combinations of one or more default routes to the virtual network group, calculates the expansion cost required for adding resources required to accommodate the virtual network group for each of the one or more patterns, selects a minimum pattern from the one or more patterns which is the pattern with the smallest expansion cost, and allocates the resources of the minimum pattern with the resource expansion to the virtual network group.

3. The resource allocation device according to claim 1, wherein the resource allocation unit calculates the expansion cost of a given default route based on resources obtained by subtracting remaining resources from resources required to accommodate a virtual network on the default route.

4. The resource allocation device according to claim 1, wherein the resource allocation unit identifies the one or more default routes from a database in which a plurality of default routes are stored in ascending order of installation cost.

5. A resource allocation method executed by a resource allocation device that allocates resources of a physical network to a virtual network, comprising: an input step of inputting a request for resource allocation to the virtual network; and a resource allocation step of calculating, for each of one or more default routes to the virtual network, an expansion cost required for adding resources required to accommodate the virtual network, selecting a minimum default route from the one or more default routes which is a default route with the minimum expansion cost, and allocating the resources of the minimum default route after the resource expansion to the virtual network.

6. A resource allocation method executed by a resource allocation device for allocating physical network resources to a virtual network group consisting of a plurality of virtual networks, comprising: an input step of inputting a request for resource allocation to the virtual network group; and a resource allocation step of identifying one or more patterns which are combinations of one or more default routes to the virtual network group, calculating an expansion cost required for adding resources required to accommodate the virtual network group for each of the one or more patterns, selecting a minimum pattern from the one or more patterns which is a pattern with the smallest expansion cost, and allocating the resources of the minimum pattern with the resource addition to the virtual network group.

7. A program for causing a computer to function as each unit in the resource allocation device according to any one of claims 1 to 4.