Publish/Subscribe Systems: Design and Principles (Wiley Series on Communications Networking and Distributed Systems)

Publish/Subscribe Systems: Design and Principles (Wiley Series on Communications Networking and Distributed Systems)

By: Sasu Tarkoma (author)Paperback

1 - 2 weeks availability

Description

This book offers an unified treatment of the problems solved by publish/subscribe, how to design and implement the solutions In this book, the author provides an insight into the publish/subscribe technology including the design, implementation, and evaluation of new systems based on the technology. The book also addresses the basic design patterns and solutions, and discusses their application in practical application scenarios. Furthermore, the author examines current standards and industry best practices as well as recent research proposals in the area. Finally, necessary content matching, filtering, and aggregation algorithms and data structures are extensively covered as well as the mechanisms needed for realizing distributed publish/subscribe across the Internet. Key Features: * Addresses the basic design patterns and solutions * Covers applications and example cases including; combining Publish/Subscribe with cloud, Twitter, Facebook, mobile push (app store), Service Oriented Architecture (SOA), Internet of Things and multiplayer games * Examines current standards and industry best practices as well as recent research proposals in the area * Covers content matching, filtering, and aggregation algorithms and data structures as well as the mechanisms needed for realizing distributed publish/subscribe across the Internet Publish/Subscribe Systems will be an invaluable guide for graduate/postgraduate students and specialists in the IT industry, distributed systems and enterprise computing, software engineers and programmers working in social computing and mobile computing, researchers. Undergraduate students will also find this book of interest.

Create a review

Contents

About the Author xiii Notes on Contributors xv Preface xvii 1 Introduction 1 1.1 Overview 1 1.2 Components of a Pub/Sub System 4 1.2.1 Basic System 4 1.2.2 Distribution and Overlay Networks 5 1.2.3 Agreements 6 1.2.4 The Event Loop 7 1.2.5 Basic Properties 7 1.3 A Pub/Sub Service Model 9 1.4 Distributed Pub/Sub 10 1.5 Interfaces and Operations 11 1.6 Pub/Sub Semantics for Targeted Delivery 13 1.7 Communication Techniques 15 1.8 Environments 17 1.9 History 18 1.9.1 Research Systems 19 1.9.2 Standards 22 1.9.3 Internet Technology 23 1.9.4 A Taxonomy 24 1.10 Application Areas 26 1.11 Structure of the Book 27 References 29 2 Networking and Messaging 31 2.1 Networking 31 2.1.1 Overview 31 2.1.2 Sockets, Middleware, and Applications 33 2.1.3 Naming and Addressing 34 2.1.4 Organization 35 2.1.5 Firewalls and NATs 35 2.2 Multicast 36 2.2.1 IP (Network Layer) IP-Multicast 36 2.2.2 Application-Layer Multicast 38 2.3 Reverse Path Forwarding and Routing 38 2.4 Causality and Clocks 39 2.4.1 Causal Ordering and Lamport Clocks 39 2.4.2 Vector Clocks 40 2.4.3 Total Ordering 40 2.4.4 Discussion 41 2.5 Message Passing and RPC/RMI 42 2.5.1 Store and Forward 44 2.5.2 Concurrent Message Processing 44 2.5.3 Semantics and QoS 46 2.6 Web Services 46 2.6.1 Overview 47 2.6.2 Asynchronous Processing 48 2.6.3 The Connector Model 49 2.6.4 Web Service Platform 50 2.6.5 Enterprise Service Bus (ESB) 52 2.6.6 Service Composition 52 2.7 Session Initiation Protocol (SIP) 53 2.7.1 SIP Framework 53 2.7.2 Method Types 54 2.7.3 Establishing a Session 55 2.7.4 Extensions 55 2.8 Summary 56 References 56 3 Overlay Networks and Distributed Hash Tables 59 3.1 Overview 59 3.2 Usage 61 3.3 Consistent Hashing 62 3.4 Geometries 63 3.5 DHTs 64 3.5.1 DHT APIs 65 3.5.2 Chord 65 3.5.3 Pastry 67 3.5.4 Discussion 72 3.6 Gossip Systems 73 3.6.1 Overview 73 3.6.2 View Shuffling 75 3.6.3 Gossip for Pub/Sub 76 3.7 Summary 77 References 77 4 Principles and Patterns 79 4.1 Introduction 79 4.2 General Pub/Sub Model 80 4.2.1 Principles and Characteristics 80 4.2.2 Message Service 82 4.2.3 General Patterns 82 4.2.4 Event Notification Patterns 82 4.3 Architectural Patterns 83 4.4 Design Patterns 85 4.4.1 Structural Patterns 85 4.4.2 Behavioural Patterns 86 4.4.3 Concurrency Patterns 86 4.5 Design Patterns for Pub/Sub 86 4.5.1 Broker 86 4.5.2 Observer 87 4.5.3 Model-View-Control (MVC) 89 4.5.4 Rendezvous Point 91 4.5.5 Handoff with Rendezvous 91 4.5.6 Client-Initiated Connection 92 4.5.7 Other Patterns 93 4.6 Event Notifier Pattern 94 4.6.1 Overview 94 4.6.2 Structure 95 4.6.3 Distributed Event Notifier 97 4.6.4 Design Considerations 98 4.7 Enterprise Integration Patterns 101 4.8 Summary 103 References 103 5 Standards and Products 105 5.1 CORBA Event Service 105 5.2 CORBA Notification Service and Channel Management 106 5.3 OMG Data Distribution Service (DDS) 109 5.3.1 Overview 110 5.3.2 QoS Policies 111 5.3.3 Real-Time Communications 111 5.3.4 Applications 112 5.4 SIP Event Framework 113 5.5 Java Delegation Event Model 114 5.6 Java Distributed Event Model 114 5.7 Java Message Service (JMS) 115 5.7.1 Two Communication Models 116 5.7.2 Message Types and Selection 117 5.7.3 JMS Process 118 5.7.4 Message Delivery 120 5.7.5 Transactions 121 5.7.6 Advanced Issues 121 5.7.7 JMS in Java EE and Implementations 121 5.8 TibCo Rendezvous 122 5.9 COM+ and .NET 123 5.10 Websphere MQ 125 5.10.1 Overview 125 5.10.2 Pub/Sub in WebSphere MQ 126 5.11 Advanced Message Queuing Protocol (AMQP) 127 5.12 MQ Telemetry Transport (MQTT) 129 5.13 Summary 130 References 132 6 Web Technology 133 6.1 REST 133 6.2 AJAX 134 6.3 RSS and Atom 135 6.4 SOAP 137 6.5 XMPP 139 6.6 Constrained Application Protocol (CoAP) 140 6.7 W3C DOM Events 141 6.8 WS-Eventing and WS-Notification 142 6.9 Summary 143 References 143 7 Distributed Publish/Subscribe 145 7.1 Overview 145 7.2 Filtering Content 148 7.3 Routing Function 150 7.4 Topic-Based Routing 153 7.4.1 Mechanisms 154 7.4.2 Channelization Problem 154 7.4.3 Distributed Overlay with Many Topics 155 7.4.4 Dynamic Clustering in Topic-Based Pub/Sub 155 7.4.5 Summary 155 7.5 Filter-Based Routing 155 7.6 Content-Based Routing 157 7.6.1 Addressing Model 158 7.6.2 Propagating Routing Information 159 7.6.3 Routing Behaviour: Subscriptions 160 7.6.4 Routing Behaviour: Advertisements 161 7.6.5 Routing Tables 162 7.6.6 Forwarding 163 7.6.7 Performance Issues 164 7.6.8 A Generalized Broker with Advertisements 164 7.7 Rendezvous-Based Routing 166 7.8 Routing Invariants 167 7.8.1 Configurations 167 7.8.2 Pub/Sub Configurations 168 7.8.3 False Positives and Negatives 169 7.8.4 Weakly Valid Routing Configuration 169 7.8.5 Mobility-Safety 170 7.8.6 Stabilization and Eventual Correctness 170 7.8.7 Soft State 171 7.9 Summary 172 References 174 8 Matching Content Against Constraints 177 8.1 Overview 177 8.2 Matching Techniques 178 8.3 Filter Preliminaries 180 8.4 The Counting Algorithm 181 8.4.1 Overview 182 8.4.2 Algorithms 183 8.5 Matching with Posets 186 8.5.1 Poset Preliminaries 187 8.5.2 SIENA Poset 188 8.5.3 Poset-Derived Forest 191 8.5.4 Matching Events 192 8.6 Tree Matcher 193 8.7 XFilter and YFilter 194 8.8 Bloom Filters 196 8.8.1 Definition 197 8.8.2 Summary Subscriptions 198 8.8.3 Multicast Forwarding 198 8.8.4 Content-Based Forwarding 198 8.8.5 Multi-Level Bloom Filters 200 8.9 Summary 200 References 202 9 Research Solutions 205 9.1 Gryphon 205 9.2 The Cambridge Event Architecture (CEA) 207 9.3 Scalable Internet Event Notification Architecture (SIENA) 208 9.3.1 Event Namespace 209 9.3.2 Routing 209 9.3.3 Forwarding 210 9.3.4 Mobility Support 211 9.3.5 CBCB Routing Scheme 211 9.4 Elvin 213 9.4.1 Clustering 213 9.4.2 Federation 214 9.4.3 Quench 214 9.4.4 Mobile Support 214 9.4.5 Nondestructive Notification Receipt 215 9.5 JEDI 215 9.6 PADRES 217 9.6.1 Modular Design 217 9.6.2 Load Balancing 218 9.6.3 Composite Events 218 9.7 REDS 219 9.8 GREEN 220 9.9 Rebeca 220 9.10 XSIENA and StreamMine 221 9.11 Fuego Event Service 222 9.11.1 Fuego Middleware 222 9.11.2 Event Service 223 9.11.3 Filtering 224 9.11.4 Client-Side API 224 9.11.5 Event Router 224 9.11.6 Data Structures for Content-Based Routing 225 9.12 STEAM 227 9.13 ECho and JECho 227 9.14 DHT-Based Systems 228 9.14.1 Scribe 228 9.14.2 Bayeux and Tapestry 230 9.14.3 Hermes 231 9.14.4 Other Systems 233 9.15 Summary 234 References 235 10 IR-Style Document Dissemination in DHTs 239 10.1 Introduction 239 10.2 Data Model and Problem Statement 240 10.2.1 Data Model 240 10.2.2 Problem Statement and Challenges 241 10.3 STAIRS: Threshold-Based Document Filtering in DHTs 242 10.3.1 Overview of DHT-Based P2P Networks 242 10.3.2 Solution Framework 242 10.3.3 Document Forwarding Algorithm 244 10.4 Recent Progress and Discussion 246 10.4.1 Recent Progress 246 10.4.2 Discussion 247 10.5 Summary 248 References 248 11 Advanced Topics 251 11.1 Security 251 11.1.1 Overview 251 11.1.2 Security Threats 252 11.1.3 Security Issues in Pub/Sub Networks 253 11.1.4 EventGuard 254 11.1.5 QUIP 255 11.1.6 Hermes 255 11.1.7 Encrypting Attributes 257 11.1.8 Privacy 257 11.2 Composite Subscriptions 258 11.3 Filter Merging 260 11.4 Load Balancing 263 11.5 Content-Based Channelization 265 11.6 Reconfiguration 266 11.6.1 Middleware Component Reconfiguration 267 11.6.2 Topology Reconfiguration with Failures and Mobile Brokers 267 11.6.3 Self-Organizing Pub/Sub with Clustering 269 11.7 Mobility Support 270 11.7.1 Generic Pub/Sub Mobility 272 11.7.2 Graph Based Mobility with Optimizations 274 11.8 Congestion Control 277 11.8.1 Rate-Control Using Posets 277 11.8.2 Explicit Signalling 279 11.8.3 Rerouting to Avoid Congestion 279 11.9 Evaluation of Pub/Sub Systems 280 11.10 Summary 282 References 283 12 Applications 287 12.1 Cloud Computing 287 12.1.1 Pub/Sub for Cloud 288 12.1.2 The Windows Azure AppFabric Service Bus 288 12.1.3 Amazon Simple Queue Service (SQS) 291 12.1.4 PubNub 291 12.2 SOA and XML Brokering 292 12.3 Facebook Services 294 12.3.1 Facebook Messages 294 12.3.2 Facebook Chat and Messenger 295 12.4 PubSubHubbub 297 12.5 Complex Event Processing (CEP) 299 12.6 Online Advertisement 301 12.7 Online Multiplayer Games 303 12.8 Apple Push Notification Service (APNS) 303 12.9 Internet of Things 304 12.10 Summary 305 References 306 13 Clean-Slate Datacentric Pub/Sub Networking 309 13.1 Datacentric Communication Model 309 13.1.1 Naming of Data 310 13.1.2 Content Security 312 13.2 CCN 314 13.2.1 CCN Node Operation 314 13.2.2 CCN Transport Model 315 13.2.3 Interest Routing 316 13.3 PSIRP/PURSUIT 317 13.4 Internet Interdomain Structure 318 13.4.1 Policy Routing Problem 320 13.4.2 PURSUIT Global Rendezvous 321 13.5 Summary 323 References 325 14 Conclusions 327 Index 333

Product Details

  • publication date: 13/07/2012
  • ISBN13: 9781119951544
  • Format: Paperback
  • Number Of Pages: 360
  • ID: 9781119951544
  • weight: 546
  • ISBN10: 1119951542

Delivery Information

  • Saver Delivery: Yes
  • 1st Class Delivery: Yes
  • Courier Delivery: Yes
  • Store Delivery: Yes

Prices are for internet purchases only. Prices and availability in WHSmith Stores may vary significantly

Close