Title: Virtual Infrastructure for Collision-Prone Wireless Networks
1Virtual Infrastructure for Collision-Prone
Wireless Networks
- Seth Gilbert
- Gregory Chockler Nancy
Lynch
2Wireless Ad Hoc Networks
Lots of devices Lots of applications
Applications Environmental monitoring Border monitoring Messaging Fire detection Automotive networks Firefighting
3Wireless Ad Hoc Networks
Lots of complications
- Unreliable communication
- Contention
- Collisions
- Noise
- Lost messages
- Unknown Availability
- Fault-prone devices
- Ad hoc deployments
- Unknown topology
- Unknown participants
- Mobility
- Dynamic joining/leaving
4Fixed Infrastructure
For Example
cell towers
base stations
- Simplifies wireless networks
- Communication
- Avoids contention and collisions
- Unknown availability
- Reliable overlay
- Known topology
- Mobility
- Fixed and predictable
servers
5Virtual Infrastructure
Unreliable ? Reliable Ad hoc ? Fixed net
6Todays Topics
- Introduction
- Modeling
- Emulating a virtual node
- Convergent History Agreement
- Emulating virtual infrastructure
7Wireless Networks
Overview
- Mobile nodes
- Crash failures
- Location updates
- Unreliable wireless broadcast
- Synchronous
- Collision detection
- Contention manager
8Wireless Networks
- Broadcast within some radius R.
- Interference up to some radius R.
Local Wireless Broadcast
R
R
9Wireless Networks
- Eventually, if only one nearby node broadcasts in
a round, then its message will be delivered.
Eventual Collision Freedom
10Wireless Networks
Collision Detectors
- Bob either
- Gets both messages
- or
- Detects a collision
Bob
Collin
Alice
CD
- ?A-C complete, eventually accurate
- Detect if any message is lost.
- Eventually no false positives (after
stabilization).
11Collision-Prone Network
Contention Manager(s)
- Eventually reduces contention/collisions
- Example backoff protocol
- Advice only nodes can ignore.
- Eventually, if only 1 node broadcasts, then no
collisions (after stabilization).
heads ? Awake keep trying to broadcast.
tails ? Asleep wait.
silent round ? Awake start again.
- Each node contends when it wants to broadcast.
- Each contention manager outputs advice
- active it is safe for the mobile node to
broadcast - passive the mobile node should not broadcast.
12Wireless Networks
Contention Manager Properties
- Eventually non-interfering
- Eventually, nearby nodes are not advised to be
active. - Eventually regionally fair
- Eventually, if
- Only nearby nodes contend.
- Any non-failed node contends for sufficiently
long. - Then
- Some non-failed, contending node is advised to be
active for sufficiently long.
13Wireless Networks
Overview
- Mobile nodes
- Crash failures
- Location updates
- Unreliable wireless broadcast
- Synchronous
- Collision detection
- Contention manager
14Todays Topics
- Introduction
- Modeling
- Emulating a virtual node
- Basic Idea
- Convergent History Agreement (CHA)
- CHA Protocol
- Emulating virtual infrastructure
15Building Virtual Infrastructure
Basic Idea Replicated State Machine
16Building Virtual Infrastructure
Basic Idea Replicated State Machine
17Building Virtual Infrastructure
Basic Idea Replicated State Machine
- Leader / backup
- Leader sends receives messages for the virtual
node
- Each participant is a replica.
- Replicas execute a consistency protocol
18Consistency First Attempt
Consensus as a building block.
-
- For each virtual round
- Run consensus.
- Replicas agree on
- Messages for virtual node to receive.
- Message for virtual node to send.
- State update.
- Update state.
- Leader sends message for virtual node.
19First Attempt
Consensus as a building block.
- Problems
- Consensus does not terminate until collisions
stop. - Virtual rounds are non-constant sized
- Rounds are unsynchronized!
- Virtual nodes do not detect collisions
- Delay until collisions stop.
20Goals
Mobile nodes, virtual nodes
- Can communicate with both real and virtual nodes.
- Detect collisions when a message is lost.
- Emulation of virtual nodes is transparent.
- Rounds are synchronized
- Rounds are constant length
- In each round, replicas have a consistent view
- Constant-sized messages
Virtual round emulation
21Convergent History Agreement
- Sequence of instances
- For each instance k
- Each node proposes an input.
- Each node receives a history output h, or .
CHA k4
h1
propose(x)
h2
propose(y)
propose(z)
CHA k7
CHA k4
CHA k1
CHA k2
CHA k3
CHA k5
CHA k6
22Convergent History Agreement
- A history is a sequence of proposals, one per
instance, e.g. - Validity Each history contains only real
proposals. - Agreement Every pair of histories shares a
common prefix of proposals/non-proposals. - Liveness Eventually, every instance outputs
histories, and every element in the history is a
proposal.
CHA k7
CHA k4
CHA k1
CHA k2
CHA k3
CHA k5
CHA k6
23Emulating a Virtual Round
Using Convergent History Agreement
- Determine proposals.
- Mobile nodes broadcast their messages for the
virtual round. - Calculate virtual nodes broadcast message, using
most recent history, extended by collisions. - Execute convergent history agreement (CHA).
- If CHA outputs a history, then
- Simulate receiving virtual nodes broadcast.
- Otherwise
- Report a collisions.
24CHA Protocol
Three phases
- Each client begins with a proposal for the
current instance. - Round 1 Ballot
- If adviceactive then broadcast(ballot)
- Round 2 Veto-1
- If collision then broadcast(veto)
- Round 3 Veto-2
- If collision then broadcast(veto)
- Update state
25Update State
Accept
Reject
26Update State
Accept
Tentative Accept
Tentative Reject
Reject
27Update State
Accept
Tentative Accept
Tentative Reject
Reject
- ballotproposal, last green/yellow round
28Ballot history
- Reconstructing the history
- Example
Ballot 9 C, 7
Ballot 8
Ballot 7 D, 4
Ballot 6 D, 4
Ballot 5 A, 3
Ballot 4 O, 1
Ballot 3
Ballot 2 R, 1
Ballot 1 P, 0
29Ballot history
- Reconstructing the history
- Example
Ballot 9 C, 7
Ballot 8
Ballot 7 D, 4
Ballot 6 D, 4
Ballot 5 A, 3
Ballot 4 O, 1
Ballot 3
Ballot 2 R, 1
Ballot 1 P, 0
30Ballot history
- Reconstructing the history
- Example
Ballot 9 C, 7
Ballot 8
Ballot 7 D, 4
Ballot 6 D, 4
Ballot 5 A, 3
Ballot 4 O, 1
Ballot 3
Ballot 2 R, 1
Ballot 1 P, 0
31Ballot history
- Reconstructing the history
- Example
Ballot 9 C, 7
Ballot 8
Ballot 7 D, 4
Ballot 6 D, 4
Ballot 5 A, 3
Ballot 4 O, 1
Ballot 3
Ballot 2 R, 1
Ballot 1 P, 0
32Ballot history
- Reconstructing the history
- Example
Ballot 9 C, 7
Ballot 8
Ballot 7 D, 4
Ballot 6 D, 4
Ballot 5 A, 3
Ballot 4 O, 1
Ballot 3
Ballot 2 R, 1
Ballot 1 P, 0
- History
- 1. propose(P)
- 2. propose(O)
- 3. propose(D)
- 4. propose(C)
- gt PODC
33CHAP Output
- If round is green
- Output history.
- Include proposal where indicated, otherwise.
- Else if round is not green
- Output .
34Analysis Key Idea (1)
The color at any two replicas differs by at most
one shade.
- If some instance is green, then all accept that
instances ballot. - All histories agree on the same execution.
- If a history is output for some instance, then
all replicas receive the proposal for that
instance. - If a ballot is red, then all the replicas reject
it. - If a proposal is not received, then no history
outputs it.
35Analysis Key Idea (2)
After the network, collision detector, and
contention manager stabilize Eventually, every
round is green.
- When the underlying network is well-behaved, then
there are no vetos. - Used to prove that the virtual node satisfies
- Eventual collision freedom.
- Eventual accuracy of the collision detector.
- Contention manager eventually well-behaved.
36Todays Topics
- Introduction
- Modeling
- Emulating a virtual node
- Convergent History Agreement
- Emulating virtual infrastructure
37Virtual Infrastructure
More than one virtual node
- Problems
- Virtual nodes communicate with each other.
- Sender adds message to send to proposal.
- Receiver adds messages to receive to proposal.
- Both run agreement.
- If sender-agreement fails, then receiver cannot
receive the message. - Too late!!
- Virtual node emulators may interfere with each
other. - Contention managers are insufficient.
38Virtual Infrastructure
Scheduling virtual nodes
- Choose a schedule for all the virtual nodes
- Non-conflicting no neighboring virtual nodes
scheduled at the same time. - Fair every virtual node is scheduled.
- Use schedule to avoid contention in the
emulation. - Not sufficient to emulate each virtual node
according to the schedule, since virtual nodes
communicate.
39Virtual Infrastructure
- Four part protocol
- Data phases
- Client phase clients broadcast messages to vns,
each other. - VN phase representative emulator sends msg for
vn. - Scheduled Agreement Instance
- Scheduled virtual nodes run the 3 phase agreement
protocol, all at once. - Unscheduled Agreement Instance
- Unscheduled virtual nodes run the 3 phase
agreement protocol. - Lasts for s 2 rounds, where s is the size of the
schedule. - Join Reset phases.
40Virtual Infrastructure
Emulation results
- Bounded round emulation
- 10 (size of schedule)
- Constant overhead
- After stabilization, constant message overhead.
- Can be optimized further.
41Ongoing and Future Work
Interesting questions
42Ongoing and Future Work
Practical issues
- Optimization
- Smaller messages
- Less redundant communication
- Shorter virtual rounds
- Implementation aspects
- Collision detectors
- Contention managers
- Synchronization
43Ongoing and Future Work
Applications
- Coordination Problems
- Traffic Coordination
- Air traffic control
- Rescue worker / military scenarios
- Control Problems
- Actuated sensors
- Real-time applications
- Mobile Sensors
- Floating / submergible devices
- Zebranet-like scenarios
44Ongoing and Future Work
Extensions
- Malicious Devices
- Can we emulate virtual infrastructure in the
presence of non-cooperative mobile nodes? - Can we keep the state of the system secret from
the participants? - Cryptography
- Frequency hopping
45Ongoing and Future Work
Extensions
- Energy Efficiency
- How efficiently can we implement virtual
infrastructure? - Mobile nodes share the work of implementing the
virtual nodes. - More efficient replication via coding theory
techniques?
46Summary
- Virtual Infrastructure
- Simple abstraction for
dependable ad hoc networks - Convergent History Agreement
- CHA Protocol / VI Emulation
- Collision detectors, contention managers
- Efficient constant overhead, constant time
47The End
48The End
49(No Transcript)