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 eﬃcient 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 ﬂat 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 suﬃcient to satisfy clients’ requirements. Access to services on the air

seems to be the next killer application. Data broadcasting is an eﬃcient 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, eﬃcient 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 inﬂuenced 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 aﬀecting the average expected delay, there are several transmission errors which still

cannot be corrected using ECC. Such unrecoverable errors aﬀect 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

aﬂat 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 ﬂat schedule

on each channel merely consists in cyclically broadcasting in an arbitrary ﬁxed 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 ﬁnding 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 ﬁnds 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 ﬂat 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. Speciﬁcally,

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 ﬁrst gives notations, deﬁnitions 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 oﬀered 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 ﬂat schedule is adopted for each channel, that is, the

items in Gkare cyclically broadcast in an arbitrary ﬁxed order, Equation 1 can be simpliﬁed.

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 simpliﬁes 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 preﬁx-sum

computations [17].

The four main algorithms for solving the problem are now brieﬂy surveyed. The ﬁrst

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 ﬁrst three algorithms are oﬀ-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 ﬁxed 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 ﬁrst k−1 channels

6

and for the ﬁrst `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 ﬁnal

borders of segmentations corresponding to entries of M. In Recurrence 4, the value of `

which minimizes the right-hand-side is the ﬁnal 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 ﬁnds 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 ﬁnal 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 ﬁlled up row by row (Loop 1). A generic row kis ﬁlled 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 ﬁlled in stage t.

The variables l(left) and r(right) correspond to the indices of the entries nearest to cwhich

have been already ﬁlled, with l < c < r. If no entry before chas been already ﬁlled, then

7

l= 1, and therefore the ﬁnal border Fk,1is initialized to 1. If no entry after chas been ﬁlled,

then r=N, and thus the ﬁnal 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 ﬁnds 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 ﬁlled 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 ﬂat 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 ﬁnally 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 ﬁrst 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 ﬁrst 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

deﬁned 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 ﬁrst 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

ﬁrst 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 deﬁned 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 preﬁx-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

modiﬁed 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.

Speciﬁcally, given the number Nof items and a real number 0 ≤θ≤1, the item popularities

are deﬁned 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 diﬀerence

among the pivalues becomes larger.

Consider ﬁrst 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 θ, conﬁrming 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 diﬀer 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, ﬂat 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. Eﬃcient 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 ﬂat 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 eﬃcient 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. Eﬃcient 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, Eﬃcient 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. Eﬃcient 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