Introduction / 1: |
Networked Computing / 1.1: |
Middleware / 1.2: |
Event-Based Systems / 1.3: |
Application Scenarios / 1.4: |
Information Dissemination / 1.4.1: |
Network Monitoring / 1.4.2: |
Enterprise Application Integration / 1.4.3: |
Mobile Systems / 1.4.4: |
Ubiquitous systems / 1.4.5: |
Putting Event-Based Systems Into Context / 1.5: |
From Centralized to Internet-Scale Event Systems / 1.6: |
Structure of the Book / 1.7: |
Basics / 2: |
Terminology / 2.1: |
Events and Notifications / 2.1.1: |
Producers and Consumers / 2.1.2: |
Subscriptions and Filters / 2.1.3: |
Event Notification Service / 2.1.4: |
Models of Interaction / 2.2: |
Request/Reply / 2.2.1: |
Anonymous Request/Reply / 2.2.2: |
Callback / 2.2.3: |
Event-Based / 2.2.4: |
Comparison / 2.2.5: |
Interaction vs. Implementation / 2.2.6: |
Notification Filtering Mechanisms / 2.3: |
Channels / 2.3.1: |
Subject-Based Filtering / 2.3.2: |
Type-Based Filtering / 2.3.3: |
Content-Based Filtering / 2.3.4: |
A Model Distributed Notification Service / 2.4: |
System Model / 2.4.1: |
Architecture / 2.4.2: |
Distributed Notification Routing / 2.4.3: |
Specification of Event Systems / 2.5: |
Formal Background / 2.5.1: |
A Simple Event System / 2.5.2: |
A Simple Event System With Ordering Requirements / 2.5.3: |
Simple Event System With Advertisements / 2.5.4: |
Further Reading / 2.6: |
Content-Based Models and Matching / 3: |
Content-Based Data and Filter Models / 3.1: |
Tuples / 3.1.1: |
Structured Records / 3.1.2: |
Semistructured Records / 3.1.3: |
Objects / 3.1.4: |
Matching Algorithms / 3.2: |
Brute Force / 3.2.1: |
Counting Algorithm / 3.2.2: |
Decision Trees / 3.2.3: |
Binary Decision Diagrams / 3.2.4: |
Efficient XML Matching / 3.2.5: |
Routing Algorithm Framework / 3.3: |
Atomic Steps of the Implementation / 4.2.1: |
Notification Forwarding and Delivery / 4.2.2: |
Avoidance of Duplicate and Spurious Notifications / 4.2.3: |
Routing Table Updates / 4.2.4: |
Valid and Monotone Valid Routing Algorithms / 4.3: |
Valid Routing Algorithms / 4.3.1: |
Monotone Valid Routing Algorithms / 4.3.2: |
Valid Framework Instantiations / 4.4: |
Content-Based Routing Algorithms / 4.5: |
Flooding / 4.5.1: |
Simple Routing / 4.5.2: |
Identity-Based Routing / 4.5.3: |
Covering-Based Routing / 4.5.4: |
Merging-Based Routing / 4.5.5: |
Discussion / 4.5.6: |
Extensions of the Basic Routing Framework / 4.6: |
Routing With Advertisements / 4.6.1: |
Hierarchical Routing Algorithms / 4.6.2: |
Rendezvous-Based Routing / 4.6.3: |
Topology Changes / 4.6.4: |
Joining and Leaving Clients / 4.6.5: |
Routing in Cyclic Topologies / 4.6.6: |
Exploiting IP Multicast / 4.6.7: |
Topology Maintenance / 4.6.8: |
Engineering of Event-Based Systems / 4.7: |
Engineering Requirements / 5.1: |
Application Examples / 5.1.1: |
Requirements / 5.1.2: |
Existing Support / 5.1.3: |
Accessing Publish/Subscribe Functionality / 5.2: |
Generic APIs / 5.2.1: |
Domain-Specific APIs / 5.2.2: |
Using the API / 5.3: |
Patterns and Idioms / 5.3.1: |
Emitting Notifications / 5.3.2: |
Scoping / 5.4: |
Controlling Cooperation / 6.1: |
Implicit Coordination and Visibility / 6.1.1: |
Explicit Control of Visibility / 6.1.2: |
The Role of Administrators / 6.1.3: |
Event-Based Systems With Scopes / 6.2: |
Visibility and Scopes / 6.2.1: |
Specification / 6.2.2: |
Notification Dissemination / 6.2.3: |
Duplicate Notifications / 6.2.4: |
Dynamic Scopes / 6.2.5: |
Attributes and Abstract Scopes / 6.2.6: |
A Correct Implementation / 6.2.7: |
Event-Based Components / 6.3: |
Component Interfaces / 6.3.1: |
Scope Interfaces / 6.3.2: |
Example / 6.3.3: |
Notification Mappings / 6.4: |
Transmission Policies / 6.4.1: |
Publishing Policy / 6.5.1: |
Delivery Policy / 6.5.2: |
Traverse Policy / 6.5.3: |
Influencing Notification Dissemination / 6.5.4: |
Engineering With Scopes / 6.6: |
Development Process / 6.6.1: |
Scope Graph Handling / 6.6.2: |
Scope Graph Language / 6.6.3: |
Implementation Strategies for Scoping / 6.7: |
Scope Architectures / 6.7.1: |
Comparing Architectures / 6.7.2: |
Implement Scopes as Event Brokers / 6.7.3: |
Integrate Scoping and Routing / 6.7.4: |
Combining Different Implementations / 6.8: |
Architectures and Scope Graphs / 6.8.1: |
Bridging Architectures / 6.8.2: |
Integration With Other Notification Services / 6.8.3: |
Composite Events / 6.9: |
Composite Event Detection / 7.1: |
Composite Event Detectors / 7.4.1: |
Composite Event Language / 7.4.2: |
Detection Architectures / 7.5: |
Centralized Detection / 7.5.1: |
Distributed Detection / 7.5.2: |
Advanced Topics / 7.6: |
Security / 8.1: |
Access Control Techniques / 8.1.1: |
Secure Publish/Subscribe Model / 8.1.4: |
Fault Tolerance / 8.1.5: |
Fault Masking / 8.2.1: |
Self-Stabilizing Publish/Subscribe Systems / 8.2.2: |
Self-Stabilizing Content-Based Routing / 8.2.3: |
Generic Self-Stabilization Through Periodic Rebuild / 8.2.4: |
Congestion Control / 8.2.5: |
The Congestion Problem / 8.3.1: |
Congestion Control Algorithms / 8.3.2: |
Mobility / 8.3.4: |
Mobility Issues in Publish/Subscribe Middleware / 8.4.1: |
Physical Mobility / 8.4.2: |
Logical Mobility / 8.4.3: |
Existing Notification Services / 8.4.4: |
Standards / 9.1: |
Corba Event and Notification Service / 9.1.1: |
Jini / 9.1.2: |
Java Message Service (JMS) / 9.1.3: |
Data Distribution for Real-Time Systems (DDS) / 9.1.4: |
WS Eventing and WS Notification / 9.1.5: |
The High-Level Architecture (HLA) / 9.1.6: |
Commercial Systems / 9.2: |
IBM WebSphere MQ / 9.2.1: |
TIBCO Rendezvous / 9.2.2: |
Oracle Streams Advanced Queuing / 9.2.3: |
Research Prototypes / 9.3: |
Gryphon / 9.3.1: |
Siena / 9.3.2: |
JEDI / 9.3.3: |
Rebeca / 9.3.4: |
Hermes / 9.3.5: |
Cambridge Event Architecture (CEA) / 9.3.6: |
Elvin / 9.3.7: |
READY / 9.3.8: |
Narada Brokering / 9.3.9: |
Outlook / 10: |
References |
Index |
Introduction / 1: |
Networked Computing / 1.1: |
Middleware / 1.2: |