Example: 'Adjust dynamically the number of lightpaths of end-to-end lightpath demands'

Brief description

At each time interval, this algorithm adjusts dynamically the number of lightpaths for each demand with respect to the ones in the previous period.

In case that new lightpaths are required, it performs an RWA using first-fit (wavelength continuity is enforced) over a set of precomputed k-shortest paths (maximum path length in km equal to maxLightpathLengthInKm). These paths are evaluated in order. Once a feasible RWA is found, then the lightpath is allocated, and no other candidate solution is checked.

Algorithm description table

Algorithm inputs

Receives the current traffic demand volume.

Algorithm parameters:

  • binaryRatePerChannel_Gbps: Binary rate of all the lightpaths. Default: 10
  • k: Maximum number of candidate paths per demand. Default: 3
  • maxLightpathLengthInKm: Maximum allowed lightpath length in km. Default: 5000
Algorithm outputsThe number of lightpaths for each demand is adjusted to match the current traffic requirements
Required librariesNone
KeywordsWDM
AuthorsPablo Pavón Mariño, José Luis Izquierdo Zaragoza
DateMarch 2014
CodeTVSim_AA_WDM_basicTrafficAllocationAlgorithm.java

Detailed description

Let \( currentNumLps_d \) be the number of lightpaths which are active for demand \( d\in D \) in the current time, \( h_d \) the new traffic volume in Gbps for demand \( d\in D\), and \( binaryRatePerChannel\_Gbps \) the binary rate per lightpath. Then, the number of lightpaths for demand \( d\in D \), denoted as \( numLps_d \), for the new period is computed as follows:

\( numLps_d = \left \lceil{\frac{h_d}{binaryRatePerChannel\_Gbps }}\right \rceil \)

Then, we adjust the number of lightpaths as follows:

  • If \( numLps_d - currentNumLps_d > 0 \), add \( numLps_d - currentNumLps_d \) lightpaths using the pre-computed k-shortest paths and first-fit wavelength assignment
  • If \( numLps_d - currentNumLps_d < 0 \), remove the latest \( currentNumLps_d - numLps_d \) lightpaths from demand
  • Otherwise, do nothing