Method, apparatus and system for deploying service function chain
Patent Information
- Application Number
- CN202110452913.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-04-26
- Publication Date
- 2026-08-18
- Estimated Expiration
- 2041-04-26
AI Technical Summary
[0038] In this embodiment, on the one hand, each VNF entity to be deployed in the first SFC is split into multiple sub-entities whose required resources are less than the first resource of the VNF entity. In this way, each sub-entity can better adapt to the fragmented resources on each NFVI, thereby improving the resource utilization of the NFVI. On the other hand, each sub-entity is configured to implement the network functions of the VNF entity, and at least two sub-entities of each VNF entity to be deployed are distributed and deployed on different NFVIs. Thus, after the deployment of the first SFC is completed, even if one sub-entity of a VNF entity becomes unavailable, the other sub-entity on a different NFVI can still implement the network functions of the VNF entity, thereby greatly improving the availability of the first SFC.
Smart Images

Figure CN115250228B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of communications, and in particular to methods, apparatus and systems for deploying service function chains. Background Technology
[0002] In related technologies, each virtualized network function (VNF) entity in a Service Function Chain (SFC) is typically deployed on a Network Function Virtualization Infrastructure (NFVI).
[0003] In some deployment methods, a VNF entity may be deployed on multiple NFVIs to improve the resource utilization of the NFVIs. Summary of the Invention
[0004] The inventors noted that when a VNF entity is deployed on multiple NFVIs, the VNF entity becomes unavailable if any one of the NFVIs becomes unavailable, thus causing the SFC to become unavailable.
[0005] In other words, while this deployment method can improve the resource utilization of NFVI, it will also reduce the availability of SFC.
[0006] In view of this, the present disclosure proposes the following solution that can balance the resource utilization of NFVI and the availability of SFC.
[0007] According to one aspect of the present disclosure, a method for deploying a Service Function Chain (SFC) is provided, comprising: receiving a request to deploy a first SFC on a plurality of Network Function Virtualization Infrastructures (NFVIs), wherein the first SFC includes at least one Virtualized Network Function (VNF) entity to be deployed, each VNF entity requiring a first resource to run; and deploying the first SFC on the plurality of NFVIs, comprising: determining the remaining second resources of each NFVI; splitting each VNF entity into a plurality of corresponding sub-entities, each sub-entity being configured to implement the network functions implemented by the VNF entity, each sub-entity requiring less resources to run than the first resource of the corresponding VNF entity, the plurality of sub-entities requiring a third resource to run, the sum of the third and fourth resources of the at least one VNF entity not exceeding the sum of the second resources of the plurality of NFVIs, the fourth resource being the resource required to allocate the services to be undertaken by the at least one VNF entity to the corresponding plurality of sub-entities; and deploying the plurality of sub-entities of each VNF entity on the plurality of NFVIs, wherein at least two of the plurality of sub-entities are deployed on different NFVIs.
[0008] In some embodiments, splitting each VNF entity into multiple corresponding sub-entities includes: calculating multiple resource values corresponding one-to-one with multiple splitting methods, each resource value being the sum of the third and fourth resources of the at least one VNF entity, wherein the number of multiple sub-entities corresponding to one or more VNF entities is different under different splitting methods; determining a first set of splitting methods where the resource value is less than a first preset value, the first set of splitting methods including at least one splitting method; and splitting each VNF entity into multiple corresponding sub-entities according to one of the splitting methods in the first set of splitting methods.
[0009] In some embodiments, splitting each VNF entity into multiple corresponding sub-entities according to one of the first set of splitting methods includes: in the first set of splitting methods, determining a second set of splitting methods where the total deployment time required to deploy the first SFC on the multiple NFVIs is less than a second preset value, the second set of splitting methods including at least one splitting method; and splitting each VNF entity into multiple corresponding sub-entities according to one of the second set of splitting methods.
[0010] In some embodiments, the splitting method is the splitting method with the smallest resource value among the second group of splitting methods.
[0011] In some embodiments, the fourth resource is consumed by the load balancing unit corresponding to the first SFC; the total deployment time T for each splitting method is determined based on the following expression:
[0012]
[0013] Where t1 is the deployment time of each VNF entity, m is the number of the plurality of sub-entities of each VNF entity, k is the number of the at least one VNF entity, and t2 is the deployment time of the load balancing unit.
[0014] In some embodiments, deploying the plurality of sub-entities of each VNF entity on the plurality of NFVIs includes: determining the availability of each NFVI; determining the availability of each sub-entity of each VNF entity, wherein the availability of each sub-entity is the availability of the corresponding VNF entity; calculating the availability of a first SFC corresponding one-to-one with a plurality of deployment methods based on the availability of each sub-entity and the availability of each NFVI, wherein, under different deployment methods, at least one sub-entity is deployed on a different NFVI; determining a set of deployment methods where the availability of the first SFC is greater than a third preset value, wherein the set of deployment methods includes at least one deployment method; and deploying the plurality of sub-entities of each VNF entity on the plurality of NFVIs according to one of the deployment methods in the set of deployment methods.
[0015] In some embodiments, the deployment method is the deployment method with the highest availability of the first SFC among the set of deployment methods.
[0016] In some embodiments, the availability A of the first SFC under each deployment mode is calculated based on the following expression. SFC :
[0017]
[0018] Where k is the number of the at least one VNF entity, m is the number of the plurality of sub-entities of each VNF entity, and A VNF’ Availability of each child entity for each VNF entity, A NFVI This determines the availability of the NFVI deployed by this sub-entity under this deployment method.
[0019] In some embodiments, the number of the plurality of child entities of the highest priority VNF entity among the at least one VNF entity is greater than the number of the plurality of child entities of the other VNF entities.
[0020] In some embodiments, the priority of each VNF entity is positively correlated with the amount of data interaction of that VNF entity, the service interruption rate, and the importance of that VNF entity in the first SFC.
[0021] In some embodiments, the priority P of each VNF entity is determined based on the following expression:
[0022] P=α+S×I
[0023] Where α is positively correlated with the importance of the VNF entity in the first SFC, S is positively correlated with the amount of data interaction of the VNF entity, and I is the service interruption rate of the VNF entity.
[0024] In some embodiments, the third resource of each VNF entity is positively correlated with the first resource of the VNF entity and the number of the plurality of child entities.
[0025] In some embodiments, the third resource R2 of each VNF entity is determined based on the following expression:
[0026]
[0027] Where m is the number of the plurality of sub-entities of the VNF entity, and R1 is the first resource of the VNF entity.
[0028] In some embodiments, the fourth resource R is determined based on the following expression:
[0029]
[0030] Where k is the number of the at least one VNF entity, R2 is the third resource of each VNF entity, and S is positively correlated with the amount of data interaction of the VNF entity.
[0031] In some embodiments, each sub-entity is deployed on only one NFVI.
[0032] In some embodiments, any two of the plurality of sub-entities are deployed on different NFVIs.
[0033] In some embodiments, the method further includes: receiving a request to deploy a second SFC on the plurality of NFVIs; after deploying a first SFC on the plurality of NFVIs, using the second SFC as the first SFC, and repeating the step of deploying the first SFC on the plurality of NFVIs.
[0034] According to another aspect of the present disclosure, an apparatus for deploying a Service Function Chain (SFC) is provided, comprising: a receiving module configured to receive a request to deploy a first Service Function Chain (SFC) on a plurality of Network Function Virtualization Infrastructures (NFVIs), wherein the first SFC includes at least one Virtual Network Function (VNF) entity to be deployed, each VNF entity requiring a first resource to run; and a deployment module configured to deploy the first SFC on the plurality of NFVIs, the deployment module comprising: a determining submodule configured to determine a second resource remaining in each NFVI; and a splitting submodule configured to split each VNF entity into a plurality of corresponding sub-entities, each sub-entity being configured to... To implement the network functions of the VNF entity, the resources required for each sub-entity to run are less than the first resource of the corresponding VNF entity. The multiple sub-entities require a third resource to run. The sum of the third and fourth resources of the at least one VNF entity is not greater than the sum of the second resources of the multiple NFVIs. The fourth resource is the resource required to allocate the services that the at least one VNF entity needs to undertake to the corresponding multiple sub-entities. A deployment submodule is configured to deploy the multiple sub-entities of each VNF entity on the multiple NFVIs, wherein at least two of the multiple sub-entities are deployed on different NFVIs.
[0035] According to another aspect of the present disclosure, an apparatus for deploying a service function chain is provided, comprising: a memory; and a processor coupled to the memory, the processor being configured to execute the method described in any of the above embodiments based on instructions stored in the memory.
[0036] According to another aspect of the present disclosure, a system for deploying service function chains is provided, comprising: the apparatus for deploying service function chains as described in any of the above embodiments; and the plurality of network function virtualization infrastructures.
[0037] According to another aspect of the present disclosure, a computer-readable storage medium is provided, including computer-executable instructions that, when executed by one or more processors, cause the one or more processors to perform the method described in any of the above embodiments.
[0038] In this embodiment, on the one hand, each VNF entity to be deployed in the first SFC is split into multiple sub-entities whose required resources are less than the first resource of the VNF entity. In this way, each sub-entity can better adapt to the fragmented resources on each NFVI, thereby improving the resource utilization of the NFVI. On the other hand, each sub-entity is configured to implement the network functions of the VNF entity, and at least two sub-entities of each VNF entity to be deployed are distributed and deployed on different NFVIs. Thus, after the deployment of the first SFC is completed, even if one sub-entity of a VNF entity becomes unavailable, the other sub-entity on a different NFVI can still implement the network functions of the VNF entity, thereby greatly improving the availability of the first SFC. Attached Figure Description
[0039] To more clearly illustrate the technical solutions in the embodiments of this disclosure or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this disclosure. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0040] Figure 1A This is a flowchart of a method for deploying an SFC according to some embodiments of the present disclosure;
[0041] Figure 1B yes Figure 1A The specific implementation method of step 104 shown;
[0042] Figure 2 These are some implementations of splitting each VNF entity into multiple corresponding sub-entities according to some embodiments of this disclosure;
[0043] Figure 3 These are some implementations of splitting each VNF entity into multiple corresponding sub-entities according to one of the first group of splitting methods in some embodiments of this disclosure;
[0044] Figure 4 These are some implementations of deploying multiple sub-entities of each VNF entity on multiple NFVIs according to some embodiments of this disclosure;
[0045] Figure 5This is a schematic diagram of a device for deploying SFC according to some embodiments of the present disclosure;
[0046] Figure 6 This is a schematic diagram of a device for deploying SFC according to other embodiments of this disclosure;
[0047] Figure 7 This is a schematic diagram of the structure of a system for deploying SFC according to some embodiments of the present disclosure. Detailed Implementation
[0048] The technical solutions of the embodiments of this disclosure will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this disclosure, and not all embodiments. Based on the embodiments of this disclosure, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this disclosure.
[0049] Unless otherwise specifically stated, the relative arrangement, numerical expressions, and values of the components and steps set forth in these embodiments do not limit the scope of this disclosure.
[0050] At the same time, it should be understood that, for ease of description, the dimensions of the various parts shown in the accompanying drawings are not drawn according to actual scale.
[0051] Techniques, methods, and equipment known to those skilled in the art may not be discussed in detail, but where appropriate, such techniques, methods, and equipment should be considered part of the specification.
[0052] In all examples shown and discussed herein, any specific values should be interpreted as merely exemplary and not as limitations. Therefore, other examples of exemplary embodiments may have different values.
[0053] It should be noted that similar labels and letters in the following figures indicate similar items; therefore, once an item is defined in one figure, it does not need to be discussed further in subsequent figures.
[0054] Figure 1A This is a flowchart of a method for deploying an SFC according to some embodiments of the present disclosure.
[0055] like Figure 1A As shown, the method for deploying SFC includes steps 102 to 104.
[0056] In step 102, a request to deploy the first SFC on multiple NFVIs is received.
[0057] Here, the first SFC includes at least one VNF entity to be deployed, and each VNF entity requires the corresponding first resource to run. It should be understood that the first resources consumed by different VNF entities may be the same or different.
[0058] In some embodiments, the first SFC may also include a VNF entity used in conjunction with the deployed SFC.
[0059] Different VNF entities can implement different network functions. For example, the first SFC may include a VNF entity that implements authentication, a VNF entity that implements core data processing, and a VNF entity that implements data transmission, etc.
[0060] In step 104, the first SFC is deployed on multiple NFVIs. This will be discussed later in conjunction with... Figure 1B Explain the specific implementation method of step 104.
[0061] Figure 1B yes Figure 1A The specific implementation method of step 104 shown.
[0062] like Figure 1B As shown, the specific implementation of step 104 includes steps 104a to 104c.
[0063] In step 104a, the remaining second resources for each NFVI are determined.
[0064] In step 104b, each VNF entity is split into multiple corresponding sub-entities.
[0065] Here, each sub-entity is configured to implement the network functions of the VNF entity, and the resources required for each sub-entity to run are less than the first resource of the VNF entity corresponding to that sub-entity. Additionally, multiple sub-entities require a third resource to run.
[0066] It should be noted that the sum of the third and fourth resources of all VNF entities to be deployed in the first SFC (i.e., at least one of the aforementioned VNF entities) is no greater than the sum of the second resources of multiple NFVIs. Here, the fourth resource is the total resource required to distribute the services that the VNF entities to be deployed need to undertake to the corresponding multiple sub-entities.
[0067] It should be understood that the third resource of each VNF entity is the total resource consumed at runtime by the multiple sub-entities obtained by splitting the VNF entity.
[0068] It should also be understood that since the resources required for each sub-entity to run are less than the first resource of the VNF entity corresponding to that sub-entity, the service carrying capacity of each sub-entity of the VNF entity is also less than the service carrying capacity of the VNF entity.
[0069] The following will illustrate the VNF entity to be deployed and its corresponding multiple sub-entities with some examples.
[0070] In some embodiments, the total service carrying capacity of multiple sub-entities of each VNF entity is not less than the service carrying capacity of the VNF.
[0071] In some embodiments, multiple sub-entities of a VNF entity have backups of each other’s business data to enable rapid migration of business when one sub-entity is unavailable (i.e., the business being carried by the unavailable sub-entity will be carried by other sub-entities).
[0072] The following text will combine Figure 2 Some implementation methods for step 104b are given.
[0073] In step 104c, multiple sub-entities of each VNF entity are deployed on multiple NFVIs.
[0074] Here, at least two of the multiple sub-entities of each VNF entity are deployed on different NFVIs.
[0075] It should be understood that a sub-entity can be deployed on multiple NFVIs or on a single NFVI.
[0076] For example, if there is no second NFVI with resources greater than those required by the sub-entity, the sub-entity can be deployed on multiple NFVIs. In other words, the sub-entity may need to consume resources from multiple NFVIs simultaneously to perform network functions.
[0077] For example, if there is a second NFVI with more resources than the resources required by the sub-entity, the sub-entity can be deployed on an NFVI.
[0078] For ease of understanding, the following explanation will use the example of deploying a first SFC containing a VNF entity to be deployed on four NFVIs (e.g., NFVI-1, NFVI-2, NFVI-3, and NFVI-4). Assume that the VNF entity is split into two sub-entities (e.g., sub-entity 1 and sub-entity 2) in step 104b.
[0079] As mentioned above, there are constraints during deployment, namely, at least two of the multiple sub-entities of the VNF entity need to be deployed on different NFVIs.
[0080] Suppose that sub-entity 1 is to be deployed on two NFVIs (e.g., NFVI-1 and NFVI-2), while sub-entity 2 is to be deployed on one NFVI. Then, sub-entity 2 can only be deployed on NFVI-3 or NFVI-4.
[0081] Suppose that sub-entity 1 is to be deployed on two NFVIs (e.g., NFVI-1 and NFVI-2), and sub-entity 2 is also to be deployed on two NFVIs. Then, sub-entity 2 can only be deployed on NFVI-3 and NFVI-4. In other words, the two NFVIs deployed by sub-entity 1 are completely different from the two NFVIs deployed by sub-entity 2.
[0082] In other words, each VNF entity to be deployed includes at least one first sub-entity and one second sub-entity deployed on different NFVIs. The first sub-entity can be deployed on a first group of NFVIs that includes one or more NFVIs. The second sub-entity can be deployed on a second group of NFVIs that includes one or more NFVIs. No NFVI in the first group of NFVIs belongs to the second group of NFVIs.
[0083] The following text will combine Figure 4 Some implementation methods for step 104c are given.
[0084] In the above embodiments, on the one hand, each VNF entity to be deployed in the first SFC is split into multiple sub-entities whose required resources are less than the first resource of the VNF entity. In this way, each sub-entity can better adapt to the fragmented resources on each NFVI, thereby improving the resource utilization of the NFVI. On the other hand, each sub-entity is configured to implement the network functions of the VNF entity, and at least two sub-entities of each VNF entity to be deployed are distributed and deployed on different NFVIs. Thus, after the deployment of the first SFC is completed, even if one sub-entity of a VNF entity becomes unavailable, the other sub-entity on a different NFVI can still implement the network functions of the VNF entity, thereby greatly improving the availability of the first SFC.
[0085] Some other embodiments of the method for deploying SFC as shown in Figure 1 will be given below as examples.
[0086] In some embodiments, each sub-entity is deployed on only one NFVI. This increases the availability of each deployed sub-entity, thereby further improving the availability of the first SFC.
[0087] In some embodiments, any two of the multiple sub-entities of each VNF entity to be deployed are deployed on different NFVIs. In this case, the number of multiple sub-entities of each VNF entity is no greater than the number of multiple NFVIs. Thus, the availability of each deployed VNF entity is higher, thereby further improving the availability of the first SFC.
[0088] It is understandable that, given that each sub-entity is deployed on only one NFVI and multiple sub-entities of each VNF entity are deployed on different NFVIs, the more sub-entities there are, the higher the availability of the first SFC.
[0089] In some embodiments, the method of deploying an SFC further includes: receiving a request to deploy a second SFC on multiple NFVIs; after deploying a first SFC on multiple NFVIs, using the second SFC as the first SFC, and repeating step 104.
[0090] It should be understood that the first SFC and the second SFC are not a limitation on the number of SFCs to be deployed. For example, multiple requests to deploy multiple SFCs can be received simultaneously or sequentially, and then step 104 (i.e., steps 104a to 104c) can be executed on multiple SFCs in turn. That is, one SFC is deployed before another SFC is deployed. In this way, interference between different SFCs during deployment can be avoided.
[0091] In some embodiments, multiple SFCs can be sorted according to the priority of each SFC so that multiple SFCs can be deployed sequentially.
[0092] For example, the priority of each SFC can be related to factors such as the urgency of the business that the SFC needs to handle.
[0093] Figure 2 These are some implementations of splitting each VNF entity into multiple corresponding sub-entities according to some embodiments of this disclosure.
[0094] like Figure 2 As shown in Figure 1, some implementations of step 104b include steps 202 to 206.
[0095] In step 202, multiple resource values corresponding to the various splitting methods are calculated.
[0096] Here, each resource value is the sum of the third and fourth resources of the VNF entity to be deployed under this partitioning method. The number of sub-entities corresponding to one or more VNF entities to be deployed varies under different partitioning methods.
[0097] The following explanation uses a first SFC (Separate Component Center) comprising two VNF entities to be deployed (e.g., VNF-1 and VNF-2) as an example. In one splitting method, both VNF-1 and VNF-2 are split into two sub-entities. In another splitting method, VNF-1 is still split into two sub-entities, while VNF-2 is split into three sub-entities. In yet another splitting method, VNF-1 is split into three sub-entities, while VNF-2 is still split into two sub-entities.
[0098] The third resource of the VNF entity to be deployed will be described below with reference to some examples.
[0099] In some embodiments, the third resource of a plurality of sub-entities of a VNF entity is greater than the first resource of the VNF entity.
[0100] In some embodiments, the third resource of each VNF entity is positively correlated with the first resource and the number of its multiple sub-entities. For example, for the same VNF entity, the third resource corresponding to splitting the VNF entity into 3 sub-entities is greater than the third resource corresponding to splitting the VNF entity into 2 sub-entities.
[0101] As one implementation, the third resource R2 of each VNF entity can be determined based on the following expression:
[0102]
[0103] Where m is the number of child entities of the VNF entity, and R1 is the first resource of the VNF entity.
[0104] The fourth resource of the first SFC will be described below with reference to some embodiments.
[0105] In some embodiments, the fourth resource of the first SFC is related to the number of VNF entities to be deployed in the first SFC, the third resource of each VNF entity, and the amount of data interaction for each VNF entity.
[0106] It should be understood that the data interaction volume of a VNF entity refers to the amount of data interaction between that VNF entity and other systems. Here, data can include various types of data such as signaling data and service data.
[0107] For example, VNF entities that implement authentication have less data interaction, while VNF entities that implement data transmission have more data interaction.
[0108] As one implementation, the fourth resource R of the first SFC can be determined based on the following expression:
[0109]
[0110] Where k is the number of at least one VNF entity, R2 is the third resource of each VNF entity, and S is positively correlated with the amount of data interaction of the VNF entity.
[0111] For example, S is a normalized value that reflects the amount of data interaction. For different VNF entities in the first SFC, their respective S is determined based on the same normalization standard.
[0112] It should be understood that in the above expression, It is the quotient of S for each VNF entity and the third resource of that VNF entity.
[0113] In some embodiments, the fourth resource is consumed by the load balancing unit corresponding to the first SFC. This load balancing unit is configured to distribute the services that at least one VNF entity needs to handle to multiple corresponding sub-entities. When the first SFC carries a service, the load balancing unit can determine which sub-entity of the VNF entity will carry that service.
[0114] Suppose that a VNF entity in the first SFC is split into two sub-entities (e.g., sub-entity 1 and sub-entity 2). In some embodiments, the load balancing unit may preferentially allocate services to sub-entity 1. Services are only allocated to the other sub-entity when the carrying capacity of sub-entity 1 is insufficient or unavailable. In still other embodiments, the load balancing unit may allocate services evenly to sub-entity 1 and sub-entity 2, so that sub-entity 1 and sub-entity 2 can simultaneously carry services within their respective carrying capacities.
[0115] In step 204, the first group of splitting methods is determined when the resource value is less than the first preset value.
[0116] Here, the first set of splitting methods includes at least one splitting method.
[0117] In step 206, each VNF entity is split into multiple corresponding sub-entities according to one of the splitting methods in the first group.
[0118] In some embodiments, each VNF entity can be split into multiple corresponding sub-entities according to the splitting method with the minimum resource value in the first set of splitting methods. In this way, the resource amount of the first SFC can be minimized.
[0119] In some embodiments, each VNF entity can be split into multiple sub-entities according to the first splitting method, where the number of sub-entities of the highest-priority VNF entity to be deployed is greater than the number of sub-entities of other VNF entities. This allows higher-priority VNF entities to be split into more sub-entities, thereby improving the availability of these higher-priority VNF entities.
[0120] The priority of VNF entities will be explained below with reference to some examples.
[0121] In some embodiments, the priority of each VNF entity is positively correlated with the amount of data interaction, service interruption rate, and importance of the VNF entity in the first SFC. This allows VNF entities with higher importance, higher data interaction volume, or higher service interruption rate to be split into more sub-entities, thereby improving the availability of these VNF entities.
[0122] As one implementation method, the priority P of each VNF entity can be determined based on the following expression:
[0123] P=α+S×I
[0124] Where α is positively correlated with the importance of the VNF entity in the first SFC, S is positively correlated with the amount of data interaction of the VNF entity, and I is the service interruption rate of the VNF entity.
[0125] The following text will combine Figure 3 Some implementation methods for step 206 are given.
[0126] In the above implementation, a first set of splitting methods with resource values less than a first preset value is determined, and each VNF entity is split into multiple corresponding sub-entities according to one of the splitting methods in the first set. In this way, the availability of the first SFC and the resource utilization of NFVI can be improved while ensuring a low resource consumption for the first SFC.
[0127] Figure 3 These are some implementations of splitting each VNF entity into multiple corresponding sub-entities according to one of the first group of splitting methods in some embodiments of this disclosure.
[0128] like Figure 3 As shown, Figure 2 Some implementations of step 206 shown include steps 302 to 304.
[0129] In step 302, in the first splitting method, a second splitting method is determined to be less than the second preset value in which the total deployment time required to deploy the first SFC on multiple NFVIs is less than the second preset value.
[0130] Here, the second set of splitting methods includes at least one splitting method.
[0131] As described above, in some embodiments, the fourth resource is consumed by the load balancing unit corresponding to the first SFC. As some implementations, the total deployment time T required for each splitting method can be determined based on the following expression:
[0132]
[0133] Where t1 is the deployment time of each VNF entity, m is the number of multiple sub-entities of the VNF entity, k is the number of at least one VNF entity, and t2 is the deployment time of the load balancing unit corresponding to the first SFC.
[0134] It should be understood that in the above expression, for each VNF entity to be deployed, the deployment time of its multiple sub-entities is... The deployment time of each sub-entity of all VNF entities to be deployed is added to the deployment time t2 of the load balancing unit to obtain the total deployment time of the first SFC.
[0135] In step 304, each VNF entity is split into multiple corresponding sub-entities according to one of the splitting methods in the second group.
[0136] In some embodiments, the resource allocation can be performed according to the allocation method with the smallest resource value in the second set of allocation methods. In this way, the resource amount of the first SFC can be minimized without the total deployment time exceeding a second preset value.
[0137] In the above implementation, a second set of splitting methods is determined, where the total deployment time required to deploy the first SFC on multiple NFVIs is less than a second preset value. Each VNF entity is then split into multiple corresponding sub-entities according to one of the splitting methods in the second set. This approach improves the deployment efficiency of the first SFC while ensuring low resource consumption.
[0138] Figure 4 These are some implementations of deploying multiple sub-entities of each VNF entity on multiple NFVIs according to some embodiments of this disclosure.
[0139] like Figure 4 As shown, Figure 1B Some implementations of step 104c shown include steps 402 to 410.
[0140] In step 402, the availability of each NFVI is determined.
[0141] It should be understood that the availability of an NFVI reflects the probability or expected time occupancy of that NFVI being able to operate normally at a given time.
[0142] In some embodiments, the availability of an NFVI can be determined based on historical statistics for that NFVI. Historical statistics may include the mean time between failures (MTBF) and mean time between failures (MTBF) for that NFVI.
[0143] In step 404, the availability of each sub-entity of each VNF entity is determined.
[0144] Here, the availability of each sub-entity is the availability of the corresponding VNF entity.
[0145] In other words, determining the availability of each sub-entity is equivalent to determining the availability of the corresponding VNF entity.
[0146] For example, a VNF entity can implement corresponding network functions based on some computer instructions encapsulated in software. The availability of the VNF entity can be compared to the availability of the software.
[0147] It should be understood that, similar to the availability of NFVI, the availability of a sub-entity reflects the probability or expected time occupancy of that sub-entity at a given time.
[0148] In some embodiments, the availability of a VNF entity can be determined based on historical statistics for each VNF entity. Historical statistics may include, for example, the mean time between failures (MTBF) and mean time between failures (MTBF) of the software corresponding to the VNF entity.
[0149] It should be understood that steps 402 and 404 can be executed simultaneously or sequentially.
[0150] In step 406, based on the availability of each sub-entity and the availability of each NFVI, multiple availability of the first SFC corresponding one-to-one with multiple deployment methods is calculated.
[0151] Here, under different deployment methods, at least one sub-entity must have a different NFVI. In other words, as long as even one sub-entity has a different NFVI, it can be considered a different deployment method.
[0152] The following explanation will still take the example of deploying the first SFC, which includes a VNF entity to be deployed, on four NFVIs (e.g., NFVI-1, NFVI-2, NFVI-3, and NFVI-4).
[0153] Suppose the VNF entity is split into two sub-entities (e.g., sub-entity 1 and sub-entity 2). One deployment method is to deploy sub-entity 1 on NFVI-1 and sub-entity 2 on NFVI-2. Another deployment method is to still deploy sub-entity 1 on NFVI-1 and deploy sub-entity 2 on NFVI-3.
[0154] In step 408, a set of deployment methods is determined in which the availability of the first SFC is greater than a third preset value. Here, the set of deployment methods includes at least one deployment method.
[0155] As some implementation methods, the availability A of the first SFC under each deployment method can be calculated based on the following expression. SFC :
[0156]
[0157] Where k is the number of VNF entities to be deployed, m is the number of child entities of each VNF entity, and A VNF’ For the availability of child entities of each VNF entity, A NFVI This determines the availability of the NFVI deployed by this sub-entity under this deployment method.
[0158] It should be understood that in the above expression, for a VNF entity to be deployed, the unavailability of the sub-entity under this deployment method is first calculated based on each of its corresponding sub-entities and the NFVI deployed by that sub-entity (i.e., 1 - the product of the availability of the sub-entity and the availability of its deployed NFVI). Then, the availability of the VNF entity under this deployment method is obtained based on the product of the unavailability of multiple sub-entities (i.e., 1 - the product of the unavailability of multiple sub-entities). The availability of the first SFC is the product of the availability of each VNF entity to be deployed under this deployment method.
[0159] After calculating the availability of the first SFC under different deployment methods, the deployment methods whose availability of the first SFC is greater than a first preset value are determined as a group of deployment methods. Then, step 410 is executed.
[0160] In step 410, multiple sub-entities of each VNF entity are deployed on multiple NFVIs according to one of a set of deployment methods.
[0161] In some embodiments, multiple sub-entities of each VNF entity can be deployed on multiple NFVIs according to the deployment method with the highest availability of the first SFC in the first group of deployment methods.
[0162] In the above implementation, by determining a set of deployment methods in which the availability of the first SFC is greater than a third preset value, and by deploying multiple sub-entities of each VNF entity on multiple NFVIs according to one of the deployment methods in the set, the availability of the first SFC can be further improved.
[0163] It should be understood that for multiple SFCs to be deployed, the first, second, and third preset values of different SFCs can be different.
[0164] Figure 5 This is a schematic diagram of an apparatus for deploying an SFC according to some embodiments of the present disclosure.
[0165] like Figure 5 As shown, the apparatus 500 for deploying SFC includes a receiving module 501 and a deployment module 502. The deployment module 502 includes a determining submodule 502a, a splitting submodule 502b, and a deployment submodule 502c.
[0166] The receiving module 501 is configured to receive requests to deploy a first SFC on multiple NFVIs. The first SFC includes at least one VNF entity to be deployed. Each VNF entity consumes first resources during runtime.
[0167] Deployment module 502 is configured to deploy the first SFC on multiple NFVIs.
[0168] The determination submodule 502a is configured to determine the remaining second resources for each NFVI.
[0169] The splitting submodule 502b is configured to split each VNF entity into multiple corresponding sub-entities. Each sub-entity is configured to implement the network functions of that VNF entity, and the resources required for each sub-entity to run are less than the first resource of the corresponding VNF entity. Multiple sub-entities of each VNF entity require a third resource to run. The sum of the third and fourth resources of at least one VNF entity is not greater than the sum of the second resources of multiple NFVIs. The fourth resource is the resource required to distribute the services that at least one VNF entity needs to handle to its corresponding multiple sub-entities.
[0170] Deployment submodule 502c is configured to deploy multiple child entities of each VNF entity on multiple NFVIs. At least two of the multiple child entities are deployed on different NFVIs.
[0171] In some embodiments, the receiving module 501 is further configured to receive a request to deploy a second SFC on a plurality of NFVIs. The deployment module 502 is further configured to deploy the first SFC and the second SFC sequentially on the plurality of NFVIs.
[0172] Figure 6 This is a schematic diagram of an apparatus for deploying an SFC according to other embodiments of the present disclosure.
[0173] like Figure 6 As shown, the apparatus 600 for deploying SFC includes a memory 601 and a processor 602 coupled to the memory 601. The processor 602 is configured to execute the method for deploying SFC as described in any of the foregoing embodiments based on instructions stored in the memory 601.
[0174] The memory 601 may include, for example, system memory, fixed non-volatile storage media, etc. The system memory may store, for example, an operating system, application programs, a boot loader, and other programs.
[0175] The device 600 deploying SFC may also include an input / output interface 603, a network interface 604, and a storage interface 605. These interfaces 603, 604, and 605, as well as the memory 601 and processor 602, can be connected, for example, via a bus 606. The input / output interface 603 provides a connection interface for input / output devices such as a monitor, mouse, keyboard, and touchscreen. The network interface 604 provides a connection interface for various networked devices. The storage interface 605 provides a connection interface for external storage devices such as SD cards and USB flash drives.
[0176] Figure 7 This is a schematic diagram of the structure of a system for deploying SFC according to some embodiments of the present disclosure.
[0177] like Figure 7 As shown, the system for deploying SFC includes SFC deployment devices 500 / 600 and multiple NFVI 701 ( Figure 7 (Three are shown schematically).
[0178] This disclosure also provides a computer-readable storage medium having computer-executable instructions stored thereon, which, when executed by one or more processors, implement the methods of any of the above embodiments.
[0179] The embodiments of this disclosure have now been described in detail. To avoid obscuring the concept of this disclosure, some details known in the art have not been described. Those skilled in the art can fully understand how to implement the technical solutions disclosed herein based on the above description.
[0180] The various embodiments in this specification are described in a progressive manner, with each embodiment focusing on its differences from other embodiments. Similar or identical parts between embodiments can be referred to interchangeably. For the embodiments of the apparatus and system for deploying SFC, since they largely correspond to the method embodiments, the description is relatively simple; relevant parts can be referred to the descriptions in the method embodiments.
[0181] Furthermore, in the description of this disclosure, the terms “first,” “second,” etc., are used for descriptive purposes only and should not be construed as indicating or implying relative importance or order.
[0182] Those skilled in the art will understand that embodiments of this disclosure can be provided as methods, systems, or computer program products. Therefore, this disclosure can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this disclosure can take the form of a computer program product embodied on one or more computer-usable non-transitory storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0183] This disclosure is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this disclosure. It should be understood that the functions specified in one or more flowchart illustrations and / or one or more block diagrams can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in one or more flowchart illustrations and / or one or more block diagrams.
[0184] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means that implement the functions specified in one or more flowcharts and / or one or more block diagrams.
[0185] These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer-implemented process, such that the instructions, which execute on the computer or other programmable apparatus, provide steps for implementing the functions specified in one or more flowcharts and / or one or more block diagrams.
[0186] While specific embodiments of this disclosure have been described in detail by way of examples, those skilled in the art should understand that the examples are for illustrative purposes only and not intended to limit the scope of this disclosure. Those skilled in the art should understand that modifications can be made to the above embodiments or equivalent substitutions can be made to some technical features without departing from the scope and spirit of this disclosure. The scope of this disclosure is defined by the appended claims.
Claims
1. A method for deploying a service function chain, comprising: Receive a request to deploy a first service function chain (SFC) on multiple network function virtualization infrastructures (NFVIs), wherein the first SFC includes at least one virtualized network function (VNF) entity to be deployed, and each VNF entity requires a first resource to run. and Deploying the first SFC on the multiple NFVIs includes: Determine the remaining secondary resources for each NFVI; Each VNF entity is divided into multiple corresponding sub-entities. Each sub-entity is configured to implement the network functions of the VNF entity. The resources consumed by each sub-entity during operation are less than the first resource of the corresponding VNF entity. The multiple sub-entities consume a third resource during operation. The sum of the third and fourth resources of the at least one VNF entity is not greater than the sum of the second resources of the multiple NFVIs. The fourth resource is the resource consumed to allocate the services that the at least one VNF entity needs to handle to the corresponding multiple sub-entities. The plurality of sub-entities of each VNF entity are deployed on the plurality of NFVIs, wherein at least two of the plurality of sub-entities are deployed on different NFVIs.
2. The method according to claim 1, wherein, Each VNF entity is split into multiple corresponding sub-entities, including: Calculate multiple resource values corresponding to various splitting methods, where each resource value is the sum of the third and fourth resources of the at least one VNF entity, wherein the number of multiple sub-entities corresponding to one or more VNF entities is different under different splitting methods; A first set of splitting methods is determined where the resource value is less than a first preset value, and the first set of splitting methods includes at least one splitting method; Each VNF entity is split into multiple corresponding sub-entities according to one of the splitting methods in the first group.
3. The method according to claim 2, wherein, Each VNF entity is split into multiple corresponding sub-entities according to one of the splitting methods in the first group, including: In the first set of splitting methods, a second set of splitting methods is determined to be less than the second preset value in which the total deployment time required to deploy the first SFC on the plurality of NFVIs is determined to be less than the second preset value. The second set of splitting methods includes at least one splitting method. Each VNF entity is split into multiple corresponding sub-entities according to one of the splitting methods in the second group.
4. The method according to claim 3, wherein, The aforementioned splitting method is the splitting method with the smallest resource value among the second group of splitting methods.
5. The method according to claim 3, wherein, The fourth resource is consumed by the load balancing unit corresponding to the first SFC; The total deployment time T for each splitting method is determined based on the following expression: Where t1 is the deployment time of each VNF entity, m is the number of the plurality of sub-entities of each VNF entity, k is the number of the at least one VNF entity, and t2 is the deployment time of the load balancing unit.
6. The method according to any one of claims 1-5, wherein, Deploying the plurality of sub-entities of each VNF entity on the plurality of NFVIs includes: Determine the availability of each NFVI; Determine the availability of each child entity of each VNF entity, where the availability of each child entity is the availability of the corresponding VNF entity; Based on the availability of each sub-entity and the availability of each NFVI, calculate the availability of the first SFC corresponding to multiple deployment methods, wherein, under different deployment methods, at least one sub-entity has different deployed NFVIs. A set of deployment methods is determined to have an availability of the first SFC greater than a third preset value, wherein the set of deployment methods includes at least one deployment method; The plurality of sub-entities of each VNF entity are deployed on the plurality of NFVIs according to one of the deployment methods described in the set.
7. The method according to claim 6, wherein, The aforementioned deployment method is the deployment method with the highest availability for the first SFC among the group of deployment methods.
8. The method according to claim 6, wherein, The availability A of the first SFC under each deployment method is calculated based on the following expression. SFC : Where k is the number of the at least one VNF entity, m is the number of the plurality of sub-entities of each VNF entity, and A VNF’ Availability of each child entity for each VNF entity, A NFVI This determines the availability of the NFVI deployed by this sub-entity under this deployment method.
9. The method according to any one of claims 1-5, wherein, The number of the plurality of child entities of the highest priority VNF entity among the at least one VNF entity is greater than the number of the plurality of child entities of the other VNF entities.
10. The method according to claim 9, wherein, The priority of each VNF entity is positively correlated with the amount of data interaction, service interruption rate, and importance of the VNF entity in the first SFC.
11. The method according to claim 10, wherein, The priority P of each VNF entity is determined based on the following expression: P=α+S×I Where α is positively correlated with the importance of the VNF entity in the first SFC, S is positively correlated with the amount of data interaction of the VNF entity, and I is the service interruption rate of the VNF entity.
12. The method according to any one of claims 1-5, wherein, The third resource of each VNF entity is positively correlated with the first resource of that VNF entity and the number of the plurality of child entities.
13. The method according to claim 12, wherein, The third resource R2 for each VNF entity is determined based on the following expression: Where m is the number of the plurality of sub-entities of the VNF entity, and R1 is the first resource of the VNF entity.
14. The method according to any one of claims 1-5, wherein, The fourth resource R is determined based on the following expression: Where k is the number of the at least one VNF entity, R2 is the third resource of each VNF entity, and S is positively correlated with the amount of data interaction of the VNF entity.
15. The method according to claim 1, wherein, Each sub-entity is deployed on only one NFVI.
16. The method according to claim 1, wherein, Any two of the multiple sub-entities are deployed on different NFVIs.
17. The method according to claim 1, further comprising: Receive a request to deploy a second SFC on the plurality of NFVIs; After deploying the first SFC on the plurality of NFVIs, the second SFC is used as the first SFC, and the steps of deploying the first SFC on the plurality of NFVIs are repeated.
18. An apparatus for deploying a service function chain, comprising: The receiving module is configured to receive a request to deploy a first service function chain (SFC) on multiple network function virtualization infrastructures (NFVIs), wherein the first SFC includes at least one virtualized network function (VNF) entity to be deployed, and each VNF entity requires a first resource to run. and A deployment module, configured to deploy a first SFC on the plurality of NFVIs, the deployment module comprising: The determination submodule is configured to determine the remaining second resources for each NFVI; The sub-module is configured to split each VNF entity into multiple corresponding sub-entities. Each sub-entity is configured to implement the network functions of the VNF entity. The resources consumed by each sub-entity during operation are less than the first resource of the corresponding VNF entity. The multiple sub-entities consume a third resource during operation. The sum of the third and fourth resources of the at least one VNF entity is not greater than the sum of the second resources of the multiple NFVIs. The fourth resource is the resource consumed to allocate the services to be undertaken by the at least one VNF entity to the corresponding multiple sub-entities. The deployment submodule is configured to deploy the plurality of sub-entities of each VNF entity on the plurality of NFVIs, wherein at least two of the plurality of sub-entities are deployed on different NFVIs.
19. An apparatus for deploying a service function chain, comprising: Memory; and A processor coupled to the memory, the processor being configured to perform the method of any one of claims 1-17 based on instructions stored in the memory.
20. A system for deploying service function chains, comprising: The apparatus for deploying the service function chain as described in claim 18 or 19; and The aforementioned network function virtualization infrastructure.
21. A computer-readable storage medium comprising computer-executable instructions, which, when executed by one or more processors, cause the one or more processors to perform the method of any one of claims 1-17.
Citation Information
Patent Citations
Method for upgrading virtualized network function and network function virtualization orchestrator
CN105379191A
Service function (SF) deployment method and device
CN106487556A