Cloud computing is emerging as a promising paradigm capable of providing a flexible, dynamic, resilient and cost effective infrastructure for both academic and business environments. It aims at raising the level of abstraction of physical resources toward a “user-centric” perspective, focused on the concept of service as the elementary unit for building any application. All the cloud’s resources, both physical/hardware and logical/abstract (software, data, etc) are therefore considered “as a service” and so all cloud’s design and implementation choices follow a “service oriented” philosophy.
Cloud is actually a real, operating and effective solution in commercial and business context, offering computing resources and services for renting, accessed through the Web according to a client-server paradigm regulated by specific SLA. In fact, several commercial solutions and infrastructure providers make business on Cloud, such as Amazon EC2 and S3 IBM’s Blue Cloud, Sun Network.com, Microsoft Azure Services Platform, and so on.
Recently cloud computing has been quickly and widely spreading in open contexts such as scientific, academic and social communities, due to the increasing demand of computing resources required by their users. For example, there are several research activities and projects on Cloud, such as Nimbus, Eucalyptus, OpenNEbula, Reservoir, OpenCyrrus, OCCI, etc., aimed at implementing their open infrastructure providing a specific middleware.
Among the reasons behind the success of cloud, outside of the potential for lower costs, there are other considerations, including the user-centric interface that acts as a unique, user friendly, point of access for users’ needs and requirements; on-demand service provisioning; the QoS guaranteed offer, and the autonomous system for managing hardware, software and data transparently to users .
But, on the other hand, there are different open problems in cloud infrastructures that inhibit their use mainly concerning information security (confidentiality and integrity), trustiness, interoperability, reliability, availability and other QoS requirements specified in the SLA, etc., only partially addressed or sometimes still uncovered. Besides, several organizations made important investments in grid and similar distributed infrastructures over the last several years: what to do with these? Discard or reuse? How to reuse?
Moreover, the rise of the “techno-utility complex” and the corresponding increase of computing resources demand, in some cases growing dramatically faster than Moore’s Law as predicted by the Sun CTO Greg Papadopoulos in the red shift theory for IT , could bring, in a close future, towards an oligarchy, a lobby or a trust of few big companies controlling the whole computing resources market.
To avoid such pessimistic but achievable scenario, we suggest to address the problem in a different way: instead of building costly private data centers that Google CEO Eric Schmidt likes to compare to the prohibitively expensive cyclotrons , we propose a more “democratic” form of cloud computing, in which the computing resources of a single user, company, and/or community accessing the cloud can be shared with the others, in order to contribute to the elaboration of complex problems.
In order to implement such idea, a possible source of inspiration could be the volunteer computing paradigm. 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 . The key idea of volunteer computing is to harvest the idle time of Internet connected computers which may be widely distributed across the world, to run a very large and distributed application . It is behind the “@home” philosophy of sharing/donating network connected resources for supporting distributed scientific computing.
Thus, the core idea of such project is to implement a volunteer cloud, an infrastructure built on resources voluntarily shared (for free or by charge) by their owners or administrators, following a volunteer computing approach, and provided to users through a cloud interface, i.e. QoS guaranteed-on demand services. Since this new paradigm merges volunteer and cloud computing goals, has been named Cloud@Home. It can be considered as a generalization and a maturation of the @home philosophy, knocking down the (hardware and software) barriers of volunteer computing, also allowing to share more general services. In this new paradigm, the user resources/data center are not only passive interface to cloud services, but they can interact (for free or by charge) with one or more clouds, that therefore must be able to interoperate.
The Cloud@Home paradigm could be also applied to commercial clouds, establishing an open computing-utility market where users can both buy and sell their services. Since the computing power can be described by a “long-tailed” distribution, in which a high-amplitude population (cloud providers and commercial data centers) is followed by a low-amplitude population (small data centers and private users) which gradually “tails off” asymptotically, Cloud@Home can catch the Long Tail effect , providing similar or higher computing capabilities than commercial providers’ data centers, by grouping small computing resources from many single contributors.
We therefore believe that the Cloud@Home paradigm is applicable also at lower scales, from the single contributing user, that shares his/her desktop, to research groups, public administrations, social communities, small and medium enterprises, which make available their distributed computing resources to the cloud. Both free sharing and pay-per-use models can be adopted in such scenarios. It could be a good way to reconvert the investments made on grid computing and similar distributed infrastructures into cloud computing.
The Cloud@Home paradigm is inspired by the volunteer computing one. The latter is born for supporting the philosophy of open public computing, implementing an open distributed environment in which resources (not services as in the cloud) can be shared. Volunteer computing is behind the “@home” philosophy of sharing/donating network connected resources for supporting distributed scientific computing. On the other hand, Cloud@Home can be considered as the enhancement of the grid-utility vision of cloud computing. In this new paradigm, user’s hosts are not passive interface to cloud services anymore, but they can interact (for free or by charge) with other clouds.
The scenario we prefigure is composed of several coexisting and interoperable clouds. Open clouds identify groups of shared resources and services operating for free volunteer computing; commercial clouds characterize entities or companies selling their computing resources for business; hybrid clouds can both sell or give for free their services. Both open and hybrid clouds can interoperate with any other cloud, also commercial ones, making of clouds’ federations. In this way an open market of computing resources could be established: a private cloud, in case requires computing resources, buy these from third parties; otherwise, it can sell or give for free its resources to the others.
Figure 1: Cloud@home Reference Scenario
Fig. 1 above depicts the Cloud@Home reference scenario, identified different stakeholder characterized by their role: consuming and/or contributing. Arrows outgoing from the Cloud represent consuming resources, from which a Cloud@Home client submits its requests; otherwise, arrows incoming to the cloud represent contributing resources providing their services to Cloud@Home clients. Therefore, infrastructure providers, datacenters, grids, clusters, servers, till desktops and mobile devices can both contribute and consume.
In fact, we believe that the Cloud@Home paradigm is widely applicable, from research groups, public administrations, social communities, SMEs, which make available their distributed computing resources to the cloud until, potentially, the single contributing user, that autonomously decide to share his/her resources.
According to the Cloud@Home vision, all the users can be, at the same time or in different moments, both clients and active parts of the computing and storage infrastructure. A straightforward application of this concept to the world of mobile devices is not so much useful, because of the limited computing power and storage capacity that are available on such nodes. Still, the opportunity of an active participation of the mobile nodes to the cloud services can be devised if we start considering as resources, not only computing and storage, but also the peculiar and commonly available peripherals/sensors available on mobile phones (e.g., camera, GPS, microphone, accelerometer, ..) or other devices such as the nodes of a sensor network.
If we consider these hardware resources as a mean for acquiring context-related information, an interesting and useful new class of cloud applications can be designed. In the category of context information we can also include the personal information that is available on the device, since it helps to characterize the situation and attributes of the application execution. In other words Cloud@Home, besides virtualizing the computing and storage resources, aims at virtualizing also the sensing infrastructure. Such infrastructure, consistently with the other functionalities, has to be accessed as a service (sensor as a service, SEAAS).
According to this perspective, in Fig. 1 mobile devices are considered as both contributing and consuming resources, since they can provide their sensors to Cloud@Home and/or they can access the Cloud for submitting their requests as common clients, respectively.
The project framework will be based on a Cloud@Home software system which provides readily available functionality in the areas of directory/information services, security and management of resources. In order to implement such a form of computing the following issues should be taken into consideration: Resources management; User interface; security, accounting, identity management; virtualization; interoperability among heterogeneous clouds; as well as business models, billing, QoS and SLA management.
A possible rationalization of the tasks and the functionalities the Cloud@Home middleware has to implement can be performed by considering the layered view shown in Fig. 2 above. Three separated layers are there identified in order to apply a separation of concerns and therefore to improve the middleware development process. These are:
The Frontend Layer that globally manages resources and services (coordination, discovery, enrollment), implements the user interface for accessing the Cloud (ensuring security reliability and interoperability), and provides QoS and business models and policies management facilities.
The Virtual Layer that implements a homogeneous view of the distributed cloud system offered to the higher frontend layer (and therefore to users) in form of two main basic services: the execution service that allows to set up a virtual machine, and the storage service that implements a distributed storage cloud to store data and files as a remote disk, locally mounted or accessed via Web. Virtual sensors provide the access points to the sensing infrastructure. The access is characterized by abstraction and independence from the actual sensing process and equipment.
The bottom Physical Layer that provides both the physical resources for elaborating the requests and the software for locally managing such resources. It is composed of a “cloud” of generic nodes and/or devices geographically distributed across the Internet.
Application Scenarios for Cloud@Home
Several possible application scenarios can be imagined for Cloud@Home:
Research Centers, Public Administrations, Communities – the Volunteer computing inspiration of Cloud@Home provides means for the creation of open, interoperable Clouds for supporting scientific purposes, overcoming the portability and compatibility problems highlighted by the @home projects. Similar benefits could be experienced in public administrations and open communities (social network, peer-to-peer, gaming, etc). Through Cloud@Home it could be possible to implement resources and services management policies with QoS requirements (characterizing the scientific project importance) and specifications (QoS classification of resources and services available). A new deal for volunteer computing, since this latter does not take into consideration QoS, following a best effort approach.
Enterprise Settings – Planting a Cloud@Home computing infrastructure in business-commercial environments can bring considerable benefits, especially in small and medium but also in big enterprises. It could be possible to implement own data center with local, existing, off the shelf, resources: usually in every enterprise there exists a capital of stand-alone computing resources dedicated to a specific task (office automation, monitoring, designing and so on). Since such resources are only (partially) used in office hours, by Internet connecting them altogether it becomes possible to build up a Cloud@Home data center, in which users allocate shared services (web server, file server, archive, database, etc) without any compatibility constraints or problems.
The interoperability among clouds allows to buy computing resources from commercial cloud providers if needed or, otherwise, to sell the local cloud computing resources to the same or different providers. This allows to reduce and optimize business costs according to QoS/SLA policies, improving performances and reliability. For example, this paradigm allows to deal with peaks or burst of workload: data centers could be sized for managing the medium case and worst cases (peaks) could be managed by buying computing resources from cloud providers. Moreover, Cloud@Home drives towards a resources rationalization: all the business processes can be securely managed by web, allocating resources and services where needed. In particular this fact can improve marketing and trading (E-commerce), making available to sellers and customers a lot of customizable services. The interoperability could also point out another scenario, in which private companies buy computing resources in order to resell them (subcontractors).
Ad-hoc Networks, Wireless Sensor Networks, and Home Automation – The cloud computing approach, in which both software and computing resources are owned and managed by service providers, eases the programmers’ efforts in facing the device heterogeneity problems. Mobile application designers should start to consider that their applications, besides to be usable on a small device, will need to interact with the cloud. Service discovery, brokering, and reliability are important issues, and services are usually designed to interoperate . In order to consider the arising consequences related to the access of mobile users to service-oriented grid architecture, researchers have proposed new concepts such as the one of a mobile dynamic virtual organization . New distributed infrastructures have been designed to facilitate the extension of clouds to the wireless edge of the Internet. Among them, the mobile service clouds enables dynamic instantiation, composition, configuration, and reconfiguration of services on an overlay network to support mobile computing .
A still open research issue is whether or not a mobile device should be considered as a service provider of the cloud itself. The use of modern mobile terminals such as smart-phones not just as Web service requestors, but also as mobile hosts that can themselves offer services in a true mobile peer-to-peer setting is also discussed in . Context aware operations involving control and monitoring, data sharing, synchronization, etc, could be implemented and exposed as Cloud@Home Web services involving wireless and Bluetooth devices, laptop, Ipod, cellphone, household appliances, and so on. Cloud@Home could be a way for implementing ubiquitous and pervasive computing: many computational devices and systems can be engaged simultaneously for performing ordinary activities, and may not necessarily be aware that they are doing so.
About the Authors
Dr. Salvatore Distefano received the master’s degree in computer science engineering from the University of Catania in October 2001. In 2006, he received the PhD degree on “Advanced Technologies for the Information Engineering” from the University of Messina.
His research interests include performance evalua- tion, parallel and distributed computing, software engineering, and reliability techniques. During his research activity, he participated in the
development of the WebSPN and the ArgoPerformance tools. He has been involved in several national and international research projects. At this time, he is a postdoctoral researcher at the University of Messina.
Dr. Antonio Puliafito is a full professor of computer engineering at the University of Messina, Italy. His interests include parallel and distributed systems, networking, wireless, and GRID com- puting. He was a referee for the European Community for the projects of the Fourth, Fifth, Sixth, and Seventh Framework Program. He has contributed to the development of the software tools WebSPN, MAP, and ArgoPerformance.
He is a coauthor (with R. Sahner and K.S. Trivedi)of the text Performance and Reliability Analysis of Computer Systems: An Example-Based Approach Using the SHARPE Software Package (Kluwer Academic Publishers). He is the vice president of Consorzio Cometa, which is currently managing the Sicilian grid infrastructure.
Note: This work has been partially supported by MIUR through the “Programma di Ricerca Scientifica di Rilevante Interesse Nazionale 2008” (PRIN 2008) under grant no. 2008PXNBFZ “Cloud@Home: a new enhanced computing paradigm”.
 The Programmable Web. http://www.programmableweb.com/.
 Chris Anderson. The Long Tail: How Endless Choice Is Creating Unlimited Demand. Random House Business Books, July 2006.
 David P. Anderson and Gilles Fedak. The computational and storage potential of volunteer computing. In CCGRID ’06, pages 73–80.
 Stephen Baker. Google and the Wisdom of Clouds. BusinessWeek, (December 24 2008), Dec. 2008. http://www.businessweek.com/magazine/content/07 52/b4064048925836.htm.
 G. Fedak, C. Germain, V. Neri, and F. Cappello. Xtremweb: a generic global computing system. Cluster Computing and the Grid, 2001. Proceedings. First IEEE/ACM International Symposium on, pages 582–587, 2001.
 Richard Martin. The Red Shift Theory. InformationWeek, (August 20 2007), Aug. 2007. http://www.informationweek.com/news/hardware/showArticle.jhtml?articleID=201800873.
 F. A. Samimi, P. K. McKinley, and S. M. Sadjadi. Mobile service clouds: A self-managing infrastructure for autonomic mobile computing services. In LCNS 3996, pages 130–141. Springer-Verlang, 2006.
 Satish Narayana Srirama, Matthias Jarke, and Wolfgang Prinz. Mobile web service provisioning. In AICT-ICIW ’06: Proceedings of the Advanced Int’l Conference on Telecommunications and Int’l Conference on Internet and Web Applications and Services, page 120, Washington, DC, USA, 2006. IEEE Computer Society.
 M. Waldburger and B. Stiller. ”toward the mobile grid:service provisioning in a mobile dynamic virtual organization”. In IEEE International Conference on Computer Systems and Applications, pages 579–583, 2006.
 Lizhe Wang, Jie Tao, Marcel Kunze, Alvaro Canales Castellanos, David Kramer, and Wolfgang Karl. Scientific Cloud Computing: Early Definition and Experience. In HPCC ’08, pages 825–830.