Ulepszenia systemu to nie tylko jego funkcje
Wraz z biegiem czasu usprawnieniu ulegają praktycznie wszystkie elementy systemowe, niezależnie, czy chodzi o przerobienie jednej z funkcji, czy też o mechanizmy znajdujące się pod maską. Co ciekawe, dotyczy to również metod pobierania aktualizacji, co wraz ze wzrostem miejsca zajmowanego przez system operacyjny na dysku staje się coraz istotniejsze. Microsoft już od pewnego czasu rozważał wszelkie dostępne możliwości wprowadzenia najróżniejszych usprawnień tego aspektu, zaś koniec końców wybór padł na model dostarczania aktualizacji na zasadach P2P. Doprowadziło to nie tylko do przyśpieszenia procesu pobierania wymaganych danych, lecz również do ograniczenia kosztów ponoszonych przez giganta (z tytułu utrzymania odpowiednich łącz). Jak jednak do tego doszło?
Użytkownik-as-a-service
Microsoft, jak każda ogromnych rozmiarów korporacja, szuka już od lat najrozmaitszych sposobów, by ograniczyć koszty własne, generując tym samym większe przychody na czysto. Oczywiście wykorzystane do tego metody nie mogą zbyt negatywnie odbić się na jej wizerunku, a najlepiej, jeżeli jeszcze go ocieplą. Idealnym przykładem takiego zabiegu jest powstanie programu Windows Insider. Dzięki wykorzystaniu szeregowych użytkowników do testów swoich najnowszych kompilacji, Microsoft zyskał w zasadzie darmową siłę roboczą. Lata temu sytuacja wyglądała w ten sposób, że przed wprowadzeniem systemu na rynek konieczne były wyczerpujące beta-testy nowych rozwiązań, za co oczywiście osoby do tego oddelegowane otrzymywały zapłatę. Ktoś w siedzibie giganta wpadł jednak na genialny z ekonomicznego punktu widzenia pomysł – niech użytkownicy sami testują najnowsze wielkie aktualizacje (zastępujące obecnie kolejne samodzielne wersje Windows) jeszcze przed ich wprowadzeniem! Aby zachęcić potencjalnych testerów, wystarczył fakt, że o większości nowości dowiedzą się z pierwszej ręki – a jak wiadomo, niewiele rzeczy jest potężniejszych od ciekawości ludzkiej. Jak się okazało, pomysł przyjął się wyjątkowo dobrze, to też szeregi Insiderów (czyli członków programu) rosły w bardzo szybkim tempie, wobec czego całą tę inicjatywę należy uznać za wyjątkowo skuteczną – Microsoft zyskał darmowych robotników, zaś oni sami zaspokoili swoją ciekawość. Krótko mówiąc, i wilk syty, i owca cała. Powodzenie tego typu akcji oczywiście miało długofalowe skutki, gdyż za sprawą sukcesu całej tej inicjatywy postanowiono po raz kolejny włączyć użytkowników do procesu rozwojowego Windows – tym razem jednak nie w formie testerów, lecz darmowych serwerów aktualizacji.
Początek aktualizacji bazujących na P2P
Przed poruszeniem samego tematu nowej formy aktualizacji w ramach Windows Update warto przypomnieć sobie początki samego systemu aktualizacji systemów Microsoftu. Pierwotnie pojawił się on w formie strony internetowej, co miało miejsce podczas premiery Windows 95. Oczywiście konieczne było sprzężenie witryny z samym systemem, co uzyskano poprzez umieszczenie odpowiedniego odnośnika w menu Start, co umożliwiało dosyć sprawne pobieranie dodatkowych składników systemowych. Czas płynął, zaś Windows Update ulegał stałemu, choć powolnemu rozwojowi. Prawdziwym kamieniem milowym okazało się wprowadzenie w Windows ME mechanizmu automatycznych aktualizacji, dzięki czemu użytkownik nie musiał już wprowadzać ich samodzielne. Niestety, w Windows 10 sprawy przyjęły niekorzystny według wielu obrót – użytkownik pozbawiony został możliwości wyboru czy chce zainstalować aktualizacje, wobec czego odebrane zostało to jako swego rodzaju wymuszenie. Nic więc dziwnego, że najnowszy mechanizm aktualizacji (P2P) zawarty w Windows Update już w momencie swojego debiutu wzbudzał ogromne kontrowersje.
Jego głównym założeniem było udostępnianie pobranych już plików aktualizacyjnych innym użytkownikom, którzy jeszcze go nie pobrali – w założeniu miało to usprawnić cały proces, wykorzystując nieco przebudowane rozwiązanie znane szerzej jako torrenty. Większość osób niestety myśli o nich jako o czymś nielegalnym, co jest jednak całkowicie błędnym podejściem. W samych założeniach, umożliwiają one po prostu wymianę części składowych pliku pomiędzy użytkownikami. W praktyce wygląda to w ten sposób, że pobierając przykładowo aplikację korzystamy z zasobów użytkownika który posiada ją już na dysku, udostępniając jednocześnie posiadane już jej fragmenty składowe innym. Wszystko to oczywiście odbywa się legalnie, przynajmniej do czas aż zdecydujemy się pobrać/udostępnić treść chronioną prawami autorskimi. Powróćmy jednak do nowego mechanizmu Windows Update. Niedługo po jego premierze zaczęły pojawiać się głosy mówiące o tym, że przez problemy z Optymalizacją dostarczania (jak obecnie się to nazywa) w niektórych przypadkach niemożliwe było normalne korzystanie z Internetu - po prostu mechanizm P2P zużywał cały transfer. Jeśli tego byłoby mało, wskutek niestabilności wysyłanie danych aktualizacji potrafiło uruchomić się w trakcie gry, co powodowało nieraz ogromne lagi (opóźnieniami) w przypadku rozgrywki sieciowej. Na szczęście z biegiem czasu zostało to naprawione i obecnie funkcja ta działa bez jakichkolwiek zarzutów. Niemniej wielu użytkowników nadal pamięta problemy spowodowane niegdyś przez Optymalizację dostarczania, co sprawia, że są oni nieprzychylni względem niej. Mało tego, w praktyce niewielu dobrowolnie godzi się na udostępnienie swojego transferu bez namacalnej korzyści – w efekcie Microsoft postanowił schować ustawienia tejże funkcji głęboko w opcjach systemowych, pozostawiając ją jako domyślnie aktywną. Na szczęście dotyczy to w tym przypadku tylko sieci lokalnej, wobec czego, jeśli korzystamy z jednego czy dwóch komputerów, nie powinniśmy zauważyć żadnej różnicy – w końcu żadne dane aktualizacji nie są wysyłane dalej.
Teoria, czyli jak to jest zrobione
Mechanizm funkcjonowania Optymalizacji dostarczania jest stosunkowo prosty, zaś jego działanie nieco przypomina torrenty. Zacząć należy od tego, że dystrybuowana aktualizacja nie jest jednym pełnym plikiem, lecz całym pakietem mniejszych elementów. Gdy na dysku jednego z użytkowników z odpowiednio skonfigurowaną funkcją znajdzie się część z nich, zostają one przekazane dalej, do pozostałych oczekujących na aktualizację. W ten właśnie sposób odciążane są serwery Microsoftu. Warto przy tym zaznaczyć, że według giganta przydział transferu jest w tym przypadku kontrolowany automatycznie tak, by nie wpłynąć w praktyce w żaden sposób na możliwości sieciowe udostępniającego. Jeśli chodzi o pobierającego, w jego przypadku system automatycznie określa najkorzystniejszą metodę ściągnięcia niezbędnych danych – jeśli znajdzie się osoba udostepniająca niezbędne paczki z większą szybkością transferu, to właśnie od niej zostaną one pobrane. W innym przypadku cała wymiana plików będzie miała miejsce na linii serwer Microsoftu – komputer użytkownika. Co przy tym wszystkim istotne, możemy ograniczyć zakres działania Optymalizacji dostarczania tylko do naszej sieci lokalnej – znajduje to idealne zastosowanie w przypadku miejsc pracy czy chociażby w szkołach, bowiem znacząco skraca czas potrzebny do aktualizacji. Aby łatwiej to zobrazować, wyobraźmy sobie biuro w którym znajduje się 5 komputerów, zaś do pobrania jest aktualizacja ważąca 200MB. W przypadku gdy wszystkie zaczną pobierać niezbędne pliki jednocześnie zaś łącze oferuje przepustowość pobierania na poziomie 50Mbps, zajmie to około 2,5 minuty. Dla porównania, jeden komputer przeprowadzi ten sam proces na identycznym łączu w przeciągu zaledwie pół minuty. Gdy aktywujemy przy tym Optymalizację dostarczania, a przepustowość sieci LAN wynosić będzie 1Gbps to pozostałe 4 komputery pobiorą całość wprost od komputera, który pierwszy się zaktualizował w zaledwie 2 sekundy. To robi wrażenie! Warto wspomnieć też o tym, że nowy mechanizm dostarczania obejmuje nie tylko aktualizacje systemowe, ale również te przeznaczone dla aplikacji dostępnych ze Sklepu Microsoft. Nie musimy się przy tym obawiać wirusów, gdyż system sprawdza poprawność otrzymanych danych, wobec czego atak cyberprzestępców z tego kierunku nie jest w zasadzie możliwe (przynajmniej na chwilę obecną). Oczywiście całość możemy wyłączyć w dowolnym momencie, choć jest to nieco utrudnione (głębokie ukrycie niezbędnych opcji w ustawieniach systemowych). Nie musimy się przy tym martwić zużyciem danych – w przypadku skonfigurowania połączeń taryfowych dane aktualizacji nie będą wysyłane.
Praktyka – zrób to sam!
Jak zostało już wcześniej nadmienione, powiązane z Optymalizacją dostarczania ustawienia schowane są w systemie, co przekłada się na nieświadomość ich istnienia u wielu użytkowników, którzy, jeśli jednak poznają ich lokalizację, mogą dokonać w nich zmian. Aby zmienić ustawienia w Opcjach dostarczania, należy rozpocząć od udania się do Ustawień. Przechodzimy w nich do kategorii Aktualizacja i zabezpieczenia. Następnie klikamy pozycję Opcje zaawansowane, po czym wybieramy Optymalizacja dostarczania. To właśnie tutaj wprowadzić możemy zmiany dotyczące omawianej funkcji. Suwak w górnej części okna określa, czy zezwalamy na pobieranie plików z innych komputerów, zaś nieco niżej zaznaczyć możemy zasięg tejże opcji, ograniczając ją do sieci lokalnej bądź pozwalając na pobieranie plików w obrębie Internetu. Jeżeli z jakiegoś powodu chcemy wprowadzić ręcznie ograniczenia przepustowości w Optymalizacji dostarczania, wystarczy skorzystać z suwaków dostępnych pod pozycją Opcje zaawansowane (należy przed ich przesunięciem zaznaczyć odpowiednie pole wyboru). Jeżeli nie jesteście pewni, na ile wpływa to w praktyce na działanie łącza, przydatne może okazać się Monitorowanie aktywności, wyświetla ono bowiem dokładne dotychczasowe wykorzystanie transferu.
Microsoft na temat optymalizacji dostarczania
Oczywiście sam Microsoft również udzielił się w kwestii nowej funkcji dostarczania aktualizacji, zapewne w celu przekonania do niej użytkowników. Postanowiliśmy więc na koniec tego tekstu przytoczyć wypowiedź Marka Zaleskiego, Senior Public Relations Specialist w Microsofcie, co przedstawi omawianą tu funkcję z nieco innej perspektywy:
„Funkcja optymalizacji dostarczania aktualizacji systemu Windows pozwala uzyskiwać aktualizacje systemu Windows i aplikacje ze Sklepu Windows ze źródeł innych niż zasoby firmy Microsoft. Może ona ułatwić szybsze uzyskiwanie aktualizacji i aplikacji, jeśli masz ograniczone lub zawodne połączenie internetowe. Jeśli masz więcej komputerów, dzięki tej funkcji możesz je aktualizować bez nadmiernego obciążania połączenia internetowego. Funkcja optymalizacji dostarczania wysyła też aktualizacje i aplikacje z Twojego komputera do innych komputerów w sieci lokalnej lub w Internecie. (…) Tworzy ona lokalną pamięć podręczną i przechowuje tam pobrane pliki przez krótki czas. W zależności od ustawień system Windows wysyła następnie części tych plików do innych komputerów, które pobierają te same pliki, w sieci lokalnej lub w Internecie”.