A method and system for virtual network function automation resource allocation

By acquiring virtual network function descriptors and service traffic metrics, dividing them into basic serial and parallel structures, and optimizing the resource allocation of virtualized deployment units by combining computing resource characteristic curves, the problem of low computing resource utilization of virtual network functions is solved, achieving efficient resource utilization and improved service quality.

CN116028159BActive Publication Date: 2026-04-07BEIJING UNIV OF POSTS & TELECOMM
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-12-16
Publication Date
2026-04-07

AI Technical Summary

Technical Problem

Existing technologies have low utilization of computing resources for virtual network functions under low load conditions, and cannot effectively allocate computing resources for virtualized deployment units, resulting in resource waste.

Method used

By obtaining the virtual network function descriptor file, parsing service traffic metrics and virtualization deployment unit topology, dividing the structure into basic serial and parallel structures, and combining computing resource characteristic curves to allocate computing resources, the resource allocation method of the virtualization deployment unit is optimized.

Benefits of technology

It improves the utilization rate of computing resources in virtual network functions, avoids resource waste, ensures that user service needs can still be met under low load conditions, and improves service quality and user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116028159B_ABST
    Figure CN116028159B_ABST
Patent Text Reader

Abstract

This invention provides a method and system for automated resource allocation of virtual network functions (VNFs). The method includes: acquiring VNF information and service traffic metrics; testing each virtualization deployment unit (VDU) in a virtualization deployment unit topology to obtain the computing resource characteristic curve of each VDU; and calculating the overall computing resource allocation scheme for each VDU topology based on the computing resource characteristic curves, service traffic metrics, and the VDU topology. This invention can automatically adjust the computing resources of each VDU in the VDU topology according to the service traffic metrics, thereby improving the utilization rate of VNF computing resources.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of network function virtualization, and particularly relates to a virtual network function automatic resource allocation method and system. BACKGROUND

[0002] A virtual network function is the most important part of a network function virtualization architecture, responsible for the implementation of specific network functions, and can implement functions such as routers, firewalls, and network address translation. A virtual network function is essentially a piece of software designed to process data traffic to complete specific tasks in a network, and runs in a virtual machine or container. In actual operation, the virtual network function needs to be scaled up or down according to the service load. In the prior art, the virtual network function is scaled up or down horizontally, that is, the number of virtual network functions is changed to balance the load in the virtual network function cluster. However, this horizontal scaling will cause low resource utilization of the virtual network function when the service load is low during initial deployment and scaling of the virtual network function. SUMMARY

[0003] In view of this, the embodiments of the present application provide a virtual network function automatic resource allocation method and system to solve the problem of low utilization of virtual network function computing resources under low load in the prior art.

[0004] One aspect of the present application provides a virtual network function automatic resource allocation method, which comprises the following steps:

[0005] A virtual network function descriptor file is obtained and parsed to obtain virtual network function information and service traffic indicators. The virtual network function information includes a virtualization deployment unit topology and a deployment method of the virtualization deployment unit. The service traffic indicators include a standard peak throughput and a standard time delay required by a user for the virtual network function. The virtualization deployment unit topology is a network structure composed of one or more virtualization deployment units.

[0006] The computing resource characteristics curve of the throughput and processing time delay of each virtualization deployment unit in the virtualization deployment unit topology under different computing resources is obtained.

[0007] obtaining the virtualization deployment unit topology, the computing resource characteristic curve corresponding to each virtualization deployment unit, the standard peak throughput and the standard time delay; dividing the virtualization deployment unit topology into a plurality of basic serial structures and basic parallel structures; in each basic serial structure, requiring the throughput of the virtualization deployment unit with the smallest throughput in the corresponding basic serial structure to be greater than or equal to the standard peak throughput, and requiring the sum of the processing time delays of each virtualization deployment unit in the corresponding basic serial structure to be less than or equal to the standard time delay, and solving in combination with the computing resource characteristic curve corresponding to each virtualization deployment unit to obtain a first type of computing resource allocation method of each virtualization deployment unit in each basic serial structure; in each basic parallel structure, requiring the sum of the throughputs of each virtualization deployment unit in the corresponding basic parallel structure to be greater than or equal to the standard peak throughput, and requiring the processing time delay of the virtualization deployment unit with the largest processing time delay in the corresponding basic parallel structure to be less than or equal to the standard time delay, and solving in combination with the computing resource characteristic curve corresponding to each virtualization deployment unit to obtain a second type of computing resource allocation method of each virtualization deployment unit in each basic parallel structure;

[0008] combining the first type of resource allocation method and the second type of resource allocation method to obtain the overall computing resource allocation method of the virtualization deployment unit topology, and guiding the allocation of computing resources.

[0009] In some embodiments, further comprising:

[0010] storing the virtual network function information, the computing resource characteristic curve corresponding to each virtualization deployment unit and the overall computing resource allocation method for calling.

[0011] In some embodiments, obtaining the computing resource characteristic curve of the throughput and the processing time delay of each virtualization deployment unit in the virtualization deployment unit topology under different computing resources comprises:

[0012] constructing a virtualization deployment unit test topology to perform performance testing on each virtualization deployment unit, the virtualization deployment unit test topology comprising a client, a test traffic inlet, the virtualization deployment unit, a test traffic outlet and a server connected in sequence;

[0013] the traffic generator on the client generates test traffic and passes through the test traffic inlet, the virtualization deployment unit and the test traffic outlet in sequence to reach the server, calculates the throughput of the virtualization deployment unit according to the test traffic passing through the test traffic inlet and the test traffic passing through the test traffic outlet, and calculates the processing time delay of the virtualization deployment unit according to the time taken by the test traffic from the test traffic inlet to the test traffic outlet.

[0014] In some embodiments, the method further comprises:

[0015] The number of computing resources of the virtualized deployment unit in the test topology is changed, the test traffic is input into the test topology, the throughput and processing delay of the virtualized deployment unit under different numbers of computing resources are obtained, and the computing resource characteristic curve of the throughput and processing delay of the virtualized deployment unit is fitted.

[0016] In some embodiments, the first type of resource allocation method is combined with the second type of resource allocation method to obtain the overall computing resource allocation method of the virtualized deployment unit topology, and the allocation of computing resources is guided, and the method further comprises:

[0017] The new service traffic indicators, the virtual network function information, and the computing resource characteristic curves of each virtualized deployment unit are obtained, the new computing resource allocation method of each virtualized deployment unit in the virtualized deployment unit topology is calculated, and the overall computing resource allocation method of the virtualized deployment unit topology is updated.

[0018] Another aspect of the present application provides a virtual network function automatic resource allocation system, comprising:

[0019] The receiving module is configured to obtain a virtual network function descriptor file and parse the virtual network function information and the service traffic indicators. The virtual network function information includes a virtualized deployment unit topology and a deployment method of a virtualized deployment unit. The service traffic indicators include a standard peak throughput and a standard delay required by a user for a virtual network function. The virtualized deployment unit topology is a network structure composed of one or more virtualized deployment units.

[0020] The test module is configured to obtain a computing resource characteristic curve of the throughput and processing delay of each virtualized deployment unit in the virtualized deployment unit topology under different computing resources.

[0021] a decision module, configured to acquire the virtualization deployment unit topology, the computing resource characteristic curve corresponding to each virtualization deployment unit, the standard peak throughput and the standard time delay; divide the virtualization deployment unit topology into a plurality of basic serial structures and basic parallel structures; in each basic serial structure, require the throughput of the virtualization deployment unit with the smallest throughput in the corresponding basic serial structure to be greater than or equal to the standard peak throughput, and require the sum of the processing time delays of each virtualization deployment unit in the corresponding basic serial structure to be less than or equal to the standard time delay, and solve the corresponding computing resource characteristic curve of each virtualization deployment unit to obtain a first type of computing resource allocation method of each virtualization deployment unit in each basic serial structure; in each basic parallel structure, require the sum of the throughputs of each virtualization deployment unit in the corresponding basic parallel structure to be greater than or equal to the standard peak throughput, and require the processing time delay of the virtualization deployment unit with the largest processing time delay in the corresponding basic parallel structure to be less than or equal to the standard time delay, and solve the corresponding computing resource characteristic curve of each virtualization deployment unit to obtain a second type of computing resource allocation method of each virtualization deployment unit in each basic parallel structure;

[0022] a deployment module, configured to combine the first type of resource allocation method and the second type of resource allocation method to obtain an overall computing resource allocation method of the virtualization deployment unit topology, and guide the allocation of computing resources.

[0023] In some embodiments, the method further comprises:

[0024] a storage module, configured to store the virtual network function information, the corresponding computing resource characteristic curve of each virtualization deployment unit and the overall computing resource allocation method for calling.

[0025] In some embodiments, the deployment module interfaces with a virtualization infrastructure manager to deploy and manage the virtualization deployment units.

[0026] In another aspect, the present application also provides an electronic device comprising a processor and a memory, wherein the memory stores computer instructions, and the processor is configured to execute the computer instructions stored in the memory, and when the computer instructions are executed by the processor, the device implements the steps of the above method.

[0027] In another aspect, the present application also provides a computer readable storage medium, which stores a computer program, and when the computer program is executed by a processor, the steps of the above method are implemented.

[0028] The present application has at least the following advantages:

[0029] The virtual network function automatic resource allocation method and system provided by the application obtains the virtual network function information and service flow index, performs performance testing on each virtualization deployment unit in the virtualization deployment unit topology to obtain the computing resource curve of each virtualization deployment unit, allocates the computing resources of each virtualization deployment unit according to the service flow index, the virtualization deployment unit topology and the computing resource curve of each virtualization deployment unit, thereby obtaining the overall computing resource allocation method of the virtualization deployment unit topology, and allocating the computing resources of each virtualization deployment unit in the virtual network function according to the standard peak throughput and standard time delay required by the user for the virtual network function, so that the service instruction of the user is completed with the smallest computing resource under the premise of meeting the service flow index of the user, and the utilization rate of the computing resources of each virtualization deployment unit in the virtual network function is improved.

[0030] Further, the service flow index of the user is taken as a standard, and the computing resources of each virtualization deployment unit are allocated according to the standard, so that the service quality of the virtual network function and the user experience are improved.

[0031] Further, the virtual network function automatic resource allocation method and system provided by the application can set different overall computing resource allocation methods of the virtualization deployment unit topology according to different service flow indexes, so as to realize the vertical expansion and contraction of the virtual network function, improve the utilization rate of the computing resources of each virtualization deployment unit, and further improve the utilization rate of the computing resources of the virtual network function.

[0032] Additional advantages, objects, and features of the application will be set forth in part by the description that follows, and will become apparent to those skilled in the art upon examination of the following figures and detailed description thereof or can be learned by practice of the application. The objects and other advantages of the application can be realized and attained by the structure particularly pointed out in the description and claims hereof as well as the appended drawings.

[0033] It will be understood by those skilled in the art that the objects and advantages of the present application can be realized and attained by the structure particularly pointed out in the appended claims and carried out as hereinafter described by the following written description and accompanying drawings. BRIEF DESCRIPTION OF DRAWINGS

[0034] The accompanying drawings, which are included to provide a further understanding of the application and are incorporated in and constitute a part of this application, will be described in detail hereinafter.

[0035] Figure 1 The virtual network function automatic resource allocation method provided by an embodiment of the application.

[0036] Figure 2 The virtual network function descriptor structure provided by an embodiment of the application.

[0037] Figure 3 The virtualized network deployment unit test topology is described for an embodiment of the present application.

[0038] Figure 4 The virtualized deployment unit basic serial structure and basic parallel structure are described for an embodiment of the present application.

[0039] Figure 5 The virtual network function automation resource allocation system is described for an embodiment of the present application. DETAILED DESCRIPTION

[0040] In order to make the objects, technical solutions and advantages of the present application clearer, the present application will be further described in detail below with reference to embodiments and drawings. Herein, the illustrative embodiments of the present application and their descriptions are used to explain the present application, but are not used as limitations to the present application.

[0041] Herein, it also needs to be noted that, in order to avoid the present application being obscured by unnecessary details, only the structures and / or processing steps closely related to the solutions according to the present application are shown in the drawings, and other details not closely related to the present application are omitted.

[0042] It should be emphasized that the terms "comprises / comprising" when used in this specification are taken to specify the presence of stated features, elements, steps or components, but do not preclude the presence or addition of one or more other features, elements, steps, components, or groups thereof.

[0043] Herein, it also needs to be noted that, if not specially stated, the term "connection" herein can not only mean direct connection, but also means indirect connection with an intermediate.

[0044] In the following, embodiments of the present application will be described with reference to the accompanying drawings. In the drawings, the same reference numerals represent the same or similar components, or the same or similar steps.

[0045] Network Functions Virtualization (NFV) is a new network architecture concept. The emergence of NFV greatly changes the layout of existing network functions. Now network functions can no longer be built on dedicated network devices, but run directly as a software on various general-purpose hardware platforms through virtualization technology. Simply put, NFV is a new way to define, create and manage networks through software instead of dedicated network devices. The NFV architecture given by the European Telecommunications Standardization Association consists of three parts: virtual network functions, network function virtualization infrastructure and network function virtualization management and orchestration.

[0046] The most important part of the NFV architecture is the virtual network function, which is responsible for the implementation of specific network functions. Virtual network functions can be simply viewed as replacements for traditional devices, which can implement functions such as routers, firewalls, and network address translation. A virtual network function is essentially a piece of software designed to process data traffic to perform specific tasks in a network and runs in a virtual machine or container. Since network functions are packaged as virtual objects, network operators can take advantage of the features of cloud computing platforms such as OpenStack and Kubernetes to improve the scalability and flexibility of the network and provide network services and applications on demand. A complex virtual network function has an internal structure, which is composed of multiple different virtual network function components. Virtual network function components are highly distributed applications that implement various sub-functions within a virtual network function, and their main feature is to be mapped 1:1 to a single virtualization container (virtual machine or container). The virtual network function life cycle includes instantiation, monitoring, repair, scaling, updating, and backup. There are two ways to scale virtual network functions, vertical scaling and horizontal scaling. Vertical scaling changes the computing resources allocated to virtual network function components, such as CPU, memory, or storage; horizontal scaling does not change the computing resources allocated to existing instances, but rather increases or decreases the number of running virtual network function components.

[0047] In actual operation, virtual network functions need to be scaled according to service load. The scaling solution of the prior art cannot scale the virtualization deployment unit in the virtual network function, and on the other hand, it cannot allocate computing resources to the virtualization deployment unit according to different service loads, which causes waste of computing resources in the case of small service load. Therefore, the present application provides a virtual network function automatic resource allocation method and system to solve the problem of the prior art that cannot allocate computing resources to the virtualization deployment unit and low computing resource utilization.

[0048] One aspect of the present application provides a virtual network function automatic resource allocation method, as shown in Figure 1 The method comprises steps S101-S104:

[0049] S101: Obtain a virtual network function descriptor file, as shown in Figure 2 And parse to obtain virtual network function information and service traffic indicators; the virtual network function information includes: virtualization deployment unit topology and deployment method of the virtualization deployment unit; the service traffic indicators include: standard peak throughput and standard latency required by users for the virtual network function; the virtualization deployment unit topology is a network structure composed of one or more virtualization deployment units.

[0050] S102: Obtain the computing resource characteristic curves of throughput and processing latency of each virtualization deployment unit in the virtualization deployment unit topology under different computing resources.

[0051] S103: Obtain the virtualization deployment unit topology, the computing resource characteristic curves corresponding to each virtualization deployment unit, the standard peak throughput, and the standard latency; divide the virtualization deployment unit topology into multiple basic serial structures and basic parallel structures; in each basic serial structure, the throughput of the virtualization deployment unit with the smallest throughput in the corresponding basic serial structure must be greater than or equal to the standard peak throughput, and the sum of the processing latencies of each virtualization deployment unit in the corresponding basic serial structure must be less than or equal to the standard latency. Solve using the computing resource characteristic curves corresponding to each virtualization deployment unit to obtain the first type of computing resource allocation method for each virtualization deployment unit within each basic serial structure; in each basic parallel structure, the sum of the throughput of each virtualization deployment unit in the corresponding basic parallel structure must be greater than or equal to the standard peak throughput, and the processing latency of the virtualization deployment unit with the largest processing latency in the corresponding basic parallel structure must be less than or equal to the standard latency. Solve using the computing resource characteristic curves corresponding to each virtualization deployment unit to obtain the second type of computing resource allocation method for each virtualization deployment unit within each basic parallel structure.

[0052] S104: Combine the first type of resource allocation method with the second type of resource allocation method to obtain the overall computing resource allocation method for the virtualization deployment unit topology, and guide the allocation of computing resources.

[0053] In step S101, the deployment method of the virtualization deployment unit provides configuration information for the virtual hosts within the virtual network function, including image information and script information installed in the virtual machine. It obtains a pre-written virtual network function descriptor file. To ensure good compatibility with existing platforms, this file is based on the Cloud Application Topology Orchestration Standard (TOSCA) and written in YAML format. The virtualization deployment unit topology includes connection point descriptors and virtual link descriptors.

[0054] In step S102, a virtualization deployment unit test topology is constructed to perform performance tests on each virtualization deployment unit, such as... Figure 3 As shown, the virtualization deployment unit test topology includes a client, a test traffic inlet, a virtualization deployment unit, a test traffic outlet, and a server connected in sequence. A traffic generator on the client generates test traffic, which sequentially passes through the test traffic inlet, the virtualization deployment unit, and the test traffic outlet to reach the server. The throughput of the virtualization deployment unit is calculated based on the test traffic passing through the test traffic inlet and the test traffic outlet. The processing latency of the virtualization deployment unit is calculated based on the time it takes for the test traffic to travel from the test traffic inlet to the test traffic outlet.

[0055] In some embodiments, the number of computing resources for each virtualization deployment unit in the virtualization deployment unit test topology is varied. Test traffic is input into the virtualization deployment unit test topology to obtain the throughput and processing latency of the virtualization deployment units under different numbers of computing resources. The computing resource characteristic curves for the throughput and processing latency of the virtualization deployment units are then fitted. The computing resources include CPU resources, memory resources, and disk resources. By controlling variables, under the same test traffic conditions, the computing resources of each virtualization deployment unit are varied to obtain the throughput and processing latency of each virtualization deployment unit under different numbers of computing resources. The computing resource characteristic curves for the throughput and processing latency of each virtualization deployment unit are then fitted.

[0056] In step S103, as Figure 4 As shown, virtualization deployment units in a virtualization deployment unit topology generally exist in two forms: serial and parallel. Dividing the virtualization deployment unit topology into multiple basic serial and parallel structures ensures that each basic substructure meets the service traffic requirements. Specifically, in the basic serial structure, the virtualization deployment unit with the lowest throughput has a throughput greater than or equal to the standard peak throughput, and the sum of the processing latency of all virtualization deployment units is less than or equal to the standard latency. The minimum computing resources of each virtualization deployment unit in the basic serial structure are determined by combining the computing resource characteristic curves of each virtualization deployment unit; this is the first type of computing resource allocation method. Similarly, in the basic parallel structure, the sum of the throughput of each virtualization deployment unit is greater than or equal to the standard peak throughput, and the processing latency of the virtualization deployment unit with the highest processing latency is less than or equal to the standard latency. The minimum computing resources of each virtualization deployment unit in the basic parallel structure are determined by combining the computing resource characteristic curves of each virtualization deployment unit; this is the second type of computing resource allocation method.

[0057] In some embodiments, the throughput of the basic serial structure should satisfy:

[0058] min{f1(x1),f2(x2),...,fi(xi)}≧A;

[0059] The processing delay of the basic serial structure should meet the following requirements:

[0060] G(x1,x2,...,xi)=∑g(xi)≦B;

[0061] The throughput of a basic parallel architecture should satisfy:

[0062] F(x1,x2,...,xi)=∑fi(xi)≧A;

[0063] The processing latency of a basic parallel architecture should satisfy:

[0064] max{g1(x1),g2(x2),...,gi(xi)}≦B;

[0065] Where i represents the number of virtualized deployment units in the basic serial structure, A represents the standard peak throughput, B represents the standard latency, f(·) represents the throughput of the virtualized deployment units, F(·) represents the sum of the throughputs of the virtualized deployment units in the basic parallel structure, g(·) represents the processing latency of the virtualized deployment units, and G(·) represents the sum of the processing latency of the virtualized deployment units in the basic serial structure.

[0066] In step S104, the first type of computing resource allocation method is combined with the second type of computing resource allocation method to obtain the overall computing resource allocation method for the virtualization deployment unit. This overall computing resource allocation method, while ensuring that the user's standard peak throughput and standard latency are met, minimizes the computing resources required for each virtualization deployment unit to participate in computation. It improves the utilization rate of computing resources within the virtual network function while meeting user needs and avoiding resource waste. Furthermore, this automated resource allocation method for the virtual network function can be used during the initial deployment, ensuring that computing resource waste is avoided from the outset.

[0067] In some embodiments, the virtual network function automated resource allocation method further includes:

[0068] The system stores virtual network function information, the corresponding computing resource characteristic curves of each virtualization deployment unit, and the overall computing resource allocation method for later retrieval.

[0069] In some embodiments, when a user inputs a new service traffic metric, the stored virtual network function information and the corresponding computing resource characteristic curves of each virtualization deployment unit are invoked to calculate a new computing resource allocation method for each virtualization deployment unit in the virtualization deployment unit topology, and the overall computing resource allocation method of the virtualization deployment unit topology is updated. This enables vertical scaling of virtual network functions and improves the utilization rate of computing resources in virtual network functions.

[0070] Another aspect of the present invention provides a virtual network function automated resource allocation system, such as... Figure 5 As shown, it includes:

[0071] The receiving module is used to acquire the virtual network function descriptor file and parse it to obtain the virtual network function information and service traffic indicators. The virtual network function information includes: the virtualization deployment unit topology and the deployment method of the virtualization deployment unit. The service traffic indicators include: the standard peak throughput and standard latency required by the user for the virtual network function. The virtualization deployment unit topology is a network structure composed of one or more virtualization deployment units.

[0072] The testing module is used to obtain the computing resource characteristic curves of throughput and processing latency of each virtualization deployment unit in the virtualization deployment unit topology under different computing resources.

[0073] The decision module is used to obtain the virtualization deployment unit topology, the computing resource characteristic curves corresponding to each virtualization deployment unit, the standard peak throughput, and the standard latency. It divides the virtualization deployment unit topology into multiple basic serial structures and basic parallel structures. In each basic serial structure, the virtualization deployment unit with the smallest throughput is required to have a throughput greater than or equal to the standard peak throughput, and the sum of the processing latencies of all virtualization deployment units in the corresponding basic serial structure is required to be less than or equal to the standard latency. This is solved by combining the computing resource characteristic curves corresponding to each virtualization deployment unit to obtain the first type of computing resource allocation method for each virtualization deployment unit within each basic serial structure. In each basic parallel structure, the sum of the throughputs of each virtualization deployment unit in the corresponding basic parallel structure is required to be greater than or equal to the standard peak throughput, and the processing latency of the virtualization deployment unit with the largest processing latency in the corresponding basic parallel structure is required to be less than or equal to the standard latency. This is solved by combining the computing resource characteristic curves corresponding to each virtualization deployment unit to obtain the second type of computing resource allocation method for each virtualization deployment unit within each basic parallel structure.

[0074] The deployment module is used to combine the first type of resource allocation method with the second type of resource allocation method to obtain the overall computing resource allocation method of the virtualized deployment unit topology, and to guide the allocation of computing resources.

[0075] In some embodiments, the virtual network function automated resource allocation system further includes:

[0076] The storage module stores virtual network function information, the corresponding computing resource characteristic curves of each virtualization deployment unit, and the overall computing resource allocation method for later retrieval. The storage module can also query the computing resource characteristic performance curves of all virtualization deployment units within the virtual network function for use by the decision-making module.

[0077] In some embodiments, the deployment module interfaces with a Virtualization Infrastructure Manager (VIM) to deploy and manage virtualized deployment units. It can also manage the lifecycle of virtual network functions via API integration with the Tacker project. Virtualization Infrastructure Managers include OpenStack and Kubernetes. Upon receiving test commands from the test module, the deployment module reads the virtual network function information and overall computing resource allocation method from the storage module and constructs a test topology for the virtualized deployment units in the Virtualization Infrastructure Manager to complete performance testing of each virtualized deployment unit, and then feeds the test data back to the test module.

[0078] In summary, the automated resource allocation method and system for virtual network functions described in this invention, after obtaining virtual network function information and service traffic indicators, performs performance tests on each virtualization deployment unit in the virtualization deployment unit topology to obtain the computing resource curve of each virtualization deployment unit. Based on the service traffic indicators, the virtualization deployment unit topology, and the computing resource curves of each virtualization deployment unit, computing resources are allocated to each virtualization deployment unit, thus obtaining an overall computing resource allocation method for the virtualization deployment unit topology. The computing resources of each virtualization deployment unit in the virtual network function are allocated according to the standard peak throughput and standard latency required by the user for the virtual network function. This method completes the user's service instructions with minimal computing resources while ensuring that the user's service traffic indicators are met, thereby improving the utilization rate of computing resources in each virtualization deployment unit within the virtual network function.

[0079] Furthermore, by using user service traffic metrics as a standard and allocating computing resources to each virtualization deployment unit based on this standard, the service quality of virtual network functions and user experience are improved.

[0080] Furthermore, the virtual network function automated resource allocation method and system of the present invention can set different overall computing resource allocation methods for virtualization deployment unit topologies according to different service traffic indicators, so as to realize the vertical scaling of virtual network functions, improve the computing resource utilization of each virtualization deployment unit, and thus improve the computing resource utilization of virtual network functions.

[0081] Corresponding to the above method, the present invention also provides an apparatus comprising a computer device including a processor and a memory, the memory storing computer instructions, the processor executing the computer instructions stored in the memory, and the apparatus performing the steps of the method as described above when the computer instructions are executed by the processor.

[0082] This invention also provides a computer-readable storage medium storing a computer program thereon, which, when executed by a processor, implements the steps of the aforementioned edge computing server deployment method. The computer-readable storage medium can be a tangible storage medium, such as random access memory (RAM), main memory, read-only memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, registers, floppy disks, hard disks, removable storage disks, CD-ROMs, or any other form of storage medium known in the art.

[0083] Those skilled in the art will understand that the exemplary components, systems, and methods described in conjunction with the embodiments disclosed herein can be implemented in hardware, software, or a combination of both. Whether implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this invention. When implemented in hardware, it can be, for example, electronic circuits, application-specific integrated circuits (ASICs), appropriate firmware, plug-ins, function cards, etc. When implemented in software, the elements of this invention are programs or code segments used to perform the desired tasks. The programs or code segments can be stored in a machine-readable medium or transmitted over a transmission medium or communication link via data signals carried in a carrier wave.

[0084] It should be clarified that the present invention is not limited to the specific configurations and processes described above and shown in the figures. For the sake of brevity, detailed descriptions of known methods are omitted here. In the above embodiments, several specific steps are described and shown as examples. However, the method process of the present invention is not limited to the specific steps described and shown. Those skilled in the art can make various changes, modifications, and additions, or change the order of steps, after understanding the spirit of the present invention.

[0085] In this invention, features described and / or illustrated for one embodiment may be used in the same or similar manner in one or more other embodiments, and / or combined with or in place of features of other embodiments.

[0086] The above description is merely a preferred embodiment of the present invention and is not intended to limit the present invention. For those skilled in the art, various modifications and variations can be made to the embodiments of the present invention. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention should be included within the protection scope of the present invention.

Claims

1. A method for automating resource allocation for virtual network functions, characterized in that, The method includes the following steps: Obtain the virtual network function descriptor file and parse it to obtain virtual network function information and service traffic metrics; the virtual network function information includes: virtualization deployment unit topology and deployment method of virtualization deployment units; the service traffic metrics include: standard peak throughput and standard latency required by users for virtual network functions; the virtualization deployment unit topology is a network structure composed of one or more virtualization deployment units; Obtain the computing resource characteristic curves of throughput and processing latency of each virtualization deployment unit in the virtualization deployment unit topology under different computing resources; The process involves obtaining the virtualization deployment unit topology, the computing resource characteristic curves corresponding to each virtualization deployment unit, the standard peak throughput, and the standard latency. The virtualization deployment unit topology is then divided into multiple basic serial structures and basic parallel structures. In each basic serial structure, the virtualization deployment unit with the smallest throughput is required to have a throughput greater than or equal to the standard peak throughput, and the sum of the processing latencies of all virtualization deployment units in the corresponding basic serial structure is required to be less than or equal to the standard latency. The first type of computing resource allocation method for each virtualization deployment unit within each basic serial structure is obtained by combining the computing resource characteristic curves corresponding to each virtualization deployment unit. Similarly, in each basic parallel structure, the sum of the throughput of each virtualization deployment unit in the corresponding basic parallel structure is required to be greater than or equal to the standard peak throughput, and the processing latency of the virtualization deployment unit with the largest processing latency in the corresponding basic parallel structure is required to be less than or equal to the standard latency. The second type of computing resource allocation method for each virtualization deployment unit within each basic parallel structure is obtained by combining the computing resource characteristic curves corresponding to each virtualization deployment unit. The first type of computing resource allocation method is combined with the second type of computing resource allocation method to obtain the overall computing resource allocation method of the virtualization deployment unit topology, and to guide the allocation of computing resources.

2. The method for automated resource allocation of virtual network functions according to claim 1, characterized in that, Also includes: The virtual network function information, the corresponding computing resource characteristic curves of each virtualization deployment unit, and the overall computing resource allocation method are stored for later use.

3. The method for automated resource allocation of virtual network functions according to claim 1, characterized in that, Obtain the computing resource characteristic curves of throughput and processing latency for each virtualization deployment unit in the virtualization deployment unit topology under different computing resources, including: A virtualization deployment unit test topology is constructed to perform performance tests on each virtualization deployment unit. The virtualization deployment unit test topology includes a client, a test traffic inlet, the virtualization deployment unit, a test traffic outlet, and a server connected in sequence. The traffic generator on the client generates test traffic and sequentially passes through the test traffic inlet, the virtualization deployment unit, and the test traffic outlet to reach the server. The throughput of the virtualization deployment unit is calculated based on the test traffic passing through the test traffic inlet and the test traffic passing through the test traffic outlet. The processing latency of the virtualization deployment unit is calculated based on the time it takes for the test traffic to travel from the test traffic inlet to the test traffic outlet.

4. The automated resource allocation method for virtual network functions according to claim 3, characterized in that, Obtaining the computing resource characteristic curves of throughput and processing latency of each virtualization deployment unit in the virtualization deployment unit topology under different computing resources also includes: The number of computing resources of the virtualized deployment unit in the virtualized deployment unit test topology is changed, and the test traffic is input into the virtualized deployment unit test topology to obtain the throughput and processing latency of the virtualized deployment unit under different numbers of computing resources. The computing resource characteristic curves of the throughput and processing latency of the virtualized deployment unit are then fitted.

5. The method for automated resource allocation of virtual network functions according to claim 1, characterized in that, Combining the first type of computing resource allocation method with the second type of computing resource allocation method to obtain the overall computing resource allocation method for the virtualization deployment unit topology, and guiding the allocation of computing resources, further includes: The system acquires new service traffic metrics, virtual network function information, and corresponding computing resource characteristic curves for each virtualization deployment unit. It then calculates a new computing resource allocation method for each virtualization deployment unit in the virtualization deployment unit topology and updates the overall computing resource allocation method for the virtualization deployment unit topology.

6. A virtual network function automated resource allocation system, characterized in that, include: The receiving module is used to obtain the virtual network function descriptor file and parse it to obtain the virtual network function information and service traffic indicators. The virtual network function information includes: virtualization deployment unit topology and deployment method of virtualization deployment units; the service traffic indicators include: standard peak throughput and standard latency required by users for virtual network functions; the virtualization deployment unit topology is a network structure composed of one or more virtualization deployment units; The testing module is used to obtain the computing resource characteristic curves of throughput and processing latency of each virtualization deployment unit in the virtualization deployment unit topology under different computing resources; A decision module is used to acquire the virtualization deployment unit topology, the computing resource characteristic curves corresponding to each virtualization deployment unit, the standard peak throughput, and the standard latency; divide the virtualization deployment unit topology into multiple basic serial structures and basic parallel structures; in each basic serial structure, the throughput of the virtualization deployment unit with the smallest throughput in the corresponding basic serial structure is required to be greater than or equal to the standard peak throughput, and the sum of the processing latencies of each virtualization deployment unit in the corresponding basic serial structure is required to be less than or equal to the standard latency; by combining the computing resource characteristic curves corresponding to each virtualization deployment unit, a first type of computing resource allocation method for each virtualization deployment unit in each basic serial structure is obtained; in each basic parallel structure, the sum of the throughput of each virtualization deployment unit in the corresponding basic parallel structure is required to be greater than or equal to the standard peak throughput, and the processing latency of the virtualization deployment unit with the largest processing latency in the corresponding basic parallel structure is required to be less than or equal to the standard latency; by combining the computing resource characteristic curves corresponding to each virtualization deployment unit, a second type of computing resource allocation method for each virtualization deployment unit in each basic parallel structure is obtained. The deployment module is used to combine the first type of computing resource allocation method with the second type of computing resource allocation method to obtain the overall computing resource allocation method of the virtualization deployment unit topology, and to guide the allocation of computing resources.

7. The virtual network function automated resource allocation system according to claim 6, characterized in that, Also includes: The storage module is used to store the virtual network function information, the corresponding computing resource characteristic curves of each virtualization deployment unit, and the overall computing resource allocation method for future use.

8. The virtual network function automated resource allocation system according to claim 6, characterized in that, The deployment module interfaces with the virtualization infrastructure manager to deploy and manage the virtualization deployment units.

9. A virtual network function automated resource allocation device, comprising a processor and a memory, characterized in that, The memory stores computer instructions, and the processor executes the computer instructions stored in the memory. When the computer instructions are executed by the processor, the device implements the steps of the method as described in any one of claims 1 to 5.

10. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the program is executed by the processor, it implements the steps of the method as described in any one of claims 1 to 5.

Citation Information

Patent Citations

  • Smart power grid slice virtual resource allocation method and system based on SDN

    CN113204913A

  • Techniques to expose application telemetry in a virtualized execution environment

    US20220222117A1