**2. Priority-based wavelength assignment**

OBS networks utilize one-way resource reservation, such as the Just Enough Time (JET) protocol (Qiao & Yoo, 1999). The principles of burst transmission are as follows. Upon assembling a data burst from multiple packets, the ingress node generates a Burst Header Packet (BHP) containing the offset time between itself and the data burst, as well as the length of the data burst. This node also sets a local timer to the value of the offset time.

Optical Burst-Switched Networks Exploiting Traffic Engineering in the Wavelength Domain 283


In view of the aforementioned limitations in both problem formulation and resolution, the wavelength search orderings must be computed without knowing the resulting average burst blocking probability and by relying on heuristic algorithms. Notably, when the core nodes have limited or no wavelength conversion capabilities, burst blocking probability is closely related with the expected amount of unresolved wavelength contention. Consider two routing paths, π1 and π2, that traverse a common fibre link. Clearly, the chances of data bursts going through these paths and contending for the same wavelength channel at the common fibre link are minimized if their ingress nodes search for an available wavelength using opposite orderings of the wavelengths, that is, the ingress node of π1 uses, for instance, λ1, λ2, …, λ*W*–1, λ*W*, whereas the ingress node of π2 uses λ*W*, λ*W*–1, …, λ2, λ1. This simple scenario is illustrated is Fig. 2 for *W* = 4, where most of the burst traffic on π1 (π2) will go through λ1, λ2 (λ4, λ3). However, in realistic network scenarios, each routing path shares fibre links with several other paths and, consequently, it is not feasible to have opposite wavelength search orderings for each pair of overlapping paths. Still, as long as it is possible for two overlapping paths to have two different wavelength channels ranked as the highest priority wavelengths, the probability of wavelength contention among data bursts going through these paths is expected to be reduced. This observation constitutes the foundation

optimum wavelength search orderings in a reasonable amount of time.

of the heuristic traffic engineering approaches described in the following.

Fig. 2. Example OBS network with opposite wavelength search orderings.

Intuitively, the chances of wavelength contention between data bursts going through different routing paths are expected to increase with both the average traffic load offered to the paths and with the number of common fibre links. Bearing this in mind, it is useful to define the concept of interference level of routing path π*i* on routing path π*j* with *i* ≠ *j* as,

*I*(π*i*, π*j*) = γ*i*|*Ei* ∩ *Ej*|, (1)

**2.2 Heuristic minimum priority interference** 

The BHP is transmitted via a control wavelength channel and processed at the control unit of each node along the routing path of the burst. The control unit uses the information in the BHP to determine the resources (e.g., wavelength channel in the designated output fibre link) to be allocated to the data burst during the time interval it is expected to be traversing the core node. This corresponds to a delayed resource reservation, since the resources are not immediately set up, but instead are only set up just before the arrival time of the data burst. Furthermore, the resources are allocated to the burst during the time strictly necessary for it to successfully pass through the node. This minimizes the bandwidth waste because these resources can be allocated to other bursts in nonoverlapping time intervals. Before forwarding the BHP to the next node, the control unit updates the offset time, reducing it by the amount of time spent by the BHP at the node. Meanwhile, the data burst buffered at the ingress node is transmitted after the timer set to the offset time expires. In case of successful resource reservation by its BHP at all the nodes of the routing path, the burst cuts through the core nodes in the optical domain until it arrives to the egress node. Otherwise, when resource reservation is unsuccessful at a node, both BHP and data burst are dropped at that node and the failed burst transmission is signalled to the ingress node.

As a result of using one-way resource reservation, there is a large probability that data bursts arrive at a core node on the same wavelength channel from different input fibre links and being directed to the same output fibre link of that node. This leads to contention for the same wavelength channel at the output fibre link. These contention events can be efficiently resolved using wavelength converters and/or minimized in advance through an optimized assignment of wavelengths at the ingress nodes. In view of the immaturity of all-optical wavelength converters, strategies for minimizing the probability of wavelength contention become of paramount importance in order to design cost-effective OBS core nodes.

#### **2.1 Problem statement**

Consider an OBS network modelled as a directed graph *G* = (*V*, *E*), where *V* = {*v*1, *v*2, ..., *vN*} is the set of nodes, *E* = {*e*1, *e*2, ..., *eL*} is the set of unidirectional fibre links and the network has a total of *N* nodes and *L* fibre links. Each fibre link supports a set of *W* data wavelength channels, {λ1, λ2, …, λ*W*–1, λ*W*}. Let Π = {π1, π2, …, π<sup>|</sup>Π|–1, π<sup>|</sup>Π|} denote the set of routing paths used to transmit data bursts in the network, *Ei* denote the set of fibre links traversed by path π*i* ∈ Π, and γ*i* denote the average traffic load offered to path π*i*. It is assumed that the average offered traffic load values are obtained empirically or based on long-term predictions of the network load. Ideally, this input information would be used to formulate a combinatorial optimization problem for determining a wavelength search ordering, that is, an ordered list of all *W* wavelength channels, for each routing path such that a relevant performance metric, like the average burst blocking probability, is minimized. However, blocking probability performance metrics can only be computed via network simulation or, in particular cases, estimated by solving a set of non-linear equations (Pedro et al., 2006a). As a result, the objective function cannot be expressed in terms of the problem variables in an analytical closed-form manner (Teng & Rouskas, 2005). Moreover, even if this was possible, the size of the solutions search space would grow steeply with the number of wavelength channels *W* and the number of routing paths

The BHP is transmitted via a control wavelength channel and processed at the control unit of each node along the routing path of the burst. The control unit uses the information in the BHP to determine the resources (e.g., wavelength channel in the designated output fibre link) to be allocated to the data burst during the time interval it is expected to be traversing the core node. This corresponds to a delayed resource reservation, since the resources are not immediately set up, but instead are only set up just before the arrival time of the data burst. Furthermore, the resources are allocated to the burst during the time strictly necessary for it to successfully pass through the node. This minimizes the bandwidth waste because these resources can be allocated to other bursts in nonoverlapping time intervals. Before forwarding the BHP to the next node, the control unit updates the offset time, reducing it by the amount of time spent by the BHP at the node. Meanwhile, the data burst buffered at the ingress node is transmitted after the timer set to the offset time expires. In case of successful resource reservation by its BHP at all the nodes of the routing path, the burst cuts through the core nodes in the optical domain until it arrives to the egress node. Otherwise, when resource reservation is unsuccessful at a node, both BHP and data burst are dropped at that node and the failed burst

As a result of using one-way resource reservation, there is a large probability that data bursts arrive at a core node on the same wavelength channel from different input fibre links and being directed to the same output fibre link of that node. This leads to contention for the same wavelength channel at the output fibre link. These contention events can be efficiently resolved using wavelength converters and/or minimized in advance through an optimized assignment of wavelengths at the ingress nodes. In view of the immaturity of all-optical wavelength converters, strategies for minimizing the probability of wavelength contention

Consider an OBS network modelled as a directed graph *G* = (*V*, *E*), where *V* = {*v*1, *v*2, ..., *vN*} is the set of nodes, *E* = {*e*1, *e*2, ..., *eL*} is the set of unidirectional fibre links and the network has a total of *N* nodes and *L* fibre links. Each fibre link supports a set of *W* data wavelength channels, {λ1, λ2, …, λ*W*–1, λ*W*}. Let Π = {π1, π2, …, π<sup>|</sup>Π|–1, π<sup>|</sup>Π|} denote the set of routing paths used to transmit data bursts in the network, *Ei* denote the set of fibre links traversed by path π*i* ∈ Π, and γ*i* denote the average traffic load offered to path π*i*. It is assumed that the average offered traffic load values are obtained empirically or based on long-term predictions of the network load. Ideally, this input information would be used to formulate a combinatorial optimization problem for determining a wavelength search ordering, that is, an ordered list of all *W* wavelength channels, for each routing path such that a relevant performance metric, like the average burst blocking probability, is minimized. However, blocking probability performance metrics can only be computed via network simulation or, in particular cases, estimated by solving a set of non-linear equations (Pedro et al., 2006a). As a result, the objective function cannot be expressed in terms of the problem variables in an analytical closed-form manner (Teng & Rouskas, 2005). Moreover, even if this was possible, the size of the solutions search space would grow steeply with the number of wavelength channels *W* and the number of routing paths

become of paramount importance in order to design cost-effective OBS core nodes.

transmission is signalled to the ingress node.

**2.1 Problem statement** 


In view of the aforementioned limitations in both problem formulation and resolution, the wavelength search orderings must be computed without knowing the resulting average burst blocking probability and by relying on heuristic algorithms. Notably, when the core nodes have limited or no wavelength conversion capabilities, burst blocking probability is closely related with the expected amount of unresolved wavelength contention. Consider two routing paths, π1 and π2, that traverse a common fibre link. Clearly, the chances of data bursts going through these paths and contending for the same wavelength channel at the common fibre link are minimized if their ingress nodes search for an available wavelength using opposite orderings of the wavelengths, that is, the ingress node of π1 uses, for instance, λ1, λ2, …, λ*W*–1, λ*W*, whereas the ingress node of π2 uses λ*W*, λ*W*–1, …, λ2, λ1. This simple scenario is illustrated is Fig. 2 for *W* = 4, where most of the burst traffic on π1 (π2) will go through λ1, λ2 (λ4, λ3). However, in realistic network scenarios, each routing path shares fibre links with several other paths and, consequently, it is not feasible to have opposite wavelength search orderings for each pair of overlapping paths. Still, as long as it is possible for two overlapping paths to have two different wavelength channels ranked as the highest priority wavelengths, the probability of wavelength contention among data bursts going through these paths is expected to be reduced. This observation constitutes the foundation of the heuristic traffic engineering approaches described in the following.

Fig. 2. Example OBS network with opposite wavelength search orderings.

#### **2.2 Heuristic minimum priority interference**

Intuitively, the chances of wavelength contention between data bursts going through different routing paths are expected to increase with both the average traffic load offered to the paths and with the number of common fibre links. Bearing this in mind, it is useful to define the concept of interference level of routing path π*i* on routing path π*j* with *i* ≠ *j* as,

$$I(\pi\_i, \pi\_j) = \gamma\_i \mid E\_i \cap E\_j \mid \tag{1}$$

Optical Burst-Switched Networks Exploiting Traffic Engineering in the Wavelength Domain 285

(**S3**) Select wavelength channel λ*j* as the primary wavelength of all the paths in sub-set Π*j*,

(<sup>λ</sup> ,<sup>π</sup> ) 0, otherwise

The first step of this stage of the HMPI algorithm is used to order the routing paths by decreasing interference level on the remaining paths. Ties are broken by giving preference to the longer routing paths. Considering *W* sub-sets of routing paths, the second step sequentially includes each routing path on the sub-set with minimum combined interference level between the routing path and the paths already included in the sub-set. Ties are broken by preferring the sub-set with larger number of paths. Finally, the third step assigns to all routing paths of a sub-set the primary wavelength associated with that sub-set. As a result of this stage, the routing paths with minimum combined interference level, carrying data bursts that are less prone to contend with each other for the same wavelength channel,

In the second stage of the algorithm, the non-primary wavelengths for all routing paths are determined sequentially, starting with the second preferred wavelength channel and ending with the least preferred wavelength. When determining for each routing path the wavelength with priority *p* < *W*, it is intuitive to select one to which has been assigned, so far in the algorithm execution, the lowest priorities on routing paths that share fibre links with the routing path being considered. This constitutes the basic rule used in the second

The following steps are executed for priorities 1 ≤ *p* ≤ *W* – 1 in decreasing order and considering, for each priority *p*, all the routing paths according to the path ordering defined

(**S1**) Let {λ : (λ ,π ) 0, 1 } Λ = *j ji P* = ≤≤*j W* denote the initial set of candidate wavelengths,

(**S2**) Let { : π , ,(λ ,π ) ,| | 0, λ } *l jl l i j* Ρ = ∃ ≠ = ∩ > ∈Λ *k l iP k E E* be the set of priorities that have already been assigned to candidate wavelengths on paths that overlap with π*i*.

(**S3**) Let ψ min max { ( λ π λ ,π ) : ,| | 0, (λ ,π ) } *j l* = ∈Λ ∈Π *P l iE E P jl l i jl* ≠ ∩ > ∈Ρ be the lowest priority among the set containing the highest priority assigned to each candidate wavelength on paths that share links with π*i*. Update the set of candidate wavelengths

\{λ : π , ,(λ ,π ) ψ,| | 0} *j l jl l i* Λ←Λ ∃ ≠ > ∩ > *l iP E E* ; (8)

containing all wavelengths that have been assigned a priority of zero on routing path

*W <sup>P</sup>* ∈Π <sup>=</sup> 

(π ,π ) (π ,π ) and| | | |

*i l i l j k*

, if π

*i j*

. (7)

<sup>=</sup> Π >Π . (6)

c c

*j i*

*I I* ∈Π ∈Π ≠ ≠

π , π ,

*l i l i*

that is,

will share the same primary wavelength.

stage of the HMPI algorithm.

in the first stage of the algorithm.

π*i*. If |Λ| = 1, go to (**S7**).

as follows,

If |Λ| = 1, go to (**S7**).

*l j l k*

where |*Ei* ∩ *Ej*| denotes the number of fibre links shared by both paths, and to define the combined interference level between routing paths π*i* and π*j* with *i* ≠ *j* as,

$$I^c(\pi\_{i\prime}, \pi\_{\not\!\!/ }) = I(\pi\_{i\prime}, \pi\_{\not\!\!/ }) + I(\pi\_{\not\!\!/ }, \pi\_{\not\!\!/ }) = (\gamma\_{\!\!\!/ } + \gamma\_{\!\!\!/ }) \mid E\_i \cap E\_{\!\!\!/} \mid. \tag{2}$$

The higher the combined interference level between two routing paths, the higher the likelihood that data bursts going through those paths will contend for the same fibre link resources. Consequently, routing paths with higher combined interference level should use wavelength search orderings as opposed as possible. This constitutes the basic principle exploited by First Fit-Traffic Engineering (FF-TE) (Teng & Rouskas, 2005), which was the first offline algorithm proposed to determine wavelength search orderings that are expected to reduce the probability of wavelength contention. However, this algorithm oversimplifies the problem resolution by computing a single wavelength search ordering for all the routing paths with the same ingress node. A detailed discussion of the limitations of the FF-TE algorithm is presented in (Pedro et al., 2006b). To overcome these shortcomings, the more advanced Heuristic Minimum Priority Interference (HMPI) algorithm, which computes an individual wavelength search ordering per routing path, is described below.

#### **2.2.1 Algorithm description**

The algorithm proposed in (Pedro et al., 2006b) for minimizing wavelength contention aims to determine an individual wavelength search ordering for each routing path with a reduced computational effort. The HMPI algorithm uses as input information the network topology, the routing paths and the average traffic load offered to the routing paths.

In order to determine the wavelength search ordering of a routing path, a unique priority must be assigned to each of the wavelengths. The wavelength ranked with the highest priority, called the primary wavelength, is expected to carry the largest amount of burst traffic going through the routing path. The other wavelengths, ordered by decreasing priority, expectedly carry diminishing amounts of burst traffic. In view of the importance of the primary wavelengths, the HMPI algorithm comprises a first stage dedicated to optimize them, consisting of the following three steps.

(**S1**) Reorder the routing paths of Π such that if *i* < *j* one of the following conditions holds,

$$\sum\_{\substack{\mathbf{m}\_k \in \Pi\_\prime \\ k \neq i}} I(\mathbf{m}\_{i'} \mathbf{m}\_k) > \sum\_{\substack{\mathbf{m}\_k \in \Pi\_\prime \\ k \neq j}} I(\mathbf{m}\_{j'} \mathbf{m}\_k) \; ; \tag{3}$$

$$\sum\_{\substack{\mathbf{m}\_k \in \Pi, \\ k \neq i}} I(\mathbf{m}\_{i'}, \mathbf{m}\_k) = \sum\_{\substack{\mathbf{m}\_k \in \Pi, \\ k \neq j}} I(\mathbf{m}\_{j'}, \mathbf{m}\_k) \text{ and } |E\_i| \gg |E\_j| \,. \tag{4}$$

(**S2**) Consider *W* sub-sets of the routing paths, one per wavelength, initially empty, that is, |Π*j*| = 0 for *j* = 1, …, *W*. Following the routing path ordering defined for Π, include path π*i* in the sub-set Π*j* such that for any *k* ≠ *j* one of the subsequent conditions holds,

$$\sum\_{\substack{\mathbf{m}\_l \in \Pi\_j,\\ l \neq i}} I^c(\mathbf{m}\_i, \mathbf{m}\_l) < \sum\_{\substack{\mathbf{m}\_l \in \Pi\_k,\\ l \neq i}} I^c(\mathbf{m}\_i, \mathbf{m}\_l) \; ; \tag{5}$$

where |*Ei* ∩ *Ej*| denotes the number of fibre links shared by both paths, and to define the

The higher the combined interference level between two routing paths, the higher the likelihood that data bursts going through those paths will contend for the same fibre link resources. Consequently, routing paths with higher combined interference level should use wavelength search orderings as opposed as possible. This constitutes the basic principle exploited by First Fit-Traffic Engineering (FF-TE) (Teng & Rouskas, 2005), which was the first offline algorithm proposed to determine wavelength search orderings that are expected to reduce the probability of wavelength contention. However, this algorithm oversimplifies the problem resolution by computing a single wavelength search ordering for all the routing paths with the same ingress node. A detailed discussion of the limitations of the FF-TE algorithm is presented in (Pedro et al., 2006b). To overcome these shortcomings, the more advanced Heuristic Minimum Priority Interference (HMPI) algorithm, which computes an

The algorithm proposed in (Pedro et al., 2006b) for minimizing wavelength contention aims to determine an individual wavelength search ordering for each routing path with a reduced computational effort. The HMPI algorithm uses as input information the network

In order to determine the wavelength search ordering of a routing path, a unique priority must be assigned to each of the wavelengths. The wavelength ranked with the highest priority, called the primary wavelength, is expected to carry the largest amount of burst traffic going through the routing path. The other wavelengths, ordered by decreasing priority, expectedly carry diminishing amounts of burst traffic. In view of the importance of the primary wavelengths, the HMPI algorithm comprises a first stage dedicated to optimize

(**S1**) Reorder the routing paths of Π such that if *i* < *j* one of the following conditions holds,

*I I* ∈Π ∈Π ≠ ≠

(π ,π ) (π ,π )

*i k j k*

(π ,π ) (π ,π ) and| | | |

*I I EE*

(**S2**) Consider *W* sub-sets of the routing paths, one per wavelength, initially empty, that is, |Π*j*| = 0 for *j* = 1, …, *W*. Following the routing path ordering defined for Π, include path π*i* in the sub-set Π*j* such that for any *k* ≠ *j* one of the subsequent conditions holds,

c c

*I I* ∈Π ∈Π ≠ ≠

π , π ,

*l i l i*

*l j l k*

*i k j k i j*

(π ,π ) (π ,π )

*i l i l*

<sup>&</sup>gt; ; (3)

<sup>&</sup>lt; ; (5)

= > . (4)

π , π ,

*k i k j*

*k k*

π , π ,

∈Π ∈Π ≠ ≠

*k i k j*

*k k*

topology, the routing paths and the average traffic load offered to the routing paths.

*I*c(π*i*, π*j*)= *I*(π*i*, π*j*) + *I*(π*j*, π*i*) = (γ*i* + γ*j*)|*Ei* ∩ *Ej*|. (2)

combined interference level between routing paths π*i* and π*j* with *i* ≠ *j* as,

individual wavelength search ordering per routing path, is described below.

**2.2.1 Algorithm description** 

them, consisting of the following three steps.

$$\sum\_{\substack{\mathbf{n}\_l \in \Pi\_j,\\ l \neq i}} I^{\mathbf{c}}(\mathbf{n}\_i, \mathbf{n}\_l) = \sum\_{\substack{\mathbf{n}\_l \in \Pi\_k,\\ l \neq i}} I^{\mathbf{c}}(\mathbf{n}\_i, \mathbf{n}\_l) \text{ and } |\Pi\_j| \gg |\Pi\_k|\,. \tag{6}$$

(**S3**) Select wavelength channel λ*j* as the primary wavelength of all the paths in sub-set Π*j*, that is,

$$P(\lambda\_{j'}, \mathbf{n}\_i) = \begin{cases} \mathcal{W}\_{\prime} \text{ if } \mathbf{n}\_i \in \Pi\_j \\ 0, \text{ otherwise} \end{cases} \tag{7}$$

The first step of this stage of the HMPI algorithm is used to order the routing paths by decreasing interference level on the remaining paths. Ties are broken by giving preference to the longer routing paths. Considering *W* sub-sets of routing paths, the second step sequentially includes each routing path on the sub-set with minimum combined interference level between the routing path and the paths already included in the sub-set. Ties are broken by preferring the sub-set with larger number of paths. Finally, the third step assigns to all routing paths of a sub-set the primary wavelength associated with that sub-set. As a result of this stage, the routing paths with minimum combined interference level, carrying data bursts that are less prone to contend with each other for the same wavelength channel, will share the same primary wavelength.

In the second stage of the algorithm, the non-primary wavelengths for all routing paths are determined sequentially, starting with the second preferred wavelength channel and ending with the least preferred wavelength. When determining for each routing path the wavelength with priority *p* < *W*, it is intuitive to select one to which has been assigned, so far in the algorithm execution, the lowest priorities on routing paths that share fibre links with the routing path being considered. This constitutes the basic rule used in the second stage of the HMPI algorithm.

The following steps are executed for priorities 1 ≤ *p* ≤ *W* – 1 in decreasing order and considering, for each priority *p*, all the routing paths according to the path ordering defined in the first stage of the algorithm.


$$
\Lambda \leftarrow \Lambda \backslash \{ \lambda\_j : \exists \mathfrak{m}\_l, l \neq i, \, P(\lambda\_j, \mathfrak{m}\_l) > \mathfrak{u}\_l \mid E\_l \cap E\_i \mid > 0 \} \; ; \tag{8}
$$

If |Λ| = 1, go to (**S7**).

Optical Burst-Switched Networks Exploiting Traffic Engineering in the Wavelength Domain 287

As the outcome of executing the HMPI algorithm, each wavelength channel λ*j* is assigned a unique priority on routing path π*i*, 1 ≤ *P*(λ*j*, π*i*) ≤ *W*. Equivalently, this solution for the priority assignment problem can be represented as an ordering of the *W* wavelengths,

searched when assigning a wavelength to data bursts directed to routing path π*i*. In order to enforce these search orderings, each of these lists must be uploaded from the point where they are computed to the ingress nodes of the routing paths. Hence, assuming single-path routing, each ingress node will have to maintain at most *N* – 1 lists of ordered wavelengths. The computational complexity of the HMPI algorithm, as derived in (Pedro et al., 2009c), is given by *O*(*W* 2*·*|Π|2), that is, in the worst case it scales with the square of the number of

In order to give a better insight into the HMPI algorithm, consider the example OBS network of Fig. 3, which has 6 nodes and 8 fibre links (Pedro et al., 2009c). The number of routing paths used to transmit bursts in the network is |Π| = 6 and each fibre link supports a number of wavelength channels *W* = 4. Moreover, the average traffic load offered to each routing path is 1, except for routing path π4, which has an average offered traffic load of 1.2,

Fig. 3. OBS network used to exemplify the HMPI algorithm (Pedro et al., 2009c).

The HMPI algorithm starts by computing the interference level of all pairs of routing paths, as shown in Table 1. Step (**S1**) of the first stage of the algorithm orders the routing paths by decreasing order of their interference level over other paths, which results in the path order {π5, π4, π3, π1, π6, π2}. The path with the highest interference level over other paths is π5, which overlaps with three paths, and the path with the second highest interference level over other paths is π4, which overlaps with two paths. Although π3, π1 and π6 also overlap with two paths, π4 is offered more traffic load and consequently can cause more contention. In addition, π3 precedes π1 and π6 because it is longer than the later paths. Since paths π1 and

(π*i*) denotes the *j*th wavelength channel to be

(π*i*), …, λ*W*(π*i*)}, where λ*<sup>j</sup>*

wavelength channels times the square of the number of routing paths.

{λ1(π*i*), λ2(π*i*), …, λ*<sup>j</sup>*

**2.2.2 Illustrative example** 

that is, γ*i* = 1 for *i* = 1, 2, 3, 5, 6 and γ4 = 1.2.

(**S4**) Define (<sup>λ</sup> ,) {<sup>γ</sup> : ,| | 0, (<sup>λ</sup> ,<sup>π</sup> ) <sup>ψ</sup>} *C e EeEE P jm l l m l i j l* = ⊃ ∩> = as the cost associated with wavelength channel λ*<sup>j</sup>* ∈ Λ on link *em* ∈ *Ei* and α<sup>e</sup> min max ( <sup>λ</sup> λ , ) *<sup>j</sup> m i* = ∈Λ ∈ *e E C e <sup>j</sup> <sup>m</sup>* as the minimum cost among the set containing the highest cost associated with each candidate wavelength on the fibre links of π*i*. Update the set of candidate wavelengths as follows,

$$
\Lambda \leftarrow \Lambda \left\{ \{\lambda\_j : \exists e\_m \, \mathsf{C}(\lambda\_j, e\_m) > \mathfrak{a}\_{\mathsf{e} \prime} \, e\_m \in E\_i \right\} ; \tag{9}
$$

If |Λ| = 1, go to (**S7**).

(**S5**) Define (λ ,π ) (λ , ) *m i <sup>C</sup> <sup>j</sup> <sup>i</sup>* <sup>=</sup> *e E*<sup>∈</sup> *C e <sup>j</sup> <sup>m</sup>* as the cost associated with wavelength λ*j* on path π*<sup>i</sup>* and απ λ min (λ ,π ) *<sup>j</sup>* = ∈Λ *C <sup>j</sup> <sup>i</sup>* as the minimum cost among the costs associated with the candidate wavelengths on π*i*. Update the set of candidate wavelengths as follows,

$$
\Lambda \leftarrow \Lambda \left\{ \langle \lambda\_{\dot{j}} : \mathbb{C}(\lambda\_{\dot{j}'} \mathbf{n}\_i) > \mathbf{a}\_{\mathbf{n}} \rangle \right\}; \tag{10}
$$

If |Λ| = 1, go to (**S7**).

(**S6**) Update the set of priorities assigned to the candidate wavelengths as follows,

$$\mathbf{P} \leftarrow \mathbf{P} \backslash \{k : k \ge \boldsymbol{\upmu}\};\tag{11}$$


The first step of the second stage of the HMPI algorithm is used to define the candidate wavelength channels by excluding the ones that have already been assigned a priority larger than zero on the routing path, whereas the second step determines the priorities assigned to these wavelengths on paths that overlap with the routing path under consideration. The third, fourth and fifth step are used to reduce the number of candidate wavelengths. As soon as there is only one candidate wavelength, it is assigned to it the priority *p* on path π*i*, concluding the iteration. In the third step, the highest priority already assigned to each of the candidate wavelength channels on paths that overlap with π*i* is determined. Only the wavelengths with the lowest of these priorities are kept in the set of candidates. If needed, the fourth step tries to break ties by associating a cost with each candidate wavelength on each fibre link of π*i*. This cost is given by the sum of the average traffic load offered to paths that traverse the fibre link and use the wavelength with priority ψ. The wavelengths whose largest link cost, among all links of π*i*, is the smallest one (αe) are kept as candidates. When there are still multiple candidate wavelengths, the fifth step associates a cost with each wavelength on path π*i*, which is simply given by the sum of the cost associated to the wavelength on all links of the routing path. The candidate wavelengths with smallest path cost (απ) are kept. If necessary, the sixth step removes the priorities equal or larger than ψ from the set of priorities assigned to candidate wavelengths on paths that overlap with the path being considered and repeats the iteration. Finally, if all priorities have been removed and there are still multiple candidate wavelengths, one of them is randomly selected.

As the outcome of executing the HMPI algorithm, each wavelength channel λ*j* is assigned a unique priority on routing path π*i*, 1 ≤ *P*(λ*j*, π*i*) ≤ *W*. Equivalently, this solution for the priority assignment problem can be represented as an ordering of the *W* wavelengths, {λ1(π*i*), λ2(π*i*), …, λ*<sup>j</sup>* (π*i*), …, λ*W*(π*i*)}, where λ*<sup>j</sup>* (π*i*) denotes the *j*th wavelength channel to be searched when assigning a wavelength to data bursts directed to routing path π*i*. In order to enforce these search orderings, each of these lists must be uploaded from the point where they are computed to the ingress nodes of the routing paths. Hence, assuming single-path routing, each ingress node will have to maintain at most *N* – 1 lists of ordered wavelengths.

The computational complexity of the HMPI algorithm, as derived in (Pedro et al., 2009c), is given by *O*(*W* 2*·*|Π|2), that is, in the worst case it scales with the square of the number of wavelength channels times the square of the number of routing paths.

#### **2.2.2 Illustrative example**

286 Telecommunications Networks – Current Status and Future Trends

(**S4**) Define (<sup>λ</sup> ,) {<sup>γ</sup> : ,| | 0, (<sup>λ</sup> ,<sup>π</sup> ) <sup>ψ</sup>} *C e EeEE P jm l l m l i j l* = ⊃ ∩> = as the cost associated with wavelength channel λ*<sup>j</sup>* ∈ Λ on link *em* ∈ *Ei* and α<sup>e</sup> min max ( <sup>λ</sup> λ , ) *<sup>j</sup> m i* = ∈Λ ∈ *e E C e <sup>j</sup> <sup>m</sup>* as the minimum cost among the set containing the highest cost associated with each candidate wavelength on the fibre links of π*i*. Update the set of candidate wavelengths

\{ <sup>e</sup> λ : ,(λ , ) α , } *<sup>j</sup> <sup>m</sup> <sup>j</sup> m mi* Λ←Λ ∃*eC e e E* > ∈ ; (9)

\{ <sup>π</sup> λ : (λ ,π ) α } Λ←Λ *j ji C* > ; (10)

Ρ←Ρ ≥ \{ : *k k* ψ} ; (11)

*<sup>C</sup> <sup>j</sup> <sup>i</sup>* <sup>=</sup> *e E*<sup>∈</sup> *C e <sup>j</sup> <sup>m</sup>* as the cost associated with wavelength λ*j* on path π*<sup>i</sup>*

and απ λ min (λ ,π ) *<sup>j</sup>* = ∈Λ *C <sup>j</sup> <sup>i</sup>* as the minimum cost among the costs associated with the

candidate wavelengths on π*i*. Update the set of candidate wavelengths as follows,

(**S6**) Update the set of priorities assigned to the candidate wavelengths as follows,

If |Ρ| > 0, go to (**S3**). Else, randomly select a candidate wavelength λ ∈ Λ. (**S7**) Assign priority *p* to the candidate wavelength λ ∈ Λ on path π*i*, that is, *P*(λ, π*i*) = *p*.

are still multiple candidate wavelengths, one of them is randomly selected.

The first step of the second stage of the HMPI algorithm is used to define the candidate wavelength channels by excluding the ones that have already been assigned a priority larger than zero on the routing path, whereas the second step determines the priorities assigned to these wavelengths on paths that overlap with the routing path under consideration. The third, fourth and fifth step are used to reduce the number of candidate wavelengths. As soon as there is only one candidate wavelength, it is assigned to it the priority *p* on path π*i*, concluding the iteration. In the third step, the highest priority already assigned to each of the candidate wavelength channels on paths that overlap with π*i* is determined. Only the wavelengths with the lowest of these priorities are kept in the set of candidates. If needed, the fourth step tries to break ties by associating a cost with each candidate wavelength on each fibre link of π*i*. This cost is given by the sum of the average traffic load offered to paths that traverse the fibre link and use the wavelength with priority ψ. The wavelengths whose largest link cost, among all links of π*i*, is the smallest one (αe) are kept as candidates. When there are still multiple candidate wavelengths, the fifth step associates a cost with each wavelength on path π*i*, which is simply given by the sum of the cost associated to the wavelength on all links of the routing path. The candidate wavelengths with smallest path cost (απ) are kept. If necessary, the sixth step removes the priorities equal or larger than ψ from the set of priorities assigned to candidate wavelengths on paths that overlap with the path being considered and repeats the iteration. Finally, if all priorities have been removed and there

as follows,

If |Λ| = 1, go to (**S7**).

If |Λ| = 1, go to (**S7**).

(**S5**) Define (λ ,π ) (λ , )

*m i*

In order to give a better insight into the HMPI algorithm, consider the example OBS network of Fig. 3, which has 6 nodes and 8 fibre links (Pedro et al., 2009c). The number of routing paths used to transmit bursts in the network is |Π| = 6 and each fibre link supports a number of wavelength channels *W* = 4. Moreover, the average traffic load offered to each routing path is 1, except for routing path π4, which has an average offered traffic load of 1.2, that is, γ*i* = 1 for *i* = 1, 2, 3, 5, 6 and γ4 = 1.2.

Fig. 3. OBS network used to exemplify the HMPI algorithm (Pedro et al., 2009c).

The HMPI algorithm starts by computing the interference level of all pairs of routing paths, as shown in Table 1. Step (**S1**) of the first stage of the algorithm orders the routing paths by decreasing order of their interference level over other paths, which results in the path order {π5, π4, π3, π1, π6, π2}. The path with the highest interference level over other paths is π5, which overlaps with three paths, and the path with the second highest interference level over other paths is π4, which overlaps with two paths. Although π3, π1 and π6 also overlap with two paths, π4 is offered more traffic load and consequently can cause more contention. In addition, π3 precedes π1 and π6 because it is longer than the later paths. Since paths π1 and

Optical Burst-Switched Networks Exploiting Traffic Engineering in the Wavelength Domain 289

candidate wavelengths is updated to Λ = {λ3, λ4}, because both λ3 and λ4 are assigned priority 0 on paths that overlap with π4. In this particular case, the algorithm cannot break the tie and in (**S7**) randomly selects wavelength λ4 to be assigned priority 3 on path π4. For the remaining paths, there is only one candidate wavelength whose priority on other paths equals ρ. Wavelength λ4 is assigned priority 3 on paths π3 and π1 and wavelength λ3 is

The second stage of the algorithm is executed again, but with *p* = 2. For path π5, the initial set of candidate wavelengths is Λ = {λ2, λ3}. Both wavelengths are assigned priority 4 on at least one of the paths that overlaps with π5 (ρ = 4), λ2 on π2 and π6 and λ3 on π1. Paths π1, π2, and π6 share with π5 links *e*3, *e*5 and *e*8, respectively, and the average traffic load offered to these paths is 1. Thus, according to (**S4**), the cost associated with λ2 and λ3 on each link is at most 1 (α*e* = 1). However, λ2 has this link cost on two links, which in (**S5**) results in a cost *C*(λ2, π5) = 2, whereas λ3 has this link cost on a single link, *C*(λ3, π5) = 1. Consequently, απ = 1 and the set of candidate wavelengths is updated to Λ = {λ3}. For path π4, Λ = {λ2, λ3}, Ρ = {0, 3, 4}, and ρ = 3. Only wavelength λ3 is used with a priority smaller or equal than 3 in all links, which reduces the set of candidates to λ3. In the case of path π3, Λ = {λ1, λ3} and λ1 is assigned priority 4 on π4, whereas λ3 is assigned this priority on π1. Since γ4 > γ1, the highest link cost associated to λ1 is larger than that for λ3, and the candidate wavelengths are reduced to λ3. For path π1, Λ = {λ1, λ2} and both these wavelengths observe ρ = 4, α*e* = 1 and απ = 1. The algorithm has to randomly select one of the wavelengths (λ2). For both π6 and π2, Λ = {λ1, λ4}, ρ = 3, but only λ4 is assigned a priority smaller or equal to 3 in all of the links.

Finally, for *p* = 1 the wavelength assignment is trivial, because there is only one wavelength still assigned priority 0 on each path. The complete wavelength search ordering of each path can be obtained from Table 2. The following observations show that these orderings should effectively reduce contention. Firstly, overlapping paths do not share the same primary wavelength. Instead, primary wavelengths are reused by link-disjoint routing paths (e.g., λ<sup>2</sup> is the primary wavelength of π2, π3 and π6). Secondly, paths use with smallest possible priority the primary wavelengths of overlapping paths (e.g., π1, π2 and π6 overlap with π<sup>5</sup>

Noteworthy, at the ingress edge nodes of an OBS network, data bursts are kept in electronic buffers before a wavelength channel is assigned to them and they are transmitted optically towards the egress edge nodes. Clearly, the flexibility of scheduling data bursts in the wavelength channels is considerably higher when the bursts are still buffered at the ingress nodes than when they have already been converted to the optical domain. For instance, a data burst can be delayed at one of the ingress buffers by the exact amount of time required for a wavelength channel to become available in the designated output fibre link. This procedure is not possible at the core nodes due to the lack of optical RAM. The capability of delaying data bursts at an ingress node by a random amount of time, not only increases the chances of successfully scheduling bursts at the output fibre link of their ingress nodes, but also enables implementing strategies that reduce in advance the probability of contention at the core nodes.

assigned this priority on paths π6 and π2.

The set of candidate wavelengths is reduced to Λ = {λ4}.

and use the primary wavelength of this path with priority 1).

**3. Traffic engineering in the wavelength domain** 


π6 are tied, the path with the smallest index was given preference. Finally, the path with the lowest interference level over other paths is π2.

Table 1. Interference level of the routing paths.

Step (**S2**) starts by creating one sub-set of routing paths per wavelength, that is, Π1, Π2, Π3, Π4. Following the determined path order, π5 is included in the first empty sub-set, Π1. Path π4 is also included in Π1, because *I*C(π4, π5) = 0 and Π1 has more paths than the remaining sub-sets. Since path π3 overlaps with π4, *I*C(π3, π4) = 2.2, and π4 is already included in Π1, π3 is included in the empty sub-set Π2. Moreover, path π1 overlaps with both π5 and π3 and thus it is included in empty sub-set Π3. Path π6 can be included in sub-sets Π2 and Π3 because it only overlaps with the paths of Π1. The tie is broken by selecting the sub-set with smallest index, that is, Π2. Similarly, path π2 is also included in this sub-set as it does not overlap with the paths in Π2 and Π3 and |Π2| > |Π3|. Since every path has been included in one sub-set, Π1 = {π4, π5}, Π2 = {π2, π3, π6} and Π3 = {π1}, step (**S3**) concludes the first stage of the algorithm by making λ1 the primary wavelength of paths π4 and π5, λ2 the primary wavelength of paths π2, π3 and π6, and λ3 the primary wavelength of path π1. The other wavelengths are temporarily assigned priority 0 on the routing paths. Table 2 shows the priorities assigned to the wavelengths on the routing paths after the entire HMPI algorithm has been executed.


Table 2. Wavelengths priority on the routing paths.

The second stage of the algorithm is initiated with *p* = 3 and proceeds path by path according to the order already defined. For path π5, the algorithm starts by creating the initial set of candidate wavelengths, Λ = {λ2, λ3, λ4}, in (**S1**). Since this path overlaps with π1, π2 and π6, the set of priorities assigned to wavelengths of Λ on these paths, determined in (**S2**), is Ρ = {0, 4}. Wavelength λ4 is assigned priority 0 on all paths that overlap with π5 and thus ρ = 0. Accordingly, in (**S3**) the set of candidate wavelengths is updated, Λ = {λ4}, and λ<sup>4</sup> is assigned priority 3 on path π5. For path π4, Λ = {λ2, λ3, λ4}, Ρ = {0, 4}, and ρ = 0. The set of

π6 are tied, the path with the smallest index was given preference. Finally, the path with the

Step (**S2**) starts by creating one sub-set of routing paths per wavelength, that is, Π1, Π2, Π3, Π4. Following the determined path order, π5 is included in the first empty sub-set, Π1. Path π4 is also included in Π1, because *I*C(π4, π5) = 0 and Π1 has more paths than the remaining sub-sets. Since path π3 overlaps with π4, *I*C(π3, π4) = 2.2, and π4 is already included in Π1, π3 is included in the empty sub-set Π2. Moreover, path π1 overlaps with both π5 and π3 and thus it is included in empty sub-set Π3. Path π6 can be included in sub-sets Π2 and Π3 because it only overlaps with the paths of Π1. The tie is broken by selecting the sub-set with smallest index, that is, Π2. Similarly, path π2 is also included in this sub-set as it does not overlap with the paths in Π2 and Π3 and |Π2| > |Π3|. Since every path has been included in one sub-set, Π1 = {π4, π5}, Π2 = {π2, π3, π6} and Π3 = {π1}, step (**S3**) concludes the first stage of the algorithm by making λ1 the primary wavelength of paths π4 and π5, λ2 the primary wavelength of paths π2, π3 and π6, and λ3 the primary wavelength of path π1. The other wavelengths are temporarily assigned priority 0 on the routing paths. Table 2 shows the priorities assigned to the wavelengths on the routing

> *P*(λ*j*, π*i*) π1 π2 π3 π4 π5 π<sup>6</sup> λ<sup>1</sup> 1 1 1 4 4 1 λ<sup>2</sup> 2 4 4 1 1 4 λ<sup>3</sup> 4 3 2 2 2 3 λ<sup>4</sup> 3 2 3 3 3 2

The second stage of the algorithm is initiated with *p* = 3 and proceeds path by path according to the order already defined. For path π5, the algorithm starts by creating the initial set of candidate wavelengths, Λ = {λ2, λ3, λ4}, in (**S1**). Since this path overlaps with π1, π2 and π6, the set of priorities assigned to wavelengths of Λ on these paths, determined in (**S2**), is Ρ = {0, 4}. Wavelength λ4 is assigned priority 0 on all paths that overlap with π5 and thus ρ = 0. Accordingly, in (**S3**) the set of candidate wavelengths is updated, Λ = {λ4}, and λ<sup>4</sup> is assigned priority 3 on path π5. For path π4, Λ = {λ2, λ3, λ4}, Ρ = {0, 4}, and ρ = 0. The set of

*I*(π*i*, π*j*) π1 π2 π3 π4 π5 π<sup>6</sup> π<sup>1</sup> –– 0 1 0 1 0 π<sup>2</sup> 0 –– 0 0 1 0 π<sup>3</sup> 1 0 –– 1 0 0 π<sup>4</sup> 0 0 1.2 –– 0 1.2 π<sup>5</sup> 1 1 0 0 –– 1 π<sup>6</sup> 0 0 0 1 1 ––

lowest interference level over other paths is π2.

Table 1. Interference level of the routing paths.

paths after the entire HMPI algorithm has been executed.

Table 2. Wavelengths priority on the routing paths.

candidate wavelengths is updated to Λ = {λ3, λ4}, because both λ3 and λ4 are assigned priority 0 on paths that overlap with π4. In this particular case, the algorithm cannot break the tie and in (**S7**) randomly selects wavelength λ4 to be assigned priority 3 on path π4. For the remaining paths, there is only one candidate wavelength whose priority on other paths equals ρ. Wavelength λ4 is assigned priority 3 on paths π3 and π1 and wavelength λ3 is assigned this priority on paths π6 and π2.

The second stage of the algorithm is executed again, but with *p* = 2. For path π5, the initial set of candidate wavelengths is Λ = {λ2, λ3}. Both wavelengths are assigned priority 4 on at least one of the paths that overlaps with π5 (ρ = 4), λ2 on π2 and π6 and λ3 on π1. Paths π1, π2, and π6 share with π5 links *e*3, *e*5 and *e*8, respectively, and the average traffic load offered to these paths is 1. Thus, according to (**S4**), the cost associated with λ2 and λ3 on each link is at most 1 (α*e* = 1). However, λ2 has this link cost on two links, which in (**S5**) results in a cost *C*(λ2, π5) = 2, whereas λ3 has this link cost on a single link, *C*(λ3, π5) = 1. Consequently, απ = 1 and the set of candidate wavelengths is updated to Λ = {λ3}. For path π4, Λ = {λ2, λ3}, Ρ = {0, 3, 4}, and ρ = 3. Only wavelength λ3 is used with a priority smaller or equal than 3 in all links, which reduces the set of candidates to λ3. In the case of path π3, Λ = {λ1, λ3} and λ1 is assigned priority 4 on π4, whereas λ3 is assigned this priority on π1. Since γ4 > γ1, the highest link cost associated to λ1 is larger than that for λ3, and the candidate wavelengths are reduced to λ3. For path π1, Λ = {λ1, λ2} and both these wavelengths observe ρ = 4, α*e* = 1 and απ = 1. The algorithm has to randomly select one of the wavelengths (λ2). For both π6 and π2, Λ = {λ1, λ4}, ρ = 3, but only λ4 is assigned a priority smaller or equal to 3 in all of the links. The set of candidate wavelengths is reduced to Λ = {λ4}.

Finally, for *p* = 1 the wavelength assignment is trivial, because there is only one wavelength still assigned priority 0 on each path. The complete wavelength search ordering of each path can be obtained from Table 2. The following observations show that these orderings should effectively reduce contention. Firstly, overlapping paths do not share the same primary wavelength. Instead, primary wavelengths are reused by link-disjoint routing paths (e.g., λ<sup>2</sup> is the primary wavelength of π2, π3 and π6). Secondly, paths use with smallest possible priority the primary wavelengths of overlapping paths (e.g., π1, π2 and π6 overlap with π<sup>5</sup> and use the primary wavelength of this path with priority 1).
