public class Offline_nfvPlacementILP_v1 extends Object implements com.net2plan.interfaces.networkDesign.IAlgorithm
The demands in the input design are service chain requests. The design produces one or more routes (just one if non-bifurcated routing option is used) from the demand input to the output nodes, traversing the resources of the required types (e.g. firewall, NAT, ...). Resource types to traverse are user defined. Each resource type is associated a cost, a capacity, and an amount of IT resources it consumes when instantiated (CPU, RAM, HD). The algorithms produces a design where all the service chain requests are satisfied, traversing the appropriate user-defined resources so that no resource is oversubscribed, and IT resources (CPU, HD, RAM) in the nodes are also not oversubscribed.
The algorithm solves an ILP based on a flow-path formulation, where for each demand, a maximum of k
(user-defined
parameter) minimum cost service chains are enumerated, using a variant of the k-shortest path problem.
Each candidate service chain for a demand traverses the appropriate resources
in the appropriate order. The formulation optimally searches among all the options for all the demands, the best global solution.
The result is returned by instanting the appropriate Demand (service chain request), Route (service chain) and Resource (virtualized functions, and It resources) objects in the output design.
The details of the algorithm will be provided in a publication currently under elaboration.
|
Constructor and Description |
---|
Offline_nfvPlacementILP_v1() |
Modifier and Type | Method and Description |
---|---|
String |
executeAlgorithm(com.net2plan.interfaces.networkDesign.NetPlan netPlan,
Map<String,String> algorithmParameters,
Map<String,String> net2planParameters) |
String |
getDescription() |
List<com.net2plan.utils.Triple<String,String,String>> |
getParameters() |
public Offline_nfvPlacementILP_v1()
public String executeAlgorithm(com.net2plan.interfaces.networkDesign.NetPlan netPlan, Map<String,String> algorithmParameters, Map<String,String> net2planParameters)
executeAlgorithm
in interface com.net2plan.interfaces.networkDesign.IAlgorithm
public String getDescription()
getDescription
in interface com.net2plan.interfaces.networkDesign.IAlgorithm
getDescription
in interface com.net2plan.internal.IExternal
public List<com.net2plan.utils.Triple<String,String,String>> getParameters()
getParameters
in interface com.net2plan.interfaces.networkDesign.IAlgorithm
getParameters
in interface com.net2plan.internal.IExternal
Copyright © 2018. All rights reserved.