Current load-balancing and content distribution systems can efficiently handle high amounts of traffic a website encounters. However, when websites do not have the financial means of deploying multiple web-servers or acquiring services of proprietary content distribution networks such as Akamai, service interruptions are unavoidable.;Prevailing P2P-based caching systems, however, are either unavailable to leverage locality-awareness of participating peers or enforce structural topologies to do so. Enforcing a structural topology with such systems leads to scalability issues when participating peers exhibit dynamic behaviour, which is common with P2P systems. Hence, the system undergoes constant maintenance to achieve stability, which might not even be possible.;In this thesis we outline two contributions. First, we modify Flower-CDN, a P2P content distribution network that exploits both structured and unstructured P2P features, to evaluate it with real rather than synthetic data. Second, we introduce Nebula-CDN, a locality-aware, P2P content distribution network which is completely unstructured. With Nebula-CDN, we leverage locality-awareness and efficient information dissemination by clustering geographically close peers that communicate with purely epidemic algorithms.;In this thesis, the design and implementation of Nebula-CDN is assessed. Due to its design and the implemented algorithms, Nebula-CDN is better suited to handle churn without support of any underlying mechanism. Moreover, we conclude that it is able to match other content distribution networks in terms of hit-ratio and access latency, while keeping background bandwidth usage to a minimum.;Recently, P2P-based approaches to content distribution have been proposed to support websites facing sporadic load. Inherent characteristics of content dissemination and scalability together with adaptation of locality-awareness allow these systems to perform on par with costly content distribution networks. Thus, implicit dissemination of key parts of a website becomes vital for load-balancing at the web-server, avoiding bottlenecks for visitors.
展开▼