Enhanced Distributed QoS Routing Algorithms in Wireless Networks Ahmed. A. A. Radwan Computer Science Dept. Faculty of Science Minia University
Fatma A. Omara Computer Science Dept. Faculty of Computer&Information Cairo University
[email protected]
A.A. Ali Computer Science Dept. Faculty of Science Minia University
[email protected] [email protected]
M. A. Abdelatif Computer Science Dept. Faculty of Science Minia University
[email protected]
Abstract One of the goals of a routing protocol is how to satisfy the Quality-of-Service requirements for every admitted connection and how to achieve the global efficiency in resource utilization. On the other hands, the main goal of QoS routing; is to find a network path with sufficient resources to satisfy certain constraints on metrics such as delay and bandwidth. Many unicast / multicast QoS routing algorithms have been proposed, they work with a variety of QoS requirements and resource constraints. Overall, they can be partitioned into three broad classes; source routing, distributed routing and hierarchy routing algorithms. This paper proposes a distributed QoS routing in wireless networks. It is based on one of the most popular unicast distributed routing algorithm, called Ticket-Based Probing algorithm. Some modifications have been added to improve its performance. A comparison study has been done to evaluate the developed algorithm with respect to the original TBP algorithm, and a hybrid algorithm called mixed algorithm.
1. Introduction Today, various real-time services, like audio/videoconferencing and telemedicine, are being deployed over the Internet; the used network must guarantee of the service to the receiver. The needs of the applications are specified in terms of the Quality of Service (QoS) metrics like desired bandwidth, response time, loss rate, expected reliability etc. The main difference between the routing algorithms supporting QoS differentiation and the traditional routing algorithms is that the QoS routing is concerned with how to define a path from the source to the destination that satisfies multiple constraints simultaneously, while the conventional routing concerns with how to define a path based only on a single metric such as cost or delay. However, it is well known that path selection subject to two or more independent additive metrics is considered NP-complete [1], meaning that there is no efficient (polynomial) exact solution for the general Multi-Constrained Path (MCP) selection problems. The provision of QoS relies on resource reservation. Hence the data packets of a QoS connection
are likely to flow along the same network path, on which the required resources are reserved. The QoS routing can be divided into three broad categories: source routing, distributed routing and hierarchical routing. According to the source routing category [2-4], each node maintains an image of the global network state based on which a routing path is centrally computed at the source node. The global network state is typically updated periodically by a link state algorithm [5, 6]. According to the distributed routing category [7-10], the path is computed by a distributed computation during which control messages are exchanged among the nodes and the state information kept at each node is collectively used in order to find a path. In the hierarchical routing [11, 12], nodes are clustered into groups which are recursively clustered into higher-level groups, creating a multi-level hierarchy and then source or distributed routing algorithms are used. Wireless networks are networks which use wireless communication media, either undirected transmission (such as radio waves) or directed transmission (such as the satellites) [13, 14]. The QoS requirement of a connection is given as a set of constraints, link constraints, path constraints and tree constraints [15-17]. A link constraint specifies the restriction on the use of the links. A bandwidth constraint of a unicast connection requires that the links composing the path must have certain amount of free bandwidth available. A path (tree) constraint specifies the requirement on the entire path (multicast tree). For instance, a delay constraint of a multicast connection is considered as another constraint for link, path and tree. It requires that the longest end-to-end delay from the sender to any receiver in the tree must not exceed an upper bound. A feasible path (tree) is the one that has sufficient residual resources to satisfy the QoS constraints of a connection. Most QoS routing algorithms are concerned with the optimization of resource utilization, measured by an abstract metric cost. The cost of a link can be defined in dollars (the price of the channel utilization) or as a function of the buffer or bandwidth utilization. The cost of a path (tree) is the total cost of all links on the path (tree). The optimization problem is to find the least-cost path (tree) among all feasible paths (trees). Many wireless QoS routing protocols have been proposed to build multiple routes on demand [18, 19],
INFOS2008, March 27-29, 2008 Cairo-Egypt © 2008 Faculty of Computers & Information-Cairo University PAR-29
these can be either dynamic source routing protocol [20, 21] or on-demand distance vector [22, 23]. Generally, the routing problems can be divided into two major classes; unicast routing [24] and multicast routing [25, 26]. The unicast routing problem is defined as; by given a source node S, a destination node T and a set of QoS constraints C; find the best feasible path from S to T which satisfies C. The multicast routing problem is defined as; by given a source node S, a set R of destination nodes and a set of constraints C; find the best feasible tree covering S and all nodes in R, which satisfies C. Many unicast routing algorithms [27, 28], and multicast routing algorithms [28, 29] have been proposed. This paper is concerned with unicast distributed routing based on delay. Recently, a new distributed routing algorithm called Ticket-Based Probing routing (TBP) has been proposed [30, 31]. According to the TBP algorithm, probing packets; called probes; are sent from the source node toward the destination through different paths to search for a feasible route and optimize given QoS parameters. Imprecise end-to-end network information is considered in ticket distribution polices, and its impact is also offset by multi-path probing. Yuan Zhong, et at [32, 33] combines ticket-based routing with resource reservation protocols so as to further minimize the influence of imprecise data. Considering the Delay-Constrained Least-Cost Routing (DCLCR) problem, defined as: Consider a graph G (V, E), by given source node S, destination node T, and delay constraint D, find a path P* from node S to node T, such that: (1) Delay (P*) ≤ D, and (2) ∀ P∈∏ Where ∏= {r|r is any path from S to T, and delay (r) ≤ D} satisfies cost (P*) ≤ cost (P). This paper proposes an Enhanced Ticket-Based Probing routing (ETBP) algorithm to improve the searching ability of tickets; by distributing the tickets in different manner to increase the success ratio and decrease the delay so that better paths can be found. The rest of the paper is organized as follows. Section 2 presents the TBP routing algorithm. Section 3 presents our developed ETBP algorithm. The experimental results are presented in section 4. Section 5 includes the conclusion and future work.
2. The Ticket-Based Probing Algorithm The Ticket-Based Probing (TBP) algorithm is considered as a heuristic solution to the DCLCR problem [31]. Each path is probed by one probing packet, called a probe. In each probe p, the probe state is recorded including the path p that has traversed so far, the accumulated delay delay (p) and the accumulated cost cost (p) of the path. When a routing request arrives at the start
node S, a probe with G0 green tickets and Y0 yellow tickets is sent toward the destination T. Green tickets take paths with less end-to-end cost, and optimize the cost metric. Yellow tickets take paths with less end-to-end delay, trying to find feasible paths. The probe can be split into several probes as long as there are sufficient amount of tickets in it. A probe which arrives at the destination T and whose accumulated delay is less than D represents a feasible solution. The path which has the least cost in all of the feasible solutions is chosen. The resources on this path are then reserved for further data transmission. According to TBP algorithm, three data types are used: • Ri(t): The ticket distribution set, which contains all possible next hops for routing tickets from i to t. • Di(t): The minimum end-to-end delay from i to t recorded at i. When yellow tickets to t arrive at node i, they are distributed to the elements of Ri(t) in proportion to (Dk(t))-1, where k belongs to Ri(t). • Ci(t): The minimum end-to-end cost from i to t recorded at i. When green tickets arrive at node i, they are distributed to the elements of Ri(t) in proportion to (Ck(t))-1, where k belongs to Ri(t). Because Di(t) is the minimum end-to-end delay, and it is updated periodically by distance vector[34-36] or linkstate protocols [5, 37, 38], then, its value may be imprecise. In order to get an approximation value for Di(t), estimation is used. The variation ΔDi(t) is predicated from previous data by exponential average. Therefore, the real value falls into the interval [Di(t)-ΔDi(t); Di(t)+ ΔDi(t)]. For simplicity, Ci(t) is used as precise data. The impact of the imprecise information can be offset by using the multipath probing with tickets. The TBP algorithm has many advantages [39], where it is proposed as general QoS routing scheme, which can handle different QoS constraints [41]. Since the DCLCR is the most-studied QoS routing problem, it is considered to explain the operation details of the TBP algorithm. There are several limitations in the TBP algorithm. First, the probe distribution is not optimized. For example, tickets of different colors may interfere with each other, and redundant searching path may exist. Second, ΔDi(t) can not be estimated precisely. Third, the selection of final probes at the destination does not take into account the load balancing. Fourth, the TBP algorithm has relatively less success ratio and relatively higher average path delay than other distributed routing algorithms such as flooding algorithm [40]. Due to these limitations, more than one modification has been proposed to improve its performance [40, 41]. The most recent enhancement is called the mixed algorithm [40]; in this algorithm an amalgamation between the ticket-based probing and the flooding algorithms is
PAR-30
done. The flooding algorithm is equivalent to the TBP with infinite yellow tickets and zero green tickets (G0 = 0, Y0 = ∞). It doesn't take the cost into consideration; it prefers the path with the lowest delay regardless of its cost. The algorithm finds a feasible path whenever there exist one and hence it is the optimal algorithm in terms of success ratio. The idea of the enhancement depends on introducing the cost to the flooding algorithm, so it will consider the cost as well as delay. This will be done by using a number of green tickets calculated based on the equations introduced in the TBP algorithm. This improvement was studied from the point of view of the delay constrained routing. The amalgamation of the TBP algorithm with the flooding algorithm introduces a hybrid algorithm with better performance than the flooding and the TBP algorithms. It has high a success ratio, low average message overhead, moderate average path cost between the flooding and TBP algorithms, low average path delay.
3. The Enhanced Ticket-Based Probing Algorithm The work in this paper tries to improve the performance of TBP algorithm by modifying the searching ability of the algorithm; to increase the success ratio and decrease the average path delay. According to our proposed algorithm named The Enhanced Ticket-Based Probing (ETBP) algorithm; yellow and green tickets have been used such as TBP algorithm, but with different mechanism to find the feasible path. According to the original TBP algorithm, two types of tickets have been used to find the feasible paths; the yellow tickets searches the paths with smaller delay, and the green tickets searches the paths with smaller cost. Since the basic function of QoS is to find the feasible path which has sufficient residual resources to satisfy the QoS constraints of a connection [39], our ETBP Routing algorithm concentrates on finding more feasible paths that satisfy QoS constraints regardless any other considerations. It uses different techniques to make green tickets search for more feasible paths according to delay not according to cost. In the same time, the green tickets accumulate the cost for each traversed path. At the end of our algorithm, the path that satisfy QoS constraints and with minimum cost is selected. Also, the proposed ETBP algorithm is loop-free which means that it doesn’t traverse a path that was traversed before. The ETBP algorithm is described as follows:
3.1. Delay-Constrained Routing When a connection request arrives at the source node S, a certain number N0 of tickets are generated and probes are
sent towards the destination t. Each probe carries one or more tickets. Since no new tickets are allowed to be created by the intermediate nodes, the total number of tickets is always N0 so the number of probes is at most N0 at any time. When a node receives a probe P with N (P) tickets, it makes at most N (P) copies of P, distributes the received tickets among the new probes, and then forwards them along the selected outgoing links towards t. Each probe accumulates the delay of the path it has traversed so far. A probe can proceed only when the accumulated delay doesn’t violate the delay requirement. So, there are two problems to be handled: (1) how to determine N0, and (2) how to distribute the tickets of a received probe among the new probes.
3.2. Enhanced Ticket-Based Probing Calculations The ETBP is divided into three stages: (1) Calculating number of tickets stage, (2) Distributing tickets stage and (3) Termination and path selection stage. 3.2.1. Determining Tickets Number The first step is to calculate the number of used tickets to determine the available paths to search about it. This will be calculated as in [31]. Two types of tickets are used; yellow tickets and green tickets. Yellow and Green Tickets: N0 tickets are colored either yellow or green. The two types of tickets have different purposes. i. The purpose of yellow tickets is to maximize the probability of finding a feasible path. Hence, yellow tickets (more precisely, probes carrying them) prefer paths with smaller delays, so that the chance of satisfying a given delay requirement is higher. ii. The purpose of green tickets is to maximize the probability of finding a low-cost path. Green tickets prefer the paths with smaller costs, which may have larger delays and hence have less chance to satisfy the delay requirement D. The following equation must be satisfied: N0 = Y0 + G0, where Y0 is yellow tickets and G0 green tickets. Yellow Tickets (Y0) Number of yellow tickets (Y0) is determined based on the delay requirement D. if D is very large and can be surely satisfied, a single yellow ticket will be sufficient to find a feasible path. If D is too small to be possibly satisfied, no yellow ticket is necessary and the connection is rejected. Otherwise, more than one yellow ticket is issued to search multiple paths for a feasible one. Let S and T be the source and the destination, respectively. Y0 is a function of D, Ds(t), and ΔDs(t) where:
PAR-31
1. If D ≥ Ds(t)+ ΔDs(t), then Y0 = 1. Because D is equal or greater than the largest possible end-to-end (Ds(t)+ ΔDs(t)), a single yellow ticket will be sufficient to find a feasible path. 2. If Ds(t)- ΔDs(t) ≤ D < Ds(t)+ ΔDs(t), then Y0 = ⎡(Ds(t)+ ΔDs(t)-D/2* ΔDs(t))*Φ⎤, where Φ is a system parameter specifying the maximum allowable number of yellow tickets. It shows that more yellow tickets are assigned for smaller D. 3. If D < Ds(t)- ΔDs(t), then Y0 = 0. Because D is even less than the best expected end-to-end delay (Ds(t)ΔDs(t)), the connection request is rejected. Two actions may be taken after a connection request is rejected: (1) The QoS negotiation process is activated for a relaxed delay bound, and (2) the QoS routing is repeated after certain time (see figure 1.a).
Y0 Φ
1
D
0
(Ds(t)- ΔDs(t))
G0
Ds(t)
(Ds(t)+ ΔDs(t))
a) Yellow Tickets
Ω
Green Tickets (G0) It is also determined based on the delay requirement D where: 1. If D ≥ θ*(Ds(t)+ ΔDs(t)), then G0 = 1, where θ (>1) is a system parameter. θ specifies threshold value, θ*(Ds(t)+ ΔDs(t)), beyond which D is considered to be sufficiently large, only one green ticket is assigned. The reason of using θ*(Ds(t)+ ΔDs(t)) instead of Ds(t)+ ΔDs(t) is that green tickets prefer the least-cost paths whose delay may be larger than Ds(t)+ ΔDs(t), which is the largest delay of the least-delay path. It is generally an engineering issue to determine the most appropriate value for θ. 2. If Ds(t) ≤ D < θ*(Ds(t)+ ΔDs(t)), then G0 = ⎡((θ*(Ds(t)+ ΔDs(t))-D)/ (θ*(Ds(t)+ ΔDs(t))Ds(t)))*Ω ⎤, where Ω is the maximum allowable number of green tickets. It shows that as D decreases, G0 increases. 3. If Ds(t)- ΔDs(t) ≤ D < Ds(t) then G0 = ⎡(( D -Ds(t)+ ΔDs(t)) /ΔDs(t))* Ω ⎤. As D approaches to Ds(t)ΔDs(t), the delay requirement becomes increasingly harder to be satisfied. Hence, the emphasis of routing shifts from minimizing the cost to maximizing the probability of finding a feasible path. G0 is decreased in order to reduce the overhead and allow Y0 to be larger. 4. If D < Ds(t)- ΔDs(t), then G0 =0. The connection request is rejected. Theoretically, Φ (or Ω) can be +∞, which makes the ticket-based probing a flooding scheme (see figure 1.b).
1 0
D θ*(Ds(t)- ΔDs(t))
(Ds(t)
(Ds(t)+ ΔDs(t))
θ*(Ds(t)+ ΔDs(t))
b) Green Tickets Figure [1]: Yellow and Green tickets 3.2.2. Distributing the Received Tickets In this stage the algorithm begins to forward the calculated tickets along the selected links in order to find the feasible path. A. Candidate Neighbors If Y0 + G0 =0, the connection request is rejected. Otherwise, probes carrying the tickets which sent from S to T. A probe proceeds only when the path has a delay no more than D. Hence, once a probe reaches T, it detects a delay-constrained path. Each probe accumulates the delay of the path it has traversed so far. More specifically, a data field, denoted as delay(p), is defined in a probe p. Initially, delay(p) :=0; whenever p proceeds for another link (i, j), delay(p) := delay(p)+ delay(i, j). Suppose a node i receives a probe p with Y(p) yellow tickets and G(p) green tickets, and suppose k is the sender of probe p, the set R(t) of candidate neighbors to which i will forward the received tickets, is determined as follows. (first consider only the stationary neighbors of i). Let Ri(t) ={j | delay(p)+delay(i, j)+ Dj(t)- ΔDj(t) ≤D}, where Ri(t) is the set of neighbors to which the tickets should be forwarded.
PAR-32
If Ri(t) is empty (Ri(t)=0), we take the transient neighbors into consideration and redefine Ri(t) to be {j | delay(p)+delay(i, j)+ Dj(t)- ΔDj(t) ≤D}. If Ri(t) is still empty, invalidate all received tickets and discard them. If Ri(t) is not empty (Ri(t)≠ 0), then for every j in Ri(t), i makes copy of p, denoted as pj. In order to compute Ri(t), node i must maintain the values of Dj(t) and ΔDj(t), for every neighbor j. That can be realized in a distance-vector protocol by keeping the neighbors’ distance vectors, which include Dj(t) and ΔDj(t). Recall that node i receives its neighbors’ distance vectors periodically in order to calculate its own distance vector. Hence, we shall rely on the distance-vector protocol to provide Dj(t) and ΔDj(t), for every neighbor node j. B. Distributing Yellow Tickets Y(pj), ∀j ∈ Ri(t), is determined based on an intuitive observation: A probe sent toward the direction with a smaller delay should have more yellow tickets. The number of yellow tickets of probe p is calculated as follows: Y(pj) =( (delay(i, j)+ Dj(t))-1 /Σ( delay(i, j)+ Dj(t))-1 )* Y(p) Y(pj) calculated by the above formula may not be an integer, so rounding the number of tickets is necessary. C. Distributing Green Tickets In this stage the green tickets will be distributed depend on the delay not on the cost [31]. Hence, ∀j ∈ Ri(t). The number of green tickets of probe p is calculated as: G(pj) =( (delay(i, j)+ Dj(t))-1 /Σ( delay(i, j)+ Dj(t))-1 )* G(p) Finally, if Y(pj)+ G(pj) >0, then pj is sent to j carrying Y(pj) yellow and G(pj) green tickets. If Y(pj)+ G(pj) = 0, then pj is dropped. 3.2.3. Termination and Path Selection The routing process is terminated when all probes have either reached the destination or been dropped by the intermediate nodes to send the invalidated tickets to the destination T, instead of discarding them. Therefore, all tickets will arrive at T eventually. The routing process is terminated after T receives all (Y0 + G0) tickets. Whenever T receives a probe with a valid ticket, a feasible path is found (i.e., the one the probe has traversed). There are two ways to record the path: (1) Record the path in the probe itself, and (2) Record the path at the intermediate nodes on a hop-by-hop basis. The first approach requires larger size probes, and thus consumes more communication bandwidth and more memory space to store the probes when they are waiting in the queues. The second approach, however, requires memory space at the intermediate nodes to store the path. We choose the first approach for its simplicity. A probe accumulates the cost of the path it traverses. If multiple probes with valid tickets arrive at the destination,
the path with the least cost is selected as the primary path and the other paths are the secondary paths, which will be used when the primary path is broken due to the mobility of intermediate nodes. After the primary path is selected, a confirmation message is sent back along the path to the source and reserves resources along the way. The steps of the proposed ETBP Algorithm are as follows: Delay-Constrained Routing Algorithm Input: source node S, dest T, and required delay D. Output: feasible path(s) if exist. Steps: 1. Calculate yellow tickets Y(s). See section (3.2.1) 2. Calculates green tickets G(s). See section (3.2.1) 3. IF Y+G = 0 Then reject connection. ELSE go to 4. ENDIF 4. Select Stationary neighbors in array R. 5. IF R=empty. Then select transient neighbors ENDIF 6. IF R=empty Then drop tickets. ELSE go to 7. ENDIF 7. ∀ neighbor N in R /* New modifications Accumulate delay and store it in Yellow Ticket. Accumulate cost and store it in Green Ticket. IF accumulated delay(N)