190 likes | 348 Views
Peer-to-peer CDN. Wiktor Filipowicz. Co to Coral?. Sieć P2P obsługująca dostarczanie treści ( CDN – Content Distribution Network ) Zastosowanie: statyczne witryny internetowe Charakterystyka: Zdecentralizowana Samoorganizująca się sieć P2P Demokratyzacja dostępu do treści
E N D
Peer-to-peer CDN Wiktor Filipowicz
Co to Coral? • Sieć P2P obsługująca dostarczanie treści(CDN – Content Distribution Network) • Zastosowanie: statyczne witryny internetowe • Charakterystyka: • Zdecentralizowana • Samoorganizująca się sieć P2P • Demokratyzacja dostępu do treści • Webcaching system
Wstęp, przykład • Popularna wyszukiwarka... • Google Holiday Logos and Events
Problem • 3 luty 2004, Google udostępnia link do obrazków fraktali • Użytkownicy zostają przekierowani na strony jednego z australijskich uniwersytetów • Serwer nie jest w stanie obsłużyć ruchu
Problem powraca • 4 luty 2004 • Ponowne przeładowanie serwera uniwersyteckiego
Historia i stan aktualny • Projekt uniwersytetu New York University(The NYU Distribution Network) • Rozwijany od marca 2004 roku • 28 Sierpnia 2004 wchodzi w fazę public beta(skok z 1000 do 1 mln. zapytań na dzień) • Działa na serwerach PlanetLAB (około 400 serwerów na całym świecie) • 16 listopada: 1.5 TB danych, niemal 4 mln. zapytań dziennie
Istniejące rozwiązania • Proxy po stronie klienta(Squid, Summary Cache, hierarchical cache, CoDeeN, Squirrel, Backslash, PROOFS) • Zwykle problemy z wyborem tresci do cachowania • Dodatkowe fundusze • Dynamicznie rozkładany ruch (load-balanced servers) • Szybsze łącza • Duże koszty, brak potrzeby
Sieci CDN • Content Distribution Networks(Akamai, Digital Island, Mirror Image) • Zarządzane centralnie, zwykle komercyjne rozwiązania
Analiza podanego problemu • Serwer „trafiony” przypadkowo • Ogromna liczba użytkowników • Nagły wzrost, nagły koniec zapotrzebowania • Trudne do przewidzenia konsekwencje
Podejście Coral • Otwarta siec CDN • Każdy może udostępnić swoje zasoby • Brak modyfikacji po stronie klienta • Jednokrotne pobranie treści z serwera dostawcy Serwer dostawca Przeglądarka Coral httpprx dnssrv Coral httpprx dnssrv Coral httpprx dnssrv Przeglądarka Coral httpprx dnssrv Coral httpprx dnssrv Coral httpprx dnssrv Przeglądarka Przeglądarka
Podejście Coral • Optymalne rozmieszczenie zasobów (klastry) • Unikanie lokalnych przeciążeń (hotspots) • Automatyczne działanie bez centralnego zarządzania Serwer dostawca Przeglądarka Coral httpprx dnssrv Coral httpprx dnssrv Coral httpprx dnssrv Przeglądarka Coral httpprx dnssrv Coral httpprx dnssrv Coral httpprx dnssrv Przeglądarka Przeglądarka
Założenia • Samoorganizujące się klastry węzłów • Mechanizm ochrony węzłów przed przeciążeniami • Zdecentralizowane przekierowania DNS
Korzystanie z CoralCDN • Zapisanie adresów URL w postaci Coral: • www.x.com→www.x.com.nyud.net:8090 • Powoduje przekierowanie do sieci Coral • Jak korzystać: • Umieszczanie linków w postaci zgodnej z Coral, zamiast zwykłych linków • Automatyczna zamiana linków przez operatorów serwerów • Przepisanie dowolnego linka do postaci Coral przez użytkownika i podanie go jako adres do przeglądarki
CoralCDN, części składowe Serwerdostawca ? httpprx ? dnssrv httpprx Pobraniedanych Przekierowanie DNS Zwraca proxymożliwie bliskieklienta Web Caching Resolver Przeglądraka www.x.com.nyud.net 216.165.108.10
Cechy sieci Coral • Brak centralnego zarządznia • Topologia sieci nie jest z góry podana (możliwość dołączania kolejnych klientów) • Wielopunktowe badanie struktury sieci • Rozproszony indeks przekierowań • Każdy węzeł sieci mapuje pobliskie sieci węzłów • Brak koniecznosci odpytywania wszystkich węzłów • Zapobieganie hotspotom
Rozproszony indeks • Wykorzystanie technik indeksowania DHT (Distributed Hash Tables) • Z uzupełnieniem o zapobieganie hotspotom • Tworzenie klastrów o dobrym połączeniu • Zmniejszona spójność (consistency) • DSHT (Distributed Sloppy Hash Tables)
Ilustracja efektów Żądania do klastra Coral < 20ms Lokalne systemy cachowania przejmują większość żądań Żądania dopoczątkowego serwera
Przyszłość • Zabezpieczenia, integralność danych • Inne wykorzystanie klastrów • Badanie skalowalności
Strona główna projektu Coral http://www.scs.cs.nyu.edu/coral/