Declarative networking /
| Main Author: | |
|---|---|
| Other Authors: | |
| Format: | eBook |
| Language: | English |
| Published: |
San Rafael, Calif. (1537 Fourth Street, San Rafael, CA 94901 USA) :
Morgan & Claypool,
[2012]
|
| Series: | Synthesis lectures on data management ;
#23. |
| Subjects: | |
| Online Access: | Connect to the full text of this electronic book |
Table of Contents:
- 1. Introduction
- 1.1 Overview of declarative networks
- 1.2 The case for declarative networking
- 1.2.1 Ease of programming
- 1.2.2 Optimizability
- 1.2.3 Balance of extensibility and safety
- 1.3 Organization
- 2. Declarative networking language
- 2.1 Introduction to datalog
- 2.2 Network datalog by example
- 2.2.1 Overview of NDlog
- 2.2.2 From query specifications to protocol execution
- 2.2.3 Other requirements of NDlog
- 2.3 Distributed computation
- 2.4 Soft-state data and rules
- 2.4.1 Hard-state vs. soft-state data
- 2.4.2 Hard-state and soft-state rules
- 2.5 Incremental maintenance of network state
- 2.6 Summary of network datalog
- 2.7 Summary
- 3. Declarative networking overview
- 3.1 Architecture
- 3.2 DN dataflow engine
- 3.2.1 Dataflow elements
- 3.3 Network state storage and management
- 3.3.1 RapidNet declarative networking engine
- 3.4 Summary
- 4. Distributed recursive query processing
- 4.1 Centralized plan generation
- 4.1.1 Semi-naïve evaluation
- 4.1.2 Dataflow generation
- 4.2 Distributed plan generation
- 4.2.1 Localization rewrite
- 4.2.2 Distributed dataflow generation
- 4.3 Relaxing semi-naïve evaluation
- 4.3.1 Pipelined semi-naïve evaluation
- 4.4 Processing in a dynamic network
- 4.4.1 Dataflow generation for incremental view maintenance
- 4.4.2 Centralized execution semantics
- 4.4.3 Distributed execution semantics
- 4.5 Processing soft-state rules
- 4.5.1 Event soft-state rules
- 4.6 Summary
- 5. Declarative routing
- 5.1 Motivation
- 5.2 Execution model
- 5.3 Routing protocols by examples
- 5.3.1 Best-path routing
- 5.3.2 Distance-vector routing
- 5.3.3 Policy-based routing
- 5.3.4 Dynamic source routing
- 5.3.5 Link state
- 5.3.6 Multicast
- 5.4 Security issues
- 5.5 Route maintenance
- 5.6 Evaluation
- 5.6.1 Scalability of path-vector protocol
- 5.6.2 Incremental evaluation in dynamic networks
- 5.7 Summary
- 6. Declarative overlays
- 6.1 Execution model
- 6.2 Narada mesh
- 6.2.1 Membership list maintenance
- 6.2.2 Neighbor selection
- 6.3 Chord distributed hash table
- 6.3.1 Chord network state
- 6.3.2 Joining the chord network
- 6.3.3 Chord ring maintenance
- 6.3.4 Finger maintenance and routing
- 6.3.5 Failure detection
- 6.3.6 Summary of chord
- 6.4 Evaluation
- 6.4.1 Narada mesh formation
- 6.4.2 Chord DHT
- 6.5 Summary
- 7. Optimization of NDlog programs
- 7.1 Traditional datalog optimizations
- 7.1.1 Aggregate selections
- 7.1.2 Magic sets and predicate reordering
- 7.2 Multi-query optimizations
- 7.3 Hybrid rewrites
- 7.4 Evaluation of optimizations
- 7.4.1 Aggregate selections
- 7.4.2 Magic sets and predicate reordering
- 7.4.3 Opportunistic message sharing
- 7.4.4 Summary of optimizations
- 7.5 Summary
- 8. Recent advances in declarative networking
- 8.1 Language extensions
- 8.2 Generating safe routing implementations
- 8.2.1 Formally safe routing toolkit
- 8.2.2 Declarative network verification
- 8.3 Securing distributed systems
- 8.3.1 Secure network datalog
- 8.3.2 Reconfigurable security
- 8.3.3 Application-aware anonymity
- 8.4 Debugging distributed systems
- 8.4.1 Network provenance model
- 8.4.2 Distributed maintenance and querying
- 8.4.3 Security and temporal extensions
- 8.5 Optimizing distributed systems
- 8.5.1 Use cases: PUMA and COPE
- 8.5.2 Colog language and compilation
- 8.6 Summary
- 9. Conclusion
- Bibliography
- Authors' biographies.