Package ons
Class EONPhysicalTopology
java.lang.Object
ons.PhysicalTopology
ons.EONPhysicalTopology
public class EONPhysicalTopology extends PhysicalTopology
-
Field Summary
Fields Modifier and Type Field Description protected static PhysicalImpairmentspistatic java.util.Map<java.lang.Integer,java.lang.Double>valueAstatic java.util.Map<java.lang.Integer,java.math.BigInteger>valueSiFields inherited from class ons.PhysicalTopology
adjMatrix, configurationTimeOXC, datacenters, links, linkVector, mensageProcessingTime, nodes, nodeVector, olaExpenditure, oxcAddDropDegreeExpenditure, oxcNodeDegreeExpenditure, oxcOperationExpenditure, oxcSleepModeExpenditure, oxcTransitionTime, propagationDelayTime, spanSize, switchTime, trIdleExpenditure, trOverloadExpenditure -
Constructor Summary
Constructors Constructor Description EONPhysicalTopology(org.w3c.dom.Element xml, PhysicalImpairments pi) -
Method Summary
Modifier and Type Method Description voidaddRate(int rate, LightPath lightpath)Add flow in this lightpath.booleancanAddRate(int rate, LightPath lightpath)Examine whether it is possible to add flow in the lightpath.booleancanCreatePhysicalLightpath(LightPath lightpath)Examine whether it is possible to allocate the supplied optical path.booleancanCreatePhysicalLightpathHybrid(LightPath lpShared, LightPath lpGroomable, int tunnelSize, LightPath lpNew, int dstNode)Examine whether it is possible optical grooming in this lightpaths ('lpShared' and 'lpGroomable') and examine whether it is possible to allocate the 'lpNew'.booleancanExtendLightpath(int requiredSlots, LightPath lpGroomable, int tunnelSize)Examine whether it is possible to extend the lightpath with the number of slots provided.booleancanExtendLightpath(LightPath lpCreated, LightPath lpGroomable, int tunnelSize)Examine whether it is possible optical grooming in this lightpaths.booleancanExtendLightpathToLeft(int requiredSlots, LightPath lpGroomable, int tunnelSize)Examine whether it is possible to extend the lightpath to left with the number of slots provided.booleancanExtendLightpathToRight(int requiredSlots, LightPath lpGroomable, int tunnelSize)Examine whether it is possible to extend the lightpath to right with the number of slots provided.voidcreatePhysicalLightpath(LightPath lightpath)Allocates optical path network.LightPathcreatePhysicalLightpathHybrid(LightPath lpShared, LightPath lpNew, int dstNode)Allocates optical path with optical grooming technique.voidcreatePhysicalLightpathInOpticalGrooming(LightPath lightpath)Allocates optical path with optical grooming technique.int[]getAvaiableSlotsRoute(int[] links, int requiredSlots)Retrieves the slots avaiable in this route.int[]getAvaiableSlotsSDMRoute(int[] links, int requiredSlots)Retrieves the slots avaiable in this SDM route.intgetAvailableSlots()Retrieves the slots available in all physical topology links.intgetBW(LightPath lightpath)Retrieves the total bandwidth this lightpathintgetBWAvailable(LightPath lightpath)Retrieves the bandwidth available in Mbps in this lightpathdoublegetExFragmentation()Retrieves the current fragmentation rate in this topology.doublegetExFragmentation(int[] links)Retrieves the current fragmentation rate in this links.doublegetFragmentationEntropy()Retrieves the current fragmentation rate in this topology in accordance with Sugihara et al 2017.doublegetFragmentationEntropy(int[] links)Retrieves the current fragmentation rate in this links in accordance with Sugihara et al 2017.doublegetFragmentationSingh()Retrieves the current fragmentation rate in this topology in accordance with Singh and Jukan 2017.doublegetFragmentationSingh(int[] links)Retrieves the current fragmentation rate in this links in accordance with Singh and Jukan 2017.doublegetFragmentationWang()Retrieves the current fragmentation rate in this topology in accordance with Wang et al 2015.doublegetFragmentationWang(int[] links)Retrieves the current fragmentation rate in this links in accordance with Wang et al 2015.doublegetFragmentationWright()Retrieves the current fragmentation rate in this topology in accordance with Wright et al 2015.doublegetFragmentationWright(int[] links)Retrieves the current fragmentation rate in this topology in accordance with Wright et al 2015.doublegetFragmentationWu()Retrieves the current fragmentation rate in this topology in accordance with Wu et al 2014.doublegetFragmentationWu(int[] links)Retrieves the current fragmentation rate in this links in accordance with Wu et al 2014.static intgetMaxModulation()Retrieves the max modulation format in xml schema.PhysicalImpairmentsgetPI()Retrieves thestatic intgetSlotSize()Retrieves the slot size in MHz.WeightedGraphgetWeightedGraph(int slots)Returns a weighted graph with vertices representing the physical network nodes, and the edges representing the physical links.voidremovePhysicalLightpath(LightPath lightpath)Deallocates optical path provided.voidremovePhysicalLightpathHybrid(LightPath lightpath)Deallocates optical path provided in partly optical grooming.voidremovePhysicalLightpathInOpticalGrooming(LightPath lightpath)Deallocates optical path provided in optical grooming.voidremoveRate(int rate, LightPath lightpath)Remove the rate (in Mbps) of this litghpath.Methods inherited from class ons.PhysicalTopology
checkLinkPath, getAdjMatrix, getAllFreeGroomingInputPorts, getDatacenterGroup, getDatacentersGroup, getLink, getLink, getNode, getNumLinks, getNumNodes, getSpanSize, getTopologyName, getTransponderGraph, getWeightedGraph, hasLink, printXpressInputFile, toString
-
Field Details
-
Constructor Details
-
Method Details
-
getPI
Retrieves the- Returns:
-
getSlotSize
public static int getSlotSize()Retrieves the slot size in MHz.- Returns:
- slot size in MHz
-
getMaxModulation
public static int getMaxModulation()Retrieves the max modulation format in xml schema.- Returns:
- the id of max modulation format allowed
-
createPhysicalLightpath
Allocates optical path network.- Specified by:
createPhysicalLightpathin classPhysicalTopology- Parameters:
lightpath- the lightpath will be alocated
-
createPhysicalLightpathInOpticalGrooming
Allocates optical path with optical grooming technique.- Parameters:
lightpath- the lightpath will be alocated
-
createPhysicalLightpathHybrid
Allocates optical path with optical grooming technique.- Parameters:
lpShared- part of lightpath to be shared in optical grooming techniquelpNew- part of lightpath to be not used optical grooming techniquedstNode- the destination node of the new lightpath- Returns:
- the lightpath created
-
canCreatePhysicalLightpath
Examine whether it is possible to allocate the supplied optical path.- Specified by:
canCreatePhysicalLightpathin classPhysicalTopology- Parameters:
lightpath- the optical path- Returns:
- true if is possible, false otherwise
-
removePhysicalLightpath
Deallocates optical path provided.- Specified by:
removePhysicalLightpathin classPhysicalTopology- Parameters:
lightpath- the optical path provided
-
removePhysicalLightpathInOpticalGrooming
Deallocates optical path provided in optical grooming.- Parameters:
lightpath- the optical path provided
-
removePhysicalLightpathHybrid
Deallocates optical path provided in partly optical grooming.- Parameters:
lightpath- the lightpath
-
getBWAvailable
Retrieves the bandwidth available in Mbps in this lightpath- Specified by:
getBWAvailablein classPhysicalTopology- Parameters:
lightpath- the lightpath to be examined- Returns:
- the bandwidth available
-
addRate
Add flow in this lightpath.- Specified by:
addRatein classPhysicalTopology- Parameters:
rate- the rate to be addlightpath- the lightpath
-
getBW
Retrieves the total bandwidth this lightpath- Specified by:
getBWin classPhysicalTopology- Parameters:
lightpath- the lightpath- Returns:
- the bandwidth in Mbps
-
getWeightedGraph
Returns a weighted graph with vertices representing the physical network nodes, and the edges representing the physical links. The weight of each edge receives the same value of the original link weight if the link has at least slots available. Otherwise it has no edges.- Parameters:
slots- the flow rate are available in slots- Returns:
- an WeightedGraph class object
-
canExtendLightpath
Examine whether it is possible to extend the lightpath with the number of slots provided.- Parameters:
requiredSlots- the slots providedlpGroomable- the lightpath groomabletunnelSize- the size of lpGroomable tunnel- Returns:
- true if lightpath can extend to the right or left, false otherwise
-
canExtendLightpathToLeft
Examine whether it is possible to extend the lightpath to left with the number of slots provided.- Parameters:
requiredSlots- the slots providedlpGroomable- the lightpath groomabletunnelSize- the size of lpGroomable tunnel- Returns:
- true if lightpath can extend to the left, false otherwise
-
canExtendLightpathToRight
Examine whether it is possible to extend the lightpath to right with the number of slots provided.- Parameters:
requiredSlots- the slots providedlpGroomable- the lightpath groomabletunnelSize- the size of lpGroomable tunnel- Returns:
- true if lightpath can extend to the right, false otherwise
-
canExtendLightpath
Examine whether it is possible optical grooming in this lightpaths.- Parameters:
lpCreated- the lightpath will be alocatelpGroomable- one lightpath alocatedtunnelSize- the size of lpGroomable tunnel- Returns:
- true if lightpaths can be uses optical grooming, false otherwise
-
canCreatePhysicalLightpathHybrid
public boolean canCreatePhysicalLightpathHybrid(LightPath lpShared, LightPath lpGroomable, int tunnelSize, LightPath lpNew, int dstNode)Examine whether it is possible optical grooming in this lightpaths ('lpShared' and 'lpGroomable') and examine whether it is possible to allocate the 'lpNew'.- Parameters:
lpShared- the lightpath will be alocatelpGroomable- one lightpath alocatedtunnelSize- the size of lpGroomable tunnellpNew- the optical pathdstNode- the destination node of this new lightpath- Returns:
- true if is possible, false otherwise
-
canAddRate
Examine whether it is possible to add flow in the lightpath.- Specified by:
canAddRatein classPhysicalTopology- Parameters:
rate- the rate to be addlightpath- the lightpath- Returns:
- true if is possible, false otherwise
-
removeRate
Remove the rate (in Mbps) of this litghpath.- Specified by:
removeRatein classPhysicalTopology- Parameters:
rate- the rate to be removedlightpath- the lightpath
-
getAvailableSlots
public int getAvailableSlots()Retrieves the slots available in all physical topology links.- Returns:
- the number of slots available
-
getAvaiableSlotsRoute
public int[] getAvaiableSlotsRoute(int[] links, int requiredSlots)Retrieves the slots avaiable in this route.- Parameters:
links- the links in this route.requiredSlots- the slots required- Returns:
- the array with the merge slots avaiable in all links
-
getAvaiableSlotsSDMRoute
public int[] getAvaiableSlotsSDMRoute(int[] links, int requiredSlots)Retrieves the slots avaiable in this SDM route.- Parameters:
links- the links in this route.requiredSlots- the slots required- Returns:
- the array with the merge slots avaiable in all links
-
getExFragmentation
public double getExFragmentation()Retrieves the current fragmentation rate in this topology.- Returns:
- the current fragmentation of topology, (1-largestFreeBlock/TotalFree) in each link
-
getExFragmentation
public double getExFragmentation(int[] links)Retrieves the current fragmentation rate in this links.- Parameters:
links- the links- Returns:
- the current fragmentation of topology, (1-largestFreeBlock/TotalFree) in each link
-
getFragmentationWu
public double getFragmentationWu()Retrieves the current fragmentation rate in this topology in accordance with Wu et al 2014. J. Wu, M. Zhang, F. Wang, Y. Yue, e S. Huang. An optimal independent sets based greedy spectral defragmentation algorithm in elastic optical network. In 2014 13th International Conference on Optical Communications and Networks (ICOCN), pages 1–4, Nov 2014.- Returns:
- the current fragmentation of topology.
-
getFragmentationWu
public double getFragmentationWu(int[] links)Retrieves the current fragmentation rate in this links in accordance with Wu et al 2014. J. Wu, M. Zhang, F. Wang, Y. Yue, e S. Huang. An optimal independent sets based greedy spectral defragmentation algorithm in elastic optical network. In 2014 13th International Conference on Optical Communications and Networks (ICOCN), pages 1–4, Nov 2014.- Parameters:
links- the links- Returns:
- the current fragmentation of topology.
-
getFragmentationWright
public double getFragmentationWright()Retrieves the current fragmentation rate in this topology in accordance with Wright et al 2015. P. Wright, M. C. Parker, e A. Lord. Minimum- and maximum-entropy routing and spectrum assignment for flexgrid elastic optical networking [invited]. IEEE/OSA Journal of Optical Communications and Networking, 7(1):A66–A72, Jan 2015.- Returns:
- the current fragmentation of topology.
-
getFragmentationWright
public double getFragmentationWright(int[] links)Retrieves the current fragmentation rate in this topology in accordance with Wright et al 2015. P. Wright, M. C. Parker, e A. Lord. Minimum- and maximum-entropy routing and spectrum assignment for flexgrid elastic optical networking [invited]. IEEE/OSA Journal of Optical Communications and Networking, 7(1):A66–A72, Jan 2015.- Parameters:
links- the links- Returns:
- the current fragmentation of topology.
-
getFragmentationEntropy
public double getFragmentationEntropy()Retrieves the current fragmentation rate in this topology in accordance with Sugihara et al 2017. S. Sugihara, Y. Hirota, S. Fujii, H. Tode, e T. Watanabe. Dynamic resource allocation for immediate and advance reservation in space-division-multiplexing-based elastic optical networks. IEEE/OSA Journal of Optical Communications and Networking, 9(3):183–197, March 2017.- Returns:
- the current fragmentation of topology.
-
getFragmentationEntropy
public double getFragmentationEntropy(int[] links)Retrieves the current fragmentation rate in this links in accordance with Sugihara et al 2017. S. Sugihara, Y. Hirota, S. Fujii, H. Tode, e T. Watanabe. Dynamic resource allocation for immediate and advance reservation in space-division-multiplexing-based elastic optical networks. IEEE/OSA Journal of Optical Communications and Networking, 9(3):183–197, March 2017.- Parameters:
links- the links- Returns:
- the current fragmentation of topology.
-
getFragmentationSingh
public double getFragmentationSingh()Retrieves the current fragmentation rate in this topology in accordance with Singh and Jukan 2017. S. K. Singh e A. Jukan. Efficient spectrum defragmentation with holding-time awareness in elastic optical networks. IEEE/OSA Journal of Optical Communications and Networking, 9(3):B78–B89, March 2017.- Returns:
- the current fragmentation of topology.
-
getFragmentationSingh
public double getFragmentationSingh(int[] links)Retrieves the current fragmentation rate in this links in accordance with Singh and Jukan 2017. S. K. Singh e A. Jukan. Efficient spectrum defragmentation with holding-time awareness in elastic optical networks. IEEE/OSA Journal of Optical Communications and Networking, 9(3):B78–B89, March 2017.- Returns:
- the current fragmentation of topology.
-
getFragmentationWang
public double getFragmentationWang()Retrieves the current fragmentation rate in this topology in accordance with Wang et al 2015. N. Wang, J. P. Jue, X. Wang, Q. Zhang, H. C. Cankaya, e M. Sekiya. Holding-timeaware scheduling for immediate and advance reservation in elastic optical networks. In 2015 IEEE International Conference on Communications (ICC), pages 5180–5185, June 2015.- Returns:
- the current fragmentation of topology.
-
getFragmentationWang
public double getFragmentationWang(int[] links)Retrieves the current fragmentation rate in this links in accordance with Wang et al 2015. N. Wang, J. P. Jue, X. Wang, Q. Zhang, H. C. Cankaya, e M. Sekiya. Holding-timeaware scheduling for immediate and advance reservation in elastic optical networks. In 2015 IEEE International Conference on Communications (ICC), pages 5180–5185, June 2015.- Returns:
- the current fragmentation of topology.
-