Finite State Machine User State Switching in Distributed Game Servers

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing user state switching methods in distributed game server architectures struggle with complex state transitions, leading to data inconsistencies and increased database pressure, especially when server crashes occur or real-time state updates are required.

Innovation Solution

A user state switching method utilizing a finite state machine to determine allowed state transitions, incorporating a health check mechanism for self-repair of abnormalities, and enabling real-time state notifications to reduce server query frequency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If the database is queried frequently to guarantee timeliness of user state, then the responsiveness is improved, but the database pressure increases

Engineering Contradiction:
ImproveresponsivenessVSAvoiddatabase pressure
Core Design Contradiction:
SpeedVSStress or pressure

Solution Approach 1:

The system performs preliminary actions by pushing user state changes to subscribers in real-time when states change, rather than waiting for query requests. This proactive approach ensures that subscribers receive up-to-date information immediately, reducing the need for frequent polling queries and thereby lowering database pressure while maintaining responsiveness.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If the server supporting gameplay crashes, then the availability is reduced, but the user state consistency is compromised

Engineering Contradiction:
Improveuser state consistencyVSAvoidavailability
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The health check mechanism continuously monitors user state and provides feedback to detect abnormalities such as server crashes. When a crash is detected, the system triggers automatic repair processes that reclaim server resources and restore user state to a consistent state, ensuring reliability is maintained even when availability is temporarily reduced.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system performs self-service through automatic health checks and self-repair mechanisms. When server crashes or state abnormalities occur, the system automatically detects the issues through health checks and repairs them by reclaiming resources and restoring state consistency without manual intervention, thereby maintaining reliability while minimizing downtime.

Inventive Principle:
Principle #25Self-service

3Adaptability or versatility

If complex state switching logic is implemented, then the adaptability is improved, but the system complexity increases

Engineering Contradiction:
Improvestate switching capabilityVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system segments the complex state switching logic into a finite state machine model, where each user state is a separate state and transitions between states are defined by specific rules. This segmentation allows the system to handle complex state switching scenarios by breaking them down into manageable, discrete state transitions, improving adaptability while keeping the system organized and maintainable.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS20250110856A1User state switching method, system, device, medium and computer program product
Publication Date: 2025.04.03 LILITH TECH (SHANGHAI) CO LTD
  • US20250110856A1 patent drawing
  • US20250110856A1 patent drawing
  • US20250110856A1 patent drawing

AI summary

The present invention relates to the technical field of network service, and in particular, to a user state switching method, a system, a device, a medium and a computer program product. The user state switching method comprises: a receiving step: receiving a switching request for a user state; a query step: querying the user state; a determination step: determining, on the basis of a finite state machine of the user state, whether to allow switching of the user state; an error return step: if the switching of the user state is not allowed, returning error information; a state switching step: if the switching of the user state is allowed, modifying and storing information of the user state, and switching the user state on the basis of the finite state machine. Can meet complex user state switching design requirements, can perform self-repair of user state abnormalities, and can push the user's state to other users in real time.