r   e   k   l   a   m   a
r   e   k   l   a   m   a

Upspin: koniec silosów, ludzie Google rewolucjonizują udostępnianie plików

Strona główna AktualnościOPROGRAMOWANIE

Inżynierowie Google przedstawili zupełnie nowe podejście do kwestii udostępniania plików, które rozwiązuje w pomysłowy sposób problem fragmentacji zasobów. Dziś ludzie tracą mnóstwo czasu na ich poszukiwanie, przenoszenie i przepakowywanie. Nowy opensource’owy projekt Upspin to coś w rodzaju globalnej przestrzeni nazw dla wszystkich plików, który zupełnie zmieni sposób korzystania z zasobów poza lokalnymi systemami. A wszystko to na bazie prostych uniksowych mechanizmów uprawnień i komunikacji sieciowej.

Te wszystkie dyski sieciowe – Dysk Google, OneDrive, Dropbox, czy co tam jeszcze, mają jeden podstawowy problem: każde z nich jest zamkniętym światem, każde ma swoje własne sposoby lokalizacji plików i ich udostępniania. A przecież nie taki miał być Internet, pomyślany jako sieć sieci, z komunikacją poprzez uniwersalne protokoły. Chcielibyśmy raczej czegoś w rodzaju uniwersalnego lokalizatora zasobów, na podobieństwo schematu URI dla sieci Web, czegoś co nie zależy od Microsoftu, Facebooka czy Google’a.

Taki właśnie problem widzi zespół inżynierów Google’a. Andrew Gerrand, Eric Grosse, Rob Pike, Eduardo Pinheiro i Dave Presotto piszą w w dokumentacji Upspinu:

r   e   k   l   a   m   a

Zdjęcia wgrane do Facebooka czy Twittera są zarządzane przez tych dostawców – i w praktyce należą do nich.

Pomijając sporadyczne obejścia za pomocą URL, informacje przekazane tym usługom stają się dostępne tylko poprzez te usługi. Jeśli ktoś chce przekazać obrazek z Facebooka na swojego Twittera, musi najpierw pobrać go z Facebooka, zapisać, a następnie wgrać na Twittera. Czy nie powinno być możliwe przekazanie obrazka bezpośrednio z Facebooka do Twittera?

Ten model silosów z danymi, do którego doszliśmy w ciągu ostatnich lat, ma sens dla dostawców usług, ale karze użytkowników, tych, którzy tworzą treści – i którzy powinni móc zarządzać swoimi danymi.

Tak jakby plan9: globalna przestrzeń nazw

Zapewne wiecie, jak wygląda system nazw plików w systemach uniksowych: ścieżka /home/jan/dokumenty/rachunek.ods mówi nam, że plik rachunek.ods znajdziemy przeglądając ścieżkę katalogów /home/jan/dokumenty. Nie ma tu czegoś takiego jak „nazwy dysków”, znane z Windowsa czy Symbiana.

Upspin rozszerza tę koncepcję w sposób analogiczny do np. systemu plików sshfs, tworząc ścieżki dostępu powiązane z konkretnym użytkownikiem. Przykładowo ann@example.com/dir/file to ścieżka dostępu do pliku file w katalogu dir na maszynie example.com używanej przez użytkowniczkę ann. W Upspinie nie istnieje nic takiego jak plik lokalny, wszystkie pliki muszą znaleźć się w swojej przestrzeni nazw.

Pliki oczywiście mogą być linkami symbolicznymi, czy to do katalogów czy innych plików, a dostęp do nich jest kontrolowany w schemacie bazującym na infrastrukturze klucza publicznego, dla każdego pliku w katalogu. Wszystkie niezbędne informacje o dostępie są przechowywane w tym katalogu, w tekstowym pliku, opisującym, co komu wolno. Jeśli takiego pliku kontroli w katalogu nie ma, to tylko lokalny użytkownik ma prawo dostępu do plików.

Jeśli więc użytkowniczka Ann zechce udostępnić do odczytu swoje pliki w katalogu użytkownikom joe@here.com i mae@there.com, to wystarczy, że w pliku Access znajdzie się wiersz read: joe@here.com, mae@there.com – to wszystko. Tak ustawione uprawnienia są dziedziczone przez podkatalogi.

Bezpieczeństwo ponad wszystko

Upspin projektowano z myślą nie o wydajności, lecz o bezpieczeństwie – deklarują jego twórcy. Cały ten globalny system nazw jest trzymany w ryzach przez serwerową strukturę, w skład której wchodzą:

  • serwer kluczy, przechowujący klucze publiczne wszystkich użytkowników systemu,

  • serwer storage, przechowujący dane i indeksujący je z wykorzystaniem funkcji skrótu

  • serwer katalogowy, opisujący powiązania między danymi na serwerze storage i użytkownikami posiadającymi dane. Serwer katalogowy łączy się w miarę rozwoju systemu z innymi serwerami katalogowymi, poprzez taki sfederowany system możliwe staje się wyszukiwanie plików.

Taka konstrukcja systemu oznacza, że nawet w wypadku naruszenia infrastruktury serwerowej, użytkownik nie musi się martwić o dostęp do jego plików – to on ma do nich klucze, a całe szyfrowanie zachodzi na jego komputerze.

Poza usługi wielkiego G

Pojawienie się Upspinu jest prawdziwym przełomem w erze, gdy korporacje oferują użytkownikom gotowe, zamknięte produkty. Dostajemy oto zbiór interfejsów, protokołów i komponentów, z których można tworzyć przeróżne aplikacje do swobodnej, bezpiecznej wymiany danych między użytkownikami, bez żadnych sztucznych barier. To wszystko, jak podkreślają twórcy projektu, nie jest produktem Google’a. To opensource’owa podstawa dla wielu innych produktów, które pozwolą na równie łatwe wymienianie się plikami, jak dziś wysyłamy do siebie e-maile, bez względu na to, z którego serwera poczty korzystamy.

Wydanie tego niezależnie od Google’a oznacza, że w firmie tej wciąż dużą siłę przebicia musi mieć niezależna grupa deweloperów, którzy nie są zainteresowani monetyzowaniem wszystkiego, co tylko możliwe, co w praktyce najczęściej oznacza gromadzenie informacji o użytkownikach. Tam gdzie kadra Google zarządzająca chce, byśmy korzystali z Dysku, nad którym nie sprawujemy żadnej kontroli, inżynierowie kontrolujący bloga o bezpieczeństwie chcą, byśmy korzystali z rozwiązania, w którym to my pozostajemy właścicielami swoich danych.

© dobreprogramy
r   e   k   l   a   m   a
r   e   k   l   a   m   a

Komentarze

r   e   k   l   a   m   a
r   e   k   l   a   m   a
Czy wiesz, że używamy cookies (ciasteczek)? Dowiedz się więcej o celu ich używania i zmianach ustawień.
Korzystając ze strony i asystenta pobierania wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.