Download presentation
Presentation is loading. Please wait.
Published bySophia Barker Modified over 9 years ago
1
EnviroTrack: Towards an Environmental Computing Paradigm for Distributed Sensor Networks – Abdelzaher Tarek,etc An Entity Maintenance and Connection Service for Sensor Networks – Brian Blum,etc Presented by Qiuhua Cao Computer Science Department University of Virginia Nov 3th, 2003
2
What is this session for? Introduce some possible answers to the question “what could or should be the most efficient programming model for wireless sensor networks?”
3
Programming Paradigm Assembly Language(Z80) Procedure Based (C) Object-Oriented (C++, Java) AspectJ Component Based (NesC) Abstraction Level Easier for programming, debugging, testing,… Higher reusability, extendability, etc
4
Outline Design Goals Contributions Basic Ideas Critiques Experimental Results Analysis Extensions Conclusion
5
Design Goals Provide an object-based distributed middleware system that raise the level of programming abstraction Provide a middleware architecture for coordination services that facilitates interaction between groups of sensors which monitor different environmental events Provide higher level abstraction of logical entity semantic from physical location
6
Contributions Higher level programming abstraction (or friend interface to use the middleware service) Architecture for mobile end-to-end transport-layer connections Entity Uniqueness Maintenance System Variables Analysis
7
Example Scenario
8
What can be hidden from programmer? Group communication Location of the group Anything else?
9
Programming Model(1) Two parts Programming Language ? Group Communication Middleware
10
Programming Model(2) Middleware service interface keywords Context type – the type of context (group function) Context label – logic address ( or group id) Tracking object – computation unit Application example: Whenever some motes’ the magnetic sensor reading greater than the threshold value, they form a group to track the target. And the group reports the target location to the base station every 5ms. System: Tinyos (event driven operating system), group communication middleware, remote object communication middleware service
11
Programming Model(3) begin context tracker activation: magnetic_sensor_reading() location: avg(position),confidence=2,freshness=1s begin object reporter invocation:TIMER(5s) report_function(){ MySend(pursuer,self.label,location) } end end context Activation – group creation condition Aggregation state – location, average,… Invocation – create instance condition Object action declaration, user need to provide definition; Object also run on the leader Create a group named as tracker
12
Programming Model(4) AF=avg(position) Freshness=1s Critical mess N e =2?? Object reporter, every 5s, send the entity location to the pursuer
13
Programming Model(5) Mapping to traditional OO Object State Function Object: group State: confidence, freshness, critical mess Private function: aggregate function (avg,etc) Public function: reporter Any Problem here?
14
Programming Model(6) For the same application, if just use NesC, what the programmer needs to do?
15
Programming Model(7) the nesC model: –interfaces: uses provides –components: modules configuratio ns application:= graph of components Component A Component B Component D Component C Application configuration Component E Component F Review of NesC
16
Programming Model(9) module tracker{ provides{ interface StdControl; } uses{ interface MagneticSensor; interface GroupCommunication; }
17
implementation{ bool state; command result_t StdControl.init(){ state = FALSE; call MagneticSensor.init(threshold); return SUCCESS; } command result_t StdControl.start(){ return call MagneticSensor.start();//start sensing } command result_t StdControl.stop(){ return call MagneticSensor.reset();//stop sensing return call GroupCommunication.desolveGroup(…);//desolve } event result_t MagneticSensor.fire(){ if(state){ call GroupCommunication.createGroup(report,timer,location,avg,confident,fresh ness); }
18
Programming Model(10) Magnetic_sensor_reading() Not use the group middleware interface directly, but still think a group/entity in mind Hidden the detailed information of group communication service from the programmer Programming model is only useful if user needs to use the group communication service Programmer needs to know NesC and the programming model in paper MagneticSensor component GroupCommunication component Hidden the detailed information of the group communication service from the programmer Programming model is suitable for all the applications and the system Programmer only needs to know NesC EnviroTrack NesC
19
Programming Model(10) Critiques A language?? Not sure Flexibility? (tight a programming paradigm with an application) A big win? Not sure
20
Programming Model(11) Critiques Export a novel logical address space in which external environmental objects are the labeled entities Allow arbitrary data, computation, or actuation to be attached to such logical network address The benefits are coming from group communication service, or from programming model??
21
Group Communication Service Architecture Group membership management service Inter-group communication service Intar-group communication service???
22
Assumptions Each node has its own location Node is static Target is moving Events are sparse Anything else?
23
Entity Management Module(1) Entity/Group Management Module –Leader Inside sensing area Win in leader election –Member Inside sensing area Fail in leader election –Follower Outside sensing area Aware of the group existence
24
Entity Management Module (2) Node State Transition Diagram Entity Timeout Timer Fail leader timer Alive counter Leader handoff
25
Entity Management Module(3)
26
Entity Management Module(4)
27
Entity Management API join(signature) leave(signature) leader(entity, on_off) store(entity, state) get(entity,state)
28
Entity Uniqueness Event Speed Extending awareness horizon Maximum speed = (ah -2sr)/D Message Loss Alive counter at leader Killing message Min time alive (across same signature entities) Entity timeout period (free follower) Node Failure Failed leader timer > heartbeat period
29
Entity Connection Module(1) Entity Connection
30
Entity Connection Module(2) Connections identified as Entity Registration Directory Service very abstract description, no detailed information how it is really achieved
31
Experimental Results Analysis(1) Simulation Setup Radius Radio –220meter Network layer –Geographic Forwarding MAC –802.11B Physical Layer – Two-Ray Pathloss model 1400 * 1400 meter field Sensor sampling period – 0.05seconds Each point in the graph is the mean of 10trails
32
Experimental Result Analysis(2) Failed leader timer = 2 heartbeat period Entity timeout period = 1.5 FLT = 3hop RR = 220m FR = 1400m Even the speed is 96m/s, it needs 2s to move out the RR. High speed??
33
Experimental Result Analysis(2) 220nodes The red line is for speed 96m/s Heartbeat period = 375ms Failed leader timeout = 750ms Entity timeout = 1.5*750ms=1125 ms = 1.1s RR = 220m Speed = 96m/s
34
Experimental Result Analysis(2) 220nodes Red line is speed 92m/s HB =6000ms Group id =4.5 RR = 220m 1hop =220m 2hop =440m 3hop = 660m H = 660/92=7s
35
Critiques Radius radio vs Sensing range How the group formed How the two end-to-end mobile entities communicate What is a good entity timeout timer What is a good failed leader timer How to maintain consistent alive counter How to achieve seamless while leader handoff When the two mobile end-to-end entities need to communicate How complex of directory service How complex of leader election
36
Extension (1) EnviroTrack Middleware Tracking Module Group Management Module Report Communication Module Aggregation Module Sensing Module Localization Module Routing Module User Interface Magnetic Sensor Module Light Sensor Module Motion Sensor Module Configure Module GenericComm Module Several slides after this slide are the work is doing in our group currently
37
Extension(2) Friendly User Interface – simple EnviroTrack Language and its compiler New Group Management Algorithm – Dealing with multiple events, distributed events, crossing events and maintaining unique tracking object labels Power efficient Inter-object communication support
38
Extension(3) New Group Management’s Challenge Challenge 1: How to keep multiple object labels when multiple physical targets overlapping each other? Challenge 2: How to ensure there is no two objects with the same label when multiple objects separate after merging?
39
Extension(4) Inter-object Communication How to differentiate objects throughout the network? most tracking objects are moving continuously, how to implement mobile-mobile communication? Moreover, how to implement mobile- mobile communication in a power- efficient way?
40
Conclusion Higher abstraction level Framework for group communication service
41
Questions? Thanks!!!
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.