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 receiving action messages from the players, the method comprising the steps of:
- propagating a plurality of update messages generated by the game server, wherein the update messages are intended for a player;
receiving an action message generated by the player, wherein the action message comprises a plurality of reaction times associated with the respective plurality of update messages intended for the player, wherein, for each of the update messages, the associated reaction time is indicative of a time difference between a reception of the update message at the player and transmission of the action message by 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, wherein queuing the action message for processing by the game server comprises;
for each of the reaction times included in the action message;
identifying an update message with which the reaction time is associated;
identifying a queue associated with the identified update message with which the reaction time is associated; and
queuing the action message within the identified queue using the reaction time.
12 Assignments
0 Petitions
Accused Products
Abstract
The Fair-Order Service of the present invention 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. In reality, the waiting period at the server is bounded because of the real-time nature of interactive games. The algorithms that offer Fair Ordering Service take 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. It accomplishes this 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-Order Service invention is based on a framework that uses a proxy architecture making it transparent to any specific game application. The service is well suited to client-server based, online multi-player games, where a fair order of player actions is critical to the game outcome.
37 Citations
14 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 receiving action messages from the players, the method comprising the steps of:
-
propagating a plurality of update messages generated by the game server, wherein the update messages are intended for a player; receiving an action message generated by the player, wherein the action message comprises a plurality of reaction times associated with the respective plurality of update messages intended for the player, wherein, for each of the update messages, the associated reaction time is indicative of a time difference between a reception of the update message at the player and transmission of the action message by 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, wherein queuing the action message for processing by the game server comprises; for each of the reaction times included in the action message; identifying an update message with which the reaction time is associated; identifying a queue associated with the identified update message with which the reaction time is associated; and queuing the action message within the identified queue using the reaction time. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. 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 receiving action messages from the players, the method comprising the steps of:
-
receiving a plurality of update messages generated by the game server and intended for the player; receiving an action message generated by the player and intended for the game server; calculating, for each of the update messages, a reaction time for the respective update message, wherein, for each of the update messages, the associated reaction time is indicative of a time difference between a reception of the update message at the player and transmission of the action message by the player; updating the action message to include the reaction times for the respective update messages; and propagating, toward the game server, the updated action message including the reaction times for the respective update messages; wherein the updated action message including the reaction times is adapted for use in queuing the action message for processing by the game server, wherein queuing the action message for processing by the game server comprises, for each of the reaction times included in the action message;
identifying an update message with which the reaction time is associated, identifying a queue associated with the identified update message with which the reaction time is associated, and queuing the action message within the identified queue using the reaction time. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
Specification