U.S. Pat. No. 8,657,677
CLIENT ACCOUNT MANAGING ARRANGEMENT ON AN ONLINE GAMING SYSTEM
AssigneeOngame Services AB
Issue DateFebruary 10, 2012
Illustrative Figure
Abstract
A client account managing arrangement on an online gaming system includes a game server system having at least one game logic managing clients participating in at least one game session. Each client has a permanent account on an accounting system. Proxies, one for each client/game session combination, are connected to the respective game logics. An asynchronous communication server system is connected to the proxies. The accounting system is connected to the asynchronous communication server system and is configured to i) create a temporary reservation account for each client/game session combination, ii) transfer money from the permanent accounts to the respective temporary reservation accounts as clients start to participate in game sessions, iii) update the temporary reservation accounts during ongoing game sessions, iv) transfer remaining money from the temporary reservation accounts to the respective permanent accounts as clients end their participation in game sessions, v) closing the temporary reservation accounts for each ended client/game session combination.
Description
DETAILED DESCRIPTION In the figures of the following description connections between different entities, such as clients and servers, servers and other servers, etc will be illustrated as separate logical connections to facilitate associations between ingoing signal to and outgoing signals from such entities. However, in reality the actual connections may be multiplexed on fewer inputs and outputs. FIG. 1is a block diagram of a prior art gaming system in a first scenario. In this first scenario a number of clients (players) P1, P2, P3are connected to the game logic G of a game server system10over the internet. The game logic manages the interactive game in which the clients participate, for example poker. The game logic reacts on mouse clicks and commands keyed in by the clients and updates the screens seen by the clients accordingly. The game logic is also connected to a backend including an accounting system10with accounts A1, A2, A3associated with the corresponding clients P1, P2, P3. The accounting system is typically geographically separated from the game server system and the connection is implemented over the internet. The accounts have to be updated at the end of a round or session. If this update is to be reliable, the game logic has to wait for all the transactions to go through at the end of a round or session, and to make sure that all transactions are stored in the accounts before it can proceed with the next round or session. This implies that the clients will experience undesirable waiting times. For systems with hundreds of thousands or millions of ongoing sessions this will result in limitations on performance and sometimes service degradation. Since the accounting system may also need to access the accounts, for example for billing purposes or for collecting data for statistics, accounts may be ...
DETAILED DESCRIPTION
In the figures of the following description connections between different entities, such as clients and servers, servers and other servers, etc will be illustrated as separate logical connections to facilitate associations between ingoing signal to and outgoing signals from such entities. However, in reality the actual connections may be multiplexed on fewer inputs and outputs.
FIG. 1is a block diagram of a prior art gaming system in a first scenario. In this first scenario a number of clients (players) P1, P2, P3are connected to the game logic G of a game server system10over the internet. The game logic manages the interactive game in which the clients participate, for example poker. The game logic reacts on mouse clicks and commands keyed in by the clients and updates the screens seen by the clients accordingly. The game logic is also connected to a backend including an accounting system10with accounts A1, A2, A3associated with the corresponding clients P1, P2, P3. The accounting system is typically geographically separated from the game server system and the connection is implemented over the internet. The accounts have to be updated at the end of a round or session. If this update is to be reliable, the game logic has to wait for all the transactions to go through at the end of a round or session, and to make sure that all transactions are stored in the accounts before it can proceed with the next round or session. This implies that the clients will experience undesirable waiting times. For systems with hundreds of thousands or millions of ongoing sessions this will result in limitations on performance and sometimes service degradation.
Since the accounting system may also need to access the accounts, for example for billing purposes or for collecting data for statistics, accounts may be locked when the game logic intends to perform an update, which may increase waiting times.
FIG. 2is a block diagram of a gaming system including an example embodiment of the client account managing arrangement. The scenario is the same as inFIG. 1with clients P1, P2, P3having accounts A1, A2, A3participating in a game on game logic G. However, according to this embodiment a game server system20includes, in addition to the game logic G, a number of proxies PROXY1, PROXY2, PROXY3, each associated with a corresponding client P1, P2, P3. These proxies are connected between the game logic G and an asynchronous communication server system22. Through the asynchronous communication server system22the proxies PROXY1, PROXY2, PROXY3are connected to temporary reservation accounts T1, T2, T3associated with the respective clients P1, P2, P3. The temporary reservation accounts T1, T2, T3are in turn connected to permanent accounts A1, A2, A3.
The arrangement inFIG. 2operates as follows: When a client, for example P1, enters a game session managed by game logic G, the accounting system24creates a temporary reservation account T1. It then transfers an amount of money, for example 30, from the permanent account A1to the temporary reservation account T1. As long as client P1participates in the game, game logic G does not communicate with the permanent account A1, but rather with the temporary reservation account T1over the proxy PROXY1and the asynchronous communication server system22(including one or several asynchronous communication servers). In this way the temporary reservation account T1is updated during the progress of the game (if the temporary reservation account T1is emptied during the game, another reservation from the permanent account A1may be triggered; this can be handled by the accounting system without involving the game logic). When client P1leaves the game session, the accounting system24transfers the money remaining in the temporary reservation account T1to the permanent account A1. Thereafter it closes (or removes, destroys) the temporary reservation account T1. The other clients are handled similarly.
The purpose of the proxies and corresponding temporary reservation accounts is to give each game (there may be several as will be discussed below with reference toFIGS. 3 and 4) its own account context. In this way the communication towards the client's permanent account is reduced to reserving money to a temporary reservation account and flushing it back when the reservation account is closed (when the client leaves the game session). Thus, the combination of proxies with temporary reservation accounts essentially decouples the permanent accounts from the game logic, thereby making them more accessible for other duties of the backend accounting system.
The purpose of the asynchronous communication server system is to ensure that transactions made to the proxies are sent to and reach the temporary reservation accounts without involving the game logic. Thus, the middle layer formed by the asynchronous communication server system essentially decouples the flow of the game from the temporary reservation accounts, thereby enabling the game logic to focus its resources on improving the game flow perceived by the clients.
By combining the features described in the previous two paragraphs, one obtains an online gaming system in which the game logic is essentially decoupled from the accounting system.
FIG. 3is a block diagram of a prior art gaming system in a second scenario. In this scenario clients P1, P2, P3participate in a first game GAME1on game logic G1, and clients P3, P4, P5participate in a second game GAME2on game logic G2. It should especially be noted that client P3participates in both games. The games may be the same game, for example both games may be poker games, but the games may also be different, for example GAME1may be poker and GAME2may be Black Jack. For clients P1, P2, P4, P5the corresponding accounts A1, A2, A4, A5are handled by the respective game logic G1, G2as in the first scenario described with reference toFIG. 1. However, for client P3things become more complicated, since account A3will now be updated by both game logics G1, G2. In addition to the problems mentioned in connection with the first scenario, this adds the further complication that during an update by, for example game logic G1, account A3may be locked for updates by game logic G2. This may increase the waiting times for the game logics further, as compared to the first scenario. The problem becomes even worse as more clients participate in more than one game and as the number of parallel game sessions per client is increased. In practice it is not uncommon that a client participates in up to 10 parallel game sessions.
FIG. 4is a block diagram of a gaming system including an example embodiment of the client account managing arrangement. Clients P1, P2, P4, P5are handled in the same way as in the embodiment ofFIG. 2, i.e. they are each associated with an individual temporary reservation account over corresponding proxies and the asynchronous communication server system22. The difference is only that clients P1, P2and P4, P5belong to different games associated with game logics G1and G2, respectively. However, the essential difference is the arrangement for handling client P3, which in this scenario participates in both games. In this case there is one proxy PROXY3A connected to game logic G1and one proxy PROXY3B connected to game logic G2. Each proxy is over the asynchronous communication server system22connected to a temporary reservation account T3A and T3B, respectively. Both temporary reservation accounts T3A, T3B are connected to the single permanent account A3. In general there is one proxy and a corresponding temporary reservation account for active each client/game session combination. An advantage of this feature is that it eliminates the risk of finding a temporary reservation account locked due to an update performed by another game logic, which could happen if all game sessions associated with a client were associated with the same temporary reservation account (especially if the client participates in many games at the same time).
During an ongoing game session each client's temporary reservation account has a proxy that preferably resides near (within a few router hops from) the game logic to reduce delays. In the embodiments ofFIGS. 2 and 4this is accomplished by implementing the proxies directly in the game server system20. However, if the asynchronous communication server system22is also near the game logic (in the sense described above), an alternative embodiment is to implement the proxies in this system instead.
The game server system20may be implemented on one or several game servers (computers). One server may provide the game logic for one or several game sessions (GAME1, GAME2, . . . ) in software.
The asynchronous communication system22is preferably implemented on one or several messaging servers (computers). However, in principle it is feasible to implement it directly on the game servers.
The accounting system24is usually geographically separated from the game server system20and the asynchronous communication system22. Although the logic of the accounting system may be deployed in multiple servers, the database including the permanent accounts should preferably be a single instant.
It will be understood by those skilled in the art that various modifications and changes may be made without departure from the scope of the claims.
Claims
- A client account managing system for an online game, the system comprising: a game server executing a game logic, the game logic configured to manage clients participating in at least one game session;an asynchronous communication server communicably connected to the game server;and an accounting server being communicably connected to the asynchronous communication server, the accounting server storing a permanent account for each of the clients participating in the at least one game session, and the accounting server being configured to: create a temporary reservation account for each client/game session combination provided by the game logic, transfer money from the permanent accounts to the respective temporary reservation accounts as the clients start to participate in the at least one game session, update each temporary reservation account with transactions for the client/game session combination associated with the temporary reservation account, transfer remaining money from the temporary reservation accounts to the respective permanent accounts as clients end their participation in the at least one game session, and close the temporary reservation account for each ended client/game session combination;wherein, proxies, one for each client/game session combination, are provided on the game server or the asynchronous communication server, and the proxies are configured to communicate with the game logic, and wherein when updating each temporary reservation account with transactions for the client/game session combination associated with the temporary reservation account, the game logic indirectly communicates the transactions to the accounting server via the corresponding proxy for the client/game session combination and the asynchronous communication server.
- The system of claim 1 , wherein the proxies are provided on the game server.
- The system of claim 1 , wherein the proxies are provided on the asynchronous communication server.
- The system of claim 1 , wherein the proxies, temporary reservation accounts, and asynchronous communication server decouple the permanent accounts from the game logic executing on the game server.
- A method for operating a client account managing system for an online game, the system comprising a game server executing game logic that manages clients participating in at least one game session and an accounting server storing a permanent account for each of the clients participating in the at least one game session, the method comprising: establishing proxies, one for each client/game session combination, wherein the proxies are provided on the game server or an asynchronous communication server that is communicably connected to the game server and the accounting server;the accounting server: creating a temporary reservation account for each client/game session combination provided by the game logic, transferring money from the permanent accounts to the respective temporary reservation accounts as the clients start to participate in the at least one game session, updating each temporary reservation account with transactions for the client/game session combination associated with the temporary reservation account, transferring remaining money from the temporary reservation accounts to the respective permanent accounts as clients end their participation in the at least one game session, and closing the temporary reservation account for each ended client/game session combination;wherein when updating each temporary reservation account with transactions for the client/game session combination associated with the temporary reservation account, the game logic indirectly communicates the transactions to the accounting server via the corresponding proxy for the client/game session combination and the asynchronous communication server.
- The method of claim 5 , wherein the proxies, temporary reservation accounts, and asynchronous communication server decouple the permanent accounts from the game logic executing on the game server.
- The method of claim 5 , wherein the proxies are provided on the game server.
- The method of claim 5 , wherein the proxies are provided on the asynchronous communication server.
- An accounting server for use in a client account managing system, the client account managing system including a game server executing a game logic configured to manage clients participating in at least one game session, an asynchronous communication server communicably connected to the game server and the accounting server, and proxies, one for each client/game session combination, provided on the game server or the asynchronous communication server, the accounting server comprising a processor configured to: store permanent accounts, one for each of the clients participating in the at least one game session;create a temporary reservation account for each client/game session combination provided by the game logic;transfer money from the permanent accounts to the respective temporary reservation accounts as the clients start to participate in the at least one game session;update each temporary reservation accounts with transactions for the client/game session combination associated with the temporary reservation account, transfer remaining money from the temporary reservation accounts to the respective permanent accounts as clients end their participation in the at least one game session;and close the temporary reservation account for each ended client/game session combination;wherein when updating each temporary reservation account with transactions for the client/game session combination associated with the temporary reservation account, the game logic indirectly communicates the transactions to the accounting server via the corresponding proxy for the client/game session combination and the asynchronous communication server.
- The accounting server of claim 9 , wherein the proxies are provided on the game server.
- The accounting server of claim 9 , wherein the proxies are provided on the asynchronous communication server.
- The accounting server of claim 9 , wherein the proxies, temporary reservation accounts, and asynchronous communication server are decoupled from the permanent accounts.
Disclaimer: Data collected from the USPTO and may be malformed, incomplete, and/or otherwise inaccurate.