Description |
1 online resource (xv, 111 pages) : illustrations |
Series |
Synthesis lectures on data management, 2153-5426 ; #23 |
|
Synthesis lectures on data management ; #23. 2153-5418
|
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 |
Summary |
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. Declarative networking proposes the use of a declarative query language for specifying and implementing network protocols, and employs a dataflow framework at runtime for communication and maintenance of network state. The primary goal of declarative networking is to greatly simplify the process of specifying, implementing, deploying and evolving a network design. In addition, declarative networking serves as an important step towards an extensible, evolvable network architecture that can support flexible, secure and efficient deployment of new network protocols |
Analysis |
declarative networking |
|
datalog |
|
recursive query processing |
Bibliography |
Includes bibliographical references (pages 101-110) |
Notes |
Online resource; title from PDF title page (Morgan & Claypool, viewed Apr. 25, 2012) |
Subject |
Declarative programming.
|
|
Computer network protocols.
|
|
Computer networks -- Management.
|
|
COMPUTERS -- Programming Languages -- General.
|
|
Computer network protocols
|
|
Computer networks -- Management
|
|
Declarative programming
|
Form |
Electronic book
|
Author |
Zhou, Wenchao
|
ISBN |
9781608456024 |
|
1608456021 |
|
1608456013 |
|
9781608456017 |
|
9783031018862 |
|
3031018869 |
|