Resource allocation device, resource allocation method, and program
The resource allocation device addresses the challenge of insufficient physical resources in virtualized networks by selecting cost-effective expansion candidates, ensuring successful resource allocation and minimizing expansion costs in communication networks with multiple virtual networks.
Patent Information
- Application Number
- PCT/JP2023/026140
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-07-14
- Publication Date
- 2025-01-23
AI Technical Summary
In virtualized communication networks, existing technologies fail to efficiently allocate resources to new virtual networks when physical resources are insufficient, leading to failed allocations and inability to minimize expansion costs.
A resource allocation device that identifies and selects the most cost-effective expansion candidates from pre-defined combinations of link locations and bandwidth amounts to allocate resources to new virtual networks, ensuring successful allocation while minimizing expansion costs.
Enables resource expansion at the minimum fee cost in physical networks with multiple virtual networks, ensuring successful resource allocation and optimizing expansion costs.
Smart Images

Figure JP2023026140_23012025_PF_FP_ABST
Abstract
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 a new virtual network; and a resource allocation unit that, when resource allocation to the new virtual network fails due to a shortage of resources in the physical network, selects from one or more expansion candidates an expansion candidate that will succeed in resource allocation to the new virtual network and will have the lowest expansion cost, and allocates the resources of the physical network that have been expanded based on the expansion candidate to the new 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 illustrating a specific example of the first embodiment. FIG. 6 is a diagram illustrating a specific example of the first embodiment. FIG. 7 is a diagram illustrating a specific example of the first embodiment. FIG. 8 is a flowchart according to a second embodiment. FIG. 9 is a diagram illustrating a specific example of the second embodiment. FIG. 10 is a diagram illustrating a specific example of the second embodiment. FIG. 11 is a diagram illustrating a specific example of the second embodiment. FIG. 12 is a diagram illustrating a specific example of the second embodiment. FIG. 13 is a diagram illustrating an example of a hardware configuration of a resource allocation device 100.
[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 allocation of resources of physical network 200 to a 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 a virtual network, and actual resource control for physical network 200 may be performed by another device.
[0015] (Operation Overview, Device Configuration Example) 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 200 no matter how the allocation is performed, the resource allocation device 100 selects, from one or more "combinations of candidate facility expansion locations and amounts" prepared in advance, a combination that will result in successful resource allocation to the new virtual network and minimize the expansion cost. A "combination of candidate facility expansion locations and amounts" may be called an "expansion candidate." In addition, in this embodiment, the candidate facility expansion locations are links, and the amount is the amount of link bandwidth.
[0016] The technique of allocating resources to a new virtual network using the remaining resources of the physical network 200 is itself disclosed in Non-Patent Document 1, Patent Document 1, and the like.
[0017] 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, an extension candidate DB 144, and a route DB 145. Note that network configuration DB 141, allocated resource DB 142, remaining network DB 143, extension candidate DB 144, and route DB 145 may be provided outside resource allocation device 100.
[0018] The input unit 110 receives a request for resource allocation for a new virtual network. The resource allocation unit 120 references the DBs 141 to 145 and allocates the resources of the physical network 200 to the new virtual network. The output unit 130 outputs the resource allocation result.
[0019] 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".
[0020] 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.
[0021] 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).
[0022] The expansion candidate DB 144 is a DB for routes (multiple links) that are expansion candidates and the resource amount of each link, and stores information on "link, amount, expansion cost" in advance. The expansion candidate DB 144 lists all links in the network configuration DB 141, and the amount of links that are not expansion candidates is set to 0.
[0023] The route DB 145 stores a list of default routes for allocating virtual networks. In other words, multiple default routes are prepared for each destination, and the route DB 145 stores a list of these default routes. The information stored in the route DB 145 is represented as "source node, destination node, number of routes n, route 1 (normal, shortest route), ..., route n."
[0024] Hereinafter, a first embodiment and a second embodiment will be described as specific examples of the operation of the resource allocation device 100.
[0025] First Embodiment An example of the operation of the resource allocation device 100 in a first embodiment will be described with reference to the flowchart of Fig. 4. In the first embodiment, when the remaining resources of the physical network 200 are insufficient and resource allocation to a new virtual network fails, resource allocation is attempted for each of a plurality of expansion candidates (predetermined "multiple links and the expansion amount of each link (amount of one unit)") while increasing the amount by one unit, and if resource allocation is successful, the expansion cost of the expansion candidate is calculated as the expansion cost per unit multiplied by the number of units. After calculation of the expansion costs for all expansion candidates has been completed, the expansion candidate with the lowest cost is selected. A detailed description will be given below with reference to Fig. 4.
[0026] In the following description, j=0, 1, ..., J-1, where J is the number of expansion candidates, K is the number of default routes extracted from the route DB 145, and m is the number of units by which expansion candidate j is expanded.
[0027] <S101> In S101, a new virtual network v i A resource allocation request for a new virtual network v arrives at the resource allocation device 100, and the input unit 110 inputs the request. i The source node, destination node, required bandwidth, etc. are included.
[0028] <S102> In S102, the resource allocation unit 120 calculates a remaining network G by subtracting the allocated resources from the physical network 200. i-1 Generate the residual network G i-1 The information is stored in the remaining network DB 143.
[0029] <S103> In S103, the resource allocation unit 120 refers to the remaining network DB 143 and the route DB 145 to determine the G i-1 In v i K allocation candidates that satisfy the requirements are searched for.
[0030] <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.
[0031] <S105> In S105, the resource allocation unit 120 selects an optimal route based on a certain index, and i The output unit 130 outputs the resource allocation result.
[0032] <S106> In S106, the resource allocation unit 120 initializes variables by setting j=0 and m=0.
[0033] <S107> In S107, the resource allocation unit 120 adds 1 to m (m++) and allocates the remaining network G i-1 Add m units of the extension candidate j read from the extension candidate DB 144 (new virtual network v i network G2) i-1,j,m Generate.
[0034] <S108> In S108, the resource allocation unit 120 i-1,j,m In this case, v i K allocation candidates that satisfy the above requirement are extracted from the existing routes stored in the route DB 145 .
[0035] <S109> If K≧1, the allocation is successful (YES in S109) and the process proceeds to S110, whereas if K=0, the allocation is unsuccessful (NO in S109) and the process proceeds to S107.
[0036] <S110> In S110, the resource allocation unit 120 determines an optimal route R based on a certain index. j The resource allocation unit 120 also calculates the expansion cost when expansion candidate j is used. Here, the expansion cost of one unit of expansion candidate j is selected as C jThen, G2 i-1,j,m The expansion cost of the expansion candidate j is to expand by m units, so j × m.
[0037] <S111> In S111, the resource allocation unit 120 updates the variables by setting m=0 and j++, and determines whether j=J. If j=J, the process proceeds to S112, and if j=J is not true, the process proceeds to S107.
[0038] <S112> In S112, the resource allocation unit 120 selects the expansion candidate j with the lowest expansion cost from the expansion candidates to which allocation was successful in S107 to S111. 0 Select .
[0039] <S113> In S113, the resource allocation unit 120 selects an expansion candidate j with the minimum expansion cost. 0 The route R selected when resource allocation is performed using j0 The output unit 130 outputs the resource allocation result.
[0040] (Specific Example of First Embodiment) A specific example of resource allocation in the first embodiment will be described with reference to Figs. 5 to 8. The configuration of the physical network 200 in this specific example is as shown in Fig. 2. Fig. 5 shows the bandwidth of existing links in this specific example. In Fig. 5, for example, link 12 is a link connecting node 1 and node 2.
[0041] Assuming that there are two candidate routes, route (1) and route (2) shown in Figure 6. A bandwidth of 15x3 has been allocated to each of route (1) and route (2). The allocated bandwidth and remaining bandwidth for each link are as shown in Figure 7.
[0042] At this time, assume that an additional bandwidth of 15x1 is required on the path from node 1 to node 6 to allocate resources to the new virtual network. However, as shown in Figure 8, allocation is currently not possible due to a lack of remaining bandwidth. Therefore, the link bandwidth is increased as follows. Note that the cost in Figure 8 is the cost per 10 of increase.
[0043] Here, it is assumed that there are expansion patterns 1 to 3, and the respective expansion patterns (corresponding to the expansion candidates described above) are as shown in FIG.
[0044] The resource allocation unit 120 temporarily adds resources according to addition patterns 1 to 3. In this example, any of the patterns can be allocated to a new virtual network.
[0045] 8, of expansion patterns 1 to 3, expansion pattern 3 has the lowest expansion cost. Therefore, the resource allocation unit 120 adopts expansion pattern 3, performs resource expansion based on expansion pattern 3, and allocates resources of path (2) to the new virtual network.
[0046] (Embodiment 2) Next, a description will be given of embodiment 2. In embodiment 2, an example of adding a new virtual network group will be described.
[0047] In the second embodiment, resources are allocated one by one to each new virtual network that constitutes a new virtual network group. If the remaining resources of the physical network 200 are insufficient and resource allocation to a certain new virtual network fails, resource allocation to each remaining new virtual network in the new virtual network group is attempted while increasing the amount by one unit for each of multiple expansion candidates (predetermined "multiple links and the expansion amount (amount of one unit) for each link"). If resource allocation is successful, the expansion cost of the expansion candidate is calculated as the expansion cost per unit multiplied by the number of units. Once the calculation of the expansion costs for all expansion candidates has been completed, the expansion candidate with the lowest cost is selected.
[0048] 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.
[0049] In the following description, l = 0, 1, ..., L-1, and L is V2 i j=0, 1, ..., J-1, where J is the number of extension candidates. K is the number of default routes extracted from the route DB 145, and m is the number of units by which extension candidate j is extended.
[0050] <S201> In S201, new virtual network group V2 iA resource allocation request for a new virtual network group V2 arrives at the resource allocation device 100, and the input unit 110 inputs the request. i The source node, destination node, required bandwidth, etc. are included.
[0051] <S202> In S202, the resource allocation unit 120 initializes a variable by setting l=0.
[0052] <S203> In S203, the resource allocation unit 120 calculates a remaining network G by subtracting the allocated resources from the physical network 200. i-1,l Generate the residual network G i-1,l The information is stored in the remaining network DB 143.
[0053] <S204> In S204, the resource allocation unit 120 refers to the remaining network DB 143 and the route DB 145 to determine whether i-1,l In v l ∈V2 i K allocation candidates that satisfy the requirements are searched for.
[0054] <S205> If K≧1, the allocation is successful (YES in S205) and the process proceeds to S206, and if K=0, the allocation is unsuccessful (NO in S205) and the process proceeds to S208.
[0055] <S206> In S206, the resource allocation unit 120 determines an optimal route R based on a certain index. l Select l Allocate resources to
[0056] <S207> The resource allocation unit 120 increments l by 1 (l++), and ends the process if l=L, otherwise proceeds to S203. If the process is to end, the output unit 130 outputs the result of resource allocation.
[0057] <S208> In S208, the resource allocation unit 120 0 = l.
[0058] <S209> In S209, the resource allocation unit 120 initializes variables by setting j=0 and m=0.
[0059] <S210> In S210, the resource allocation unit 120 adds 1 to m (m++) and allocates the remaining network G i-1,l The network G2 (for allocating a new virtual network) is calculated by adding m units of the extension candidate j read from the extension candidate DB 144. i-1,l,j,m Generate.
[0060] <S211> In S211, the resource allocation unit 120 i-1,l,j,m In v l K allocation candidates that satisfy the above requirement are extracted from the existing routes stored in the route DB 145 .
[0061] <S212> If K≧1, the allocation is successful (YES in S212) and the process proceeds to S213, whereas if K=0, the allocation is unsuccessful (NO in S212) and the process proceeds to S210.
[0062] <S213> In S213, the resource allocation unit 120 determines an optimal route R based on a certain index. j,l Select .
[0063] <S214> In S214, the resource allocation unit 120 updates the variable by setting l++, and determines whether l = L. If l = L, the process proceeds to S215, and if l = L, the process proceeds to S211.
[0064] <S215> The resource allocation unit 120 calculates the expansion cost when expansion candidate j is used. Here, the expansion cost of one unit of expansion candidate j is defined as C j Then, G2 i-1,j The expansion cost of the expansion candidate j is to expand by m units, so j × m.
[0065] <S216> In S216, the resource allocation unit 120 0 , m=0, j++, and then it is determined whether j=J. If j=J, the process proceeds to S217, and if not, the process proceeds to S210.
[0066] <S217> In S217, the resource allocation unit 120 selects the expansion candidate j with the lowest expansion cost from the expansion candidates to which allocation was successful in S210 to S216. 0 Select .
[0067] <S218> In S218, the resource allocation unit 120 selects the expansion candidate j with the minimum expansion cost. 0 The route R selected when resource allocation is performed using j0,l The output unit 130 outputs the resource allocation result.
[0068] Specific Example of Second Embodiment A specific example of resource allocation in the second embodiment will be described with reference to Figs. 10 to 13. The configuration of the physical network 200 is as shown in Fig. 2. Fig. 10 shows the bandwidth of existing links in this specific example. In Fig. 10, for example, link 12 is a link connecting node 1 and node 2.
[0069] Suppose that there are candidate routes, route (1) and route (2) shown in Figure 11. A bandwidth of 15x3 has been allocated to each of route (1) and route (2). The allocated bandwidth and remaining bandwidth for each link are as shown in Figure 12.
[0070] In this case, suppose that an additional bandwidth of 15x2 is required on the path from node 1 to node 6 to allocate resources to the new virtual network group. However, as shown in Figure 13, allocation is currently not possible due to a lack of remaining bandwidth. Therefore, the link bandwidth is increased as follows:
[0071] Here, it is assumed that there are expansion patterns 1 to 3, and each expansion pattern is as shown in FIG.
[0072] The resource allocation unit 120 temporarily adds resources in the following patterns: addition pattern 1, addition pattern 2 x 3, and addition pattern 3 x 3. In this example, any of the patterns can be allocated to a new virtual network.
[0073] 13, of expansion patterns 1 to 3, expansion pattern 1 has the lowest expansion cost. Therefore, the resource allocation unit 120 adopts expansion pattern 1, performs the expansion, and allocates route (1)×1 and route (2)×1 to the new virtual network group.
[0074] (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.
[0075] 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.
[0076] Fig. 14 is a diagram showing an example of the hardware configuration of the computer. The computer in Fig. 14 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.
[0077] 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.
[0078] 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.
[0079] (Summary, Effects, etc. of the Embodiment) As described above, the technology described in the present embodiment makes it possible to easily identify the location and amount of extension by providing candidate locations and amounts of extension in advance. Therefore, the technology described in the present embodiment makes it possible to add resources at the lowest possible cost in network designing a physical network in which multiple virtual networks coexist.
[0080] The following additional notes are provided regarding the above-described embodiments.
[0081] <Additional Notes> (Additional Item 1) A resource allocation device that allocates physical network resources to a virtual network, comprising: a memory; and at least one processor connected to the memory, wherein the processor inputs a resource allocation request for a new virtual network, and when resource allocation for the new virtual network fails due to a shortage of resources in the physical network, selects from one or more expansion candidates an expansion candidate that will enable successful resource allocation to the new virtual network and that has the lowest expansion cost, and allocates the physical network resources that have been expanded based on the selected expansion candidate to the new virtual network. (Additional Item 2) The resource allocation device according to Additional Item 1, wherein each of the one or more expansion candidates is a combination of a predetermined route and a predetermined resource expansion amount for each link on the route. (Additional Item 3) The resource allocation device according to Additional Item 2, wherein the one or more expansion candidates are stored in an expansion candidate database, and the processor reads out the expansion candidate from the expansion candidate database. (Supplementary Item 4) A resource allocation method executed by a resource allocation device that allocates resources of a physical network to a virtual network, comprising the steps of: inputting a request for resource allocation to a new virtual network, and when resource allocation to the new virtual network fails due to a shortage of resources in the physical network, selecting from one or more expansion candidates an expansion candidate that will succeed in resource allocation to the new virtual network and that has the smallest expansion cost, and allocating the resources of the physical network that have been expanded based on the expansion candidate to the new virtual network. (Supplementary Item 5) 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 Items 1 to 3.
[0082] 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.
[0083] 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 Remaining network DB 144 Extension candidate DB 145 Route 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 physical network resources to a virtual network, comprising: an input unit that inputs a request for resource allocation to a new virtual network; and a resource allocation unit that, when resource allocation to the new virtual network fails due to a shortage of resources in the physical network, selects from one or more expansion candidates an expansion candidate that will succeed in resource allocation to the new virtual network and has the smallest expansion cost, and allocates to the new virtual network the resources of the physical network that have been expanded based on the expansion candidate.
2. The resource allocation device according to claim 1, wherein each of the one or more expansion candidates is a combination of a predetermined route and a predetermined resource expansion amount for each link in the route.
3. The resource allocation device according to claim 2, wherein the one or more expansion candidates are stored in an expansion candidate database, and the resource allocation unit reads out the expansion candidates from the expansion candidate database.
4. A resource allocation method executed by a resource allocation device that allocates physical network resources to a virtual network, comprising: a step of inputting a request for resource allocation to a new virtual network; and when resource allocation to the new virtual network fails due to a shortage of resources in the physical network, a step of selecting from one or more expansion candidates an expansion candidate that will succeed in resource allocation to the new virtual network and has the smallest expansion cost, and allocating the resources of the physical network with the resources expanded based on the expansion candidate to the new virtual network.
5. A program for causing a computer to function as each unit in the resource allocation device according to any one of claims 1 to 3.
Citation Information
Patent Citations
Network resource allocation device, network resource allocation method, and program
JP2016144068A
Dynamic allocation of network bandwidth
US20190140976A1