Replication Group Server Sequence Synchronization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In current online gaming systems, location servers managing login/logout information for multiple service servers face excessive load and inconsistent state synchronization due to varying message sequences across replication groups, leading to differing user state determinations among member servers.
Innovation Solution
A system and method for synchronizing member servers within a replication group by maintaining a server sequence, processing external messages to generate and transmit state update messages, and adjusting sequences to ensure all servers have the same state information, using techniques like anycast and multicasting for message delivery.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a single location server is used to collectively manage login/logout information of users in all service servers, then user state information can be centrally managed, but system load on the location server becomes excessively heavy
Solution Approach 1:
The patent divides the single location server into multiple location servers forming a replication group. Each location server maintains a subset of user state information and replicates changes to other members of the replication group. This segmentation distributes the system load across multiple servers while maintaining centralized management capabilities through the replication mechanism.
2Power
If multiple location servers form a replication group to distribute system load, then server load is reduced, but message transmission sequence varies across servers leading to inconsistent state information
Solution Approach 1:
The patent introduces a preliminary sequencing mechanism where messages are assigned sequence numbers before transmission to the replication group. Each location server receives messages with embedded sequence information and processes them in the correct order based on these sequence numbers. This preliminary action of sequencing ensures that all servers process messages in the same logical sequence regardless of physical transmission variations, thereby maintaining state information consistency across the replication group.
3Ease of operation
If location servers process messages in different sequences due to network transmission variations, then message delivery is flexible, but user state determination becomes inconsistent across servers
Solution Approach 1:
The patent implements a feedback mechanism where each location server monitors and compares its message sequence with other servers in the replication group. When a server detects that its sequence diverges from the expected sequence (based on feedback from other servers), it adjusts its processing order to match the correct sequence. This feedback loop ensures that all servers converge to the same state determination despite initial variations in message reception timing.
Data Source
AI summary
A system for synchronizing a state of a member server with a state of other member servers belonging to a same replication group, the system including: a server sequence storage unit storing a first server sequence; a message receiving unit receiving an external message from a service server and receiving a second state update message from a second member server belonging to the same replication group including the member server, the second state update message including a second server sequence; an external message processing unit, in response to the receiving the external message, increasing the first server sequence by a predetermined value, generating a first state update message including the first server sequence, and transmitting the first state update message to the second member server; and a state update message processing unit, in response to the receiving the second state update message, changing the first server sequence to the second server sequence when the second server sequence included in the second state update message is larger than the first server sequence stored in the server sequence storage unit.


