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.
|
Modifier and Type | Method and Description |
---|---|
Demand |
NetPlan.addDemand(Node ingressNode,
Node egressNode,
double offeredTraffic,
Map<String,String> attributes,
NetworkLayer... optionalLayerParameter)
Adds a new traffic demand.
|
Demand |
ProtectionSegment.coupleToNewDemandCreated(NetworkLayer newLinkLayer)
This method cannot be called for protection segments (raises an exception)
|
Demand |
Link.coupleToNewDemandCreated(NetworkLayer newDemandLayer)
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.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,
Map<String,String> attributes,
NetworkLayer... optionalLayerParameter)
Adds two demands, one in each direction,.
|
Pair<Demand,Demand> |
NetPlan.addDemandBidirectional(Node ingressNode,
Node egressNode,
double offeredTraffic,
Map<String,String> attributes,
NetworkLayer... optionalLayerParameter)
Adds two demands, one in each direction,.
|
List<Demand> |
NetPlan.addDemandsFromTrafficMatrix(DoubleMatrix2D trafficMatrix,
NetworkLayer... optionalLayerParameter)
Adds new traffic demands froma traffic matrix given as a
DoubleMatrix2D object. |
static Map<Demand,List<Pair<List<Link>,List<Link>>>> |
NetPlan.computeUnicastCandidate11PathList(Map<Demand,List<List<Link>>> cpl,
DoubleMatrix1D costs,
int disjointType)
Computes the list of disjoint path pairs for each demand.
|
Map<Demand,List<List<Link>>> |
NetPlan.computeUnicastCandidatePathList(double[] costs,
String... paramValuePairs)
Adds traffic routes specified by those paths that satisfy the candidate path list options described below.
|
Map<Demand,List<List<Link>>> |
NetPlan.computeUnicastCandidatePathList(NetworkLayer layer,
double[] costs,
String... paramValuePairs)
Adds traffic routes specified by those paths that satisfy the candidate path list options described below.
|
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.
|
Set<Demand> |
NetPlan.getDemandsCoupled(NetworkLayer... optionalLayerParameter)
Returns the set of unicast demands that are coupled.
|
Map<Pair<Demand,Link>,Double> |
ProtectionSegment.getForwardingRules()
This method cannot be called for protection segments (raises an exception)
|
Map<Pair<Demand,Link>,Double> |
Link.getForwardingRules()
Returns the non zero forwarding rules that are defined in the link.
|
Map<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).
|
Map<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
|
Map<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.
|
Map<Pair<Demand,Link>,Double> |
NetPlan.getForwardingRules(NetworkLayer... optionalLayerParameter)
Returns the forwarding rules for the given layer.
|
Set<Demand> |
Node.getIncomingDemands(NetworkLayer... optionalLayerParameter)
Returns the set of demands ending in the node, in the given layer.
|
Set<Demand> |
Node.getIncomingDemandsAllLayers()
Returns the set of demands ending in the node, in any layer.
|
Set<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). |
Set<Demand> |
Node.getOutgoingDemands(NetworkLayer... optionalLayerParameter)
Returns the set of demands initiated in the node, in the given layer.
|
Set<Demand> |
Node.getOutgoingDemandsAllLayers()
Returns the set of demands initiated in the node, in any layer.
|
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
Important: Routing type must be
SOURCE_ROUTING . |
void |
ProtectionSegment.coupleToLowerLayerDemand(Demand demand)
This method cannot be called for protection segments (raises an exception)
|
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.
|
Map<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,
NetworkLayer... optionalLayerParameter)
Returns the splitting factor of the forwarding rule of the given demand and link.
|
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 |
---|---|
void |
NetPlan.addRoutesAndProtectionSegmentFromCandidate11PathList(Map<Demand,List<Pair<List<Link>,List<Link>>>> cpl11) |
void |
NetPlan.addRoutesFromCandidatePathList(Map<Demand,List<List<Link>>> cpl)
Adds multiples routes from a Candidate Path List.
|
static Map<Demand,List<Pair<List<Link>,List<Link>>>> |
NetPlan.computeUnicastCandidate11PathList(Map<Demand,List<List<Link>>> cpl,
DoubleMatrix1D costs,
int disjointType)
Computes the list of disjoint path pairs for each demand.
|
void |
NetPlan.setForwardingRules(Collection<Demand> demands,
Collection<Link> links,
Collection<Double> splittingFactors,
boolean includeUnusedRules)
Adds a set of forwarding rules (or override existing ones).
|
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 |
Modifier and Type | Method and Description |
---|---|
static Route |
WDMUtils.addLightpathAndUpdateOccupancy(Demand demand,
List<Link> seqFibers,
double binaryRatePerChannel,
int[] seqWavelengths,
DoubleMatrix2D wavelengthFiberOccupancy)
Creates a new lightpath and updates the wavelength occupancy.
|
static Route |
WDMUtils.addLightpathAndUpdateOccupancy(Demand demand,
List<Link> seqFibers,
double binaryRatePerChannel,
int[] seqWavelengths,
int[] seqRegenerators,
DoubleMatrix2D wavelengthFiberOccupancy,
DoubleMatrix1D nodeRegeneratorOccupancy)
Creates a new lightpath and updates the wavelength occupancy.
|
static Route |
WDMUtils.addLightpathAndUpdateOccupancy(Demand demand,
List<Link> seqFibers,
double binaryRatePerChannel,
int wavelengthId,
DoubleMatrix2D wavelengthFiberOccupancy)
Creates a new lightpath and updates the wavelength occupancy.
|
Modifier and Type | Method and Description |
---|---|
static DoubleMatrix2D |
IPUtils.computeECMPForwardingRules_fde(List<Node> nodes,
List<Link> links,
List<Demand> demands,
DoubleMatrix1D linkWeightVector) |
static Quadruple<DoubleMatrix2D,DoubleMatrix1D,DoubleMatrix1D,List<Constants.RoutingCycleType>> |
GraphUtils.convert_fde2xde(List<Node> nodes,
List<Link> links,
List<Demand> demands,
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(List<Demand> demands,
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(List<Node> nodes,
List<Link> links,
List<Demand> demands,
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,
List<Demand> demands,
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,
List<Demand> demands,
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,
List<Demand> demands,
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 DoubleMatrix2D |
GraphUtils.convert_xde2fde(List<Node> nodes,
List<Link> links,
List<Demand> demands,
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 int |
GraphUtils.convert_xde2xp(List<Node> nodes,
List<Link> links,
List<Demand> demands,
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.
|
static int |
GraphUtils.convert_xde2xp(List<Node> nodes,
List<Link> links,
List<Demand> demands,
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.
|
static DoubleMatrix2D |
GraphUtils.convert_xde2xte(List<Node> nodes,
List<Link> links,
List<Demand> demands,
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_xp2xde(List<Link> links,
List<Demand> demands,
List<Route> routes)
Given a path-based routing, returns the amount of traffic for each demand d traversing each link e.
|
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 DoubleMatrix2D |
GraphUtils.removeCyclesFrom_xde(List<Node> nodes,
List<Link> links,
List<Demand> demands,
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,
List<Link> seqLinks,
int[] seqWavelengths,
double lineRateGbps)
Constructor to generate a new
LightpathAdd object. |
LightpathAdd(Demand demand,
List<Link> seqLinks_primary,
List<Link> seqLinks_backup,
int[] seqWavelengths_primary,
int[] seqWavelengths_backup,
double lineRateGbps)
Constructor to generate a new
LightpathAdd object. |