430 likes | 535 Views
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.
E N D
Mutation Routing Kamin Whitehouse BLAM Workshop, UCLA 11/8/03
Outline • The problem • Previous approaches • Mutation Routing • Overview and Demo • Algorithm • Analysis • Future Work Mutation Routing
15 15 14 14 9 9 5 5 2 2 1 1 Mobile-to-Mobile Routing • Stationary nodes • Two or more mobile objects 13 10 15 14 14 • Groups with unique leader for each object 12 11 9 9 9 5 5 • Must maintain communication between leaders as the objects move • i.e. mobile-group to mobile-group routing 7 6 8 3 2 2 1 1 4 Mutation Routing
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
Application: PEG Mutation Routing
Application: Ubicomp Mutation Routing
Assumptions • Assume a dense network • Assume homogenous nodes ?? • Assume ‘socket’ type of communication • Always a clean hand-off between leaders Mutation Routing
Outline • The problem: mobile to mobile routing • Previous approaches • Mutation Routing • Overview and Demo • Algorithm • Analysis • Future Work Mutation Routing
Routing Mini-Demo • Any-to-one global broadcast • Any-to-mobile ?? Mutation Routing
Berkeley Landmark Routing • Crumb-trail allows landmark to forward to mobile • Avoids repeated re-broadcast • Questions: Bandwidth? Scalable? Mutation Routing
PARC Constrained Broadcast • Receiver generates gradient; sender uses constrained broadcast • Robust to link/node failures, costs extra messages • Question: Bandwidth? Energy? Mutation Routing
Problems • Broadcast channel-> collisions • Scales w/ network size • #Msgs is high • Goal: high-bandwidth • Goal: scalable • Goal: energy-efficient Latency?? Mutation Routing
Outline • The problem: mobile to mobile routing • Previous approaches • Mutation Routing • Overview and Demo • Algorithm • Analysis • Future Work Mutation Routing
10 11 5 5 2 1 Mutation Routing 13 10 15 • Follow destinations 14 14 12 11 9 9 9 5 7 6 X 8 3 2 1 4 Mutation Routing
15 14 9 9 7 8 Mutation Routing 13 10 15 • Follow destinations • Follow sources 14 12 11 9 9 X 5 5 7 6 8 3 2 2 1 1 4 Mutation Routing
15 14 9 9 7 8 Mutation Routing 13 10 • Follow destinations • Follow sources • Cut corners 14 12 11 X 9 9 5 5 X 7 6 8 3 2 2 1 1 4 Mutation Routing
5 2 1 Mutation Routing 13 10 15 • Follow destinations • Follow sources • Cut corners • Cut loops 14 14 12 11 9 9 9 5 7 X 6 X 8 X 3 X 2 1 4 Mutation Routing
5 2 1 Mutation Routing 13 10 15 • Follow destinations • Follow sources • Cut corners • Cut loops • Drop redundant“baby-steps” 14 14 12 11 9 9 9 X 5 X 7 0 6 8 3 2 1 4 Mutation Routing
5 2 1 Mutation Routing 13 10 15 • Follow destinations • Follow sources • Cut corners • Cut loops • Drop redundant“baby-steps” • Replace dead nodes 14 14 12 11 9 9 9 5 X X 7 X 6 8 3 2 1 4 Mutation Routing
5 2 1 Mutation Routing 13 10 15 • Follow destinations • Follow sources • Cut corners • Cut loops • Drop redundant“baby-steps” • Replace dead nodes • New nodes join route to shorten it 14 14 12 11 X 9 9 9 5 X 7 6 X 8 0 3 2 1 4 Mutation Routing
Mutation Routing • 7 behaviors • 2 simple protocols • Pruning • Recruiting Mutation Routing
Lawnmower Effect Mutation Routing
Outline • The problem: mobile to mobile routing • Previous approaches • Mutation Routing • Overview and Demo • Algorithm (the 2 protocols) • Analysis • Future Work Mutation Routing
80 03 40 02 01 00 00 00 22 02 33 02 33 02 17 00 56 1 2 3 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 Mutation Routing
Protocol 1: Pruning Mutation Routing
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
Protocol 2: Recruiting Mutation Routing
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
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
Outline • The problem: mobile to mobile routing • Previous approaches • Recruitment Routing • Overview and Demo • Algorithm • Analysis • Future Work Mutation Routing
Analysis • Properties: • Robust to asymmetric links • Robust to lossy links • Guarantee of consistent route • Performance • Message cost • State cost Mutation Routing
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
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
Guarantee of Delivery Mutation Routing
Guarantee of Delivery Mutation Routing
Guarantee of Delivery Mutation Routing
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
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
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
Summary & Conclusion Mutation Routing • Pruning • Recruiting • Near optimal bandwidth • Only 21 bytes of state per destination • Unbounded sub-optimal latency/energy Mutation Routing
Future Work • Source Tracking • Destination Tracking • Local Optimizations • Local Repairs • Global Optimizations • Global Repairs Mutation Routing
Routing Results • Delivery Rate: • # Messages Mutation Routing