# US 12,109,495 B2 · Server architecture and method for implementing online multi-player games

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,109,495 B2
- Document ID: US12109495B2
- Status: Granted
- Kind: B2
- Application number: 17/764,780
- Filed: 2021-11-12
- Published: 2023-03-16
- Granted: 2024-10-08
- Earliest claimed: 2020-12-01
- Assignees: Garena Online Private Limited
- Applicants: Garena Online Private Limited
- Inventors: Chen Lu
- Web page: https://patentgrep.com/patent/US12109495B2

## CPC

- A63F 13/352: involving special game server arrangements, e.g. regional servers connected to a national server or a plurality of servers managing partitions of the game world
- A63F 13/77: involving data related to game devices or game servers, e.g. configuration data, software version or amount of memory
- A63F 13/35: Details of game servers
- A63F 13/79: involving player-related data, e.g. identities, accounts, preferences or play histories
- A63F 13/795: for finding other players; for building a team; for providing a buddy list
- A63F: CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR

## Abstract

A server architecture and method for implementing online multi-player games are disclosed, the server architecture comprising regional servers, each of the regional servers having a designated region and configured to perform matchmaking for client devices based on the designated region. The server architecture further comprises a central data server configured to receive an identifier from a client device; select a regional server based on the identifier and the designated regions, and send a regional server ID of the selected regional server to the client device. Wherein the selected regional server is configured to receive from the central data server, player profile data associated with the identifier; and perform matchmaking by grouping the client device in an online play session with other client devices based on the designated region of the selected regional server.

## Claims

### Claim 1

A server architecture for implementing an online multi-player game, the server architecture comprising:
a plurality of regional servers, each of the plurality of regional servers having a designated region and configured to perform matchmaking for only client devices that belong to the designated region; and
a central data server configured to:
receive an identifier from a client device;
select a regional server from the plurality of regional servers based on the identifier and the designated regions;
send a regional server ID of the selected regional server to the client device; and
provide player profile data to each of the plurality of regional servers;
wherein the selected regional server is configured to:
receive from the central data server, player profile data associated with the identifier; and
perform matchmaking by grouping the client device in an online play session with other client devices that belong to the designated region of the selected regional server.

### Claim 2 (depends on 1)

The server architecture of claim 1, wherein the central data server comprises a server database, the server database storing a relationship between the plurality of regional servers and the designated regions; and wherein the central data server selects a regional server from the plurality of regional servers based on the identifier and the designated regions by querying the server database with region information associated with the identifier, and determining at least one of the plurality of regional servers having the designated region that matches the region information associated with the identifier.

### Claim 3 (depends on 2)

The server architecture of claim 2, wherein the region information associated with the identifier matches the region information associated with identifiers sent by the other client devices in the online play session.

### Claim 4 (depends on 2)

The server architecture of claim 2, wherein the central data server determines that more than one of the plurality of regional servers has a designated region that matches the region information, and the central data server selects the regional server based on latency or workload or language considerations.

### Claim 5 (depends on 2)

The server architecture of claim 2, wherein the central data server comprises a player profile database, the player profile database storing the identifier and the associated player profile data.

### Claim 6 (depends on 1)

The server architecture of claim 1, wherein the plurality of regional servers are set up in an etcd network, and wherein the central data server selects a regional server from the plurality of regional servers based on the identifier and the designated regions by querying a configuration file and determining at least one of the plurality of regional servers having the designated region that matches the region information associated with the identifier.

### Claim 7 (depends on 1)

The server architecture of claim 1, wherein the central data server is further configured to select the selected regional server from the plurality of regional servers based on a region as indicated by a current IP address of the client device, as opposed to selecting the selected regional server based on the identifier.

### Claim 8 (depends on 1)

The server architecture of claim 1, further comprising a gaming server, wherein the selected regional server is further configured to send a gaming server ID of the gaming server to the client device; and wherein the central data server is further configured to receive game statistics of the online play session from the gaming server and update the player profile data associated with the identifier with the game statistics.

### Claim 9 (depends on 8)

The server architecture of claim 8, wherein the selected regional server performs matchmaking by obtaining the latency of the client device with respect to the gaming server, and grouping the client device with the other client devices having a substantially similar latency with respect to the gaming server, in the online play session.

### Claim 10 (depends on 1)

The server architecture of claim 1, wherein the selected regional server and the central data server are located in separate locations and the selected regional server is geographically closer to the client device than the central data server.

### Claim 11 (depends on 1)

The server architecture of claim 1, wherein the identifier is a player ID or a device ID.

### Claim 12

A method for implementing an online multi-player game, the method comprising:
receiving, at a central data server, an identifier from a client device;
selecting, at the central data server, a regional server from a plurality of regional servers based on the identifier and a designated region of each of the plurality of regional servers, each of the plurality of regional servers configured to perform matchmaking for only client devices that belong to the designated region, and the central data server is configured to provide player profile data to each of the plurality of regional servers;
sending, from the central data server to the client device, a regional server ID of the regional server;
receiving, at the regional server, the identifier from the client device;
sending, from the regional server to the central data server, the identifier;
receiving, at the regional server, player profile data associated with the identifier from the central data server; and
performing, by the regional server, matchmaking, by grouping the client device in an online play session with other client devices that belong to the designated region of the regional server.

### Claim 13 (depends on 12)

The method of claim 12 wherein the central data server comprises a server database, the server database storing a relationship between the plurality of regional servers and the designated regions; and the step of selecting, at the central data server, a regional server from a plurality of regional servers based on the identifier and a designated region of each of the plurality of regional servers comprises the steps of:
querying the server database with region information associated with the identifier; and
determining that the designated region of at least one of the plurality of regional servers matches the region information associated with the identifier.

### Claim 14 (depends on 13)

The method of claim 13, wherein the region information associated with the identifier matches the region information associated with identifiers sent by the other client devices in the online play session.

### Claim 15 (depends on 13)

The method of claim 13 wherein more than one of the plurality of regional servers has the designated region that matches the region information, and the method further comprises the step of selecting the regional server based on latency or workload or language considerations.

### Claim 16 (depends on 13)

The method of claim 13, wherein the central data server comprises a player profile database, the player profile database storing the identifier and the associated player profile data.

### Claim 17 (depends on 12)

The method of claim 12, further comprising the step of:
selecting, at the central data server, the regional server from the plurality of regional servers based on a region as indicated by a current IP address of the client device, as opposed to selecting the regional server based on the identifier.

### Claim 18 (depends on 12)

The method of claim 12, further comprising the steps of:
sending, from the regional server to the client device, a gaming server ID of a gaming server;
receiving, at the central data server, game statistics of the online play session from the gaming server; and
updating, at the central data server, the player profile data associated with the identifier, with the game statistics.

### Claim 19 (depends on 18)

The method of claim 18, wherein the step of performing matchmaking by the regional server comprises the steps of:
obtaining the latency of the client device with respect to the gaming server, and
grouping the client device with the other client devices having a substantially similar latency with respect to the gaming server, in the online play session.

### Claim 20 (depends on 12)

The method of claim 12, wherein the regional server and the central data server are located in separate locations and the regional server is geographically closer to the client device than the central data server.
