Nowa koncepcja w pełni adaptacyjnego protokołu rutowania dla bezprzewodowych sieci sensorycznych (1)
Paweł Piotr Czapski - PIAP drukuj
Bezprzewodowe sieci sensoryczne – BSS (ang. Wireless Sensor Network – WSN) są coraz częściej stosowane do obserwowania czynników środowiskowych (zastosowania militarne i cywilne). Rozwój technologii pozwala obecnie na wytwarzanie węzłów o wymiarach rzędu centymetrów i w cenie poniżej kilku USD za sztukę, a co za tym idzie, na stosowanie ich w dużych ilościach.
Odczyty z sensorów są zazwyczaj agregowane lub przekazywane (w surowej formie lub poddane niezbędnej redukcji objętości) do obserwatora. Mimo to nadal brakuje wydajnych protokołów rutowania, zarówno z punktu widzenia energooszczędności, jak i pełnej adaptacyjności do zmieniających się warunków pracy. W dwuczęściowym artykule przedstawiono nowatorską koncepcję w pełni adaptacyjnego protokołu rutowania, którego funkcjonowanie będzie zależne tylko i wyłącznie od odczytów sensorycznych (tj. od jakości i ilości zdarzeń). W pierwszej części omówiono istniejące protokoły rutowania, ukazano ich wady z punktu widzenia adaptacyjności do zmieniających się warunków pracy.
Typowe bezprzewodowe urządzenie sensoryczne stosowane w bezprzewodowych sieciach sensorycznych BSS zbudowane jest z modułu bezprzewodowego (komunikacja z innymi węzłami), modułu przetwarzania danych – mikrokontrolera MCU, procesora cyfrowego przetwarzania sygnałów DSP, rzadziej układu programowalnego FPGA lub hybrydy wymienionych (FPGA pełni zazwyczaj role wspomagania skomplikowanych obliczeń), modułu zasilania (stabilizatory, układy pozyskiwania energii ze środowiska), sensora lub zestawu sensorów (akustyczne, optyczne, magnetometry, akcelerometry itd.), a nawet modułu ruchu (przemieszczanie węzła sensorycznego) [1, 2].
Urządzenia sensoryczne stosowane są do obserwowania zjawisk zachodzących na terenie badań (dla zastosowań militarnych może to być pole walki, dla cywilnych – śledzenie zmian czynników środowiskowych takich jak poziom zanieczyszczeń itd.) [1, 2, 3, 4, 5, 6]. Obserwacja zachodzi nie na pojedynczym węźle, ale za pomocą sieci węzłów (obserwacja rozproszona), gdzie poszczególne węzły tworzą tzw. sieć ad hoc [1, 2]. Obserwacja zachodzi na zasadzie wysyłania zapytania do sieci lub też spontanicznego (okresowego lub przez wyzwolenie zdarzeniem) wysyłania odczytów poszczególnych węzłów do obserwatora (ang. sink).
Rozwój technologii umożliwił budowanie urządzeń sensorycznych o małych wymiarach, w dużych ilościach i przy małych nakładach finansowych [1, 2]. Ogólnoświatową tendencją jest dążenie do zbudowania urządzenia sensorycznego wielkości rzędu milimetrów przy kosztach poniżej 1 USD za sztukę. Umożliwi to stosowanie węzłów sensorycznych na nieporównywalną dotąd skalę, zwiększając precyzję (rozproszonych) odczytów, a tym samym przybliżając zdalną obserwację do rzeczywistości.
O ile postęp technologiczny pozwala już na budowanie energooszczędnych procesorów o znacznych mocach obliczeniowych (węzły sensoryczne Xbow [7]), a także na wydajne przesyłanie danych drogą radiową, to nadal nie istnieją efektywne protokoły rutowania danych między węzłem (lub grupą węzłów) a obserwatorem. Pod pojęciem efektywności/wydajności (przy zachowaniu relatywnie tych samych parametrów przekazu, takich jak prędkość, opóźnienia) rozumie się zarówno energooszczędność danego protokołu rutowania (przekazywanie odczytów w sposób energooszczędny, zarówno z punktu widzenia pojedynczego węzła jak i całej BSS), a także adaptacyjność rutowania do zmieniających się czynników środowiskowych związanych z pracą węzła bezpośrednio (wzrost poziomu zakłóceń radiowych, uszkodzenie węzła) oraz pośrednio (jakościowa i ilościowa zmiana charakteru odczytywanych danych z sensorów) [8, 9, 10, 11, 12, 13, 14].
Należy tu nadmienić, iż na energooszczędność bezpośrednio wpływają parametry modułu radiowego (pobór mocy przez odbiornik i nadajnik) oraz sposoby przetwarzania danych sensorycznych zarówno na poziomie lokalnym, jak i na poziomie całejsieci (agregacja danych, archiwizacja danych w postaci nieprzetworzonej, komunikacja tychże danych itd.). Natomiast wydajne (efektywne) rutowanie jest niejako pochodną tych bezpośrednio wpływających na energooszczędność czynników. Słuszne jest stwierdzenie, że należy dążyć do zbudowania energoadaptacyjnego protokołu rutowania o uniwersalnym zastosowaniu (owa uniwersalność jest wytłumaczona w dalszej treści artykułu). W artykule jest stosowane pojęcie pełnej adaptacyjności (lub rutowanie w pełni adaptacyjne) w odniesieniu do algorytmów charakteryzujących się jednocześnie energooszczędnością, adaptacyjnością i o uniwersalnym zastosowaniu.
Wszystkie badania przeprowadzane na etapie założeń odbywają się na poziomie systemowym. Za poziom systemowy przyjmuje się takie cechy charakterystyczne danej aplikacji (lub wielu aplikacji), które będą stanowić podstawę do rozważań nad uniwersalnością danego hipotetycznego algorytmu rutowania. Innymi słowy omawiane badania są prowadzone „od aplikacji” (ang. top-bottom). Przykładem takich aplikacji są systemy monitorowania poziomu zanieczyszczeń powietrza [3, 4, 5, 6]. W zależności od wymogów aplikacyjnych, dane te mogą być tylko agregowane i dostarczane do obserwatora w postaci pewnych charakterystyk, ale może też być wymóg ciągłego śledzenia zmian poziomów danych składowych zanieczyszczeń. Należy tu również wspomnieć o sytuacjach nadzwyczajnych (awaryjnych), np. nagły wzrost poziomu zanieczyszczeń (skażenie). O ile w przypadku BSS, monitorujących poziom zanieczyszczeń w sposób ciągły, sytuacja awaryjna nie będzie wymagać podjęcia niestandardowych operacji, to w przypadku sieci „agregujących” przedstawienie sytuacji obserwatorowi może nastąpić w sposób niedokładny.
Słuszne jest zatem stwierdzenie, że idealnym rozwiązaniem w takich sytuacjach mogą być algorytmy w pełni adaptacyjne, gdzie odpowiednia reakcja na zaistniałe zdarzenie nie będzie wynikać z przygotowanych uprzednio pewnych scenariuszy, ale z „poznanych” scenariuszy na drodze obserwacji środowiska. Sieć będzie sama kategoryzować dany ciąg odczytów jako osobny scenariusz. Zakłada się, że ten rodzaj „inteligencji”, w początkowej fazie naszych badań, będzie zaimplementowany na poziomie węzłów. Natomiast rodzaj „rozproszonej” inteligencji, wymagającej współpracy sąsiednich węzłów, będzie wdrażany po zidentyfikowaniu podstawowych problemów tworzonego nowatorskiego protokołu rutowania. W dalszej treści artykułu przedstawiono przegląd wybranych (istotnych dla opisywanych badań) protokołów rutowania oraz ich ogólną krytykę z punktu widzenia adaptacyjności do zmieniających się warunków pracy.
Protokoły rutowania w bezprzewodowych sieciach sensorycznych
Pomimo różnorodności zastosowań bezprzewodowych sieci sensorycznych i ich rzeczywistych realizacji, występujące ograniczenia techniczne narzucają konkretne (nie zawsze efektywne) rozwiązania [15]. Do ograniczeń tych można zaliczyć takie czynniki jak: skończone zasoby energetyczne, ograniczone możliwości przetwarzania danych, a także skończona przepustowość stosowanych łączy bezprzewodowych.
Jednymi z podstawowych wymogów względem projektowanych sieci sensorycznych są maksymalizacja ich czasu życia (zazwyczaj z punktu widzenia całej sieci a nie pojedynczych węzłów) oraz zapobieganie degradacji jakości łączy bezprzewodowych (moc nadajników, trasowanie itd.) realizowane przez stosowanie agresywnych technik gospodarowania zasobami energetycznymi sieci [8, 9].
W projektowaniu wydajnych algorytmów trasowania [8, 12] uwzględniane są przede wszystkim ww. czynniki, które ograniczają stosowanie tradycyjnych rozwiązań znanych ze standardowych sieci bezprzewodowych (np. sieci ad hoc oparte na protokole 802.11), co wynika m.in. z:
- braku możliwości zbudowania globalnego schematu adresowania (tak jak to ma miejsce w tradycyjnych sieciach bezprzewodowych)
- ścisłej zależność funkcjonowania danego protokołu od konkretnej aplikacji
- wymogu znajomości położenia węzłów
- nadmiarowości (redundancji) danych.
Do podstawowych czynników wpływających na proces projektowania [9, 12], a więc na funkcjonowanie algorytmu trasowania zalicza się:
- rozmieszczenie węzłów (zależne od aplikacji)
- racjonalne wykorzystanie zasobów energetycznych węzła bez pogarszania jakości odczytów (nieprawidłowe funkcjonowanie czujnika, spowodowane awarią zasilania, może doprowadzić do zmian topologicznych sieci)
- technikę dostarczania (komunikowania) odczytów sensorycznych (wyzwalane czasowo, zdarzeniowo, zapytaniowo)
- heterogeniczność węzłów i łączy bezprzewodowych (różnorodność stosowanych procesorów, komunikacji i zasobów energetycznych)
- tolerancję na uszkodzenia (uszkodzenie węzła nie powinno mieć wpływu na inne zadania podejmowane przez sieć)
- skalowalność (protokół rutowania powinien prawidłowo funkcjonować bez względu na liczbę węzłów, szczególnie w przypadku dużej liczby węzłów)
- dynamiczność sieci (mobilność węzłów, zachodzących zjawisk itd.)
- spójność komunikowania się (znaczna gęstość ruchu radiowego w sieci wyklucza możliwość istnienia węzłów wyizolowanych, tj. funkcjonujących w sposób autonomiczny i niepołączonych z siecią)
- zasięg (ograniczone pokrycie obszaru zdarzeń przez dany węzeł)
- agregację danych (operacja ta realizowana jest według pewnej funkcji agregowania)
- poziom usługi dostarczanej do klienta (ang. Quality of Service – QoS): nakładane reżimy czasowe (maksymalne opóźnienia) na komunikowanie danych i optymalizację energetyczną.
Grupy protokołów
uwzględniające strukturę sieci | uwzględniające wykonywane przez sieć operacje |
płaskie protokoły rutowania (ang. flat-based routing) |
wielościeżkowe protokoły rutowania (ang. multipath-based routing) |
hierarchiczne protokoły rutowania (ang. hierarchical-based routing) |
zapytaniowe protokoły rutowania (ang. query-based routing) |
protokoły rutowania zorientowane na lokalizację (ang. location-based routing) |
negocjacyjne protokoły rutowania (ang. negotiation-based routing) |
protokoły rutowania zapewniające odpowiedni poziom dostarczanej usługi do klienta (ang. QoS-based routing) | |
spójnościowe protokoły rutowania (ang. coherent- and noncoherent-based routing) |
Rozróżnia się dwie podstawowe grupy protokołów rutowania [8]: ze względu na strukturę sieci sensu stricto lub ze względu na wykonywane przez sieć operacje (tab.).
Płaskie protokoły rutowania
W płaskich algorytmach trasowania każdy z węzłów pełni w sieci taką samą rolę [8, 16]. Węzły współpracują między sobą celem dokonywania obserwacji występujących zdarzeń. Najprostszą realizacją płaskiego protokołu rutowania jest tzw. „zalewanie” sieci sensorycznej zapytaniami (ang. flooding).
W obserwacji terenu biorą udział wszystkie węzły, często przekazując sąsiednim węzłom redundantne dane, co jest zasadniczą wadą takiej realizacji. Wynikła zatem potrzeba stworzenia bardziej wydajnych protokołów, o których mowa dalej.
Efektem prac nad wydajnymi płaskimi protokołami jest trasowanie danowo-scentralizowane (ang. data-centric routing), gdzie obserwator (stacja bazowa) wysyła zapytania do określonych regionów i oczekuje odpowiedzi (odczytów sensorycznych) od znajdujących się na tym terenie węzłów [8, 16]. Przesyłanie danych sensorycznych realizowane jest na drodze agregowania informacji podczas transmisji do stacji bazowej (obserwatora). Obserwator może wysyłać zapytania tylko do części węzłów i otrzymywać informacje wyzwalane odpowiedzią (rys. 1). Innym rozwiązaniem jest samoistne wysyłanie odczytów sensorycznych z zadaną częstotliwością (wyzwalanie czasem) lub na skutek zachodzących na obserwowanym terenie zdarzeń (wyzwalanie zdarzeniem).
|
|
Innym rozwiązaniem jest protokół danowo-zapytaniowy przez negocjacje (ang. sensor protocols for information via negotiation – SPIN), który nadaje nazwy (na najwyższym poziomie abstrakcji, tzw. metadane) konkretnym węzłom [8, 16]. Nazwy te w pełni identyfikują rodzaj zbieranych danych przez konkretny węzeł. Komunikowanie danych sensorycznych odbywa się na drodze negocjacji (wymiana informacji negocjacyjnych, tj. ogłoszenie danych – ADV); żądania danych – REQ; wysłania właściwych danych – DATA– zanim nastąpi właściwa transmisja (rys. 2). Z uwagi na negocjacyjny charakter, protokół ten jest dobrym kandydatem dla sieci, w których wymagana jest czasowa synchronizacja. Zdecydowaną zaletą protokołu SPIN (wynikającą z jego negocjacyjnej natury) jest zwiększona wydajność energetyczna w porównaniu z klasycznym „zalewaniem” sieci zapytaniami. Metadane pozwalają na prawie 50 % redukcję danych nadmiarowych (redundantnych). Protokół ten wykrywa również zmiany topologii. Niestety, jego wadą jest to, że nie gwarantuje spełniania reżimów czasowych komunikowanych danych.
W protokole ukierunkowanego rozchodzenia się (ang. directed-diffusion routing) odczyty sensoryczne określone są poprzez pary atrybut-wartość [8, 16]. Eliminuje to konieczność dokonywania dodatkowych operacji (modyfikacja danych) w celu ograniczania zużycia energii. Obserwator wysyła zapytania (ang. interests), które docierają do całej sieci, a każdy z węzłów, który otrzyma takie zapytanie (odwołujące się do zgromadzonych przez niego danych) tworzy tzw. gradienty (ang. gradients) wskazujące kierunki ścieżek prowadzących do źródła, z którego pochodzi zapytanie. Następnie gradienty te wysyłane są do obserwatora i informują go o istniejących ścieżkach komunikacji, które pasują do zadanych zapytań. Natomiast źródło w sposób empiryczny wybiera jedną ze ścieżek lub kilka ścieżek (rys. 3). Opisywany protokół opiera swoje działanie na zapytaniach obserwatora. Istnieją również inne implementacje, w których generowanie ścieżek jest oparte na wywołanych zdarzeniach. Natura protokołu pozwala na znaczne oszczędności energetyczne, stosunkowo małe opóźnienia komunikowanych danych, a także brak wymogu adresowania każdego węzła.
Protokół oparty na pogłoskach (ang. rumour routing) znajduje zastosowanie w sytuacjach, w których liczba zdarzeń jest mała, a liczba zapytań stosunkowo duża [8, 16]. Podstawową funkcjonowania tego protokołu są tzw. agenty (ang. agents) – rys. 4. Tworzą one ścieżki do każdego zdarzenia rejestrowanego przez węzły, a trasowanie informacji następuje przez utworzone wcześniej ścieżki. Dołączenie do konkretnej ścieżki następuje w sposób losowy (i poprzez wysłanie stosownego zapytania). Każdy z węzłów przechowuje w sposób stabelaryzowany informacje o sąsiednich węzłach i zdarzeniach, a także dane o kierunku do innych zdarzeń w sieci. W kolejnym kroku agent wędruje poprzez losowo wybrane węzły, wykonując określoną wcześniej maksymalną liczbę kroków. W trakcie tej wędrówki agent buduje własną tablice zdarzeń przemierzanych sensorów. Gdy agent natrafi na ścieżkę, która prowadzi do innego zdarzenia, następuje agregacja tras. Ponadto w przypadku, gdy odwiedzany węzeł jest częścią dłuższej ścieżki, aktualizowana jest wtedy tablica trasowania tego węzła (poprzez nadpisanie krótszej ścieżki).
Algorytm minimalnego kosztu rutowania (ang. minimum cost forwarding algorithm – MCFA) zawsze trasuje dane ścieżką o najmniejszym koszcie prowadzącą do obserwatora [8, 16]. Założeniem protokołu jest kierowanie wszystkich informacji do stacji bazowej, dlatego też nie jest potrzebny żaden nadrzędny schemat adresacji, przy czym każdy z węzłów musi znać koszt dotarcia informacji do obserwatora. Za koszt przyjmuje się poziom energii, liczbę przeskoków, opóźnienie, liczbę retransmisji itd. Prostota MCFA pozwala na istnienie w sieci węzłów ze znacznie ograniczoną mocą obliczeniową i małymi zasobami energetycznymi.
Protokół zapewniający wykorzystywanie zasobów energetycznych w sposób optymalny (ang. energy-aware routing) wyznacza, zamiast jednej optymalnej, zestaw ścieżek [8]. Ścieżki te wybierane są w sposób losowy i zapobiega to nadmiernemu drenażowi energii węzłów (znajdujących się na jednej optymalnej ścieżce).
Hierarchiczne protokoły rutowania
Sieć z pojedynczą bramą (węzłem centralnym) nie jest skalowalna, gdyż wraz z powiększaniem się sieci musi przetwarzać coraz więcej informacji i komunikować się na duże odległości. W odpowiedzi na ten problem stworzone zostały hierarchiczne protokoły rutowania, których podstawowym celem jest poprawa skalowalności sieci [8, 16].
Działanie protokołów hierarchicznych oparte jest na gromadach węzłów (ang. cluster-based) [8, 16]. Gromada to skupisko węzłów wykonujących pewne wspólne zadanie (obserwacja terenu badań). W każdym skupisku jest węzeł nadrzędny (centralny), który zarządza gromadą, agreguje dane i przekazuje je obserwatorowi bądź do innego węzła centralnego znajdującego się w sąsiedniej gromadzie.
Trasowanie może być oparte tylko na jednej warstwie (ang. single-layer clustering) lub na wielu warstwach (ang. multi-layer clustering), gdzie gromada wyższej warstwy zbudowana jest z gromad warstwy niższej – rys. 5. W hierarchicznych protokołach rutowania węzły o większych możliwościach obliczeniowych mogą być wykorzystywane do przetwarzania (agregowania) i komunikowania danych (na większe odległości), podczas gdy „słabsze” węzły będą dokonywać tylko obserwacji. Istotną zaletą hierarchicznych algorytmów trasowania jest to, że w komunikowaniu danych biorą udział tylko węzły centralne, co znacznie obniża zużycie energii.
Funkcjonowanie protokołów hierarchicznych obejmuje dwie fazy. W pierwszej z nich tworzone są gromady, natomiast druga faza to trasowanie (komunikowanie) rejestrowanych odczytów sensorycznych.
Przykładem hierarchicznego protokołu rutowania jest LEACH (ang. low energy adaptive clustering hierarchy routing) [8, 16]. Protokół ten wybiera w sposób losowy pewną liczbę węzłów centralnych (głównych) i proces ten jest co pewien czas powtarzany. Pozwala to na „rozproszenie” zużycia zasobów energetycznych. LEACH wykorzystuje cyfrową technikę transmisji pozwalającą wielu użytkownikom na dostęp do tego samego kanału fizycznego (ang. time division multiple access – TDMA) przydzielając odpowiednie szczeliny czasowe poszczególnym węzłom w gromadzie, co minimalizuje kolizje komunikacji. Protokół ten wprowadza (nie do końca uzasadnione, a tym samym nieoptymalne) założenia:
- każdy węzeł komunikuje dane bezpośrednio z obserwatorem (stacja bazowa)
- węzły zawsze mają jakieś dane do wysłania
- węzły położone w bliskiej odległości mają wspólne dane.
Protokół dwubiegowego (dwuwarstwowego) rozprowadzania danych (ang. two-tier data dissemination) zakłada, że każde źródło danych – węzeł rejestrujący zdarzenia – buduje w sposób aktywny siatkę (ang. grid structure) trasowania danych. Następnie stacja bazowa (obserwator) wysyła w sposób „zalewowy” zapytania za pośrednictwem węzłów należących do jej siatki trasowania. Zapytania są dalej przekazywane do źródła na warstwie wyższej (należącej do źródeł), a odpowiedź jest wysyłana obserwatorowi drogą odwrotną.
Protokoły zorientowane na lokalizację
W tej grupie algorytmów węzły sensoryczne adresowane są poprzez ich fizyczne umiejscowienie w sieci [8]. Położenie węzłów jest bezpośrednio wykorzystywane do trasowania danych. Natomiast umiejscowienie węzłów w sieci jest najczęściej ustalane poprzez stosowanie dosyć kosztownych energetycznie modułów nawigacji satelitarnej, bądź też opisywanie położenia względem sąsiednich węzłów.
Przykładem takiego algorytmu trasowania jest GAF (ang. geographic adaptive fidelity) [8]. Sieć podzielona jest w sposób trwały na pewne strefy tworząc wirtualną siatkę. Wielkość stref (gromad) zależna jest od potrzebnej mocy do skomunikowania danych i kierunku transmisji. W każdej strefie węzły wybierają jeden sensor, który przez pewien czas jest aktywny, po czym przechodzi w stan uśpienia. Węzeł centralny może wysłać zapytanie do swoich sensorów (w jego klastrze) by przeszły w tryb aktywny i rozpoczęły rejestrowanie, jeśli zaszło jakieś zdarzenie.
Podział protokołów zorientowanych na wykonywane operacje
W wielościeżkowych protokołach rutowania wyznaczane jest kilka alternatywnych tras od obserwatora do źródła zdarzenia [8]. Zwiększa to czas życia sieci a także odporność na nieprawidłowości funkcjonowania systemu (np. uszkodzenia węzłów).
Funkcjonowanie zapytaniowych protokołów rutowania polega na wysyłaniu konkretnych zapytań przez obserwatora [8]. Następnie, węzły posiadające dane (będące odpowiedzią na zadane pytanie) wysyłają odpowiedź do węzła, który zainicjował zapytanie.
W negocjacyjnych protokołach rutowania wykorzystywany jest abstrakcyjny opis odczytów sensorycznych celem zredukowania nadmiarowych transmisji danych [8]. Wysłanie odpowiedzi na zapytanie następuje na drodze negocjacji.
W przypadku protokołów rutowania zapewniających odpowiedni poziom dostarczanej usługi do klienta, funkcjonowanie sieci sensorycznej musi zapewniać spełnienie zadanych wymogów (opóźnienia, zużycie energii, wykorzystanie pasma radiowego itd.) dla komunikowanych danych [8].
W spójnościowych protokołach rutowania rozpatrywane są dwa warianty dostarczania danych: koherentne i niekoherentne [8]. W pierwszym przypadku dane (uprzednio poddane koniecznej obróbce) są rutowane do węzłów agregujących. Natomiast w przypadku rutowania niekoherentnego, surowe dane poddawane są złożonym operacjom przetwarzania, ale lokalnie, zanim zostaną przekazane do innych węzłów.
Wady protokołów rutowania
Przy projektowaniu algorytmów trasowania rozpatrywane są dwie drogi. Jedną z nich jest droga „od aplikacji” (ang. top-bottom), gdzie wymagania aplikacyjne dyktują stosowanie konkretnych technik (rozwiązań) rutowania [15]. Natomiast w rozwiązaniu odwrotnym, tj. „do aplikacji” (ang. bottom-up), uwzględniane są istniejące protokoły lub ich hybrydy, które dopasowuje się niejako do danej aplikacji [15].
Wybór podejścia „do aplikacji” nie jest podyktowany wymaganiami aplikacyjnymi, jest raczej badaniem naukowym sensu stricto. Badania te mają na celu budowanie wydajnych (niekoniecznie energooszczędnych, np. minimalizacja opóźnień) protokołów rutowania i precyzują jedynie hipotetyczne zastosowanie. Taki właśnie podział realizacji protokołów trasowania prowadzi do powstania ogromnej luki między protokołami tworzonymi na gruncie tylko teoretycznym bądź tylko aplikacyjnym, a co za tym idzie, do konieczności tworzenia protokołów „szytych na miarę” konkretnej aplikacji. Rozwiązanie to jest nieefektywne i w wielu przypadkach ogranicza zastosowania sieci sensorycznych.
Luka ta, do pewnego stopnia, jest zapełniana przez niektóre protokoły trasowania, mogące częściowo adaptować się do zmiennych warunków środowiskowych. Adaptacja ta może zachodzić na poziomie trasowania sensu stricto (np. wyznaczanie tras alternatywnych w przypadku nieprawidłowego funkcjonowania danego węzła lub węzłów (HighSSO [9]), protokoły rutowania oparte na algorytmach mrówkowych [12]) lub wykorzystuje się stabelaryzowaną reakcję sieci na empirycznie wyznaczone scenariusze zdarzeń. Ta stabelaryzowana adaptacja polega na porównywaniu odczytów z sensorów (i analizie odczytów z innych węzłów) ze scenariuszami rutowania (zdarzeń) i wyborze algorytmu najbardziej odpowiedniego do istniejącej sytuacji.
Należy również wspomnieć o próbach implementacji sztucznej inteligencji sensu stricto w sieciach sensorycznych [13, 14], tj. zastosowanie samoorganizujących się map Kohonena. Niestety rozwiązania te dotyczą jedynie adaptacji rutowania (na bazie zmodyfikowanego algorytmu Dijkstry) w przypadku nieprawidłowo funkcjonującego bądź uszkodzonego węzła. Co więcej, z uwagi na obliczeniową złożoność takiej „inteligentnej” implementacji, uczenie jest realizowane poza siecią (ang. off-line learning), co stanowczo ogranicza adaptacyjność. O ile uczenie sieci sensorycznej in situ byłoby możliwe, o tyle energochłonność takiego rozwiązania wykluczałaby jego praktyczne zastosowania, stając się niejako problemem czysto akademickim.
Uwzględniając występujące „niedomagania” istniejących protokołów rutowania, a także mając na uwadze pełną adaptacyjność, proponuje się stworzenie algorytmu rutowania, który wykorzystując naturę zachodzących zjawisk na badanym terenie, będzie w sposób „inteligentny” optymalizował (energochłonność, minimalizacja parametrów degradujących komunikację itd.) trasowanie. O tym w drugiej części artykułu.
Bibliografia
- I. F. Akyildiz, W. Su, Y. Sankarasubramaniam, E. Cayirci: Wireless Sensor Networks: A Survey. Computer Networks, vol. 38, no. 4, pp. 393-422, Mar. 2002.
- J. Yick, B. Mukherjee, D. Ghosal: Wireless Sensor Network Survey. Computer Networks, vol. 52, no. 12, pp. 2292-2330, Aug. 2008.
- S. Cotescu, et al.: Roadside Air Pollution Measurement – The New EU Approach also in Romania. „Ion Mincu” University of Architecture and Urbanism, Bucharest, Romania.
- M. Ghanem, Y. Guo, J. Hassard, M. Osmond, M. Richards: Sensor Grids For Air Pollution Monitoring. [in:] Proceedings of the Third UK e-Science All Hands Meeting 2004, p. 8, 2004.
- J. K. Hart, K. Martinez: Environmental Sensor Networks: A Revolution in the Earth System Science? Earth-Science Reviews, vol. 78, no. 3–4, pp. 177–191, Oct. 2006.
- G. Barrenetxea, F. Ingelrest, G. Schaefer, M. Vetterli: Wireless Sensor Networks for Environmental Monitoring: The SensorScope Experience. [in:] 2008 IEEE International Zurich Seminar on Communications, 2008, pp. 98–101.
- Crossbow Technology, Inc., Product Catalog, Crossbow Technology: Wireless: Home Page, 2008.
- J. N. Al-Karaki, A. E. Kamal: Routing Techniques in Wireless Sensor Networks: A Survey. IEEE Wireless Communications, vol. 11, no. 6, pp. 6–28, Dec. 2004.
- M. S. Al-Fares, Z. Sun, H. Cruickshank: High Survivable Routing Protocol in Self Organizing Wireless Sensor Network. International Journal of Computer Science, vol. 36, no. 2, p. 10, May 2009.
- M. Li, B. Yang: A Survey on Topology Issues in Wireless Sensor Network. [in:] Proceedings of the 2006 International Conference on Wireless Networks, pp. 503–509, 2006.
- R. M. Ruairi, M. T. Keane: The Dynamic Regions Theory: Role Based Partitioning for Sensor Network Optimization. [presented at:] the Workshop of the 6th International Joint Conference on Autonomous Agents and Multiagent Systems, Honolulu, Hawaii, 2007.
- P. Arabshahi, et al.: Adaptive Routing in Wireless Communication Networks using Swarm Intelligence. [in:] Proceedings of the 9th AIAA International Communications Satellite Systems Conference, 2001, pp. 17–20.
- J. Barbancho, C. Leon, J. Molina, A. Barbancho: SIR: A New Wireless Sensor Network Routing Protocol Based on Artificial Intelligence, [in:] Lecture Notes in Computer Science, Vol. 3842/2006, Springer Berlin/Heidelberg, 2005, pp. 271–275.
- J. Barbancho, C. Leon, J. Molina, A. Barbancho: Using Artificial Intelligence in Wireless Sensor Routing Protocols. [in:] Lecture Notes in Computer Science, Vol. 4251/2006, Springer Berlin/ Heidelberg, 2006, pp. 475–482.
- B. Raman, K. Chebrolu: Censor Networks: A Critique of „Sensor Networks”. From a Systems Perspective. ACM SIGCOMM Computer Communication Review, vol. 38, no. 3, pp. 75–78, Jul. 2008.
- WIKIPEDIA: „Sieci sensorowe,” Sieci sensorowe – Wikipedia, wolna encyklopedia, 2009.
- J. N. Al-Karaki, A. E. Kamal: Routing Techniques in Wireless Sensor Network: A Survey. National Tsing Hua University, Taiwan, MNet Lab, 2005.
- C. P. Singh, O. P. Vyas, M. K. Tiwari: A Survey of Simulation in Sensor Networks. [in:] Proceedings of the 2008 International Conference on Computational Intelligence for Modeling Control and Automation, pp. 867–872, 2008.
- User Information – Nsnam, 2009.
- G. Mao, B. Fidan: Introduction to Wireless Sensor Network Localization. [in:] Localization Algorithms and Strategies for Wireless Sensor Networks, G. Mao and B. Fidan, Eds. Hershey, PA, USA: Information Science Reference (an imprint of IGI Global), 2009, pp. 1–32.
- Y. Chen, W. Xu, W. Trappe, Y. Zhang: Overview of Wireless Localization. [in:] Securing Emerging Wireless Systems, Springer US, 2009, pp. 1–11.
• • • • • Część 2
mgr inż. Paweł Piotr Czapski – Przemysłowy Instytut Automatyki i Pomiarów, Warszawa
Komentarze
blog comments powered by Disqus