Example: 'RWA-CAC algorithm based on k-shortest path routing'

Brief description

This algorithm receives lightpath connection requests and releases. For each lightpath release, wavelength resources are liberated. For each lightpath request, it determines how many lightpaths are actually required. Then, it tries to allocate them over a set of precomputed k-shortest paths (maximum path length in km equal to maxLightpathLengthInKm) using first-fit wavelength assignment (wavelength continuity is enforced).

Algorithm description table

Algorithm inputs

Inputs to this CAC algorithm are lightpath request and release events. For every new lightpath request, the algorithm tries to routing over one of the precomputed k-shortest paths.

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 outputsAccept or block decision for new lightpath requests. No action for lightpaths releases. Existing lightpaths are not modified
Required librariesNone
KeywordsWDM
AuthorsPablo Pavón Mariño, José Luis Izquierdo Zaragoza
DateMarch 2014
CodeCACSim_AA_WDM_basicAlgorithm.java

Detailed description

Let \( trafficVolume \) be the traffic volume request for the connection request, and \( binaryRatePerChannel\_Gbps \) the binary rate per lightpath. Then, the number of lightpaths, denoted as \( numLps \), to be established is computed as follows:

\( numLps = \left \lceil{\frac{trafficVolume}{binaryRatePerChannel\_Gbps }}\right \rceil \)

Then, all the lightpaths are tried to be allocated as aforementioned. If there are no resources for all lightpaths, connection may be accepted partially.