Chapter 2 Background
2.4 Adaptive Proportional Routing: A Localized QoS Routing Approach
In a telephone network where only direct routing is allowed, all links become independent systems. If each link k (1≤k ≤K ) is modeled as an Erlang-B system with sktrunks and arrival the cost depends only on xkand is independent of the states of the other links. We thus can take delta-costs
and use these delta-costs to derive a separable routing scheme.
2.4 Adaptive Proportional Routing: A Localized QoS Routing Approach
QoS (Quality-Of-Service) routing is concerned with the problem of how to select a path for a flow such that the flow’s QoS requirements such as bandwidth or delay are likely to be met.Most of the QoS routing schemes proposed so far require periodic exchange of QoS state information among routers, imposing both communication overhead on the network and processing overhead on core routers. Furthermore, stale QoS state information causes the
performance of these QoS routing schemes to degrade drastically. In order to circumvent these problems, we focus on localized QoS routing schemes where the edge routers make routing decisions using only local information and thus reducing the overhead at core routers.
We assume that source routing is used, and that network topology information is available to all source nodes (e.g., via the OSPF protocol), and one or multiple explicit-routed paths are setup a priori for each source and destination pair using, e.g., MPLS [5].
Fig. 4 Disjoint paths between a source-destination pair
Consider a simple topology shown in Fig.4, where a source and a destination are connected by k disjoint pathsr1,r2,Κ,rK. Each path ri has a (bottleneck) capacity of ciunits of bandwidth and is assumed to be known to the source S. Suppose that calls arrive at the source S at an average rate λ, and the average call holding time is 1/µ. We assume that call arrivals are Poisson and call holding times are exponentially distributed. For simplicity, we also assume that each call consumes one unit of bandwidth. In other words, path ri can accommodate ci calls at any time. Suppose that, on the average, the proportion of calls routed along path ri
isαi, where =
∑
K= =There are two alternative strategies for flow proportioning: equalization of blocking
probabilities (ebp) and equalization of blocking rates (ebr). Here we skip the first strategy and account for the ebr strategy. The objective of the ebr strategy is to find a set of proportions
{
αˆ1,αˆ2,Κ ,αˆK}
such that flow blocking rates of all the paths are equalized, i.e.,αˆ1bˆ1 =αˆ2bˆ2 =Λ =αˆKbˆK, where bˆiis the flow blocking probability of path r . iBy incorporating this self-refrained alternative routing method into the virtual capacity model defined in [3], it devise a theoretical adaptive proportional routing scheme, which is referred to as the Virtual Capacity based Routing (vcr) scheme. In this vcr scheme, it uses the ebr strategy to proportion calls along the min-hop paths, and proportion calls along the alternative paths. The scheme is shown in Fig. 5.
Fig. 5 VCR Procedure
Suppose the total load for a source–destination pair is v. At a given step, n ≥ 0 let v
vr(n) =αr(n)× be the amount of the load currently routed along a pathr∈R, and let br(n) be its observed blocking probability on that path. Then the virtual capacity of path r is given byvcr(n) =Evc−1(vr(n),br(n)). For each min-hop path, the mean blocking rate of all the min-hop paths β(n) is used to compute a new target load. Similarly, for each alternative path, a new target load is computed using the target blocking probability ψ ×b* where ψ is a constant parameter. Given these new target loads for all the paths, the new proportion of flows,αr(n+1), for each path r, is obtained in lines10–11, resulting in a new load vr(n+1) =αr(n+1) ×v on path r.
Chapter 3
Localized State-Dependent Routing
In this chapter, we first describe the shortcomings of the state-dependent separable routing scheme [2] and adaptive proportional routing scheme [3, 4]. We then propose three possible boosting methods in anticipate that the shortcomings of both routing schemes can be remedied.
3.1 Shortcomings of State-Dependent Routing and Proportional Routing
In chapter 2, we understand the concepts of state-dependent separable routing scheme and adaptive proportional routing scheme. In the state-dependent separable routing formulated by the Markov decision process, a routing decision is made on the basis of the state of the network.It gathers global network state information and selects a best path with minimum delta-cost for an incoming flow based on network state information. The routing will work well when each source node has a reasonably accurate global view of the network state. Since network resource availability changes with each flow arrival and departure, it is impractical to maintain an accurate view of the network state, due to prohibitive communication and processing overheads entailed by frequent state information exchanges. However, as our simulation in Chapter 4 shown, inaccurate view of network state increases the blocking rate dramatically.
In adaptive proportional routing scheme feasible paths are selected based on infrequently exchanged average available bandwidth information and flows are adaptively proportioned among these feasible paths based on locally collected information from other nodes. However, our simulation also shows that the adaptive proportional routing approach works significantly worse than the state-dependent separable routing approach if the network state information obtained in the source is delayed not more than one minute.
3.2 Overview of Proposed Boosting Methods
The above discussions give us the motivation for boosting the state-dependent separable routing by Markov Decision Process (MDP Routing for shorted) on the basis of Proportional Routing approach to compensate each other. In this section, we propose three methods to boost these two routing schemes.
First, we can statically boost these two routing schemes by assigning fixed weight. For example, we can assign weight δ(0≤δ ≤1) for Proportional Routing and weight (1- δ) for MDP Routing. If we prefer the Proportional Routing scheme, we can increase the weight δ. It is noteworthy that the selection of optimal weight δ is network-dependent and is expected to be a difficult task. We propose such a boosting simply for the comparison purpose.
Second, we dynamically adjust the weight of these two routing schemes. Given the observed blocking probability of these two routing schemes for a fixed time interval, we can calculate the new weight of these schemes for next time interval to favor the one with low blocking probability. Using the new weight, we can randomly choose one of these two schemes to select one best path for various network situations.
And from the observation in Chapter 2, we find that the Proportional Routing approach works well than the MDP Routing when its update interval is more than one minute. So the third method is that we can dynamically adjust the weight based on the delay time of local state information piggybacked in RESV message. If the state information is delayed too long, the state information must be stale and therefore we prefer to use the average bandwidth information in Proportional Routing to select a best path. Otherwise, we use the state information in MDP routing because it is fresh enough. Before we introduce these methods in detail, we make some assumptions for our model
3.3 Assumptions
We assume that source routing is used, and that network topology information is available to all source nodes (via the OSPF protocol), and one or multiple explicit-routed paths are setup a priori for each source and destination pair. In Fig.6, source S has K feasible paths {ri |i=1,2,Κ ,K }. Each pathr can accommodate i c unit of bandwidth. For source S, we i assume that call arrivals are Poisson with intensityλs and call holding times are independent, exponentially distributed with meanµ (independent of the node pair of the call). For simplicity, we also assume that each call consumes one unit of bandwidth. Suppose that, on the average, the proportion of calls routed along path r isi αi, wherei=1,2,Κ,K and
∑
Ki=1αi =1.Fig. 6 Source routing
And in the following sections, we will introduce particularly these three methods to boost the Proportional Routing and MDP Routing in various network situations.
3.4 Boosting with Fixed Weights
Every “Update Proportion Interval” (upi), source S calculates the new proportion of paths { fp } by the VCR algorithm defined in Fig. 5 according to the old proportions of [⋅] paths { fp }, the observed blocking probability of paths {[⋅] bp }, and the load of source S [⋅] {v } during this update proportion interval. And every “Update Lambda Interval” (uli), s source S calculatesλi, the average arrival rate of path i, in order to compute the delta-cost {dc } defined in Eq. (2.21). [⋅]
When a new call arrives, we first check whether there is available bandwidth or not. If there is no available bandwidth, we have to reject this call. Otherwise, we select one best path based on the state information. We have two kinds of approaches to choose one path, i.e.
Proportional Routing and MDP Routing. We can assign fixed weight δ(0≤δ ≤1) for Proportional Routing and weight (1- δ) for MDP Routing statically. According to the following pseudo code, we can find out the best path and use RSVP to setup this call along the selected path.
// pseudo code for path-selecting If (available bandwidth)
tmp = (rand()%1000) /1000.0; // random value : tmp if( 0<=tmp && tmp<δ)
using “ Proportional Routing ” to select path else // if (δ<=tmp && tmp<1 )
using “ MDP Routing “ to select path else
Reject this call
3.5 Boosting with Dynamic Weights Adjusted by Blocking Probability
Besides Update Proportion Interval and Update Lambda Interval, we calculate the blocking probability for calls using Proportional Routing and MDP Routing for every
“Update Weight Interval” (uwi). Then we calculate new weights using the following equations.
New weight for using Proportional Routing:
(3.1a)
New weight for using MDP Routing:
(3.1b)
Different from the previous method which using fixed weights δ, we calculate the new weight δ(n) for Proportional Routing and 1−δ(n)for MDP Routing in the n-th Update Weight Interval. According to the following pseudo code, we can find out the best path and use RSVP to setup this call along the selected path.
// pseudo code for path-selecting If (available bandwidth)
3.6 Boosting with Dynamic Weights Adjusted by the Delay Time of State Information
After source S receives the RESV message of RSVP, source S records the moment of message feedback from path i, i.e. t0[i]. The delay time,dt , of a new call attempt at time t is [i]
Different from the previous two methods which choose one of these two routing approaches to select one best path, we non-linearly combine MDP Routing and Proportional Routing by the exponentially decayed weights. We introduce this method in detail as follow:
For path i, i=1,2,Κ ,K, we calculate the path-combine-proportion pcp , using the [i]
where γ is a configurable parameter, and
fp is the flow-proportion of path i using VCR algorithm in proportional routing,
And then we normalize the path-combine-proportion pcp for path i, [i] i=1,2,Κ,K
When the average load of source is heavy, the state-information is fresh because the update interval (delay-time informationdt ) of the source is short. When the state information [i] is fresh, we have better to choose the MDP Routing scheme to find the best path. On the other hand, if the state information is delayed and outdated, we need to use the Proportional Routing scheme. Therefore, we have to multiply (1−dc[i]) by e −γ×dt [ i] and multiply fp by [i]
]
1 − e
−γ×dt[i in order to cooperate these two schemes adaptively and choose one path proportionally. So we use the different weight with exponentially decayed for MDP routing and proportional routing. And by sending RESV message which additionally contains the state information back to source, source obtains the local network information feedback from the routers, and therefore we do not increase the communication overhead.In the summary, we illustrate our methods by the following block diagram.
Fig. 7 Boosting process
Chapter 4
Simulation Results
In the following we illustrate a simple network topology how our scheme works better than adaptive proportional routing when the load of source is varying with time.
Consider the fish topology shown in Fig. 8.
Fig. 8 Fish topology
The nodes 1, 2, 3, and 4 are the source nodes and node 12 is the destination node. Each of node 1 and node 2 has two min-hop paths (1Æ5Æ6Æ12, 1Æ5Æ7Æ12 and 2Æ5Æ6Æ12, 2Æ5Æ7Æ12) and two alternative paths (1Æ5Æ8Æ9Æ12, 1Æ5Æ10Æ11Æ12 and 2Æ5Æ8Æ9Æ12, 2Æ5Æ10Æ11Æ12) to the destination node 12. Other two sources, nodes 3 and node 4, have just one min-hop path (3Æ8Æ9Æ12 and 4Æ10Æ11Æ12) to the destination node 12.The alternative path of source node1 and node 2 share the bottleneck link 9 Æ 12 and 11Æ 12 with the min-hop paths of source node 3 and node4. We assume that the capacities c1, c2, c3, and c4 of the bottleneck links are all set to 80 units of bandwidth and others are infinite bandwidth.
The follow are our simulator design for this fish topology. At first, the Object Model Diagram in UML is illustrated in Fig. 9 below. There are four Source objects constructed by system in our simulation model. Source S1 and source S2 have four feasible paths and source S3
and source S4 have only one feasible path.
Fig. 9 Object Model Diagram in UML
4.1 Comparison of Proportional Routing and MDP Routing
Before displaying the simulation performance of our proposed routing, we first compare these two routing approaches “State-Dependent Separable Routing formulated by MDP
“(called MDP routing for shorted) and “Adaptive Proportional Routing” (called Proportional routing for shorted). We observe the blocking probability of source S1 by increasing the update interval of S1 when the average load of all sources is set to 40.
0.2 0.25 0.3 0.35 0.4 0.45 0.5
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5
update interval
blocking probabil ity
MDP_Routing
Proportional Routing
Fig. 10 Comparison of Proportional Routing and MDP Routing
In Fig. 10, we find that the performance of MDP Routing degrades rapidly as the update interval increases. As for the scheme of Proportional Routing, the blocking probability of S1 is keeping at about 0.3 and is even better than the scheme of MDP Routing when its update interval is longer than one minute. It is because that the proportional routing adopts the average available bandwidth information instead of stale state information to make path selection.
From the observation in Fig. 10, we proposed three boosting methods, which are mentioned at Chapter 3 in detail. Before we illustrate how these three routing methods adaptively adjust the load proportion of feasible paths as the load increases, we firstly introduce some parameters in our simulator.
4.2 Simulator Parameters Setting
We assume that the average offered load of S1, S2, S3, and S4 are 40, 40, 5, and 5 respectively in the beginning. And we set the “Update Proportional Interval” as 10 minutes,
“Update Lambda Interval” as 1 minute and “Update Weight Interval” as 1 minute. For source S1, we set the initial flow proportion of path 1, 2, 3, and 4 to 0.4999, 0.4999, 0.0001, and 0.0001 respectively. So does source S2. And we set the constant parameter γ in Eq.(3.2) to 0.01.
Consider the scenario: when the number of calls generated by source S1 is equal to 1000, we increase the average load of S3 and S4 to 20. And when the number of calls generated by source S1 is equal to 3000, we increase the average load of S3 and S4 to 40. By increasing the average load of S3 and S4, we study how source S1 and S2 adjust their flow proportion on the feasible paths in order to decrease the overall blocking probability.
The following table is the setting of parameters in our simulator.
Parameter Initial value
Path1_Flow-proportion of S1 and S2 0.499 Path2_Flow-proportion of S1 and S2 0.499 Path3_Flow-proportion of S1 and S2 0.001 Path4_Flow-proportion of S1 and S2 0.001 Average Load of S1 and S2 40 calls/min
Average Load of S3 and S4 5 calls/min Link Capacity (c1 , c2 , c3, c4) 80 calls
psi (ψ ) 0.95
Update Proportional Interval 10 minutes
Update Lambda Interval 1 min
Update Weight Interval 1 min
Total Arrival of Source1 5000 calls
Gamma(γ ) 0.01
Table .1 Setting of parameters in our simulator
In the following sections, we will introduce our simulator for these three methods and their simulation results.
4.3 Simulator Design and Results for BFW
In this method, we assign fix weight δ to Proportional Routing and fix weight 1−δ to MDP Routing. We define this method as “Boosting with Fixed Weight” (BFW for shorted).
4.3.1 System Operations
Fig. 11 System diagram of BFW in UML
In Fig.11, there are four sub-states. In System_Timer sub-state, timer is running and the parameter systemTime plus one per second. And in Update_Path_Proportion sub-state, system calculates the total arrival of sources during the “Update Proportion Interval”, and triggers the event evUpdate1 of sources to calculate the new path flow proportion ( fp ) by VCR [⋅] algorithm. And in Update_Path_Arrival_Rate sub-state, system triggers the event evUpdate2 of sources to calculate the path arrival rate (λi) during the “Update Lambda Interval”. Finally, system can change the arrival rate of source S3 and S4 in the Change_S3S4_Arrival_Rate sub-state.
4.3.2 Source Operations
Fig. 12 Source diagram of BFW in UML
In Fig. 12, there are three sub-states. In the gen_call sub-state, source generates calls by Poisson arrival process. Each call performs callArrival() to find a path by Path-Selection-Process based on the value of δ , path flow-proportion ( fp ), and path [⋅] delta-cost (dc ). And then source uses RSVP to setup this call along the selected path. When [⋅]
the number of call generated by source equals to Total_Arrival, source stops generating new call. In Update_Path_Proportion sub-state, the event evUpdate1 is triggered from system and source updates the path flow-proportion ( fp[⋅] ) by VCR algorithm. At last, in Update_Path_Arrival_Rate sub-state, the event evUpdate2 is triggered from system and source updates the path arrival rate (λi) in order to calculate the path-delta-cost, (dc ) in Eq. (2.21). [⋅]
4.3.3 Path Operations
Fig. 13 Path diagram of BFW in UML
In Fig. 13, it demonstrates that the selected path accepts this call which consumes one unit of bandwidth (count plus one) and triggers one server object. At the same time, the selected path has to inform source, which generates this call, the latest state information by RESV message.
4.3.4 Server Operations
In Fig. 14, it describes that call holding time is exponentially distributed with meanµ. After the serviceTime, this call stops serving and the server object will be terminated.
Fig. 14 Server diagram of BFW in UML
In summary, our simulator model could be illustrated in the sequence diagram below.
Fig. 15 Sequence diagram for BFW in UML
4.3.5 Simulation Result
Comparsion of BFW with different weight
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35
0 10 20 30 40 50 60 70 80 90 100 110 120
time
blocking probability
MDP Routing without delay MDP Routing with delay Proportional Routing BFW(0.25)
BFW(0.5) BFW(0.75)
Fig. 16 Comparison of BFW with different weight (δ )
In Fig.16, the scheme of MDP Routing without delay is nearly optimal because sources obtain instantaneous network state information. We can find that when the average load of S3
and S4 are low, the performance of Proportional Routing is worst. As the average load of S3
and S4 are increasing, the performance of MDP Routing with delayed information gets worse.
When the average loads of S3 and S4 increase to 40, the performance of MDP Routing with delayed information gets worse than Proportional Routing. Consider our proposed method BFW with different value of δ which is the weight of using Proportional Routing to select one path. No matter what the value δis, the performance of BFW is better than Proportional Routing and is better than MDP Routing with delayed information when the load is heavy.
4.4 Simulator Design and Results for BDW-BP
In this method, we dynamically boost the weight adjusted by the observed blocking probability during a fixed time interval. We define this method as “Boosting with Dynamic Weights Adjusted by Blocking Probability” (BDW-BP for shorted). The server operation in UML is the same as previous method.
4.4.1 System Operations
In order to update the new weights of the new Update Weight Interval, we have to calculate the blocking probability of calls using Proportional Routing and calls using MDP Routing in the Update_Blocking_Probability sub-state in Fig. 17.
Fig. 17 System diagram of BDW-BP in UML
4.4.2 Source Operations
Fig. 18 Source Diagram of BDW-BP in UML
Different from the source operations in BFW, when the event evUpdate3 is triggered, source has to calculate the blocking probability of calls using Proportional Routing and calls using MDP Routing in order to find out the new weights using Eq. (3.1a) and Eq. (3.1b).
In “ n-th ” Update Weight Interval:
New weight for using Proportional Routing:
(3.1a)
New weight for using MDP Routing:
(3.1b)
And then source chooses one path proportionally based on the new weightδ(n), path flow-proportion (fp ), and path delta-cost ([⋅] dc ). [⋅]
4.4.3 Path Operations
Fig. 19 Path Diagram of BDW-BP in UML
Different from path operations in BFW, path has to check the blocked call which is using Proportional Routing or using MDP Routing, and then informs source that generated this blocked call.
In summary, our simulator model could be illustrated in the sequence diagram below.