%PDF-1.5 % 20 0 obj << /S /GoTo /D (Contents.0) >> endobj 23 0 obj (Contents) endobj 24 0 obj << /S /GoTo /D (chapter*.6) >> endobj 27 0 obj (List of Figures) endobj 28 0 obj << /S /GoTo /D (chapter*.7) >> endobj 31 0 obj (List of Tables) endobj 32 0 obj << /S /GoTo /D (chapter*.8) >> endobj 35 0 obj (List of Code Listings) endobj 36 0 obj << /S /GoTo /D (section*.9) >> endobj 39 0 obj (List of Acronyms) endobj 40 0 obj << /S /GoTo /D (chapter.1) >> endobj 43 0 obj (1 Introduction) endobj 44 0 obj << /S /GoTo /D (section.1.1) >> endobj 47 0 obj (1.1 Goal of this Thesis) endobj 48 0 obj << /S /GoTo /D (section.1.2) >> endobj 51 0 obj (1.2 Structure of the Thesis) endobj 52 0 obj << /S /GoTo /D (chapter.2) >> endobj 55 0 obj (2 Background) endobj 56 0 obj << /S /GoTo /D (section.2.1) >> endobj 59 0 obj (2.1 Massively Multiplayer Online Role-Playing Game) endobj 60 0 obj << /S /GoTo /D (subsection.2.1.1) >> endobj 63 0 obj (2.1.1 Brief Introduction of Massively Multiplayer Online Games) endobj 64 0 obj << /S /GoTo /D (subsection.2.1.2) >> endobj 67 0 obj (2.1.2 Characteristics of MMORPGs) endobj 68 0 obj << /S /GoTo /D (subsection.2.1.3) >> endobj 71 0 obj (2.1.3 Analysis of Current Data Management for MMORPGs) endobj 72 0 obj << /S /GoTo /D (subsubsection.2.1.3.1) >> endobj 75 0 obj (2.1.3.1 A Typical Architecture of MMORPGs) endobj 76 0 obj << /S /GoTo /D (subsubsection.2.1.3.2) >> endobj 79 0 obj (2.1.3.2 Classification of Data Sets in MMORPGs) endobj 80 0 obj << /S /GoTo /D (subsubsection.2.1.3.3) >> endobj 83 0 obj (2.1.3.3 A Sample Session in an MMORPG) endobj 84 0 obj << /S /GoTo /D (section.2.2) >> endobj 87 0 obj (2.2 A Typical Database System in MMORPGs) endobj 88 0 obj << /S /GoTo /D (section.2.3) >> endobj 91 0 obj (2.3 Data Management Requirements of MMORPGs) endobj 92 0 obj << /S /GoTo /D (section.2.4) >> endobj 95 0 obj (2.4 Limitations of RDBMS in MMORPGs) endobj 96 0 obj << /S /GoTo /D (section.2.5) >> endobj 99 0 obj (2.5 Summary) endobj 100 0 obj << /S /GoTo /D (chapter.3) >> endobj 103 0 obj (3 Cloud Storage Systems) endobj 104 0 obj << /S /GoTo /D (section.3.1) >> endobj 107 0 obj (3.1 Cloud Computing) endobj 108 0 obj << /S /GoTo /D (section.3.2) >> endobj 111 0 obj (3.2 Cloud Data Management) endobj 112 0 obj << /S /GoTo /D (subsection.3.2.1) >> endobj 115 0 obj (3.2.1 Cloud Storage and Cloud Database) endobj 116 0 obj << /S /GoTo /D (subsection.3.2.2) >> endobj 119 0 obj (3.2.2 Big Data Management) endobj 120 0 obj << /S /GoTo /D (section.3.3) >> endobj 123 0 obj (3.3 NoSQL Stores) endobj 124 0 obj << /S /GoTo /D (subsection.3.3.1) >> endobj 127 0 obj (3.3.1 CAP Theorem) endobj 128 0 obj << /S /GoTo /D (subsection.3.3.2) >> endobj 131 0 obj (3.3.2 ACID vs. BASE) endobj 132 0 obj << /S /GoTo /D (subsection.3.3.3) >> endobj 135 0 obj (3.3.3 RDBMSs vs. NoSQL DBMSs) endobj 136 0 obj << /S /GoTo /D (subsection.3.3.4) >> endobj 139 0 obj (3.3.4 Classification of NoSQL DBMSs) endobj 140 0 obj << /S /GoTo /D (section.3.4) >> endobj 143 0 obj (3.4 Apache Cassandra) endobj 144 0 obj << /S /GoTo /D (subsection.3.4.1) >> endobj 147 0 obj (3.4.1 Data Model) endobj 148 0 obj << /S /GoTo /D (subsection.3.4.2) >> endobj 151 0 obj (3.4.2 Architecture) endobj 152 0 obj << /S /GoTo /D (subsubsection.3.4.2.1) >> endobj 155 0 obj (3.4.2.1 Peer-to-Peer architecture) endobj 156 0 obj << /S /GoTo /D (subsubsection.3.4.2.2) >> endobj 159 0 obj (3.4.2.2 Ring) endobj 160 0 obj << /S /GoTo /D (subsubsection.3.4.2.3) >> endobj 163 0 obj (3.4.2.3 Data Storage Mechanism) endobj 164 0 obj << /S /GoTo /D (subsection.3.4.3) >> endobj 167 0 obj (3.4.3 Guarantee of Eventual Consistency) endobj 168 0 obj << /S /GoTo /D (subsection.3.4.4) >> endobj 171 0 obj (3.4.4 Data Processing) endobj 172 0 obj << /S /GoTo /D (subsubsection.3.4.4.1) >> endobj 175 0 obj (3.4.4.1 Writing Data) endobj 176 0 obj << /S /GoTo /D (subsubsection.3.4.4.2) >> endobj 179 0 obj (3.4.4.2 Reading Data) endobj 180 0 obj << /S /GoTo /D (subsubsection.3.4.4.3) >> endobj 183 0 obj (3.4.4.3 Consistency Levels) endobj 184 0 obj << /S /GoTo /D (subsubsection.3.4.4.4) >> endobj 187 0 obj (3.4.4.4 Deleting Data) endobj 188 0 obj << /S /GoTo /D (subsection.3.4.5) >> endobj 191 0 obj (3.4.5 CQL) endobj 192 0 obj << /S /GoTo /D (subsection.3.4.6) >> endobj 195 0 obj (3.4.6 Client Tools) endobj 196 0 obj << /S /GoTo /D (section.3.5) >> endobj 199 0 obj (3.5 Summary) endobj 200 0 obj << /S /GoTo /D (chapter.4) >> endobj 203 0 obj (4 Cloud Data Management for MMORPGs) endobj 204 0 obj << /S /GoTo /D (section.4.1) >> endobj 207 0 obj (4.1 Feasibility Analysis) endobj 208 0 obj << /S /GoTo /D (subsection.4.1.1) >> endobj 211 0 obj (4.1.1 Requirements of Account Data) endobj 212 0 obj << /S /GoTo /D (subsection.4.1.2) >> endobj 215 0 obj (4.1.2 Requirements of Game Data) endobj 216 0 obj << /S /GoTo /D (subsection.4.1.3) >> endobj 219 0 obj (4.1.3 Requirements of State Data) endobj 220 0 obj << /S /GoTo /D (subsection.4.1.4) >> endobj 223 0 obj (4.1.4 Requirements of Log Data) endobj 224 0 obj << /S /GoTo /D (section.4.2) >> endobj 227 0 obj (4.2 A Cloud-based Architecture for MMORPGs) endobj 228 0 obj << /S /GoTo /D (section.4.3) >> endobj 231 0 obj (4.3 Criteria of Choosing a NoSQL DBMS) endobj 232 0 obj << /S /GoTo /D (section.4.4) >> endobj 235 0 obj (4.4 Possibility of Using Cassandra in MMORPGs) endobj 236 0 obj << /S /GoTo /D (section.4.5) >> endobj 239 0 obj (4.5 Related Work) endobj 240 0 obj << /S /GoTo /D (section.4.6) >> endobj 243 0 obj (4.6 Summary) endobj 244 0 obj << /S /GoTo /D (chapter.5) >> endobj 247 0 obj (5 Using Cassandra in MMORPGs) endobj 248 0 obj << /S /GoTo /D (section.5.1) >> endobj 251 0 obj (5.1 Guarantee of Read-your-writes Consistency) endobj 252 0 obj << /S /GoTo /D (subsection.5.1.1) >> endobj 255 0 obj (5.1.1 Issues Caused by Guaranteeing High-level Consistency) endobj 256 0 obj << /S /GoTo /D (subsubsection.5.1.1.1) >> endobj 259 0 obj (5.1.1.1 Efficiency of Data Propagation in Cassandra Cluster) endobj 260 0 obj << /S /GoTo /D (subsubsection.5.1.1.2) >> endobj 263 0 obj (5.1.1.2 Inspiration Obtained from the Experiment Results) endobj 264 0 obj << /S /GoTo /D (subsection.5.1.2) >> endobj 267 0 obj (5.1.2 A Timestamp-based Solution) endobj 268 0 obj << /S /GoTo /D (subsubsection.5.1.2.1) >> endobj 271 0 obj (5.1.2.1 Integration with MMORPG Application Scenario) endobj 272 0 obj << /S /GoTo /D (subsubsection.5.1.2.2) >> endobj 275 0 obj (5.1.2.2 Checkpointing and Data Recovery with the TSModel) endobj 276 0 obj << /S /GoTo /D (subsubsection.5.1.2.3) >> endobj 279 0 obj (5.1.2.3 Optimisation using a Node-aware Policy) endobj 280 0 obj << /S /GoTo /D (subsubsection.5.1.2.4) >> endobj 283 0 obj (5.1.2.4 System Reliability) endobj 284 0 obj << /S /GoTo /D (subsection.5.1.3) >> endobj 287 0 obj (5.1.3 Related Work) endobj 288 0 obj << /S /GoTo /D (section.5.2) >> endobj 291 0 obj (5.2 Read Performance) endobj 292 0 obj << /S /GoTo /D (subsection.5.2.1) >> endobj 295 0 obj (5.2.1 Issue Description) endobj 296 0 obj << /S /GoTo /D (subsection.5.2.2) >> endobj 299 0 obj (5.2.2 Proposal of the Data Structure in Column Family) endobj 300 0 obj << /S /GoTo /D (section.5.3) >> endobj 303 0 obj (5.3 Mapping Database Schema) endobj 304 0 obj << /S /GoTo /D (subsection.5.3.1) >> endobj 307 0 obj (5.3.1 Issue Description) endobj 308 0 obj << /S /GoTo /D (subsection.5.3.2) >> endobj 311 0 obj (5.3.2 Proposal of the Structure of a Column Family) endobj 312 0 obj << /S /GoTo /D (section.5.4) >> endobj 315 0 obj (5.4 Other Issues) endobj 316 0 obj << /S /GoTo /D (section.5.5) >> endobj 319 0 obj (5.5 Summary) endobj 320 0 obj << /S /GoTo /D (chapter.6) >> endobj 323 0 obj (6 Evaluation) endobj 324 0 obj << /S /GoTo /D (section.6.1) >> endobj 327 0 obj (6.1 Experimental Infrastructure) endobj 328 0 obj << /S /GoTo /D (section.6.2) >> endobj 331 0 obj (6.2 Experimental Proof of the System Scalability) endobj 332 0 obj << /S /GoTo /D (subsection.6.2.1) >> endobj 335 0 obj (6.2.1 Prototype Architecture) endobj 336 0 obj << /S /GoTo /D (subsection.6.2.2) >> endobj 339 0 obj (6.2.2 Implementation of the MMORPG Environment) endobj 340 0 obj << /S /GoTo /D (subsubsection.6.2.2.1) >> endobj 343 0 obj (6.2.2.1 Implementation of the Game Client) endobj 344 0 obj << /S /GoTo /D (subsubsection.6.2.2.2) >> endobj 347 0 obj (6.2.2.2 Implementation of the Game Server) endobj 348 0 obj << /S /GoTo /D (subsection.6.2.3) >> endobj 351 0 obj (6.2.3 Experimental Setup) endobj 352 0 obj << /S /GoTo /D (subsection.6.2.4) >> endobj 355 0 obj (6.2.4 Experiments) endobj 356 0 obj << /S /GoTo /D (subsubsection.6.2.4.1) >> endobj 359 0 obj (6.2.4.1 Scalability of the Game Server) endobj 360 0 obj << /S /GoTo /D (subsubsection.6.2.4.2) >> endobj 363 0 obj (6.2.4.2 Potential Scalability of Cassandra in an MMORPG) endobj 364 0 obj << /S /GoTo /D (section.6.3) >> endobj 367 0 obj (6.3 Comparative Experiments of System Performance ) endobj 368 0 obj << /S /GoTo /D (subsection.6.3.1) >> endobj 371 0 obj (6.3.1 A Practical Game Database Case Study: PlaneShift Project) endobj 372 0 obj << /S /GoTo /D (subsection.6.3.2) >> endobj 375 0 obj (6.3.2 Implementation of Testbeds) endobj 376 0 obj << /S /GoTo /D (subsubsection.6.3.2.1) >> endobj 379 0 obj (6.3.2.1 Implementation of the Database using MySQL Cluster) endobj 380 0 obj << /S /GoTo /D (subsubsection.6.3.2.2) >> endobj 383 0 obj (6.3.2.2 Implementation of the Database using Cassandra) endobj 384 0 obj << /S /GoTo /D (subsubsection.6.3.2.3) >> endobj 387 0 obj (6.3.2.3 Related Work) endobj 388 0 obj << /S /GoTo /D (subsection.6.3.3) >> endobj 391 0 obj (6.3.3 Experimental Setup) endobj 392 0 obj << /S /GoTo /D (subsection.6.3.4) >> endobj 395 0 obj (6.3.4 Experiments) endobj 396 0 obj << /S /GoTo /D (subsubsection.6.3.4.1) >> endobj 399 0 obj (6.3.4.1 Experimental Results from Testbed-MySQL) endobj 400 0 obj << /S /GoTo /D (subsubsection.6.3.4.2) >> endobj 403 0 obj (6.3.4.2 Experimental Results from Testbed-Cassandra) endobj 404 0 obj << /S /GoTo /D (subsubsection.6.3.4.3) >> endobj 407 0 obj (6.3.4.3 Comparison of Experimental Results from Two Testbeds) endobj 408 0 obj << /S /GoTo /D (section.6.4) >> endobj 411 0 obj (6.4 Experimental Proof of the Timestamp-based Model) endobj 412 0 obj << /S /GoTo /D (subsection.6.4.1) >> endobj 415 0 obj (6.4.1 Implementation of the Testbed) endobj 416 0 obj << /S /GoTo /D (subsubsection.6.4.1.1) >> endobj 419 0 obj (6.4.1.1 Implementation of the Data Access Server) endobj 420 0 obj << /S /GoTo /D (subsubsection.6.4.1.2) >> endobj 423 0 obj (6.4.1.2 Database Schema) endobj 424 0 obj << /S /GoTo /D (subsection.6.4.2) >> endobj 427 0 obj (6.4.2 Experimental Setup) endobj 428 0 obj << /S /GoTo /D (subsection.6.4.3) >> endobj 431 0 obj (6.4.3 Experiments) endobj 432 0 obj << /S /GoTo /D (subsubsection.6.4.3.1) >> endobj 435 0 obj (6.4.3.1 Effect of Accessing the Timestamp Table \(TST\) in H2) endobj 436 0 obj << /S /GoTo /D (subsubsection.6.4.3.2) >> endobj 439 0 obj (6.4.3.2 Write/Read Performance Using the Timestamp-based Model) endobj 440 0 obj << /S /GoTo /D (subsubsection.6.4.3.3) >> endobj 443 0 obj (6.4.3.3 Read Performance under a Node Failure Environment) endobj 444 0 obj << /S /GoTo /D (subsubsection.6.4.3.4) >> endobj 447 0 obj (6.4.3.4 Effect of Data Size) endobj 448 0 obj << /S /GoTo /D (subsubsection.6.4.3.5) >> endobj 451 0 obj (6.4.3.5 Performance Comparison with Testbed-MySQL and Testbed-Cassandra) endobj 452 0 obj << /S /GoTo /D (section.6.5) >> endobj 455 0 obj (6.5 Summary) endobj 456 0 obj << /S /GoTo /D (chapter.7) >> endobj 459 0 obj (7 Conclusion) endobj 460 0 obj << /S /GoTo /D (chapter.8) >> endobj 463 0 obj (8 Future Work) endobj 464 0 obj << /S /GoTo /D (appendix.A) >> endobj 467 0 obj (A Appendix) endobj 468 0 obj << /S /GoTo /D (section*.114) >> endobj 471 0 obj (Bibliography) endobj 472 0 obj << /S /GoTo /D [473 0 R /Fit] >> endobj 477 0 obj << /Length 628 /Filter /FlateDecode >> stream xڅTMo0WhbJ%K-lm4Xv\ ~Dia0dQ|$Ieb%21e PZ̗BZވ*ˬ/{Bj-J-