Quazal Eterna Multiplayer Connectivity - PowerPoint PPT Presentation

1 / 45
About This Presentation
Title:

Quazal Eterna Multiplayer Connectivity

Description:

Comp763: Modern Computer Games. Eterna. Significantly reduce the costs associated with ... Comp763: Modern Computer Games. What is a Duplication Space? ... – PowerPoint PPT presentation

Number of Views:47
Avg rating:3.0/5.0
Slides: 46
Provided by: sableM
Category:

less

Transcript and Presenter's Notes

Title: Quazal Eterna Multiplayer Connectivity


1
Quazal EternaMultiplayer Connectivity
  • Irwin Chiu Hau
  • Computer Science
  • McGill University
  • Winter 2004

2
Overview
  • Introduction
  • What is Eterna?
  • Duplication Spaces
  • Powerful Features
  • Important Features
  • Conclusion

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

4
Internet Problems
  • Unreliability
  • High Latencies
  • Bandwidth Limitation
  • Resource Constraints
  • Traditional message passing becomes inefficient

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

6
Eterna
  • Significantly reduce the costs associated with
  • Developing a MMP game
  • Time Expense
  • Running a MMP game
  • Bandwidth
  • Maintenance

7
Eterna
  • Featuring hybrid approach
  • Peer-to-peer and Client-Server Communications
  • Decentralizes game information to maximize
  • Reliability
  • Scalability
  • Performance
  • Security

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.

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

10
Duplication Spaces
  • Introduction
  • Technology Overview
  • All About Duplication Spaces
  • Conclusion

11
Introduction
  • Duplication Spaces
  • Eternas underlying technology
  • Eternas essential component

12
Technology Overview
  • Quazals Philosophy
  • Based on three fundamental concepts
  • High-Level abstraction
  • Descriptive approach
  • Distributed object structure

13
Duplication Spaces
  • What is a Duplication Space?
  • How to Declare a Duplication Space
  • Publish-Subscribe Model
  • Cells
  • Multiple Duplication Spaces
  • Scalability
  • Communication Model

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

15
How to declare a Duplication Space?
  • Data Definition Language ( DDL )
  • based on classes
  • Duplicated Object
  • DataSet
  • DupSpace

Compiled
DDL
C Classes
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

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
18
Subscribers 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
19
Publishers 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
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
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
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
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

24
Example
Illustration of the PSMatch mechanism Source
Quazal Duplication Spaces
P1 publisher P1 duplica of the publisher S2
subscriber S2 duplica of the
subscriber Station 3 acts like a server
PSMatch returns true ? Station 2 discovers
duplica of P1
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

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
27
Cells
  • The creation of CELLS enables the
  • PSMatch computations to be distributed between
    stations participating in the session

Duplication space with cells Source Quazal
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

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 the cell resides
  • After the CellMatch is performed
  • PSMatch is performed on the publishers and
    subscriber where the duplication master of the
    cell resides

30
Example
Illustration of the CellMatch mechanism Source
Quazal Duplication Spaces
C3 Cell C3 Duplica of Cell
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

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
  • Theres no restriction on how many duplication
    spaces an object may belong to

33
Ex 3D Chat Room
  • 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

34
Scalability
  • Quazal Eterna Limitations
  • 210, (1024) classes
  • 222,(4 millions) duplication masters
  • Hardware Limitations
  • Memory
  • CPU
  • Network bandwidth

35
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
36
End of Duplication Spaces
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, .

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

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

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

41
Flexibility
  • Cross Platform

Source Square-Enix
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

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

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 ?????

45
Questions?
Write a Comment
User Comments (0)
About PowerShow.com