Capstone Project

Back to listing
Group 2013-8 Status completed
Title Building a Cloud Game on a Toy But High Available Cluster
Supervisor Dr. Yan Liu
Description Cloud gaming is a type of online gaming that renders user access to the game through a thin client, and stores the actual game on the game provider's server. The controls and button presses from the user are transmitted directly to the server, where the processing needs of the game are running, and the server then sends back the game's response to the users' input control. This demands the game server should be high available to provide continuous and responsive services to online users connected through network. This necessitates certain automatic management within the cluster to switch the game control whereby the corresponding software or hardware components fail. This project aims to compose a cluster of nodes assembled on Raspberry Pi [1] to support high available (HA) cloud gaming. The HA of the game service is managed through an open source software framework OpenSAF [2], which helps to achieve automatic management of service availability at both hardware and software levels. OpenSAF will be deployed and configured on the Raspberry Pi cluster. A simple online game will be developed and deployed on this cluster environment to demonstrate an online game can be automatically failed over without disrupting the game. The success of this project will help students to achieve: - Fundamental concepts and knowledge of high availability in delivering services - Solid practical experience of assembling a cluster from the scratch - Learn an open source software framework that is adopted by Ericsson and other industry organizations - Improve software engineering skills by the design and implementation of an online game
Requirement [Prerequisite knowledge, course background, etc] This project demands comprehensive knowledge of computer architecture, communication and networking, distributed computing and software design and programming. The required course background and skill sets for the team are as follows: - The courses are prerequisite, including COEN346 ( operating system), COEN 445 (communication and network protocol), COEN 316 (computer architecture) - Programming skills: Linux shell commands and scripts; C++/gcc; Java - System design: analyze system requirements; define system elements and design the overall architecture in a systematic approach - Technical writing and presentation: documentation of system requirements and design in UML diagrams Students should have the quick and independent learning ability to use and master new software and tools. Students will also develop skills of software architecture design and system integration of different hardware and software elements.
Tools [Software, hardware, test equipment, etc] Raspberry Pi; MaKey MaKey Kit (optional); network switch/gateway; Linux OS; OpenSAF; C++ and Java
Number of Students 4
Students Rabih El-Zahr, Ryan Held, Astou Chanel Aba Sene
Comments:
Links: [1] http://www.raspberrypi.org/quick-start-guide [2] www.opensaf.org/