University of Magdeburg School of Computer Science Dissertation Cloud-based Support for Massively Multiplayer Online Role-Playing Games Author: Ziqiang Diao February 3, 2017 Supervisor: Prof. Dr. Gunter Saake Institute of Technical and Business Information Systems Diao, Ziqiang: Cloud-based Support for Massively Multiplayer Online Role-Playing Games Dissertation, University of Magdeburg, 2017. Cloud-based Support for Massively Multiplayer Online Role-Playing Games Dissertation zur Erlangung des akademischen Grades Doktoringenieur (Dr.-Ing.) angenommen durch die Fakult¨at fu¨r Informatik der Otto-von-Guericke-Universit¨at Magdeburg von M.Sc. Ziqiang Diao geb. am 20.12.1983 in Fushun, China Gutachterinnen/Gutachter Prof. Dr. Gunter Saake Prof. Dr. Kai-Uwe Sattler Prof. Dr. Andreas Thor Magdeburg, den February 3, 2017 ii Abstract Massively Multiplayer Online Role-Playing Games (MMORPGs) are very sophisticated applications, which have significantly grown in popularity since their early days in the mid-´90s. Along with growing numbers of users the requirements on these systems have reached a point where technical problems become a severe risk for the commercial suc- cess. Within the CloudCraft project we investigate how Cloud-based architectures and data management can help to solve some of the most critical problems regarding scala- bility and consistency. In this work, we describe an implemented working environment basedontheCassandraDBMSandsomeofthekeyfindingsoutliningitsadvantagesand shortcomings (e.g., guarantee of game consistency) for the given application scenario. As outlined for instance by the CAP theorem [GL02], achieving consistency guarantees within a 100% available and fault-tolerant distributed system is impossible. Neverthe- less, in real-life applications actual properties are neither black nor white and the degree of fulfillment of requirements depends on the likelihood of failures and communication parameters of distributed systems. While typical Cloud-based applications weaken con- sistency in accordance with less strict applications requirements, strong consistency can also be achieved, for instance by tunable consistency. This, however, often comes with a strong degradation of scalability (performance of growing clusters) and availability. Based on a project investigating the usefulness of Cloud DBMS for MMORPGs we describe how strong consistency can be provided for such a scenario, by still proving a high-level of availability and performance suitable for this specific application. For this purpose we implement a lightweight mechanism to detect failures based on timestamps and only react accordingly if required. Zusammenfassung MassivelyMultiplayerOnlineRole-PlayingGames(MMORPGs)sindsehranspruchsvolle Anwendungen, die seit ihren Anf¨angen Mitte der ’90er Jahre deutlich an Beliebtheit gewonnen haben. Neben den wachsenden Nutzerzahlen haben die Anforderungen an diese Systeme einen Punkt erreicht, an dem technische Probleme ein ernsthaftes Risiko fu¨rdenkommerziellenErfolgwerden. ImRahmendesCloudCraft-Projektsuntersuchen wir, wie Cloud-basierte Architekturen und Datenmanagement dazu beitragen k¨onnen, einige der wichtigsten Probleme hinsichtlich Skalierbarkeit und Konsistenz zu l¨osen. In dieser Arbeit beschreiben wir eine implementierte Arbeitsumgebung basierend auf dem Cassandra DBMS und einige der wichtigsten Erkenntnisse, welche die Vorteile und M¨angel (z. B. Garantie der Spielkonsistenz) fu¨r das gegebene Anwendungsszenario skizzieren. Wie zum Beispiel durch das CAP-Theorem [GL02] dargestellt, ist das Erreichen von Konsistenzgarantien innerhalb eines 100% verfu¨gbaren und fehlertoleranten verteilten Systems unm¨oglich. Dennoch sind in realen Anwendungen tats¨achliche Eigenschaften weder schwarz noch weiß, und der Grad der Erfu¨llung der Anforderungen h¨angt von der Wahrscheinlichkeit von Ausf¨allen und Kommunikationsparametern verteilter Sys- teme ab. W¨ahrend typische Cloud-basierte Anwendungen Konsistenz in U¨bereinstim- mung mit weniger strengen Anwendungsanforderungen schw¨achen, kann eine starke Konsistenz auch beispielsweise durch einstellbare Konsistenz erreicht werden. Dies fu¨hrt jedoch oftmals zu einer signifikanten Verschlechterung der Skalierbarkeit (Leis- tung wachsender Cluster) und Verfu¨gbarkeit. Basierend auf einem Projekt, das die Nu¨tzlichkeit von Cloud DBMS fu¨r MMORPGs untersucht, beschreiben wir, in welchem Umfang Konsistenz fu¨r ein solches Szenario erreicht werden kann, indem immer noch ein hohes Maß an Verfu¨gbarkeit und Leistung fu¨r diesen spezifischen Anwendungs- fall nachgewiesen wird. Zu diesem Zweck implementieren wir einen Leichtgewicht- Mechanismus zur Erkennung von Fehlern auf der Basis von Zeitstempeln und reagieren nur dann entsprechend, wenn es erforderlich ist. Acknowledgments This work has been completed with the help of many people. Here, I would like to express my sincere gratitude to them. First of all, I would like to thank my supervisor, Prof. Dr. Gunter Saake. Thank him for giving me the opportunity to pursue further studies in Germany. This work was supported by his careful guidance. From him, I realized the precision and seriousness of Germans. He helped me all the time. Even when his hand was injured and unable to write, or during the holidays, he still insisted on working in order to help me improve my dissertation. Here, I would like to once again express my respect for him. It is my pleasure to study in your working group. Secondly, I would like to thank Dr. Eike Schallehn, who is always ready to help others. Whether I have any difficulty in my studies or in my life, he will lend a generous hand to help me. Eike also played a crucial role in the completion of this work. Many of my ideas are in the discussion with him. Therefore, he is almost a coauthor of all my publications. He is also a modest man. Once I told him that you are like my second supervisor. However, he replied that he was just a person who shared my research interests. I would like to thank my family in particular. They care about me throughout my life and study. Especially during my Ph.D. studies, I have always had financial problems. It is my parents’ support and encouragement that I could concentrate on my research. My love for you is beyond words. I could only redouble my efforts to speed up the completion of this work in order to repay your kindness as soon as possible. I really like the atmosphere of the DBSE working group. Each college, whether former or current, such as Ingolf Geist, Syed Saif ur Rahman, Ateeq Khan, Siba Mohammad and so on, is so friendly and helpful. There was even a college, who gave me many suggestions anonymously, when I just joined the group. I still do not know who he/she is, and I do not need to know that. What I should do is to pass this kindness to the other group members, especially the new ones. Finally, I would like to thank the students that I supervised over these years, they are Shuo Wang, Pengfei Zhao and Meihua Zhao. The three important experimental parts of this work were done with their assistance. viii
Description: