
- •Cloud Computing
- •Foreword
- •Preface
- •Introduction
- •Expected Audience
- •Book Overview
- •Part 1: Cloud Base
- •Part 2: Cloud Seeding
- •Part 3: Cloud Breaks
- •Part 4: Cloud Feedback
- •Contents
- •1.1 Introduction
- •1.1.1 Cloud Services and Enabling Technologies
- •1.2 Virtualization Technology
- •1.2.1 Virtual Machines
- •1.2.2 Virtualization Platforms
- •1.2.3 Virtual Infrastructure Management
- •1.2.4 Cloud Infrastructure Manager
- •1.3 The MapReduce System
- •1.3.1 Hadoop MapReduce Overview
- •1.4 Web Services
- •1.4.1 RPC (Remote Procedure Call)
- •1.4.2 SOA (Service-Oriented Architecture)
- •1.4.3 REST (Representative State Transfer)
- •1.4.4 Mashup
- •1.4.5 Web Services in Practice
- •1.5 Conclusions
- •References
- •2.1 Introduction
- •2.2 Background and Related Work
- •2.3 Taxonomy of Cloud Computing
- •2.3.1 Cloud Architecture
- •2.3.1.1 Services and Modes of Cloud Computing
- •Software-as-a-Service (SaaS)
- •Platform-as-a-Service (PaaS)
- •Hardware-as-a-Service (HaaS)
- •Infrastructure-as-a-Service (IaaS)
- •2.3.2 Virtualization Management
- •2.3.3 Core Services
- •2.3.3.1 Discovery and Replication
- •2.3.3.2 Load Balancing
- •2.3.3.3 Resource Management
- •2.3.4 Data Governance
- •2.3.4.1 Interoperability
- •2.3.4.2 Data Migration
- •2.3.5 Management Services
- •2.3.5.1 Deployment and Configuration
- •2.3.5.2 Monitoring and Reporting
- •2.3.5.3 Service-Level Agreements (SLAs) Management
- •2.3.5.4 Metering and Billing
- •2.3.5.5 Provisioning
- •2.3.6 Security
- •2.3.6.1 Encryption/Decryption
- •2.3.6.2 Privacy and Federated Identity
- •2.3.6.3 Authorization and Authentication
- •2.3.7 Fault Tolerance
- •2.4 Classification and Comparison between Cloud Computing Ecosystems
- •2.5 Findings
- •2.5.2 Cloud Computing PaaS and SaaS Provider
- •2.5.3 Open Source Based Cloud Computing Services
- •2.6 Comments on Issues and Opportunities
- •2.7 Conclusions
- •References
- •3.1 Introduction
- •3.2 Scientific Workflows and e-Science
- •3.2.1 Scientific Workflows
- •3.2.2 Scientific Workflow Management Systems
- •3.2.3 Important Aspects of In Silico Experiments
- •3.3 A Taxonomy for Cloud Computing
- •3.3.1 Business Model
- •3.3.2 Privacy
- •3.3.3 Pricing
- •3.3.4 Architecture
- •3.3.5 Technology Infrastructure
- •3.3.6 Access
- •3.3.7 Standards
- •3.3.8 Orientation
- •3.5 Taxonomies for Cloud Computing
- •3.6 Conclusions and Final Remarks
- •References
- •4.1 Introduction
- •4.2 Cloud and Grid: A Comparison
- •4.2.1 A Retrospective View
- •4.2.2 Comparison from the Viewpoint of System
- •4.2.3 Comparison from the Viewpoint of Users
- •4.2.4 A Summary
- •4.3 Examining Cloud Computing from the CSCW Perspective
- •4.3.1 CSCW Findings
- •4.3.2 The Anatomy of Cloud Computing
- •4.3.2.1 Security and Privacy
- •4.3.2.2 Data and/or Vendor Lock-In
- •4.3.2.3 Service Availability/Reliability
- •4.4 Conclusions
- •References
- •5.1 Overview – Cloud Standards – What and Why?
- •5.2 Deep Dive: Interoperability Standards
- •5.2.1 Purpose, Expectations and Challenges
- •5.2.2 Initiatives – Focus, Sponsors and Status
- •5.2.3 Market Adoption
- •5.2.4 Gaps/Areas of Improvement
- •5.3 Deep Dive: Security Standards
- •5.3.1 Purpose, Expectations and Challenges
- •5.3.2 Initiatives – Focus, Sponsors and Status
- •5.3.3 Market Adoption
- •5.3.4 Gaps/Areas of Improvement
- •5.4 Deep Dive: Portability Standards
- •5.4.1 Purpose, Expectations and Challenges
- •5.4.2 Initiatives – Focus, Sponsors and Status
- •5.4.3 Market Adoption
- •5.4.4 Gaps/Areas of Improvement
- •5.5.1 Purpose, Expectations and Challenges
- •5.5.2 Initiatives – Focus, Sponsors and Status
- •5.5.3 Market Adoption
- •5.5.4 Gaps/Areas of Improvement
- •5.6 Deep Dive: Other Key Standards
- •5.6.1 Initiatives – Focus, Sponsors and Status
- •5.7 Closing Notes
- •References
- •6.1 Introduction and Motivation
- •6.2 Cloud@Home Overview
- •6.2.1 Issues, Challenges, and Open Problems
- •6.2.2 Basic Architecture
- •6.2.2.1 Software Environment
- •6.2.2.2 Software Infrastructure
- •6.2.2.3 Software Kernel
- •6.2.2.4 Firmware/Hardware
- •6.2.3 Application Scenarios
- •6.3 Cloud@Home Core Structure
- •6.3.1 Management Subsystem
- •6.3.2 Resource Subsystem
- •6.4 Conclusions
- •References
- •7.1 Introduction
- •7.2 MapReduce
- •7.3 P2P-MapReduce
- •7.3.1 Architecture
- •7.3.2 Implementation
- •7.3.2.1 Basic Mechanisms
- •Resource Discovery
- •Network Maintenance
- •Job Submission and Failure Recovery
- •7.3.2.2 State Diagram and Software Modules
- •7.3.3 Evaluation
- •7.4 Conclusions
- •References
- •8.1 Introduction
- •8.2 The Cloud Evolution
- •8.3 Improved Network Support for Cloud Computing
- •8.3.1 Why the Internet is Not Enough?
- •8.3.2 Transparent Optical Networks for Cloud Applications: The Dedicated Bandwidth Paradigm
- •8.4 Architecture and Implementation Details
- •8.4.1 Traffic Management and Control Plane Facilities
- •8.4.2 Service Plane and Interfaces
- •8.4.2.1 Providing Network Services to Cloud-Computing Infrastructures
- •8.4.2.2 The Cloud Operating System–Network Interface
- •8.5.1 The Prototype Details
- •8.5.1.1 The Underlying Network Infrastructure
- •8.5.1.2 The Prototype Cloud Network Control Logic and its Services
- •8.5.2 Performance Evaluation and Results Discussion
- •8.6 Related Work
- •8.7 Conclusions
- •References
- •9.1 Introduction
- •9.2 Overview of YML
- •9.3 Design and Implementation of YML-PC
- •9.3.1 Concept Stack of Cloud Platform
- •9.3.2 Design of YML-PC
- •9.3.3 Core Design and Implementation of YML-PC
- •9.4 Primary Experiments on YML-PC
- •9.4.1 YML-PC Can Be Scaled Up Very Easily
- •9.4.2 Data Persistence in YML-PC
- •9.4.3 Schedule Mechanism in YML-PC
- •9.5 Conclusion and Future Work
- •References
- •10.1 Introduction
- •10.2 Related Work
- •10.2.1 General View of Cloud Computing frameworks
- •10.2.2 Cloud Computing Middleware
- •10.3 Deploying Applications in the Cloud
- •10.3.1 Benchmarking the Cloud
- •10.3.2 The ProActive GCM Deployment
- •10.3.3 Technical Solutions for Deployment over Heterogeneous Infrastructures
- •10.3.3.1 Virtual Private Network (VPN)
- •10.3.3.2 Amazon Virtual Private Cloud (VPC)
- •10.3.3.3 Message Forwarding and Tunneling
- •10.3.4 Conclusion and Motivation for Mixing
- •10.4 Moving HPC Applications from Grids to Clouds
- •10.4.1 HPC on Heterogeneous Multi-Domain Platforms
- •10.4.2 The Hierarchical SPMD Concept and Multi-level Partitioning of Numerical Meshes
- •10.4.3 The GCM/ProActive-Based Lightweight Framework
- •10.4.4 Performance Evaluation
- •10.5 Dynamic Mixing of Clusters, Grids, and Clouds
- •10.5.1 The ProActive Resource Manager
- •10.5.2 Cloud Bursting: Managing Spike Demand
- •10.5.3 Cloud Seeding: Dealing with Heterogeneous Hardware and Private Data
- •10.6 Conclusion
- •References
- •11.1 Introduction
- •11.2 Background
- •11.2.1 ASKALON
- •11.2.2 Cloud Computing
- •11.3 Resource Management Architecture
- •11.3.1 Cloud Management
- •11.3.2 Image Catalog
- •11.3.3 Security
- •11.4 Evaluation
- •11.5 Related Work
- •11.6 Conclusions and Future Work
- •References
- •12.1 Introduction
- •12.2 Layered Peer-to-Peer Cloud Provisioning Architecture
- •12.4.1 Distributed Hash Tables
- •12.4.2 Designing Complex Services over DHTs
- •12.5 Cloud Peer Software Fabric: Design and Implementation
- •12.5.1 Overlay Construction
- •12.5.2 Multidimensional Query Indexing
- •12.5.3 Multidimensional Query Routing
- •12.6 Experiments and Evaluation
- •12.6.1 Cloud Peer Details
- •12.6.3 Test Application
- •12.6.4 Deployment of Test Services on Amazon EC2 Platform
- •12.7 Results and Discussions
- •12.8 Conclusions and Path Forward
- •References
- •13.1 Introduction
- •13.2 High-Throughput Science with the Nimrod Tools
- •13.2.1 The Nimrod Tool Family
- •13.2.2 Nimrod and the Grid
- •13.2.3 Scheduling in Nimrod
- •13.3 Extensions to Support Amazon’s Elastic Compute Cloud
- •13.3.1 The Nimrod Architecture
- •13.3.2 The EC2 Actuator
- •13.3.3 Additions to the Schedulers
- •13.4.1 Introduction and Background
- •13.4.2 Computational Requirements
- •13.4.3 The Experiment
- •13.4.4 Computational and Economic Results
- •13.4.5 Scientific Results
- •13.5 Conclusions
- •References
- •14.1 Using the Cloud
- •14.1.1 Overview
- •14.1.2 Background
- •14.1.3 Requirements and Obligations
- •14.1.3.1 Regional Laws
- •14.1.3.2 Industry Regulations
- •14.2 Cloud Compliance
- •14.2.1 Information Security Organization
- •14.2.2 Data Classification
- •14.2.2.1 Classifying Data and Systems
- •14.2.2.2 Specific Type of Data of Concern
- •14.2.2.3 Labeling
- •14.2.3 Access Control and Connectivity
- •14.2.3.1 Authentication and Authorization
- •14.2.3.2 Accounting and Auditing
- •14.2.3.3 Encrypting Data in Motion
- •14.2.3.4 Encrypting Data at Rest
- •14.2.4 Risk Assessments
- •14.2.4.1 Threat and Risk Assessments
- •14.2.4.2 Business Impact Assessments
- •14.2.4.3 Privacy Impact Assessments
- •14.2.5 Due Diligence and Provider Contract Requirements
- •14.2.5.1 ISO Certification
- •14.2.5.2 SAS 70 Type II
- •14.2.5.3 PCI PA DSS or Service Provider
- •14.2.5.4 Portability and Interoperability
- •14.2.5.5 Right to Audit
- •14.2.5.6 Service Level Agreements
- •14.2.6 Other Considerations
- •14.2.6.1 Disaster Recovery/Business Continuity
- •14.2.6.2 Governance Structure
- •14.2.6.3 Incident Response Plan
- •14.3 Conclusion
- •Bibliography
- •15.1.1 Location of Cloud Data and Applicable Laws
- •15.1.2 Data Concerns Within a European Context
- •15.1.3 Government Data
- •15.1.4 Trust
- •15.1.5 Interoperability and Standardization in Cloud Computing
- •15.1.6 Open Grid Forum’s (OGF) Production Grid Interoperability Working Group (PGI-WG) Charter
- •15.1.7.1 What will OCCI Provide?
- •15.1.7.2 Cloud Data Management Interface (CDMI)
- •15.1.7.3 How it Works
- •15.1.8 SDOs and their Involvement with Clouds
- •15.1.10 A Microsoft Cloud Interoperability Scenario
- •15.1.11 Opportunities for Public Authorities
- •15.1.12 Future Market Drivers and Challenges
- •15.1.13 Priorities Moving Forward
- •15.2 Conclusions
- •References
- •16.1 Introduction
- •16.2 Cloud Computing (‘The Cloud’)
- •16.3 Understanding Risks to Cloud Computing
- •16.3.1 Privacy Issues
- •16.3.2 Data Ownership and Content Disclosure Issues
- •16.3.3 Data Confidentiality
- •16.3.4 Data Location
- •16.3.5 Control Issues
- •16.3.6 Regulatory and Legislative Compliance
- •16.3.7 Forensic Evidence Issues
- •16.3.8 Auditing Issues
- •16.3.9 Business Continuity and Disaster Recovery Issues
- •16.3.10 Trust Issues
- •16.3.11 Security Policy Issues
- •16.3.12 Emerging Threats to Cloud Computing
- •16.4 Cloud Security Relationship Framework
- •16.4.1 Security Requirements in the Clouds
- •16.5 Conclusion
- •References
- •17.1 Introduction
- •17.1.1 What Is Security?
- •17.2 ISO 27002 Gap Analyses
- •17.2.1 Asset Management
- •17.2.2 Communications and Operations Management
- •17.2.4 Information Security Incident Management
- •17.2.5 Compliance
- •17.3 Security Recommendations
- •17.4 Case Studies
- •17.4.1 Private Cloud: Fortune 100 Company
- •17.4.2 Public Cloud: Amazon.com
- •17.5 Summary and Conclusion
- •References
- •18.1 Introduction
- •18.2 Decoupling Policy from Applications
- •18.2.1 Overlap of Concerns Between the PEP and PDP
- •18.2.2 Patterns for Binding PEPs to Services
- •18.2.3 Agents
- •18.2.4 Intermediaries
- •18.3 PEP Deployment Patterns in the Cloud
- •18.3.1 Software-as-a-Service Deployment
- •18.3.2 Platform-as-a-Service Deployment
- •18.3.3 Infrastructure-as-a-Service Deployment
- •18.3.4 Alternative Approaches to IaaS Policy Enforcement
- •18.3.5 Basic Web Application Security
- •18.3.6 VPN-Based Solutions
- •18.4 Challenges to Deploying PEPs in the Cloud
- •18.4.1 Performance Challenges in the Cloud
- •18.4.2 Strategies for Fault Tolerance
- •18.4.3 Strategies for Scalability
- •18.4.4 Clustering
- •18.4.5 Acceleration Strategies
- •18.4.5.1 Accelerating Message Processing
- •18.4.5.2 Acceleration of Cryptographic Operations
- •18.4.6 Transport Content Coding
- •18.4.7 Security Challenges in the Cloud
- •18.4.9 Binding PEPs and Applications
- •18.4.9.1 Intermediary Isolation
- •18.4.9.2 The Protected Application Stack
- •18.4.10 Authentication and Authorization
- •18.4.11 Clock Synchronization
- •18.4.12 Management Challenges in the Cloud
- •18.4.13 Audit, Logging, and Metrics
- •18.4.14 Repositories
- •18.4.15 Provisioning and Distribution
- •18.4.16 Policy Synchronization and Views
- •18.5 Conclusion
- •References
- •19.1 Introduction and Background
- •19.2 A Media Service Cloud for Traditional Broadcasting
- •19.2.1 Gridcast the PRISM Cloud 0.12
- •19.3 An On-demand Digital Media Cloud
- •19.4 PRISM Cloud Implementation
- •19.4.1 Cloud Resources
- •19.4.2 Cloud Service Deployment and Management
- •19.5 The PRISM Deployment
- •19.6 Summary
- •19.7 Content Note
- •References
- •20.1 Cloud Computing Reference Model
- •20.2 Cloud Economics
- •20.2.1 Economic Context
- •20.2.2 Economic Benefits
- •20.2.3 Economic Costs
- •20.2.5 The Economics of Green Clouds
- •20.3 Quality of Experience in the Cloud
- •20.4 Monetization Models in the Cloud
- •20.5 Charging in the Cloud
- •20.5.1 Existing Models of Charging
- •20.5.1.1 On-Demand IaaS Instances
- •20.5.1.2 Reserved IaaS Instances
- •20.5.1.3 PaaS Charging
- •20.5.1.4 Cloud Vendor Pricing Model
- •20.5.1.5 Interprovider Charging
- •20.6 Taxation in the Cloud
- •References
- •21.1 Introduction
- •21.2 Background
- •21.3 Experiment
- •21.3.1 Target Application: Value at Risk
- •21.3.2 Target Systems
- •21.3.2.1 Condor
- •21.3.2.2 Amazon EC2
- •21.3.2.3 Eucalyptus
- •21.3.3 Results
- •21.3.4 Job Completion
- •21.3.5 Cost
- •21.4 Conclusions and Future Work
- •References
- •Index
88 |
A. Govindarajan and Lakshmanan |
5.7 Closing Notes
Standardisation historically has been a challenge. Getting competitors to agree on standards or switch to another vendor’s standards is tough. However, drive by powerful standards, organisations such as DMTF, SNIA, etc., with backing from industry leaders, can definitely make it possible whilst avoiding excessive proliferation. The aim should be to extend the IT standards to address the new scenarios that cloud brings in and not create fresh standards making its definition and adoption tougher.
References
1.IT Cloud Services User Survey by IDC (2009) http://blogs.idc.com/ie/?p=210. Accessed 11 Dec 2009
2.PCI Data Security Standard (2009) https://www.pcisecuritystandards.org/security_standards/ pci_dss.shtml. Accessed 11 Dec 2009
3.Porting on Wikipedia (2009) http://en.wikipedia.org/wiki/Portability_(computer_science). Accessed 11 Dec 2009
4.Sarbanes-Oxley (SOX) on Wikipedia (2009) http://en.wikipedia.org/wiki/ Sarbanes%E2%80%93Oxley_Act. Accessed 11 Dec 2009
5.HIPAA on Wikipedia (2009) http://en.wikipedia.org/wiki/HIPAA. Accessed 11 Dec 2009
6.Unified Cloud Interface (2009) http://code.google.com/p/unifiedcloud/. Accessed 11 Dec 2009
7.CCIF (2009) http://www.cloudforum.org/. Accessed 11 Dec 2009
8.OCCI (2009) http://www.occi-wg.org/doku.php. Accessed 11 Dec 2009
9.OGF (2009) http://www.ogf.org/. Accessed 11 Dec 2009
10. Open Virtualization Format Specification (2009) http://www.dmtf.org/standards/published_ documents/DSP0243_1.0.0 .pdf. Accessed 11 Dec 2009
11. DMTF (2009) http://www.dmtf.org. Accessed 11 Dec 2009
12. Standards and Interoperability of Large Data Clouds (2009). http://opencloudconsortium.org/ working-groups. Accessed 11 Dec 2009
13. Open Cloud Consortium (2009) http://opencloudconsortium.org/. Accessed 11 Dec 2009 14. GoGrid Moves API Specification to Creativecommons (2009) http://www.gogrid.com/com-
pany/press-releases/gogrid-moves-api-specification-to-creativecommons.php. Accessed 11 Dec 2009
15. GoGrid (2009) http://www.gogrid.com/. Accessed 11 Dec 2009
16. Cloudware Open Architecture (2009) http://www.3tera.com/Cloud-computing/. Accessed 11 Dec 2009
17. 3Tera (2009) http://www.3tera.com/. Accessed 11 Dec 2009
18. Gartner Says Cloud Consumers Need Brokerages to Unlock the Potential of Cloud Services (2009) http://www.gartner.com/it/page.jsp?id=1064712. Accessed 11 Dec 2009
19. Cloud Security Alliance Guidelines (2009) http://www.cloudsecurityalliance.org/guidance/ csaguide.pdf. Accessed 11 Dec 2009
20. Cloud Security Alliance (2009) http://www.cloudsecurityalliance.org/. Accessed 11 Dec 2009 21. Amazon VPC (2009) http://aws.amazon.com/vpc/. Accessed 11 Dec 2009
22. Amazon Web Services (2009) http://aws.amazon.com/. Accessed 11 Dec 2009
23. Securing Microsoft Cloud Infrastructure (2009) http://www.globalfoundationservices.com/ security/index.html. Accessed 11 Dec 2009
24. Microsoft Cloud Computing (2009) http://www.microsoft.com/virtualization/cloud-computing/ default.mspx. Accessed 11 Dec 2009
5 Overview of Cloud Standards |
89 |
25. Amazon Web Services: Overview of Security Processes (2009) http://aws.amazon.com/. Accessed 11 Dec 2009
26. Cloud Storage Initiative (2009) http://www.snia.org/forums/csi/. Accessed 11 Dec 2009
27. Storage Networking Industry Assoc (SNIA) (2009) http://www.snia.org/. Accessed 11 Dec 2009
28. Cloud-Ready Server Templates (2009) http://www.rightscale.com/products/advantages/cloud- ready-servertemplates.php. Accessed 11 Dec 2009
29. RightScale website (2009) http://www.rightscale.com/. Accessed 11 Dec 2009
30. Open Cloud Platform (2009) http://www.sun.com/solutions/cloudcomputing/index.jsp. Accessed 11 Dec 2009
31. Sun Microsystems website (2009) http://www.sun.com/. Accessed 11 Dec 2009
32. WebLayers Center 5.0. (2009) http://www.weblayers.com/products/wl-center.shtml. Accessed 11 Dec 2009
33. WebLayers (2009) http://www.weblayers.com/. Accessed 11 Dec 2009
34. Open Cloud Manifesto (2009) http://www.opencloudmanifesto.org/. Accessed 11 Dec 2009 35. J. Nicholas Hoover (2009), Group Seeks Cloud Computing Standards (2009) http://www.
informationweek.com/news/government/cloud-saas/showArticle.jhtml?articleID=218500732. Accessed 11 Dec 2009
36. Object Management Group (OMG) (2009) http://www.omg.org/. Accessed 11 Dec 2009 37. OASIS (2009) http://www.oasis-open.org/. Accessed 11 Dec 2009
Part II
Cloud Seeding

Chapter 6
Open and Interoperable
Clouds: The Cloud@Home Way
Vincenzo D. Cunsolo, Salvatore Distefano, Antonio Puliafito,
and Marco Scarpa
Abstract Cloud computing focuses on the idea of service as the elementary unit for building any application. Even though Cloud computing was originally developed in commercial applications, the paradigm is quickly and widely spreading in open contexts such as scientific and academic communities. Two main research directions can thus be identified: provide an open Cloud infrastructure able to provide and share resources and services to the community; and implement an interoperable framework, allowing commercial and open Cloud infrastructures to interact and interoperate. In this chapter, we present the Cloud@Home paradigm that proposes to merge Volunteer and Cloud computing as an effective and feasible solution for building open and interoperable Clouds. In this new paradigm, users’ hosts are not passive interfaces to Cloud services anymore, but can interact (for free or by charge) with other Clouds, which therefore must be able to interoperate.
6.1 Introduction and Motivation
Cloud computing is a distributed computing paradigm that mixes aspects of Grid computing, Internet computing, Autonomic computing, Utility computing, and Green computing. Cloud computing is derived from the service-centric perspective that is quickly and widely spreading in the IT world. From this perspective, all capabilities and resources of a Cloud (usually geographically distributed) are provided to the users as a service, to be accessed through the Internet without any specific knowledge of, expertise with, or control over the underlying technology infrastructure that supports them.
Cloud computing offers a user-centric interface that acts as a unique, user friendly, point of access for users’ needs and requirements. Moreover, it provides
V.D. Cunsolo (*), S. Distefano, A. Puliafito, and M. Scarpa University of Messina, Contrada di Dio, 98166, S. Agata, Messina, Italy
e-mail: vdcunsolo@unime.it; sdistefano@unime.it; apuliafito@unime.it;mscarpa@unime.it
N. Antonopoulos and L. Gillam (eds.), Cloud Computing: Principles, |
93 |
Systems and Applications, Computer Communications and Networks,
DOI 10.1007/978-1-84996-241-4_6, © Springer-Verlag London Limited 2010

94 |
V.D. Cunsolo et al. |
on-demand service provision, QoS guaranteed offer, and autonomous system for managing hardware, software, and data transparency to the users [25].
In order to achieve such goals, it is necessary to implement a level of abstraction of physical resources, uniforming their interfaces, and providing means for their management, adaptively, to user requirements. This is done through virtualizations, service mashups (Web 2.0), and service-oriented architectures (SOA). These factors make the Kleinrock outlook of computing as the fifth utility [13], following gas, water, electricity, and telephone.
Virtualization [4,23] allows execution of a software version of a hardware machine in a host system in an isolated way. It “homogenizes” resources: problems of compatibility are overcome by providing heterogeneous hosts of a distributed computing environment (the Cloud) using the same virtual machine software.
Web 2.0 [20] provides an interesting way to interface Cloud services, implementing service mashups. It is mainly based on an evolution of JavaScript with improved language constructs (late binding, closures, lambda functions, etc.) and AJAX interactions.
SOA is a paradigm for organizing and utilizing distributed capabilities that may be under the control of different ownership domains [14]. In SOA, services are the mechanism by which needs and capabilities are brought together. SOA defines standard interfaces and protocols that allow developers to encapsulate information tools as services that clients can access without the knowledge of, or control over, their internal workings [8].
An interesting attempt to fix Cloud concepts and ideas is provided in [26] through an ontology that demonstrates a dissection of the Cloud into the five main layers shown in Fig. 6.1. In this, higher layers services can be composed from the services of the underlying layers, which are:
1.Cloud Application Layer: provides interface and access-management tools (Web 2.0, authentication, billing, SLA, etc.), specific application services, services mashup tools, etc. to the Cloud end users. This model is referred to as Software as a Service (SaaS).
Cloud Application
(SaaS)
|
Cloud Sw Environment |
|
|
|
(PaaS) |
Cloud Sw Infrastructure |
||
Computational |
Storage |
Communication |
Resources (IaaS) |
(DaaS) |
(CaaS) |
Sw Kernel
Firmware/Hardware
(HaaS)
Fig. 6.1 The five main layers of Cloud
6 Open and Interoperable Clouds: The Cloud@Home Way |
95 |
2.Cloud Software Environment Layer: providers of the Cloud software environments supply the users and Cloud applications’developers with a programming-language- level environment with a set of well-defined APIs. The services provided by this layer are referred to as Platform as a Service (PaaS).
3.Cloud Software Infrastructure Layer: provides fundamental resources to other higher-level layers. Services can be categorized into:
(a)Computational resources – provides computational resources (VM) to Cloud end users. Often, such services are dubbed Infrastructure as a Service (IaaS).
(b)Data storage – allows users to store their data at remote disks and access them anytime from any place. These services are commonly known as Data-Storage as a Service (DaaS).
(c)Communications – provides some communication capabilities that are service-oriented, configurable, schedulable, predictable, and reliable. The concept of Communication as a Service (CaaS) emerged toward this goal, to support such requirements.
OAP and REST are examples of interface protocols used with some Cloud computational resources.
4.Software Kernel: provides the basic software management for the physical servers that comprise the Cloud. OS kernel, hypervisor, virtual machine monitor, clustering, grid middleware, etc.
5.Hardware and Firmware: form the backbone of the Cloud. End users directly interacting with the Cloud at this layer have huge IT requirements in need of subleasing Hardware as a Service (HaaS).
Great interest in Cloud computing has been manifested from both academic and private research centers, and numerous projects from industry and academia have been proposed. In commercial contexts, among the others, we highlight: Amazon Elastic Compute Cloud, IBM’s Blue Cloud, Sun Microsystems Network.com, Microsoft Azure Services Platform, Dell Cloud computing solutions, etc. There are also several scientific activities driving toward Open Cloud-computing middlewares and infrastructures, such as: Reservoir [18], Nimbus-Stratus-Wispy-Kupa [22], OpenNebula [7], Eucalyptus [17], etc. All of them support and provide an on-demand computing paradigm, in the sense that a user submits his/her requests to the Cloud, which remotely, in a distributed fashion, processes them and gives back the results. This client–server model fits the aims and scope of commercial Clouds: the business. But, on the other hand, it represents a restriction for open/scientific Clouds, requiring great amounts of computing-storage resources usually not available from a single open/scientific community. This suggests the necessity to collect such resources from different providers and/or contributors who could share their resources with the specific community, perhaps by making “symbiotic” federations. In fact, one of the most successful paradigms in such contexts is Volunteer computing.
Volunteer computing (also called Peer-to-Peer computing, Global computing, or Public computing) uses computers volunteered by their owners as a source of computing power and storage to provide distributed scientific computing [2].