skip to main content
10.1145/2451436.2451450acmotherconferencesArticle/Chapter ViewAbstractPublication PagesmodularityConference Proceedingsconference-collections
research-article

Aggregation for implicit invocations

Published:24 March 2013Publication History

ABSTRACT

Implicit invocations are a popular mechanism for exchanging information between software components without binding these strongly. This decoupling is particularly important in distributed systems when interacting components are not known until runtime. In most realistic distributed systems though, components require some information about each other, be it only about their presence or their number. Runtime systems for implicit invocations--so-called publish/subscribe systems--are thus often combined with other systems providing such information. Given the variety of requirements for information about interacting components across applications, this paper proposes a generic augmentation of implicit invocations: rather than extending a given publish/subscribe API and system in order to convey a particular type of information across interacting components, we describe domain-specific joinpoints that can be used to advise application-level invocation routers-so-called brokers--used by publish/subscribe systems. This enables aggregation of application-specific information to and from components in a scalable manner.

After presenting our domain-specific joinpoint model, we describe its implementation inside the REDS publish/subscribe middleware. The empirical evaluation of our approach shows that: (a) it outperforms external aggregation systems, by collecting and distributing information with a limited overhead; (b) the deployment of new functionalities has virtually no overhead, even if it occurs while the publish/subscribe system is running.

References

  1. S. Behnel, L. Fiege, and G. Mühl. On Quality-of-Service and Publish-Subscribe. In ICDCSW'06. %, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. N. Benton, L. Cardelli, and C. Fournet. Modern Concurrency Abstractions for C#. ACM TOPLAS, 26(5):769--804, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. G. S. Blair, G. Coulson, M. Clarke, and N. Parlavantzas. Performance and Integrity in the OpenORB Reflective Middleware. In Reflection 2001, pages 268--269, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. A. Carzaniga, D. Rosenblum, and A. Wolf. Design and Evaluation of a Wide Area Event Notification Service. ACM TOCS, 19(3):332--383, Aug. 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. A. K. Y. Cheung and H. Jacobsen. Publisher Placement Algorithms in Content-based Publish/Subscribe. In ICDCS'10., 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. G. Chockler, I. Keidar, and R. Vitenberg. Group Communication Specifications: a Comprehensive Study. ACM CSUR, 33(4):427--469, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. G. Coulson, G. Blair, P. Grace, F. Taiani, A. Joolia, K. Lee, J. Ueyama, and T. Sivaharan. A Generic Component Model for Building Systems Software. ACM TOCS, 26(1):1--42, Mar. 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. G. Cugola, M. Migliavacca, and A. Monguzzi. On Adding Replies to Publish-Subscribe. In DEBS'07., 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. G. Cugola, E. D. Nitto, and A. Fuggetta. The JEDI Event-Based Infrastructure and Its Application to the Development of the OPSS WFMS. IEEE TSE, 27(9):827--850, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. G. Cugola and G. P. Picco. REDS: a Reconfigurable Dispatching System. In SEM'06., 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. R. Douence, P. Fradet, and M. Südholt. Composition, Reuse and Interaction Analysis of Stateful Aspects. In AOSD'04., pages 141--150, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Ericsson Computer Science Laboratory. The Erlang Pogramming Language. http://www.erlang.org.Google ScholarGoogle Scholar
  13. P. Eugster. Type-based Publish/Subscribe: Concepts and Experiences. TOPLAS, 29(1), 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. P. Eugster and K. Jayaram. EventJava: An Extension of Java for Event Correlation. In ECOOP'09., pages 570--594, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. P. T. Eugster, P. A. Felber, R. Guerraoui, and A.-M. Kermarrec. The Many Faces of Publish/Subscribe. ACM CSUR, 35:114--131, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. P. Felber. Lightweight Fault Tolerance in CORBA. In DOA'01., 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. E. Fidler, H. Jacobsen, G. Li, and S. Mankovski. The PADRES Distributed Publish/Subscribe System. Feature Interactions in Telecommunications and Software Systems, VIII, 2005.Google ScholarGoogle Scholar
  18. C. Fournet and C. Gonthier. The Reflexive Chemical Abstract Machine and the Join Calculus. In POPL'96., %pages 372--385, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. V. Gasiunas, L. Satabin, M. Mezini, A. Núnez, and J. Noyé. EScala: Modular Event-driven Object Interactions in Scala. In AOSD 2011., pages 227--240, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. S. Guha, A. Reznichenko, K. Tang, H. Haddadi, and P. Francis. Serving Ads from Localhost for Performance, Privacy, and Profit. In HotNets'09., 2009.Google ScholarGoogle Scholar
  21. M. Haahr, R. Meier, P. Nixon, V. Cahill, and E. Jul. Filtering and Scalability in the ECO Distributed Event Model. In PDSE'00., %pages 83--92, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. P. Haller and T. Van Cutsem. Implementing Joins using Extensible Pattern Matching. In COORDINATION'08., %pages 135--152, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. A. Hinze, K. Sachs, and A. Buchmann. Event-based Applications and Enabling Technologies. In DEBS'09., 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. A. Holzer, L. Ziarek, K. Jayaram, and P. Eugster. Putting Events in Context: Aspects for Event-based Distributed Programming. In AOSD'11., %pages 241--252, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. A. Holzer, L. Ziarek, K. Jayaram, and P. Eugster. Abstracting Context in Event-based Software. In TAOSD'12., 2012.% To Appear. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. N. Jain, D. Kit, P. Mahajan, P. Yalagandula, M. Dahlin, and Y. Zhang. STAR: Self-tuning Aggregation for Scalable Monitoring. In VLDB'07., 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. N. Jain, P. Mahajan, D. Kit, P. Yalagandula, M. Dahlin, and Y. Zhang. Network Imprecision: a New Consistency Metric for Scalable Monitoring. In OSDI'08., 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. G. Kiczales, E. Hilsdale, J. Hugunin, M. Kersten, J. Palm, and W. Griswold. An Overview of AspectJ. In ECOOP 2001., pages 327--353, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C. Videira Lopes, J.-M. Loingtier, and J. Irwin. Aspect-Oriented Programming. In ECOOP'97., 1997.Google ScholarGoogle ScholarCross RefCross Ref
  30. R. R. Kompella, J. Yates, A. Greenberg, and A. C. Snoeren. IP Fault Localization via Risk Modeling. In NSDI'05., pages 57--70, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. F. Kon, M. Román, P. Liu, J. Mao, T. Yamane, L. C. Magalhaes, and R. H. Campbell. Monitoring, Security, and Dynamic Configuration with the TAO Reflective ORB. In Middleware 2000., %pages 121--143, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. S. Landis and S. Maffeis. Building Reliable Distributed Systems with CORBA. Theory and Practice of Object Systems, 3(1):31--43, 1997.Google ScholarGoogle ScholarCross RefCross Ref
  33. S. Meng, S. Kashyap, C. Venkatramani, and L. Liu. Remo: Resource-Aware Application State Monitoring for Large-scale Distributed Systems. In ICDCS'09., 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. L. Navarro, M. Südholt, W. Vanderperren, B. D. Fraine, and D. Suvée. Explicitly Distributed AOP using AWED. In AOSD'06., pages 51--62, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. B. Oki, M. Pfluegl, A. Siegel, and D. Skeen. The Information Bus - An Architecture for Extensible Distributed Systems. In SOSP'93., 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. Oracle Co. Java Message Service - Specification, version 1.1. http://www.oracle.com/technetwork/java/jms/index.html, 2008Google ScholarGoogle Scholar
  37. H. Plociniczak and S. Eisenbach. JErlang: Erlang with Joins. In COORDINATION'10., pages 61--75, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. H. Rajan and G. Leavens. Ptolemy: A Language with Quantified, Typed Events. In ECOOP'08., pages 155--179, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. S. P. Reiss. Connecting Tools Using Message Passing in the Field Environment. IEEE Software, 7(4):57--66, 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. M. K. Reiter. A Secure Group Membership Protocol. IEEE TSE, 22(1):31--42, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. J. Sacha, J. Napper, C. Stratan, and G. Pierre. Adam2: Reliable Distribution Estimation in Decentralised Environments. In ICDCS'10, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. B. Snyder, D. Bosanac, and R. Davies. ActiveMQ in Action. Manning Publications Co., 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. K. Sullivan and D. Notkin. Reconciling Environment Integration and Software Evolution. ACM TOSEM, 1(3):229--268, July 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. M. Sulzmann, E. Lam, and P. V. Weert. Actors with Multi-headed Message Receive Patterns. In COORDINATION'08., %pages 315--330, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. R. Van Renesse, K. P. Birman, and W. Vogels. Astrolabe: A robust and Scalable Technology for Distributed System Monitoring, Management, and Data Mining. ACM TOCS, 21:164--206, May 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  46. E. Wohlstadter, S. Jackson, and P. Devanbu. DADO: Enhancing Middleware to Support Crosscutting Features in Distributed, Heterogeneous Systems. In ICSE'03., pages 174--186, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. P. Yalagandula and M. Dahlin. A Scalable Distributed Information Management System. In SICOMM'04., 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Aggregation for implicit invocations

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • Published in

      cover image ACM Other conferences
      AOSD '13: Proceedings of the 12th annual international conference on Aspect-oriented software development
      March 2013
      232 pages
      ISBN:9781450317665
      DOI:10.1145/2451436

      Copyright © 2013 ACM

      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 24 March 2013

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article

      Acceptance Rates

      Overall Acceptance Rate41of139submissions,29%

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader