• Aucun résultat trouvé

Resource Management and QoS Provision in Delay Tolerant

2.1 Buffer Management for Best Effort Traffic

2.1.1 Motivation

Despite a large amount of effort invested in the design of efficient routing algorithms for DTNs, there has not been a similar focus on queue management and message schedul-ing. Yet, the combination of long-term storage and the, often expensive, message repli-cation performed by many DTN routing protocols [11, 105] imposes a high bandwidth and storage overhead on wireless nodes [12]. As a result, it is expected that nodes’

buffers, in this context, will often operate at full capacity. Similarly, the available bandwidth during a contact could be insufficient to communicate all intended mes-sages. Consequently,regardless of the specific routing algorithm used, it is important to have:

(i) efficientdrop policiesto decide which message(s) should be discarded when a node’s buffer is full;

(ii) efficient scheduling policies to decide which message(s) should be chosen to exchange with another encountered node when bandwidth is limited.

To this end,the goal of our work has been to model the problem of of buffer manage-ment and scheduling as an optimal resource allocation problem, and propose efficient yet practical algorithms.

2.1.2 Related Work

In [13], Zhang et al. present an analysis of buffer constrainedEpidemic routing, and evaluate some simple drop policies like drop-front and drop-tail. The authors conclude that front, and a variant of it giving priority to source messages, outperform drop-tail in the DTN context. A somewhat more extensive set of combinations ofheuristic buffer management policies and routing protocols for DTNs is evaluated in [106], con-firming the performance of drop-front. In [107], Dohyung et al. present a drop policy which discards a message with the largest expected number of copies first to minimize the impact of message drop. However, all these policies are heuristic, i.e. not explic-itly designed for optimality in the DTN context. Also, these works do not address scheduling.

RAPID was the first protocol to explicitly assume both bandwidth and (to a lesser extent) buffer constraints exist, and to handle the DTN routing problem as an optimal resource allocation problem. As such, it is the most related to our proposal, and we have compared our scheme(s) directly against it. Despite the elegance of the approach, and performance benefits demonstrated compared to well-known routing protocols, RAPID suffers from the following drawbacks: (i) its policy is based on suboptimal message utilities (we elaborate on this sortly); (ii) in order to derive these utilities, RAPID requires the flooding of information about all the replicas of a given message in the queues of all nodes in the network; yet, the information propagated across the network might arrive stale to nodes (a problem that the authors also note) due to change in the number of replicas, change in the number of messages and nodes, or if the

message is delivered but acknowledgements have not yet propagated in the network;

and (iii) RAPID does not address the issue of signalling overhead. Indeed, in [19], the authors showed that whenever the congested level of the network starts increasing, their data channel consumes more bandwidth. This is rather undesirable, as meta-data exchange can start interfering with meta-data transmissions amplifying the effects of congestion. Our contributions in this chapter can be summarized as follows:

1. We formulate the optimal resource allocation problem and derive an optimal and distributed joint scheduling and drop policy, GBSD (Global knowledge Based Scheduling and Drop). While distributed, i.e. each node locally decides which of its messages to keep or forward, this policy assumes knowledge about the total number of copies per message, in order to derive the utility of each message in its buffer. It is thus not implementable in practice, and used as reference.

2. We propose a second policy, HBSD (History Based Scheduling and Drop) which is also distributed but is based on unbiased estimates of per message utilities based on collected statistics of network history.

3. We discuss how these statistics could be collected in practice, and the related overhead for this collection.

4. We extend the basic policy to consider different classes of messages with QoS requirements.

2.2 GBSD

Our nework setup consists ofLnodes, each able to store up toBmessages in its buffer (we assume for simplicity equal message sizes). New messages are generated by each node randomly and all messages are unicast. Unless otherwise stated, we assume that inter-contact times between nodes are IID with meeting rateλand have an exponential tail (we also discuss how this can be generalized). We summarize some useful notation in Table 2.1.

We first assume that our goal is to maximize the delivery rate of this network. Each message has a lifetimeT T Li, beyond which it is no longer useful to its destination and must be discarded. Buffer management consists of the following two actions:

(Message Scheduling)When nodeiencounters a nodej, nodesiandjmust ex-change messages not in common (according to the epidemic routing protocol). As the contact between nodesiandj are of limited (and unknown) duraton,ihas to decide which messages to send first.

((Message Drop)If nodejreceives fromia new message, but its buffer is full, it needs to pick a message to drop.

The next theorem shows that both scheduling and message drop can be performed optimally, by deriving a marginal utility per message that a node can use to make local decision.

Theorem 2.1. [GBSD Policy] LetK denote the total number of non-expired mes-sages in the network, and Ti the elapsed time for message i. Let further ni(Ti)

Table 2.1: Notation

Variable Description

L Number of nodes in the network

K(t) Number of distinct messages in the network at timet T T Li Initial Time To Live for messagei

Ri Remaining Time To Live for messagei

Ti=T T Li-Ri Elapsed Time for messagei. It measures the time since this message was generated by its source

ni(Ti) Number of copies of messageiin the network after elapsed timeTi

mi(Ti) Number of nodes (excluding source) that haveseenmessagei since its creation until elapsed timeTi

λ Meetingratebetween two nodes

B Buffer capacity per node

be the number of nodes who have a copy of the message at that time instant, and mi(Ti)those that have “seen” the message (excluding the source) since it’s creation1 (ni(Ti)6mi(Ti) + 1). To maximize the average delivery rate of all messages, each node should use the following utility per messagei,

Ui(DR) = (1−mi(Ti)

L−1 )λRiexp(−λni(Ti)Ri). (2.1) as follows: (i) transmit messages to an encountered node in decreasing order of utility;

(ii) drop the lowest utility message when its buffer is full.

Proof. The proof can be found at the end of this chapter (Section 2.7).

This utility can be viewed as themarginal utility valuefor a copy of a messagei with respect to the total delivery rate.

Optimal (but different) per message utilities can also be similarly derived for the case of minimizing the average per message delivery delay (note that in that case we assume that there is noT T L).

Theorem 2.2. To minimize the average delivery delay of all messages, a DTN node should apply the GBSD policy using the following utility for each messagei:

Ui(DD) = 1

ni(Ti)2λ(1−mi(Ti)

L−1 ). (2.2)

In other words, during each contact the nodes involved make a greedy decision based on marginal message utilities that locally optimize the expected delivery ratio (or expected delivery delay). Given the convexity of both problems, this can be seen as a distributed implementation of a gradient method for the centralized problem subject to buffer constraints, where during a contact only a subset of the control variables(ni)

1We say that a nodeAhas “seen” a messagei, whenAhad received a copy of messageisometime in the past, regardless of whether it still has the copy or has already removed it from the buffer.

are improved (these are the variables corresponding only to the messages in a node’s buffer).

Nevertheless the value of these utilities is a function of the global state of the mes-sage (ni andmi) in the network. The current buffer state of remote nodes cannot be known in practice, due to the DTN and disconnected nature of such networks. Hence, this method cannot be known in practice and the above quantities must be estimated.

2.3 HBSD

For the purpose of our analysis, let us suppose that the variablesmi(T)andni(T)at elapsed timeT are instances of the random variablesN(T)andM(T). We develop our estimatorsn(T)andm (T)so that when plugged into the GBSD’s delivery rate and delay per-message utilities calculated earlier we get new per-message utilities (i.e.

estimates of the actual utilities) that can be used by a DTN node without any need for global information about messages. This results in a new scheduling and drop policy, called HBSD (History Based Scheduling and Drop), a deployable variant of GBSD.

When global information is unavailable, one can calculate the average delivery rate of a message over all possible values ofM(T)andN(T), and then try to maximize it. In the framework of the GBSD policy, this is equivalent to choosing the estimators

n(T)andm (T)so that the calculation of the average delivery rate is unbiased:

E[(1−M(T)

L−1)(1exp(−λN(T)Ri)) +M(T) L−1] = (1

m (T)

L−1)(1exp(−λn(T)Ri)) + m (T)

L−1

Plugging any values forn(T)andm (T)that verify this equality into the expres-sion for the per-message utility of Eq.( 2.1), one can make sure that the obtained policy maximizes the average delivery rate. This is exactly our purpose. Suppose now that the best estimator form (T)is its average, i.e.,m (T) =m (T) = E[M(T)]. This approximation is driven by the observation we made that the histogram of the random variableM(T)can be approximated by a Gaussian distribution with good accuracy. To confirm this, we have applied the Lillie test [108], a robust version of the well known Kolmogorov-Smirnov goodness-of-fit test, toM(T)for different elapsed times (T = 25%,50% and 75% of theT T L). This test led to acceptance for a 5% significance level. Consequently, the average ofM(T)is at the same time the unbiased estimator and the most frequent value among the vectorM(T). Then, solving forn(T)gives:

n(T) = 1 λRi

ln(E[(1−M(TL1)) exp(−λN(T)Ri)]

(1m(TL1))

) (2.3)

Substituting this expression into Eq.(2.1) we obtain the following new per message utility for our approximating HBSD policy:

λRiE[(1−M(T)

L−1) exp(−λRiN(T))] (2.4) The expectation in this expression is calculated by summing over all known values of N(T)andM(T)for past messages at elapsed timeT. Unlike Eq.(2.1), this new per-message utility is a function of past history of messages and can be calculated lo-cally. It maximizes the average message delivery rate calculated over a large number of messages. When the number of messages is large enough for the law of large numbers to work, our history based policy should give the same result as that of using the real global network information. Similar utility estimators can be derived for the case of delay minimization.

Finally, we note thatL, the number of nodes in the network, could also be cal-culated from the statistics maintained by each node in the network. In this work, we assume it to be fixed and known, but one could estimate it similar tonandm, or using different estimation algorithms like the ones proposed in [109].