100 likes | 195 Views
Usable Sensor Neworks. Kay Römer ETH Zurich. Programming a dynamic ensemble of sensor nodes. Setting up a working system in the field. Make information accessible to humans. Sensor Nets are Hard to Use. Tool for scientists, not for end users Real world embedding Resource constraints
E N D
UsableSensor Neworks Kay Römer ETH Zurich
Programming a dynamic ensemble of sensor nodes Setting up a working system in the field Make information accessible to humans Sensor Nets are Hard to Use • Tool for scientists, not for end users • Real world embedding • Resource constraints • Complex, uncertain distr. system • Mission: concepts and tools to enhance ease of use Design Implementation Test Deployment Use
Implementation • Sensor networks are complex and dynamic distributed systems • Hard to program correctly • Programming abstractions • Hide certain system properties from the developer • Declarative: specify what rather than how • Global: whole network rather than single nodes
Role Assignment ON :: { battery >= 50%AND count(2 meters) { role == ON } <= 1} OFF :: else • Assign functions to sensor nodes based on node properties • New abstraction: “roles” • Generic specification language • Ex. “Coverage”: determine few ON nodes that cover whole area with their sensors, others OFF • Compiled offline • Distributed algorithm to findand maintain role assignment
Deployment • Real-word can easily break a sensor network • Frequent node and communication failures • Unsatisfactory quality of service (lifetime, latency, data yield) • Passive inspection • Monitor sensor network • Without instrumentation of sensor nodes
Sensor Net Inspection Framework • Overhear and decode network traffic • Analyze to find bugs • Node crash, reboot, no route, partition, ... • Main challanges • Incomplete information • Genericity
struct TOS_Msg { uint16_t addr; uint8_t type; uint8_t group; uint8_t length; int8_t data [29]; uint16_t crc; }; Packet Description Packet Decoder Operator Graph Data StreamProcessing Decision Tree Node State SNIF Architecture cc.freq = 868000000; cc.sop = 0x55aa; cc.crc = 0xA001; Radio Configuration Sniffer
Use • Make sensor information accessible to non-expert users • Simple and intuitive • Not: complex db queries
Google for the Real World • Things and places have Web pages • Contain dynamic information derived from sensors • E.g. room page contains occupancy and temperature • Make these dynamic pages searchable ala Google • Main challenge • Cannot index dynamic content in real time • Large scale
GoForReal Architecture room IFW sensor:occupied=empty IFWD42.html Room IFW D42 Occupied: Empty Occupied Model: Empty (80%), Full (20%) Search Engine Room IFW D42 Motion: False Index IFWD42.html Occupied Cache: Empty Occupied Model: Empty (80%), Full (20%) Internet Inference Model