Y. WuHotNets-XII (Nov 22, 2013)1 Answering Why-Not Queries in Software-Defined Networks with Negative Provenance Yang Wu* Andreas Haeberlen* Wenchao Zhou.

Slides:



Advertisements
Similar presentations
© 2014 A. Haeberlen, Z. Ives CIS 455/555: Internet and Web Systems 1 University of Pennsylvania Indexing February 5, 2014.
Advertisements

Semantic Data Caching and Replacement. Outline Motivation Client Caching Architecture Model of Semantic Caching Simulations and Results Conclusion and.
Delta Debugging and Model Checkers for fault localization
SIMPLE-fying Middlebox Policy Enforcement Using SDN
Frenetic: A High-Level Language for OpenFlow Networks Nate Foster, Rob Harrison, Matthew L. Meola, Michael J. Freedman, Jennifer Rexford, David Walker.
CloudWatcher: Network Security Monitoring Using OpenFlow in Dynamic Cloud Networks or: How to Provide Security Monitoring as a Service in Clouds? Seungwon.
Diagnosing Missing Events in Distributed Systems with Negative Provenance Yang Wu* Mingchen Zhao* Andreas Haeberlen* Wenchao Zhou + Boon Thau Loo* * University.
Slick: A control plane for middleboxes Bilal Anwer, Theophilus Benson, Dave Levin, Nick Feamster, Jennifer Rexford Supported by DARPA through the U.S.
A SOFT Way for OpenFlow Interoperability Testing Maciej Kuźniar, Peter Perešini, Marco Canini†, Daniele Venzano, Dejan Kostić‡ EPFL †TU Berlin/T-Labs ‡IMDEA.
A Simple Network Analogy. Components of our Imaginary Mail Network  Assistant  Warehouses of documents stored in folders  Warehouse address operators.
NP-Complete William Strickland COT4810 Spring 2008 February 7, 2008.
VeriCon: Towards Verifying Controller Programs in SDNs (PLDI 2014) Thomas Ball, Nikolaj Bjorner, Aaron Gember, Shachar Itzhaky, Aleksandr Karbyshev, Mooly.
Troubleshooting Inter-PLC Communication Latency Problem and Understanding Allen-Bradley Producer- Consumer Model Preliminary Report Johnny Tang 2/7/2005.
Eliminating Stack Overflow by Abstract Interpretation John Regehr Alastair Reid Kirk Webb University of Utah.
Finding the Weakest Characterization of Erroneous Inputs Dzintars Avots and Benjamin Livshits.
Implementing ISA Server Caching. Caching Overview ISA Server supports caching as a way to improve the speed of retrieving information from the Internet.
CSC458/2209 PA1 Simple Router Based on slides by: Antonin Seyed Amir Hejazi 19/09/2014 CSC458/ Computer Networks, University of Toronto.
Diagnosing Missing Events in Distributed Systems with Negative Provenance Yang Wu* Mingchen Zhao* Andreas Haeberlen* Wenchao Zhou + Boon Thau Loo* * University.
Languages for Software-Defined Networks Nate Foster, Arjun Guha, Mark Reitblatt, and Alec Story, Cornell University Michael J. Freedman, Naga Praveen Katta,
Presenter: Chi-Hung Lu 1. Problems Distributed applications are hard to validate Distribution of application state across many distinct execution environments.
Towards Constraint-based Explanations for Answers and Non-Answers Boris Glavic Illinois Institute of Technology Sean Riddle Athenahealth Corporation Sven.
Cristian Gherghina Joint work with: Wei-Ngan Chin, Razvan Voicu, Quang Loc Le Florin Craciun, Shengchao Qin TexPoint fonts used in EMF. Read the TexPoint.
Discussion and conclusion The OGC SOS describes a global standard for storing and recalling sensor data and the associated metadata. The standard covers.
 Zhichun Li  The Robust and Secure Systems group at NEC Research Labs  Northwestern University  Tsinghua University 2.
© Janice Regan, CMPT 128, Jan CMPT 128 Introduction to Computing Science for Engineering Students Creating a program.
CSU 670 Review Fall Software Development Application area: robotic games based on combinatorial maximization problems. Software development is about.
Software-Defined Networks Jennifer Rexford Princeton University.
Formal Modeling of an Openflow Switch using Alloy Natali Ruchansky and Davide Proserpio.
Sparse Coding for Specification Mining and Error Localization Runtime Verification September 26, 2012 Wenchao Li, Sanjit A. Seshia University of California.
Where is the Debugger for my Software-Defined Network? [ndb]
VeriFlow: Verifying Network-Wide Invariants in Real Time
Module 10: Monitoring ISA Server Overview Monitoring Overview Configuring Alerts Configuring Session Monitoring Configuring Logging Configuring.
Chapter 2: Operating-System Structures. 2.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Chapter 2: Operating-System Structures Operating.
Approximate Frequency Counts over Data Streams Loo Kin Kong 4 th Oct., 2002.
ICFlash Web-based Network Measurement
Transformation of Timed Automata into Mixed Integer Linear Programs Sebastian Panek.
Extending SDN to Handle Dynamic Middlebox Actions via FlowTags (Full version to appear in NSDI’14) Seyed K. Fayazbakhsh, Luis Chiang, Vyas Sekar, Minlan.
Module 9: Implementing Caching. Overview Caching Overview Configuring General Cache Properties Configuring Cache Rules Configuring Content Download Jobs.
REED: Robust, Efficient Filtering and Event Detection in Sensor Networks Daniel Abadi, Samuel Madden, Wolfgang Lindner MIT United States VLDB 2005.
Automated Bandwidth Allocation Problems in Data Centers Yifei Yuan, Anduo Wang, Rajeev Alur, Boon Thau Loo University of Pennsylvania.
The Volcano Optimizer Generator Extensibility and Efficient Search.
ICP and the Squid Web Cache Duanc Wessels k Claffy August 13, 1997 元智大學系統實驗室 宮春富 2000/01/26.
SIGCOMM 2012 (August 16, 2012) Private and Verifiable Interdomain Routing Decisions Mingchen Zhao * Wenchao Zhou * Alexander Gurney * Andreas Haeberlen.
“Isolating Failure Causes through Test Case Generation “ Jeremias Rößler Gordon Fraser Andreas Zeller Alessandro Orso Presented by John-Paul Ore.
Design - programming Cmpe 450 Fall Dynamic Analysis Software quality Design carefully from the start Simple and clean Fewer errors Finding errors.
Motivation: Finding the root cause of a symptom
Automated Network Repair with Meta Provenance
© HU-IWI 2006 · Holger Ziekow Stream Processing in Networks of Smart Devices Institute of Information Systems Humboldt University of Berlin, Germany Holger.
CES 592 Theory of Software Systems B. Ravikumar (Ravi) Office: 124 Darwin Hall.
Jennifer Rexford Princeton University MW 11:00am-12:20pm Data-Plane Verification COS 597E: Software Defined Networking.
Custom Computing Machines for the Set Covering Problem Paper Written By: Christian Plessl and Marco Platzner Swiss Federal Institute of Technology, 2002.
NetEgg: Scenario-based Programming for SDN Policies Yifei Yuan, Dong Lin, Rajeev Alur, Boon Thau Loo University of Pennsylvania 1.
Heuristic Search Planners. 2 USC INFORMATION SCIENCES INSTITUTE Planning as heuristic search Use standard search techniques, e.g. A*, best-first, hill-climbing.
Logically Centralized? State Distribution Trade-offs in Software Defined Networks.
Rule-based Reasoning in Semantic Text Analysis
Programming SDN 1 Problems with programming with POX.
SDN challenges Deployment challenges
Problem: Internet diagnostics and forensics
Toward Super High-Level SDN Programming
Dispersing Asymmetric DDoS Attacks with SplitStack
Chapter 2: System Structures
CSPs: Search and Arc Consistency Computer Science cpsc322, Lecture 12
Enhanced Provenance Model (TAP): Time-aware Provenance for Distributed Systems Original Article: Wenchao Zhou, Ling Ding, Andreas Haeberlen, Zachary Ives,
The WiMAX/LTE Project: We See You
Internet Control Message Protocol (ICMP)
CSPs: Search and Arc Consistency Computer Science cpsc322, Lecture 12
SDN Based IoT-Cloud Comm.
Probabilistic Horn abduction and Bayesian Networks
Programmable Networks
Presentation transcript:

Y. WuHotNets-XII (Nov 22, 2013)1 Answering Why-Not Queries in Software-Defined Networks with Negative Provenance Yang Wu* Andreas Haeberlen* Wenchao Zhou + Boon Thau Loo* * University of Pennsylvania + Georgetown University

-SDN gives power, but they can have bugs -need good debuggers for SDNs Y. WuHotNets-XII (Nov 22, 2013)2 Motivation: SDN debugging Internet HTTP Server Data Center Network Controller

Why is the HTTP server getting DNS queries? -existing tools produce backtraces Y. WuHotNets-XII (Nov 22, 2013)3 Motivation: SDN debugging Internet HTTP Server Data Center Network Controller DNS Packet DNS Packet arrived at HTTP Server DNS Packet received at Switch Broken FlowEntry existed at Switch … … … Program DNS Packet Broken FlowEntry

Why is the HTTP server getting DNS queries? Y. WuHotNets-XII (Nov 22, 2013)4 Motivation: SDN debugging Internet HTTP Server Data Center Network Controller DNS Packet arrived at HTTP Server DNS Packet received at Switch FlowEntry existed at Switch … … DNS Packet Broken FlowEntry -backtraces require an observed event as starting point

-no starting point when debugging missing events -problem: diagnose missing events in networks Y. WuHotNets-XII (Nov 22, 2013)5 Challenge: no starting point Internet HTTP Server Data Center Network Controller Why is the HTTP server NOT getting requests?

Y. WuHotNets-XII (Nov 22, 2013)6 Approach: counter-factual reasoning -basis: counter-factual reasoning Find all the ways a missing event could have occurred, and show why each of them did not come to pass.

Y. WuHotNets-XII (Nov 22, 2013)7 Approach: counter-factual reasoning -basis: counter-factual reasoning NYC DC Why did Bob NOT arrive at DC?

Y. WuHotNets-XII (Nov 22, 2013)8 Approach: counter-factual reasoning -a SDN debugger that answers “Why-Not” questions Internet HTTP Server Data Center Network Controller No HTTP Packet arrived at HTTP Server No Forwarding-FlowEntry installed at Switch HTTP Packet received at Switch Dropping-FlowEntry existed at Switch … … Program … ??? HTTP Packet Dropping- FlowEntry Why is the HTTP server NOT getting requests?

Y. WuHotNets-XII (Nov 22, 2013)9 Approach: counter-factual reasoning No HTTP Packet arrived at HTTP Server No Forwarding-FlowEntry installed at Switch HTTP Packet received at Switch Dropping-FlowEntry existed at Switch … … Negative Provenance Graph

10 Overview Solution Status Implementation Fast queries using R-trees Supporting legacy programs Challenge: No starting point Goal: Diagnose missing events WHY NOT ? Approach: Counter-factual reasoning Generating negative provenance Improving readability Background: Provenance

Y. WuHotNets-XII (Nov 22, 2013)11 Background: network datalog -network datalog (NDLOG) PacketSent :- FlowEntry, PacketReceived. Head Predicate

Why is the HTTP server getting DNS queries? -provenance Y. WuHotNets-XII (Nov 22, 2013)12 Background: provenance DNS Packet arrived at HTTP Server DNS Packet received at Switch FlowEntry existed at Switch … … APPEAR(DNS Server, t=3pm) t=[1pm,now]) APPEAR(DNS t=3pm) EXIST INSERT, DELETE DERIVE, UNDERIVE APPEAR, DISAPPEAR SEND, RECEIVE DELAY

Y. WuHotNets-XII (Nov 22, 2013)13 Negative provenance model -we extend the model to support negative provenance EXIST INSERT, DELETE DERIVE, UNDERIVE APPEAR, DISAPPEAR SEND, RECEIVE DELAY NEXIST NINSERT, NDELETE NDEDRIVE, NUNDERIVE NAPPEAR, NDISAPPEAR NSEND, NRECEIVE NARRIVE +

Y. WuHotNets-XII (Nov 22, 2013)14 Negative provenance model No HTTP Packet arrived at HTTP Server No Forwarding-FlowEntry installed at Switch HTTP Packet received at Switch Dropping-FlowEntry existed at Switch … … -we extend the model to support negative provenance Why is the HTTP server NOT getting requests? NAPPEAR(HTTP Server, t=[-∞, 3pm]) t=[-∞, 3pm]) t=[10am,now]) APPEAR(HTTP t=2pm)

Y. WuHotNets-XII (Nov 22, 2013)15 Generating negative provenance graphs -pseudo-code for building negative provenance graph

Y. WuHotNets-XII (Nov 22, 2013)16 Generating negative provenance graphs -explain non-existence of head with missing predicates FlowEntry PacketSent :- FlowEntry, PacketReceived. PacketReceived NEXT(PacketSent, t=[t1,now]) ??? time t1 t2 t3 t4 t5 now Head Predicate

Y. WuHotNets-XII (Nov 22, 2013)17 Generating negative provenance graphs -explain non-existence with missing pre-conditions PacketSent FlowEntry PacketReceived NEXT(PacketSent, t=[t1,now]) time t1 t2 t3 t4 t5 now NEXT(PacketReceived, t=[t1,t2]) NEXT(FlowEntry, t=[t2,t3]) NEXT(PacketReceived, t=[t3,t4]) NEXT(FlowEntry, t=[t2,t3]) NEXT(PacketReceived, t=[t5,now])

Y. WuHotNets-XII (Nov 22, 2013)18 Generating negative provenance graphs -select simple explanations time FlowEntry PacketReceived NEXT(PacketSent, t=[t1,now]) NEXT(FlowEntry, t=[t1,now])

Y. WuHotNets-XII (Nov 22, 2013)19 Generating negative provenance graphs -select simple explanations -finding the simplest explanation is as least as hard as Set Cover (NP-Hard) -close approximation is good enough time FlowEntry PacketReceived PacketSent :- FlowEntry, PacketReceived. Head Predicate

Y. WuHotNets-XII (Nov 22, 2013)20 Generating negative provenance graphs -pseudo-code for building negative provenance graph

Y. WuHotNets-XII (Nov 22, 2013)22 Improving readability -prune branches that correspond to failed assertions … NEXIST(FlowEntry(Pri > 255))... assert(FlowEntry(Pri < 63)) … … … Negative Provenance Graph Controller Program

Y. WuHotNets-XII (Nov 22, 2013)23 Improving readability Prune logical inconsistencies. Prune failed assertions. Branch coalescing. Application-specific invariants. Hide transient event chains. Summarize super-vertex.

Y. WuHotNets-XII (Nov 22, 2013)25 Improving readability -typical absolute size < 20 -~90% reduction in graph size

26 Overview Solution Challenge: No starting point Goal: Diagnose missing events WHY NOT ? Approach: Counter-factual reasoning Generating negative provenance Improving readability Background: Provenance Status Implementation Fast queries using R-trees Supporting legacy programs

Y. WuHotNets-XII (Nov 22, 2013)27 Status: implementation -graph builder -event storage -Mininet Internet HTTP Server Data Center Network (Mininet) SDN Controller Event Storage Graph Builder

Y. WuHotNets-XII (Nov 22, 2013)28 Status: fast queries -optimization: R-Tree Internet HTTP Server Data Center Network (Mininet) SDN Controller Event Storage Graph Builder

Y. WuHotNets-XII (Nov 22, 2013)29 Status: supporting legacy -Frenetic frontend Internet HTTP Server Data Center Network (Mininet) SDN Controller Event Storage Graph Builder

Y. WuHotNets-XII (Nov 22, 2013)30 -Goal: a debugger for missing events in SDNs Example: Why HTTP server is not getting requests? -Approach: Negative Provenance Use counterfactual reasoning to explain how the missing events could have occurred. -Raw provenance graphs are complex, but can be simplified considerably using heuristics Encouraging results from case studies. -We are working on a prototype implementation Efficient queries due to a special index. Supports an existing SDN language (Frenetic). Questions?