1 Code Review of SOWN Demo --- SentrySelection Model By: Gang Zhou Computer Science Department University of Virginia May 2004
2 Outline Interface Description Component Description Tunable Parameters Module Overview Timers in code Phases in code Node Behavior in different Phases
3 Timers and Phases Two Timers: PhaseTimer---control the four phases BeaconTimer---keep periodical beaconing Four Phases SEL_CHAOS No much to say START_UP Each node calculate information of the neighborhood DECLARE Decide sentry nodes and declare them SEL_STOP No much to say
4 Phase---START_UP What to beacon during the phase? My ID SentryID Num_covered Num_sentries Num_nonsentries Voltage
5 Phase---START_UP What to do when a beacon is received? Update neighborhood status Num_sentries Num_nonsentries Num_covered What to do at the end of this phase? Back off The larger the num_nonsentry, the less the back off time The higher the energy, the less the back off time Start the first beacon of DECLARE phase after the back off
6 Phase---DECLARE If the following two conditions are satisfied, I will declare myself as an entry I am not a sentry I didn’t hear from a sentry Only when a node decides to be a sentry, it will beacon. What to beacon during the phase? My ID SentryID Num_covered Num_sentries Num_nonsentries Voltage
7 Phase---DECLARE What to do when a beacon is received? Update neighborhood status Num_sentries Num_nonsentries Num_covered If I am not a sentry and I hear from a sentry, I will set that node as my sentry What to do at the send of this phase? Schedule to enter into SEL_STOP phase after 1 second