O3: Optimized Overlay Based Opportunistic Routing Mi Kyung Han, Apurv Bhartia, Lili Qiu and Eric Rozner The University of Texas at Austin Presented by: Apurv.
Download ReportTranscript O3: Optimized Overlay Based Opportunistic Routing Mi Kyung Han, Apurv Bhartia, Lili Qiu and Eric Rozner The University of Texas at Austin Presented by: Apurv.
O3: Optimized Overlay Based Opportunistic Routing Mi Kyung Han, Apurv Bhartia, Lili Qiu and Eric Rozner The University of Texas at Austin Presented by: Apurv Bhartia [email protected] ACM Mobihoc 2011 1 Wireless Mesh Networks (WMN) Internet Gateway Gateway Router Router WiFi Network Campus LAN 2 Routing Schemes in WMN • Traditional routing – Develops a variety of routing metrics to select the best path • Hop counts, ETX (expected # transmissions), ETT (expected transmission time), RSS, … • Opportunistic routing • Routing with inter-flow coding 3 Motivating Example (1/7) B F1: A→D F2: D→A 50% 50% A D 50% 50% C Routing Scheme No. of transmissions Traditional Routing Opportunistic Routing Inter-flow Coding Opportunistic Routing + Inter-flow Coding 4 Motivating Example (2/7) 2 xmits F1: A→D F2: D→A B 50% 2 xmits 50% A D 50% 2 xmits Routing Scheme Traditional Routing 50% C 2 xmits No. of transmissions 8 Opportunistic Routing Inter-flow Coding Opportunistic Routing + Inter-flow Coding 5 Motivating Example (3/7) B F1: A→D F2: D→A 50% 2 xmits 50% A D 50% 1.33 xmits Routing Scheme Traditional Routing Opportunistic Routing 50% C No. of transmissions 8 6.66 Inter-flow Coding Opportunistic Routing + Inter-flow Coding 6 Motivating Example (4/7) F1: A→D F2: D→A P B 2 xmits P Q 50% A 50% P XOR Q 2 xmits 50% D Q 50% C Routing Scheme Traditional Routing Opportunistic Routing No. of transmissions 8 6.66 Inter-flow Coding Opportunistic Routing + Inter-flow Coding 7 Motivating Example (5/7) B F1: A→D F2: D→A 50% 2 xmits A P P XOR Q 50% D P XOR Q 50% Q 50% P XOR Q C Routing Scheme Traditional Routing Q P No. of transmissions Opportunistic Routing 8 6.66 Inter-flow Coding 6 Opportunistic Routing + Inter-flow Coding 8 Motivating Example (6/7) B F1: A→D F2: D→A 50% 50% A D 50% 1.33 xmits Routing Scheme Traditional Routing 50% 1.33 xmits C No. of transmissions Opportunistic Routing 8 6.66 Inter-flow Coding 6 Opportunistic Routing + Inter-flow Coding 9 Motivating Example (7/7) B F1: A→D F2: D→A 50% 2 xmits A 50% 50% D 50% C Routing Scheme Traditional Routing No. of transmissions Opportunistic Routing 8 6.66 Inter-flow Coding 6 Opportunistic Routing + Inter-flow Coding 4.66 Significant Performance Gains Possible! 10 The Big Question! How to achieve this opportunistic routing + inter-flow coding gain in practice? 11 Related Work • Protocols [Biswas05, Chachulski07] • Optimization frameworks [Lun06, Radunovic2008, Soldo10, Ho06] Opportunistic Routing • Co-ordinate to select forwarders [Koutsonikolas03, Yan08, Zhang08] • Evaluate only on toy topologies • Optimization framework ? • Practical protocol ? Opportunistic Routing + Inter-flow Coding • Protocols [Katti06, Das08, Le10] • Optimization frameworks [Chaporkar07, Scheuermann07] • Coding-aware traditional routing [Sengupta07] Inter-flow Coding 12 Challenges • Strong tension between opportunistic routing and inter-flow coding – Opportunistic routing spreads information across multiple nodes – Inter-flow coding opportunity decreases • Node itself receives less traffic ⇒ limited coding choices • Next-hop receive less traffic ⇒ hard to decode 13 Our Approach • Decouple the strong interactions between opportunistic routing and inter-flow coding • Solution lies in “abstraction” – Overlay Nodes → inter-flow coding • Reduce amount of overlay traffic generated – Underlay Nodes → opportunistic routing • Combat wireless losses ⇒ provide reliable overlay links 14 O3: Understanding by Example Physical Node F1: A→D F2: D→A Underlay Node B Overlay Node Overlay Plane D A C B D A Opportunistic Routing C Underlay Plane 15 O3: Understanding by Example Physical Node Underlay Node B Overlay Node Overlay Plane D A C B D A Opportunistic Routing C Underlay Plane Inter-flow Coding 16 Contributions • Decouple the strong interdependency between opportunistic routing and inter-flow coding • Jointly optimize inter-flow coding, opportunistic routing, and rate limiting • Practical inter-flow coding aware opportunistic routing protocol; O3 • Study benefits of O3 and individual benefit of inter-flow coding, opportunistic routing and rate limiting 17 O3: The Big Picture… Topology details, traffic demands Overlay nodes and overlay paths Overlay-underlay link mapping O3 Optimization Framework Input Output Source Rate Limiting Underlay opportunistic forwarding Overlay node forwarding Protocol Implementation 18 O3: Optimization Framework • Objective: Maximize total network throughput subjected to – Overlay network constraints • Flow conservation constraints – Underlay network constraints • Flow conservation constraints • Opportunistic constraints – Overlay <-> underlay mapping constraints – Wireless interference constraints 19 Overlay Network Constraints (1/2) Σ 𝑒1,𝑒2,𝑛 𝜖𝐶𝑆 𝑥𝑖 𝐶𝑆 𝑘 ≤ Σ𝑘𝜖𝐷 Σ𝑒1𝑒2𝜖𝑃,𝑃𝜖𝑃𝑆 𝑘 𝑧𝑡 𝑒1 𝑃 Flow conservation constraint for native traffic involved in coding Σ 𝑒1,𝑒2,𝑐 𝜖𝐶𝑆 𝑥𝑖 𝐶𝑆 ≤ Σ𝑘𝜖𝐷 Σ𝑒1𝑒2𝜖𝑃,𝑃𝜖𝑃𝑆 𝑘 𝑓 𝑘 𝑃 Flow conservation constraint for coded traffic involved in coding 𝒆𝟏, 𝒆𝟐, 𝒏 : native-received traffic over 𝑒1 that can participate in coding and sent over 𝑒2 𝒆𝟏, 𝒆𝟐, 𝒄 : same as above but with coded-received traffic 𝑪𝑺 : set of coding structures 𝒛𝒌𝒊 (𝑷): traffic transmitted by node 𝑖 for flow 𝑘 over path 𝑃 20 Overlay Network Constraints (2/2) Σ𝑘𝜖𝐷 Σ𝑒1𝑒2𝜖𝑃,𝑃𝜖𝑃𝑆 𝑘 𝑓 𝑘 𝑃 = Σ𝑘𝜖𝐷 Σ𝑒1𝑒2𝜖𝑃,𝑃𝜖𝑃𝑆 𝑘 𝑧𝑖𝑘 𝑃 + Σ 𝑒1,𝑒2,𝑛 𝜖𝐶𝑆 𝑥𝑖 𝐶𝑆 + Σ 𝑒1,𝑒2,𝑐 𝜖𝐶𝑆 𝑥𝑖 𝐶𝑆 𝑘 𝑧𝑠𝑟𝑐 𝑘 𝑃 = 𝑓𝑘 𝑃 ∀ 𝑃 𝜖 𝑃𝑆 𝑘 Flow conservation constraint for total traffic received on 𝑒1 and transmitted on 𝑒2 𝑠𝑟𝑐 𝑓 transmits all traffic as native over all paths Flow conservation on total 𝑧𝑖𝑘 𝑃 native traffic tx by transit node ≤ 𝑓 𝑘 𝑃 𝑤ℎ𝑒𝑟𝑒 𝑖 𝜖 𝑃 − 𝑠𝑟𝑐 𝑘 , 𝑑𝑠𝑡 𝑘 ; 𝑃 𝜖 𝑃𝑆 𝑘 𝒆𝟏, 𝒆𝟐, 𝒏 : native-received traffic over 𝑒1 that can participate in coding and sent over 𝑒2 𝒆𝟏, 𝒆𝟐, 𝒄 : same as above but with coded-received traffic 𝑪𝑺 : set of coding structures 21 𝒛𝒌𝒊 (𝑷): traffic transmitted by node 𝑖 for flow 𝑘 over path 𝑃 Underlay Network Constraints (1/2) Underlay Node 𝒗𝒍 Overlay Node flow1 j i flow1 Underlay Link Overlay Link 𝒑𝒇 (inter-coded or native) 𝑰𝒏𝒇𝒐(𝒗𝒍, 𝒑𝒇, 𝒊 → 𝒋) : information from 𝑖 to 𝑗 for virtual flow (𝑣𝑙, 𝑝𝑓) 𝑻(𝒗𝒍, 𝒑𝒇, 𝒊) : traffic transmitted from node 𝑖 for (𝑣𝑙, 𝑝𝑓) 𝑵𝑹(𝒗𝒍, 𝒑𝒇) : traffic demand of virtual flow (𝑣𝑙, 𝑝𝑓) 𝑺 𝒊, ℵ 𝒊 : probability of successfully transmission to node in ℵ 𝑖 𝑻𝒎𝒂𝒙 𝒑𝒇, 𝒊 : total overlay traffic 𝑖 sends for 𝑝𝑓 over all paths 22 Underlay Network Constraints (2/2) Σ𝑘𝜖𝑖𝑛 𝐼𝑛𝑓𝑜 𝑣𝑙, 𝑝𝑓, 𝑘 → 𝑠𝑟𝑐(𝑣𝑙) = 0 𝐼𝑛𝑓𝑜 𝑣𝑙, 𝑝𝑓, 𝑑𝑒𝑠𝑡 𝑣𝑙 → 𝑘 = 0 𝑖 𝐼𝑛𝑓𝑜 𝑣𝑙, 𝑝𝑓, 𝑘 → 𝑖 ≥ Σ𝑗𝜖𝑜𝑢𝑡 𝑖 𝐼𝑛𝑓𝑜 𝑣𝑙, 𝑝𝑓, 𝑖 → 𝑗 Σ𝑘 𝐼𝑛𝑓𝑜 𝑣𝑙, 𝑝𝑓, 𝑠𝑟𝑐 𝑣𝑙 → 𝑘 ≤ 𝑁𝑅 𝑣𝑙, 𝑝𝑓 Flow Conservation Constraints 𝑆 𝑖, ℵ 𝑖 𝑇 𝑣𝑓, 𝑖 ≥ Σ𝑘𝜖ℵ 𝑖 𝑌 𝑣𝑙, 𝑝𝑓, 𝑖 → 𝑘 Opportunistic 𝑆 𝑖, 𝑘 𝑇𝑚𝑎𝑥 𝑝𝑓, 𝑖 ≥ Σ 𝑖,∗ 𝜖𝑣𝑙 𝑌 𝑣𝑙, 𝑝𝑓, 𝑖 → 𝑘 constraints 𝑆 𝑖, ℵ 𝑖 𝑇𝑚𝑎𝑥 𝑝𝑓, 𝑖 ≥ Σ𝑘𝜖ℵ 𝑖 Σ 𝑖,∗ 𝜖𝑣𝑙 𝐼𝑛𝑓𝑜(𝑣𝑙, 𝑝𝑓, 𝑖 → 𝑘) 𝑰𝒏𝒇𝒐(𝒗𝒍, 𝒑𝒇, 𝒊 → 𝒋) : information from 𝑖 to 𝑗 for virtual flow (𝑣𝑙, 𝑝𝑓) 𝑻(𝒗𝒍, 𝒑𝒇, 𝒊) : traffic transmitted from node 𝑖 for (𝑣𝑙, 𝑝𝑓) 𝑵𝑹(𝒗𝒍, 𝒑𝒇) : traffic demand of virtual flow (𝑣𝑙, 𝑝𝑓) 𝑺 𝒊, ℵ 𝒊 : probability of successfully transmission to node in ℵ 𝑖 𝑻𝒎𝒂𝒙 𝒑𝒇, 𝒊 : total overlay traffic 𝑖 sends for 𝑝𝑓 over all paths 23 Underlay Network Constraints (2/2) f1 j i ℵ 𝒊 f1 k 𝑆 𝑖, ℵ 𝑖 𝑇 𝑣𝑙, 𝑝𝑓, 𝑖 ≥ Σ𝑘𝜖ℵ 𝑖 𝐼𝑛𝑓𝑜 𝑣𝑙, 𝑝𝑓, 𝑖 → 𝑘 Opportunistic 𝑆 𝑖, 𝑘 𝑇𝑚𝑎𝑥 𝑝𝑓, 𝑖 ≥ Σ 𝑖,∗ 𝜖𝑣𝑙 𝐼𝑛𝑓𝑜 𝑣𝑙, 𝑝𝑓, 𝑖 → 𝑘 constraints 𝑆 𝑖, ℵ 𝑖 𝑇𝑚𝑎𝑥 𝑝𝑓, 𝑖 ≥ Σ𝑘𝜖ℵ 𝑖 Σ 𝑖,∗ 𝜖𝑣𝑙 𝐼𝑛𝑓𝑜(𝑣𝑙, 𝑝𝑓, 𝑖 → 𝑘) 𝑰𝒏𝒇𝒐(𝒗𝒍, 𝒑𝒇, 𝒊 → 𝒋) : information from 𝑖 to 𝑗 for virtual flow (𝑣𝑙, 𝑝𝑓) 𝑻(𝒗𝒍, 𝒑𝒇, 𝒊) : traffic transmitted from node 𝑖 for (𝑣𝑙, 𝑝𝑓) 𝑵𝑹(𝒗𝒍, 𝒑𝒇) : traffic demand of virtual flow (𝑣𝑙, 𝑝𝑓) 𝑺 𝒊, ℵ 𝒊 : probability of successfully transmission to node in ℵ 𝑖 𝑻𝒎𝒂𝒙 𝒑𝒇, 𝒊 : total overlay traffic 𝑖 sends for 𝑝𝑓 over all paths 24 Overlay <-> Underlay Constraints 𝑘 𝑁𝑅 𝑣𝑙, 𝑝𝑓 = Σ𝑣𝑙𝜖𝑃 𝑧𝑠𝑟𝑐 𝑣𝑙 (𝑃) 𝑁𝑅 𝑣𝑙, 𝑝𝑓 = Σ𝑣𝑙𝜖𝑃 𝑥𝑠𝑟𝑐 𝑣𝑙 𝐶𝑆 𝑁𝑅 𝑣𝑙, 𝑝𝑓 = Σ𝑘𝜖𝑖𝑛 𝑑𝑒𝑠𝑡 𝑣𝑙 𝐼𝑛𝑓𝑜(𝑣𝑙, 𝑝𝑓, 𝑘 → 𝑑𝑒𝑠𝑡 𝑣𝑙 ) • The overlay traffic demand is imposed on the underlay • Native traffic • Coded traffic • The underlay honors the demand imposed by the overlay 𝑴𝑻 : total traffic from node 𝑖 𝑰𝒏𝒇𝒐(𝒗𝒍, 𝒑𝒇, 𝒊 → 𝒋) : information from 𝑖 to 𝑗 for virtual flow (𝑣𝑙, 𝑝𝑓) 𝑻(𝒗𝒍, 𝒑𝒇, 𝒊) : traffic transmitted from node 𝑖 for (𝑣𝑙, 𝑝𝑓) 𝑵𝑹(𝒗𝒍, 𝒑𝒇) : traffic demand of virtual flow (𝑣𝑙, 𝑝𝑓) 𝑻𝒎𝒂𝒙 𝒑𝒇, 𝒊 : total overlay traffic 𝑖 sends for 𝑝𝑓 over all paths 25 Interference Constraints • Interfering transmitters should not tx together • Overlay nodes broadcast over multiple overlay links simultaneously • Underlay nodes forward for a specific overlay link • Independent set constraints: nodes belonging to an independent set can be active simultaneously [Jain05] 26 O3: Revisiting the Big Picture... Topology details, traffic demands Overlay nodes and overlay paths Overlay-underlay link mapping O3 Optimization Framework Input Output Source Rate Limiting Underlay opportunistic forwarding Overlay node forwarding Protocol Implementation 27 Protocol Implementation • Packet encoding and decoding algorithm • Flow source and destination • Forwarders 28 Packet Encoding and Decoding • 𝑠𝑟𝑐 𝑓 divides packets into batches of size K – Intra-coded packet • Random linear combination of all packets from a batch – Inter-coded packet • Random linear combination of 2 different flows • Destination performs Gaussian elimination R1 P1 A P2 αP1+ ßP2 γP1+ δP2 λP + ξQ λP11++μP μP22 + νQνQ 1 +1ξQ2 2 κP1+ θP2 + ρQ2 κP1+ θP2 + ζQ1ζQ + 1ρQ 2 B Q1 Q2 R2 α‘Q1+ ß’Q2 λ'P λ’P11++μ’P μ’P22 + ν’Q νQ1 1++ξ’Q ξ’Q2 2 γ‘Q1+ δ’Q2 κ'P ζ’Q ρ’Q κ'P11++θ’P θ’P22 + ζ’Q ρ’Q 1+ 1+ 22 29 Flow Source and Destination • Flow Source, 𝑠𝑟𝑐(𝑓) – Never performs inter-flow coding – Includes all overlay paths the pkt may traverse – Multiple outstanding small-size batches • Support inter-flow coding • Reduce wait-time overhead • Flow Destination, 𝑑𝑠𝑡(𝑓) – Generates ACK when entire batch is rx or threshold number of packets rx since last ACK 30 Forwarder Operation • Which flow-batch combination to forward? • Credits → number of transmissions to generate [MORE] – Flow credits: tx rate for flow on a given overlay path – Batch credits: tx rate for batch within a given flow • Pick flow with max flow credit • Pick batch with max batch credit within the flow! 31 Evaluation Methodology • Qualnet Simulation for both (11a and 11b) • Protocols compared w/ O3 – Shortest-path routing (SPP) w/ ETX – SPP w/ rate limit (SPP-RL) – COPE; state of art inter-flow coding protocol – COPE w/ rate limit (COPE-RL) – MORE; state of art opportunistic routing protocol – O3-Intra (O3 w/o inter-flow coding) • Different topologies studied – Canonical, grid, random, testbeds .. 32 Canonical Topologies 50% A 100% B 2-hop 50% 100% C B 50% A D 50% C 50% Diamond (Mbps) O3 O3-Intra MORE COPE-RL COPE SPP-RL SPP 2-hop 3.45 2.98 2.78 2.95 2.84 2.56 1.78 Diamond 1.50 1.11 0.91 0.54 0.47 0.47 0.40 O3 significantly outperforms all the other protocols! 33 Synthetic Topologies (802.11a) 3 2.2 2 2.5 1.8 High Loss 1.6 2 1.4 1.2 1.5 Throughput (Mbps) 1 1 Throughput 0.8 (Mbps) 0.6 Low Loss 0.4 0.5 0.2 2 4 6 8 Number of flows 12 16 2 4 6 8 12 Number of flows 16 • 25 nodes placed in a random setting • UDP, bi-directional flows selected randomly • Loss distributed uniformly 0-30% (Low Loss) and 0-80% (High 34 Loss) Synthetic Topologies (802.11a) 3 2.2 2 2.5 1.8 High Loss 1.6 2 1.4 1.2 1.5 Throughput (Mbps) 1 1 Throughput 0.8 (Mbps) 0.6 Low Loss 0.4 0.5 0.2 2 4 6 8 Number of flows 12 16 2 4 6 8 12 Number of flows 16 • O3 outperforms state-of-art protocols in all scenarios • Rate limiting is important: O3-Intra > MORE (18-286%), COPE-RL > COPE (6-239%), SPP-RL > SPP (45-211%) • High loss rate: Benefits of inter-flow coding decrease, OR increase35 Testbed Topologies 0.5 0.45 0.4 0.35 0.3 0.25 0.2 Throughput 0.15 (Mbps) 0.1 0.05 0 2 4 3.5 3 2.5 2 Roofnet (11b) 1.5 Throughput 1 (Mbps) 0.5 0 6 8 12 16 2 Number of flows UW (11a) 4 6 8 Number of flows 10 • Testbed traces depicting realistic scenarios • Random bi-directional flows • Roofnet (MIT) testbed – 35 nodes, UW testbed – 19 nodes 36 Testbed Topologies 0.5 0.45 0.4 0.35 0.3 0.25 0.2 Throughput 0.15 (Mbps) 0.1 0.05 0 2 4 3.5 3 2.5 2 Roofnet (11b) 1.5 Throughput 1 (Mbps) 0.5 0 6 8 12 16 2 Number of flows UW (11a) 4 6 8 Number of flows 10 • O3 > O3-Intra (14-30%), COPE-RL (11-83%), SPP-RL (21- 46%), MORE (48-1000%), COPE (41-6100%), SPP (87-32600%) • O3-Intra > MORE ( 15-696%), COPE-RL > COPE (1-617%). 37 Future Work • Plan to explore other wireless applications where ‘overlay abstraction’ can be used • Solve linear constraints incrementally on slight network changes • Solve optimization based on decentralized information to enhance scalability 38 Conclusion • Optimize inter-flow coding in context of opportunistic routing • Jointly optimize opportunistic routing, rate limiting and inter-flow coding • Practical network protocol that achieves it • Reveal relative benefit of different schemes 39 Thank You! Questions? [email protected] 40 Effects of Network Density O3 0.9 0.8 0.7 0.6 0.5 Throughput 0.4 (Mbps) 0.3 0.2 0.1 0 O3-Intra MORE COPE COPE-RL SPP SPP-RL 1000x1000 1750x1750 2000x2000 3250x3250 Area (sq. m) 8 flows, high loss O3 out-performs the other protocols across all network densities 41 Complexity Analysis • Inputs – traffic demands, 𝑂(𝐹) – link loss rates, 𝑂(𝐸) and – conflict graph, 𝑂 𝐸 2 • Outputs – Overlay credits, 𝑂(𝑂𝑁. 𝐹. 𝑃) – Underlay credits, 𝑂 𝑁. 𝐷. 𝐹. 𝑂𝐸 + 𝑂(𝑁. 𝐷. 𝑂𝐸 2 ) 42 Optimization Objective • Maximizing Total throughput 𝑘 Σ𝑘𝜖𝐷 Σ𝑃𝜖𝑃𝑆 𝑘 𝑓 𝑃 where 𝐷: set of traffic demands 𝑓 𝑘 𝑃 : 𝑘-th flow’s throughput over path 𝑃 𝑃𝑆 𝑘 : set of paths used by 𝑘-th flow Alternatively, we can also support other objectives, like proportional fairness, etc. 43 Interference Constraints 𝑀𝑇𝑖 = Σ𝑝𝑓 𝑀𝑎𝑥𝑇(𝑣𝑙, 𝑝𝑓, 𝑖); 𝑖: 𝑜𝑣𝑒𝑟𝑙𝑎𝑦 𝑀𝑇𝑖 = Σ𝑝𝑓 Σ𝑣𝑙 𝑇 𝑣𝑙, 𝑝𝑓, 𝑖 ; 𝑖: 𝑢𝑛𝑑𝑒𝑟𝑙𝑎𝑦 𝑀𝑇𝑖 ≤ 𝐶𝑎𝑝𝑖 Σ𝑘𝜖𝐼𝑖 𝜆𝑘 Σ 𝑘 𝜆𝑘 ≤ 1 • Overlay nodes broadcast over multiple overlay links simultaneously • Underlay nodes forward for a specific overlay link • Independent set constraints: nodes belonging to an independent set can be active simultaneously 𝑴𝑻 : total traffic from node 𝑖 𝑻(𝒗𝒍, 𝒑𝒇, 𝒊) : traffic transmitted from node 𝑖 for (𝑣𝑙, 𝑝𝑓) 𝑵𝑹(𝒗𝒍, 𝒑𝒇) : traffic demand of virtual flow (𝑣𝑙, 𝑝𝑓) 𝑴𝒂𝒙𝑻 𝒑𝒇, 𝒊 : total overlay traffic 𝑖 sends for 𝑝𝑓 over all paths 44 Using Credits in O3 (1/2) • Underlay Credits Fraction of useful information contained in each transmission from upstream node 𝐶 × 𝑅 Amount of information received 𝐼𝑛𝑓𝑜 𝑣𝑙, 𝑝𝑓, 𝑗, 𝑖 𝐶= 𝑇𝐶 𝑣𝑙, 𝑝𝑓, 𝑗 ∗ (1 − 𝑙𝑜𝑠𝑠 𝑗, 𝑖 ) Amount of traffic received Redundancy ‘i’ should include to compensate loss to it’s forwarders 𝑇 𝑣𝑙, 𝑝𝑓, 𝑖 𝑅= Σ𝑘 𝐼𝑛𝑓𝑜 𝑣𝑙, 𝑝𝑓, 𝑖, 𝑘 Desirable sending rate Total information successfully delivered to all forwarders 45 Using Credits in O3 (2/2) • Underlay Credits 𝐶 × 𝑅 𝐶 = 𝐼𝑛𝑓𝑜(𝑣𝑙, 𝑝𝑓, 𝑗, 𝑖)/(𝑇𝐶 𝑣𝑙, 𝑝𝑓, 𝑗 ∗ (1 − 𝑙𝑜𝑠𝑠 𝑗, 𝑖 ) 𝑇 𝑣𝑙, 𝑝𝑓, 𝑖 𝑅= Σ𝑘 𝐼𝑛𝑓𝑜 𝑣𝑙, 𝑝𝑓, 𝑖, 𝑘 • Overlay Credits – On receiving an native packet 𝑝𝑓 𝑇 𝑣𝑙, 𝑝𝑓, 𝑖 ∗ 𝑧𝑖 Σ𝑃 𝑃 𝑝𝑓 𝑖:𝑣𝑙𝜖𝑃𝑖 𝑧𝑖 (𝑃𝑖) – On receiving an inter-coded packet 𝑝𝑓 𝑧𝑠𝑟𝑐 𝑝𝑓 𝑝𝑓 𝑃 − 𝑧𝑖 𝑃 ∗ 𝑁𝑆𝑅(𝑖, 𝑣𝑙) 46