mutation routing
DESCRIPTION
Mutation Routing. Kamin Whitehouse BLAM Workshop, UCLA 11/8/03. Outline. The problem Previous approaches Mutation Routing Overview and Demo Algorithm Analysis Future Work. 15. 15. 14. 14. 9. 9. 5. 5. 2. 2. 1. 1. Mobile-to-Mobile Routing. Stationary nodes. - PowerPoint PPT PresentationTRANSCRIPT
Mutation Routing 1
Mutation Routing
Kamin Whitehouse
BLAM Workshop, UCLA
11/8/03
Mutation Routing 3
Outline
• The problem
• Previous approaches
• Mutation Routing – Overview and Demo– Algorithm
• Analysis
• Future Work
Mutation Routing 4
Mobile-to-Mobile Routing
• Stationary nodes
7
1
6
1112
34
8
9
1415
1310
5
2
9
14
9
1
5
21
5
21
5
2
1514
9
1514
9
• Two or more mobile objects
• Groups with unique leader for each object
• Must maintain communication between leaders as the objects move– i.e. mobile-group to
mobile-group routing
Mutation Routing 5
Why is this hard?
• Source must know where destination is, but dest keeps moving
• Could dest just send source its location?– No! Source keeps moving also.– (One way to solve the problem is to have a
solution to the problem)
Mutation Routing 6
Application: PEG
Mutation Routing 7
Application: Ubicomp
Mutation Routing 8
Assumptions
• Assume a dense network
• Assume homogenous nodes ??
• Assume ‘socket’ type of communication
• Always a clean hand-off between leaders
Mutation Routing 9
Outline
• The problem: mobile to mobile routing
• Previous approaches
• Mutation Routing – Overview and Demo– Algorithm
• Analysis
• Future Work
Mutation Routing 10
Routing Mini-Demo
• Any-to-one global broadcast
• Any-to-mobile ??
Mutation Routing 11
Berkeley Landmark Routing
• Crumb-trail allows landmark to forward to mobile– Avoids repeated re-broadcast
• Questions: Bandwidth? Scalable?
Mutation Routing 12
PARC Constrained Broadcast
• Receiver generates gradient; sender uses constrained broadcast– Robust to link/node failures, costs extra messages
• Question: Bandwidth? Energy?
Mutation Routing 13
• Broadcast channel-> collisions
• Scales w/ network size
• #Msgs is high
1. Goal: high-bandwidth
1. Goal: scalable
1. Goal: energy-efficient
Problems
Latency??
Mutation Routing 14
Outline
• The problem: mobile to mobile routing
• Previous approaches
• Mutation Routing – Overview and Demo– Algorithm
• Analysis
• Future Work
Mutation Routing 15
Mutation Routing
• Follow destinations
7
1
6
1112
3
4
8
9
1415
1310
5
2
9
14
9
1
5
2
11
10
5
X
Mutation Routing 16
Mutation Routing
• Follow destinations• Follow sources
7
1
6
1112
3
4
8
9
14
1310
5
2
9
1514
9
1
5
2
7
8
9
X
15
Mutation Routing 17
Mutation Routing
• Follow destinations• Follow sources• Cut corners
7
1
6
1112
3
4
8
9
14
1310
5
2
9
1514
9
1
5
2
7
8
9XX
Mutation Routing 18
Mutation Routing
• Follow destinations• Follow sources• Cut corners• Cut loops
7
1
6
1112
3
4
8
9
1415
1310
5
2
9
14
9
1
5
2 XX
XX
Mutation Routing 19
Mutation Routing
• Follow destinations• Follow sources• Cut corners• Cut loops• Drop redundant
“baby-steps”
7
1
6
1112
3
4
8
9
1415
1310
5
2
9
14
9
1
5
2
0XX
Mutation Routing 20
Mutation Routing
• Follow destinations• Follow sources• Cut corners• Cut loops• Drop redundant
“baby-steps”• Replace dead nodes
7
1
6
1112
3
4
8
9
1415
1310
5
2
9
14
9
1
5
2
XXX
Mutation Routing 21
Mutation Routing
• Follow destinations• Follow sources• Cut corners• Cut loops• Drop redundant
“baby-steps”• Replace dead nodes• New nodes join route to shorten it
7
1
6
1112
3
4
8
9
1415
1310
5
2
9
14
9
1
5
2
0
XX
X
Mutation Routing 22
Mutation Routing
• 7 behaviors
• 2 simple protocols– Pruning– Recruiting
Mutation Routing 23
Lawnmower Effect
Mutation Routing 24
Outline
• The problem: mobile to mobile routing
• Previous approaches
• Mutation Routing – Overview and Demo– Algorithm (the 2 protocols)
• Analysis
• Future Work
Mutation Routing 25
Preface• Router defined as node with both a child
and parent (strong definition)• Special Cases:
– Source: child=self– Destination: parent=broadcast address
• All messages have 3 extra fields ( 5 bytes)– ID– Child ID– Cost = child->cost + 1
80 03 40 02 01 00 00 00 22 02 33 02 33 02 17 00 56
1 2 3
Mutation Routing 26
Protocol 1: Pruning
Mutation Routing 27
Protocol 1: Pruning• When two nodes a and b hear each other and
cost(A)-cost(B) > 1, shortcut!– Ie: parent(B) := a
• To ensure symmetric links, protocol:– B sends message as normal– A overhears B’s message, becomes a SHORTCUT
by setting child field to B– B overhears A’s message, takes the shortcut by
setting parent to A– Next time B sends, will go to A, who will forward– If A does not get next message from B, (i.e. B did not
take the shortcut) A sets child back to old child (asymmetric link)
• Notice that shortcutting takes no extra messages
Mutation Routing 28
Protocol 2: Recruiting
Mutation Routing 29
Protocol 2: Recruiting
• When a node wants to join the route, first becomes a RECRUIT:=node trying to acquire a parent
• To ensure symmetric links, protocol:– Recruit sets parent to any likely candidate, sets cost to minimum
cost it would like to be, and child to self– Sends message to parent– If parent (or any other node) becomes a shortcut (i.e. sets child
to recruit’s ID), recruit also becomes shortcut and sets child to node it wants to have as child
• Note that recruiting does require an extra message, but will never be used unless that message is necessary anyway
Mutation Routing 30
Recruitment Routing
• Mobile Destinations - pruning
• Mobile Sources - recruiting
• Cut corners - pruning
• Cut loops - pruning
• Drop “baby steps”- pruning
• Replace dead nodes – both
• New nodes join route to shorten it – both
Mutation Routing 31
Outline
• The problem: mobile to mobile routing
• Previous approaches
• Recruitment Routing – Overview and Demo– Algorithm
• Analysis
• Future Work
Mutation Routing 32
Analysis
• Properties:– Robust to asymmetric links– Robust to lossy links– Guarantee of consistent route
• Performance– Message cost– State cost
Mutation Routing 33
Asymmetric Links
• Recruitment Routing is robust to asymmetric links
• Proof:– Discovery finds only symmetric links– Shortcutting preserves symmetric links– Recruiting preserves symmetric links– By induction…
Mutation Routing 34
Lossy Links• Shortcutting:
– Since A and B are on the same route, they both know when the other should be sending.
– This allows silent link-quality estimation (at the cost of quick shortcuts)
– State can be maintained (because this is a static network) to expediate future shortcuts.
• Recruiting– Silent link-quality estimation is impossible– In presence of lossy links, all recruiting can be
suppressed except that supported by known bi-directional reliable links.
Mutation Routing 35
Guarantee of Delivery
Mutation Routing 36
Guarantee of Delivery
Mutation Routing 37
Guarantee of Delivery
Mutation Routing 38
Guarantee of Delivery
• All parents are on route at all times– All parents and children on initial route are on
the route, by definition– Node only change parents to nodes on the
route– If a parent leaves the route while a parent, it is
because child is not on route either, so it doesn’t matter
Mutation Routing 39
Message Cost
• Shortcutting costs one message per routed packet
• Recruiting is done without any message cost for– Mobile-source following– Node replacement
• Recruiting costs multiple messages when non-routing nodes try to shortcut
Mutation Routing 40
Space Cost
• Each node maintains state of each router within communication range– ID– Parent– Child– Cost
• Total of 7 bytes per neighbor/route• Should not have much more than 3
neighbors per route, i.e. 21 bytes per route
Mutation Routing 41
Summary & Conclusion
Mutation Routing– Pruning– Recruiting
1. Near optimal bandwidth
2. Only 21 bytes of state per destination
3. Unbounded sub-optimal latency/energy
Mutation Routing 42
Future Work
• Source Tracking
• Destination Tracking
• Local Optimizations
• Local Repairs
• Global Optimizations
• Global Repairs
Mutation Routing 43
Routing Results
• Delivery Rate:
• # Messages
75
80
85
90
95
100
15cm/sec 100cm/sec 200cm/sec
Tree
Broadcast
0
10
20
30
40
50
60
15cm/sec 100cm/sec 200cm/sec
Tree
Broadcast