Gaming as a ServicePresentation (Output) Layer Input Layer Logic Layer . Program Aspect of MCC ......

57
Gaming as a Service Prof. Victor C.M. Leung The University of British Columbia, Canada www.ece.ubc.ca/~vleung International Conference on Computing, Networking and Communications 4 February, 2014

Transcript of Gaming as a ServicePresentation (Output) Layer Input Layer Logic Layer . Program Aspect of MCC ......

Page 1: Gaming as a ServicePresentation (Output) Layer Input Layer Logic Layer . Program Aspect of MCC ... • OnLive, Gaikai, G-Cluster Service Model of OnLive . Cloud Gaming Business Model

Gaming as a Service

Prof. Victor C.M. Leung The University of British Columbia, Canada

www.ece.ubc.ca/~vleung

International Conference on Computing, Networking and Communications

4 February, 2014

Page 2: Gaming as a ServicePresentation (Output) Layer Input Layer Logic Layer . Program Aspect of MCC ... • OnLive, Gaikai, G-Cluster Service Model of OnLive . Cloud Gaming Business Model

Outline

Introduction to Mobile Cloud Computing

Gaming as a Service (GaaS)

o Commercial Cloud Gaming System

o A Cloudlet-assisted Cloud Video Gaming System

o Cognitive GaaS Platform

• Design of Cognitive GaaS Platform

• Environment Perception Design

• Resource Management

Research Opportunities: Mobile Gaming as a Service

Page 3: Gaming as a ServicePresentation (Output) Layer Input Layer Logic Layer . Program Aspect of MCC ... • OnLive, Gaikai, G-Cluster Service Model of OnLive . Cloud Gaming Business Model

Mobile Cloud Computing

Page 4: Gaming as a ServicePresentation (Output) Layer Input Layer Logic Layer . Program Aspect of MCC ... • OnLive, Gaikai, G-Cluster Service Model of OnLive . Cloud Gaming Business Model

Cloud Computing

Definition from NIST: “Cloud computing is a model for enabling

convenient, on-demand network access to a shared pool of

configurable computing resources (e.g., networks, servers, storage,

applications, and services) that can be rapidly provisioned and

released with minimal management effort or service provider

interaction” virtualization of computing resources

Providing Everything as a Service (XaaS)

Types of Cloud Computing

• Public clouds

• Private clouds

• Hybrid clouds

• Virtual private clouds

Page 5: Gaming as a ServicePresentation (Output) Layer Input Layer Logic Layer . Program Aspect of MCC ... • OnLive, Gaikai, G-Cluster Service Model of OnLive . Cloud Gaming Business Model

Cloud Computing (Cont.)

Evolution of cloud computing concept

• Distributed computing (pure academic concept)

• Grid computing (academic-leading application: SETI@home)

• Cloud computing (commercial concept: reuse computing

resources)

Advantages

• Multi-tenancy

• Shared resource pooling

• Geo-distribution and ubiquitous network access

• Service oriented

• Dynamic resource provisioning

• Self-organization

• Utility-base pricing

Page 6: Gaming as a ServicePresentation (Output) Layer Input Layer Logic Layer . Program Aspect of MCC ... • OnLive, Gaikai, G-Cluster Service Model of OnLive . Cloud Gaming Business Model

Cloud Computing Services

Virtualized services at different levels

Page 7: Gaming as a ServicePresentation (Output) Layer Input Layer Logic Layer . Program Aspect of MCC ... • OnLive, Gaikai, G-Cluster Service Model of OnLive . Cloud Gaming Business Model

Mobile Cloud Computing

Mobile cloud computing (MCC) mobile applications are built, powered and/or hosted using cloud computing technologies

Motivated by:

Resource constraints in mobile devices

o Processing

o Data storage / memory

o Energy storage / battery

Diversity of mobile devices (smart phones, tablets, etc.)

Contemporary mobile devices are (almost) always connected

Desire of mobile device users to interact with other mobile device users (e.g., via social networking)

Page 8: Gaming as a ServicePresentation (Output) Layer Input Layer Logic Layer . Program Aspect of MCC ... • OnLive, Gaikai, G-Cluster Service Model of OnLive . Cloud Gaming Business Model

Mobile Cloud Computing (MCC): Architecture

Page 9: Gaming as a ServicePresentation (Output) Layer Input Layer Logic Layer . Program Aspect of MCC ... • OnLive, Gaikai, G-Cluster Service Model of OnLive . Cloud Gaming Business Model

Advantages of MCC

For users

• Overcome limits of mobile hardware

Extending battery life

Improving data storage capacity

Improving processing power

• Improving reliability

For developers

• Reusing existing, matured services – quick to market

• Overcome design limitations of mobile systems

For service providers

• Continuous revenue from service providing model

• Unified service regardless of platform

Page 10: Gaming as a ServicePresentation (Output) Layer Input Layer Logic Layer . Program Aspect of MCC ... • OnLive, Gaikai, G-Cluster Service Model of OnLive . Cloud Gaming Business Model

An Application Model of MCC

Service

Cloud

Service

Cloud

Service

Cloud

Service

Cloud

Service

Cloud

Service

Cloud

Presentation

(Output) Layer

Presentation

(Output) Layer

Input

Layer

Input

Layer

Logic Layer Logic Layer

Page 11: Gaming as a ServicePresentation (Output) Layer Input Layer Logic Layer . Program Aspect of MCC ... • OnLive, Gaikai, G-Cluster Service Model of OnLive . Cloud Gaming Business Model

Program Aspect of MCC

Nodes represent program modules of a mobile cloud applications

Page 12: Gaming as a ServicePresentation (Output) Layer Input Layer Logic Layer . Program Aspect of MCC ... • OnLive, Gaikai, G-Cluster Service Model of OnLive . Cloud Gaming Business Model

Offloading Model of MCC Design

From “CloneCloud” (Intel Research Berkeley 2011)

Page 13: Gaming as a ServicePresentation (Output) Layer Input Layer Logic Layer . Program Aspect of MCC ... • OnLive, Gaikai, G-Cluster Service Model of OnLive . Cloud Gaming Business Model

Application of MCC

• Mobile Commerce

• Mobile Learning

• Mobile Healthcare

• Mobile Sensor Surveillance System

• Mobile Vehicular Networks

• Mobile Social Network

• Mobile Gaming

Page 14: Gaming as a ServicePresentation (Output) Layer Input Layer Logic Layer . Program Aspect of MCC ... • OnLive, Gaikai, G-Cluster Service Model of OnLive . Cloud Gaming Business Model

Research Topics of MCC

Research Issues

• Bandwidth requirements

• Network availability

• Network heterogeneity

• Offloading

• Security

• etc.

Associated with other topics

• Vehicular networks

• Social networks

• Wireless sensor networks

• etc.

Page 15: Gaming as a ServicePresentation (Output) Layer Input Layer Logic Layer . Program Aspect of MCC ... • OnLive, Gaikai, G-Cluster Service Model of OnLive . Cloud Gaming Business Model

Gaming as a Service (GaaS)

Page 16: Gaming as a ServicePresentation (Output) Layer Input Layer Logic Layer . Program Aspect of MCC ... • OnLive, Gaikai, G-Cluster Service Model of OnLive . Cloud Gaming Business Model

World Video Game Market (Million €)

Source: IDATE, November 2013

Page 17: Gaming as a ServicePresentation (Output) Layer Input Layer Logic Layer . Program Aspect of MCC ... • OnLive, Gaikai, G-Cluster Service Model of OnLive . Cloud Gaming Business Model

Gaming as a Service

Games are built, powered and/or hosted using cloud

computing technologies

Additional Features:

o Anti-Piracy

o Click-and-Play

• most games are seldom if ever played after downloading

o Enhanced Gaming Experience

• Gaming Anywhere

• Gaming Anytime

• Seamless Gaming

Page 18: Gaming as a ServicePresentation (Output) Layer Input Layer Logic Layer . Program Aspect of MCC ... • OnLive, Gaikai, G-Cluster Service Model of OnLive . Cloud Gaming Business Model

Commercial Cloud Gaming

Page 19: Gaming as a ServicePresentation (Output) Layer Input Layer Logic Layer . Program Aspect of MCC ... • OnLive, Gaikai, G-Cluster Service Model of OnLive . Cloud Gaming Business Model

Commercial Cloud Gaming

Existing commercial cloud gaming service providers

• OnLive, Gaikai, G-Cluster

Service Model of OnLive

Page 20: Gaming as a ServicePresentation (Output) Layer Input Layer Logic Layer . Program Aspect of MCC ... • OnLive, Gaikai, G-Cluster Service Model of OnLive . Cloud Gaming Business Model

Cloud Gaming Business Model (from G-Cluster)

Page 21: Gaming as a ServicePresentation (Output) Layer Input Layer Logic Layer . Program Aspect of MCC ... • OnLive, Gaikai, G-Cluster Service Model of OnLive . Cloud Gaming Business Model

Architecture of Cloud Gaming

Virtual machines (VMs) to simulate

the runtime environment of the

mobile devices

Virtual machines (VMs) to simulate

the runtime environment of the

mobile devices

Gaming videos are rendered and

encoded in the cloud

Gaming videos are rendered and

encoded in the cloud

Video frames are transmitted to

mobile terminal via network

Video frames are transmitted to

mobile terminal via network

Mobile devices serve as display

screen and input controller

Mobile devices serve as display

screen and input controller

Page 22: Gaming as a ServicePresentation (Output) Layer Input Layer Logic Layer . Program Aspect of MCC ... • OnLive, Gaikai, G-Cluster Service Model of OnLive . Cloud Gaming Business Model

Measurement of OnLive

Research Issues and Challenges • Interaction delay tolerance

• Video streaming and encoding

Measurement of OnLive (Simon Fraser Univ. 2013)

Page 23: Gaming as a ServicePresentation (Output) Layer Input Layer Logic Layer . Program Aspect of MCC ... • OnLive, Gaikai, G-Cluster Service Model of OnLive . Cloud Gaming Business Model

Adaptive Rendering for Cloud Gaming

Adapt rendering parameters to network environment

Adaptive Rendering for MCG (Univ. of California San Diego 2011)

Full quality Reduced depth

Reduced details Reduced details

Page 24: Gaming as a ServicePresentation (Output) Layer Input Layer Logic Layer . Program Aspect of MCC ... • OnLive, Gaikai, G-Cluster Service Model of OnLive . Cloud Gaming Business Model

Quality of Experience (QoE) for Cloud Gaming

Mapping user QoE to network Quality of Service(QoS)

Page 25: Gaming as a ServicePresentation (Output) Layer Input Layer Logic Layer . Program Aspect of MCC ... • OnLive, Gaikai, G-Cluster Service Model of OnLive . Cloud Gaming Business Model

A Cloudlet-Assisted Multiplayer

Cloud Video Gaming System

Work published in ACM/Springer Mobile Networks and Applications (MONET) Work published in ACM/Springer Mobile Networks and Applications (MONET)

Page 26: Gaming as a ServicePresentation (Output) Layer Input Layer Logic Layer . Program Aspect of MCC ... • OnLive, Gaikai, G-Cluster Service Model of OnLive . Cloud Gaming Business Model

System Model

Ad-hoc Cloudlet

Motivations

• Multiple game players in a same

game scene would receive similar

game videos

• Mobile clients are able to share

their received gaming videos with

the help of ad-hoc cloudlet

constructed by a secondary local

ad hoc network

• Potentially, the sharing of gaming

video frames is able to reduce the

server transmission rate

Page 27: Gaming as a ServicePresentation (Output) Layer Input Layer Logic Layer . Program Aspect of MCC ... • OnLive, Gaikai, G-Cluster Service Model of OnLive . Cloud Gaming Business Model

Correlation of Video Frames

Inter-Video P-Frame Inter-Video P-Frame

Intra-Video P-Frame Intra-Video P-Frame

Page 28: Gaming as a ServicePresentation (Output) Layer Input Layer Logic Layer . Program Aspect of MCC ... • OnLive, Gaikai, G-Cluster Service Model of OnLive . Cloud Gaming Business Model

Correlation of Inter-video Frames

Inter-Video P-frame

H

W

Roverlap = ratio of frame overlap

Pinter = size of inter-frame

I = size of intra-frame

= compression ratio

Page 29: Gaming as a ServicePresentation (Output) Layer Input Layer Logic Layer . Program Aspect of MCC ... • OnLive, Gaikai, G-Cluster Service Model of OnLive . Cloud Gaming Business Model

Player Interaction Models

Random Walk –

Choose a random direction to move

Group Chase – Randomly choose a peer avatar, and chase it for a certain period of time

Page 30: Gaming as a ServicePresentation (Output) Layer Input Layer Logic Layer . Program Aspect of MCC ... • OnLive, Gaikai, G-Cluster Service Model of OnLive . Cloud Gaming Business Model

Design of Video Encoder

Encoding steps:

1. Frame Size Estimation

2. Grouping

3. Optimal Encoding

Minimum Spanning Tree

Player

Time

1 2 3 4

i

i+1

Page 31: Gaming as a ServicePresentation (Output) Layer Input Layer Logic Layer . Program Aspect of MCC ... • OnLive, Gaikai, G-Cluster Service Model of OnLive . Cloud Gaming Business Model

Multi-hop Decoding Problem

Drawbacks

Unacceptable Decoding Delay

Solution to the problem

To restrict the encoding in 1-hop

Search the F[x] with most

frames which use F[x] as predictor

Encode F[x] as

Encode all

Continues until all F[x] is encoded

Pinter[y][x]

Pinter[y][x]

Pintra[x]

Page 32: Gaming as a ServicePresentation (Output) Layer Input Layer Logic Layer . Program Aspect of MCC ... • OnLive, Gaikai, G-Cluster Service Model of OnLive . Cloud Gaming Business Model

Experiments

Number of Players 8

Average Game Time 1000s

Probability of Random Walk 0.7

Probability of Group Chase 0.3

Time of Each Chase 5s

Screen Resolution 1024x1024

Game Map Size 4096x4096

Pixels of Each Move 32 pixels

FPS( Frame per

Second)

24

GoP (Group of Pictures) Infinite

PSNR (Peak Signal to Noise

Ratio)

32dB

Table 1. Player Interaction Model

Table 2. Video Encoding Parameters

Video Frames

Stanford Bunny Light Field

H.236 Encoder

Evaluation

Server Transmission Rate

Comparison

Original Intra-Video Encoding

Optimal Inter-Video Encoding

One-Hop Inter-Video

Encoding

Page 33: Gaming as a ServicePresentation (Output) Layer Input Layer Logic Layer . Program Aspect of MCC ... • OnLive, Gaikai, G-Cluster Service Model of OnLive . Cloud Gaming Business Model

Transmission Rate vs. Game Time

Reduced

by 54%

Reduced

by 54%

Reduced

by 64%

Reduced

by 64%

Page 34: Gaming as a ServicePresentation (Output) Layer Input Layer Logic Layer . Program Aspect of MCC ... • OnLive, Gaikai, G-Cluster Service Model of OnLive . Cloud Gaming Business Model

Transmission Rate vs. Game Time

Page 35: Gaming as a ServicePresentation (Output) Layer Input Layer Logic Layer . Program Aspect of MCC ... • OnLive, Gaikai, G-Cluster Service Model of OnLive . Cloud Gaming Business Model

Transmission Rate vs. Chase Time

Page 36: Gaming as a ServicePresentation (Output) Layer Input Layer Logic Layer . Program Aspect of MCC ... • OnLive, Gaikai, G-Cluster Service Model of OnLive . Cloud Gaming Business Model

Transmission Rate vs. No. of Players

Page 37: Gaming as a ServicePresentation (Output) Layer Input Layer Logic Layer . Program Aspect of MCC ... • OnLive, Gaikai, G-Cluster Service Model of OnLive . Cloud Gaming Business Model

Cognitive Gaming as a Service

Page 38: Gaming as a ServicePresentation (Output) Layer Input Layer Logic Layer . Program Aspect of MCC ... • OnLive, Gaikai, G-Cluster Service Model of OnLive . Cloud Gaming Business Model

Problems of Existing Cloud Gaming Systems

Transmission of gaming video

• High bandwidth requirement

• Infeasible: unstable in mobile network

• Irrational: too expensive in paid network

• Hard to extend battery life

• Screen display consumes lots of battery

• Decoding of gaming video frames consumes power as

well

Need flexible scheme that is situation-aware and

capable of adapting to the situation

Page 39: Gaming as a ServicePresentation (Output) Layer Input Layer Logic Layer . Program Aspect of MCC ... • OnLive, Gaikai, G-Cluster Service Model of OnLive . Cloud Gaming Business Model

Dynamic Location of Gaming Program Modules

Resulting Video

Transmission

Resulting Video

Transmission

Existing MCG Existing MCG

Why not? Why not?

Gaming Input Module Gaming Input Module

Gaming Output Module Gaming Output Module

Or Even? Or Even?

Page 40: Gaming as a ServicePresentation (Output) Layer Input Layer Logic Layer . Program Aspect of MCC ... • OnLive, Gaikai, G-Cluster Service Model of OnLive . Cloud Gaming Business Model

Architectural Framework of Future GaaS Cognitive cloud integration

• Enabling component-based game design

• Facilitating code migration from cloud to mobile terminal

• Supporting cognitive resource allocation (dynamic partitioning)

Work presented in MobileCloud 2013 Work presented in MobileCloud 2013

Page 41: Gaming as a ServicePresentation (Output) Layer Input Layer Logic Layer . Program Aspect of MCC ... • OnLive, Gaikai, G-Cluster Service Model of OnLive . Cloud Gaming Business Model

A Running Cognitive GaaS Instance

Page 42: Gaming as a ServicePresentation (Output) Layer Input Layer Logic Layer . Program Aspect of MCC ... • OnLive, Gaikai, G-Cluster Service Model of OnLive . Cloud Gaming Business Model

Cognitive GaaS: Overview

Cognitive GaaS Platform Cognitive GaaS Platform

Game

Development

Game

Development

Performance

Analysis

Performance

Analysis

Game Instances Game Instances

Cognitive

Adaption

Cognitive

Adaption API Support API Support

Environment

Perception

Environment

Perception

Source Code Source Code

Page 43: Gaming as a ServicePresentation (Output) Layer Input Layer Logic Layer . Program Aspect of MCC ... • OnLive, Gaikai, G-Cluster Service Model of OnLive . Cloud Gaming Business Model

Cognitive GaaS: Research Issues

Cognitive GaaS Platform Design and Implementation

• Enabling mechanisms and technologies

Performance Prediction for Game Components

• The reference for optimization algorithms

• Unable to test performance in real-time

• Prediction on code characteristics

Environment Perception

• The reason for adaptation

• Efficient and accurate measurement, evaluation and prediction

Intelligent Adaption Solution

• Mapping system from QoE to QoS

• Adaptive strategy: Level transitions and timing

Page 44: Gaming as a ServicePresentation (Output) Layer Input Layer Logic Layer . Program Aspect of MCC ... • OnLive, Gaikai, G-Cluster Service Model of OnLive . Cloud Gaming Business Model

Cognitive Gaming as a Service

Design of Cognitive GaaS Platform

Work presented in CloudCom 2013 Work presented in CloudCom 2013

Page 45: Gaming as a ServicePresentation (Output) Layer Input Layer Logic Layer . Program Aspect of MCC ... • OnLive, Gaikai, G-Cluster Service Model of OnLive . Cloud Gaming Business Model

Design of Cognitive GaaS Platform

Design of Cognitive GaaS Platform

Features

APIs for Game Developers

Click-and-Play • No installation required

Cognitive Adaptation • Environment Perception

• Onloading Scheme

• Dynamic Partitioning

Partial Offline Execution • For special scenarios

Page 46: Gaming as a ServicePresentation (Output) Layer Input Layer Logic Layer . Program Aspect of MCC ... • OnLive, Gaikai, G-Cluster Service Model of OnLive . Cloud Gaming Business Model

Configuration Center at Cloud End

Figure 24. The Configure Center of Cognitive MCG Platform

Client List Client List

Component

Real-Time

Execution Status

Component

Real-Time

Execution Status

Component

Real-Time

Onloading Status

Component

Real-Time

Onloading Status

Client Device

Status

Client Device

Status

Page 47: Gaming as a ServicePresentation (Output) Layer Input Layer Logic Layer . Program Aspect of MCC ... • OnLive, Gaikai, G-Cluster Service Model of OnLive . Cloud Gaming Business Model

Preliminary Experiment

Experiment Setup

To validate the capacity of optimization

• Latency-oriented optimization

Experiment Result

Page 48: Gaming as a ServicePresentation (Output) Layer Input Layer Logic Layer . Program Aspect of MCC ... • OnLive, Gaikai, G-Cluster Service Model of OnLive . Cloud Gaming Business Model

Partial Offline Execution

Message Redirection or Offline Execution

Page 49: Gaming as a ServicePresentation (Output) Layer Input Layer Logic Layer . Program Aspect of MCC ... • OnLive, Gaikai, G-Cluster Service Model of OnLive . Cloud Gaming Business Model

Cognitive Gaming as a Service

Environment Perception

Work presented in CloudComp 2013 Work presented in CloudComp 2013

Page 50: Gaming as a ServicePresentation (Output) Layer Input Layer Logic Layer . Program Aspect of MCC ... • OnLive, Gaikai, G-Cluster Service Model of OnLive . Cloud Gaming Business Model

Mobile Agent (MA) Environment Perception

Figure 16. Mobile Agent Information Collection

Consider measurement, evaluation and prediction together!

Local Analysis Local Analysis

Cloud Analysis Cloud Analysis

Status Storage Status Storage

Agent Dispatch Agent Dispatch

Time Trigger for

Agent Dispatch

Time Trigger for

Agent Dispatch

Page 51: Gaming as a ServicePresentation (Output) Layer Input Layer Logic Layer . Program Aspect of MCC ... • OnLive, Gaikai, G-Cluster Service Model of OnLive . Cloud Gaming Business Model

MA Information Analysis

Local Analysis

• Extracting the features or characteristics of data

• To increase the transmission efficiency of collected information

Cloud Analysis

• QoE level factor

• System variance factor

• Predict future information to increase the information collection

efficiency

Page 52: Gaming as a ServicePresentation (Output) Layer Input Layer Logic Layer . Program Aspect of MCC ... • OnLive, Gaikai, G-Cluster Service Model of OnLive . Cloud Gaming Business Model

Benefits of MA Information Collection

Intelligent Collection Interval

• Determined by data variety

• Predicted in the cloud with historic data

Flexible Agent Design

• Task-specific dispatching

• Determined by data characteristics

Efficient Information Transmission

• Information retrieval, fusion and collection

Page 53: Gaming as a ServicePresentation (Output) Layer Input Layer Logic Layer . Program Aspect of MCC ... • OnLive, Gaikai, G-Cluster Service Model of OnLive . Cloud Gaming Business Model

Enabling Technologies

Figure 17. Implementation of Mobile Agent Information Collection

Page 54: Gaming as a ServicePresentation (Output) Layer Input Layer Logic Layer . Program Aspect of MCC ... • OnLive, Gaikai, G-Cluster Service Model of OnLive . Cloud Gaming Business Model

Cognitive Gaming as a Service

Resource Management

Work will be presented at IEEE ICC 2014 Work will be presented at IEEE ICC 2014

Page 55: Gaming as a ServicePresentation (Output) Layer Input Layer Logic Layer . Program Aspect of MCC ... • OnLive, Gaikai, G-Cluster Service Model of OnLive . Cloud Gaming Business Model

Our Future Work

QoE testing involving different terminals under

different network and cloud service conditions

Further refine cognitive cloud-based gaming

framework and platform development

Develop demo games using platform

Develop adaptive algorithms for situation-aware

dynamic offloading of game components

Page 56: Gaming as a ServicePresentation (Output) Layer Input Layer Logic Layer . Program Aspect of MCC ... • OnLive, Gaikai, G-Cluster Service Model of OnLive . Cloud Gaming Business Model

The Opportunities of Mobile GaaS

Make it MOBILE with novel I/O support

Augmented-Reality Gaming (Google Glass)

Sensor Games

Geographical Games(Ingress)

Page 57: Gaming as a ServicePresentation (Output) Layer Input Layer Logic Layer . Program Aspect of MCC ... • OnLive, Gaikai, G-Cluster Service Model of OnLive . Cloud Gaming Business Model

Thank You! Wireless Networks and Mobile Systems Laboratory

http://winmos.ece.ubc.ca

This work was contributed by Wei Cai