Data Dissemination and Broadcasting Systems Lesson 06 Adaptive Dispersal Algorithms, Bandwidth allocation and Scheduling Oxford University Press 2007. All rights reserved. 1
Functions of Information dispersal algorithm (IDA) To identify the duplicate or redundant parts of a file To make out the additions, deletions, or repetitions of a part, which can reconstruct the original file Oxford University Press 2007. All rights reserved. 2
Example of using IDA Information consisting of record blocks R0 and R1 in a file is arranged as R0, R1, R0, R0, R0, R1, R1, R0, R1, R0, R1, and R0 in twelve parts. File when broken, AIDA algorithm can find two parts x and y, which correspond to R0 and R1R0 Oxford University Press 2007. All rights reserved. 3
IDA Using IDA, Transmit x, y, 2x, y x, 3y only in five record blocks on a broadcast disk. Oxford University Press 2007. All rights reserved. 4
Adaptive IDA (AIDA) algorithm Aadapts the parts used for transmitting big sized information depending upon the requirements Oxford University Press 2007. All rights reserved. 5
Algorithm based on the IDA or AIDA For data dissemination and push, file F i partitioned into k parts Using algorithm, j parts selected using an IDA, pushed (dispersed, disseminated, or broadcasted) parts) All k parts of F i reconstructed back at the client device from the algorithm Oxford University Press 2007. All rights reserved. 6
Directory-based Data Dissemination Assume that a server gets updates of temperature, weather bulletin, and others for dissemination to the mobile devices All the records related to weather condition can be grouped into a directory Directory can hold a group of data records The records of each directory broadcast using a broadcast disk model Oxford University Press 2007. All rights reserved. 7
Directory-based Data Dissemination Device can select the directory and tune and cache the weather records Oxford University Press 2007. All rights reserved. 8
Advantage of Directory-based Data Dissemination The time, which would otherwise be spent by a device in first selecting and then tuning to the individual records needed by it in case of specific interests, for example, weather records, is saved Oxford University Press 2007. All rights reserved. 9
Bandwidth Bandwidth refers to the number of bits transmitted per second from a server disseminating data by successive pushes Broadcast model bandwidth is t 1 s where t s is time interval between successive bits transmitted from the disk Oxford University Press 2007. All rights reserved. 10
Bandwidth Assume l ii = length of the i th record, R i, on a disk Then N = Ξ l ii where the sum extends over all records R i with i varying from 0 to (n 1) for n records on a disk Each bit in each record is thus repeatedly broadcast at successive time interval N t s = T s Oxford University Press 2007. All rights reserved. 11
Bandwidth T s is the time taken for one revolution of the disk Bandwidth = N = Ξ l ii stored between 0 and 360 divided by time interval T s between repeated transmissions in successive broadcast cycles Oxford University Press 2007. All rights reserved. 12
Bandwidth allocation Means allocation of frequency f = (t s ) 1, to the records in case of multi disks or multilevel disk It also means allocation of revolutionary speed (t s ) 1 to given disk at a given level Oxford University Press 2007. All rights reserved. 13
First Bandwidth Allocation Strategy A record allotted bandwidth in proportion to its length and its frequency of pushes (push rate = record repetition rate = fi) Assume that time interval between two pushes of record R i is denoted by t s (i). Then f i is 1 t s (i) Bandwidth allotted to i th record (R i ) is proportional to l i t s (i), where l i is the record length Oxford University Press 2007. All rights reserved. 14
Adopted allocation strategy and rate of pushes If p i represents the subscription probability and f i, the push rate [reciprocal of t s (i)], then the average wait for i th record (access latency), t lat (i) and average latency, t lat, for all records are given by two equations Oxford University Press 2007. All rights reserved. 15
Square root rule t lat (i) = t s (i) /2 t lat = (1/2) Ξ t s (i) p i, where the summation goes from i = 0 to n 1 for n records Square root rule, states that t lat is minimum when t s (i) is proportional to (l i /p i ) 1/2 Oxford University Press 2007. All rights reserved. 16
Equation for t s (i), p i and l i Assume that present time is t p and t s (i) is a previous instant when i th record R i was broadcast Consider a parameter c(i) given by the equation c(i) = [t p t s (i)] 2 p i l i Oxford University Press 2007. All rights reserved. 17
c(i) It is proportional to the square of the time gap between present instant and previous instant when the R i was scheduled for broadcast. c(i) is useful in deciding whether R i should be scheduled at this instant or later with the help of computations Oxford University Press 2007. All rights reserved. 18
Online Scheduling Algorithm Steps 1. Compute c(i) for all records. 2. Compute c max, where c max is the maximum value among the various values of c(i). Oxford University Press 2007. All rights reserved. 19
Online Scheduling Algorithm 3. Select the record for which c is maximum and call it record q. When more than one records show maximum c, then select any one of them as q 4. Broadcast using a broadcast service q th record Oxford University Press 2007. All rights reserved. 20
Bucket When the number of records is large, the computation of c(i) and cmax, that is, steps 1 and 2 of the online scheduling algorithm, takes a longer time We define a bucket as the smallest logical unit of a broadcast Record can also be considered to be consisting of buckets during a broadcast Oxford University Press 2007. All rights reserved. 21
Bucket Scheduling Algorithm Steps 1. Compute c b (j) for all bucket records (j = 0, 1,, k 1), where k is the number of buckets in the records 2. Compute c b max, where c b max is maximum among the values of c b (j) Oxford University Press 2007. All rights reserved. 22
Bucket Scheduling Algorithm Steps 3. Select the bucket record for which c b is maximum and call it q. When more than one bucket record shows maximum c b, then select any one of them as q. 4. Broadcast the q th bucket record. Oxford University Press 2007. All rights reserved. 23
Off-line Scheduling Algorithm Subscription probability p i and length of record l i, do not change significantly Does not to warrant modifications in schedules of each broadcast cycle Thus continuous online computations involved in steps 1 and 2 are not required to be carried out at the server Oxford University Press 2007. All rights reserved. 24
Off-line Scheduling Algorithm Initial stages require an online scheduling algorithm to compute the schedule steps 1 4 for one broadcast cycle such that each record is broadcast at least once For one broadcast cycle the sequences, repetitions, and schedule of broadcasting of each of the n records, once computed, are used for subsequent off-line schedules Oxford University Press 2007. All rights reserved. 25
Summary Adaptively a file for data dissemination and push is partitioned into k parts and then, j parts are selected such that from the pushed parts, the mobile device can reconstruct all k parts and the file Directory based data dissemination Bandwidth allocation strategy Oxford University Press 2007. All rights reserved. 26
Summary Online scheduling of broadcasts Bucket scheduling Off-line scheduling Oxford University Press 2007. All rights reserved. 27
End of Lesson 06 Adaptive Dispersal Algorithms, Bandwidth allocation and Scheduling Oxford University Press 2007. All rights reserved. 28