An adaptable storage slicing algorithm for content delivery networks - MOREIRA, André Luis Cavalcanti (2015)
Several works study the performance of Content Delivery Networks (CDNs) under various network infrastructure and demand conditions. Many strategies have been proposed to deal with aspects inherent to the CDN distribution model. Though mostly very effective, a traditional CDN approach of statically positioned elements often fails to meet quality of experience (QoE) requirements when network conditions suddenly change. CDN adaptation is a key feature in this process and some studies go even further and try to also deal with demand elasticity by providing an elastic infrastructure (cloud computing) to such CDNs. Each Content Provider (CP) gets served only the amount of storage space and network throughput that it needs and pays only for what has been used. Some IaaS providers offer simple CDN services on top of their infrastructure. However, in general, there is a lack of PaaS tools to create rapidly a CDN. There is no standard or open source software able to deliver CDN as a service for each tenant through well-known managers. A PaaS CDN should be able to implement content delivery service in a cloud environment, provision and orchestrate each tenant, monitor usage and make decisions on planning and dimensioning of resources. This work introduces a framework for the allocation of resources of a CDN in a multi-tenant environment. The framework is able to provision and orchestrate multi-tenant virtual CDNs and can be seen as a step towards a PaaS CDN. A simple dot product based module for network change detection is presented and a more elaborate multi-tenant resource manager model is defined. We solve the resulting ILP problem using both branch and bound as well as an efficient cache slicing algorithm that employs a three phase heuristic for orchestration of multi-tenant virtual CDNs. We finally show that a distributed algorithm with limited local information may be also offer reasonable resource allocation while using limited coordination among the different nodes. A self-organization behavior emerges when some of the nodes reach consensus.