Distributed Caching Algorithms for Content Distribution Networks

The delivery of video content is expected to gain huge momentum, fueled by the popularity of user-generated clips, growth of VoD libraries, and wide-spread deployment of IPTV services with features such as CatchUp/PauseLive TV and NPVR capabilities. The `time-shifted' nature of these personalized applications defies the broadcast paradigm underlying conventional TV networks, and increases the overall bandwidth demands by orders of magnitude. Caching strategies provide an effective mechanism for mitigating these massive bandwidth requirements by replicating the most popular content closer to the network edge, rather than storing it in a central site. The reduction in the traffic load lessens the required transport capacity and capital expense, and alleviates performance bottlenecks. In the present paper, we develop light-weight cooperative cache management algorithms aimed at maximizing the traffic volume served from cache and minimizing the bandwidth cost. As a canonical scenario, we focus on a cluster of distributed caches, either connected directly or via a parent node, and formulate the content placement problem as a linear program in order to benchmark the globally optimal performance. Under certain symmetry assumptions, the optimal solution of the linear program is shown to have a rather simple structure. Besides interesting in its own right, the optimal structure offers valuable guidance for the design of low-complexity cache management and replacement algorithms. We establish that the performance of the proposed algorithms is guaranteed to be within a constant factor from the globally optimal performance, with far more benign worst-case ratios than in prior work, even in asymmetric scenarios. Numerical experiments for typical popularity distributions reveal that the actual performance is far better than the worst-case conditions indicate.

[1]  Philip S. Yu,et al.  Replication Algorithms in a Remote Caching Architecture , 1993, IEEE Trans. Parallel Distributed Syst..

[2]  Sem C. Borst,et al.  Self-organizing algorithms for cache cooperation in content distribution networks , 2009, Bell Labs Technical Journal.

[3]  Chaitanya Swamy Algorithms for the data placement problem , 2004 .

[4]  Anna R. Karlin,et al.  Implementing cooperative prefetching and caching in a globally-managed memory system , 1998, SIGMETRICS '98/PERFORMANCE '98.

[5]  Jian Ni,et al.  Large-scale cooperative caching and application-level multicast in multimedia content delivery networks , 2005, IEEE Communications Magazine.

[6]  Amos Fiat,et al.  Distributed paging for general networks , 1996, SODA '96.

[7]  Rajmohan Rajaraman,et al.  Placement Algorithms for Hierarchical Cooperative Caching , 2001, J. Algorithms.

[8]  Rajmohan Rajaraman,et al.  Accessing Nearby Copies of Replicated Objects in a Distributed Environment , 1997, SPAA '97.

[9]  Jussi Kangasharju,et al.  Object replication strategies in content distribution networks , 2002, Comput. Commun..

[10]  Olivier Fourmaux,et al.  Measuring P2P IPTV Systems , 2007 .

[11]  Rajmohan Rajaraman,et al.  Approximation algorithms for data placement in arbitrary networks , 2001, SODA '01.

[12]  Li Fan,et al.  Summary cache: a scalable wide-area web cache sharing protocol , 2000, TNET.

[13]  John H. Hartman,et al.  Hint-based cooperative caching , 2000, TOCS.

[14]  Lawrence W. Dowdy,et al.  Comparative Models of the File Assignment Problem , 1982, CSUR.

[15]  Rittwik Jana,et al.  When is P2P Technology Beneficial for IPTV Services , 2007 .

[16]  Baruch Awerbuch,et al.  Online tracking of mobile users , 1995, JACM.

[17]  Michael Dahlin,et al.  Cooperative caching: using remote client memory to improve file system performance , 1994, OSDI '94.

[18]  Franz J. Hauck,et al.  A Model for Worldwide Tracking of Distributed Objects , 1996 .

[19]  Chaitanya Swamy,et al.  Approximation Algorithms for Data Placement Problems , 2008, SIAM J. Comput..

[20]  Hao Che,et al.  Analysis and design of hierarchical Web caching systems , 2001, Proceedings IEEE INFOCOM 2001. Conference on Computer Communications. Twentieth Annual Joint Conference of the IEEE Computer and Communications Society (Cat. No.01CH37213).