1 / 45

Quazal Eterna Multiplayer Connectivity

Quazal Eterna Multiplayer Connectivity. Irwin Chiu Hau Computer Science McGill University Winter 2004. Overview. Introduction What is Eterna? Duplication Spaces Powerful Features Important Features Conclusion. Introduction. Internet came into existence Network games gained popularity

africa
Download Presentation

Quazal Eterna Multiplayer Connectivity

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Quazal EternaMultiplayer Connectivity Irwin Chiu Hau Computer Science McGill University Winter 2004 Comp763: Modern Computer Games

  2. Overview • Introduction • What is Eterna? • Duplication Spaces • Powerful Features • Important Features • Conclusion Comp763: Modern Computer Games

  3. Introduction • Internet came into existence • Network games gained popularity • MMP online games is getting bigger and bigger • Hundreds of players • Thousands of players • Millions of players ???? • Achieving this is not easy task • Problems arise Comp763: Modern Computer Games

  4. Internet Problems • Unreliability • High Latencies • Bandwidth Limitation • Resource Constraints • Traditional message passing becomes inefficient Comp763: Modern Computer Games

  5. Developers’ Expectations • Developers need good solutions • Low cost • Low risk • High value alternative • Quazal comes up with a product that meets developers’ expectations • This commercial product is called “ETERNA” Comp763: Modern Computer Games

  6. Eterna • Significantly reduce the costs associated with • Developing a MMP game • Time = Expense • Running a MMP game • Bandwidth • Maintenance Comp763: Modern Computer Games

  7. Eterna • Featuring hybrid approach: • Peer-to-peer and Client-Server Communications • Decentralizes game information to maximize • Reliability • Scalability • Performance • Security Comp763: Modern Computer Games

  8. Powerful Features • Duplication Spaces • Dead-Reckoning • Load Balancing • Hierarchical Updates • Cross Platform • Etc  High performance, reliable MMP games that will satisfy even the most demanding game players. Comp763: Modern Computer Games

  9. Important Features • Flexibility • Security • System fault tolerance • High performance, reliable MMP games that will satisfy even the most demanding game players. Comp763: Modern Computer Games

  10. Duplication Spaces™ • Introduction • Technology Overview • All About Duplication Spaces • Conclusion Comp763: Modern Computer Games

  11. Introduction • Duplication Spaces • Eterna’s underlying technology • Eterna’s essential component Comp763: Modern Computer Games

  12. Technology Overview Quazal’s Philosophy: • Based on three fundamental concepts • High-Level abstraction • Descriptive approach • Distributed object structure Comp763: Modern Computer Games

  13. Duplication Spaces™ • What is a Duplication Space? • How to Declare a Duplication Space • Publish-Subscribe Model • Cells • Multiple Duplication Spaces • Scalability • Communication Model Comp763: Modern Computer Games

  14. What is a Duplication Space? • It is a space where a duplicated object can discover or can be discovered by, another duplicated object • It allows the developer to control where and how many duplicas of an object are published and when they are deleted Comp763: Modern Computer Games

  15. How to declare a Duplication Space? • Data Definition Language ( DDL ) • based on classes • Duplicated Object • DataSet • DupSpace Compiled DDL C++ Classes Comp763: Modern Computer Games

  16. Publish-Subscribe Model • In a duplicated space, duplicated objects are • Grouped together • Related by a user-defined function (match policy) • Assigned the role of • subscriber • publisher • both Comp763: Modern Computer Games

  17. Publish-Subscribe Model • A subscriber is an object that can discover other objects within a duplication space • A publisher is an object that can be discovered within a duplication space Neverwinter nights Source: http://nwn.bioware.com Comp763: Modern Computer Games

  18. Subscriber’s Task • A subscriber will discover the replica of a publisher on the station where the duplication master of the subscriber resides Station 1 ( subscriber ) Station 2 (publisher ) World of Warcraft Source: http://www.blizzard.com Comp763: Modern Computer Games

  19. Publisher’s Task • A publisher will create a duplica of itself on the station where the duplication master of the subscriber resides Station 1 Station 2 World of Warcraft Source: http://www.blizzard.com Comp763: Modern Computer Games

  20. Match Policy • Publishers and subscribers are related by a user-defined function called “match policy” Conceptual diagram of a duplication space Source: Quazal: Duplication Spaces Comp763: Modern Computer Games

  21. Match Policy • The PSMatch function determines whether or not • A subscriber discovers a replica of the publisher • An object should be discovered on a particular station • The PSMatch compares each duplica of a publisher to each duplica of the subscriber Conceptual diagram of a duplication space Source: Quazal: Duplication Spaces Comp763: Modern Computer Games

  22. Match Policy • The PSMatch function is defined by the system • The match condition • Is defined by the developer • Is the conditions under which the function will return • “true” or “false” Conceptual diagram of a duplication space Source: Quazal: Duplication Spaces Comp763: Modern Computer Games

  23. Match Condition • If PSMatch returns true, then: • The publisher can be discovered • The duplica of the publisher is created on the station where the duplication master of the subscriber resides • The subscriber will discover the publisher object • If PSMatch returns false: • The publisher cannot be discovered • The duplica of the publisher will not be created nor will it be discovered by the subscriber Comp763: Modern Computer Games

  24. returns true Example Illustration of the PSMatch mechanism Source: Quazal: Duplication Spaces P1: publisher P’1: duplica of the publisher S2: subscriber S’2: duplica of the subscriber Station 3 acts like a server PSMatch returns true  Station 2 discovers duplica of P1 Comp763: Modern Computer Games

  25. Cells Recap: • In the previous scenario, publisher-subscriber match computations are done on one station As the size of a session increases • The number of computation increases To reduce the resource usage on a given station • Distribute the processing of the match computation between many stations Comp763: Modern Computer Games

  26. Cells Solution: • Divide the duplication space into CELLS Each cell • Is responsible for a certain portion of the match computations Duplication space with cells Source: Quazal Comp763: Modern Computer Games

  27. Station 1 Cell 1 Station 2 Cell 2 Cells The creation of CELLS enables the • PSMatch computations to be distributed between stations participating in the session Duplication space with cells Source: Quazal Comp763: Modern Computer Games

  28. Cell Match Function We need to determine if a particular duplicated object will be involved in a particular subtask • This is defined by the CellMatch function CellMatch function determines • If an object should be discovered in a cell Comp763: Modern Computer Games

  29. CellMatch Condition Cell Match conditions are given by the developer • For when the CellMatch function will return true of false If CellMatch returns true, then: • The duplica of the publisher or subscriber is created on the station where the duplication master of thecell resides After the CellMatch is performed • PSMatch is performed on the publishers and subscriber where the duplication master of thecell resides Comp763: Modern Computer Games

  30. Example Illustration of the CellMatch mechanism Source: Quazal: Duplication Spaces C3: Cell C’3: Duplica of Cell Comp763: Modern Computer Games

  31. Duplicated Object Migration • Eterna allows the control of Duplicated Objects • Allows the duplication masters to migrate between stations • Used in • Fault tolerance • Load balancing • Eliminate the effect of latency Comp763: Modern Computer Games

  32. Multiple Duplication Spaces It is possible to define several duplication spaces within a game Advantages: • Simplify implementation of PSMatch and CellMatch • Easier to design the game Note: • There’s no restriction on how many duplication spaces an object may belong to Comp763: Modern Computer Games

  33. One DupSpace dataset: location ZoneDescription RoomDescription dupspace: RoomSpace doclass: User / Participant / Observer Zone Room PSMatch: returns true if users are in the same room … dataset RoomDescription { dohandle Zone; string Name; string Topic; }; dupspace RoomSpace; doclass User { Location m_dsLoc; subscriber in RoomSpace; }; doclass Participant : User { publisher in RoomSpace; }; doclass Room { RoomDescription m_dsDesc; publisher in RoomSpace; }; … Ex: 3D Chat Room Comp763: Modern Computer Games

  34. Scalability Quazal Eterna Limitations • 210, (1024) classes • 222,(4 millions) duplication masters Hardware Limitations • Memory • CPU • Network bandwidth Comp763: Modern Computer Games

  35. Duplica Duplication Master Duplica Duplica Communication Model • Eterna performs automatic message routing • Eterna implements hierarchical and cascading message passing • Multicast group objects are arranged in a tree-like configuration • Distribute update messages without excessive bandwidth Duplica information update : Comp763: Modern Computer Games

  36. End of Duplication Spaces Comp763: Modern Computer Games

  37. Compensating for Latency and Bandwidth Restrictions • Dead-Reckoning ( Powerful Feature ) • Reduce the appearance of lag • Local corrections • Handle continuity breaks, such as walls and teleports • Lookahead and loopback • Predicts future events (on duplication masters) • Etc, ……. Comp763: Modern Computer Games

  38. Load Balancing • Distribute workload • Ensures workload correspond to station capacity • Reduce bandwidth usage • When user enters or leaves • The workload distribution will change to optimize processing power and bandwidth Comp763: Modern Computer Games

  39. Load Balancing • Developers have complete control over how load balancing is performed in the game • Any quantities can be load balanced by load balancing policies • Load metrics • CPU load • Bandwidth usage • Memory load • Duplicated Objects • Capacity metrics Comp763: Modern Computer Games

  40. Flexibility • Integrated middlewares • 3D • Physics • AI • Plug-ins to suit developers’ need • Transport protocol • Compression & Encryption algorithms • Still not satisfied? • Our own plug-ins Comp763: Modern Computer Games

  41. Communicate Flexibility • Cross Platform Source: Square-Enix Comp763: Modern Computer Games

  42. Security Security vs Performance • Hybrid Peer to Peer / Client-Server architecture Client-Server • Sensitive data: login, password • Key game variables P2P • Less sensitive data can be sent directly between players • High performance Comp763: Modern Computer Games

  43.  System Fault Tolerance • Reliability • By design, distributed systems are more reliable than client-server as there is no central point of failure • If one station fails • Fault tolerance allows a duplication master on the failed server to migrate to another station • The game will continue seamlessly Comp763: Modern Computer Games

  44. Conclusion • Eterna seems powerful enough for building MMO games • Eterna also seems reliable and secure • Eterna provides flexibility to developers Does Eterna satisfies even the most demanding game players ????? Comp763: Modern Computer Games

  45. Questions? Comp763: Modern Computer Games

More Related