Computing Science
Bezprzewodowe Bezprzewodowe sieci sieci ad-hoc: ad-hoc: tanie, tanie, skuteczne, skuteczne, na na wszelkie wszelkie okazje okazje Paweł Gburzyński Department of Computing Science University of Alberta & Olsonet Communications, Ottawa
MIMUW, 24 czerwca 2008
1
Computing Science
1982
MIMUW, 24 czerwca 2008
2
Computing Science
Bezprzewodowe sieci czujników Tanie Tanie Potencjalnie Potencjalnie wielka wielka (z (z góry góry nieokreślona) nieokreślona) liczba liczba węzłów węzłów Samokonfigurowalne, Samokonfigurowalne,samoskalowalne samoskalowalne Samowystarczalne Samowystarczalne(pod (podwzględem względemenergii) energii)
MIMUW, 24 czerwca 2008
3
Computing Science
Bezprzewodowe sieci czujników Tanie Tanie Potencjalnie Potencjalnie wielka wielka (z (z góry góry nieokreślona) nieokreślona) liczba liczba węzłów węzłów Samokonfigurowalne, Samokonfigurowalne,samoskalowalne samoskalowalne Samowystarczalne Samowystarczalne(pod (podwzględem względemenergii) energii) Ideałem Ideałem byłoby byłoby coś coś ww rodzaju rodzaju lemowskich lemowskich mikropów mikropów (Pokój (Pokój na na Ziemi). Ziemi). Modny Modny termin: termin: “inteligentny “inteligentny kurz” kurz” (smart (smartdust). dust).Nadużywany Nadużywanywprost wprostbezczelnie. bezczelnie. MIMUW, 24 czerwca 2008
4
Computing Science
Typowy reprezentant (Crossbow)
MIMUW, 24 czerwca 2008
5
Computing Science
Typowy reprezentant (Crossbow)
Lepiej Lepiejwszystko wszystkopołączyć połączyćdrutem drutem
MIMUW, 24 czerwca 2008
6
Computing Science
Typowy reprezentant (Crossbow)
Lepiej Lepiejwszystko wszystkopołączyć połączyćdrutem drutem Jak Jaksie sienie nieda, da,to tomoże może......11hop hop......
MIMUW, 24 czerwca 2008
7
Computing Science
Typowy reprezentant (Crossbow)
Lepiej Lepiejwszystko wszystkopołączyć połączyćdrutem drutem Jak Jaksie sienie nieda, da,to tomoże może......11hop hop...... “Drobinka” “Drobinka” tego tego “kurzu” “kurzu” posiada posiada 64MB 64MB pamięci, pamięci, ii kosztuje kosztuje$500-$2000. $500-$2000. MIMUW, 24 czerwca 2008
8
Computing Science
To jest Arturo, szef naszego CEOS
MIMUW, 24 czerwca 2008
9
Computing Science
To jest Arturo, szef naszego CEOS Dwa Dwa miesiące miesiące temu, temu, Arturo Arturo kupił kupił od od Crossbow Crossbow sprzęt sprzęt za za $10K $10K ww celu celu monitorowania monitorowanialasów lasówAmazonii. Amazonii.
MIMUW, 24 czerwca 2008
10
Computing Science
To jest Arturo, szef naszego CEOS Dwa Dwa miesiące miesiące temu, temu, Arturo Arturo kupił kupił od od Crossbow Crossbow sprzęt sprzęt za za $10K $10K ww celu celu monitorowania monitorowanialasów lasówAmazonii. Amazonii. Po Po czym czym wydało wydało się, się, że że od od biedy biedy pokryłby pokryłbykawalek kawalek20x20m 20x20m.... ....
MIMUW, 24 czerwca 2008
11
Computing Science
To jest Arturo, szef naszego CEOS Dwa Dwa miesiące miesiące temu, temu, Arturo Arturo kupił kupił od od Crossbow Crossbow sprzęt sprzęt za za $10K $10K ww celu celu monitorowania monitorowanialasów lasówAmazonii. Amazonii. Po Po czym czym wydało wydało się, się, że że od od biedy biedy pokryłby pokryłbykawalek kawalek20x20m 20x20m.... .... ...... pod pod warunkiem, warunkiem, że że siedziałby siedziałby tam tam cały cały czas czas zz laptopem laptopem(i(imałą małąelektrownią). elektrownią).
MIMUW, 24 czerwca 2008
12
Computing Science
To jest Arturo, szef naszego CEOS Dwa Dwa miesiące miesiące temu, temu, Arturo Arturo kupił kupił od od Crossbow Crossbow sprzęt sprzęt za za $10K $10K ww celu celu monitorowania monitorowanialasów lasówAmazonii. Amazonii. Po Po czym czym wydało wydało się, się, że że od od biedy biedy pokryłby pokryłbykawalek kawalek20x20m 20x20m.... .... ...... pod pod warunkiem, warunkiem, że że siedziałby siedziałby tam tam cały cały czas czas zz laptopem laptopem(i(imałą małąelektrownią). elektrownią). Teraz, Teraz, używamy używamy Arturo Arturo jako jako “rzecznika” “rzecznika” ww sytuacjach, sytuacjach, gdy gdy musimy musimy wymownie wymownie ii krótko krótko naświetlić naświetlić defekty defektyrozwiązań rozwiązańkonkurencji. konkurencji. MIMUW, 24 czerwca 2008
13
Computing Science
Co ci ludzie robią źle? W Wdzisiejszych dzisiejszychczasach czasachtrudno trudnozrobić zrobićcoś cośmałego małego podproblemy, podproblemy,warstwy warstwy standardy standardy komitety, komitety,zespoły, zespoły,outsourcing outsourcing Java, Java,zintegrowane zintegrowaneśrodowiska środowiskaprogramowania programowania Czy Czy ktoś ktoś pamięta pamięta jak jak programowaliśmy programowaliśmy Giera? Giera? To To było było “małe” “małe”ii(na (naowe oweczasy) czasy)całkiem całkiemdo dorzeczy. rzeczy.Ileż Ileżdało dałosię się na natym tymzrobić zrobić...... MIMUW, 24 czerwca 2008
14
Computing Science
Małe ciągle istnieje Typowy Typowytaniutki taniutkimikroprocesor: mikroprocesor:MSP430F148 MSP430F148(TI) (TI) Cena: Cena:P ?
Do Do kogo kogo wysłać wysłać pakiet pakiet wwnastępnym następnymkroku? kroku?
MIMUW, 24 czerwca 2008
43
Computing Science
TARP P->P P->P
?
TARP TARP
?
? ? ?
Do Do kogo kogo wysłać wysłać pakiet pakiet Czy Czy mam mam retransmitować retransmitować wwnastępnym otrzymany następnymkroku? kroku? otrzymany pakiet? pakiet? Czy Czy moja moja retransmisja retransmisja ma ma szansę szansę pomóc? pomóc? MIMUW, 24 czerwca 2008
44
Computing Science
Decyzje sterowane łańcuchem reguł jestem jestem ostatecznym ostatecznym odbiorcą? odbiorcą?
TAK
NIE
reguła reguła11
ignoruj
niestety reguła reguła22
ignoruj
niestety odbierz, odbierz, pakiet pakietzzgłowy głowy
reguła regułann
ignoruj
niestety retransmituj retransmituj
MIMUW, 24 czerwca 2008
45
Computing Science
Decyzje sterowane łańcuchem reguł jestem jestem ostatecznym ostatecznym odbiorcą? odbiorcą?
TAK
odbierz, odbierz, pakiet pakietzzgłowy głowy
NIE za zadużo dużo hopów? hopów?
reguła reguła11 niestety reguła reguła22
widziałem widziałem już jużten ten pakiet? pakiet?
ignoruj
ignoruj
niestety
reguła regułann
ignoruj
niestety retransmituj retransmituj
MIMUW, 24 czerwca 2008
46
Computing Science
S
Przykład skutecznej reguły: SPD
MIMUW, 24 czerwca 2008
K
D
47
Computing Science
S
Przykład skutecznej reguły: SPD K
D
S->D S->D H h
MIMUW, 24 czerwca 2008
48
Computing Science
S
Przykład skutecznej reguły: SPD K
D
[S, hSK, CSK] S->D S->D H h
MIMUW, 24 czerwca 2008
49
Computing Science
S
Przykład skutecznej reguły: SPD
MIMUW, 24 czerwca 2008
K [S, hSK, CSK]
[D, hDK, CDK]
h H SD H h
D
50
Computing Science
S
Przykład skutecznej reguły: SPD
MIMUW, 24 czerwca 2008
K [S, hSK, CSK]
[D, hDK, CDK]
h H SD H h
D
51
Computing Science
S
Przykład skutecznej reguły: SPD K [S, hSK, CSK]
[D, hDK, CDK]
h H SD H h
HH--hh PicOS -> VUE
2
SMURPH SMURPH== ==system systemsymulacji symulacjiiispecyfikacji specyfikacji SIDE SIDE== ==SMURPH SMURPH++interfejs interfejsdo doświata świata zewnętrznego zewnętrznego PicOS PicOS== ==SMURPH SMURPHlingo lingozastosowane zastosowanedo do całościowego całościowegoprogramowania programowaniasystemów systemówreaktywnych reaktywnych 2 VUE VUE2== ==zestaw zestawmakrosów makrosówiifunkcji funkcjiprzerabiających przerabiających program programwwPicOS'ie PicOS'iena namodel modelwwSMURPH-ie SMURPH-ie MIMUW, 24 czerwca 2008
77
Computing Science
Struktura oprogramowania węzła praxis (application)
other plugins
TARP
API
plugs VNETI phy
PicOS kernel
driver
driver
RF module
other network devices
microcontroller UART
MIMUW, 24 czerwca 2008
... GPIO, ADC, DAC
78
Computing Science
Struktura oprogramowania węzła praxis (application)
other plugins
TARP
API
plugs VNETI phy
PicOS kernel
driver
driver
microcontroller bezwarstwowy do implementacji bezwarstwowymoduł moduł do implementacji ... GPIO, ADC , DAC UART protokołów protokołów RF module
MIMUW, 24 czerwca 2008
other network devices
79
Computing Science
Przykład niefunkcjonalności warstw SS
MIMUW, 24 czerwca 2008
AA
BB CC
DD
80
Computing Science
Przykład niefunkcjonalności warstw SS
AA
BB CC
DD
Gdy Gdy AA sądzi, sądzi, że że pakiet pakiet znajduje znajduje się się na na ścieżce ścieżce optymalnej, optymalnej,ustawia ustawiamu muspecjalny specjalnybit bitwwnagłówku nagłówku(F). (F).
MIMUW, 24 czerwca 2008
81
Computing Science
Przykład niefunkcjonalności warstw SS
AA
BB CC
DD
Gdy Gdy AA sądzi, sądzi, że że pakiet pakiet znajduje znajduje się się na na ścieżce ścieżce optymalnej, optymalnej,ustawia ustawiamu muspecjalny specjalnybit bitwwnagłówku nagłówku(F). (F). Jeśli Jeśli BB (lub (lub C) C) podsłucha podsłucha pakiet pakiet zz ustawionym ustawionym F, F, który który odpowiada odpowiada jednemu jednemu zz pakietów pakietów oczekujących oczekujących na na transmisję, transmisję, ii jego jego liczba liczba hopów hopów jest jest >= >= liczbie liczbie hopów hopów podsłuchanego podsłuchanego pakietu, pakietu, BB (lub (lub C) C) wycofa wycofa zz transmisji transmisji własną własnąkopię. kopię. MIMUW, 24 czerwca 2008
82
Computing Science
2
Model w VUE praxis (application)
other plugins
TARP
API
plugs VNETI
Channel model
phy
Virtual network VUEE = Virtual Underlay Emulation Engine
Virtual I/O pins
Virtual UART
Interface daemon
MIMUW, 24 czerwca 2008
Other virtual hardware
Virtual RF module
Remote agents
83
Computing Science
Podsumowanie
Nazywamy Nazywamy to to podejściem podejściem “holistycznym”: “holistycznym”: nie nie ma ma ww tym tymwarstw. warstw.TARP TARPnie niejest jest“usprawniany” “usprawniany”sam samwwsobie. sobie. Nie można usprawnić czegoś, co jest Nie można usprawnić czegoś, co jest doskonałe .. doskonałe Nie Nie znaczy znaczy to, to, że że nie nie uwzględniamy uwzględniamy jego jego modyfikacji modyfikacji wwkontekscie konteksciekonkretnych konkretnychaplikacji. aplikacji. To Tosamo samodotyczy dotyczyPikusia: Pikusia:esencja esencjapozostaje pozostajebez bezzmian zmian (trudno (trudnotam tamzresztą zresztącoś cośpoprawić). poprawić).
MIMUW, 24 czerwca 2008
84
Computing Science
Podsumowanie
Nazywamy Nazywamy to to podejściem podejściem “holistycznym”: “holistycznym”: nie nie ma ma ww tym tymwarstw. warstw.TARP TARPnie niejest jest“usprawniany” “usprawniany”sam samwwsobie. sobie. Nie można usprawnić czegoś, co jest Nie można usprawnić czegoś, co jest doskonałe .. doskonałe Nie Nie znaczy znaczy to, to, że że nie nie uwzględniamy uwzględniamy jego jego modyfikacji modyfikacji wwkontekscie konteksciekonkretnych konkretnychaplikacji. aplikacji. To Tosamo samodotyczy dotyczyPikusia: Pikusia:esencja esencjapozostaje pozostajebez bezzmian zmian (trudno (trudnotam tamzresztą zresztącoś cośpoprawić). poprawić). 2 VUE VUE2 pozwala pozwala nam nam budowac budowac aplikacje aplikacje błyskawicznie. błyskawicznie. Możemy Możemy je je wnikliwie wnikliwie testować testować przed przed “wypaleniem” “wypaleniem” ww rzeczywiste rzeczywistewęzły. węzły. MIMUW, 24 czerwca 2008
85
Computing Science
Koniec
http://econet.cs.ualberta.ca/
MIMUW, 24 czerwca 2008
86