Stabilizing Tracking : Demos on Berkeley’s Mote Platform Anish Arora, Murat Demirbas, Sandip Bapat, Sohail Munir Ohio State Tracking Problem • • • • Consider an undirected graph where any two nodes connected by an edge are called neighbors There is an evader that moves from a node to a neighboring node each Te seconds There is a pursuer that moves from any node to a neighboring node each Tp seconds, where Tp < Te Associate a “sensor process” with each node so that the pursuer catches up with the evader in short time Two Approaches to Stabilization • OSU tracking protocol sensor processes communicate periodically with neighbors stabilizes and tracks faster • UT tracking protocol sensor processes communicate with neighbors only upon request minimizes number of messages and energy efficient OSU Tracking Protocol Sensor process • • Processes communicate periodically (four times per second) with their neighbors Message format Src: Id of sender Parent: Id of parent of Src Dist: Distance from root to Src Value: The logical timestamp when the bug was detected by the root mote of Src • Processes run stabilizing tree algorithm to form the tracking tree Stabilizing Tree Algorithm • • • • Dynamic-rooted minimum-distance spanning tree algorithm Self stabilizing to the invariant that the tree is rooted at the bug Asynchronous Does not require any underlying synchronization mechanism, or local clocks Ad hoc Works for any topology A Tracking Tree Forms …with Bug at Root • • Bug is on mote 2 Visualization tool shows tracking tree formed with root at mote 2 Video Screenshot Tree Stabilizes …when Motes State gets Corrupted • Tree rooted at mote 2, where bug is located • State of mote 16 is transiently corrupted • Two trees, with roots at motes 2 and 16, are formed • Source of corruption at mote 16 is removed • A single tree, potentially different from the original one, is (re)formed Video Screenshot1 Screenshot2 Tree Stabilizes …even when Motes Failstop • • • • • Tree is rooted at mote 2 Mote 14 points to mote 10 as the next hop on its shortest path to the root Mote 10 fails (is turned off, radio unit fails, or runs out of battery) Mote 14 now points to mote 13 or mote 15 instead of the failed mote 5 Tree (re)stabilizes Video Screenshot1 Screenshot2 Spider Modes • Line following If spider goes off line, it searches for line and follows it until it reaches the end of the line • Direction tracking Colored lines encode the four directions e.g. Long Yellow + Short Black = North Spider calculates its direction after a complete line traversal • Reading from mote Motes blink IR LEDs at four different frequencies to communicate the four directions On reaching a mote, spider detects the frequency of emitted IR signals and decides how to turn The Spider Converges to the Grid ...and Tracks the Tree • • • Spider converges to the grid from any point within grid, without falling off the edge Upon converging, spider regains its sense of direction within one complete line traversal Upon regaining sense of direction, spider tracks tree by following direction signals from the motes Video The Spider Catches the Bug …assuming Spider is Faster • • • Spider follows the tree all the way to the root, where the bug is located and catches the bug Even if the bug moves, the tree reconfigures when the bug is detected at the next mote So, if the bug stops or is slower than the spider, the spider eventually catches the bug Video The Spider Catches the Bug …even if Motes Failstop • • • If spider reaches a failed mote, it cannot get a direction signal Spider then chooses a random direction to follow. If this direction leads it off the grid, it backs up and retries till it finds a grid direction On reaching the next non-failed node, the spider gets a proper direction to follow and catches the bug eventually Video Engineering tricks • Main problem – Lack of a fat communication pipe between spider and motes • Encoding directions using line colors • Using IR LEDs on motes to communicate with spider • Ensuring that motes do not detect spider as the bug using a light source Future work: Hybrid approaches • • • Proxy Pursuer or Agent Publish/Subscribe service for interest based information propagation to pursuer On-demand stabilization of the spanning tree