Your SlideShare is downloading. ×
0
GamingAnywhere: An Open Cloud Gaming System
GamingAnywhere: An Open Cloud Gaming System
GamingAnywhere: An Open Cloud Gaming System
GamingAnywhere: An Open Cloud Gaming System
GamingAnywhere: An Open Cloud Gaming System
GamingAnywhere: An Open Cloud Gaming System
GamingAnywhere: An Open Cloud Gaming System
GamingAnywhere: An Open Cloud Gaming System
GamingAnywhere: An Open Cloud Gaming System
GamingAnywhere: An Open Cloud Gaming System
GamingAnywhere: An Open Cloud Gaming System
GamingAnywhere: An Open Cloud Gaming System
GamingAnywhere: An Open Cloud Gaming System
GamingAnywhere: An Open Cloud Gaming System
GamingAnywhere: An Open Cloud Gaming System
GamingAnywhere: An Open Cloud Gaming System
GamingAnywhere: An Open Cloud Gaming System
GamingAnywhere: An Open Cloud Gaming System
GamingAnywhere: An Open Cloud Gaming System
GamingAnywhere: An Open Cloud Gaming System
GamingAnywhere: An Open Cloud Gaming System
GamingAnywhere: An Open Cloud Gaming System
GamingAnywhere: An Open Cloud Gaming System
GamingAnywhere: An Open Cloud Gaming System
GamingAnywhere: An Open Cloud Gaming System
GamingAnywhere: An Open Cloud Gaming System
GamingAnywhere: An Open Cloud Gaming System
GamingAnywhere: An Open Cloud Gaming System
GamingAnywhere: An Open Cloud Gaming System
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

GamingAnywhere: An Open Cloud Gaming System

27,585

Published on

Cloud gaming is a promising application of the rapidly expanding cloud computing infrastructure. Existing cloud gaming systems, however, are closed-source with proprietary protocols, which raises the …

Cloud gaming is a promising application of the rapidly expanding cloud computing infrastructure. Existing cloud gaming systems, however, are closed-source with proprietary protocols, which raises the bars to setting up testbeds for experiencing cloud games. In this paper, we present a complete cloud gaming system, called GamingAnywhere, which is to the best of our knowledge the first open cloud gaming system. In addition to its openness, we design GamingAnywhere for high extensibility, portability, and reconfigurability. We implement GamingAnywhere on Windows, Linux, and OS X, while its client can be readily ported to other OS's, including iOS and Android. We conduct extensive experiments to evaluate the performance of GamingAnywhere, and compare it against two well-known cloud gaming systems: OnLive and StreamMyGame. Our experimental results indicate that GamingAnywhere is efficient and provides high responsiveness and video quality. For example, GamingAnywhere yields a per-frame processing delay of 34 ms, which is 3+ and 10+ times shorter than OnLive and StreamMyGame, respectively. Our experiments also reveal that all these performance gains are achieved without the expense of higher network loads; in fact, GamingAnywhere incurs less network traffic. The proposed GamingAnywhere can be employed by the researchers, game developers, service providers, and end users for setting up cloud gaming testbeds, which, we believe, will stimulate more research innovations on cloud gaming systems.

GamingAnywhere is now publicly available at http://gaminganywhere.org.

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
27,585
On Slideshare
0
From Embeds
0
Number of Embeds
13
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. GamingAnywhere: An OpenCloud Gaming SystemChun-Ying Huang, Cheng-Hsin Hsu, Yu-ChunChang, and Kuan-Ta ChenACM MMSys’13, Oslo, Norway1http://gaminganywhere.org/
  • 2. Tough Life of Gamers• Games are becoming way too complex• The overhead of setting up a game is significant• Often locked on a specific computer• Games may not be software or hardware compatible withsome computers• Computer hardware constantlydemands upgrading2
  • 3. Cloud GamingReal-time game playing via thin clientsGame serversInternetStreamingStreamingStreamingPCLaptopMobile3
  • 4. Selling Points of Cloud Gaming• Gamers’ perspectives:• Frees gamers from indefinitely upgrading their computers• Eliminates setup overhead and compatibility issues for tryingout a game, as everything needed will be settled in datacenters by game operators• Enables gamers to play games anywhere, anytime• Game manufacturers’ perspectives:• Allows developers to support more platforms• Reduces the production cost• Prevents pirating4
  • 5. Cloud Gaming is Hot• Cloud gaming is expected to lead the future growth ofcomputer games: 9 times in 6 years [CGR][CGR] http://www.cgconfusa.com/report/documents/Content-5minCloudGamingReportHighlights.pdfT5-Labs5
  • 6. Limitations of Existing Services• OnLive demands for 5 Mbps for reasonable quality• OnLive dictates a backbone latency of 22 ms, and partiallycopes with it by setting up 5 data centers (CA, VA, TX, IL, GA)• Only people who live in 1000 mile radius from a data center can playthe game• and more…• We, researchers, have tons of ideas toimprove cloud gaming services, but allcloud gaming systems are proprietaryand closed6
  • 7. • Solutions: GamingAnywhere is the first cloud gamingplatform for researchers, service providers, and users7
  • 8. Design Objective• Extensibility• Components can be implemented as modules• Features can be easily expanded• Portability• Cross-platform ready• Configurability• Exposes as many configurations as possible• Openness• It will be released to the public soon8
  • 9. Cloud Gaming ScenarioPortal Servers Clients/UsersGame SelectionGameInteractionGameCongurationGame Servers9
  • 10. System Architecture• The client and the server, with many modules• Implemented by leveraging open-source packagesGame consoleData FlowControl FlowRunning the selected gameAgentProcess/ThreadGame Server Game ClientInternetAudio / VideoEncoderRTSP / RTP / RTCPAudio / VideoCapturerReplay User Inputs(Keyboard, Mouse, ...)Decode Input Events(Customized Protocol)RTSP / RTP / RTCPAudio / VideoDecoderEncode Input Events(Customized Protocol)Audio / VideoPlayerUser Inputs(Keyboard, Mouse, ...)10
  • 11. Implementation Overview• GamingAnaywhere core is majorly implemented as a library• With several modules and executables• Server modules• Video source (platform dependent)• Audio source (platform dependent)• Encoders (various encoders via ffmpeg)• Replayer (platform dependent)• RTSP/RTP server (using ffmpeg)• Client modules• RTSP/RTP client (using live555)• Decoders (via ffmpeg)• Controller (using SDL)• Renderer (using SDL)11
  • 12. Server Components12AudiosourceDesktop/GameVideosourceVideoencoderAudioencoderAudiobufferVideobuffer(1a)audiocapture(1v)videocaptureThreadsShared buffers(2a)write audioframes(2v)write avideoframe(3a)wake upencoder(3v)wake upencoder(4a)readaudioframes(4v)read a videoframe(5a)encode andsend(5v)encode andsendObject ownerRTSPserverthreadData Flow Connections (RTSP/RTP/RTCP)(1n)handleclientsInputreplayerControl Flow Connections(2i)replayinputevents(1i)receiveinputevents
  • 13. Processing Video Frames• Process a video frame1. Capturer: Capture game frames (Tcapture)2. Converter: Convert from RGB format to YUV format (Tconvert)3. Encoder: Encoding and packetization (Tencode)14Video Source Converter Encoder(Frame Pools) (Frame Pools)Job Free Job Free
  • 14. Improving Game Frame Throughput• Overall frame throughput• 1/(Tcapture + Tconvert + Tencode) frames per second• If (Tcapture + Tconvert + Tencode) is 40 ms, the maximum frame throughput is 25 fps• A pipelined design for parallelism• Improved frame throughput: 1/max(Tcapture, Tconvert, Tencode)• If max(Tcapture, Tconvert, Tencode) is 20 ms, the frame throughput can achieve 50fps15F1 F2F1F1F2F2F3F3F3Video source(frame capture)tVideo encoderF4Color space converter(RGB to YUV)t+D t t+2D t t+3D t
  • 15. Client Overview17Game InteractionMainthreadControl Flow Connections(1i)receiveinputevents(2i)sendinputeventsSDL Rendering Input EventsData Flow ConnectionsRTSPclientthreadVideobufferAudiobufferThreadsBuffersObject owner(1r)receiveencodedA/Vframes(2rv)bufferanencodedaudioframes(2ra)bufferencodedaudio frames(3rv)decode and rendervideo frames(3ra)decode and renderaudio frames(callback)
  • 16. Video Playout Buffering• The 1-frame buffering strategy• An H.264 frame can be split into different numbers of packets• The marker bit (with a value of 1) indicates the last packet of aframe• Assuming 30 KB frames transmitted in a 50 Mbps network buffering time = 30 KB * 8 bits / 50 Mbps =~ 5 ms18M M M M MRTP PacketsFrame #1 Frame #2 Frame #3 Frame #4 Frame #5time
  • 17. GamingAnywhere Screenshots19ServerClient #1Client #2Client #3
  • 18. LIVE DEMO20
  • 19. 21A demonstration of GamingAnywhere system. There are four devices in thephoto. One game server (left-hand side laptop) and three game clients (anMacBook, an Android phone, and an iPad2).
  • 20. Performance Evaluation• Compare against OnLive and StreamMyGame• Environment setupFreeBSD withDummynetLANOnLiveServerInternetLANGamingAnywareandStreamMyGameServerClientRouter22
  • 21. Performance Evaluation (Cont’d)• Audio: The LAME encoder• Video: The x264 encoder• One of the VideoLan projects• With the below default parameters• $r is the bitrate variable, default 3Mbps--profile main --preset faster --tune zerolatency--bitrate $r --ref 1 --me dia --merange 16--intra-refresh --keyint 48 --sliced-threads--slices 4 --threads 4 --input-res 1280x72023
  • 22. t0 (Key event sent) t1 (Key eventreceived)t2 (Frame sent)t3 (Frame received)ServerClientMenu frameMenu screen shownt4 (Frame displayed)• Network delay (ND) : network RTT• Processing delay (PD) : t2 – t1  t3 – t0 – ND• Playout delay (OD) : t4 – t325
  • 23. GA Has Lower Response Delay26Low response delay
  • 24. Delay Decomposition of GA• Processing delay• Memory lock + copy• RGB to YUV• x264 encoder• Packetization (RTP packets)• Playout delay• 1-frame buffering• S/W decoder• SDL rendering27
  • 25. GA Incurs Low to Moderate Network Loads• Configured to capture at 50 fps with a bitrate of 3 Mbps28
  • 26. GA Provides Superior Video Quality29
  • 27. 30http://gaminganywhere.org/
  • 28. Conclusion• GamingAnywhere is the first open cloud gaming system• GamingAnywhere outperforms OnLive andStreamMyGame• 66% – 90% of processing delay reduction• 3 – 19 dB video quality improvement• We hope it will stimulate more studies andapplications on cloud gaming• Server resource scheduling• QoS/QoE measurements and provisioning• Mobile cloud gaming• … and much more!31
  • 29. QUESTIONS?Thanks for your attention!32http://gaminganywhere.org/

×