240 likes | 243 Views
Autonomous Virtual Mobile Nodes. Shlomi Dolev Seth Gilbert Elad Schiller Alex Shvartsman Jennifer Welch. Locality. Locality Unreliable nodes. Nodes only send messages to nearby nodes Global coordination is expensive. Mobile nodes fail, go to sleep, and
E N D
Autonomous Virtual Mobile Nodes Shlomi Dolev Seth Gilbert Elad Schiller Alex Shvartsman Jennifer Welch
Locality • Locality • Unreliable nodes • Nodes only send messages to nearby nodes • Global coordination is expensive • Mobile nodes fail, • go to sleep, and • get turned off. Challenges
Locality • Unreliable nodes • Mobile nodes fail, • go to sleep, and • get turned off. • Locality • Unreliable nodes • Irregular motion • Nodes travel wherever they want to go Challenges
Allows a node to reach all nearby nodes, • Ensure they receive the same messages. • Broadcast • Wireless broadcast is a powerful primitive. Opportunities
Broadcast • Time & Geography • Nodes are physical entities • physical time & location • Use GPS and/or algorithms for synchronization / location Opportunities
Existing protocols • Flooding • Distributed structure • E.g., TORA [PC97] • Compulsory movement of nodes • [HP99, CNS01] Related work
Existing protocols • Random walk • Random walk of a single agent • Coping with chaos by chaos Related work
Existing protocols • Random walk • Virtual nodes • Geo-Quorums [DGL03] • Virtual Stationary Automata • [DGL05] • Virtual Mobile Node [DGL04] Related work
A virtual general-purpose computing entity. • Automaton • New programming abstraction Autonomous Virtual Mobile Node
Implemented by “real’’ mobile nodes that happens to be near. • Automaton • New programming abstraction • Distinct location at any time Autonomous Virtual Mobile Node
Communicates with: • other virtual nodes, and • “real” mobile nodes. • Automaton • New programming abstraction • Distinct location at any time Autonomous Virtual Mobile Node
Example 1 • If north-east area appears deserted • go south-west • Tolerate any starting state: • maybe several (undesired) copies, or • none at all. • The group emulation enhances robustness: • some may fail, or • move out of range. • Automaton • Reliability • Automaton • Reliability • Automaton • Reliability • Autonomous • Fault recovery • Fault recovery • Self-stabilization • On-line movement decision: • current state, and • sensor/environment input. Autonomous Virtual Mobile Node
Example 2 • Hitchhike with the traffic, or • Go in the opposite direction • Automaton • Reliability • Autonomous • On-line movement decision: • current state, and • sensor/environment input. Autonomous Virtual Mobile Node
Vehicular networks • Traffic control and safety • E.g., ad hoc traffic light Application Domain
Vehicular networks • Traffic control and safety • E.g., ad hoc traffic light Application Domain
Vehicular networks • RFID tags • Very small, cheap and wireless tagging network. • Limited power supply. • Photoelectric gate • Use flash light to activate the net • The AVMN follows the light • E.g., • count the number of items • find an expired item • Use microwave instead of light. Application Domain
Application Domain • Vehicular networks • RFID tags • Swarm computing • Multiple virtual nodes • Hierarchically originated • Performing different task • Collaborating or competing
alive messages to known location • of a stationary node (VSA) • VSA keeps track of the AVMN • No message for too long • create a new AVMN • VSA eliminates duplicates Implementation • Exactly 1 instance Three different schemes • Virtual Stationary Automaton
Send alive messages in a random walk fashion. • If a real node doesn’t receive an alive message for too long • generates a formation token • carries ids and traverses in a random walk fashion • If tokens collide: merge ids’ lists • If containing more than (N+1)/2 • creates a new AVMN Implementation • Exactly 1 instance Three different schemes • Virtual Stationary Automaton • Send alive messages
Real nodes periodically send stay alive messages • random walk to AVMN • in order to survive • AVMN must collect at least (N + 1)/2 messages. Implementation • Exactly 1 instance Three different schemes • Virtual Stationary Automaton • Send alive messages • Nodes alive messages
Buffer input events waiting to be applied to the state. • At a fixed interval, • sends replica to all. • Predetermined function resolves conflicts. Implementation • Exactly 1 instance • Self-stabilization • Every emulating real node • Keeps a replica of the AVMN • Ensures identical replica <State1, input1> <State1, input1> <State1, input1> <State2, input2> <State2, input2> <State2, input2> <State2, input2> <State1, input1> <State3, input3> <State3, input3> <State3, input3>
Esure that: • Old nodes remain participants • Enough nodes near the new location can receive notification • And, mobile nodes can join Implementation • Exactly 1 instance • Self-stabilization • Mobility • Where and when to move? • Can be decided by current state • Ensure the right order of events • Ensure nodes´ proper join/leave move to x2ont2 move to x3 on t3 <join, id 37634> <State, input> x1 x2 x3
Discussion Described how to implement a single AVMN Can implement multiple AVMNs using the same techniques. There are a number of ways to optimize Use min amount of power to reach everyone. Use nodes that are closer to the new AVMN centrum. If possible, take advantage of nodes movement.
Thank you Your attention is appreciated