Zwiększanie niezawodności transmisji danych w bezprzewodowych sieciach czujnikowych
| TechnikaŁączność bezprzewodowa bardzo szybko zdobywa popularność wwielu aplikacjach kierowanych do różnych sektorów rynku. Jednym z popularniejszych zastosowań takiej komunikacji są czujniki bezprzewodowe, które w zastosowaniach domowych i przemysłowych łączy się w sieci o różnych topologiach. Jeżeli tak utworzona sieć czujnikowa jest duża i zachowuje się dynamicznie, istnieje duże prawdopodobieństwo opóźnień w dostarczaniu pakietów danych lub ich całkowitej utraty. W artykule radzimy co zrobić, aby zwiększyć efektywności transmisji.
Łączność bezprzewodowa bardzo szybko zdobywa popularność wwielu aplikacjach kierowanych do różnych sektorów rynku. Jednym z popularniejszych zastosowań takiej komunikacji są czujniki bezprzewodowe, które w zastosowaniach domowych i przemysłowych łączy się w sieci o różnych topologiach. Jeżeli tak utworzona sieć czujnikowa jest duża i zachowuje się dynamicznie, istnieje duże prawdopodobieństwo opóźnień w dostarczaniu pakietów danych lub ich całkowitej utraty. W artykule radzimy co zrobić, aby zwiększyć efektywności transmisji.
Wykorzystanie sieci czujników bezprzewodowych pozwala na rozmieszczenie na danym terenie wielu czujników i siłowników, i to bez konieczności ponoszenia kosztów okablowania czy ograniczeń natury fizycznej. Urządzenia te umożliwiają zbieranie danych w sposób ciągły przez długi czas z miejsc niedostępnych dla ludzi oraz z tych lokalizacji, gdzie rozmieszczenie czujników przewodowych z określonych względów nie jest możliwe. Natura sieci bezprzewodowych tworzonych ad hoc umożliwia węzłom formowanie topologii połączeń autonomicznie, przy minimalnej interwencji człowieka. Sieć taka jest również autonomicznie utrzymywana w ruchu i potrafi sama rozwiązywać problemy w razie niesprawności któregoś z węzłów. Niezawodność działania i odporność na awarie wynika z faktu, że sieć jest w stanie „uczyć się” na podstawie zmian we własnej strukturze i bardzo szybko adaptować do nowych warunków pracy, nawet na poziomie transmisji pojedynczego pakietu danych. Na drodze do w pełni bezawaryjnego działania ciągle jednak stoją przeszkody. Złożone zależności wzajemne sieci czujników bezprzewodowych muszą być rozwiązywane harmonijnie, jeśli funkcjonowanie systemu ma się odbywać w warunkach rzeczywistych. Niezbędne jest zapewnienie wymaganej skalowalności, mobilności, sprawności energetycznej, jak też niezawodności oraz zdolności adaptacji do zmieniających się okoliczności pracy. Jeśli którykolwiek z tych warunków nie będzie spełniony, wówczas aplikacja sieci w świecie rzeczywistym może być problematyczna.
Skalowalność
Sieci ad hoc nie mają wstępnie zdefiniowanej topologii ani kształtu. Dlatego również każdy węzeł komunikujący się z innym węzłem generuje więcej pakietów niż tylko swoje własne pakiety danych. Te dodatkowe pakiety nazywane są pakietami kontrolnymi. O ile w małych sieciach ich liczba jest stosunkowo niewielka, w typowych sieciach ad hoc rośnie ona wykładniczo wraz ze zwiększaniem się liczby węzłów. Wynika to z faktu, że coraz więcej pakietów kontrolnych jest niezbędnych do wyznaczenia ścieżek routingu (trasowania). Ponadto, im większa sieć, tym większa szansa przerwania którejś ze ścieżek routingu, a co za tym idzie generacji zwiększonej liczby pakietów kontrolnych. Podsumowując, wraz ze wzrostem rozmiarów sieci wzrasta też liczba pakietów kontrolnych, o ile zależy nam na utrzymaniu ścieżek komunikacyjnych. Ponieważ całkowita przepustowość sieci jest ograniczona, wzrost liczby pakietów niebędącychdanymi spowoduje spadek możliwości przesyłu tych ostatnich. Jeśli sieć jest bardzo duża, wówczas do transmisji danych aplikacji pozostanie jedynie niewielka część pasma.
Z przedstawionej powyżej charakterystyki sieci ad hoc można wysnuć ciekawe wnioski odnośnie do niezawodności. Ponieważ sieć automatycznie dostosowuje się do zmieniających się warunków transmisji czy też poziomu zaburzeń elektromagnetycznych wraz ze zwiększaniem się dynamiki zmian warunków zewnętrznych, zwiększy się również liczba wysyłanych pakietów kontrolnych. Na pewnym poziomie liczba pakietów kontrolnych będzie tak duża, że siłą rzeczy transmisja danych stanie się zawodna. Dojście do tego punktu krytycznego nastąpi naturalnie tym szybciej, im sieć jest większa. Tak więc skalowalność i niezawodność są ze sobą ściśle związane i – niestety – działają jedna przeciw drugiej.
Mobilność
Kolejną istotną cechą, która charakteryzuje sieci bezprzewodowe, jest zdolność szybkiej ich adaptacji do zmiennych warunków pracy, wynikających np. ze zmian poziomu zaburzeń zewnętrznych. Oczywiste jest, że musi być wówczas generowana i wymieniana pomiędzy węzłami większa liczba pakietów kontrolnych, wskutek czego spada zarówno skalowalność, jak i niezawodność.
Generalnie sieć zawierająca pewną liczbę czujników przenośnych powinna oferować jak największą mobilność. Jednak ma to niekorzystny wpływ na niezawodność. Trudno jest bowiem zrealizować sieć czujników bezprzewodowych zapewniającą zarówno dużą mobilność, jak i dużą niezawodność. W typowej sieci czujników bezprzewodowych istotne jest również skracanie cyklu pracy w każdym z węzłów. Jednak im dłużej węzeł pozostaje w stanie uśpienia, tym mniejsza szansa nawiązania komunikacji pomiędzy nim a sąsiednimi węzłami. Skalowalność wymaga skomplikowanych technik synchronizacji pozwalających większej liczbie węzłów pozostawać w krótkim cyklu pracy. Jednak mniejsza liczba pakietów kontrolnych i opóźnienia w ich transmisji oznaczają mniejszą niezawodność i gorsze właściwości adaptacyjne sieci.
Sposoby zwiększania niezawodności
Istnieją dwie metody zwiększania niezawodności pracy sieci czujników bezprzewodowych, które pozwalają sprostać opisanym powyżej problemom. Jedną z nich jest ciągły dynamiczny routing (Persistent Dynamic Routing – PDR), pozwalający uzyskać niezawodną transmisję danych bez konieczności powtarzania transmisji pakietów. Wraz z mechanizmem bieżącego wyznaczania najlepszych ścieżek transmisji pakietów, technika ta zapewnia znakomitą skalowalność i sprawność energetyczną urządzeń w sieci. Druga metoda, określana mianem High-capacity Wireless Sensor Networking, oznacza zwiększenie niezawodności poprzez zwiększenie pojemności sieci. Obie te metody nie są całkowicie odrębne i mogą być stosowane równocześnie.
W przypadku prawie każdego stosowanego obecnie w sieciach ad hoc protokołu przyjmuje się, że w pewnym przedziale czasu sieć będzie pozostawała w trybie statycznym, czyli innymi słowy zakłada się, że zawsze będzie możliwość zarejestrowania „zdjęcia” całej ścieżki transmisji pakietu – od węzła źródłowego do węzła docelowego. Pakiet danych w protokole tzw. dynamicznego routingu źródła zawiera w sobie pełną informację o ścieżce w danym momencie. O ile w przypadku występowania małych fluktuacji i interferencji przyjęcie założenia quasi-statycznego zachowania sieci sprawdza się bardzo dobrze, w środowisku bardziej dynamicznym już tak nie jest. Inaczej mówiąc, w ostatnim z przypadków może nie być możliwe ustanowienie pełnej ścieżki w danym momencie. W tym wypadku konwencjonalne algorytmy routingu, takie jak AODV (Ad hoc On-Demand Vector Routing), nie są dobrym rozwiązaniem. Przykładowo, w przypadku AODV źródło może stale wysyłać pakiety wyznaczające ścieżkę routingu, lecz nie otrzymywać na nie odpowiedzi od węzła docelowego. Tak więc pakiety kontrolne stale „zalewają” sieć, a pakiety danych nie mogą zostać przesłane przed wyznaczeniem pełnej ścieżki. Rezultatem tego jest spadek efektywności, zwłaszcza w dużych sieciach. (rys.1).
W przypadku ciągłego dynamicznego routingu (PDR) pakiet danych nie musi oczekiwać na wyznaczenie pełnej ścieżki od źródła do węzła docelowego w danej chwili. Jest wysyłany do sieci i jest w niej przesyłany w sposób podobny, w jaki przemieszczalibyśmy się po labiryncie, nie mając mapy. Nawigacja pakietu w danej chwili odbywa się wyłącznie na podstawie informacji uzyskanych z sąsiednich węzłów, bez oczekiwania na potwierdzenie pełnej ścieżki do punktu docelowego. Taki sposób nawigacji może w ogromnym stopniu ograniczyć liczbę pakietów kontrolnych przesyłanych w sieciach o dużej dynamice, gdyż nie jest konieczne wyznaczanie pełnej ścieżki transmisji. Ponadto pakiety kontrolne przesyłane są tylko pomiędzy sąsiednimi węzłami w danym segmencie sieci.
W praktyce jednak „zalewanie” sieci pakietami kontrolnymi jest dokonywane jednorazowo, tylko w pierwszym etapie jej formowania. Od tego momentu wyznaczanie ścieżek transmisji pakietów jest wykonywane wyłącznie lokalnie. Taki schemat nie gwarantuje dużej dokładności wyznaczania ścieżki i w tym sensie PDR jest w większym stopniu techniką probabilistyczną niż deterministyczną. We względnie statycznej sieci istnieje wyższe prawdopodobieństwo, że pakiet danych osiągnie węzeł docelowy, będąc transmitowanym po ścieżce „deterministycznej”, co zapewnia zbliżone parametry protokołów PDR i AODV. Jednak w sieciach o dużej dynamice PDR pozwala dostarczać pakiety danych przy znacznie mniejszej liczbie generowanych pakietów kontrolnych, niż ma to miejsce w przypadku AODV (rys.2).
Zwiększenie niezawodności
Jak już wspomniano wcześniej, w protokole AODV średnia liczba pakietów potrzebnych do transmisji określonej ilości danych wzrasta wykładniczo wraz ze zwiększaniem się liczby węzłów sieci. W krańcowym przypadku liczba pakietów kontrolnych dąży do nieskończoności, a tym samym, przy określonej przepustowości sieci, liczba przesyłanych pakietów danych dąży do zera. Zjawisko to wynika w dużej mierze z samej natury sieci ad hoc, a tego typu topologia występuje właśnie w przypadku bezprzewodowych sieci czujnikowych. Im większa sieć, tym więcej ścieżek przepływu danych jest narażonych na przerwanie, a to oznacza konieczność generowania kolejnych pakietów kontrolnych do rekonstrukcji połączeń pomiędzy źródłem i węzłem docelowym. W przypadku dużej sieci uzyskanie optymalnego balansu pomiędzy skalowalnością i niezawodnością wymaga ograniczenia do minimum liczby transmitowanych pakietów w przeliczeniu na określoną ilość danych.
Jednym ze sposobów zwiększenia skalowalności bez wzrostu liczby przesyłanych pakietów jest zwiększenie pojemności sieci, np. poprzez zwiększenie ilości transmitowanych danych. Rozszerzenie pasma jest tylko jedną z technik. Niestety konsekwencją poszerzenia pasma jest zazwyczaj zwiększenie poboru mocy, a więc pogorszenie jednego z najważniejszych parametrów opisujących sieć bezprzewodową. Alternatywne techniki to zwiększenie liczby bramek dostępowych, równoczesna transmisja na wielu częstotliwościach czy agregacja danych.
W większości sieci czujników bezprzewodowych agregację danych z czujników i przesłanie ich do systemu czy odbiorców realizuje pojedyncza bramka dostępowa. Dodanie kolejnych bramek może zredukować liczbę pakietów kontrolnych niezbędnych do przesłania danych z czujników do systemu. Ponieważ wysłanie pakietu wymaga wówczas mniejszej liczby cykli, przy zachowaniu stałej liczby pakietów kontrolnych sieć pozwala na przesłanie większej ilości danych. W przypadku takiej konfiguracji bramki muszą być połączone np. poprzez sieć Ethernet lub 802.11.
Inną techniką jest wykorzystanie równocześnie kilku częstotliwości radiowych. Wykorzystując wiele kanałów przełączanych dynamicznie (Channel Hopping), można zwiększyć niezawodność działania sieci poprzez zwiększenie jej odporności na interferencje i szumy w.cz. Dynamiczne przełączanie kanałów pozwala również przesyłać większą ilość danych, wykorzystując dane pasmo częstotliwości. Minusem tej techniki jest natomiast zwiększony pobór mocy. Wynika to choćby z faktu, że pojedynczy węzeł będzie realizował bardziej złożoną procedurę wyznaczania ścieżki i ustanawiania łącza, która będzie dłuższa i powodująca większe zużycie energii. Proces przełączania kanałów pogarsza także zdolność adaptacyjną sieci. Ponadto w praktycznych rozwiązaniach sieci wykorzystujących wiele częstotliwości, pojedynczy węzeł wymaga więcej pamięci i większej mocy obliczeniowej.
Agregacja danych pozwala zwiększyć pojemność sieci bez poszerzania pasma transmisyjnego. Technika ta polega na scaleniu wielu pakietów danych w jeden duży pakiet, np. w routerze. Mniejsza liczba przesyłanych pakietów danych pozwala również ograniczyć liczbę pakietów kontrolnych, a w konsekwencji uzyskać szersze pasmo dla transmisji danych z czujników. Minusem jest w tym wypadku pogorszenie zdolności adaptacyjnej i większe opóźnienia przesyłu pakietów.
Podsumowanie
Technika ciągłego dynamicznego routingu (PDR) pozwala zwiększyć niezawodność działania sieci – parametr niezbędny w zastosowaniach typu mission-critical oraz life-critical, i to bez równoczesnego pogorszenia takich parametrów, jak skalowalność czy sprawność energetyczna. Druga z przedstawionych technik, polegająca na zwiększaniu niezawodności poprzez zwiększanie pojemności, pozwala uzyskać lepszą skalowalność i przepustowość bez pogarszania niezawodności. Wybór jednej z zaprezentowanych metod lub nawet obu naraz zależy od rzeczywistych warunków pracy występujących w konkretnej sieci.
Tomasz Daniluk