Lexicographic products in metarouting Alexander Gurney & Timothy Griffin University of Cambridge ICNP 2007 – Beijing
Lexicographic choice is important (BGP , OSPF , ...) But it doesn’t always work: not all metrics allow us to find best paths. When precisely can we find globally or locally optimum paths, using lexicographic choice?
lexicographic choice of exterior metric followed by interior metric
delay smaller is better (N, +, ≤ ) 20 + 30 = 50 300 min 400 = 300 (N, min, ≥ ) bigger is better bandwidth
(S, ⊗ , ≤ ) compute path weights compare path weights from link weights p ≤ q ? a ⊗ b ⊗ c ⊗ d = ... p ~ q = same preference p # q = incomparable or we could put functions on arcs or we could have an operator and compose them along a path (like min, max) to choose the best path that makes four possible families of structures
Bandwidth-delay fails (20, 2) (20, 7) (10, 4) (10, 2) choose (20, 9) have (10, 11) over (10, 4) and not (10, 6)
Monotonicity yields globally optimum paths x z y x ≤ y ⇒ z ⊗ x ≤ z ⊗ y
We need general rules × bandwidth delay – not monotonic × delay bandwidth – is monotonic × × × hop-count delay reliability bandwidth – ??? MONOTONIC ( S T ) if and only if ... × lexicographic product
M ( S T ) ⇔ M (S) ∧ M (T) ∧ ( N (S) ∨ C (T)) × z ⊗ x = z ⊗ y ⇒ x = y “one-to-one” or “cancellative” z ⊗ x = z ⊗ y “constant” Proved for total orders: Tôru Saitô 1970
M ( S T ) ⇔ M (S) ∧ M (T) ∧ ( N (S) ∨ C (T)) × z ⊗ x ~ z ⊗ y ⇒ x ~ y ∨ x # y integers with addition paths with concatenation sets with disjoint union probabilities with multiplication BUT NOT integers with min z ⊗ x ~ z ⊗ y choose left operand “everything’s equivalent”
If it looks like this, then it’s monotonic: N × N N C C C × × × × × M M M M M M M (need at least one N or at least one C ) delay × reliability × bandwidth × constant OK! delay × bandwidth × reliability NOT OK
⇒ 0.98 × 0.96 = 0.9408 M N higher probabilities are better reliability × 18 + 30 = 48 M N lower delays are better delay × {15} ∪ {12, 3, 100} = {15, 12, 3, 100} M distinct areas {15} ∪ {3, 15} = {3, 15} use the subset order × timestamp sequence 08:22:01 ⊗ [...] = [08:22:01, ...] M C everything is weighted the same OK, the whole product is monotonic
Scoped product: S Θ T exterior link interior link preserve exterior metric reset interior metric S LEFT (T) × + RIGHT (S) T × a ⊗ b = a a ⊗ b = b
S LEFT (T) × + RIGHT (S) T × C ( LEFT (T)) always N ( RIGHT (S)) always z ⊗ x = z ⊗ y = z z ⊗ x = z ⊗ y ⇒ x = y M ( S Θ T ) ⇔ M (S) ∧ M (T) M ( S T ) ⇔ M (S) ∧ M (T) ∧ ( N (S) ∨ C (T)) ×
Bandwidth Θ delay: OK! delay bandwidth delay bandwidth delay The scoped product is more permissive than the ordinary lexicographic product We can find global optima this way
Local optimality based on results by João Sobrinho I ( S T ) ⇔ I (S) ∨ ( ND (S) ∧ I (T)) × INCREASING x < z ⊗ x NONDECREASING ND ( S T ) ⇔ I (S) ∨ ( ND (S) ∧ ND (T)) × x ≤ z ⊗ x ND × ND × I × × × × ND OK: (need at least one I ) bandwidth-delay yields (20, 7) (20, 2) local optima (10, 4) (10, 2) just fine for path-vector
Summary Lexicographic choice is ubiquitous We have an easier way of telling whether or not a particular product will work This extends to more elaborate situations, like the scoped product Aids exploration of the routing metric design space
What about other ways of combining metrics? EIGRP: use the formula “d + k/b” to compare How do we give structure to this technique? What properties do we need to track? Metarouting aims to do all this and more
Thank you! Any questions?
Recommend
More recommend