CCNxCon2012: Session 5: Distributed Cooperative Caching Scheme in CCN


Published on

Distributed Cooperative Caching Scheme in CCN
Dariusz Bursztynowski, Mateusz Dzida, Tomasz Janaszka (Telekomunikacja Polska, Orange Labs, Poland), Adam Dubiel (Warsaw University of Technology, Poland), Michal Rowicki (Warsaw University of Technology and Telekomunikacja Polska, Poland)

  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

CCNxCon2012: Session 5: Distributed Cooperative Caching Scheme in CCN

  1. 1. CCNx Comm. Meeting, Sophia Antipolis, Sept. 12-13, 2012     distributed scheme for a single-path Interest routing 1. Motivation 4. Experimental network & traffic Under traffic asymmetry (due to content locality and/or Network topology   network topology asymmetry) uncooperative schemes like isolated LFU may perform far from optimum  2. Basic idea  Monitor the distance to the nearest copy of each content object (signalling needed)  Set the weight of the object proportional to the distance     (local operation)   Apply knapsack algorithm to sort content objects in the   cache buffer based on the weights calculated as 9 sets of objects, 100 objects per set, objects of equal size above (local operation) Vary the ratio   to capture the effects of content     locality asymmetry factor          5. Performance distance info  Refer to the demo – four types of traces are monitored           3. Signalling and implementation Signalling scheme based on passing Bloom filters in order to announce cache contents distance_list Bloom(0) objects 0 hops away (own cache) Bloom(1) objects 1 hop away (predecessor) „parent” objects 2 hops away Bloom(2) … etc. 2 Data(ccnx:/ccnx/cache/aca/sig/parent, distance_list) (distance list report) 1 Interest(ccnx:/ccnx/cache/aca/sig/parent) (distance list request) distance_list Bloom(0) ← derive from own cache Bloom(1) ← Bloom(0) „child” 3 Bloom(2) ← Bloom(1) Bloom(3) ← Bloom(2) change index … 6. Main conclusions CCNx-based implementation ACA engine o1 o2 name list for objects to cache The scheme (drives the CCNx • Promising performance improvement, but … ACA algorithm demon cache) for inter-node … signalling on for steering the cache of CCNx demon Data(…) • Scalability concerns in large networks – prefix Interest (ccnx:/ccnx/<localCcndID>/cachereg/<name list>) Interest(ccnx:/ccnx/ cache/aca/sig/<node ID>) Interest (ccnx:/ccnx/<localCcndID>/cacheunreg/<name list>) cachereg to write-in objects in <name list> aggregation can help, but some performance CCNx API cacheunreg to write-out objects from <name list> degradation (Java) Interest (ccnx:/%C1.M.S.localhost/<object name>/%C1.aca.stat ) input to ACA for popularity estimation • Efficient and scalable use of in-network caches still to be studied CCNx demon Forwarding block Inner client Node architecture outgoing Data(O) New operations to register (write) /unregister (evict) objects in CCNx cache with the following name syntax: • API to node-level functions could facilitate incoming Data(O) write-in O • ccnx:/ccnx/<localCcndID>/cachereg/<name list> experimentation with new schemes; desired trigger cache update actual O1 remove O if O nList o1 nList - name list for • ccnx:/ccnx/<localCcndID>/cacheunreg/<name list> functions: cache manipulation, Interest/Data objects to cache CCNx cache O2 … o2 … (mirrors the ACA list) reception notification, … remove cachereg … … cacheunreg On on Legend cached object nList controller new blocks required by ACA Orange Labs