**2.1.1 Link cost for delay sensitive traffic**

We show the use of the additive link-cost metric as an example for the link-cost function for the delay sensitive traffic, considering two dynamically changing parameters. The first is the intersatellite distance between neighbouring satellites, while the second is the traffic load on a particular satellite. They have a significant effect on the routing performance and are scalable with the network load and link capacity, thus being well suited for link-cost metric. (Mohorcic et al., 2004; Svigelj et al., 2004a).

Routing and Traffic Engineering in Dynamic Packet-Oriented Networks 333

**2.1.1.2 Link cost based on expected queuing delay enhanced with Exponential Smoothing** 

In the case of using expected queuing delay in the assessment of the traffic load, we monitor the outgoing queues of particular traffic. A packet entering a given output queue at time *t* will have the expected queuing delay, *Texp*, given by Equation (4), where *Lav* is the average

() () *Lav T t nt*

Calculation of the expected queuing delay does not require any distribution of link status between neighbouring nodes, and has the advantage of fast response to congestions on the link. However, for calculation of pre-computed routing tables the average expected queuing delay *Texp\_av* has to be determined using Equation (5) at the end of each update interval *TI* starting at time *tS*. This average expected queuing delay could subsequently be already used as a link-cost metric parameter *TQl*, as shown in Equation (6), which expresses traffic load on

> <sup>1</sup> ( ) () *S*

*<sup>L</sup> T tT n t dt*

*I*

The consideration of link load in the link cost calculation, and consequently in route computation, may cause traffic load oscillations between alternative paths in the network (Bertsekas & Gallager, 1987). In particular, routing of packets along a given path increases the cost of used links. At the end of routing update interval this information is fed back to the routing algorithm, which chooses for the next routing update interval an alternative path. In extreme cases this may result in complete redirection of traffic load to alternative paths, eventually leading to traffic load oscillation between the two alternative paths in consecutive routing tables and hence routing instability. In ISL networks for instance traffic load oscillations impose a particular effect on delay sensitive traffic, as there are many alternative paths between a given pair of satellites with similar delays. Oscillations are especially inconvenient under heavy traffic load conditions, where the impact of traffic load parameter on the link cost is much higher than that of the propagation delay *TP*. Under such conditions oscillations lead to congestion on particular links, which significantly degrades routing performance. In addition, the oscillations of traffic load have also a great impact on triggered signalling, where the signalling load depends on a significant change of link cost. In order to introduce the triggered signalling, the reduction of the oscillation of traffic load and consequently the oscillation of link cost is inevitable. Smoothing of the link cost on a

• Directly by modifying the link cost on particular link with a suitable smoothing

*S*

*T C*

*t T av av S I t*

+ + =⋅ ⋅ ⋅ *I*

*<sup>C</sup>* = ⋅ *exp* (4)

\_ *Ql i* () ( ) *Tt T t T* = + *exp av S I* (6)

(5)

packet length, *C* the link capacity, and *n(t)* the number of packets in the queue.

\_

*exp*

particular link can be done in two ways:

function.

**Link-Cost Function** 

the link.

The distance between satellite pairs in a non-geostationary satellite system is deterministic and can be calculated in advance. We consider this distance of a particular link *l* through propagation delay (*TPl*). Propagation delay in satellite communications is proportional to the number of hops between source and destination satellites, which could be used as a simplified cost metric or an additional criterion.

The traffic load on a particular satellite and its outgoing links is constantly changing in a random fashion, thus it needs to be estimated in real-time. To estimate the traffic load on particular link we can use two parameters. It can be estimated through the queuing delay, which reflects the past values of traffic load, or expected queuing delay, which estimates the future value of queuing delay in a given outgoing queue. In addition, both parameters can be improved with additional functions (i.e. exponential forgetting function, exponential smoothing function), which are described in the following subsections. Thus, in general the link costs (*LCl*) for delay sensitive traffic on the link *l* at time *ti* are calculated using Equation (1) at the end of each routing table update interval. It includes the propagation delay (*TPl*) and traffic load represented by (*TQl*).

$$LC\_{l}\left(t\_{i}\right) = T\_{Pl}\left(t\_{i}\right) + T\_{Ql}\left(t\_{i}\right) \tag{1}$$

#### **2.1.1.1 Link cost based on the queuing delay enhanced with Exponential forgetting function EFF**

In this case we monitor the traffic load on a satellite through the packet queuing delay (*Tql*) at the respective port of the node, which is directly proportional to the traffic load on the selected outgoing link *l* as shown in Equation (2), where *Lr* denotes the length of the *r*th packet in outgoing queue and *Cl* is the capacity of the link *l*

$$T\_{ql} = \frac{\sum L\_r}{C\_l} \tag{2}$$

Due to variation of these queuing delays, the queuing delay value *TQl*, considered in the link-cost function, is periodically estimated using a fixed-size window exponential forgetting function EFF(*n,* χ, *Tql*) on a set of the last *n* values of packet queuing delay collected in a given time interval (i.e. *Tql*[*n*] being the last collected value, and the other values considered being *Tql*[*n*-1],..., *Tql*[1]). In the EFF function, *n* (the depth of the function) denotes the number of memory cells in the circular register. If the number of collected *Tql* values *m* is smaller than *n*, then only these values are considered in the EFF function. Furthermore, as shown in Equation (3), a forgetting factor, χ ∈ (0, 1), is introduced to make the more recent *Tql* values more significant in calculating *TQl*.

$$T\_{Ql} = EFF(n, \mathbb{X}\_{\prime}, T\_{ql}) = \begin{cases} (1 - \mathbb{X}) \cdot \sum\_{r=0}^{m-1} \mathbb{X}^{r} \cdot T\_{ql}[m - r] & \text{for } -\mathbb{m} < \mathbb{n} \\\\ (1 - \mathbb{X}) \cdot \sum\_{r=0}^{m-1} \mathbb{X}^{r} \cdot T\_{ql}[n - r] & \text{for } -\mathbb{m} \ge \mathbb{n} \end{cases} \tag{3}$$

The distance between satellite pairs in a non-geostationary satellite system is deterministic and can be calculated in advance. We consider this distance of a particular link *l* through propagation delay (*TPl*). Propagation delay in satellite communications is proportional to the number of hops between source and destination satellites, which could be used as a

The traffic load on a particular satellite and its outgoing links is constantly changing in a random fashion, thus it needs to be estimated in real-time. To estimate the traffic load on particular link we can use two parameters. It can be estimated through the queuing delay, which reflects the past values of traffic load, or expected queuing delay, which estimates the future value of queuing delay in a given outgoing queue. In addition, both parameters can be improved with additional functions (i.e. exponential forgetting function, exponential smoothing function), which are described in the following subsections. Thus, in general the link costs (*LCl*) for delay sensitive traffic on the link *l* at time *ti* are calculated using Equation (1) at the end of each routing table update interval. It includes the propagation

**2.1.1.1 Link cost based on the queuing delay enhanced with Exponential forgetting** 

In this case we monitor the traffic load on a satellite through the packet queuing delay (*Tql*) at the respective port of the node, which is directly proportional to the traffic load on the selected outgoing link *l* as shown in Equation (2), where *Lr* denotes the length of the *r*th

*<sup>r</sup> ql*

Due to variation of these queuing delays, the queuing delay value *TQl*, considered in the link-cost function, is periodically estimated using a fixed-size window exponential

collected in a given time interval (i.e. *Tql*[*n*] being the last collected value, and the other values considered being *Tql*[*n*-1],..., *Tql*[1]). In the EFF function, *n* (the depth of the function) denotes the number of memory cells in the circular register. If the number of collected *Tql* values *m* is smaller than *n*, then only these values are considered in the EFF function.

1

−

*<sup>m</sup> <sup>r</sup>*

 χ

*ql*

*[m - r]*

*[n - r]*

*T*

*ql*

*T*

0

=

*r*

1

−

*<sup>m</sup> <sup>r</sup>*

 χ

0

=

*r*

*T <sup>C</sup>* <sup>=</sup> 

( )

χ

−⋅ ⋅

1

( )

χ

−⋅ ⋅

1

*r*

*L* 

*l*

() () () *LC t T t T t l i Pl i Ql i* = + (1)

 *Tql*) on a set of the last *n* values of packet queuing delay

χ

(2)

∈ (0, 1), is introduced to make

(3)

for m n

<

≥

for m n

simplified cost metric or an additional criterion.

delay (*TPl*) and traffic load represented by (*TQl*).

packet in outgoing queue and *Cl* is the capacity of the link *l*

χ,

Furthermore, as shown in Equation (3), a forgetting factor,

the more recent *Tql* values more significant in calculating *TQl*.

(, , )

χ

= =

*Ql ql*

*T EFF n T*

**function EFF** 

forgetting function EFF(*n,* 

#### **2.1.1.2 Link cost based on expected queuing delay enhanced with Exponential Smoothing Link-Cost Function**

In the case of using expected queuing delay in the assessment of the traffic load, we monitor the outgoing queues of particular traffic. A packet entering a given output queue at time *t* will have the expected queuing delay, *Texp*, given by Equation (4), where *Lav* is the average packet length, *C* the link capacity, and *n(t)* the number of packets in the queue.

$$T\_{exp}(t) = n(t) \cdot \frac{L\_{av}}{C} \tag{4}$$

Calculation of the expected queuing delay does not require any distribution of link status between neighbouring nodes, and has the advantage of fast response to congestions on the link. However, for calculation of pre-computed routing tables the average expected queuing delay *Texp\_av* has to be determined using Equation (5) at the end of each update interval *TI* starting at time *tS*. This average expected queuing delay could subsequently be already used as a link-cost metric parameter *TQl*, as shown in Equation (6), which expresses traffic load on the link.

$$T\_{\rm exp\\_av}(t\_S + T\_I) = \frac{1}{T\_I} \cdot \int\_{t\_S}^{t\_S + T\_I} n(t) \cdot \frac{L\_{av}}{C} \cdot dt\tag{5}$$

$$T\_{Ql}(t\_i) = T\_{exp\_-av}(t\_S + T\_I) \tag{6}$$

The consideration of link load in the link cost calculation, and consequently in route computation, may cause traffic load oscillations between alternative paths in the network (Bertsekas & Gallager, 1987). In particular, routing of packets along a given path increases the cost of used links. At the end of routing update interval this information is fed back to the routing algorithm, which chooses for the next routing update interval an alternative path. In extreme cases this may result in complete redirection of traffic load to alternative paths, eventually leading to traffic load oscillation between the two alternative paths in consecutive routing tables and hence routing instability. In ISL networks for instance traffic load oscillations impose a particular effect on delay sensitive traffic, as there are many alternative paths between a given pair of satellites with similar delays. Oscillations are especially inconvenient under heavy traffic load conditions, where the impact of traffic load parameter on the link cost is much higher than that of the propagation delay *TP*. Under such conditions oscillations lead to congestion on particular links, which significantly degrades routing performance. In addition, the oscillations of traffic load have also a great impact on triggered signalling, where the signalling load depends on a significant change of link cost. In order to introduce the triggered signalling, the reduction of the oscillation of traffic load and consequently the oscillation of link cost is inevitable. Smoothing of the link cost on a particular link can be done in two ways:

• Directly by modifying the link cost on particular link with a suitable smoothing function.

Routing and Traffic Engineering in Dynamic Packet-Oriented Networks 335

In general, as indicated in Equation (9), different weights can be used on different links. In a non-geostationary satellite system, however, satellites are continuously revolving around the rotating earth, so weights cannot be optimized for the traffic load of certain regions but should either be fixed or should adapt to the conditions in a given region. The later gives

Weighted delay on the link, as given by Equation (9), can already be used as a simple continuous link-cost function with a linear relation between both metrics. In general, however, a more sophisticated link-cost function should be able to control the relative cost of heavily loaded links with respect to lightly loaded links. This can be accomplished by a non-linear link-cost function, such as an exponentially growing function with exponent α, as given in Equation (10), where *WDL* and *WDU* represent lower and upper boundary values of

> *WD WD WD LC WD WD WD*

The first term in Equation (10) represents the normalised dynamically changing link cost according to variation of propagation delay (e.g. ISL length) and traffic load (e.g. queuing delay). Since it is not suitable that link cost be zero, which can cause high oscillations, a small constant (*WDL*/*WDU*) is added to the normalised term of the link-cost function. This constant represents the normalised cost of the shortest link without any traffic load. When *α* = 0 a link-cost function has no influence on the routing algorithm, and path selection reduces to cost-independent routing (i.e. minimum hop count routing), while with *α* = 1 it selects a path with the minimum sum of link costs. Exponent values larger than 1 (*α* > 1) tend to eliminate heavily loaded (high cost) links from consideration, while exponent values smaller than 1 (*α* < 1) tend to preserve lightly loaded links. Combining Equations (9) and(10), the link cost for the delay sensitive traffic, which takes into consideration delay on

<sup>−</sup> = + <sup>−</sup>

*l L L*

α

*l Pl l Ql L L*

*WD WD WD*

*PDWF T TWF T WD WD LC*

Regardless of the selected link-cost function the calculated link cost needs to be distributed throughout the network and stored in nodes for the subsequent calculation of new routing tables. In order to reduce computation effort and memory requirements, routing algorithms have been proposed that perform path selection on a small set of discrete link-cost levels. In these algorithms the appropriate number of link-cost levels needs to be defined to balance

Equation (13) represents a suitable function, which converts the continuous link-cost function, given in Equation (12), to *L* discrete levels denoted as *CDl* in the range between 0 and 1. In this link-cost function the minimum and maximum value for weighted delay are used, *WDmin* and *WDmax*. Any link with weighted delay below *WDmin* is assigned the minimum cost 1/*L*, while

 ⋅+ ⋅ − = + <sup>−</sup>

*U L U*

α

(10)

(11)

*UL U*

opportunity for further optimisation using some traffic aware heuristic approach.

*l*

weighted delay on the links respectively.

the link, is calculated as given by Equation (11).

*l*

between the accuracy and computational complexity.

links with weighted delay higher than *WDmax* have link cost set to 1.

**2.1.1.4 Discretization** 

• Indirectly by using advanced forwarding policies, which send traffic also along the alternative paths and distribute traffic more evenly on the first and the second shortest paths and consequently smooth-out the link cost. (see section 2.4.)

To reduce the oscillations one can use an exponential smoothing link-cost function, which iteratively calculates the traffic load parameter *TQl* from its previous values according to Equation (7). The influence of the previous value is regulated with a parameter *k*, defined between 0 and 1 (*k*∈[0,1]), while the initial value for the parameter *TQl* is set to 0.

$$\begin{split} T\_{Ql}(t\_0) &= 0\\ T\_{Ql}(t\_i) &= \left[ T\_{exp\\_av}(t\_i) - T\_{\mathcal{Q}l}(t\_{i-1}) \right] \cdot k + T\_{\mathcal{Q}l}(t\_{i-1}) = \\ &= k \cdot T\_{exp\\_av}(t\_i) + (1 - k) \cdot T\_{\mathcal{Q}l}(t\_{i-1}) \end{split} \tag{7}$$

Taking into account this parameter, the cost of a given link *l* is calculated using Equation (1). If *k* equals 1, there is no influence of previous values on current link cost and Equation (7) transforms to Equation (6). On the other hand, if *k* equals 0, only propagation delay is considered in link cost calculation, which leads to traffic insensitive routing.

One of the drawbacks of the exponential smoothing link-cost function is that it takes into account in each iteration all previous values of parameter *Texp\_av*. The value of *TQ* as a function of *n* previous values of *Texp\_av* is given in Equation (8). It can be seen that the impact of previous values of *Texp\_av* decreases exponentially with increasing value of *n*.

$$\begin{split} T\_{Ql}(t\_n) &= k \cdot \left( (1-k)^0 \cdot T\_{\exp\\_av}(t\_n) + (1-k)^1 \cdot T\_{\exp\\_av}(t\_{n-1}) + \\ &+ (1-k)^2 \cdot T\_{\exp\\_av}(t\_{n-2}) + ... + (1-k)^{n-1} \cdot T\_{\exp\\_av}(t\_1) \right) \end{split} \tag{8}$$

The main goal of the exponential smoothing link-cost function, which tends to suppress the traffic load oscillations, is that the link cost should reflect the actual traversing traffic flow and the traffic intensity of the region served by the satellite, and not the instantaneous fluctuations of traffic load due to oscillation. In such manner exponential smoothing algorithm promises more evenly distribution of traffic load between links and consequently a better performance for different traffic types. Furthermore it ensures, that in a lightly loaded network, the routing performance is not decreased, while it is notably enhanced in heavily loaded network. A more exhaustive explanation of exponential smoothing link cost function and optimum definition of parameter *k* is given in (Svigelj et al., 2004a).

#### **2.1.1.3 Weighted delay calculation**

The relative impacts of traffic load and propagation delay on the link cost are linearly regulated with a traffic weight factor (*TWFl*) and a propagation delay weight factor (*PDWFl*), respectively, as shown in Equation (9) defining weighted delay (*WDl*) on the link *l*. This allows biasing of link cost towards shortest-path routes (*PDWFl* > *TWFl*) or towards least loaded but slightly longer routes (*PDWFl* < *TWFl*).

$$\text{VMD}\_{l} = \text{PDVVF}\_{l} \cdot T\_{Pl} + \text{TVVF}\_{l} \cdot T\_{Ql} \tag{9}$$

In general, as indicated in Equation (9), different weights can be used on different links. In a non-geostationary satellite system, however, satellites are continuously revolving around the rotating earth, so weights cannot be optimized for the traffic load of certain regions but should either be fixed or should adapt to the conditions in a given region. The later gives opportunity for further optimisation using some traffic aware heuristic approach.

Weighted delay on the link, as given by Equation (9), can already be used as a simple continuous link-cost function with a linear relation between both metrics. In general, however, a more sophisticated link-cost function should be able to control the relative cost of heavily loaded links with respect to lightly loaded links. This can be accomplished by a non-linear link-cost function, such as an exponentially growing function with exponent α, as given in Equation (10), where *WDL* and *WDU* represent lower and upper boundary values of weighted delay on the links respectively.

$$L\text{LC}\_{l} = \left(\frac{\text{VMD}\_{l} - \text{VMD}\_{L}}{\text{VMD}\_{\text{UI}} - \text{VMD}\_{L}}\right)^{\alpha} + \frac{\text{VMD}\_{L}}{\text{VMD}\_{\text{UI}}} \tag{10}$$

The first term in Equation (10) represents the normalised dynamically changing link cost according to variation of propagation delay (e.g. ISL length) and traffic load (e.g. queuing delay). Since it is not suitable that link cost be zero, which can cause high oscillations, a small constant (*WDL*/*WDU*) is added to the normalised term of the link-cost function. This constant represents the normalised cost of the shortest link without any traffic load. When *α* = 0 a link-cost function has no influence on the routing algorithm, and path selection reduces to cost-independent routing (i.e. minimum hop count routing), while with *α* = 1 it selects a path with the minimum sum of link costs. Exponent values larger than 1 (*α* > 1) tend to eliminate heavily loaded (high cost) links from consideration, while exponent values smaller than 1 (*α* < 1) tend to preserve lightly loaded links. Combining Equations (9) and(10), the link cost for the delay sensitive traffic, which takes into consideration delay on the link, is calculated as given by Equation (11).

$$L\text{C}\_{l} = \left(\frac{\text{PDVNF}\_{l} \cdot T\_{Pl} + T\text{VNF}\_{l} \cdot T\_{Ql} - \text{VID}\_{L}}{\text{VID}\_{U} - \text{VID}\_{L}}\right)^{\alpha} + \frac{\text{VID}\_{L}}{\text{VID}\_{U}}\tag{11}$$

#### **2.1.1.4 Discretization**

334 Telecommunications Networks – Current Status and Future Trends

• Indirectly by using advanced forwarding policies, which send traffic also along the alternative paths and distribute traffic more evenly on the first and the second shortest

To reduce the oscillations one can use an exponential smoothing link-cost function, which iteratively calculates the traffic load parameter *TQl* from its previous values according to Equation (7). The influence of the previous value is regulated with a parameter *k*, defined

() () ( ) ( )

*kT t k T t*

Taking into account this parameter, the cost of a given link *l* is calculated using Equation (1). If *k* equals 1, there is no influence of previous values on current link cost and Equation (7) transforms to Equation (6). On the other hand, if *k* equals 0, only propagation delay is

One of the drawbacks of the exponential smoothing link-cost function is that it takes into account in each iteration all previous values of parameter *Texp\_av*. The value of *TQ* as a function of *n* previous values of *Texp\_av* is given in Equation (8). It can be seen that the impact

0 1

( ) ((1 ) ( ) (1 ) ( ) (1 ) ( ) ... (1 ) ( )) *Ql n n av n*

−

The main goal of the exponential smoothing link-cost function, which tends to suppress the traffic load oscillations, is that the link cost should reflect the actual traversing traffic flow and the traffic intensity of the region served by the satellite, and not the instantaneous fluctuations of traffic load due to oscillation. In such manner exponential smoothing algorithm promises more evenly distribution of traffic load between links and consequently a better performance for different traffic types. Furthermore it ensures, that in a lightly loaded network, the routing performance is not decreased, while it is notably enhanced in heavily loaded network. A more exhaustive explanation of exponential smoothing link cost function and optimum definition of parameter *k* is given in (Svigelj et

The relative impacts of traffic load and propagation delay on the link cost are linearly regulated with a traffic weight factor (*TWFl*) and a propagation delay weight factor (*PDWFl*), respectively, as shown in Equation (9) defining weighted delay (*WDl*) on the link *l*. This allows biasing of link cost towards shortest-path routes (*PDWFl* > *TWFl*) or towards least

+ − ⋅ ++ − ⋅

*av n*

*Tt k k T t k T t*

2 1

=⋅ − ⋅ + − ⋅ +

*kT t k T t*

*exp\_av exp\_ exp exp\_av*

\_ 2 1

*n*

−

*WD PDWF T TWF T <sup>l</sup>* = ⋅+ ⋅ *l Pl l Ql* (9)

*exp Ql Ql exp Ql*

( ) (1 ) ( )

*Ql i av i i i*

*T t T t T t kT t*

 =⋅ + − ⋅

\_ 11 \_ 1

= − ⋅+ =

− −

−

1

−

(7)

(8)

*av i i*

paths and consequently smooth-out the link cost. (see section 2.4.)

between 0 and 1 (*k*∈[0,1]), while the initial value for the parameter *TQl* is set to 0.

considered in link cost calculation, which leads to traffic insensitive routing.

of previous values of *Texp\_av* decreases exponentially with increasing value of *n*.

0

*Ql*

al., 2004a).

**2.1.1.3 Weighted delay calculation** 

loaded but slightly longer routes (*PDWFl* < *TWFl*).

*T t*

() 0

=

Regardless of the selected link-cost function the calculated link cost needs to be distributed throughout the network and stored in nodes for the subsequent calculation of new routing tables. In order to reduce computation effort and memory requirements, routing algorithms have been proposed that perform path selection on a small set of discrete link-cost levels. In these algorithms the appropriate number of link-cost levels needs to be defined to balance between the accuracy and computational complexity.

Equation (13) represents a suitable function, which converts the continuous link-cost function, given in Equation (12), to *L* discrete levels denoted as *CDl* in the range between 0 and 1. In this link-cost function the minimum and maximum value for weighted delay are used, *WDmin* and *WDmax*. Any link with weighted delay below *WDmin* is assigned the minimum cost 1/*L*, while links with weighted delay higher than *WDmax* have link cost set to 1.

$$\mathbf{C}\_{i} = \mathbf{W} \mathbf{D}\_{i}^{\;\;\alpha} \tag{12}$$

Routing and Traffic Engineering in Dynamic Packet-Oriented Networks 337

network information about their own state. Because a node has no control of the time it receives state information, the information might be non-topical once used for route computation. Non topical information is undesirable since it introduces a discrepancy between what is known and what the reality is. This is of particular importance for those systems which incorporate non-permanent links. Non topical information results in inaccurate and possibly poor routing decisions. Unsolicited signalling is further subdivided

**Periodic signalling** works by having each node broadcasting state information every *p* units of time, *p* being the broadcast period. It is not required for the broadcast period be equal for all nodes, however, it is practical to do so because (a) all nodes run the same software (b) it avoids discrepancies in the topicality of state information. Since the quality of routing decisions depends on how topical the state information is, it is expected that increasing the broadcast period results in increasing the connection blocking probability. On the other hand, increasing the broadcast period helps to keep the signalling traffic low. Periodic signalling supports easy dimensioning since the amount of signalling traffic does not depend on the amount of traffic flowing in the network and therefore can be quantified analytically. Unfortunately, this interesting characteristic is also a drawback: if the state of a node does not change during the whole broadcast period, the next broadcast will take place, regardless of whether it is useful or not. Likewise, some important state change might occur in the middle of the broadcast period without any chance for these changes to be advertised prior to the next broadcast. For these reasons, triggered signalling is worth investigating.

Instead of broadcasting periodically, the node using **triggered signalling** permanently monitors its state and initiates a broadcast upon a significant change of its state (threshold function). This approach is supposed to alleviate signalling traffic, holding down useless broadcasts. Triggered updates for instance are used for Routing Information Protocol (RIP). Unfortunately, triggered signalling has two down sides. First, while periodic signalling does not depend on the actual content of state information, triggered signalling must be aware of the semantics of the state information to define what a significant state change is. Second, the amount of signalling traffic generated depends on the characteristics of the traffic load in the constellation. It does not depend on the amount of data traffic but rather on the traffic variations in the nodes and links. Since routing impacts how traffic is distributed in the network, the behaviours of routing and triggered signalling are tightly interlaced. Triggered signalling can be further sub-divided in additional versions depending on the chosen

In networks there are two changing parameters, which have the impact on the link cost: propagation delay between neighbouring nodes and traffic load. The first can be computed in advance in each node, so it can be eliminated from signalling information. For delay sensitive traffic the new value of *TQl* is broadcasted only if the value exceeds predefined threshold (Svigelj et al., 2012). If *TQl* does not exceed the threshold, only the propagation delay is used as a link cost in routes calculation. In the case of throughput sensitive traffic the link cost is broadcasted only if *LCl* is lower than threshold (i.e. the available bandwidth is lower than threshold), otherwise value 1 (i.e. empty link) is used in routes calculation.

With an appropriate selection of thresholds the signalling load can be significantly reduced, especially for nodes, which has no intensive traffic. To omit the impact of oscillations of the

into periodic and triggered signalling.

threshold function.

$$\mathbf{C\_{Dl}} = \begin{bmatrix} \frac{1}{L} & \mathbf{WD\_l} < \mathbf{WD\_{min}}\\ \left[ \left( \frac{\mathbf{VD\_l} - \mathbf{VD\_{min}}}{\mathbf{VD\_{max}} - \mathbf{VD\_{min}}} \right)^{a} \cdot (L - 1) \right] + 1\\ \hline \\ L & \mathbf{WD\_{min}} < \mathbf{WD\_l} < \mathbf{WD\_{max}} \end{bmatrix} \tag{13}$$
 
$$1 \tag{14}$$

#### **2.1.2 Link cost function for the throughput sensitive traffic**

The most suitable optimization parameter for the throughput sensitive traffic, on the other hand, is the available bandwidth on the link. Thus, on each link the lengths of the traversing packets are monitored between consecutive routing table updates, and the link utilization (*LUl*) is calculated according to Equation (14), where *Lr* denotes the length of the *rth* traversing packet. The selected time interval between consecutive calculations of the sum of the packet lengths was equal to the routing table update interval *TI* starting at time *tS*.

$$LLI\_l(t\_S + T\_l) = \frac{\sum L\_r}{T\_I \cdot \mathbf{C}\_l} \tag{14}$$

The link-cost metric for the throughput sensitive traffic is a typical concave metric. The optimization problem is to find the paths with the maximum available bandwidth and, as an additional constraint, with minimum hop count, which minimizes the use of resources in the network. Thus, the link cost for throughput sensitive traffic is the normalized available bandwidth on the link, calculated at the end of the routing table update interval according to Equation (15).

$$LC\_l\left(t\_i\right) = 1 - L\mathcal{L}l\_l(t\_S + T\_l) \tag{15}$$

#### **2.2 Distributing the acquired information – signalling**

Before the routes are calculated the information about network state should be distributed between nodes. An effective signalling scheme must achieve a trade-off between (a) bandwidth consumed for signalling information (b) computing and memory capacity dedicated to signalling processing and (c) improvement of the routing decisions due to the presence of signalling information (Franck & Maral, 2002a). Signalling is subdivided in two families: unsolicited and on-demand signalling. The following subsections detail these two families.

#### **2.2.1 Unsolicited signalling**

Unsolicited signalling is similar to unsolicited mail ads. Nodes receive at given time intervals information about the state of the other nodes. Conversely, nodes broadcast in the

α

1 WD WD

1 WD WD

*r*

*L* 

*T C* + = <sup>⋅</sup>

*I*

*l*

() 1 ( ) *LC t LU t T l i lS I* =− + (15)

= (12)

l min

min l max

(14)

(13)

l max

WD WD WD

C WD i i

( )

<sup>≥</sup>

<sup>−</sup> ⋅− + <sup>=</sup> <sup>−</sup> < <

1 1

The most suitable optimization parameter for the throughput sensitive traffic, on the other hand, is the available bandwidth on the link. Thus, on each link the lengths of the traversing packets are monitored between consecutive routing table updates, and the link utilization (*LUl*) is calculated according to Equation (14), where *Lr* denotes the length of the *rth* traversing packet. The selected time interval between consecutive calculations of the sum of the packet lengths was equal to the routing table update interval *TI* starting at time *tS*.

( )

*LU t T* 

*<sup>r</sup> lS I*

The link-cost metric for the throughput sensitive traffic is a typical concave metric. The optimization problem is to find the paths with the maximum available bandwidth and, as an additional constraint, with minimum hop count, which minimizes the use of resources in the network. Thus, the link cost for throughput sensitive traffic is the normalized available bandwidth on the link, calculated at the end of the routing table update interval according

Before the routes are calculated the information about network state should be distributed between nodes. An effective signalling scheme must achieve a trade-off between (a) bandwidth consumed for signalling information (b) computing and memory capacity dedicated to signalling processing and (c) improvement of the routing decisions due to the presence of signalling information (Franck & Maral, 2002a). Signalling is subdivided in two families: unsolicited and on-demand signalling. The following subsections detail these two

Unsolicited signalling is similar to unsolicited mail ads. Nodes receive at given time intervals information about the state of the other nodes. Conversely, nodes broadcast in the

L

<sup>&</sup>lt;

*α*

min

*L*

*WD WD <sup>l</sup> <sup>L</sup>*

**2.1.2 Link cost function for the throughput sensitive traffic** 

**2.2 Distributing the acquired information – signalling** 

Dl max min

*C WD WD*

 

to Equation (15).

families.

**2.2.1 Unsolicited signalling** 

network information about their own state. Because a node has no control of the time it receives state information, the information might be non-topical once used for route computation. Non topical information is undesirable since it introduces a discrepancy between what is known and what the reality is. This is of particular importance for those systems which incorporate non-permanent links. Non topical information results in inaccurate and possibly poor routing decisions. Unsolicited signalling is further subdivided into periodic and triggered signalling.

**Periodic signalling** works by having each node broadcasting state information every *p* units of time, *p* being the broadcast period. It is not required for the broadcast period be equal for all nodes, however, it is practical to do so because (a) all nodes run the same software (b) it avoids discrepancies in the topicality of state information. Since the quality of routing decisions depends on how topical the state information is, it is expected that increasing the broadcast period results in increasing the connection blocking probability. On the other hand, increasing the broadcast period helps to keep the signalling traffic low. Periodic signalling supports easy dimensioning since the amount of signalling traffic does not depend on the amount of traffic flowing in the network and therefore can be quantified analytically. Unfortunately, this interesting characteristic is also a drawback: if the state of a node does not change during the whole broadcast period, the next broadcast will take place, regardless of whether it is useful or not. Likewise, some important state change might occur in the middle of the broadcast period without any chance for these changes to be advertised prior to the next broadcast. For these reasons, triggered signalling is worth investigating.

Instead of broadcasting periodically, the node using **triggered signalling** permanently monitors its state and initiates a broadcast upon a significant change of its state (threshold function). This approach is supposed to alleviate signalling traffic, holding down useless broadcasts. Triggered updates for instance are used for Routing Information Protocol (RIP). Unfortunately, triggered signalling has two down sides. First, while periodic signalling does not depend on the actual content of state information, triggered signalling must be aware of the semantics of the state information to define what a significant state change is. Second, the amount of signalling traffic generated depends on the characteristics of the traffic load in the constellation. It does not depend on the amount of data traffic but rather on the traffic variations in the nodes and links. Since routing impacts how traffic is distributed in the network, the behaviours of routing and triggered signalling are tightly interlaced. Triggered signalling can be further sub-divided in additional versions depending on the chosen threshold function.

In networks there are two changing parameters, which have the impact on the link cost: propagation delay between neighbouring nodes and traffic load. The first can be computed in advance in each node, so it can be eliminated from signalling information. For delay sensitive traffic the new value of *TQl* is broadcasted only if the value exceeds predefined threshold (Svigelj et al., 2012). If *TQl* does not exceed the threshold, only the propagation delay is used as a link cost in routes calculation. In the case of throughput sensitive traffic the link cost is broadcasted only if *LCl* is lower than threshold (i.e. the available bandwidth is lower than threshold), otherwise value 1 (i.e. empty link) is used in routes calculation.

With an appropriate selection of thresholds the signalling load can be significantly reduced, especially for nodes, which has no intensive traffic. To omit the impact of oscillations of the

Routing and Traffic Engineering in Dynamic Packet-Oriented Networks 339

In the route execution phase packets are forwarded on outgoing links to the next node along the path according to most recently calculated routing tables. In particular, packets are placed into an appropriate first in first out (FIFO) queue with a suitable scheduler according

Two representatives of static forwarding policies originally developed for regular network topologies, such as exhibited by ISL networks, are alternate link routing with deflection in the source node (ALR-S) and alternate link routing with deflection in all nodes (ALR-A) (Mohorcic et al., 2000, 2001). Both policies are based on an iterative calculation of routing algorithm for determining alternative routes between satellite pairs. An additional restriction considered in static forwarding policies is that the alternative routes must consist of the same (i.e., minimum) number of hops, with a different link for the first hop. Such alternative routes with the same number of hops guarantee that the propagation delay

After determination of alternative routes with the same number of hops between each pair of nodes (satellites) the selected forwarding policy decides which packets are forwarded

According to the routing table given in Table 1, the SPR policy is only forwarding user traffic along the shortest routes. This leads to very non-uniform traffic load particularly on

Next hops on the route to satellite F and the cost of the route From Shortest route Second shortest route Third shortest route Satellite A D, E, F 14 B, E, F 15 B, C, F 16 Satellite B E, F 10 C, F 11 / / Satellite C F 6 / / / / Satellite D E, F 10 / / / / Satellite E F 5 / / / /

A

D

E

F

B

C

Traffic passing through A Traffic originating in A Traffic passing through B Traffic originating in B

to the traffic type they belong to and according to the selected forwarding policy.

increase for the second-choice route is kept within a well-defined limit.

along each of these routes. Different forwarding policies are depicted in Fig. 1

Table 1. Alternative paths to Satellite F with the same minimum number of hops.

D

SPR ALR-S ALR-A

E

F

**2.4 Forwarding the user traffic** 

**2.4.1 Static forwarding** 

links (A-D, B-E, and C-F).

A

D

A

B

C

Fig. 1. Path selection with different forwarding policies.

E

F

B

C

link costs the triggered signalling can be used in a combination with exponential smoothing link-cost function or adaptive forwarding.
