Introducing cloud computing with a senior design project in undergraduate education of computer...

6
Introducing Cloud Computing with a Senior Design Project in Undergraduate Education of Computer System and Network Administration Xinli Wang School of Technology Michigan Technological Univ. Houghton, MI 49931, USA [email protected] Guy C. Hembroff School of Technology Michigan Technological Univ. Houghton, MI 49931, USA [email protected] Alexander B. Cerier School of Technology Michigan Technological Univ. Houghton, MI 49931, USA [email protected] Brian W. Perrault School of Technology Michigan Technological Univ. Houghton, MI 49931, USA [email protected] ABSTRACT With the rapid growth of operational cloud computing sys- tems and their user community, it is desirable to incorporate the management and administration of cloud computing into the curriculum of information technology (IT) education to meet the needs of the industry and its users. It is challeng- ing to teach cloud computing in a regular IT course with hands-on activities due to various reasons including the lack of equipment and software to build a cloud. During the last two semesters, we had incorporated cloud computing into our curriculum of undergraduate education for computer systems and network administration through a senior design project. In this project, two clouds were built using com- monly available equipment by integrating a number of open source software units. Through this project, the students learned the basic concepts and knowledge of cloud comput- ing as well as related technologies. The students and faculty advisors gained valuable experience by deploying, configur- ing and integrating computing clouds, and this knowledge was conveyed to other students and faculty through monthly presentations and a final project presentation. In this paper, we will present these two clouds and discuss the experience gained from this project with the hope of being a reference for others in the IT education community. Categories and Subject Descriptors K.3.2 [Computers and Education]: Computer and Infor- mation Science Education—Information systems education ; H.4 [Information Systems Applications]: Miscellaneous Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. SIGITE’11, October 20–22, 2011, West Point, New York, USA. Copyright 2011 ACM 978-1-4503-1017-8/11/10 ...$10.00. General Terms Experimentation Keywords Cloud computing, IT education, Eucalyptus, Xen cloud plat- form 1. INTRODUCTION Few technological innovations have drawn as much broad- based attention as the recent adoption of cloud computing. Although there are still limitations, trade-offs, concerns and misconceptions [2], the cloud computing model has become compelling to organizations of all sizes [18]. Due to its vast market potential [5], cloud computing platforms have been developed and implemented at a number of leading enter- prises in IT industry [1, 10, 17, 20] and has been providing services to clients in various sectors. Most likely, more cloud computing infrastructures will be built, and the community of cloud computing users will grow rapidly in the near future [18, 15]. Consequently, it is desired to incorporate the ad- ministration and management of cloud computing systems into the curriculum of IT education in order to meet the needs of the industry and its users. Because cloud computing is a relatively new concept, it is challenging to teach cloud computing as a regular IT course with the component of hands-on labs. It is interpreted dif- ferently by IT professionals and scholars from different fields [24]. It will be more challenging for instructors to develop hands-on labs on cloud computing due to the fast develop- ment of related technology, lack of commonly accepted free software to build a cloud, insufficiency of hardware equip- ment and absence of existing examples. Cloud computing was introduced to our curriculum for un- dergraduate education of computer systems and network ad- ministration with a senior design project during the last two semesters at Michigan Technological University. Through the project, students learned the basic concepts and knowl- edge of cloud computing. Two computing clouds were built by integrating a number of open-source software units. Stu- 177

Transcript of Introducing cloud computing with a senior design project in undergraduate education of computer...

Introducing Cloud Computing with a Senior Design Projectin Undergraduate Education of Computer System and

Network Administration

Xinli WangSchool of Technology

Michigan Technological Univ.Houghton, MI 49931, USA

[email protected]

Guy C. HembroffSchool of Technology

Michigan Technological Univ.Houghton, MI 49931, USA

[email protected]

Alexander B. CerierSchool of Technology

Michigan Technological Univ.Houghton, MI 49931, USA

[email protected] W. PerraultSchool of Technology

Michigan Technological Univ.Houghton, MI 49931, [email protected]

ABSTRACTWith the rapid growth of operational cloud computing sys-tems and their user community, it is desirable to incorporatethe management and administration of cloud computing intothe curriculum of information technology (IT) education tomeet the needs of the industry and its users. It is challeng-ing to teach cloud computing in a regular IT course withhands-on activities due to various reasons including the lackof equipment and software to build a cloud. During the lasttwo semesters, we had incorporated cloud computing intoour curriculum of undergraduate education for computersystems and network administration through a senior designproject. In this project, two clouds were built using com-monly available equipment by integrating a number of opensource software units. Through this project, the studentslearned the basic concepts and knowledge of cloud comput-ing as well as related technologies. The students and facultyadvisors gained valuable experience by deploying, configur-ing and integrating computing clouds, and this knowledgewas conveyed to other students and faculty through monthlypresentations and a final project presentation. In this paper,we will present these two clouds and discuss the experiencegained from this project with the hope of being a referencefor others in the IT education community.

Categories and Subject DescriptorsK.3.2 [Computers and Education]: Computer and Infor-mation Science Education—Information systems education;H.4 [Information Systems Applications]: Miscellaneous

Permission to make digital or hard copies of all or part of this work forpersonal or classroom use is granted without fee provided that copies arenot made or distributed for profit or commercial advantage and that copiesbear this notice and the full citation on the first page. To copy otherwise, torepublish, to post on servers or to redistribute to lists, requires prior specificpermission and/or a fee.SIGITE’11, October 20–22, 2011, West Point, New York, USA.Copyright 2011 ACM 978-1-4503-1017-8/11/10 ...$10.00.

General TermsExperimentation

KeywordsCloud computing, IT education, Eucalyptus, Xen cloud plat-form

1. INTRODUCTIONFew technological innovations have drawn as much broad-

based attention as the recent adoption of cloud computing.Although there are still limitations, trade-offs, concerns andmisconceptions [2], the cloud computing model has becomecompelling to organizations of all sizes [18]. Due to its vastmarket potential [5], cloud computing platforms have beendeveloped and implemented at a number of leading enter-prises in IT industry [1, 10, 17, 20] and has been providingservices to clients in various sectors. Most likely, more cloudcomputing infrastructures will be built, and the communityof cloud computing users will grow rapidly in the near future[18, 15]. Consequently, it is desired to incorporate the ad-ministration and management of cloud computing systemsinto the curriculum of IT education in order to meet theneeds of the industry and its users.

Because cloud computing is a relatively new concept, it ischallenging to teach cloud computing as a regular IT coursewith the component of hands-on labs. It is interpreted dif-ferently by IT professionals and scholars from different fields[24]. It will be more challenging for instructors to develophands-on labs on cloud computing due to the fast develop-ment of related technology, lack of commonly accepted freesoftware to build a cloud, insufficiency of hardware equip-ment and absence of existing examples.

Cloud computing was introduced to our curriculum for un-dergraduate education of computer systems and network ad-ministration with a senior design project during the last twosemesters at Michigan Technological University. Throughthe project, students learned the basic concepts and knowl-edge of cloud computing. Two computing clouds were builtby integrating a number of open-source software units. Stu-

177

dents and the faculty advisors gained experiences with de-ploying, configuring, troubleshooting and integrating cloudcomputing systems. This paper summarizes the results ofthis project and presents the experience gained.

The rest of this paper is organized as follows: Relatedwork is briefly reviewed first in Section 2. Then we discusshow we started this project in Section 3. Section 4 presentssystem design and integration. System test is presented inSection 5. Finally, we conclude our work in Section 6.

2. RELATED WORKAlthough it is interpreted differently by the research com-

munity, developers and users, cloud computing is commonlyrecognized as a computing model that enables on-demandnetwork access to a shared pool of configurable computingand storage resources which provide elastic scaling [24]. Ser-vices can be offered at different levels by cloud computingproviders, including Software as a Service (SaaS), Infrastruc-ture as a Service (IaaS) and Platform as a Service (PaaS)[3]. Cloud computing infrastructures can be deployed inseveral ways, including a private cloud, a community cloud,a public cloud and a hybrid cloud [16]. On the user sideof cloud computing, services can be purchased from pub-lic cloud providers, and they can pay for those services ona pay-as-you-go model that eliminates up-front capital andoperational expenses [11, 2].

In order to facilitate research and learning, several open-source cloud computing projects have been initiated, such asEucalyptus [19] and RESERVOIR [22]. Eucalyptus (Elas-tic Utility Computing Architecture Linking Your ProgramsTo Useful Systems) allows users to manage virtual machinesusing an emulation SOAP (Simple Object Access Protocol)of Amazon’s Elastic Compute Cloud (EC2) and query in-terface. This is a good feature for IT education because theoperation is similar with the Amazon’s public cloud. Xencloud platform (XCP) [26] is an open-source version of CitrixXenServer [7]. It has a large amount of support as the con-figuration of Citrix XenServer is almost the same as XCP.Hinkle gives a longer list of open-source cloud computingprojects in his Blog [12]. Some of the listed software com-ponents can be used to build a cloud. Others are used tointerface a cloud infrastructure and its clients.

There is not much research on how cloud computing istaught in an IT class. Li [13] implements the cloud-in-cloudmodel in a virtual cluster to teach cloud computing andconduct research. However, the settings in a virtual envi-ronment are different from real world ones, and without areal network setting, it could be challenging for students togain a good understanding of what cloud computing is.

3. PREREQUISITE DEVELOPMENTThis project started with four students in the semester of

fall 2010, and two more students joined in the semester ofspring 2011. Group meetings with the faculty advisor wereheld each week at a chosen time. Since cloud computing isnot taught in a regular class, the basic concepts needed tobe introduced first to the students in this project.

3.1 Concept IntroductionClassic articles were assigned to the students during the

first two weeks of fall 2010 to introduce them the basic con-cepts and knowledge of cloud computing. The contents of

the articles range from news reports, introduction to cloudcomputing, and cloud computing architectures [25, 11, 3,5, 24]. During one of the first weekly group meetings, theadvisor briefly summarized the concepts and knowledge ofvirtualization and cloud computing.

The second reading assignment focused on research agen-das and open-source software projects [6, 4, 19, 22]. Thepurpose of this assignment was to help students identify theresearch topic and learn about the open-source software thatcould be used to build clouds for their project.

3.2 Problem IdentificationAfter extensive discussions, the students agreed to build

and test two clouds using Eucalyptus (referred to as Euca-lyptus cloud hereafter) and XCP (referred to as XCP cloudhereafter) by integrating relevant software components intothem for a better interface. Since this was the first time forboth the students and the advisor to deploy a cloud, thisgoal facilitated the perfect opportunity for students to learncloud computing with appropriate research components.

3.3 EquipmentHardware equipment used for this project is listed in Table

1. The only difference between the hardware requirements ofEucalyptus and XCP is that the XCP installation requireshardware support for virtualization, while the Eucalyptusdoes not. Both the Eucalyptus cloud and XCP cloud sharethe same router and switch.

Table 1: Equipment and Specifications

Products Specifications Quantity

switch 2x Cisco Catlyst 2900XL 1

router Cisco 2651 1

CPU: 2-3 GH,PCs dual/single corefor RAM: 1-2 GB 7

Euca Hard Disk: 18-300 GBNic: 100 Mb/s

Processor:PCs - 64-bit x86 dual corefor AMD-V/Intel VT support 2

XCP - CPU: 2.8 GHRAM: 2 GBHard Disk: 25 GB

4. SYSTEM INTEGRATION

4.1 Eucalyptus CloudEucalyptus has a modular design that allows combinations

of cloud roles to be installed on machines.

4.1.1 Software ComponentsThe Eucalyptus cloud computing framework consists of

five functional units that manage the system resources atdifferent levels [19, 9].

• Node Controller (NC) manages virtual machines(VMs) directly on the host where it runs.

• Storage Controller (SC) manages storage utiliza-tion for the cloud.

178

• Cluster Controller (CC) works with SCs and higherlevel units to deploy VM instances and provide isolatednetworking between VMs.

• Walrus Controller (WC) implements Amazon S3(Simple Storage Service) and is used to manage systemdata such as VM images and files needed to boot theVMs.

• Cloud Level Controller (CLC) is the front end forthe cloud and it implements Amazon EC2.

4.1.2 Cloud DesignOur design for the Eucalyptus cloud is shown in Figure

1. A PC with built-in RAID5 was allocated for the WCrole since it held persistent data and images. The CC andSC roles were installed together on one computer since bothroles had a lighter load.

Figure 1: Diagram for the Eucalyptus Cloud

In addition to balancing the workload in the cloud well,this design is scalable and expandable. In Figure 1, theCC/SC and two NC’s together make a single cluster. MoreNC’s can be added to the cluster when needed. If the com-puter running CC/SC is becoming overloaded, an additionalcluster can be installed.

4.1.3 Integration with HybridFoxHybridFox [21] is a third-party tool with graphical user in-

terfaces (GUIs) that are installed to a Firefox browser. Thistool provides all of the functionality a client needs to deployand manage their VM instances. For this project, Hybrid-Fox was integrated into the Eucalyptus cloud to facilitatethe management and administration. With this integration,the cloud clients can easily manage their computing and net-working resources with self explanatory GUI widgets.

4.2 XCP CloudThe Xen Cloud Platform [26] is an open-source version

of Citrix XenServer [7], which is an enterprise-ready servervirtualization and cloud computing platform. It delivers theXen Hypervisor with support for a range of guest operat-ing systems including Windows and different distributionsof Linux systems.

4.2.1 System Requirements and Cloud DesignTo deploy an XCP cloud, at least two physical x86 ma-

chines are required. One runs the XenServer host and theother runs the XenServer applications. The XCP frameworkconsists of two different software units that manage differentresources in the cloud.

• Host Controller (host) manages VMs and decideswhere they should be deployed. All cloud level man-agement is performed through the host.

• Slave Controller (slave) provides the host with in-formation about what resources are available on thecomputer the slave runs on.

Our design meets the minimum requirement that com-prises of two separate physical computers. One runs thehost and the other holds the slave (Figure 2).

Figure 2: Diagram for the XCP Cloud

In this work, two Dell PowerEdge 1850s were used to buildthe XCP cloud. One of them was randomly chosen for thehost and the other was configured as a slave.

The XCP system with Xen Hypervisor runs directly onthe hardware. VMs are installed and deployed in the XCPsystem. This design of XCP framework inherently gainsperformance improvements.

4.2.2 Integration with XenCenterCitrix XenCenter is a XenServer application with GUIs

for configuring and managing the Citrix XenServer envi-ronment [8]. With this GUI tool, a system administratorcan perform the following tasks: VM management, storageand dynamic memory allocation, workload balancing, powermanagement, resource administration and data search.

In this project, XenCenter was integrated and used forthe management of and access to the VMs deployed in theXCP cloud. The integration of XenCenter made the cloudconfiguration and resource management much less complex.

179

4.2.3 Integration with XenWebManagerXenWebManager is a web-based implementation of Xen-

Center [27]. With the integration of XenWebManager, a webbrowser is the only tool you need to configure and manageyour servers and VMs in an XCP cloud. In order to fullyintegrate the XenWebManager, the following are required:

• Python 2.4 or later must be installed in the system theXenWebManager runs on.

• A web browser with Java plug-in or a browser withhtml5 web sockets [14] must be installed for VM con-sole access.

In this project, the XenWebManager was integrated intothe XCP cloud. Technically, the XenWebManager softwarecan be installed on either a host machine or a VM. To gain abetter performance, we installed it on the host machine forthe integration. The integration was tested using Firefoxwith Java plug-ins.

4.3 Installation and ConfigurationFor both clouds, the actual installation and configuration

were tedious and complex. While the XCP had a good guide-line to follow [8], some parts of the guideline for Eucalyptuswere vague or incorrect. During the whole process of instal-lation and configuration, students gained a large amount oftroubleshooting experiences.

5. RESULTSThrough this project, students learned the basic concepts

and knowledge of cloud computing as well as related tech-nologies. Two clouds of IaaS were built using commonlyavailable equipment by integrating and configuring variousopen-source cloud computing software components. In thisprocess, students gained extensive experiences with deploy-ing, integrating, configuring and troubleshooting cloud com-puting systems. These experiences and knowledge have beenconveyed to other students through monthly project presen-tations and a final project presentation. As a result, ourcurriculum is enhanced with this new IT technology.

5.1 Clouds and TestingThe system tests included the following items:

• VM installation and configuration. VMs of Linux sys-tem were installed in the Eucalyptus cloud, while VMsof both Linux and Microsoft Windows were installedin the XCP cloud.

• Networking between VMs in the clouds and the out-side.

• Resource and VM management using integrated GUIapplications.

The tests were carried out with local access and remoteaccess. SSH, Putty and a Web browser were used for access-ing the clouds from a remote computer. The testing setupfor the XCP cloud is depicted in Figure 3. A similar networkwas set for testing the Eucalyptus cloud.

The testing results confirmed that the clouds functionedcorrectly. VM installation and configuration can be per-formed on either a local computer or a remote machine

Figure 3: Diagram for Testing the XCP Cloud

with Internet access to the clouds. The networking of theVMs can be configured as well. Installed and running VMs,storage, performance information and other resources in theclouds can be viewed, configured and managed visually withthe GUI applications as well as command line tools.

5.2 Wiki WebsiteA Wiki website has been well developed and maintained

since the project was started [23]. This website has beenmainly used for the following purposes:

• Research topic discussion was posted to proposeeach person’s research interests at the early stage ofthe project. Students were interested in proposing anddiscussing their ideas on the web and a consensus wasreached in a short period of time. New ideas or de-signs were also posted on the website later throughoutthis project to inspire students’ research interests andenhance the research of this project. This also allowedthe faculty advisor to follow the proposals and suggestdirections conveniently.

• Weekly progress reports were updated periodically.Each person was required to report the progress duringthe current week and suggest the work for the followingweek. This report could be short with one or a fewsentences if there was not much progress in a week, orlonger with a few paragraphs and diagrams when moreprogress was made.

• Troubleshooting experiences and results as wellas configuration changes were well documented onthe website. This documentation was helpful for theproject to keep track of what each person did and whatthe results were. Debugging and troubleshooting a sys-tem could be extremely frustrating sometimes. Somestudents spent long periods of time to fix a problem.They were excited when they fixed the problem andmade the system operate in the way it should.

• Basic knowledge and related new technologieswere introduced on the website. Most of the students

180

in this project did a lot of reading and web researchon cloud computing and related new technologies aswell as open-source projects. Interesting findings wereposted on the website and discussed during the weeklymeetings.

5.3 Curriculum EnhancementThe students gained comprehensive understanding of the

basic concepts and knowledge of cloud computing throughthis project. They gained experiences of building and inte-grating cloud computing systems that provide IaaS services.These experiences and the knowledge could be demonstratedby their in-depth thoughts about cloud computing and im-proved design of cloud computing systems. For example,after a semester struggling with the Eucalyptus cloud, stu-dents understood what cloud computing is and how to buildand integrate a cloud for specific purposes. Consequently,they revisited their first design (shown in Figure 1) and cameup with another design shown in Figure 4. This design wasimplemented in a relatively shorter time.

Figure 4: Diagram for the Public/Private Eucalyp-tus Cloud Design

In this design, every NC has its own cluster (which is alsorunning the SC and CC roles). This design is appropriatefor VMs that benefit from faster disk access, such as thoserunning I/O-intensive applications. In the previous design,the local storage is mounted from an SC on a different ma-chine. If the SC role is on the same machine as the NC,it will allow improved read and write performance. Sinceeach cluster has a single SC and CC, it is necessary to alsomake each node a CC. The CC/SC/NC machines will needfaster hardware, since it is running three roles. This is aninteresting design choice that is not addressed by the Eu-calyptus documentation. Another advantage of this clouddesign is the improved security. Separating a private net-work from the public network will be able to restrict accessto the cloud on the private network by using a network pro-tection technology such as a firewall.

6. CONCLUSION AND DISCUSSIONCloud computing was successfully incorporated into our

curriculum for undergraduate education of computer andnetwork systems administration by means of a senior designproject during the last two semesters. By reading assignedarticles at the early stage of the project, students learned thebasic concepts and knowledge of cloud computing, and thenidentified interesting research topics for their project. Twoclouds of IaaS were built with commonly available equip-ment by integrating a number of open-source cloud comput-ing software components. The clouds were tested with bothlocal and remote accesses. Through this project, the stu-dents and faculty advisors gained extensive experience withdeploying, integrating, configuring and managing cloud com-puting platforms and related technologies.

Eucalyptus was originally designed, developed and imple-mented for research purposes. It provides a good platformfor researchers to learn, study and test various cloud com-puting technologies. Compared with the Xen Cloud Plat-form framework, the installation and configuration of Euca-lyptus is more flexible. A cloud can be designed and im-plemented in a number of different ways to achieve variousgoals, such as those presented in this paper. However, dueto its flexibility, the configuration and integration of Euca-lyptus cloud could be challenging for beginners. Documen-tation is not well maintained, guidelines are vague for someconfigurations, and community support is relatively weak.

Alternatively, the Xen Cloud Platform framework is a freeversion of Citrix XenServer. The design and implementationare more operation-oriented. Though it is relatively new inthe list of free cloud computing projects, the documentationand guidelines are fairly complete and well archived, and itis currently favored by a larger user community. The instal-lation, configuration and integration are well guided. XCPallows the virtualization of Windows machines, which is im-possible in the free version of Eucalyptus. In addition, thepossibility of integrating XenCenter and XenWebManagerwith an XCP cloud makes its operation, configuration, ad-ministration and management much less complicated withself-explainable GUI items. This could be a good featurefor beginners. However, the simplicity of XCP could be lessinformative for education and research purposes. Differentroles, such as storage management, memory management,resource management, VM management and workload bal-ancing are not clearly separated. All of the components areinstalled on the same physical machine. Again, this designmakes cloud computing look like a “black box.”

For the purpose of education and research, which soft-ware do you use? It depends on what you want to do. Fora hands-on lab on cloud computing, XCP framework couldbe a better choice since it is less complicated and could bedeployed in a short time. An XCP cloud can be deployedwithout much challenge by following its well documentedguidelines as long as required hardware equipment is used.XCP could also be good for a middle size organization todeploy a private or community cloud to consolidate theircomputing environment. In order to present different com-ponents and their functionality in a cloud computing systemfor the purpose of education, Eucalyptus could be a betterchoice.

This project will be continued in the following academicyear. Based on the experience gained and lessons learnedfrom the project in the last two semesters, we will be able

181

to conduct more in-depth research, such as extensive testingand comparison. Another topic to explore is how we cangive our cloud the ability to outsource public clouds whenmore computing or storage resources are needed. We couldalso contribute to the open source developers’ communityby adding GUI applications to the Eucalyptus frameworkfor the purposes of administration and management.

7. ACKNOWLEDGMENTSThe authors would like to thank the four peer-reviewers.

Their comments and suggestions improved the writing ofthis article. Jessica L. Bos at School of Technology of Michi-gan Technological University edited the language. The stu-dents who worked on the cloud computing senior project areKhalid Al-Qahtani, Christopher D. Bork, Jon A. Brooks,Alexander B. Cerier, Philip Haddad, Brian W. Perrault andMatt Visich. Professor Danny Miller at Michigan Techno-logical University helped with the equipment acquisition.

8. REFERENCES[1] Amazon. Amazon Elastic Compute Cloud (Amazon

EC2). Online. http://aws.amazon.com/ec2/.Retrieved April 28, 2011.

[2] M. Armbrust, A. Fox, R. Griffith, A. D. Joseph,R. Katz, A. Konwinski, G. Lee, D. Patterson,A. Rabkin, I. Stoica, and M. Zaharia. A view of cloudcomputing. Communications of the ACM, 53:50–58,April 2010.

[3] M. Armbrust, A. Fox, R. Griffith, A. D. Joseph, R. H.Katz, A. Konwinski, G. Lee, D. A. Patterson,A. Rabkin, I. Stoica, and M. Zaharia. Above theclouds: A berkeley view of cloud computing. TechnicalReport UCB/EECS-2009-28, EECS Department,University of California, Berkeley, February 2009.

[4] K. Birman, G. Chockler, and R. van Renesse. Towarda cloud computing research agenda. ACM SIGACTNews, 40(2):68–80, 2009.

[5] R. Buyya, C. S. Yeo, S. Venugopal, J. Broberg, andI. Brandic. Cloud computing and emerging ITplatforms: Vision, hype, and reality for deliveringcomputing as the 5th utility. Future GenerationComputer Systems, 25(6):599–616, 2009.

[6] B. Chun, D. Culler, T. Roscoe, A. Bavier, L. Peterson,M. Wawrzoniak, and M. Bowman. Planetlab: anoverlay testbed for broad-coverage services. ACMSIGCOMM Computer Communication Review,33(3):3–12, 2003.

[7] Citrix. Xensever 5.5. Online.http://support.citrix.com/product/xens/v5.5/.Retrieved April, 2011.

[8] Citrix Community. XenCenter. Online. http://community.citrix.com/display/xs/XenCenter.Retrieved April, 2011.

[9] Eucalyptus. The open source cloud platform. Online.http://open.eucalyptus.com/. Retrieved April 28,2011.

[10] Google. Google App Engine. Online.http://code.google.com/appengine/. RetrievedApril 28, 2011.

[11] B. Hayes. Cloud computing. Communications of theACM, 51(7):9–11, 2008.

[12] M. Hinkle. Eleven open source cloud computingprojects to watch. Online.http://socializedsoftware.com/2010/01/20/.Retrieved April, 2011.

[13] P. Li and L. W. Toderick. Cloud in cloud: approachesand implementations. In Proceedings of the 2010 ACMconference on Information technology education,SIGITE ’10, pages 105–110, New York, NY, USA,2010. ACM.

[14] P. Lubbers and F. Greco. HTML5 Web Sockets: aquantum leap in scalability for the Web. Online.http://soa.sys-con.com/node/1315473. RetrievedApril, 2011.

[15] J. Maitland. Cloud computing added to many 2011 ITbudgets. Cloud Computing Digest, pages 1–2, April2011. Online.

[16] P. Mell and T. Grance. The NIST definition of cloudcomputing. Online. http://csrc.nist.gov/groups/SNS/cloud-computing/.Retrieved April, 2011.

[17] Microsoft. Windows Azure Platform. Online.http://www.microsoft.com/windowsazure/.Retrieved April 28, 2011.

[18] B. Narasimhan and R. Nichols. State of cloudapplications and platforms: The cloud adopters’ view.Computer, 44(3):24–28, March 2011.

[19] D. Nurmi, R. Wolski, C. Grzegorczyk, G. Obertelli,S. Soman, L. Youseff, and D. Zagorodnov. TheEucalyptus open-source cloud-computing system. InCCGRID ’09: Proceedings of the 2009 9thIEEE/ACM International Symposium on ClusterComputing and the Grid, pages 124–131, Washington,DC, USA, 2009. IEEE Computer Society.

[20] Oracle. Sun Utility Computing. Online.http://www.sun.com/service/sungrid/. RetrievedApril 28, 2011.

[21] M. Pronsc. Hybridfox: Elasticfox for Eucalyptus.Online. http://architects.dzone.com/news/hybridfox-elasticfox. Retrieved April 28, 2011.

[22] B. Rochwerger, D. Breitgand, E. Levy, A. Galis,K. Nagin, I. M. Llorente, R. Montero, Y. Wolfsthal,E. Elmroth, J. Caceres, M. Ben-Yehuda,W. Emmerich, and F. Galan. The RESERVOIR modeland architecture for open federated cloud computing.IBM Journal of Research and Development,53(4):1–11, 2009.

[23] Senior Project Team. Cloud computing – CNSA seniordesign project. Online.http://wiki.cnsa-cloud-project.com/. RetrievedApril 30, 2011.

[24] L. M. Vaquero, L. Rodero-Merino, J. Caceres, andM. Lindner. A break in the clouds: towards a clouddefinition. ACM SIGCOMM ComputerCommunication Review, 39(1):50–55, 2009.

[25] A. Weiss. Computing in the clouds. ACM netWorker,11(4):16–25, 2007.

[26] Xen. Xen cloud platform. Online.http://www.xen.org/products/cloudxen.html.Retrieved April, 2011.

[27] XenseMaking Project. XenWebManager. Online.http://www.xensemaking.com/xenwebmanager/.Retrieved April, 2011.

182