Details

Publish / Subscribe Systems


Publish / Subscribe Systems

Design and Principles
Wiley Series on Communications Networking & Distributed Systems 1. Aufl.

von: Sasu Tarkoma

84,99 €

Verlag: Wiley
Format: EPUB
Veröffentl.: 19.06.2012
ISBN/EAN: 9781118354285
Sprache: englisch
Anzahl Seiten: 360

DRM-geschütztes eBook, Sie benötigen z.B. Adobe Digital Editions und eine Adobe ID zum Lesen.

Beschreibungen

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

Diese Produkte könnten Sie auch interessieren:

Foundations of Electromagnetic Compatibility
Foundations of Electromagnetic Compatibility
von: Bogdan Adamczyk
PDF ebook
117,99 €
Human Bond Communication
Human Bond Communication
von: Sudhir Dixit, Ramjee Prasad
EPUB ebook
105,99 €
Computer Vision in Vehicle Technology
Computer Vision in Vehicle Technology
von: Antonio M. López, Atsushi Imiya, Tomas Pajdla, Jose M. Álvarez
PDF ebook
81,99 €