1 / 21

WSN jako glob ální deduktivní databáze

WSN jako glob ální deduktivní databáze. Petr Sobotka - DJ2, 5.4.2011. Osnova. WSN – popis problému Existující řešení a návrhy Popis nového návrhu První testy a měření Shrnutí a závěr. WSN. Wireless S ensor N etwork S íť z (mnoha) zařízení se senzory a vstupního uzlu. WSN.

Download Presentation

WSN jako glob ální deduktivní databáze

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. WSN jako globální deduktivní databáze Petr Sobotka - DJ2, 5.4.2011

  2. Osnova • WSN – popis problému • Existující řešení a návrhy • Popis nového návrhu • První testy a měření • Shrnutí a závěr WSN jako glob. deduktivní DB

  3. WSN • Wireless Sensor Network • Síť z (mnoha) zařízení se senzory a vstupního uzlu WSN jako glob. deduktivní DB

  4. WSN • Senzorové uzly • Poskytují různá data, z různých lokalit • Propojeny do jedné sítě bezdrátově (často špatně dostupná umístění) • Nemívají k dispozici mnoho energie – třeba šetřit! • Přes vstupní uzel se lze dotazovat na data celé sítě – navenek se WSN tváří jako DB • Např.: Oblasti, kde je teplo a přitom není vlhko. WSN jako glob. deduktivní DB

  5. WSN • Mnoho využití • Sledování počasí (teplota, vlhkost, tlak,…) • Vojenské či bezpečnostní • Měření seismické činnosti, hurikánů, stavu vody v řece… • Výroba (stav zásob, opotřebení strojů, …) • Chytrá elektronika, košíky v obchodech,… • … WSN jako glob. deduktivní DB

  6. WSN jako relační DB • Projekt Cougar (Cornell University) • První abstrakce WSN jako relační DB • Dotaz varianta SQL • Zajímavý nápad: přesun dotazů na samotné uzly • Uzlů mnoho – centrálně drahé a ne vždy proveditelné • Projekt Directed Diffusion (USC) WSN jako glob. deduktivní DB

  7. WSN jako relační DB • TinyDB • Nástupce Cougar a Directed Diffusion • Distribuovaná na jednotlivé uzly (zrnka, motes) • Rozhraní obdoba SQL či deklarativně • Dokáže vyhodnocovat dotazy přes více uzlů, více zároveň • Spravuje topologii sítě • Agregace dat, cache – úspora energie • Běží nad TinyOS • OS pro malá bezdrátová zařízení • Nízké energetické nároky • Zadarmo (BSD licence) • Netriviální použití WSN jako glob. deduktivní DB

  8. WSN jako relační DB • Nevýhody ex. relačních řešení: • Slabší vyjadřovací schopnost dotazu oproti deklarativním DB • Obtížná práce globálně (přes více atributů různých uzlů) • Data vázána k jednotlivým uzlům – musí se projít a agregovat • Neimplementují rekurzivní dotazy • Nepodporují logické dotazy WSN jako glob. deduktivní DB

  9. WSN jako deduktivní DB • Lepší vyjadřovací schopnost, rekurzivní dotazy • Datalog – oblíbený jazyk na kladení dotazů nad deduktivní DB • Snlog • Dialekt Datalogu vyvinutý pro WSN • Ale deklarativní charakter • Pro Low-level programátory • Dotazy lokálně + musí se řešit síťové detaily a protokoly WSN jako glob. deduktivní DB

  10. Příklad dotazů v Datalogu maTepleMisto(OblastID):- teplota(UzelID, Teplota),Teplota > 25,oblast(UzelID, OblastID). nebezpeci(OblastID) :- teplota(UzelID, T), T > 42, oblast(UzelID, OblastID). nebezpeci(OblastID) :- vlhkost(UzelID, H), H < 40, oblast(UzelID, OblastID), soused(OblastID, SousOblast),nebezpeci(SousOblast). WSN jako glob. deduktivní DB

  11. WSN jako glob. deduktivní DB • Celá WSN je jedna velká deduktivní DB • Nahrazení TinyDB vlastní LogicQ • Původní způsoby zpracování dotazů pro deduktivní DB nebyly vytvořeny pro WSN • Typy zpracování dotazů • Prologové (Prologue + DB) • Shora dolů • Zdola nahoru WSN jako glob. deduktivní DB

  12. WSN jako glob. deduktivní DB • V klasických deduktivních DB často preferován způsob „zdola nahoru“ • Ale ve WSN máme v každém uzlu lokální data a posílat je všechny „nahoru“ pro každý dotaz by bylo drahé • Použití způsobu „Shora dolů“ • Šlo by omezit, ze kterých uzlů data chceme • Např. potvrzení faktu stačí od jednoho uzlu • Vhodné pro rekurzivní dotazy • Neměnné fakty lze cachovat centrálně • Výsledky poddotazů lze využít pro filtraci následujících WSN jako glob. deduktivní DB

  13. Příklad použití výsledků předchozích poddotazů horkyObjekt(ObjektID, OblastID):- detekuje(ObjektID, OblastID), teplota(ObjektID, T), T > 50 • Dotaz ?-horkyObjekt(X,oblast70) • Odešle se detekuje(ObjektID, oblast70) a na to odpoví jen relevantní část uzlů (nagativní mlčí) = uzly z oblasti 70 • Každý získaný ObjektID se pak dá do teplota(…,T) • Dokonce můžeme ještě dříve použít T > 50 a brát jen ty uzly WSN jako glob. deduktivní DB

  14. LogicQ • Namísto TinyDB poběží LogicQ na každém uzlu (nad TinyOS) • Predikáty spojené s funkcí sensorů jsou zadány při instalaci • např. teplota(Uzel1, T) – senzor dá do T naměřenou hodnotu • Vyhodnocovač dotazů („nahoře“) má dáno, co poslat jako poddotazy „dolů“ (~iniciální pravidla v log. programování) • Při startu se sestaví Směrovací strom • Kořen je vstupní uzel • Každý (kromě kořene) uzel má jen jednoho otce • Slouží k jednoduchému přeposílání dotazů dle potřeby (pokud již uzel výše ve stromu sám neuspokojí) WSN jako glob. deduktivní DB

  15. LogicQ • Rozlišovány 2 typy poddotazů: • Ověření faktu • detekuje(nádrž1, oblast70) – true/false • Lze splnit dříve než poslánio všem uzlům • Získání všech splněných predikátů • detekuje(X, oblast70) – nádrž1, nádrž2, nádrž8, … • Musí se poslat všem uzlům (které zatím nevyloučeny) WSN jako glob. deduktivní DB

  16. LogicQ • Pseudokód vyhodnocování poddotazů: If (typ == overeni) { if (splnenoLokalne) posliNahoru(true); else posliDotazDetem; } Else //typ == ziskani všech splnenych { posliDotazDetem; if (necoLokalneSplnuje) posliNahoru(MnozinaSplnujici); } WSN jako glob. deduktivní DB

  17. První měření LogicQ • Pomocí TOSSIM (TinyOS Simulator) • Předpokládáno spolehlivé spojení • Měřené metriky: • Úplnost (# získaných odpovědí / # vzniklých) • Přesnost (# relevantních odpovědí / # získaných) • Nákladnost (na energii, jako počet posílaných zpráv) • Měřeno vůči standardní metodě „zdola nahoru“ WSN jako glob. deduktivní DB

  18. První měření LogicQ • LogicQ dosáhl 100% přesnosti za téměř 100% úplnosti a nákladech ve většině případů nižší než při použití metody „zdola nahoru“ • Úplnost měla drobné ztráty v důsledku zahlcení, avšak díky menšímu počtu poslaných zpráv k jevu docházelo méně často než ve druhém případě • Při narůstajícím počtu uzlů se rozdíl v nákladech snižoval, jelikož naivní implementace LogicQ posílá při bindingu zprávu pro každou hodnotu zvlášť WSN jako glob. deduktivní DB

  19. Shrnutí • WSN jedna velká deduktivní DB • Logická pravidla i dotazy snadno zadatelná přes všechny uzly (globálně) • Podpora rekurzivních dotazů • Optimalizace • Dřívějším bindingem / splněním dříve • Nedostatky (zatím) • Naivní implementace dřívějšího bindování (jednotlivě a ne jako množiny – vícekrát posláno) • Není navrhnuté řízení zahlcení WSN jako glob. deduktivní DB

  20. Závěr • Jedná se zatím jen o první pokusy nového řešení • Na rozdíl od TinyDB, která je již řadu let úspěšně používaná • Poskytuje ovšem již nyní směr vývoje WSN, který by mohl v řadě případů být lepším než stávající řešení WSN jako glob. deduktivní DB

  21. Zdroje • A System for Using Wireless Sensor Networks as Globally Deductive Databases • Supasate Choochaisri, Chalermek Intanagonwiwat, wimob, pp.649-654, 2008 IEEE International Conference on Wireless & Mobile Computing, Networking & Communication, 2008 • http://www.cs.cornell.edu/bigreddata/cougar • http://telegraph.cs.berkeley.edu/tinydb/ • http://www.tinyos.net/ • http://en.wikipedia.org WSN jako glob. deduktivní DB

More Related