Game System Cross-Device State Synchronization via Revision Numbers
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional game systems do not support continuous execution of games between multiple client devices or parallel execution across different devices, failing to meet user demands for seamless gameplay across various devices such as smartphones and tablets.
Innovation Solution
A game system architecture that includes a server device with a storage unit for status information, account information, and revision numbers, and client devices capable of communicating with the server to manage game state updates and requests, ensuring continuous gameplay by synchronizing status information and revision numbers across devices.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If conventional game systems are used, then simple single-device game execution is supported, but continuous execution across multiple client devices and parallel execution are not supported
Solution Approach 1:
The system segments game state management into two parts: local client devices handle user input and rendering, while the server device handles centralized state synchronization. This segmentation allows multiple clients to operate independently while maintaining consistent game state through the server's coordination of status information and revision numbers.
Solution Approach 2:
The server device acts as an intermediary between multiple client devices, receiving status information from each client, verifying revision numbers to detect conflicts, and distributing updated game states. This intermediary role enables parallel execution and cross-device continuity without requiring direct peer-to-peer communication between clients.
2Adaptability or versatility
If status information is synchronized between devices, then continuous execution is enabled, but data consistency conflicts may occur during parallel execution
Solution Approach 1:
The system performs preliminary actions by attaching revision numbers to each status information package before transmission. When a client sends status information, it includes the current revision number, allowing the server to preemptively detect conflicts before they propagate, ensuring data consistency is maintained proactively rather than reactively.
Solution Approach 2:
The server implements a feedback mechanism by comparing incoming revision numbers with stored values, detecting conflicts when they don't match, and preventing overwriting of newer game states. This feedback loop ensures that parallel executions don't corrupt data consistency, as conflicting updates are identified and handled appropriately.
3Reliability
If revision number verification is implemented, then data consistency is maintained, but update processing time increases
Solution Approach 1:
The system applies partial verification by checking only the revision number field rather than validating entire status information packages. This partial action approach maintains data consistency through essential conflict detection while minimizing processing overhead, as comparing numeric revision numbers is computationally inexpensive compared to full state validation.
Data Source
AI summary
Each client device sends an acquisition request the input of which has been accepted and writes, in a second storage unit, status information and a revision number received from a server device. After restoring the status of a game based on the status information in the second storage unit, the client device advances the game. During the advancement of the game, each client device sends, based on an instruction the input of which has been accepted, sends to the server device an update request including status information indicating the present status of the game as well as account information and the revision number of the second storage unit. The server device, based on account information included in the update request, determines whether the revision number read out from the first storage unit and the revision number in the update request match each other. If the numbers match, the server device updates the status information and the revision number in the first storage unit based on the update request. If the numbers do not match, the server device cancels the update request.


