Nodezilla – bezpieczny, rozproszony i odpornym na błędy system trasowania. Jego głównym zadaniem jest obsługa połączeń pomiędzy rozproszonymi serwisami (takimi jak czat, transmisja strumieni wideo, współdzielenie plików, bezpieczne przechowywanie danych). Charakterystyczne dla systemu jest to, iż dowolny serwer może stworzyć lokalną kopię dowolnego obiektu. Tak utworzone kopie pozwalają na szybszy dostęp do zasobów a także zmniejszają prawdopodobieństwo przeciążenia sieci poprzez wymuszanie lokalnego charakteru ruchu. Aby zapewnić ochronę danych stosuje się techniki szyfrowania.

Węzły sieci edytuj

Sieć ma charakter rozproszony. Poszczególne węzły same organizują się w sieć zawieszoną w sieci Internet. Nodezilla zapewnia efektywne trasowanie wraz z równoważeniem natężenia ruchu. Dodatkowo węzły sieci Nodezilla posiadają mechanizmy, które wspierają i ułatwiają replikację obiektów, buforowanie oraz odzyskiwanie danych po błędnej transmisji.

Usługi edytuj

  • Współdzielenie plików – w przeciwieństwie do klasycznych systemów P2P współdzielenie plików z wykorzystaniem Nodezilli pozwala na stały dostęp do plików – istnieje możliwość pobierania pliku nawet gdy użytkownik, który go udostępniał rozłączył się z siecią.
  • Strumieniowanie multimediów – „strumieniowanie hierarchiczne” – pozwala użytkownikowi mającemu niewielką przepustowość wysyłania (upload) przesyłać video lub dźwięk do wielu klientów naraz, przy czym do każdego z nich dane docierają z prędkością równą maksymalnej prędkości wysyłania danych użytkownika.
  • Dzielenie cyfrowych zdjęć ze znajomymi – zdjęcia są dostępne jako miniaturowe obrazki, pełnowymiarowe obrazy mogą być ściągnięte w dowolnym momencie. Zdjęcia są przechowywane w postaci zaszyfrowanej na serwerach Nodezilli i są dostępne tylko dla wybranych przez użytkownika osób, także wtedy, gdy właściciel zdjęć nie jest podłączony do sieci.
  • Rozproszona baza danych plików BitTorrent
  • Przechowywanie obiektów użytkowników

Stałe dzielenie plików edytuj

NPFS (ang. Nodezilla Persistent File Share Service) nie tylko pozwala na dzielenie plików nawet wtedy, gdy użytkownik udostępniający je zniknie z sieci, ale również dostarcza możliwość pobierania plików z bardzo wysoką prędkością – poprzez pobieranie z wielu węzłów naraz. W celu osiągnięcia tego efektu każdemu użytkownikowi sieci przydzielane jest miejsce na przechowywanie plików.

Działanie NPFS edytuj

Plik staje się plikiem stałym wtedy, gdy zostanie pobrany przynajmniej kilka razy. Zostaje podzielony na bloki, które są kodowane. Następnie bloki są rozprzestrzeniane pomiędzy węzłami. Im częściej dany plik jest pobierany tym więcej węzłów przechowuje jego bloki. Gdy użytkownik, który udostępniał dany plik opuści sieć lub plik zniknie z węzła, w którym pierwotnie się znajdował, wszystkie bloki tego pliku będą dostępne z innych węzłów i umożliwią odtworzenie pliku. W calu wyeliminowania zjawiska występowania tzw. „free-loaders” – użytkowników, którzy pobierają pliki od innych ale sami nie udostępniają zasobów – wprowadzono ideę kredytów. Do rozpoczęcia pobierania pliku niezbędne jest posiadanie pewnego minimalnego kredytu. Wartość kredytu przydzielanego użytkownikowi uzależniona jest od ilości miejsca na dysku, jaką zadeklaruje się on przeznaczyć na przechowywanie bloków NPFS. Tym sposobem nawet osoby nie udostępniające własnych zasobów muszą przeznaczyć część swojego dysku na potrzeby przechowywania plików w systemie.

Szyfrowanie i anonimowość edytuj

Szyfrowanie obejmuje wszystkie ważne dane, takie jak informacje wymieniane pomiędzy węzłami czy sygnatury. System Nodezilli zapewnia swoim użytkownikom całkowitą anonimowość – brak jest nazw użytkowników, identyfikatorów, nazw plików. Węzeł sieci nie wie kto i jakich jego obiektów używa, nie wie również skąd (z jakich węzłów) obiekty pochodzą.

Odporność na błędy edytuj

Nodezilla gwarantuje, że żądanie dotyczące danego obiektu zostanie zawsze obsłużone (o ile ten obiekt istnieje), niezależnie od stanu sieci – ewentualnych awarii niektórych węzłów. Przechowywany przez sieć obiekt jest zabezpieczony przed nieupoważnionym dostępem. W takich przypadkach sieć odpowiada poprzez wysłanie fałszywych danych lub odpowiedzi (aby uniknąć przeciążenia).

Linki zewnętrzne edytuj