Ensuring Faultless Communication Behaviour in A Commercial Cloud

For many Cloud providers, the backbone of their system is a Cloud coordinator that exposes a portfolio of services to users. The goal of this work is to ensure that a Cloud coordinator interacts correctly with services and users according to a specification of their communication behaviour. To accomplish this goal, we employ session types to analyse the global and local communication patterns. A session type provides an appropriate level of abstraction for specifying message exchange patterns between participants. This work confirms the feasibility of applying session types to protocols used by a commercial Cloud provider. The protocols are developed in SessionJ, an extension of Java implementing session-based programming. We also highlight that the same techniques can be applied when Java is not the development environment by type checking runtime monitors, as in Scribble. Finally, we suggest how our methodology can be used to ensure the correctness of protocols for Cloud brokers, that integrate services exposed by multiple Cloud coordinators, each of whom must correctly cooperate with the Cloud broker.

[1]  Marin Litoiu,et al.  Introducing STRATOS: A Cloud Broker Service , 2012, 2012 IEEE Fifth International Conference on Cloud Computing.

[2]  Joe Armstrong Getting Erlang to talk to the outside world , 2002, ERLANG '02.

[3]  Simon J. Gay,et al.  Subtyping for session types in the pi calculus , 2005, Acta Informatica.

[4]  Nobuko Yoshida,et al.  Structured Communication-Centred Programming for Web Services , 2007, ESOP.

[5]  Nobuko Yoshida,et al.  Multiparty Session C: Safe Parallel Programming with Message Optimisation , 2012, TOOLS.

[6]  Paulo F. Pires,et al.  Cloud Integrator: Building Value-Added Services on the Cloud , 2011, 2011 First International Symposium on Network Cloud Computing and Applications.

[7]  Nobuko Yoshida,et al.  Type-Safe Eventful Sessions in Java , 2010, ECOOP.

[8]  Steven Diamond,et al.  Blueprint for the Intercloud - Protocols and Formats for Cloud Computing Interoperability , 2009, 2009 Fourth International Conference on Internet and Web Applications and Services.

[9]  Nobuko Yoshida,et al.  Practical Interruptible Conversations - Distributed Dynamic Verification with Session Types and Python , 2013, RV.

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

[11]  Christopher Frost,et al.  Spanner: Google's Globally-Distributed Database , 2012, OSDI.

[12]  Nobuko Yoshida,et al.  Structured Communication-Centered Programming for Web Services , 2007, TOPL.

[13]  Nobuko Yoshida,et al.  Session-Based Distributed Programming in Java , 2008, ECOOP.

[14]  Rajkumar Buyya,et al.  InterCloud: Utility-Oriented Federation of Cloud Computing Environments for Scaling of Application Services , 2010, ICA3PP.

[15]  Richard Wolski,et al.  The Eucalyptus Open-Source Cloud-Computing System , 2009, 2009 9th IEEE/ACM International Symposium on Cluster Computing and the Grid.

[16]  Samik Basu,et al.  Deciding choreography realizability , 2012, POPL '12.

[17]  Laura Bocchi,et al.  Monitoring Networks through Multiparty Session Types , 2013, FMOODS/FORTE.

[18]  Borja Sotomayor,et al.  Virtual Infrastructure Management in Private and Hybrid Clouds , 2009, IEEE Internet Computing.

[19]  Randy H. Katz,et al.  A view of cloud computing , 2010, CACM.

[20]  Rumyana Neykova Session Types Go Dynamic or How to Verify Your Python Conversations , 2013, PLACES.

[21]  Gary Brown,et al.  Scribbling Interactions with a Formal Foundation , 2011, ICDCIT.

[22]  R. Milner,et al.  A Theoretical Basis of Communication-Centred Concurrent Programming , 2005 .

[23]  Rajkumar Buyya,et al.  Article in Press Future Generation Computer Systems ( ) – Future Generation Computer Systems Cloud Computing and Emerging It Platforms: Vision, Hype, and Reality for Delivering Computing as the 5th Utility , 2022 .

[24]  Gabriel Ciobanu,et al.  Non-interleaving Operational Semantics for Geographically Replicated Databases , 2013, 2013 15th International Symposium on Symbolic and Numeric Algorithms for Scientific Computing.