Close
About
FAQ
Home
Collections
Login
USC Login
Register
0
Selected
Invert selection
Deselect all
Deselect all
Click here to refresh results
Click here to refresh results
USC
/
Digital Library
/
University of Southern California Dissertations and Theses
/
Domical: a new cooperative caching framework for streaming media in wireless home networks
(USC Thesis Other)
Domical: a new cooperative caching framework for streaming media in wireless home networks
PDF
Download
Share
Open document
Flip pages
Contact Us
Contact Us
Copy asset link
Request this asset
Transcript (if available)
Content
DOMICAL:ANEWCOOPERATIVECACHINGFRAMEWORKFOR STREAMINGMEDIAINWIRELESSHOMENETWORKS by ShahinShayandeh ADissertationPresentedtothe FACULTYOFTHEUSCGRADUATESCHOOL UNIVERSITYOFSOUTHERNCALIFORNIA InPartialFulfillmentofthe RequirementsfortheDegree DOCTOROFPHILOSOPHY (COMPUTERSCIENCE) May2010 Copyright 2010 ShahinShayandeh Epigraph “Thesignificantproblemswefacecannotbesolvedatthesamelevelofthinkingwewere at when we createdthem.” –AlbertEinstein ii Dedication to mymother,Shahin, whoshowedmethetruemeaningof love; tomyfather,Manouchehr, whotaughtmethemeaningof perseverance. iii Acknowledgments Iwouldliketothankallthepeoplewhohavehelpedandinspiredmeduringmydoctoral study. I especially want to thank my advisor, Prof. Shahram Ghandeharizadeh, for his invaluable supervision during my research and study at USC. His perpetual energy and enthusiasm in research have always motivated all his advisees, including me. In addition, he has been accessible all the time and willing to help his students with their research. Asaresult,researchlifebecamesmoothandrewardingforme. My thanks go out as well to the other members of my committee, Prof. Ramesh Govindan, Prof. C.C.-Jay Kuo, Prof. Cyrus Shahabi, and Prof. David Kempe without whoseknowledgeandassistance,thisworkwouldnothavebeensuccessful. My deepest gratitude goes to my family for their love and support throughout my life; this dissertation was simply impossible without them. I am indebted to my father, Manouchehr, for his endless care and love. I cannot ask for more from my mother, Shahin, as she is simply perfect. I have no suitable word that can fully describe her everlastinglovetome. IrememberherconstantsupportwhenIencountereddifficulties iv from my childhood to present. All the love from my parents, complemented with true friendshipofmylittlesister,Arta,madethisdreamareality. Iwouldalsoliketoconveythankstomycousin,SamKavusi,andhisbelovedwife, ArmitaAbadian,whohavealwaysbeenthereforme. TomyDBLAB-mates,Shyam,Esam,Andrew,andSumita,thanksforallthelaughs, games,andwebsurfingtimewasters,withoutwhichthelifeofagraduatestudentwould feelmorelike“realwork!” I have had so many friends in my life whom I shared so many good moments. I cannot mention all of them but I would like to thank Mina Rohani, Mahyar Salek, and Parham Ghods for their continuous unconditional friendship, support, and help; Majid Yahyaee, Shirin Eghtesadi, Siavash Gholami, and Mohammad Ghasemazar for their support. This research is supported in part by the Office of Naval Research under award number N00014-09-1-0721; in part by a cash gift from MySpace.com; and in part by theNationalScienceFoundationundergrantnumberIIS-0307908. v TableofContents Epigraph ii Dedication iii Acknowledgments iv ListofTables viii ListofFigures ix Abstract xii Chapter1: Introduction 1 Chapter2: RelatedWorks 9 Chapter3: ProblemDefinitionandSimulationModel 14 3.1 Problemdefinition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 3.2 Simulationmodel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 Chapter4: GreedyCaching 19 4.1 Anoff-linetechnique: Simple . . . . . . . . . . . . . . . . . . . . . . . 19 4.2 On-linetechniques: LRU-KandGreedyDual . . . . . . . . . . . . . . . 20 4.3 Acomparisonofon-lineandoff-linecachingtechniques . . . . . . . . 21 4.4 Enhancedgreedycachingtechniques . . . . . . . . . . . . . . . . . . . 25 4.4.1 DynamicSimple,DYNSimple . . . . . . . . . . . . . . . . . . 26 4.4.2 IntervalbasedGreedyDual(IGD) . . . . . . . . . . . . . . . . 28 4.4.3 LRU-SK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 4.4.4 Acomparison . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 Chapter5: CooperativeCaching: Domical 33 5.1 Bandwidthcontentionratio(ζ) . . . . . . . . . . . . . . . . . . . . . . 35 5.2 Domicalcooperativecaching . . . . . . . . . . . . . . . . . . . . . . . 36 vi 5.3 AvariationofDomical: Cont-Coop . . . . . . . . . . . . . . . . . . . 39 5.4 Implementationinadistributedmanner . . . . . . . . . . . . . . . . . 39 5.5 Acomparison . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 5.6 Heterogeneityofstorage . . . . . . . . . . . . . . . . . . . . . . . . . 45 5.7 Effectofα . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 Chapter6: AlternativeTopologies 53 6.1 Startopology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 6.2 Othersynthetictopologies . . . . . . . . . . . . . . . . . . . . . . . . 59 Chapter7: AComparisonofDomicalwithAnAlternativeCooperativeCaching Technique 63 7.1 DCOORD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 7.2 Performanceevaluation . . . . . . . . . . . . . . . . . . . . . . . . . . 64 7.2.1 Acomparison . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 7.2.2 AcomparisonofDomicalVsDCOORD . . . . . . . . . . . . . 68 Chapter8: GranularityofData: Clip-basedorBlock-basedReplacement? 74 8.1 1-GBR:GreedyBlockReplacement . . . . . . . . . . . . . . . . . . . 75 8.2 DBR:DomicalBlockReplacement . . . . . . . . . . . . . . . . . . . . 77 8.3 IntPrefixandFragPrefix: PrefixvariationsofDBR . . . . . . . . . . . . 78 8.4 Acomparison . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 Chapter9: BlockReplacementTechniques 90 9.1 Segment-basedreplacement . . . . . . . . . . . . . . . . . . . . . . . . 90 9.2 Partialbandwidth-basedreplacementpolicy . . . . . . . . . . . . . . . 92 9.3 Acomparison . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 9.3.1 AcomparisonofalternativePartialBandwidth-based(PB)replace- menttechniques . . . . . . . . . . . . . . . . . . . . . . . . . . 96 9.3.2 AcomparisonofPBWithUW . . . . . . . . . . . . . . . . . . 100 9.3.3 AcomparisonofUWwithsegment-basedreplacement . . . . . 102 Chapter10:ConclusionandFutureResearch 106 References 109 vii ListofTables 6.1 Averagestartuplatency(Seconds),Startopology . . . . . . . . . . . . 59 7.1 AverageStartuplatencyofDomicalandDCOORDwithdifferentdistri- butionsofaccessandα values,UK0.5X, S T S WS = 0.25. . . . . . . . . . 70 8.1 AveragestartuplatencywithDBR,IntPrefixandFragPrefix. . . . . . . 86 9.1 TermsusedforvariationsofPBandtheirdefinitions . . . . . . . . . . . 92 9.2 Averagestartuplatency(Seconds),µ = 0.73. . . . . . . . . . . . . . . 96 9.3 Averagestartuplatency(Seconds)ofDomical-UWandDomical-PB . . 99 9.4 Averagestartuplatency(Seconds),µ = 0.73. . . . . . . . . . . . . . . 101 9.5 Average startup latency (Seconds), Heterogeneous mix of media, µ = 0.73. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 viii ListofFigures 1.1 Networktopologies. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 4.1 GreedyDualpseudo-code . . . . . . . . . . . . . . . . . . . . . . . . . 21 4.2 AcomparisonofSimple,LRU-2,GreedyDualandRandom. . . . . . . 23 4.3 LRU-2providesahighercachehitratethanGreedyDualforarepository ofequi-sizedclips. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 4.4 DynamicSimple(DYNSimple)pseudo-code . . . . . . . . . . . . . . . 26 4.5 AcomparisonofDYNSimple,IGD,andLRU-SK. . . . . . . . . . . . . 29 4.6 Cachehitratewithchangingaccesspatterns, S T S WS =0.125. . . . . . . . . 31 5.1 BandwidthcontentionratioofN i ,ζ(N i ). . . . . . . . . . . . . . . . . . 36 5.2 Arealhomenetwork, S T S WS = 1,µ = 0.73. . . . . . . . . . . . . . . . . 44 5.3 Percentageimprovementinstartuplatency( δ Cont−Coop ¡δ Domical δ Cont−Coop ),realdeploy- menttopology. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 5.4 Percentageimprovementinaveragestartuplatency,UK1X . . . . . . . 45 5.5 DistributionofclipsacrossdevicesinthenetworkwithDomical ¡s ,µ = 0.73, S T S WS = 0.308,S N 1 =S N 3 =S N 5 = 0. . . . . . . . . . . . . . . . 46 5.6 Distribution of clips across devices in the network with Domical, µ = 0.73, S T S WS = 0.308,S N 1 =S N 3 =S N 5 = 0. . . . . . . . . . . . . . . . 46 5.7 DistributionofclipsacrossdevicesinthenetworkwithDomical ¡s ,µ = 0.73, S T S WS = 0.75. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 5.8 Distribution of clips across devices in the network with Domical, µ = 0.73, S T S WS = 0.75. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 5.9 Effectofα,UK1X, S T S WS = 0.75,andµ = 0.73 . . . . . . . . . . . . . 50 ix 6.1 Alternativetopologies. . . . . . . . . . . . . . . . . . . . . . . . . . . 53 6.2 GreedyVs. Domical,UK1X andµ = 0.73 . . . . . . . . . . . . . . . 56 6.3 Percentage improvement in average startup latency with Domical, *0 , UK1X,BW L I = 11Mbps,andµ = 0.73 . . . . . . . . . . . . . . . . 57 6.4 Percentageimprovementinaveragestartuplatency,Kytetopology,UK1X 60 6.5 Percentageimprovementinstartuplatency,Dagger,UK1X,andµ = 0.73 61 6.6 Percentage improvement in startup latency, String topology, BW = 5.5Mbps,andµ = 0.73 . . . . . . . . . . . . . . . . . . . . . . . . . . 61 7.1 DCOORDClipReplacement . . . . . . . . . . . . . . . . . . . . . . . 65 7.2 Differentαvalues,DomicalVsDCOORD,UK0.5X,µ = 0.25, S T S WS = 0.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 7.3 DomicalVs. DCOORDwithaheterogeneousdatabase . . . . . . . . . 69 7.4 DomicalVs. DCOORD,UK1X . . . . . . . . . . . . . . . . . . . . . 72 8.1 1-GBR:Block-basedgreedycachingalgorithm . . . . . . . . . . . . . 76 8.2 1-GBRVs. DYNSimple. . . . . . . . . . . . . . . . . . . . . . . . . . 77 8.3 DBR:DomicalBlockReplacement . . . . . . . . . . . . . . . . . . . . 79 8.4 StartingClipdistribution S T S DB = 0.75 . . . . . . . . . . . . . . . . . . . 81 8.5 PercentageimprovementwithDBRcachingwhencomparedwithcoop- erativeclip-basedcaching. . . . . . . . . . . . . . . . . . . . . . . . . 81 8.6 Distributionofblocksacrossdevicesinthenetworkµ = 0.73, S T S WS = 0.75 83 8.7 Distributionofclipsacrossdevicesinthenetworkµ = 0.73, S T S WS = 0.75 83 8.8 PercentageimprovementinstartuplatencyGCRVs. GBR.µ = 0.73 . . 87 8.9 Dataavailabilityµ = 0.73 . . . . . . . . . . . . . . . . . . . . . . . . . 87 9.1 DomicalblockreplacementusingPB . . . . . . . . . . . . . . . . . . . 91 9.2 DistributionofblocksacrossdeviceswithDomical-PB, µ = 0.73, S T S WS = 0.75. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 x 9.3 DistributionofblocksacrossdeviceswithDomical-UW, µ = 0.73, S T S WS = 0.75. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 9.4 UWVs. segment-based . . . . . . . . . . . . . . . . . . . . . . . . . . 104 xi Abstract Wireless home networks are widely deployed due to their low cost, ease of installation, and plug-and-play capabilities with consumer electronic devices. Management of data acrosswirelessdevicesisanimportantchallengeinawirelesshomeenvironment. This isspeciallytrueforcontinuousmedia(audioandvideoclips)whicharelargeinsizeand delay sensitive. Caching of clips across wireless devices may improve user experience, measurablebydifferentQualityofService(QoS)metricssuchasthroughputandstartup latency. Moreover,Cachingattheedgeofthenetworkreducesthedemandfortheinfras- tructureoutsidethehome. Inthisdissertation,wepresentDomical,anovelcooperative caching technique designed for streaming media in wireless home networks consisting of a handful of devices. Domical is novel because it considers both asymmetry of the available wireless link bandwidth and heterogeneity of the cache space contributed by theparticipatingdevices. WepresentacomprehensivedescriptionofDomical,present- ing its key knobs and the behavior of the algorithm in different network topologies and granularity of data caching (block versus clip). These results highlight the importance ofDomicalasacooperativecachingtechniqueforwirelesshomenetworks. xii Chapter1 Introduction Advancesinwirelesstechnologyhavemadedeploymentofwirelesshomenetworksfea- sible and inexpensive. Nowadays it is not uncommon to find multiple wireless enabled devicesinatypicalhome. Thesedevicesmayformanad-hocnetworkforentertainment and gaming purposes. A typical home network may consist of an access point, several PCs, and one or more consumer electronic devices [PYC06] such as Apple TV, Xbox 360, or a variety of UPnP enabled devices. Some devices such as Apple TV and Xbox 360 are wireless enabled and their large hard drives make them suitable for storage and paybackofvideoandaudioclips 1 . Theymaysharetheircontentusingeithertheaccess point or the ad-hoc network, e.g., Apple TV can be synchronized with a PC using its wireless networking card. A typical wireless home network has a connection to the InternetandremotemediaserversusingDSL,cablemodem,andfiberoptic. Duringthepastdecade,streamingmediacontenthasbecomepopularontheInternet. Online video advertisement, social networking websites, online peer to peer TVs, and video sharing websites such as YouTube are example sources of multimedia content. It is not uncommon to visit a web page with either background music or a video clip advertisement. Similarly, a growing number of subscribers to social networking sites 1 Atthetimeofthiswriting,AppleTVmightbeconfiguredwitheither40or160GBofdiskstorage. 1 N 0 N 1 Internet N 2 N 3 N 4 N 5 N 4 N 3 N 2 N 4 N 2 N 1 N 0 N 5 Internet 1.1.aStar 1.1.bRealdeployment Figure1.1: Networktopologies. such as myspace use a video clip to introduce their profile. Members may personalize theirportalsbyincludinganaudiocliptogreettheirvisitors. Thesevideoandaudioclips areusuallylargeinsizeandstreamingtheminhighqualityfromaremotemediaserver is bandwidth intensive. To reduce the load on the backbone infrastructure and improve theresponsetime,onemayemploycachingattheedgesofthenetwork[ZSGK08]. One may deploy a wireless home network using either an access point or an ad-hoc mode of communication (a mesh network). A recent study [PYC06] analyzed deploy- mentofsixwirelessdevicesindifferenthomesinUnitedStatesandEnglandandshowed the available link bandwidth between devices is asymmetric. For example, considering the British household topology of Figure 1.1.b where each device is configured with an 802.11a networking card, the bandwidth from device 2 to device 5 is 9 Mbps while the reverse bandwidth is 1 Mbps. An access point deployment results in the Star topology of Figure 1.1.a. With this topology, it is not trivial to place an access point in a home strategically to provide a high bandwidth to each device. Even if such a placement is realized, changes in the environment (e.g., a new furniture) may result in a low band- width connection from the access point to one or more devices. For example, if node 5 2 is the access point, see Figure 1.1.b, all communications from other devices to device 2 wouldobserveabandwidthof1Mbps. Adhoccommunicationprovidesahigherband- width because it avoids the use of low bandwidth connections [PYC06] by enabling a device to send its data to a destination device by using other devices as routers. In our example, this enables device 5 to stream a clip to device 2 at bandwidths higher than 1 Mbps by using device 4 (or 3) as an intermediary to route its data. The asymmetry and limitednetworkbandwidthofwirelessmeshnetworksmakestheenvironmentdifferent thanthetraditionalwiredinfrastructure. Devices in a home may share data by streaming clips amongst one another. This sharing of the data at the edges of the network may enhance key quality of service metricssuchas: ² Availability of data: the fraction of a repository that is available to the devices in thehomenetworkwhentheconnectiontotheremoteserversislost. ² Average startup latency: the delay incurred from when a client requests a clip to theonsetofitsdisplay. ² Throughput: thenumberofdevicesthatmaybecomeactiveandstreameitherthe sameordifferentclipssimultaneously. A caching strategy may improve one or some of the above global QoS metrics. These metrics are correlated to different local metrics such as cache hit rate and byte hit rate. Cachehitrateisdefinedasthepercentageoftherequestssatisfiedfromlocalcacheofa 3 device. Bytehitrateisthepercentageofbytessatisfiedfromthelocalcache. Bytemiss rate (defined as 1 - byte hit rate) defines the amount of load a device imposes on to the network. A caching technique may impact one or some of the local metrics to improve the global QoS metrics. This study focuses on development of a caching technique, named Domical, that strives to enhance the average startup latency in a wireless home network. Caching techniques can be divided into two categories: 1) Greedy caching tech- niques that require each device to manage the state of its cache independent of other devices, and 2) Cooperative caching techniques where multiple devices form a group andsynchronizethestateoftheircaches[JN03,LSBS06]toenhanceaglobalQoSmet- rics. Greedycachingtechniquesenhancealocalsystemmetricsuchasthecachehitrate of a device. Of course, one may optimize the average cache hit rate of devices. This is different than enhancing the average startup latency because the bandwidth between differentdevicesisasharedresourceandimpactsthelatencyobservedbyeachdevice. While conventional greedy cache management techniques, such as LRU [OOW93] andGreedyDual[CI97],areapplicabletothewirelesshomenetworkenvironment,they are not the ideal choices. In Chapter 4 of this thesis, we present their limitations and introduceanewgreedycachingstrategy,namedDYNSimple,forvariable-sizedstream- ing media content. Our simulation studies show DYNSimple outperforms most of the conventionalgreedytechniques. 4 Withcooperativecachingtechnique,multipledevicesmakethestateoftheircaches dependent on one another. When a device makes a caching decision, state of other cachesinthecooperativegroupimpactitsdecision. Inthisthesis,wepresentthedesign ofacooperativecachingtechniquenamedDomical. Domicalisdesignedtoenhancethe average startup latency of streaming media with a handful of cooperative devices par- ticipating in a mesh network with limited bandwidth. Domical strives to minimize for- mationofbottlenecklinksbyconstructingdependenciesbetweenthecachesofdifferent devicesconsideringboththeiravailablenetworkbandwidthandavailablecachespace. Whencomparedwithagreedycachingtechnique,oursimulationstudiesshowDomical toenhancetheaveragestartuplatency,increasethelikelihoodofdevicesstreamingclips tooneanother,andminimizetheloadontheinfrastructureoutsidethehome. WithDomical,adevicemaydivideitsavailablestoragespaceinto3parts: 1)Private space, 2) Elite space, and 3) Collaborative space. As suggested by its name, the Private space contains the private data of a user who is using the device. Domical does not managethisprivatecontent. BothEliteandCollaborativeareusedforcachingpurposes. Domical manages Elite space using a greedy caching technique. The Collaborative spaceisforthepurposeofcooperationwithothernodesparticipatinginthecooperative group. Assuming device N i has available cache space of S N i , the size of Elite cache spaceisα£S N i andtherest,(1¡α)£S N i ,isCollaborative. Notethatα = 0makesthe node fully cooperative while α = 1 implies a node that manages the state of its cache greedily. With Domical, a device may employ differentα values. This means Domical 5 can be dynamically converted from a fully cooperative caching technique (α = 0) to a greedy one (α = 1), see description of Domical in Chapter 5. Our results show that with small values of α (' 0.15), Domical enhances average startup latency by a small marginwhencomparedwiththecasethatallofthenodesarefullycooperative(α = 0), seeSection5.7. Domicalcanbeconfiguredtomanagethedataoccupyingthecacheatthegranularity of either clip-based or block-based. Our findings show that block-based Domical is appropriate when the available resources are abundant. With limited bandwidth, the clip-basedDomicalismoreappropriate,seeChapter8. To develop a cooperative caching technique for a wireless home network, one may assume the following tools and devices are deployed in the network. We describe each in turn. First, devices may stream a clip amongst one another using a mid- dleware such as [JN03, AS00]. This middleware requires each device to monitor its network bandwidth, delay characteristics and their available cache space. Domi- cal caching employs this information to construct dependency groups, see Chapter 5. Thesemiddlewares[AS00,JN03]admitsrequestsbyreservinglinkbandwidthsbetween devices, minimizing the likelihood of an active display suffering from jitter when a new display is initiated and the bandwidth of a connection between two or more devices is exhausted. Second, a distributed hash table such as CAN [RFH + 01] or Chord[SMK + 01]facilitatesdiscoveryofdatacachedbydevicescooperatinginahome 6 network [MTP07, ILL07, Bah04]. And finally, a home gateway [Bah04] serves as the gatewaybetweenthewirelesshomenetworkandtheinfrastructureoutsidethehome. The applications used by members of a household define the working set of the household, denoted WS. (While we focus on streaming media, our techniques apply to other large data items such as images.) Examples include user visits to web pages specializingintheirareaofinterest(suchasfinancial)withthesameadvertisementclips, childrenshowswatchedbytheyoungermembersofthehouseholdoverandoveragain, short video clips such as those found on YouTube and social networking sites, recent weddingandbirthdayclipswatchedrepeatedly,andothers. Thesizeofthisworkingset isdenotedasS WS . WeconsiderdifferentaccesspatternstoWSsuchas80%ofrequests referencing 20% of the clips that constitute WS, and other more skewed and uniform patternsofaccess. TheyareimplementedusingaZipfiandistribution[Zip29]. The main contributions of this dissertation are as follows: 1) DYNSimple, a greedy cachingtechniquethatisdesignedforvariable-sizedstreamingmediacontent,2)Domi- calasacooperativecachingtechniquethatenhancesstartuplatencyofstreamingmedia by considering both the asymmetry in the network bandwidth and cache space con- tributed by participating devices, 3) A comprehensive evaluation of Domical to show the importance of considering both the heterogeneity in the cache space contributed by different devices and the asymmetry in the network bandwidth, 4) A comprehensive comparison of a cooperative caching technique, i.e. Domical, with a greedy caching 7 technique, i.e. DYNSimple, 5) A sensitivity analysis of Domical to the value ofα, net- worktopologyprovidingconnectivitybetweendevices,andgranularityofdatacaching (clipversusblock). The rest of this dissertation is organized as follows. Chapter 2 surveys research relatedtogreedyandcooperativecachemanagementtechniques. Wedefinethecaching problem in wireless home networks in Chapter 3 and describe our simulation model. In Chapter 4, we present different greedy caching techniques and study their perfor- manceinasingledeviceenvironment. Chapter5presentsDomicalcooperativecaching technique and evaluate its performance. We analyze sensitivity of Domical to differ- ent topologies in Chapter 6. We compare performance of clip-based Domical with an alternative cooperative cache management technique, DCOORD [Bah04] in Chapter 7. A comparison of block-based versus clip-based techniques is presented in Chapter 8. Chapter 9 studies different block replacement techniques in the context of Domical framework. WeconcludewithfutureresearchdirectionsinChapter10. 8 Chapter2 RelatedWorks We started an investigation of cooperative caching techniques for home networks in 2007. The main focus was on the available network bandwidth between devices and how to use it effectively. In [GS08b], we showed the importance of data placement across different devices, demonstrating enhanced startup latency when popular clips are placed on the device with the highest out-going network bandwidth. Subsequently, we showed that placing clips across devices such that their popularity is correlated with the available bandwidth of devices farther enhances the response time. This resulted in the first design of Domical that considered asymmetry of the network band- width [GS08c], showing its superiority to a greedy caching technique, i.e. DYNSim- ple[GS07]. In[GS08a],weexploredalternativeblockbasedstrategiesthatadevicemay employ in combination with Domical. Possible choices included Partial Bandwidth- based technique (PB) [JBI03], Segment-based technique [WYW01], and Urgency wor- thinesstechnique[GS08a]. UrgencyWorthinessstoodoutasprovidingthebestresponse time. In [GS09], we quantified the tradeoffs associated with Domical when managing dataatthegranularityofeitheracliporablock. Obtainedresultsshowthatblock-based Domical is appropriate when the available resources are abundant. Otherwise, with limited bandwidth specifically, the clip-based Domical is more appropriate. Finally, 9 in [GSA09], we compared Domical with an alternative cooperative caching technique designed for home gateways participating in a neighborhood. This technique is named DCOORD[Bah04]andourresultsshowthesetechniquescomplementoneanotherand one is not a substitute for the other [GSA09]. In this dissertation we describe above results in more comprehensive manner, moreover we analyze an extension of Domi- cal to consider the heterogeneity of cache space contributed by different devices. At a glance, Domical is a caching technique that considers both heterogeneity of available cache space and asymmetry of available link bandwidth. It is designed to cache the streaming media content in different devices participating in the cooperative caching group in such a way to minimize probability of bottleneck formation in the network. ThisenablesDomicaltoenhanceaveragestartuplatency. Domical builds upon a vast body of work on caching for streaming media. Some of them are developed for web proxy cache servers [WZDS98, LX04, SRD99, AS00, SH06, WYW01, CSWZ03, JBI03, CGB + 02, GS07], while some others are specifically designed for wireless home networks [GS08b, GS08c, GS08a, Bah04], See [LX04] for acomprehensivesurveyonwebproxycachingforstreamingmedia. Cachingtechniquescanbecategorizedintoeithergreedyorcooperativetechniques. One may taxonomize each sub-category based on the metric enhanced by a caching technique. ExamplesincludeasystemmetricsuchascachehitrateoraQualityofSer- vicemetricsuchasaveragestartuplatency. Domicalisacooperativecachereplacement 10 techniquethatfocusesonwirelesshomenetworksandstrivestoenhanceaveragestartup latency. The greedy replacement techniques include variants of LFU [PKR + 00, MD04, GS07], those based on a utility function [WYW01, CSWZ03], HistLRUpick [AS00], Rainbow [CGB + 02], P2P proportional replacement technique of [SH06], and PB, IB and IF techniques of [JBI03]. These can be categorized into those that strive to enhance startup latency [JBI03] or some other metric such as byte and cache hit ratios [AS00, SH06, WYW01, CSWZ03, JBI03, CGB + 02, GS07]. Enhancing startup latency does not necessarily enhance other metrics [JBI03, CSWZ04, SH06, GS08b]. Domical is a cooperative caching technique and completely different than conventional greedycachemanagementtechniques. A group of proxies (devices) may cooperate to increase the aggregate cache space, balanceload,andimprovesystemscalability[AS00,CGB + 02,GS08b,GS08c]. Below, we survey other cooperative caching techniques. A key conceptual difference between these techniques and Domical presented in this study is the following: Prior techniques do not consider heterogeneity of available cache space and the asymmetry in available linkbandwidthintheircachingdecisions. Domical is a cooperative technique designed to enhance average startup latency. It considers both asymmetry of available bandwidth and heterogeneity in available cache spacetoimprovetheobservedstartuplatencybytheenduser. Thisrealizedbyincreas- ingtheloadimposedonadevicewithabundantnetworkbandwidth. Thisdifferentiates 11 Domical from MiddleMan [AS00] and Silo [CGB + 02] because they strive to balance the load imposed on participating devices. It is important to note that one may deploy our proposed technique using the centralized coordinators of MiddleMan [AS00] and Middlewareof[JN03],andproxyclusterofSilo[CGB + 02]. A cooperative replacement technique for home gateways in a neighborhood is detailed in [Bah04]. Its replacement policy, named DCOORD, is at the granularity of a clip and considers both local and remote hits when choosing victims. Our study is different because Domical considers available bandwidth and heterogeneity of cache space. Moreover, Domical strives to enhance average startup latency whereas DCO- ORD is designed to maximize the data availability. While DCOORD is not designed for a wireless home network, we adapted it to this environment and compared its per- formancewithDomical,seeChapter7. Partial bandwidth based caching (PB) technique [JBI03] victimizes blocks of clips based on their display bandwidth requirement (B Display i ) and the available network bandwidth (B Net ) in order to enhance average startup latency. Assuming T i is the dis- play time of a clip i, it caches (B Display i ¡B Net ) B Display i £T i of those clips with highest f i B Display i value,wheref i isthefrequencyofaccess 1 toclipi. Thistechniqueisdesignedforproxy caches deployed on the internet and does not cache those clips whose B Display i is less thanthenetworkbandwidth,B Net . OurproposedDomicalblockreplacementtechnique employs the concept of urgency worthiness metric to choose victims, see Chapter 9. 1 Arrivalrateofrequestsforclipi,λ i ,estimatesf i ,seeSection4.4.1 12 This metric is defined as f i B Display i £d ij whered ij denotes the display time of a block rel- ative to its start. Moreover, since a proxy cache and a client are the same device in our wireless home network, we cache blocks independent of the network bandwidth. In Chapter 9 we have adapted PB to wireless home network and our studies show that DomicaloutperformsPBcachingtechnique. Cooperative proxy caching for streaming media has been explored in overlay net- works [ILL07, MTP07]. COPACC [ILL07] assumes an architecture of a two level cache: at both proxies and clients. It partitions a clip into three segments: Prefix, Prefix-of-suffix, and Suffix. While proxies cache the prefix of a clip, clients cache the Prefix-of-suffix. Thislayoutisshowntominimizethestartuplatencyandfacilitatemul- ticast delivery with dynamic clients. OCS [MTP07] assumes a similar architecture as COPACC and presents a caching technique at the granularity of a clip. It specifically notesthatcachingatthegranularityofablockprovidesinferioraveragestartuplatency thanclip-basedcaching(withouteitherpresentingcomprehensiveresultsorelaborating onthereasons). Ourstudyisdifferentbecause,inourarchitecture,theproxyandclient cachesarethesameandone. 13 Chapter3 ProblemDefinitionandSimulation Model In this chapter we define the problem of caching in a wireless home network. Subse- quently, in Section 3.2 we describe our simulation model that is used to evaluate the proposedDomicalcachingframework. 3.1 Problemdefinition In this section we define the problem of caching in a wireless home network. We con- sider that a pair of devices may communicate with one another as long as they are in the wireless range of each other, forming a mesh network. The available bandwidth is considered to be shared and asymmetric. This mesh network can be modeled using a directed graph where each device is a node N i of the graph and there is an edge e(N i ! N j ) ifN i is in the radio range of N j . Each edge has a capacity specifying the maximumtransmissionratefromN i toN j . Whileeachdevicecanbeconfiguredwitharbitrarycachespace,S N i ,thetotalavail- able cache space of nodes in the network is fixed, denoted as S T = ∑ 8i S N i . The size 14 ofworkingsetisS WS anditislargerthanthetotalcachespace,S WS >S T . Otherwise, theproblemistrivialtosolvebyreplicatingtheentireworkingsetineachcache. Theproblemofcachinginawirelesshomenetworkcanbedefinedasfollows: Given the above network topology and available cache space in each node, how the caching decisions should be made in each individual node to optimize the observed average startup latency in the network? In this paper, we propose a new cooperative caching technique,namedDomical. Itstrivestosolvetheaboveoptimizationproblembyreduc- ing the likelihood of bottleneck formation in the home network. Domical deals with bothheterogeneityofthecachespaceandasymmetryoftheavailablebandwidth. 3.2 Simulationmodel We developed a simulation model of a wireless home environment that has been used extensively in our studies [GS08b, GS08c, GS09, GSA09]. It represents a device as a node. A node is configured with a fixed amount of storage and sets aside a portion of it as cache. WhileS T denotes the sum of the size of caches contributed byN nodes in a cooperative group,S WS is the size of the working set. A node implement Domical as detailed in Chapter 5. In addition, we have used object-oriented paradigms to abstract thereplacementpolicytoinvestigatevariationsofDomicalalongwithDCOORD. AlinkfromnodeN i tonodeN j meansN j isintheradiorangeofN i toreceivedata from it. There must exist a link fromN j toN i in order forN i to receive data fromN j . Eachlinkisassignedapre-specifiedbandwidth,providingtheasymmetrictransmission 15 ratesbetweennodesasdescribedin[PYC06]. NodeN i mayhaveg linkswithdifferent bandwidthstogdifferentnodesinthesystem. Moreover,weassumeasharedbandwidth transmissionmodelthatcapturesthesharednatureofthewirelessmedium[BGK04]. We consider two different transmission models. The first, termed kp-card, assumes the bandwidths correspond to the transmission rates observed by N i ’s k cards using their p channels to communicate with the g neighboring nodes. In essence, N i ’s total out-going bandwidth is the sum of the bandwidths specified on its out-going edges. The second, termed Shared-BW, assumes the bandwidths are shared and N i may not transmit at the full rates specified on each of its out-going edges simultaneously. As an example, assume N i has two out-going edges to nodes N j and N k with bandwidths of 10 and 12 Mbps, respectively. With the kp-card model, N i may transmit to N j at a rateof10MbpswhiletransmittingtoN k atarateof12Mbpssimultaneously. Withthe Shared-BW model, if N i transmits data toN j at a rate of 10 Mbps then it may transmit data to N k at a rate of 2 Mbps only. With both models, N i ’s minimum data rate is 10 Mbps. However, N i ’s maximum data rate is 22 Mbps and 12 Mbps with kp-card and Shared-BW,respectively. ThisstudyassumesShared-BWtransmissionmodel. Weassumeaworkingsetconsistingofvideoclipswhereeachclipisencodedusing a constant bit rate encoding technique. We ran experiments using databases consisting of homogeneous and heterogeneous collection of clips. The homogeneous database is a simple database consisting of 864 equi-sized clips with display time of 30 minutes and bandwidth requirement of 4 Mbps. Each clip is 0.9 Gigabytes in size. The size of 16 workingset,S WS ,is0.75Terabytes. Theheterogeneousrepositoryconsistof864clips. Halfofitsclipsarelowresolutionwithdisplaybandwidthrequirementof2Mbps. The otherhalfarehighresolutionwithdisplaybandwidthrequirementof4Mbps. Clipsthat constitute each media type have a display time of 30, 60, and 120 minutes. Thus, the repository consists of six different clip types. With the same number of clips (144) for eachtype. We use a Zipf-like distribution [BCF + 99] to generate requests for different clips. To elaborate, Zipf’s law [Zip29] defines the relative popularity of a request for the i’th most popular clip is proportional to χ i where χ is a normalizing constant. Different studies provide different definitions for this law. Assuming C clips are rank ordered based on their popularity (1, 2, ..., C), a general definition named Zipf-like distribution is as follows. The probability of access for clip i is: χ i µ . The exponent µ (0 · µ · 1) controlsthemeanofthedistributionandχ = 1 ∑ C i=1 1 i µ . Thislawhasbeenusedtomodel the distribution of web page requests [Gla94, BCF + 99, WVS + 99], and sale of movie tickets 1 in the United States [DSS94]. With a Zipf-like distribution, a larger value for exponent µ makes the distribution more skewed by increasing the frequency of access to a few popular clips. On the other hand, a smaller value of µ makes the distribution moreuniform. 1 In[DSS94],aZipf-likedistributionisdefinedas χ i (1−ω) whereω is0.27. Inthisstudy,µequals1¡ω. Tobeconsistentwith[DSS94],weanalyze0.73asapossiblevalueforµindifferentchapters. 17 One node in the system is designated to admit requests in the network by reserving linkbandwidthonbehalfofastream. Thisnode,denotedN admit ,implementstheFord- Fulkerson algorithm [CLRS01] to reserve link bandwidths. When there are multiple pathsavailable,N admit choosesthepathtominimizestartuplatency. Thesimulatorconductsroundsthatarerepeatedtensofthousandsoftimes. Around selects nodes one at a time. The order in which nodes are selected is shifted by one in each iteration, ensuring that every node has a chance to be the first to stream a clip in thenetwork. Anode(sayN 1 )referencesaclipusingarandomnumbergeneratorcondi- tionedbytheassumedZipf-likedistribution. Ifthisclipresidesin N i ’slocalstoragethen its display incurs a zero startup latency. Otherwise, N i identifies those nodes contain- ing its referenced clips, termed candidate servers. Next, it contacts N admit to reserve a pathfromoneofthecandidateservers. N admit providesN i withtheamountofreserved bandwidth, the paths it must utilize, and how long it must wait prior to streaming the clip. Thisdelayistheincurredstartuplatency. In each iteration, we measure the following parameters for each node: incurred startup latency, cache hit rate. Each experiment is based on ten thousand iteration of each round. We mostly focus on a realistic wireless home network corresponding to a deployment of six nodes employing 802.11a networking cards in a British house- hold [PYC06] with asymmetric link bandwidths, See Figure 1.1.b. This environment is labeled UK1X. We analyze scaling of the link bandwidth of this environment by 0.5 and0.25. TheseenvironmentsarelabeledUK0.5X andUK0.25X,respectively. 18 Chapter4 GreedyCaching Thischapterdescribesdifferentgreedycachereplacementtechniques. Simpleasanoff- linetechnique,andLRU-KandGreedyDualastwoon-linestrategies. Subsequently,we compare these alternatives with one another, quantifying their tradeoffs. After that we buildupnewgreedycachereplacementtechniquesandevaluatetheirperformance. 4.1 Anoff-linetechnique: Simple Simple [GHJ + 06] assumes advanced knowledge of the size and frequency of access to each clip in the database. Given the reference string, Simple computes the frequency of access for clip j (f j ) by counting the number of references to clip j and dividing this value with the total number of requests in the reference string. Next, Simple sorts clips based on their frequency of access to each byte, called byte-freq and defined as f j S j . It assigns those clips with the highest byte-freq value to the cache of a device. Experimental results of [GHJ + 06] show the superiority of this technique to one that simplyassignsthemostfrequentlyaccessedclipstoeachdevice. 19 4.2 On-linetechniques: LRU-KandGreedyDual LRU-K [OOW93] maintains the time stamp of last K references to a clip and uses this information to statistically estimate the interarrival times of references to a clip. When choosingavictim,itselectstheleastrecentlyreferencedclipacrossitslastKrequests. GreedyDual [You91] is a spectrum of algorithms. One algorithm considers a cache of pages with the same size and different costs to fetch from secondary storage. The algorithm assigns a priority value,Q, with each cached page. When the cache manager materializesapageinthecache,Qissettothecostofbringingthepageintothecache. Whenthecacheisexhaustedandthecachemanagermustchooseavictim,itchoosesthe page with the lowest Q (Q min ) value as victim. Next, for each cached page, the cache manager reduces itsQ value byQ min . If a page is referenced and observes a cache hit, thecachemanagerrestoresitsQvaluetoitsoriginalcostvalue. With our repository of clips, the priority of a clip is defined as cost size where size is the size of the clip in bytes. The definition of cost depends on the objective of the cache manager. By setting cost to 1, the cache manager maximizes cache hit rate. One may set cost to the time required to fetch the clip. This would minimize the average latency[CI97]. AnaiveimplementationofGreedyDualwouldrequirethecachemanagertoperform k subtractions when choosing a victim where k is the number of cache resident clips. An efficient implementation is presented in [CI97] and shown in Figure 4.1. The key 20 GreedyDual(Clipx) if(clipxiscacheresident)Q x =L+ Cost(x) Size(x) ; else f while(freecachespace<Size(x)) f L=min(Q j ); Evictj fromlocalcache; g Retrieveandstoreclipx; Q x =L+ Cost(x) Size(x) ; g Figure4.1: GreedyDualpseudo-code ideaistomaintainan“inflation”parameterL. AllvaluesofQareoffsetbythevalueof thisparameter. 4.3 A comparison of on-line and off-line caching tech- niques We use the simulation model of Section 3.2 to investigate the behavior of alternative caching strategies. It consists of a server and a client. The server contains the entire database repository and the client is the FMC 1 device configured with a cache that is a fractionoftherepositorysize. 1 FixedMobileConvergence 21 The repository consists of 576 clips. Half are audio clips and the other half are video clips with display bandwidth requirement (B Display ) of 300 Kbps and 4 Mbps, respectively. The database consists of 3 different clip sizes for each media type. With video, clips have a display time of 2 hours, 60 minutes, and 30 minutes. The size of these clips are 3.5 Gigabytes (GB), 1.8 GB, and 0.9 GB, respectively. With audio, clip display times are 4 minutes (8.8 MB), 2 minutes (4.4 MB), and 1 minute (2.2 MB). We number clips from 1 to 576. This numbering is important because we assume a Zipfian distributionwithamean 2 of0.27togeneraterequestsfordifferentclips. Oddnumbered clips are video and even numbered clips are audio. Clips are assigned in descending size order in a round-robin manner. Thus, the pattern of clip sizes is 3.5 GB, 8.8 MB, 1.8 GB, 4.4 MB, 0.9 GB, and 2.2 MB. This pattern repeats itself until all 576 clips that constitutetherepositoryareconstructed. We assume the bandwidth between the server and the client exceeds B Display , enabling the server to stream a clip to the client. A client issues 10,000 requests for clips one after another. A request references a clip using a random number generator conditionedusingtheZipfiandistribution. Weassumetheclientdisplaysthereferenced clipandissuesanotherrequestimmediately. Wevarythesizeoftheclient’scache(S T ) andreportontheclient’sobservedcachehitrate. Figure 4.2 shows the cache hit rate and byte hit rate with the alternative techniques as a function of S T S WS . A larger S T S WS (x-axis) value means a larger client cache size, 2 This distribution is shown to resemble the sale of movie tickets in the United States [DD + 95]. A Zipfiandistributionisusedextensivelytostudythebehaviorofcacheservers[WVS + 99]. 22 0 0.1 0.2 0.3 0.5 0.75 0 10 20 30 40 50 60 70 80 90 100 Random GreedyDual LRU−2 Simple S T /S WS Cache hit rate (%) 0 0.1 0.2 0.3 0.5 0.75 0 10 20 30 40 50 60 70 80 90 100 Simple LRU−2 GreedyDual Random Cache byte hit rate (%) S T /S WS 4.2.a)Cachehitrate(%) 4.2.b)Bytehitrate(%) Figure4.2: AcomparisonofSimple,LRU-2,GreedyDualandRandom. resulting in a higher cache hit rate. As a comparison yard stick, we have included a technique that chooses victims randomly. This technique is called Random. Note that thecachehitrateofthistechniquealsoriseswithalargerclientcache. With a small client cache size ( S T S WS =0.0125), Simple provides the highest cache hit rate. This is because it packs the clips with the highest byte hit ratio into the client’s cache. When the client references an unpopular clip j, Simple swaps out those clips with the smallest byte-hit ratio, enabling clip j to become cache resident. This clip is swapped out immediately by the next clip that is not disk resident. We examined a variant of Simple that does not cache those referenced clips whose byte hit ratio is smaller than the clips occupying client’s cache. This variant assumes the referenced unpopular clips are streamed from the server without becoming cache resident. This variantperformseitheridenticalorslightlybetterthantheoneshowninFigure4.2.a. 23 0 0.1 0.2 0.3 0.5 0.75 0 10 20 30 40 50 60 70 80 90 100 S T /S WS Cache hit rate (%) LRU−2 GD Figure4.3: LRU-2providesahighercachehitratethanGreedyDualforarepositoryof equi-sizedclips. When considering cache hit rate, both Simple and GreedyDual outperform LRU- 2 because they consider size of the clips when deciding what clip to maintain in the cache. Thisisconsistentwiththestudiesinvestigatingcachingtechniquesforwebproxy caches[CI97]. Note that LRU-2 provides competetive byte-hit rates, see Figure 4.2.b. Except for S T S WS =0.0125,Simpleprovidesahigherbyte-hitratethanLRU-2. GreedyDual is not a replacement for LRU-K for equi-sized pages or objects. Fig- ure 4.3 shows LRU-2 provides a higher cache hit rate than GreedyDual for a repository of equi-sized clips. GreedyDual provides a lower hit rate because it ignores the last reference time to a clip as an estimate of its future reference time. To illustrate this, consider three equi-sized clips ( o 1 , o 2 , and o 3 ) where the size of each clip is 10 MB. Assume the cache is 25 MB in size. Consider a sequence of references by the client where o 1 is referenced every other request. Two consecutive references for o 2 and o 3 24 are three requests apart, resulting in the following reference string: fo 1 , o 2 , o 1 , o 3 , o 1 , o 2 , o 1 , o 3 , o 1 , ...g. The first 3 references cause o 1 and o 2 to become cache resident. The subsequent reference too 3 forces both LRU-2 and GreedyDual to choose a victim. LRU-2 will choose o 2 because it is least recently referenced. GreedyDual will have a priority of 1 10 MB for each of o 1 and o 2 and must choose one randomly. Lets give GreedyDual the benefit of choosingo 2 as the victim. Onceo 3 becomes cache resident, its priority is set to 2 10 MB . The next reference foro 1 will observe a cache hit with both LRU-2 and GreedyDual. GreedyDual sets the priority of o 1 to 2 10 MB . The next refer- enceforo 2 isacachemisswithbothLRU-2andGreedyDual. LRU-2willchoose o 3 as the victim. GreedyDual must once again choose between o 3 and o 1 randomly because their priorities are identical,Q(o 1 )=Q(o 3 )= 2 10 MB . This random decision is imposed on GreedyDualeverytimeeithero 2 oro 3 isreferenced. EverytimeGreedyDualchooseso 1 , itshitratewillbeloweredforsubsequento 1 references. LRU-2willnotsufferfromthe same dilemma because it considers the last 2 references for each clip and will maintain o 1 cacheresident. 4.4 Enhancedgreedycachingtechniques In this chapter, we improve upon the current state of the art techniques to make them more suitable for managing a cache of clips. These improvements are as follows. We introduce a variant of Simple, called DYNSimple, as an on-line technique. Next, we extend GreedyDual to consider time in order to support a repository of equi-sized clips 25 DYNSimple(Clipx) if(clipxiscacheresident)returnclipx; else f victims=emptyset; candidates=setofcachedclips; sortcandidatesinascendingorderof f j size(j) ; while(freecachespace +sizeofobjectsinvictimsset<size(x)) f victims=victims[firstclipincandidateslist; removefirstclipincandidateslist; g sortvictimsindescendingorderofsize; while(freecachespace<size(x)) f Removethefirstclipinvictimsset; g Retrieveandstoreclipx; g Figure4.4: DynamicSimple(DYNSimple)pseudo-code effectively. TheresultingtechniqueiscalledInterval-BasedGreedyDual(IGD).Finally, wepresentamodifiedLRU-K,calledLRU-SK,whichconsidersclipsizeswhenchoos- ingvictims. InSection4.4.4,wecomparethesetechniqueswithoneanother. 4.4.1 DynamicSimple,DYNSimple OnemaytransformtheSimpletechniqueofSection4.1fromanoff-linetechniquetoan on-lineonebydynamicallyestimatingthefrequencyofaccesstoeachclip. Thepseudo- codeforDYNSimpleisshowninFigure4.4. Thereareseveralwaystoestimateaclip’s frequencyofaccess. Below,wedescribeoneapproach. 26 Toestimatethefrequencyofaccesstoaclipj,adevicemaintainsthetimestampof its last K references: fT K¡1 ,T K¡2 , ...,T 0 g whereT K¡1 < T K¡2 and time is increasing monotonically. At time instance t, the arrival rate of requests for clip j is defined as λ j = K t¡T K−1 . The estimated frequency of access to clip j is the ratio of its arrival rate tothetotalarrivalrateofallCclips,E(f j ) = λ j ∑ k=C−1 k=0 λ k . One may define the quality of estimated frequencies of access using the following function: √ ∑ C i=1 (E(f i )¡f i ) 2 C . E(f i ) is the estimated frequency of access while f i is the accuratefrequencyofaccessobtainedfromthedistributionusedtogeneraterequests. A highervalueofKimprovesthequalityofestimatedf i values. ForarepositoryofC=576 clip, the quality of estimates improves by a factor of 10 when we increase K from 2 to 60 (quality improves from 0.006 to 0.0006). At the same time, we observed minimal improvements in the cache hit rates with increased values of K. We believe K = 2 is sufficientalmostalways. NotethatDynamicSimplemaintainsK timestampsforthoseclipsthatarenotinits cache. Assuming each time stamp is a 4 byte integer, this technique incurs an overhead of 4 megabytes to maintain K = 2 time stamps for one million clips. This might be a reasonable overhead to incur given a cache that is potentially tens of gigabytes in size. To reduce this storage overhead, Dynamic Simple may delete the history of those obsoleteclipsbyemployingarulesuchasthe5minuterule[GP87,OOW93]extended tothewirelessenvironment. Designofsucharuleisafutureresearchdirection. 27 4.4.2 IntervalbasedGreedyDual(IGD) Section 4.3 showed GreedyDual does not provide effective support for equi-sized clips because it does not consider how recently a clip has been referenced. Interval based GreedyDualaddressesthislimitationbymaintainingthelastK referencesforeachclip j (similartoDYNSimple). Atatimeinstancet,I K istheintervaloftimefromttoT K¡1 , I K = t¡T K¡1 . We change the cost function of GreedyDual to Ref(x)£Cost(x) I K £Size(x) where Ref(x) is the number of references to clip x. While time is monotonically increasing, number of references pertains to those objects in the cache. IGD forgetsRef(x) when clip x is swapped out of the cache. When clip x is referenced and brought into cache, itsRef(x)issettozero. The use of Ref(x) with GreedyDual was originally proposed in [CC01]. We use Ref(x) I K inordertofacilitateagingsothatIGD“forgets”pastreferenceswhenaccesspat- terns to clips evolve and change over time. This ratio is not the arrival rate of requests for clip x because the number of requests since a clip becomes cache resident is inde- pendent of its K th last reference. To illustrate, Ref(x) = 100 means the user of the devicereferencedthisclip100timessinceitwasbroughtintocache. avalueof5forI K means5timeunitshaveelapsedsincetheuserlastreferencedclipx. Thus,ifapopular clip suddenly becomes unpopular and does not receive cache hits,I K starts to increase, reducing its priority and causing IGD to swap this clip out. Whenx is swapped out, its numberofreferencesisforgottenandresettozero,similarto[CC01]. 28 0 0.05 0.1 0.15 0.2 0.25 0 10 20 30 40 50 60 70 Cache hit rate (%) S T /S WS DYNSimple GreedyDual LRU−2 IGD 0 0.05 0.1 0.15 0.2 0.25 30 40 50 60 70 80 90 Cache hit rate (%) S T /S WS GreedyDual LRU−S2 DYNSimple LRU−2 4.5.a)Equi-sizedclips 4.5.b)Variable-sizedclips Figure4.5: AcomparisonofDYNSimple,IGD,andLRU-SK. 4.4.3 LRU-SK By choosing the least recently used clip, LRU-K swaps out the clip with minimum 1 I K valuefirst. I K istheintervaloftimefromcurrenttimetothelastK th reference(sameas IGD, see Section 4.4.2). To consider clip sizes, we propose LRU-SK which swaps out clipx with minimum 1 I K £size(x) value. Results of Section 4.3 show this change enables LRU-SKtoprovidecachehitrateshigherthanGreedyDual. 4.4.4 Acomparison Figure4.5showsthecachehitrateofthealternativetechniqueswithtwodifferentrepos- itories consisting of 576 equi and variable sized clips, respectively. With both figures, x-axisistheratioofcachesizeandthedatabasesizewhilethey-axisisthecachehitrate. Figure4.5.ashowstherevisedversionofGreedyDual,IGD,providescompetitivecache 29 hitratesforarepositoryofequi-sizedobjects. Itshitrateissignificantlyhigherthanthe original GreedyDual and comparable to DYNSimple. When compared with GreedyD- ual,IGDisanimprovementbecauseitconsidersboththenumberofreferencestocache residentclipsandtheirlastK th referenceswhenselectingvictims. Figure4.5.bshowsthecachehitrateforarepositoryof576variablesizedclips,see Section 4.4.4. Obtained results show LRU-SK is providing cache hit rates comparable with DYNSimple and GreedyDual. DYNSimple outperforms LRU-SK because DYN- SimpleemploysK=32referencestoestimatefrequencyofaccesstoeachclipwhileKis 2withLRU-SK.IfoneemploysK=2withLRU-SKandDYNSimplethentheircachehit ratesbecomesalmostidentical. Thisisbecausethewaytheyuseclipsizeandreference time to its last 2 requests results in the same ranking of victim clips 3 . With values of K > 2,DYNSimpleprovidesahighercachehitratethanLRU-K. In a final experiment, we analyzed adaptability of the alternative techniques to the changingpatternofaccesstothe576variablesizedclips. Inthisexperiment,weshifted the identity of objects generated using the Zipfian distribution. Assuming object j is the most popular one with the original distribution, a shift-id of 100, g = 100, causes object(j+100)%C tobecomemostpopular. Inessence,parameterg shiftstheoriginal distribution by its value. When g = 0, the distribution generates requests identical to theoriginaldistribution. 3 All random number generators for the simulator are seeded, producing a deterministic sequence of requestsforalltechnique. 30 0 100 200 300 400 500 55 60 65 70 75 80 Shift ID (g) Cache hit rate (%) Simple DYNSimple, K = 32 IGD GreedyDual DYNSimple, LRU−SK, K=2 10,000 15,000 20,000 25,000 30,000 55 60 65 70 75 DYNSimple, K=32 IGD Simple DYNSimple, LRU−SK, K=2 Request ID Cache hit rate (%) 4.6.a)After10,000requests 4.6.b)Every100requests Figure4.6: Cachehitratewithchangingaccesspatterns, S T S WS =0.125. Note that for a g value, we have a fixed distribution of access to clips. We use this distribution to compute the accurate frequency of access to each clip j, f j . Using this information, our experiment is as follows. A device invokes a replacement policy with 10,000 requests for a given g value. It then employs the accurate frequency of access for each clip j to compute the frequency of access to the cache. This is the theoretical cachehitrate. Assumingk objectsarecacheresident,thismetricisdefinedas ∑ k i=1 f k . Figure 4.6.a shows the cache hit rate with the alternative techniques for six differ- ent g values: 0, 100, 200, 300, 400, and 500. As a comparison yard-stick, we show Simple which employs the accurate frequency of access to manage the content of the cache. Figure4.6.bfocusesontwointervals,g=200and300,showingthecachehitrate every 100 requests for the 20,000 issued requests. All techniques observe a sharp drop at request id 20,000 because the value of g changes from 200 to 300, modifying the 31 identity of the popular clips. Simple is quick to swap unpopular objects from the cache infavorofthepopularclipsusingtheiraccuratefrequencyofaccess,providingthebest cachehitrateaftertwohundredrequests. DYNSimpleandLRU-SKaresensitivetothe chosen value ofK. WhenK = 2, DYNSimple and LRU-SK adapt after a few hundred (200 to 400) requests. With a higher value of K, say 32, LRU-K’s hit rate goes down perdiscussionsofFigure4.5(LRU-Kwith K = 32isnotshowninFigure4.6.b). DYN- Simple requires a larger number of requests to forget the past and swap out clips that were popular previously. Note that IGD requires a large number of requests to stabilize becauseitsagingfunctionutilizesnumberofreferencesforclips. 32 Chapter5 CooperativeCaching: Domical This chapter presents Domical cooperative caching technique and describes its main components. Section5.1describesbandwidthcontentionratiowhichisthemaincompo- nentofDomical. DomicalisdetailedinSection5.2. Subsequently,Section5.4describes apossibledistributedimplementationofDomical. Domicalcachingtechniquepreserveautonomyofadevicewhileallowingittocoop- eratewithotherdevicesonceithasbeenintheirradiorangeforawhile. Thisisrealized as follows. When a device is isolated and its cache space does not accommodate X then it employs a greedy cache management technique such as DYNSimple [GS07] or GreedyDual [CI97] to choose victims to swap out of its cache. Without loss of gener- ality and in order to simplify the discussion, we assume a device employs DYNSimple becauseitwasshowntoprovideahigherhitratiothanGreedyDual[GS07]. When in radio range of other devices, a device may maintain the identity of these devices, its available bandwidth to these devices, the bandwidth observed from these devicestoitself,andtheavailablecachespaceofcooperatingdevices. Next,itemploys Domical to compute a dependency group between itself and the different devices. It may exchange this information with other participating devices and employ a voting mechanism to identify a common dependency group. The dependency group specifies 33 which device should make the state of its cache dependent on other devices. When a device N i makes the state of its cache dependent on a set of devices A=fN 0 , N 1 , ..., N i¡1 g, its selection of victim clips is implemented as follows. N i computes which of its clips are identical to those occupying the collaborative cache space offN 0 , N 1 , ..., N i¡1 g. These clips are termed common clips. This can be implemented in a variety of ways using either a lazy or an eager approach and estimation techniques such as the use of Babb filters, see Section 5.4. Next, it sorts the common clips using DYNSimple and swaps as many of these as possible to accommodate the in-coming clip X. Once all these clips are swapped out, if there is insufficient space to accommodate X then N i applies DYNSimple to remaining clips occupying (either its Elite or Collaborative space)itscacheuntilsufficientamountofspaceisfreedup. Domical construct the dependency groups with the objective to minimize the likeli- hoodofawirelessnetworkconnectionbetweentwonodesfrombecomingabottleneck. Thisisimportantbecausestreamingofacliprequiresreservationofwirelesslinkband- widths to ensure a display free from disruptions and delays. When the bandwidth of a link is exhausted, a new request that requires the use of that link must wait for an in progress display to complete, resulting in a high startup latency. A cooperative caching technique may prevent such scenarios by controlling placement of data across devices, enhancingtheaveragestartuplatencyincurredbythecooperativegroupofdevices. 34 Below, we start by describing bandwidth contention ratio as a metric to estimate whichnodesshouldcontainthefrequentlyaccessedclipsinordertominimizeformation ofbottlenecklinks. 5.1 Bandwidthcontentionratio(ζ) In this section, we develop the bandwidth contention ratio metric, ζ(N i ), which esti- matestheamountofimbalanceacrossthenetworklinkswhenN i streamsacliptoevery other node in the network. Intuitively, the node with the smallest ζ value results in the lowest imbalance, avoiding formation of hot spots and bottlenecks. Domical uses this metric to compute which nodes should cache the popular clips by enforcing dependen- ciesbetweenthecachesofdifferentnodes,seeSections5.2. The pseudo-code of Figure 5.1 quantify ζ for each node. It captures three impor- tant details. First, a node N j may stream its clip from the infrastructure outside of the home using the home gateway of [Bah04], denoted as B. Second, in order to capture the asymmetry in link bandwidths for N i to its neighboring devices, it normalizes the availablelinkbandwidthusing 1 Bandwidth of L k foreachlinkL k thatparticipatesinapath fromN i . Third, the cache space contributed by N i (S N i ) to the cooperative group may be different than the cache space contributed by other nodes, impacting amount of data N i can stream to the other nodes in the cooperative group. This is captured by 1 S N i for 35 ζ(N i ) f LetBdenotetheinfrastructureoutsidethehome; Initializetheweightofalllinksinthenetworktozero; ForeachremainingnodeN j do i)LetPbethesetofallpossibleshortestpathsfromN j toN i that doesnotinvolvethebasestation; ii)ForeachlinkL k inthenetworkdo ii.a)Letq denotethenumberofpathsinPthatincludeL k ; ii.b)IncrementlinkweightofL k by q P £ 1 Bandwidth of L k £S N i ; End ζ =standarddeviationinthelinkweights; returnζ; g Figure5.1: BandwidthcontentionratioofN i ,ζ(N i ). each linkL k that participates in a path fromN i . The resulting standard deviation quan- tifies ζ(N i ). Nodes with smallest ζ values are ideal candidates to cache popular clips becausetheycanstreamtheseclipswhileminimizingformationofbottlenecklinks. 5.2 Domicalcooperativecaching Domicalconstructsdependenciesbetweenthecachesofdifferentdeviceswiththeobjec- tive to prevent the possibility of a wireless link from becoming a bottleneck. A device maycontributeafractionofitsavailablecachespaceforcooperationwithotherdevices. Data items occupying the cache space might be either clips or blocks of different clips. To simplify the discussion and without loss of generality, in the following we assume thegranularityofcacheddataisaclip. 36 Domical abstracts the available cache space of a device into two parts named Col- laborative, and Elite. The Collaborative and Elite portions of the storage space con- stitute the available cache space and are managed by Domical. Domical manages the Elite cache space with the objective to optimize a local metric such as cache hit rate. CandidatealgorithmsincludeLRU-K[OOW93],GreedyDual-Size[JB00]orDYNSim- ple [GS07] to name a few. Domical renders the Collaborative cache space of differ- ent devices dependent on one another (without compromising autonomy of different devices) in order to enhance a global metric such as average startup latency. By mak- ing the Collaborative space ofN i dependent on the state of caches managed by devices fN 0 ,N 1 ,...,N i¡1 g,N i victimizesclipsoccupyingitsCollaborativespaceasfollows. N i constructsalistofclipsoccupyingtheEliteandCollaboratespaceoffN 0 ,N 1 ,...,N i¡1 g. Those with a replica in the Collaborate space ofN i are termed common clips. Remain- ing clips are named rare clips. Domical victimizes common clips with the lowest byte- hit ratio first. If there is still insufficient space then Domical victimizes the rare clips starting with those that have the lowest byte-hit ratio. If there continues to be insuffi- cientspacetheDomicalvictimizesclipsoccupyingtheElitespaceofN i . Theparameterαdictateswhatfractionoftheavailablecachespaceisassignedtothe Collaborative and Elite portions. Assuming S N i dictates the cache space of device N i , thesizeofElitespaceisα£S N i . Theremainder,(1¡α)£S N i ,istheCollaborativespace. InSection5.7,weshowDomicalenhancestheaveragestartuplatencysignificantlywith α = 0whencomparedwithα = 1. 37 One may implement Domical in different ways. Assuming devices in the home networkaresingleuserdeviceswithabundantamountofprocessingcapability,asimple implementation would be as follows. When a clip X is admitted into the cache and Domical has insufficient space to storeX, it victimizes existing clips as follows. First, it sorts 1 those clips occupyingN i ’s cache in descending order using their byte-hit ratio, f j S j , where f j is the frequency of access to object j and S j is the size of that object. Next, it marks the first k clips with a total size exceeding the size of the Elite space of the cache. These clips maximize the byte-hit ratio of the Elite space. The remaining clips occupy the Collaborative space. Domical identifies the common and rare clips in the Collaborative space, removing as many common clips with a low byte-hit ratio to providespacefortheincomingclipX. Oncecommonclipsareexhausted,itdeletesthe rareclipsstartingwiththeonesthathavethelowestbyte-hitratio. N i may identify common and rare clips by listening on the traffic generated by dif- ferent devices referencing different clips. Moreover, it may periodically exchange the identityofclipsoccupyingitscachewithotherdevices. Domicalcomputesdependenciesbetweensharedcachesofdifferentnodesusingthe bandwidth contention ratio metric, see Section 5.1 for the description. Intuitively, the node with the smallest bandwidth contention value (N min ) results in the lowest imbal- ance, avoiding formation of hot spots and bottleneck links. N min manages its entire cache space (both Elite and Collaborative) using a greedy caching technique. The state 1 Sorting is not appropriate for devices with multiple simultaneous users due to its computational overhead. 38 of Collaborative space of every other node in the cooperative group depends on N min . Moreover,theremainingnodesaresortedinascendingorderusingtheirbandwidthcon- tentionratiometric. ThestateoftheCollaborativespaceofanodeiisdependentonthe cacheofeveryothernode(bothEliteandCollaborativespace)beforeitandN min . 5.3 AvariationofDomical: Cont-Coop Cont-Coop [GS08b] is variation of Domical that constructs two dependency groups d 0 and d 1 . Similar to Domical, it computes ζ for the different nodes. The node with the minimumζ valueistermedthecorenodeandassignedtod 0 . Itemploysagreedycache replacement policy, DYNSimple. Remaining N ¡ 1 nodes are assigned to d 1 . They cooperate by making the state of their caches dependent on one another and the core node. This is in sharp contrast with Domical in whichN ¡ 1 dependency groups are formed. 5.4 Implementationinadistributedmanner In a wireless home network consisting of a handful of wireless devices, the band- width contention ratio can be calculated by each individual node. A node may con- stantly monitor its available bandwidths to its neighboring nodes using a packet dis- persion [DRM04] based technique, such as CapProbe [KCL + 04]. It may periodically 39 broadcast its information including the available cache space and available link band- widthstoalltheothernodesinthenetwork,enablingeachnodetoconstructanapproxi- matetopologyofthenetwork. Next,eachnodeN i calculatesitsζ(N i ). Onemayemploy a master-slave scheme [GCK01] to force nodes to form the cache dependencies based onthecooperativecachingpolicyusedinthecooperativegroup. To synchronize the state of its cache with other nodes, a node must discover clips residing in other nodes of the cooperative group. The initial discovery process might be implemented using a flooding technique of an unstructured P2P network [CS02], or one of the discovery techniques employed by cooperative proxy caching tech- niques [SDML + 06, WC98]. Subsequently, the node may monitor clips referenced by itsneighboringdevicestoincrementallyupdateitsprofileinformationaboutthecontent of other devices. In order to further refine this information, a node may double check its profile of other nodes as follows. It may apply a hash function to the ID of a clip building a Babb filter of bits for a node. It may send this filter to the target node which repeats the process. If the Babb filters do not match then the node sends the identity of itsclipstotherequestingnode. A more comprehensive implementation is one of our future research direction, see Chapter10. 40 5.5 Acomparison In this section we compare performance of Domical with Cont-Coop and the greedy technique, the technique in which all nodes act greedily. Obtained results show that Domicaloutperformbothapproaches. We employed the characteristics of one of the British households reported in [PYC06] to compare Domical with Cont-Coop. This network consists of six devices as shown in Figure 1.1.e. We assume the sum of the cache sizes, S T , equals the work- ing set size, S WS . Moreover, the distribution of access to the clips that constitute the working set is skewed, µ = 0.73. (Obtained results remain unchange with different S T S WS ratios and various distributions of access (µ values); see [GS08d]) The average startup latency with Cont-Coop is 228 seconds, and Domical is 194 seconds. Domical provides an improvement of 15%. If each device used a greedy replacement policy, the incurred startup latency would have been 573 seconds. This is almost a 3 fold increase relative to Domical and more than a two fold increase relative to Cont-Coop. Domical outperforms Cont-Coop for two reasons. First, by constructing a hierarchy of nodes, it controls placement of popular clips across devices to minimize formation of bottleneck links. Second,thehighconnectivitybetweennodesenablesDomicaltobenefitfromits constructedhierarchies. Figure 5.2 shows the average startup latency (δ) for each node and its hit ratio (ω) withthealternativecachingstrategies. Belowthesetwovalues,weshowthedependency group of a node. We start by discussing the incurred startup latency. With Greedy, the 41 averagestartuplatency(δ)isinexcessof500SecondswithallnodesexceptN 5 because we assume the wireless connection betweenN 5 and the base station is very high. Both Cont-Coop and Domical enhance the average startup latency of each node by: a) main- taining a larger number of unique clips in the home network, and b) utilizing the high bandwidth of the wireless network connections to stream clips among the participating devices. This results in the following phenomena. For all nodes exceptN 5 , the average number of requests issued by a device that are serviced by its neighbors are as follows: 1) with Domical, it is 46%, 2) with Cont-Coop, it is 43%, and 3) with Greedy, it is 3%. Thus, Greedy forces wireless network connections to remain idle, wasting their bandwidth. WithGreedy,eachnodeobservesa55%hitratiobecauseeachmaterializesthepop- ular clips in its cache. With both Domical and Cont-Coop, only N 4 observes a 55% hit ratio. Thisisbecausethisnodebelongstodependencygrouph 0 andemploysDYNSim- ple to materialize the popular clips. An interesting result in Figure 5.2.b is the hit ratio ofnodeswithDomical. Theyaredramaticallyreducedto18%fornodesinh 1 (N 0 )and h 2 (N 2 ). Itincreasesto34%forthenodeinh 3 (N 3 )andcontinuestoincreaseinexcess of 50% with nodes in h 4 and h 5 . The explanation for this is as follows. Conceptualize the clips sorted based on their f i S i values. Partition this sorted list into five consecutive segments: Segment one consists of the most popular clips, the second contains the sec- ond group of most popular clips, so on and so forth. N 4 caches the most popular clips (segment1)becauseitemploysDYNSimpleasitsgreedycachingstrategy. Thestateof 42 nodeN 0 dependsonN 4 becauseitisinh 1 . EverytimeN 0 referencesaclipinSegment 1, it streams it from N 4 and caches it. At the same time, N 0 may reference a clips in other segments with 0.4 probability. Every time this happens, ifN 0 must choose a vic- timclipthenitswapsoutoneofthepopularclipsinSegment1becauseitsstatedepends on N 4 and N 4 will almost certainly have this clip in its cache. The same happens with nodeN 2 which belongs to dependency grouph 2 . However, the impact of this phenom- ena is minimized with h 3 , h 4 , and h 5 . To illustrate, consider N 5 which belongs to h 5 andthestateofitscachedependsonallnodes. ThisnodewillaccessclipsinSegments 1 to 4 very frequently, streaming them from devices in h 0 to h 4 , and caching them. It rarelyreferencesclipsinSegment5becausetheyareveryunpopularwith7%probabil- ity. When it does, Domical will force this node to swap out those clips with lowest f i S i that also reside in the cache of those devices inh 0 toh 4 . Most likely, clips in Segments 4 and 3 are swapped out because they have a lower f i S i value when compared with the other Segments. Since these are not as popular as clips in Segment 1, N 5 references themwithalowprobability, allowingN 5 to observeacachehitfortheSegment1clips residinginitscache. It is worthwhile to note that Domical outperforms Cont-Coop with a larger cache and not a more skewed distribution of access. This is shown in Figure 5.3 where we plot the percentage improvement offered by Domical when compared with Cont-Coop ( δ Cont−Coop ¡δ Domical δ Cont−Coop ) for different S T S WS values. The different curves pertain to different distributions of access to clips, very skewed (µ=0.973) to more uniform (µ=0.001). 43 N 4 N 3 δ = 339 ω = 34% h 1 δ = 287 ω = 55% h 0 δ = 0 ω = 36% h 1 N 2 N 1 N 0 N 5 B h 1 δ = 208 ω = 32% h 1 δ = 228 ω = 35% h 1 δ = 303 ω = 34% h 1 N 4 N 3 δ = 278 ω = 50% h 4 δ = 267 ω = 55% h 0 δ = 0 ω = 54% h 5 N 2 N 1 N 0 N 5 B δ = 165 ω = 18% h 1 δ = 191 ω = 33% h 3 δ = 257 ω = 17% h 2 h 5 N 4 N 3 δ = 711 ω = 55% G δ = 814 ω = 55% G δ = 0 ω = 56% N 2 N 1 N 0 N 5 B δ = 589 ω = 55% G δ = 643 ω = 55% G δ = 675 ω = 55% G ω = 56% G 5.2.aCont-Coop( ¯ δ = 228) 5.2.bDomical( ¯ δ = 194) 5.2.cGreedy( ¯ δ = 573) Figure5.2: Arealhomenetwork, S T S WS = 1,µ = 0.73. 0.1 0.5 1 1.5 2 2.5 3 5 10 15 20 25 30 35 40 45 50 Percentage improvement in average startup latency μ=0.973 μ=0.73 μ=0.25 μ=0.001 S T /S WS Figure5.3: Percentageimprovementinstartuplatency( δ Cont−Coop ¡δ Domical δ Cont−Coop ),realdeploy- menttopology. The percentage improvement with Domical increases with very large cache sizes. With smallercachesizes,thereislittleimprovementofferedbyDomicalbecausemanyofclip referencesmustbestreamedfromthebasestationwithbothDomicalandCont-Coop. In thiscase,bothDomicalandCont-Coopoutperformadeploymentthatemploysagreedy cachingstrategyby30%. 44 0 0.2 0.4 0.6 0.8 1 1.2 0 5 10 15 20 25 30 35 40 S T /S WS Percentage improvement in startup latency (%) μ = 0.25 μ = 0.973 μ = 0.73 Figure5.4: Percentageimprovementinaveragestartuplatency,UK1X 5.6 Heterogeneityofstorage ThissectiondemonstrateswhyitisimportantforDomicaltoconsidertheheterogeneity of available storage provided by different devices. To show this, we compare Domical with a variation of itself that ignores heterogeneity of storage space. This version is namedDomical ¡s anddetailedinourpreviouspublications,see[GS08c]. We focus on the realistic wireless home of Figure 1.1.e and configure Node 4 with four to ten times smaller cache sizes than the other nodes. This causes Domical and Domical ¡s to construct different cache dependencies. While Domical chooses Node 0 as the core node, Domical ¡s chooses Node 4. This results in the following assignment of nodes to different cache hierarchies: With Domical ¡s , Nodes 0, 2, 1, 3, 5, and 4 are assigned to d 0 , d 1 , d 2 , d 3 , d 4 , and d 5 . With Domical, Nodes 2, 1, 3, 5, 4, and 0 are assigned to d 0 , d 1 , d 2 , d 3 , d 4 , and d 5 . The key difference is the choice of the core 45 0 100 200 300 400 500 600 700 800 900 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 100 200 300 400 500 600 700 800 900 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 100 200 300 400 500 600 700 800 900 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 a)Node4 b)Node0 c)Node2 Figure 5.5: Distribution of clips across devices in the network with Domical ¡s , µ = 0.73, S T S WS = 0.308,S N 1 =S N 3 =S N 5 = 0. 0 100 200 300 400 500 600 700 800 900 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 100 200 300 400 500 600 700 800 900 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 100 200 300 400 500 600 700 800 900 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 a)Node0 b)Node2 f)Node4 Figure 5.6: Distribution of clips across devices in the network with Domical, µ = 0.73, S T S WS = 0.308,S N 1 =S N 3 =S N 5 = 0. node. Domical demotes the core node of Domical ¡s to be dependent on every other nodebecauseofitslimitedamountofcachespace. Figure 5.4 shows the percentage of improvement in startup latency with Domical when compared with Domical ¡s . Assuming δ is the average startup latency observed witheachtechnique,percentageimprovementisdefinedas100£ δ(Domical −s )¡δ(Domical) δ(Domical −s ) . This is shown on the y-axis of Figure 5.4 as a function of different S T S WS values. The ticksonthex-axisarerealizedbyscalingthestoragecapacityofeachdevice,changing the value of S T . Figure 5.4 focuses on UK1X and analyzes alternative distributions of access to clips: very skewed with µ = 0.973 to a more uniform distribution with µ = 0.25. Domical outperforms Domical ¡s for these different experimental settings, enhancingaveragestartuplatency. Wealsoanalyzeddifferentbandwidthconfigurations, UK0.5X andUK0.25X. ObtainedresultsshowthesametrendsinFigure5.4. 46 Domical outperforms Domical ¡s because Domical ¡s chooses Node 4 with a scarce amount of storage as its core node. This prevents Domical ¡s from materializing the frequentlyaccessedclipsonitscorenodebecausethetotalsizeofpopularclipsexceeds Node4’sstoragecapacity. Thisenablesothernodesinthehierarchytocachetheseclips andparticipateinservicingeachother’srequest. Inourexperiments,onesuchnodehas insufficient network bandwidth resulting in a bottleneck link in the network, increasing theincurredstartuplatency. Figures 5.7 and 5.8 show the placement of clips across the nodes with Domical ¡s andDomical,respectively. Inthesefigures,thex-axisshowstheidentityofclipsordered in descending popularity, i.e., frequency of access. The y-axis has two possible values: 0 showing a clip is absent from the cache of that node, and 1 reflecting the presence of theclip. Figure5.8showsthatbydemotingNode4tothelowestlevelofthehierarchy,Dom- ical enables Node 0 to cache the popular clips (because the width of the lines on the x-axis of Node 0 is much smaller than that shown in Figure 5.7). It is surprising to see Node 4 caches the most popular clips with Domical (see below for an explanation). This enables the admission control to utilize the high bandwidth of wireless network connectionsofNode4toservicerequestsforpopularclips. It is counter intuitive for Domical to cache the popular clips on Node 4 because, by assigningthisnodetothelowestlevelofthehierarchy,thecooperativespaceofNode4 should contain the unpopular clips. This is true from a theoretical perspective. From a 47 0 100 200 300 400 500 600 700 800 900 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 100 200 300 400 500 600 700 800 900 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 100 200 300 400 500 600 700 800 900 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 100 200 300 400 500 600 700 800 900 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 100 200 300 400 500 600 700 800 900 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 100 200 300 400 500 600 700 800 900 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 a)Node4 b)Node0 c)Node2 d)Node1 e)Node3 f)Node5 Figure 5.7: Distribution of clips across devices in the network with Domical ¡s , µ = 0.73, S T S WS = 0.75. 0 100 200 300 400 500 600 700 800 900 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 100 200 300 400 500 600 700 800 900 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 100 200 300 400 500 600 700 800 900 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 100 200 300 400 500 600 700 800 900 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 100 200 300 400 500 600 700 800 900 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 100 200 300 400 500 600 700 800 900 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 a)Node0 b)Node2 c)Node1 d)Node3 e)Node5 f)Node4 Figure 5.8: Distribution of clips across devices in the network with Domical, µ = 0.73, S T S WS = 0.75. practical perspective, since the unpopular clips are referenced infrequently by Node 4, theyarefirstcandidatestobeevictedfromcacheofNode4becauseoftheirlowbyte-hit ratioandoverlapwithcachesofNodes3and5. UnpopularclipsareevictedwhenNode 4referencesandcachesthemostpopularclips. ThisenablesDomicaltocachethemost popular clips in Node 4. In comparison with Domical ¡s , Domical caches two replicas ofthemostpopularclipsinNodes0and4enhancingtheaveragestartuplatency. With Domical, Node 4 is able to cache popular clips because there are five nodes in the network. To reduce the impact of this factor, we configured Nodes 0, 2, and 4 with the same amount of cache space and eliminated the cache space of Nodes 1, 3, and 5 all together. Configuring some of the nodes with no cache space decreases the S T S WS to0.308,butmakesFigures5.5and5.6comparablewithFigures5.7and5.8. With this new configuration, Domical outperforms Domical ¡s by a larger margin: minimum improvementis36%,higherthatthepeakshowninFigure5.4. ThisisbecauseDomical 48 places a few replicas of the most popular clips in both Node 4 and Node 0 (the core node), see Figure 5.6. These additional replicas of most popular clips enable Domical tooutperformDomical ¡s withalargermargin. Figure 5.4 shows that Domical outperforms Domical ¡s by a small margin when the distribution of access is more uniform (µ = 0.25) and total cache space in the networkisscarce( S T S WS < 1). Thismarginbecomeslargerasthetotalstorageincreases. This is because with a more uniform distribution of access, the set of most frequently accessed clips is large and because of scarce amount of cache space in each individual node, Domical cannot enhance the startup latency in comparison with Domical ¡s by consideringtheheterogeneityoftheavailablecachespace. Astheavailablecachespace becomes abundant ( S T S WS ¸ 1), each individual node will have more cache space and thisenablesDomicaltooutperformDomical ¡s . We also compared Domical with Domical ¡s when we have scarce amount of cache space in those nodes that are not candidate core nodes 2 . Our results show that Domi- cal can marginally (· 15%) improve the average startup latency when compared with Domical ¡s . The intermediate nodes are mostly caching the least popular clips that are not referenced that frequently. The infrequent streams generated due to cache misses forunpopularclipshavelittleimpactonformationofbottlenecks. Hence,rightplaceof thesenodesinthehierarchyofcachedependencies,doesnotimprovethestartuplatency dramatically. 2 Thesearethenodesassignedtotheintermediatelevelscachedependencyhierarchy. 49 0 0.2 0.4 0.6 0.8 1 10 20 30 40 50 60 70 80 90 100 α Domical Startup latency (δ) Domical −s 0 0.2 0.4 0.6 0.8 1 20 25 30 35 40 45 50 55 60 65 70 Data availability (%) α Domical Domical −s 5.9.a)Averagestartuplatency 5.9.b)DataAvailability Figure5.9: Effectofα,UK1X, S T S WS = 0.75,andµ = 0.73 5.7 Effectofα Atfirstglance,αappearstobeanimportantknobthatshouldbeconsideredbyDomical as the heterogeneity of the available storage provided by different nodes. This is not true because the value of α has no impact on the available cache space of a node. It onlychangeswhatfractionoftheavailablestorageofanodeistreatedaseitherEliteor Collaborative. Inturn,thisdictateshowgreedyanodebehaves. Whenthevalueofα is settozero,anodeiscompletelycooperativebecauseitcontrolsthecontentofitscache bytakingthecontentofothernodesintoconsideration. Asweincreasethevalueofα,it starts to act more greedy by reducing the size of the Cooperative portion and assigning ittotheEliteportion,becoming100%greedywhenαequalsone. Thus,withanyvalue ofα,theavailablecachespaceofanoderemainsunchanged. Whenα equals one by all nodes, the use of Domical is irrelevant because nodes are notcooperating. Hence,thereisnodifferencebetweenDomical ¡s andDomical. Thisis 50 showninFigure5.9.awherethestartuplatencyobservedbyDomicalandDomical ¡s is identical withα = 1 as the extreme value of the x-axis (target topology consists of six devicesassumedinSection5.6). Aswereducethevalueofα,thenodescontributemore of their cache space to the Cooperative portion. This provides two observations. First, the average startup latency with both Domical ¡s and Domical enhances with smaller values of α up to 0.15 and starts to increase slightly beyond 0.1. Second, Domical’s considerations of heterogeneity in available storage starts to become important because Domical ¡s andDomicaldiverge. Whenα=0inFigure5.9.a,theobservedstartuplaten- ciescorrespondtothepercentagedifferenceshowninFigure5.4where S T S WS is0.75and µ=0.73. We’lldescribeeachobservationinturn. Withsmallervaluesofα,bothDomicalandDomical ¡s improvebecausetheycache differentclipsacrosstheavailablestorageofdifferentnodes. Thisincreasesthenumber of unique clips in the home network, enabling different devices to stream clips to one another. This is in sharp contrast toα=1 where each node caches the popular clips and streams the unpopular clips from Node 5 which serves as the gateway to the outside infrastructure. With α=0.2, the number of unique clips cached across devices is more than a factor of two when compared with α=1.0, see Figure 5.9.b. By empowering differentnodestostreamclipstooneanother,Domicalpreventsformationofbottleneck linkinthenetwork,enhancingaveragestartuplatency. Withsmallervaluesofα,theheterogeneityoftheavailablestoragebecomesimpor- tant because it dictates which nodes contain the popular clips. This in turn controls 51 which nodes stream the popular clips, magnifying the role of the core node. See Sec- tion5.6fortheexplanationoftheimportanceofheterogeneityinavailablestorage. 52 Chapter6 AlternativeTopologies We have studied performance of Domical using alternative home network topologies. We used both the star topology of Figure 6.1.a and various synthetic topologies shown inFigure6.1. Wedescribeourkeyobservationsforeachtopologyinturn. 6.1 Startopology Star topology resembles a deployment with an access point. We consider the following three deployment possibilities with Domical: 1) a wireless devices in the home net- workisconfiguredasanaccesspoint,2)anaccesspointdeviceisdeployedinthehome network, and 3) access point of Deployment 2 configured with a mass storage device. With Deployment 1, the available link bandwidths from/to devices in the star topology is scarce when compared with Deployment 2. This is because of the technologies and N 0 N 1 N 5 N 2 N 3 N 4 N 0 N 1 N 2 N 4 N 5 N 3 5 N 1 N 4 N 0 N 3 N 2 N 5 N 0 N 1 N 2 a)Star b)Kyte c)Dagger d)String Figure6.1: Alternativetopologies. 53 protocols that might be implemented in an access point when compared with config- uring an inexpensive wireless card as access point. For example, recent advances in multiuser-MIMO (MU-MIMO) techniques [GKH + 07] enable a single access point to serve multiple clients simultaneously by leveraging independent multipath channels at each client [XLKP + 09]. With Deployment 3, if the access point is configured with a comparablecachespacetotheotherdevicesinthehome,givenitshighavailableband- width to other devices, Domical may select it as the core node. This is not possible in Deployment 2 because its assumed access point has no storage. Below, we discuss performanceofDomicalwitheachdeployment. WithDeployment1, oneofthedevicesisconfiguredtorelaydatabetweenallother nodes in the network. In our simulations, we formed this topology by identifying one of the devices as the access point, maintaining the links between this device and every other device, and removing other links from the realistic home network topology. We repeated our experiments by considering each and every device in the real home net- work as a candidate for the access point. For example, we considered node 0 as the access point by keeping all the links to/from other nodes to node 0 and removing the rest of the links. The star topology resulted by considering node i as the access point is denoted ¤i. Our simulation results show a cooperative caching technique such as Domicalisnotappropriateforsuchtopologywithscarceamountoflinkbandwidth,see Figure 6.2.a. Bandwidth is scarce because (1) the number of links in the network went downfrom30to10whencomparedwiththerealhomenetworkdeployment,and(2)the 54 bandwidth of the device chosen as the access point is shared among different devices. Thesemotivatetheuseofgreedybecausecooperationbetweendevicesisinappropriate duetoinsufficientnetworkbandwidth[GS08b]. Itcanbeobservedthatastheavailable cachespacebecomeabundant, S T S WS ¸ 1.5,Domicalstartstoperformbetterthangreedy caching. This is because having more available cache space decreases the number of cache misses in the network. This gives the admission control enough available band- width to stream few cache misses from other nodes in the cooperative group. This is not possible when nodes are greedy because all of the nodes have the same content. This is consistent with the observations reported in [GS08b]. With this configuration, the results are independent of which node provides connectivity to the infrastructure outsidethehome. One may consider the availability of data in the network as a yard stick to com- pare Domical with greedy technique. Figure 6.2.b shows Domical caches more unique clips when compared with greedy. While with greedy each node has the same content, differentnodescachedifferentclipswithDomical. With Deployment 2, a full fledged access point is deployed in the home network to facilitate(1)allthecommunicationsbetweendevices,and(2)connectivitytotheinfras- tructure outside the home. A service provider may provide either a high (potentially infinite)orlimitedbandwidthtothisaccesspoint. InthefirstDeployment,thisdifferen- tiation is not important because the available bandwidth inside the home is scarce and the limiting factor. Let L I denote the link to the infrastructure outside the home and 55 0 0.5 1 1.5 2 −40 −20 0 20 40 60 80 *5 *4 *0 S T /S WS Percentage improvement (%) *1 0 0.5 1 1.5 2 0 20 40 60 80 100 S T /S WS Domical Greedy Data availability (%) a)Percentageimprovementbygreedy b)DataAvailability Figure6.2: GreedyVs. Domical,UK1X andµ = 0.73 B(L I ) denote its bandwidth. If B(L I ) is significantly higher than the available band- width in the home network, both Domical and greedy will incur same average startup latency,closetozero. ThisisbecausetheadmissioncontrolcomponentutilizesL I when thebandwidthofthelinktothedevicecontainingthereferencedclipisexhausted. This is independent of the caching technique. If the service provider charges based on the amount of bandwidth consumed using L I then Domical has an advantage over greedy becauseitcachesmoreuniqueclipsinthehomenetwork,seeFigure6.2.b,andusesthe home network to stream whenever possible. This reduces number of streams serviced using L I . As an example, with¤0, µ = 0.73 and S T S WS = 0.5, we observed that greedy utilizes about 12.9Mbps in average onL I while Domical reserves only 6Mbps. This a factorof2.15improvementwithDomical. If B(L I ) is limited, L I may become the bottleneck for the home network. This enables Domical to outperform greedy, since greedy utilizes L I more than Domical. 56 0 0.5 1 1.5 2 14 16 18 20 22 24 26 28 30 32 34 S T /S WS Percentage improvement (%) Figure 6.3: Percentage improvement in average startup latency with Domical, *0 , UK1X,BW L I = 11Mbps,andµ = 0.73 Figure 6.3 shows the percentage improvement in startup latency with Domical when compared with greedy. In these simulations, B(L I ) is set to be 11Mbps and it can be observed that Domical outperforms greedy technique in all cases. This is because Domical caches more unique clips in the home network (Figure 6.2.b) and this reduces thenumberofrequeststhatarestreamedusingL I . Deployment3isafuturisticversionofDeployment2becauseitassumestheaccess point is configured with some storage space designated as collaborative. If this collab- orative space is comparable with every other node, Domical selects this device as the core node because it offers a high network bandwidth to other devices. Based on the available collaborative space of different devices and the available bandwidth between devicesandtheaccesspoint, Domicalmayselectoneofthenodesotherthattheaccess point as the core node. This cause the most popular clips to be cached in a node other 57 thantheaccesspointandcausethelinkfromthisnodetotheaccesspointtobecomethe bottleneck. ThiscandegradetheperformanceofDomicalwhencomparedwithgreedy. Consideringthe¤0topology,weformedDeployment3bygivingnode0someavail- able cache space. We assumed a high amount of bandwidth from node 0, access point, to other nodes (54Mbps) and a limited amount of bandwidth is consider for the links from other nodes to node 0 (11Mbps). When all the nodes including the access point havethesameamountofavailablecachespace,Domicalselectsaccesspoint,N 0 ,asthe core node because of its high available bandwidth to other nodes in the network. The simulation results show that Domical outperform greedy technique independent of the availablecachespace. Without loss of generality, we pickedN 1 and increased the S N 1 S N 0 ratio. When S N 1 S N 0 = 5.8, Domical selectsN 1 as the core node. SelectingN 1 as the core node is not the right choicebecauseitcancausethelinkcomingoutfromN 1 tobecomethebottleneck. This maydegradeperformanceofDomical. Table6.1showsaveragestartuplatencyobserved by greedy and Domical. The numbers in parenthesis show percentage improvement by greedy technique. It can be observed that selection of the wrong core node by Domical degrades its performance when compared with greedy. If Domical were selectedN 0 as the core node, it could enhance startup latency about 25% in average when compared withgreedy. OnemayfixDomicalbyapplyingfollowingsimplerules. First,Domicalshouldnot selectanodewithdegree1andlimitedbandwidthasthecorenode. Second,Nodescan 58 µ = 0.973 µ = 0.73 greedy Domical greedy Domical S T S WS = 0.1 101.67(5.2%) 107.25 298.47(-2.4%) 291.21 S T S WS = 0.5 7.04(65.47%) 20.39 31.14(36.66%) 49.16 Table6.1: Averagestartuplatency(Seconds),Startopology run Domical ¡s and the node that has a link with calculated load ¸ 0.95 should NOT be selected as the core node although Domical selects it as the core node based on its availablecachespace. 6.2 Othersynthetictopologies InadditiontoStartopology,Wehavestudiedalternativesynthetichomenetworktopolo- gies of Figure 6.1. We studied these topologies with link bandwidths ranging from 2 to 16Mbps. We also looked at simulation scenarios that these topologies are formed by removingfromrealistichomenetworktopology. TheStringtopologyresemblesdevices lined up in different rooms of a house. Topologies of Figures 6.1.a, denoted as Kyte, and6.1.b,denotedasDagger,mightpertaintowirelessdevicesscatteredinamultistory house. WehaveusedthesetopologiestoevaluateperformanceofDomical. Kytetopology. Figure6.4showspercentageimprovementinstartuplatencywhencom- paringdifferentcooperativecachingtechniqueswithgreedyconsideringtheKytetopol- ogy. Figure 6.4.a compares Domical with two other caching techniques that chooseN 0 andN 2 as the core node 1 . At first glance, choosing the core node for the Kyte topology 1 DomicalselectsN 3 asthecorenodegivenUK1X availablebandwidthfortheKytetopology. 59 0 0.5 1 1.5 2 30 40 50 60 70 80 90 S T /S WS Percentage improvement (%) N 2 Domical N 0 0 0.5 1 1.5 2 20 30 40 50 60 70 80 90 S T /S WS Percentage improvement (%) μ=0.973 μ=0.73 μ=0.25 a)µ = 0.73 b)Differentdistributionsofaccess. Figure6.4: Percentageimprovementinaveragestartuplatency,Kytetopology,UK1X looks trivial. One may intuitively choose N 2 which is the node with highest number of neighbors as the core node. But Domical selects N 3 in Kyte as the core node and thesimulationresultsofFigure6.4.ashowssuperiorityofDomicaltotheapproachthat selects N 2 as the core. Selection of N 3 as the core node by Domical distributes data items in the wireless network in a way that reduces the likelihood of bottleneck for- mation. ThisenablesDomicaltoenhancestartuplatencywhencomparedwithagreedy technique. Wealsolookedatdifferentdistributionsofaccess. Theobtainedresultsshow thatDomicaloutperformsgreedybyanoticeablemargin(¸ 20%),seeFigure6.4.b. Daggertopology. WerepeatedaboveexperimentsforDaggertopology. Incomparison with above, Domical selects N 2 as the core node. Figure 6.5 compares Domical with two other approaches that select N 0 and N 1 as the core node respectively. It shows percentageimprovementinstartuplatencywitheachofthesetechniquesincomparison with greedy. It can be observed that when the available storage is scarce ( S T S WS · 0.5), 60 0 0.5 1 1.5 2 0 10 20 30 40 50 60 70 S T /S WS Percentage improvement (%) N 1 Domical N 0 Figure6.5: Percentageimprovementinstartuplatency,Dagger,UK1X,andµ = 0.73 0 0.5 1 1.5 2 0 10 20 30 40 50 60 70 S T /S WS Percentage improvement (%) Domical N 1 0 0.5 1 1.5 2 10 20 30 40 50 60 70 80 S T /S WS Percentage improvement (%) Domical N 0 a)4nodes b)6nodes Figure 6.6: Percentage improvement in startup latency, String topology, BW = 5.5Mbps,andµ = 0.73 selectionoftherightcorenodeiscrucialandhelpsDomicaltooutperformgreedywitha largermarginwhencomparedwithothertechniques. Thisisbecausechoiceoftheright core node will centralize the most popular clips strategically in a node that can reduce likelihood of bottleneck formation. This enhances the average startup latency observed inthenetwork. 61 String topology. We evaluated performance of Domical in String topology of Fig- ure 6.1.c. We looked at String topologies with different number of nodes varying from 3to8nodes. Inallofourexperiments,Domicaloutperformsgreedycachingtechnique, see Figure 6.6 for a sample of the simulation results. Also we evaluated effectiveness of Domical in selecting the right core node. With 4 nodes or less, Domical selects thenodefarthestfromthebasestationasthecorenode,N 0 ,butasthenumberofnodes increasesDomicalstartsselectingN 1 ,theneighboringnodetoN 0 asthecorenode. This is because Domical wants to centralize the most popular clips in the node that decrease the likelihood of bottleneck formation. The simulation results of both Figures 6.6.a and 6.6.b show that Domical outperforms other cooperative strategy that considers a nodeotherthanDomical’scoreasthecorenodebyasmallmargin. 62 Chapter7 AComparisonofDomicalwithAn AlternativeCooperativeCaching Technique DCOORDisacooperativecachereplacementtechniqueforhomegateways[Bah04]. In thischapterwepresentDCOORDandcompareitsperformancewithDomical. Obtained resultsshowsuperiorityoftheDomicalframework. 7.1 DCOORD DCOORD manages the cache space of devices participating in a cooperative group at thegranularityofaclip[Bah04]. Itconsidersbothlocalandremotehitswhenchoosing victims. Pseudo code of Figure 7.1 shows details of DCOORD cache replacement. Similar to Domical, DCOORD divides the cache space of N i into two sets: 1) WS: working set, and 2) SS: shared set. It includes a configurable knob, denoted as α, that decideswhatfractionofstorageisassignedtoWSandSS.SizeofWSisα£S N i while size of SS is (1¡ α)£ S N i . Both local and remote cache hits impact assignment of 63 clips to SS and WS. A local hit for clip C j moves C j to the WS while a remote hit for C j moves it to SS increasing the likelihood of its victimization. The clips in the SS are evicted first. When α = 1, DCOORD is reduced to LRU [OOW93] with each node managingitscachegreedily. The data structures that DCOORD uses consist of a directory and a list. The direc- toryhasthelocationinformationoftheclipsinthecooperativegroup. Aliststructureis usedtomaintaintheclipsinthelocalcacheliketheLRUreplacementpolicy. Themost recently accessed clip by a node moves to the “tail” of the list and joins the WS. Note that the WS covers a certain fraction of clips at the tail of the list. The “head” of the list points to the least frequently accessed clip in the cache which is the candidate for eviction by DCOORD. When a clip in the SS is requested by a neighboring device, it movestotheheadofthelistbecauseitwillbecachedattherequestingdevice. Thiswill eventuallyincreasethenumberofuniqueclipscachedinthecooperativegroup. Onthe otherhand,ifaclipintheWSisreferencedbyaneighboringdevice,theclipremainsin WSbecauseitisconsideredtobehot. 7.2 Performanceevaluation In this section, we analyze response time of DCOORD as a function of α. We also compare Domical with DCOORD using a heterogeneous repository. We have observed that Domical outperforms DCOORD in the most configurations with a heterogeneous repository. 64 LetF denotethefreecachespaceofN k ; LetX denotetheclipmissingfromN k ; LetWS N k denotetheWorkingSetofN k ; LetSS N k denotetheSharedSetofN k ; ifX isinN 0 k slocalcache MoveX tothetailofWS N k ; else f ifF isinsufficienttoaccommodateclipX VictimizeclipsfromtheheadofSS N k until sufficientfreespaceisavailabletoaccommodateX; N j =Hash(X); ifN j isoneofthenodesinthecooperativegroup f StreamandCacheclipX fromN 0 j scache; ifX isintheSS N j MoveX totheheadofSS N j ; g else StreamandcacheclipX fromthebasestation; MoveX tothetailofWS N k ; g displayX; Figure7.1: DCOORDClipReplacement The heterogeneous repository consist of 864 clips. Half of the clips in it are low resolutionwithdisplaybandwidthrequirementof2Mbps. Theotherhalfarehighreso- lution with display bandwidth requirement of 4 Mbps. Clips that constitute each media typehaveadisplaytimeof30,60,and120minutes. Thus,therepositoryconsistsofsix differentcliptypes. Withthesamenumberofclips(144)foreachtype. 65 7.2.1 Acomparison Figure7.2.ashowstheincurredaveragestartuplatency(δ)withDomicalandDCOORD asafunctionofα. ItalsoshowsthatDomicaloutperformsDCOORDbyawidemargin. We begin by analyzing the impact of α on DCOORD 1 . Subsequently, Section 7.2.2 describeswhyDomicalissuperiortoDCOORD. WithDCOORD,asweincreasethevalueofα,eachdevicededicateslessofitsstor- age to the SS for cooperation. At its extreme when α=1, each node is independent of othernodesinthenetworkandapproximatesLRUasitscachereplacementpolicy. This greedy mode of operation impacts the average startup latency (δ) adversely because it prevents DCOORD from caching many unique clips across devices in the home net- work, see Figure 7.2.b. This causes more clips to be streamed from the infrastructure outside of the home, increasing the likelihood of the upload link from N 5 becoming exhausted. This is consistent with our previous results [GSH08, GS08b] showing that whenthebandwidthisabundant,nodesshouldcooperate. The best average startup latency is obtained when devices share all their available storage,α=0. Whenthewirelessnetworkbandwidthisabundant,averagestartuplatency degradeswithα settoavaluegreaterthan0(notsharingsomepartofavailablestorage ofeachdevice). Notethatdecreasingvalueofαfrom1(fullygreedy)to0.5(halfcoop- erative) does not improve the startup latency significantly. In essence, in a home net- workwhereeachdeviceshareshalfofitsavailablestorage(α=0.5),itisnotworthwhile 1 AnanalysisoftheperformanceofDomicalasafunctionofαisdetailedinSection5.2. 66 0 0.2 0.4 0.6 0.8 1 160 180 200 220 240 260 280 300 DCOORD Average startup latency (δ) α Domical 0 0.2 0.4 0.6 0.8 1 25 30 35 40 45 50 α DCOORD Data availability (%) Domical 7.2.a)Startuplatency 7.2.b)Dataavailability Figure7.2: Differentαvalues,DomicalVsDCOORD,UK0.5X,µ = 0.25, S T S WS = 0.5 to deploy DCOORD because a simple greedy approach like LRU [OOW93] 2 provides almostthesameperformance. Withaveryskeweddistributionofaccess(µ = 0.973)andascarceamountofband- width (UK0.5X), some level of greediness may improve the average startup latency. This changes the convex curve of Figure 7.2.a into a concave one, see Table 7.1. In thiscase,thestartuplatencyimprovesasthevalueofα isreducedfrom1.0toathresh- old (' 0.1). Beyond this threshold, the startup latency increases. Adding more greedy behavior to each node increases the average cache hit rates and improves the startup latency by a small margin in the presence of a very skewed distribution of access and scarceamountofbandwidth. 2 DCOORDwithα=1approximatesLRU 67 7.2.2 AcomparisonofDomicalVsDCOORD Figure 7.2.a shows that with bandwidth configuration of UK0.5X, a distribution of access that is close to uniform,µ = 0.25, and a moderate available storage, S T S WS = 0.5, Domical outperforms DCOORD. It can be observed that asα changes the gap between Domical and DCOORD remains substantial. When α is close to zero the number of unique clips cached by Domical in the cooperative group is higher than DCOORD enablingDomicaltooutperformDCOORD,seeFigure7.2.b. Thisisbecauseofhierar- chy of cache dependencies formed by Domical. As we increase the value of α (nodes become more greedy), Domical caches fewer unique clips when compared with DCO- ORD. However, Domical continues to outperform DCOORD for two reasons. First, Domical and DCOORD employ different local replacement algorithms. When α = 1, each node is managing its cache using DYNSimple and LRU with Domical and DCO- ORD, respectively. DYNSimple is a size sensitive replacement technique and outper- forms LRU, see discussion of Chapter 4. Second, with values of α less than 1, the dependency groups of Domical is generally a better approach because they prevent for- mationofbottlenecklinkswhenbandwidthisscarce. Toillustrate,Table7.1showsaveragestartuplatencyofDomicalandDCOORDasa functionofαanddifferentdistributionsofaccess. SametrendsofFigure7.2aremostly observed. When the distribution of access is skewed, µ = 0.973 or µ = 0.73, and α = 1,DCOORDoutperformsDomical. Withthesesettings,cachingmoreuniqueclips 68 0 0.1 0.25 0.5 0.75 1 1.25 10 15 20 25 30 35 40 45 50 55 μ=0.973 μ=0.73 μ=0.25 S T /S WS Percentage improvement (%) 0 0.1 0.25 0.5 0.75 1 1.25 0 10 20 30 40 50 S T /S WS Percentage improvement (%) UK1X UK0.5X UK0.25X 7.3.a)UK1X 7.3.b)µ = 0.73 Figure7.3: DomicalVs. DCOORDwithaheterogeneousdatabase byDCOORD,seeFigure7.2.b,enhancesthestartuplatencyincomparisonwithDomi- cal. This is because bandwidth becomes the bottleneck in the system and caching more numberofuniqueclipsinthenetworkreducelikelihoodofbottleneckformationenhanc- ingthestartuplatency. Fortherestofthisstudy,wevaryαfrom0to1exhaustivelyand comparethebestperformanceofDomicalwiththebestoutcomeofDCOORD. It has been observed that with a heterogeneous database Domical is superior to DCOORD. Figure 7.3 shows percentage improvement in the average startup latency with Domical over DCOORD. Percentage improvement is defined as: 100£ δ(DCOORD)¡δ(Domical) δ(DCOORD) . Figure7.3.afocusesoneffectofdistributionofaccessandshows that with different distributions of access Domical outperforms DCOORD by a wide margin. This is because of hierarchy of cache dependencies formed by Domical to reduce likelihood of bottleneck formation. Figure 7.3.b investigates effect of available 69 α = 0.0 α = 0.01 α = 0.1 α = 0.5 α = 1.0 µ = 0.973 Domical 198.98 203.21 168.41 161.28 327.29 DCOORD 225.15 196.64 221.68 233.31 238.02 µ = 0.73 Domical 378.58 382.17 354.95 364.60 631.51 DCOORD 537.91 460.87 532.80 551.97 560.05 µ = 0.25 Domical 713.07 687.08 743.14 746.60 803.55 DCOORD 891.61 1030.39 1032.69 1036.65 1073.41 Table 7.1: Average Startup latency of Domical and DCOORD with different distribu- tionsofaccessandα values,UK0.5X, S T S WS = 0.25 bandwidth. As we vary the available bandwidth fromUK1X toUK0.25X, the differ- ence between Domical and DCOORD diminishes because bandwidth becomes scarce andahierarchyofcachedependenciesisNOTthatmuchbeneficial. As discussed above, the key differences between Domical and DCOORD are two fold. First, the size sensitivity of local replacement of Domical (DYNSimple) is ben- eficial in comparison with replacement strategy of DCOORD which resembles LRU. Second, the hierarchy of cache dependencies formed by Domical based on the band- width contention ratio, ζ, helps Domical to reduce probability of bottleneck formation whichenhancesstartuplatencyincomparisonwithDCOORD. We can remove the impact of variable clip sizes and study the effectiveness of hier- archy of cache dependencies of Domical while comparing its performance with DCO- ORD.WetriedtomeetthiscriterionbyemployingthehomogeneousrepositoryofSec- tion 3.2. Assuming the homogeneous repository, Figure 7.4.a shows the percentage improvementinstartuplatencyobservedwithDomicalwhencomparedwithDCOORD with different distributions of access when bandwidth is abundant (UK1X). Domical 70 outperforms DCOORD with a skewed distribution of access to clips, both µ = 0.973 and 0.75. With a more uniform distribution of access, DCOORD starts to outperform Domical when storage is abundant. In the following, we explain each observation in turn. With a skewed distribution of access, Domical outperforms DCOORD because DCOORD does not consider the asymmetric bandwidth of the wireless connection between devices. Devices compete for the popular clips and cache them irrespective oftheiruplinkbandwidth. Domicalminimizesthebandwidthcontentionratiometricof thenetworkbyconstructingdependencygroups. Thisconstrainstheplacementofpopu- larclips,minimizingthelikelihoodofbottlenecklinksforminginthewirelessnetwork. ThisenablesDomicaltooutperformDCOORD. With a more uniform distribution of access (µ = 0.25), DCOORD starts to outper- formDomicalasweincreasetheamountofavailablestorageperdevice. Thisisbecause DCOORDmaterializesalargernumberofuniqueclipsacrossdevices,seeFigure7.4.b, and use the high wireless network connection to enable devices to stream clips among one another. With Domical, when a device references a clip that is not resident in the cacheofanotherdevice,theclipmustbestreamedfromtheinfrastructureoutsideofthe home. When many devices incur such scenarios (due to a uniform access pattern), the linkfromnodeN 5 tootherdevicesbecomesabottleneck,seeFigure1.1.e. A key question is why DCOORD is able to materialize a larger number of unique clips across nodes? The answer is two folds. First, we configured DCOORD withα=0, 71 0 0.2 0.4 0.6 0.8 1 1.25 −40 −30 −20 −10 0 10 20 30 40 50 Percentage improvement (%) S T /S WS μ = 0.973 μ = 0.73 μ = 0.25 0 0.5 1 1.5 2 0 20 40 60 80 100 S T /S WS Data Availability (%) Domical DCOORD 7.4.a)%improvementwithDomical 7.4.b)µ = 0.25 Figure7.4: DomicalVs. DCOORD,UK1X forcing nodes to cooperate with one another. Second, withµ = 0.25, the popularity of clipsisnotidentical;afewclipsaremorepopularthanotherclips. WithDomical,these clipsarereplicatedacrossthreedevices(N 4 ,N 3 ,andN 5 ). WithDCOORD,thereisone copy (sometimes two copies) of these clips across devices. The explanation for why DCOORD constructs one copy of the most popular clip, say C p , is as follows. When a node, say N 3 , references C p , it copies this clips at the tail of its shared set (there is no working set because α=0). The probability of N 3 ’s subsequent request referencing C p is low because µ = 0.25. The probability of another device referencing C p is five times higher (because the network consists of six devices). Every time this happens, DCOORDforcesN 3 tomoveC p totheheadofitssharedsetasthenextcliptoreplace. Thisreplacementisverylikelybecauseoftheuniformaccesspattern,causingtheneigh- bor that referenced C p to contain a unique copy of the most popular clip. This process repeats with one copy of C p being passed from one device to another. By minimizing 72 copies of popular clips such as C p , DCOORD materializes a larger number of unique clipsacrossdevicesandoutperformsDomicalwhenbandwidthisabundant. 73 Chapter8 GranularityofData: Clip-basedor Block-basedReplacement? This chapter describes a greedy and a cooperative replacement technique for a device that manages its cache at the granularity of a block. They are named 1 Node Greedy BlockReplacement(1-GBR)andDomicalBlockReplacement(DBR),respectively. As implied by its name, 1-GBR is appropriate for an environment consisting of a device with connectivity to a gateway. Both 1-GBR and DBR strive to enhance the incurred average startup latency. We conceptualize a clip as a sequence of blocks and introduce the concept of urgency-worthiness of a block defined as how urgently the bytes of that block are needed once the clip’s display has been initiated. While DBR applies this concept across all blocks uniformly, 1-GBR applies the concept to non-prefetch blocks only and favors caching of prefetch blocks. Section 8.2 explains this design difference. DBRemploystheDomicaldependencygroupsofChapter5andissurprisinglysimple. Section8.3describesintuitiveextensionsoftheDBRthatfavorcachingprefetchblocks of a clip always. Lesson 2 of Section 8.4 shows these alternatives are inferior to the simpletechnique. 74 8.1 1-GBR:GreedyBlockReplacement One Node Greedy Block Replacement, 1-GBR, is appropriate for an environment con- sisting of a single device. Figure 8.1 shows the pseudo-code of 1-GBR as invoked by a node,N k . To explain its details, assumeN k is in the range of a wireless home gateway and references clip X with some of its blocks missing from N k ’s local cache. Set M containsthesemissingblocks. IfN k hassufficientfreecachespacetostoremembersof setM thenN k streams and stores them in its cache. IfN k has the first few blocks ofX suchthattheirdisplaymasksthetimerequiredtodownloadtheblocksinsetM thenN k initiatesthedisplayofX. Thisformofoverlappingthedisplayofaclipwithdownload- ing its missing blocks is named progressive [MD04] display. The number of required blocksisafunctionofthebandwidthofthewirelessconnectionfromthehomegateway to the device (B Network ) and the bandwidth required to display the clip X (B Displayx ). It is defined as p X = Max(0,d(1¡ B Displayx B Network )£jXje) wherejXj denotes the number of blocks of clip X. Assuming blocks of X are numbered from 0 to jXj¡ 1, those blocks with ids smaller than p X constitute the prefetch portion of X. They are named the prefetch blocks, P-blocks of clip X. Other blocks of X are named non-prefetch, NP-blocksof X. WhenN k ’scacheisfullsuchthatitcannotstoreblocksinsetM,thenN k freesspace by selecting victim blocks and swapping them out. To select victims, 1-GBR maintain 2 disjoint sets of blocks residing in its local cache: fP-blocks g, and fNP-blocks g. It victimizes NP-blocks first using their urgency-worthiness, defined as f i d ij £B Display i . The 75 LetF denotethefreecachespaceofN k ; LetM denotethoseblocksofX missingfromN k ; LetP denoteprefetchblocksofdifferentclips (excludingthoseofX)inN k ’scache; LetNP denotethenon¡prefetchblocksofdifferentclips (excludingthoseofX)inN k ’scache; While(F <Sizeof(M))f if(NP isnonempty) VictimizethoseNP blockswithminimum f i d ij £B Display i ; else VictimizethoseP blockswithminimum f i S P i ; g StreamandcachethoseblocksinsetM; Figure8.1: 1-GBR:Block-basedgreedycachingalgorithm variable d ij defines how urgently block j of clip i is needed for display. Assuming the display of clipi may tolerateδ startup latency and the first byte of blockj is displayed attimetrelativetothestartoftheclipdisplaytime,d ij =t+δ. OnceNP-blocksareexhausted,1-GBRvictimizesP-blocksusingtheirbyte-hitratio, f i S P i whereS P i denotes the size of P-blocks. This is because the urgency of all P-blocks innodeN k blocksarethesame. Thebyte-hitmetricenhancesthelikelihoodofafuture requestfindingtheprefetchportionofitsreferencedclipinthecache. Weranexperimentstocompare1-GBRwithDYNSimple[GS07]ofChapter4. Our target environment consists of one device withS T as its cache space. The WS consists of 576 clips with a bandwidth requirement of 4 Mbps. All clips have a display time of 30 minutes. This last assumption renders DYNSimple to be LFU. 1-GBR outperforms DYNSimple in all our experiments including those with heterogenous mix of media 76 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0 20 40 60 80 100 1 Mbps 2 Mbps 3 Mbps Percentage improvement (%) S T /S WS Figure8.2: 1-GBRVs. DYNSimple. types. Figure 8.2 shows the results for different S T S WS ratios with a skewed distribution of access. This figure shows the percentage improvement obtained by the block-based when compared with clip-based caching for wireless connections with bandwidth of 1, 2, and 3 Mbps. The block-based greedy caching technique outperforms DYNSimple because it maintains the prefetch portion of different clips cache resident. DYNSimple maximizesthebyte-hitratioanddoesnotdifferentiatebetweenthedifferentblocksofa clipandhowurgentlytheyareneeded. 8.2 DBR:DomicalBlockReplacement The cooperative version of block replacement technique constructs the dependency groups between different devices using the Domical technique, see Chapter 5. A device N i maintains two lists of block occupying its cache: 1) those that occupy the cache of devices thatN i depends on, overlapping blocks, labeled O-blocks, 2) all other 77 blocks,non-overlappingblocks,labeledNO-blocks. DBRvictimizestheO-blocksprior to swapping out NO-blocks. It chooses victims with the objective to maximize the urgency-worthinessofthebytesoccupyingthedifferentcachesinthecooperativegroup. Thissimpletechniqueisextremelyeffective,seeLessons1and2ofSection8.4. DBRdoesnotdifferentiatebetweenP-blocksandNP-blocksofdifferentclipsoccu- pying its cache. While appropriate with an environment consisting of multiple devices, DBR is not a substitute for 1-GBR in an environment consisting of a single device. For example, with a 3 Mbps network connection from the home gateway to a device and S T S WS =0.3, startup latency with DBR is three times worse than 1-GBR. This is because DBR does not cache the prefetch portion of as many clips as possible. As detailed in Lesson 1 of Section 8.4, the urgency-worthiness metric causes a device to cache all blocks of a few popular clips by swapping out the prefetch portion of the least popular clip. 8.3 IntPrefixandFragPrefix: PrefixvariationsofDBR This section presents two intuitive extensions to the simple DBR technique of Sec- tion8.2. Thefirstalternative,IntegralPrefix(IntPrefix),strivestomaintaintheprefetch portionofclipscacheresident. Eachdevicemeasuresitsavailabledown-linkbandwidth from its one hop neighbors in order to compute the prefetch portion of each clip, see Section8.1. ItfavorsP-blocksofdifferentclipsbyvictimizingblocks 1 asfollows: First, 1 Thisconceptualdescriptionmightbeimplementedefficientlyinseveralways. 78 LetF denotethefreecachespaceofN k ; LetM denotethoseblocksofX missingfromN k ; LetO¡Blocksdenotethoseblocks(excludingthoseofX) thatareincommonwiththedependencygroupsthatN k ’s cachedependson; LetNO¡Blocksdenotethoseblocks(excludingthoseofX) thatdoNOToverlapwiththedependencygroupsthatN k ’s cachedependson; While(F <Sizeof(M))f if(O¡Blocksisnonempty) VictimizethoseO¡Blockswithminimum f i d ij £B Display i ; else VictimizethoseNO¡Blockswithminimum f i d ij £B Display i ; g StreamandcachethoseblocksinsetM; Figure8.3: DBR:DomicalBlockReplacement it identifies the O-blocks and the NO blocks of different clips. Next, it separates these intoP-blocksandNP-blocks. Thisresultsinfoursetsofblocks: 1)O-blocks:NP-blocks, 2) NO-blocks:NP-blocks, 3) O-blocks:P-blocks, and 4) NO-blocks:P-blocks. It swaps outblocksstartingwiththoseinset1. Itdoesnotswapoutblocksofthenextsetunless thecurrentsetbecomesempty. Moreover,onceitstartstodeletetheblocksofaprefetch portionofaclipX,itdoesnotvictimizeprefetchportionofanotherclipuntilallblocks ofX’sprefetchportionareswappedout. Inessence,itallowsatmostonepartialprefetch portionofacliptooccupythecacheofadevice. IntProg causes the P-blocks of different clips to occupy the cache of different devices. Thisdegradestheaveragestartuplatencybecause,onceaclipisreferencedby a device, its remaining blocks must be streamed from the home gateway. This exhausts 79 theavailablenetworkbandwidthfromthebasestation,causingdifferentdevicestowait foranother. FragPrefixmodifiesIntPrefixintwoways. First,itswitchestheorderofsets2and3 in order to victimize the overlap blocks first always. Second, blocks that constitute the prefetch portion of different clips compete based on their urgency-worthiness metrics. Hence,partialprefetchportionsofdifferentclipsmaycompeteforthecacheofadevice. ThisimprovesIntFragsignificantly,seeTable8.1. However,FragProgremainsinfe- rior to the simple block-based cooperative caching. This is because prefetch blocks are replicated more aggressively and delivery of non prefetch blocks forms bottleneck connectionsbetweendevices,resultinginahigherstartuplatency. Lesson2ofSection8.4showsFragPrefixissuperiortoIntPrefix. DBRoutperforms bothbyawidemargin. 8.4 Acomparison Thissectionpresentsfourkeylessonsobservedfromourexperimentscomparingblock- basedtechnique,DBR,withclip-basedtechnique,DCR. Lesson 1: Block replacement technique (DBR) outperforms clip replacement technique (DCR) when nodes cooperate: Figure 8.5 shows the percentage improvement observed with Domical Block Replacement (DBR) when compared with Domical Clip Replace- ment (DCR). Assuming δ is the average startup latency observed with each technique, percentageimprovementisdefinedas100£ δ(DCR)¡δ(DBR) δ(DCR) . Thisisshownonthey-axis 80 0 200 400 600 800 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Clip ID Replicated portion of clip Figure8.4: StartingClipdistribution S T S DB = 0.75 0 0.5 1 1.5 2 −20 −10 0 10 20 30 40 50 60 70 80 Percentage improvement (%) S T /S WS UK0.25X UK0.5X UK1X 0 0.5 1 1.5 2 −40 −20 0 20 40 60 80 S T /S WS Percentage improvement (%) μ = 0.25 μ = 0.73 μ = 0.973 8.5.aµ = 0.73 8.5.bUK1X Figure 8.5: Percentage improvement with DBR caching when compared with coopera- tiveclip-basedcaching. ofFigure8.5asafunctionofdifferent S T S WS values. Figure8.5.ashowsthisimprovement foraskeweddistributionofaccesstoclips(µ = 0.73)anddifferentscalingoftheband- widths reported for the British household of [PYC06]. Figure 8.5.b focuses onUK1X and analyzes alternative distributions of access to clips: very skewed withµ=0.973 to a 81 more uniform distribution withµ=0.25. These results show DBR outperforms DCR by asignificantmargin,enhancingaveragestartuplatency. The bandwidth contention metric of the Domical cooperative technique constructs the same Domical dependencies between the nodes with both clip and block replace- ment techniques. Both assign Node 4 to d 0 , and assign Nodes 0, 2, 1, 3, and 5 to d 1 , d 2 , d 3 , d 4 , d 5 , respectively. The key difference between the two techniques is the real- ized placement of data across devices. We describe this starting with the block-based technique. Figure 8.6 shows placement of data across different nodes at the end of the simula- tion whenµ=0.73 and S T S WS =0.75. The x-axis of this figure is the id of clips in descend- ingorderofpopularity. They-axisshowsthefractionofeachcachedclip. Figure8.6is evolution of the original assignment shown in Figure 8.4. It shows the following three observations. First,DBRenablesNode4tocachethe(first23)popularclipsoftheWS in their entirety. It caches a decreasing fraction of the remaining clips based on their popularity: 50-90% of clips 24 to 44, 20-50% of clips 45 to 110, and 10% of clips 111 to 495. The last category of 384 clips consists of one block per clip because each clip consists of 10 blocks. Node 4 exhibits this behavior because (a) the state of its cache is independent of other devices, and (b) blocks compete for the available cache space usingtheirurgencyworthinessmetric. Second, Node N 5 with highest dependency on other nodes contains more popular blocksthanothernodeswithfewerdependenciesonotherdevicessuchasN 0 . Figure8.6 82 0 200 400 600 800 0 0.2 0.4 0.6 0.8 1 Clip ID Replicated portion of clip 0 200 400 600 800 0 0.2 0.4 0.6 0.8 1 Clip ID Replicated portion of clip 0 200 400 600 800 0 0.2 0.4 0.6 0.8 1 Clip ID Replicated portion of clip 0 200 400 600 800 0 0.2 0.4 0.6 0.8 1 Clip ID Replicated portion of clip 0 200 400 600 800 0 0.2 0.4 0.6 0.8 1 Replicated portion of clip Clip ID 0 200 400 600 800 0 0.2 0.4 0.6 0.8 1 Clip ID Replicated portion of clip a)Node4 b)Node0 c)Node2 d)Node1 e)Node3 f)Node5 Figure8.6: Distributionofblocksacrossdevicesinthenetworkµ = 0.73, S T S WS = 0.75 0 200 400 600 800 0 0.2 0.4 0.6 0.8 1 Replicated portion of clip Clip ID 0 200 400 600 800 0 0.2 0.4 0.6 0.8 1 Replicated portion of clip Clip ID 0 200 400 600 800 0 0.2 0.4 0.6 0.8 1 Replicated portion of clip Clip ID 0 200 400 600 800 0 0.2 0.4 0.6 0.8 1 Replicated portion of clip Clip ID 0 200 400 600 800 0 0.2 0.4 0.6 0.8 1 Replicated portion of clip Clip ID 0 200 400 600 800 0 0.2 0.4 0.6 0.8 1 Replicated portion of clip Clip ID a)Node4 b)Node0 c)Node2 d)Node1 e)Node3 f)Node5 Figure8.7: Distributionofclipsacrossdevicesinthenetworkµ = 0.73, S T S WS = 0.75 shows this as follows. While Nodes 0 and 2 have no blocks of the (first 23) popular clips, an increasing number of such blocks occupies the caches of Nodes 1, 3, and 5 with Node 5 containing the highest number. This is counter intuitive because Node 0’s cache depends only on Node 4 while Node 5’s cache depends on all nodes. To explain this, one must separate the logical placement suggested by Domical from its realized placement 2 . Its logical placement suggests five groups of blocks sorted in descending order based on their urgency-worthiness. Logically, these should be assigned to Nodes 4,0,2,1,3,and5,respectively,becauseoftheirdependencyorder. However,inpractice, ablockoccupiesthecacheofadeviceonlywhenitisreferenced. Ifanunpopularblock is not referenced then the popular blocks compete for its logical cache space. This is the case with Node 5: Its logically assigned blocks are so unpopular that Node 5 does not reference them. This enables the blocks of a popular clip referenced by Node 5 to 2 Therealizedplacementisintentionalwhilethesuggestedlogicalplacementisundesirable. 83 occupyitscachepermanently. Moreover,whenanodeinthedependencygroupofNode 5 (say Node 0) references an unpopular clip (that should belong to Node 5 logically) coincidentally, Node 0 caches blocks of this clip. This prevents Node 5 from caching theblocksofthisclipbecausethestateofitscachedependsonNode0. Nodes 0 and 2 service their frequent references for the popular clips by streaming them from Node 4. This is desirable because Node 4 provides the highest network bandwidth and balances the load across the wireless network connection evenly. The bandwidth contention ratio metric of Domical [GS08c] is responsible for computing thisnodeandassigningittod 0 . Third, Nodes 0 and 2 contain mostly partial clips while other nodes have tens of clipsintheirentirety. IntheexperimentsofFigure9,Nodes4,0,2,1,3,and5have23, 1,1,24,27,and25completeclipsintheircaches,respectively. Theexplanationforthis isasfollows. Nodes0and2areforcedtocontaintheprefetchblocksofmanydifferent clipsbecause: 1)theyaredependentonNode4,and2)theyreferencetheblocksofclips logically assigned them. Nodes 1, 3, and 5 do not reference all their logically assigned clips. Moreover, Nodes 4, 0, and 2 have a very small fraction of overlapping blocks (< 0.1%)whiletheothernodeshavesignificantlyhighernumberofoverlappingblocks. These 3 observations imply the following. When Nodes 4, 1, 3 and 5 reference the most popular clip, they observe a cache hit for this clip and do not need network band- widthforitstransmission. WhenNodes0and2referencethisclip,theyretrievealmost all blocks of this clip from their neighboring devices. They have multiple candidate 84 server nodes to stream these clips from because these blocks have multiple (potentially four) replicas. Domical chooses Node 4 strategically because it has the highest amount of network bandwidth and streams blocks to Nodes 0 and 2 without causing bottleneck links. Figure 8.7 shows the distribution of clips across the nodes with Domical Clip Replacement,DCR.ThegreatestconcentrationofpopularclipsisonNode4becauseit employs DYNSimple in a greedy manner. Node 0 contains the 2nd most popular group ofclipsbecauseitsstatedependsonNode4anditvictimizesthoseclipsthatarecached by Node 4 first. While Nodes 2, 1, 3, and 0 contain most of the unpopular clips, it is interesting to note that Nodes 3 and 5 contain the most popular clips. The explanation forthisisthesameasDBRwhereanode,sayNode5,mustreferenceanunpopularclip in order to cache it. If Node 5 does not reference its logically assigned unpopular clips thenpopularclipsstarttooccupyitscachespace. WhiletheimpactofDomicalonbothclipandblockreplacementtechniquesisiden- tical, the block-based caching has three advantages. First, some devices contains the prefetch portion of a clip, enabling them to overlap the display of this portion with the retrievaloftherestoftheclips,minimizingtheincurredstartuplatency. Second,adevice mayretrievetheblocksofaclipindifferentorderfromdifferentnodes,maximizingthe utilization of network bandwidth. Third, block replacement has a higher percentage of the repository cached across devices; typically 10% higher. This enhances the ability of different nodes to stream blocks amongst each other, minimizing dependency of the 85 S T S WS DBR IntPrefix FragPrefix 0.05 3165 4043(-21.71%) 3701(-14.47%) 0.1 2676 3734(-28.32%) 3301(-18.93%) 0.5 1334 2753(-51.53%) 1675(-20.34%) 0.75 870 2419(-64.05%) 1120(-22.35%) 1 546 2155(-74.69%) 725(-24.77%) 2 137 1290(-89.37%) 241(-43.08%) Table8.1: AveragestartuplatencywithDBR,IntPrefixandFragPrefix. network on the wireless connection of N 5 as the intermediatory to the home gateway andtheinfrastructureoutsideofthehome. Lesson2: IntPrefixandFragPrefixareinferiortoDBR:Table8.1showsDBRenhances average startup latency when compared with its two variants IntPrefix and FragPrefix described in Section 8.3. The numbers in parentheses show the percentage degradation instartuplatencyobservedwithIntPrefixandFragPrefixwhencomparedwithDBR.Int- PrefixisinferiortobothDBRandFragPrefixbecauseitmaterializestheprefetchportion ofasmanyclipsaspossibleinthecacheofeachdevice. Whenadevicereferencesaclip, its NP-blocks must be streamed using the home gateway. This exhausts N 5 ’s wireless bandwidth connection, see Figure 1, causing devices to wait for one another. FragPre- fixvictimizesoverlappingP-blocksfirst(priortonon-overlappingNP-blocks),reducing the degree of replication for the P-blocks. However, it continues to favor replication of P-blocksbecauseitvictimizesNP-blocksthatareoverlappingfirst(independentoftheir urgency-worthiness). In contrast, DBR forces overlapping P and NP blocks to com- petefortheavailablecachespaceusingtheirurgency-worthinessmetric,outperforming FragPrefix. 86 0 0.5 1 1.5 2 0 10 20 30 40 50 60 70 80 Percentage improvement (%) S T /S WS UK0.5X UK1X UK0.25X Figure 8.8: Percentage improvement in startuplatencyGCRVs. GBR.µ = 0.73 0 0.5 1 1.5 2 0 10 20 30 40 50 60 70 80 90 100 Percentage of clips available (%) S T /S WS DBR DCR Figure8.9: Dataavailabilityµ = 0.73 Lesson 3: Greedy Clip Replacement (GCR) outperforms Greedy Block Replacement: One may deploy the block replacement technique of Figure 8.3 in a greedy manner by making the state of each node independent of the others. This causes the state of each device to evolve to become identical to the one shown in Figure 8.6.a. This is better than 1-GBR because 1-GBR materializes the prefetch portion of each clip onto each device. Whendifferentdevicesreferencedifferentclips,theymuststreamtheirremain- ing blocks via the home gateway andN 5 , exhaustingN 5 ’s bandwidth and resulting in a highstartuplatency. Greedy Clip Replacement (GCR) is superior to both block replacement techniques because it caches the popular clips in their entirety on each device. When a node refer- encesapopularclipthatresidesinitscache,itnolongerrequiresthenetworkbandwidth. Thisfreesthenetworkbandwidthtoservicethosenodesthatobserveacachemissfora clip. 87 Figure 8.8 shows the percentage improvement observed with GCR when compared with the best of greedy block replacement techniques for a variety of S T S WS thresholds andscalingofthenetworkbandwidthsobservedwiththeBritishhousehold. FocusingonUK1X,thepercentageimprovementobservedwithclip-basedcaching increases as a function of S T S WS , reaches its maximum when S T S WS equals one, and then starts to decrease. The explanation for this is as follows. With small values of S T S WS , clip-based caching also observes many misses that result in bandwidth contention and delays(similartoblock-based). Asweincrease S T S WS ,eachnodeobservesahighercache hitwiththeclip-basedcaching,reducingthebandwidthcontention. DBRalsoobserves a higher hit ratio for the prefetch-portion of clips. However, it must retrieve the non- prefetch blocks using N 5 and continues to observe delays because N 5 ’s bandwidth is exhausted. Beyond S T S WS ofone,thepercentageimprovementdropsbecauseblock-based caches a larger number of clips in their entirety and starts to exhibit a behavior similar toGCR. With UK0.5X and UK0.25X, the same general curve repeats itself with one dif- ference: Their peaks are higher than UK1X. This means GCR will outperform block replacement by a wider margin for those wireless homes with lower network band- widths. Lesson 4: DBR provides a lower availability of clips than DCR: When the home net- work is disconnected from the infrastructure outside of the home, a device may display aclipthatis100%residentacrossthecachesinthehomenetwork. DCRguaranteesthis 88 because a clip is either cached in its entirety or none at all. With DBR, those clips with missing blocks cannot be displayed. Figure 8.9 shows the percentage of clips available withDCRandDBR.Ingeneral,DCRprovides10to15%higherclipavailabilitywhen compared with DBR. Note that DBR materializes a higher (' 10%) percentage of WS acrossthecacheswhencomparedDCR.However,theseblockscorrespondtoclipswith blocksmissingfromthehomenetwork. 89 Chapter9 BlockReplacementTechniques In this chapter, we look at different local block replacement techniques that can be employed by each node of the network considering the Domical caching framework presented in chapter 5. We compare urgency worthiness, UW, presented in Section 8.2 withtwootherlocalreplacementtechniquespresentedinthefollowingsections. 9.1 Segment-basedreplacement Asimilarreplacementstrategyissegment-basedtechniqueof[WYW01]. Itisagreedy cache replacement technique designed for web proxies. Segment-based technique groupsblocksofaclipintovariable-sized,distance-sensitivesegments. Withinaclipthe segmentsizeincreasesexponentially. Thisimpliesthatsizeofsegments j is2 j S b where S b issizeofablock. Thismeansthatsegments j consistsofblocks2 j ¡1,...,2 j+1 ¡2 for j ¸ 0. The replacement algorithm uses f i j to select victim segments. Pseudo-code ofFigure8.3canbechangedtoimplementthesegment-basedtechnique. Usage of exponentially-sized segments helps segment-based technique to discard big chunks of a cached clip and quickly adapt to the changes in user access patterns. This reduces overhead of eviction process imposed to the system in comparison with a 90 1 LetF denotethefreecachespaceofN k ; 2 LetM denotethoseblocksofX missingfromN k ; 3 LetONP¡Blocksdenotethose non-prefetch blocks(excludingthoseofX)ofN k withreplicasinthecacheofthosenodesthatN k ’scachedependson; 4 LetOP¡Blocksdenotethose prefetchblocks(excludingthoseofX)ofN k withreplicasinthecacheofthosenodesthatN k ’scachedependson; 5 LetRNP¡Blocksdenotethose non-prefetch blocks(excludingthoseofX)thatdoNOT overlapwiththedependencygroupsthatN k ’scachedependson; 6 LetRP¡Blocksdenotethose prefetchblocks(excludingthoseofX)thatdoNOT overlapwiththedependencygroupsthatN k ’scachedependson; 7 ifF isinsufficienttoaccommodatesetM thenvictimizethoseONP¡Blockswith minimumf i untilsufficientfreespaceisavailabletoaccommodateM; 8 ifF isinsufficienttoaccommodatesetM thenvictimizethoseOP¡Blockswith minimum f i B Network i untilsufficientfreespaceisavailabletoaccommodateM; 9 ifF isinsufficienttoaccommodatesetM thenvictimizethoseRNP¡Blockswith minimumf i untilsufficientfreespaceisavailabletoaccommodateM; 10 ifF isinsufficienttoaccommodatesetM thenvictimizetheRP¡Blockwith minimum f i B Network i untilsufficientfreespaceisavailabletoaccommodateM; 11 StreamandcachethoseblocksinsetM; Figure9.1: DomicalblockreplacementusingPB fixed size segmentation technique, i.e. UW. This overhead is an important factor that should be addressed for a shared environment, e.g. proxy server. But in a distributed environment like a wireless home network that each node acts independently, a fixed sizesegmentationtechnique,i.e. UW,canperformwell. 91 Term Definition B Network ij Availablebandwidthfordownloadingb ij B Network i Availablebandwidthfordownloadingclipi neighbor(N k ) SetofneighborsofN k peer(N k ,i) SetofneighborsofN k thathaveacopyofclipiintheircaches B N l !N k AvailablebandwidthfromnodeN l toN k Table9.1: TermsusedforvariationsofPBandtheirdefinitions 9.2 Partialbandwidth-basedreplacementpolicy Partialbandwidth-basedreplacementpolicy[JBI03]wasdesignedanddevelopedforthe Internet with the objective to enhance startup latency. It differentiates between prefetch andnon-prefetchblocksofaclip. Ablock b ij isaprefetchblockiff: j ·Max(0,d(1¡ B Network i B Display i )£jije) (9.1) wherejijdenotesthenumberofblocksofclipi. Inordertoenhancethestartuplatency,it pre-stagestheprefetchportionofaclipontoadeviceinanticipationofafuturereference fortheclip. Oncetheclipisreferenced,itdisplaystheprefetchportionanddown-loads remainderoftheclipinthebackground. In order to adapt PB for use with Domical in a home mesh network, this section answers two key design questions. First, how does a device victimize blocks given the dependency imposed by Domical? Second, what is the definition of B Network i in Equation9.1? Below,weprovideananswertoeachquestioninturn. 92 Logically, PB maintains 4 disjoint set of blocks in N k ’s cache: 1) Ordinary non- prefetch blocks, ONP-blocks, 2) Ordinary prefetch blocks, OP-blocks, 3) Rare non- prefetch blocks, RNP-blocks, and 4) Rare prefetch blocks, RP-blocks, unique to device N k and its dependency group. PB victimizes blocks from these different disjoint sets basedontheirnumberingorder. Figure9.1showsthepseudocodeofPBreplacementas invokedbyanode,N k ,whenithasinsufficientcachespace. Notethatthenon-prefetch blocks are victimized using their frequency of access (f i ) and the prefetch blocks are swaped out using f i B Network i . In the following, we describe alternative ways to specify B Network i . GivenadeviceN k intheradiorangeofseveralneighboringdevices,onemaydefine its download network bandwidth for clipi (B Network i ) in several ways. Below, we pro- videtwogeneralclassesoftechniquesanddescribeseveralinstancesofeach: ² Aggregate-PB : We employ the shared download link bandwidth from neighbors of N k as the definition of B Network i using an aggregate such as minimum, aver- age, median, mode, maximum, and others. We introduce Conservative PB by defining B Network i as the shared minimum download link bandwidth from N K ’s neighbors; B Network i = min ∀N l ∈neighbor(N k ) B N l →N k jneighbor(N k )j . To illustrate, if the minimum bandwidth of download link to node N 4 is 1 Mbps and N 4 has 5 neighbors, the minimum shared download link bandwidth is 0.25 Mbps. This is because when allneighborsofN k transmitsimultaneously,theyreducetheminimumbandwidth proportionally[BGK04]. 93 We introduce Optimistic PB by using the maximum shared bandwidth, B Network i = max ∀N l ∈neighbor(N k ) B N l →N k jneighbor(N k )j . Byusingtheaveragebandwidth,wewould introduce Moderate PB, B Network i = ∑ ∀N l ∈neighbor(N k ) B N l →N k jneighbor(N k )j 2 . As an example of the latter, if the download link bandwidths from neighbors of N 4 are 11, 1, 11, 11, and 1 Mbps (from nodes N 0 , N 1 , N 2 , N 3 , and N 5 , respectively). While the average is 7 Mbps, the shared average bandwidth is 1.4 Mbps. The rational for thisisthesameasConservativePB. ² Peer-PB :SinceDomicalassumesadevicehasknowledgeoftheblockscontained in its neighboring devices, given a block b ij , one may employ the shared down- load link bandwidth from those neighbors to computeB Network i,j . The complex- ity of using such a metric impacts the definition of prefetch blocks. To illus- trate, consider two consecutive blocks of a clip i, say b i,5 and b i,6 , with copies on two different neighbors of N k . The download link bandwidth of the neigh- bors might be such thatb i,5 becomes a non-prefetch block while b i,6 is a prefetch block. In our experiments, this level of complexity did not enhance average startup latency when compared with the following simple variant: Abandon the concept of B Network i,j and compute B Network i by considering all blocks of clip i, their assignment to different devices in the wireless home network, and the average download link bandwidth from these devices. If none of the neigh- bors contain a copy of b ij then B Network ij is the available bandwidth from the base station. Let peer(N k ,b ij ) denotes the neighbors of N k with a copy of b ij , 94 we define B Network i as: B Network i = ∑ ∀b ij of clip i B Network ij jb ij j where B Network ij = ∑ ∀N l ∈peer(N k ,b ij ) B N l →N k jpeer(N k ,b ij )j£jneighbor(N k )j . WithAggregate-PB, B Network i isaconstantforallclipsreferencedbyanodeN k . With Peer-PB, B Network i mightbedifferentforeachclipibecauseitsvaluedependsonthose neighborsofN k withacopyofblocksofclipi(b ij ). Section 9.3.1 compares variants of PB with one another. In a nut shell, obtained resultsshowModeratePBenhancesaveragestartuplatencywithabundantstoragewhile Conservative PB is a better alternative with scarce amount of storage. Peer-PB is the worstbecauseitisadversarialtoDomical. 9.3 Acomparison In Section 9.3.1, we compare the PB replacement technique with alternative definitions ofB Network ij detailedinSection9.2. TheseresultsshowModeratePBissuperiortothe other alternatives. In Section 9.3.2, we compare Moderate PB with urgency-worthiness (UW) replacement. Obtained results show UW provide a better average startup latency whencomparedwithModeratePB.Finally,wecompareurgency-worthiness(UW)with segment-based technique in Section 9.3.3. Obtained results show superiority of UW oversegment-basedtechnique. 95 S T S WS Conservative Moderate Peer-PB 0.05 344.98 388.11 516.85 0.1 209.64 264.66 407.19 0.25 86.50 110.96 243.79 0.5 25.47 24.11 69.43 0.75 11.29 7.41 16.51 1 3.87 2.22 2.55 1.25 1.52 0.86 0.99 1.5 0.83 0.67 0.67 2 0.47 0.37 0.40 Table9.2: Averagestartuplatency(Seconds),µ = 0.73. 9.3.1 A comparison of alternative Partial Bandwidth-based (PB) replacementtechniques Table9.2showstheaveragestartuplatencyobservedwiththethreealternativePBtech- niques. It shows Moderate PB is superior to both Conservative PB and Peer-PB when storageisabundant,i.e.,high S T S WS ratios. Withscarceamountofstorage,low S T S WS ratios, Conservative PB provides a better average startup latency. Consider these observations inturn. With high values of S T S WS , Moderate PB outperforms Conservative PB because Con- servativeconstructsprefetchportionsthatareextremes,consistingofeitherzeroblocks or almost all blocks that constitute a clip. To elaborate, the lowest in-coming link bandwidth of different devices is as follows: fN 0 : 2 Mbps,N 1 : 1.5 Mbps,N 2 : 1 Mbps,N 3 : 9 Mbps,N 4 : 1 Mbps,N 5 : 2 Mbpsg. With a homogeneous reposi- tory of clips where each clip consists of 10 blocks, Conservative computes the number of blocks per prefetch portion of each clip for each node to be: fN 0 : 9 blocks,N 1 : 96 0 100 200 300 400 500 600 700 800 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 100 200 300 400 500 600 700 800 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 100 200 300 400 500 600 700 800 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 100 200 300 400 500 600 700 800 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 100 200 300 400 500 600 700 800 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 100 200 300 400 500 600 700 800 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Node4 Node0 Node2 Node1 Node3 Node5 a. ConservativePB 0 100 200 300 400 500 600 700 800 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 100 200 300 400 500 600 700 800 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 100 200 300 400 500 600 700 800 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 100 200 300 400 500 600 700 800 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 100 200 300 400 500 600 700 800 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 100 200 300 400 500 600 700 800 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Node4 Node0 Node2 Node1 Node3 Node5 b. ModeratePB 0 100 200 300 400 500 600 700 800 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 100 200 300 400 500 600 700 800 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 100 200 300 400 500 600 700 800 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 100 200 300 400 500 600 700 800 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 100 200 300 400 500 600 700 800 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 100 200 300 400 500 600 700 800 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Node4 Node0 Node2 Node1 Node3 Node5 c. Peer-PB Figure 9.2: Distribution of blocks across devices with Domical-PB, µ = 0.73, S T S WS = 0.75. 10 blocks,N 2 : 10 blocks,N 3 : 6 blocks,N 4 : 10 blocks,N 5 : 9 blocksg. Using the whole clip as the prefetch portion of a clip does not enhance startup latency with streaming media [RHYE99, JBI03]. By using the average in-coming link bandwidth of network connections to a device, Moderate PB ensures the prefetch portion of each clip consists of a few blocks, fN 0 : 6 blocks,N 1 : 6 blocks,N 2 : 7 blocks,N 3 : 5 blocks,N 4 : 7 blocks,N 5 : 7 blocksg. This enables Moderate PB to provide an enhancedaveragestartuplatency. Peer-PB is significantly worse than both Moderate and Conservative PB due to its adverseinteractionwithDomical. Theexplanationforthisisasfollows. Domicalstrives tobalancetheloadacrossthewirelessconnectionsbystreamingdatafromdependency 97 groupzero,N 4 . Peer-PBpreventsthisbecause,everytimeaneighboringdeviceswitha high amount of bandwidth (sayN 3 ) references and caches one of the popular clips that resides on N 4 , it triggers N 4 to deletes its copies of popular clips. Once this happens, Domical can no longer realize its objective to prevent formation of bottleneck links by streamingclipsfromN 4 totheotherdevicesinthemeshnetwork. Thisresultsinahigh averagestartuplatencywithPeer-PB.Toillustrate,Figure9.2showsthecontentofeach nodewithConservative,Moderate,andPeer-PB.Thedependencygroupsareasfollows: N 4 ind 0 ,N 0 ind 1 ,N 2 ind 2 ,N 1 ind 3 ,N 3 ind 4 , andN 5 ind 5 . The x-axis of this figure is the identity of clips in descending order of popularity. The y-axis is the percentage ofclipsresidentacrosseachdevice. WithModerateandConservativePB,N 4 (thenode assigned tod 0 ) contains the frequently accessed clips. With Peer-PB, the popular clips arescatteredacrossotherdevices. Withascarceamountofdiskstorage( S T S WS · 0.25),ConservativeoutperformsMod- erate PB because the average cache hit rate of a device is very low, less than 10%. By caching the whole clip on each device, Conservative minimizes the likelihood of those devicesthatobserveacachehitfromcompetingfortheavailablewirelessnetworkband- width. With Moderate, since each device contains a fraction of a clip, even when a device observes a cache hit, it must stream non-prefetch blocks of that clip from other devices. This exhausts the available network bandwidth, resulting in a high average startuplatency. 98 µ = 0.973 µ = 0.73 µ = 0.25 S T S WS UW PB UW PB UW PB 0.05 59.08 115.28 327.11 344.98 700.18 669.4 0.1 33.45 53.85 213.67 209.65 611.29 558.54 0.25 10.33 18.91 75.3 86.5 376.21 335.65 0.5 2.75 6.59 16.37 24.12 74.78 95.21 0.75 1.04 1.73 4.67 7.41 16.57 23.36 1 0.5 0.63 1.58 2.22 4.96 6.58 1.25 0.31 0.31 0.96 0.86 2.84 4.89 1.5 0.21 0.22 0.75 0.67 2.04 1.88 2 0.12 0.1 0.44 0.37 1.29 1.13 Table9.3: Averagestartuplatency(Seconds)ofDomical-UWandDomical-PB We also analyzed maximum and median as definitions of B Network ij with PB, see Section 9.2. Maximum and median link bandwidths are 11 and 5.5 Mbps, respectively. BothvaluescauseEquation9.1tocomputezeroasthenumberofprefetchblocks,caus- ing the technique to resemble a clip-based LFU cache replacement policy. One may adjust Equation 9.1 to compute the minimum number of prefetch blocks to equal one. When network bandwidth is scarce (as in our assumed environment), this causes every node to stream remaining blocks of its referenced clip and exhaust the available band- width. This is undesirable because it results in a high startup latency. However, if the networkbandwidthisabundantsuchthatitcanaccommodatestreamingofblockstoall devicessimultaneously,startuplatencyisminimizedwhentheprefetchportionconsists ofatleastoneblock. 99 0 100 200 300 400 500 600 700 800 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 100 200 300 400 500 600 700 800 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 100 200 300 400 500 600 700 800 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 100 200 300 400 500 600 700 800 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 100 200 300 400 500 600 700 800 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 100 200 300 400 500 600 700 800 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Node4 Node0 Node2 Node1 Node3 Node5 Figure 9.3: Distribution of blocks across devices with Domical-UW, µ = 0.73, S T S WS = 0.75. 9.3.2 AcomparisonofPBWithUW Table9.3showstheaveragestartuplatencywithurgency-worthiness(UW)andPBwith threedifferentdistributionsofaccesstoclips: Skewedwith80%ofrequestsreferencing 20% of clips (µ=0.973), moderately skewed with 60% of requests referencing 20% of clips (µ=0.73), and uniform with 30% of requests referencing 20% of clips (µ=0.25). For PB, we chose the variant that provides the best average startup latency: Conser- vative with S T S WS · 0.25 and Moderate with S T S WS > 0.25. Obtained results show two key observations. First, UW outperforms PB with a skewed distribution of access. For example,whenµ=0.973,UWoutperformsPBwith S T S WS = 0.5. Second,withauniform distributionofaccess(µ=0.25)andascarceamountofstorage( S T S WS · 0.25),Conserva- tivePBissuperiortoUW.Forexample,withµ=0.25,PBis12%betterwhencompared withUW.Wedescribeeachinturn. Withaskeweddistributionofaccess,Domicalminimizestheamountofoverlapping blocksbetweennodes4,0and2,seeSection8.4foranexplanation. UWcachesthefirst fewblocksofmanyclipsontothesenodeswhencomparedwithPB,compareFigure9.3 with Figures 9.2.a and b. For example, while these three nodes cache the first few 100 S T S WS Segment-based UW 0.05 568.14 327.11 0.1 448.45 213.67 0.25 224.63 75.3 0.5 57.03 16.37 0.75 14.56 4.67 1 4.55 1.58 1.25 1.77 0.96 1.5 0.94 0.75 Table9.4: Averagestartuplatency(Seconds),µ = 0.73. blocks of 495 unique clips with UW, they have blocks of 108 and 154 unique clips with Conservative and Moderate PB, respectively. Moreover, nodes 4, 0 and 2 have the complementary blocks that are missing from each other’s cache. This helps nodes 4, 0 and 2 to observe a lower startup latency when compared with Conservative and Moderate PB. It should be noted that same discussion hold true for rest of the nodes in the network and this enables UW to enhance average startup latency when compared withdifferentalternativesofPB. With a more uniform distribution of access (µ=0.25) and scarce amount of storage ( S T S WS · 0.25),cachingdataatthegranularityofaclipenhancesaveragestartuplatency because cache hit rate of each node is very low (less than 10%). If data is cached at the granularity of a block, even those nodes that observe a cache hit compete for the network bandwidth to retrieve their non-prefetch blocks, resulting in a high average startuplatency. ThisexplainswhyConservativePBissuperiortoUWwithµ=0.25and S T S WS · 0.25. 101 9.3.3 AcomparisonofUWwithsegment-basedreplacement Table 9.4 summarizes the simulation results comparing performance of UW with segment-based technique using the homogeneous database of Section 3.2. Obtained results show that UW outperforms segment-based technique. This is because segment- based technique provides a lower utilization of disk space by evicting segments that consist of many blocks, potentially half the blocks that constitute a clip, to accommo- date a segment consisting of a few blocks. This results in smaller number of unique clips in the cooperative group. For example, when S T S WS = 0.5, the percentage of clips cached in the network is 44% with segment-based technique and 59% with UW. This enablesUWtooutperformsegment-basedtechnique. Inaddition,weusedaheterogeneousdatabasetocompareperformanceofUWwith segment-based technique. This database consists of 864 clips. Half are low resolution with display bandwidth requirement of 2 Mbps. The other half are high resolution with display bandwidth requirement of 4 Mbps. Clips that constitute each media type have a display time of 30, 60, and 120 minutes. Thus, the repository consists of six different cliptypes. Thesamenumberofclips(144)areavailableforeachtypeintherepository. We analyzed UW and segment-based with three different block sizes: 18, 45, and 180 MB. 102 Table 9.5 shows UW outperforms segment-based by a large margin with a scarce amountofstorage, S T S WS =0.05,withablocksizeof180MB 1 .Thisdifferenceisreduced withlargervaluesof S T S WS . Considereachinturn. With a scarce amount of storage, S T S WS =0.05, UW outperforms segment-based for three reasons. First, UW enables each node to observe a higher cache hit rate than segment-based. We measured the cache hit rate of each node and averaged it across all thenodeswithbothUWandsegment-based. Figure9.4.ashowsthepercentageincrease inthisvalueofferedbyUW.When S T S WS =0.05,UWimprovesthecachehitratebymore than40%withdifferentblocksizes. Second,UWcachesalargernumberofuniqueclips acrossdevicesbecauseitevictsvictimsatthegranularityofblocks(notsegments). This is shown in Figure 9.4.b where the percentage difference between UW and segment- basedislargestforthesmallestvalueofthex-axis, S T S WS =0.05. Third,UWevictsblocks of different clips based on the amount of data that should be streamed before display of each block. This is not the same as the metric used by the segment-based technique. Thesegment-basedtechniqueemploysthesegment-idtoreplaceblocks. To illustrate the third explanation, consider two clips with display time of 30 min- utes. Assume these two clips have the same frequency of access and belong to two different media types. With a block size of 18 MB, the high resolution clip consists of 50 blocks. The low resolution clip consists of 30 blocks. UW treats the blocks of these two clips in the same manner, i.e., a given block id of each clip has the same likelihood 1 With a 180 MB block size, the high resolution clips with display times of 30, 60, and 120 minutes consistof5,10and20blocksrespectively. Thelowresolutionclipsconsistof3,5,and10blocks. 103 0 0.5 1 1.5 2 15 20 25 30 35 40 45 50 55 S T /S WS Percentage difference (%) 180MB 45MB 18MB 0 0.5 1 1.5 2 0 10 20 30 40 50 60 70 80 90 100 segment−based UW S T /S WS Percentage Database (%) 9.4.a%differenceincachehitrates 9.4.b%ofuniqueclipsinthenetwork Figure9.4: UWVs. segment-based S T S WS Segment-based UW 0.05 214.42 47.45 0.1 131.87 21.76 0.25 36.81 4.64 0.5 5.92 1.13 0.75 1.76 0.50 1 0.74 0.41 Table9.5: Averagestartuplatency(Seconds),Heterogeneousmixofmedia,µ = 0.73. of being replaced because its bytes are needed with the same urgency. Segment-based doesnotdothesame. Itconstructs4segmentswiththelowresolutionmediatypeand5 segmentswiththehighresolutionmediatype. Itevictsthelastsegmentofthehighreso- lutionmediatype(consistingof20blocks)beforeanyotherblocksofthelowresolution media type is evicted. The number of such blocks increases as we increase the clip display time. It increases to 38 and 74 with clip display times of 60 and 120 minutes, respectively. 104 As we increase S T S WS from 0.05 to 0.25, the factor of improvement in the average startup latency observed with UW when compared with segment-based increases from a factor of 4 to 7, see Table 9.5. With S T S WS =0.25, this factor of improvement starts to diminish. Beyond S T S WS =1, UW and segment-based start to provide comparable average startuplatency. Therearetwoexplanationsforthis. First,bothtechniquesstarttocache thesamefractionofthedatabaseinthemeshnetwork,seeFigure9.4.b. Second,Domi- calemploysthebandwidthofthemeshnetworktocompensateeffectivelyforthelower cachehitrateobservedbythesegment-basedtechnique,seeFigure9.4.a. With the cache hit rate, there is a sharp drop in the percentage difference as we increase S T S WS from 0.05 to 0.25 because segment-based technique caches segments of most popular clips with more storage. The percentage difference between UW and segment-based increases from S T S WS = 0.5 to S T S WS = 0.75, see Figure 9.4.a, because the cache hit rate observed by the nodes located at lower levels of the hierarchy formed by Domical, i.e. Nodes 3 and 5, is lower with segment-based. While UW caches blocks ofmostfrequentlyaccessedclipsinnodes3and5,thesegment-basedtechniquecaches large segments of least frequently accessed clips onto these nodes, leaving them with small amount of available storage to cache blocks of most popular clips. This causes a smallerincreaseinthecachehitrateofnodes3and5withsegment-basedincomparison withUWwhenweincreasetheavailablestorage. 105 Chapter10 ConclusionandFutureResearch Theprimarycontributionofthisdissertationisacomprehensivedescriptionandanalysis of Domical, a cooperative caching technique designed for streaming media in wireless home network. Obtained results show Domical can enhance average startup latency by considering both asymmetry of the available link bandwidth and heterogeneity of the cache space contributed by participating devices. Domical is combination of a greedy andacooperativeapproachtocachemanagementwithαastheknobthatcontrolswhat fraction of the cache space is managed by each approach. By considering the band- width configuration of the wireless network and available storage of devices, Domical enhances the startup latency. Moreover, these results show that Block-based Domical is appropriate when resources are abundant. With scarce resources, specifically limited networkbandwidth,Clip-basedDomicalisabetteralternative. Thisstudycanbeextendedinseveralways: 1)ArealprototypeofDomicalcachereplacementframework: A real prototype of our system can be developed using multiple wireless enabled devices such as apple TVs. One can implement a fully autonomous system that uses Domical framework as its cache replacement strategy and evaluate its performance using this realistic environ- ment. Results of this dissertation can help the designer of the prototype to understand 106 theimpactofdifferentparameters. Thisunderstandingmayhelpthedesignertoemploy therightdesigndecisions. 2) Extension of Domical cache replacement framework to larger mesh net- works, e.g. an office setup, H2O networks [Gha03], P2P IPTV networks: One may analyze the performance of presented cooperative caching technique in a larger net- work, i.e. a network approximately formed of 100 nodes. The first thing that should be studied is effectiveness of Domical cooperative caching in a large network. Our results focusing on data placement in a large wireless mesh network shows that a coopera- tive data placement over all nodes in the network cannot improve the startup latency, see [GSH08]. Considering these results, our immediate solution can be clustering the networkintosmallcooperativegroupswitheachemployingDomical. Wespeculatethat such approach can improve the startup latency in comparison with a solution where all nodes act greedy. This implies that we need to analyze different clustering algorithms and important parameters for formation of cooperative groups. This study might result inanewcooperativecachingframeworkthatusesideasofDomicalasitscore. 3) Cooperative caching in mobile ad hoc networks: Nowadays it is possible to haveamobiledeviceinproximityofdifferentwirelessnetworks. Forexample,amobile device can use its wireless interface to connect to a wired network through an access point; At the same time it may communicate with other mobile devices in its range. It isinterestingtoseehowacachingtechniquebenefitsfromconnectivitytomultiplenet- worksandwhetherthiscanenhanceQoSmetrics. FrameworkssuchasMultinet[CB04] 107 that enable a device to simultaneously connect to different wireless networks can be adapted to enable a mobile device to access different content available in different net- works. It can be noted that this may raise some other difficulties like management of cooperativespaceofthedevicethatisconnectedtodifferentnetworks. Moreover, it is not clear if cooperation between mobile devices in close proxim- ity of one another enhances the target QoS metrics. Some recent studies suggest that cooperation between mobile devices forming an ad hoc network may enhance startup latency and availability of the data [CJM07, YCW05]. In addition a caching technique thattakesadvantageofcooperationbetweenmobiledevicesshouldprovideappropriate incentives to make these selfish mobile devices cooperative. Different economic mod- els for mobile wireless ad hoc networks, see [MMK07] for a survey, can be extended to provide incentives to selfish mobile devices to act cooperatively. Finding the appro- priate cooperative caching technique and its corresponding incentive mechanism is an immediateextensionofthisdissertation. 108 References [AS00] S.AcharyaandB.Smith. MiddleMan: AVideoCachingProxyServer. In Proceedingsof NOSSDAV,June2000. [Bah04] H.Bahn. ASharedCacheSolutionfortheHomeInternetGateway. IEEE Transactionson ConsumerElectronics,50(1):168–172,February2004. [BCF + 99] L. Breslau, P. Cao, L. Fan, G. Phillips, and S. Shenker. Web Caching andZipf-likeDistributions: EvidenceandImplications. In Proceedingsof Infocom,pages126–134,1999. [BGK04] S. Bararia, S. Ghandeharizadeh, and S. Kapadia. Evaluation of 802.11a forStreamingDatainAd-hocNetworks. In ASWN Boston,MA,2004. [CB04] R. Chandra and P. Bahl. Multinet: connecting to multiple ieee 802.11 networks using a single wireless card. In INFOCOM 2004, volume 2, pages882–893vol.2,2004. [CC01] L.CherkasovaandG.Ciardo. RoleofAging,Frequency,andSizeinWeb Cache Replacement Policies. In Proceedings of the High-Performance Computingand Networking,December2001. [CGB + 02] Y. Chae, K. Guo, M.M. Buddhikot, S. Suri, and E.W. Zegura. Silo, Rainbow, and Caching Token: Schemes for Scalable, Fault Tolerant Stream Caching. IEEE Journal on Selected Areas in Communications, 20(7):1328–1344,Sep2002. [CI97] P. Cao and S. Irani. Cost-Aware WWW Proxy Caching Algorithms. In 1997UsenixSymposiumon InternetTechnologiesand Systems,1997. [CJM07] Narottam Chand, R. C. Joshi, and Manoj Misra. Cooperative caching in mobileadhocnetworksnasedondatautility. Mob. Inf. Syst.,3(1):19–37, 2007. [CLRS01] T. Cormen, C. Leiserson, R. Rivest, and C. Stein, editors. Introduction to Algorithms,chapter26.2. MITPress,2001. 109 [CS02] E. Cohen and S. Shenker. Replication Strategies in Unstructured Peer-to- PeerNetworks. In Proceedingsof theACM SIGCOMM,August2002. [CSWZ03] S.Chen,B.Shen,S.Wee,andX.Zhang.AdaptiveandLazySegmentation BasedProxyCachingforStreamingMediaDelivery. InNOSSDAV,2003. [CSWZ04] S. Chen, B. Shen, S. Wee, and X. Zhang. Investigating Performance InsightsofSegment-BasedProxyCachingofStreamingMediaStrategies. InMMCN,2004. [DD + 95] A.Dan,,D.Dias,R.Mukherjee,D.Sitaram,andRTewari. Bufferingand CachinginLarge-ScaleVideoServers. In Proc. of COMPCON,1995. [DRM04] C. Dovrolis, P. Ramanathan, and D. Moore. Packet-Dispersion Tech- niquesandaCapacity-EstimationMethodology. IEEE/ACMTrans.Netw., 12(6):963–977,2004. [DSS94] A. Dan, D. Sitaram, and P. Shahabuddin. Scheduling Policies for an On- DemandVideoServerwith Batching. InACMMultimedia,October1994. [GCK01] J. Dollimore G. Coulouris and T. Kindberg, editors. Distributed Systems: Conceptsand Design. Addison-Wesley,PearsonEducation,2001. [Gha03] S. Ghandeharizadeh. H2O Clouds: Issues, Challenges and Solutions. In FourthIEEE Pacific-RimConferenceon Multimedia ,December2003. [GHJ + 06] S.Ghandeharizadeh,T.Helmi,T.Jung,S.Kapadia,andS.Shayandeh. An EvaluationofTwoPoliciesforSimplePlacementofContinuousMediain Multi-hop Wireless Networks. In Twelfth International Conference on DistributedMultimediaSystems(DMS),August2006. [GKH + 07] DavidGesbert,MariosKountouris,RobertW.Heath,ChanbyoungChae, andThomasSlzer. FromSingleusertoMultiuserCommunications: Shift- ingtheMIMOparadigm. In IEEE Sig. Proc. Magazine,2007. [Gla94] S. Glassman. A Caching Relay for the World Wide Web. In WWW, May 1994. [GP87] J. Gray and F. Putzolu. The 5 Minute Rule for Trading Memory for Disc Accesses and 10 Byte rule for Trading Memory for CPU Time. In Pro- ceedings of the 1987 ACM SIGMOD International Conference on Man- agementof Data,1987. [GS07] S.GhandeharizadehandS.Shayandeh. GreedyCacheManagementTech- niquesforMobileDevices. In AIMS,2007. 110 [GS08a] S. Ghandeharizadeh and S. Shayandeh. An Evaluation of Two Domical Block Replacement Techniques for Streaming Media in Wireless Home Networks. In Proceedingsof IEEE ISM,December2008. [GS08b] S. Ghandeharizadeh and S. Shayandeh. Cooperative Caching Techniques forContinuousMediainWirelessHomeNetworks.InAmbi-sys ,February 2008. [GS08c] S. Ghandeharizadeh and S. Shayandeh. Domical Cooperative Caching: ANovelCachingTechniqueforStreamingMediainWirelessHomeNet- works. InProceedingsof SEDE,June2008. [GS08d] S. Ghandeharizadeh and S. Shayandeh. Domical cooperative caching: A novel caching technique for streaming media in wireless home networks. USC Database Lab Technical Report 2008-03, University of Southern California,2008. [GS09] S. Ghandeharizadeh and S. Shayandeh. A Comparison of Block-based and Clip-based Cooperative Caching Techniques for Streaming Media in WirelessHomeNetworks. In Proceedingsof WASA,August2009. [GSA09] S. Ghandeharizadeh, S. Shayandeh, and Y. Altowim. An Analysis of Two Cooperative Caching Techniques for Streaming Media in Residen- tialNeighborhoods. In Proceedingsof DMS,September2009. [GSH08] S. Ghandeharizadeh, S. Shayandeh, and T. Helmi. To share or not to sharestorageinmeshnetworks: Asystemthroughputperspective. AINAW 2008.,pages862–867,25-28March2008. [ILL07] A. T. S. Ip, J. Liu, and J. Chi-Shing Lui. COPACC: An Architec- ture of Cooperative Proxy-Client Caching System for On-Demand Media Streaming. IEEETrans. ParallelDistrib. Syst.,18(1):70–83,2007. [JB00] S. Jin and A. Bestavros. Popularity-Aware GreedyDual-Size Web Proxy Caching Algorithms. In Proceedings of ICDCS, pages 254–261, April 2000. [JBI03] S. Jin, A. Bestavros, and A. Iyengar. Network-Aware Partial Caching for InternetStreamingMedia. MultimediaSystems,2003. [JN03] W.J.JeonandK.Nahrstedt. QoS-awareMiddlewareSupportforCollab- orativeMultimediaStreamingandCachingService. Microprocessorsand Microsystems,27(2):65–72,2003. [KCL + 04] R. Kapoor, L.J. Chen, L. Lao, M. Gerla, and M. Y. Sanadidi. CapProbe: A Simple and Accurate Capacity Estimation Technique. In Proceedings ofSIGCOMM,pages67–78,NewYork,NY,USA,2004.ACM. 111 [LSBS06] N.Laoutaris,G.Smaragdakis,A.Bestavros,andI.Stavrakakis. Mistreat- ment in Distributed Caching Groups: Causes and Implications. In IEEE Infocom,April2006. [LX04] J. Liu and J. Xu. Proxy Caching for Media Streaming over the Internet. IEEECommunicationsMagazie,42(8):88–94,August2004. [MD04] W. Ma and D. H. C. Du. Design a Progressive Video Caching Policy for Video Proxy Servers. IEEE Transactions on Multimedia, 6(4):599–610, August2004. [MMK07] Anirban Mondal, Sanjay Kumar Madria, and Masaru Kitsuregawa. Research issues and overview of economic models in mobile-p2p net- works. In DEXA ’07: Proceedings of the 18th International Conference onDatabaseand ExpertSystemsApplications,pages809–813,2007. [MTP07] TranM,W.Tavanapong,andW.Putthividhya.OCS:AnEffectiveCaching Scheme for Video Streaming on Overlay Networks. Multimedia Tools Appl.,34(1):25–56,2007. [OOW93] E. J. O’Neil, P. E. O’Neil, and G. Weikum. The LRU-K Page Replace- ment Algorithm for Database Disk Buffering. In Proceedings of ACM SIGMOD,pages413–417,1993. [PKR + 00] S. Paknikar, M. Kankanhalli, K. R. Ramakrishnan, S. H. Srinivasan, and L.H.Ngoh.ACachingandStreamingFrameworkforMulitmedia.InPro- ceedingsof ACM Multimedia,pages13–20,NewYork,NY,USA,2000. [PYC06] K. Papagiannaki, M. Yarvis, and W. S. Conner. Experimental Character- ization of Home Wireless Networks and Design Implications. In IEEE Infocom,April2006. [RFH + 01] S. Ratnasamy, P. Francis, M. Handley, R. Karp, and S. Schenker. A Scal- able Content-Addressable Network. In Proceedings of ACM SIGCOMM, pages161–172,August2001. [RHYE99] R. Rejaie, M. Handley, H. Yu, and D. Estrin. Proxy Caching Mechanism for Multimedia Playback Streams in the Internet. In Proceedings of the 4thInternationalWeb Caching Workshop,1999. [SDML + 06] M.S´ egura-Devillechaise,J.Menaud,N.Loriant,R.Douence,M.S ¨ udholt, T. Fritz, and E. Wuchner. Dynamic Adaptation of the Squid Web Cache withArachne. IEEESoftware,23(1):34–41,2006. [SH06] O.SalehandM.Hefeeda. ModelingandCachingofPeer-to-PeerTraffic. InICNP,pages249–258,2006. 112 [SMK + 01] I.Stoica,R.Morris,D.Karger,M.Kaashoek,andH.Balakrishnan.Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications. In Proceedings of ACM SIGCOMM, pages 149–160, San Diego, California, August2001. [SRD99] S. Sen, J. Rexford, and D.Towsley. Proxy Prefix Caching for Multimedia Streams. In Proceedingsof IEEE INFOCOM,1999. [WC98] D. Wessels and K. Claffy. ICP and the Squid Web cache. IEEE Journal onSelectedAreasin Communication,16(3):345–357,1998. [WVS + 99] A. Wolman, M. Voelker, N. Sharma, N. Cardwell, A. Karlin, and H. M. Levy. OntheScaleandPerformanceofCooperativeWebProxyCaching. SIGOPSOper. Syst.Rev.,33(5):16–31,April1999. [WYW01] K. Wu, P. S. Yu, and J. L. Wolf. Segment-based Proxy Caching of Multi- mediaStreams. In WWW,2001. [WZDS98] Y. Wang, Z. Zhang, D. Du, and D. Su. A Network Conscious Approach to End-to-End Video Delivery over Wide Area Networks Using Proxy Servers. In Proceedingsof IEEE INFOCOM,1998. [XLKP + 09] A. Sheth X. Liu, M. Kaminsky, K. Papagiannaki, S. Seshan, and P. Steenkiste. DIRC: Increasing Indoor Wireless Capacity Using Direc- tionalAntennas. In Proceedingsof ACM SIGCOMM,August2009. [YCW05] Cheng-RuYoung,Ge-MingChiu,andFu-LanWu3. Efficientcooperative cachingschemesfordataaccessinmobileadhocnetworks. InEmbedded andUbiquitousComputing,pages693–702,2005. [You91] N. E. Young. On-line Caching as Cache Size Varies. In Proceedings of ACM-SIAM Symposiumon DiscreteAlgorithms(SODA) ,1991. [Zip29] G. K. Zipf. Relative Frequency as a Determinant of Phonetic Change. HarvardStudiesinClassifiedPhiliology,VolumeXL,1929,1929. [ZSGK08] M. Zink, K. Suh, Y. Gu, and J. Kurose. Watch Global, Cache Local: YouTube Network Traffic at a Campus Network: Measurements and Implications. volume6818,page681805.SPIE,2008. 113
Abstract (if available)
Abstract
Wireless home networks are widely deployed due to their low cost, ease of installation, and plug-and-play capabilities with consumer electronic devices. Management of data across wireless devices is an important challenge in a wireless home environment. This is specially true for continuous media (audio and video clips) which are large in size and delay sensitive. Caching of clips across wireless devices may improve user experience, measurable by different Quality of Service (QoS) metrics such as throughput and startup latency. Moreover, Caching at the edge of the network reduces the demand for the infrastructure outside the home. In this dissertation, we present Domical, a novel cooperative caching technique designed for streaming media in wireless home networks consisting of a handful of devices. Domical is novel because it considers both asymmetry of the available wireless link bandwidth and heterogeneity of the cache space contributed by the participating devices. We present a comprehensive description of Domical, presenting its key knobs and the behavior of the algorithm in different network topologies and granularity of data caching (block versus clip). These results highlight the importance of Domical as a cooperative caching technique for wireless home networks.
Linked assets
University of Southern California Dissertations and Theses
Conceptually similar
PDF
Cooperation in wireless networks with selfish users
PDF
Efficient and accurate in-network processing for monitoring applications in wireless sensor networks
PDF
Design, modeling, and analysis for cache-aided wireless device-to-device communications
PDF
Congestion control in multi-hop wireless networks
PDF
A protocol framework for attacker traceback in wireless multi-hop networks
PDF
Aging analysis in large-scale wireless sensor networks
PDF
Optimal resource allocation and cross-layer control in cognitive and cooperative wireless networks
PDF
Rate adaptation in networks of wireless sensors
PDF
Enabling virtual and augmented reality over dense wireless networks
PDF
Robust routing and energy management in wireless sensor networks
PDF
A framework for worst-case performance evaluation of MAC protocols for wireless adhoc networks
PDF
Coexistence mechanisms for legacy and next generation wireless networks protocols
PDF
Fundamental limits of caching networks: turning memory into bandwidth
PDF
Benchmarking interactive social networking actions
PDF
Gradient-based active query routing in wireless sensor networks
PDF
Distributed edge and contour line detection for environmental monitoring with wireless sensor networks
PDF
On location support and one-hop data collection in wireless sensor networks
PDF
Reliable languages and systems for sensor networks
PDF
Algorithmic aspects of energy efficient transmission in multihop cooperative wireless networks
PDF
Multichannel data collection for throughput maximization in wireless sensor networks
Asset Metadata
Creator
Shayandeh, Shahin
(author)
Core Title
Domical: a new cooperative caching framework for streaming media in wireless home networks
School
Viterbi School of Engineering
Degree
Doctor of Philosophy
Degree Program
Computer Science
Publication Date
05/04/2010
Defense Date
12/15/2009
Publisher
University of Southern California
(original),
University of Southern California. Libraries
(digital)
Tag
cooperative caching,OAI-PMH Harvest,streaming media,wireless home networks
Language
English
Contributor
Electronically uploaded by the author
(provenance)
Advisor
Ghandeharizadeh, Shahram (
committee chair
), Govindan, Ramesh (
committee member
), Kempe, David (
committee member
), Kuo, C.-C. Jay (
committee member
), Shahabi, Cyrus (
committee member
)
Creator Email
shahin@alumni.usc.edu,shayande@usc.edu
Permanent Link (DOI)
https://doi.org/10.25549/usctheses-m2991
Unique identifier
UC1321815
Identifier
etd-Shayandeh-3404 (filename),usctheses-m40 (legacy collection record id),usctheses-c127-312532 (legacy record id),usctheses-m2991 (legacy record id)
Legacy Identifier
etd-Shayandeh-3404.pdf
Dmrecord
312532
Document Type
Dissertation
Rights
Shayandeh, Shahin
Type
texts
Source
University of Southern California
(contributing entity),
University of Southern California Dissertations and Theses
(collection)
Repository Name
Libraries, University of Southern California
Repository Location
Los Angeles, California
Repository Email
cisadmin@lib.usc.edu
Tags
cooperative caching
streaming media
wireless home networks