Time-Constrained Flooding A.Mehta and E. Wagner. Time-Constrained Flooding: Problem Definition ●Devise an algorithm that provides a subgraph containing.

Slides:



Advertisements
Similar presentations
Lecture 7. Network Flows We consider a network with directed edges. Every edge has a capacity. If there is an edge from i to j, there is an edge from.
Advertisements

Single Source Shortest Paths
§3 Shortest Path Algorithms Given a digraph G = ( V, E ), and a cost function c( e ) for e  E( G ). The length of a path P from source to destination.
Lecture 5 Graph Theory. Graphs Graphs are the most useful model with computer science such as logical design, formal languages, communication network,
1 SOFSEM 2007 Weighted Nearest Neighbor Algorithms for the Graph Exploration Problem on Cycles Eiji Miyano Kyushu Institute of Technology, Japan Joint.
Traveling Salesperson Problem
Weighted graphs Example Consider the following graph, where nodes represent cities, and edges show if there is a direct flight between each pair of cities.
DIJKSTRA’s Algorithm. Definition fwd search Find the shortest paths from a given SOURCE node to ALL other nodes, by developing the paths in order of increasing.
Multicast in Wireless Mesh Network Xuan (William) Zhang Xun Shi.
Chapter 15 Basic Asynchronous Network Algorithms
1 Discrete Structures & Algorithms Graphs and Trees: III EECE 320.
1 EE5900 Advanced Embedded System For Smart Infrastructure Static Scheduling.
1 Maximum flow sender receiver Capacity constraint Lecture 6: Jan 25.
§2 Topological Sort 〖 Example 〗 Courses needed for a computer science degree at a hypothetical university How shall we convert this list into a graph?
Minimum Spanning Trees
Optimization of Pearl’s Method of Conditioning and Greedy-Like Approximation Algorithm for the Vertex Feedback Set Problem Authors: Ann Becker and Dan.
The Out of Kilter Algorithm in Introduction The out of kilter algorithm is an example of a primal-dual algorithm. It works on both the primal.
CS 311 Graph Algorithms. Definitions A Graph G = (V, E) where V is a set of vertices and E is a set of edges, An edge is a pair (u,v) where u,v  V. If.
3 -1 Chapter 3 The Greedy Method 3 -2 The greedy method Suppose that a problem can be solved by a sequence of decisions. The greedy method has that each.
Maximum Flows Lecture 4: Jan 19. Network transmission Given a directed graph G A source node s A sink node t Goal: To send as much information from s.
The Byzantine Generals Strike Again Danny Dolev. Introduction We’ll build on the LSP presentation. Prove a necessary and sufficient condition on the network.
1 Shortest Path Algorithms. 2 Routing Algorithms Shortest path routing What is a shortest path? –Minimum number of hops? –Minimum distance? There is a.
Minimum Spanning Trees. Subgraph A graph G is a subgraph of graph H if –The vertices of G are a subset of the vertices of H, and –The edges of G are a.
15.082J, 6.855J, and ESD.78J September 21, 2010 Eulerian Walks Flow Decomposition and Transformations.
Graphs – Shortest Path (Weighted Graph) ORD DFW SFO LAX
May 5, 2015Applied Discrete Mathematics Week 13: Boolean Algebra 1 Dijkstra’s Algorithm procedure Dijkstra(G: weighted connected simple graph with vertices.
CS 146: Data Structures and Algorithms July 21 Class Meeting
© The McGraw-Hill Companies, Inc., Chapter 3 The Greedy Method.
Chapter 9 – Graphs A graph G=(V,E) – vertices and edges
1 Chapter 9 Graph Algorithms Real-life graph problems Algorithms for some graph problems Choice of data structures for graph problems.
and 6.855J The Capacity Scaling Algorithm.
COSC 2007 Data Structures II Chapter 14 Graphs III.
Minimum Spanning Trees CSE 2320 – Algorithms and Data Structures Vassilis Athitsos University of Texas at Arlington 1.
Spanning Trees Introduction to Spanning Trees AQR MRS. BANKS Original Source: Prof. Roger Crawfis from Ohio State University.
TCP Traffic and Congestion Control in ATM Networks
Network Layer4-1 Chapter 4: Network Layer r 4. 1 Introduction r 4.2 Virtual circuit and datagram networks r 4.3 What’s inside a router r 4.4 IP: Internet.
Diverse Routing Algorithms
Fundamental Data Structures and Algorithms (Spring ’05) Recitation Notes: Graphs Slides prepared by Uri Dekel, Based on recitation.
Minimal Spanning Tree Problems in What is a minimal spanning tree An MST is a tree (set of edges) that connects all nodes in a graph, using.
1 Network Models Transportation Problem (TP) Distributing any commodity from any group of supply centers, called sources, to any group of receiving.
Mobile and Wireless Computing Institute for Computer Science, University of Freiburg Western Australian Interactive Virtual Environments Centre (IVEC)
Graphs Part II Lecture 7. Lecture Objectives  Topological Sort  Spanning Tree  Minimum Spanning Tree  Shortest Path.
and 6.855J March 6, 2003 Maximum Flows 2. 2 Network Reliability u Communication Network u What is the maximum number of arc disjoint paths from.
A Framework for Reliable Routing in Mobile Ad Hoc Networks Zhenqiang Ye Srikanth V. Krishnamurthy Satish K. Tripathi.
Graphs Upon completion you will be able to:
1 EE5900 Advanced Embedded System For Smart Infrastructure Static Scheduling.
Spring Routing: Part I Section 4.2 Outline Algorithms Scalability.
Graphs Definition: a graph is an abstract representation of a set of objects where some pairs of the objects are connected by links. The interconnected.
NOTE: To change the image on this slide, select the picture and delete it. Then click the Pictures icon in the placeholder to insert your own image. Fast.
1 Data Structures and Algorithms Graphs. 2 Graphs Basic Definitions Paths and Cycles Connectivity Other Properties Representation Examples of Graph Algorithms:
Shortest Path from G to C Using Dijkstra’s Algorithm
CSC317 Shortest path algorithms
Dijkstra’s shortest path Algorithm
Network Layer.
Intra-Domain Routing Jacob Strauss September 14, 2006.
Disjoint Path Routing Algorithms
More Graph Algorithms.
Spanning Trees.
Instructor: Shengyu Zhang
CSE 373 Data Structures and Algorithms
Introduction Wireless Ad-Hoc Network
Advanced Computer Networks
Algorithms (2IL15) – Lecture 7
EE5900 Advanced Embedded System For Smart Infrastructure
Communication Networks
CSE 417: Algorithms and Computational Complexity
Chapter 14 Graphs © 2011 Pearson Addison-Wesley. All rights reserved.
Agenda Review Lecture Content: Shortest Path Algorithm
Maximum Flow Problems in 2005.
INTRODUCTION A graph G=(V,E) consists of a finite non empty set of vertices V , and a finite set of edges E which connect pairs of vertices .
Presentation transcript:

Time-Constrained Flooding A.Mehta and E. Wagner

Time-Constrained Flooding: Problem Definition ●Devise an algorithm that provides a subgraph containing all possible paths from source to destination with total edge latency at most L, whose nodes are all on some simple path from source to destination. An example input.

Two-Step Algorithm ●Phase 1: Eliminate all edges that are not on paths within maximum total latency L. ●Phase 2: Remove all nodes that are not on at least one simple path from source to destination within the time constraint. ●Why do we only care about nodes on simple paths? ○ A given node will only send packets once. If it receives the same packet twice, it will not resend it. Since non-simple paths reuse a node, they do not add reliability.

Algorithm - Phase 1 ● Step 1: Run Dijkstra’s algorithm once from the source and once from the destination to get the shortest distance to the source (d s ) and to the destination (d d ) for each node in the graph. Fig : After Step 1.

Algorithm - Phase 1 ● Step 2: For each edge e in the graph check if the following condition is true: ●If so, the edge is included. Otherwise, it is not. Fig : Output after Step 2 for Budget = 5.

Algorithm ● Now we have all edges that meet our time constraint. ● However, these may include cycles that do not increase reliability. Fig : Output after Steps 1 and 2 includes a cycle.

Algorithm - Phase 2 ● Step 1: Add a dummy node (D) to the graph with zero- latency edges to the source and destination. Add all the nodes in the graph except the source and the destination to a list of nodes called list_eval. Fig : Output after Steps 1 and 2 includes a cycle. D

Algorithm - Phase 2 ● Step 2: For each node(n) in list_eval, use Suurballe’s algorithm to find 2 node- disjoint paths whose total latency is minimized from n to d. 2 such paths may not exist. ● If 2 node disjoint paths do not exist, remove the node from the final graph and continue from Step 2. Otherwise go to Step 3. Fig : Step 2 for node 4. D

Algorithm - Phase 2 ● Step 2: For each node(n) in list_eval, use Suurballe’s algorithm to find 2 node- disjoint paths whose total latency is minimized from n to d. 2 such paths may not exist. ● If 2 node disjoint paths do not exist, remove the node from the final graph and continue from Step 2. Otherwise go to Step 3. Fig : Step 2 for node 2. D

Algorithm - Phase 2 ● Step 3: Check if the total latency of the paths obtained in Step 2, which is necessarily minimal, is within the time constraint. ● If so, remove all the nodes on either path from list_eval, as these are all known to be on a valid simple path from source to destination. Otherwise, remove the node from the final graph. Repeat from Step 2 until list_eval is empty. Fig : Step 2 for node 2. D

Algorithm - Phase 2 ● Step 3: Check if the total latency of the paths obtained in Step 2, which is necessarily minimal, is within the time constraint. ● If so, remove all the nodes on either path from list_eval, as these are all known to be on a valid simple path from source to destination. Otherwise, remove the node from the final graph. Repeat from Step 2 until list_eval is empty. Fig : Final Output for Budget = 5.

Example Graph: Practical Topology With source node 2, destination node 4, and a budget b = ms, no paths are possible.

Example Graph: Practical Topology At b = 35 ms, a single path appears.

Example Graph: Practical Topology No further changes until b = 36 ms.

Example Graph: Practical Topology At b = ms.

Example Graph: Practical Topology At b = ms.

Example Graph: Practical Topology At b = ms.

Example Graph: Practical Topology At b = 38 ms.

Example Graph: Practical Topology At b = 38.5 ms.

Example Graph: Practical Topology At b = ms.

Example Graph: Practical Topology At b = ms.

Example Graph: Loop Graph This graph will show the full power of algorithm that removes nodes only on non- simple paths from the source, node 1, to the destination, node 3.

Example Graph: Loop Graph The first path appears at b = 2.

Example Graph: Loop Graph At b = 3.

Example Graph: Loop Graph The first node removals happen at b = 4. They are shown in red. The bottleneck at node 2 precludes the existence of 2 node-disjoint paths.

Example Graph: Loop Graph An additional edge is within the time constraint at b = 5, but is removed due to the same bottleneck.

Example Graph: Loop Graph At b = 6, the edge between 4 and 3 is now within the budget on the path , so there is no longer a bottleneck at node 2 for node 4.

Example Graph: Loop Graph At b = 7, the path is now in the budget, so all nodes are now on some simple path from source to destination within the budget.

Demonstration: Subgraph Reachability ● When increased latency budget results in more edges in the subgraph, more nodes can fail without breaking s-t reachability. ● Small latency budget increases can result in large increases in the number of edges within the time constraint. Live demo on practical network topology from west coast to JHU.

Demonstration: Subgraph Reachability

b 1 = ms b 2 = ms b 3 = 39.0 ms b 4 = ms

Applications of Time-Constrained Flooding ● Using packets sent over time-constrained flooding graphs, we can get an upper bound on reliability for a given source, destination, and time budget. ● The smallest latency for which a path is found with this algorithm can be used to determine the minimum bandwidth cost and the resulting reliability for a given source and destination. ● Thus for a given s-t pair, we can get a lower bound on cost and latency and find the associated reliability, and an upper bound on reliability at a given budget.