Skip to content

Latest commit

 

History

History
30 lines (23 loc) · 1.48 KB

File metadata and controls

30 lines (23 loc) · 1.48 KB

State synchronization protocol - Experiment

About

A project that is trying to help solve the problem with state synchronization between client and distributed server.

The use case for which it is designed is a MMO game which is the source of the requirements. The requirement for this project is to synchronization efficiently state with multiple clients.

Requirements/Assumptions:

  • clients require only some parts of state of the application an the given moment of time.
  • clients are not trustworthy. All inputs from clients have to be validated before it could have any impact on the state
  • there may be multiple sources of the state. Application may consist of many independent services including even third party.
  • there are different kinds of state. Some state may be synchronised within seconds other have to be synchronized within dozens of milliseconds.
  • possibility to track state changes and things that cause it. Required for:
    • gather information to balance the game play
    • analyzing behaviour of users in order to check how and how often given parts of systems are used
    • possibility to add new types of state that could be calculated from already happened events.

Pages

Inspirations: