Apparatus and method for fair message exchanges in distributed multi-player games
First Claim
1. A method of providing a fair exchanging of messages to players in a distributed multi-player game, the distributed multi-player game using a game server configured for generating update messages for the players and processing action messages from the players, the method comprising:
- using a processor and a memory for;
propagating update messages toward players and receiving action messages from players; and
delivering the action messages for processing by the game server in an order of increasing reaction time without clock synchronization among the game server and the players, reaction time being indicative of a difference between reception of an update message by a player and sending of an action message by the player in response to the update message.
13 Assignments
0 Petitions
Accused Products
Abstract
The Fair-Ordering Service delivers action messages to the server as soon as it is feasible. Because action messages from different players exhibit different reaction times with respect to an update message, the Fair-Ordering Service executed at the server dynamically enforces a sufficient waiting period on each action message to guarantee the fair processing of all action messages. The Fair-Ordering Service takes into consideration delayed and out-of-order action messages. When action messages corresponding to multiple update messages are interleaved, the Fair-Ordering Service matches the action message to the appropriate update message by maintaining a window of update messages and using the reaction times for an action message for each of the update messages in the window. This enables state changes at the game server to be performed with fairness to all the players. The Fair-Ordering Service is based on a framework that uses a proxy architecture.
24 Citations
20 Claims
-
1. A method of providing a fair exchanging of messages to players in a distributed multi-player game, the distributed multi-player game using a game server configured for generating update messages for the players and processing action messages from the players, the method comprising:
using a processor and a memory for; propagating update messages toward players and receiving action messages from players; and delivering the action messages for processing by the game server in an order of increasing reaction time without clock synchronization among the game server and the players, reaction time being indicative of a difference between reception of an update message by a player and sending of an action message by the player in response to the update message. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
10. A method of providing a fair exchanging of messages to players in a distributed multi-player game, the distributed multi-player game using a game server configured for generating update messages for the players and receiving action messages from the players, the method comprising:
using a processor and a memory for; propagating a plurality of update messages generated by the game server, wherein the update messages are intended for a player; receiving an action message associated with the player, wherein the action message comprises a plurality of reaction times associated with the respective plurality of update messages intended for the player; and queuing the action message for processing by the game server, wherein the action message is queued using the reaction times included within the action message. - View Dependent Claims (11, 12, 13, 14, 15)
-
16. A method of providing a fair exchange of messages to players of a distributed multi-player game, the distributed multi-player game using a game server configured for generating update messages for the players and processing action messages from the players, the method comprising:
using a processor and a memory for; receiving a plurality of update messages generated by the game server and intended for a player; receiving an action message generated by the player and intended for the game server; updating the action message to include a plurality of reaction times associated with the respective update messages; and propagating, toward the game server, the updated action message including the reaction times for the respective update messages. - View Dependent Claims (17, 18, 19, 20)
Specification