Deployment method and device for time delay aware virtual network function and backup of time delay aware virtual network function
By optimizing the deployment location of VNF, the problem of timeliness and reliability in the virtualized network is solved, and the efficient reliability and low latency of the service are achieved.
Patent Information
- Application Number
- CN202511094374.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-08-06
- Publication Date
- 2025-09-05
AI Technical Summary
In virtualized networks, the prior art is difficult to ensure the timeliness and reliability of virtual network functions at the same time, resulting in service failure and unable to meet strict reliability standards.
By obtaining the basic deployment data of VNF, determining its priority, and targeting the minimum total expected delay, redundant deployment is carried out in order of priority from high to low, combining random updates and neighbor generation functions, the deployment location of VNF is optimized to reduce the total delay.
It realizes the timeliness and reliability of services in the virtual network, reduces the total delay of data flow, and improves the reliability and efficiency of services.
Smart Images

Figure CN120602340A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of wireless communication technology, and in particular to a method and device for deploying a delay-aware virtual network function and backup thereof. Background Art
[0002] The internet has evolved into a global information infrastructure. Software Defined Network (SDN) / Network Function Virtualization (NFV), as foundational technologies, represents the entry point to the network, promoting vertical disaggregation and horizontal connectivity through cloud deployment of network elements, software-defined network intelligent control, deployment of next-generation operating systems, and transformation of network data centers. NFV technology is driving the transition of traditional network functions from dedicated hardware to software running on standard servers. NFV has revolutionized network functions and triggered a series of deployment and migration challenges for virtual network functions (VNFs).
[0003] Virtualization technology decouples hardware and software, freeing application developers from hardware limitations and focusing on enhancing functionality. NFV is increasingly playing a key role in the competitive landscape of telecom networks and service providers. However, under the virtualization paradigm, network architectures become complex, leading to service failures affected by numerous factors. These complexities prevent networks from meeting the stringent five-nines (99.999%) reliability standards associated with traditional network function-specific hardware. Service failures can result in a negative user experience and, in some cases, in immeasurable losses. Therefore, ensuring timely and reliable services is paramount. Summary of the Invention
[0004] The object of the present invention is to provide a method and apparatus for deploying a delay-aware virtual network function and its backup, so as to ensure both the timeliness and reliability of the service.
[0005] In a first aspect, an embodiment of the present invention provides a method for deploying a latency-aware virtual network function and its backup, including: Obtain basic deployment data corresponding to multiple VNFs to be deployed, where the basic deployment data includes VNF information, data flow information, and network structure information. The VNF information includes a reliability probability value for each VNF. Determine the priority of each VNF based on the basic deployment data; the priority of a VNF is positively correlated with the number of data flows it passes through; Based on the basic deployment data, with the goal of minimizing the total expected delay of all data flows, each VNF is redundantly deployed in descending order of priority to obtain the target deployment result.
[0006] Furthermore, data flow information includes the VNF sequence, ingress node, and egress node corresponding to each data flow in the data flow set; network structure information includes the switch set; and based on the basic deployment data, the priority of each VNF is determined, including: The number of data flows corresponding to each VNF is calculated using the following formula: ; in, F ( q i )express q i The corresponding number of data streams, q i Represents a VNF set Q Middle i Active VNFs ,q j Represents a VNF set Q Middle j Active VNFs, s l Represents a switch set S Middle l switches, Indicates that the exit node is s l ,and q i is the number of data flows of the last VNF, Indicates that the entry node is s l ,and q i is the number of data flows of the first VNF, Indicates that you are visiting q i Post-visit q j The number of data streams; Sort the VNFs according to the size of the data flows, and determine the priority of each VNF based on the sorting results.
[0007] Furthermore, based on the basic deployment data, with the goal of minimizing the total expected delay of all data flows, redundant deployment is performed on each VNF in descending order of priority, resulting in the target deployment results, including: Traverse each VNF in descending order of priority; When traversing to the current VNF, the expected delay increment of the current VNF at different deployment locations is calculated based on the current deployment plan of the deployed VNF, the reliability probability value of the current VNF, data flow information, and network structure information. The deployment location with the smallest expected delay increment is determined as the current deployment plan of the current VNF. The deployed VNF is the VNF with a higher priority than the current VNF. Until all VNFs are traversed, the current deployment result consisting of the current deployment plan of each VNF is obtained; Determine the target deployment result based on the current deployment result.
[0008] Furthermore, based on the current deployment plan of the deployed VNF, the reliability probability value of the current VNF, data flow information, and network structure information, the expected delay increment of the current VNF at different deployment locations is calculated, including: The expected latency increment of the current VNF at different deployment locations can be calculated using one of the following two formulas: ; ; in, Indicates ignoring the expected delay increment when the VNF is not deployed. The VNF that is not deployed is the VNF with a lower priority than the current VNF. q i Represents a VNF set Q Middle i Active VNFs ,q j Represents a VNF set Q Middle j Active VNFs, Represents a switch set S Middle l 1 switch, s l Represents a switch set S Middle l switches, express arrive s l The delay, Indicates that the entry node is ,and q i is the number of data flows of the first VNF, express s l arrive The delay, Indicates that the exit node is ,and q iis the number of data flows of the last VNF, O Represents the set of deployed VNFs, express s l arrive The delay, express q j The deployed switches Indicates that you are visiting q i Post-visit q j The number of data streams, express arrive s l The delay, Indicates that you are visiting q j Post-visit q i The number of data streams, represents the expected delay increment when VNF is not deployed. express s l To an undeployed switch The delay, Indicates an undeployed switch .
[0009] Furthermore, based on the current deployment result, the target deployment result is determined, including: Randomly update the current deployment result to obtain the candidate deployment result; Determine whether the total expected delay of all data flows under the candidate deployment result is less than or equal to the total expected delay of all data flows under the current deployment result, and obtain a first determination result; Based on the first judgment result, determining an updated deployment result from the candidate deployment results and the current deployment result; Determine whether a preset iteration end condition is met, and obtain a second determination result; When the second judgment result is no, re-execute the step of randomly updating the current deployment result to obtain a candidate deployment result; When the second judgment result is yes, the updated deployment result is determined as the target deployment result.
[0010] Furthermore, the current deployment result is randomly updated to obtain candidate deployment results, including: Randomly selecting one of at least two preset neighbor generation functions as a target neighbor generation function; wherein the at least two neighbor generation functions include a first neighbor generation function and a second neighbor generation function, the first neighbor generation function is used to randomly select two deployed VNFs to exchange the current deployment plan, and the second neighbor generation function is used to randomly select one deployed VNF to randomly update the current deployment plan; According to the target neighbor generation function, the candidate deployment results corresponding to the current deployment result are generated.
[0011] Furthermore, based on the first judgment result, determining an updated deployment result from the candidate deployment results and the current deployment result includes: When the first judgment result is yes, the candidate deployment result is selected as the updated deployment result based on the probability of accepting the neighbor; When the first judgment result is no, the current deployment result is used as the updated deployment result.
[0012] In a second aspect, an embodiment of the present invention further provides a device for deploying a latency-aware virtual network function and its backup, including: A data acquisition module is used to obtain basic deployment data corresponding to multiple VNFs to be deployed. The basic deployment data includes VNF information, data flow information, and network structure information. The VNF information includes the reliability probability value of each VNF; A priority determination module is used to determine the priority of each VNF based on the basic deployment data; wherein the priority of the VNF is positively correlated with the number of data flows passing through it; The redundant deployment module is used to perform redundant deployment of each VNF in descending order of priority based on the basic deployment data, with the goal of minimizing the total expected delay of all data flows, to obtain the target deployment result.
[0013] In a third aspect, an embodiment of the present invention further provides an electronic device comprising a memory and a processor, wherein the memory stores a computer program that can be run on the processor, and when the processor executes the computer program, a method for deploying the delay-aware virtual network function and its backup according to the first aspect is implemented.
[0014] In a fourth aspect, an embodiment of the present invention further provides a computer-readable storage medium, on which a computer program is stored. When the computer program is run by a processor, the method for deploying the delay-aware virtual network function and its backup according to the first aspect is executed.
[0015] The delay-aware virtual network function and its backup deployment method and device provided by the embodiment of the present invention can obtain basic deployment data corresponding to multiple VNFs to be deployed, the basic deployment data including VNF information, data flow information and network structure information, and the VNF information including the reliability probability value of each VNF; determine the priority of each VNF based on the basic deployment data; wherein the priority of the VNF is positively correlated with the number of data flows passing through it; based on the basic deployment data, with the goal of minimizing the total expected delay of all data flows, redundantly deploy each VNF in descending order of priority to obtain the target deployment result. In this way, considering the reliability impact of the VNF and redundantly deploying the VNF with the goal of minimizing the total expected delay of all data flows, the reliability of the service can be guaranteed; at the same time, VNFs with a large number of data flows passing through are preferentially deployed, which can efficiently reduce the total delay of the data flow through the deployment location of the VNF, ensure the timeliness of the service, and thus ensure both the timeliness and reliability of the service. BRIEF DESCRIPTION OF THE DRAWINGS
[0016] In order to more clearly illustrate the specific embodiments of the present invention or the technical solutions in the prior art, the following briefly introduces the drawings required for use in the specific embodiments or the description of the prior art. Obviously, the drawings described below are some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.
[0017] Figure 1 A schematic diagram of a process for deploying a latency-aware virtual network function and its backup provided by an embodiment of the present invention; Figure 2 Schematic diagram of the VNF sequence, ingress node, and egress node corresponding to two data flows provided in an embodiment of the present invention; Figure 3 A schematic diagram of network structure information provided by an embodiment of the present invention; Figure 4 A flowchart of another method for deploying a latency-aware virtual network function and its backup provided by an embodiment of the present invention; Figure 5 A schematic diagram of a process flow of another method for deploying a latency-aware virtual network function and its backup provided by an embodiment of the present invention; Figure 6 A schematic diagram of a structure of a delay-aware virtual network function and a backup deployment device thereof provided by an embodiment of the present invention; Figure 7 A schematic structural diagram of an electronic device provided by an embodiment of the present invention. DETAILED DESCRIPTION
[0018] The following will clearly and completely describe the technical solutions of the present invention in conjunction with the embodiments. Obviously, the embodiments described are only some embodiments of the present invention, not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of the present invention.
[0019] In recent years, many papers have studied the placement of VNFs and their backups. Most of them focus on improving network performance, such as resource cost, link utilization, or reliability; however, few papers consider optimizing the total latency of all data flows.
[0020] The embodiments of the present invention primarily investigate redundant backup mechanisms for enhancing service reliability through redundant virtual network functions. In the context of NFV networks, business needs are fulfilled through network services, and the Service Function Chain (SFC) is the entity that implements network services. An SFC comprises a series of VNFs, and the deployment locations of active and backup VNFs impact the performance of the SFC. Therefore, within the NFV framework, VNFs must be judiciously assigned to their respective infrastructure, taking into account the VNF service function chains that comprise the network service. This process aims to optimize resource allocation within the underlying network infrastructure and improve service performance. Redundant virtualized network functions can enhance service reliability, but the placement of active and backup VNFs can significantly impact service timeliness.
[0021] Based on this, the embodiments of the present invention provide a method and apparatus for deploying a delay-aware virtual network function and its backup, which can ensure both the timeliness and reliability of services.
[0022] To facilitate understanding of this embodiment, a delay-aware virtual network function and a method for deploying backup thereof disclosed in an embodiment of the present invention are first introduced in detail.
[0023] The embodiment of the present invention provides a method for deploying a latency-aware virtual network function and its backup, which can be executed by an electronic device with data processing capabilities. Figure 1 The flowchart of a method for deploying a latency-aware virtual network function and its backup is shown, and the method mainly includes the following steps S110 to S130: Step S110: Obtain basic deployment data corresponding to multiple VNFs to be deployed. The basic deployment data includes VNF information, data flow information, and network structure information. The VNF information includes a reliability probability value for each VNF.
[0024] Specifically, the reliability probability value of each VNF in the VNF information can represent the probability of the active VNF being available. When the active VNF is unavailable, its backup VNF is activated. The active VNF and backup VNF can be deployed on different servers under the same or different switches. Data flow information can include the VNF sequence, ingress node, and egress node corresponding to each data flow in the data flow set. It can also include the data size and required bandwidth of each data flow. The VNF sequence corresponding to the data flow is the service function chain of the data flow. The ingress node and egress node can both be servers or switches to which the servers belong. Network structure information can include switch sets and links between switches.
[0025] Step S120: Determine the priority of each VNF based on the basic deployment data; wherein the priority of the VNF is positively correlated with the number of data flows passing through it.
[0026] In this embodiment, the more data flows passing through a VNF, the higher the priority of the VNF. In some possible embodiments, the number of data flows corresponding to each VNF can be calculated using the following formula, and then the VNFs can be sorted according to the size of the data flows, and the priority of each VNF can be determined based on the sorting result: ; in, F ( q i )express q i The corresponding number of data streams, q i Represents a VNF set Q Middle i Active VNFs ,q j Represents a VNF set Q Middle j Active VNFs, s l Represents a switch set S Middle l switches, Indicates that the exit node is s l ,and q i is the number of data flows of the last VNF, Indicates that the entry node is s l ,and q i is the number of data flows of the first VNF, Indicates that you are visiting q i Post-visitq j The number of data streams.
[0027] In specific implementation, each VNF can be sorted in order from large to small according to the number of data flows, and a priority can be assigned to each VNF according to the sorting result, wherein the higher the VNF is ranked, the higher the priority; or each VNF can be sorted in order from small to large according to the number of data flows, and a priority can be assigned to each VNF according to the sorting result, wherein the higher the VNF is ranked, the lower the priority.
[0028] Step S130: Based on the basic deployment data and with the goal of minimizing the total expected delay of all data flows, redundant deployment is performed on each VNF in descending order of priority to obtain the target deployment result.
[0029] In some possible embodiments, the above step S130 may include the following sub-steps 131 to 134: Sub-step 131, traverse each VNF in descending order of priority; Sub-step 132: When the current VNF is traversed, the expected delay increment of the current VNF at different deployment locations is calculated based on the current deployment plan of the deployed VNF, the reliability probability value of the current VNF, the data flow information, and the network structure information. The deployment location with the smallest expected delay increment is determined as the current deployment plan of the current VNF; wherein the deployed VNF is the VNF with a higher priority than the current VNF; Sub-step 133, until all VNFs are traversed, a current deployment result consisting of the current deployment schemes of each VNF is obtained; Sub-step 134: determining a target deployment result based on the current deployment result.
[0030] For the above sub-step 132, the deployment location of the current VNF needs to meet a preset condition. Optionally, the preset condition can be as follows:
[0031]
[0032]
[0033] in, q i Represents a VNF set Q Middle i Active VNFs , Represents a VNF set Q Middle i Backup VNFs ,s lRepresents a switch set S Middle l switches, 、 、 All said q i Is it deployed in s l superior, express Is it deployed in s l superior, express q i resource requirements, Representation Server s l Resources available on express q i A collection of deployment locations.
[0034] When calculating the expected delay increment after deploying the current VNF, the undeployed VNFs can be ignored or considered. Based on this, this embodiment provides two formulas for calculating the expected delay increment. The expected delay increment of the current VNF at different deployment locations can be calculated using one of the following two formulas: ; ; in, Indicates ignoring the expected delay increment when the VNF is not deployed. The VNF that is not deployed is the VNF with a lower priority than the current VNF. q i Represents a VNF set Q Middle i Active VNFs ,q j Represents a VNF set Q Middle j Active VNFs, Represents a switch set S Middle l 1 switch, s l Represents a switch set S Middle l switches, express arrive s l The delay, Indicates that the entry node is ,and q i is the number of data flows of the first VNF, express s l arrive The delay, Indicates that the exit node is ,and q i is the number of data flows of the last VNF, O Represents the set of deployed VNFs, express s l arrive The delay, express q j The deployed switches Indicates that you are visiting q i Post-visit q j The number of data streams, express arrive s l The delay, Indicates that you are visiting q j Post-visit q i The number of data streams, represents the expected delay increment when VNF is not deployed. express s l To an undeployed switch The delay, Indicates an undeployed switch .
[0035] Regarding the above sub-step 134, in a possible implementation, the current deployment result may be directly determined as the target deployment result.
[0036] In order to achieve global optimality, the above-mentioned sub-step 134 can be implemented in the following manner: randomly update the current deployment result to obtain a candidate deployment result; determine whether the total expected delay of all data streams under the candidate deployment result is less than or equal to the total expected delay of all data streams under the current deployment result to obtain a first judgment result; based on the first judgment result, determine the updated deployment result from the candidate deployment result and the current deployment result; determine whether the preset iteration end condition is met to obtain a second judgment result; when the second judgment result is no, re-execute the step of randomly updating the current deployment result to obtain the candidate deployment result; when the second judgment result is yes, determine the updated deployment result as the target deployment result.
[0037] Optionally, the above-mentioned candidate deployment results can be obtained in the following manner: randomly select one from at least two preset neighbor generation functions as the target neighbor generation function; wherein, the at least two neighbor generation functions include a first neighbor generation function and a second neighbor generation function, the first neighbor generation function is used to randomly select two deployed VNFs to exchange the current deployment plan, and the second neighbor generation function is used to randomly select a deployed VNF to randomly update the current deployment plan; according to the target neighbor generation function, generate a candidate deployment result corresponding to the current deployment result.
[0038] In a specific implementation, randomly selecting a target neighbor generation function from the first and second neighbor generation functions can be achieved by generating a first random number and determining whether the first random number is less than a first preset value; if so, selecting the first neighbor generation function as the target neighbor generation function; if not, selecting the second neighbor generation function as the target neighbor generation function. The first preset value can be set based on actual needs and is not limited here.
[0039] Optionally, the total expected delay of all data flows under the candidate deployment result can be calculated using the following formula: D t :
[0040] in, q i Represents a VNF set Q Middle i Active VNFs , Represents a VNF set Q Middle i Backup VNFs ,q j Represents a VNF set Q Middle j Active VNFs, Represents a VNF set Q Middle j Backup VNFs, s l Represents a switch set S Middle l switches, Represents a switch set S Middle l 1 switch, Represents a switch set S Middle l 2 switches, express s l arrive The delay, Indicates that the entry node is s l ,and q i is the number of data flows of the first VNF, express q i Is it deployed in superior, Indicates that the entry node is s l ,and is the number of data flows of the first VNF, express Is it deployed in superior, express arrive s l The delay, express sl 1 to sl 2 delay, Indicates that you are visiting q i Post-visit q j The number of data streams, express q j Is it deployed in superior, Indicates that you are visiting Post-visit q j The number of data streams, Indicates that you are visiting q i Post-visit The number of data streams, express Is it deployed in superior, Indicates that you are visiting Post-visit The number of data streams.
[0041] Optionally, the updated deployment result can be determined as follows: when the first judgment result is yes, a candidate deployment result is selected as the updated deployment result with the probability of accepting the neighbor; when the first judgment result is no, the current deployment result is used as the updated deployment result.
[0042] In specific implementation, selecting a candidate deployment result as the updated deployment result based on the probability of accepting neighbors can be achieved as follows: based on the delay increment, the probability of accepting neighbors is calculated; a second random number is generated based on the probability of accepting neighbors, and a determination is made whether the second random number is greater than a second preset value; if so, the candidate deployment result is used as the updated deployment result; if not, the current deployment result is used as the updated deployment result. The delay increment is equal to the difference between the total delay after the update and the total delay before the update, i.e., delay increment = total delay after the update - total delay before the update; the second preset value can be set according to actual needs and is not limited here.
[0043] The probability of accepting neighbors can be calculated using the following formula: ; in, represents the probability of accepting a neighbor, Indicates the delay increment, t Indicates temperature.
[0044] It should be noted that the appropriate temperature should be selected t , to avoid getting a worse deployment scenario. Temperature t The higher the delay, the easier it is to get a worse solution. Alternatively, the temperature can be calculated based on the average value of the average delay increment and the minimum delay increment. t .
[0045] The delay-aware virtual network function and its backup deployment method provided by the embodiment of the present invention can obtain basic deployment data corresponding to multiple VNFs to be deployed, the basic deployment data including VNF information, data flow information and network structure information, and the VNF information including the reliability probability value of each VNF; according to the basic deployment data, the priority of each VNF is determined; wherein the priority of the VNF is positively correlated with the number of data flows passing through it; according to the basic deployment data, with the goal of minimizing the total expected delay of all data flows, each VNF is redundantly deployed in descending order of priority to obtain the target deployment result. In this way, considering the reliability impact of the VNF, the VNF is redundantly deployed with the goal of minimizing the total expected delay of all data flows, which can ensure the reliability of the service; at the same time, the VNF with a large number of data flows passing through is preferentially deployed, which can efficiently reduce the total delay of the data flow through the deployment position of the VNF, ensure the timeliness of the service, and thus ensure both the timeliness and reliability of the service.
[0046] To facilitate understanding, the following describes in detail the deployment method of the latency-aware virtual network function and its backup.
[0047] The goal of the method provided by the present invention is to determine the ideal placement of a VNF and its backups within the service function chain, taking into account the state of the virtual environment, inbound and outbound bit rates, and the traffic chains associated with NFV. This effort aims to achieve specific goals, such as minimizing total service transmission latency. Numerous research papers have demonstrated that the VNF deployment problem is NP-hard.
[0048] The contributions of this embodiment are as follows: 1. The VNF redundant backup placement problem is formalized as a 0-1 nonlinear quadratic programming problem. The quadratic term is linearized using the cutting plane method to simplify the problem. Finally, an open source solver is used to obtain the optimal solution.
[0049] 2. Algorithm 1 is introduced to optimize the deployment of active and backup VNFs. This algorithm effectively reduces overall traffic latency. A hierarchical optimization approach is used to deploy active and backup VNFs in order of their impact on the total expected traffic latency, ensuring that each delay increase is minimized to achieve the locally optimal deployment location. Furthermore, another algorithm 2 is proposed to optimize the deployment solution generated by Algorithm 1, reducing the risk of convergence to a local optimum.
[0050] 3. A large number of simulation experiments were conducted to prove that the above algorithm achieves the minimum deviation in terms of total traffic delay.
[0051] This embodiment addresses the issue of redundant VNF backup by considering processing power and resource sharing between VNFs on a server, thereby simplifying the analysis. While different VNFs do exhibit different CPU time and resource consumption characteristics, this simplification ignores the specific CPU time consumption differences between them. The proposed model considers the frequency of occurrence (i.e., reliability) of VNFs in different flows and, through a total latency modeling approach, develops a latency-aware placement strategy for active and backup VNFs. Therefore, it can be asserted that, compared to the aforementioned models, the model provided by this embodiment can achieve more efficient and adaptive placement of active VNFs and their backups while ensuring minimal total latency.
[0052] To comprehensively analyze and address the VNF redundancy problem, we present a detailed mathematical formulation of the simplified active and backup VNF placement problem, along with the required notation. We use the notation G = (S, E) to represent the network structure, where E represents a link and S represents the set of switches. Assume that there are N VNFs in the network, each characterized by its reliability, denoted as Pk, (k = 1, 2, 3, ..., N).
[0053] Each business process (i.e., data flow) requires a network service roster (i.e., a service function chain, where M VNFs can be randomly selected from N VNFs to form a network service roster), denoted as Ck. These VNFs and their backups must be optimally assigned to subsets of the server set, where h∈H, where H represents the server set consisting of all servers and h is one of the servers. During deployment, it is crucial to consider the constraints of server resources, including computing, storage, and connectivity. These constraints are denoted by r∈R. Data flow f k Arrange each VNF in the order of Ck. All possible situations can be listed through the matrix. Each row of the matrix represents a specific scenario. There are 2 M A scenario where the matrix consists of 2 M In these scenarios, the value 1 indicates that the data flow traverses the active VNF, and 0 indicates that the active VNF is unavailable and the backup VNF needs to be activated. h k Represents the 0-1 vector of the h-th row in the subsequent matrix, where the vector of the h-th row is represented in binary form, and the value range of h is 0~2 M -1. The matrix consists of M columns, and each row corresponds to the vector y h k The length of represents M VNFs. The sequence of all possible data flows interacting with VNFs can be concisely represented in the following mathematical matrix. To facilitate subsequent understanding, the meanings of several key symbols are shown in Table 1.
[0054] Table 1
[0055] The data flow f can be determined by using the previous assumption k The probability of accessing VNF. Based on these assumptions, it can be seen that the data flow f k There are 2 M There are possible scenarios to establish access to VNF. The probability associated with scenario h can be calculated using formula (1), which means that when data flow f k The probability of a service function chain occurring when accessing row h.
[0056] (1) In formula (1), the first product term represents the probability of accessing the i-th active VNF, while the second product term represents the probability of accessing the corresponding backup VNF. Formula (1) provides a basis for calculating the expected delay of the corresponding data flow.
[0057] In getting y h kAfter obtaining the corresponding probability value, the data flow f can be obtained by formula (2) k Total delay .
[0058]
[0059]
[0060] (2) in, Indicates a standby VNF, without Indicates active VNF, Representing data flow f k Scene h The entry node is ik The shortest path delay to the initial VNF node, Representing data flow f k Is the entry node of s l , Representing data flow f k Scene h Is the first VNF in q i , express s l arrive The delay, Indicates the shortest path delay from the last VNF node to the egress. Representing data flow f k Scene h Middle i VNF node to the i +1 node latency.
[0061] In formula (2), the route consists of three parts: the first part represents the shortest path from the entry node to the initial VNF node, the second part corresponds to the shortest path from the final VNF node to the exit node, and the third part contains the shortest path connecting the intermediate VNFs (excluding queuing delays and delays between switches and servers). Data flow f k The expected end-to-end delay d k It can be obtained by adding up all delays, as shown in formula (3).
[0062] (3) All d k Add, expressed as D t, we can get the expected total flow delay (i.e. the total expected delay of all data flows), as shown in formula (4).
[0063] (4) Solving Equation (4) proves challenging because the decision variables in the equation lack intuitive coefficients. To calculate the total flow delay, we introduce the expected value of the total flow delay in the node pairing.
[0064] Below is Figure 2 and Figure 3 As an example, we will introduce the delay consequences of different deployment schemes. Assume the following two deployment schemes: Deployment plan 1: Deploy VNFs (a, b, c, d) and their backups to servers (2, 3, 5, 4) respectively.
[0065] Deployment plan 2: Deploy VNFs (a, b, c, d) and their backups to servers (5, 4, 2, 3) respectively.
[0066] By calculation, we can determine the number of data streams a and b in the network, denoted as numa and numb respectively. The total delay of the data streams in the network is calculated as follows: Deployment plan 1: numa × (t1 + t2 + t7) + numb × (t5 + t4 + t8); Deployment plan 2: numb×(t1 + t2 + t7) + numa×(t5 + t4 + t8).
[0067] It is clear that the total latency varies with different values of numa and numb, making the situation more complicated, especially considering the reliability of VNFs and the spatial separation between active and backup VNFs.
[0068] To simplify the calculation of the total delay, we propose an alternative method to solve Equation (4). Subsequently, we derive Equation (5) through Equation (7). In these equations, Ia,b is a binary variable symbol that is 1 when 'a' and 'b' are the same, and 0 otherwise. For example, Represents the data flow f k Is the first VNF in scenario h q? i , Represents the data flow f k The entry node i k Is it s l .
[0069] (5) (6) (7) (8) in, Representing data flow f k Exit Node e k Is it s l , Representing data flow f k No. h Is the last VNF in this case q i , Representing data flow f k No. h The first case m Is the VNF q i , Representing data flow f k No. h The first case m +1 VNF is q j , F is the data flow set.
[0070] When deploying active and standby VNFs, the requirements corresponding to equations (9) to (11) must be met. Equation (9) stipulates that VNF and its backup can only be deployed on a single server. For example, when q i Place hour, Indicates a switch s l and q i Under the constraint of formula (9), there is only one position, which is recorded as l1 ,in =1. Formula (10) indicates that the resources consumed by VNFs deployed on the server cannot exceed the capacity of the server. Here, express q i resource requirements, Representation Server s l The available resources on the network. Equation (11) shows that there may be node-specific prerequisites in the VNF deployment process. Therefore, VNFs can only be deployed in specific locations, which is expressed as .
[0071] (9) (10) (11) This formula is difficult to solve, so we need to change the method of calculating transmission delay. Therefore, we can summarize l1 To solve the problem, the expression of delay is By adding up the delays of all devices, we can get the expected delay of the entire data stream. As shown in Equation (12), all parameters can be obtained from the network parameters.
[0072] (12) By combining the same variables, we can derive Eq. (12) from Eq. (4). This proves the equivalence between Eq. (12) and Eq. (4), which means that the results of Eq. (12) and Eq. (4) are equal. The derivation process is roughly as follows: This equivalence can be established by adding the cases where the flow arrives at each VNF or VNF backup in the SFC in sequence. We first prove that part of Eq. (4) and Eq. (12) are equal, and it can be easily extended to other parts, and finally prove the equality. When h = 0, it describes the case of the first row vector in the matrix. The first term Eq. (4) can be rewritten as follows:
[0073] It can be expressed as:
[0074] The first term of formula (12) can be expressed as:
[0075] The equality of Eq. (12) and the first part of Eq. (4) can be proved as follows: We can rearrange the fourth summation symbol in the first term of Eq. (12) to the front. Similarly, we can derive the expression of the first component of Eq. (12) from the corresponding part of Eq. (4) by the following transformations. In these transformations, and The transformation of is also applicable to prove the equality of other terms in Equation (4) and Equation (12). After establishing the equality of all components, we conclude that the total flow delay obtained by Equation (4) and Equation (12) is the same.
[0076]
[0077] Our main goal is to optimize the deployment of redundant VNFs to minimize the expected total flow latency, thus:
[0078] That is, the goal is to minimize Dt according to equation (12) under the prerequisites of equations (9)-(11).
[0079] To solve the problem in Eq. (13), we designed an optimal solution algorithm suitable for small-scale problems. Since VNF deployment is known to be an NP-hard problem, we also developed two algorithms to solve the VNF deployment and backup problems in large-scale network scenarios. Algorithm 2 avoids the local optimality of Algorithm 1 and achieves global optimality through a time-varying probability jump mechanism.
[0080] Algorithm 1: like Figure 4 As shown, obtain the VNF list Q, traffic list F and network structure G; calculate according to formula (14) F ( q i) , and follow F( q i) Sort Q in descending order: (14) According to the arrangement order of Q, each VNF is deployed in turn as follows to obtain the deployment position P(qi) of the VNF: Determine whether to ignore the delay impact of the unplaced VNF. If so, calculate the increased delay corresponding to each server that meets the conditions according to formula (15). If not, calculate the increased delay corresponding to each server that meets the conditions according to formula (16), and select the server s1 with the minimum delay to place qi.
[0081] (15) (16) When calculating the delay increment of the currently deployed VNF, we can directly ignore the undeployed VNF, as shown in Eq. (15). We can also use the weighted average delay of the deployed VNF to estimate the impact of the undeployed VNF, and add the estimated delay to Eq. (15) to obtain Eq. (16). We use score_org and score_ed to represent the above two methods of calculating the delay increment. The symbol O in the formula represents the deployed VNF q j A collection of .
[0082] In Algorithm 1, there are a total of |2Q| iterations, and we need to calculate a score for each S that meets the conditions in each iteration. The complexity of calculating a score is |2Q+S|. The total maximum complexity of Algorithm 1 is |2Q||S||2Q+S|.
[0083] Algorithm 2: like Figure 5As shown, obtain the VNF list Q, traffic list F and network structure G, and execute Algorithm 1 to obtain the current deployment result. Then generate a first random number and determine whether it is less than 0.5; if the first random number is less than 0.5, randomly select two VNFs and exchange their deployment positions, and calculate the total delay under the new deployment result according to formula (12); if the first random number is not less than 0.5, randomly select a VNF and randomly deploy it on a server, and calculate the total delay D under the new deployment result. t Then determine the total delay D under the new deployment result t Is it less than or equal to the total delay D under the current deployment result? t , that is, D` t ≤D t If not, update the iteration count. If so, determine whether to accept the new deployment result based on the probability of accepting the neighbor, and then update the iteration count. After updating the iteration count, determine whether the iteration count reaches the preset iteration threshold. If the iteration count does not reach the iteration threshold, re-execute the step of generating the first random number and determining whether it is less than 0.5. If the iteration count reaches the iteration threshold, determine that the iteration end condition is met, use the current deployment result as the target deployment result, and end the process.
[0084] When using Algorithm 2 to solve the primary and backup VNF placement problem, we use the deployment results from Algorithm 1 as the initial value. The first step is to calculate F(qi). We provide two neighbor generation functions: one randomly selects two deployed VNFs and swaps their deployment plans; the other randomly selects a VNF and deploys it randomly. In either case, the implementation must satisfy the aforementioned constraints. The second step of Algorithm 2 is to generate a probability of accepting a neighbor and, based on this probability, decide whether to accept the new deployment plan.
[0085] In this algorithm, the number of iterations is 2|2Q| 2 |S|. In each iteration, we need to do |2Q| + |S| + 2 operations. Therefore, the complexity of the algorithm is O(2|2Q| 2 |S|(|2Q| + |S| + 2)).
[0086] The embodiments of the present invention have at least one of the following advantages: 1. A delay-aware active and standby virtual network function deployment method is proposed. Compared with other VNF deployment methods, VNFs with high traffic change rates are given higher priority in selecting deployment locations. The backup deployment is selected based on the delay variation. VNFs with high traffic change rates are deployed on server nodes with the minimum total delay. This can more efficiently reduce the total delay of the service flow through the deployment location of VNFs.
[0087] 2. Algorithm 1 and Algorithm 2 are proposed to solve the backup deployment problem. Algorithm 2 avoids the local optimal result of Algorithm 1 and achieves global optimality through a time-varying probability jump mechanism.
[0088] Corresponding to the above method, an embodiment of the present invention further provides a device for deploying a latency-aware virtual network function and its backup. Figure 6 The structure diagram of a deployment device for a delay-aware virtual network function and its backup is shown, and the device includes: A data acquisition module 601 is configured to acquire basic deployment data corresponding to multiple VNFs to be deployed, where the basic deployment data includes VNF information, data flow information, and network structure information. The VNF information includes a reliability probability value for each VNF. Priority determination module 602, configured to determine the priority of each VNF based on the basic deployment data; wherein the priority of the VNF is positively correlated with the number of data flows passing through it; The redundant deployment module 603 is used to perform redundant deployment on each VNF in descending order of priority based on the basic deployment data, with the goal of minimizing the total expected delay of all data flows, to obtain the target deployment result.
[0089] The delay-aware virtual network function and its backup deployment device provided by the embodiment of the present invention can obtain basic deployment data corresponding to multiple VNFs to be deployed, the basic deployment data including VNF information, data flow information and network structure information, and the VNF information including the reliability probability value of each VNF; according to the basic deployment data, the priority of each VNF is determined; wherein the priority of the VNF is positively correlated with the number of data flows passing through it; according to the basic deployment data, with the goal of minimizing the total expected delay of all data flows, each VNF is redundantly deployed in descending order of priority to obtain the target deployment result. In this way, considering the reliability impact of the VNF, the VNF is redundantly deployed with the goal of minimizing the total expected delay of all data flows, which can ensure the reliability of the service; at the same time, the VNF with a large number of data flows passing through is preferentially deployed, which can efficiently reduce the total delay of the data flow through the deployment position of the VNF, ensure the timeliness of the service, and thus ensure both the timeliness and reliability of the service.
[0090] Furthermore, the data flow information includes the VNF sequence, ingress node, and egress node corresponding to each data flow in the data flow set; the network structure information includes the switch set; and the priority determination module 602 is specifically configured to: The number of data flows corresponding to each VNF is calculated using the following formula: ; in, F ( qi )express q i The corresponding number of data streams, q i Represents a VNF set Q Middle i Active VNFs ,q j Represents a VNF set Q Middle j Active VNFs, s l Represents a switch set S Middle l switches, Indicates that the exit node is s l ,and q i is the number of data flows of the last VNF, Indicates that the entry node is s l ,and q i is the number of data flows of the first VNF, Indicates that you are visiting q i Post-visit q j The number of data streams; Sort the VNFs according to the size of the data flows, and determine the priority of each VNF based on the sorting results.
[0091] Furthermore, the redundant deployment module 603 is specifically configured to: Traverse each VNF in descending order of priority; When traversing to the current VNF, the expected delay increment of the current VNF at different deployment locations is calculated based on the current deployment plan of the deployed VNF, the reliability probability value of the current VNF, data flow information, and network structure information. The deployment location with the smallest expected delay increment is determined as the current deployment plan of the current VNF. The deployed VNF is the VNF with a higher priority than the current VNF. Until all VNFs are traversed, the current deployment result consisting of the current deployment plan of each VNF is obtained; Determine the target deployment result based on the current deployment result.
[0092] Furthermore, the redundant deployment module 603 is further configured to: The expected latency increment of the current VNF at different deployment locations can be calculated using one of the following two formulas: ; ; in, Indicates ignoring the expected delay increment when the VNF is not deployed. The VNF that is not deployed is the VNF with a lower priority than the current VNF. q i Represents a VNF set Q Middle i Active VNFs ,q j Represents a VNF set Q Middle j Active VNFs, Represents a switch set S Middle l 1 switch, s l Represents a switch set S Middle l switches, express arrive s l The delay, Indicates that the entry node is ,and q i is the number of data flows of the first VNF, express s l arrive The delay, Indicates that the exit node is ,and q i is the number of data flows of the last VNF, O Represents the set of deployed VNFs, express s l arrive The delay, express q j The deployed switches Indicates that you are visiting q i Post-visit q j The number of data streams, express arrive s l The delay, Indicates that you are visiting q j Post-visit q i The number of data streams, represents the expected delay increment when VNF is not deployed. express s l To an undeployed switch The delay, Indicates an undeployed switch .
[0093] Furthermore, the redundant deployment module 603 is further configured to: Randomly update the current deployment result to obtain the candidate deployment result; Determine whether the total expected delay of all data flows under the candidate deployment result is less than or equal to the total expected delay of all data flows under the current deployment result, and obtain a first determination result; Based on the first judgment result, determining an updated deployment result from the candidate deployment results and the current deployment result; Determine whether a preset iteration end condition is met, and obtain a second determination result; When the second judgment result is no, re-execute the step of randomly updating the current deployment result to obtain a candidate deployment result; When the second judgment result is yes, the updated deployment result is determined as the target deployment result.
[0094] Furthermore, the redundant deployment module 603 is further configured to: Randomly selecting one of at least two preset neighbor generation functions as a target neighbor generation function; wherein the at least two neighbor generation functions include a first neighbor generation function and a second neighbor generation function, the first neighbor generation function is used to randomly select two deployed VNFs to exchange the current deployment plan, and the second neighbor generation function is used to randomly select one deployed VNF to randomly update the current deployment plan; According to the target neighbor generation function, the candidate deployment results corresponding to the current deployment result are generated.
[0095] Furthermore, the redundant deployment module 603 is further configured to: When the first judgment result is yes, the candidate deployment result is selected as the updated deployment result based on the probability of accepting the neighbor; When the first judgment result is no, the current deployment result is used as the updated deployment result.
[0096] The implementation principle and technical effects of the delay-aware virtual network function and backup deployment device provided in this embodiment are the same as those of the aforementioned delay-aware virtual network function and backup deployment method embodiment. For the sake of brief description, for matters not mentioned in the delay-aware virtual network function and backup deployment device embodiment, reference may be made to the corresponding content in the aforementioned delay-aware virtual network function and backup deployment method embodiment.
[0097] like Figure 7 As shown, an embodiment of the present invention provides an electronic device 700, including: a processor 701, a memory 702 and a bus, the memory 702 stores a computer program that can be run on the processor 701, when the electronic device 700 is running, the processor 701 and the memory 702 communicate through the bus, and the processor 701 executes the computer program to implement the above-mentioned delay-aware virtual network function and its backup deployment method.
[0098] Specifically, the memory 702 and processor 701 can be general-purpose memories and processors, which are not specifically limited here.
[0099] An embodiment of the present invention further provides a computer-readable storage medium storing a computer program. When executed by a processor, the computer program executes the method for deploying latency-aware virtual network functions and their backup in the aforementioned method embodiments. The computer-readable storage medium includes various media capable of storing program code, such as a USB flash drive, a mobile hard drive, a read-only memory (ROM), RAM, a magnetic disk, or an optical disk.
[0100] The term "and / or" herein simply describes an association relationship between associated objects, indicating that three relationships can exist. For example, "A and / or B" can represent the existence of three situations: A alone, A and B simultaneously, and B alone. Furthermore, the term "at least one" herein refers to any combination of at least two of any one or more of a plurality of items. For example, "at least one of A, B, and C" can represent any one or more elements selected from the set consisting of A, B, and C.
[0101] In all examples shown and described herein, any specific values should be interpreted as merely exemplary and not limiting, and thus other examples of the exemplary embodiments may have different values.
[0102] The flowcharts and block diagrams in the accompanying drawings show the possible architectures, functions and operations of the devices, methods and computer program products according to multiple embodiments of the present invention. In this regard, each box in the flowchart or block diagram can represent a module, program segment or part of the code, and the module, program segment or part of the code contains one or more executable instructions for implementing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in an order different from that marked in the accompanying drawings. For example, two consecutive boxes can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram and / or flowchart, and the combination of boxes in the block diagram and / or flowchart, can be implemented with a dedicated hardware-based system that performs the specified function or action, or can be implemented with a combination of dedicated hardware and computer instructions.
[0103] In the several embodiments provided in this application, it should be understood that the disclosed devices and methods can be implemented in other ways. The device embodiments described above are merely schematic. For example, the division of modules is only a logical function division. There may be other division methods in actual implementation. For example, multiple modules or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some communication interface, the indirect coupling or communication connection of the device or module can be electrical, mechanical or other forms.
[0104] Modules described as separate components may or may not be physically separate, and components shown as modules may or may not be physical modules, that is, they may be located in one place or distributed across multiple network modules. Some or all of these modules may be selected to achieve the purpose of this embodiment based on actual needs.
[0105] In addition, each functional module in each embodiment of the present invention may be integrated into one processing module, or each module may exist physically separately, or two or more modules may be integrated into one module.
[0106] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit it. Although the present invention has been described in detail with reference to the above embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the above embodiments, or replace some or all of the technical features therein with equivalents. However, these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of the present invention.
Claims
1. A method for deploying a latency-aware virtual network function and its backup, characterized in that: include: Obtaining basic deployment data corresponding to multiple VNFs to be deployed, the basic deployment data including VNF information, data flow information, and network structure information, the VNF information including a reliability probability value of each VNF; Determining the priority of each VNF based on the basic deployment data; wherein the priority of the VNF is positively correlated with the number of data flows passing through it; According to the basic deployment data, with the goal of minimizing the total expected delay of all data flows, each of the VNFs is redundantly deployed in descending order of priority to obtain the target deployment result.
2. The method according to claim 1, characterized in that The data flow information includes a VNF sequence, an ingress node, and an egress node corresponding to each data flow in the data flow set; the network structure information includes a switch set; and determining the priority of each VNF according to the basic deployment data includes: The number of data flows corresponding to each VNF is calculated using the following formula: ; in, F ( q i )express q i The corresponding number of data streams, q i Represents a VNF set Q Middle i Active VNFs ,q j Represents a VNF set Q Middle j Active VNFs, s l Represents a switch set S Middle l switches, Indicates that the exit node is s l ,and q i is the number of data flows of the last VNF, Indicates that the entry node is s l ,and q i is the number of data flows of the first VNF, Indicates that you are visiting q i Post-visit q j The number of data streams; The VNFs are sorted according to the size of the data flow quantity, and the priority of each VNF is determined based on the sorting result.
3. The method according to claim 1, characterized in that The method further comprises: performing redundant deployment on each of the VNFs in descending order of priority based on the basic deployment data, with the goal of minimizing the total expected delay of all data flows, and obtaining a target deployment result, including: Traverse the VNFs in descending order of priority; When traversing to the current VNF, the expected delay increment of the current VNF at different deployment locations is calculated based on the current deployment plan of the deployed VNF, the reliability probability value of the current VNF, the data flow information, and the network structure information, and the deployment location with the smallest expected delay increment is determined as the current deployment plan of the current VNF; wherein the deployed VNF is the VNF with a higher priority than the current VNF; Until all the VNFs are traversed, a current deployment result consisting of the current deployment solutions of the VNFs is obtained; The target deployment result is determined according to the current deployment result.
4. The method according to claim 3, characterized in that The calculating, based on the current deployment scheme of the deployed VNF, the reliability probability value of the current VNF, the data flow information, and the network structure information, the expected delay increment of the current VNF at different deployment locations includes: The expected delay increment of the current VNF at different deployment locations is calculated using one of the following two formulas: ; ; in, Indicates the expected delay increment when ignoring an undeployed VNF, where the undeployed VNF is the VNF with a lower priority than the current VNF, q i Represents a VNF set Q Middle i Active VNFs ,q j Represents a VNF set Q Middle j Active VNFs, Represents a switch set S Middle l 1 switch, s l Represents a switch set S Middle l switches, express arrive s l The delay, Indicates that the entry node is ,and q i is the number of data flows of the first VNF, express s l arrive The delay, Indicates that the exit node is ,and q i is the number of data flows of the last VNF, O Represents the set of deployed VNFs, express s l arrive The delay, express q j The deployed switches, Indicates that you are visiting q i Post-visit q j The number of data streams, express arrive s l The delay, Indicates that you are visiting q j Post-visit q i The number of data streams, represents the expected delay increment when the VNF is not deployed. express s l To an undeployed switch The delay, Indicates an undeployed switch .
5. The method according to claim 3, characterized in that The determining the target deployment result according to the current deployment result includes: Randomly updating the current deployment result to obtain a candidate deployment result; Determine whether the total expected delay of all data flows under the candidate deployment result is less than or equal to the total expected delay of all data flows under the current deployment result, to obtain a first determination result; Based on the first judgment result, determining an updated deployment result from the candidate deployment results and the current deployment result; Determine whether a preset iteration end condition is met, and obtain a second determination result; When the second judgment result is no, re-execute the step of randomly updating the current deployment result to obtain a candidate deployment result; When the second judgment result is yes, the updated deployment result is determined as the target deployment result.
6. The method according to claim 5, characterized in that The randomly updating the current deployment result to obtain a candidate deployment result includes: Randomly selecting one of at least two preset neighbor generation functions as a target neighbor generation function; wherein the at least two neighbor generation functions include a first neighbor generation function and a second neighbor generation function, the first neighbor generation function is used to randomly select two of the deployed VNFs to exchange the current deployment plan, and the second neighbor generation function is used to randomly select one of the deployed VNFs to randomly update the current deployment plan; Generate a candidate deployment result corresponding to the current deployment result according to the target neighbor generation function.
7. The method according to claim 5, characterized in that The determining, based on the first judgment result, an updated deployment result from the candidate deployment results and the current deployment result includes: When the first judgment result is yes, selecting the candidate deployment result as the updated deployment result with the probability of accepting the neighbor; When the first judgment result is no, the current deployment result is used as the updated deployment result.
8. A device for deploying a latency-aware virtual network function and its backup, characterized in that: include: A data acquisition module is used to acquire basic deployment data corresponding to multiple VNFs to be deployed, wherein the basic deployment data includes VNF information, data flow information, and network structure information, and the VNF information includes a reliability probability value of each VNF; a priority determination module, configured to determine the priority of each of the VNFs based on the basic deployment data; wherein the priority of the VNF is positively correlated with the number of data flows passing through it; The redundant deployment module is used to redundantly deploy each of the VNFs in descending order of priority based on the basic deployment data, with the goal of minimizing the total expected delay of all data flows, to obtain a target deployment result.
9. An electronic device comprising a memory and a processor, wherein the memory stores a computer program that can be run on the processor, wherein: When the processor executes the computer program, the method for deploying the delay-aware virtual network function and its backup according to any one of claims 1 to 7 is implemented.
10. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the method for deploying the delay-aware virtual network function and its backup according to any one of claims 1 to 7 is executed.