Cover image for Distributed event-based systems
Title:
Distributed event-based systems
Personal Author:
Publication Information:
Berlin : Springer, 2006
ISBN:
9783540326519

Available:*

Library
Item Barcode
Call Number
Material Type
Item Category 1
Status
Searching...
30000010103736 QA76.9.D5 M83 2006 Open Access Book Book
Searching...
Searching...
30000010150400 QA76.9.D5 M83 2006 Open Access Book Book
Searching...

On Order

Summary

Summary

In today's world, services and data are integrated in ever new constellations, requiring the easy, flexible and scalable integration of autonomous, heterogeneous components into complex systems at any time.

Event-based architectures inherently decouple system components. Event-based components are not designed to work with specific other components in a traditional request/reply mode, but separate communication from computation through asynchronous communication mechanisms via a dedicated notification service.

Mühl, Fiege, and Pietzuch provide the reader with an in-depth description of event-based systems. They cover the complete spectrum of topics, ranging from a treatment of local event matching and distributed event forwarding algorithms, through a more practical discussion of software engineering issues raised by the event-based style, to a presentation of state-of-the-art research topics in event-based systems, such as composite event detection and security. Their presentation gives researchers a comprehensive overview of the area and lots of hints for future research. In addition, they show the power of event-based architectures in modern system design, thus encouraging professionals to exploit this technique in next generation large-scale distributed applications like information dissemination, network monitoring, enterprise application integration, or mobile systems.


Table of Contents

1 Introductionp. 1
1.1 Networked Computingp. 1
1.2 Middlewarep. 2
1.3 Event-Based Systemsp. 3
1.4 Application Scenariosp. 4
1.4.1 Information Disseminationp. 4
1.4.2 Network Monitoringp. 4
1.4.3 Enterprise Application Integrationp. 5
1.4.4 Mobile Systemsp. 6
1.4.5 Ubiquitous systemsp. 6
1.5 Putting Event-Based Systems Into Contextp. 7
1.6 From Centralized to Internet-Scale Event Systemsp. 8
1.7 Structure of the Bookp. 8
2 Basicsp. 11
2.1 Terminologyp. 11
2.1.1 Events and Notificationsp. 11
2.1.2 Producers and Consumersp. 12
2.1.3 Subscriptions and Filtersp. 13
2.1.4 Event Notification Servicep. 13
2.2 Models of Interactionp. 14
2.2.1 Request/Replyp. 15
2.2.2 Anonymous Request/Replyp. 15
2.2.3 Callbackp. 16
2.2.4 Event-Basedp. 16
2.2.5 Comparisonp. 17
2.2.6 Interaction vs. Implementationp. 17
2.3 Notification Filtering Mechanismsp. 19
2.3.1 Channelsp. 19
2.3.2 Subject-Based Filteringp. 19
2.3.3 Type-Based Filteringp. 19
2.3.4 Content-Based Filteringp. 20
2.4 A Model Distributed Notification Servicep. 20
2.4.1 System Modelp. 20
2.4.2 Architecturep. 21
2.4.3 Distributed Notification Routingp. 22
2.5 Specification of Event Systemsp. 23
2.5.1 Formal Backgroundp. 24
2.5.2 A Simple Event Systemp. 26
2.5.3 A Simple Event System With Ordering Requirementsp. 30
2.5.4 Simple Event System With Advertisementsp. 31
2.6 Further Readingp. 33
3 Content-Based Models and Matchingp. 35
3.1 Content-Based Data and Filter Modelsp. 35
3.1.1 Tuplesp. 35
3.1.2 Structured Recordsp. 36
3.1.3 Semistructured Recordsp. 52
3.1.4 Objectsp. 56
3.2 Matching Algorithmsp. 57
3.2.1 Brute Forcep. 59
3.2.2 Counting Algorithmp. 59
3.2.3 Decision Treesp. 60
3.2.4 Binary Decision Diagramsp. 61
3.2.5 Efficient XML Matchingp. 63
3.3 Further Readingp. 64
4 Distributed Notification Routingp. 67
4.1 System Modelp. 67
4.2 Routing Algorithm Frameworkp. 69
4.2.1 Atomic Steps of the Implementationp. 69
4.2.2 Notification Forwarding and Deliveryp. 72
4.2.3 Avoidance of Duplicate and Spurious Notificationsp. 73
4.2.4 Routing Table Updatesp. 73
4.3 Valid and Monotone Valid Routing Algorithmsp. 74
4.3.1 Valid Routing Algorithmsp. 74
4.3.2 Monotone Valid Routing Algorithmsp. 76
4.4 Valid Framework Instantiationsp. 77
4.5 Content-Based Routing Algorithmsp. 80
4.5.1 Floodingp. 81
4.5.2 Simple Routingp. 82
4.5.3 Identity-Based Routingp. 85
4.5.4 Covering-Based Routingp. 91
4.5.5 Merging-Based Routingp. 98
4.5.6 Discussionp. 104
4.6 Extensions of the Basic Routing Frameworkp. 107
4.6.1 Routing With Advertisementsp. 107
4.6.2 Hierarchical Routing Algorithmsp. 112
4.6.3 Rendezvous-Based Routingp. 115
4.6.4 Topology Changesp. 117
4.6.5 Joining and Leaving Clientsp. 119
4.6.6 Routing in Cyclic Topologiesp. 120
4.6.7 Exploiting IP Multicastp. 122
4.6.8 Topology Maintenancep. 123
4.7 Further Readingp. 125
5 Engineering of Event-Based Systemsp. 129
5.1 Engineering Requirementsp. 129
5.1.1 Application Examplesp. 130
5.1.2 Requirementsp. 132
5.1.3 Existing Supportp. 136
5.2 Accessing Publish/Subscribe Functionalityp. 137
5.2.1 Generic APIsp. 137
5.2.2 Domain-Specific APIsp. 139
5.3 Using the APIp. 140
5.3.1 Patterns and Idiomsp. 141
5.3.2 Emitting Notificationsp. 143
5.4 Further Readingp. 147
6 Scopingp. 149
6.1 Controlling Cooperationp. 150
6.1.1 Implicit Coordination and Visibilityp. 150
6.1.2 Explicit Control of Visibilityp. 151
6.1.3 The Role of Administratorsp. 151
6.2 Event-Based Systems With Scopesp. 152
6.2.1 Visibility and Scopesp. 152
6.2.2 Specificationp. 153
6.2.3 Notification Disseminationp. 156
6.2.4 Duplicate Notificationsp. 158
6.2.5 Dynamic Scopesp. 159
6.2.6 Attributes and Abstract Scopesp. 161
6.2.7 A Correct Implementationp. 161
6.3 Event-Based Componentsp. 164
6.3.1 Component Interfacesp. 164
6.3.2 Scope Interfacesp. 164
6.3.3 Event-Based Componentsp. 167
6.3.4 Examplep. 167
6.4 Notification Mappingsp. 169
6.4.1 Specificationp. 169
6.4.2 A Correct Implementationp. 173
6.4.3 Examplep. 176
6.5 Transmission Policiesp. 176
6.5.1 Publishing Policyp. 177
6.5.2 Delivery Policyp. 179
6.5.3 Traverse Policyp. 180
6.5.4 Influencing Notification Disseminationp. 181
6.6 Engineering With Scopesp. 182
6.6.1 Development Processp. 182
6.6.2 Scope Graph Handlingp. 183
6.6.3 Scope Graph Languagep. 187
6.7 Implementation Strategies for Scopingp. 196
6.7.1 Scope Architecturesp. 197
6.7.2 Comparing Architecturesp. 209
6.7.3 Implement Scopes as Event Brokersp. 210
6.7.4 Integrate Scoping and Routingp. 213
6.8 Combining Different Implementationsp. 225
6.8.1 Architectures and Scope Graphsp. 226
6.8.2 Bridging Architecturesp. 227
6.8.3 Integration With Other Notification Servicesp. 228
6.9 Further Readingp. 228
7 Composite Eventsp. 231
7.1 Application Scenariosp. 231
7.2 Requirementsp. 234
7.3 Composite Eventsp. 234
7.4 Composite Event Detectionp. 236
7.4.1 Composite Event Detectorsp. 236
7.4.2 Composite Event Languagep. 238
7.5 Detection Architecturesp. 242
7.5.1 Centralized Detectionp. 243
7.5.2 Distributed Detectionp. 244
7.6 Further Readingp. 250
8 Advanced Topicsp. 253
8.1 Securityp. 253
8.1.1 Application Scenariosp. 254
8.1.2 Requirementsp. 255
8.1.3 Access Control Techniquesp. 256
8.1.4 Secure Publish/Subscribe Modelp. 258
8.1.5 Further Readingp. 264
8.2 Fault Tolerancep. 264
8.2.1 Fault Maskingp. 265
8.2.2 Self-Stabilizing Publish/Subscribe Systemsp. 265
8.2.3 Self-Stabilizing Content-Based Routingp. 266
8.2.4 Generic Self-Stabilization Through Periodic Rebuildp. 273
8.2.5 Further Readingp. 276
8.3 Congestion Controlp. 276
8.3.1 The Congestion Problemp. 277
8.3.2 Requirementsp. 277
8.3.3 Congestion Control Algorithmsp. 279
8.3.4 Further Readingp. 285
8.4 Mobilityp. 287
8.4.1 Mobility Issues in Publish/Subscribe Middlewarep. 289
8.4.2 Physical Mobilityp. 290
8.4.3 Logical Mobilityp. 295
8.4.4 Further Readingp. 302
9 Existing Notification Servicesp. 305
9.1 Standardsp. 305
9.1.1 Corba Event and Notification Servicep. 305
9.1.2 Jinip. 310
9.1.3 Java Message Service (JMS)p. 311
9.1.4 Data Distribution for Real-Time Systems (DDS)p. 313
9.1.5 WS Eventing and WS Notificationp. 317
9.1.6 The High-Level Architecture (HLA)p. 317
9.2 Commercial Systemsp. 318
9.2.1 IBM WebSphere MQp. 318
9.2.2 TIBCO Rendezvousp. 320
9.2.3 Oracle Streams Advanced Queuingp. 322
9.3 Research Prototypesp. 324
9.3.1 Gryphonp. 324
9.3.2 Sienap. 326
9.3.3 JEDIp. 329
9.3.4 Rebecap. 331
9.3.5 Hermesp. 334
9.3.6 Cambridge Event Architecture (CEA)p. 337
9.3.7 Elvinp. 340
9.3.8 READYp. 340
9.3.9 Narada Brokeringp. 340
10 Outlookp. 343
Referencesp. 349
Indexp. 379