envirotrack: towards an environmental computing paradigm for distributed sensor networks –...

41
EnviroTrack: Towards an Environmental EnviroTrack: Towards an Environmental Computing Paradigm for Distributed Computing Paradigm for Distributed Sensor Networks – Abdelzaher Tarek,etc Sensor Networks – Abdelzaher Tarek,etc An Entity Maintenance and Connection An Entity Maintenance and Connection Service for Sensor Networks – Brian Service for Sensor Networks – Brian Blum,etc Blum,etc Presented by Qiuhua Cao Presented by Qiuhua Cao Computer Science Department Computer Science Department University of Virginia University of Virginia Nov 3th, 2003 Nov 3th, 2003

Upload: sophia-barker

Post on 02-Jan-2016

221 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: EnviroTrack: Towards an Environmental Computing Paradigm for Distributed Sensor Networks – Abdelzaher Tarek,etc An Entity Maintenance and Connection Service

EnviroTrack: Towards an Environmental EnviroTrack: Towards an Environmental Computing Paradigm for Distributed Sensor Computing Paradigm for Distributed Sensor

Networks – Abdelzaher Tarek,etc Networks – Abdelzaher Tarek,etc An Entity Maintenance and Connection Service An Entity Maintenance and Connection Service

for Sensor Networks – Brian Blum,etcfor Sensor Networks – Brian Blum,etc

EnviroTrack: Towards an Environmental EnviroTrack: Towards an Environmental Computing Paradigm for Distributed Sensor Computing Paradigm for Distributed Sensor

Networks – Abdelzaher Tarek,etc Networks – Abdelzaher Tarek,etc An Entity Maintenance and Connection Service An Entity Maintenance and Connection Service

for Sensor Networks – Brian Blum,etcfor Sensor Networks – Brian Blum,etc

Presented by Qiuhua CaoPresented by Qiuhua CaoComputer Science DepartmentComputer Science Department

University of VirginiaUniversity of VirginiaNov 3th, 2003Nov 3th, 2003

Page 2: EnviroTrack: Towards an Environmental Computing Paradigm for Distributed Sensor Networks – Abdelzaher Tarek,etc An Entity Maintenance and Connection Service

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?”

Page 3: EnviroTrack: Towards an Environmental Computing Paradigm for Distributed Sensor Networks – Abdelzaher Tarek,etc An Entity Maintenance and Connection Service

Programming ParadigmAssembly Language(Z80)Procedure Based (C)Object-Oriented (C++, Java)AspectJComponent Based (NesC)

Abstraction Level

Easier for programming, debugging, testing,…Higher reusability, extendability, etc

Page 4: EnviroTrack: Towards an Environmental Computing Paradigm for Distributed Sensor Networks – Abdelzaher Tarek,etc An Entity Maintenance and Connection Service

Outline

Design GoalsContributionsBasic IdeasCritiques Experimental Results AnalysisExtensionsConclusion

Page 5: EnviroTrack: Towards an Environmental Computing Paradigm for Distributed Sensor Networks – Abdelzaher Tarek,etc An Entity Maintenance and Connection Service

Design GoalsProvide 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

Page 6: EnviroTrack: Towards an Environmental Computing Paradigm for Distributed Sensor Networks – Abdelzaher Tarek,etc An Entity Maintenance and Connection Service

ContributionsHigher level programming abstraction

(or friend interface to use the middleware service)

Architecture for mobile end-to-end transport-layer connections

Entity Uniqueness MaintenanceSystem Variables Analysis

Page 7: EnviroTrack: Towards an Environmental Computing Paradigm for Distributed Sensor Networks – Abdelzaher Tarek,etc An Entity Maintenance and Connection Service

Example Scenario

Page 8: EnviroTrack: Towards an Environmental Computing Paradigm for Distributed Sensor Networks – Abdelzaher Tarek,etc An Entity Maintenance and Connection Service

What can be hidden from programmer?

Group communicationLocation of the groupAnything else?

Page 9: EnviroTrack: Towards an Environmental Computing Paradigm for Distributed Sensor Networks – Abdelzaher Tarek,etc An Entity Maintenance and Connection Service

Programming Model(1)

Two partsProgramming Language ?Group Communication Middleware

Page 10: EnviroTrack: Towards an Environmental Computing Paradigm for Distributed Sensor Networks – Abdelzaher Tarek,etc An Entity Maintenance and Connection Service

Programming Model(2)Middleware service interface keywordsContext type – the type of context (group

function)Context label – logic address ( or group id)Tracking object – computation unitApplication 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

Page 11: EnviroTrack: Towards an Environmental Computing Paradigm for Distributed Sensor Networks – Abdelzaher Tarek,etc An Entity Maintenance and Connection Service

Programming Model(3)begin context tracker

activation: magnetic_sensor_reading()location:

avg(position),confidence=2,freshness=1sbegin object reporter

invocation:TIMER(5s)report_function(){

MySend(pursuer,self.label,location)}

endend 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

Page 12: EnviroTrack: Towards an Environmental Computing Paradigm for Distributed Sensor Networks – Abdelzaher Tarek,etc An Entity Maintenance and Connection Service

Programming Model(4)

AF=avg(position)

Freshness=1s

Critical mess Ne=2??

Object reporter, every 5s,send the entity location to the pursuer

Page 13: EnviroTrack: Towards an Environmental Computing Paradigm for Distributed Sensor Networks – Abdelzaher Tarek,etc An Entity Maintenance and Connection Service

Programming Model(5)Mapping to traditional OO

ObjectState

Function

Object: group

State: confidence, freshness, critical mess

Private function: aggregate function (avg,etc)

Public function: reporter

Any Problem here?

Page 14: EnviroTrack: Towards an Environmental Computing Paradigm for Distributed Sensor Networks – Abdelzaher Tarek,etc An Entity Maintenance and Connection Service

Programming Model(6)

For the same application, if just use NesC, what the programmer needs to do?

Page 15: EnviroTrack: Towards an Environmental Computing Paradigm for Distributed Sensor Networks – Abdelzaher Tarek,etc An Entity Maintenance and Connection Service

Programming Model(7) the nesC

model:– interfaces:

• uses• provides

– components:• modules• configuratio

ns application:=

graph of components

Component A

Component B

ComponentD

Component C

Application

configurationconfigurationComponent

E

ComponentF

Review of NesC

Page 16: EnviroTrack: Towards an Environmental Computing Paradigm for Distributed Sensor Networks – Abdelzaher Tarek,etc An Entity Maintenance and Connection Service

Programming Model(9)

module tracker{provides{

interface StdControl;}uses{

interface MagneticSensor;interface GroupCommunication;

}}

Page 17: EnviroTrack: Towards an Environmental Computing Paradigm for Distributed Sensor Networks – Abdelzaher Tarek,etc An Entity Maintenance and Connection Service

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 sensingreturn call

GroupCommunication.desolveGroup(…);//desolve}event result_t MagneticSensor.fire(){

if(state){call

GroupCommunication.createGroup(report,timer,location,avg,confident,freshness);

}}

}

Page 18: EnviroTrack: Towards an Environmental Computing Paradigm for Distributed Sensor Networks – Abdelzaher Tarek,etc An Entity Maintenance and Connection Service

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

Page 19: EnviroTrack: Towards an Environmental Computing Paradigm for Distributed Sensor Networks – Abdelzaher Tarek,etc An Entity Maintenance and Connection Service

Programming Model(10)

CritiquesA language??

Not sureFlexibility? (tight a programming

paradigm with an application)A big win?

Not sure

Page 20: EnviroTrack: Towards an Environmental Computing Paradigm for Distributed Sensor Networks – Abdelzaher Tarek,etc An Entity Maintenance and Connection Service

Programming Model(11)CritiquesExport 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??

Page 21: EnviroTrack: Towards an Environmental Computing Paradigm for Distributed Sensor Networks – Abdelzaher Tarek,etc An Entity Maintenance and Connection Service

Group Communication Service Architecture

Group membership management service

Inter-group communication service

Intar-group communication service???

Page 22: EnviroTrack: Towards an Environmental Computing Paradigm for Distributed Sensor Networks – Abdelzaher Tarek,etc An Entity Maintenance and Connection Service

Assumptions

Each node has its own locationNode is staticTarget is movingEvents are sparseAnything else?

Page 23: EnviroTrack: Towards an Environmental Computing Paradigm for Distributed Sensor Networks – Abdelzaher Tarek,etc An Entity Maintenance and Connection Service

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

Page 24: EnviroTrack: Towards an Environmental Computing Paradigm for Distributed Sensor Networks – Abdelzaher Tarek,etc An Entity Maintenance and Connection Service

Entity Management Module (2)

Node State Transition Diagram

Entity Timeout Timer

Fail leader timer

Alive counter

Leader handoff

Leader handoff

Page 25: EnviroTrack: Towards an Environmental Computing Paradigm for Distributed Sensor Networks – Abdelzaher Tarek,etc An Entity Maintenance and Connection Service

Entity Management Module(3)

Page 26: EnviroTrack: Towards an Environmental Computing Paradigm for Distributed Sensor Networks – Abdelzaher Tarek,etc An Entity Maintenance and Connection Service

Entity Management Module(4)

Page 27: EnviroTrack: Towards an Environmental Computing Paradigm for Distributed Sensor Networks – Abdelzaher Tarek,etc An Entity Maintenance and Connection Service

Entity Management API

join(signature)leave(signature)leader(entity, on_off)store(entity, state)get(entity,state)

Page 28: EnviroTrack: Towards an Environmental Computing Paradigm for Distributed Sensor Networks – Abdelzaher Tarek,etc An Entity Maintenance and Connection Service

Entity UniquenessEvent 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

Page 29: EnviroTrack: Towards an Environmental Computing Paradigm for Distributed Sensor Networks – Abdelzaher Tarek,etc An Entity Maintenance and Connection Service

Entity Connection Module(1)

Entity Connection

Page 30: EnviroTrack: Towards an Environmental Computing Paradigm for Distributed Sensor Networks – Abdelzaher Tarek,etc An Entity Maintenance and Connection Service

Entity Connection Module(2)

Connections identified as <Entity ID, Port Num>

Entity RegistrationDirectory Service

very abstract description, no detailed information how it is really achieved

Page 31: EnviroTrack: Towards an Environmental Computing Paradigm for Distributed Sensor Networks – Abdelzaher Tarek,etc An Entity Maintenance and Connection Service

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

Page 32: EnviroTrack: Towards an Environmental Computing Paradigm for Distributed Sensor Networks – Abdelzaher Tarek,etc An Entity Maintenance and Connection Service

Experimental Result Analysis(2)

Failed leader timer = 2 heartbeat period

Entity timeout period = 1.5 FLT = 3hopRR = 220m

FR = 1400m

Even the speed is 96m/s, it needs 2s to move out the RR. High speed??

Page 33: EnviroTrack: Towards an Environmental Computing Paradigm for Distributed Sensor Networks – Abdelzaher Tarek,etc An Entity Maintenance and Connection Service

Experimental Result Analysis(2)

220nodesThe red line is for speed 96m/s

Heartbeat period = 375ms

Failed leader timeout = 750ms

Entity timeout = 1.5*750ms=1125ms = 1.1s

RR = 220m

Speed = 96m/s

Page 34: EnviroTrack: Towards an Environmental Computing Paradigm for Distributed Sensor Networks – Abdelzaher Tarek,etc An Entity Maintenance and Connection Service

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

Page 35: EnviroTrack: Towards an Environmental Computing Paradigm for Distributed Sensor Networks – Abdelzaher Tarek,etc An Entity Maintenance and Connection Service

CritiquesRadius radio vs Sensing rangeHow the group formedHow the two end-to-end mobile entities

communicateWhat is a good entity timeout timerWhat is a good failed leader timerHow to maintain consistent alive counterHow to achieve seamless while leader

handoffWhen the two mobile end-to-end entities

need to communicateHow complex of directory serviceHow complex of leader election

Page 36: EnviroTrack: Towards an Environmental Computing Paradigm for Distributed Sensor Networks – Abdelzaher Tarek,etc An Entity Maintenance and Connection Service

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

Page 37: EnviroTrack: Towards an Environmental Computing Paradigm for Distributed Sensor Networks – Abdelzaher Tarek,etc An Entity Maintenance and Connection Service

Extension(2)Friendly User Interface – simple

EnviroTrack Language and its compilerNew Group Management Algorithm –

Dealing with multiple events, distributed events, crossing events and maintaining unique tracking object labels

Power efficient Inter-object communication support

Page 38: EnviroTrack: Towards an Environmental Computing Paradigm for Distributed Sensor Networks – Abdelzaher Tarek,etc An Entity Maintenance and Connection Service

Extension(3)New Group Management’s

ChallengeChallenge 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?

Page 39: EnviroTrack: Towards an Environmental Computing Paradigm for Distributed Sensor Networks – Abdelzaher Tarek,etc An Entity Maintenance and Connection Service

Extension(4)

Inter-object CommunicationHow 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?

Page 40: EnviroTrack: Towards an Environmental Computing Paradigm for Distributed Sensor Networks – Abdelzaher Tarek,etc An Entity Maintenance and Connection Service

Conclusion

Higher abstraction levelFramework for group

communication service

Page 41: EnviroTrack: Towards an Environmental Computing Paradigm for Distributed Sensor Networks – Abdelzaher Tarek,etc An Entity Maintenance and Connection Service

Questions?

Thanks!!!