Rozdział Dynamiczne zarządzanie jakością usług w Internecie na przykładzie transmisji obrazu ruchomego Zbigniew OMIOTEK Wyższa Szkoła Zarządzania i Administracji w Zamościu, Katedra Informatyki i Inżynierii Wiedzy zomiotek@wszia.edu.pl Franciszek GRABOWSKI Politechnika Rzeszowska, Zakład Systemów Rozproszonych fgrab@prz.rzeszow.pl Streszczenie Obraz ruchomy przesyłany strumieniowo przez Internet charakteryzuje się występowaniem samopodobieństwa i procesów z zależnościami długoterminowymi. Powyższe własności są naturalnymi cechami informacji zawartej w obrazie źródłowym i to głównie one powodują zaburzenia ruchu oraz degradację wydajności systemu transmisji. Wielkość zaburzeń wnoszonych przez dane wejściowe można określić stosując jako miarę długoterminowy parametr Hursta. W rozdziale wskazano możliwość wykorzystania tego parametru do adaptacyjnego dopasowania toru transmisji do przesyłanego strumienia obrazu. Taka koncepcja wpisuje się w klasyczną formułę przetwarzania autonomicznego, ale w odróżnieniu od niej, uwzględnia procesy długoterminowe zachodzące w sieci. Dzięki temu, dynamiczne zarządzanie jakością usług może spełniać swoje zadanie również w większej skali czasu. 1. Wstęp Rozwój technologii informatycznych spowodował gwałtowny wzrost liczby aplikacji sieciowych oraz usług informacyjnych ogarniających niemal wszystkie dziedziny naszego życia. Usługi i aplikacje stały się bardziej złożone, różnorodne i dynamiczne. Również podstawowa infrastruktura komunikacyjna (Internet), w wyniku łączenia dużej liczby niezależnych hostów, jest bardziej rozległa i złożona. Duże przedsiębior-
2 Z. Omiotek, F. Grabowski stwa oraz instytucje, w celu komunikacji i przetwarzania danych, stosują rozległe sieci komputerowe. Rozproszone aplikacje uruchamiane w tych sieciach są zróżnicowane i zajmują się wieloma różnymi zadaniami (wewnętrzne procesy sterowania, prezentacja zawartości WWW, itd.). Sieci komputerowe są również stosowane przez urządzenia przenośne, które działają z coraz większą szybkością. Pracownicy muszą utrzymywać łączność ze swoimi przedsiębiorstwami w czasie, gdy znajdują się poza swoimi biurami. W celu uzyskania dostępu do danych, wykorzystują laptopy, palmtopy czy telefony komórkowe korzystające z różnych technologii bezprzewodowych. Tak duża złożoność współczesnych rozproszonych systemów komputerowych sprawia, że stają się one trudne do ręcznego sterowania przez administratorów. Sterowanie ręczne jest ponadto czasochłonne, drogie i może być źródłem błędów. Pojawia się więc bariera ograniczająca dalszy rozwój systemów, którą dodatkowo potęguje złożoność procesów projektowania aplikacji, konfiguracji i zarządzania. W przypadku aplikacji, środowisk programowania czy infrastruktur komunikacyjnych występuje również problem integracji, zarządzania i bezpieczeństwa. Pojawia się więc potrzeba badań nad alternatywnym modelem projektowania systemów i aplikacji, który byłby w stanie sprostać aktualnym wyzwaniom w zakresie skali, złożoności i różnorodności. 2. Przetwarzanie autonomiczne Wychodząc naprzeciw wyzwaniom scharakteryzowanym w poprzednim podrozdziale, firma IBM wystąpiła z inicjatywą nowego podejścia do projektowania systemów i a- plikacji, określanego jako przetwarzanie autonomiczne [1, 2]. Jest to pojęcie stosowane do opisania szerokiego zakresu standardów, architektur, produktów, usług i narzędzi, które pozwalają systemom na samozarządzalność. Inspiracją, która legła u podstaw opracowania modelu przetwarzania autonomicznego był autonomiczny system nerwowy człowieka. System ten pełni w organizmie człowieka funkcję regulatora procesów wegetatywnych, toczących się w warunkach wewnętrznych, decydujących o funkcjonowaniu całego ciała a nie kontrolowanych na ogół z poziomu świadomości. Używając terminologii informatycznej, można powiedzieć, że autonomiczny układ nerwowy realizuje ideę przetwarzania rozproszonego, przy czym stopień rozproszenia jest bez porównania wyższy, niż w jakimkolwiek obecnie istniejącym systemie komputerowym. Fakt ten czyni układ autonomiczny szczególnie interesującym obszarem obserwacji dla naukowców zajmujących się nowymi architekturami systemów przetwarzania danych. Cel działania systemu autonomicznego, jakim jest regulacja i stabilizacja parametrów fizycznych i chemicznych środowiska wewnętrznego organizmu, stawia go na czele listy obiektów interesujących z punktu widzenia automatyków i specjalistów z zakresu techniki sterowania. Wzorowany na autonomicznym systemie nerwowym, model przetwarzania autonomicznego powinien mieć mechanizm, dzięki któremu zmiany jego podstawowych parametrów mogłyby wywołać takie zmiany zachowania systemu, dzięki którym, uwzględniając warunki środowiska, powróciłby on z powrotem do równowagi. Stan stabilnej równowagi jest warunkiem koniecznym dla przetrwania organizmu. W przypadku autonomicznych systemów przetwarzania, pojęcie przetrwania rozumiane jest
Dynamiczne zarządzanie jakością... 3 jako zdolność systemu do samodzielnej ochrony przed atakami, powrotu do normalnej pracy po awarii, rekonfiguracji spowodowanej zmianami warunków środowiska oraz ciągłej pracy z wydajnością zbliżoną do optymalnej. Równowaga systemu może być zachwiana zarówno przez środowisko wewnętrzne (np. nadmierne wykorzystanie pamięci, czy procesora), jak i zewnętrzne (np. ataki). Strategia przetwarzania autonomicznego udostępnia sieciowym systemom komputerowym możliwość samodzielnego zarządzania bez bezpośredniej interwencji człowieka. Z tego względu, jedna z głównych idei leżąca u podstaw funkcjonowania systemów autonomicznych określana jest właśnie jako samozarządzalność. Człowiek odgrywa w tych systemach nową rolę nie steruje on systemem bezpośrednio lecz określa jedynie ogólne strategie i cele działania, które służą jako wejściowe dane sterujące dla procesów samozarządzania. W 2001 roku firma IBM wydała manifest, w którym zawarła osiem głównych cech autonomicznych systemów przetwarzania [3]. Oto one: 1. Dysponowanie informacją dotyczącą własnego stanu i zachowania. 2. Samodzielna konfiguracja i rekonfiguracja w zmiennych i nieprzewidywalnych warunkach środowiska. 3. Wykrywanie własnego nieoptymalnego działania i samodzielna optymalizacja poprawiająca to działanie. 4. Wykrywanie i usuwanie potencjalnych problemów oraz powrót do normalnej pracy po usunięciu awarii. 5. Wykrywanie ataków i ochrona swoich zasobów przed atakami wewnętrznymi i zewnętrznymi oraz utrzymywanie ogólnego bezpieczeństwa i integralności systemu. 6. Dysponowanie informacją dotyczącą swojego środowiska pracy i zdolność do reakcji na zmiany tego środowiska. 7. System musi być zdolny do pracy w wielu architekturach sprzętowych i programowych (przenośność). Dlatego musi być zbudowany w oparciu o standardowe i otwarte protokoły oraz interfejsy. 8. System, w możliwym zakresie, powinien wyprzedzać swoje potrzeby i zachowania oraz być zdolnym do aktywnego samozarządzania. Przykładowa funkcjonalność systemu zdolnego do samodzielnego zarządzania obejmuje instalację oprogramowania, gdy zostanie wykryte, że go brakuje, restart elementu, który się zawiesił, zwiększenie bieżącego obciążenia, w przypadku, gdy zostanie wykryty wzrost przepustowości, przełączenie się w tryb offline przy wykryciu próby włamania do systemu. Każda z powyższych cech reprezentuje obszar aktywnych badań [4]. Pojęcie samozarządzania dotyczy czterech zasadniczych aspektów funkcjonowania systemów, a mianowicie: konfiguracji, optymalizacji, ochrony i przywrócenia normalnej pracy systemu po awarii. Główna koncepcja, na której ma opierać się działanie systemów autonomicznych to zastosowanie układów sterowania w trybie online, wykorzystujących zamknięte pętle sterowania. Ich główne zadanie to monitorowanie określonych zasobów (sprzętowych lub programowych) oraz podejmowanie decyzji i adaptacja systemu w celu autonomicznego utrzymywania parametrów w pożądanym zakresie.
4 Z. Omiotek, F. Grabowski 3. Układ sterowania w trybie online Wiele systemów rzeczywistych, w tym również system transmisji obrazu ruchomego przez Internet typu best-effort, można zaliczyć do tzw. systemów hybrydowych. Charakteryzują się one występowaniem zdarzeń zarówno dyskretnych, jak i ciągłych w czasie [5]. Ponadto, w przypadku systemu transmisji obrazu, występuje skończony zbiór parametrów definiujących zużywane zasoby, które można wykorzystać do sterowania. Dlatego taki system może być modelowany jako tzw. przełączany system hybrydowy [6]. Problem sterowania sprowadza się tutaj do optymalizacji funkcji wielu zmiennych, określającej relację pomiędzy pożądaną jakością usług a kosztem pojawiającym się w przypadku wykorzystania zasobów systemu. Na przykład, układ sterowania może utrzymywać określony czas odpowiedzi dla obciążenia zmieniającego się w czasie, przy jednoczesnej minimalizacji poboru mocy przez system. Przedstawiony wyżej problem sterowania może być rozwiązany w trybie online. Ogólna koncepcja układu sterowania w trybie online została zaprezentowana w [7], natomiast przykłady implementacji takiego podejścia przedstawiono w [8, 9]. ( k j) x ˆ + ( k j) u + xk ( ) u* ( k) Rys. 1. Architektura układu sterowania w trybie online Architekturę układu sterowania w trybie online przedstawiono na rys. 1. W powyższym układzie, akcje sterujące są wynikiem optymalizacji działania systemu podlegającego sterowaniu. Dla przyjętych kryteriów QoS (ang. Quality of Service) i określonego zakresu czasu, realizowana jest predykcja działania systemu fizycznego. Do predykcji wykorzystany jest matematyczny model systemu. Cele sterowania oraz ograniczenia działania systemu są zdefiniowane w problemie optymalizacji, który jest rozwiązywany w każdym kroku zakresu predykcji. Działanie układu sterowania w trybie online jest opisane równaniem ( k 1) = Φ( x( k) u( k) ) gdzie: k zakres predykcji, n x( k) R próbka aktualnego stanu systemu, u k R sygnał sterujący. ( ) m x +, (1)
Dynamiczne zarządzanie jakością... 5 Przestrzeń stanów systemu jest opisana zbiorami wejściowymi X oraz U, przy czy zbiór U jest skończony. Koncepcja sterowania w trybie online wykorzystuje pewne miary wydajności (np. pobór energii, tryb przełączania, itd.), które na bieżąco są optymalizowane. Miara wydajności jest funkcją stanu systemu oraz zmiennych wejściowych (wyjściowych). Najczęściej stosowana jest zasada, zgodnie z którą zmienne są dodawane z różnymi wagami, odzwierciedlającymi wpływ danej zmiennej na działanie całego systemu. Moduł prognozowania, na podstawie parametrów środowiska pracy, np. obciążenia nadchodzącymi zadaniami, dokonuje estymacji tych parametrów w określonym zakresie czasu (zakresie predykcji). Dane otrzymane na podstawie predykcji są następnie wykorzystane przez matematyczny model systemu do prognozy przyszłego zachowania systemu fizycznego. Prognozowane zachowanie systemu jest następnie poddane optymalizacji zgodnie z określonymi wymaganiami QoS. Moduł optymalizacji znajduje najlepsze dane sterujące i podaje je na wejście systemu. 4. Koncepcja układu sterowania online dla przekazu obrazu ruchomego przez Internet Do estymacji wydajności systemów komputerowych proponowane są w literaturze różne modele prognozowania. W pozycji [10] zaprezentowano model autoregresyjny, służący do prognozy trendów w sieciach komputerowych. Połączenie filtru Kalmana z modelem autoregresyjnym, służące do wykrywania zmian obciążenia serwera WWW przedstawiono w [11]. Z kolei w [12] zaprezentowano algorytmy predykcji służące do estymacji różnych parametrów wydajności systemu komputerowego, uwzględniające zdarzenia nietypowe, takie jak naruszenie QoS czy uszkodzenie systemu. Algorytmy predykcji stosowane w dotychczasowych modelach regulacji w trybie online szacują trend na podstawie aktualnych parametrów środowiska. Taka predykcja ma charakter krótkoterminowy i nie oddaje w pełni charakteru procesów zachodzących w rzeczywistych środowiskach sieciowych. Wada dotychczasowych układów sterowania polega na tym, że jeżeli układ fizyczny zostanie dostrojony na podstawie bieżących parametrów środowiska, to czynność ta występuje już po fakcie. Zawsze działanie takiego układu będzie opóźnione względem zmian środowiska (w stosunku do tego, co się dzieje obecnie, dostrajany jest następny krok). W związku z powyższym, w algorytmie predykcji, jako miarę trendu zmian parametrów środowiska, proponujemy wykorzystać parametr Hursta. Jest to parametr długoterminowy, który nie zmienia się od kroku do kroku w zakresie predykcji. Dzięki temu, zmiany parametrów środowiska można prognozować z wyprzedzeniem ( do przodu ). Na tej podstawie można adaptacyjnie reagować na samoorganizację kanału i węzła. W proponowanym rozwiązaniu, model systemu w układzie sterowania obejmować będzie również zjawiska wyższych rzędów, których do tej pory nie uwzględniano. Systemem fizycznym, w odniesieniu do którego planujemy zastosować proponowane rozwiązanie, jest system transmisji obrazu ruchomego przez Internet. Jest to
6 Z. Omiotek, F. Grabowski hierarchiczny systemem złożony, w którym na samym szczycie leży warstwa danych pierwotnych (obraz źródłowy) [13]. Warstwa ta wnosi zaburzenia do ruchu sieciowego, ponieważ są one naturalną cechą informacji zawartej w obrazie. Tych zaburzeń nie można wyeliminować, można natomiast podjąć próby dopasowania struktury wykonawczej (tor transmisji) do przetwarzanego zadania (strumień obrazu). Naszym zdaniem, należy w tym celu wykorzystać długoterminowy parametr Hursta, określający poziom zaburzeń obecnych w strumieniu i na tej podstawie dokonywać adaptacyjnej rekonfiguracji toru transmisji. Realizując to zamierzenie, proponujemy integrację metody szacowania zaburzeń ruchu (parametru Hursta) z protokołem IPv6. W nagłówku tego protokołu znajdują się 2 pola przewidziane do realizacji zadań w ramach QoS Etykieta przepływu oraz Priorytet (rys. 2). Pole Etykieta przepływu (20 bitów) wspomaga żądanie specjalnego trybu obsługi pakietu. Pomaga ono identyfikować komputery docelowe i nawiązywać połączenia o określonych właściwościach i wymogach. Rys. 2. Format podstawowego nagłówka protokołu IPv6 W naszym rozwiązaniu proponujemy wykorzystać pole Priorytet. Jest to pole o szerokości ośmiu bitów i służy do rozróżniania pakietów o różnych wymogach co do doręczania w czasie rzeczywistym. Takie rozróżnianie realizowane jest najpierw w sposób ogólny przez podział na klasy przepływu a następnie dokładny, za pomocą identyfikatora w obrębie danej klasy. Datagramy dzielone są na dwie klasy przepływu z kontrolą przeciążenia i bez kontroli przeciążenia. Datagramy z kontrolą przeciążenia (priorytety od 0 do 7) reagują na przeciążenie sieci. Mogą zostać w takiej sytuacji spowolnione i tymczasowo przetrzymane w buforze do momentu likwidacji zatoru. Datagramy bez kontroli przeciążenia (priorytety od 8 do 15) są zawsze kierowane do celu przed pozostałymi. Przypisanie pakietowi klasy przepływu pozwala określić ogólną charakterystykę sposobu jego przesyłania. Do przesyłania pakietów powstających podczas interakcji, np. naciśnięć klawiszy i przesunięć myszki) można zastosować klasę przepływu z kontrolą przeciążenia i małym opóźnieniem. Natomiast, aby w czasie rzeczywistym przesyłać przez Internet obraz i dźwięk, nadawca może zażądać, by sprzęt sieciowy ustanowił trasę, która ma opóźnienie mniejsze, niż np. 10 ms. W celu zapewnienia optymalnej wydajności całego systemu, należy wykorzystać szacowanie zaburzeń wnoszonych przez dane wejściowe (strumień obrazu) do modyfikacji w trybie online wartości pola Priorytet. Dotychczasowe rozwiązania wykorzy-
Dynamiczne zarządzanie jakością... 7 stujące tę wartość oparte są na ręcznym ustawianiu wielkości priorytetu w trybie administracyjnym. W proponowanym przez nas rozwiązaniu, pole Priotytet (stosownie do kontraktu) może być ustawiane automatycznie, na podstawie próbkowania danych wejściowych (rys. 3). Rys. 3. Ustawianie wartości priorytetu pakietu IPv6 na podstawie poziomu zaburzeń wnoszonych przez dane wejściowe Strumień przesyłający treść multimedialną w czasie rzeczywistym będzie posiadał klasę bez kontroli przeciążenia, natomiast dokładna wartość priorytetu (w zakresie od 8 do 15) zależeć będzie od wielkości zaburzeń wnoszonych przez źródło sygnału. Poziom tych zaburzeń, określony za pomocą długoterminowego parametru Hursta, będzie odwzorowany na wartość ustawianą w polu Priorytet. Istotnym problemem do rozwiązania będzie tutaj eksperymentalne wyznaczenie funkcji odwzorowującej wartość parametru H na wysokość priorytetu. Zastosowanie powyższego rozwiązania sprawi, że pakiety będą adaptacyjnie docierały do celu, po trasach mniej lub bardziej preferencyjnych. Ze względu na długoterminowy charakter parametru Hursta, sposób traktowania pakietów oznaczonych daną wartością priorytetu będzie spełniał swoje zadanie również w większej skali czasu. W zaprezentowanym rozwiązaniu dane wejściowe mogą w sposób interakcyjny dokonywać wyboru odpowiedniej ścieżki algorytmu przetwarzania w celu zapewnienia optymalnej wydajności całego systemu. 5. Podsumowanie Naturalną cechą źródłowej struktury danych multimedialnych jest występowanie procesów o charakterze długoterminowym. Są one główną przyczyną zaburzeń ruchu i w konsekwencji powodują degradację wydajności systemu transmisji obrazu ruchomego. Procesów tych nie można usunąć ze strumienia danych, ponieważ są one własnością informacji zawartej w obrazie źródłowym. W związku z tym, w celu poprawy jakości przekazu, należy zastosować układ sterowania online do automatycznego, dynamicznego ustawiania priorytetu transmisji. Takie rozwiązanie wpisuje się w koncepcję przetwarzania autonomicznego. Jednak, w odróżnieniu od dotychczasowych rozwiązań układów sterowania online, do predykcji trendu zmian parametrów środo-
8 Z. Omiotek, F. Grabowski wiska (zaburzeń ruchu), proponujemy wykorzystać parametr Hursta. Jest to parametr długoterminowy, który nie zmienia się od kroku do kroku w zakresie predykcji. Dzięki temu, zmiany parametrów środowiska można prognozować z wyprzedzeniem ( do przodu ). Na tej podstawie można adaptacyjnie reagować na samoorganizację kanału i węzła. W proponowanym rozwiązaniu, model systemu w układzie sterowania obejmować będzie również zjawiska wyższych rzędów, których do tej pory nie uwzględniano. Literatura 1. Kephart J. O., Chess D. M.: The Vision of Autonomic Computing. Computer magazine, January 2003. 2. A White Paper Prepared for IBM: Practical Autonomic Computing: Roadmap to Self Managing Technology. IBM Corporation, January 2006. 3. Horn P.: Autonomic Computing: IBM s perspective on the State of Information Technology. IBM Corporation, October 2001. 4. Parashar M., Hariri S.: Autonomic Computing: An Overview. Springer Verlag, 2005, Vol. 3566, pp. 247-259. 5. Antsaklis P., Koutsoukos X., Zaytoon J.: On hybrid control of complex systems: a survey. European Journal of Automation, 1998, Vol. 32 pp. 1023-1045. 6. Abdelwahed S., Karsai G., Biswas G.: Online safety control of a class of hybrid systems. 41 st IEEE Conference on Decision and Control, 2002, pp. 1988-1990. 7. Abdelwahed S., Kandasamy N., Neema S.: Online Control for Self-Management in Computing Systems. Proc. 10 th IEEE Real-Time and Embedded Tech. & Applications Symp. (RTAS), 2004, pp. 368-375. 8. Kandasamy N., Abdelwahed S., Hayes J. P.: Self-Optimization in Computer Systems via Online Control: Application to Power Management. Proc. IEEE Conf. Autonomic Computing (ICAC), 2004, pp. 54-61. 9. Abdelwahed S., Wu J., Biswas G., Manders E.: Hierarchical Online Control Design for Autonomous Resource Management in Advanced Life Support Systems. 35 th SAE International Conference on Environmental Studies (ICES '05), Rome, Italy, July 2005. 10. Shen D., Hellerstein J. L.: Predictive Models for Proactive Network Management: Application to a Production Web Server. Proc. Network Operations & Management Symp., 2000, pp. 833-846. 11. Zhang F., Hellerstein J. L.: An Approach to Online Predictive Detection. Proc. Modeling, Analysis & Simulation, Computer & Telecom. Syst., 2000, pp. 549-556. 12. Vilalta R., Apte C. V., Hellerstein J. L., Ma S., Weiss S. M.: Predictive Algorithms in the Management of Computer Systems. IBM Systems Journal, 2002, Vol. 41, No. 3, pp. 461-474. 13. Omiotek Z., Grabowski F.: Hierarchiczny model systemu strumieniowej transmisji obrazu ruchomego przez Internet. Wysokowydajne sieci komputerowe. Zastosowanie i bezpieczeństwo, Wydawnictwa Komunikacji i Łączności, Warszawa 2005.