Online-Gaming P2P Networking Optimizations through Dynamic Clustering of Traffic and Computation

Peer-to-peer networking is a common architecture for modern online games. There are multiple approaches to it and some are better suited than others. For a small number of players and a simple game, it could make sense to have each player keep track of the whole game state and replicate/validate changes by communicating with the other players. For more complex games there is often a host player who runs a dedicated server in the background and interacts with the other players in a Client-Server-based way. In either case, there aren't any location, computation, or connection-based optimizations in place which can result in a sub-optimal experience for some players.
This problem could be solved by dynamically adapting the routing of traffic and computations/replications of the server state. Instead of having a complete graph where each player connects to each other, there could be little hubs or clusters where some players with decent enough machines and connections take over the responsibility of computation and traffic routing and act as little servers. These players could then communicate with other server machines in other clusters and take over the authority for state management. Through heuristics or AI this topological structure could either be pre-calculated or dynamically adapted as the game is being played.

 

 

Contact