The aim of the theoretical framework is to examine the different features of cloud com-puting when implemented in games, as well as other features derived from related cloud computing technologies used in the new gaming platform. Therefore it is divided into two main sections. The first section provides a foundation for examining these features and the user perception of their user perspective. The second section introduces a framework for the analysis of the empirical findings, by applying the technology ac-ceptance model (TAM) and thus addresses the main research question.
The first section begins with introducing cloud computing and explains how some fea-ture are derived from it. Then the field of distributed systems is explained with its ena-bling technologies which also derive features. The section continues with examining the actual application of cloud computing and provides a basic application model of cloud computing as a gaming platform in the case of a company that adapts conventional games for the cloud.
This first section ends up with a summary of the platform features, which are derived from cloud computing and its related technologies. These platform features are the ones that affect the users, according to the different researchers, and are to be further exam-ined through the structured interview and the analysis
Features of cloud gaming based on theory
Introduction to Cloud Computing
The terms cloud computing, Infrastructure as a Service, Platform as a Service and Soft-ware as a Service are not strictly defined, as they may have different variations and therefore definitions. Mell and Grance (2009), suggest that the definition of cloud com-puting is argued about and evolved by different stakeholders over time and that this is an ever changing paradigm and its definitions will change over time. However, the fol-lowing provided definitions give a basic understanding and the common usage of these technologies.
According to the US National Institute of Standards and Technology, cloud computing is a technique or a pattern of combining different set of existing technologies in order to provide and ensure the availability of existing computer resources, through the internet, on-demand, in a convenient way, and to minimize management efforts (Mell & Grance, 2009). Such resources include networking, computational capacity, storage capacity, services and applications, and the cloud promotes availability (Mell & Grance, 2009)
Infrastructure as a Service (IaaS)
This is the delivery of: networking capacity, data storage, the virtualization technology that suits the hardware and resource management, the operating systems and hardware (e.g. servers on which data is stored and/or applications are running), as suggested by Hurwitz, Bloor, Kaufman & Halperl, (2010) and (Mell & Grance, 2009). According to Weinhardt, Anandasivam, Blau, Borissov, Meinl, Michalk & Stosser (2009), infrastruc-ture as a service can be viewed into two main categories: provisioning of data storage and the provisioning of computing power.
“So far, pricing models are mostly pay-per-use or subscription-based. In most cases, Cloud Computing infrastructures are organized in a cluster-like structure facilitating virtualization technologies.” (Weinhardt et al., 2009, p.396)
Infrastructure as a Service is the possibility to rent resources over the internet. These re-sources include: processing, storage and bandwidth and the possibility for the customer to deploy and run any operating systems and/or applications, according to Mora (2009). The infrastructure is not managed by the customer, or the user, but by the provider. What the user controls is the operating system, the storage, the application and occa-sionally the networking components (e.g. firewall, load balancing). (Mora, 2009) IaaS (offers to the customer/user of the service) – bandwidth, data storage, processing power IaaS is the basis of cloud computing, on top of which the other layers are built. There-fore the above listed attributes are features of the new technology – games using cloud computing in their implementation.
Platform as a Service (PaaS)
Platform as a service is the provision of the possibility to deploy customer/user devel-oped applications on an infrastructure of a provider and making use of the provider‟s development environment, tools and languages, according to Mora (2009) and Mell & Grance (2009).
“The consumer doesn‟t manage or control the infrastructure, the network, the servers, the operating system and the storage but he has control over the deployed applications and occasionally the applications hosting configuration environments.” (Mora, 2009, p.13)
If the management of the infrastructure and the applications running on it is conducted entirely by the provider, then this may sometimes lead to dependency of the users to the provider. If the users decide to change the provider, they may have to adopt the applica-tion to the new provider‟s infrastructural requirements, or development requirements, according to Hurwitz et al., (2010).
“Development platforms enable developers to write their applications and upload their code into the cloud where the application is accessible and can be run in a web-based manner. Developers do not have to care about issues like system scalability as the us-age of their applications grows.” (Weinhardt et al., 2009, p.396)PaaS – Integration service (Infrastructure is entirely managed by the provider); management of applications (by the user), (Mell & Grance, 2009) At this level of Cloud computing its features remain the same, with the addition of man-agement of the operating systems of the servers and the load balancing services
Software as a Service
In this form of cloud computing, the user rents and uses an application. The application is not owned by the user, but the customer only pays for its use. The service provided makes use of the provider‟s applications accessible through a client interface, such as a web browser (ex. Gmail) (Mora, 2009) (Mell & Grance, 2009). The infrastructure (servers, broadband, operating systems and data storage) and the application itself are entire-ly managed by the provider, according to Mora (2009) and Mell and Grance (2009).
“Applications are delivered through the Cloud facilitating the platform and infrastruc-ture layer below which are opaque for the user.” (Weinhardt et al., 2009, p.396)
According to Mell and Grance (2009), the term software as a service is seen as the pro-vision of the capability to a consumer of accessing and using a provider‟s application, which is running on the provider‟s network. Compared to PaaS, SaaS also provides the infrastructure, but this time adding a ready-to-use application to the user directly on a pay-per-use basis (Mell, Grance, 2009).
SaaS – pay per use of a software, which can be accessed through a variety of thin clients, mainly web-browsers, (Mell & Grance, 2009).
At this stage of cloud computing the features that are directly affecting the user are: the management of the software itself (the application or that is the actual game). Since SaaS build-up on IaaS, this level of the services provides the most features that related to the user.
Hoogvliet (2008) outlines arguments which are in essence user benefits of using soft-ware as a service with regards to the client perspective of the model:
- Small costs – there is a low cost of acquiring, suing and managing the applica-tion (Hoogvliet, 2008)
- Fast acquisition – the process of implementing and acquiring an application is time-efficient (Hoogvliet, 2008)
- Improved maintenance – the level of customer support, service (such as up-dates, upgrades) and feedback is improved (Hoogvliet, 2008)
- Infrastructure – the responsibility for the infrastructure is shared and therefore well managed (Hoogvliet, 2008)
- Costs planning – the predictability of the expected ongoing costs gives greater flexibility to the user (Hoogvliet, 2008)
- Security – risk factors are reduced, security is increased (Hoogvliet, 2008)
Main technology characteristics
The following five characteristics of cloud computing are created by the Gartner Group, according to Plummer, et al. (2009) and Mell and Grance (2009), and have a summariz-ing purpose for applying cloud computing in general (cited in Mora, 2009).
- Service based – The technology is service-oriented, thus abstracting the con-cerns of the consumer with the concerns of the providers (Mora, 2009). The ser-vices are provisioned automatically without human interaction (Mell & Grance, 2009).
- Rapid elasticity and scalability – The services are scaled upon demand by add-ing or removing resources depending on the demand (Mora, 2009). To the con-sumer these services may appear unlimited as they are purchased and left on the go (Mell & Grance, 2009).
- Shared resources – Services share a pool of resources in order to build econo-mies of scale. Economies of scale are such that through increasing the output, costs of the services are decreased (Mora, 2009).
- Pay per use – These services are tracked with usage metrics, enabling a “pay-as-you-go model”. (Mora, 2009) The tracking is done automatically as there are embedded mechanisms for doing that (Mell & Grance, 2009).
- Ubiquitous network access – Services are delivered through the web, using web identifiers, protocols and formats and have an identical access (Mora, 2009). Those resources are available over the internet and can be accessed from any platform such as thin or thick clients, which includes PCs, mobile phones and so on (Mell & Grance, 2009).
Related Technologies and Definitions
Cloud computing is related to the field of distributed systems, as shown below, and is also dependent on technologies such as virtualization and load balancing in order to op-erate. There are some issues that arise from the field of distributed systems and distrib-uted computing, which is inherently connected to cloud gaming as it can be seen as a distributed system.
A distributed system is any system that has two or more autonomous processors work-ing together, by communicating with each other, in order to achieve a common goal (Peleg, 2000). These processors are active throughout the working process of the system and are still capable of operating on their own. Peleg (2000) outlines another significant characteristic of the distributed systems, they (the distribute systems) are non-uniform. This implies the sense that these processors may vary in their size, power and organiza-tional architecture and may be geographically dispersed. According to Foster, Zhao, Raicu and Lu (2008), depending on the different characteristics of the distributed sys-tems, they have different subsets. Foster et al. (2008) suggest that those subsets can be supercomputers, grids, clusters, and clouds (cited in Giacomo & Brunzel, 2010).
Peleg (2000) suggests that there are many problems associated with distributed systems some of them being communication, time and synchronization. The issue with communication is that it should be considered as a computational resource as well (other being, for example storage capacity, processing time, etc…), since this may lead to a limitation on the communication as well (Peleg, 2000).
According to Peleg (2000), understanding the concept of time in distributed systems and developing effective methodologies for dealing with it is still a phenomenon under ac-tive research. One aspect of this domain is the level of synchronization and the different patterns presently existing that address it. According to Peleg (2000), different patterns may vary according to the level of synchronization.
- An issue in Distributed Computing is bandwidth
- Another issue in Distributed Computing is synchronization, which is depend-ent on time
With regards to cloud gaming, those features impose limitations, since a cloud game is a distributed system and its implementation increases the requirements for bandwidth. Another limitation is the distance to the server which results in a time difference. Hence it affects the synchronization and might induce poor gaming performance.
The result of an insufficient bandwidth may result in poor performance of the game and may result in visibly slow actions. Poor gaming experience may have other causes as well. Those that are being addressed by the research also include latency and hardware with insufficient capabilities. That is how these features appear to the user.
Latency is an essential issue to cloud gaming and is setting a limit to for geographical distribution. The maximum distance between the end user and the data-centre hosting the cloud gaming service (OnLive) should be no more than 1000 miles (1600 km) (OnLive a, 2010). According to Burgess and Roy (2009), latency can be viewed as the time difference between the moment of initiating an action from the client and the mo-ment when it is recognized physically by the server. “The presentation and interaction consistency are directly influenced by the network latency” (Boustead 2005, p.151.)
The significance of the gaming experience varies in different genre of games. In a shooter game the game environment requires frequent and precise interaction with the user; therefore it can be heavily affected by the delay. As low as 60 milliseconds of la-tency can cause disturbing experiences when playing games (Boustead, 2005). It is proved that strategy games and role-playing games are less affected or can be playable with higher latency values, where the nature emphasizes strategy rather than rapid movement actions (Boustead, 2005).
The lack of synchronization caused by the network delay brings inconsistency among players. In an example of a racing game the car‟s position displayed on one players‟ monitor will not be the same on the other player‟s monitor (Ikedo, Ishibashi & Yasui, 2005). This is a possible outcome when latency occurs and is to be further examined with regards to the user perception of it. However, if there is little or no latency, such inconsistencies will not occur.
Inconsistencies are basically the difference between the state of program in the client and in the server. According to Davison (2005), simulations can be run when data losses occur and then the program send messages for updating the system information. Heckmann (2006), suggests that one of the mechanism of reducing the effect of latency is predictions. These predictions may end-up differing from the reality. Because the pre-dictions can be different from the reality and can lead to inconsistencies. These incon-sistencies caused by the predictions are referred to throughout the research as simula-tions
Cloud computing enabling technologies
There are two main technologies that enable cloud computing and those are virtualiza-tion and load balancing. As suggested earlier by Mora (2009), load balancing is a tech-nology used in providing infrastructure as a service (IaaS). The infrastructure is the foundation part of cloud computing and its subsequent levels of service (PaaS, SaaS).
Virtualization is the technology of enabling a software-created virtual machine that has properties of a physical server. This makes it possible to run multiple virtual environ-ments on one physical machine. Virtualization is customizable in terms of resource dis-tribution, both virtual and physical, as it enables flexible usage of the hardware power of the real machine. Virtualization‟s main goal is improving scalability and balancing workloads making more efficient use of the hardware (Breznitz et al., 2010). Virtualiza-tion inevitably increases the requirements for bandwidth with regards to cloud gaming. Thus this technology contributes to form one of the features of cloud gaming – band-width.
Load balancing is a technology that enables the distribution of information over a net-work in order to ensure maximum efficiency within a distributed system (Microsoft, 2011). The aim of load balancing is to create a scalable infrastructure that provides a satisfactory level of performance of a system. Load balancing is usually conducted in between the client and the application/database server (depends on the type of system), (Microsoft, 2011). There are many issues affecting load balancing. Such can be: Serv-er-side overloading; application requirement limitations (limited number of CPUs is re-quired); servers as end-nodes in a network fail; too many servers might complicate the performance measurement (Microsoft, 2011). The load balancing technology is sup-posed to deal with these issues.
There are two types of load balancing: software-based and hardware based (Microsoft, 2011). In the case of software-based load balancing, there is software installed on the loaded server within a system, which controls the flow of requests from the client side according to predefined algorithms (Microsoft, 2011). In the case of the hardware-based load balancing, there is a router or another networking device that regulates the flow (Microsoft, 2011). Load balancing is a crucial technology that provides the smooth workflow of the infrastructure and therefore is a crucial enabler of cloud computing and its applications.
Streaming is another enabling technology that provides the possibility for using thin cli-ents or the so called low-end devices. This technology allows the smoother communica-tion between the client and the server, by easing the requirements for the bandwidth.
Media streaming – the technology that enables capturing video, graphics or audio and delivering it from the source to the end user through a network, in real-time. The initial content can be pre-recorded or a live broadcast. If the transmission is a continuous pro-cess it does not require any intermediate storage space on the end device. The quality of the content is determined by original material, processing power and bandwidth of the network. This technology enabled on-demand services (Austerberry, 2005). The process of streaming involves four stages: Capturing the media, Encoding, Distribution and Playing on the end device (Austerberry, 2005).
Cloud gaming utilizes streaming to deliver the content of played game to the user in form of video and audio. This enables the rendering of the game to be outsourced and the outcome (game visuals) be viewed by the user on a low-end machine. Moreover, the stream is real-time broadcast it can change it contents on-demand enabling thin client features.
Streaming requires stable and low latency network connection in order to keep the real-time consistency that is crucial specifically in gaming. Usage of the cloud gaming ser-vice states the minimum bandwidth requirement and evaluates the latency which gives a recommendation (OnLive [b], 2010).
- Streaming enables outsourced rendering and on-demand services which are part of thin client benefits feature
- Streaming requires adequate bandwidth and latency affects it negatively
The new Gaming Platform and Enabling Technologies
The chapter is going to discuss the implementation of cloud computing in games. A par-ticular example is chose, that of OnLive. This company is chosen, because it is the larg-est active provider of cloud games at the moment of the research. Besides that this com-pany utilizes the cloud computing technology in a common way as the others are. The presented below application of cloud computing is at a very high, conceptual level and aims at providing an overall logical connection of the technologies involved.
This company has on-demand instant gaming (OnLive b, 2010). The company uses monthly rates for membership, which in January 2011 was planned to be $9.99 per month (OnLive b, 2010). The service is offered over the internet to low-end devices, as the company names them (OnLive, 2011). Thus the company is deploying a SaaS gam-ing platform, available to anyone over the internet on a pay-per-use basis. The users‟ agreement to subscribe for a month is considered to be a period that they will be using the service.
Another cloud service is offered by OnLive and that is the PaaS, with which OnLive provides both infrastructure and development environment, together with SDK, for the game developers, who wish to adapt their program to the new platform and use the SaaS channel provided with OnLive in order to explore the new market (OnLive, 2011). In Figure 2.2 below, a simple explanation of the technology mentioned above is shown. PlayPack is the package of games that OnLive offers with the subscription fee, (OnLive b, 2010). Within the PaaS layer, OnLive offers a development environment with SDK (Software Development Kit), in which developers can adapt their source code and test it safely (OnLive, 2011)
1.3 Purpose/Research Question
1.7 Time Line
2 Theoretical Framework
2.1 Features of cloud gaming based on theory
2.2 Technology Acceptance Model
3.1 Research Outline
3.2 Research Philosophy
3.3 Research Approach
3.4 Research Strategy
3.6 Method of Analysis
4 Empirical Findings
4.1 Primary Data
4.2 Secondary Data
5.3 Attitude towards using
6.1 Contribution of the thesis
6.2 Lessons Learned
6.3 Further research
GET THE COMPLETE PROJECT