Declarative networking

Declarative Networking is a programming methodology that enables developers to concisely specify network protocols and services, which are directly compiled to a dataflow framework that executes the specifications. This paper provides an introduction to basic issues in declarative networking, including language design, optimization, and dataflow execution. We present the intuition behind declarative programming of networks, including roots in Datalog, extensions for networked environments, and the semantics of long-running queries over network state. We focus on a sublanguage we call Network Datalog (NDlog), including execution strategies that provide crisp eventual consistency semantics with significant flexibility in execution. We also describe a more general language called Overlog, which makes some compromises between expressive richness and semantic guarantees. We provide an overview of declarative network protocols, with a focus on routing protocols and overlay networks. Finally, we highlight related work in declarative networking, and new declarative approaches to related problems.

[1]  Andreas Haeberlen,et al.  Secure network provenance , 2011, SOSP.

[2]  Pavlin Radoslavov,et al.  Designing extensible IP router software , 2005, NSDI.

[3]  Christos Faloutsos,et al.  ANF: a fast and scalable tool for data mining in massive graphs , 2002, KDD.

[4]  Joseph M. Hellerstein,et al.  Boom analytics: exploring data-centric, declarative programming for the cloud , 2010, EuroSys '10.

[5]  Joseph M. Hellerstein,et al.  The declarative imperative: experiences and conjectures in distributed logic , 2010, SGMD.

[6]  Atul Singh,et al.  Using queries for distributed monitoring and forensics , 2006, EuroSys.

[7]  Emin Gün Sirer,et al.  SHARP: a hybrid adaptive routing protocol for mobile ad hoc networks , 2003, MobiHoc '03.

[8]  Scott Shenker,et al.  The Architecture of PIER: an Internet-Scale Query Processor , 2005, CIDR.

[9]  EDDIE KOHLER,et al.  The click modular router , 2000, TOCS.

[10]  Joseph M. Hellerstein,et al.  BOOM: Data-Centric Programming in the Datacenter , 2009 .

[11]  Joseph M. Hellerstein,et al.  The design and implementation of declarative networks , 2006 .

[12]  David R. Karger,et al.  Looking up data in P2P systems , 2003, CACM.

[13]  Laurent Vieille,et al.  Recursive Axioms in Deductive Databases: The Query/Subquery Approach , 1986, Expert Database Conf..

[14]  F. Perich Policy-Based Network Management for NeXt Generation Spectrum Access Control , 2007, 2007 2nd IEEE International Symposium on New Frontiers in Dynamic Spectrum Access Networks.

[15]  Jon Crowcroft,et al.  Core Based Trees (CBT) An Architecture for Scalable Inter-Domain Multicast Routing , 1993, SIGCOMM 1993.

[16]  Joseph M. Hellerstein,et al.  Finally, a Use for Componentized Transport Protocols , 2006 .

[17]  Boon Thau Loo,et al.  An Open-Source and Declarative Approach Towards Teaching Large-Scale Networked Systems Programming , 2011 .

[18]  Nick Feamster,et al.  The case for separating routing from routers , 2004, FDNA '04.

[19]  Micah Sherr,et al.  SecureBlox: customizable secure distributed data processing , 2010, SIGMOD Conference.

[20]  Stephen E. Deering,et al.  Multicast routing in datagram internetworks and extended LANs , 1990, TOCS.

[21]  Martín Abadi,et al.  Unified Declarative Platform for Secure Netwoked Information Systems , 2009, 2009 IEEE 25th International Conference on Data Engineering.

[22]  Robert Morris,et al.  Chord: A scalable peer-to-peer lookup service for internet applications , 2001, SIGCOMM 2001.

[23]  Ion Stoica,et al.  Declarative networking: language, execution and optimization , 2006, SIGMOD Conference.

[24]  Brian N. Bershad,et al.  Extensibility safety and performance in the SPIN operating system , 1995, SOSP.

[25]  David Maier,et al.  Magic sets and other strange ways to implement logic programs (extended abstract) , 1985, PODS '86.

[26]  Xiaozhou Li,et al.  RapidMesh: declarative toolkit for rapid experimentation of wireless mesh networks , 2009, WINTECH '09.

[27]  Boon Thau Loo,et al.  Provenance-aware secure networks , 2008, 2008 IEEE 24th International Conference on Data Engineering Workshop.

[28]  Jeffrey D. Ullman,et al.  A survey of deductive database systems , 1995, J. Log. Program..

[29]  Ion Stoica,et al.  Analyzing P2P Overlays with Recursive Queries , 2003 .

[30]  Diego Calvanese,et al.  Decidable containment of recursive queries , 2003, Theor. Comput. Sci..

[31]  Jean Rohmer,et al.  The Alexander Method — A technique for the processing of recursive axioms in deductive databases , 1986, New Generation Computing.

[32]  Paul Francis,et al.  Core based trees (CBT) , 1993, SIGCOMM 1993.

[33]  David D. Clark,et al.  The design philosophy of the DARPA internet protocols , 1988, SIGCOMM '88.

[34]  Atul Singh,et al.  Cardinality Abstraction for Declarative Networking Applications , 2009, CAV.

[35]  Atul Singh,et al.  BFT Protocols Under Fire , 2008, NSDI.

[36]  Amin Vahdat,et al.  Epidemic Routing for Partially-Connected Ad Hoc Networks , 2009 .

[37]  Ram Ramanathan,et al.  Making link-state routing scale for ad hoc networks , 2001, MobiHoc '01.

[38]  Arie van Deursen,et al.  Domain-specific languages: an annotated bibliography , 2000, SIGP.

[39]  Karen Seo,et al.  Public-key infrastructure for the Secure Border Gateway Protocol (S-BGP) , 2001, Proceedings DARPA Information Survivability Conference and Exposition II. DISCEX'01.

[40]  Sergio Greco,et al.  Pushing extrema aggregates to optimize logic queries , 2002, Inf. Syst..

[41]  David Chu,et al.  Entirely declarative sensor network systems , 2006, VLDB.

[42]  Kotagiri Ramamohanarao,et al.  A Generalization of the Differential Approach to Recursive Query Evaluation , 1987, J. Log. Program..

[43]  David Chu,et al.  Automating Rendezvous and Proxy Selection , 2008 .

[44]  Ion Stoica,et al.  Declarative routing: extensible routing with declarative queries , 2005, SIGCOMM '05.

[45]  Stefan Behnel,et al.  SLOSL--A Modelling Language for Topologies and Routing in Overlay Networks , 2007, 15th EUROMICRO International Conference on Parallel, Distributed and Network-Based Processing (PDP'07).

[46]  David Zook,et al.  Declarative Reconfigurable Trust Management , 2009, CIDR.

[47]  Carlo Zaniolo,et al.  Stable models and non-determinism in logic programs with negation , 1990, PODS.

[48]  GraefeGoetz Encapsulation of parallelism in the Volcano query processing system , 1990 .

[49]  David Maier,et al.  Dedalus: Datalog in Time and Space , 2010, Datalog.

[50]  Raúl J Mondragón,et al.  Topological modelling of large networks , 2008, Philosophical Transactions of the Royal Society A: Mathematical, Physical and Engineering Sciences.

[51]  Limin Jia,et al.  Maintaining distributed logic programs incrementally , 2011, Comput. Lang. Syst. Struct..

[52]  Xu Chen,et al.  Declarative configuration management for complex and dynamic networks , 2010, CoNEXT.

[53]  Philippe Jacquet,et al.  Optimized Link State Routing Protocol (OLSR) , 2003, RFC.

[54]  Larry L. Peterson,et al.  Sophia: an Information Plane for networked systems , 2004, Comput. Commun. Rev..

[55]  F. E. A Relational Model of Data Large Shared Data Banks , 2000 .

[56]  David J. DeWitt,et al.  GAMMA - A High Performance Dataflow Database Machine , 1986, VLDB.

[57]  Jim Gray What Next? A Few Remaining Problems in Information Technlogy, SIGMOD Conference 1999, ACM Turing Award Lecture, Video , 2000, ACM SIGMOD Digit. Symp. Collect..

[58]  Martín Abadi,et al.  Towards a Declarative Language and System for Secure Networking , 2007, NetDB.

[59]  Peter M. G. Apers,et al.  Pipelining in query execution , 1990, Proceedings. PARBASE-90: International Conference on Databases, Parallel Architectures, and Their Applications.

[60]  David Chu,et al.  Evita raced: metacompilation for declarative networks , 2008, Proc. VLDB Endow..

[61]  Catriel Beeri,et al.  On the power of magic , 1987, J. Log. Program..

[62]  G.J. Minden,et al.  A survey of active network research , 1997, IEEE Communications Magazine.

[63]  Larry L. Peterson,et al.  Making paths explicit in the Scout operating system , 1996, OSDI '96.

[64]  Kenneth A. Ross,et al.  Efficient Incremental Evaluation of Queries with Aggregation , 1994, ILPS.

[65]  Bruce S. Davie,et al.  Computer Networks: A Systems Approach , 1996 .

[66]  Xiaozhou Li,et al.  Declarative policy-based adaptive MANET routing , 2009, 2009 17th IEEE International Conference on Network Protocols.

[67]  Boon Thau Loo,et al.  Declarative Toolkit for Rapid Network Protocol Simulation and Experimentation , 2009 .

[68]  Boon Thau Loo,et al.  Declarative automated cloud resource orchestration , 2011, SoCC.

[69]  Limin Jia,et al.  FSR: formal analysis and implementation toolkit for safe inter-domain routing , 2011, SIGCOMM 2011.

[70]  John Kubiatowicz,et al.  Handling churn in a DHT , 2004 .

[71]  Shan Shan Huang,et al.  Datalog and emerging applications: an interactive tutorial , 2011, SIGMOD '11.

[72]  Alejandro P. Buchmann,et al.  Overlay Networks - Implementation by Specification , 2005, Middleware.

[73]  Paul F. Syverson,et al.  Onion routing , 1999, CACM.

[74]  Timothy Roscoe,et al.  Predicate routing: enabling controlled networking , 2003, CCRV.

[75]  David A. Maltz,et al.  Dynamic Source Routing in Ad Hoc Wireless Networks , 1994, Mobidata.

[76]  Serge Abiteboul,et al.  Foundations of Databases , 1994 .

[77]  Michael Stonebraker,et al.  Inclusion of new types in relational data base systems , 1986, 1986 IEEE Second International Conference on Data Engineering.

[78]  Timothy Roscoe,et al.  InfoSpect: using a logic language for system health monitoring in distributed systems , 2002, EW 10.

[79]  Joan Feigenbaum,et al.  Delegation logic: A logic-based approach to distributed authorization , 2003, TSEC.

[80]  Sean C. Rhea,et al.  Querying at Internet scale , 2004, SIGMOD '04.

[81]  Boon Thau Loo,et al.  Recursive Computation of Regions and Connectivity in Networks , 2009, 2009 IEEE 25th International Conference on Data Engineering.

[82]  Prithwish Basu,et al.  Declarative Network Verification , 2009, PADL.

[83]  Srinivasan Seshan,et al.  A case for end system multicast , 2002, IEEE J. Sel. Areas Commun..

[84]  Butler W. Lampson Getting computers to understand , 2003, JACM.

[85]  Ion Stoica,et al.  Implementing declarative overlays , 2005, SOSP '05.

[86]  Zygmunt J. Haas,et al.  A new routing protocol for the reconfigurable wireless networks , 1997, Proceedings of ICUPC 97 - 6th International Conference on Universal Personal Communications.

[87]  Goetz Graefe,et al.  Encapsulation of parallelism in the Volcano query processing system , 1990, SIGMOD '90.

[88]  Micah Sherr,et al.  A3: An Extensible Platform for Application-Aware Anonymity , 2010, NDSS.

[89]  Andreas Haeberlen,et al.  TAP: Time-aware Provenance for Distributed Systems , 2011, TaPP.

[90]  Xiaozhou Li,et al.  Efficient querying and maintenance of network provenance at internet-scale , 2010, SIGMOD Conference.

[91]  Trevor Jim,et al.  SD3: a trust management system with certified evaluation , 2001, Proceedings 2001 IEEE Symposium on Security and Privacy. S&P 2001.

[92]  David Chu,et al.  Automating rendezvous and proxy selection in sensornets , 2009, 2009 International Conference on Information Processing in Sensor Networks.

[93]  Hui Zhang,et al.  A case for end system multicast (keynote address) , 2000, SIGMETRICS '00.

[94]  V. S. Subrahmanian,et al.  Maintaining views incrementally , 1993, SIGMOD Conference.

[95]  Philip Levis,et al.  The design and implementation of a declarative sensor network system , 2007, SenSys '07.

[96]  Patrick Valduriez,et al.  Principles of Distributed Database Systems, Third Edition , 2011 .

[97]  Ravi Krishnamurthy,et al.  A Framework for Testing Safety and Effective Computability , 1996, J. Comput. Syst. Sci..

[98]  Jonathan M. Smith,et al.  MOSAIC: Unified Platform for Dynamic Overlay Selection and Composition , 2008 .

[99]  S. Sudarshan,et al.  Aggregation and Relevance in Deductive Databases , 1991, VLDB.

[100]  Yun Mao On the declarativity of declarative networking , 2010, OPSR.