System rozproszonej wizualizacji danych na urządzeniach mobilnych

Transkrypt

System rozproszonej wizualizacji danych na urządzeniach mobilnych
Instytut Badań Systemowych
Polskiej Akademii Nauk
Mgr inż. Maciej Pańka
Uniwersyteckie Centrum Nowoczesnych Technologii Nauczania
Uniwersytet Mikołaja Kopernika w Toruniu
Streszczenie rozprawy doktorskiej
System rozproszonej wizualizacji danych
na urządzeniach mobilnych
Promotor: dr hab. Piotr Bała, prof. UMK
Warszawa, kwiecień, 2013 r.
Wprowadzenie Zapotrzebowanie na moce obliczeniowe niezbędne do realizacji współczesnych badań,
eksperymentów oraz symulacji prowadzonych z wykorzystaniem technologii informatycznych rośnie w bardzo szybkim tempie. Wiele spośród podejmowanych dziś aktywności naukowych jest na tyle skomplikowana, że do ich poprawnej realizacji wymagane są zaawansowane rozwiązania techniczne, często niedostępne w laboratoriach komputerowych realizujących je jednostek. Z tego powodu najbardziej złożone zadania są coraz częściej realizowane
w centrach obliczeniowych, wyposażonych w specjalistyczne serwery, potrafiące sprawnie
przetwarzać olbrzymie ilości danych. Zasoby, które powstają w wyniku tych obliczeń, mają
najczęściej bardzo duże rozmiary, przez co ich swobodne przenoszenie pomiędzy różnymi
systemami staje się utrudnione, a czasami wręcz niemożliwe. W efekcie, zgromadzone w ten
sposób dane są przechowywane w miejscu, w którym zostały wygenerowane, a dostęp do
nich jest realizowany wyłącznie za pośrednictwem sieci teleinformatycznej.
Centralne przechowywanie danych bez wątpienia przynosi duże korzyści, przede
wszystkim dzięki możliwościom stosunkowo łatwego zarządzania zgromadzonymi zasobami
oraz ich udostępnianiu użytkownikom. Jednak w przypadku bardzo obszernych zbiorów okazuje się, że model ten posiada również szereg istotnych ograniczeń. Jednym z największych
jest bez wątpienia brak efektywnych i uniwersalnych rozwiązań umożliwiających interaktywne analizowanie tych zasobów na odległość, bez konieczności pobierania ich w całości na
lokalny komputer zainteresowanego użytkownika. Problem ten jest widoczny szczególnie
podczas pracy z zasobami graficznymi, takimi jak zdjęcia, trójwymiarowe modele, czy też
złożone animacje. Zdalna wizualizacja tego typu danych wymaga zazwyczaj nie tylko dostępu do dużych mocy obliczeniowych urządzenia, na którym są one przetwarzane, ale również
szybkich łączy internetowych umożliwiających sprawną wymianę informacji pomiędzy serwerem a oddalonym od niego użytkownikiem.
Problem zdalnej wizualizacji danych komplikuje się jeszcze bardziej w sytuacji, gdy
ma ona być realizowana za pośrednictwem urządzeń o słabych parametrach technicznych,
takich jak np. laptopy, tablety czy telefony komórkowe. Rynek rozwiązań mobilnych jest
obecnie jednym z najszybciej rozwijających się sektorów całej branży teleinformatycznej, a
same urządzenia przenośne stały się jednymi z najczęściej stosowanych narzędzi dostępu do
informacji oraz komunikacji w Internecie. W naturalny sposób pojawia się dziś również po-
trzeba wykorzystywania tych urządzeń do zdalnego przetwarzania oraz wizualizowania rozproszonych po świecie danych naukowych.
Zdecydowana większość podejmowanych do tej pory prac nad zdalną wizualizacją
danych zakładała konieczność dostępu do stosunkowo dużych mocy obliczeniowych po stronie urządzeń klienckich oraz szybkich łączy internetowych, niezbędnych szczególnie podczas
przetwarzania złożonych modeli 3D oraz animacji. W środowisku mobilnym takie założenie
jest niestety nieuzasadnione, ponieważ współczesne urządzenia przenośne nadal posiadają
szereg ograniczeń technicznych w stosunku do swoich odpowiedników stacjonarnych. Wśród
najważniejszych należy wymienić przede wszystkim niedostateczną szybkość procesora oraz
układu graficznego, niewielką pojemność pamięci operacyjnej oraz dysku, krótką żywotność
baterii czy też małe rozmiary ekranu. Sama komunikacja radiowa jest również dużo wolniejsza i bardziej podatna na zakłócenia niż transmisja danych w sieciach kablowych.
Problemy badawcze oraz główna teza rozprawy Głównym celem rozprawy było przeprowadzenie kompleksowej analizy problemu
zdalnej wizualizacji danych na urządzeniach mobilnych oraz zaprojektowanie i stworzenie
systemu informatycznego, który w efektywny sposób umożliwiałby jej realizację.
W pierwszej kolejności została przeprowadzona wstępna analiza zagadnienia, która
pozwoliła na zlokalizowanie najważniejszych czynników mających wpływ na sprawność
przetwarzania rozproszonych zasobów. Pokazała ona, że głównymi problemami są przede
wszystkim ograniczenia przepustowości łączy internetowych, potrzebnych do szybkiego
przesyłania dużych ilości danych pomiędzy serwerem i urządzeniem mobilnym, a także zapotrzebowanie na moce obliczeniowe niezbędne do ich późniejszego przetworzenia. Brak odpowiednich warunków technicznych w obu tych aspektach może w znaczący sposób spowalniać przebieg obliczeń, wpływając tym samym negatywnie na poziom interakcji użytkownika
z systemem. Sprawnie działający system zdalnej wizualizacji danych wymaga bardzo małych
opóźnień pomiędzy wysłaniem zapytania do serwera a wyświetleniem wyników graficznych
na ekran. Tylko w taki sposób można zapewnić komfort pracy porównywalny do wizualizacji
zasobów lokalnych.
Powyższa, wstępna analiza problematyki rozproszonej wizualizacji danych na urządzeniach mobilnych została opisana w pierwszym rozdziale rozprawy. Na podstawie dokonanej analizy zostały w nim zdefiniowane również główne problemy badawcze, tj.:
• Na ile możliwa jest efektywna wizualizacja rozproszonych danych różnego typu, realizowana w czasie rzeczywistym za pośrednictwem powszechnie dostępnych urządzeń mobilnych, takich jak laptopy, tablety oraz telefony komórkowe?
• Jakie korzyści przynosi wykorzystanie transmisji strumieniowej oraz kodeków
wideo podczas zdalnej wizualizacji danych?
• Na ile możliwa jest sprawna współpraca wielu użytkowników mobilnych jednocześnie, skoncentrowana wokół rozproszonych zasobów graficznych?
W celu rozwiązania postawionych problemów badawczych w ramach rozprawy zostały przeprowadzone następujące działania:
• Dokonanie szczegółowej analizy problematyki zdalnej wizualizacji danych,
obejmującej m.in. porównanie najważniejszych prac badawczych przeprowadzonych do tej pory w tym zakresie.
• Zaprojektowanie oraz implementacja rozproszonego systemu informatycznego,
bazującego na strumieniowej transmisji sekwencji wideo w Internecie, który
umożliwia zdalną wizualizację danych na urządzeniach mobilnych.
• Przeprowadzenie testów wydajności poszczególnych modułów aplikacji serwera.
• Przeprowadzenie pomiarów wydajności aplikacji klienckiej uruchamianej na
kilku wybranych modelach popularnych urządzeń mobilnych.
• Przeprowadzenie analizy jakościowej funkcjonowania systemu z poziomu
użytkownika mobilnego.
• Przeprowadzenie analizy porównawczej wybranych algorytmów kompresji danych graficznych pod kątem możliwości ich wykorzystania w zaprojektowanym systemie.
Została też sformułowana główna teza pracy, mówiąca że „możliwa jest efektywna,
zespołowa wizualizacja rozproszonych danych różnego typu, realizowana w czasie rzeczywi-
stym za pośrednictwem powszechnie dostępnych urządzeń mobilnych w oparciu o zaprojektowany system informatyczny”.
Przegląd badań z zakresu zdalnej wizualizacji danych
W drugim rozdziale rozprawy została dokonana dalsza, bardziej szczegółowa analiza
problematyki zdalnej wizualizacji danych, obejmująca przede wszystkim przegląd innych
prac oraz badań naukowych przeprowadzonych do tej pory w tym zakresie. Pozwoliła ona na
wyróżnienie trzech podstawowych modeli zdalnej wizualizacji danych, zależnych od typu
przetwarzanych zasobów, miejsca realizacji obliczeń oraz zastosowanej technologii transmisji
pomiędzy serwerem a aplikacją użytkownika:
1. Strumieniowanie pojedynczych obiektów oraz całych scen 3D i ich lokalna wizualizacja na urządzeniu użytkownika. Poszczególne obiekty są przesyłane w
kolejności zależnej od ich położenia na scenie. Początkowo przesyłane są jedynie widoczne obiekty znajdujące się na pierwszym planie, a kolejne, oddalone lub ukryte elementy są dosyłane na bieżąco w trakcie trwania sesji. Do
transmisji pojedynczych obiektów stosowane są najczęściej różnorodne techniki przyrostowej transmisji trójwymiarowego modelu. W pierwszej kolejności
przesyłany jest jedynie ogólny zarys bryły, a brakujące szczegóły są stopniowo
dosyłane i na bieżąco dodawane do sceny.
2. Transmisja danych oraz ich lokalna wizualizacja z wykorzystaniem standardu
VRML. Format VRML (ang. Virtual Reality Modeling Language) został stworzony z myślą o łatwym prezentowaniu oraz przenoszeniu trójwymiarowych
danych za pośrednictwem sieci komputerowych. W formacie VRML poszczególne obiekty sceny są reprezentowane za pomocą odpowiednio sformatowanych plików tekstowych, które zawierają opisy takich elementów jak geometria modeli, ich tekstury, zastosowane transformacje, oświetlenie czy też cienie. Kształty poszczególnych obiektów są definiowane w trójwymiarowym
układzie współrzędnych, na bazie pewnych brył elementarnych, takich jak
stożki, sfery czy sześciany. Za pomocą odpowiednich transformacji bryły te
mogą być niemal dowolnie modelowane, skalowane oraz rozmieszczane w obrębie sceny.
3. Strumieniowanie pojedynczych zdjęć cyfrowych lub ich całych sekwencji, wygenerowanych zdalnie na serwerze. W tym modelu wszystkie zdalne zasoby są
w całości przetwarzane po stronie serwera, generującego na ich podstawie poszczególne wizualizacje. Przygotowane w ten sposób modele są automatycznie
rzutowane do postaci sekwencji zdjęć, reprezentujących poszczególne widoki
trójwymiarowej sceny, np. rotacje obiektów, zbliżenia, kolejne klatki animacji,
itd. Obrazy te są w dalszej kolejności przesyłane do aplikacji klienckiej, której
jedynym zadaniem jest ich odpowiednie zaprezentowanie na ekranie użytkownika.
Architektura zaprojektowanego systemu zdalnej wizualizacji danych Przeprowadzona w dwóch pierwszych rozdziałach analiza problemu zdalnej wizualizacji danych pozwoliła na zlokalizowanie największych trudności, które pojawiają się podczas projektowania tego typu systemów informatycznych. Projekt dobrze funkcjonującego
systemu zdalnej wizualizacji danych wymaga w pierwszej kolejności wyboru odpowiedniego
modelu przetwarzania zasobów. Mając na uwadze ograniczenia techniczne, zarówno współczesnych urządzeń przenośnych, jak i samych sieci radiowych, najlepszym rozwiązaniem w
opinii autora wydaje się być podejście, w którym wszystkie skomplikowane zadania są realizowane po stronie serwera, a do użytkownika przesyłane są jedynie końcowe wyniki obliczeń, reprezentowane w formie serii zdjęć. Takie podejście do problemu zdalnej wizualizacji
danych nie tylko w istotny sposób redukuje zapotrzebowanie na moce obliczeniowe urządzeń
klienckich, ale przy zastosowaniu odpowiednich algorytmów kompresji ogranicza również
zdecydowanie ilość danych przesyłanych pomiędzy serwerem a użytkownikiem.
Aby rozwiązać postawione problemy badawcze został zaprojektowany od podstaw
rozproszony system informatyczny, bazujący na opisanym wyżej modelu przetwarzania zasobów, którego architektura została szczegółowo opisana w trzecim rozdziale rozprawy. Najważniejsze zadania, które spełnia ten system obejmują przede wszystkim:
• Możliwość w pełni interaktywnej wizualizacji danych, przechowywanych
zdalnie na rozproszonych serwerach, bez konieczności ich wcześniejszego pobierania na urządzenia użytkowników.
• Przeniesienie wszystkich złożonych zadań obliczeniowych na stronę aplikacji
serwera.
• Wsparcie dla różnych typów danych, począwszy od prostych zdjęć, przez sekwencje wideo, trójwymiarowe modele, aż po animacje 2D oraz 3D.
• Możliwość dowolnego manipulowania zdalnymi zasobami przez użytkowników, obejmująca m.in. zbliżenia sceny, obroty brył, czy też kontrolowanie
przebiegu animacji.
• Możliwość wizualizowania danych pochodzących z różnych źródeł, m.in.
przechowywanych na dyskach lokalnych oraz sieciowych, w bazach danych,
czy też odczytywanych w czasie rzeczywistym ze specjalistycznych serwerów
wizualizacyjnych oraz różnorodnych urządzeń pomiarowych.
• Możliwość zdalnego wizualizowania danych przez wiele osób jednocześnie,
bez zaburzania płynności pracy całego systemu.
• Możliwość synchronicznej współpracy użytkowników na odległość oraz ich
zespołowej wizualizacji rozproszonych zasobów.
• Dostępność systemu za pośrednictwem słabszych obliczeniowo urządzeń mobilnych, takich jak laptopy, netbooki, tablety oraz telefony komórkowe - z jednoczesnym zachowaniem kompatybilności ze wszystkimi popularnymi systemami desktopowymi.
Zaprojektowany przez autora system składa się z działającej w środowisku rozproszonym aplikacji serwera oraz z oprogramowania klienckiego, które może być uruchamiane na
różnorodnych urządzeniach mobilnych. Głównym zadaniem aplikacji serwera jest przetwarzanie w czasie rzeczywistym sekwencji obrazów graficznych, ich kompresowanie oraz sukcesywne przekazywanie do użytkowników końcowych. Została ona podzielona na moduły, z
których każdy może być uruchamiany na osobnej maszynie. Poszczególne moduły są odpowiedzialne za realizację różnych zadań, m.in. za zarządzanie sesjami użytkowników, komunikację ze źródłami danych, czy też odpowiednie przetwarzanie i kompresję obrazów. Pojedyncza sesja wizualizacyjna może być tym samym obsługiwana przez kilka maszyn jednocześnie,
które w sposób równoległy realizują przydzielone im zadania, wymieniając się na bieżąco
wynikami cząstkowymi. W zależności od aktualnego obciążenia poszczególnych modułów,
kolejne maszyny obsługujące daną sesję wizualizacyjną są przydzielane użytkownikowi w
sposób dynamiczny, zapewniając tym samym odpowiedni balans całego układu oraz zwiększając jego odporność na ewentualne awarie.
Aplikacja serwera składa się z trzech elementów: kontrolera sesji, klastra obliczeniowego, który może składać się z większej liczby pojedynczych jednostek, a także z jednego lub
większej liczby źródeł danych (rysunek 1).
Rysunek 1: Ogólny schemat budowy systemu.
Poszczególni użytkownicy systemu komunikują się wyłącznie z kontrolerem sesji,
który pośredniczy w wymianie danych pomiędzy aplikacją kliencką a pozostałymi elementami układu. Kontroler sesji przechowuje też szczegółowe informacje dotyczące poszczególnych jednostek obliczeniowych, wchodzących w skład klastra oraz lokalizację źródeł danych.
W zależności od aktualnej liczby połączeń kontroler przydziela każdemu nowemu użytkownikowi najmniej obciążoną w danym momencie jednostkę obliczeniową, która jest odpowiedzialna za dalszą obsługę jego sesji wizualizacyjnej. Kolejne polecenia użytkownika, takie jak
obroty trójwymiarowej bryły czy zbliżenia ekranu są w czasie rzeczywistym przesyłane przez
aplikację kliencką do kontrolera sesji, który przekazuje je dalej do wybranej jednostki obliczeniowej. Ta na ich podstawie pobiera zasoby z odpowiedniego źródła, przetwarza je zależnie od aktualnych potrzeb i generuje kolejne klatki obrazu, reprezentującego wyniki wizuali-
zacji. Tak przygotowane sekwencje są w dalszej kolejności kompresowane za pomocą kodeka
wideo i przekazywane z powrotem do kontrolera sesji, a stamtąd do użytkownika.
Pojedyncza jednostka obliczeniowa, wchodząca w skład klastra składa się z dwóch
modułów: renderującego oraz kodującego. Moduł renderujący pełni rolę interfejsu pomiędzy
jednostką kodującą a źródłem danych. Z kolei maszyna kodująca jest odpowiedzialna za bieżące przetwarzanie oraz kompresję obrazów, odczytywanych z serwera renderującego. W
celu zapewnienia możliwie najwyższej wydajności systemu oba moduły powinny być uruchamiane na oddzielnych serwerach (rysunek 2). Komunikacja sieciowa pomiędzy poszczególnymi modułami serwera, jak również sama transmisja sekwencji wideo do użytkownika są
realizowane za pomocą technik strumieniowych. Dzięki temu aplikacja serwera może równolegle realizować niektóre obliczenia i w czasie rzeczywistym przekazywać do użytkownika
cząstkowe wyniki wizualizacji. Jakość transmisji wideo jest dynamicznie dostosowywana w
module kodującym do parametrów technicznych każdego urządzenia mobilnego z osobna
oraz aktualnie dostępnej przepustowości łącza, mierzonej na bieżąco w trakcie trwania sesji
wizualizacyjnej.
Rysunek 2: Obieg sekwencji obrazów pomiędzy poszczególnymi modułami systemu.
Oprócz indywidualnej wizualizacji danych system pozwala również na łączenie wielu
użytkowników w pojedyncze sesje. W ramach tych sesji mają oni możliwość wspólnego
przeglądania rozproszonych zasobów oraz prowadzenia dyskusji na odległość za pośrednictwem wbudowanego modułu kolaboracyjnego. Najważniejszą funkcją, jaką w tym zakresie
oferuje system jest przede wszystkim synchronizacja w czasie rzeczywistym obrazu wygenerowanego przez serwer pomiędzy wszystkich uczestników sesji, z jednoczesnym zapewnieniem komunikacji głosowej oraz wideokonferencyjnej. Rozdzielczości poszczególnych sekwencji wideo są automatycznie skalowane przez serwer, dzięki czemu każdy z uczestników
spotkania otrzymuje obraz indywidualnie dostosowany do parametrów technicznych posiadanego urządzenia. W trakcie spotkań użytkownicy mogą też przełączać się w tzw. tryb pracy
indywidualnej. Będąc w tym trybie mają oni możliwość w pełni interaktywnej, samodzielnej
pracy ze zdalnymi zasobami, które stanowią temat aktualnej sesji wizualizacyjnej (np. w celu
analizowania ich pod innym kątem), słuchając jednocześnie dyskusji prowadzonej pomiędzy
pozostałymi uczestnikami spotkania.
Przebieg badań W ramach rozprawy zostały przeprowadzone dogłębne pomiary wydajności poszczególnych elementów zaprojektowanego systemu. Wyniki zanotowane w trakcie tych badań
zostały szczegółowo opisane w czwartym rozdziale pracy.
Badania zostały podzielone na sześć etapów:
1. W pierwszej kolejności zostały porównane rozmiary wejściowych danych graficznych, uzyskane w wyniku kompresji za pomocą algorytmu JPEG oraz
dwóch kodeków wideo: Sorenson Spark (będącego nieznacznie zmodyfikowaną wersją algorytmu H.263) oraz H.264. Sprawdzona została również szybkość
kodowania poszczególnych sekwencji.
2. Następnie została zmierzona wydajność pracy modułu renderującego, w trakcie
równoległego przetwarzania danych pochodzących z różnych źródeł:
a. zewnętrznego serwera wizualizacyjnego, który generował kolejne klatki
obrazu w czasie rzeczywistym,
b. sekwencji pojedynczych zdjęć, wczytywanych na bieżąco z lokalnego
dysku modułu renderującego,
c. sekwencji obrazów, zakodowanych wcześniej przy pomocy kodeka wideo, przechowywanych na lokalnym dysku serwera w formie pojedynczego pliku.
3. Kolejne strumienie danych, przygotowywane przez moduł renderujący, są
zawsze przekazywane do drugiego z serwerów jednostki obliczeniowej, gdzie
następuje ich dalsza obróbka. Dlatego w kolejnym etapie badań została zmierzona wydajność pracy modułu kodującego w trakcie równoległego przetwarzania wielu sekwencji wideo jednocześnie. Ten moduł jest najbardziej wymagającym obliczeniowo elementem całego systemu.
4. Zakodowane strumienie wideo są w dalszej kolejności przekazywane do kontrolera sesji, zaprojektowanego z myślą o obsłudze wielu użytkowników oraz
jednostek obliczeniowych jednocześnie. W kolejnym etapie badań została zatem zmierzona wydajność również tego elementu, sprawdzona przy różnych
konfiguracjach liczby połączeń oraz natężenia ruchu sieciowego.
5. W dalszej kolejności zostały zmierzone opóźnienia, występujące w transmisji
danych pomiędzy serwerem a urządzeniem mobilnym. Obok jakości kodowanego obrazu i wydajności poszczególnych modułów aplikacji serwera, właśnie
ten parametr ma kluczowe znaczenie dla sprawności działania całego układu
oraz odpowiedniego poziomu interakcji użytkownika z systemem.
6. Na sam koniec zostało również przetestowane działanie aplikacji klienckiej,
uruchamianej na różnych typach urządzeń mobilnych. Jej praca została sprawdzona podczas dekodowania sekwencji audio-wideo, odczytywanych strumieniowo z kontrolera sesji, a także podczas kodowania sygnałów przechwytywanych z kamery oraz mikrofonu użytkownika.
Badania zostały przeprowadzone dla różnych konfiguracji rozdzielczości ekranu
(320x180, 640x360, 800x450, 1024x576 oraz 1280x720 pikseli) oraz poziomów kompresji
danych (256, 512 oraz 1024 kb/s). Analizie porównawczej zostały poddane dwa wyżej wymienione kodeki wideo, tj. Sorenson Spark oraz H.264. Algorytmy te różnią się między sobą
poziomem uzyskiwanej kompresji danych oraz zapotrzebowaniem na moce obliczeniowe
zarówno na etapie kodowania, jak i dekodowania sekwencji obrazów. Do testów zostały wykorzystane trzy serwery oraz kilka wybranych urządzeń mobilnych, m.in. telefon komórkowy,
tablety oraz laptop, wyposażone w różne systemy operacyjne (Android, iOS, Windows oraz
Mac OS X). Pomiary zostały przeprowadzone kolejno dla trzech odmiennych sekwencji danych obrazowych (animacji), różniących się między sobą poziomem szczegółowości prezentowanej sceny. Wszystkie badania zostały przeprowadzone dla różnej liczby równoległych
zadań realizowanych po stronie serwera (sesji wizualizacyjnych), co pozwoliło na dogłębne
sprawdzenie wydajności systemu podczas jednoczesnej obsługi wielu użytkowników.
Wnioski z badań oraz rozwiązanie problemów badawczych Przeprowadzone w rozprawie badania pokazały, że zaprojektowany przez autora system umożliwia sprawną wizualizację danych za pośrednictwem różnorodnych urządzeń mobilnych. Niezależnie od użytego kodeka obraz wideo był odtwarzany bardzo płynnie na
wszystkich testowanych urządzeniach, a zanotowane opóźnienia były niewielkie, nie przekraczając zazwyczaj jednej sekundy. Taki czas reakcji systemu jest praktyce wystarczający do
zapewnienia w pełni interaktywnej wizualizacji danych. Wszystkie urządzenia mobilne bez
większych problemów poradziły sobie również z jednoczesnym kodowaniem oraz dekodowaniem sekwencji wideo.
Po stronie aplikacji serwera obsługa pojedynczej sesji wizualizacyjnej przebiegała
sprawnie we wszystkich przetestowanych konfiguracjach, niezależnie od rozdzielczości ekranu oraz użytego algorytmu kompresji wideo. Wraz z uruchamianiem kolejnych sesji wizualizacyjnych można było zaobserwować rosnące różnice pomiędzy wynikami zanotowanymi dla
obu testowanych kodeków. Mniej wymagający obliczeniowo algorytm Sorenson Spark zapewniał płynne kodowanie obrazu w czasie rzeczywistym (powyżej 15 klatek na sekundę)
oraz niewielkie opóźnienia (poniżej 1 sekundy) prawie we wszystkich sprawdzonych konfiguracjach, niezależnie od liczby równoległych sesji wizualizacyjnych. Z kolei algorytm H.264
umożliwiał większą redukcję rozmiaru danych, jednak zużywał do tego celu zdecydowanie
więcej mocy obliczeniowych serwera kodującego. Podczas przetwarzania obrazów w wysokiej rozdzielczości (1280x720 pikseli) wpływało to momentami niekorzystnie na płynność
odtwarzania danych na urządzeniu mobilnym, szczególnie w przypadku obsługi większej
liczby sesji przez pojedynczy serwer. Należy jednak podkreślić, że we wszystkich przeprowadzonych pomiarach serwer kodujący był sztucznie obciążany do granic możliwości, kompresując niemal bez przerwy bardzo złożone sekwencje graficzne. Można więc zakładać, że w
realnych warunkach byłby on w stanie obsłużyć za pomocą obu algorytmów zdecydowanie
większą liczbę osób niż ta, która została zanotowana podczas przeprowadzonych pomiarów.
Szczegółowe podsumowanie badań zostało zamieszczone w piątym rozdziale rozprawy. W rozdziale tym została również przeprowadzona analiza zanotowanych wyników, która
pokazała, że uzyskana wysoka wydajność systemu była możliwa głównie dzięki:
• Wykorzystaniu odpowiedniego modelu zdalnego przetwarzania danych, w którym
niemal wszystkie skomplikowane obliczenia są realizowane po stronie serwera, a do
użytkownika przesyłane są wyłącznie ostateczne wyniki wizualizacji.
• Zastosowaniu do kompresji sekwencji graficznych zaawansowanych kodeków wideo,
wykorzystujących predykcję międzyobrazową, które istotnie zmniejszają liczbę danych przesyłanych pomiędzy serwerem a aplikacją kliencką.
• Zastosowaniu algorytmów dynamicznej zmiany rozdzielczości oraz jakości kodowanego obrazu, które dostosowują generowane strumienie wizyjne do indywidualnych
parametrów technicznych poszczególnych urządzeń mobilnych oraz aktualnie dostępnej przepustowości łącza sieciowego.
• Zastosowaniu rozproszonej architektury aplikacji serwera, która umożliwia jednoczesną obsługę wielu użytkowników mobilnych, dzięki:
o Rozdzieleniu najbardziej złożonych zadań pomiędzy różne, równolegle pracujące serwery, które na bieżąco wymieniają się między sobą cząstkowymi wynikami obliczeń (generowanie oraz wstępne przetwarzanie sekwencji graficznych, skalowanie i kompresja wideo, dystrybucja strumieni wizyjnych pomiędzy użytkowników).
o Wykorzystaniu mechanizmu dynamicznego przydzielania użytkownikom najmniej obciążonych w danej chwili jednostek obliczeniowych.
• Zastosowaniu strumieniowej transmisji danych, zarówno pomiędzy poszczególnymi
modułami aplikacji serwera, jak i na drodze do użytkownika mobilnego. W połączeniu
z opisaną wcześniej rozproszoną architekturą systemu pozwoliło to istotnie zredukować czas oczekiwania na odczyt danych z serwera, dając tym samym możliwość w
pełni interaktywnej wizualizacji danych.
W ostatniej części rozdziału udzielono też odpowiedzi na postawione wcześniej hipotezy
badawcze, tj.:
•
Możliwa jest efektywna, w pełni interaktywna wizualizacja rozproszonych danych
różnego typu (2D, 3D, 4D) za pośrednictwem urządzeń mobilnych.
•
Wykorzystanie transmisji strumieniowej oraz kodeków wideo pozwala istotnie
zmniejszyć ilość danych przesyłanych pomiędzy serwerem a użytkownikiem mobilnym oraz zredukować czas oczekiwania na zaprezentowanie wyników wizualizacji, zapewniając tym samym wysoki poziom interakcji użytkownika ze zdalnymi
zasobami. Zastosowanie transmisji strumieniowej pomiędzy poszczególnymi modułami aplikacji serwera pozwala lepiej zbalansować pracę systemu, umożliwiając
tym samym równoległą obsługę dużej liczby sesji wizualizacyjnych.
•
W oparciu o zaproponowany model przetwarzania danych możliwa jest synchroniczna współpraca wielu użytkowników mobilnych jednocześnie, skoncentrowana
wokół rozproszonych zasobów graficznych.
Rozwiązanie powyższych problemów badawczych umożliwiło tym samym potwierdzenie
głównej tezy rozprawy, która została sformułowana w pierwszym rozdziale, mówiącej że
„możliwa jest efektywna, zespołowa wizualizacja rozproszonych danych różnego typu, realizowana w czasie rzeczywistym za pośrednictwem powszechnie dostępnych urządzeń mobilnych w oparciu o zaprojektowany system informatyczny”.

Podobne dokumenty