WO2023062418A1 - Ranking decomposition options of virtual network function - Google Patents

Ranking decomposition options of virtual network function Download PDF

Info

Publication number
WO2023062418A1
WO2023062418A1 PCT/IB2021/059480 IB2021059480W WO2023062418A1 WO 2023062418 A1 WO2023062418 A1 WO 2023062418A1 IB 2021059480 W IB2021059480 W IB 2021059480W WO 2023062418 A1 WO2023062418 A1 WO 2023062418A1
Authority
WO
WIPO (PCT)
Prior art keywords
decomposition
options
vnf
option
vnfs
Prior art date
Application number
PCT/IB2021/059480
Other languages
French (fr)
Inventor
Amin EBRAHIMZADEH
Nattakorn PROMWONGSA
Róbert SZABÓ
Ákos RECSE
Carla MOURADIAN
Wubin LI
Negar AFRASIABI
Roch Glitho
Original Assignee
Telefonaktiebolaget Lm Ericsson (Publ)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Telefonaktiebolaget Lm Ericsson (Publ) filed Critical Telefonaktiebolaget Lm Ericsson (Publ)
Priority to PCT/IB2021/059480 priority Critical patent/WO2023062418A1/en
Publication of WO2023062418A1 publication Critical patent/WO2023062418A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5041Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
    • H04L41/5054Automatic deployment of services triggered by the service manager, e.g. service implementation by automatic configuration of network components
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/145Network analysis or design involving simulating, designing, planning or modelling of a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/40Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • H04L41/122Discovery or management of network topologies of virtualised topologies, e.g. software-defined networks [SDN] or network function virtualisation [NFV]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • H04L41/5009Determining service level performance parameters or violations of service level contracts, e.g. violations of agreed response time or mean time between failures [MTBF]

Definitions

  • the present disclosure relates generally to methods for ranking topological decomposition options of a virtual network function (VNF) or combinations of topological decomposition options of VNFs to form a VNF forward graph (VNF-FG) for a network service in a communication network, and related methods and apparatuses.
  • VNF virtual network function
  • VNF-FG VNF forward graph
  • a network service (NS) request generally contains a set of VNFs with some dependencies and service level agreement (SLA) requirements.
  • SLA service level agreement
  • the service provider (SP) forms these VNFs as a VNF-FG and then embeds the VNF-FG onto the substrate network with respect to the dependencies between VNFs as well as the given SLA requirements.
  • FIG. 1 is a block diagram of an example of decomposition options for an intrusion detection system (IDS).
  • IDS intrusion detection system
  • An original IDS ( Figure 1A) can be realized via either a first decomposition option that has a single IDS function ( Figure IB) or a second decomposition option that has a combination of IDS subfunctions, e.g., controller, deep packet inspection (DP), firewall (FW), and network element (NE) functions, as illustrated in Figure 1.
  • IDS intrusion detection system
  • Figure 1A An original IDS
  • Figure IB can be realized via either a first decomposition option that has a single IDS function ( Figure IB) or a second decomposition option that has a combination of IDS subfunctions, e.g., controller, deep packet inspection (DP), firewall (FW), and network element (NE) functions, as illustrated in Figure 1.
  • DP deep packet inspection
  • FW firewall
  • NE network element
  • topological decomposition problem lack consideration of topological decomposition of VNFs to provide flexibility in selecting an appropriate decomposition option of each VNF from a list of its decomposition options to optimize/improve a SP's objectives and a NS performance.
  • Various embodiments of the present disclosure include a method providing topological decomposition of service components.
  • the method includes evaluating decomposition options according to a score.
  • the method includes ranking of decomposition options by the scores.
  • Certain embodiments may provide one or more of the following technical advantages. Certain embodiments may provide a solution to the topological decomposition problem, and also may provide scalability, efficiency, and/or robustness/reliability.
  • a method is provided performed by a network node for ranking topological decomposition options of a VNF, or combinations of topological decomposition options of VNFs to form a VNF-FG for a NS in a communication network.
  • the method comprises evaluating the topological decomposition comprising a plurality of decomposition options.
  • the evaluation is based on a plurality of scores for the plurality of decomposition options where each score corresponds to a defined decomposition option for the VNF or combinations of decomposition options for the VNFs for the NS.
  • the method further comprises ranking the plurality of decomposition options based on respective scores of the defined decomposition options for the VNF or the combinations of the decomposition options for the VNFs, wherein the ranking identifies a set of decomposition options for VNFs that have the highest scores.
  • a network node for ranking topological decomposition options of a virtual network function, VNF, or combinations of topological decomposition options of VNFs to form a VNF-FG for a NS in a communication network.
  • the network node includes at least one processor; and at least one memory connected to the at least one processor and storing program code that is executed by the at least one processor to perform operations.
  • the operations include to evaluate the topological decomposition comprising a plurality of decomposition options. The evaluation is based on a plurality of scores for the plurality of decomposition options where each score corresponds to a defined decomposition option for the VNF or combinations of decomposition options for the VNFs for the NS.
  • the operations further include to rank the plurality of decomposition options based on respective scores of the defined decomposition options for the VNF or the combinations of the decomposition options for the VNFs, wherein the ranking identifies a set of decomposition options for VNFs that have the highest scores.
  • a network node for ranking topological decomposition options of a virtual network function, VNF, or combinations of topological decomposition options of VNFs to form a VNF-FG for a NS in a communication network is adapted to perform operations.
  • the operations include to evaluate the topological decomposition comprising a plurality of decomposition options.
  • the evaluation is based on a plurality of scores for the plurality of decomposition options where each score corresponds to a defined decomposition option for the VNF or combinations of decomposition options for the VNFs for the NS.
  • the operations further include to rank the plurality of decomposition options based on respective scores of the defined decomposition options for the VNF or the combinations of the decomposition options for the VNFs, wherein the ranking identifies a set of decomposition options for VNFs that have the highest scores.
  • a computer program comprising program code to be executed by processing circuitry of a network node, whereby execution of the program code causes the network node to perform operations.
  • the operations include to evaluate a topological decomposition comprising a plurality of decomposition options. The evaluation is based on a plurality of scores for the plurality of decomposition options where each score corresponds to a defined decomposition option for a VNF or combinations of decomposition options for VNFs for a NS.
  • the operations further include to rank the plurality of decomposition options based on respective scores of the defined decomposition options for the VNF or the combinations of the decomposition options for the VNFs, wherein the ranking identifies a set of decomposition options for VNFs that have the highest scores.
  • a computer program product comprising a non- transitory storage medium including program code to be executed by processing circuitry of a network node, whereby execution of the program code causes the network node to perform operations.
  • the operations include to evaluate a topological decomposition comprising a plurality of decomposition options. The evaluation is based on a plurality of scores for the plurality of decomposition options where each score corresponds to a defined decomposition option for a VNF or combinations of decomposition options for VNFs for a NS.
  • the operations further include to rank the plurality of decomposition options based on respective scores of the defined decomposition options for the VNF or the combinations of the decomposition options for the VNFs, wherein the ranking identifies a set of decomposition options for VNFs that have the highest scores.
  • FIG 1 is a block diagram of an example of decomposition options for an intrusion detection system (IDS);
  • IDS intrusion detection system
  • Figures 2A-2C are schematics illustrating topological decomposition of VNFs for a NS
  • Figure 3 is a block diagram illustrating components of a system architecture in accordance with some embodiments of the present disclosure
  • Figure 4 is a schematic illustrating an auxiliary graph for calculating a reusability score of decomposition options of VNFs for a NS in accordance with some embodiments of the present disclosure
  • Figure 5 is a flowchart illustrating operations of a method performed by a network node in accordance with some embodiments of the present disclosure
  • Figure 6 is a flowchart illustrating operations of a method performed by a network node in executing a subfunction exploration module according to some embodiments of the present disclosure
  • Figures 7A and 7B are schematics illustrating topological decompositions of NS in accordance with some embodiments of the present disclosure
  • Figures 8A-8I are schematics illustrating use of a method performed by a network node to find potential VNF-FGs for a NS in an example embodiment of the present disclosure
  • Figure 9 is schematic illustrating topological decompositions of VNFs for a NS where some subfunctions in decomposition options can also be further decomposed in accordance with some embodiments of the present disclosure
  • Figures 10A-10H are schematics illustrating use of a method performed by a network node to find potential VNF-FGs for a NS in an example embodiment of the present;
  • Figure 11 is a block diagram illustrating elements of a network node according to embodiments of the present disclosure.
  • Figures 12 -17 are flow charts illustrating operations of a network node according to some embodiments of the present disclosure.
  • Components from one embodiment may be tacitly assumed to be present/used in another embodiment.
  • decomposition options can highly influence a SP's objectives (e.g., embedding costs, user experiences, etc.) as well as the NS performance
  • topological decomposition includes, without limitation, a VNF-FG, a tree graph, a hierarchy of information, etc.
  • VNF-FG composition and embedding are two main sub-problems for NS deployment in NFV ecosystems. See e.g., J. G. Herrera and J. F. Botero, "Resource Allocation in NFV: A Comprehensive Survey,” IEEE Transactions on Network Service and Management, vol. 13, no. 3, pp. 518-532, Sep. 2016. It is noted there may be a subtle difference between the terms “composition” and “decomposition”. While the term “composition” may be used more often in literature, the term “decomposition” is used herein as it reflects the re-composition aspect as well.
  • VNF-FG composition Given a NS request provided by an NS user, VNF-FG composition generally aims at composing a suitable VNF-FG for a NS while the VNF-FG embedding focuses on embedding the composed VNF-FG obtained from the VNF-FG composition onto substrate networks. Since these two sub-problems can highly influence NS performance as well as a SP's objectives, they have been studied in some references. In addition, some references discuss an aim to jointly tackle these two sub-problems due to their mutual dependency. See e.g., L. Wang, Z. Lu, X. Wen, R. Knopp, and R. Gupta, "Joint Optimization of Service Function Chaining and Resource Allocation in Network Function Virtualization," IEEE Access, vol. 4, pp. 8084-8094, 2016.
  • Li discusses a two-stage approach to jointly address VNF-FG composition and embedding.
  • the orders of VNFs are determined to compose a suitable VNF-FG, based on locations and capabilities of physical nodes as well as the relation of the outgoing and incoming data rate of each VNF required in an NS.
  • the composed VNF-FG is embedded such that node resource capacity constraints are satisfied.
  • Each VNF can be also split into multiple instances if any assigned node does not have sufficient capacity.
  • D. Li assumes that a VNF can be decomposed into multiple sub-functions to enable reusing and sharing of the subfunctions among different NSs.
  • D. Li then discusses a VNF embedding algorithm that takes sub-function reusability into account to minimize total costs.
  • D. Li still considers that each VNF has only one decomposition option.
  • Nazarzadeoghaz discusses an architecture for autonomously designing a VNF-FG of a NS, based on a high-level NS description provided by a tenant. While Nazarzadeoghaz assumes that a VNF can have one or more deployment options, Nazarzadeoghaz lacks a strategy to find a suitable deployment option for each VNF to generate a VNF-FG for a NS.
  • Various embodiments of the present disclosure include a method providing topological decomposition of service components.
  • the method includes building and evaluating decomposition options from a virtual source anchor (also referred to as "source node”) to virtual destination anchor or anchors (also referred to as "destination node” or “destination nodes”) according to a configurable scoring metric.
  • the method includes ranking of top-n decomposition option(s).
  • the method aligns the decomposition with the workload assignment, which may maximize a likelihood of successful allocation of a recommended decomposition option via aligned scoring metric.
  • the method includes a greedy heuristic algorithm, which may scale better than brute force enumeration, to pre-evaluate and select candidate decomposition options.
  • Certain embodiments may provide one or more of the following technical advantages. Certain embodiments may provide a solution to the topological decomposition problem, and also may provide scalability, efficiency, and/or robustness/reliability.
  • some embodiments of the method of the present disclosure are executed in the context of adjoining (neighboring) network functions, thus allowing access to which options were on- boarded, instantiated, are supported, and/or to consider real service and instantiation costs.
  • the method of the present disclosure can provide a SP with a ranked list of N most preferred options for VNF- FG to realize a given NS.
  • FIGS 2A-2C are schematics illustrating topological decomposition of VNFs for a NS, NS1.
  • NS1 needs an ordered set of VNFs, including A, B, and C, and has one source and two destinations, as illustrated in Figure 2A.
  • the source and destinations are represented as a virtual source and virtual destinations, respectively, to indicate how the source and destinations are connected to the VNFs in a NS request for NS1.
  • an SP To deploy NS1, an SP generally selects each source and destination pair and then attempts to embed VNFs in a chain from the source and destination with respect to the requirements. For example, in Figure 2A, the source and destination 1 are selected. Thus, the SP needs to embed VNFs A, B, and C onto the substrate network and make sure that traffic of NS1 is transmitted from the source and the destination 1 and processed by these VNFs, while satisfying the given requirements before considering another source and destination pair for the embedding.
  • each VNF can have one or multiple decomposition options, and each option can comprise one or multiple subfunctions as illustrated in Figure 2A.
  • VNF A has three decomposition options.
  • Option 1 of VNF A (o ⁇ includes two subfunctions (i.e., Al and A2), where Oj ; - is defined to indicate the decomposition option j of VNF i.
  • Figure 2B shows a tree graph illustrating all connections of decomposition options between the VNFs for NS1 for when the source and destination 1 are selected. It is noted that decomposition options of the same VNF or different VNFs may have the same type of subfunctions. For example, o A 1 , o A 2 and o B 3 have one subfunction which is the same type (i.e., Al). Some decomposition options of a given VNF also may not be able to connect to some decomposition options of its predecessor and successor VNFs due to some compatibility issues.
  • o A 1 of VNF A cannot connect to o B 3 and o B 4 because technologies used in o A 1 are not compatible with those in o B 3 and o B 4 .
  • some specific decomposition options of a given VNF may allow skipping some of its successor VNFs. For example, as shown in Figure 2B, if either o B 3 or o B 4 of VNF B is selected, VNF C is not needed. The reason for this is that subfunctions in o B 3 and o B 4 may be able to perform all functionalities of VNF C.
  • some subfunctions may further have multiple decomposition options. For example, subfunction C3 in o c 2 has two decomposition options, o C3 4 and o C3 2 .
  • FIG. 2C demonstrates one possible VNF-FG of NS1 when the source and destination 1 are selected.
  • Some approaches may try select a decomposition option by using a bruteforce approach that investigates all possible combinations of decomposition options of all VNFs required by a NS to find all possible VNF-FGs, and then attempt to embed these VNF- FGs onto the substrate network to find the best VNF-FG. While such an approach may provide good/optimal results, the approach requires a huge amount of computation, which thereby also leads to a high service deployment time. As a consequence, such an approach is not suitable for practical scenarios, e.g., in a case of a high number of VNFs and decomposition options.
  • Figure 3 is a block diagram illustrating components of a system architecture in accordance with some embodiments of the present disclosure.
  • Figure 3 includes decomposition engine 313 and workload placement (also referred to as “workload assignment”) 315 as part of Service and Resource Orchestration (SRO) 317 workflow.
  • workload placement also referred to as “workload assignment”
  • SRO Service and Resource Orchestration
  • the decomposition engine 313 evaluates and recommends substitution for components.
  • a substitution may happen (i) within a given layer, e.g., service component to service topology, function to a topology of function, deployment artifact to a collection of deployment artifacts, and to external objects like files in a repository, or (ii) mapping from one layer to another, e.g., from a service to a network of functions, from a function to a set of deployment artifacts, etc.
  • a given layer e.g., service component to service topology, function to a topology of function, deployment artifact to a collection of deployment artifacts, and to external objects like files in a repository, or (ii) mapping from one layer to another, e.g., from a service to a network of functions, from a function to a set of deployment artifacts, etc.
  • decomposition engine 313 and workload placement 315 can work within a layer, within two layers, across multiple layers, or across all the layers. In cases when one system does not cover all the layers, multiple instances can exist in order to consequently resolve the input until deployment is possible.
  • the bottom-most layer is a virtualization infrastructure manager 319, e.g., Open Stack or Kubernetes.
  • the method of some embodiments includes a decomposition process (e.g., an algorithm executed by a processor(s)) to pre-evaluate combinations of decomposition options of all VNFs required by a given NS to eliminate unnecessary VNF-FGs and find the potential candidate VNF-FGs before they are embedded onto the substrate network.
  • a decomposition process e.g., an algorithm executed by a processor(s)
  • the preevaluation is carried out by calculating a decomposition score.
  • the decomposition score is obtained based on substrate network information (e.g., supported VNFs, reusability of already deployed VNF instances, node and link capabilities), as well as the constituent subfunctions of the decomposition option.
  • the decomposition process also introduces a ranking strategy to find the potential candidate VNF-FGs without exploring all possible VNF-FGs.
  • the method includes a decomposition process that includes (i) a decomposition score calculation, and (ii) a ranking strategy.
  • a decomposition score (S d ) is used to pre-evaluate combinations of decomposition options of VNFs to form a partial or a full hierarchical structure (e.g., VNF- FG tree) for a given NS, given that each VNF required by the NS can have one or multiple decompositions.
  • the score can be calculated in multiple ways, e.g., depending on an SP's objective (e.g., embedding costs, user experiences).
  • an objective is to optimize overall embedding costs.
  • S d can include three main components: (i) reusability score (S r ), (ii) subfunctions overlapping score (S o ), and (iii) resource usage score (S ru ). These scores are defined to help determine potential combinations of decomposition options of VNFs for a given NS that are expected to provide low embedding costs while meeting the latency requirements once they are embedded into the substrate network.
  • a reusability score can be defined to evaluate possibilities that already deployed instances in physical nodes can potentially be reused to serve subfunctions of a decomposition option of a single VNF or a combination of decomposition options of multiple VNFs.
  • S r a reusability score
  • an auxiliary graph is created as illustrated in Figure 4. The left side of the graph (labelled "subfunctions") includes subfunctions of decomposition options under consideration.
  • the example embodiment of Figure 4 demonstrates how to calculate the reusability score of a combination of o A 1 , o B 2 and o c i for NS1 (S° A1 ⁇ ° B ' 2 ⁇ Oc i ), so that all subfunctions of o A 1 , o B 2 and o c i are listed on the left side of the graph.
  • the right side of the graph (labelled "physical nodes") is a list of physical nodes that can potentially host the subfunctions on the left side of the graph.
  • the potential physical nodes can be all physical nodes along all possible paths between source and destination that satisfy the latency requirements. Then, for each subfunction on the left side of Figure 4, a search is performed for already deployed instances in each physical node on the right side of Figure 4 whose type is the same as that of the subfunction. If one of the instances in the physical node has enough capacity to serve the subfunction and meets the specific requirements of the subfunction (e.g., location requirements), a link is drawn connecting between the subfunction and the physical node. For example, in the example embodiment shown in Figure 4, there are already deployed instances in physical nodes 1 and 2 that can be reused for subfunction Al, so there are links between subfunction Al and physical nodes 1 and 2. The same process applies to all subfunctions.
  • the reusability score is equal to the number of links connecting between the subfunctions and physical nodes.
  • S ⁇ ' 1 ⁇ 0 ®' 2 ⁇ 06,1 j s equal to 5.
  • the latency requirements between two subfunctions can also be taken into account if they exist. For example, when there is a latency requirement between subfunctions A2 and Bl in Figure 4, a transmission latency between two physical nodes to which the subfunctions A2 and Bl are connected in the graph can be checked. If it satisfies the latency requirement, one additional point is added to the reusability score.
  • a subfunctions overlapping score (S o ) is defined to evaluate possibilities that subfunctions of decomposition options of different VNFs can share the same instance, given that the decomposition options of the different VNFs may have the same type of subfunctions.
  • This score can be computed by the number of subfunctions that overlap between decomposition options of different VNFs. For example, referring to Figure 2A, if o A 2 , o B 3 and o c i are selected to form a VNF-FG for NS1. In this case, 5° ⁇ 2 ⁇ OB ' 3 ⁇ ° C 1 ; S equal to 1, as there is one overlapping subfunction between o A 2 and o B 3 which is subfunction Al.
  • a resource usage score (S ru ) is defined to evaluate how many resources (e.g., CPUs, memories, storages) are needed to instantiate new instances for subfunctions of a decomposition option of a single VNF or a combination of decomposition options of multiple VNFs if already deployed instances cannot be reused
  • S d W r S r + W 0 S 0 + W ru S ru for those subfunctions.
  • This score can be computed by a negative value of the sum of resources required for instantiating new instances for all subfunctions except the subfunctions for which already deployed instances in the network can be reused.
  • Calculating decomposition scores of all possible VNF-FGs to find the best VNF-FG may not be an efficient approach, as this might not be scalable in case of a large number of VNFs in a NS request and a large number of decomposition options per a VNF.
  • the method of the present disclosure includes a ranking strategy to find potential candidate VNF-FGs without exploring all possible VNF-FGs. As a consequence, scalability may be achieved.
  • FIG. 5 is a flowchart illustrating operations of a method performed by a network node in accordance with some embodiments of the present disclosure.
  • the method includes initializing 503 a tree graph, including setting the source of the service chain as a root node in the tree graph.
  • the method evaluates each decomposition option of each VNF in the service chain, starting from the first VNF.
  • the method includes first checking 509 whether subfunctions in the decomposition option can be further decomposed. If yes, the method includes calling 523 a subfunction exploration module to further explore decomposition options of the subfunctions. The subfunction exploration module is discussed further herein. If the subfunctions in the decomposition option cannot be further decomposed, the method includes exploring 511 all possible connections between the decomposition option and the decomposition options of the previous VNF that have been already evaluated in the tree graph and connects them together. It is noted that if the given VNF is the first VNF in the service chain, the method connects the decomposition option of the given VNF to the source.
  • the method includes calculating 513 decomposition scores of all paths from the source to the decomposition option.
  • the method includes eliminating all paths except the path that has the highest decomposition score. A reason for this includes that these eliminated paths may never lead to high-quality VNF-FGs in the end and, thus, can be eliminated. Elimination also may prevent exploring unnecessary VNF-FGs, thereby reducing (e.g., significantly reducing) computation burdens.
  • operations of the method move 515 to the next decomposition option of the given VNF.
  • the same operations 503-513 are applied until all the decomposition options of the given VNF are evaluated.
  • the method includes checking whether the decomposition options of the previous VNF in the service chain allow skipping a given VNF. If yes, operation 519 creates a dummy decomposition option of the given VNF and connects it to all the decomposition options of the previous VNF that allow skipping the given VNF. It is noted that skipping a VNF can happen in some circumstances, where, for example, some subfunctions of a previous VNF are able to perform the functionalities of the given VNF.
  • the decomposition scores are calculated for all paths from the source to the dummy decomposition option of the given VNF. In some embodiments, operation 521 includes keeping a single path that has the highest decomposition score.
  • the method moves to the next VNF.
  • the same operations 505-517 process are repeated for the next VNF until all VNFs in the service chain are explored.
  • the destination is connected to all the decomposition options of the last VNF.
  • Each path from the source to destination in the tree graph represents a possible candidate VNF-FGs for a given NS, where nodes along the path indicate selected decomposition options of all VNFs required by the NS.
  • the method of Figure 5 ends 529.
  • subfunctions in the decomposition option of a given VNF can be further decomposed into multiple decomposition options.
  • FIG. 6 is a flowchart illustrating operations of a network node in executing a subfunction exploration module according to some embodiments of the present disclosure.
  • the method includes starting 601 by exploring each decomposition option of each subfunction in the inputted decomposition option.
  • the method starts with the first subfunction.
  • the method includes checking 605 whether the subfunction can be decomposed into multiple decomposition options. If no, the method includes creating 607 a default decomposition option that contains only the subfunction before it selects 609 each decomposition option of the subfunction to be evaluated. For example, subfunction C2 in o c 2 in Figure 2A cannot be further decomposed, so it creates a default decomposition that contains only subfunction C2.
  • the method includes first checking 611 whether subfunctions in the decomposition option can be further decomposed into multiple decomposition options. If yes, the method includes invoking 617 the subfunction exploration module to further explore decomposition options of the subfunctions. For example, it is possible that subfunction C31 in o C3 t in Figure 2A may be further decomposed. Thus, the subfunction exploration module needs to invoke 617 itself to explore decomposition options of subfunction C31.
  • the method includes evaluating 613 this decomposition option. To do this, the method includes first exploring 613 all possible connections between the decomposition option and the decomposition options of the previous subfunction/VNF that have been already evaluated in the tree graph and connects them together. The method then includes calculating 615 decomposition scores of all paths from the source to the decomposition option and eliminates all paths except the path that has the highest decomposition score. [0074] Still referring to Figure 6, the method further includes moving 619 to the next decomposition option and repeats the same operations 603-615 until all the decomposition options of the subfunction are evaluated. The method further includes next moving 621 to the next subfunction in the inputted decomposition option. The same operations 603-619 are applied for the next subfunction. The subfunction exploration function stops 623 when all the subfunctions in the inputted decomposition option are explored.
  • Figures 7A and 7B are schematics illustrating topological decomposition of VNFs for NS1 in accordance with some embodiments of the present disclosure. In the example embodiment, it is assumed that subfunctions in any decomposition options cannot be further decomposed. Additionally, decomposition options of VNFs in a service chain from the source to destination 1 are explored. Figure 7B illustrates all possible connections of the decomposition options of the VNFs in the chain.
  • Figures 8A-8F are schematics illustrating use of the method to find potential candidate VNF-FGs for NS1 in an example embodiment of the present disclosure.
  • the method starts by initializing a tree graph by setting the source as a root node, as illustrated in Figure 8A.
  • the method then includes exploring decomposition options of the first VNF (i.e., VNF A), as illustrated in Figure 8A.
  • the first decomposition option (i.e., o A ) of VNF A is evaluated by exploring all possible connections between o A 1 and the source and connects them together.
  • the method next includes calculating decomposition scores of all paths from the source to o A 1 .
  • the method includes exploring decomposition options of the next VNF (i.e., VNF B). All possible connections between o B 1 and the decomposition options of the previous VNF (i.e., VNF A) are explored and are connected together. Decomposition scores of all paths from the source to o B 1 in Figure 8C are calculated. In this example embodiment, the scores are 3, 2, and 1, respectively.
  • a single best path from o A 1 to o B 1 that has the score of 3 is kept based on the decomposition scores.
  • the paths from o A 2 and o A 3 , respectively, to o B 1 that have lower decomposition scores (of 2 and 1, respectively) are eliminated, as they would not lead to high-quality VNF-FGs. Therefore, they are not worth being further investigated. This may significantly reduce the computational burdens for exploring unnecessary VNF-FGs.
  • the method moves to the last VNF (i.e., VNF C).
  • VNF C the last VNF
  • o CA and o c 2 the same process is applied to o CA and o c 2 for the decomposition option evaluation.
  • the operations of the method identifies that some decomposition options (i.e., o B 3 , and o B 4 ) of the previous VNF (i.e., VNF B) allow skipping to VNF C, therefore, the method further includes creating a dummy decomposition option of VNF C and connects it to o B 3 , and o B 4 as shown in Figure 8G. This allows further exploration of paths passing through o B 3 and o B 4 of VNF B in the tree graph although o B 3 and o B 4 cannot connect to any decomposition option of VNF C.
  • the dummy decomposition option "D" of VNF C comprises the same subfunctions in o B 3 and o B 4 of VNF B, respectively, that can perform functionalities of VNF C.
  • the dummy option contains subfunction B7 in order to compute the decomposition score of the path from source to the dummy option D passing through o B 4 .
  • the r - - _ . - scores for are 6 and 3, respectively.
  • Figure 8H illustrates the best paths from the source to all the decomposition options of VNF C.
  • the method next connects all the decomposition options of VNF C to the destination as shown in Figure 81 to complete the tree graph.
  • There are three potential paths from the source to the destination which indicate three potential VNF-FGs with the highest, second-highest, and third-highest decomposition scores.
  • the best VNF-FG comprises o A 2 , o B 3 having a score of 4 ;
  • the second-best one comprises o A 1 , o B 1 and o c i having a score of 4;
  • the third-highest one includes o A 1 , o B 1 and o c 2 having a score of 4.
  • one of the VNF-FGs is randomly selected to be embedded into the substrate network first.
  • Figure 9 is a schematic illustrating use of the method to find potential candidate VNF-FGs for NS1 where some subfunctions in decomposition options can also be further decomposed into multiple options in accordance with some embodiments of the present disclosure.
  • any decomposition options of the VNFs can connect to all decomposition options of their predecessor and successor VNFs.
  • the second example embodiment focuses on only evaluating o B 2 , as some subfunction (e.g., subfunction Bl) in o B 2 can also be further decomposed into multiple options and it is assumed that o A 1 , o A 2 and o B 1 already have been evaluated in the tree graph as shown in Figure 10A.
  • the method includes first checking whether subfunctions in o B 2 can be decomposed. Since subfunction Bl in o B 2 can be decomposed into multiple options, the subfunction exploration module ("module") is invoked. The module starts by exploring decomposition options of the first subfunction in o B 2 (i.e., Bl). It first evaluates the first decomposition option of subfunction Bl (i.e., o B1 . Since subfunctions in o B1 1 cannot be further decomposed, it then explores all possible connections between o B1 1 and all the decomposition options of VNF A.
  • module subfunction exploration module
  • the module moves to the next decomposition option of subfunction Bl (i.e., o B1 2 ). Because some subfunctions in o B1 2 can also be further decomposed, the module invokes itself again to explore decomposition options of the subfunctions in o B1 2 . Similarly, the module starts by exploring decomposition options of the first subfunction in o B1 2 (i.e., subfunction B13 in this example). The module first evaluates the first decomposition option of subfunction B13 (i.e., o B13 .
  • the module then explores all possible connections between o B13 1 and all the options of VNF A.
  • the module next computes decomposition scores of all paths to o B13 1 and selects the only best path as shown in Figure 10C.
  • FIG. 10D illustrates the tree graph after o B13 2 is evaluated. Then, the module moves to the next subfunction in o B1 2 (i.e., subfunction B14). Since subfunctions in o B14 1 and o B142 cannot be further decomposed anymore, the module evaluates o B14 1 and o B14 2 of subfunction B14.
  • Figure 10E shows the tree graph after o B14 1 and o B142 are evaluated. Then, the module moves to the last subfunction in o B1 2 (i.e., subfunction B15). Since subfunction B15 cannot be decomposed, it creates a default option, called o B15 1 , which contains only subfunction B15, and evaluates this option as shown in Figure 10F. Next, the subfunction exploration module to explore the decomposition options of the subfunctions in o B1 2 ends.
  • the subfunction exploration module next explores the decomposition options of the subfunctions in o B 2 . Similar to the case of subfunction B15, the module creates a default option, called o B2 1 , which contains only subfunction B2, and evaluates this option as shown in Figure 10G. After that, the subfunction exploration module stops. [0092] The method continues to explore decomposition options of VNF C. In the second example embodiment, it is assumed Figure 10H illustrates the final result of the method in the second example embodiment. Thus, there are two potential VNF-FGs for this service chain.
  • FIG. 11 is a block diagram illustrating elements of a network node 1100 according to embodiments of the present disclosure.
  • a network node refers to equipment capable, configured, arranged, having modules configured to and/or operable to communicate directly or indirectly with a server, data repository, and/or with other network nodes or equipment, in a communication network. Examples of network nodes include, but are not limited to OSS nodes, BSS nodes, and/or cloud-implemented servers or edge-implemented servers.
  • Network node 1100 may be provided, for example, as a cloud-implemented network node (e.g., a server) or located in the cloud or an edge-implemented network node (e.g., a server), a virtual machine in a cloud deployment, or the network node can be distributed over several virtual machines, containers, or function as a service (FaaS) procedures, all of which should be considered interchangeable in the examples and embodiments described herein and be within the intended scope of this disclosure, unless otherwise noted.
  • a cloud-implemented network node e.g., a server
  • an edge-implemented network node e.g., a server
  • a virtual machine in a cloud deployment e.g., a virtual machine in a cloud deployment
  • the network node can be distributed over several virtual machines, containers, or function as a service (FaaS) procedures, all of which should be considered interchangeable in the examples and embodiments described herein and be within the intended scope of this disclosure,
  • the network node may include transceiver circuitry (not illustrated) including a transmitter and a receiver configured to provide uplink and downlink radio communications with mobile terminals.
  • the network node may include network interface circuitry 1107 (also referred to as a network interface) configured to provide communications with other nodes (e.g., with other network nodes, servers, and/or data repositories) of a distributed cloud.
  • the network node may also include processing circuitry 1103 (also referred to as a processor) coupled to the transceiver circuitry, and memory circuitry 1105 (also referred to as memory) coupled to the processing circuitry.
  • the memory circuitry 1105 may include computer readable program code that when executed by the processing circuitry 1103 causes the processing circuitry to perform operations according to embodiments disclosed herein. According to other embodiments, processing circuitry 1103 may be defined to include memory so that a separate memory circuitry is not required.
  • processing circuitry 1103, network interface 1107, and/or transceiver may be performed by processing circuitry 1103, network interface 1107, and/or transceiver.
  • processing circuitry 1103 may control transceiver to transmit downlink communications through transceiver over a radio interface and/or to receive uplink communications through transceiver over a radio interface.
  • processing circuitry 1103 may control network interface 1107 to transmit communications through network interface 1107 to one or more other network nodes and/or to receive communications through network interface from one or more other network nodes, servers, etc.
  • modules may be stored in memory 1105, and these modules may provide instructions so that when instructions of a module are executed by processing circuitry 1103, processing circuitry 1103 performs respective operations (e.g., operations discussed herein with respect to example embodiments relating to network nodes).
  • network node 1100 and/or an element(s)/function(s) thereof may be embodied as a virtual node/nodes and/or a virtual machine/machines.
  • a network node may be implemented as a core network node without a transceiver.
  • transmission to a server, another network node, etc. may be initiated by the network node 1100 so that transmission to the server, network node, etc. is provided through a network node 1100 including a transceiver (e.g., through a base station or radio access network (RAN) node).
  • RAN radio access network
  • initiating transmission may include transmitting through the transceiver.
  • Embodiments of the network node may include additional components beyond those shown in Figure 11 for providing certain aspects of the network node's functionality, including any of the functionality described herein and/or any functionality necessary to support the subject matter described herein.
  • the network node 1100 may include user interface equipment to allow input of information into the network node 1100 and to allow output of information from the network node 1100. This may allow a user to perform diagnostic, maintenance, repair, and other administrative functions for the network node 1100.
  • network node 1100 is illustrated in the example block diagram of Figure 11, the block diagram may represent a device that includes the illustrated combination of hardware components, other embodiments may comprise network nodes with different combinations of components. It is to be understood that a network node comprises any suitable combination of hardware and/or software needed to perform the tasks, features, functions, and methods disclosed herein. Moreover, while the components of a network node are depicted as single boxes located within a larger box, or nested within multiple boxes, in practice, each device may comprise multiple different physical components that make up a single illustrated component (e.g., a memory may comprise multiple separate hard drives as well as multiple RAM modules).
  • network nodes described herein may include the illustrated combination of hardware components
  • communication devices and network nodes may comprise multiple different physical components that make up a single illustrated component, and functionality may be partitioned between separate components.
  • a communication interface may be configured to include any of the components described herein, and/or the functionality of the components may be partitioned between the processing circuitry and the communication interface.
  • non-computationally intensive functions of any of such components may be implemented in software or firmware and computationally intensive functions may be implemented in hardware.
  • processing circuitry executing instructions stored in memory, which in certain embodiments may be a computer program product in the form of a non-transitory computer-readable storage medium.
  • some or all of the functionalities may be provided by the processing circuitry without executing instructions stored on a separate or discrete device-readable storage medium, such as in a hard-wired manner.
  • the processing circuitry can be configured to perform the described functionality. The benefits provided by such functionality are not limited to the processing circuitry alone or to other components of the computing device, but are enjoyed by the network nodes as a whole.
  • a network node e.g., network node 1100
  • the network node may be any of the network node 1100, a virtual machine, a distributed over more than one virtual machine
  • the network node 1100 shall be used to describe the functionality of the operations of the network node.
  • modules may be stored in memory 1105 of Figure 11, and these modules may provide instructions so that when the instructions of a module are executed by respective network node processing circuitry 1103, processing circuitry 1103 performs respective operations of the flow chart.
  • a method is provided that is performed by a network node (e.g., 1100) for ranking topological decomposition options of a virtual network function, VNF, or combinations of topological decomposition options of VNFs to form a VNF-FG for a NS in a communication network.
  • the method includes evaluating (1201) the topological decomposition including a plurality of decomposition options.
  • the evaluation is based on a plurality of scores for the plurality of decomposition options where each score corresponds to a defined decomposition option for the VNF or combinations of decomposition options for VNFs for the NS.
  • the method further includes ranking (1203) the plurality of decomposition options based on respective scores of the defined decomposition options for the VNF or the combinations of the decomposition options for the VNFs, wherein the ranking identifies a set of decomposition options for VNFs that have the highest scores.
  • the score is obtained based on deployment information for the communication network and on an overlap between decomposition options for a plurality of VNFs. [00105] In some embodiments, the score is calculated and is a metric that identifies a degree of fulfillment of an identified objective in the communication network.
  • the calculated score includes three component scores.
  • the three component scores include (i) a first score that identifies whether a deployed instance in a physical node of the communication network can be reused to serve a subfunction of a defined decomposition option for the VNF or of a combination of decomposition options for a plurality of VNFs; (ii) a second score that identifies a number of subfunctions that overlap between defined decomposition options for a plurality of VNFs; and (iii) when there is no deployed instance that can be reused for the subfunction, a third score that represents an amount of resources needed to instantiate a new instance for a subfunction of a defined decomposition option for the VNF or a new instance for a subfunction of a combination of defined decomposition options for the plurality of VNFs.
  • the defined decomposition options for the VNF are in a service chain for an identified pair of a source node and destination node, and the method further includes initializing (1301) a hierarchical structure for the defined decomposition options for an identified VNF in the service chain, wherein the source node is set as a root node in the hierarchical structure.
  • the method further includes evaluating (1303) a first defined decomposition option for the identified VNF in the service chain.
  • the evaluating comprising (i) determining whether a subfunction in the first defined decomposition option can be further decomposed, (ii) if the subfunction can be further decomposed, exploring a decomposition option of the subfunction, and (iii) if the subfunction cannot be further decomposed, exploring connections between the first defined decomposition option and decomposition options of a prior VNF evaluated in the hierarchical structure that are compatible with the first defined decomposition option, and connecting the first defined decomposition option and the defined decomposition options of the prior VNF in a plurality of paths.
  • the score is calculated for each path in the plurality of paths from the source node to the first defined decomposition option in the hierarchical structure.
  • the method further includes from the plurality of paths, selecting (1305) the path for the decomposition option having the highest score. [00110] In some embodiments, the method further includes eliminating (1307) the remaining paths that are not the selected path.
  • the method further includes repeating (1309), the evaluating (1303), the selecting (1305), and the eliminating (1307) for remaining decomposition options for the identified VNF in the service chain, wherein the repeating results in a single best path from the source node to each decomposition option for the identified VNF.
  • the method further includes checking (1401) whether decomposition options of the prior VNF can allow skipping the identified VNF.
  • the method further includes when the decomposition options of the prior VNF can allow skipping the identified VNF, creating (1403) a dummy decomposition option for the identified VNF.
  • the method further includes connecting (1405), in a plurality of paths, the dummy decomposition option to a plurality of the decomposition options of the prior VNF that allowed skipping the identified VNF.
  • the method further includes calculating (1407) a score for each path in the plurality of paths from the source node to the dummy decomposition option for the identified VNF.
  • the method further includes selecting (1409) the path having the highest score in the plurality of paths from the source node to the dummy decomposition option for the identified VNF.
  • the method further includes eliminating (1511) the remaining paths that are not the selected path.
  • the method further includes repeating (1413) the checking (1401), the creating (1403), the connecting (1405), the calculating (1407), the selecting (1409), and the eliminating (1411) for remaining VNFs in the service chain.
  • the method further includes connecting (1501) the destination node to decomposition options of a last VNF in the hierarchical structure.
  • the method further includes identifying (1503) the paths from the source node to the destination node that remain.
  • the method further includes decomposing (1601) a subfunction of a defined decomposition option for the VNF into a plurality of decomposition options in a hierarchical structure for a service chain between a source node and the VNF.
  • the decomposing includes checking whether the first subfunction in the defined decomposition option can be further decomposed into a plurality of decomposition options; and, when the first subfunction cannot be decomposed into a plurality of decomposition options, creating a default decomposition option that contains the first subfunction.
  • the method further includes selecting a decomposition option of the first subfunction to be evaluated.
  • the method further includes checking whether a subfunction in the selected decomposition option can be decomposed into a further decomposition option.
  • the method further includes, (i) when the subfunction in the selected decomposition option can be decomposed into further decomposition options, explore the decomposition options of the subfunction, and (ii) when the subfunction in the selected decomposition option cannot be decomposed, explore connections between the selected decomposition option and a plurality of decomposition options of a previously selected VNF or subfunction.
  • the method further includes connecting the selected decomposition option and at least some of the plurality of decomposition options of the previously selected VNF or subfunction in a plurality of paths in the hierarchical structure.
  • the method further includes calculating (1603) a score for the paths in the plurality of paths in the hierarchical structure.
  • the method further includes selecting (1605) the path for the selected decomposition option of the first subfunction having the highest score.
  • the method further includes eliminating (1607) the remaining paths that are not the selected path.
  • the method further includes repeating (1609) the checking, the creating, the selecting, the checking, the exploring, the connecting, the calculating (1603), the selecting (1605), and the eliminating (1607) for the remaining decomposition options for the first subfunction.
  • the method further includes repeating (1611) the repeating (1609) for remaining subfunctions of the defined decomposition option.
  • the method further includes providing (1701) a VNF-FG including the identified decomposition option of each VNF for the NS that has the highest score to another network node to embed the identified decomposition options on an infrastructure of the communication network as well as other potential VNF-FGs.
  • the network node includes one of an operation support system (OSS) node and a business support system (BSS) node.
  • OSS operation support system
  • BSS business support system
  • the terms “comprise”, “comprising”, “comprises”, “include”, “including”, “includes”, “have”, “has”, “having”, or variants thereof are open-ended, and include one or more stated features, integers, elements, steps, components or functions but does not preclude the presence or addition of one or more other features, integers, elements, steps, components, functions or groups thereof.
  • the common abbreviation “e.g.”, which derives from the Latin phrase “exempli gratia” may be used to introduce or specify a general example or examples of a previously mentioned item, and is not intended to be limiting of such item.
  • the common abbreviation “i.e.”, which derives from the Latin phrase “id est,” may be used to specify a particular item from a more general recitation.
  • Example embodiments are described herein with reference to block diagrams and/or flowchart illustrations of computer-implemented methods, apparatus (systems and/or devices) and/or computer program products. It is understood that a block of the block diagrams and/or flowchart illustrations, and combinations of blocks in the block diagrams and/or flowchart illustrations, can be implemented by computer program instructions that are performed by one or more computer circuits.
  • These computer program instructions may be provided to a processor circuit of a general purpose computer circuit, special purpose computer circuit, and/or other programmable data processing circuit to produce a machine, such that the instructions, which execute via the processor of the computer and/or other programmable data processing apparatus, transform and control transistors, values stored in memory locations, and other hardware components within such circuitry to implement the functions/acts specified in the block diagrams and/or flowchart block or blocks, and thereby create means (functionality) and/or structure for implementing the functions/acts specified in the block diagrams and/or flowchart block(s).
  • These computer program instructions may also be stored in a tangible computer-readable medium that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable medium produce an article of manufacture including instructions which implement the functions/acts specified in the block diagrams and/or flowchart block or blocks. Accordingly, embodiments of the present disclosure may be embodied in hardware and/or in software (including firmware, resident software, microcode, etc.) that runs on a processor such as a digital signal processor, which may collectively be referred to as "circuitry," "a module” or variants thereof.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

A method is provided performed by a network node for ranking topological decomposition options of a virtual network function, VNF, or combinations of topological decomposition options of VNFs to form a VNF forward graph for a network service in a communication network. The method includes evaluating the topological decomposition comprising a plurality of decomposition options. The evaluation based on a plurality of scores for the plurality of decomposition options where each score corresponds to a defined decomposition option for the VNF or combinations of decomposition options for VNFs for the network service. The method further includes ranking the plurality of decomposition options based on respective scores of the defined decomposition options for the VNF or the combinations of the decomposition options of the VNFs, wherein the ranking identifies a set of decomposition options for VNFs that have the highest scores.

Description

RANKING DECOMPOSITION OPTIONS OF VIRTUAL NETWORK FUNCTION
TECHNICAL FIELD
[0001] The present disclosure relates generally to methods for ranking topological decomposition options of a virtual network function (VNF) or combinations of topological decomposition options of VNFs to form a VNF forward graph (VNF-FG) for a network service in a communication network, and related methods and apparatuses.
BACKGROUND
[0002] In a network function virtualization (NFV) ecosystem, a network service (NS) request generally contains a set of VNFs with some dependencies and service level agreement (SLA) requirements. In order to deploy a NS, the service provider (SP) forms these VNFs as a VNF-FG and then embeds the VNF-FG onto the substrate network with respect to the dependencies between VNFs as well as the given SLA requirements.
However, forming a VNF-FG is challenging, as each VNF may be associated with multiple realizations, commonly referred to as decomposition options with different topologies. Each decomposition option may comprise one or multiple subfunctions. For instance, Figure 1 is a block diagram of an example of decomposition options for an intrusion detection system (IDS). An original IDS (Figure 1A) can be realized via either a first decomposition option that has a single IDS function (Figure IB) or a second decomposition option that has a combination of IDS subfunctions, e.g., controller, deep packet inspection (DP), firewall (FW), and network element (NE) functions, as illustrated in Figure 1. See e.g., R. Szabo, M. Kind, F. Westphal, H. Woesner, D. Jocha and A. Csaszar, "Elastic network functions: opportunities and challenges," IEEE Network, vol. 29, no. 3, pp. 15-21, May-June 2015. Each of these decomposition options can highly influence a SP's objectives (e.g., embedding costs, user experiences, etc.) as well as the NS performance. For example, it is noted that when the embedding costs are concerned, first IDS decomposition option is preferred over the second decomposition option if, at that particular time, there is an already deployed instance of an IDS on the substrate networks that can be reused. SUMMARY
[0003] There currently exist certain challenges. For example, existing approaches to a topological decomposition problem lack consideration of topological decomposition of VNFs to provide flexibility in selecting an appropriate decomposition option of each VNF from a list of its decomposition options to optimize/improve a SP's objectives and a NS performance.
[0004] Certain aspects of the disclosure and their embodiments may provide solutions to these or other challenges. Various embodiments of the present disclosure include a method providing topological decomposition of service components. The method includes evaluating decomposition options according to a score. The method includes ranking of decomposition options by the scores.
[0005] Certain embodiments may provide one or more of the following technical advantages. Certain embodiments may provide a solution to the topological decomposition problem, and also may provide scalability, efficiency, and/or robustness/reliability.
[0006] In various embodiments, a method is provided performed by a network node for ranking topological decomposition options of a VNF, or combinations of topological decomposition options of VNFs to form a VNF-FG for a NS in a communication network. The method comprises evaluating the topological decomposition comprising a plurality of decomposition options. The evaluation is based on a plurality of scores for the plurality of decomposition options where each score corresponds to a defined decomposition option for the VNF or combinations of decomposition options for the VNFs for the NS. The method further comprises ranking the plurality of decomposition options based on respective scores of the defined decomposition options for the VNF or the combinations of the decomposition options for the VNFs, wherein the ranking identifies a set of decomposition options for VNFs that have the highest scores.
[0007] In other embodiments, a network node for ranking topological decomposition options of a virtual network function, VNF, or combinations of topological decomposition options of VNFs to form a VNF-FG for a NS in a communication network is provided. The network node includes at least one processor; and at least one memory connected to the at least one processor and storing program code that is executed by the at least one processor to perform operations. The operations include to evaluate the topological decomposition comprising a plurality of decomposition options. The evaluation is based on a plurality of scores for the plurality of decomposition options where each score corresponds to a defined decomposition option for the VNF or combinations of decomposition options for the VNFs for the NS. The operations further include to rank the plurality of decomposition options based on respective scores of the defined decomposition options for the VNF or the combinations of the decomposition options for the VNFs, wherein the ranking identifies a set of decomposition options for VNFs that have the highest scores.
[0008] In other embodiments, a network node for ranking topological decomposition options of a virtual network function, VNF, or combinations of topological decomposition options of VNFs to form a VNF-FG for a NS in a communication network is adapted to perform operations. The operations include to evaluate the topological decomposition comprising a plurality of decomposition options. The evaluation is based on a plurality of scores for the plurality of decomposition options where each score corresponds to a defined decomposition option for the VNF or combinations of decomposition options for the VNFs for the NS. The operations further include to rank the plurality of decomposition options based on respective scores of the defined decomposition options for the VNF or the combinations of the decomposition options for the VNFs, wherein the ranking identifies a set of decomposition options for VNFs that have the highest scores.
[0009] In other embodiments, a computer program comprising program code to be executed by processing circuitry of a network node is provided, whereby execution of the program code causes the network node to perform operations. The operations include to evaluate a topological decomposition comprising a plurality of decomposition options. The evaluation is based on a plurality of scores for the plurality of decomposition options where each score corresponds to a defined decomposition option for a VNF or combinations of decomposition options for VNFs for a NS. The operations further include to rank the plurality of decomposition options based on respective scores of the defined decomposition options for the VNF or the combinations of the decomposition options for the VNFs, wherein the ranking identifies a set of decomposition options for VNFs that have the highest scores.
[0010] In other embodiments, a computer program product comprising a non- transitory storage medium including program code to be executed by processing circuitry of a network node is provided, whereby execution of the program code causes the network node to perform operations. The operations include to evaluate a topological decomposition comprising a plurality of decomposition options. The evaluation is based on a plurality of scores for the plurality of decomposition options where each score corresponds to a defined decomposition option for a VNF or combinations of decomposition options for VNFs for a NS. The operations further include to rank the plurality of decomposition options based on respective scores of the defined decomposition options for the VNF or the combinations of the decomposition options for the VNFs, wherein the ranking identifies a set of decomposition options for VNFs that have the highest scores.
BRIEF DESCRIPTION OF DRAWINGS
[0011] The accompanying drawings, which are included to provide a further understanding of the disclosure and are incorporated in and constitute a part of this application, illustrate certain non-limiting embodiments of the present disclosure. In the drawings:
[0012] Figure 1 is a block diagram of an example of decomposition options for an intrusion detection system (IDS);
[0013] Figures 2A-2C are schematics illustrating topological decomposition of VNFs for a NS;
[0014] Figure 3 is a block diagram illustrating components of a system architecture in accordance with some embodiments of the present disclosure;
[0015] Figure 4 is a schematic illustrating an auxiliary graph for calculating a reusability score of decomposition options of VNFs for a NS in accordance with some embodiments of the present disclosure;
[0016] Figure 5 is a flowchart illustrating operations of a method performed by a network node in accordance with some embodiments of the present disclosure; [0017] Figure 6 is a flowchart illustrating operations of a method performed by a network node in executing a subfunction exploration module according to some embodiments of the present disclosure;
[0018] Figures 7A and 7B are schematics illustrating topological decompositions of NS in accordance with some embodiments of the present disclosure;
[0019] Figures 8A-8I are schematics illustrating use of a method performed by a network node to find potential VNF-FGs for a NS in an example embodiment of the present disclosure;
[0020] Figure 9 is schematic illustrating topological decompositions of VNFs for a NS where some subfunctions in decomposition options can also be further decomposed in accordance with some embodiments of the present disclosure;
[0021] Figures 10A-10H are schematics illustrating use of a method performed by a network node to find potential VNF-FGs for a NS in an example embodiment of the present;
[0022] Figure 11 is a block diagram illustrating elements of a network node according to embodiments of the present disclosure; and
[0023] Figures 12 -17 are flow charts illustrating operations of a network node according to some embodiments of the present disclosure.
DETAILED DESCRIPTION
[0024] The present disclosure will now be described more fully hereinafter with reference to the accompanying drawings, in which examples of embodiments of this disclosure are shown. The present disclosure may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the present disclosure to those skilled in the art. It should also be noted that these embodiments are not mutually exclusive.
Components from one embodiment may be tacitly assumed to be present/used in another embodiment.
[0025] The following description presents various embodiments of the disclosed subject matter. These embodiments are presented as teaching examples and are not to be construed as limiting the scope of the disclosed subject matter. For example, certain details of the described embodiments may be modified, omitted, or expanded upon without departing from the scope of the described subject matter.
[0026] As described above regarding example decomposition options for an IDS, decomposition options can highly influence a SP's objectives (e.g., embedding costs, user experiences, etc.) as well as the NS performance
[0027] As a consequence of such influence of decomposition options, there is a need for carrying out the topological decomposition of VNFs required by a NS to form a VNF-FG in a manner such that that the SLA requirements are satisfied, while a SP's objectives are optimized. As referenced herein, this problem is referred to a "topological decomposition" problem. The term "topological decomposition" includes, without limitation, a VNF-FG, a tree graph, a hierarchy of information, etc.
[0028] VNF-FG composition and embedding are two main sub-problems for NS deployment in NFV ecosystems. See e.g., J. G. Herrera and J. F. Botero, "Resource Allocation in NFV: A Comprehensive Survey," IEEE Transactions on Network Service and Management, vol. 13, no. 3, pp. 518-532, Sep. 2016. It is noted there may be a subtle difference between the terms "composition" and "decomposition". While the term "composition" may be used more often in literature, the term "decomposition" is used herein as it reflects the re-composition aspect as well.
[0029] Given a NS request provided by an NS user, VNF-FG composition generally aims at composing a suitable VNF-FG for a NS while the VNF-FG embedding focuses on embedding the composed VNF-FG obtained from the VNF-FG composition onto substrate networks. Since these two sub-problems can highly influence NS performance as well as a SP's objectives, they have been studied in some references. In addition, some references discuss an aim to jointly tackle these two sub-problems due to their mutual dependency. See e.g., L. Wang, Z. Lu, X. Wen, R. Knopp, and R. Gupta, "Joint Optimization of Service Function Chaining and Resource Allocation in Network Function Virtualization," IEEE Access, vol. 4, pp. 8084-8094, 2016.
[0030] For example, M. T. Beck and J. F. Botero, "Coordinated Allocation of Service Function Chains," Proc. IEEE Global Communications Conference (GLOBECOM), 2015, pp. 1-6 ("Beck") discusses a recursive heuristic-based algorithm to coordinately address VNF- FG composition and embedding for NS deployment. The algorithm of Beck aims to recursively find a valid physical node to embed each VNF in an NS request. If at any point, it fails to find the valid physical node, it makes use of a backtracking mechanism to change the embedding orders of VNFs, which alters the structure of the VNF-FG.
[0031] In B. Spinnewyn, P. H. Isolani, C. Donato, J. F. Botero and S. Latre, "Coordinated Service Composition and Embedding of 5G Location-Constrained Network Functions," IEEE Transactions on Network and Service Management, vol. 15, no. 4, pp. 1488-1502, Dec. 2018 ("Spinnewyn"), Spinnewyn discusses studying a joint VNF-FG composition and embedding problem which aims to simultaneously determine the number of VNF instances, their orders, and their embedding locations while taking embedding location constraints into account. To solve this problem, Spinnewyn discusses first formulating the problem as integer linear programming (ILP) and then proposing a greedy-based heuristic.
[0032] In J. Li, W. Shi, Q. Ye, W. Zhuang, X. Shen and X. Li, "Online Joint VNF Chain Composition and Embedding for 5G Networks," Proc. IEEE Global Communications Conference (GLOBECOM), 2018, pp. 1-6 ("Li"), Li discusses a two-stage approach to jointly address VNF-FG composition and embedding. In the first stage, the orders of VNFs are determined to compose a suitable VNF-FG, based on locations and capabilities of physical nodes as well as the relation of the outgoing and incoming data rate of each VNF required in an NS. In the second stage, the composed VNF-FG is embedded such that node resource capacity constraints are satisfied. Each VNF can be also split into multiple instances if any assigned node does not have sufficient capacity.
[0033] In S. M. A. Araujo, F. S. H. de Souza and G. R. Mateus, "A Composition Selection Mechanism for Chaining and Placement of Virtual Network Functions," Proc. IEEE International Conference on Network and Service Management (CNSM), 2019, pp. 1-5 ("Araujo"), ILP is discussed with an objective of maximizing the revenue and resources to simultaneously determine the order of VNFs in an NS request and their embedding locations.
[0034] It is noted that some references discussed above focus on jointly determining an order of VNFs, the number of VNF instances, or both to compose a VNF-FG and embedding locations. Approaches of the references, therefore, are lacking and are not suitable for deploying NSs when VNFs in the NSs can be decomposed into sub-functions and have multiple decomposition options corresponding to multiple deployment options. In other words, they do not consider the topological decomposition aspect.
[0035] Some of the references discuss consideration of network function decomposition. For example, in D. Li, P. Hong, W. Wang and J. Pei, "Virtual Network Function Placement with Function Decomposition for Virtual Network Slice,” Proc. IEEE Conference on Standards for Communications and Networking (CSCN), 2018, pp. 1-4 ("D. Li"), D. Li assumes that a VNF can be decomposed into multiple sub-functions to enable reusing and sharing of the subfunctions among different NSs. D. Li then discusses a VNF embedding algorithm that takes sub-function reusability into account to minimize total costs. D. Li, however, still considers that each VNF has only one decomposition option. [0036] In N. Nazarzadeoghaz, F. Khendek and M. Toeroe, "Automated Design of Network Services from Network Service Requirements," Proc. IEEE Conference on Innovation in Clouds, Internet and Networks and Workshops ( ICINJ, 2020, pp. 63-70 ("Nazarzadeoghaz "), Nazarzadeoghaz discusses an architecture for autonomously designing a VNF-FG of a NS, based on a high-level NS description provided by a tenant. While Nazarzadeoghaz assumes that a VNF can have one or more deployment options, Nazarzadeoghaz lacks a strategy to find a suitable deployment option for each VNF to generate a VNF-FG for a NS.
[0037] There currently exist certain challenges. Existing approaches to the topological decomposition problem lack consideration of topological decomposition of VNFs to provide flexibility in selecting an appropriate decomposition option of each VNF from the list of its decomposition options to optimize/improve a SP's objectives and a NS performance. Additionally, existing approaches lack efficient incorporation of the subsequent embedding in determining the topological decomposition of VNFs, which is important as an optimal/improved selection of the decomposition options of VNFs cannot be achieved without knowing embedding decisions. Existing solutions (e.g., brute forcebased solutions) further lack providing a scalable scheme to determine topological decomposition of VNFs. Moreover, existing approaches may focus on a single objective (e.g., resource usage), which may not be suitable when a SP's objectives vary. [0038] Certain aspects of the disclosure and their embodiments may provide solutions to these or other challenges. Various embodiments of the present disclosure include a method providing topological decomposition of service components. In some embodiments, the method includes building and evaluating decomposition options from a virtual source anchor (also referred to as "source node") to virtual destination anchor or anchors (also referred to as "destination node" or "destination nodes") according to a configurable scoring metric. The method includes ranking of top-n decomposition option(s). In some embodiments, the method aligns the decomposition with the workload assignment, which may maximize a likelihood of successful allocation of a recommended decomposition option via aligned scoring metric. In some embodiments, the method includes a greedy heuristic algorithm, which may scale better than brute force enumeration, to pre-evaluate and select candidate decomposition options.
[0039] Certain embodiments may provide one or more of the following technical advantages. Certain embodiments may provide a solution to the topological decomposition problem, and also may provide scalability, efficiency, and/or robustness/reliability.
[0040] Referring first to scalability, conventional algorithms may enumerate all possible decomposition options (e.g., brute force) to make a recommendation in an offline manner. The number of variations, however, increases exponentially with the number of components and their options. In contrast, the method of the present disclosure builds a hierarchical structure (e.g., a tree) of N most preferred decomposition variations with a ranking strategy evaluated at each decision point. Such a greedy heuristic scales linearly with the number of components and their options in real-time. The method, therefore, can arrive at a solution without exploring all variations. As a consequence, the method may be relatively fast, thus allowing for an SP to deploy NSs in real-time.
[0041] Referring next to efficiency, tackling decomposition and embedding problems separately may not lead to satisfactory solutions in terms of embedding cost or supported function for the SP. By interleaving the decomposition and embedding, some embodiments of the method of the present disclosure are executed in the context of adjoining (neighboring) network functions, thus allowing access to which options were on- boarded, instantiated, are supported, and/or to consider real service and instantiation costs.
[0042] Referring now to robustness/reliability, it may be inevitable, in some cases, that a SP is not able to embed a given VNF-FG decomposition recommendation of an NS. This may happen due to many reasons including, e.g., lack of capacity, sudden increase of load, failure of a substrate node/link, and/or returning an infeasible solution by the underlying embedding algorithm. To ensure/improve robustness, it is important to have fallback options, which are good enough in terms of embedding cost. The method of the present disclosure can provide a SP with a ranked list of N most preferred options for VNF- FG to realize a given NS.
[0043] A topological decomposition problem will now be discussed further.
[0044] Figures 2A-2C are schematics illustrating topological decomposition of VNFs for a NS, NS1. NS1 needs an ordered set of VNFs, including A, B, and C, and has one source and two destinations, as illustrated in Figure 2A. It is noted that that in Figure 2A, the source and destinations are represented as a virtual source and virtual destinations, respectively, to indicate how the source and destinations are connected to the VNFs in a NS request for NS1. In addition, for each source and destination pair, there could be a specific end-to-end latency requirement to be satisfied.
[0045] To deploy NS1, an SP generally selects each source and destination pair and then attempts to embed VNFs in a chain from the source and destination with respect to the requirements. For example, in Figure 2A, the source and destination 1 are selected. Thus, the SP needs to embed VNFs A, B, and C onto the substrate network and make sure that traffic of NS1 is transmitted from the source and the destination 1 and processed by these VNFs, while satisfying the given requirements before considering another source and destination pair for the embedding. However, from an implementation point of view, each VNF can have one or multiple decomposition options, and each option can comprise one or multiple subfunctions as illustrated in Figure 2A. For instance, VNF A has three decomposition options. Option 1 of VNF A (o^ includes two subfunctions (i.e., Al and A2), where Oj ;- is defined to indicate the decomposition option j of VNF i.
[0046] Figure 2B shows a tree graph illustrating all connections of decomposition options between the VNFs for NS1 for when the source and destination 1 are selected. It is noted that decomposition options of the same VNF or different VNFs may have the same type of subfunctions. For example, oA 1, oA 2 and oB 3 have one subfunction which is the same type (i.e., Al). Some decomposition options of a given VNF also may not be able to connect to some decomposition options of its predecessor and successor VNFs due to some compatibility issues. For example, as shown in Figure 2B, oA 1 of VNF A cannot connect to oB 3 and oB 4 because technologies used in oA 1 are not compatible with those in oB 3 and oB 4. In addition, some specific decomposition options of a given VNF may allow skipping some of its successor VNFs. For example, as shown in Figure 2B, if either oB 3 or oB 4 of VNF B is selected, VNF C is not needed. The reason for this is that subfunctions in oB 3 and oB 4 may be able to perform all functionalities of VNF C. Furthermore, some subfunctions may further have multiple decomposition options. For example, subfunction C3 in oc 2 has two decomposition options, oC3 4 and oC3 2.
[0047] Thus, a challenge exists for how the SP efficiently selects a decomposition option of each VNF among all available options to form the VNF-FG in such a way that the SP's objectives are optimized/improved while satisfying the given requirements. Figure 2C demonstrates one possible VNF-FG of NS1 when the source and destination 1 are selected.
[0048] Some approaches may try select a decomposition option by using a bruteforce approach that investigates all possible combinations of decomposition options of all VNFs required by a NS to find all possible VNF-FGs, and then attempt to embed these VNF- FGs onto the substrate network to find the best VNF-FG. While such an approach may provide good/optimal results, the approach requires a huge amount of computation, which thereby also leads to a high service deployment time. As a consequence, such an approach is not suitable for practical scenarios, e.g., in a case of a high number of VNFs and decomposition options. Referring to NS1 in Figure 2A, in an example, assume that all decomposition options of a given VNF can connect to all decomposition options of its predecessor and successor VNFs. By increasing the number of decomposition options of VNF C from 2 to 4, the number of all possible VNF-FGs can increase from 36 to 60. This would significantly increase computation times for exploring all possible VNF-FGs by almost two times. Thus, an efficient strategy is still needed to select the high-quality combination of the decomposition options of the VNFs to form the VNF-FG while ensuring that the service deployment time is feasible.
[0049] Figure 3 is a block diagram illustrating components of a system architecture in accordance with some embodiments of the present disclosure.
[0050] Figure 3 includes decomposition engine 313 and workload placement (also referred to as "workload assignment") 315 as part of Service and Resource Orchestration (SRO) 317 workflow. Based on onboarding information 301 including without limitation service 303, function 305, deployment artifacts 307, and/or registry 309 information, the decomposition engine 313 evaluates and recommends substitution for components. It is noted that a substitution may happen (i) within a given layer, e.g., service component to service topology, function to a topology of function, deployment artifact to a collection of deployment artifacts, and to external objects like files in a repository, or (ii) mapping from one layer to another, e.g., from a service to a network of functions, from a function to a set of deployment artifacts, etc.
[0051] From a system and component perspective, decomposition engine 313 and workload placement 315 can work within a layer, within two layers, across multiple layers, or across all the layers. In cases when one system does not cover all the layers, multiple instances can exist in order to consequently resolve the input until deployment is possible. In some embodiments, the bottom-most layer is a virtualization infrastructure manager 319, e.g., Open Stack or Kubernetes.
[0052] The method of some embodiments includes a decomposition process (e.g., an algorithm executed by a processor(s)) to pre-evaluate combinations of decomposition options of all VNFs required by a given NS to eliminate unnecessary VNF-FGs and find the potential candidate VNF-FGs before they are embedded onto the substrate network. For each decomposition option or each combination of decomposition options, the preevaluation is carried out by calculating a decomposition score. The decomposition score is obtained based on substrate network information (e.g., supported VNFs, reusability of already deployed VNF instances, node and link capabilities), as well as the constituent subfunctions of the decomposition option. With this decomposition score, the decomposition process also introduces a ranking strategy to find the potential candidate VNF-FGs without exploring all possible VNF-FGs. [0053] In various embodiments, the method includes a decomposition process that includes (i) a decomposition score calculation, and (ii) a ranking strategy.
[0054] A decomposition score calculation is now discussed further.
[0055] A decomposition score (Sd) is used to pre-evaluate combinations of decomposition options of VNFs to form a partial or a full hierarchical structure (e.g., VNF- FG tree) for a given NS, given that each VNF required by the NS can have one or multiple decompositions. In some embodiments, the score can be calculated in multiple ways, e.g., depending on an SP's objective (e.g., embedding costs, user experiences).
[0056] In an example embodiment for calculating Sd, an objective is to optimize overall embedding costs. With this objective, Sd can include three main components: (i) reusability score (Sr), (ii) subfunctions overlapping score (So), and (iii) resource usage score (Sru). These scores are defined to help determine potential combinations of decomposition options of VNFs for a given NS that are expected to provide low embedding costs while meeting the latency requirements once they are embedded into the substrate network.
[0057] Each of these three scores are now discussed further.
[0058] In some embodiments, a reusability score (Sr) can be defined to evaluate possibilities that already deployed instances in physical nodes can potentially be reused to serve subfunctions of a decomposition option of a single VNF or a combination of decomposition options of multiple VNFs. To calculate Sr, an auxiliary graph is created as illustrated in Figure 4. The left side of the graph (labelled "subfunctions") includes subfunctions of decomposition options under consideration. The example embodiment of Figure 4 demonstrates how to calculate the reusability score of a combination of oA 1, oB 2 and oc i for NS1 (S°A1B'2^Oc i), so that all subfunctions of oA 1, oB 2 and oc i are listed on the left side of the graph. On the other hand, the right side of the graph (labelled "physical nodes") is a list of physical nodes that can potentially host the subfunctions on the left side of the graph.
[0059] Still referring to Figure 4, since a NS may have specific end-to-end latency requirements to be satisfied, the potential physical nodes can be all physical nodes along all possible paths between source and destination that satisfy the latency requirements. Then, for each subfunction on the left side of Figure 4, a search is performed for already deployed instances in each physical node on the right side of Figure 4 whose type is the same as that of the subfunction. If one of the instances in the physical node has enough capacity to serve the subfunction and meets the specific requirements of the subfunction (e.g., location requirements), a link is drawn connecting between the subfunction and the physical node. For example, in the example embodiment shown in Figure 4, there are already deployed instances in physical nodes 1 and 2 that can be reused for subfunction Al, so there are links between subfunction Al and physical nodes 1 and 2. The same process applies to all subfunctions.
[0060] Still referring to Figure 4, the reusability score is equal to the number of links connecting between the subfunctions and physical nodes. For the example embodiment shown in Figure 4, S^'1^0®'2^06,1 js equal to 5. In some embodiments, to better reflect the reusability score, the latency requirements between two subfunctions can also be taken into account if they exist. For example, when there is a latency requirement between subfunctions A2 and Bl in Figure 4, a transmission latency between two physical nodes to which the subfunctions A2 and Bl are connected in the graph can be checked. If it satisfies the latency requirement, one additional point is added to the reusability score. For example, in Figure 4, if the transmission latency between physical nodes 3 and 4 satisfies the latency requirement between subfunctions A2 and Bl, one point is added to
Figure imgf000016_0001
which is equal to 6. It is noted, however, that this comes at the expense of higher computations.
[0061] In some embodiments, a subfunctions overlapping score (So) is defined to evaluate possibilities that subfunctions of decomposition options of different VNFs can share the same instance, given that the decomposition options of the different VNFs may have the same type of subfunctions. This score can be computed by the number of subfunctions that overlap between decomposition options of different VNFs. For example, referring to Figure 2A, if oA 2, oB 3 and oc i are selected to form a VNF-FG for NS1. In this case, 5°^2^OB'3C 1 ;S equal to 1, as there is one overlapping subfunction between oA 2 and oB 3 which is subfunction Al.
[0062] In some embodiments, a resource usage score (Sru) is defined to evaluate how many resources (e.g., CPUs, memories, storages) are needed to instantiate new instances for subfunctions of a decomposition option of a single VNF or a combination of decomposition options of multiple VNFs if already deployed instances cannot be reused Sd = Wr Sr + W0S0 + WruSru for those subfunctions. This score can be computed by a negative value of the sum of resources required for instantiating new instances for all subfunctions except the subfunctions for which already deployed instances in the network can be reused. These subfunctions can be known after computing the reusability score. For example, after computing s°A1B zC1 1 it can be seen from Figure 4 that there are already deployed instances in the network that can be reused for subfunctions Al, A2, Bl, and B2. Thus,
Figure imgf000017_0001
's eclual t0 a negative value of the number of resources required for instantiating a new instance for subfunction C. Consequently, Sd can be computed by [0063] where wr , w0 and wru are weights for the reusability score, subfunction overlapping score, and resource usage score, respectively, which can be used to adjust priorities among them.
[0064] Ranking will now be discussed further.
[0065] Calculating decomposition scores of all possible VNF-FGs to find the best VNF-FG may not be an efficient approach, as this might not be scalable in case of a large number of VNFs in a NS request and a large number of decomposition options per a VNF. The method of the present disclosure includes a ranking strategy to find potential candidate VNF-FGs without exploring all possible VNF-FGs. As a consequence, scalability may be achieved.
[0066] Figure 5 is a flowchart illustrating operations of a method performed by a network node in accordance with some embodiments of the present disclosure. To explore decomposition options of VNFs in a service chain for a given source and destination pair 501, the method includes initializing 503 a tree graph, including setting the source of the service chain as a root node in the tree graph. At operation 505, the method evaluates each decomposition option of each VNF in the service chain, starting from the first VNF.
[0067] To evaluate each decomposition option of a given VNF, the method includes first checking 509 whether subfunctions in the decomposition option can be further decomposed. If yes, the method includes calling 523 a subfunction exploration module to further explore decomposition options of the subfunctions. The subfunction exploration module is discussed further herein. If the subfunctions in the decomposition option cannot be further decomposed, the method includes exploring 511 all possible connections between the decomposition option and the decomposition options of the previous VNF that have been already evaluated in the tree graph and connects them together. It is noted that if the given VNF is the first VNF in the service chain, the method connects the decomposition option of the given VNF to the source.
[0068] Still referring to Figure 5, the method includes calculating 513 decomposition scores of all paths from the source to the decomposition option. In some embodiments, the method includes eliminating all paths except the path that has the highest decomposition score. A reason for this includes that these eliminated paths may never lead to high-quality VNF-FGs in the end and, thus, can be eliminated. Elimination also may prevent exploring unnecessary VNF-FGs, thereby reducing (e.g., significantly reducing) computation burdens.
[0069] Still referring to Figure 5, operations of the method move 515 to the next decomposition option of the given VNF. The same operations 503-513 are applied until all the decomposition options of the given VNF are evaluated. In operation 517, the method includes checking whether the decomposition options of the previous VNF in the service chain allow skipping a given VNF. If yes, operation 519 creates a dummy decomposition option of the given VNF and connects it to all the decomposition options of the previous VNF that allow skipping the given VNF. It is noted that skipping a VNF can happen in some circumstances, where, for example, some subfunctions of a previous VNF are able to perform the functionalities of the given VNF. In operation, 521, the decomposition scores are calculated for all paths from the source to the dummy decomposition option of the given VNF. In some embodiments, operation 521 includes keeping a single path that has the highest decomposition score.
[0070] In operation 525, the method moves to the next VNF. The same operations 505-517 process are repeated for the next VNF until all VNFs in the service chain are explored. In operation 527, the destination is connected to all the decomposition options of the last VNF. Each path from the source to destination in the tree graph represents a possible candidate VNF-FGs for a given NS, where nodes along the path indicate selected decomposition options of all VNFs required by the NS. When all candidate paths have been returned, the method of Figure 5 ends 529. [0071] In some embodiments, subfunctions in the decomposition option of a given VNF can be further decomposed into multiple decomposition options. For example, as illustrated Figure 2A, subfunction C3 can be further decomposed into two options. To explore decomposition options of the subfunctions in the tree graph, the method invokes 523 the subfunction exploration module. Figure 6 is a flowchart illustrating operations of a network node in executing a subfunction exploration module according to some embodiments of the present disclosure.
[0072] Referring to Figure 6, the method includes starting 601 by exploring each decomposition option of each subfunction in the inputted decomposition option. In operation 603, the method starts with the first subfunction. For each subfunction, the method includes checking 605 whether the subfunction can be decomposed into multiple decomposition options. If no, the method includes creating 607 a default decomposition option that contains only the subfunction before it selects 609 each decomposition option of the subfunction to be evaluated. For example, subfunction C2 in oc 2 in Figure 2A cannot be further decomposed, so it creates a default decomposition that contains only subfunction C2. To evaluate each decomposition option of the subfunction, the method includes first checking 611 whether subfunctions in the decomposition option can be further decomposed into multiple decomposition options. If yes, the method includes invoking 617 the subfunction exploration module to further explore decomposition options of the subfunctions. For example, it is possible that subfunction C31 in oC3 t in Figure 2A may be further decomposed. Thus, the subfunction exploration module needs to invoke 617 itself to explore decomposition options of subfunction C31.
[0073] Still referring to Figure 6, if the subfunctions in the decomposition option cannot be further decomposed, the method includes evaluating 613 this decomposition option. To do this, the method includes first exploring 613 all possible connections between the decomposition option and the decomposition options of the previous subfunction/VNF that have been already evaluated in the tree graph and connects them together. The method then includes calculating 615 decomposition scores of all paths from the source to the decomposition option and eliminates all paths except the path that has the highest decomposition score. [0074] Still referring to Figure 6, the method further includes moving 619 to the next decomposition option and repeats the same operations 603-615 until all the decomposition options of the subfunction are evaluated. The method further includes next moving 621 to the next subfunction in the inputted decomposition option. The same operations 603-619 are applied for the next subfunction. The subfunction exploration function stops 623 when all the subfunctions in the inputted decomposition option are explored.
[0075] An example embodiment is now discussed.
[0076] Figures 7A and 7B are schematics illustrating topological decomposition of VNFs for NS1 in accordance with some embodiments of the present disclosure. In the example embodiment, it is assumed that subfunctions in any decomposition options cannot be further decomposed. Additionally, decomposition options of VNFs in a service chain from the source to destination 1 are explored. Figure 7B illustrates all possible connections of the decomposition options of the VNFs in the chain.
[0077] Figures 8A-8F are schematics illustrating use of the method to find potential candidate VNF-FGs for NS1 in an example embodiment of the present disclosure. To find potential VNF-FGs in this example embodiment, the method starts by initializing a tree graph by setting the source as a root node, as illustrated in Figure 8A. The method then includes exploring decomposition options of the first VNF (i.e., VNF A), as illustrated in Figure 8A. The first decomposition option (i.e., oA ) of VNF A is evaluated by exploring all possible connections between oA 1 and the source and connects them together. The method next includes calculating decomposition scores of all paths from the source to oA 1. In this example embodiment, the score for the one path from the source to oA 1 is S^A,1= 2. Since there is only one incoming path to oA 1, no path is eliminated as shown in Figure 8A. The same process is then applied to oA 2 and oA 3. In the example embodiment, the scores from the source to oA 2 and oA 3 are S°A2 = 1 and S°A,3= 1, respectively.
[0078] In this example embodiment, the tree graph after all the decomposition options of VNF A are evaluated is illustrated in Figure 8B.
[0079] Referring next to Figure 8C, the method includes exploring decomposition options of the next VNF (i.e., VNF B). All possible connections between oB 1 and the decomposition options of the previous VNF (i.e., VNF A) are explored and are connected together. Decomposition scores of all paths from the source to oB 1 in Figure 8C are calculated. In this example embodiment, the scores
Figure imgf000021_0001
are 3, 2, and 1, respectively.
[0080] Referring next to Figure 8D, a single best path from oA 1 to oB 1 that has the score of 3 is kept based on the decomposition scores. In this example embodiment, the paths from oA 2 and oA 3, respectively, to oB 1 that have lower decomposition scores (of 2 and 1, respectively) are eliminated, as they would not lead to high-quality VNF-FGs. Therefore, they are not worth being further investigated. This may significantly reduce the computational burdens for exploring unnecessary VNF-FGs.
[0081] Next, the same process is repeated for oB 2, oB 3, and oB 4. For this example embodiment, the tree graph after all the decomposition options of VNF B are evaluated is illustrated in Figure 8E; and the scores for s°A,2B ,z , 5,°A2B'3 anc| S°A3->OB4are 2, 4, and 2, respectively.
[0082] In the example embodiment, the method moves to the last VNF (i.e., VNF C). Similarly, the same process is applied to oCA and oc 2 for the decomposition option evaluation. In this example embodiment, the tree graph until oc 2 is evaluated and is illustrated in Figure 8F; and the scores for
Figure imgf000021_0002
respectively.
[0083] Next in the example embodiment, the operations of the method identifies that some decomposition options (i.e., oB 3, and oB 4) of the previous VNF (i.e., VNF B) allow skipping to VNF C, therefore, the method further includes creating a dummy decomposition option of VNF C and connects it to oB 3, and oB 4 as shown in Figure 8G. This allows further exploration of paths passing through oB 3 and oB 4 of VNF B in the tree graph although oB 3 and oB 4 cannot connect to any decomposition option of VNF C. Unlike other decomposition options, to compute the decomposition scores of the paths from the source to the dummy decomposition option of VNF C passing through oB 3 and oB 4 of VNF B, in this example embodiment, it is assumed that the dummy decomposition option "D" of VNF C comprises the same subfunctions in oB 3 and oB 4 of VNF B, respectively, that can perform functionalities of VNF C. For example, if subfunction B7 in oB 4 can perform functionalities of VNF C, it is assumed in this example embodiment that the dummy option contains subfunction B7 in order to compute the decomposition score of the path from source to the dummy option D passing through oB 4. In the example embodiment, the r - - _ . - scores for
Figure imgf000022_0001
are 6 and 3, respectively.
[0084] After that, in the example embodiment, unnecessary paths are eliminated, and Figure 8H illustrates the best paths from the source to all the decomposition options of VNF C.
[0085] In the example embodiment, the method next connects all the decomposition options of VNF C to the destination as shown in Figure 81 to complete the tree graph. There are three potential paths from the source to the destination which indicate three potential VNF-FGs with the highest, second-highest, and third-highest decomposition scores. The best VNF-FG comprises oA 2, oB 3 having a score of 4 ; the second-best one comprises oA 1, oB 1 and oc i having a score of 4; and the third-highest one includes oA 1, oB 1 and oc 2 having a score of 4. In a case where the potential VNF-FGs have equal scores, one of the VNF-FGs is randomly selected to be embedded into the substrate network first.
[0086] A second example embodiment is now discussed.
[0087] Figure 9 is a schematic illustrating use of the method to find potential candidate VNF-FGs for NS1 where some subfunctions in decomposition options can also be further decomposed into multiple options in accordance with some embodiments of the present disclosure. In the second example embodiment, it is assumed that any decomposition options of the VNFs can connect to all decomposition options of their predecessor and successor VNFs. Additionally, the second example embodiment focuses on only evaluating oB 2, as some subfunction (e.g., subfunction Bl) in oB 2 can also be further decomposed into multiple options and it is assumed that oA 1, oA 2 and oB 1 already have been evaluated in the tree graph as shown in Figure 10A.
[0088] To evaluate oB 2, the method includes first checking whether subfunctions in oB 2 can be decomposed. Since subfunction Bl in oB 2 can be decomposed into multiple options, the subfunction exploration module ("module") is invoked. The module starts by exploring decomposition options of the first subfunction in oB 2 (i.e., Bl). It first evaluates the first decomposition option of subfunction Bl (i.e., oB1 . Since subfunctions in oB1 1 cannot be further decomposed, it then explores all possible connections between oB1 1 and all the decomposition options of VNF A. Next, it computes decomposition scores of all paths to oB1 1 and selects only the best path as illustrated in Figure 10B. It is noted that a solid line indicates the best path to the decomposition option. Next, the module moves to the next decomposition option of subfunction Bl (i.e., oB1 2). Because some subfunctions in oB1 2 can also be further decomposed, the module invokes itself again to explore decomposition options of the subfunctions in oB1 2. Similarly, the module starts by exploring decomposition options of the first subfunction in oB1 2 (i.e., subfunction B13 in this example). The module first evaluates the first decomposition option of subfunction B13 (i.e., oB13 . Because none of the subfunctions in oB13 1 can be further decomposed, the module then explores all possible connections between oB13 1 and all the options of VNF A. The module next computes decomposition scores of all paths to oB13 1 and selects the only best path as shown in Figure 10C.
[0089] After that, the same process is applied for evaluating the next decomposition option of subfunction B13 (i.e., oB13 2). Figure 10D illustrates the tree graph after oB13 2 is evaluated. Then, the module moves to the next subfunction in oB1 2 (i.e., subfunction B14). Since subfunctions in oB14 1 and oB142 cannot be further decomposed anymore, the module evaluates oB14 1 and oB14 2 of subfunction B14.
[0090] Figure 10E shows the tree graph after oB14 1 and oB142 are evaluated. Then, the module moves to the last subfunction in oB1 2 (i.e., subfunction B15). Since subfunction B15 cannot be decomposed, it creates a default option, called oB15 1, which contains only subfunction B15, and evaluates this option as shown in Figure 10F. Next, the subfunction exploration module to explore the decomposition options of the subfunctions in oB1 2 ends.
[0091] The subfunction exploration module next explores the decomposition options of the subfunctions in oB 2. Similar to the case of subfunction B15, the module creates a default option, called oB2 1, which contains only subfunction B2, and evaluates this option as shown in Figure 10G. After that, the subfunction exploration module stops. [0092] The method continues to explore decomposition options of VNF C. In the second example embodiment, it is assumed Figure 10H illustrates the final result of the method in the second example embodiment. Thus, there are two potential VNF-FGs for this service chain. The first one comprises oA 1, oB 1 and oc i while the second one comprises oA 2, oB13 2, oB142, oB15;1, oB2 4 and oC 2. [0093] Figure 11 is a block diagram illustrating elements of a network node 1100 according to embodiments of the present disclosure. A network node refers to equipment capable, configured, arranged, having modules configured to and/or operable to communicate directly or indirectly with a server, data repository, and/or with other network nodes or equipment, in a communication network. Examples of network nodes include, but are not limited to OSS nodes, BSS nodes, and/or cloud-implemented servers or edge-implemented servers.
[0094] Network node 1100 may be provided, for example, as a cloud-implemented network node (e.g., a server) or located in the cloud or an edge-implemented network node (e.g., a server), a virtual machine in a cloud deployment, or the network node can be distributed over several virtual machines, containers, or function as a service (FaaS) procedures, all of which should be considered interchangeable in the examples and embodiments described herein and be within the intended scope of this disclosure, unless otherwise noted.
[0095] For ease of discussion, a network node will now be described with reference to Figure 11. As shown, the network node may include transceiver circuitry (not illustrated) including a transmitter and a receiver configured to provide uplink and downlink radio communications with mobile terminals. The network node may include network interface circuitry 1107 (also referred to as a network interface) configured to provide communications with other nodes (e.g., with other network nodes, servers, and/or data repositories) of a distributed cloud. The network node may also include processing circuitry 1103 (also referred to as a processor) coupled to the transceiver circuitry, and memory circuitry 1105 (also referred to as memory) coupled to the processing circuitry. The memory circuitry 1105 may include computer readable program code that when executed by the processing circuitry 1103 causes the processing circuitry to perform operations according to embodiments disclosed herein. According to other embodiments, processing circuitry 1103 may be defined to include memory so that a separate memory circuitry is not required.
[0096] As discussed herein, operations of the network node may be performed by processing circuitry 1103, network interface 1107, and/or transceiver. For example, processing circuitry 1103 may control transceiver to transmit downlink communications through transceiver over a radio interface and/or to receive uplink communications through transceiver over a radio interface. Similarly, processing circuitry 1103 may control network interface 1107 to transmit communications through network interface 1107 to one or more other network nodes and/or to receive communications through network interface from one or more other network nodes, servers, etc. Moreover, modules may be stored in memory 1105, and these modules may provide instructions so that when instructions of a module are executed by processing circuitry 1103, processing circuitry 1103 performs respective operations (e.g., operations discussed herein with respect to example embodiments relating to network nodes). According to some embodiments, network node 1100 and/or an element(s)/function(s) thereof may be embodied as a virtual node/nodes and/or a virtual machine/machines.
[0097] According to some other embodiments, a network node may be implemented as a core network node without a transceiver. In such embodiments, transmission to a server, another network node, etc. may be initiated by the network node 1100 so that transmission to the server, network node, etc. is provided through a network node 1100 including a transceiver (e.g., through a base station or radio access network (RAN) node). According to embodiments where the network node is a RAN node including a transceiver, initiating transmission may include transmitting through the transceiver. [0098] Embodiments of the network node may include additional components beyond those shown in Figure 11 for providing certain aspects of the network node's functionality, including any of the functionality described herein and/or any functionality necessary to support the subject matter described herein. For example, the network node 1100 may include user interface equipment to allow input of information into the network node 1100 and to allow output of information from the network node 1100. This may allow a user to perform diagnostic, maintenance, repair, and other administrative functions for the network node 1100.
[0099] Although network node 1100 is illustrated in the example block diagram of Figure 11, the block diagram may represent a device that includes the illustrated combination of hardware components, other embodiments may comprise network nodes with different combinations of components. It is to be understood that a network node comprises any suitable combination of hardware and/or software needed to perform the tasks, features, functions, and methods disclosed herein. Moreover, while the components of a network node are depicted as single boxes located within a larger box, or nested within multiple boxes, in practice, each device may comprise multiple different physical components that make up a single illustrated component (e.g., a memory may comprise multiple separate hard drives as well as multiple RAM modules).
[00100] Although the network nodes described herein (e.g., OSS nodes, BSS nodes, servers, etc.) may include the illustrated combination of hardware components, other embodiments may comprise computing devices with different combinations of components. It is to be understood that these network nodes may comprise any suitable combination of hardware and/or software needed to perform the tasks, features, functions, and methods disclosed herein. Determining, calculating, obtaining or similar operations described herein may be performed by processing circuitry, which may process information by, for example, converting the obtained information into other information, comparing the obtained information or converted information to information stored in the network node, and/or performing one or more operations based on the obtained information or converted information, and as a result of said processing making a determination. Moreover, while components are depicted as single boxes located within a larger box, or nested within multiple boxes, in practice, communication devices and network nodes may comprise multiple different physical components that make up a single illustrated component, and functionality may be partitioned between separate components. For example, a communication interface may be configured to include any of the components described herein, and/or the functionality of the components may be partitioned between the processing circuitry and the communication interface. In another example, non-computationally intensive functions of any of such components may be implemented in software or firmware and computationally intensive functions may be implemented in hardware.
[00101] In certain embodiments, some or all of the functionalities described herein may be provided by processing circuitry executing instructions stored in memory, which in certain embodiments may be a computer program product in the form of a non-transitory computer-readable storage medium. In alternative embodiments, some or all of the functionalities may be provided by the processing circuitry without executing instructions stored on a separate or discrete device-readable storage medium, such as in a hard-wired manner. In any of those particular embodiments, whether executing instructions stored on a non-transitory computer-readable storage medium or not, the processing circuitry can be configured to perform the described functionality. The benefits provided by such functionality are not limited to the processing circuitry alone or to other components of the computing device, but are enjoyed by the network nodes as a whole.
[00102] Operations of a network node (e.g., network node 1100) (implemented using the structure of Figure 11) will now be discussed with reference to the flow charts of Figures 12-17 according to some embodiments of the present disclosure. In the description that follows, while the network node may be any of the network node 1100, a virtual machine, a distributed over more than one virtual machine, the network node 1100 shall be used to describe the functionality of the operations of the network node. For example, modules may be stored in memory 1105 of Figure 11, and these modules may provide instructions so that when the instructions of a module are executed by respective network node processing circuitry 1103, processing circuitry 1103 performs respective operations of the flow chart.
[00103] Referring to Figure 12, a method is provided that is performed by a network node (e.g., 1100) for ranking topological decomposition options of a virtual network function, VNF, or combinations of topological decomposition options of VNFs to form a VNF-FG for a NS in a communication network. The method includes evaluating (1201) the topological decomposition including a plurality of decomposition options. The evaluation is based on a plurality of scores for the plurality of decomposition options where each score corresponds to a defined decomposition option for the VNF or combinations of decomposition options for VNFs for the NS. The method further includes ranking (1203) the plurality of decomposition options based on respective scores of the defined decomposition options for the VNF or the combinations of the decomposition options for the VNFs, wherein the ranking identifies a set of decomposition options for VNFs that have the highest scores.
[00104] In some embodiments, the score is obtained based on deployment information for the communication network and on an overlap between decomposition options for a plurality of VNFs. [00105] In some embodiments, the score is calculated and is a metric that identifies a degree of fulfillment of an identified objective in the communication network.
[00106] In some embodiments, the calculated score includes three component scores. The three component scores include (i) a first score that identifies whether a deployed instance in a physical node of the communication network can be reused to serve a subfunction of a defined decomposition option for the VNF or of a combination of decomposition options for a plurality of VNFs; (ii) a second score that identifies a number of subfunctions that overlap between defined decomposition options for a plurality of VNFs; and (iii) when there is no deployed instance that can be reused for the subfunction, a third score that represents an amount of resources needed to instantiate a new instance for a subfunction of a defined decomposition option for the VNF or a new instance for a subfunction of a combination of defined decomposition options for the plurality of VNFs. [00107] Referring to Figure 13, in some embodiments, the defined decomposition options for the VNF are in a service chain for an identified pair of a source node and destination node, and the method further includes initializing (1301) a hierarchical structure for the defined decomposition options for an identified VNF in the service chain, wherein the source node is set as a root node in the hierarchical structure. The method further includes evaluating (1303) a first defined decomposition option for the identified VNF in the service chain. The evaluating comprising (i) determining whether a subfunction in the first defined decomposition option can be further decomposed, (ii) if the subfunction can be further decomposed, exploring a decomposition option of the subfunction, and (iii) if the subfunction cannot be further decomposed, exploring connections between the first defined decomposition option and decomposition options of a prior VNF evaluated in the hierarchical structure that are compatible with the first defined decomposition option, and connecting the first defined decomposition option and the defined decomposition options of the prior VNF in a plurality of paths.
[00108] In some embodiment, the score is calculated for each path in the plurality of paths from the source node to the first defined decomposition option in the hierarchical structure.
[00109] In some embodiments, the method further includes from the plurality of paths, selecting (1305) the path for the decomposition option having the highest score. [00110] In some embodiments, the method further includes eliminating (1307) the remaining paths that are not the selected path.
[00111] In some embodiments, the method further includes repeating (1309), the evaluating (1303), the selecting (1305), and the eliminating (1307) for remaining decomposition options for the identified VNF in the service chain, wherein the repeating results in a single best path from the source node to each decomposition option for the identified VNF.
[00112] Referring to Figure 14, in some embodiments, the method further includes checking (1401) whether decomposition options of the prior VNF can allow skipping the identified VNF. The method further includes when the decomposition options of the prior VNF can allow skipping the identified VNF, creating (1403) a dummy decomposition option for the identified VNF. The method further includes connecting (1405), in a plurality of paths, the dummy decomposition option to a plurality of the decomposition options of the prior VNF that allowed skipping the identified VNF. The method further includes calculating (1407) a score for each path in the plurality of paths from the source node to the dummy decomposition option for the identified VNF. The method further includes selecting (1409) the path having the highest score in the plurality of paths from the source node to the dummy decomposition option for the identified VNF.
[00113] In some embodiments, the method further includes eliminating (1511) the remaining paths that are not the selected path.
[00114] In some embodiments, the method further includes repeating (1413) the checking (1401), the creating (1403), the connecting (1405), the calculating (1407), the selecting (1409), and the eliminating (1411) for remaining VNFs in the service chain.
[00115] Referring to Figure 15, in some embodiments, the method further includes connecting (1501) the destination node to decomposition options of a last VNF in the hierarchical structure. The method further includes identifying (1503) the paths from the source node to the destination node that remain.
[00116] Referring to Figure 16, in some embodiments, the method further includes decomposing (1601) a subfunction of a defined decomposition option for the VNF into a plurality of decomposition options in a hierarchical structure for a service chain between a source node and the VNF. 1 [00117] In some embodiments, the decomposing includes checking whether the first subfunction in the defined decomposition option can be further decomposed into a plurality of decomposition options; and, when the first subfunction cannot be decomposed into a plurality of decomposition options, creating a default decomposition option that contains the first subfunction.
[00118] In some embodiments, the method further includes selecting a decomposition option of the first subfunction to be evaluated. The method further includes checking whether a subfunction in the selected decomposition option can be decomposed into a further decomposition option. The method further includes, (i) when the subfunction in the selected decomposition option can be decomposed into further decomposition options, explore the decomposition options of the subfunction, and (ii) when the subfunction in the selected decomposition option cannot be decomposed, explore connections between the selected decomposition option and a plurality of decomposition options of a previously selected VNF or subfunction. The method further includes connecting the selected decomposition option and at least some of the plurality of decomposition options of the previously selected VNF or subfunction in a plurality of paths in the hierarchical structure.
[00119] In some embodiments, the method further includes calculating (1603) a score for the paths in the plurality of paths in the hierarchical structure. The method further includes selecting (1605) the path for the selected decomposition option of the first subfunction having the highest score.
[00120] In some embodiments, the method further includes eliminating (1607) the remaining paths that are not the selected path.
[00121] In some embodiments, the method further includes repeating (1609) the checking, the creating, the selecting, the checking, the exploring, the connecting, the calculating (1603), the selecting (1605), and the eliminating (1607) for the remaining decomposition options for the first subfunction.
[00122] In some embodiments, the method further includes repeating (1611) the repeating (1609) for remaining subfunctions of the defined decomposition option.
[00123] Referring to Figure 17, in some embodiments, the method further includes providing (1701) a VNF-FG including the identified decomposition option of each VNF for the NS that has the highest score to another network node to embed the identified decomposition options on an infrastructure of the communication network as well as other potential VNF-FGs.
[00124] In some embodiments, the network node includes one of an operation support system (OSS) node and a business support system (BSS) node.
[00125] The various operations from the flow charts of Figure 13-17 may be optional with respect to some embodiments of a method performed by a network node.
[00126] While embodiments discussed above are explained in the non-limiting context of a tree graph or a VNF-FG, the present disclosure is not so limited. Instead, other hierarchical relationships may be used. Additionally, the operations noted in embodiments above may occur out of the order noted. For example, two operations may be described in succession but may in fact be executed substantially concurrently or the operations may sometimes be executed in the reverse order, depending on the operations involved. Moreover, the operations may be separated into multiple operations and/or the operations of two or more operations may be at least partially integrated, Finally, other operations may be added/inserted between the operations that are described, and/or operations may be omitted without departing from the scope of this disclosure.
[00127] Further definitions and embodiments are discussed below.
[00128] In the above-description of various embodiments of the present disclosure, it is to be understood that the terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the present disclosure. Unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this disclosure belong. It will be further understood that terms, such as those defined in commonly used dictionaries, should be interpreted as having a meaning that is consistent with their meaning in the context of this specification and the relevant art and will not be interpreted in an idealized or overly formal sense unless expressly so defined herein.
[00129] When an element is referred to as being "connected", "coupled", "responsive", or variants thereof to another element, it can be directly connected, coupled, or responsive to the other element or intervening elements may be present. In contrast, when an element is referred to as being "directly connected", "directly coupled", "directly responsive", or variants thereof to another element, there are no intervening elements present. Furthermore, "coupled", "connected", "responsive", or variants thereof as used herein may include wirelessly coupled, connected, or responsive. As used herein, the singular forms "a", "an" and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. Well-known functions or constructions may not be described in detail for brevity and/or clarity. The term "and/or" includes any and all combinations of one or more of the associated listed items.
[00130] It will be understood that although the terms first, second, third, etc. may be used herein to describe various elements/operations, these elements/operations should not be limited by these terms. These terms are only used to distinguish one element/operation from another element/operation. Thus, a first element/operation in some embodiments could be termed a second element/operation in other embodiments without departing from the teachings of this disclosure. The same reference numerals or the same reference designators denote the same or similar elements throughout the specification.
[00131] As used herein, the terms "comprise", "comprising", "comprises", "include", "including", "includes", "have", "has", "having", or variants thereof are open-ended, and include one or more stated features, integers, elements, steps, components or functions but does not preclude the presence or addition of one or more other features, integers, elements, steps, components, functions or groups thereof. Furthermore, as used herein, the common abbreviation "e.g.", which derives from the Latin phrase "exempli gratia," may be used to introduce or specify a general example or examples of a previously mentioned item, and is not intended to be limiting of such item. The common abbreviation "i.e.", which derives from the Latin phrase "id est," may be used to specify a particular item from a more general recitation.
[00132] Example embodiments are described herein with reference to block diagrams and/or flowchart illustrations of computer-implemented methods, apparatus (systems and/or devices) and/or computer program products. It is understood that a block of the block diagrams and/or flowchart illustrations, and combinations of blocks in the block diagrams and/or flowchart illustrations, can be implemented by computer program instructions that are performed by one or more computer circuits. These computer program instructions may be provided to a processor circuit of a general purpose computer circuit, special purpose computer circuit, and/or other programmable data processing circuit to produce a machine, such that the instructions, which execute via the processor of the computer and/or other programmable data processing apparatus, transform and control transistors, values stored in memory locations, and other hardware components within such circuitry to implement the functions/acts specified in the block diagrams and/or flowchart block or blocks, and thereby create means (functionality) and/or structure for implementing the functions/acts specified in the block diagrams and/or flowchart block(s).
[00133] These computer program instructions may also be stored in a tangible computer-readable medium that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable medium produce an article of manufacture including instructions which implement the functions/acts specified in the block diagrams and/or flowchart block or blocks. Accordingly, embodiments of the present disclosure may be embodied in hardware and/or in software (including firmware, resident software, microcode, etc.) that runs on a processor such as a digital signal processor, which may collectively be referred to as "circuitry," "a module" or variants thereof.
[00134] Many variations and modifications can be made to the embodiments without substantially departing from the principles of the present disclosure. All such variations and modifications are intended to be included herein within the scope of this disclosure. Accordingly, the above disclosed subject matter is to be considered illustrative, and not restrictive, and the examples of embodiments are intended to cover all such modifications, enhancements, and other embodiments, which fall within the spirit and scope of the present disclosure. Thus, to the maximum extent allowed by law, the scope of this disclosure is to be determined by the broadest permissible interpretation of the present disclosure including the examples of embodiments and their equivalents, and shall not be restricted or limited by the foregoing detailed description.

Claims

CLAIMS:
1. A method performed by a network node (313, 1100) for ranking topological decomposition options of a virtual network function, VNF, or combinations of topological decomposition options of VNFs to form a virtual network function forwarding graph, VNF- FG, for a network service, NS, in a communication network, the method comprising: evaluating (1201) the topological decomposition comprising a plurality of decomposition options, the evaluation based on a plurality of scores for the plurality of decomposition options where each score corresponds to a defined decomposition option for the VNF or combinations of decomposition options for VNFs for the NS; and ranking (1203) the plurality of decomposition options based on respective scores of the defined decomposition options for the VNF or combinations of the decomposition options for the VNFs, wherein the ranking identifies a set of decomposition options for VNFs that have the highest scores.
2. The method of Claim 1, wherein the score is obtained based on deployment information for the communication network and on an overlap between decomposition options for a plurality of VNFs.
3. The method of Claims 1 or 2, wherein the score is calculated and is a metric that identifies a degree of fulfillment of an identified objective in the communication network.
4. The method of Claim 3, wherein the calculated score comprises three component scores, the three component scores comprising (i) a first score that identifies whether a deployed instance in a physical node of the communication network can be reused to serve a subfunction of a defined decomposition option for the VNF or of a combination of decomposition options for a plurality of VNFs; (ii) a second score that identifies a number of subfunctions that overlap between defined decomposition options for a plurality of VNFs; and (iii) when there is no deployed instance that can be reused for the subfunction, a third score that represents an amount of resources needed to
32 instantiate a new instance for a subfunction of a defined decomposition option for the VNF or a new instance for a subfunction of a combination of defined decomposition options for the plurality of VNFs.
5. The method of any one of Claims 1 to 4, wherein the defined decomposition options for the VNF are in a service chain for an identified pair of a source node and destination node, and the method further comprising: initializing (1301) a hierarchical structure for the defined decomposition options for an identified VNF in the service chain, wherein the source node is set as a root node in the hierarchical structure; and evaluating (1303) a first defined decomposition option for the identified VNF in the service chain, the evaluating comprising (i) determining whether a subfunction in the first defined decomposition option can be further decomposed, (ii) if the subfunction can be further decomposed, exploring a decomposition option of the subfunction, and (iii) if the subfunction cannot be further decomposed, exploring connections between the first defined decomposition option and decomposition options of a prior VNF evaluated in the hierarchical structure that are compatible with the first defined decomposition option, and connecting the first defined decomposition option and the defined decomposition options of the prior VNF in a plurality of paths.
6. The method of Claim 5, wherein the score is calculated for each path in the plurality of paths from the source node to the first defined decomposition option in the hierarchical structure.
7. The method Claim 6, the method further comprising: from the plurality of paths, selecting (1305) the path for the decomposition option having the highest score.
8. The method of Claim 7, the method further comprising: eliminating (1307) the remaining paths that are not the selected path.
33
9. The method of any one of Claims 5 to 8, the method further comprising: repeating (1309) the evaluating (1303), the selecting (1305), and eliminating (1307) for remaining decomposition options for the identified VNF in the service chain, wherein the repeating results in a single best path from the source node to each decomposition option for the identified VNF.
10. The method of any one of Claims 5 to 9, the method further comprising: checking (1401) whether decomposition options of the prior VNF can allow skipping the identified VNF; when the decomposition options of the prior VNF can allow skipping the identified VNF, creating (1403) a dummy decomposition option for the identified VNF; connecting (1405), in a plurality of paths, the dummy decomposition option to a plurality of the decomposition options of the prior VNF that allowed skipping the identified VNF; calculating (1407) a score for each path in the plurality of paths from the source node to the dummy decomposition option for the identified VNF; and selecting (1409) the path having the highest score in the plurality of paths from the source node to the dummy decomposition option for the identified VNF.
11. The method of Claim 10, the method further comprising: eliminating (1411) the remaining paths that are not the selected path.
12. The method of Claim 11, the method further comprising: repeating (1413) the checking (1401), the creating (1403), the connecting (1405), the calculating (1407), the selecting (1409) and the eliminating (1411) for remaining VNFs in the service chain.
13. The method of any one of Claims 5 to 12, the method further comprising: connecting (1501) the destination node to decomposition options of a last VNF in the hierarchical structure; and identifying (1503) the paths from the source node to the destination node that remain.
14. The method of any one or of Claims 1 to 13, the method further comprising: decomposing (1601) a subfunction of a defined decomposition option for the VNF into a plurality of decomposition options in a hierarchical structure for a service chain between a source node and the VNF.
15. The method of Claim 13, wherein the decomposing comprises: checking whether the first subfunction in the defined decomposition option can be further decomposed into a plurality of decomposition options; and when the first subfunction cannot be decomposed into a plurality of decomposition options, creating a default decomposition option that contains the first subfunction.
16. The method of Claim 15, the method further comprising: selecting a decomposition option of the first subfunction to be evaluated; checking whether a subfunction in the selected decomposition option can be decomposed into a further decomposition option;
(i) when the subfunction in the selected decomposition option can be decomposed into further decomposition options, explore the decomposition options of the subfunction;
(ii) when the subfunction in the selected decomposition option cannot be decomposed, exploring connections between the selected decomposition option and a plurality of decomposition options of a previously selected VNF or subfunction; and connecting the selected decomposition option and at least some of the plurality of decomposition options of the previously selected VNF or subfunction in a plurality of paths in the hierarchical structure.
17. The method of Claim 16, the method further comprising: calculating (1603) a score for the paths in the plurality of paths in the hierarchical structure; and selecting (1605) the path for the selected decomposition option of the first subfunction having the highest score.
18. The method of Claim 17, the method further comprising: eliminating (1607) the remaining paths that are not the selected path.
19. The method of Claims 15 or 18, the method further comprising: repeating (1609) the checking, the creating, the selecting, the checking, the exploring, the connecting, the calculating (1603), the selecting (1605), and the eliminating (1607) for the remaining decomposition options for the first subfunction.
20. The method of any one of Claims 15 to 19, the method further comprising: repeating (1611) the repeating (1609) for remaining subfunctions of the defined decomposition option.
21. The method of any one of Claims 1 to 20, the method further comprising: providing (1701) a VNF-FG comprising the identified decomposition option of each
VNF for the NS that has the highest score to another network node to embed the identified decomposition options on an infrastructure of the communication network as well as other potential VNF-FGs.
22. The method of any one of Claims 1 to 21, wherein the network node comprises one of an operation support system node and a business support system node.
23. A network node (313, 1100) for ranking topological decomposition options of a virtual network function, VNF, or combinations of topological decomposition options of VNFs to form a virtual network function forwarding graph, VNF-FG, for a network service, NS, in a communication network, the network node comprising: at least one processor (1103);
36 at least one memory (1105) connected to the at least one processor (1103) and storing program code that is executed by the at least one processor to perform operations comprising: evaluate the topological decomposition comprising a plurality of decomposition options, the evaluation based on a plurality of scores for the plurality of decomposition options where each score corresponds to a defined decomposition option for the VNF or combinations of decomposition options for VNFs for the NS; and rank the plurality of decomposition options based on respective scores of the defined decomposition options for the VNF or combinations of the decomposition options for the VNFs, wherein the ranking identifies a set of decomposition options for VNFs that have the highest scores.
24. The network node of Claim 23, wherein the at least one memory (1105) connected to the at least one processor (1103) and storing program code that is executed by the at least one processor to perform operations according to any one of Claims 2 to 22.
25. A network node (313, 1100) for ranking topological decomposition options of a virtual network function, VNF, or combinations of topological decomposition options of VNFs to form a virtual network function forwarding graph, VNF-FG, for a network service, NS, in a communication network, the network node adapted to perform operations comprising: evaluate the topological decomposition comprising a plurality of decomposition options, the evaluation based on a plurality of scores for the plurality of decomposition options where each score corresponds to a defined decomposition option for the VNF or combinations of decomposition options for VNFs for the NS; and rank the plurality of decomposition options based on respective scores of the defined decomposition options for the VNF or combinations of the decomposition options for the VNFs, wherein the ranking identifies a set of decomposition options for VNFs that have the highest scores.
37
26. The network node of Claim 25 adapted to perform operations according to any one of Claims 2 to 22.
27. A computer program comprising program code to be executed by processing circuitry (1103) of a network node (313, 1100) for ranking topological decomposition options of a virtual network function, VNF, or combinations of topological decomposition options of VNFs to form a virtual network function forwarding graph, VNF- FG, for a network service, NS, in a communication network, whereby execution of the program code causes the network node to perform operations comprising: evaluate the topological decomposition comprising a plurality of decomposition options, the evaluation based on a plurality of scores for the plurality of decomposition options where each score corresponds to a defined decomposition option for the VNF or combinations of decomposition options for VNFs for the NS; and rank the plurality of decomposition options based on respective scores of the defined decomposition options for the VNF or combinations of the decomposition options for the VNFs, wherein the ranking identifies a set of decomposition options for VNFs that have the highest scores.
28. The computer program of Claim 27, whereby execution of the program code cause the network node (313, 1100) to perform operations according to any one of Claims 2 to 22.
29. A computer program product comprising a non-transitory storage medium including program code to be executed by processing circuitry (1103) of a network node (313, 1100) for ranking topological decomposition options of a virtual network function, VNF, or combinations of topological decomposition options of VNFs to form a virtual network function forwarding graph, VNF-FG, for a network service, NS, in a communication network , whereby execution of the program code causes the network node to perform operations comprising: evaluate the topological decomposition comprising a plurality of decomposition options, the evaluation based on a plurality of scores for the plurality of decomposition
38 options where each score corresponds to a defined decomposition option for the VNF or combinations of decomposition options for VNFs for the NS; and rank the plurality of decomposition options based on respective scores of the defined decomposition options for the VNF or combinations of the decomposition options for the VNFs, wherein the ranking identifies a set of decomposition options for VNFs that have the highest scores.
30. The computer program product of Claim 29, whereby execution of the program code causes the network node (313, 1100) to perform operations according to any one of Claims 2 to 22.
39
PCT/IB2021/059480 2021-10-15 2021-10-15 Ranking decomposition options of virtual network function WO2023062418A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/IB2021/059480 WO2023062418A1 (en) 2021-10-15 2021-10-15 Ranking decomposition options of virtual network function

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/IB2021/059480 WO2023062418A1 (en) 2021-10-15 2021-10-15 Ranking decomposition options of virtual network function

Publications (1)

Publication Number Publication Date
WO2023062418A1 true WO2023062418A1 (en) 2023-04-20

Family

ID=78516874

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IB2021/059480 WO2023062418A1 (en) 2021-10-15 2021-10-15 Ranking decomposition options of virtual network function

Country Status (1)

Country Link
WO (1) WO2023062418A1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170279923A1 (en) * 2016-03-25 2017-09-28 Ca, Inc. Provisioning of network services based on virtual network function performance characteristics

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170279923A1 (en) * 2016-03-25 2017-09-28 Ca, Inc. Provisioning of network services based on virtual network function performance characteristics

Non-Patent Citations (11)

* Cited by examiner, † Cited by third party
Title
B. SPINNEWYNP. H. ISOLANIC. DONATOJ. F. BOTEROS. LATRE: "Coordinated Service Composition and Embedding of 5G Location-Constrained Network Functions", IEEE TRANSACTIONS ON NETWORK AND SERVICE MANAGEMENT, vol. 15, no. 4, December 2018 (2018-12-01), pages 1488 - 1502, XP011700555, DOI: 10.1109/TNSM.2018.2876794
D. LIP. HONGW. WANGJ. PEI: "Virtual Network Function Placement with Function Decomposition for Virtual Network Slice", PROC. IEEE CONFERENCE ON STANDARDS FOR COMMUNICATIONS AND NETWORKING (CSCN, 2018, pages 1 - 4, XP033480453, DOI: 10.1109/CSCN.2018.8581851
J. G. HERRERAJ. F. BOTERO: "Resource Allocation in NFV: A Comprehensive Survey", IEEE TRANSACTIONS ON NETWORK SERVICE AND MANAGEMENT, vol. 13, no. 3, September 2016 (2016-09-01), pages 518 - 532, XP011624420, DOI: 10.1109/TNSM.2016.2598420
J. LIW. SHIQ. YEW. ZHUANGX. SHENX. LI: "Online Joint VNF Chain Composition and Embedding for 5G Networks", PROC. IEEE GLOBAL COMMUNICATIONS CONFERENCE (GLOBECOM, 2018, pages 1 - 6, XP033519862, DOI: 10.1109/GLOCOM.2018.8647700
L. WANGZ. LUX. WENR. KNOPPR. GUPTA: "Joint Optimization of Service Function Chaining and Resource Allocation in Network Function Virtualization", IEEE ACCESS, vol. 4, 2016, pages 8084 - 8094
LI DEFANG ET AL: "Virtual Network Function Placement with Function Decomposition for Virtual Network Slice", 2018 IEEE CONFERENCE ON STANDARDS FOR COMMUNICATIONS AND NETWORKING (CSCN), IEEE, 29 October 2018 (2018-10-29), pages 1 - 4, XP033480453, DOI: 10.1109/CSCN.2018.8581851 *
M. T. BECKJ. F. BOTERO: "Coordinated Allocation of Service Function Chains", PROC. IEEE GLOBAL COMMUNICATIONS CONFERENCE (GLOBECOM, 2015, pages 1 - 6, XP032872589, DOI: 10.1109/GLOCOM.2014.7417401
N. NAZARZADEOGHAZF. KHENDEKM. TOEROE: "Automated Design of Network Services from Network Service Requirements", PROC. IEEE CONFERENCE ON INNOVATION IN CLOUDS, INTERNET AND NETWORKS AND WORKSHOPS (ICIN, 2020, pages 63 - 70, XP033749264, DOI: 10.1109/ICIN48450.2020.9059324
PENTELAS ANGELOS ET AL: "Service Function Chain Graph Transformation for Enhanced Resource Efficiency in NFV", 2021 IFIP NETWORKING CONFERENCE (IFIP NETWORKING), IFIP, 21 June 2021 (2021-06-21), pages 1 - 9, XP033939135, DOI: 10.23919/IFIPNETWORKING52078.2021.9472854 *
R. SZABOM. KINDF. WESTPHALH. WOESNERD. JOCHAA. CSASZAR: "Elastic network functions: opportunities and challenges", IEEE NETWORK, vol. 29, no. 3, May 2015 (2015-05-01), pages 15 - 21, XP011582762, DOI: 10.1109/MNET.2015.7113220
S. M. A. ARAUJOF. S. H. DE SOUZAG. R. MATEUS: "A Composition Selection Mechanism for Chaining and Placement of Virtual Network Functions", PROC. IEEE INTERNATIONAL CONFERENCE ON NETWORK AND SERVICE MANAGEMENT (CNSM, 2019, pages 1 - 5, XP033725912, DOI: 10.23919/CNSM46954.2019.9012746

Similar Documents

Publication Publication Date Title
US10547563B2 (en) Efficient message forwarding for distributed resource orchestration
Sallam et al. Shortest path and maximum flow problems under service function chaining constraints
Beck et al. Scalable and coordinated allocation of service function chains
US10298466B2 (en) Systems and methods for SDT to interwork with NFV and SDN
US11016673B2 (en) Optimizing serverless computing using a distributed computing framework
Bouten et al. Semantically enhanced mapping algorithm for affinity-constrained service function chain requests
CN115208812B (en) Service processing method and device, equipment and computer readable storage medium
Melo et al. Virtual network mapping–an optimization problem
Botero et al. A novel paths algebra-based strategy to flexibly solve the link mapping stage of VNE problems
Kibalya et al. A reinforcement learning based approach for 5G network slicing across multiple domains
CN110555079B (en) Data processing method, device, equipment and storage medium
Huang et al. Converged network-cloud service composition with end-to-end performance guarantee
CN114071582A (en) Service chain deployment method and device for cloud-edge collaborative Internet of things
Esposito et al. A general distributed approach to slice embedding with guarantees
Kibalya et al. A novel dynamic programming inspired algorithm for embedding of virtual networks in future networks
Siasi et al. Priority-aware sfc provisioning in fog computing
Ebrahimzadeh et al. h-horizon sequential look-ahead greedy algorithm for VNF-FG embedding
Satpathy et al. CoMap: An efficient virtual network re-mapping strategy based on coalitional matching theory
Li et al. Multi-domain virtual network embedding with coordinated link mapping
Guler et al. Embedding virtual multicast trees in software-defined networks
Recse et al. Look-ahead VNF-FG embedding framework for latency-sensitive network services
Chetty et al. Dynamic decomposition of service function chain using a deep reinforcement learning approach
WO2023062418A1 (en) Ranking decomposition options of virtual network function
Nguyen et al. RT-VNE: A real-time strategy for Virtual Network Embedding towards resource efficiency
CN116719644A (en) Computing power dispatching method, computing power dispatching device, electronic equipment and computer readable storage medium

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21802427

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE