Flow-based Programming as a Solution for Cloud Computing Requirements

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.

[1]  Leonardo Neumeyer,et al.  S4: Distributed Stream Computing Platform , 2010, 2010 IEEE International Conference on Data Mining Workshops.

[2]  Henry Li Introducing Windows Azure , 2009 .

[3]  Joe Armstrong,et al.  Programming Erlang: Software for a Concurrent World , 1993 .

[4]  Kenneth P. Birman,et al.  Live Distributed Objects , 2008 .

[5]  James R. Larus,et al.  Programming Clouds , 2010, CC.

[6]  Randy H. Katz,et al.  Above the Clouds: A Berkeley View of Cloud Computing , 2009 .

[7]  Tim Mather,et al.  Cloud Security and Privacy - An Enterprise Perspective on Risks and Compliance , 2009, Theory in practice.

[8]  Ian Lumb,et al.  A Taxonomy and Survey of Cloud Computing Systems , 2009, 2009 Fifth International Joint Conference on INC, IMS and IDC.

[9]  Joe L. Armstrong The development of Erlang , 1997, ICFP '97.

[10]  Lori M. Kaufman,et al.  Data Security in the World of Cloud Computing , 2009, IEEE Security & Privacy.

[11]  Danny Dolev,et al.  Live Distributed Objects: Enabling the Active Web , 2007, IEEE Internet Computing.

[12]  Joe Armstrong,et al.  A history of Erlang , 2007, HOPL.

[13]  Danny Dolev,et al.  Implementing reliable event streams in large systems via distributed data flows and recursive delegation , 2009, DEBS '09.

[14]  Sanjay Ghemawat,et al.  MapReduce: Simplified Data Processing on Large Clusters , 2004, OSDI.

[15]  Sven Steinseifer Evaluation And Extension Of an Implementation Of Flow-Based Programming , 2009 .

[16]  Marcos A. Simplício,et al.  A Taxonomy Model for Cloud Computing Services , 2011, CLOSER.

[17]  Danny Dolev,et al.  Quicksilver Scalable Multicast (QSM) , 2008, 2008 Seventh IEEE International Symposium on Network Computing and Applications.

[18]  Danny Dolev,et al.  Distributed data flow language for multi-party protocols , 2009, PLOS '09.

[19]  James R. Larus,et al.  Orleans: A Framework for Cloud Computing , 2010 .