skip to main content
research-article
Free Access

Declarative networking

Published:01 November 2009Publication History
Skip Abstract Section

Abstract

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.

References

  1. Akamai. Akamai Content Distribution Network. 2006. http://www.akamai.com.Google ScholarGoogle Scholar
  2. Alvaro, P., Condie, T., Conway, N., Elmeleegy, K., Hellerstein, J.M., Sears, R.C. BOOM: Data-centric programming in the datacenter. Technical Report UCB/EECS-2009-98, EECS Department, University of California, Berkeley, July 2009.Google ScholarGoogle Scholar
  3. Balbin I., Ramamohanarao, K. A generalization of the differential approach to recursive query evaluation. J. Logic Prog. 4, 3 (1987), 259--262. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Bancilhon, F., Maier, D., Sagiv, Y., Ullman, J. Magic sets and other strange ways to implement logic programs. In Proceedings of ACM SIGMOD International Conference on Management of Data (1986). Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Chu, D., Hellerstein, J. Automating rendezvous and proxy selection in sensor networks. In Eighth International Conference on Information Processing in Sensor Networks (IPSN) (2009). Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Chu, D.C., Popa, L., Tavakoli, A., Hellerstein, J.M., Levis, P., Shenker, S., Stoica, I. The design and implementation of a declarative sensor network system. In 5th ACM Conference on Embedded Networked Sensor Systems (SenSys) (2007). Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Chu, Y.-H., Rao, S.G., Zhang, H. A case for end system multicast. In Proceedings of ACM SIGMETRICS (2000), 1--12. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Clark, D.D. The design philosophy of the DARPA internet protocols. In Proceedings of ACM SIGCOMM Conference on Data Communication (Stanford, CA, 1988), ACM, 106--114. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Condie, T., Chu, D., Hellerstein, J.M., Maniatis, P. Evita raced: metacompilation for declarative networks. In Proceedings of VLDB Conference (2008). Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Gnutella. http://www.gnutella.com.Google ScholarGoogle Scholar
  11. Graefe, G. Encapsulation of parallelism in the volcano query processing system. In Proceedings of ACM SIGMOD International Conference on Management of Data (1990). Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Gray, J. What next? A few remaining problems in information technlogy, SIGMOD Conference 1999. ACM Turing Award Lecture, Video. ACM SIGMOD Digital Symposium Collection 2, 2 (2000).Google ScholarGoogle Scholar
  13. Gupta, A., Mumick, I.S., Subrahmanian, V.S. Maintaining views incrementally. In Proceedings of ACM SIGMOD International Conference on Management of Data (1993). Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Kohler, E., Morris, R., Chen, B., Jannotti, J., Kaashoek, M.F. The click modular router. ACM Trans. Comp. Sys. 18, 3 (2000), 263--297. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Krishnamurthy, R., Ramakrishnan, R., Shmueli, O. A framework for testing safety and effective computability. J. Comp. Sys. Sci. 52, 1 (1996), 100--124. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Lampson, B. Getting computers to understand. J. ACM 50, 1 (2003), 70--72. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Liu, C., Correa, R., Li, X., Basu, P., Loo, B.T., Mao, Y. Declarative Policy-based adaptive MANET routing. In 17th IEEE International Conference on Network Protocols (ICNP) (2009).Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Liu, M., Taylor, N., Zhou, W., Ives, Z., Loo, B.T. Recursive computation of regions and connectivity in networks. In Proceedings of IEEE Conference on Data Engineering (ICDE) (2009). Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Loo, B.T. The Design and Implementation of Declarative Networks (Ph.D. Dissertation). Technical Report UCB/EECS-2006-177, UC Berkeley (2006). Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Loo, B.T., Condie, T., Garofalakis, M., Gay, D.E., Hellerstein, J.M., Maniatis, P., Ramakrishnan, R., Roscoe, T., Stoica, I. Declarative networking: language, execution and optimization. In Proceedings of ACM SIGMOD International Conference on Management of Data (2006). Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Loo, B.T., Condie, T., Hellerstein, J.M., Maniatis, P., Roscoe, T., Stoica, I. Implementing declarative overlays. In Proceedings of ACM Symposium on Operating Systems Principles (2005). Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Loo, B.T., Hellerstein, J.M., Stoica, I., Ramakrishnan, R. Declarative routing: extensible routing with declarative queries. In Proceedings of ACM SIGCOMM Conference on Data Communication (2005). Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Marczak, W.R., Zook, D., Zhou, W., Aref, M., Loo, B.T. Declarative reconfigurable trust management. In Proceedings of Conference on Innovative Data Systems Research (CIDR) (2009).Google ScholarGoogle Scholar
  24. P2: Declarative Networking System. http://p2.cs.berkeley.edu.Google ScholarGoogle Scholar
  25. Perez, J.N., Rybalchenko, A., Singh, A. Cardinality abstraction for declarative networking applications. In Proceedings of Computer Aided Verification (CAV) (2009). Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. PlanetLab. Global testbed. 2006. http://www.planet-lab.org/.Google ScholarGoogle Scholar
  27. Ramakrishnan, R., Ullman, J.D. A survey of research on deductive database systems. J. Logic Prog. 23, 2 (1993), 125--149.Google ScholarGoogle Scholar
  28. Singh, A., Maniatis, P., Roscoe, T., Druschel, P. Distributed monitoring and forensics in overlay networks. In Proceedings of Eurosys (2006). Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Skype. Skype P2P Telephony. 2006. http://www.skype.com.Google ScholarGoogle Scholar
  30. Stoica, I., Morris, R., Karger, D., Kaashoek, M.F., Balakrishnan, H. Chord: a scalable P2P lookup service for internet applications. In SIGCOMM (2001). Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Tennenhouse, D.L., Smith, J.M., Sincoskie, W.D., Wetherall, D.J., Minden, G.J. A survey of active network research. IEEE Commun. Mag. 35, 1 (1997), 80--86. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Wang, A., Basu, P., Loo, B.T., Sokolsky, O. Towards declarative network verification. In 11th International Symposium on Practical Aspects of Declarative Languages (PADL) (2009). Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Zhou, W., Mao, Y., Loo, B.T., Abadi, M. Unified declarative platform for secure networked information systems. In Proceedings of IEEE Conference on Data Engineering (ICDE) (2009). Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Declarative networking

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in

    Full Access

    • Published in

      cover image Communications of the ACM
      Communications of the ACM  Volume 52, Issue 11
      Scratch Programming for All
      November 2009
      135 pages
      ISSN:0001-0782
      EISSN:1557-7317
      DOI:10.1145/1592761
      Issue’s Table of Contents

      Copyright © 2009 ACM

      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 1 November 2009

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article
      • Popular
      • Refereed

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    HTML Format

    View this article in HTML Format .

    View HTML Format