12.07.2015 Views

Adaptive Data Broadcasting in a Mobile Computing Environment

Adaptive Data Broadcasting in a Mobile Computing Environment

Adaptive Data Broadcasting in a Mobile Computing Environment

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

358 W.-C. PENG ET AL.Figure 3. The optimal allocation trees under different times.costs of most levels <strong>in</strong> the allocation tree to be smaller thanor equal to average cost. Then, for f<strong>in</strong>e tun<strong>in</strong>g, algorithm DLadjusts the data items between neighbor<strong>in</strong>g levels with the objectiveof m<strong>in</strong>imiz<strong>in</strong>g the total cost of these two neighbor<strong>in</strong>glevels. Note that algorithm DL is greedy <strong>in</strong> nature and is oftime complexity O(K + n). The algorithmic form of algorithmDL is described below.Algorithm DL.Input: The status table (ST) with K rows, where K is thenumber of broadcast disks <strong>in</strong> a broadcast disk array.Output: The result<strong>in</strong>g allocation tree.beg<strong>in</strong>1. for each row i <strong>in</strong> table ST2. ST(i) · D = ST(i) · C − ST(i) · P ;3. ST(i) · G = false; /* ST(i) · G is the flag for casualcheck<strong>in</strong>g*//*Array δ has K − 1 elements which record the costdifference between two neighbor<strong>in</strong>g level*/4. for each element i <strong>in</strong> array δ5. δ[i] =|ST(i) · C − ST(i + 1) · C|6. casual_check<strong>in</strong>g = 0;/*The casual adjustment phase*/7. Choose the row i from table ST such that ST(i) · Dis maximal8. repeat9. beg<strong>in</strong>10. if (i == 1)11. casual_tunn<strong>in</strong>g(i, i + 1);12. else if (i == k)13. casual_tunn<strong>in</strong>g(i, i − 1);14. else15. {choose the row j where j ∈ (i − 1,i+ 1)such that ST(j) · G is false and δ[j] is maximal;16. casual_tunn<strong>in</strong>g(i, j);}17. casual_check<strong>in</strong>g++;18. update table ST and array δ accord<strong>in</strong>gly;19. choose the row i from ST where ST(i) · C is maximaland ST(i) · G is false;20. end21. until casual_check<strong>in</strong>g == K − 1;/*the f<strong>in</strong>e adjustment phase*/22. Construct a priority queue PQ;/*A priority queue is a data structure which returns theelement with the m<strong>in</strong>imal value when one is to removean element from the priority queue*/23. for each element i <strong>in</strong> array δ24. Insert δ[i] <strong>in</strong>to the PQ;25. while (PQ is not empty)26. beg<strong>in</strong>27. remove the element i from PQ;28. if (ST(i) · C ∑ Ki=1 ST(i) · C/K)move the data item <strong>in</strong> the rightest side of level i tolevel j and update ST(i) · C accord<strong>in</strong>gly;endelsebeg<strong>in</strong>while (ST(i) · C> ∑ Ki=1 ST(i) · C/K)move the data item <strong>in</strong> the leftest side of level i tolevel j and update ST(i) · C accord<strong>in</strong>gly;end}Table ST (stand<strong>in</strong>g for status table) is created to record thecost of each level <strong>in</strong> the allocation tree, and the number ofrows <strong>in</strong> table ST is equal to the number of broadcast disks <strong>in</strong>a broadcast disk array (from l<strong>in</strong>e 1 to l<strong>in</strong>e 3). Note that <strong>in</strong>


DYNAMIC LEVELING: ADAPTIVE DATA BROADCASTING 359table ST, thevalueofST(i) · P is the cost of nodes <strong>in</strong> level ipreviously, whereas the value of ST(i) · C is the cost of nodes<strong>in</strong> level i when the latest access frequencies were collected.ST(i) · D stores the cost difference associated with level i,i.e., ST(i) · C − ST(i) · P . Also, ST(i) · G is used to <strong>in</strong>dicatewhether the casual tun<strong>in</strong>g is performed or not. Array δhas K − 1 elements that record the cost difference betweentwo neighbor<strong>in</strong>g levels (from l<strong>in</strong>e 4 to l<strong>in</strong>e 5). As can be seen<strong>in</strong> causal adjustment phase (i.e., from l<strong>in</strong>e 7 to l<strong>in</strong>e 21), algorithmDL makes sure that most levels of the allocation treesatisfy the requirement of the casual adjustment. S<strong>in</strong>ce the casualadjustment <strong>in</strong>tends to let the total cost of allocation treebe evenly allocated to all levels, it is possible that some datanodes would move back and forth between neighbor<strong>in</strong>g levels.For execution efficiency, the number of runs for the casualadjustment is limited to be K − 1. Procedure casual_tun<strong>in</strong>gis developed to move data items <strong>in</strong> level i so as to satisfy thepurpose of the casual adjustment.By exploit<strong>in</strong>g the casual adjustment, data items are roughlyallocated to each level of an allocation tree with the costs ofmost levels are smaller than or equal to average cost. Then,algorithm DL employs the f<strong>in</strong>e adjustment to adjust data itemsbetween neighbor<strong>in</strong>g levels. As can be seen from l<strong>in</strong>e 22 tol<strong>in</strong>e 34 of algorithm DL, neighbor<strong>in</strong>g levels are exam<strong>in</strong>ed onf<strong>in</strong>d<strong>in</strong>g potential movements with the purpose of m<strong>in</strong>imiz<strong>in</strong>gthe total cost of neighbor<strong>in</strong>g levels. Specifically, <strong>in</strong> l<strong>in</strong>e 27 ofalgorithm DL, the sequence of perform<strong>in</strong>g the f<strong>in</strong>e tun<strong>in</strong>g isdeterm<strong>in</strong>ed by identify<strong>in</strong>g the largest cost difference amongthose between neighbor<strong>in</strong>g levels (i.e., the largest value <strong>in</strong> δ).After identify<strong>in</strong>g the neighbor<strong>in</strong>g levels (e.g., level i and leveli + 1) to perform the f<strong>in</strong>e tun<strong>in</strong>g, one should determ<strong>in</strong>e thedata movements between these levels. Note that there are twok<strong>in</strong>ds of movements, i.e., push<strong>in</strong>g up and poll<strong>in</strong>g down. Judiciouslyapply<strong>in</strong>g these movements is able to reduce the totalcost of these two neighbor<strong>in</strong>g levels. Clearly, if the cost oflevel i is smaller than level i + 1, we should move data itemsfrom level i + 1toleveli and vice versa. After decid<strong>in</strong>g thedirection of data movements, we should determ<strong>in</strong>e the numberof data items to move among levels <strong>in</strong> an allocation tree.Explicitly, we develope procedure push_up and pull_down todeterm<strong>in</strong>e such a number. To facilitate the presentation ofalgorithm DL, the procedures of push_up and pull_down aredescribed <strong>in</strong> detail later. From l<strong>in</strong>e 26 to l<strong>in</strong>e 34, algorithmDL adjusts data items <strong>in</strong> neighbor<strong>in</strong>g levels iteratively withthe objective of m<strong>in</strong>imiz<strong>in</strong>g the total cost of neighbor<strong>in</strong>g levelsuntil there is no further adjustment required (i.e., queuePQ is empty). As such, the allocation tree is adjusted so as tom<strong>in</strong>imize the total cost of the allocation tree.Once we identify the direction of data movements to perform,we should determ<strong>in</strong>e the number of data items to moveamong levels. Suppose that data items <strong>in</strong> each level of an allocationtree are sorted accord<strong>in</strong>g to the descend<strong>in</strong>g order of accessfrequencies. In order to evaluate the cost reduction by themovement of push<strong>in</strong>g up, we have the follow<strong>in</strong>g def<strong>in</strong>ition.Def<strong>in</strong>ition 2. Suppose that level i has k − i + 1 nodes,R i ,R i+1 ,...,R k and level i + 1hasj − k data nodes,R k+1 ,R k+2 ,...,R j . The reduction ga<strong>in</strong> achieved by push<strong>in</strong>gp nodes (i.e., R k+1 ,R k+2 ,...,R k+p )uptoleveli, denotedby u(p), can be formulated as u(p) = (C i,k + C k+1,j ) −(C i,k+p + C k+p+1,j ).In light of def<strong>in</strong>ition 2, we devise a procedure push_up toidentify the group of nodes <strong>in</strong> level i + 1tobemovedupwardto level i so as to maximize the reduction ga<strong>in</strong> betweenthese two neighbor<strong>in</strong>g levels. Figure 4 shows the scenario ofpush<strong>in</strong>g up.Procedure push_up(level i, level i + 1){Determ<strong>in</strong>e p ∗ such that u(p ∗ ) = max 1pj−k {u(p)};/*determ<strong>in</strong>e the maximal value of u(p) when p variesfrom 1 to j − k*/if u(p ∗ )>0push nodes R k+1 ,R k+2 ,...,R k+p ∗ to level i <strong>in</strong> the tree;elsep ∗ =−1; /*no movement is performed s<strong>in</strong>ce there isno cost-effective movement*/}Similar to the operation of push<strong>in</strong>g up, we have def<strong>in</strong>ition 3and procedure pull_down below to evaluate the group of nodes<strong>in</strong> level i to be moved downward to level i + 1 with the purposeof reduc<strong>in</strong>g the total cost of these two neighbor<strong>in</strong>g levels.Figure 5 illustrates the scenario of pull<strong>in</strong>g down.Def<strong>in</strong>ition 3. Suppose that level i has k − i + 1 data nodes,R i ,R i+1 ,...,R k and level i + 1hasj − k data nodes,R k+1 ,R k+2 ,...,R j . The reduction ga<strong>in</strong> achieved by pull<strong>in</strong>gp nodes (i.e., R k−p+1 ,R k−p+2 ,...,R k )downtoleveli + 1,denoted by d(p), can be formulated as d(p) = (C i,k +C k+1,j ) − (C i,k−p + C k−p+1,j ).Figure 4. A scenario of push<strong>in</strong>g up.Figure 5. A scenario of pull<strong>in</strong>g down.


360 W.-C. PENG ET AL.Table 3The profile of an illustrative example.Time R 1 R 2 R 3 R 4 R 5 R 6 R 7 R 8 R 9 R 10 R 11t 1 0.126 0.123 0.116 0.11 0.1 0.095 0.0869 0.0777 0.0673 0.055 0.0388t 2 0.276 0.239 0.194 0.102 0.08 0.05 0.0298 0.0153 0.0064 0.0019 0.0002Procedure pull_down(level i, level i + 1){Determ<strong>in</strong>e p ∗ such that d(p ∗ ) = max 1pk−i+1 {d(p)};/*determ<strong>in</strong>e the maximal value of d(p) when p variesfrom 1 to k − i + 1*/if d(p ∗ )>0pull nodes R k−p ∗ +1,R k−p ∗ +2,...,R k down level i + 1<strong>in</strong> the tree;elsep ∗ =−1; /*no movement is performed s<strong>in</strong>ce there isno cost-effective movement*/}3.2. An example execution scenario of algorithm DLConsider the profile <strong>in</strong> table 3 where the number of data itemsn is 11 and the number of broadcast disks is 4. The <strong>in</strong>itial allocationtree is shown <strong>in</strong> figure 6(a), where the allocation treeis generated accord<strong>in</strong>g to the access frequencies at t 1 . Thevalues <strong>in</strong> table ST and their changes made <strong>in</strong> accordance withthe execution of algorithm DL are shown <strong>in</strong> table 4. First, algorithmDL chooses the maximal ST(i) · D to start the casualadjustment. In this example, level 1 is chosen s<strong>in</strong>ce ST(1) · Dis the largest among all levels. As can be seen <strong>in</strong> table 4(a),s<strong>in</strong>ce the cost of level 1 is larger than the average cost of alllevels (i.e., ST(1) · C = 0.2575 > ∑ 4i=1 ST(i) · C/4 =(0.2575 + 0.376 + 0.0951 + 0.0085)/4 = 0.184275), dataitems <strong>in</strong> level 1 should be pulled down to level 2 to meetthe criterion of the casual adjustment. Thus, data item R 2is moved to level 2 and table ST is updated accord<strong>in</strong>gly. Follow<strong>in</strong>gthe same procedure, algorithm DL performs procedurecasual_tun<strong>in</strong>g iteratively until casual_check<strong>in</strong>g equalsK − 1(i.e.,4− 1 = 3). Table 4(b) shows the values oftable ST and the correspond<strong>in</strong>g values <strong>in</strong> array δ after the casualadjustment. The configuration of the allocation tree <strong>in</strong>figure 6(a) becomes the one shown <strong>in</strong> figure 6(b). Then, <strong>in</strong>the phase of the f<strong>in</strong>e adjustment, each element of array δ withits value is <strong>in</strong>serted <strong>in</strong>to queue PQ and algorithm DL performsthe f<strong>in</strong>e tun<strong>in</strong>g between neighbor<strong>in</strong>g levels. From table 4(b),s<strong>in</strong>ce δ[3] is the largest, the f<strong>in</strong>e adjustment will be executedbetween level 3 and level 4. As ST(3) · C is smaller thanST(4) · C, those data items <strong>in</strong> level 4 should be pushed up tolevel 3. It can be verified that data item R 5 should be pushedup to level 3 so as to reduce the total cost of level 3 and level 4.Table 4(c) shows the values of table ST and the correspond<strong>in</strong>gvalues <strong>in</strong> array δ after the f<strong>in</strong>e tun<strong>in</strong>g is performed betweenlevel 3 and level 4. Figure 6(c) shows the configuration ofthe allocation tree after the first f<strong>in</strong>e tun<strong>in</strong>g. From table 4(c),the next f<strong>in</strong>e tun<strong>in</strong>g is performed between level 2 and level 3.Follow<strong>in</strong>g the f<strong>in</strong>e adjustment, algorithm DL stops when thereis no further data movement required. Table 4(d) shows theTable 4An execution scenario under algorithm DL. (a) Run 1 of algorithm DL,(b) table ST after the phase of the casual adjustment, (c) table ST after thefirst f<strong>in</strong>e tun<strong>in</strong>g is performed, (d) the f<strong>in</strong>al result of table ST.(a)Level i ST(i) · P ST(i) · C ST(i) · D ST(i) · G1 0.1245 0.2575 0.133 ∗ false2 0.326 0.376 0.05 false3 0.25 0.0951 −0.1549 false4 0.1611 0.0085 −0.1526 falseLevel i ST(i) · P ST(i) · C ST(i) · D ST(i) · G δ(b)1 0.1245 0 −0.1245 true 02 0.326 0 −0.326 true 0.1483 0.25 0.148 −0.102 true 0.4028 ∗4 0.1611 0.5508 0.3897 falseLevel i ST(i) · P ST(i) · C ST(i) · D ST(i) · G δ(c)1 0.1245 0 −0.1245 true 02 0.326 0 −0.326 true 0.376 ∗3 0.25 0.376 0.126 true 0.1174 0.1611 0.259 0.0979 false(d)Level i ST(i) · P ST(i) · C ST(i) · D ST(i) · G1 0.1245 0 −0.1245 true2 0.326 0.2165 −0.1095 true3 0.25 0.252 0.002 true4 0.1611 0.1072 −0.0539 falsevalues of table ST after perform<strong>in</strong>g algorithm DL. The f<strong>in</strong>alallocation tree is shown <strong>in</strong> figure 6(d). Note that <strong>in</strong> this casethe f<strong>in</strong>al allocation tree happens to be the optimal one shown<strong>in</strong> figure 3(c).4. Performance evaluationIn order to evaluate the performance of algorithm DL, wehave implemented a simulation model of the broadcast environment.Specifically, the simulation model is described <strong>in</strong>section 4.1. Then, we exam<strong>in</strong>e the impact of adjust<strong>in</strong>g broadcastprograms <strong>in</strong> section 4.2. Performance of algorithm DL isanalyzed <strong>in</strong> section 4.3. In section 4.4, algorithm DL and thework <strong>in</strong> [14] is comparatively analyzed.4.1. Simulation modelTable 5 summarizes the def<strong>in</strong>itions for some primary simulationparameters. The number of data items to be broadcasted


DYNAMIC LEVELING: ADAPTIVE DATA BROADCASTING 361Figure 6. An execution scenario of algorithm DL: (a)–(c) the adjustment of the allocation tree, and (d) the result<strong>in</strong>g allocation tree.NotationnKθfno_adjustOPTVF KTable 5The parameters used <strong>in</strong> the simulation.Def<strong>in</strong>itiontotal number of data items to be broadcastnumber of broadcast disks <strong>in</strong> a broadcast disk arrayZipf parameterfluctuation factorscheme which does not adjust the broadcast programscheme to generate the optimal broadcast programscheme to generate the broadcast programs statically<strong>in</strong> a broadcast disk array is denoted by n and the number ofbroadcast disks <strong>in</strong> a broadcast disk array is K. The access frequenciesof broadcast data items are modelled by the Zipf distribution.Let P r (R i ) = ((N − i)/N) θ / ∑ nj=1 ((N − j)/N) θ ,where θ is the parameter of Zipf distribution [5]. It can be verifiedthat the access frequencies become <strong>in</strong>creas<strong>in</strong>gly skewedas the value of θ <strong>in</strong>creases. Specifically, the <strong>in</strong>itial Zipf parameter,denoted by θ 0 , is set to 0.5. θ current is the Zipf parameterfor the current access frequencies, whereas θ previousis the Zipf parameter collected last. The number of f calledthe fluctuation factor is used to determ<strong>in</strong>e whether algorithmDL will be executed or not. If the difference between θ currentand θ previous is larger than the value of f , DL will be executedto adjust the broadcast program <strong>in</strong> order to reta<strong>in</strong> theperformance. For comparison purposes, a scheme, no_adjust,which does not adjust the broadcast program <strong>in</strong> response tothe change of access frequencies, is implemented. To obta<strong>in</strong>the optimal solutions for comparison, we implementedscheme OPT by us<strong>in</strong>g the technique of branch and bound[11]. For <strong>in</strong>terest of brevity, the implementation details ofOPT are omitted <strong>in</strong> this paper. Notice that though schemeOPT is able to f<strong>in</strong>d the optimal broadcast program, the executiontime of OPT is prohibitively large due to its exponentialtime complexity. For comparison purposes, we also implementedscheme VF K , which is able to generate broadcastprogram with the number of broadcast disks and the numberof data items given.4.2. The impact of adjust<strong>in</strong>g broadcast programsTo show the advantage of adjust<strong>in</strong>g broadcast programs whenthe access frequencies vary, we set the value of n to 50, thevalue of K to 4 and the value of f to 1. The expected delays ofdata items under no_adjust, DLandOPT are exam<strong>in</strong>ed withthe value of θ varied. Without loss of generality, assume thatall the data items are of the same size which is used as one unitof wait<strong>in</strong>g time. The <strong>in</strong>itial broadcast program is generated byscheme OPT. The result<strong>in</strong>g expected delays of data items byrunn<strong>in</strong>g no_adjust,DLandOPT are shown <strong>in</strong> figure 7. It canbe seen from figure 7 that the access frequencies become <strong>in</strong>creas<strong>in</strong>glyskewed as the value of θ <strong>in</strong>creases and the averageexpected delay of DL decreases s<strong>in</strong>ce the broadcast programis properly adjusted by DL <strong>in</strong> accordance with the change ofaccess frequencies of data items. Note that the difference betweenexpected delay of DL and that of no_adjust becomeslarger as the θ <strong>in</strong>creases, <strong>in</strong>dicat<strong>in</strong>g the necessity of adjust<strong>in</strong>gbroadcast programs while the access frequencies of dataitems vary. It is worth mention<strong>in</strong>g that though algorithm DLis applied <strong>in</strong> 5 times, the expected delays of DL and OPT arestill very close <strong>in</strong> figure 7, show<strong>in</strong>g the good quality of configurationsadjusted by algorithm DL.


362 W.-C. PENG ET AL.Figure 7. The average expected delays of no_adjust, DLandOPT with thevalue of Zipf parameter varied.Figure 8. The average expected delays of OPT and DL with the value of fvaried.4.3. The performance of algorithm DLWe now <strong>in</strong>vestigate the quality of solutions obta<strong>in</strong>ed by DLand OPT. Note that algorithm DL will dynamically adjust thebroadcast program while the Zipf parameter varies. In orderto evaluate the impact of <strong>in</strong>creas<strong>in</strong>g the value of f ,wesetthe value of n to 50 and the value of K to 4. Figure 8 showsthe performance results of OPT and DL. As can be seen <strong>in</strong>figure 8, the difference between expected delay of DL and thatof OPT is almost negligible, show<strong>in</strong>g the very high quality ofthe solutions obta<strong>in</strong>ed by algorithm DL. Note that as the valueof f <strong>in</strong>creases, the solutions obta<strong>in</strong>ed by algorithm DL are allvery close to the optimal ones, <strong>in</strong>dicat<strong>in</strong>g the robustness <strong>in</strong>algorithm DL.Next, the experiments of vary<strong>in</strong>g the value of K for OPTand DL are conducted where we set the value of n to be 50and the value of f to be 2.5. Figure 9 shows the averageexpected delays of OPT and DL with the value of K varied.As the value of K <strong>in</strong>creases, the expected delays of OPTand DL decrease. This agrees with our <strong>in</strong>tuition s<strong>in</strong>ce as thenumber of broadcast channels <strong>in</strong>creases, the number of dataitems <strong>in</strong> each broadcast channel decreases, thereby reduc<strong>in</strong>gthe expected delay of data items. Notice that the differencebetween the expected delay of DL and that of OPT is verysmall, aga<strong>in</strong> show<strong>in</strong>g the good quality of solutions obta<strong>in</strong>edby DL. The performance of DL with the value of n varied isexam<strong>in</strong>ed where we set the value of K to 5 and the value off to 2.5. The average expected delays of OPT and DL withthe value of n varied are shown <strong>in</strong> figure 10. As the numberof data items to be broadcast <strong>in</strong>creases, the expected delaysof data items resulted by OPT and DL <strong>in</strong>crease l<strong>in</strong>early as weanticipate. Also, the difference between the expected delaysresulted by OPT and DL is negligible.4.4. Comparative analysis for VF K and DLIn [14], VF K is designed for the situation where the data accessfrequencies and the number of broadcast channels aregiven. The experimental results show that the broadcast programgenerated by VF K is of very high quality. However,Figure 9. The average expected delays of OPT and DL with the value of Kvaried.Figure 10. The average expected delays of OPT and DL with the value of nvaried.<strong>in</strong> practice, the data access frequencies may vary as time advances.It is important for broadcast programs to adapt tothe change of the data access frequencies so as to reta<strong>in</strong> theperformance of data broadcast<strong>in</strong>g. In this section, our experimentalresults show that algorithm DL is more efficient toachieve new configuration without re-execut<strong>in</strong>g VF K .To evaluate the impact of <strong>in</strong>creas<strong>in</strong>g the value of n, wesetthe value of K to 15 and the value of f to one. Figure 11shows the execution times <strong>in</strong>curred by VF and DL. In fig-


DYNAMIC LEVELING: ADAPTIVE DATA BROADCASTING 363program generated by VF K will not be adjusted accord<strong>in</strong>g tothe change of access frequencies. Thus, the performance degradesas the access frequencies vary, justify<strong>in</strong>g the necessityof algorithm DL.5. ConclusionsFigure 11. The execution times <strong>in</strong>curred by VF K and DL with the value of nvaried.We explored <strong>in</strong> this paper the problem of adjust<strong>in</strong>g broadcastprograms to cope with the data access frequencies varied. Byexploit<strong>in</strong>g the features of the casual adjustment and the f<strong>in</strong>eadjustment, we developed a heuristic algorithm DL to adjustbroadcast programs when the access frequencies of data itemschange. Performance of algorithm DL was analyzed and asystem simulator was developed to validate our results. Sensitivityanalysis on several parameters, <strong>in</strong>clud<strong>in</strong>g the numberof data items, the number of broadcast disks, and the variationof access frequencies, was conducted. It was shown byour simulation results that the broadcast programs achievedby algorithm DL are of very high quality and are <strong>in</strong> fact veryclose to the optimal ones. This feature and the efficiency of algorithmDL justify the practical importance of algorithm DL.ReferencesFigure 12. The execution times <strong>in</strong>curred by VF K and DL with the value ofK varied.ure 11, the execution times <strong>in</strong>curred by VF K andbyDL<strong>in</strong>creaseas the number of data items <strong>in</strong>creases. Note that theexecution time <strong>in</strong>curred by VF K is larger than that <strong>in</strong>curredby DL, show<strong>in</strong>g that DL is able to achieve the new configurationmore efficiently when the data access frequencies vary.It is also observed that the curve of VF K <strong>in</strong> figure 11 is notas smooth as that of DL due to the lack of dynamic allocationadjustment of VF K .Next, we exam<strong>in</strong>e the impact of <strong>in</strong>creas<strong>in</strong>g the value of K.Without loss of generality, we set the value of n to 5 and thevalue of f to one. The execution times <strong>in</strong>curred by VF K andDL with the value of K varied are shown <strong>in</strong> figure 12. Noticethat when the value of K is smaller than 5, the executiontime <strong>in</strong>curred by VF K is smaller than that <strong>in</strong>curred by DL.However, as the value of K <strong>in</strong>creases, the execution time <strong>in</strong>curredby VF K is significantly larger than that <strong>in</strong>curred byDL. This <strong>in</strong>dicates that when the value of K <strong>in</strong>creases, theadvantage of algorithm DL over the approach of re-execut<strong>in</strong>galgorithm VF K <strong>in</strong>creases. In all, algorithm DL is able notonly to adjust the broadcast program efficiently <strong>in</strong> responseto the change of access frequencies of data items but also toproduce the solutions of very high quality. Note that the capabilityof adjust<strong>in</strong>g broadcast programs dynamically should beviewed as an enhanced feature rather than a limitation. In fact,when the value of f is set to be <strong>in</strong>f<strong>in</strong>ite, the <strong>in</strong>itial broadcast[1] S. Acharya, R. Alonso, M. Frankl<strong>in</strong> and S. Zdonik, Broadcast disks:<strong>Data</strong> management for asymmetric communication environments, <strong>in</strong>:Proceed<strong>in</strong>gs of ACM SIGMOD (March 1995) pp. 199–210.[2] D. Barbara, <strong>Mobile</strong> comput<strong>in</strong>g and databases – a survey, IEEE Transactionson Knowledge and <strong>Data</strong> Eng<strong>in</strong>eer<strong>in</strong>g 11(1) (January/February1999) 108–117.[3] M.-S. Chen, P.S. Yu and K.-L. Wu, Indexed sequential data broadcast<strong>in</strong>g<strong>in</strong> wireless mobile comput<strong>in</strong>g, <strong>in</strong>: 17th IEEE International Conferenceon Distributed Comput<strong>in</strong>g Systems (1997) pp. 124–131.[4] M.H. Dunham, <strong>Mobile</strong> comput<strong>in</strong>g and databases, Tutorial of InternationalConference on <strong>Data</strong> Eng<strong>in</strong>eer<strong>in</strong>g (February 1998).[5] J. Gray, P. Sundaresan, S. Englert, K. Baclawski and P. J. We<strong>in</strong>berger,Quickly generat<strong>in</strong>g billion-record synthetic databases, <strong>in</strong>: Proceed<strong>in</strong>gsof ACM SIGMOD ( March 1994) pp. 243–252.[6] Q.L. Hu, D.L. Lee and W.-C. Lee, Dynamic data delivery <strong>in</strong> wirelesscommunication environments, <strong>in</strong>: Proceed<strong>in</strong>gs of International Workshopon <strong>Mobile</strong> <strong>Data</strong> Access (November 1998) pp. 218–229.[7] Q. Hu, D.L. Lee and W.-C. Lee, Performance evaluation of a wirelesshierarchical data dissem<strong>in</strong>ation system, <strong>in</strong>: Proceed<strong>in</strong>gs of the Fifth AnnualInternational Conference on <strong>Mobile</strong> Comput<strong>in</strong>g and Network<strong>in</strong>g(1999) pp. 163–173.[8] Q. Hu, W.-C. Lee and D.L. Lee, Index<strong>in</strong>g techniques for wireless databroadcast under data cluster<strong>in</strong>g and schedul<strong>in</strong>g, <strong>in</strong>: Proceed<strong>in</strong>gs of theEighth International Conference on Information and Knowledge Management(November 1999) pp. 351–358.[9] T. Imiel<strong>in</strong>ski, S. Viswanathan and B. Badr<strong>in</strong>ath, <strong>Data</strong> on air: organizationand access, IEEE Transactions on Knowledge and <strong>Data</strong> Eng<strong>in</strong>eer<strong>in</strong>g9(3) (June 1997) 353–372.[10] J. J<strong>in</strong>g, A. Helal and A. Elmagarmid, Client–server comput<strong>in</strong>g <strong>in</strong> mobileenvironments, ACM Comput<strong>in</strong>g Surveys 31(2) (June 1999) 117–157.[11] R.C.T. Lee, R.C. Chang, S.S. Tseng and Y.T. Tsai, Introduction to theDesign and Analysis of Algorithms (Unalis Press).[12] W.-C. Lee and D.-L. Lee, Signature cach<strong>in</strong>g techniques for <strong>in</strong>formationfilter<strong>in</strong>g <strong>in</strong> mobile enviroments, ACM Journal of Wireless Networks5(l) (January 1999) 57–67.


364 W.-C. PENG ET AL.[13] S.-C. Lo and A.L.P. Chen, Optimal <strong>in</strong>dex and data allocation <strong>in</strong> multiplebroadcast channels, <strong>in</strong>: Proceed<strong>in</strong>gs of the 16th International Conferenceon <strong>Data</strong> Eng<strong>in</strong>eer<strong>in</strong>g (March 2000) pp. 293–302.[14] W.-C. Peng and M.-S. Chen, Dynamic generation of data broadcast<strong>in</strong>gprograms for a broadcast disk array <strong>in</strong> a mobile comput<strong>in</strong>g environment,<strong>in</strong>: Proceed<strong>in</strong>gs of the ACM 9th International Conference onInformation and Knowledge Management (November 2000) pp. 38–45.[15] E. Pitoura and P.K. Chrysanthis, Exploit<strong>in</strong>g versions for handl<strong>in</strong>g updates<strong>in</strong> broadcast disks, <strong>in</strong>: Proceed<strong>in</strong>gs of 25th International Conferenceon Very Large <strong>Data</strong> Bases (September 1999) pp. 114–125.[16] K. Prabhakara, K.A. Hua, and J.-H. Oh, Multi-level multi-channel aircache designs for broadcast<strong>in</strong>g <strong>in</strong> a mobile environment, <strong>in</strong>: Proceed<strong>in</strong>gsof the 16th International Conference on <strong>Data</strong> Eng<strong>in</strong>eer<strong>in</strong>g (February2000) pp. 167–176.[17] N. Shivakumar and S. Venkatasubramanian, Energy efficient <strong>in</strong>dex<strong>in</strong>gfor <strong>in</strong>formation dissem<strong>in</strong>ation <strong>in</strong> wireless systems, ACM Journal ofWireless Networks and Applications 1(4) (January 1996) 433–446.[18] K. Stathatos, N. Roussopoulos and J.S. Baras, <strong>Adaptive</strong> data broadcast<strong>in</strong> hybrid networks, <strong>in</strong>: Proceed<strong>in</strong>gs of the 23rd International Conferenceon Vary Large <strong>Data</strong> Bases (August 1997) pp. 326–335.[19] C.-J. Su and L. Tassiulas, Broadcast schedul<strong>in</strong>g for <strong>in</strong>formation distribution,<strong>in</strong>: Proceed<strong>in</strong>gs of the 6th IEEE International Conference onInformation and Communication (April 1997) pp. 109–117.[20] C.-J. Su and L. Tassiulas, Jo<strong>in</strong>t broadcast schedul<strong>in</strong>g and user’s cachemanagement for efficient <strong>in</strong>formation delivery, <strong>in</strong>: Proceed<strong>in</strong>gs of the4th ACM/IEEE International Conference on <strong>Mobile</strong> Comput<strong>in</strong>g andNetwork<strong>in</strong>g (October 1998) pp. 33–42.[21] WAP application <strong>in</strong> Nokia, http://www.nokia.com/corporate/wap/future.html[22] WAP application <strong>in</strong> Unwired Planet, Inc., http://phone.com[23] J.X. Yu, T. Sakata and K. Tan, Statistical estimation of access frequencies<strong>in</strong> data broadcast<strong>in</strong>g environments, ACM/Baltzer Wireless Networks6(2) (March 2000) 89–98.Wen-Chih Peng biography and photo not available at time of publication.E-mail: wcpeng@arbor.ee.ntu.edu.twJiun-Long Huang biography and photo not available at time of publication.E-mail: jlhuang@arbor.ee.ntu.edu.twM<strong>in</strong>g-Syan Chen biography and photo not available at time of publication.E-mail: mschen@cc.ee.ntu.edu.tw

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!