Towards a Self-Adaptive Middleware for Building Reliable Publish/Subscribe Systems

  • Sisi Duan
  • Jingtao Sun
  • Sean Peisert
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9258)


Traditional publish/subscribe (pub/sub) systems may fail or cause longer message latency and higher computing resource usage in the presence of changes in the execution environment. We present the design and implementation of Mimosa Pudica, an adaptive and reliable middleware for adapting various changes in pub/sub systems. At the heart of Mimosa Pudica are two design ideas. First, the brokers can elect leaders to manage the network topology in a distributed manner. Second, software components can be relocated among brokers according to the user’s pre-defined rules. Through these two mechanisms, brokers can be connected in a self-adaptive manner to cope with failures and guarantee delivery of messages. In addition, brokers can effectively utilize their computing resources. Our experimental results of a large-scale pub/sub system show that in the presence of environmental changes, each self-adaptive process generates as few as 30 ms extra latency.


Software Component Adaptation Manager Leader Election Runtime System Adaptation Rule 
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.


  1. 1.
    Benzel, T.: The science of cyber security experimentation: the DETER project. In: ACSAC (2011)Google Scholar
  2. 2.
    Chand, R., Felber, P.: Xnet: a reliable content-based publish/subscribe system. In: SRDS pp. 264–273 (2004)Google Scholar
  3. 3.
    Chang, T., Duan, S., Meling, H., Peisert, S., Zhang, H.: P2S: a fault-tolerant publish/subscribe infrastructure. In: DEBS, pp. 189–197 (2014)Google Scholar
  4. 4.
    Damianou, N., Dulay, N., Lupu, E.C., Sloman, M.: The ponder policy specification language. In: Sloman, M., Lobo, J., Lupu, E.C. (eds.) POLICY 2001. LNCS, vol. 1995, pp. 18–38. Springer, Heidelberg (2001) CrossRefGoogle Scholar
  5. 5.
    Dwork, C., Lynch, N., Stockmeyer, L.: Consensus in the presence of partial synchrony. JACM 35(2), 288–323 (1988)CrossRefMathSciNetGoogle Scholar
  6. 6.
    Jerzak, Z., Fetzer, C.: State in publish/subscribe. In: DEBS, pp. 1–12 (2009)Google Scholar
  7. 7.
    Kazemzadeh, R.S., Jacobsen, H.-A.: Reliable and highly available distributed publish/subscribe service. In: SRDS, pp. 41–50 (2009)Google Scholar
  8. 8.
    Kazemzadeh, R.S., Jacobsen, H.-A.: Partition-tolerant distributed publish/subscribe systems. In: SRDS, pp. 101–110 (2011)Google Scholar
  9. 9.
    Sherafat Kazemzadeh, R., Jacobsen, H.-A.: Opportunistic multipath forwarding in content-based publish/subscribe overlays. In: Narasimhan, P., Triantafillou, P. (eds.) Middleware 2012. LNCS, vol. 7662, pp. 249–270. Springer, Heidelberg (2012) CrossRefGoogle Scholar
  10. 10.
    Koza, J.R.: Genetic Programming: On the Programming of Computers by Means of Natural Selection. MIT Press, Cambridge (1992) zbMATHGoogle Scholar
  11. 11.
    Lamport, L.: The part-time parliament. ACM Trans. Comput. Syst. 16(2), 133–169 (1998)CrossRefGoogle Scholar
  12. 12.
    Lupu, E., Sloman, M.: Conflicts in policy-based distributed systems management. IEEE Trans. Softw. Eng. 25(6), 852–869 (1999)CrossRefGoogle Scholar
  13. 13.
    Sun, J., Satoh, I.: Dynamic deployment of software components for self-adaptive distributed systems. In: Fortino, G., Di Fatta, G., Li, W., Ochoa, S., Cuzzocrea, A., Pathan, M. (eds.) IDCS 2014. LNCS, vol. 8729, pp. 194–203. Springer, Heidelberg (2014) Google Scholar
  14. 14.
    Hiroki, T., et al.: A rule-based framework for managing context-aware services based on heterogeneous and distributed web services. In: SNPD, pp. 1–6 (2014)Google Scholar
  15. 15.
    McKinley, P.K., Sadjadi, S.M., Kasten, E.P., et al.: Cheng: composing adaptive software. IEEE Comput. 37(7), 56–64 (2004)CrossRefGoogle Scholar
  16. 16.
    Zave, P., Jackson, M.: Four dark corners of requirements engineering. In: TOSEM, pp. 1–30 (1997)Google Scholar
  17. 17.
    Zhang, J., Cheng, B.H.: Model-based development of dynamically adaptive software. In: ICSE, pp. 371–380 (2006)Google Scholar
  18. 18.
    Zhang, K., Muthusamy, V., Jacobsen, H.: Total order in content-based publish/subscribe systems. In: ICDCS (2012)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2015

Authors and Affiliations

  1. 1.University of California, DavisDavisUSA
  2. 2.National Institute of InformaticsThe Graduate University for Advanced StudiesChiyoda-kuJapan

Personalised recommendations