exploration of path space using sensor network geometry
DESCRIPTION
Exploration of Path Space using Sensor Network Geometry. Ruirui Jiang, Xiaomeng Ban, Mayank Goswami , Wei Zeng , Jie Gao , Xianfeng David Gu Stony Brook University. Prob1: Scalable Multipath Routing. Deliver data using multiple (disjoint) paths Improving throughput Lower delay - PowerPoint PPT PresentationTRANSCRIPT
Exploration of Path Space using Sensor Network Geometry
Ruirui Jiang, Xiaomeng Ban, Mayank Goswami, Wei Zeng, Jie Gao, Xianfeng David Gu
Stony Brook University
Prob1: Scalable Multipath Routing
• Deliver data using multiple (disjoint) paths– Improving throughput– Lower delay– Improving data security• Encode data and send different segments along
different paths
• Q: How to generate multiple paths?
s
t
k Node Disjoint Paths
• Centralized solutions– Flow algorithm, node disjoint paths, O(n3)
• Distributed solutions– Only exist for 2 node disjoint paths.– Relaxation: braided multi-paths.– High discovery costs.
Prob2: Fast Recovery from Failures
• Sudden node or link failure– Link quality fluctuates.– Unpredictable inference, e.g., hidden terminal
problem– 802.15.4 networks interfering with WiFi [MT 08]– Jamming attacks
• Q: how to quickly generate an alternative path?
R. Musaloiu-E, A. Terzis, Minimising the effect of WiFi interference in 802.15.4 wireless sensor networks, International Journal of Sensor Networks, 3(1):43-54, 2008.
Prior Work
• IP fast re-routing schemes– Avoid loop?
• Path splicing [SIGCOMM 08]– Perturb edge weights– Compute multiple shortest path trees for each
root– Switch to another SPT under in-transit failures– Storage requirement is too high for sensornet.
Motiwala, Elmore, Feamster, Vempala, Path splicing, SIGCOMM Comput. Commun,. Rev., 2008
Understanding of the Path Space
• Where are the paths connecting source and destination?
• How to quickly find them?• How to minimize storage/computation costs?
• Multipath routing using greedy routing?– Find an embedding, route to the neighbor closer
to destination.
Our Solution: Using Circular Domains• Our previous work: deform a network into
circular domain [IPSN’09].• Greedy routing guarantees delivery.
Circular Domains are not Unique• Embedding into a circular domain is not unique,
they differ by a Möbius transformation.
8
Main Idea: Use Different Metrics
• Find multiple paths:– Embed to a circular domain D.– Apply Mӧbius transformation f on D: f(D)– Find greedy routing in f(D).– Goal: find disjoint paths.
• Recover from link failure:– Apply a Mӧbius transformation f on D: f(D)– Goal: greedy routing on f(D) does not use the
broken link.
Outline
1. Mӧbius transformation2. Explain the idea in a continuous domain– Theoretical guarantee
3. Implementation issues on a discrete network4. Simulation results
11
Möbius Transform
• Möbius transform– Conformal: maps circles to circles– Four basic elements: translation, dilation, rotation,
inversions.
a, b, c, d are 4 complex numbers, ad ≠ bc
Outline
1. Mӧbius transformation2. Explain the idea in a continuous domain– Theoretical guarantee
3. Implementation issues on a discrete network4. Simulation results
Greedy Paths in Different Circular Domains
• Generate disjoint paths using different transformations
s ts
tf1
Greedy Paths in Different Circular Domains
• Generate disjoint paths using different transformations
s t
s
t
f2
Isn’t This Just Routing along Arcs?
• One can greedily route along an arc. [NN, 03]– But there is no guarantee of delivery!
• Our method follows an arc, which is actually the greedy route in another circular domain.– Delivery is always guaranteed.
Nath and Niculescu, Routing on a curve, SIGCOMM Comput. Commun. Rev., 2003.
Networks with Holes
• When a circular arc route hits a hole, it is diverted along the boundary– Two paths can converge on the boundary
s t
Finding Disjoint Paths
• Each hole defines two angle ranges• Inside each range there can only be one path• Goal: find a max number of paths.
Finding Disjoint Paths
– Project all intervals on a unit circle– Order the endpoints angularly.– Adjacent endpoints define canonical segments.– Remove canonical segments NOT covered by any
range
Finding Disjoint Paths
• Greedy algorithm:– For each segment as the starting segment, – Choose it, move clockwise.– Choose the first one not in conflict– Ex: choose 5.
Finding Disjoint Paths
• Greedy algorithm:– Different starting segments give different solns.– Take the solution with maximum # segments
• Theorem: GREEDY is optimal.
Outline
1. Mӧbius transformation2. Explain the idea in a continuous domain– Theoretical guarantee
3. Implementation issues on a discrete network4. Simulation results
Preprocessing Into a Circular Domain
• Embed the network into a circular domain– Follows [IPSN’09]– Compute a triangulation locally– Non-triangular faces are “holes”– Nodes locally compute curvature– Modify edge lengths iteratively – When converge, obtain the requested embedding
• Distributed, gossip-style algorithm.
How to compute a Mӧbius Transformation?
• Uniquely determined by mapping 3 points z1, z2, z3, to w1, w2, w3, respectively.
• I.e., mapping one circle to another circle
How to compute a Mӧbius Transformation?
• New metric can be locally determined.
s ts
tf1
p
p
Generate Multiple Paths
• No holes: – Evenly spread the tangent vectors of the paths at
source and dest.– Heuristic– Bounded degree.
• With holes: – Know: locations & sizes of holes– Very limited global info
s t
How to Apply the Mӧbius Transformation in Routing?
• A packet carries the four parameters a, b, c, d as a matrix.
• Composition of 2 transformations is simply matrix multiplication
Recovery from Temporary Link Failure
• We compute a Möbius transformation– S.t. the broken link is NOT on the greedy path. – Make big jumps
27
Recovery from Temporary Link Failure
• Map the “live” neighbor p to be on the straight path – On-demand recovery of in-transit failures.– Möbius transform attached to packet.
28
s t s
tf1
p p
Simulation Results
• Relatively dense network: – 1K nodes, avg deg ≈ 20.
• Multi-path routing– Compare with centralized flow algorithm.– Vary parameter m: # paths we seek.– Check # disjoint paths we got– Compare with the OPT.
Multipath Routing Results
Max # disjoint paths
Simulation Results for Recovery from Failures
• Regional failure– Inside a geometric region: prob[failure] = p1.
– Outside a geometric region: prob[failure] = p2.
– p1> p2.
• Compare with– Greedy routing with geographical coordinates– Greedy routing in a circular domain– Recovery with Möbius transformation– Recovery with random walk.
Simulation Results for Recovery from Failures
• Circular + Möbius > Circular + RandWalk > Circular >> Geographical + RandWalk ≈ Geographical
p1=0.8 p2=0
Random walk makes local, random steps and is likely trapped inside the failure region
Simulation Results for Recovery from Failures
• Success rate: Circular + Möbius > Circular + RandWalk > Circular
Circular + Möbius
Circular + RandWalk Circular p1 p2
Consistently better by making big jumps
Conclusion and Future Work
• Regulating a sensor network shape– Helps to explore path space with limited global
info
• Open problem: bridging the gap– Provable results in the continuous space– Heuristic methods in the discrete network
Questions & Comments?