Embedded Networks Laboratory Network Architecture for General-purpose Sensor Networks Omprakash Gnawali gnawali@usc.edu http://enl.usc.edu/ CSSE March 17, 2009 Embedded Networks Laboratory Sensor Network • Network of small form-factor sensors • Resource constraints – CPU (<10 MHz) – RAM (<10 KB) – Low power • Embedded in the physical world • Wireless communication 2 Embedded Networks Laboratory Building Vibrations Forced Vibration Testing at the Four Seasons Building in Los Angeles 3 Embedded Networks Laboratory Bridge Vibrations 4 Embedded Networks Laboratory Pursuit Evasion 5 Embedded Networks Laboratory Habitat Imaging James Reserve, Riverside, CA 6 Embedded Networks Laboratory Sensor Network Applications • Examples – Industrial space – Environment – Infrastructure • Hardware and Software Optimizations – Components – Scenarios 7 Embedded Networks Laboratory Outline • Sensor Network • Programming a Sensor Network • Tenet: A General-purpose Sensor Network 8 Embedded Networks Laboratory Programming a SensorNet Programming Abstraction Services 9 Embedded Networks Laboratory Programming Abstraction • Node-level API – “Node x: execute program y” – Reasoning and Debugging Challenging • Program the network – “Network: Collect light readings” – No fine-grained control – Network and Node Services 10 Embedded Networks Laboratory Collection Routing • Collect data from the network – From all the nodes – To a small number of “sinks” • Challenges – Link estimation – Dynamics • Tree Routing – CTP, MultihopLQI 11 Embedded Networks Laboratory Collection 12 Embedded Networks Laboratory Reliable Transport • • • • Prevent data-loss End-to-end retransmission Used with Collection Challenges – Limited RAM – Congestion 13 Embedded Networks Laboratory Congestion Collapse • Four Seasons building deployment • Some packets took more than an hour to recover while collecting 10 minutes worth of data Loss recovery latency 14 Embedded Networks Laboratory Dissemination • Delivers data to every node in a network • Challenges – Rate – “Broadcast storm” • Many uses – Reconfiguring a network – Injecting queries and tasks – Substrate for more complex protocols 15 Embedded Networks Laboratory Timing • Timestamps for sensor readings • Globally synchronized time • Challenges – Different clock rates on the nodes – Wireless • Approaches – Hardware: GPS – Software: FTSP 16 Embedded Networks Laboratory Sensing and Actuation • Sensors – Light, Temperature, Accelerometer • Actuators – LED, Relays • Portable abstraction 17 Embedded Networks Laboratory Data Processing Services • Raw data not always needed • Data filters – Specify (un)wanted data • Data processing – Statistics – Transforms, Coefficients 18 Embedded Networks Laboratory General-purpose API • Provides Services – Collection routing – Reliable transport – Dissemination – Timing – Sensing and Actuation – Data processing • Allows flexible composition of services 19 Embedded Networks Laboratory Outline • Sensor Network • Programming a Sensor Network • Tenet: A General-purpose Sensor Network 20 Embedded Networks Laboratory Tenet • Masters and Motes • Tasks and Responses • Linear data-flow programs repeat(1s)->sense(LIGHT)->send(RELIABLE) 21 Embedded Networks Laboratory Tenet Services 22 Embedded Networks Laboratory Tenet Programs • Linear data flow language – natural choice for sensor data processing • Tasklets specify elementary actions – sense(), set_leds(), avg() • Tasklets can be composed to form a task – sense(LIGHT,10 samples)avg(LIGHT)send() – repeat(10 mins)get(ROUTING_PARENT)send() • No branches 23 Embedded Networks Laboratory Executing Tenet Programs Applications run on masters, and masters task motes Motes produce, process data, and return responses 24 Embedded Networks Laboratory Tenet Performance 400 min avg max 350 msg/min 300 250 200 150 100 50 0 Mote-PEG Tenet-PEG Tenet applications perform comparably with software optimized for a particular application. 25 Embedded Networks Laboratory Deployments 26 Embedded Networks Laboratory Conclusion • Deployments – Software reuse – No performance penalty • Looking ahead – General-purpose radio duty-cycling 27