## 4 Routing Strategies
### SBPR path selection strategy  
This strategy takes into account the _streamline effect_[56] assuming that contention at a certain link can be strongly dependent on the number of input streams to the link. This is so because bursts traveling in a common link are streamlined and do not contend with each other until they diverge [67]. This happens because OBS networks are bufferless and once contentions are resolved at the first link where they merge, no further contentions will happen among them thereafter. However, like was depicted in Figure 10, those bursts may still contend with other bursts that merge at downstream nodes [67]. This phenomenon has impact in load balancing and must also be considered for path selection approaches. Taking into account that we are using full wavelength conversion, on a potentially contending situation, the wavelength of the contending burst may change at any hop. Therefore, at any particular node, all the arriving bursts can contend with each other regardless of their incoming links. This situation results in a somewhat more flexible streamline effect where a global potential joining point exists on each core node. In this case, our approach considers that routes must be chosen with the objective of minimize \"load\" differences at the output links. In fact, by dividing the total number of incoming links by the number of output links, a lower value of input links per output link is obtained, naturally favoring the creation of a lower number of inbound paths going to the same output link, while favoring the creation of widely dispersed paths at downstream. This is the principle behind this SBPR strategy.  
The main goal of the next objective function is to minimize \(\zeta_{MAX}\), a global bound that stores the highest number of routes competing for an output link. The second component of the objective function is a secondary goal so that routes having a small number of hops are chosen if multiple solutions exist for a given \(\zeta_{MAX}\) value.  
\[\text{Minimize }\zeta_{MAX}+\frac{1}{LV}\sum_{v\in\mathcal{V}}\sum_{l\in \mathcal{L}}\sigma^{v}\times p_{l}^{v} \tag{10}\]  
Figure 10: An illustrative example of the streamline effect.  
Subject to  
\[\sum_{v\in\mathcal{V}_{s,d}}\sigma^{v}=1,\;\forall s,d\in\mathcal{N} \tag{11}\] \[\zeta_{i}\geq\sum_{s,d\in\mathcal{N}}\sum_{v\in\mathcal{V}_{s,d}} \sigma^{v}\times p_{l_{out}}^{v},\;\forall i\in\mathcal{N},\forall l_{out}\in \mathcal{L}:s(l_{out})=i\] (12) \[\zeta_{MAX}\geq\zeta_{i},\;\forall i\in\mathcal{N}\] (13) \[\sigma^{v}\in\{0,1\};\text{non-negative integer:}\;\zeta_{i}, \zeta_{MAX} \tag{14}\]  
where \(\sigma^{v}\) is a binary variable that indicates if \(v\) is used to carry bursts from node \(s(v)\) to node \(d(v)\). Equation 11 states that one path must be found for each pair of nodes. Each path is selected from the corresponding set \(\mathcal{V}_{s,d}\) of available paths. For a specific node \(i\), Equation 12 stores in \(\zeta_{i}\) the highest number of selected routes competing for an output link of node \(i\). Note that an attempt will be made to evenly distribute the routes among all output links in order to keep \(\zeta_{i}\) low. Equation 13 stores in \(\zeta_{MAX}\) the highest value from all \(\zeta_{i}\). A global bound is being stored in \(\zeta_{MAX}\), the variable that will be minimized.