Package | Description |
---|---|
com.net2plan.interfaces.networkDesign |
Provides a set of classes and interfaces for the network design tool.
|
com.net2plan.interfaces.simulation |
Provides a set of classes for the online simulator tool.
|
com.net2plan.libraries |
Provides a set of useful libraries to develop algorithms and reports.
|
com.net2plan.research.niw.networkModel |
Modifier and Type | Method and Description |
---|---|
Demand |
NetPlan.addDemand(Node ingressNode,
Node egressNode,
double offeredTraffic,
Constants.RoutingType routingType,
Map<String,String> attributes,
NetworkLayer... optionalLayerParameter)
Adds a new traffic demand.
|
Demand |
Link.coupleToNewDemandCreated(NetworkLayer newDemandLayer,
Constants.RoutingType routingTypeDemand)
Creates a new
Demand in the given layer, with same end nodes as the link, and then couples the link to the new created demand. |
Demand |
Demand.createBidirectionalPair()
Creates a demand in the opposite direction as this, and with the same attributes, and associate both as bidirectional pairs.
|
Demand |
Demand.getBidirectionalPair()
If this demand was added using the method addDemandBidirectional(),
returns the demand in the other direction (if it was not previously removed).
|
Demand |
Link.getCoupledDemand()
Returns the unicast
Demand the link is coupled to, or null if none. |
Demand |
Route.getDemand()
Returns the demand that the route is associated to
|
Demand |
NetPlan.getDemand(int index,
NetworkLayer... optionalLayerParameter)
Returns the demand with the given index.
|
Demand |
NetPlan.getDemandFromId(long uid)
Returns the demand with the given unique identifier.
|
Modifier and Type | Method and Description |
---|---|
Pair<Demand,Demand> |
NetPlan.addDemandBidirectional(Node ingressNode,
Node egressNode,
double offeredTraffic,
Constants.RoutingType routingType,
Map<String,String> attributes,
NetworkLayer... optionalLayerParameter)
Adds two demands, one in each direction,.
|
Pair<Demand,Demand> |
NetPlan.addDemandBidirectional(Node ingressNode,
Node egressNode,
double offeredTraffic,
Constants.RoutingType routingType,
Map<String,String> attributes,
NetworkLayer... optionalLayerParameter)
Adds two demands, one in each direction,.
|
List<Demand> |
NetPlan.addDemandsFromTrafficMatrix(DoubleMatrix2D trafficMatrix,
Constants.RoutingType routingType,
NetworkLayer... optionalLayerParameter)
Adds new traffic demands froma traffic matrix given as a
DoubleMatrix2D object. |
static SortedMap<Demand,List<Pair<List<NetworkElement>,List<NetworkElement>>>> |
NetPlan.computeUnicastCandidate11ServiceChainList(SortedMap<Demand,List<List<NetworkElement>>> cpl,
int disjointType)
Computes a list of disjoint service chain pairs for each demand (service chain requests), using the service chain paths in the input
candidate path list given.
|
SortedMap<Demand,List<List<NetworkElement>>> |
NetPlan.computeUnicastCandidateServiceChainList(DoubleMatrix1D linkCosts,
DoubleMatrix1D resourceCosts,
int K,
double maxCostServiceChain,
double maxLengthInKmPerSubpath,
int maxNumHopsPerSubpath,
double maxPropDelayInMsPerSubpath,
NetworkLayer... optionalLayerParameter)
Computes for each demand (service chain request) up to k minimum cost service chain paths (sequence and links and resources), according to
the link and resources cost information provided, as well as other constraints defined in the input parameters.
|
SortedMap<Demand,InterLayerPropagationGraph.IPGNode> |
InterLayerPropagationGraph.getDemand2IGPVertexMap() |
List<Demand> |
NetPlan.getDemands(NetworkLayer... optionalLayerParameter)
Returns the array of demands for the given layer (i-th position, corresponds to index i).
|
List<Demand> |
NetPlan.getDemandsBlocked(NetworkLayer... optionalLayerParameter)
Returns the demands that have blocked traffic in the given layer.
|
SortedSet<Demand> |
NetPlan.getDemandsCoupled(NetworkLayer... optionalLayerParameter)
Returns the set of unicast demands that are coupled.
|
List<Demand> |
NetPlan.getDemandsHopByHopRouted(NetworkLayer... optionalLayerParameter)
Returns the array of demands in the given layer that are hop-by-hop routed, ordered by its index.
|
SortedSet<Demand> |
InterLayerPropagationGraph.getDemandsInGraph() |
Pair<SortedSet<Demand>,SortedSet<MulticastDemand>> |
NetworkLayer.getDemandsPerQosType(String qosType)
Given a Qos type, returns the uncoupled demands in this layer with that QoS type, or empty set if none.
|
Triple<SortedSet<Demand>,SortedSet<Demand>,SortedSet<MulticastDemand>> |
Link.getDemandsPotentiallyTraversingThisLink()
Returns the set of demands that could potentially put traffic in this link,
according to the routes/forwarding rules defined.
|
Triple<SortedSet<Demand>,SortedSet<Demand>,SortedSet<MulticastDemand>> |
Link.getDemandsPotentiallyTraversingThisLink()
Returns the set of demands that could potentially put traffic in this link,
according to the routes/forwarding rules defined.
|
List<Demand> |
NetPlan.getDemandsSourceRouted(NetworkLayer... optionalLayerParameter)
Returns the array of demands in the given layer that are source routed, ordered by its index.
|
SortedSet<Demand> |
Link.getDemandsWithNonZeroForwardingRules()
Returns the set of demands in this layer, with non zero forwarding rules defined for them in this link.
|
SortedMap<Pair<Demand,Link>,Double> |
Link.getForwardingRules()
Returns the non zero forwarding rules that are defined in the link.
|
SortedMap<Pair<Demand,Link>,Double> |
Demand.getForwardingRules()
Returns the non zero forwarding rules as a map of pairs demand-link, and its associated splitting factor (between 0 and 1).
|
SortedMap<Pair<Demand,Link>,Double> |
Node.getForwardingRules(Demand demand)
Returns the set of forwarding rules of links initiated in the node and associated to the given demand (the links are then in the same layer
as the demand), that have a non-zero splitting factor
|
SortedMap<Pair<Demand,Link>,Double> |
NetPlan.getForwardingRules(NetworkLayer... optionalLayerParameter)
Returns the forwarding rules for the given layer.
|
SortedMap<Pair<Demand,Link>,Double> |
Node.getForwardingRules(NetworkLayer... optionalLayerParameter)
Returns the set of forwarding rules of links initiated in the node of the given layer,
which have a non-zero splitting factor.
|
SortedSet<Demand> |
Node.getIncomingDemands(NetworkLayer... optionalLayerParameter)
Returns the set of demands ending in the node, in the given layer.
|
SortedSet<Demand> |
Node.getIncomingDemandsAllLayers()
Returns the set of demands ending in the node, in any layer.
|
Triple<SortedMap<Demand,SortedSet<Link>>,SortedMap<Demand,SortedSet<Link>>,SortedMap<Pair<MulticastDemand,Node>,SortedSet<Link>>> |
Link.getLinksDownPropagationPotentiallyCarryingTrafficTraversingThisLink()
Returns the set of links in lower layers carry the traffic that traverses this link, before and after traversing it,
according to the routes/forwarding rules defined.
|
Triple<SortedMap<Demand,SortedSet<Link>>,SortedMap<Demand,SortedSet<Link>>,SortedMap<Pair<MulticastDemand,Node>,SortedSet<Link>>> |
Link.getLinksDownPropagationPotentiallyCarryingTrafficTraversingThisLink()
Returns the set of links in lower layers carry the traffic that traverses this link, before and after traversing it,
according to the routes/forwarding rules defined.
|
Triple<SortedMap<Demand,SortedSet<Link>>,SortedMap<Demand,SortedSet<Link>>,SortedMap<Pair<MulticastDemand,Node>,SortedSet<Link>>> |
Link.getLinksThisLayerPotentiallyCarryingTrafficTraversingThisLink()
Returns the set of links in this layer (including this) that carry the traffic that traverses this link, before and after traversing it,
according to the routes/forwarding rules defined.
|
Triple<SortedMap<Demand,SortedSet<Link>>,SortedMap<Demand,SortedSet<Link>>,SortedMap<Pair<MulticastDemand,Node>,SortedSet<Link>>> |
Link.getLinksThisLayerPotentiallyCarryingTrafficTraversingThisLink()
Returns the set of links in this layer (including this) that carry the traffic that traverses this link, before and after traversing it,
according to the routes/forwarding rules defined.
|
SortedSet<Demand> |
NetPlan.getNodePairDemands(Node originNode,
Node destinationNode,
boolean returnDemandsInBothDirections,
NetworkLayer... optionalLayerParameter)
Gets the set of demands at the given layer from the input nodes (if
returnDemandsInBothDirections is true , also the reversed links are included). |
SortedSet<Demand> |
Node.getOutgoingDemands(NetworkLayer... optionalLayerParameter)
Returns the set of demands initiated in the node, in the given layer.
|
SortedSet<Demand> |
Node.getOutgoingDemandsAllLayers()
Returns the set of demands initiated in the node, in any layer.
|
SortedSet<Demand> |
NetPlan.getTaggedDemands(String tag,
NetworkLayer... optionalLayerParameter)
Returns the set of demands in the given layer with the given tag.
|
SortedSet<Demand> |
Resource.getTraversingDemands()
Returns a set with the demands that have at least one route traversing this resource
|
Modifier and Type | Method and Description |
---|---|
Route |
NetPlan.addRoute(Demand demand,
double carriedTraffic,
double occupiedLinkCapacity,
List<Link> sequenceOfLinks,
Map<String,String> attributes)
Adds a new traffic route
|
Route |
NetPlan.addServiceChain(Demand demand,
double carriedTraffic,
List<Double> occupiedLinkAndResourceCapacities,
List<? extends NetworkElement> sequenceOfLinksAndResources,
Map<String,String> attributes)
Adds a new traffic service chain, which is a route which also traverses and occupied resources.
|
void |
Link.coupleToLowerLayerDemand(Demand demand)
Couples the link to a unicast
Demand in the lower layer. |
double |
NetPlan.getForwardingRuleCarriedTraffic(Demand demand,
Link link)
Returns the traffic that is carried using a forwarding rule, in the given layer.
|
SortedMap<Pair<Demand,Link>,Double> |
Node.getForwardingRules(Demand demand)
Returns the set of forwarding rules of links initiated in the node and associated to the given demand (the links are then in the same layer
as the demand), that have a non-zero splitting factor
|
double |
NetPlan.getForwardingRuleSplittingFactor(Demand demand,
Link link)
Returns the splitting factor of the forwarding rule of the given demand and link, which must be of the same layer.
|
double |
Link.getOccupiedCapacityFromDemand(Demand d) |
void |
Demand.setBidirectionalPair(Demand d)
Sets the given demand as the bidirectional pair of this demand.
|
double |
NetPlan.setForwardingRule(Demand demand,
Link link,
double splittingRatio)
Adds a new forwarding rule (or override an existing one), to the layer of the demand and link (must be in the same layer).
|
Modifier and Type | Method and Description |
---|---|
static SortedMap<Demand,List<Pair<List<NetworkElement>,List<NetworkElement>>>> |
NetPlan.computeUnicastCandidate11ServiceChainList(SortedMap<Demand,List<List<NetworkElement>>> cpl,
int disjointType)
Computes a list of disjoint service chain pairs for each demand (service chain requests), using the service chain paths in the input
candidate path list given.
|
DoubleMatrix2D |
NetPlan.getMatrixDemand2LinkTrafficCarried(SortedSet<Demand> demandsOfInterest,
NetworkLayer... optionalLayerParameter)
Returns the demand-link incidence matrix (DxE in which an element δde is equal to the amount of traffic of each demand carried in each link).
|
void |
NetPlan.setForwardingRules(Collection<Demand> demands,
Collection<Link> links,
Collection<Double> splittingFactors,
boolean removePreviousRulesAffectedDemands)
Adds a set of forwarding rules (or override existing ones).
|
void |
NetPlan.setForwardingRules(DoubleMatrix2D f_de,
Set<Demand> demandsToUpdate,
NetworkLayer... optionalLayerParameter)
Sets the forwarding rules for the given design, only for the demands that are hop-by-hop.
|
void |
NetPlan.setRoutingFromDemandLinkCarriedTraffic(DoubleMatrix2D x_de,
boolean xdeValueAsFractionsRespectToDemandOfferedTraffic,
boolean removeCycles,
Set<Demand> demandsToSetRouting,
NetworkLayer... optionalLayerParameter)
Adds traffic routes (or forwarding rules, depending on the routing type) from demand-link routing at the given layer.
|
Constructor and Description |
---|
InterLayerPropagationGraph(SortedSet<Demand> initialDemands,
SortedSet<Link> initialLinks,
SortedSet<Pair<MulticastDemand,Node>> initialMDemands,
boolean upWards) |
Modifier and Type | Field and Description |
---|---|
Demand |
SimEvent.DemandRemove.demand |
Demand |
SimEvent.DemandModify.demand |
Demand |
SimEvent.RouteAdd.demand |
Demand |
SimEvent.DemandAdd.demandAddedToFillByProcessor |
Constructor and Description |
---|
DemandModify(Demand demand,
double offeredTraffic,
boolean modificationIsRelativeToCurrentOfferedTraffic)
Default constructor.
|
DemandRemove(Demand demand)
Default constructor.
|
RouteAdd(Demand demand,
List<Link> seqLinks,
double carriedTraffic,
double occupiedLinkCapacity)
Default constructor.
|
Modifier and Type | Field and Description |
---|---|
Demand |
WDMUtils.LightpathAdd.demand
The WDM demand the lightpath belongs to
|
Modifier and Type | Method and Description |
---|---|
static Triple<List<Demand>,List<Link>,List<Double>> |
IPUtils.computeECMPForwardinRules(List<Node> nodes,
List<Link> links,
List<Demand> demands,
DoubleMatrix1D linkWeightVector)
Computes the forwarding rules according to an OSPF/ECMP scheme, for the given demands.
|
static SortedMap<Demand,SortedMap<Link,Double>> |
GraphUtils.convert_xp2fdeMap(Collection<Route> routes)
Given a path-based routing, returns the forwarding rules map: fraction of traffic for each demand incoming to the link
initial node (or produced in it) forwarded to the link.
|
SortedMap<Demand,Double> |
TrafficMatrixForecastUtils.TmEstimationResults.getEstimationDemands() |
static SortedMap<Demand,Double> |
TrafficMatrixForecastUtils.getGravityModelEstimationFromCurrentCarriedTraffic(NetworkLayer layer) |
static SortedMap<Demand,Double> |
TrafficMatrixForecastUtils.getGravityModelEstimationFromMonitorTraffic(NetworkLayer layer,
Date date) |
Modifier and Type | Method and Description |
---|---|
static Route |
WDMUtils.addLightpath(Demand demand,
WDMUtils.RSA rsa,
double lineRateGbps)
Creates a new lightpath with the given RSA, as a
Route object. |
Double |
TrafficMatrixForecastUtils.TmEstimationResults.getEstimationDemand(Demand d) |
Modifier and Type | Method and Description |
---|---|
static Triple<List<Demand>,List<Link>,List<Double>> |
IPUtils.computeECMPForwardinRules(List<Node> nodes,
List<Link> links,
List<Demand> demands,
DoubleMatrix1D linkWeightVector)
Computes the forwarding rules according to an OSPF/ECMP scheme, for the given demands.
|
static Quadruple<DoubleMatrix2D,DoubleMatrix1D,DoubleMatrix1D,List<Constants.RoutingCycleType>> |
GraphUtils.convert_fde2xde(int numNodes,
List<Link> links,
SortedSet<Demand> demandsToConvert,
DoubleMatrix1D h_d,
DoubleMatrix2D f_de)
Given a forwarding rule mapping (fractions of traffic entering a node from demand 'd', leaving that node through link 'e'), and an offered traffic to the network,
it generates the resulting demand-link routing in the form x_de (amount of traffic from demand d, transmitted through link e).
|
static DoubleMatrix2D |
GraphUtils.convert_fte2fde(int numDemandsInLayer,
SortedSet<Demand> demandsToConvert,
DoubleMatrix2D f_te)
Given a destination-based routing in the form f_te (fractions of traffic in a node, that is forwarded through each of its output links), it generates the resulting demand-link routing in the form f_de (fractions of traffic in a node from demand d, transmitted through link e).
|
static Quadruple<DoubleMatrix2D,DoubleMatrix1D,DoubleMatrix1D,List<Constants.RoutingCycleType>> |
GraphUtils.convert_fte2xde(int numNodes,
int numDemandsInLayer,
List<Link> links,
SortedSet<Demand> demandsToConvert,
DoubleMatrix2D f_te)
Given a destination-based routing in the form f_te (fractions of traffic in a node, that is forwarded through each of its output links), and an offered traffic to the network, it generates the resulting demand-link routing in the form x_de (amount of traffic from demand d, transmitted through link e).
|
static void |
GraphUtils.convert_fte2xp(List<Node> nodes,
List<Link> links,
int numDemandsInLayer,
SortedSet<Demand> demandsToConvert,
DoubleMatrix1D h_d,
DoubleMatrix2D f_te,
List<Demand> d_p,
List<Double> x_p,
List<List<Link>> pathList)
Given a destination-based routing in the form f_te (fractions of traffic in a node, that is forwarded through each of its
output links), and an offered traffic to the network, it generates the resulting set of paths that are produced.
|
static void |
GraphUtils.convert_fte2xp(List<Node> nodes,
List<Link> links,
int numDemandsInLayer,
SortedSet<Demand> demandsToConvert,
DoubleMatrix1D h_d,
DoubleMatrix2D f_te,
List<Demand> d_p,
List<Double> x_p,
List<List<Link>> pathList)
Given a destination-based routing in the form f_te (fractions of traffic in a node, that is forwarded through each of its
output links), and an offered traffic to the network, it generates the resulting set of paths that are produced.
|
static DoubleMatrix2D |
GraphUtils.convert_fte2xte(List<Node> nodes,
List<Link> links,
SortedSet<Demand> demandsToConsider,
DoubleMatrix2D f_te,
DoubleMatrix1D h_d)
Given a destination-based routing in the form f_te (fractions of traffic in a node, that is forwarded through each of its output links), and an offered traffic to the network, it generates the resulting destination-based routing in the form x_te (amount of traffic targeted to node t, transmitted through link e).
|
static int |
GraphUtils.convert_xde2xp(List<Node> nodes,
List<Link> links,
Set<Demand> demandsToConvert,
DoubleMatrix2D x_de,
List<Demand> d_p,
List<Double> x_p,
List<List<Link>> pathList)
Converts the routing in the form x_de into a set of loopless routes, just for the indicated demands.
|
static int |
GraphUtils.convert_xde2xp(List<Node> nodes,
List<Link> links,
Set<Demand> demandsToConvert,
DoubleMatrix2D x_de,
List<Demand> d_p,
List<Double> x_p,
List<List<Link>> pathList)
Converts the routing in the form x_de into a set of loopless routes, just for the indicated demands.
|
static DoubleMatrix2D |
GraphUtils.convert_xde2xte(int numNodes,
SortedSet<Demand> demandsToConsider,
DoubleMatrix2D x_de)
Given a demand-link routing in the form x_de (amount of traffic from demand d, transmitted through link e), returns the equivalent forwarding rule mapping (fractions of traffic entering a node from demand 'd', leaving that node through link 'e').
|
static DoubleMatrix2D |
GraphUtils.convert_xp2fte(List<Node> nodes,
List<Link> links,
List<Demand> demands,
List<Route> routes)
Given a set of traffic routes and their carried traffic returns a destination-based routing in the form fte (fractions of traffic in a node, that is forwarded through each of its output links).
|
static DoubleMatrix2D |
GraphUtils.convert_xp2xte(List<Node> nodes,
List<Link> links,
List<Demand> demands,
List<Route> routes)
Given a set of traffic routes and their carried traffic returns a destination-based routing in the form x_te (amount of traffic targeted to node t, transmitted through link e).
|
static TrafficMatrixForecastUtils.TmEstimationResults |
TrafficMatrixForecastUtils.getTmEstimation_minErrorSquares(NetworkLayer layer,
Map<Link,Double> inputMonitInfo_someLinks,
Map<Demand,Double> inputMonitInfo_someDemands,
Map<MulticastDemand,Double> inputMonitInfo_someMDemands,
double coeff_preferFitRouting0PreferFitDemand1) |
static DoubleMatrix2D |
GraphUtils.removeCyclesFrom_xde(int numNodes,
List<Link> links,
Set<Demand> demandsToConsider,
DoubleMatrix2D x_de,
boolean xdeAsFractionRespecttoDemandOfferedTraffic,
String solverName,
String solverLibraryName,
double maxSolverTimeInSecondsPerDemand)
Removes open or closed cycles from the x_de routing matrix, for the given set of demands.
|
Constructor and Description |
---|
LightpathAdd(Demand demand,
double lineRateGbps)
Constructor to generate a new
LightpathAdd object. |
LightpathAdd(Demand demand,
WDMUtils.RSA rsa,
double lineRateGbps)
Constructor to generate a new
LightpathAdd object. |
LightpathAdd(Demand demand,
WDMUtils.RSA primaryRSA,
WDMUtils.RSA backupRSA,
double lineRateGbps)
Constructor to generate a new
LightpathAdd object. |
Modifier and Type | Method and Description |
---|---|
Demand |
WServiceChainRequest.getNe() |
Demand |
WLightpathRequest.getNe() |
Copyright © 2018. All rights reserved.