Push Gateway Pub-Sub Architecture for Low-Latency Player Density Maps
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional game servers operate in a stateful model with universal game states that require frequent updates to client devices, leading to redundant pings and latency issues due to periodic client-server communication.
Innovation Solution
A push gateway system with messaging frontend servers, a messaging database, and topic servers that manage socket connections, monitor device analytics, and push messages to interested clients, reducing redundant pings by pushing notifications and optimizing load balancing through a density server that generates player density maps.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the game server operates in a stateful model with periodic updates to client devices, then the universal game state can be maintained across all clients, but redundant pings are generated and latency increases
Solution Approach 1:
The patent introduces a push gateway as an intermediary component between the game server and client devices. The gateway maintains a messaging database that stores subscription information for multiple clients, allowing the server to publish updates once and have them distributed to all subscribed clients without requiring individual client pings. This mediator architecture eliminates redundant communication while maintaining state consistency across all clients.
Solution Approach 2:
The patent implements a publish-subscribe model where the server publishes updates on demand rather than requiring periodic client-initiated pings. The messaging system maintains persistent connections and pushes notifications automatically when events occur, transforming the periodic poll-and-wait pattern into an event-driven push pattern that reduces latency and redundant traffic.
2Ease of operation
If client devices periodically ping the game server for updates, then clients can receive notifications, but redundant pings are generated when no messages are queued
Solution Approach 1:
The push gateway maintains persistent socket connections with client devices and actively monitors for messages in the messaging database. Instead of clients repeatedly pinging the server to check for updates, the gateway automatically detects when messages are available and pushes them to clients. This self-service approach eliminates redundant client-initiated pings while ensuring timely notification delivery.
Solution Approach 2:
The system implements a feedback mechanism where the push gateway continuously monitors the messaging database for queued messages and automatically responds by pushing notifications to subscribed clients. This closed-loop feedback system ensures that clients receive updates only when necessary, eliminating redundant communication while maintaining ease of operation.
3Productivity
If multiple client devices connect to the game server, then the server can serve multiple players, but load balancing becomes complex
Solution Approach 1:
The patent segments the client connection management by introducing a dedicated push gateway component that handles all client device connections and messaging operations. The game server is freed from direct client connection management and focuses solely on game logic and publishing updates. This segmentation simplifies load balancing as the gateway can independently manage connection distribution across multiple server instances.
Solution Approach 2:
The push gateway serves multiple functions: it manages socket connections with all client devices, maintains the messaging database with subscription information, publishes updates to subscribed clients, and handles load balancing. This multi-functional universal component consolidates complex operations into a single system that can efficiently serve multiple clients while simplifying the overall architecture.
Data Source
AI summary
A push gateway brokers messages between backend services and client devices connected to the gateway. The gateway includes a plurality of messaging frontend servers, a messaging database, and a plurality of topic servers. The messaging frontend servers manage the socket connections connecting the client devices to the push gateway. The messaging database is a key-value database that subscribes messaging frontend servers to topics. The topic servers receive publish requests from the backend servers to identify subscribed messaging frontend servers in the messaging database to push messages out to. The frontend messaging servers subsequently push out the message to the client devices subscribed to the topic. The gateway can aggregate player counts from a plurality of geographical regions based on the socket connections hosted by the messaging frontend servers. With the player counts, the gateway can generate a player density map, e.g., for socket load balancing, or for a gameplay feature.


