Package | Description |
---|---|
com.net2plan.interfaces.networkDesign |
Provides a set of classes and interfaces for the network design tool.
|
com.net2plan.libraries |
Provides a set of useful libraries to develop algorithms and reports.
|
com.net2plan.research.niw.networkModel | |
com.net2plan.utils |
General utility static methods.
|
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<Link,Link> |
NetPlan.addLinkBidirectional(Node originNode,
Node destinationNode,
double capacity,
double lengthInKm,
double propagationSpeedInKmPerSecond,
Map<String,String> attributes,
NetworkLayer... optionalLayerParameter)
Adds two links, one in each direction.
|
Pair<SortedSet<MulticastTree>,Double> |
MulticastDemand.computeMinimumCostMulticastTrees(double[] costs)
Returns the multicast tree of this demand with lowest cost (and its cost), using the cost per link array provided.
|
Pair<SortedSet<Route>,Double> |
Demand.computeMinimumCostServiceChains(double[] linkCosts,
double[] resourceCosts)
Returns the set of demand service chains with shortest cost, using the cost per link and cost per resources arrays provided.
|
Pair<SortedSet<Route>,Double> |
Demand.computeShortestPathRoutes(double[] costs)
Returns the set of demand routes with shortest path (and its cost), using the cost per link array provided.
|
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.
|
Pair<SortedSet<Link>,SortedSet<Link>> |
Demand.getLinksNoDownPropagationPotentiallyCarryingTraffic()
Returns the set of links in this layer that could potentially carry traffic of this demand, according to the routes/forwarding rules defined,
if the routes had carried traffic / (hop-by-hop) the demand had offered traffic different to zero.
|
Pair<List<Resource>,DoubleMatrix2D> |
NetPlan.getMatrixResource2RouteAssignment(String type,
NetworkLayer... optionalLayerParameter)
Returns a matrix with as many rows resources, and columns as routes in the given layer,
coordinate (res,rou) contains the number times that route rou
traverses resource res.
|
Pair<Double,Double> |
Link.getQosOccupationAndQosViolation(String qosType)
Returns the total traffic occupied in the link by the demands of a given QoS type, and
the amount out of that traffic that is violating the QoS
|
Pair<Integer,Double> |
Link.getQosTypePriorityAndMaxLinkUtilization(String qosType)
Returns the priority (lower better) and link percentage maximum utilization, assigned to the
QoS type indicated.
|
Modifier and Type | Method and Description |
---|---|
static SortedMap<Pair<Node,Node>,List<Pair<List<Link>,List<Link>>>> |
NetPlan.computeUnicastCandidate11PathList(Map<Pair<Node,Node>,List<List<Link>>> cpl,
int disjointType)
Computes a list of disjoint path pairs for each node pair, using the paths in the input candidate path list given.
|
static SortedMap<Pair<Node,Node>,List<Pair<List<Link>,List<Link>>>> |
NetPlan.computeUnicastCandidate11PathList(Map<Pair<Node,Node>,List<List<Link>>> cpl,
int disjointType)
Computes a list of disjoint path pairs for each node pair, using the paths in the input candidate path list given.
|
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<Pair<Node,Node>,List<List<Link>>> |
NetPlan.computeUnicastCandidatePathList(DoubleMatrix1D linkCosts,
int K,
double maxLengthInKm,
int maxNumHops,
double maxPropDelayInMs,
double maxRouteCost,
double maxRouteCostFactorRespectToShortestPath,
double maxRouteCostRespectToShortestPath,
SortedSet<Pair<Node,Node>> nodePairs,
NetworkLayer... optionalLayerParameter)
Computes for all the node pairs, a candidate path list in the given layer, composed of the k shortest paths according with the options indicated below.
|
SortedMap<Link,SortedMap<String,Pair<Double,Double>>> |
NetPlan.getAllLinksPerQosOccupationAndQosViolationMap(NetworkLayer... optionalLayerParameter)
For each link in the given layer, returns a map, with key the QoS types traversing it, and two
associated values: (i) the total traffic occupied of such Qos type, (ii) the amount out of that traffic that is violating the QoS
|
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.
|
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.
|
SortedMap<Pair<MulticastDemand,Node>,InterLayerPropagationGraph.IPGNode> |
InterLayerPropagationGraph.getmDemandAndNode2VertexMap() |
SortedSet<Pair<MulticastDemand,Node>> |
InterLayerPropagationGraph.getMulticastDemandFlowsInGraph() |
SortedMap<String,Pair<Double,Double>> |
Link.getPerQoSOccupationAndQosViolationMap()
Returns for each traversing demand, a pair with i) the occupied capacity in the link of that
demand, ii) the amount of such occupied capacity that is violating the demand QoS assigned capacity.
|
SortedMap<String,Pair<Integer,Double>> |
Link.getQosTypePriorityAndMaxLinkUtilizationMap()
Returns the priority (lower better) and link percentage maximum utilization, assigned to the
QoS type indicated, for each of the QoS types with traffic traversing the link.
|
Modifier and Type | Method and Description |
---|---|
void |
NetPlan.addRoutesAndBackupRoutesFromCandidate11PathList(SortedMap<Pair<Node,Node>,List<Pair<List<Link>,List<Link>>>> cpl11,
NetworkLayer... optionalLayer)
For each demand in the map, adds a number of route pairs with the given paths, where each route pair has a primary route and one backup to it.
|
void |
NetPlan.addRoutesAndBackupRoutesFromCandidate11PathList(SortedMap<Pair<Node,Node>,List<Pair<List<Link>,List<Link>>>> cpl11,
NetworkLayer... optionalLayer)
For each demand in the map, adds a number of route pairs with the given paths, where each route pair has a primary route and one backup to it.
|
void |
NetPlan.addRoutesFromCandidatePathList(SortedMap<Pair<Node,Node>,List<List<Link>>> cpl,
NetworkLayer... optionalLayer)
Adds multiples routes for each demand of the given layer, using the paths in an input Candidate Path List.
|
static SortedMap<Pair<Node,Node>,List<Pair<List<Link>,List<Link>>>> |
NetPlan.computeUnicastCandidate11PathList(Map<Pair<Node,Node>,List<List<Link>>> cpl,
int disjointType)
Computes a list of disjoint path pairs for each node pair, using the paths in the input candidate path list given.
|
SortedMap<Pair<Node,Node>,List<List<Link>>> |
NetPlan.computeUnicastCandidatePathList(DoubleMatrix1D linkCosts,
int K,
double maxLengthInKm,
int maxNumHops,
double maxPropDelayInMs,
double maxRouteCost,
double maxRouteCostFactorRespectToShortestPath,
double maxRouteCostRespectToShortestPath,
SortedSet<Pair<Node,Node>> nodePairs,
NetworkLayer... optionalLayerParameter)
Computes for all the node pairs, a candidate path list in the given layer, composed of the k shortest paths according with the options indicated below.
|
Constructor and Description |
---|
InterLayerPropagationGraph(SortedSet<Demand> initialDemands,
SortedSet<Link> initialLinks,
SortedSet<Pair<MulticastDemand,Node>> initialMDemands,
boolean upWards) |
Modifier and Type | Method and Description |
---|---|
static Pair<edu.uci.ics.jung.graph.Graph<Node,Link>,org.apache.commons.collections15.Transformer<Link,Double>> |
GraphUtils.JUNGUtils.buildAuxiliaryNodeDisjointGraph(edu.uci.ics.jung.graph.Graph<Node,Link> graph,
org.apache.commons.collections15.Transformer<Link,Double> nev,
Node originNode,
Node destinationNode)
Builds an auxiliary graph for the application of edge-disjoint shortest-path pair algorithms to node-disjoint problems.
|
static Pair<Double,Double> |
GraphUtils.computeWorstCasePropagationDelayAndLengthInKmMsForLoopLess(SortedMap<Link,Double> frs,
SortedMap<Node,SortedSet<Link>> outFrs,
Node ingressNode,
Node egressNode)
Computes the worst case propagation delay in ms for the given forwarding rules, from the ingress to the
egress node (assuming there is traffic between the end nodes).
|
static Pair<Double,Double> |
TrafficComputationEngine.getAverageHopsAndLengthOfMulticastTrees(List<MulticastTree> trees)
Returns the average number of hops (number of links) and km (summing all links) of the multicast trees in the network
|
static Pair<List<NetworkElement>,Double> |
GraphUtils.getMinimumCostServiceChain(List<Link> links,
Node originNode,
Node destinationNode,
List<String> sequenceOfResourceTypesToTraverse,
DoubleMatrix1D linkCost,
Map<Resource,Double> resourceCost,
double maxLengthInKmPerSubpath,
int maxNumHopsPerSubpath,
double maxPropDelayInMsPerSubpath)
Returns the minimum cost service chain between two nodes (summing costs of links and resources traversed), traversing a given set of resource types, satisfying some user-defined constraints.
|
static Pair<DoubleMatrix2D,DoubleMatrix1D> |
WDMUtils.getNetworkSlotAndRegeneratorOcupancy(NetPlan netPlan,
boolean countFailedLightpaths,
NetworkLayer... optionalLayerParameter)
Returns the fiber occupied (columns) in each wavelength (rows), and an array with the number of occupied regenerators in each node.
|
static Pair<Map<Pair<Link,Integer>,List<Route>>,Map<Node,List<Route>>> |
WDMUtils.getNetworkSlotOccupancyMap(NetPlan netPlan,
boolean countFailedLightpaths,
NetworkLayer... optionalLayerParameter)
Returns two maps, showing the frequency slots in the links and signal regenerator in the nodes occupancies.
|
static Pair<Double,Double> |
SRGUtils.getSRGDisjointnessPercentage(NetPlan netPlan,
NetworkLayer... optionalLayerParameter)
Returns the percentage of SRG disjointness of traffic routes and their backup paths defined.
|
static Pair<Integer,Integer> |
WDMUtils.spectrumAssignment_firstFitTwoRoutes(List<Link> seqFibers_1,
List<Link> seqFibers_2,
DoubleMatrix2D frequencySlot2FiberOccupancy_se,
int numContiguousSlotsRequired)
Frequency slot assignment algorithm based on a first-fit fashion for two different paths.
|
static Pair<int[],int[]> |
WDMUtils.wavelengthAssignment_RPP_firstFit(List<Link> seqFibers,
DoubleMatrix2D frequencySlot2FiberOccupancy_se,
DoubleMatrix1D nodeRegeneratorOccupancy,
double maxRegeneratorDistanceInKm)
Wavelength assignment algorithm based on a first-fit fashion assuming
full wavelength conversion and regeneration capabilities.
|
Modifier and Type | Method and Description |
---|---|
static List<Pair<Integer,Integer>> |
WDMUtils.computeAvailableSpectrumVoids(TreeSet<Integer> slotOccupancy,
int totalAvailableSlotsPerFiber)
Computes the list of spectral voids (list of available contiguous slots)
from a slot availability vector (of a fiber or of a path).
|
static List<Pair<List<NetworkElement>,Double>> |
GraphUtils.getKMinimumCostServiceChains(List<Link> links,
Node originNode,
Node destinationNode,
List<String> sequenceOfResourceTypesToTraverse,
DoubleMatrix1D linkCost,
Map<Resource,Double> resourceCost,
int K,
double maxCostServiceChain,
double maxLengthInKmPerSubpath,
int maxNumHopsPerSubpath,
double maxPropDelayInMsPerSubpath,
Map<Pair<Node,Node>,List<Pair<List<Link>,Double>>> cacheSubpathLists)
Returns the K minimum cost service chains between two nodes (summing costs of links and resources traversed), traversing a given set of resource types, satisfying some user-defined constraints.
|
static Pair<Map<Pair<Link,Integer>,List<Route>>,Map<Node,List<Route>>> |
WDMUtils.getNetworkSlotOccupancyMap(NetPlan netPlan,
boolean countFailedLightpaths,
NetworkLayer... optionalLayerParameter)
Returns two maps, showing the frequency slots in the links and signal regenerator in the nodes occupancies.
|
Modifier and Type | Method and Description |
---|---|
TrafficSeries |
TrafficSeries.addValues(Collection<Pair<Date,Double>> pairs) |
static int |
WDMUtils.computeMaximumRequests(List<Pair<Integer,Integer>> availableSpectrumVoids,
int numSlots)
Computes the maximum number of requests (each one of the same given number of frequency slots) which
can be simultaneously allocated in the given set of spectrum voids.
|
static Map<List<Link>,WDMUtils.ModulationFormat> |
WDMUtils.computeModulationFormatPerPath(Map<Pair<Node,Node>,List<List<Link>>> cpl,
Set<WDMUtils.ModulationFormat> availableModulationFormats)
Returns the modulation format with the maximum spectral efficiency, while
the optical reach constraint is fulfilled, for each path in the list of candidate paths (
cpl ) |
static List<Pair<List<NetworkElement>,Double>> |
GraphUtils.getKMinimumCostServiceChains(List<Link> links,
Node originNode,
Node destinationNode,
List<String> sequenceOfResourceTypesToTraverse,
DoubleMatrix1D linkCost,
Map<Resource,Double> resourceCost,
int K,
double maxCostServiceChain,
double maxLengthInKmPerSubpath,
int maxNumHopsPerSubpath,
double maxPropDelayInMsPerSubpath,
Map<Pair<Node,Node>,List<Pair<List<Link>,Double>>> cacheSubpathLists)
Returns the K minimum cost service chains between two nodes (summing costs of links and resources traversed), traversing a given set of resource types, satisfying some user-defined constraints.
|
static List<Pair<List<NetworkElement>,Double>> |
GraphUtils.getKMinimumCostServiceChains(List<Link> links,
Node originNode,
Node destinationNode,
List<String> sequenceOfResourceTypesToTraverse,
DoubleMatrix1D linkCost,
Map<Resource,Double> resourceCost,
int K,
double maxCostServiceChain,
double maxLengthInKmPerSubpath,
int maxNumHopsPerSubpath,
double maxPropDelayInMsPerSubpath,
Map<Pair<Node,Node>,List<Pair<List<Link>,Double>>> cacheSubpathLists)
Returns the K minimum cost service chains between two nodes (summing costs of links and resources traversed), traversing a given set of resource types, satisfying some user-defined constraints.
|
Modifier and Type | Method and Description |
---|---|
Pair<WFiber,WFiber> |
WNet.addFiber(WNode a,
WNode b,
List<Integer> validOpticalSlotRanges,
double lengthInKm,
boolean isBidirectional)
Adds a fiber to the design
|
Pair<WIpLink,WIpLink> |
WNet.addIpLink(WNode a,
WNode b,
double nominalLineRateGbps,
boolean isBidirectional)
Adds an IP link to the network
|
static Pair<Integer,Integer> |
OpticalSpectrumManager.getMinimumAndMaximumValidSlotIdsInTheGrid(Collection<WFiber> wdmLinks)
For the provided collection of fibers, indicates the minimum and maximum optical slot id that is valid for all the
fibers in the collection
|
Pair<Integer,Integer> |
WFiber.getMinMaxValidSlotId()
Returns the minimum and maximum valid optical slot ids as defined by the user
|
Modifier and Type | Method and Description |
---|---|
List<Pair<String,Double>> |
WServiceChainRequest.getTimeSlotNameAndInitialInjectionIntensityInGbpsList()
Returns the full user-defined traffic intensity information as a list of pairs, where each pair contains the user-defined name of the time slot, and the traffic intensity
associated to that time slot
|
Optional<Pair<String,Double>> |
WServiceChainRequest.getTrafficIntensityInfo(int timeSlotIndex)
Get the user-defined traffic intensity associated to a time slot with the given index,
|
Optional<Pair<SortedSet<Integer>,SortedSet<Integer>>> |
OpticalSpectrumManager.spectrumAssignment_firstFitTwoRoutes(Collection<WFiber> seqFibers_1,
Collection<WFiber> seqFibers_2,
int numContiguousSlotsRequired)
Searches for a first-fit assignment for the two given paths, so optical slots can be different for each.
|
Modifier and Type | Method and Description |
---|---|
void |
WServiceChainRequest.setTimeSlotNameAndInitialInjectionIntensityInGbpsList(List<Pair<String,Double>> info)
Sets the full user-defined traffic intensity information as a list of pairs, where each pair contains the user-defined name of the time slot, and the traffic intensity
associated to that time slot
|
Modifier and Type | Method and Description |
---|---|
static Pair<File,String> |
ClassLoaderUtils.getClasspathAndQualifiedNameFromClassFile(File classFile)
Tries to guess what are the classpath and fully qualified name of a .class Java file
|
static Pair<String,String> |
ClassLoaderUtils.getPackageAndClassName(String fullyQualifiedClassName)
Given a fully qualified class name returns the package and class names.
|
static <A,B> Pair<A,B> |
Pair.of(A a,
B b)
This factory allows a pair to be created using inference to obtain the generic types.
|
static <A,B> Pair<A,B> |
Pair.unmodifiableOf(A a,
B b)
This factory allows an unmodifiable pair to be created using inference to obtain the generic types.
|
Modifier and Type | Method and Description |
---|---|
static <A extends Number,B extends Number> |
DoubleUtils.convertMatrix2Map(Set<A> rowIdentifiers,
Set<B> columnIdentifiers,
DoubleMatrix2D matrix)
Returns a map containing the association of each identifier pair with its corresponding
value within the table (in linear order).
|
static <A extends Number,B extends Number> |
BooleanUtils.convertTable2Map(Set<A> rowIdentifiers,
Set<B> columnIdentifiers,
boolean[][] table)
Returns a map containing the association of each identifier pair with its corresponding
value within the table (in linear order).
|
static <A extends Number,B extends Number> |
DoubleUtils.convertTable2Map(Set<A> rowIdentifiers,
Set<B> columnIdentifiers,
double[][] table)
Returns a map containing the association of each identifier pair with its corresponding
value within the table (in linear order).
|
static <A extends Number,B extends Number> |
IntUtils.convertTable2Map(Set<A> rowIdentifiers,
Set<B> columnIdentifiers,
int[][] table)
Returns a map containing the association of each identifier pair with its corresponding
value within the table (in linear order).
|
static <A extends Number,B extends Number> |
LongUtils.convertTable2Map(Set<A> rowIdentifiers,
Set<B> columnIdentifiers,
long[][] table)
Returns a map containing the association of each identifier pair with its corresponding
value within the table (in linear order).
|
List<Pair<Double,Object>> |
TimeTrace.getList() |
Copyright © 2018. All rights reserved.