FLOW-BASED PROGRAMMING AS A SOLUTION FOR CLOUD COMPUTING REQUIREMENTS

Marcel R. Barros, Charles C. Miers, Marcos Simplício, Tereza C. M. B. Carvalho, Jan-Erik Mångs, Bob Melander, Victor Souza

2012

Abstract

Cloud computing services provide a new way of deploying applications over the Internet, as well a prominent approach for achieving enhanced scalability. Usually, exploration of cloud computing resources relies on a regular programming paradigm (such as Oriented Object Programming), depending on adjustments to deal with details inherent to the cloud provider and the issues related to scalability of regular programming paradigm. This paper addresses how Flow-Based Programming (FBP), a software architecture model based on Functional Programming, can be used as a solution to the challenges involving the achievement of distributed systems requirements. Firstly, we present a review of the concepts of FBP. We analyze Live Distributed Objects, Microsoft Orleans, and Yahoo! S4 under FBP perspective, providing a comparison among these solutions based on FBP criteria. Finally, we present an analysis of how FBP could be used to provide a better way to developers create scalable applications such as cloud computing.

References

  1. Armbrust, M., Fox, A., Griffith, R., Joseph, A. D., Katz, R. H., Konwinski, A., Lee, G., Patterson, D. A., Rabkin, A., Stoica, I., and Zaharia, M. (2009). Above the clouds: A berkeley view of cloud computing. Technical report, EECS Department, University of California, Berkeley.
  2. Armstrong, J. (1997). The development of erlang. In Proc. 2nd ACM SIGPLAN ICFP, ICFP 7897, pages 196-203, NY, USA. ACM.
  3. Armstrong, J. (2007a). A history of erlang. In Proc. 3rd ACM SIGPLAN HOPL, HOPL III, pages 6-1-6-26, New York, NY, USA. ACM.
  4. Armstrong, J. (2007b). Programming Erlang: Software for a Concurrent World. Pragmatic Bookshelf, 1 edition.
  5. Bykov, S., Geller, A., Kliot, G., Larus, J. R., Pandya, R., and Thelin, J. (2010). Orleans: A framework for cloud computing.
  6. CSA (2011). Security guidance for critical areas focus in cloud computing.
  7. Dean, J. and Ghemawat, S. (2008). MapReduce: simplified data processing on large clusters. In OSDI 7804, pages 137-150.
  8. Gonzalez, N., Miers, C., Redígolo, F., Simplício, M., Carvalho, T., Naslund, M., and Pourzandi, M. (2011). A taxonomy model for cloud computing services. In Proceedings of CLOSER 2011, Noordwijkerhout, The Netherlands. INSTICC.
  9. Kaufman, L. M. (2009). Data security in the world of cloud computing. IEEE Security and Privacy, 7(4):61-64.
  10. Li, H. (2009). Introducing Windows Azure. Apress, Berkely, CA, USA.
  11. Mather, T., Kumaraswamy, S., and Latif, S. (2009). Cloud Security and Privacy: An Enterprise Perspective on Risks and Compliance. O'Reilly Media, 1 edition.
  12. Morrison, J. P. (1994). Flow-Based Programming: A New Approach to Application Development. Van Nostrand Reinhold, 1st edition.
  13. Morrison, J. P. (2003). Asynchronous component-based programming.
  14. Morrison, J. P. (2005). Patterns in flow-based programming.
  15. MSDN (2011). Orleans: A framework for scalable Client+Cloud computing.
  16. Neumeyer, L., Robbins, B., Nair, A., and Kesari, A. (2010). S4: Distributed stream computing platform. In Data Mining Workshops, International Conference on, pages 170-177, CA, USA. IEEE Computer Society.
  17. Ostrowski, K., Birman, K., and Dolev, D. (2007). Live distributed objects: Enabling the active web. IEEE IC, 11:72-78.
  18. Ostrowski, K., Birman, K., and Dolev, D. (2008). Quicksilver scalable multicast (QSM). In Network Computing and Applications, pages 9-18, CA, USA. IEEE CS.
  19. Ostrowski, K., Birman, K., and Dolev, D. (2009a). Distributed data flow language for multi-party protocols. In Proc. 5th Workshop on Programming Languages and Operating Systems, PLOS 7809, page 7:1-7:5, New York, NY, USA. ACM.
  20. Ostrowski, K., Birman, K., Dolev, D., and Sakoda, C. (2009b). Implementing reliable event streams in large systems via distributed data flows and recursive delegation. In Proc. 3rd ACM - DEBS, page 15:1-15:14, New York, NY, USA. ACM.
  21. Ostrowski, K. J. (2008). Live distributed objects. PhD thesis, Cornell University, Ithaca, NY, USA.
  22. Rimal, B. P., Choi, E., and Lumb, I. (2009). A taxonomy and survey of cloud computing systems. In Networked Computing and Advanced Information Management, International Conference on, pages 44-51, Los Alamitos, CA, USA. IEEE Computer Society.
  23. Steinseifer, S. (2009). Evaluation and Extension of an Implementation of Flow-Based Programming. PhD thesis, Fachhochschule Gieÿen-Friedberg.
Download


Paper Citation


in Harvard Style

R. Barros M., C. Miers C., Simplício M., C. M. B. Carvalho T., Mångs J., Melander B. and Souza V. (2012). FLOW-BASED PROGRAMMING AS A SOLUTION FOR CLOUD COMPUTING REQUIREMENTS . In Proceedings of the 1st International Conference on Operations Research and Enterprise Systems - Volume 1: ICORES, ISBN 978-989-8425-97-3, pages 432-440. DOI: 10.5220/0003759004320440


in Bibtex Style

@conference{icores12,
author={Marcel R. Barros and Charles C. Miers and Marcos Simplício and Tereza C. M. B. Carvalho and Jan-Erik Mångs and Bob Melander and Victor Souza},
title={FLOW-BASED PROGRAMMING AS A SOLUTION FOR CLOUD COMPUTING REQUIREMENTS},
booktitle={Proceedings of the 1st International Conference on Operations Research and Enterprise Systems - Volume 1: ICORES,},
year={2012},
pages={432-440},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0003759004320440},
isbn={978-989-8425-97-3},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 1st International Conference on Operations Research and Enterprise Systems - Volume 1: ICORES,
TI - FLOW-BASED PROGRAMMING AS A SOLUTION FOR CLOUD COMPUTING REQUIREMENTS
SN - 978-989-8425-97-3
AU - R. Barros M.
AU - C. Miers C.
AU - Simplício M.
AU - C. M. B. Carvalho T.
AU - Mångs J.
AU - Melander B.
AU - Souza V.
PY - 2012
SP - 432
EP - 440
DO - 10.5220/0003759004320440