Decomposition of virtual network functions

By identifying the set of decomposition subcomponents in VNF, selecting the forward path and configuring the connection, the flexibility, scalability and compatibility issues of VNF chain decomposition in the prior art are solved, and the target optimization and performance improvement are achieved.

CN119744527APending Publication Date: 2025-04-01TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202280099434.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2022-08-23
Publication Date
2025-04-01

AI Technical Summary

Technical Problem

The prior art is difficult to effectively decompose virtual network functional (VNF) chains, especially when dealing with general VNF-FG topology and compatibility constraints, and lacks flexibility, scalability and robustness.

Method used

By identifying the set of decomposition subcomponents in VNF, the weight value of the forward path is obtained, the selection path is compared, and the connection between VNF is configured based on the selection result to achieve decomposition of the VNF chain.

Benefits of technology

The approach is suitable for a variety of VNF chain topology, providing flexibility, scalability, and compatibility to ensure service providers’ target optimization and network service performance improvements, while being robust to address potential embedding issues.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119744527A_ABST
    Figure CN119744527A_ABST
Patent Text Reader

Abstract

A method of decomposing one or more virtual network function (VNF) chains is provided. The method includes identifying a first set of decomposed subcomponents (DSCs) included in the first VNF and a second set of DSCs included in the second VNF. The method further includes obtaining a first forward weight value for a first forward path from the first DSC to the third DSC, obtaining a second forward weight value for a second forward path from the second DSC to the third DSC, and performing a first comparison based on the first forward weight value and the second forward weight value. The method further includes selecting a first forward path using a result of the first comparison based on the first forward weight value and the second forward weight value, and configuring a connection between the first VNF and the second VNF based on the selection of the first forward path.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] Embodiments related to methods and apparatus for decomposing one or more virtual network function (VNF) chains are disclosed. Background Art

[0002] In a network function virtualization (NFV) ecosystem, a network service (NS) request usually contains a set of VNFs with some dependencies and service level agreement (SLA) requirements. The incoming NS can be described by a VNF chain, which is usually called a service function chain (SFC), or a more general graph topology, which is called a virtual network function-forwarding graph (VNF-FG).

[0003] To deploy NS, after forming VNF-FG, the service provider (SP) must embed it into the underlying network for the dependencies between VNFs and given SLA requirements. However, forming VNF-FG is challenging because each VNF can be associated with multiple implementations (often referred to as decomposition options). Each decomposition option can include one or more sub-functions / sub-components.

[0004] For example, an intrusion detection system (IDS) can be implemented via a single IDS function (as shown in FIG. 52( a) ) or a combination of multiple sub-functions of IDS (i.e., controller, deep packet inspection (DP), firewall (FW), and network element (NE) functions (as shown in FIG. 52( b) )). Each of these decomposition options can highly impact the goals of the SP (e.g., embedding cost, user experience) as well as the NS performance. Therefore, the decomposition of VNFs required to form a VNF-FG by the NS must be performed appropriately so that the SLA requirements are met while the goals of the SP are optimized. The topology decomposition problem (i.e., the problem of correctly decomposing the VNFs) becomes even more complex for more general VNF-FG topologies, where different graph structures (e.g., splitting, merging) may cause compatibility issues. Summary of the invention

[0005] Existing solutions for decomposing VNFs have the following problems: (1) they do not work for a generic VNF-FG topology; (2) they do not address VNF compatibility constraints; (3) they do not provide the flexibility to select the appropriate decomposition option for each VNF from a list of decomposition options for each VNF to optimize the SP's goals and NS performance; (4) they cannot effectively incorporate subsequent embedding in determining the topological decomposition of the VNF (which is very important because the optimal selection of the decomposition option of the VNF cannot be achieved without knowing the embedding decision); and / or (5) they do not provide a scalable solution for determining the topological decomposition of the VNF (e.g., a brute force-based solution).

[0006] Therefore, in one aspect of some embodiments of the present disclosure, a method for decomposing one or more virtual network function VNF chains is provided. The one or more VNF chains include a first VNF ​​and a second VNF. The method includes: identifying a first decomposition subcomponent DSC set included in the first VNF, wherein the first DSC set includes a first DSC and a second DSC; identifying a second DSC set included in the second VNF, wherein the second DSC set includes a third DSC; obtaining a first forward weight value for a first forward path from the first DSC to the third DSC; and obtaining a second forward weight value for a second forward path from the second DSC to the third DSC. The method also includes: performing a first comparison based on the first forward weight value and the second forward weight value; selecting a first forward path using the result of the first comparison based on the first forward weight value and the second forward weight value; and configuring a connection between the first VNF ​​and the second VNF based on the selection of the first forward path.

[0007] In another aspect, there is provided a computer program comprising instructions which, when executed by a processing circuit, cause the processing circuit to perform the method of any one of the embodiments described above.

[0008] In other aspects, a device for decomposing one or more virtual network functions (VNF) chains is provided. The one or more VNF chains include a first VNF ​​and a second VNF. The device is configured to: identify a first decomposition subcomponent DSC set included in the first VNF, wherein the first DSC set includes a first DSC and a second DSC; identify a second set of DSC sets included in the second VNF, wherein the second DSC set includes a third DSC; and obtain a first forward weight value for a first forward path from the first DSC to the third DSC. The device is also configured to obtain a second forward weight value for a second forward path from the second DSC to the third DSC; perform a first comparison based on the first forward weight value and the second forward weight value; select a first forward path using the result of the first comparison based on the first forward weight value and the second forward weight value; and configure the connection between the first VNF ​​and the second VNF based on the selection of the first forward path.

[0009] In other aspects, a device is provided. The device comprises a processing circuit; and a memory, the memory containing instructions executable by the processing circuit, whereby the device is operable to perform a method according to any one of the embodiments described above.

[0010] Embodiments of the present disclosure provide an improved way to decompose one or more VNF chains. Compared with existing decomposition solutions, the embodiments provide improvements in flexibility, scalability, compatibility, and robustness.

[0011] Flexibility: The method and apparatus for decomposing VNFs according to embodiments of the present disclosure are applicable to network services provided by VNF chains (also referred to as SFCs) with a configuration of a single source and a single destination, and network services provided by more general topologies (e.g., VNF-FGs) with a configuration of a single source and multiple destinations, a configuration of multiple sources and multiple destinations, or a configuration of multiple sources and a single destination. Embodiments address compatibility constraints in VNF-FGs using a variety of substructures, including splitting, merging, splitting and merging, hybrid splitting and merging, and connected splitting and merging.

[0012] Scalability: Traditional algorithms use a brute force approach to enumerate all possible decomposition options. However, using a brute force approach to solve the VNF-FG decomposition problem is computationally inefficient, especially for large-scale problems. Therefore, in an embodiment, an efficient and scalable heuristic method is provided to solve the VNF-FG decomposition problem in a computationally efficient manner.

[0013] Compatibility: Considering multiple options to implement a given VNF type, in an embodiment, the options are selected by considering compatibility constraints that ensure that the options of the VNF can be implemented with the options of the selected predecessor / successor VNFs.

[0014] Robustness: In some cases, it is inevitable that the service provider cannot embed a given VNF-FG decomposition recommendation of the NS. This may happen due to many reasons, including insufficient capacity, sudden increase in load, failure of the underlying nodes / links, and / or returning infeasible solutions by the underlying embedding algorithm. To ensure robustness, it is important to have fallback options that are good enough in terms of embedding cost. In an embodiment, the service provider is provided with the N best decomposition choices from the source node to the sink node so that the service provider has enough flexibility to switch to the fallback option when needed.

[0015] The accompanying drawings, which are incorporated herein and form a part of the specification, illustrate various embodiments. BRIEF DESCRIPTION OF THE DRAWINGS

[0016] Figure 1(a) shows a use case of the system.

[0017] Figure 1(b) shows the service function chain.

[0018] FIG1(c) shows a conventional method for implementing network services.

[0019] FIG1( d ) shows a method for implementing a network service.

[0020] Figure 2(a) to Figure 2(d) Different configurations for implementing network services are shown.

[0021] Figure 3 A multi-level graph model is shown.

[0022] Figures 4 to 6 The result of the pruning process is shown.

[0023] Figure 7(a) to Figure 7(b) A decision diagram is shown.

[0024] Figure 8 A flow chart is shown.

[0025] Figure 9(a) to Figure 9(e) The different substructures of a network service are shown.

[0026] Fig.10 The segmentation substructure is shown.

[0027] FIG11( a ) and FIG11 ( b ) show a multi-level graph model.

[0028] Figures 12(a) and 12(b) show the results of the pruning process.

[0029] Fig.13 A union graph is shown.

[0030] Figures 14(a) and 14(b) show the results of the pruning process.

[0031] Fig.15 , FIG16(a) and FIG16(b) show the combined graphs.

[0032] Figure 17(a) to Figure 17(d) The process of forming the final decision graph is shown.

[0033] Fig.18 The merged substructure is shown.

[0034] 19(a) and 19(b) show a multi-level graph model.

[0035] Figures 20(a) and 20(b) show the results of the pruning process.

[0036] Fig.21 A combined diagram is shown.

[0037] Figures 22(a) and 22(b) show the results of the pruning process.

[0038] Fig.23 , FIG24(a) and FIG24(b) show the combined graphs.

[0039] Figure 25(a)-Figure 25(c) The process of forming the final decision graph is shown.

[0040] Fig.26 The split and merge substructures are shown.

[0041] FIG27( a ) and FIG27( b ) show a multi-level graph model.

[0042] Figures 28(a) and 28(b) show the results of the pruning process.

[0043] Fig.29 A combined diagram is shown.

[0044] Figures 30(a) and 30(b) show the results of the pruning process.

[0045] Fig.31 , Figure 32(a) and Figure 32(b) show the combined graphs.

[0046] Figure 33(a) to Figure 33(d) The process of forming the final decision graph is shown.

[0047] Figure 34(a) to Figure 34(d) The de-pruning process is shown.

[0048] Fig.35 A hybrid split-merge substructure is shown.

[0049] Figure 36(a) and Figure 36(b) show a multi-level graph model.

[0050] Figures 37(a) and 37(b) show the results of the pruning process.

[0051] Fig.38 , Figure 39(a) and Figure 39(b) show the combined graphs.

[0052] Figures 40(a) and 40(b) show the process of forming the final decision graph.

[0053] Figure 42(a) to Figure 42(c) A multi-level graph model is shown.

[0054] Figures 43(a) and 43(b) show the results of the pruning process.

[0055] Fig.44 A combined diagram is shown.

[0056] Figures 45(a) and 45(b) show the results of the pruning process.

[0057] Fig.46 It is a combined picture.

[0058] Figures 47(a) and 47(b) show the results of the pruning process.

[0059] Fig.48 It is a combined picture.

[0060] Figure 49(a) to Figure 49(c) The process of forming the final decision graph is shown.

[0061] Fig.50 A process according to some embodiments is shown.

[0062] Fig.51 An apparatus according to some embodiments is shown.

[0063] Figures 52(a) and 52(b) show different options for implementing IDS. DETAILED DESCRIPTION

[0064] Network Function Virtualization (NFV) is the concept of decoupling network functions from proprietary hardware so that network functions can run on standardized hardware, thereby reducing hardware dependency and making the network more flexible.

[0065] More specifically, as shown in FIG1(c), in the conventional implementation method, a plurality of proprietary hardware 152-160 are provided, each of which is configured to perform a specific function. On the other hand, as shown in FIG1(d), in the NFV implementation method, one or more standard hardware 162-164 are provided. The standard hardware 162-164 is configured to perform a plurality of virtual network functions corresponding to the functions of the proprietary hardware 152-160.

[0066] FIG1(a) illustrates an example use case of a system 100 according to some embodiments. The system 100 includes four VNFs 102-108, which are used for network virtualization (meaning that the system 100 is used to provide network services). More specifically, in the system 100, VNF 102 is configured to function as a load balancer, VNF 104 is configured to function as a firewall, VNF 106 is configured to function as an intrusion detection system (IDS) / intrusion prevention system (IPS), and VNF 108 is configured to function as a wide area network (WAN) accelerator. Since each entity shown in FIG1(a) is a VNF connected to another VNF in the chain, the system 100 corresponds to a VNF chain as shown in FIG1(b).

[0067] Figures 2(a) to 2(e) show simplified diagrams of a VNF chain and a VNF-FG. As discussed above, a VNF chain (also referred to as an "SFC") and a VNF-FG (a more general topology than an SFC) describe incoming network services. As shown in Figures 2(a) to 2(e), an SFC represents a single-source single-destination (sSsD) network service, while a VNF-FG can represent a single-source multiple-destination service (sSmD), a multiple-source single-destination service (mSmD), or a multiple-source multiple-destination service (mSsD).

[0068] FIG2(a) shows an sSsD network service that can be implemented by an SFC, which includes VNF A, VNF B, VNF C, and VNF D arranged in sequence. FIG2(b) to FIG2(e) show different VNF-FGs, each describing a specific type of network service. More specifically, FIG2(a) shows an sSsD network service, FIG2(b) shows an sSmD network service, FIG2(c) shows an mSsD network service, and FIG2(d) shows an mSmD network service.

[0069] To increase flexibility, there may be multiple ways to implement (configure) a given VNF type. More specifically, a service provider may configure a given type of VNF (e.g., VNF A shown in FIG. 2( a) ) by selecting an option (also referred to as a sub-function or sub-component) from among multiple options. For example, VNF A to VNF D shown in FIG. 1( b) may include n_A number of sub-components, n_B number of sub-components, n_C number of sub-components, and n_D number of sub-components, respectively. In order to implement a network service, one or more sub-components included in a VNF must be selected and coupled to one or more sub-components included in another VNF.

[0070] The selection of subcomponents should satisfy so-called compatibility constraints, which impose restrictions on the selection of subcomponents of a VNF if the subcomponent of the VNF cannot be implemented together with the subcomponent j of its predecessor VNF. For example, if the subcomponent included in VNF A is not compatible with the subcomponent included in VNF B, the subcomponent of VNF A and the subcomponent of VNF B should not be selected and configured to work together for implementing a network service.

[0071] Therefore, according to some embodiments, the SFC or VNF-FG is represented using a multi-level graph G(V,E), where each level of the graph represents a VNF and each node at a given level represents a subcomponent of the VNF. The implementation of the SFC or VNF-FG (i.e., selecting one or more subcomponents of a VNF for coupling with one or more subcomponents of another VNF) can be implemented using a multi-level graph.

[0072] A multi-level graph G(V,E) is a directed graph in which vertices are partitioned into K (where K>1) disjoint subsets s1, s2, s3, ..., sK. If a subcomponent q of VNF i is compatible with a subcomponent p of VNF i-1, then there is an edge (u, v) in E that connects a node p at level i-1 to a node q at level i. The number of disjoint subsets K is equal to the total number of VNFs plus two (this takes into account source and destination nodes), meaning |s1| = |sK| = 1. Vertices S∈s1 and T∈sK are called source and sink nodes.

[0073] Figure 3 An example of a multi-level graph model of SFC shown in Figure 1(b) is shown, assuming that VNF ​​A, VNF B, VNF C, and VNF D have 3, 4, 3, 4 available subcomponents (i.e., nA=3, nB=4, nC=3, nD=4). The compatibility constraints of the subcomponents are specified by directed edges between the nodes of a level and the nodes of its predecessor level. For example, in Figure 3 There is no edge between node 2 at level C and node 3 at level D, which means that subcomponent 3 of VNF D cannot be implemented together with subcomponent 2 of VNF C.

[0074] Some embodiments of the present disclosure are directed to methods for decomposing VNF-FG by selecting appropriate subcomponents for each VNF to minimize the service provider's objective function (e.g., embedding cost) while satisfying compatibility constraints. For robustness purposes, an ideal solution is expected to give the service provider N best paths from source nodes to sink nodes in a multi-level graph so that the service provider has enough flexibility to switch to a fallback option when needed.

[0075] A feasible approach to solve the VNF-FG decomposition problem is to use a brute force approach, which enumerates all possible paths from source nodes to sink nodes to find the best N paths given the objective function. Obviously, using a brute force approach to solve the VNF-FG decomposition problem is computationally inefficient, especially for large-scale problem instances. For example, in a VNF-FG consisting of VNFs 1, 2, …, L, each VNF i has O i subcomponents, the total number of paths in a multi-level graph can be Same height.

[0076] Embodiments of the present disclosure provide an efficient and scalable heuristic to solve the VNF-FG decomposition problem in a computationally efficient manner.

[0077] 1. Decomposition of SFC

[0078] As discussed above with respect to Figure 1(b), SFC represents only sSsD network services.The following describes a multi-directional topology decomposition method for SFC according to some embodiments.

[0079] FIG1(b) shows an example of SFC, and Figure 3 FIG. 1( b ) shows a multi-level graph corresponding to the SFC shown in FIG. 1( b ). As discussed above, the multi-level graph shows the compatibility constraints of the subcomponents of the VNF included in the SFC. For example, Figure 3 As shown, there is no directed edge between subcomponent 2 of VNF B and subcomponent 2 of VNF C, which means that subcomponent 2 of VNF B is incompatible with subcomponent of VNF C.

[0080] In some embodiments of the present disclosure, based on the fitness scores (also called “weights”) of the incoming edges, only one incoming edge to a given subcomponent is selected, while all other incoming edges are pruned. The fitness score w of the edge between a node (i.e., subcomponent) p at level (i.e., VNF) i and a node q at level i-1 is {i-1,q}{i,p} Represents the fitness of subcomponent p of VNF i and subcomponent q of VNF i-1.

[0081] The computation of fitness scores (weights) is performed in the so-called “Decomposition Score Computation (DSC)” module, which is responsible for estimating the weights of edges by quantifying how well a node at a given level matches compatible nodes from its previous level.

[0082] According to some embodiments, the pruning process in the source-to-sink direction may be performed as follows.

[0083] like Figure 3 As shown, at the first level—VNF A—, in the source-to-sink direction, there is only one incoming edge 302, 304, 306 to each subcomponent. Since there is only one incoming edge, no pruning is performed at VNF ​​A.

[0084] At the second level—VNF B—, each subcomponent has multiple incoming edges. For example, subcomponent 1 of VNF B has two incoming edges 308 and 310.

[0085] If a subcomponent p of VNF i has multiple incoming edges, the best incoming edge is selected as follows:

[0086]

[0087] And prune all other incoming edges.

[0088] For example, assuming that w {1,3},{2,1} >w {1,1},{2,1} ,w {1,1},{2,2} >w {1,2},{2,2} ,w {1,3},{2,3} >w {1,1},{2,3}} , and w {1,3},{2,4} >w {1,2},{2,4} .

[0089] Based on the comparison of the fitness scores of the edges, a pruning process can be performed. For example, subcomponent 1 of VNF B has two incoming edges 308 and 310. Edge 308 has a weight value w {1,3},{2,1} , and edge 310 has a weight value w {1,1},{2,1} . Due to w {1,3},{2,1} >w {1,1},{2,1}, hence, edge 310 is selected for subcomponent 1 of VNF B. This pruning process is repeated for all subcomponents of VNF BD. Figure 4 shows the graph resulting from performing the pruning process for all subcomponents of VNF B, and Figure 5 The diagram resulting from performing the pruning process for all subcomponents of the VNF BD is shown.

[0090] At this point, the result of the pruning process is a spanning tree where there are at most N1 paths from the source node to the last VNF, and N1 is the total number of subcomponents of the last VNF ​​- VND D.

[0091] like Figure 5 As shown, after performing the pruning process in the forward (i.e., source to sink) direction, subcomponents that are not part of any path in the tree (meaning those subcomponents are not valid nodes) can be identified. For example, since no edge from subcomponent 2 of VNF A to any subcomponent of VNF B is selected, subcomponent 2 of VNF B is identified. Similarly, subcomponents 1, 2, and 4 of VNFB are identified.

[0092] Once the less efficient edges (and subcomponents) in the tree graph resulting from the pruning process performed in the forward direction are identified, the same process can be performed in the backward direction (ie, sinking to the source direction). Figure 6 1 shows the output of the pruning process performed in the backward direction. Like the pruning process performed in the forward direction, the pruning process performed in the backward direction can be used to identify less efficient edges and / or subcomponents. Figure 6 As shown, subcomponents 3 and 4 of VNF B, subcomponent 1 of VNF C, and subcomponent 3 of VNF D are identified as less efficient subcomponents.

[0093] After obtaining the tree graph obtained from performing the pruning process in the forward direction (i.e., Figure 5 ) and the tree graph resulting from performing the pruning process in the backward direction (i.e., Figure 6 After the tree graph shown in FIG. 1 is obtained, the information obtained from the two tree graphs can be merged to determine the final graph (also called a decision graph or a union graph). The decision graph can be used to determine the optimal decomposition of the VNF-FG to be selected by the service provider.

[0094] The decision graph is constructed as the union of the tree graphs associated with the forward direction and the backward direction. Although the nodes of the decision graph are the nodes of the initial multi-level graph, the links of the decision tree graph are the links that exist in the tree graph in the forward direction or the backward direction. Figure 5 and Figure 6 The tree diagrams of the forward and backward directions shown can construct the decision diagram shown in Figure 7(a).

[0095] In a decision graph (e.g., as shown in FIG7(a) ), nodes that are less useful in both the forward and backward directions can be identified and pruned. Figure 5 and Figure 6 As shown, subcomponent 4 of VNF B is detected as less useful in both the forward and backward directions. Therefore, the subcomponent can be pruned from the decision graph.

[0096] Furthermore, after removing subcomponent 4 of VNF B from the decision tree, the edges surrounding the removed subcomponents should also be removed / pruned from the decision graph. FIG7( b) shows the resulting decision graph. As shown in FIG7( b), in the resulting decision graph, a total of 9 paths from the source node to the destination node (sink) can be identified. These paths can be sorted in descending order of their scores, which provides the service provider with a sorted set of VNF-FGs to be embedded.

[0097] Table 1 provided below summarizes the paths identified in (i) the forward tree, (ii) the backward tree, and (iii) the decision graph. As shown below, the decision graph leads to a larger number of promising paths (9 in this example, compared to 4 and 3 in the forward and backward trees), and it provides a better chance of finding high-scoring combinations that can ultimately lead to better embedding results.

[0098] Figure 8 A flow chart of a multi-directional topology decomposition algorithm for SFC according to some embodiments is shown.

[0099] 2. Decomposition of VNF-FG

[0100] The following embodiments are used to implement the decomposition of sSmD, mSsD and mSmD NS in a general VNF-FG topology. Figure 9(a)-Figure 9(e) As shown, the generic VNF-FG topology may include any one or combination of the following substructures: (a) split; (2) merge; (3) split and merge; (4) hybrid split and merge; and (5) connected split and merge.

[0101] 2.1 Segmentation substructure

[0102] Fig.10 An example of a segmentation substructure corresponding to a sSmD NS is shown. Fig.10 As shown, the NS includes VNFs A, B, C, and D, which have 3, 4, 3, and 4 subcomponents, respectively. The NS includes two SFCs, source to destination 1 (S to D1) SFC and source 2 to destination 2 (S to D2) SFC. A multi-level graph model with S to D1 SFC and S to D2 SFC is shown in FIG. According to some embodiments, Fig.10The sSmD NS shown in can be decomposed as explained below.

[0103] First, the fitness scores (weights) of the edges are obtained from the entities (e.g., DSC modules), and based on the fitness scores, the pruning process in the forward and reverse directions is applied to the S to D1 SFC. Figures 12(a) and 12(b) show the results of the pruning process. More specifically, Figure 12(a) shows the output of the pruning process in the forward direction, while Figure 12(b) shows the output of the pruning process in the reverse direction.

[0104] As shown in Figure 12(a), the DSC set marked as useless for S to D1 SFC in the forward direction is {A1, B1, C3} and is identified as a set of DSCs that are not useful for the S to D1 SFC in the backward direction is {B4, C2}. Therefore, in generating Fig.13 The decision diagram shown No subcomponents or edges need to be removed.

[0105] After applying the pruning process to the S to D1 SFC, the pruning process in the forward and reverse directions may be applied to the S to D2 SFC. The manner in which the pruning process is applied to the S to D1 SFC is similar to the manner in which the pruning process is applied to the S to D2 SFC, and thus will not be described below.

[0106] Figures 14(a) and 14(b) show the results of the pruning process applied to S to D2 SFC in the forward and backward directions. As shown in Figure 14(a), the set of DSCs identified as useless for S to D2 SFC in the forward direction is {A1, B2, B4} and is identified as a set of DSCs that are not useful for the S to D2 SFC in the backward direction is {B4, D2, D3}. Therefore, B4 and all incoming and outgoing edges relative to B4 are pruned, thus generating Fig.15 The combined figure shown in

[0107] Since the pruned subcomponent B4 belongs to the split point (i.e., VNF B), from another union graph (i.e., ) It is also meaningful to trim B4. Then, the results shown in Figures 16(a) and 16(b) are obtained. and

[0108] After obtaining the combined and After that, the final decision graph can be determined based on the obtained union graph. When determining the final decision graph, in order to resolve the compatibility conflict that may occur at the split point, the concept of a hypergraph can be used. In a hypergraph, a hyperedge is an edge whose one end (or both ends) can include more than one node.

[0109] To construct the final decision graph, the links between the subcomponents of VNF A and VNF B are considered. If there is an edge between the subcomponents of VNF A and B in any of the two union graphs shown in Figures 16(a) and 16(b), such an edge is added to the final decision graph. Therefore, based on the existence of the edges between the subcomponents of VNF A and B as shown in Figures 16(a) and 16(b), the first two levels of the decision graph are constructed as shown in Figure 17(a).

[0110] The next level of the final decision graph can be constructed based on the compatibility between VNF B and C and between VNF B and D. To this end, if (As shown in Figure 16(a)), there is an edge between subcomponent i of VNF B and subcomponent j of VNF C, and a supernode is formed between these subcomponents. According to Figure 16(a), since there are three edges between subcomponents of VNF B and subcomponents of VNF C, there will be three supernodes in the final decision graph, as shown in Figure 17(c).

[0111] Each supernode consists of two subcomponents, one from VNF B and the other from VNF C. Next, if and only if in the combined graph When there is an edge between the B subcomponent of a supernode and the subcomponent k of VNF D, the supernode is connected to the subcomponent k of VND D.

[0112] More specifically, consider the first supernode consisting of subcomponent 1 (B1) of VNF B and subcomponent 1 (C1) of VNF C. According to Figure 16(b), in In , there is an edge between subcomponent B1 and subcomponent D2. This implies that there should be an edge between the first supernode and subcomponent D2, as shown in Figure 17(c).

[0113] Similarly, since in the combined graph There is an edge between subcomponents B1 and D3, as shown in Figure 16(b), so there should be another edge between the first supernode and subcomponent D3.

[0114] After performing the same process on all three supernodes, the final decision graph can be obtained, as shown in Figure 17(d). As shown in Figure 17(d), a total of 9 paths from level A to level D of the final decision graph are formed, where each path represents a feasible low-cost VNF-FG.

[0115] 2.2 Merging substructures

[0116] Fig.18 An example of a merged substructure corresponding to an mSsD NS is shown. As shown in FIG. 19( a) and FIG. 19( b), the NS includes VNFs A, B, C, and D, which have 3, 2, 4, and 3 subcomponents, respectively. The NS includes two SFCs—Source 1 to Destination (S1 to D) SFC and Source 2 to Destination (S2 to D) SFC. The S1 to D SFC includes Source 1, VNF A, VNF C, VNF D, and Destination, and the S2 to D SFC includes Source 2, VNF B, VNF C, VNF D, and Destination. FIG. 19( a) shows a multi-level graph model associated with the S1 to D SFC, and FIG. 19( b) shows a multi-level graph model associated with the S2 to D SFC. The mSsDNS shown in FIG. 19( a) and FIG. 19( b) can be decomposed using the decomposition process explained below.

[0117] Similar to the split substructure discussed in Section 2.1 above, the decomposition process can start with performing a pruning process on the first SFC, i.e., S1 to D SFC. First, the fitness score (weight) of the edge from S1 to D SFC is obtained from an entity (e.g., a DSC module). Then, based on the fitness score, the pruning process in the forward direction and the reverse direction is applied to S1 to D SFC. Figures 20(a) and 20(b) show the results of the pruning process. More specifically, Figure 20(a) shows the output of the pruning process in the forward direction, while Figure 20(b) shows the output of the pruning process in the reverse direction.

[0118] As shown in Figure 20(a), the set of subcomponents of S1 to D SFC identified as less useful in the forward direction is {A1, C1, C3}, and as shown in Figure 20(b), the set of subcomponents from S1 to DSFC that are identified as less useful in the backward direction is {C3, C4}. Therefore, subcomponent C3 and its associated incoming / outgoing edges are removed from the graph removed (or not included) in Fig.21 Shown in.

[0119] After applying the pruning process to the S1 to D SFC, the pruning process may also be applied to the S2 to D DFC. More specifically, the pruning process in the forward direction and the reverse direction may be applied to the S2 to D SFC based on the fitness score. FIG. 22( a) and FIG. 22( b) illustrate the results of the pruning process. More specifically, FIG. 22( a) illustrates the output of the pruning process in the forward direction, and FIG. 22( b) illustrates the output of the pruning process in the reverse direction.

[0120] As shown in Figure 22(a), the set of subcomponents of S2 to D SFC that are marked as useless in the forward direction is {C1, C2}, and as shown in Figure 22(b), the set of subcomponents of S2 to D SFC that are marked as useless in the backward direction is {B2, B4}. Since Therefore, subcomponent C2 and its associated incoming / outgoing edges are removed from the graph removed (or not included) in Fig.23 Shown in.

[0121] Since the pruned subcomponent C2 belongs to the merge point (i.e., VNF C), in some embodiments, the pruned subcomponent C2 is removed from another merge point (i.e., ). Then, two parallel images are obtained. and As shown in Figure 24(a) and Figure 24(b).

[0122] Then, based on the graph and Generate the final decision graph. When generating the final decision graph, in order to resolve the compatibility conflict that may occur at the merge point (i.e., VNF C), a super node including the subcomponents of VNF A and B is created.

[0123] The combined images shown in Figures 24(a) and 24(b) and Identify the connections between the subcomponents of VNF C (merge point) and the subcomponents of VNF A, and the connections between the subcomponents of VNF C and the subcomponents of VNF B. As shown in Figures 24(a) and 24(b), subcomponent C1 is connected to subcomponents A3 and B1. This implies that subcomponents A3 and B1 should form a supernode, which should be connected to subcomponent C1, as shown in Figure 25(a).

[0124] Similarly, as further shown in Figures 24(a) and 24(b), subcomponent C4 is connected to subcomponents A3 and B1, and therefore, the supernode consisting of A3 and B1 should be connected to C4, as shown in Figure 25(b).

[0125] Then, if and only if in any graph and When there is an edge between any subcomponent in VNF C of the supernode and subcomponent k of VNF D, the supernode is connected to subcomponent k of VNF D. Then, the final decision graph is obtained, as shown in Figure 25(c). As shown in Figure 25(c), a total of 3 paths are formed from VNF A to VNF D, each of which represents a feasible low-cost VNF-FG.

[0126] 2.3 Splitting and merging substructures

[0127] Fig.26 An example of a split-merge substructure corresponding to sSsD NS is shown. Figure 27(a) to Figure 27(b) As shown, the NS includes VNFs A, B, C, D, and E, which have 3, 4, 3, 2, and 4 subcomponents, respectively. The NS includes two SFCs—source-ABCE-destination SFC (referred to as “SFC1” in Section 2.3) and source-ABDE-destination SFC (“SFC2”). FIG27( a) shows a multi-level graph model associated with SFC1, and FIG27( b) shows a multi-level graph model associated with SFC2. Figure 27(a) to Figure 27(b) The sSsD NS shown can be decomposed via the decomposition process described below.

[0128] The decomposition process can start by running a pruning process on SFC1 in the forward and reverse directions. Similar to the decomposition process described above in Sections 2.1-2.2, the pruning process can be performed based on the fitness scores (weights) of the edges of SFC1. The fitness scores can be obtained from the entity (e.g., DSC module).

[0129] Figures 28(a) and 28(b) show the results of the pruning process. More specifically, Figure 28(a) shows the results of the pruning process in the forward direction, and Figure 28(b) shows the results of running the pruning process in the reverse direction.

[0130] As shown in Figure 28(a), the set of subcomponents of SFC1 identified as less useful in the forward direction is {B1, B3, C1}, and as shown in Figure 28(b), the set of subcomponents of SFC1 that are identified as less useful in the backward direction is {B3, E1}. Therefore, subcomponent B3 and its associated edges are removed from the union graph. removed (or not included), such as Fig.29 shown.

[0131] In addition to SFC1, the pruning process can be run on SFC2. Figures 30(a) and 30(b) show the results of the pruning process performed on SFC2 in the forward direction and the reverse direction, respectively.

[0132] As shown in Figure 30(a), the set of subcomponents of SFC2 identified as less useful in the forward direction is {B1, B3}, and as shown in FIG30(b), the set of subcomponents of SFC2 that are identified as less useful in the backward direction is {B2, B4, E3, E4}. Since Therefore, there are no subcomponents and no edges from the graph removed (or not included) in Fig.31 Shown in.

[0133] like Fig.29 As shown, subcomponent B3 is from the decision diagram Assuming that the pruned subcomponent C3 belongs to the partition point (i.e., VNF B), then from another parallel graph It also makes sense to trim it. Then, we obtain and As shown in Figure 32.

[0134] The union of two SFCs (SFC1 and SFC2) based on the obtained given NS and The final decision graph for a given NS can be created. In order to create the final decision graph, compatibility conflicts that may occur at the split point and merge point (i.e., VNF B and E) need to be resolved.

[0135] The first step in generating the final decision diagram (i.e., the step of generating the first level of the final decision diagram) is to generate the final decision diagram by or In FIG. 1 , a link is established between a subcomponent of VNF A and a subcomponent of VNF B. More specifically, if in any of the parallel or If there is a link between subcomponent i of VNF A and subcomponent j of VNF B, then a link is established between subcomponent i of VNF A and subcomponent j of VNF B, as shown in Figure 33(a).

[0136] The second step in generating the final decision graph is to resolve the conflict at the split point (i.e., VNF B). To do this, we can use the union graph A supernode is created that includes the subcomponents of VNFs B and C.

[0137] More specifically, if in the combined graph If there is a link between subcomponent i of VNF B and subcomponent j of VNF C, they form a supernode. Figure 33(b) shows the result of the second step. Once the supernode is formed, the Form a link between the supernode and the subcomponents of VNF D. If there is a link between subcomponent i of VNF B and subcomponent j of VNF D, a link is formed between subcomponent j of VNF D and any supernode containing subcomponent i of VNF B (as shown in Figure 33(c)).

[0138] The third step in generating the final decision graph is to resolve conflicts at the merge point (i.e., VNF E). and is used to identify the links between the subcomponents of VNF E and the subcomponents of VNFs C and D. Then, a supernode including subcomponent i of VNF C and subcomponent j of VNF D is formed and connected to subcomponent k of VNF E if the following three conditions are met: (i) In the combined graph In the figure, subcomponent k of VNF E is connected to subcomponent i of VNF C; (ii) in the combined , subcomponent k of VNF E is connected to subcomponent j of VNF D; and (iii) in the decision graph, subcomponent i of VNF C is connected to subcomponent j of VNF D.

[0139] For example, in Figures 32(a) and 32(b), subcomponent E1 (i.e., subcomponent 1 of VNF E) is connected to subcomponents C3 and D1. However, according to Figure 33(c), there is no link between subcomponents C3 and D1, and therefore, there is no link between subcomponents E1, C3, and D1.

[0140] On the other hand, subcomponent E2 is in the combined graph is connected to the subassembly C2 (as shown in FIG. 32( a)) and in FIG. 32(b)). Further, subcomponents C2 and D2 are also connected in the decision graph (as shown in FIG33(c)). Therefore, a super node can be formed between subcomponents C2 and D2, and the node can be connected to subcomponent E2 (as shown in FIG33(d)).

[0141] Figure 33(d) shows the final decision graph. As shown in Figure 33(d), a path is formed from VNF A to VNF E. This path represents a feasible low-cost VNF-FG including subcomponents A2, B2, C2, D2, and E2. In splitting and merging substructures, the decomposition method described above may lead to 0 or only 1 feasible VNF-FG, especially assuming that both the merge graph and the decision graph undergo many pruning steps.

[0142] However, for the purpose of providing flexibility in embedding and having fallback options, the service provider may be interested in having multiple VNF-FGs instead of just one VNF-FG. Therefore, if the final decision graph does not suggest any feasible VNF-FGs, or the service provider is interested in having a larger number of feasible VNF FGs, a de-pruning step may be performed in some embodiments.

[0143] The de-pruning step can be performed from the obtained union graph and As explained above, during the pruning process, subcomponent B3 is removed from both unions because the subcomponent belongs to the set and In order to make the final decision graph less sparse, in some embodiments, subcomponent B3 and its associated incoming and outgoing links can be depruned. The results of the depruning process are shown in Figures 34(a) and 34(b), respectively showing the updated graph. and

[0144] Then, the above-mentioned process of resolving conflicts at the split point (shown in FIG. 34(c)) and the merge point (shown in FIG. 34(d)) can be performed to obtain the final decision graph shown in FIG. 34(e). As shown in FIG. 34(e), in the obtained final decision graph, a total of 5 low-cost feasible VNF-FGs are formed.

[0145] 2.4 Hybrid Split and Merge Substructures

[0146] Fig.35 An example of a hybrid split-merge substructure corresponding to sSsD NS is shown. Figure 36(a) to Figure 36(b) As shown, the NS includes VNFs A, B, D, and E, which have 3, 4, 2, and 4 subcomponents, respectively. The NS includes two SFCs—Source-ABE-Destination SFC (referred to as “SFC1” in Section 2.4) and Source-ABDE-Destination SFC (“SFC2”). FIG. 36( a) shows a multi-level graph model associated with SFC1, and FIG. 36( b) shows a multi-level graph model associated with SFC2. Figure 36(a) to Figure 36(b) The sSsD NS shown can be decomposed via the decomposition process described below.

[0147] The decomposition process can start by running a pruning process on SFC1 in the forward and reverse directions. Similar to the decomposition process described in Sections 2.1-2.3 above, the pruning process can be performed based on the fitness scores (weights) of the edges of SFC1. The fitness scores can be obtained from an entity (e.g., a DSC module).

[0148] Figures 37(a) and 37(b) show the results of the pruning process. More specifically, Figure 37(a) shows the results of the pruning process in the forward direction, and Figure 37(b) shows the results of running the pruning process in the reverse direction.

[0149] As shown in Figure 37(a), the set of subcomponents of SFC1 identified as less useful in the forward direction is {B1}, and as shown in Figure 37(b), the set of subcomponents of SFC1 that are identified as less useful in the backward direction is {B4}. Therefore, there are no subcomponents and no edges from the graph removed (or not included) in Fig.38 Shown in.

[0150] In addition to SFC1, the pruning process can be run on SFC2 to generate and map Figures 39(a) and 39(b) show the results of the pruning process running on SFC1 and SFC2, respectively.

[0151] The union of two SFCs (SFC1 and SFC2) based on the obtained given NS and The final decision graph for a given NS can be created. In order to create the final decision graph, compatibility conflicts that may arise at the split points and merge points (i.e., VNF B, D, and E) need to be resolved.

[0152] The first step of generating the final decision graph (i.e., the step of generating the first level of the final decision graph) is to establish a link between the subcomponent i of VNF A and the subcomponent i of VNF B. More specifically, if in any of the graphs or If there is a link between subcomponent i of VNF A and subcomponent j of VNF B, then a link is established between subcomponent i of VNF A and subcomponent j of VNF B, as shown in Figure 40(a).

[0153] The second step of generating the final decision graph (i.e., the later step of generating the final decision graph) is to generate the final decision graph by using the or The acquired information creates a supernode including subcomponents of VNFs B and D.

[0154] More specifically, subcomponent i of VNF B and subcomponent j of VNF D form a supernode, which will be connected to subcomponent k of VNF E if and only if the following conditions are met: (i) In the combined graph In the graph, there is an edge between subcomponent i of VNF B and subcomponent j of VNF D; (ii) in the graph In the graph, there is an edge between subcomponent k of VNF E and subcomponent i of VNF B, and (iii) In the figure, there is an edge between subcomponent k of VNF E and subcomponent j of VNF D.

[0155] For example, according to FIG. 39( a) and FIG. 39( b), subcomponent E1 (i.e., subcomponent 1 of VNF E) is connected to subcomponents B2 and D1, and according to FIG. 39( b), subcomponent B2 is connected to subcomponent D1. Therefore, in the final decision graph, subcomponents B2 and D1 can form a supernode, which can then be connected to subcomponent E1 (as shown in FIG. 40( b)). FIG. 40( b) shows the final decision graph. As shown in FIG. 40( b), a total of five paths are formed from VNF A to VNF E, and thus five feasible low-cost VNF-FGs are formed: (i) A2, B2, D1, E1, (ii) A2, B3, D2, E2, (iii) A2, B3, D2, E3, (iv) A3, B3, D2, E2, and (v) A3, B3, D2, E3.

[0156] 2.5 Splitting and merging substructures of connections

[0157] Fig.41 An example of a connected split and merge substructure corresponding to sSsD NS is shown. Figure 42(a) to Figure 42(c) As shown, NS includes VNFs A, B, C, D, and E, which have 3, 4, 3, 2, and 4 subcomponents, respectively. NS includes three SFCs—source-ABCDE-destination SFC (referred to as “SFC1” in Section 2.5), source-ABCE-destination SFC (“SFC2”), and source-ABDE-destination SFC (“SFC3”). FIG. 42(a) shows a multi-level graph model associated with SFC1, FIG. 42(b) shows a multi-level graph model associated with SFC2, and FIG. 42(c) shows a multi-level graph model associated with SFC3. Figure 42(a) to Figure 42(c) The sSsD NS shown can be decomposed via the decomposition process described below.

[0158] The decomposition process can start by running a pruning process on SFC1 in the forward and reverse directions. Similar to the decomposition process described in Sections 2.1-2.4 above, the pruning process can be performed based on the fitness scores (weights) of the edges of SFC1. The fitness scores can be obtained from an entity (e.g., a DSC module).

[0159] Figures 43(a) and 43(b) show the results of the pruning process. More specifically, Figure 43(a) shows the results of the pruning process in the forward direction, and Figure 43(b) shows the results of running the pruning process in the reverse direction.

[0160] As shown in Figure 43(a), the set of subcomponents of SFC1 identified as less useful in the forward direction is {B1, B3, C1, C3}, and as shown in Figure 43(b), the set of subcomponents of SFC1 that are identified as less useful in the backward direction is {B4, E1, E4}. Since Therefore, there are no subcomponents and no edges from the graph removed (or not included) in Fig.44 Shown in.

[0161] In addition to SFC1, the pruning process may also be run on each of SFC2 and SFC3.

[0162] Figure 45(a) and Figure 45(b) show the results of the pruning process on SFC2 in the forward direction and the reverse direction, respectively. Fig.46 The results of SFC2 obtained based on the results of the pruning process are shown in Figure

[0163] Similarly, Figures 47(a) and 47(b) show the results of the pruning process run on SFC3 in the forward direction and the reverse direction, respectively. Fig.48 The results of SFC3 obtained based on the results of the pruning process are shown in Figure

[0164] Based on the obtained union graph of the three SFCs (SFC1, SFC2 and SFC3) of the given NS, the final decision graph of the given NS can be created. Similar to the split and merge substructures discussed above, in order to create the final decision graph, the compatibility conflicts that may arise at VNFs B, C, D and E need to be resolved.

[0165] The first step in generating the final decision graph (i.e., the first level of the final decision graph) is to establish links between the subcomponents of VNFA and VNF B. To this end, if Fig.44 , Fig.46 and Fig.48 The three parallel graphs shown and In any of the above, if there is a link between subcomponent i of VNF A and subcomponent j of VNF B, then a link can be established between subcomponent i of VNF A and subcomponent j of VNF B. Figure 49(a) shows the result of creating the first level.

[0166] The second step (i.e., the step of generating the final decision diagram at the second level) is to use the and The information obtained is used to create a supernode including the subcomponents of VNF B and VNF C. More specifically, subcomponent i of VNF B and subcomponent j of VNF C can form a supernode, and the supernode will be connected to subcomponent k of VNF D if and only if the following conditions are met: (i) In the combined diagram In the graph, there is an edge between subcomponent k of VNF D and subcomponent i of VNF B; (ii) in the union graph In the graph, there is an edge between subcomponent i of VNF B and subcomponent j of VNF C; (iii) In the figure, there is an edge between subcomponent k of VNF D and subcomponent j of VNF C.

[0167] For example, subcomponents B2 and C2 should form a supernode, which should be connected to D1 for the following reasons: (i) according to Fig.48 , D1 in the combined graph is connected to B2; (ii) according to Fig.46 , B2 in the combined graph is connected to C2; (iii) according to Fig.44 , D1 in the combined graph Figure 49(b) shows the result of creating the second level.

[0168] The third step (i.e., the step of generating the third and fourth levels of the decision graph) is to create a supernode including the subcomponents of VNFs C and D, which will be connected to the subcomponents of VNF E. More specifically, subcomponent j of VNF C and subcomponent k of VNF D can form a supernode, which can be connected to subcomponent l of VNF E if and only if the following conditions are met: (i) In any of the graphs and In the graph, there is an edge between subcomponent l of VNF E and subcomponent k of VNF D; (ii) in the union graph , there is an edge between subcomponent l of VNF E and subcomponent j of VNF C, (iii) when creating the second and third levels shown in Figure 49(b), there is an edge between subcomponent j of VNF C and subcomponent k of VNF D.

[0169] For example, subcomponents C3 and D1 should form a supernode, which should be connected to subcomponent E1 for the following reasons: (i) Fig.44 and Fig.48 , subcomponent E1 in the combined diagram and are connected to subcomponent D1; (ii) according to Fig.46 , subcomponent E2 in the combined diagram 49( b ), in the second and third levels of creating the final decision graph, subcomponent C3 is connected to subcomponent D1.

[0170] Figure 49(c) shows the result of the remaining stages of creating the final decision graph. In the final decision graph shown in Figure 49(c), a total of four paths are formed from VNF A to VNF E, thus representing four feasible low-cost VNF-FGs: (i) A1, B1, C2, D2, E2; (ii) A2, B2, C2, D1, E2; (iii) A1, B4, C3, D1, E1; and (iv) A1, B4, C3, D1, E3.

[0171] Fig.50 A process 5000 for decomposing one or more VNF chains is shown. The one or more VNF chains include a first VNF ​​and a second VNF. The process 5000 may start with step s5002, which includes: identifying a first decomposition subcomponent DSC set included in the first VNF, wherein the first DSC set includes a first DSC and a second DSC. Step s5004 includes: identifying a second DSC set included in the second VNF, wherein the second DSC set includes a third DSC. Step s5006 includes: obtaining a first forward weight value for a first forward path from the first DSC to the third DSC. Step s5008 includes: obtaining a second forward weight value for a second forward path from the second DSC to the third DSC. Step s5010 includes: performing a first comparison based on the first forward weight value and the second forward weight value. Step s5012 includes: selecting a first forward path using a result of the first comparison based on the first forward weight value and the second forward weight value. Step s5014 includes: configuring the connection between the first VNF ​​and the second VNF based on the selection of the first forward path.

[0172] In some embodiments, the method includes generating a decision graph indicating a plurality of paths between the first set of DSCs and the second set of DSCs, wherein the decision graph indicates selection of the first forward path.

[0173] In some embodiments, the decision diagram is a tree diagram.

[0174] In some embodiments, performing the first comparison includes determining which of the first forward weight value and the second forward weight value is greater.

[0175] In some embodiments, the first DSC set also includes a fourth DSC, the second DSC set also includes a fifth DSC, and the method also includes: obtaining a third forward weight value for a third forward path from the second DSC to the fifth DSC; obtaining a fourth forward weight value for a fourth forward path from the fourth DSC to the fifth DSC; performing a second comparison based on the third forward weight value and the fourth forward weight value; selecting a third forward path using the result of the second comparison; and further based on the selection of the third forward path, configuring the connection between the first VNF ​​and the second VNF.

[0176] In some embodiments, the second VNF includes a specific DSC, the one or more VNF chains also include a third VNF, the third VNF includes one or more DSCs, and the method also includes: selecting a forward path from at least one DSC included in the first VNF ​​to a specific DSC included in the second VNF; not selecting any forward path from the specific DSC included in the second VNF to any DSC included in the third VNF; and determining to exclude the specific DSC from the decision graph based on not selecting any forward path from the specific DSC included in the second VNF to any DSC included in the third VNF.

[0177] In some embodiments, the method also includes: selecting a backward path from at least one DSC included in the third VNF to a specific DSC included in the second VNF; and not selecting any backward path from the specific DSC included in the second VNF to any DSC included in the first VNF, wherein determining to exclude the specific DSC from the decision graph is further based on not selecting any backward path from the specific DSC included in the second VNF to any DSC included in the first VNF.

[0178] In some embodiments, the method also includes: obtaining a first backward weight value for a first backward path from a third DSC to the first DSC; obtaining a second backward weight value for a second backward path from a DSC included in the second VNF to the first DSC; performing a comparison based on the first backward weight value and the second backward weight value; selecting a first backward path using a result of the comparison based on the first backward weight value and the second backward weight value; and configuring a connection between the first VNF ​​and the second VNF based on the selection of the first backward path.

[0179] In some embodiments, the one or more VNF chains include a first VNF ​​chain and a second VNF chain, the first VNF ​​chain includes a first VNF, a second VNF, a source node and a first destination node, and the second VNF chain includes a first VNF, a third VNF, a source node and a second destination node.

[0180] In some embodiments, the method includes: obtaining first connection information about a first set of connections between a first VNF ​​and a second VNF in a first VNF ​​chain; obtaining second connection information about a second set of connections between a first VNF ​​and a third VNF in a second VNF chain; and creating one or more connections between the second VNF and the third VNF based on the obtained first connection information and the second connection information.

[0181] In some embodiments, the method includes: identifying a DSC included in a first VNF; identifying a DSC included in a third VNF, wherein the DSC included in the first VNF ​​is connected to the DSC included in the third VNF in a second chain; identifying a DSC included in a second VNF, wherein the DSC included in the second VNF is connected to the DSC included in the first VNF ​​in the first chain; and creating a connection between the DSC included in the second VNF and the DSC included in the third VNF based on the obtained first connection information and second connection information.

[0182] In some embodiments, the one or more VNF chains include a first VNF ​​chain and a second VNF chain, the first VNF ​​chain includes a first source node, a first VNF, a second VNF and a destination node, and the second VNF chain includes a second source node, a third VNF, a second VNF and a destination node.

[0183] In some embodiments, the method includes: obtaining first connection information about a first set of connections between a first VNF ​​and a second VNF in a first VNF ​​chain; obtaining second connection information about a second set of connections between a third VNF and a second VNF in a second VNF chain; and creating one or more connections between the first VNF ​​and the third VNF based on the obtained first connection information and the second connection information.

[0184] In some embodiments, the method includes: identifying a DSC included in a first VNF; identifying a DSC included in a second VNF, wherein the DSC included in the first VNF ​​is connected to the DSC included in the second VNF in a first chain; identifying a DSC included in a third VNF, wherein the DSC included in the third VNF is connected to the DSC included in the second VNF in a second chain; and creating a connection between the DSC included in the second VNF and the DSC included in the third VNF based on the obtained first connection information and second connection information.

[0185] In some embodiments, the one or more VNF chains include a first VNF ​​chain and a second VNF chain, the first VNF ​​chain includes a source node, a first VNF, a second VNF and a destination node, and the second VNF chain includes a source node, a first VNF, a second VNF, a third VNF and a destination node.

[0186] In some embodiments, the method includes: obtaining first connection information about a first group of connections between a first VNF ​​and a second VNF in a first VNF ​​chain; obtaining second connection information about a second group of connections between the first VNF ​​and a third VNF in a second VNF chain; and selecting one or more connections between the first VNF ​​and the third VNF from the second group of connections in the second VNF chain based on the obtained first connection information and second connection information.

[0187] In some embodiments, the method includes: obtaining third connection information about a third group of connections between a third VNF in the second VNF chain and the second VNF, and selecting one or more connections between the second VNF and the third VNF from the third group of connections in the second VNF chain based on the obtained first connection information and third connection information.

[0188] In some embodiments, the one or more VNF chains include a first VNF ​​chain, a second VNF chain, and a third VNF chain, the first VNF ​​chain includes a source node, a first VNF, a second VNF, a third VNF, a fourth VNF, and a destination node, the second VNF chain includes a source node, a first VNF, a second VNF, a fourth VNF, and a destination node, and the third VNF chain includes a source node, a first VNF, a third VNF, a fourth VNF, and a destination node.

[0189] In some embodiments, the method includes: obtaining first connection information about a first group of connections between a first VNF ​​and a second VNF in a first VNF ​​chain; obtaining second connection information about a second group of connections between a first VNF ​​and a third VNF in a second VNF chain; and selecting one or more connections between the first VNF ​​and the second VNF from the first group of connections in the first VNF ​​chain based on the obtained second connection information.

[0190] In some embodiments, the method also includes: obtaining third connection information about a third group of connections between the second VNF and the third VNF in the first VNF ​​chain; and selecting one or more connections between the second VNF and the third VNF from the third group of connections in the first VNF ​​chain based on the obtained second connection information.

[0191] In some embodiments, the method also includes: obtaining fourth connection information about a fourth group of connections between the second VNF and the fourth VNF in the third VNF chain; and selecting one or more connections between the second VNF and the third VNF from the third group of connections in the first VNF ​​chain based on the obtained fourth connection information.

[0192] In some embodiments, the method also includes: obtaining fifth connection information about a fifth group of connections between the third VNF and the fourth VNF in the first VNF ​​chain; and selecting one or more connections between the third VNF and the fourth VNF from the fifth group of connections in the first VNF ​​chain based on the obtained fourth connection information.

[0193] Fig.51 5 is a block diagram of an apparatus 5100 for implementing the VNF or SFC described above according to some embodiments. Fig.51As shown, the device 5100 may include: a processing circuit (PC) 5102, which may include one or more processors (P) 5155 (e.g., a general-purpose microprocessor and / or one or more other processors, such as an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), etc.), which may be co-located in a single housing or in a single data center, or may be geographically distributed (i.e., the device 5100 may be a distributed computing device); a network interface 5148, which includes a transmitter (Tx) 5145 and a receiver (Rx) 5147, for enabling the device 5100 to send data to and receive data from other nodes of a network 110 (e.g., an Internet Protocol (IP) network) to which the network interface 5148 is (directly or indirectly) connected (e.g., the network interface 5148 may be wirelessly connected to the network 110, in which case the network interface 5148 is connected to an antenna arrangement); and a local storage unit (also referred to as a "data storage system") 5108, which may include one or more non-volatile storage devices and / or one or more volatile storage devices. In embodiments where the PC 5102 includes a programmable processor, a computer program product (CPP) 5141 may be provided. The CPP 5141 includes a computer readable medium (CRM) 5142 storing a computer program (CP) 5143 including computer readable instructions (CRI) 5144. The CRM 5142 may be a non-transitory computer readable medium, such as a magnetic medium (e.g., a hard disk), an optical medium, a memory device (e.g., a random access memory, a flash memory), etc. In some embodiments, the CRI 5144 of the computer program 5143 is configured such that when executed by the PC 5102, the CRI causes the device 5100 to perform the steps described herein (e.g., the steps described herein with reference to the flowcharts). In other embodiments, the device 5100 may be configured to perform the steps described herein without the need for code. That is, for example, the PC 5102 may consist solely of one or more ASICs. Thus, the features of the embodiments described herein may be implemented in hardware and / or software.

Claims

1. A method (5000) for decomposing one or more virtual network functions (VNF) chains, wherein: The one or more VNF chains include a first VNF ​​and a second VNF, and the method includes: Identify (s5002) a first decomposition subcomponent DSC set included in the first VNF, wherein the first DSC set includes a first DSC and a second DSC; identifying (s5004) a second DSC set included in the second VNF, wherein the second DSC set includes a third DSC; obtaining (s5006) a first forward weight value for a first forward path from the first DSC to the third DSC; obtaining (s5008) a second forward weight value for a second forward path from the second DSC to the third DSC; Based on the first forward weight value and the second forward weight value, performing (s5010) a first comparison; selecting (s5012) a first forward path using a result of the first comparison based on the first forward weight value and the second forward weight value; and Based on the selection of the first forward path, configure (s5014) the connection between the first VNF ​​and the second VNF.

2. The method according to claim 1, further comprising: generating a decision graph indicating a plurality of paths between the first DSC set and the second DSC set, wherein: The decision graph indicates selection of the first forward path.

3. The method according to claim 2, wherein: The decision diagram is a tree diagram.

4. The method according to any one of claims 1 to 3, wherein: Performing the first comparison includes determining which of the first forward weight value and the second forward weight value is greater.

5. The method according to any one of claims 1 to 4, wherein: The first DSC set further includes a fourth DSC, The second DSC set also includes a fifth DSC, and The method further comprises: obtaining a third forward weight value for a third forward path from the second DSC to the fifth DSC; obtaining a fourth forward weight value for a fourth forward path from the fourth DSC to the fifth DSC; performing a second comparison based on the third forward weight value and the fourth forward weight value; using a result of the second comparison, selecting the third forward path; and Further based on the selection of the third forward path, the connection between the first VNF ​​and the second VNF is configured.

6. The method according to any one of claims 2 to 5, wherein: The second VNF includes a specific DSC, The one or more VNF chains also include a third VNF, the third VNF including one or more DSCs, and The method further comprises: selecting a forward path from at least one DSC included in the first VNF ​​to the specific DSC included in the second VNF; not selecting any forward path from the specific DSC included in the second VNF to any DSC included in the third VNF; and Based on not selecting any forward path from the specific DSC included in the second VNF to any DSC included in the third VNF, determining to exclude the specific DSC from the decision graph.

7. The method according to claim 6, further comprising: selecting a backward path from at least one DSC included in the third VNF to the specific DSC included in the second VNF; as well as No backward path from the specific DSC included in the second VNF to any DSC included in the first VNF ​​is selected, wherein, Determining to exclude the particular DSC from the decision graph is further based on not selecting any backward path from the particular DSC included in the second VNF to any DSC included in the first VNF.

8. The method according to any one of claims 1 to 4, further comprising: obtaining a first backward weight value for a first backward path from the third DSC to the first DSC; Obtaining a second backward weight value for a second backward path from a DSC included in the second VNF to the first DSC; performing a comparison based on the first backward weight value and the second backward weight value; selecting the first backward path using a result of the comparison based on the first backward weight value and the second backward weight value; as well as Based on the selection of the first backward path, a connection between the first VNF ​​and the second VNF is configured.

9. The method according to any one of claims 1 to 8, wherein: The one or more VNF chains include a first VNF ​​chain and a second VNF chain, The first VNF ​​chain includes the first VNF, the second VNF, a source node, and a first destination node, and The second VNF chain includes the first VNF, a third VNF, the source node, and a second destination node.

10. The method according to claim 9, comprising: Obtaining first connection information about a first set of connections between the first VNF ​​and the second VNF in the first VNF ​​chain; Obtaining second connection information about a second set of connections between the first VNF ​​and the third VNF in the second VNF chain; as well as Based on the obtained first connection information and second connection information, one or more connections are created between the second VNF and the third VNF.

11. The method according to claim 10, comprising: Identify a DSC included in the first VNF; identifying a DSC included in the third VNF, wherein, in the second chain, the DSC included in the first VNF ​​is connected to the DSC included in the third VNF; identifying a DSC included in the second VNF, wherein, in the first chain, the DSC included in the second VNF is connected to the DSC included in the first VNF; and Based on the obtained first connection information and second connection information, a connection is created between the one DSC included in the second VNF and the one DSC included in the third VNF.

12. The method according to any one of claims 1 to 8, wherein: The one or more VNF chains include a first VNF ​​chain and a second VNF chain, The first VNF ​​chain includes a first source node, the first VNF, the second VNF, and a destination node, and The second VNF chain includes a second source node, a third VNF, the second VNF, and the destination node.

13. The method according to claim 12, comprising: Obtaining first connection information about a first set of connections between the first VNF ​​and the second VNF in the first VNF ​​chain; Obtaining second connection information about a second set of connections between the third VNF and the second VNF in the second VNF chain; as well as Based on the obtained first connection information and second connection information, one or more connections are created between the first VNF ​​and the third VNF.

14. The method according to claim 13, comprising: Identify a DSC included in the first VNF; identifying a DSC included in the second VNF, wherein, in the first chain, the one DSC included in the first VNF ​​is connected to the one DSC included in the second VNF; identifying a DSC included in the third VNF, wherein, in the second chain, the DSC included in the third VNF is connected to the DSC included in the second VNF; and Based on the obtained first connection information and second connection information, a connection is created between the one DSC included in the second VNF and the one DSC included in the third VNF.

15. The method according to any one of claims 1 to 8, wherein: The one or more VNF chains include a first VNF ​​chain and a second VNF chain, The first VNF ​​chain includes a source node, the first VNF, the second VNF, and a destination node, and The second VNF chain includes the source node, the first VNF, the second VNF, a third VNF, and the destination node.

16. The method according to claim 15, comprising: Obtaining first connection information about a first set of connections between the first VNF ​​and the second VNF in the first VNF ​​chain; Obtaining second connection information about a second set of connections between the first VNF ​​and the third VNF in the second VNF chain; as well as Based on the obtained first connection information and second connection information, one or more connections between the first VNF ​​and the third VNF are selected from the second group of connections in the second VNF chain.

17. The method according to claim 16, comprising: obtaining third connection information about a third set of connections between the third VNF in the second VNF chain and the second VNF, Based on the obtained first connection information and third connection information, select one or more connections between the second VNF and the third VNF from the third group of connections in the second VNF chain.

18. The method according to any one of claims 1 to 8, wherein: The one or more VNF chains include a first VNF ​​chain, a second VNF chain, and a third VNF chain, The first VNF ​​chain includes a source node, the first VNF, the second VNF, a third VNF, a fourth VNF, and a destination node, The second VNF chain includes the source node, the first VNF, the second VNF, the fourth VNF, and the destination node, and The third VNF chain includes the source node, the first VNF, the third VNF, the fourth VNF, and the destination node.

19. The method according to claim 18, further comprising: Obtaining first connection information about a first set of connections between the first VNF ​​and the second VNF in the first VNF ​​chain; Obtaining second connection information about a second set of connections between the first VNF ​​and the third VNF in the second VNF chain; as well as Based on the obtained second connection information, select one or more connections between the first VNF ​​and the second VNF from the first group of connections in the first VNF ​​chain.

20. The method according to claim 19, further comprising: Obtain third connection information about a third set of connections between the second VNF and the third VNF in the first VNF ​​chain; as well as Based on the obtained second connection information, one or more connections between the second VNF and the third VNF are selected from the third group of connections in the first VNF ​​chain.

21. The method according to claim 20, further comprising: Obtain fourth connection information about a fourth set of connections between the second VNF and the fourth VNF in the third VNF chain; as well as Based on the fourth connection information obtained, one or more connections between the second VNF and the third VNF are selected from the third group of connections in the first VNF ​​chain.

22. The method according to claim 21, further comprising: Obtain fifth connection information about a fifth set of connections between the third VNF and the fourth VNF in the first VNF ​​chain; as well as Based on the fourth connection information obtained, one or more connections between the third VNF and the fourth VNF are selected from the fifth group of connections in the first VNF ​​chain.

23. A computer program (5143) comprising instructions (5144) which, when executed by a processing circuit (5102), cause the processing circuit to perform the method according to any one of claims 1 to 22.

24. A carrier comprising a computer program according to claim 26, wherein: The carrier is one of an electronic signal, an optical signal, a radio signal and a computer-readable storage medium.

25. An apparatus (5100) for decomposing one or more virtual network function (VNF) chains, wherein: The one or more VNF chains include a first VNF ​​and a second VNF, and the apparatus is configured to: Identify (s5002) a first decomposition subcomponent DSC set included in the first VNF, wherein the first DSC set includes a first DSC and a second DSC; identifying (s5004) a second DSC set included in the second VNF, wherein the second DSC set includes a third DSC; obtaining (s5006) a first forward weight value for a first forward path from the first DSC to the third DSC; obtaining (s5008) a second forward weight value for a second forward path from the second DSC to the third DSC; Based on the first forward weight value and the second forward weight value, performing (s5010) a first comparison; selecting (s5012) a first forward path using a result of the first comparison based on the first forward weight value and the second forward weight value; and Based on the selection of the first forward path, configure (s5014) the connection between the first VNF ​​and the second VNF.

26. The device according to claim 25, wherein The apparatus is further configured to perform the method according to any one of claims 2 to 22.

27. An apparatus (5100), comprising: Processing circuit (5102); as well as A memory (5141) comprising instructions executable by the processing circuit, whereby the apparatus is operable to perform a method according to any one of claims 1 to 22.