Content uploaded by Paolo Barsocchi
Author content
All content in this area was uploaded by Paolo Barsocchi on Nov 23, 2016
Content may be subject to copyright.
Quality of service of data broadcasting algorithms
on erroneous wireless channels
Paolo Barsocchi ∗Alan A. Bertossi †M. Cristina Pinotti ‡
Francesco Potort`ı∗
Abstract
Broadcasting is an efficient and scalable way of transmitting data over wireless
channels to an unlimited number of clients. In this chapter the problem of allocating
data to multiple channels is studied, assuming flat data scheduling per channel and
the presence of unrecoverable channel transmission errors. The behavior of wireless
channels is described by the Bernoulli model, in which each packet transmission has
the same probability to fail and each transmission error is independent from the others.
The objective is that of minimizing the average expected delay experienced by the
clients. Optimal solutions can be found in polynomial time when all data items have
unit lengths, while heuristics are presented when data items have non-unit lengths.
Extensive simulations, performed on benchmarks whose item popularities follow Zipf
distributions, show that good sub-optimal solutions are found.
Keywords: broadcast scheduling algorithm, data allocation algorithm, average expected
delay, wireless channel, channel error model, heuristics, quality of service
∗ISTI-CNR, via G. Moruzzi 1, 56124 Pisa, Italy, {Paolo.Barsocchi,potorti}@isti.cnr.it
†Department of Computer Science, University of Bologna, 40127 Bologna, Italy, bertossi@cs.unibo.it
‡Department of Computer Science and Mathematics, University of Perugia, 06123 Perugia, Italy,
pinotti@unipg.it
1
1 Introduction
Advances in technology have produced today’s information age. Pervasive connections enable
a broad spectrum of novel applications and services. In the present environment, voice
services are no longer sufficient to satisfy clients’ requirements. Access to services on the air
seems to be the next killer application. Data broadcasting is an efficient way of simultaneously
disseminating data items to a large number of clients [15]. In this scenario, a server at the
base-station repeatedly transmits data items from a given set over wireless channels, while
clients passively listen to the shared channels waiting for their desired item. The server
has to pursue a data allocation strategy for assigning items to channels and a broadcast
schedule for deciding which item has to be transmitted on each channel at any time instant.
The quality of service is measured in terms of the client expected delay, that is, the average
amount of time spent by a client before receiving the item he needs. Therefore, efficient data
allocation and broadcast scheduling algorithms have to minimize the client expected delay.
Such a delay increases with the size of the set of the data items to be transmitted by the
server. Indeed, the client has to wait for many unwanted data before receiving his own data.
Moreover, the client expected delay may be influenced by transmission errors because items
are not always received correctly by the client. Although data are usually encoded using
error correcting codes (ECC) allowing some recoverable errors to be corrected by the client
without affecting the average expected delay, there are several transmission errors which still
cannot be corrected using ECC. Such unrecoverable errors affect the client expected delay,
because the resulting corrupted items have to be discarded and the client must wait until
the same item is broadcast again by the server.
Several variants for the problem of data allocation and broadcast scheduling have been
proposed in the literature [1, 2, 3, 4, 5, 6, 9, 10, 11, 12, 13, 14, 16, 17, 18].
The database community usually partitions the data among the channels and then adopts
aflat broadcast schedule on each channel [5, 13, 18]. In such a way, the allocation of data
to channels becomes critical for reducing the average expected delay, while the flat schedule
on each channel merely consists in cyclically broadcasting in an arbitrary fixed order, that
is once at a time in a round-robin fashion, the items assigned to the same channel [1]. In
order to reduce the average expected delay, a skewed data allocation is used where items
2
are partitioned according to their popularities so that the most requested items appear in a
channel with shorter period. Assuming that each item transmitted by the server is always
received correctly by the client, a solution that minimizes the average expected delay can be
found in polynomial time in the case of unit lengths [18], that is when all the items have a unit
transmission time, whereas the problem becomes computationally intractable for non-unit
lengths [5]. In this latter case, several heuristics have been developed in [4, 18], which have
been tested on some benchmarks where item popularities follow Zipf distributions. Such
distributions are used to characterize the popularity of one item among a set of similar data,
like a web page in a web site [8].
The data allocation problem has not been investigated by the database community when
the wireless channels are subject to transmission errors. In contrast, a wireless environment
subject to errors has been considered by the networking community, which however con-
centrates only on finding broadcast scheduling for a single channel to minimize the average
expected delay [6, 10, 11, 16]. Indeed, the networking community assumes all items repli-
cated over all channels, and therefore no data allocation to the channels is needed. Although
it is still unknown whether a broadcast schedule on a single channel with minimum average
delay can be found in polynomial time or not, almost all the proposed solutions follow the
Square Root Rule (SRR), a heuristic which in practice finds near-optimal schedules [3]. The
aim of Square Root Rule is to produce a broadcast schedule where each data item appears
with equally spaced replicas, whose frequency is proportional to the square root of its popu-
larity and inversely proportional to the square root of its length. In particular, the solution
proposed by [16] adapts the Square Root Rule solution to the case of unrecoverable errors. In
such a case, since corrupted items must be discarded worsening the average expected delay,
the spacing among replicas has to be properly recomputed.
The present chapter considers the data allocation problem under the assumptions of
skewed data allocation to channels and flat data schedule per channel [4, 5, 18], as studied
by the database community, but also copes with the presence of unrecoverable erroneous
transmissions, as studied in [7, 16]. The behavior of wireless channels is described by the
Bernoulli model, in which each packet transmission has the same probability qto fail and
1−qto succeed, and each transmission error is independent from the others. Specifically,
in the case of Bernoulli channel error model, it is shown that an optimum solution, namely
3
one minimizing the average expected delay, can be found in polynomial time for the data
allocation problem when the data items have unit lengths. Instead, sub-optimal solutions
found by heuristic algorithms are exhibited non-unit lengths. Extensive simulations show
that such heuristics provide a good quality of service when tested on benchmarks whose
items popularities are characterized by Zipf distributions.
The rest of this chapter is so organized. Section 2 first gives notations, definitions as
well as the problem statement, and then reviews the basic algorithms known so far in the
case of error-free channel transmissions. Sections 3 considers the Bernoulli channel error
model and illustrates how the previously reviewed algorithms can be adapted to cope with
erroneous transmissions. Experimental evaluations of the algorithms are reported at the end
Sections 3. Finally, conclusions are offered in Section 4.
2 Error-free channels
Consider a set of Kidentical error-free channels, and a set D={d1, d2,...,dN}of Ndata
items. Each item diis characterized by a popularity piand a length zi, with 1 ≤i≤N.
The popularity pirepresents the demand probability of item di, namely its probability to
be requested by the clients, and it does not vary along the time. Clearly, PN
i=1 pi= 1. The
length ziis an integer number, counting how many packets are required to transmit item
dion any channel and it includes the encoding of the item with an error correcting code.
For the sake of simplicity, it is assumed that a packet transmission requires one time unit.
Each diis assumed to be non preemptive, that is, its transmission cannot be interrupted.
When all data lengths are equal to one, i.e., zi= 1 for 1 ≤i≤N, the lengths are called unit
lengths, otherwise they are said to be non-unit lengths. The sum of all the item lengths and
the maximum item length are denoted, respectively, by Zand z, namely Z=PN
i=1 ziand
z=max1≤i≤Nzi.
The expected delay tiis the expected number of packets a client must wait for receiving
item di. The average expected delay (AED) is the number of packets a client must wait
on the average for receiving any item, and is computed as the sum over all items of their
4
expected delay multiplied by their popularity, that is
AED =
N
X
i=1
tipi(1)
When the items are partitioned into Kgroups G1,...,GK, where group Gkcollects the
data items assigned to channel k, and a flat schedule is adopted for each channel, that is, the
items in Gkare cyclically broadcast in an arbitrary fixed order, Equation 1 can be simplified.
Indeed, if item diis assigned to channel k, and assuming that clients can start to listen at
any instant of time with the same probability, then tibecomes Zk
2, where Zkis the schedule
period on channel k, i.e., Zk=Pdi∈Gkzi. Then, Equation 1 can be rewritten as
AED =
N
X
i=1
tipi=
K
X
k=1 X
di∈Gk
Zk
2pi=
K
X
k=1 Zk
2X
di∈Gk
pi!=1
2
K
X
k=1
ZkPk(2)
where Pkdenotes the sum of the popularities of the items assigned to channel k, i.e., Pk=
Pdi∈Gkpi. Note that, in the unit length case, the period Zkcoincides with the cardinality
of Gk, which will be denoted by Nk.
Summarizing, given Kerror-free channels, a set Dof Nitems, where each data item di
comes along with its popularity piand its integer length zi, the Data Allocation Problem
consists in partitioning Dinto Kgroups G1,...,GK, so as to minimize the average expected
delay objective function given in Equation 2. Note that, in the special case of unit lengths,
the corresponding objective function is derived replacing Zkwith Nkin Equation 2.
Almost all the algorithms proposed so far for the data allocation problem on multiple
error-free channels are based on dynamic programming. Such algorithms restrict the search
for the solutions to the so called segmentations, that is, partitions obtained by considering
the items ordered by their indices, and by assigning items with consecutive indices to each
channel. Formally, a segmentation is a partition of the ordered sequence d1,...,dNinto K
adjacent segments G1,...,GK, each of consecutive items, as follows:
d1,...,dB1
|{z }
G1
, dB1+1,...,dB2
|{z }
G2
,...,dBK−1+1, . . . , dN
| {z }
GK
A segmentation can be compactly denoted by the (K−1)-tuple
(B1, B2,...,BK−1)
5
of its right borders, where border Bkis the index of the last item that belongs to group Gk.
Notice that it is not necessary to specify BK, the index of the last item of the last group,
because its value will be Nfor any segmentation.
Almost all the dynamic programming algorithms for multiple channels assume that the
items d1, d2,...,dNare indexed by non-increasing pi
ziratios, that is p1
z1≥p2
z2≥ ··· ≥ pN
zN.
Observe that for unit lengths this means that the items are sorted by non-increasing popu-
larities. Let SOLk,n denote a segmentation for grouping items d1,...dninto kgroups and
let solk,n be its corresponding cost, for any k≤Kand n≤N. Moreover, let Ci,j denote the
cost of assigning to a single channel the consecutive items di,...,dj:
Ci,j =
j
X
h=i
thph=
j
X
h=i 1
2
j
X
h=i
zh!ph=1
2 j
X
h=i
zh! j
X
h=i
ph!(3)
For unit lengths, the above formula simplifies as Ci,j =1
2(j−i+ 1) Pj
h=iph. Note that,
once the items are sorted, all the Ci,j’s can be found in O(N) time by means of prefix-sum
computations [17].
The four main algorithms for solving the problem are now briefly surveyed. The first
three of them, called Dynamic-Programming,Dichotomic, and Dlinear, assume items sorted
by non-increasing pi
zi’s (and thus they search for segmentations) and work for an arbitrary
number of channels. Whereas, the other one, called Square Root Rule, do not assume sorted
items and works for a single channel. The first three algorithms are off-line and employ
dynamic programming, while the last algorithm is on-line and does not use dynamic pro-
gramming.
2.1 The Dynamic-Programming algorithm
The Dynamic-Programming algorithm is a dynamic programming implementation of the
following recurrence, where kvaries from 1 to Kand, for each fixed k,nvaries from 1 to N:
solk,n =
C1,n if k= 1
min1≤`≤n−1{solk−1,` +C`+1,n}if k > 1(4)
For any value of kand n, the Dynamic-Programming algorithm selects the best segmentation
obtained by considering the n−1 segmentations already computed for the first k−1 channels
6
and for the first `items, and by combining each of them with the cost of assigning the last
n−`items to the single k-th channel. In details, consider the K×Nmatrix Mwith
Mk,n =solk,n. The entries of Mare computed row by row applying Recurrence 4. Clearly,
MK,N contains the cost of a solution for the original problem. In order to actually construct
the corresponding segmentation, a second matrix Fis employed to keep track of the final
borders of segmentations corresponding to entries of M. In Recurrence 4, the value of `
which minimizes the right-hand-side is the final border for the solution SOLk,n and is stored
in Fk,n. Hence, the segmentation is given by SOLK,N = (B1, B2, . . . , BK−1) where, starting
from BK=N, the value of Bkis equal to Fk+1,Bk+1 , for k=K−1,...,1. The Dynamic-
Programming algorithm requires O(N2K) time. It finds an optimal solution in the case of
unit lengths and a sub-optimal one in the case of non-unit lengths [18].
2.2 The Dichotomic algorithm
To improve on the time complexity of the Dynamic-Programming algorithm, the Dichotomic
algorithm has been devised. Let Bn
hdenote the h-th border of SOLk,n, with k > h ≥1.
Assume that SOLk−1,n has been found for every 1 ≤n≤N. If SOLk,l and SOLk ,r have
been found for some 1 ≤l≤r≤N, then one knows that Bc
k−1is between Bl
k−1and Br
k−1,
for any l≤c≤r. Thus, choosing cas the middle point between land r, Recurrence 4 can
be rewritten as:
solk,dl+r
2e= min
Bl
k−1≤`≤Br
k−1{solk−1,` +C`+1,dl+r
2e}(5)
where Bl
k−1and Br
k−1are, respectively, the final borders of SOLk ,l and SOLk,r.
Such a recurrence is iteratively solved within three nested loops which vary, respectively,
in the ranges 1 ≤k≤K, 1 ≤t≤ dlog Ne, and 1 ≤i≤2t−1, and where the indices l, r, and
care set as follows: l=di−1
2t−1(N+ 1)e,r=di
2t−1(N+ 1)e, and c=dl+r
2e=d2i−1
2t(N+ 1)e.
In details, the Dichotomic algorithm is shown in Figure 1. It uses the two matrices Mand
F, whose entries are again filled up row by row (Loop 1). A generic row kis filled in stages
(Loop 2). Each stage corresponds to a particular value of the variable t(Loop 3). The
variable ccorresponds to the index of the entry which is currently being filled in stage t.
The variables l(left) and r(right) correspond to the indices of the entries nearest to cwhich
have been already filled, with l < c < r. If no entry before chas been already filled, then
7
l= 1, and therefore the final border Fk,1is initialized to 1. If no entry after chas been filled,
then r=N, and thus the final border Fk,N +1 is initialized to N. To compute the entry c, the
variable `takes all values between Fk,l and Fk,r . The index `which minimizes the recurrence
in Loop 4 is assigned to Fk,c, while the corresponding minimum value is assigned to Mk,c .
The Dichotomic algorithm lowers the time complexity of the Dynamic-Programming al-
gorithm to O(NK log N). As for the Dynamic-Programming algorithm, the Dichotomic
algorithm also finds optimal and sub-optimal solutions for unit and non-unit lengths, re-
spectively [5].
2.3 The Dlinear algorithm
Fixed kand n, the Dlinear algorithm selects the feasible segmentations that satisfy the
following Recurrence:
solk,n =
C1,n if k= 1
solk−1,m +Cm+1,n if k > 1(6)
where
m= min
Bn−1
k≤`≤n−1{`:solk−1,` +C`+1,n < solk−1,`+1 +C`+2,n}.
In practice, Dlinear adapts Recurrence 4 by exploiting the property that, if SOLk,n−1is
known, then one knows that Bn
kis no smaller than Bn−1
k, and by stopping the trials as soon
as the cost solk−1,` +C`+1,n of the solution starts to increase.
The Dlinear algorithm is shown in Figure 2. As before, matrices Mand Fare used,
which are filled row by row. Note that in Loop 1 the leftmost k−1 entries in row kof both
Mand Fare meaningless, since at least one item has to be assigned to each channel. The
value of min Recurrence 6 that gives Mk,n is computed iteratively in Loop 3 and stored in
Fk,n.
The overall time complexity of the Dlinear algorithm is O(N(K+ log N)). Thus the
Dlinear algorithm is even faster than the Dichotomic one, but the solutions it provides are
always sub-optimal, both in the unit and non-unit length case [4].
8
2.4 The Square Root Rule algorithm
When there is only one channel, the Dynamic-Programming, Dichotomic, and Dlinear algo-
rithms provide a trivial flat schedule with period Z. In such a case, each tiis equal to Z
2
and hence also the average expected delay is equal to Z
2, regardless of the item popularities.
To overcome this drawback, a schedule is needed where the spacing between two consecutive
transmissions of one item is not the same for all items, but depends on both the popularity
and the length of such an item.
It has been shown in [16] that, in an optimal schedule, replicas of any item dishould be
equally spaced with spacing
si= N
X
h=1
√phzh!rzi
pi
(7)
In this way, the expected delay for item dibecomes half of its spacing and thus, substituting
ti=si
2in Equation 1, the average expected delay becomes
AED = 1
2 N
X
i=1
√pizi!2
(8)
The average expected delay value given in Equation 8 represents a lower bound which
in general is not achievable because the replicas cannot always be kept equally spaced. The
Square Root Rule algorithm is an on-line heuristic which tries to keep the replicas as equally
spaced as possible. For this purpose, it determines the item to be transmitted next by using
the decision rule s2
ipi
zi= constant, based on Equation 7. Let Tdenote the current time, let
Ribe the time at which the last replica of dihas been transmitted (initialized to −1), and
let Gi= (T−Ri)2pi
zi, where T−Riis the spacing for item diif diwould be transmitted
again at time T. At each instant of time T, the Square Root Rule algorithm evaluates the
decision rule Gifor all items di, 1 ≤i≤N, selects for transmission at time Tthat item dh
with maximum Gh, and finally updates Rh=Tand T=T+zh.
The Square Root Rule algorithm takes O(N) time to select the item to be transmitted.
Such a time can be reduced to O(M) by partitioning the items into Mbuckets according to
their G’s values [16].
9
3 Bernoulli channel error model
In this section, unrecoverable channel transmission errors modeled by a geometric distribu-
tion are taken into account. Under such an error model, each packet transmission over every
channel has the same probability qto fail and 1 −qto succeed, and each transmission error
is independent from the others, with 0 ≤q≤1. Since the environment is asymmetric, a
client cannot ask the server to immediately retransmit an item diwhich has been received on
channel kwith an unrecoverable error. Indeed, the client has to discard the item and then
has to wait for a whole period Zk, until the next transmission of discheduled by the server.
Even the next item transmission could be corrupted, and in such a case an additional delay
of Zkhas to be waited. Therefore, the expected delay tihas to take into account the extra
waiting time due to a possible sequence of independent unrecoverable errors.
3.1 Unit length items
Assume that the items have unit lengths, i.e., zi= 1 for 1 ≤i≤N. Recall that in such a
case the period of channel kis Nk. If a client wants to receive item di, which is transmitted
on channel k, and the first transmission he can hear of diis error-free, then the client waits
on the average Nk
2time units with probability 1 −q. Instead, if the first transmission of di
is erroneous, but the second one is error-free, then the client experiences an average delay of
Nk
2+Nktime units with probability q(1 −q). Generalizing, if there are hbad transmissions
of difollowed by a good one, the client average delay for receiving item dibecomes Nk
2+hNk
time units with probability qh(1 −q). Thus, summing up over all h, the expected delay tiis
equal to ∞
X
h=0
(Nk
2+hNk)qh(1 −q) = Nk
2+Nk
q
1−q
because P∞
h=0 qh=1
1−qand P∞
h=0 hqh=q
(1−q)2. Therefore, one can set the expected delay as
ti=Nk
2
1 + q
1−q(9)
By the above setting, the objective function to be minimized becomes
AED =
N
X
i=1
tipi=1
2
1 + q
1−q
K
X
k=1
NkPk(10)
10
Therefore, for items with unit lengths, the data allocation problem can be optimally
solved in polynomial time. This derives from Lemmas 1 and 2 of [5] which prove optimality
in the particular case of error-free channels, that is, when q= 0. Indeed, when q > 0, similar
proofs hold once the cost Ci,j of assigning consecutive items di, . . . , djto the same channel is
defined as Ci,j =j−i+1
2
1+q
1−qPj
h=iph. In words, Lemmas 1 and 2 of [5] show that, whenever the
items d1, d2,...,dNare sorted by non-increasing popularities, there always exists an optimal
solution which is a segmentation and which can be found by the Dichotomic algorithm.
3.2 Non-unit length items
Consider now items with non-unit lengths and recall that Zkis the period of channel k. In
order to receive an item diof length ziover channel k, a client has to listen for ziconsecutive
error-free packet transmissions, which happens with probability (1 −q)zi. Hence, the failure
probability for item dion channel kis Qzi= 1 −(1 −q)zi.
In the case that the first transmission of diheard by the client is error-free, the client
has to wait on the average Zk
2time units with probability 1 −Qzi. Instead, the client waits
on the average for Zk
2+Zktime units with probability Qzi(1 −Qzi) in the case that the
first transmission of diis erroneous and the second one is error-free. In general, hbad
transmissions of difollowed by a good one lead to a delay of Zk
2+hZktime units with
probability Qh
zi(1 −Qzi). Therefore, summing up over all has seen in the unit length case,
the expected delay becomes
ti=Zk
2
1 + Qzi
1−Qzi
(11)
Thus, the average expected delay to be minimized is
AED = 1
2
K
X
k=1 ZkX
di∈Gk
1 + Qzi
1−Qzi
pi!(12)
Recalling that the items are indexed by non-increasing pi
ziratios, the new recurrences for
the Dichotomic and Dlinear algorithms are derived from Recurrences 5 and 6, respectively,
once each Ci,j is defined as Ci,j =1
2Pj
h=izhPj
h=i
1+Qzh
1−Qzh
ph. All the Ci,j ’s can be com-
puted in O(N) time via prefix-sums, once O(H) time is spent for computing all the Qzh’s,
where H= min{Nlog z, z}. Therefore, the time complexities of the Dichotomic and Dlinear
algorithms become, respectively, O(N K log N+H) and O(N(K+ log N) + H). Note that
11
in such a case optimality is not guaranteed since the problem is computationally intractable
already for error-free channels.
When there is only one channel, it has been shown in [16] that, in an optimal schedule,
replicas of any item dishould be equally spaced with spacing
si= N
X
h=1 sphzh
1 + Qzh
1−Qzh!szi
pi
1−Qzi
1 + Qzi
(13)
Thus, substituting ti=si
2in Equation 1, the average expected delay becomes
AED = 1
2 N
X
i=1 spizi
1 + Qzi
1−Qzi!2
(14)
Therefore, the Square Root Rule algorithm can be applied once the decision rule Giis
modified as Gi= (T−Ri)2pi
zi
1+Qzi
1−Qzi.
3.3 Quality of service evaluation
In this subsection, the behavior of the Dichotomic, Dlinear, and Square Root Rule heuristics
is evaluated in the case of Bernoulli channel error model. The above algorithms have been
experimentally tested on benchmarks where the item popularities follow a Zipf distribution.
Specifically, given the number Nof items and a real number 0 ≤θ≤1, the item popularities
are defined as
pi=(1/i)θ
PN
h=1(1/h)θ1≤i≤N
In the above formula, θis the skew parameter. In particular, θ= 0 stands for a uniform
distribution with pi=1
N, while a higher θimplies a higher skew, namely the difference
among the pivalues becomes larger.
Consider first some experiments for multiple channels reported from [7], where either
the skew parameter θis set to 0.8 as suggested in [18], N= 2500, and 10 ≤K≤500, or
θ= 0.8, K= 50, and 500 ≤N≤2500, or 0 ≤θ≤1, N= 2500, and K= 200. The item
lengths ziare integers randomly generated according to a uniform distribution in the range
1≤zi≤10, for 1 ≤i≤N. The channel failure probabilities can assume the values 0.001
and 0.01.
12
Moreover, since the data allocation problem is computationally intractable when items
have non-unit lengths, lower bounds for a non-unit length instance are derived by transform-
ing it into a unit length instance as follows. Each item diof popularity piand length ziis
decomposed into ziitems of popularity pi
ziand length 1. Since more freedom has been intro-
duced, it is clear that the optimal average expected delay for the so transformed problem is
a lower bound on the average expected delay of the original problem. Since the transformed
problem has unit lengths, the optimal average expected delay can be obtained by running
the polynomial time Dichotomic algorithm both when all the channels are error-free or have
the same failure probability.
Figures 3-5 show the experimental results for the Dichotomic and Dlinear algorithms in
the case that there are multiple channels, the items have non-unit lengths, and the failure
probability qis 0.001. One can note that the two above mentioned lower bounds as well as
the solutions provided by both algorithms almost coincide. Instead, Figures 6-8 show the
experimental results when the failure probability qis 0.01. Referring to Figures 6 and 7,
where θ= 0.8, the average expected delay of the transformed unit length instance in the
presence of errors is 1+q
1−q= 1.02 times the average expected delay of the same transformed
instance without errors. One can also note that, since the average item length is 5, the
average expected delay of the original instance in the presence of errors should be about
1+Q
1−Q= 1.10 times the average expected delay of the same original instance in the absence
of errors, where Q= 1 −(1 −0.01)5= 0.05. This can be easily checked in Figure 6, e.g.,
for K= 10, where the ratio between the two values of the average expected delay is about
500
450 = 1.11. Referring to Figure 8, where θvaries, one notes that the ratio between such
average expected delay values is almost 1.12 for every value of θ, confirming the results of
Figures 6 and 7.
Consider now some simulation experiments for a single channel, which are reported
from [16]. In the experiments, N= 1000, 0 ≤θ≤1, and each ziis an integer randomly
generated according to a uniform distribution in the range 1 ≤zi≤10, for 1 ≤i≤N. The
channel failure probability qvaries between 0 and 0.2. Figure 9 shows the behavior of the
Square Root Rule algorithm compared with the analytical lower bound given in Equation 14.
The experimental tests show that the average expected delay values obtained by the Square
Root Rule algorithm and by the lower bound differ up to 3% for small values of q, and up
13
to 10% for larger values of q.
4 Conclusions
This chapter considered the problem of allocating data to multiple channels, assuming skewed
allocation of most popular data items to less loaded channels, flat data scheduling per chan-
nel, and the presence of unrecoverable channel transmission errors. The quality of service
was measured in terms of the average expected delay experienced by the clients. The be-
havior of some heuristics has been experimentally evaluated when modelling the channel
error by means of the Bernoulli model. Extensive simulations showed that such heuristics
give sub-optimal solutions which provide a good quality of service, when tested on bench-
marks whose item popularities follow Zipf distributions. In particular, for small channel
error probabilities, the average expected delay of the proposed solutions is almost the same
as the optimal one found in the case of channels without errors.
Acknowledgement
This work has been supported by ISTI-CNR under the BREW research grant. The C++
code used in the simulations was written by G. Spagnardi.
References
[1] S. Acharya, R. Alonso, M. Franklin, and S. Zdonik. Broadcast disks: data management
for asymmetric communication environments. In Proc. SIGMOD, May 1995.
[2] M.H. Ammar and J.W. Wong. The design of teletext broadcast cycles. Performance
Evaluation, 5(4):235–242, 1985.
[3] M.H. Ammar and J.W. Wong. On the optimality of cyclic transmission in teletext
systems. IEEE Transactions on Communications, 35(11):1159–1170, 1987.
[4] S. Anticaglia, F. Barsi, A.A. Bertossi, L. Iamele, and M.C. Pinotti. Efficient heuristics
for data broadcasting on multiple channels. Wireless Networks, 2006, published on line.
14
[5] E. Ardizzoni, A.A. Bertossi, M.C. Pinotti, S. Ramaprasad, R. Rizzi, and M.V.S.
Shashanka. Optimal skewed data allocation on multiple channels with flat broadcast
per channel. IEEE Transactions on Computers, 54(5):558–572, 2005.
[6] A. Bar-Noy, R. Bhatia, J.S. Naor, and B. Schieber. Minimizing service and operation
costs of periodic scheduling. In Proc. Ninth ACM-SIAM Symp. on Discrete Algorithms
(SODA), pages 11–20, 1998.
[7] P. Barsocchi, A.A. Bertossi, M.C. Pinotti, and F. Potort´ı. Data broadcasting over
error-prone wireless channels. Technical Report 2006/9, Department of Mathematics
and Computer Science, University of Perugia, Italy, 2006.
[8] L. Breslau, P. Cao, L. Fan, G. Phillips, and S. Shenker. Web caching and Zipf-like
distributions: evidence and implications. In Proc. IEEE INFOCOM, 1999.
[9] T. Imielinski, S. Viswanathan, and B.R. Badrinath. Energy efficient indexing on air. In
Proc. SIGMOD, May 1994.
[10] C. Kenyon and N. Schabanel. The data broadcast problem with non-uniform transmis-
sion time. In Proc. Tenth ACM-SIAM Symp. on Discrete Algorithms (SODA), pages
547–556, 1999.
[11] C. Kenyon, N. Schabanel, and N. Young. Polynomial time approximation scheme for
data broadcast. In Proc. ACM Symp. on Theory of Computing (STOC), pages 659–666,
2000.
[12] S.-C. Lo and A.L.P. Chen Optimal index and data allocation in multiple broadcast
channels. In Proc. Sixteenth IEEE Int’l Conf. on Data Engineering (ICDE), February
2000.
[13] W.C. Peng and M.S. Chen. Efficient channel allocation tree generation for data broad-
casting in a mobile computing environment. Wireless Networks, 9(2):117–129, 2003.
[14] K.A. Prabhakara, K.A. Hua, and J. Oh. Multi-level multi-channel air cache designs for
broadcasting in a mobile environment. In Proc. Sixteenth IEEE Int’l Conf. on Data
Engineering (ICDE), February 2000.
15
[15] I. Stojmenovic (Editor). Handbook of Wireless Networks and Mobile Computing. Wiley,
Chichester, 2002.
[16] N. Vaidya and S. Hameed. Log time algorithms for scheduling single and multiple
channel data broadcast. In Proc. Third ACM-IEEE Conf. on Mobile Computing and
Networking (MOBICOM), September 1997.
[17] W.G. Yee, Efficient data allocation for broadcast disk arrays. Technical Report GIT-
CC-02-20, Georgia Institute of Technology, 2001.
[18] W.G. Yee, S. Navathe, E. Omiecinski, and C. Jermaine. Efficient data allocation over
multiple channels at broadcast servers. IEEE Transactions on Computers, 51(10):1231–
1236, 2002.
16
Input: Nitems sorted by non-increasing pi
ziratios, and Kgroups;
Initialize: for ifrom 1to Ndo
for kfrom 1to Kdo
if k= 1 then Mk,i ←Ck,i else Mk,i ← ∞;
Loop 1: for kfrom 2to Kdo
Fk,0←Fk,1←1; Fk,N +1 ←N;
Loop 2: for tfrom 1to dlog Nedo
Loop 3: for ifrom 1to 2t−1do
c← d2i−1
2t(N+ 1)e;l← d i−1
2t−1(N+ 1)e;r← d i
2t−1(N+ 1)e;
if Mk,c =∞then
Loop 4: for `from Fk,l to Fk,r do
if Mk−1,` +C`+1,c < Mk,c then
Mk,c ←Mk−1,` +C`+1,c;
Fk,c ←`;
Figure 1: The Dichotomic algorithm.
17
Input: Nitems sorted by non-increasing pi
ziratios, and Kgroups;
Initialize: for nfrom 1to Ndo
M1,n ←C1,n;
Loop 1: for kfrom 2to Kdo
Fk,k ←k−1;
Mk,k ←Mk−1,k−1+Ck,k;
Loop 2: for nfrom k+ 1 to Ndo
`←Fk,n−1;
m←`;
Mk,n ←Mk−1,` +C`+1,n;
incr ←false;
Loop 3: while `≤n−2and ¬incr do
temp ←Mk−1,`+1 +C`+2,n;
if Mk,n ≥temp then
Mk,n ←temp;
`←`+ 1;
else
incr ←true;
m←`;
Fk,n ←m
Figure 2: The Dlinear algorithm.
18
0
50
100
150
200
250
300
350
400
450
0 100 200 300 400 500
AED
K
N = 2500, q = 0.001
Lower Bound without error
Dichotomic without error
Dlinear without error
Lower Bound with error
Dichotomic with error
Dlinear with error
Figure 3: Results for 2500 items of non-unit lengths, when θ= 0.8and the Kchannels have
failure probability q= 0.001.
20
40
60
80
100
500 1000 1500 2000 2500
AED
N
K = 50, q = 0.001
Lower Bound without error
Dichotomic without error
Dlinear without error
Lower Bound with error
Dichotomic with error
Dlinear with error
Figure 4: Results for Nitems of non-unit lengths, when θ= 0.8and the 50 channels have
failure probability q= 0.001.
19
14
16
18
20
22
24
26
28
30
32
0 0.2 0.4 0.6 0.8 1
AED
θ
N = 2500, K = 200, q = 0.001
Lower Bound without error
Dichotomic without error
Dlinear without error
Lower Bound with error
Dichotomic with error
Dlinear with error
Figure 5: Results for 2500 items of non-unit lengths, when 0≤θ≤1and the 200 channels
have failure probability q= 0.001.
0
100
200
300
400
500
0 100 200 300 400 500
AED
K
N = 2500, q = 0.01
Lower Bound without error
Dichotomic without error
Dlinear without error
Lower Bound with error
Dichotomic with error
Dlinear with error
Figure 6: Results for 2500 items of non-unit lengths, when θ= 0.8and the Kchannels have
failure probability q= 0.01.
20
20
40
60
80
100
500 1000 1500 2000 2500
AED
N
K = 50, q = 0.01
Lower Bound without error
Dichotomic without error
Dlinear without error
Lower Bound with error
Dichotomic with error
Dlinear with error
Figure 7: Results for Nitems of non-unit lengths, when θ= 0.8and the 50 channels have
failure probability q= 0.01.
10
15
20
25
30
35
0 0.2 0.4 0.6 0.8 1
AED
θ
N = 2500, K = 200, q = 0.01
Lower Bound without error
Dichotomic without error
Dlinear without error
Lower Bound with error
Dichotomic with error
Dlinear with error
Figure 8: Results for 2500 items of non-unit lengths, when 0≤θ≤1and the 200 channels
have failure probability q= 0.01.
21
0
2000
4000
6000
8000
10000
12000
14000
16000
18000
0 0.05 0.1 0.15 0.2
AED
q
N = 1000, K = 1
Lower Bound with θ=0
SRR with θ=0
Lower Bound with θ=0.5
SRR with θ=0.5
Lower Bound with θ=1
SRR with θ=1
Figure 9: Results for 1000 items with non-unit lengths, when K= 1,0≤θ≤1, and
0≤q≤0.2.(In the legend, SRR stands for Square Root Rule).
22