Скачать презентацию Vox Net An Interactive Rapidly Deployable Acoustic Monitoring Скачать презентацию Vox Net An Interactive Rapidly Deployable Acoustic Monitoring

7f1fc29a8440d82ca2a6d0777246216c.ppt

  • Количество слайдов: 44

Vox. Net: An Interactive, Rapidly Deployable Acoustic Monitoring Platform Michael Allen¹, Lewis Girod², Ryan Vox. Net: An Interactive, Rapidly Deployable Acoustic Monitoring Platform Michael Allen¹, Lewis Girod², Ryan Newton², Samuel Madden², Travis Collier³, Daniel Blumstein³, Deborah Estrin³ ¹Coventry University ²CSAIL, MIT ³CENS, UCLA 2008/23/4 IPSN/SPOTS '08, St. Louis, MO

Applications and Challenges of Distributed Acoustic Sensing Has traditional WSN complexities, in addition: n Applications and Challenges of Distributed Acoustic Sensing Has traditional WSN complexities, in addition: n High data rate = no streaming to sink n Forces local, in network processing Vox. Net: integrated hardware and software platform for distributed acoustic sensing * Distributed processing properties Captures, integrates previous experience in acoustic * Develop applications using a high level language * Easily push new sensing networks applications into the network Without sacrificing performance Audio Input n Detect Sensor Node sync 4 Server Side AML DOA Event association n n 2008/23/4 IPSN/SPOTS '08, St. Louis, MO Send AML Output Buffer >3 sec? N Run Local AML DOA Y Send Raw Data Network Operators Sensor side Server side 2

How we got to Vox. Net Sen. Sys 2006 (Girod et al) Acoustic sensing How we got to Vox. Net Sen. Sys 2006 (Girod et al) Acoustic sensing Platform IPSN 2007 (Ali et al) Marmot localization application Wavescope: signal-oriented stream processing @ MIT Vox. Net 2008/23/4 IPSN/SPOTS '08, St. Louis, MO 3

Vox. Net architecture Off-line operation and storage On-line operation Storage Server Mesh Network of Vox. Net architecture Off-line operation and storage On-line operation Storage Server Mesh Network of Deployed Nodes Gateway Internet or Sneakernet Compute Server In-field PDA 2008/23/4 Control Console IPSN/SPOTS '08, St. Louis, MO 4

Roadmap n Vox. Net platform How it’s used n How it’s programmed n n Roadmap n Vox. Net platform How it’s used n How it’s programmed n n Performance results Network latency n Runtime dynamics n Ongoing work n Conclusions n 2008/23/4 IPSN/SPOTS '08, St. Louis, MO 5

Current Vox. Net node: ENSBox V 2 n Based on Acoustic ENSBox prototype n Current Vox. Net node: ENSBox V 2 n Based on Acoustic ENSBox prototype n n Low power supervisor n n n 4 channel mic. array at 48 KHz, 802. 11 b Linux, 400 MHz ARM/64 MB/8 GB Smaller form factor, Internal battery Always-on mote for duty cycling Example: ~5 days @ dawn/dusk sampling Rapidly deployable! n n n Field tested over several months …in the rainforest (Chajul, Mexico) …and the mountains (Gothic, CO) With thanks to Travis Collier 2008/23/4 IPSN/SPOTS '08, St. Louis, MO 6

Vox. Net on-line usage model // acquire data from source, assign to four streams Vox. Net on-line usage model // acquire data from source, assign to four streams (ch 1, ch 2 ch 3, ch 4) = Vox. Net. Audio(44100) // calculate energy freq = fft(hanning(rewindow(ch 1, 32))) bpfiltered = bandpass(freq, 2500, 4500) energy = calc. Energy(bpfiltered) Node-side part Write program Optimizing compiler Sink-side part Development cycle happens in-field, interactively Run program 2008/23/4 IPSN/SPOTS '08, St. Louis, MO Disseminate to nodes 7

Programming Vox. Net n Programming language: Wavescript n n User writes a script connecting Programming Vox. Net n Programming language: Wavescript n n User writes a script connecting operators n n High level, stream-oriented macroprogramming language Compiles down to a directed, graph of communicating ‘stream operators’ which data flow through (source to endpoint) Operates on stored OR streaming data Writes both node side + sink side separately User decides where processing occurs (node, sink) n Explicit, not automated processing partitioning Source Endpoint Source 2008/23/4 IPSN/SPOTS '08, St. Louis, MO 8

Example – energy calculation ch 1 Vox. Net. Audio rewindow hanning fft // acquire Example – energy calculation ch 1 Vox. Net. Audio rewindow hanning fft // acquire data from source, assign to four streams (ch 1, ch 2 ch 3, ch 4) = Vox. Net. Audio(44100) // window ch 1 data stream into 32 sample chunks, // passing through hanning then fft operators freq = fft(hanning(rewindow(ch 1, 32))) // apply bandpass filter to freq bpfiltered = bandpass(freq, 2500, 4500) // calculate energy in bandpassed data energy = calc. Energy(bpfiltered) 2008/23/4 IPSN/SPOTS '08, St. Louis, MO 9

Splitting up a logical program to. Net(“frequencies”) from. Net(“frequencies”) send(“frequencies”) freq bandpass arrived(“frequencies”) // Splitting up a logical program to. Net(“frequencies”) from. Net(“frequencies”) send(“frequencies”) freq bandpass arrived(“frequencies”) // acquire data from source, assign to four streams (ch 1, ch 2 ch 3, ch 4) = Vox. Net. Audio(44100) freq = fft(hanning(rewindow(ch 1, 32))) Node //send data to sink to. Net(“frequencies”, freq) // receive data from node stream freq 2 = from. Net(“frequencies”) // apply bandpass filter to freq bpfiltered = bandpass(freq 2, 2500, 4500) Sink // calculate energy in bandpassed data energy = calc. Energy(bpfiltered) 2008/23/4 IPSN/SPOTS '08, St. Louis, MO 10

Roadmap n Vox. Net platform How it’s used n How it’s programmed n n Roadmap n Vox. Net platform How it’s used n How it’s programmed n n Validating Vox. Network latency n Runtime dynamics n Ongoing work n Conclusions n 2008/23/4 IPSN/SPOTS '08, St. Louis, MO 11

Validating Vox. Net n Implementation of indicative application n n Resource usage n n Validating Vox. Net n Implementation of indicative application n n Resource usage n n Marmot localization (from IPSN ‘ 07) Hand coded C vs. high level Wavescope Network trade-off n 2008/23/4 Process locally or send raw data to sink? IPSN/SPOTS '08, St. Louis, MO 12

Example Vox. Net application n Detect and determine location of marmots Crossing of Do. Example Vox. Net application n Detect and determine location of marmots Crossing of Do. A estimates n Obtain results on-line (scientist interaction) n X Send 32 KB per node, per detection Event detection Do. A processing and position estimation NODES 2008/23/4 SINK IPSN/SPOTS '08, St. Louis, MO 13

Hand-coded C vs. Wavescript 100% EVENT DETECTOR DATA ACQUISITION ‘SPILL TO DISK’ 30% less Hand-coded C vs. Wavescript 100% EVENT DETECTOR DATA ACQUISITION ‘SPILL TO DISK’ 30% less CPU Hand-coded C 2008/23/4 Extra resources mean that data can be archived to disk as well as processed (‘spill to disk’, where local stream is pushed to storage co-processor) Wavescript IPSN/SPOTS '08, St. Louis, MO 14

Detection data transmission latency n Deployed network in Gothic, CO n n n Request Detection data transmission latency n Deployed network in Gothic, CO n n n Request all nodes to transmit data simultaneously Emulates the ‘worst case’ when all nodes detect the acoustic event Measure latency to transmit raw detection or processed data (32 KB vs. 800 B/node) n n n 2008/23/4 Gathered single and multi-hop data Up to three hops Used single hop 800 B data to help predict missing 800 B multi-hop data IPSN/SPOTS '08, St. Louis, MO 15

Detection data transfer latency 12 1 HOP 2 HOPS 3 HOPS Network latency will Detection data transfer latency 12 1 HOP 2 HOPS 3 HOPS Network latency will become a problem if scientist wants results in <5 seconds (otherwise animal might move position) 2008/23/4 IPSN/SPOTS '08, St. Louis, MO 16

Processing trade-off n Sending raw data to sink Do. A processing takes a short Processing trade-off n Sending raw data to sink Do. A processing takes a short time (0. 04 s) n Sending data takes a long time (32 KB, up to 12 s in expt. ) n n Sending processed data to sink Do. A processing takes a long time (~2. 2 s) n Sending data takes a short time (800 B, <1 s) n n Which is best to do to reduce overall position estimation latency? 2008/23/4 IPSN/SPOTS '08, St. Louis, MO 17

Local vs. sink processing trade-off NETWORK LATENCY AML PROCESSING TIME Process locally, send 800 Local vs. sink processing trade-off NETWORK LATENCY AML PROCESSING TIME Process locally, send 800 B Send raw data, process at sink As hops from sink increases, benefit of processing Do. A locally is clearly seen Do. A processing 2008/23/4 IPSN/SPOTS '08, St. Louis, MO 18

Applying the trade-off at run-time n Aim: process raw data locally when possible n Applying the trade-off at run-time n Aim: process raw data locally when possible n n Node has limited buffer space for data samples Event detection can happen faster than real-time, so can catch up Sink Node N Buffer >3 sec? Y n Send Raw Data x AML DOA 0. 04 s Merge AML DOA 2. 2 s Send AML Output y Wavescript makes this easy to implement Trivial, natural to split and merge multiple streams n Same on-node and sink Do. A implementations n 2008/23/4 IPSN/SPOTS '08, St. Louis, MO 19

Roadmap n Vox. Net platform How it’s used n How it’s programmed n n Roadmap n Vox. Net platform How it’s used n How it’s programmed n n Performance results Network latency n Runtime dynamics n Ongoing work n Conclusions n 2008/23/4 IPSN/SPOTS '08, St. Louis, MO 20

Ongoing work n Vox. Net Platform Development NSF Funded UCLA/MIT collaboration (2008 -2010) n Ongoing work n Vox. Net Platform Development NSF Funded UCLA/MIT collaboration (2008 -2010) n Aiming for 10 x improvement on lifetime n Make platform smaller, lighter, cheaper n n Develop Vox. Net application portfolio further Add classification, census to bioacoustics apps. n New applications from different domains: Increases generality, validates applicability n n Ongoing development of Wavescript compiler 2008/23/4 IPSN/SPOTS '08, St. Louis, MO 21

Conclusions n Vox. Net hardware is easy to deploy n n Wavescript simplifies development Conclusions n Vox. Net hardware is easy to deploy n n Wavescript simplifies development n n Allows on-line development in the field Provides comparable operating performance n n Experience is invaluable in this respect Despite being high level language Easy to implement network dynamics n 2008/23/4 Such as local processing adaptation IPSN/SPOTS '08, St. Louis, MO 22

2008/23/4 IPSN/SPOTS '08, St. Louis, MO 23 2008/23/4 IPSN/SPOTS '08, St. Louis, MO 23

The ENSBox platform solves lotsof problems, but… n Algorithm is still difficult to implement The ENSBox platform solves lotsof problems, but… n Algorithm is still difficult to implement Must code in C, lacks safety features n Want convenient networking primitives n Hard to debug, hard to choose parameters n n Desired features Visibility in the field n Convenient way to install code n Interactive use in the field n n Motivation for Wavescope 2008/23/4 IPSN/SPOTS '08, St. Louis, MO 24

What is Wavescope? Streaming Databases Borealis Stanford STREAM Telegraph. CQ Coral 8, Stream. Base What is Wavescope? Streaming Databases Borealis Stanford STREAM Telegraph. CQ Coral 8, Stream. Base Ptolemy Stream. IT Gnu. Radio Simulink Dataflow Languages Profile. Detector + n Audio 1

Wavescope Objectives n Interactive “query” model Concurrent queries installed in node engine n UI Wavescope Objectives n Interactive “query” model Concurrent queries installed in node engine n UI tools provide visibility into query progress n n Integration between backend and sensors Single program is split across both realms n Operates on stored and streaming data n n Safe, fast, highly optimizable language High rate isochronous data, dynamic data flow n Single language with modern properties n 2008/23/4 IPSN/SPOTS '08, St. Louis, MO 26 Girod, et. al. , CIDR 2007

Wavescript Functional language with mutation n Strict, static typing with type inference n Partial Wavescript Functional language with mutation n Strict, static typing with type inference n Partial evaluation at compile time n n n “meta-program” constructs data flow graph Why a new language? Expressive for this class of applications n Optimizations n 2008/23/4 27 Newton, et. al. , in submission to PLDI 2008 IPSN/SPOTS '08, St. Louis, MO

Contributions n Developed platform capable of rapid deployment in realistic environments n n High Contributions n Developed platform capable of rapid deployment in realistic environments n n High level macroprogramming interface n n n Platform = Hardware + software Compiles into a high performance distributed application Abstracts the user from network details Defined an interactive usage model n n 2008/23/4 Run-time installable programs Run same program over live or stored data IPSN/SPOTS '08, St. Louis, MO 28

Conclusions: Vox. Net n First deployment, platform using Wavescope approach on embedded hardware n Conclusions: Vox. Net n First deployment, platform using Wavescope approach on embedded hardware n n Improves on previous work n n n Deployed, validated with motivating application Less resource overhead On-line interaction Data archival Dynamically adjust processing boundaries Built over solid, deployed, software framework (Em. Star) n n 2008/23/4 Less emphasis on debugging visibility Em. Star validated through application experience, deployment and iterative development over several years IPSN/SPOTS '08, St. Louis, MO 29

Conclusions: Motivations and challenges n Distributed acoustic sensing is ongoing n n n A Conclusions: Motivations and challenges n Distributed acoustic sensing is ongoing n n n A variety of motivating domains and applications n n n High data rate sensing is a challenge in WSNs In-network processing/data reduction is vital Scientific, military, smart office Event detection, localization, classification A need for flexible, capable, general acoustic sensing platforms n n n Applications are hard, solutions need iteration Significant expense, effort is always expended in deployment Suitable high level programming abstraction for non-experts Highly optimized for embedded platforms Interactive - react to unforeseen situations We believe Vox. Net meets these needs 2008/23/4 IPSN/SPOTS '08, St. Louis, MO 30

Here’s how n Interactive programming allows operational adjustments in the field n n n Here’s how n Interactive programming allows operational adjustments in the field n n n Programming environment allows abstraction of networking concerns (as far as possible) Platform architecture avoids problems of badly configured applications n n Make most of time present in field Record full data stream, replay data offline Accurate self-localization removes need for manual surveying* n Deployment is always harder than you remember *not a direct contribution of Vox. Net 2008/23/4 IPSN/SPOTS '08, St. Louis, MO 31

Library: Spill to disk n Save full data stream locally (on gumstix storage server) Library: Spill to disk n Save full data stream locally (on gumstix storage server) n n n Regardless of current on-line processing User can spill whatever data they require to named local stream Multiple uses for disk archiving n n Process data in the field, after the fact Off-line archival, indexing, annotation, sharing Chan 1 Data Acq. Chan 2 + Chan 3 Time sync Chan 4 (slauson) 2008/23/4 Raw data stream Application (slauson) Spill to disk (gumstix) IPSN/SPOTS '08, St. Louis, MO 32

What’s new? n n First embedded Wavescope deployment Provides on-line and off-line operation n What’s new? n n First embedded Wavescope deployment Provides on-line and off-line operation n n Safe, high level macro-programming environment n n n Record all data or last hour’s data for reprocessing in the field Single Wavescript program is partitioned and distributed Heterogeneous, multi-hop wireless network Efficiency improvements (CPU, memory) 2008/23/4 IPSN/SPOTS '08, St. Louis, MO 33

Backup: Named Network Streams // Send side: To. Net(“My. Stream”, S); // Receive side: Backup: Named Network Streams // Send side: To. Net(“My. Stream”, S); // Receive side: R = From. Net(“My. Stream”); Default stream semantics: reliable message delivery, with bounded send buffer and head drop n Implemented in Wavescript and C via Foreign Function Interface n 2008/23/4 IPSN/SPOTS '08, St. Louis, MO 34

Backup: Streams in Wavescript // Sensor side: (sendback, runlocal) = switch(Detections, fun (x) Sensor. Backup: Streams in Wavescript // Sensor side: (sendback, runlocal) = switch(Detections, fun (x) Sensor. Buffer. Time. Remaining() < 3. 0); To. Net(“AMLStream”, AML(runlocal)); To. Net(“Raw. Stream”, sendback); // Server AMLStream Raw. Stream All. AMLs = n n side: = From. Net(“AMLStream”); = From. Net(“Raw. Stream”); merge(AMLStream, AML(Raw. Stream)); Note: switch is simple to implement in Wavescript. Related work: Van. Go 2008/23/4 IPSN/SPOTS '08, St. Louis, MO 35

Backup: Visualisation n n Visualiser allows scientist to ‘subscribe’ to any network stream and Backup: Visualisation n n Visualiser allows scientist to ‘subscribe’ to any network stream and visualise it Future work – automatic marshalling, data types 2008/23/4 IPSN/SPOTS '08, St. Louis, MO 36

Backup: One-hop data transfer 2008/23/4 IPSN/SPOTS '08, St. Louis, MO 37 Backup: One-hop data transfer 2008/23/4 IPSN/SPOTS '08, St. Louis, MO 37

Back up: Vox. Net node n n n Four channel 48 KHz audio, 802. Back up: Vox. Net node n n n Four channel 48 KHz audio, 802. 11 b network, internal battery (5 -10 hr) 400 MHz processor, 64 MB RAM Linux based OS, with Em. Star on top Targeted at science applications A standard acoustic platform Rapidly deployable: n n 2008/23/4 Attended short-lived deployments IPSN/SPOTS '08, St. Louis, MO 38

Back up: Vox. Net node n Self-calibration/localization Acoustic time of flight ranging (~75 m) Back up: Vox. Net node n Self-calibration/localization Acoustic time of flight ranging (~75 m) n Direction of arrival n Multilateration algorithm for position/orientation estimation n Take advantage of capabilities required for acoustic sensing n n Global time over network (10 us) 5 cm 2 D pos, 1. 5 deg. orientation error in 80 mx 50 m outdoor environment 2008/23/4 IPSN/SPOTS '08, St. Louis, MO 39

What is Vox. Net? Integrated hardware and software platform for distributed acoustic sensing n What is Vox. Net? Integrated hardware and software platform for distributed acoustic sensing n Captures previous experience in deploying acoustic sensing networks n Top level Wavescript application Node-side + Sink-side Em. Star drivers Networked streams Em. Star drivers Control console Networked streams MH Routing App. Dissemination MH Routing Data archival Self-localization Time sync Data acquisition Hardware 2008/23/4 IPSN/SPOTS '08, St. Louis, MO Visualization App. Compilation 40

Distributed Acoustic Sensing is hard Goals n Event detection n Target localization n Target Distributed Acoustic Sensing is hard Goals n Event detection n Target localization n Target tracking n Target classification n Signal enhancement Domains n n n Scientific research Smart offices Military 2008/23/4 Challenges n Deployment n Self-localization n Time synchronization n Programming model n Network communication n Operating faults n Wide-band signals n Channel noise n Processing capability n Real-time operation IPSN/SPOTS '08, St. Louis, MO 41

Vox. Net network support n Support flow of Wavescript streams between nodes n n Vox. Net network support n Support flow of Wavescript streams between nodes n n Publish/subscribe named streams (“control”, “data”) n n Sits below Wavescope application Default network stream semantics: n n n In our case, sink is endpoint for programs Reliable message delivery Bounded send buffer, head drop Assumes IP connectivity (over multiple hops) n 2008/23/4 User space implementation of Dynamic Source Routing IPSN/SPOTS '08, St. Louis, MO 42

Vox. Net node software stack Wavescript application Node-side Sink-side Drivers Networked streams MH Routing Vox. Net node software stack Wavescript application Node-side Sink-side Drivers Networked streams MH Routing Control console Networked streams Data archival MH Routing Self-localization Time sync Data acquisition App. Dissemination Visualization Hardware 2008/23/4 App. Compilation IPSN/SPOTS '08, St. Louis, MO 43

Networked streams n Special network operators allow logical streams to flow over network toward Networked streams n Special network operators allow logical streams to flow over network toward endpoint (sink) Publish/subscribe mechanism n Underlying C implementation n n Default network stream semantics: Reliable message delivery n Bounded send buffer, head drop n n Assumes multi-hop IP connectivity n 2008/23/4 Used implementation of Dynamic Source Routing IPSN/SPOTS '08, St. Louis, MO 44