Abstract
Distributed publish/subscribe systems are naturally suited for processing events in distributed systems. However, support for expressing patterns about distributed events and algorithms for detecting correlations among these events are still largely unexplored. Inspired from the requirements of decentralized, event-driven workflow processing, we design a subscription language for expressing correlations among distributed events. We illustrate the potential of our approach with a workflow management case study. The language is validated and implemented in PADRES. In this paper we present an overview of PADRES, highlighting some of its novel features, including the composite subscription language, the coordination patterns, the composite event detection algorithms, the rule-based router design, and a detailed case study illustrating the decentralized processing of workflows. Our experimental evaluation shows that rule-based brokers are a viable and powerful alternative to existing, special-purpose, content-based routing algorithms. The experiments also show that the use of composite subscriptions in PADRES significantly reduces the load on the network. Complex workflows can be processed in a decentralized fashion with a gain of 40% in message dissemination cost. All processing is realized entirely in the publish/subscribe paradigm.
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
Aho, A., Hopcroft, J., Ullman, J.: Data structures and algorithms. Addison-Wesley, Reading (1983)
Ashayer, G., Leung, H., Jacobsen, H.-A.: Predicate matching and subscription matching in publish/subscribe systems. In: DEBS 2002 Workshop at ICDCS 2002, Vienna, Austria (2002)
Carzaniga, A., Rosenblum, D.S., Wolf, A.L.: Design and evaluation of a wide-area event notification service. ACM Transactions on Computer Systems 19(3), 332–383 (2001)
Chakravarthy, S., Mishra, D.: Snoop: An expressive event specification language for active databases. Data and Knowledge Engineering 14(1), 1–26 (1994)
Courtenage, S.: Specifying and detecting composite events in content-based publish/subscribe systems. In: Proceedings of the 1st International Workshop on Distributed Event-Based Systems(DEBS 2002) (2002)
Cugola, G., Nitto, E.D., Fuggetta, A.: The JEDI event-based infrastructure and its application to the development of the OPSS WFMS. IEEE Transactions on Software Engineering 27(9) (2001)
Fabret, F., Jacobsen, H.-A., Llirbat, F., Pereira, J., Ross, K.A., Shasha, D.: Filtering algorithms and implementation for very fast publish/subscribe systems. SIGMOD Rec. 30(2), 115–126 (2001)
Fidler, E., Jacobsen, H.-A., Li, G., Mankovski, S.: Distributed publish/subscribe for workflow management. In: International Conference on Feature Interactions in Telecommunications and Software Systems (ICFI 2005), Leisester, UK (2005)
Forgy, C.L.: Rete: A fast algorithm for the many pattern/many object pattern match problem. Artificial Intelligence 19(1), 17–37 (1982)
Friedman-Hill, E.J.: Jess, The Rule Engine for the Java Platform, http://herzberg.ca.sandia.gov/jess/
Gatziu, S., Dittrich, K.R.: Detecting composite events in active database systems using petri nets. In: Proceedings of the 4th Intl. Workshop on Research Issues in Data Engineering (RIDE): Active Database Systems, Houston, Texas (1994)
Gehani, N.H., Jagadish, H.V., Shmueli, O.: Composite event specification in active databases: Model & implementation. In: Proceedings of the 18th International Conference on Very Large Data Bases, pp. 327–338 (1992)
Gruber, R.E., Krishnamurthy, B., Panagos, E.: The architecture of the ready event notification service. In: 19th IEEE International Conference on Distributed Computing Systems Middleware Workshop (1999)
IBM and Microsoft. Business process execution language for web services version 1.0, http://dev2dev.bea.com/techtrack/BPEL4WS.jsp
Li, G., Hou, S., Jacobsen, H.-A.: A unified approach to routing, covering and merging in publish/subscribe systems based on modified binary decision diagrams. In: International Conference on Distributed Computing Systems (ICDCS 2005), Columbus, Ohio, USA (2005)
Mansouri-Samani, M., Sloman, M.: GEM: A generalized event monitoring language for distributed systems. IEE/IOP/BCS Distributed Systems Engineering Journal 4(2) (June 1997)
Moreto, D., Endler, M.: Evaluating composite events using shared trees. IEE Proceedings - Software 148(1), 1–10 (2001)
Mühl, G.: Large-scale content-based publish/subscribe systems. PhD thesis, Department of Computer Science, Darmstadt University of Technology (2002)
Opyrchal, L., Astley, M., Auerbach, J., Banavar, G., Strom, R., Sturman, D.: Exploiting IP multicast in content-based publish-subscribe systems. In: IFIP/ACM International Conference on Distributed systems platforms, pp. 185–207 (2000)
Pietzuch, P.R., Bacon, J.: Hermes: A distributed event-based middleware architecture. In: Proceedings of the 22nd International Conference on Distributed Computing Systems, pp. 611–618. IEEE Computer Society, Los Alamitos (2002)
Pietzuch, P.R., Shand, B., Bacon, J.: Composite event detection as a generic middleware extension. In: IEEE Network Magazine, Special Issue on Middleware Technologies for Future Communication Networks, January/February (2004)
Ulbrich, A., Mühl, G., Weis, T., Geihs, K.: Programming abstractions for content-based publish/subscribe in object-oriented languages. In: CoopIS/DOA/ODBASE (2), pp. 1538–1557 (2004)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 IFIP International Federation for Information Processing
About this paper
Cite this paper
Li, G., Jacobsen, HA. (2005). Composite Subscriptions in Content-Based Publish/Subscribe Systems. In: Alonso, G. (eds) Middleware 2005. Middleware 2005. Lecture Notes in Computer Science, vol 3790. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11587552_13
Download citation
DOI: https://doi.org/10.1007/11587552_13
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-30323-7
Online ISBN: 978-3-540-32269-6
eBook Packages: Computer ScienceComputer Science (R0)