Autonomous Virtual Mobile Nodes Shlomi Dolev Seth Gilbert Elad Schiller Alex Shvartsman Jennifer Welch
Dec 22, 2015
Autonomous Virtual Mobile Nodes
Shlomi Dolev Seth Gilbert
Elad Schiller Alex Shvartsman
Jennifer Welch
Challenges• Locality • Nodes only send messages to
nearby nodes
• Global coordination is expensive
• Locality • Unreliable nodes
• Mobile nodes fail,
• go to sleep, and
• get turned off.
Challenges• Locality • Unreliable nodes• Irregular motion
• Nodes travel wherever they want to go
• Locality • Unreliable nodes
• Mobile nodes fail,
• go to sleep, and
• get turned off.
Opportunities• Broadcast • Wireless broadcast is a powerful
primitive.
• Allows a node to reach all nearby
nodes,
• Ensure they receive the same
messages.
Opportunities• Broadcast• Time & Geography
• Nodes are physical entities– physical time & location
• Use GPS and/or algorithms for synchronization / location
Related work• 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]
Autonomous Virtual Mobile Node• Automaton • New programming abstraction
• A virtual general-purpose
computing entity.
Autonomous Virtual Mobile Node• Automaton • New programming abstraction
• Distinct location at any time
• Implemented by “real’’ mobile
nodes that happens to be near.
Autonomous Virtual Mobile Node• Automaton • New programming abstraction
• Distinct location at any time
• Communicates with:
• other virtual nodes, and
• “real” mobile nodes.
Autonomous Virtual Mobile Node• Automaton• Reliability
• Fault recovery
• The group emulation enhances
robustness:
• some may fail, or
• move out of range.
• Automaton• Reliability
• Fault recovery
• Self-stabilization
• Tolerate any starting state:
• maybe several (undesired)
copies, or
• none at all.
• Automaton• Reliability• Autonomous
• On-line movement decision: – current state, and
– sensor/environment input.
Example 1
• If north-east area appears deserted
• go south-west
Autonomous Virtual Mobile Node• Automaton• Reliability• Autonomous
• On-line movement decision: – current state, and
– sensor/environment input.
Example 2
• Hitchhike with the traffic, or
• Go in the opposite direction
Application Domain• 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• Vehicular networks• RFID tags• Swarm computing
• Multiple virtual nodes
– Hierarchically originated
– Performing different task
• Collaborating or competing
Implementation• Exactly 1 instance Three different schemes
1. Virtual Stationary Automaton
• 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
1. Virtual Stationary Automaton
2. Send alive messages
• 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
1. Virtual Stationary Automaton
2. Send alive messages
3. Nodes 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• Self-stabilization
• Every emulating real node– Keeps a replica of the AVMN
– Ensures identical replica
• Buffer input events waiting to be
applied to the state.
• At a fixed interval,
• sends replica to all.
• Predetermined function resolves
conflicts.<State3, input3>
<State2, input2>
<State1, input1>
<State3, input3>
<State2, input2>
<State1, input1>
<State3, input3>
<State2, input2>
<State1, input1>
<State2, input2><State1, input1>
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
x1 x2 x3
move to x2 on t2move to x3 on t3<join, id 37634>
<State, input>
• Esure that:
• Old nodes remain participants
• Enough nodes near the new
location can receive notification
• And, mobile nodes can join
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