70 likes | 165 Views
Code Review of SOWN Demo --- SentrySelection Model. By: Gang Zhou Computer Science Department University of Virginia May 2004. Outline. Interface Description Component Description Tunable Parameters Module Overview Timers in code Phases in code Node Behavior in different Phases.
E N D
Code Review of SOWN Demo--- SentrySelection Model By: Gang Zhou Computer Science Department University of Virginia May 2004
Outline • Interface Description • Component Description • Tunable Parameters • Module Overview • Timers in code • Phases in code • Node Behavior in different Phases
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
Phase---START_UP • What to beacon during the phase? • My ID • SentryID • Num_covered • Num_sentries • Num_nonsentries • Voltage
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
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
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