Streamingowany system operacyjny na komórkę

Raz na jakiś czas wpadam na pomysł jak może wyglądać przyszłość, ale jako, że nigdy tego nie zapisuję i rzadko o tym komukolwiek mówię, potem trudno mi jest kogoś przekonać, że „ja to wymyśliłem” 🙂 Pewnie mi nie uwierzycie, że jeszcze w czasach pierwszych telefonów komórkowych przewidziałem, że telefon będzie miał w sobie aparat fotograficzny. Choć w swoich wyobrażeniach widziałem jak ludzie przyszłości przykładają do ucha kompaktowe cyfrówki, nie wiem czemu tak widziałem, że będzie to wyglądało 🙂

Oczywiście nie każda moja przepowiednia się sprawdza i to właśnie z lęku, że się pomylę nikomu o tym nie mówiłem. Ale postanawiam to teraz zmienić. Bo kilka dni temu uderzyła mnie wizja telefonów przyszłości i nie mogę o tym przestać myśleć. Wydaje mi się to rewelacyjnym i rewolucyjnym pomysłem. I im dłużej myślę, tym bardziej jestem pewien, że takie coś któregoś dnia ujrzymy na rynku, choć nie wiem dokładnie kiedy.

Czy wiecie w jaki sposób uruchamia się obecnie wymagające dużych zasobów gry komputerowe na telefonach czy tabletach, które tych zasobów nie mają? Nazywa się to cloud gaming  i coraz pojawia się już tu i tam. Jeśli się nie mylę NVIDIA ostatnio zrobiła swoją jakby konsolę do gier działającą na tej zasadzie – ma dość słabe bebechy, ale można na niej grać w zaawansowane gry 3D.

Zasada jest taka: całość renderowania gry odbywa się w chmurze, z dala od  twojego komputera czy telefonu i odsyłana jest przez sieć klatka po klatce na twoje urządzenie. Ty klikasz przycisk, informacja o kliknięciu wysyłana jest na klaster obliczeniowy, który w ułamku sekundy oblicza rozprysk krwi twojego przeciwnika, zmianę kąta padania cienia przechylającej się postaci i wszystko inne co normalnie robi karta graficzna i kolejny ułamek sekundy taki wyrenderowany obraz wraca do ciebie przez sieć na telefon. Po kolejnym ułamku sekundy kolejny render z jeszcze większym rozpryskiem krwi i jeszcze bardziej pochyloną postacią jest wykonany i wysłany do ciebie. Twój telefon się nie nagrzewa, bo nie ma od czego – tak naprawdę jest małym telewizorkiem na którym widzisz film, tyle, że interaktywny, sterowany twoimi kliknięciami.

Imponujące, prawda? A to się już dzieje naprawdę i dziać się będzie coraz częściej.

I pomyślałem: skoro można w ten sposób na farmie super wydajnych serwerów renderować i wysyłać obraz gier, dlaczego nie można by w ten sam sposób wysyłać całego systemu operacyjnego?

Na twoim telefonie nic by nie było zainstalowane. Jedynie prosty system do komunikacji z siecią, obsługi klawiszy i nacisku, aparatu i mikrofonu. Mały procesor do wyświetlania odebranej z sieci grafiki i odgrywania dźwięków – głosu rozmówcy czy odgłosu zdychającej świni w angry birds 😉

Prawdopodobnie taki telefon nie musiałby być telefonem i nie miałby żadnego modułu do komunikacji z siecią komórkową: osoba dzwoniąca dzwoniła by bezpośrednio na serwer, skąd dźwięk byłby przekazywany przez wifi do twojego telefonu.

Wszystko właśnie działoby się na odległym serwerze: gdzieś w jakimś kontenerze miałbyś swój system operacyjny, swoje apki, swoje pliki, zdjęcia, dokumenty… Klaster by czekał na informacje o twoich „kliknięciach” i odsyłał na nowo wyrenderowany obraz jak to powinno wyglądać na twoim telefonie.

Ta rewolucja miałaby spore zalety:

  • Telefon – cienki klient, wypatroszony z drogich komponentów – byłby o wiele tańszy niż obecnie
  • Wypatroszenie z komponentów na pewno pozytywnie wpłynie na czas pracy na jednym ładowaniu. Tak naprawdę twój telefon tak jakby będzie cały czas podłączony kablem do sieci elektrycznej: gdzieś w odległej serwerowni (ok, wciąż będzie potrzebna bateria do pokazywania obrazu na ekranie czy łączności wifi, ale rozumiecie o co mi chodzi)
  • Brak fragmentacji systemów operacyjnych: jedna wersja dla wszystkich będzie zainstalowana i zawsze aktualizowana na serwerze, bez obaw, czy telefon ją udźwignie – telefon jest przecież tylko ekranikiem, który ma wyświetlić obraz odesłany w OGV czy innym MPEG.
  • Dlaczego w ogóle upieramy się by mówić, że jest to system na telefony komórkowe? Warstwa abstrakcji na serwerze może odsyłać obraz przeskalowany na telefon, tablet coś co będzie odpowiednikiem „komputera stacjonarnego w przyszłości” czy telewizor lub cokolwiek innego, co jeszcze pojawi się w przyszłości (gogle wirtualnej rzeczywistości?) Może tak właśnie spełni się w końcu sen o informatycznej konwergencji

Wady? Oczywiście, ale wydaje mi się, że istnieją one tylko na dzień dzisiejszy.

  • Przede wszystkim taki telefon by mógł żyć musi być połączony ciągle do sieci – WIFI albo mieć nieograniczony pakiet gigabajtów w sieci komórkowej. Na dzisiaj nie ma na to szans, ale jesteście pewni, że to nie nastąpi w przyszłości? Ja pamiętam jeszcze czasy gdy z zegarkiem w ręku pilnowałem by dziennie nie spędzić w internecie więcej niż 27 minut – 9 impulsów modemowych, na które pozwalali mi rodzice. W tamtych czasach gdyby ktoś powiedział, że w 10 minut ściągnie 3-gigowy film z internetu, byłby wyśmiany.
  • Nikt nie postawi nam farmy komputerów obliczeniowych za darmo, więc albo telefony stałyby się telefonami w abonamencie, albo wcale nie byłyby tańsze (jedynie produkcja byłaby tańsza, a my byśmy nadal płacili tyle samo by pokryć koszt infrastruktury), albo ktoś zdecydowałby się na zasponsorowanie tej farmy aby przeprowadzić na nas jeszcze dokładniejszy data-mining i profilowanie reklamowe (hello Google), albo ktoś zdecydowałby się na ten krok by wgryźć się obecnie zabetonowany świat dwóch producentów systemów mobilnych (hello Microsoft)
  • Oddać wszystko w ręce jakiejś zewnętrznej firmy i nie mieć nic na własnym komputerze to ostatni poziom zgody na pełną inwigilację. Ale to już tylko kwestia odpowiedniego gotowania żaby; prawdę mówiąc mało kto obecnie wie jak wiele oddaje w ręce Google, Facebooka czy Microsoftu.

Wada, o której pewnie pomyśleliście, a która nie istnieje: opóźnienie. Wysłanie informacji o wciśniętym przycisku, renderowanie efektu na odległym serwerze i odesłanie obrazu z powrotem powinno zająć zauważalną ilość czasu. Tymczasem jednak w przypadku tak renderowanych gier właściwie opóźnień nie ma: kule świszczą, gracze biegają, a wszystko działa stosunkowo płynnie.

Ja uważam, że taki „streamingowany” system operacyjny to tylko kwestia czasu. Google ma już wszystko by móc to zrobić: swoje systemy operacyjne, które cierpią na fragmentację, swoje centra danych do cloud computingu i marketingową potrzebę wiedzy wszystkiego o nas. Microsoft też ma swoją chmurę i swój system i ma wielki strach przed marginalizacją w przyszłości. Może ktoś inny?

A jakie jest wasze zdanie?