Computing apparatus, system and method for balancing prediction signals from remote terminals
Patent Information
- Application Number
- HK62026126440
- Authority / Receiving Office
- HK · HK
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-04-19
- Filing Date
- 2026-07-21
- Publication Date
- 2026-10-09
- Estimated Expiration
- 2044-03-03
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
(19) State Intellectual Property Office (12) Invention Patent Application (10) Application Publication Number (43) Application Publication Date (21) Application Number 202480033390.4 (22) Application Date 2024.03.04 (30) Priority Data 63 / 460,457 2023.04.19 US (85) PCT International Application Entering National Phase Date 2025.11.18 (86) PCT International Application Application Data PCT / IB2024 / 052078 2024.03.04 (87) PCT International Application Publication Data WO2024 / 218584 EN 2024.10.24 (71) Applicant: Raven Spade Company Address: Ontario, Canada (72) Inventor: Chen Jianhua (74) Patent Agency: Beijing Sanyou Intellectual Property Agency Co., Ltd. 11127 Patent Attorney Wang Kunzhe Xu Mingang (51) Int.Cl. H04L 47 / 125 (2006.01) A63F 13 / 30 (2006.01) G06F 9 / 50 (2006.01) H04L 67 / 1008 (2006.01) (54) Invention Title Computing apparatus, system and method for balancing predictive signals from remote terminals (57) Abstract This specification provides, in particular, a novel load balancing engine for interactive applications, which can adjust signals from electronic devices connected to a platform in order to drive the overall system toward a target amount of computational resource utilization. Claims (2 pages), Description (9 pages), Drawings (6 pages), CN 121464612 A, 2026.02.03, CN 1 21 46 46 12 A. 1. An interactive platform comprising a processor and a memory, the processor being configured to: define a target resource utilization range for one or more of the following: processor utilization, memory utilization, and / or bandwidth utilization; launch an interactive application on the platform; identify a plurality of participating accounts associated with an electronic device connected to the platform via a network; receive prediction signals for the outcome of the application from at least a portion of the participating accounts; execute stages of the application; determine which participating accounts generated the prediction signals; allocate a first portion of a collective account to a value storage unit associated with one of the participating accounts, the participating account being associated with accurate prediction; allocate a second portion of the collective account to one or more value storage units associated with the other participating accounts based on the number of prediction signals received from the other participating accounts; wherein the second portion is adjusted so that the total number of signals during subsequent stages remains within the target resource utilization range.2. A system comprising multiple platforms hosting the interactive application of claim 1; the target utilization range comprising one or more of processor utilization, memory utilization, and bandwidth utilization of each platform; the target utilization range comprising a substantial balance of processor utilization, memory utilization, and bandwidth utilization across the platforms. 3. The interactive platform of claim 1, wherein the target range is a processor utilization between about 20% and about 80%. 4. The interactive platform of claim 1, wherein the target range is a processor utilization between about 30% and about 70%. 5. The interactive platform of claim 1, wherein the target range is a processor utilization between about 40% and about 60%. 6. The interactive platform of claim 1, wherein the target range is a processor utilization between about 45% and about 55%. 7. The interactive platform of claim 1, wherein the target range is a processor utilization of about 50%. 8. The interactive platform of claim 1, wherein the target range is a memory utilization between about 25% and about 75%. 9. The interactive platform of claim 1, wherein the target range is a memory utilization rate between about 35% and about 75%. 10. The interactive platform of claim 1, wherein the target range is a memory utilization rate between about 40% and about 60%. 11. The interactive platform of claim 1, wherein the target range is a memory utilization rate between about 45% and about 55%. 12. The interactive platform of claim 1, wherein the target range is a network connection bandwidth utilization rate of the platform between about 25% and about 75%. 13. The interactive platform of claim 1, wherein the target range is a network connection bandwidth utilization rate of the platform between about 35% and about 75%. Claims 1 / 2 Page 2 CN 121464612 A 14. The interactive platform of claim 1, wherein the target range is a network connection bandwidth utilization rate of the platform between about 40% and about 60%. 15. The interactive platform of claim 1, wherein the target range is a network connection bandwidth utilization rate of the platform between about 45% and about 55%. 16. The interactive platform of claim 1, wherein the target range is a network connection bandwidth utilization rate of the platform between about 50%.Claims 2 / 2 Page 3 CN 121464612 A Computing apparatus, system, and method for balancing prediction signals from a remote terminal
[0001] Cross-Reference to Related Applications
[0002] This application claims the benefit of U.S. Provisional Patent Application No. 63 / 460457, filed April 19, 2023, entitled “COMPUTING APPARATUS, SYSTEM AND METHOD FOR BALANCING PREDICTION SIGNALS FROM REMOTE TERMINALS”, the entire contents of which are incorporated herein by reference. Technical Field
[0003] The present invention generally relates to computing systems for managing signals via communication networks, and more particularly, to the balancing of resource utilization. Background Art
[0004] Computing devices and communication systems are commonly used to facilitate networked software interactions involving signals. Designing and implementing a hardware platform that provides a given experience to a user accessing the platform via a remote terminal can require significant engineering resources. However, remote terminals may exhibit different signal flows reflecting user behavior, which may further affect the utilization of the hardware platform. Therefore, underutilization and / or imbalance of computing resources on some platforms leads to a waste of processor, memory, and communication resources.
[0005] One aspect of this specification provides an interactive platform including a processor and memory, the processor being configured to: define a target resource utilization range for one or more of the platform's processor utilization, memory utilization, and / or bandwidth utilization; launch an interactive application on the platform; identify a plurality of participating accounts associated with an electronic device connected to the platform via a network; receive prediction signals of the application's outcome from at least a portion of the participating accounts; execute stages of the application; determine which participating accounts generated the prediction signals; allocate a first portion of a collective account to a value storage unit associated with one of the participating accounts, the participating account being associated with accurate prediction; allocate a second portion of the collective account to one or more value storage units associated with the other participating accounts based on the number of prediction signals received from the other participating accounts; wherein the second portion is adjusted so that the overall number of prediction signals during subsequent stages is within the target resource utilization range.
[0006] One aspect of this specification provides a system comprising multiple platforms hosting the interactive application described above. The target utilization range includes one or more of the following: processor utilization, memory utilization, and bandwidth utilization for each platform. The target utilization range includes a substantial balance of processor utilization, memory utilization, and bandwidth utilization across the various platforms.
[0007] One aspect of this specification provides an interactive platform, wherein the target range is a processor utilization rate between about 20% and about 80%.
[0008] One aspect of this specification provides an interactive platform, wherein the target range is a processor utilization rate between about 30% and about 70%.
[0009] One aspect of this specification provides an interactive platform, wherein the target range is a processor utilization rate between about 40% and about 60%. Specification 1 / 9 pages 4 CN 121464612 A
[0010] One aspect of this specification provides an interactive platform, wherein the target range is a processor utilization rate between about 45% and about 55%.
[0011] One aspect of this specification provides an interactive platform, wherein the target range is a processor utilization rate of about 50%.
[0012] One aspect of this specification provides an interactive platform, wherein the target range is a memory utilization rate between about 25% and about 75%.
[0013] One aspect of this specification provides an interactive platform, wherein the target range is a memory utilization rate between about 35% and about 75%.
[0014] One aspect of this specification provides an interactive platform, wherein the target range is a memory utilization rate between about 40% and about 60%.
[0015] One aspect of this specification provides an interactive platform, wherein the target range is a memory utilization rate between about 45% and about 55%.
[0016] One aspect of this specification provides an interactive platform, wherein the target range is a memory utilization rate of about 50%.
[0017] One aspect of this specification provides that the network connection bandwidth utilization rate of the platform is between about 25% and about 75%.
[0018] One aspect of this specification provides an interactive platform, wherein the target range is that the network connection bandwidth utilization rate of the platform is between about 35% and about 75%.
[0019] One aspect of this specification provides an interactive platform, wherein the target range is that the network connection bandwidth utilization rate of the platform is between about 40% and about 60%.
[0020] One aspect of this specification provides an interactive platform, wherein the target range is a network connection bandwidth utilization rate of the platform between about 45% and about 55%.
[0021] One aspect of this specification provides an interactive platform, wherein the target range is a network connection bandwidth utilization rate of the platform between about 50%.
[0022] One aspect of this specification provides a platform including a processor configured to: launch a video game on the platform; identify a plurality of participating accounts associated with an electronic device connected to the platform via a network; receive prediction signals of game results from the participating accounts; execute game phases of the video game; determine which participating accounts generated prediction signals; allocate a first portion of a collective game currency account to a game currency account associated with one of the participating accounts, the participating account being associated with an accurate prediction; allocate a second portion of the collective game currency account to one or more of the other participating accounts based on the number of prediction signals received from the other participating accounts; wherein the second portion is adjusted so that the total number of prediction signals is within a target range during subsequent launches of the video game.
[0023] One aspect of this specification provides a game platform in which the video game is poker, and the game phase includes multiple hands of poker; the collective game currency account represents the pot; the first portion represents the winnings; and the second portion represents the rebates. Brief Description of the Drawings
[0024] FIG1 is a schematic diagram of a system for balancing prediction signals.
[0025] FIG2 is a block diagram of example internal components of the load balancing engine of FIG1.
[0026] Figure 3 shows a flowchart depicting a method for balancing prediction signals.
[0027] Figure 4 shows some blocks of the method in Figure 3 executed by the system in Figure 1. Specification 2 / 9 pages 5 CN 121464612 A
[0028] Figure 5 shows another flowchart depicting another method for balancing prediction signals.
[0029] Figure 6 shows an electronic game table according to another embodiment. Detailed Description
[0030] Figure 1 shows a system for balancing prediction signals, generally indicated by 100. System 100 includes multiple platforms 104-1, 104-2...104-n. (Platforms 104-1, 104-2...104-n are collectively referred to as multiple platforms 104, and generally as platform 104. This nomenclature is also used in other parts of this document.) In system 100, platform 104 is connected to network 108, such as the Internet. Network 108 interconnects game platform 104 with multiple terminals 116 and load balancing engine 120. As will be discussed further below, the load balancing engine 120 performs multiple processing functions for system 100.
[0031] Platform 104 can be based on any existing or future interactive application server. In a non-limiting example, platform 104 can be a game server for online game interaction between users 124 operating terminal 116. Terminal 116 can be any type of human-computer interface that interacts with platform 104.For example, terminal 116 may include conventional laptop computers, desktop computers, mobile phones, tablet computers, and any other devices that can be used to send and receive communications through network 108 and its various nodes, which cooperate with input and output hardware devices associated with a given terminal 116. It is envisioned that terminal 116 may include virtual reality or augmented reality equipment to cooperate with a virtual reality, augmented reality, or “metaverse” environment that can be provided on game platform 104. Terminal 116 may be operated by different users 124, each associated with a corresponding identifier object 128 that uniquely identifies a given user 124 accessing a given terminal 116 in system 100. Each identifier object 128 is also associated with a value storage unit existing in the form of game currency accounts 132.
[0032] In this example embodiment, game platform 104 may be based on a media platform or a central server, functioning to provide game interaction between different users 124 who have accounts associated with their identifier objects 128 on these platforms 104. The game interaction is not particularly limited, but can include any form of game involving multiple users 124, which combines skill and luck, and includes rounds in which users 124 predict the outcome of the game. Each prediction is accompanied by an amount of game currency, which is represented by game currency transferred from the game currency account 132 associated with the identifier object 128. Predictions may be optional as part of the game, however, continued participation in the game may depend on whether predictions are provided and the minimum amount of game currency. The nature of the game currency may vary depending on the local laws and regulations where the management system 100 operates, such as game currency representing in-game value or other game currency equivalent to coins; this will not have any effect on this specification.
[0033] During the game, the game currency from each round's prediction is pooled into a collective account 136 (e.g., called the "pot" in online poker; there may be other colloquial names depending on the game), which corresponds to the platform 104 hosting the relevant game. Once the outcome corresponding to the prediction is revealed (usually at the end of the game), the user 124 who made the accurate prediction will receive a portion of the collective account 136, which will be transferred to the game currency account 132 associated with that user 124. (For example, in online poker, this is called "profit"; depending on the game, there may be other colloquial terms.) The remainder of the collective account 136 is transferred to the game platform's in-game currency account 140 (for example, in online poker, this is called "rake"; depending on the game, there may be other colloquial terms). Another portion of the collective account 136 is allocated to the loyalty account 144 (for example, "rebate" in online poker; depending on the game, this may refer to any other colloquial term).
[0034] According to the algorithm implemented by the load balancing engine 120, a portion of the game currency in the loyalty account 144 will be distributed to the account 132 of the user 124 who made an inaccurate prediction. The algorithm configures the load balancing engine 120 to control the game platform 104 to maximize the utilization of the computing resources of each platform 104. In an implementation, a part of the algorithm may be based on the number of predictions made by the user 124, even if these predictions are incorrect. The algorithm, the number of predictions, the collective account 136 value, the platform account 140 value, the loyalty account 144 value, and the associated threshold levels are continuously monitored and adjusted by the load balancing engine 120 to maximize the utilization of the computing resources of the platform 104 within the system 100.
[0035] The current exemplary example of the game platform 104 is online poker, but any online game that conforms to the general structure described above is considered. In the context of online poker, the collective account 136 can be commonly referred to as the "pot"; the portion of the collective account 136 transferred to the game currency account 132 associated with the user 124 who made an accurate prediction and won the hand can be commonly referred to as "profit"; and the distribution from the loyalty account 144 can be referred to as "rebate". The platform game currency account 140 can be commonly referred to as "rake"; therefore, the nature of the game platform 104 is not particularly limited. In general, the platform 104 provides a means for users 124 to play online games with each other via terminals 116, while the load balancing engine 120 adjusts to maximize the utilization of the platform 104. Therefore, in variations, this specification can be applied to multiplayer games, such as modified versions of the "Battle Royale" mode in games like Fortnite, where players are encouraged to predict their or their team's probability of winning during predefined time periods.
[0036] It needs to be clarified and understood here that the nodes in the system 100 can be massively expanded to accommodate a large number of users 124, terminals 116, and the game platform 104. Therefore, terminal 116 is based on any suitable client computing platform operated by user 124 (examples as described above), who may be interested in participating in games with other users 124 on one or more game platforms 104. Thus, each terminal 116 and its user 124 are associated with user identifier object 128 and electronic game currency account 132.
[0037] Those skilled in the art will understand that the form of identifier object 128 is not particularly limited; in a simple example implementation, it can be an alphanumeric sequence that is completely unique relative to other identifier objects in system 100. Identifier objects can also be more complex, as they can be combinations of account credentials (e.g., username, password, two-factor authentication token, etc.) that uniquely identify a given user 124.Identifier objects themselves can also be indexes to other identifier objects (e.g., accounts). The key is that they have unique identifiability within system 100 associated with the content they represent and can be associated with the accounts of various users 124 on one or more platforms 104.
[0038] Having outlined system 100, it is necessary to describe the hardware infrastructure of system 100. Figure 2 shows a schematic diagram of a non-limiting example of the internal components of load balancing engine 120.
[0039] In this example, load balancing engine 120 includes at least one input device 204. Input from device 204 is received at processor 208, which in turn controls output device 212. Input device 204 can be a conventional keyboard and / or mouse to provide physical input. Similarly, output device 212 can be a display. In variations, additional and / or other input devices 204 or output devices 212 may be conceived or omitted entirely depending on the context.
[0040] Processor 208 can be implemented as multiple processors or one or more multi-core processors. Processor 208 can be configured to execute different programming instructions in response to input received via one or more input devices 204 and control one or more output devices 212 to generate output on these devices.
[0041] To implement its programming functions, processor 208 is configured to communicate with one or more memory cells, including non-volatile memory 216 and volatile memory 220. Non-volatile memory 216 can be based on any persistent memory technology, such as erasable electronically programmable read-only memory (“EEPROM”), flash memory, solid-state drive (SSD), other types of hard disks, or combinations thereof. Non-volatile memory 216 can also be described as a non-transitory computer-readable medium. Moreover, more than one type of non-volatile memory 216 can be provided.
[0042] Volatile memory 220 is based on any random access memory (RAM) technology. For example, volatile memory 220 can be based on double data rate (DDR) synchronous dynamic random access memory (SDRAM). Other types of volatile memory 220 are also considered.
[0043] Processor 208 is also connected to network 108 via network interface 232. Network interface 232 can also be used to connect another computing device having input and output devices, thereby completely eliminating the need for input device 204 and / or output device 212.
[0044] Programming instructions (in the form of application 224) are generally persistently maintained in non-volatile memory 216 and used by processor 208, which reads data from and writes data to volatile memory 220 during execution of application 224. Various methods discussed herein can be encoded as one or more applications 224.One or more tables or databases 228 are maintained in non-volatile memory 216 for use by application 224.
[0045] The infrastructure of load balancing engine 120 or a variant thereof can be used to implement any computing node in system 100, including platform 104 and reservation engine 112. Furthermore, load balancing engine 120, platform 104, and reservation engine 112 can also be implemented as virtual machines and / or images. Load balancing engine 120 can also be directly integrated into platform 104, thereby avoiding the need for a central load balancing engine 120. Similarly, multiple load balancing engines 120 can be provided, especially as system 100 expands.
[0046] Furthermore, those skilled in the art will understand that, as described with respect to the server environment of load balancing engine 120, the core elements of processor 208, input device 204, output device 212, non-volatile memory 216, volatile memory 220, and network interface 232 have corresponding elements in different forms of client machines (e.g., client machines that can be used to implement terminal 116). Similarly, terminal 116 can be based on a computer workstation, laptop computer, tablet computer, mobile phone device, etc.
[0047] Figure 3 shows a flowchart depicting a method for resource load balancing (generally indicated by 300). Method 300 can be implemented on system 100. Those skilled in the art may choose to implement method 300 on system 100 or variations thereof, or omit certain blocks, execute in parallel, or execute in a different order than shown. Thus, method 300 can also be varied. However, for ease of explanation, the method will be described in conjunction with the execution of method 300 on system 100, with particular attention to treating method 300 as being executed on one or more platforms 104, but method 300 is also monitored by load balancing engine 120.
[0048] Block 304 includes launching an electronic game. As mentioned above, there are no particular limitations on the nature of the game, but for the current exemplary example, online poker will be discussed. According to the specific exemplary example, in system 100, it will be assumed that game platform 104-1 launches an online poker game. (For simplicity, the state of the remaining game platforms 104 other than game platform 104-1 is now ignored, but it will be understood how they can be launched and form part of the current teaching.) Any form of online poker can be used, such as Texas Hold'em, Omaha 4, Omaha 5, and Omaha 6.
[0049] Block 308 includes determining participating accounts. Detailed in our example, at block 308, platform 104-1 receives electronic signals from multiple terminals 116, including associated identifier objects 128 indicating which users 124 will "play" or otherwise participate in the electronic game launched at block 304.Figure 4 shows an illustrative diagram in which all users 124 shown in Figure 1 send a signal 404 containing their account identifier object 128 to the game platform 104-1 via their terminal 116, indicating their participation in the game initiated at block 304.
[0050] Block 312 includes receiving a prediction signal. According to our specific example, each user 124 will control their terminal 116 to allocate a certain amount of game currency in their account 132 and electronically transfer that amount to the collective account 136-1 of platform 104-1. The amount of game currency can be predetermined by game rules enforced by platform 104-1, such as "anchor" or "blinds," thereby predicting that user 124 will be the winning player.
[0051] Block 316 includes executing the game phase. In general, block 316 takes into account the signal exchange between platform 104 and terminal 116, which realizes the electronic interaction representing the actual conduct of the game. Taking online poker as an example, block 316 includes platform 104-1 dealing a hand of virtual poker cards according to the specific poker game used. For example, if the online poker game is Texas Hold'em, then at the initial execution of block 316, each terminal 116 receives an electronic representation of two private "hole cards" according to the account associated with the corresponding object 128. (During subsequent cycles of method 300, taking Texas Hold'em as an example, these phases are commonly referred to as the "flop," "turn," and "river" phases.) Specification 5 / 9 pages 8 CN 121464612 A
[0052] Block 320 includes determining which accounts are associated with predictions. According to this example, it is recorded which accounts associated with the corresponding object 128 participated in sending prediction signals at block 312. As will become clear from the following discussion, certain accounts that participate in prediction at block 308 but not at block 312 may result in underutilization of the overall platform 104-1, because according to block 308, the connection between a given client terminal 116 and platform 104-1 is active, but at block 312, the signal is not transmitted through that connection. Therefore, processing and memory resources on platform 104-1 may be wasted.
[0053] Block 324 includes determining whether the game started at block 304 has been completed. In the Texas Hold'em example, a "no" determination is not made until the "flop," "turn," and "river" phases are completed, which causes the method to return to block 312, where additional prediction signals are received, and the method continues as previously described, recording at block 320 which accounts made predictions at block 312.
[0054] When a particular game is completed, a "yes" determination is made at block 324. Taking Texas Hold'em as an example, this might be referred to as completing a "round," a "hand," or a "deal."
[0055] Block 328 includes allocating a predefined portion of the collective account to the game currency account associated with the identifier object that made the most accurate prediction at block 312. For example, assuming user 124-1 at terminal 116-1 made the most accurate prediction by “winning” the Texas Hold'em game, a portion of the game currency accumulated in collective account 136-1 (“profit”) would be transferred to game currency account 132-1. As will be discussed further below, the predefined portion may vary depending on load balancing aspects of system 100.
[0056] Block 332 includes determining which accounts involved at block 308 made predictions exceeding a predefined threshold, as counted at block 320. The predefined threshold may be based on the number of counts at block 320. As will be discussed further below, the predefined threshold may vary depending on load balancing aspects of system 100.
[0057] Block 336 includes determining a loyalty portion for inaccurate predictors who exceeded the threshold at block 332. Specifically, the remainder of collective account 136-1 is transferred to loyalty account 144, and then a portion of loyalty account 144 is nominally allocated to identifier object 128 associated with user 124 who made inaccurate predictions and exceeded the threshold of block 332. Block 340 includes transferring the allocation from block 336 to game currency account 132 corresponding to those users 124 who made inaccurate predictions.
[0058] It can be seen at this point that in method 300, the allocation to loyalty account 144 is higher for those participants who came from block 308 and generated a certain amount of prediction signal at block 312, regardless of the accuracy of these predictions.
[0059] Block 344 includes allocating any remaining portion of the collective account to platform game currency account. In the specific example above, this means that the portion of collective account 136-1 not placed in loyalty account 144-1 will be transferred to platform game currency account 140-1. It should be understood that while several variations of method 300 are considered, it is particularly noteworthy that block 344 can be completely omitted, since all game currency in account 136-1 can be allocated at block 328 or block 340.
[0060] Figure 5 shows a flowchart depicting a method for resource load balancing (generally indicated by 500). Method 500 can be implemented on system 100. Those skilled in the art may choose to implement method 500 on system 100 or variations thereof, or omit certain blocks, execute in parallel, or execute in a different order than shown. Thus, method 500 can also be varied. However, for ease of explanation, the method will be described in conjunction with the execution of method 500 on system 100, with particular focus on considering method 300 as, for example, application 224-1 maintained within load balancing engine 120 and its interactions with other nodes in system 100.
[0061] When considering method 500 in relation to system 100, load balancing engine 120 performs monitoring functions on the remaining nodes in system 100 to adjust various thresholds and token allocations to maximize the utilization of the central processing unit (CPU) or processor, memory consumption, and other performance metrics of the hardware used to implement platform 104. Engine 120 has access to monitoring tools in each platform that can report to engine 120 the amount of computing resources being consumed by a given platform.
[0062] Therefore, block 504 includes determining a target utilization rate for platform resources. Block 504 is executed at engine 120 and sets the desired target utilization rate for platform 104. For example, engine 120 can set a target CPU utilization range of approximately 20% to approximately 80% for each platform 104. Engine 120 can set a target CPU utilization range of approximately 30% to approximately 70% for each platform 104. Engine 120 can set a target CPU utilization range of approximately 40% to approximately 60% for each platform 104. Engine 120 can set a target CPU utilization range of approximately 45% to approximately 55% for each platform 104. Engine 120 can set a target CPU utilization range of approximately 50% for each platform 104.
[0063] Engine 120 can set a target memory utilization range of approximately 25% to approximately 75% for each platform 104. Engine 120 can set a target memory utilization range of approximately 35% to approximately 75% for each platform 104. Engine 120 can set a target memory utilization range of approximately 40% to approximately 60% for each platform 104. Engine 120 can set a target memory utilization range of approximately 45% to approximately 55% for each platform 104. Engine 120 can set a target bandwidth utilization range of approximately 50% for each platform 104.
[0064] Engine 120 can set a target range for bandwidth consumption on network 108, namely, a bandwidth utilization rate between approximately 25% and approximately 75% for each platform 104. Engine 120 can set a target range for bandwidth utilization between approximately 35% and approximately 75% for each platform 104. Engine 120 can set a target range for bandwidth utilization between approximately 40% and approximately 60% for each platform 104. Engine 120 can set a target range for bandwidth utilization between approximately 45% and approximately 55% for each platform 104. Engine 120 can set a target range for bandwidth utilization between approximately 50% for each platform 104.
[0065] Block 508 includes executing a game instance. Method 400 is an example of a game instance that can be used to implement block 508, and the execution of method 400 is monitored by engine 120. However, as mentioned above, method 400 is one implementation, and other game instances with variations on method 400 can also be implemented at block 508.To reiterate, online poker is just one implementation method, and other online games are also considered. However, for the purpose of illustrating method 500, reference will be made to method 400 and the previously mentioned Texas Hold'em example.
[0066] Block 512 includes measuring actual resource utilization. Therefore, engine 120 will utilize resource monitoring tools maintained within each platform 104 to assess the utilization of processors, memory, and bandwidth. It should be emphasized again that other computational resource measurements are also envisioned at blocks 504 and 512. Generally, the resource utilization measured at block 512 will be based on a metric from block 504 that establishes a target resource utilization.
[0067] Block 516 includes determining whether the actual utilization of resources measured at block 512 is lower than the minimum target utilization defined at block 504. For example, if CPU utilization is lower than a certain target threshold level (e.g., those ranges and / or values indicated above), a "yes" determination is made, and block 520 is invoked.
[0068] Block 520 includes aspects of adjusting the threshold associated with the game instance invoked at block 508. Continuing with method 400 and platform 104-1 as examples, block 520 may include increasing the loyalty portion determined at block 336 and / or increasing the platform account portion at block 344 and / or decreasing the threshold prediction number at block 332. Thus, during the execution of blocks 328, 332, 336, and 340, additional loyalty signals can be returned to terminal 116-1, thereby improving the overall computational resource and bandwidth utilization of platform 104-1. Furthermore, if one of the users 124 exhibits a high level of repeating accurate prediction ability, block 520 helps mitigate the impact of the remaining users 124 becoming aware of this pattern and thus refusing to participate in providing their own prediction signals. In other words, if a given player exhibits a superior skill level compared to other players, system 100 will adjust its behavior by increasing loyalty rewards to other players, thereby maintaining a higher average level for all game currency accounts 132 and encouraging all users 124 to participate more equally on game platform 104, thereby providing an opportunity for game platform 104 to operate within the expected computational resource utilization level defined at block 508.
[0069] When implemented in an online poker algorithm, block 520 can track the percentage of hands a particular player voluntarily contributes to the pot pre-flop based on what is commonly known as “Voluntary Contribution to the Pot” (“VPIP”) (i.e., generating a predictive signal at block 312). VPIP increases when a player could fold but chooses to contribute money to the pot pre-flop. This includes limping (calling only the big blind), calling, and raising.
[0070] VPIP, or “Voluntary Put Into the Pot”, is a poker statistic used to measure the overall aggressiveness of players, typically in the context of online poker.VPIP, expressed as a percentage, represents the frequency with which a player contributes money to the pot pre-flop, whether calling, raising, or completing the blinds.
[0071] The VPIP percentage is calculated by dividing the number of times a player voluntarily contributes to the pot by the total number of hands played. A higher VPIP percentage indicates a looser, more aggressive playing style; while a lower VPIP percentage indicates a more conservative, more passive playing style.
[0072] For example, a player with a VPIP of 10% will only contribute to the pot in 10% of the hands they play, indicating a very conservative and selective playing style. On the other hand, a player with a VPIP of 40% will contribute to the pot in 40% of the hands they play, indicating a more loose-aggressive style.
[0073] VPIP is often used in conjunction with other poker statistics such as PFR (Pre-flop Raise Percentage) and AF (Aggression Factor) to help players analyze their opponents' playing styles and make better decisions at the table.
[0074] These aspects of online poker can be adjusted at block 520 to guide system 100 toward a target resource utilization rate.
[0075] Returning to block 516, on the other hand, if the actual utilization rate from block 512 is greater than the minimum target utilization rate, a "No" determination is made at block 516, and method 500 continues to block 524. Block 524 includes determining whether the actual utilization rate from block 512 exceeds the maximum target utilization rate defined at block 504.
[0076] A "Yes" determination at block 524 results in the execution of block 528, which implements the opposite adjustment settings of block 520, thereby "cooling down" over-predictions that may excessively consume the computing resources of platform 104. Block 528 is the inverse operation of block 520. In other words, the amount of the loyalty portion can be reduced, and / or the amount of the platform account can be increased, and / or the threshold for the predicted quantity at block 332 can be increased, thereby “cooling down” the number of predicted signals sent at block 312 and thus reducing the overall computing resource utilization of platform 104.
[0077] The “No” determination at block 524 leads to the execution of block 532, which means that the actual resource utilization at block 512 is within the target range at block 504. Block 532 can also be reached from blocks 520 and 528. Therefore, block 532 includes determining whether the target resource utilization should be adjusted itself. A “Yes” determination leads to a return to block 504; while a “No” determination leads to a return to block 508, and then the process is repeated.
[0078] For example, if method 500 consistently fails to meet the lower target utilization threshold regardless of any adjustments made at block 520, then block 532 may arrive at a “Yes” determination. In this case, engine 120 may also merge different game platforms 104 into a single game platform 104.Conversely, if the target utilization threshold is consistently exceeded, but the adjustment at block 528 is insufficient to "cool down" the signal between terminal 116 and the associated platform 104. In this case, engine 120 can automatically create (spawn) additional instances of platform 104. In this context, when platform 104 is implemented as a virtual machine, the number and processing resources of these virtual machines can be dynamically increased and decreased in conjunction with method 500 to achieve overall load balancing of system 100.
[0079] Referring now to FIG6, an electronic game table according to another embodiment is generally indicated as 100a. Table 100a implements system 100 as a video poker machine or electronic poker table. Table 100a contains elements similar to those of system 100, except that they are followed by the suffix "a". Thus, table 100a includes a plurality of player terminals 116a, which are similar to terminal 116. Table 100a also includes a game engine 104a, which performs the dealer functions of table 100a, such as platform 104; and a load balancing engine 120a, which controls engine 104a to improve the utilization of game engine 104a by increasing the incentive of prediction signals from different player terminals 116a. Specification 8 / 9 pages 11 CN 121464612 A
[0080] In view of the above, it is now obvious that various variations, combinations and subsets of the above embodiments will be taken into consideration.
[0081] For example, in a variation, platform 104 may be a virtual machine hosted by a cloud service platform such as Amazon Web Services (“AWS”) or Google Cloud or Microsoft Azure, which can be dynamically scaled up and down by load balancing engine 120, wherein load balancing engine 120 is configured to achieve a desired level of computing resource utilization, dynamically increasing or decreasing the virtual machine capacity of each platform 104 as load balancing engine 120 influences the number of participating terminals 116 and the number of associated predictions using the teachings herein.
[0082] Those skilled in the art will now understand that the teachings herein can improve the technical efficiency of system 100 and the utilization of computing and communication resources. Platform 104 that cannot enjoy the benefits of load balancing engine 120 may remain underutilized for a long time, especially when a particular user 124 has a pattern of making accurate predictions more frequently than other users.
[0083] It should be recognized that the features and aspects of the various examples provided above can be combined into more examples, which are also within the scope of this disclosure. Furthermore, the drawings are not drawn to scale, and their sizes and shapes may be exaggerated for ease of illustration.Instruction manual, page 9 / 9, 12 CN 121464612 A, Figure 1; Instruction manual, Figure 1 / 6, page 13 CN 121464612 A, Figure 2; Instruction manual, Figure 2 / 6, page 14 CN 121464612 A, Figure 3; Instruction manual, Figure 3 / 6, page 15 CN 121464612 A, Figure 4; Instruction manual, Figure 4 / 6, page 16 CN 121464612 A, Figure 5; Instruction manual, Figure 5 / 6, page 17 CN 121464612 A, Figure 6; Instruction manual, Figure 6 / 6, page 18 CN 121464612 A.
Claims
1. An interactive platform, the interactive platform comprising a processor and a memory, the processor being configured to: Define a target resource utilization range for one or more of the platform's processor utilization, memory utilization, and / or bandwidth utilization; Launch an interactive application on the platform; Identify multiple participating accounts associated with electronic devices connected to the platform via a network; Receive a prediction signal of the application's outcome from at least a portion of the participating accounts; The stage in which the application is executed; Identify which participating accounts generated the predictive signals; The first portion of the collective account is allocated to a value storage unit associated with one of the participating accounts, which is associated with accurate prediction; Based on the number of predicted signals received from other participating accounts, the second portion of the collective account is allocated into one or more value storage units associated with the other participating accounts; Specifically, the second part is adjusted so that the total number of signals remains within the target resource utilization range during subsequent phases.
2. A system comprising multiple platforms hosting the interactive application of claim 1; the target utilization range comprising one or more of processor utilization, memory utilization, and bandwidth utilization for each platform; the target utilization range comprising a substantial balance of processor utilization, memory utilization, and bandwidth utilization across the platforms.
3. The interactive platform according to claim 1, wherein, The target range is a processor utilization rate between approximately 20% and approximately 80%.
4. The interactive platform according to claim 1, wherein, The target range is a processor utilization rate between approximately 30% and approximately 70%.
5. The interactive platform according to claim 1, wherein, The target range is a processor utilization rate between approximately 40% and approximately 60%.
6. The interactive platform according to claim 1, wherein, The target range is a processor utilization rate between approximately 45% and approximately 55%.
7. The interactive platform according to claim 1, wherein, The target range is approximately 50% processor utilization.
8. The interactive platform according to claim 1, wherein, The target range is a memory utilization rate between approximately 25% and approximately 75%.
9. The interactive platform according to claim 1, wherein, The target range is a memory utilization rate between approximately 35% and approximately 75%.
10. The interactive platform according to claim 1, wherein, The target range is a memory utilization rate between approximately 40% and approximately 60%.
11. The interactive platform according to claim 1, wherein, The target range is a memory utilization rate between approximately 45% and approximately 55%.
12. The interactive platform according to claim 1, wherein, The target range is defined as the network connection bandwidth utilization of the platform being between approximately 25% and approximately 75%.
13. The interactive platform according to claim 1, wherein, The target range is defined as the network connection bandwidth utilization of the platform being between approximately 35% and approximately 75%.
14. The interactive platform according to claim 1, wherein, The target range is defined as the network connection bandwidth utilization of the platform being between approximately 40% and approximately 60%.
15. The interactive platform according to claim 1, wherein, The target range is defined as the network connection bandwidth utilization of the platform being between approximately 45% and approximately 55%.
16. The interactive platform according to claim 1, wherein, The target range is defined as the network connection bandwidth utilization of the platform being between approximately 50%.