Control of peer tournament system client operation using client segmentation
The client segmentation system addresses the challenge of managing diverse client configurations in video game tournaments by dynamically grouping clients into segments with associated configuration parameters, improving tournament efficiency and reducing network latency.
Patent Information
- Application Number
- JP2025091769
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2019-02-07
- Filing Date
- 2025-06-02
- Publication Date
- 2025-08-07
AI Technical Summary
Existing video game tournament systems struggle to dynamically manage and update client and server configuration parameters for diverse client configurations, leading to inefficiencies and network latency issues in peer-to-peer tournaments.
A segmentation system that groups clients into segments based on attributes and associates configuration parameters, allowing dynamic and flexible control of client and tournament operations, including periodic recalculation of segments and automatic updates.
This approach reduces the load on technical infrastructure, minimizes network latency, and enhances the overall performance of peer-to-peer video game tournaments by enabling dynamic and flexible control of client behavior.
Smart Images

Figure 2025116167000001_ABST
Abstract
Description
[Technical Field]
[0001] (CROSS-REFERENCE TO RELATED APPLICATIONS) This application is an international patent application claiming the benefit of priority under 35 U.S.C. Section 119(e) of U.S. Patent Application No. 16 / 269,758, filed February 7, 2019, the entire disclosure of which is incorporated herein by reference.
[0002] The subject matter described herein relates to controlling client behavior based on segmentation of a set of clients. [Background technology]
[0003] In video games and video game tournaments involving multiple players, players can operate the same client to play video games, such as video game consoles, Stream and the like, and the games can be played over a network, such as a local area network or the Internet.
[0004] The recent expansion of video game tournaments played over the Internet, i.e., online video game tournaments, reflects the overall expansion of computer networks from small local networks to the Internet and the growth of Internet access itself. With the growth of the Internet has come an expansion of networked devices or clients, such as mobile devices, capable of running video games. As a result, some devices or clients may require different configurations. Summary of the Invention [Means for solving the problem]
[0005] In one aspect, data defining a first segment of clients forming part of a peer tournament system and a first configuration parameter associated with the first segment can be received. The first configuration parameter can define operation of a first peer tournament interface. The first peer tournament interface can be integrated into a third-party gaming application. The first peer tournament interface can provide peer-to-peer tournaments for the third-party gaming application. A first segment can be determined that includes a first subset of the set of clients forming part of the peer tournament system. A request for initiation of peer tournament operation can be received from the first peer tournament interface. The first peer tournament interface can be integrated into the third-party gaming application. The third-party gaming application can be running on the first client. The first segment can be determined to include the first client. The first configuration parameter can be transmitted in response to receiving a request for initiation of peer tournament operation from the first peer tournament interface. The first configuration parameter can cause the first client to modify operation of the first peer tournament interface in response to receiving the transmitted configuration parameter.
[0006] One or more of the following features may be included in any feasible combination: For example, the first segment may be determined by querying a database; the database may store data characterizing a set of clients forming part of the peer tournament system; the stored data may define a first segment of the set of clients; the stored data may include a structured query language expression that may define characteristics of the clients in the first segment.
[0007] Data characterizing a second segment of the set of clients forming part of the peer tournament system and a second configuration parameter associated with the second segment can be received. A second segment can be determined that includes a second subset of the set of clients forming part of the peer tournament system. The first segment can be determined to include the first client, and the second segment can be determined to also include the first client. The first segment can include an associated priority that is determined to be higher than the associated priority of the second segment. The first configuration parameter can be transmitted to the first client in response to determining that the first segment includes an associated priority that is higher than the associated priority of the second segment.
[0008] Data characterizing a plurality of segments of a set of clients forming part of a peer tournament system and a plurality of configuration parameters may be received. Each of the plurality of configuration parameters may be associated with at least one of the plurality of segments of the set of clients forming part of the peer tournament system. The plurality of segments may include a first segment, and the plurality of configuration parameters may include the first configuration parameter. The received data characterizing the plurality of segments may be used to determine, for each of the plurality of segments, a subset associated with the respective segment of the plurality of segments. The determined subset may include a subset of the set of clients forming part of the peer tournament system. The first client may be determined to be included in at least two of the plurality of segments. The first segment may include an associated priority determined to be higher than the associated priority of each other segment of at least two of the plurality of segments. The first configuration parameter may be transmitted to the second client in response to determining that the first segment includes an associated priority higher than the associated priority of each other segment of at least two of the plurality of segments.
[0009] A request for peer tournament operation can be received from a second peer tournament interface. The second peer tournament interface can be integrated into a second third-party gaming application. The second third-party gaming application can be executed on a second client. The first segment can be determined to include the second client. First configuration parameters can be transmitted to the second client in response to receiving the request for peer tournament operation from the second peer tournament interface. The first configuration parameters can cause the second client to modify operation of the second peer tournament interface in response to receiving the transmitted first configuration parameters.
[0010] A peer tournament action for use in performing the tournament action can be determined based on a first configuration parameter associated with the first segment. The determined peer tournament action can be transmitted to a first peer tournament interface.
[0011] The first configuration parameters can include chat enabled or disabled, customized matches enabled or disabled, plays enabled or disabled, user interface elements to display, tournaments to make available, geographic locations to make available, a reconnection tolerance, and a network latency threshold.
[0012] The peer tournament system may include a segmentation manager engine, a persistent delivery pipeline, a configuration parameter manager engine, and a set of clients. The segmentation manager engine may be configured to prompt a user for inputs defining a first segment of the set of clients. The segmentation manager engine may perform the step of receiving data defining the first segment of the set of clients. The segmentation manager engine may be configured to provide the received data defining the first segment of the set of clients to the persistent delivery pipeline.
[0013] The persistent delivery pipeline can be configured to implement the determination of the first segment. The determination of the first segment can include querying a database that stores data characterizing a set of clients that form part of the peer tournament system. The stored data can define a first segment of the set of clients and can include a structured query language expression that can define characteristics of clients within the first segment. The persistent delivery pipeline can be configured to provide the determined first segment to a configuration parameter manager engine.
[0014] The configuration parameter manager engine can be configured to perform the step of receiving a request to initiate peer tournament operations from a first peer tournament interface. The configuration parameter manager engine can be configured to perform the step of determining that the first segment includes the first client. The configuration parameter manager engine can be configured to perform the transmission of a first configuration parameter to the first client.
[0015] The first segment can be determined periodically. The first segment can be determined in a current iteration and a previous iteration. After a previous iteration of the step of determining a first segment, a client in the first segment that is determined not to be in the first segment after a current iteration of the step of determining a first segment can be removed. After a current iteration of the step of determining a first segment, a client that is determined not to be in the first segment after a previous iteration of the step of determining a segment can be added.
[0016] The first peer tournament interface can receive the transmitted first configuration parameter. The first peer tournament interface can modify operation of the first peer tournament interface in response to receiving the transmitted first configuration parameter.
[0017] The first peer tournament interface can provide a peer-to-peer tournament utilizing a third-party gaming application and according to first configuration parameters.
[0018] In another aspect, the system can include a segmentation server and a tournament server. The segmentation server can be configured to receive data defining a first segment of a set of clients forming part of the peer tournament system and first configuration parameters associated with the first segment. The first peer tournament interface can be integrated into a third-party gaming application. The first peer tournament interface can provide peer-to-peer tournaments for the third-party gaming application. The segmentation server can be configured to determine the first segment including a subset of the set of clients forming part of the peer tournament system.
[0019] The tournament server can be configured to receive a request to initiate peer tournament operation from a first peer tournament interface. The first peer tournament interface can be integrated into a third-party gaming application. The third-party gaming application can be executed on a first client. The first segment can be determined to include the first client. The tournament server can be configured to transmit first configuration parameters in response to receiving the request to initiate peer tournament operation from the first peer tournament interface. The first configuration parameters can cause the first client to modify operation of the first peer tournament interface in response to receiving the transmitted configuration parameters.
[0020] The segmentation server can be configured to query a database to determine the first segment. The database can store data characterizing a set of clients forming part of the peer tournament system. The stored data can define a first segment of the set of clients. The stored data can include a structured query language expression that can define characteristics of the clients in the first segment.
[0021] The segmentation server can be configured to receive data characterizing a second segment of the set of clients forming part of the peer tournament system and a second configuration parameter associated with the second segment. The segmentation server can be configured to determine the second segment including a second subset of the set of clients forming part of the peer tournament system. The first segment can be determined to include the first client, and the second segment can also be determined to include the first client. The first segment can include an associated priority that is determined to be higher than the associated priority of the second segment. The segmentation server can be configured to transmit the first configuration parameter to the first client in response to determining that the first segment includes an associated priority that is higher than the associated priority of the second segment.
[0022] The segmentation server can be configured to receive data characterizing a plurality of segments of a set of clients forming part of the peer tournament system and a plurality of configuration parameters. Each of the plurality of configuration parameters can be associated with at least one of the plurality of segments of the set of clients forming part of the peer tournament system. The plurality of segments can include a first segment, and the plurality of configuration parameters can include the first configuration parameter. The segmentation server can be configured to use the received data characterizing the plurality of segments to determine, for each of the plurality of segments, a subset associated with the respective segment of the plurality of segments. The determined subset can include a subset of the set of clients forming part of the peer tournament system. The first client can be determined to be included in at least two of the plurality of segments. The first segment can include an associated priority determined to be higher than the associated priority of each other segment of at least two of the plurality of segments. The segmentation server can be configured to transmit the first configuration parameter to the first client in response to determining that the first segment includes an associated priority higher than the associated priority of each other segment of at least two of the plurality of segments.
[0023] The tournament server can be configured to receive a request for peer tournament operation from a second peer tournament interface. The second peer tournament interface can be integrated with a second third-party gaming application. The second third-party gaming application can be executed on a second client. The tournament server can be configured to determine that the first segment includes the second client. The tournament server can be configured to transmit first configuration parameters to the second client in response to receiving the request for peer tournament operation from the second peer tournament interface. The first configuration parameters can cause the second client to modify operation of the second peer tournament interface in response to receiving the transmitted first configuration parameters.
[0024] The tournament server can be configured to determine a peer tournament action for use in performing the tournament action based on a first configuration parameter associated with the first segment. The tournament server can be configured to transmit the determined peer tournament action to the first peer tournament interface.
[0025] Non-transitory computer program products (i.e., physically embodied computer program products) that store instructions that, when executed by one or more data processors of one or more computing systems, cause at least one data processor to perform the operations described herein are also described. Similarly, computer systems that may include one or more data processors and memory coupled to the one or more data processors are also described. The memory may store, either temporarily or permanently, instructions that cause at least one processor to perform one or more of the operations described herein. In addition, methods can be implemented by one or more data processors, either within a single computing system or distributed among two or more computing systems. Such computing systems can be connected and can exchange data and / or commands or other instructions or the like via one or more connections, including via a network (e.g., the Internet, a wireless wide area network, a local area network, a wide area network, a wired network, or the like), a connection via a direct connection between one or more of the computing systems, etc.
[0026] The details of one or more variations of the subject matter described herein are set forth in the accompanying drawings and the description below. Other features and advantages of the subject matter described herein will be apparent from the description, drawings, and claims. The present specification also provides, for example, the following items: (Item 1) 1. A method comprising: receiving data defining a first segment of a set of clients forming part of a peer tournament system and first configuration parameters associated with said first segment, said first configuration parameters defining operation of a first peer tournament interface integrated into a third party gaming application, said first peer tournament interface providing peer-to-peer tournaments for said third party gaming application; using the received data to determine the first segment comprising a first subset of the set of clients forming part of the peer tournament system; receiving a request to initiate peer tournament operations from the first peer tournament interface integrated into the third-party gaming application executing on a first client; determining that the first segment includes the first client; transmitting a first configuration parameter to the first client in response to receiving the request, the first configuration parameter modifying operation of the first peer tournament interface; and A method comprising: (Item 2) Item 1. The method of item 1, wherein determining the first segment includes querying a database that stores data characterizing the set of clients forming part of the peer tournament system, the stored data defining a first segment of the set of clients and including a structured query language expression that defines characteristics of clients within the first segment. (Item 3) receiving data characterizing a second segment of the set of clients forming part of the peer tournament system and second configuration parameters associated with the second segment; using the received data to determine the second segment comprising a second subset of the set of clients forming part of the peer tournament system; determining that the first segment includes the first client and that the second segment includes the first client; determining that the first segment includes an associated priority that is higher than an associated priority of the second segment, and wherein transmitting the first configuration parameters to the first client is responsive to determining that the first segment includes an associated priority that is higher than an associated priority of the second segment; Item 1, the method of claim 1 further comprising: (Item 4) receiving data characterizing a plurality of segments of the set of clients forming part of the peer tournament system and a plurality of configuration parameters, each of the plurality of configuration parameters being associated with at least one of the plurality of segments of the set of clients forming part of the peer tournament system, the plurality of segments including the first segment and the plurality of configuration parameters including the first configuration parameter; using the received data characterizing the plurality of segments, and for each of the plurality of segments, determining a subset associated with a respective one of the plurality of segments, the determined subset comprising a subset of the set of clients forming part of the peer tournament system; determining that the first client is included in at least two of the plurality of segments; determining that the first segment includes an associated priority that is higher than an associated priority of at least two other segments of the plurality of segments, and wherein transmitting the first configuration parameters to the first client is responsive to determining that the first segment includes an associated priority that is higher than an associated priority of at least two other segments of the plurality of segments; Item 1, the method of claim 1 further comprising: (Item 5) receiving a request for a peer tournament operation from a second peer tournament interface integrated into a second third-party gaming application executing on a second client; determining that the first segment includes the second client; transmitting a first configuration parameter to the second client in response to receiving a request for the peer tournament operation from the second peer tournament interface, the first configuration parameter being transmitted to the second client, the first configuration parameter modifying operation of the second peer tournament interface; Item 1, the method of claim 1 further comprising: (Item 6) determining peer tournament actions for use in performing tournament actions based on the first configuration parameter associated with the first segment; transmitting the determined peer tournament behavior to the first peer tournament interface; Item 1, the method of claim 1 further comprising: (Item 7) Item 10. The method of claim 1, wherein the first configuration parameters include chat enabled or disabled, customized matches enabled or disabled, plays enabled or disabled, user interface elements to display, tournaments to make available, geographic locations to make available, reconnection tolerance, and network latency threshold. (Item 8) the peer tournament system includes a segmentation manager engine, a persistent delivery pipeline, a configuration parameter manager engine, and the set of clients; the segmentation manager engine is configured to prompt a user for inputs defining a first segment of the set of clients and to perform receiving the data defining the first segment of the set of clients, the segmentation manager engine being configured to provide the received data defining the first segment of the set of clients to the sustained delivery pipeline; the persistent delivery pipeline is configured to implement the determination of the first segment, the determination of the first segment including querying a database that stores data characterizing the set of clients forming part of the peer tournament system, the stored data defining a first segment of the set of clients and including a structured query language expression that defines characteristics of clients within the first segment; and the persistent delivery pipeline is configured to provide the determined first segment to the configuration parameter manager engine; the configuration parameter manager engine is configured to receive a request to initiate the peer tournament operation from the first peer tournament interface, determine that the first segment includes the first client, and transmit the first configuration parameters to the first client; The method according to item 1. (Item 9) determining that the first segment is determined periodically; determining the first segment after a current iteration of determining the first segment, wherein determining the first segment includes: removing clients in the first segment that are not determined to be in the first segment after a previous iteration of determining the first segment and after a current iteration of determining the first segment; adding clients that are determined to be in the first segment after a current iteration of determining the first segment and that were not in the first segment after a previous iteration of determining the first segment; Including Item 9. The method of item 8, further comprising: (Item 10) 2. The method of claim 1, further comprising modifying, by the first peer tournament interface, operation of the first peer tournament interface in response to receiving the transmitted first configuration parameter. (Item 11) Item 10. The method of item 1, further comprising providing the peer-to-peer tournament through the first peer tournament interface using the third-party gaming application and in accordance with the first configuration parameters. (Item 12) 1. A system comprising: A segmentation server, the segmentation server comprising: receiving data defining a first segment of a set of clients forming part of a peer tournament system and first configuration parameters associated with said first segment, said first configuration parameters defining operation of a first peer tournament interface integrated into a third party gaming application, said first peer tournament interface providing peer-to-peer tournaments for said third party gaming application; using the received data to determine the first segment comprising a subset of the set of clients forming part of the peer tournament system; a segmentation server configured to perform operations including: A tournament server, the tournament server comprising: receiving a request to initiate peer tournament operations from the first peer tournament interface integrated into the third-party gaming application executing on a first client; determining that the first segment includes the first client; transmitting a first configuration parameter to the first client in response to receiving the request, the first configuration parameter modifying operation of the first peer tournament interface; and a tournament server configured to perform operations including: A system comprising: (Item 13) Item 13. The system of item 12, wherein determining the first segment includes querying a database that stores data characterizing the set of clients that form part of the peer tournament system, the stored data defining a first segment of the set of clients and including a structured query language expression that defines characteristics of clients within the first segment. (Item 14) The segmentation server receiving data characterizing a second segment of the set of clients forming part of the peer tournament system and second configuration parameters associated with the second segment; using the received data to determine the second segment comprising a second subset of the set of clients forming part of the peer tournament system; determining that the first segment includes the first client and that the second segment includes the first client; determining that the first segment includes an associated priority that is higher than the associated priority of the second segment, and wherein transmitting the first configuration parameters to the first client is responsive to determining that the first segment includes the associated priority that is higher than the associated priority of the second segment; Item 13. The system of item 12, configured to perform operations further including: (Item 15) The segmentation server receiving data characterizing a plurality of segments of the set of clients forming part of the peer tournament system and a plurality of configuration parameters, each of the plurality of configuration parameters being associated with at least one of the plurality of segments of the set of clients forming part of the peer tournament system, the plurality of segments including the first segment and the plurality of configuration parameters including the first configuration parameter; using the received data characterizing the plurality of segments, and for each of the plurality of segments, determining a subset associated with a respective one of the plurality of segments, the determined subset comprising a subset of the set of clients forming part of the peer tournament system; determining that the first client is included in at least two of the plurality of segments; determining that the first segment includes an associated priority that is higher than an associated priority of at least two other segments of the plurality of segments, and wherein transmitting the first configuration parameters to the first client is responsive to determining that the first segment includes an associated priority that is higher than an associated priority of at least two other segments of the plurality of segments; Item 13. The system of item 12, configured to perform operations further including: (Item 16) The tournament server: receiving a request for a peer tournament operation from a second peer tournament interface integrated into a second third-party gaming application executing on a second client; determining that the first segment includes the second client; transmitting a first configuration parameter to the second client in response to receiving a request for the peer tournament operation from the second peer tournament interface, the first configuration parameter being transmitted to the second client, the first configuration parameter modifying operation of the second peer tournament interface; Item 13. The system of item 12, configured to perform operations further including: (Item 17) The tournament server: determining peer tournament actions for use in performing tournament actions based on the first configuration parameter associated with the first segment; transmitting the determined peer tournament behavior to the first peer tournament interface; Item 13. The system of item 12, configured to perform operations further including: (Item 18) Item 13. The system of item 12, wherein the first configuration parameters include chat enabled or disabled, customized matches enabled or disabled, plays enabled or disabled, user interface elements to display, tournaments to make available, geographic locations to make available, reconnection tolerance, and network latency threshold. (Item 19) the peer tournament system includes a segmentation manager engine, a persistent delivery pipeline, a configuration parameter manager engine, and the set of clients; the segmentation manager engine is configured to prompt a user for inputs defining a first segment of the set of clients and to perform receiving the data defining the first segment of the set of clients, the segmentation manager engine being configured to provide the received data defining the first segment of the set of clients to the sustained delivery pipeline; the persistent delivery pipeline is configured to implement the determination of the first segment, the determination of the first segment including querying a database that stores data characterizing the set of clients forming part of the peer tournament system, the stored data defining a first segment of the set of clients and including a structured query language expression that defines characteristics of clients within the first segment; and the persistent delivery pipeline is configured to provide the determined first segment to the configuration parameter manager engine; the configuration parameter manager engine is configured to receive a request to initiate the peer tournament operation from the first peer tournament interface, determine that the first segment includes the first client, and transmit the first configuration parameters to the first client; Item 13. The system according to item 12. (Item 20) 1. A computer program product, the computer program product including a non-transitory machine-readable medium storing instructions that, when executed by at least one programmable processor, cause the at least one programmable processor to: receiving data defining a first segment of a set of clients forming part of a peer tournament system and first configuration parameters associated with said first segment, said first configuration parameters defining operation of a first peer tournament interface integrated into a third party gaming application, said first peer tournament interface providing peer-to-peer tournaments for said third party gaming application; using the received data to determine the first segment comprising a subset of the set of clients forming part of the peer tournament system; receiving a request to initiate peer tournament operations from the first peer tournament interface integrated into the third-party gaming application executing on a first client; determining that the first segment includes the first client; transmitting a first configuration parameter to the first client in response to receiving the request, the first configuration parameter modifying operation of the first peer tournament interface; and 2. A computer program product for causing a computer to perform operations including: [Brief explanation of the drawings]
[0027] [Figure 1] FIG. 1 is a system block diagram illustrating an example system that facilitates segmenting a set of clients that form part of a peer tournament system.
[0028] [Figure 2] FIG. 2 is a process flow diagram illustrating one example process for utilizing segmentation to control tournament server and / or client operation.
[0029] [Figure 3] FIG. 3 is a data flow diagram illustrating one exemplary data communication flow when segmenting a set of clients that form part of a peer tournament system.
[0030] [Figure 4] FIG. 4 is a data flow diagram illustrating one exemplary data communication flow when determining configuration parameters for a peer tournament interface.
[0031] [Figure 5] FIG. 5 illustrates one example user interface that may allow a user to create a segment.
[0032] [Figure 6] FIG. 6 is an example of client segmentation.
[0033] [Figure 7] FIG. 7 is a diagram of an exemplary ranking of segments based on priority. DETAILED DESCRIPTION OF THE INVENTION
[0034] Like reference symbols in the various drawings indicate like elements.
[0035] A video game tournament can include a competition involving multiple players playing a video game. Some video game tournaments can involve multiplayer video games hosted by a single entity, such as a game developer, and can be played over a network, such as a local area network or the Internet. Some tournaments can utilize peer-to-peer video game tournament platforms, which can enable electronic sports tournaments across a wide range of games, including games that may not have built-in tournament functionality, e.g., single-player mobile games. In such peer-to-peer tournament platforms, to provide tournament functionality, a peer-to-peer server can operate with (e.g., communicate with, collaborate with, and the like) many different clients running local game instances. These different clients can include different operating systems (e.g., ANDROID®, IOS®, versions thereof, and the like), hardware components, network connection quality, security restrictions, software versions, and the like, such that the clients may need to be configured differently to compete within the same tournament. Similarly, a peer tournament server may need to be configured to operate differently with different clients. For example, some clients may be configured with different network latency threshold requirements that, if not met by their respective networks, will result in disabling tournament functionality.
[0036] However, these client and / or server configuration parameters (also referred to as system settings) may need to be dynamic and may be updated periodically. Because a peer tournament platform may simultaneously enable many different tournaments for many different clients, it may not be feasible for a system manager to individually update settings for each client. Thus, aspects of the subject matter described herein can facilitate segmentation of clients within a peer-to-peer video game tournament system, and modification and / or dynamic updating of client and server configuration parameters (e.g., system settings), which may enable dynamic and flexible control of client and tournament operation. The present subject matter can reduce the load on the technical infrastructure of a peer-to-peer video game tournament system, reduce network latency experienced by players, and provide a better overall peer-to-peer video game tournament system.
[0037] In some implementations, the present subject matter can group the entire set of clients of a tournament platform into segments. For example, a user can define segments of clients based on client and / or player attributes such as geographic location, video games played, number of tournaments participated in, and the like, and the user can link the segments to one or more configuration parameters. This can allow a user to define configuration parameters (which may control the behavior of associated clients) by defining a segment without having to specifically control or change the configuration parameters of each individual client. Such an approach can allow a user to determine a segment of players with respect to a specific tournament and allow players within the segment to compete in tournaments specific to that individual segment. In some implementations, the present subject matter can include automatic recalculation of segments at predetermined time intervals, allowing player segments to be determined without querying an entire data warehouse.
[0038] 1 is a system block diagram 100 illustrating an example system that facilitates segmenting a set of clients that form part of a peer tournament system. The example system can facilitate modification and / or dynamic updating of client and server configuration parameters (e.g., system settings), which may enable dynamic and flexible control of client and tournament operation.
[0039] The segmentation system 100 can include a segmentation server 125, a continuous delivery pipeline 140, and a tournament server 165. The segmentation server 125 can include a segmentation manager engine, i.e., a segmentation engine 130, and a data warehouse interface 150, which can connect clients 182 of a set of clients to a segment 195. iThe tournament server 165 may include a configuration parameter manager engine, i.e., configuration parameter manager 160, which may enable dynamic and flexible control of the set of clients 195 (e.g., during runtime). Attributes 158 may be collected from the set of clients 195 and stored in the data warehouse 155. The segmentation engine 130 may receive segment rules (e.g., definitions) from the user 110 through the graphical user interface (GUI) 120. The segment definition may specify the attributes 158 to be associated with the segment. The segmentation engine 130 may provide the segment definition to the persistent delivery pipeline 140. The persistent delivery pipeline 140 may schedule the data warehouse interface 150 to run a query on the data warehouse 155 based on the provided segment definition. The results of the query may be provided to the data store 170 as segments 173. The segmentation engine 130 may receive configuration parameters 176, associate the configuration parameters 176 with the segments 173, and store them in the data store 170. The configuration parameter manager 160 can receive requests for configuration parameters 176 and can transmit the requested configuration parameters 176 .
[0040] Client set 195 is client 182 i (i=1, 2, ..., n), and the client 182 i is Player 180 i It can be operated by the client 182. i Each client 182 may include a mobile device, a laptop, a video game console, and / or any networked device capable of running a video game. i third-party gaming applications such as ANGRY BIRDS® or CANDY CRUSH®i Third-party gaming applications 184 i An instance of the peer tournament interface 186 i The skill of the players may determine the outcome of the game, and multiple players 180 i can compete against each other in peer-to-peer tournaments. i Each instance of the third-party game application 184 can communicate with and receive game data from a third-party game server. The third-party game server can provide the game data necessary to run the game. In some implementations, the third-party game application 184 i Instances of can directly exchange game data.
[0041] Third-party gaming applications184 i Each instance of the peer tournament interface 186 i A peer tournament interface 186 may be included. i can be integrated into third-party gaming applications and provide the necessary functionality, including user interface components, and i can be enabled to compete in peer-to-peer tournaments. Peer Tournament Interface 186 i communicates with a tournament server 165 that includes a configuration parameter manager 160 and a peer tournament interface 186 i Peer tournament behavior (e.g., player 180 i The peer tournament interface 186 allows the user to start a tournament (a tournament available for peers to play). i communicates with the data warehouse interface 150 and the player 180 iAttributes 158 associated with the client 182 may be stored in the data warehouse 155. i The client 182 may include data that specifies the properties of the client. i Attributes 158 associated with may include duration on the peer tournament system, network latency, network connection strength, geographic location, account creation date, last game played, and the like.
[0042] A data warehouse 155 (e.g., AMAZON REDSHIFT®) may include a central repository of data collected from one or more data sources. The data warehouse 155 may be used by clients 182 i and their associated attributes 158. A data source can contain data defining a set of clients 182 i The data warehouse interface 150 can communicate data (e.g., attributes) from data sources (e.g., clients) to the data warehouse 155. The data warehouse interface 150 can execute queries on the data warehouse 155 (e.g., from the persistent delivery pipeline 140), execute queries on the data warehouse 155, receive query results (e.g., from the data warehouse 155), and receive requests to transmit query results (e.g., to the persistent delivery pipeline 140).
[0043] Peer Tournament Interface 186 i and associated clients 182 i The behavior of the client 182 can be defined by configuration parameters 176 (e.g., system settings). i and / or peer tournament interface 186 iFor example, configuration parameters 176 may include data that specifies dynamic and / or flexible control of chat, customized matches, play, user interface elements to display, tournaments to make available, geographic locations to make available, network latency thresholds, and the like.
[0044] In some implementations, the configuration parameters 176 can include enabled or disabled offline modes, game modes (e.g., cooperative game modes and / or the like) to offer, pending matches to display, completed and / or canceled matches to display, how games are scored, live event (e.g., tournament and / or the like) cut-off times when new players cannot register for an event, warnings regarding pending live event cut-off times, and the like. The configuration parameters 176 can include email verification requirements for playing and / or the like, data collection frequency, data to collect, maximum client idle time before aborting, abort warnings, and the like. Configuration parameters 176 may include the time interval between new chat messages, the frequency of messages fetched per chat update, the amount of time between message fetch attempts, the maximum number of characters in a message, the amount of time before a message becomes too old to be loaded into the chat room, the maximum number of messages a player may send within a time frame, the amount of time a player may send the maximum number of messages before being rate limited, and the like.
[0045] In some implementations, the configuration parameters 176 may include a threshold time before a client may reconnect to the chat server, a reconnection interval, a maximum time between reconnection attempts, a reconnection tolerance, an amount of time to reconnect before timing out, and the like. The configuration parameters 176 may include the number of times the "Play Again" button appears, whether the Start button starts a match instantly, the text that appears on the Start button, the length of the welcome back animation, whether the welcome back is enabled or disabled, the number of vibrations of the client, whether API request analytics are enabled or disabled, the maximum number of characters in a contact request, and the like. The configuration parameters 176 may include the number of vibrations in response to finding an opponent, push notifications when the game is backgrounded, and the like. The configuration parameters 176 may include display modals, i.e., GUI elements, and the like, associated with some and / or any of the operations discussed herein. The configuration parameters 176 can be associated with the segments 173 (e.g., as key / value pairs, hash maps, and / or the like) and can be shared with the tournament server 165 and / or clients 182. i A segment 173 can control the behavior of clients 182 characterized by a shared set of attributes 158. i Client 182 i can be segmented by any combination of attributes 158. Segments 173 and associated configuration parameters 176 can be stored in data store 170. Client 182 i One exemplary process for segmenting into segments is discussed below.
[0046] A user 110, such as a tournament system manager, can define segments 173 within the GUI 120. The GUI 120 can communicate with the segmentation engine 130, and segments 173 can be defined by specifying a unique name for the segment 173 and a raw SQL statement that specifies the attributes 158 to be associated with the segment 173. The user 110 can specify configuration parameters 176 to be associated with the segment 173. For example, the user 110 can name the segment "Boston Players" and provide a raw SQL statement that specifies the attribute "user_location" on a table named "Players," which is stored in a data warehouse (SELECT user_id, game_id FROM Players WHERE user_location = 'Boston';). A tournament can specify configuration parameters, and only clients with the specified configuration parameters can access the tournament. The defined configuration parameter segment may be associated with the segment "Boston Players," and the tournament may be associated with clients 182 within the defined segment 173. i Peer tournament interface for 186 i will be displayed within
[0047] The segmentation engine 130 can prompt the user 110 to enter a segment definition (e.g., raw SQL statements and / or equivalent) into the GUI 120 that specifies (e.g., defines) a segment for the client. The segmentation engine 130 can receive data (e.g., raw SQL statements and / or equivalent) that specifies the segment and can communicate the received data to the persistent delivery pipeline 140. The segmentation engine 130 can receive data that specifies configuration parameters that can be associated with the segment and can communicate the configuration parameters to the data store 170.
[0048] The persistent delivery pipeline 140 can receive the segment definitions and determine the segments. To determine the segments, the persistent delivery pipeline 140 can communicate with the data warehouse interface 150 and periodically transmit requests to the data warehouse interface 150 to execute queries defined by the segmentation engine 130 (e.g., raw SQL statements that define the segments 173) on the data warehouse 155. For example, the persistent delivery pipeline 140 can transmit requests hourly, daily, and / or the like to the data warehouse interface 150 to execute queries defined by raw SQL statements that define the segments 173 on the data warehouse 155. The segments 173 can include the results of the queries (e.g., the segments 173 can include the results of the queries) ... i may contain
[0049] The segments 173, along with configuration parameters 176 that may be associated with the segments, may be stored (e.g., persisted) in the data store 170, as may be determined above by the persistent delivery pipeline 140. The configuration parameter manager 160 may, for example, communicate with the client 182. i Third-party gaming applications running on 184 i Peer tournament interface integrated into 186 i The configuration parameter manager 160 may receive a request to initiate peer tournament operation from a client 182. i Player 180 that runs i (by querying the data store 170 for the segment 173 of which i Player 180 that runs iThe configuration parameter manager 160 can determine whether to include the player 180. i The configuration parameters 176 (e.g., player 180) associated with the segment 173 of which it is a component i the highest priority segment of which is a component) to the peer tournament interface 186 i , thereby transmitting the i Third-party gaming applications running on 184 i Peer tournament interface integrated into 186 i The behavior of the
[0050] Data store 170 (e.g., ELASTICSEARCH®) may include a repository for persistently (e.g., permanently, long-term, and / or the like) storing data and / or managing its collection. Segments 173 may include, for example, client 182, in addition to configuration parameters 176 associated with the segments. i The segments 173 may be stored in a data store 170 (e.g., ELASTICSEARCH®), which may allow the segments 173 to be determined without expensive query operations in terms of time complexity (e.g., sequential scanning of the data store 170 and / or the like).
[0051] 2 is a process flow diagram 200 illustrating one example implementation of a process for controlling tournament server and / or client operation utilizing segmentation of a set of clients (e.g., players) within a peer tournament system. The example process can facilitate segmentation of clients within a peer tournament system and modification and / or dynamic updating of client and server configuration parameters (e.g., system settings), which may enable dynamic and flexible control of client and tournament operation.
[0052] At 210, data characterizing a first segment of clients forming part of a peer tournament system and a first configuration parameter associated with the first segment can be received. The data can be received by the segmentation engine 130. The received data can include a characterization of the first segment of clients. The characterization of the first segment of clients can include a precise request to retrieve information from an information system. The precise request to retrieve information can include a Structured Query Language (SQL) statement representing an SQL query or any query to the information system. The SQL statement can include attributes (e.g., location, latency, and the like) that characterize the first segment of clients. The information system can include a relational database, a non-relational database, a key / value database, a data warehouse, or any system for collecting, organizing, storing, and communicating information.
[0053] The first segment of clients comprises one or more clients 182 that form part of the peer tournament system. i The first configuration parameter associated with the first segment can define operation of a first peer tournament interface that can be integrated into a third-party gaming application. The first peer tournament interface can be integrated into a third-party gaming application running on the client and can provide peer-to-peer tournaments for the third-party gaming application. Operation of the first peer tournament interface can include, for example, configuring the clients to include different network latency threshold requirements (such as requiring network latency below a certain latency value) that, if not met by their respective networks, can result in disabling tournament functionality.
[0054] At 220, a first segment can be determined using the data received at 210, where the first segment can include a subset of the set of clients forming part of the peer tournament system. Determining the first segment can include executing a refined request to retrieve information from an information system using the data received at 210. Executing the refined request to retrieve information from the information system can include executing an SQL statement representing an SQL query with respect to an information system such as data warehouse 155 (e.g., Amazon Redshift®). The subset of the set of clients forming part of the peer tournament system can include clients in a set of records returned by the SQL query executed on the information system. For example, if the executed query returns a set of records {client1, client2, client3}, the first segment determined using the received data (e.g., the SQL statement representing the executed query) is the set of records returned from executing the query (e.g., the first segment is {client1, client2, client3}).
[0055] At 230, a request to initiate peer tournament operations can be received by a configuration parameter manager (e.g., configuration parameter manager 160). A first player operating a first client can launch a first third-party gaming application executing on the first client and participate in a peer video game tournament, where the first client can be part of a set of clients forming a peer tournament system. The configuration parameter manager can receive the request to initiate peer tournament operations that facilitate participation in the peer video game tournament. The request to initiate peer tournament operations can include a request for configuration parameters that can control the operation of a first peer tournament interface (e.g., disable the display of a tournament in the peer tournament interface if the client has network latency above a network latency threshold determined by the configuration parameters).
[0056] At 240, a first segment can be determined to include a first client. The configuration parameter manager can perform a request for a set of segments in which the first client is a component and receive the set of segments in which the first client is a component. For example, the configuration parameter manager can query data store 170, which contains the user_id associated with each segment of the set of clients forming part of the peer tournament system, for segments associated with the first client's user_id and receive the set of segments associated with the first client (e.g., the set of segments to which the first client belongs is {segment1, segment2, segment3}, and the first segment is segment3). The first segment can be included in the set of segments in which the first client is a component, and therefore the first segment can be determined to include the first client.
[0057] At 250, the first configuration parameter can be transmitted to the first client in response to receiving the request to initiate peer tournament operation at 230. The first configuration parameter can cause the first client to modify operation of the first peer tournament interface. For example, operation of the first peer tournament interface can include disabling peer tournament functionality, such as peer-to-peer communication (e.g., the ability to chat with other players), in response to the first configuration parameter being transmitted to the first client.
[0058] FIG. 3 is a data flow diagram 300 illustrating the data communication flow between certain example implementations of the elements of FIG. 1 for segmenting a set of clients forming part of a peer tournament system, such as that illustrated in FIG. 2, e.g., at 210 and 220.
[0059] At 302, a user 110 defines a segment and, at 304, in the GUI 120, defines configuration parameters associated with the segment defined at 302 and passed to the segmentation engine 130. For example, the configuration parameters may define the behavior of a first peer tournament interface integrated into a third-party gaming application running on a first client that is a component of the segment. A segment may be defined as a raw SQL statement that includes a unique identifier for the segment and a priority for the segment.
[0060] At 306, the raw SQL statements defining the segment are associated with an automated job in the persistent delivery pipeline 140 that initiates execution of the SQL queries of the raw SQL statements at predetermined intervals. At 308, configuration parameters associated with the defined segment can be persisted in the data store 170. At 310, the persistent delivery pipeline 140 initiates the automated job, and at 312, the data warehouse interface 150 executes the SQL query against the data warehouse 155. At 314, results of the SQL query executed at 312 can be returned to the data warehouse interface 150. At 316, results of the SQL query executed at 312 can be returned to the persistent delivery pipeline 140. At 318, records in the result set of the SQL query executed at 312 can be persisted in the data store 170 as records associated with the segment, and the segment 173 can be determined to include a subset of the set of clients that form part of the peer tournament system.
[0061] In some implementations, the data store 170 table containing the segments can be updated instead of dropping the data store 170 table and repopulating the table with the results of the segmentation method (e.g., querying the data warehouse 160 with a user 110-defined SQL statement representing the segment). The persistent delivery pipeline 140 can initiate SQL query execution of the raw SQL statements at predetermined intervals to determine the segments (e.g., the current iteration of the execution of the SQL query to determine the segment and the previous iteration of the execution of the SQL query to determine the segment). In the current iteration of the step of determining the segment 173, the data store 170 table can already contain records for the segment 173 as determined in the previous iteration of the step of determining the segment 173. Clients 182 in the segment 173 during the previous iteration of the step of determining the segment 173 that are not in the segment 173 during the current iteration of the step of determining the segment 173 i can be removed from segment 173 (e.g., by removing their user_id from the record associated with the segment). Clients 182 that were not in segment 173 during a previous iteration of the step of determining a segment, but that are determined to be in the segment in the current iteration of the step of determining a segment, i can be added to segment 173 (e.g., by adding their client's user_id to the record associated with the segment). This can reduce the overall load on the technical infrastructure of the peer-to-peer video game tournament system.
[0062] FIG. 4 is a data flow diagram 400 illustrating the data communication flow between certain example implementations of the elements of FIG. 1 when determining configuration parameters for a peer tournament interface integrated into a third-party gaming application running on a set of clients, for example, at 230-250, that form part of a peer tournament system such as that illustrated in FIG. 2.
[0063] At 402, the configuration parameter manager 160 may, for example, configure a peer tournament interface 186. i The request is received from the client 182. i (e.g., by launching a game) i At 404, the configuration parameter manager 160 may receive the request from the client 182. i The data store 170 can be queried to determine the segments associated with the client 182. i can belong to one and / or more segments. As a result, client 182 i The highest priority segment from the segments associated with the single segment is associated with the peer tournament interface 186. i can be determined as required for operation.
[0064] At 406, the configuration parameter manager 160 receives the configuration parameters 176 (e.g., the configuration parameters associated with the highest priority segment associated with the first player 1801). At 408, the configuration parameters 176 (e.g., the configuration parameters associated with the highest priority segment associated with the first player 1801) are transmitted by the configuration parameter manager 160 to, for example, the first peer tournament interface 1861.
[0065] At 410, in response to receiving the transmitted configuration parameters, operation of the peer tournament interface is modified (410). For example, after receiving the transmitted first configuration parameters associated with the highest priority segment associated with the first player 1801, a first peer tournament interface integrated with the first third-party gaming application 1841 can be executed on a first client 1821 operated by the first player 1801, and the first client can modify operation of the first peer tournament interface 1861 according to the received configuration parameters associated with the highest priority segment associated with the first player 1801.
[0066] For example, Player 180 i 184 third-party gaming applications i You can launch an instance of the peer tournament interface 186 i 184 third-party gaming applications i , and can send a request for configuration parameters 176 at 402. The request for configuration parameters 176 can be sent to the player 180 i The request may include a request for a component segment 173 and may be received by the configuration parameter manager 160. At 404, the configuration parameter manager 160 sends a request to the player 180. i The data store 170 may be queried for segments 173 of which the segments 173 are constituents. The data store 170 may include configuration parameters 176 associated with the segments 173. At 406, the segments 173, including the highest priority segment, and the associated configuration parameters 176 may be returned to the configuration parameter manager 160. At 408, the configuration parameter manager 160 may return the configuration parameters 176 to the player 180. i The peer tournament interface 186 may then use the configuration parameters 176 associated with the highest priority segments of which it is a member.i At 410, the peer tournament interface 186 i Peer Tournament Interface 186 i Modify the behavior of, for example, the player 180 i may experience network latency greater than the threshold network latency, and therefore i This reduces the network latency experienced by the network server, which in turn reduces the network latency experienced by the player.
[0067] 5 is an example user interface 500 that may allow a user to create a segment. At 510, the user 110 can type in a name for the segment. At 520, the user can type in rules for determining clients within the segment (e.g., an SQL statement that, when executed as a query, will return a set of clients that form the components of the segment). To create the segment, the user 110 can press a "Create User Segment" button 540; to abort defining the new segment, the user 110 can press a "Close" button 530.
[0068] Clients can be partitioned into overlapping and / or mutually exclusive segments. Figure 6 shows an example set of clients partitioned into different subsets, which may be overlapping and / or mutually exclusive. All 610 can be a segment that may contain all clients in the peer tournament system. B 620 can be a segment that contains a subset of All 610, and former B 630 can be a segment that contains a subset of B 620.
[0069] FIG. 7 is a diagram of an example ranking of segments based on priority. Some segments, such as Current B 730 and Previous A 720, can be mutually exclusive (e.g., a client that is a member of Current B 730 is not also a member of Previous A 720). Some segments, such as Current 750 and Previous B 760, can overlap (e.g., some clients can exist in both Current 750 and Previous B 760, but there are also clients, such as Current A 710, that exist in Current 750 but not in Previous B 760). All 780 can be a segment (e.g., a segment defined using the SQL statement SELECT *) that contains all clients of the peer tournament system. Current A 710, Previous A 720, Current B 730, Previous 740, Current 750, Previous B 760, and Previous A 770 can be segments with priorities as shown in FIG. 7. When a client requests configuration parameters, the set of segments of which the client is a member can be determined. However, a client can be a member of multiple segments. Thus, the highest priority segment for the client can be determined, and configuration parameters associated with the highest priority segment can be transmitted to the client. For example, if a client is a component of current A 710, current A 750, A 770, and all 780, current A 710 can be determined to be the highest priority segment, and configuration parameters associated with current A 710 can be transmitted to the client.
[0070] While several variations have been described in detail above, other modifications or additions are possible. For example, the present subject matter may generate a set of clients 182 using SQL queries on attributes 158, such as the nature of playing, duration on the system, and / or random variables. iFor example, a random variable can be used to partition clients for A / B testing. The partitions can be generated for millions of clients 182 i and can be defined in a GUI. Data used to generate partitions can be obtained from a database and / or a data warehouse (e.g., AMAZON REDSHIFT®). Configuration parameters (e.g., system settings), such as geographic location, can be made available to clients in a partition. For clients in a partition, tournaments involving clients from those geographic locations can be displayed in the peer tournament interface. Clients can exist in multiple segments, and each segment can have a numerical priority. Clients can inherit the settings of the segment with the highest priority. Default configuration parameters can be associated with segments that do not have associated configuration parameters. Clients can be reclassified into segments (e.g., via a job on JENKINS®) at controllable intervals (e.g., hourly).
[0071] The present subject matter can allow users to configure user partitions / segments, which are tied to configuration parameters (e.g., system settings), for example, to perform A / B testing, evaluate new features (e.g., tournaments), optimize configuration parameters (e.g., which client is the furthest in terms of geographic distance that can compete against a given client), and / or the like. It may be desirable to control client behavior and maintain ranked priorities of which elements are exposed to which clients. Clients can receive configuration parameters that are client-independent without customizing the gaming platform for each individual client. The client peer tournament interface can display features, options, and / or the like that can be associated with configuration parameters.
[0072] The present subject matter may enable users to generate segments based on any combination of attributes stored in the data warehouse, and users may associate any configuration parameters with the generated segments. In some implementations, clients may be intentionally excluded from peer tournament functionality. For example, a client may be determined to be a malicious participant, may be excluded from chatting with other clients, and / or equivalent measures may be taken.
[0073] The subject matter can segment a large number of clients each time a segmentation job is launched (e.g., via JENKINS® and / or equivalent). The speed of this process can allow the system to stay on top of client behavior. The use of SQL queries can allow a wide variety of users to interface with the subject matter in a highly customized way. In some implementations, REDSHIFT®, MYSQL®, and JENKINS® can be used.
[0074] The subject matter described herein provides many technical advantages. For example, modifying and / or dynamically updating client and server configuration parameters (e.g., system settings) can enable dynamic and flexible control of client and tournament operations. The present subject matter can reduce the load on the technical infrastructure of a peer-to-peer video game tournament system and decrease network latency experienced by players.
[0075] One or more aspects or features of the subject matter described herein may be implemented in digital electronic circuitry, integrated circuit networking, specially designed application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), computer hardware, firmware, software, and / or combinations thereof. Various aspects or features may include implementation in one or more computer programs executable and / or interpretable on a programmable system including at least one programmable processor, which may be special-purpose or general-purpose and may be coupled to receive data and instructions from, and transmit data and instructions to, a storage system, at least one input device, and at least one output device. The programmable system or computing system may include clients and servers. Clients and servers are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on separate computers and having a client-server relationship to each other.
[0076] These computer programs, which may also be referred to as programs, software, software applications, applications, components, or code, include machine instructions for a programmable processor and may be implemented in high-level procedural languages, object-oriented programming languages, functional programming languages, logic programming languages, and / or assembly / machine languages. As used herein, the term "machine-readable medium" refers to any computer program product, apparatus, and / or device used to provide machine instructions and / or data to a programmable processor, including a machine-readable medium that receives machine instructions as a machine-readable signal, such as, for example, a magnetic disk, optical disk, memory, and programmable logic device (PLD). The term "machine-readable signal" refers to any signal used to provide machine instructions and / or data to a programmable processor. A machine-readable medium may store such machine instructions non-transitoryly, such as would, for example, a non-transitory solid-state memory, or a magnetic hard drive, or any equivalent storage medium. Alternatively, or in addition, the machine-readable medium may store such machine instructions in a transient manner, such as might a processor cache or other random access memory associated with one or more physical processor cores.
[0077] To provide for user interaction, one or more aspects or features of the subject matter described herein can be implemented on a computer having a display device, such as a cathode ray tube (CRT), liquid crystal display (LCD), or light-emitting diode (LED) monitor, for displaying information to a user, a keyboard, and a pointing device, such as a mouse or trackball, through which the user can provide input to the computer. Other types of devices can be used to provide for user interaction as well. For example, feedback provided to the user can be any form of sensory feedback, such as visual feedback, auditory feedback, or tactile feedback, and input from the user may be received in any form, including acoustic, voice, or tactile input. Other possible input devices include touchscreens or other touch-sensitive devices, such as single- or multi-point resistive or capacitive trackpads, voice recognition hardware and software, optical scanners, optical pointers, digital image capture devices and associated interpretation software, and the like.
[0078] In the above description and in the claims, phrases such as "at least one of" or "one or more of" may appear and be followed by a conjunctive listing of elements or features. The term "and / or" may also appear within a listing of two or more elements or features. Unless otherwise implicitly or explicitly contradicted by the context in which such phrase is used, this is intended to mean any of the listed elements or features individually or any of the recited elements or features in combination with any of the other recited elements or features. For example, the phrases "at least one of A and B," "one or more of A and B," and "A and / or B" are intended to mean "A alone, B alone, or A and B together," respectively. A similar interpretation is also intended with respect to listings containing three or more items. For example, the phrases "at least one of A, B, and C," "one or more of A, B, and C," and "A, B, and / or C" are intended to mean "A alone, B alone, C alone, A and B together, A and C together, B and C together, or A, B, and C together," respectively. Additionally, use of the term "based on" above and in the claims is intended to mean "based at least on," so that unrecited features or elements also qualify as permissible.
[0079] The subject matter described herein can be embodied in systems, devices, methods, and / or articles, depending on the desired configuration. The implementations described in the foregoing description do not represent all implementations consistent with the subject matter described herein. Instead, they are merely some examples consistent with aspects related to the described subject matter. While some variations have been described in detail above, other modifications or additions are possible. In particular, additional features and / or variations can be provided in addition to those described herein. For example, the implementations described above can be directed to various combinations and subcombinations of the disclosed features and / or combinations and subcombinations of some additional features disclosed above. In addition, the logic flow depicted in the accompanying figures and / or described herein does not necessarily require the particular order shown or sequential order to achieve desirable results. Other implementations may be within the scope of the following claims.
Claims
1. A method comprising: a segmentation server receiving data defining segments of a set of clients and configuration parameters associated with said segments, said configuration parameters defining the behavior of an interface integrated into a gaming application; a tournament server receiving a request to initiate an action from the interface integrated into the gaming application running on a client; the tournament server determining that the segment includes the client; the tournament server, in response to receiving the request, transmitting configuration parameters to the client, the configuration parameters causing the client to modify operation of the interface in response to receiving the transmitted configuration parameters; A method comprising:
2. The method of claim 1, wherein the segmentation server determining the segments includes the segmentation server querying a database that stores data characterizing the set of clients that form part of the system, the stored data including structured query language expressions that define segments of the set of clients and characteristics of clients within the segments.
3. The segmentation server receiving second data characterizing a second segment of the set of clients and second configuration parameters associated with the second segment; the segmentation server using the received second data to determine the second segment comprising a second subset of the set of clients; the segmentation server determining that the segment includes the client and that the second segment includes the client; the segmentation server determining that the segment includes an associated priority that is higher than the associated priority of the second segment, and wherein transmitting the configuration parameters to the client is responsive to determining that the segment includes an associated priority that is higher than the associated priority of the second segment; The method of claim 1 further comprising:
4. The segmentation server receiving data characterizing a plurality of segments of the set of clients forming part of the system and a plurality of configuration parameters, each of the plurality of configuration parameters being associated with at least one of a plurality of segments of the set of clients forming part of the system, the plurality of segments including the segment and the plurality of configuration parameters including the configuration parameter; the segmentation server using the received data characterizing the plurality of segments and determining, for each of the plurality of segments, a subset associated with a respective one of the plurality of segments, the determined subset comprising a subset of the set of clients forming part of the system; the segmentation server determining that the client is included in at least two of the plurality of segments; the segmentation server determining that the segment includes an associated priority that is higher than the associated priority of at least two other segments of the plurality of segments, and wherein transmitting the configuration parameters to the client is responsive to determining that the segment includes an associated priority that is higher than the associated priority of at least two other segments of the plurality of segments; The method of claim 1 further comprising:
5. The tournament server receiving a request for an action from a second interface integrated into a second third-party gaming application running on a second client; the tournament server determining that the segment includes the second client; the tournament server, in response to receiving the request for operation from the second interface, transmitting the configuration parameters to the second client, causing the second client to modify operation of the second peer tournament interface in response to receiving the transmitted configuration parameters; The method of claim 1 further comprising:
6. The method of claim 1, wherein the configuration parameters include chat enabled or disabled, customized matches enabled or disabled, plays enabled or disabled, user interface elements to display, tournaments to make available, geographic locations to make available, reconnection tolerance, and network latency threshold.
7. The peer tournament system, comprising: a segmentation manager engine; a persistent delivery pipeline; a configuration parameter manager engine; and the set of clients; the segmentation manager engine is configured to prompt a user for inputs defining segments of the set of clients and effectuate the receipt of the data defining the segments of the set of clients, the segmentation manager engine is configured to provide the received data defining the segments of the set of clients to the sustained delivery pipeline; the persistent delivery pipeline is configured to perform the segment determination, the segment determination comprising querying a database storing data characterizing the set of clients forming part of the system, the stored data comprising structured query language expressions defining segments of the set of clients and defining characteristics of clients within the segments; and the persistent delivery pipeline is configured to provide the determined segments to the configuration parameter manager engine; the configuration parameter manager engine is configured to receive the request to initiate peer tournament operation from the interface, determine that the segment includes the client, and transmit the configuration parameters to the client. The method of claim 1.
8. determining the segments periodically; and determining the segment after a current iteration of determining the segment, wherein determining the segment includes: removing clients in the segment that are not determined to be in the segment after a previous iteration of determining the segment and after a current iteration of determining the segment; adding clients that are determined to be in the segment after a current iteration of determining the segment that were not in the segment after a previous iteration of determining the segment; Including The method of claim 1 further comprising:
9. The method of claim 1, further comprising the interface modifying operation of the interface in response to receiving the transmitted configuration parameters.
10. The method of claim 1, wherein the interface further comprises providing a peer-to-peer tournament utilizing the gaming application and in accordance with the configuration parameters.
11. A system comprising: A segmentation server, the segmentation server comprising: receiving data defining a segment of a set of clients and configuration parameters associated with said segment, said configuration parameters defining the behavior of an interface integrated into the gaming application; a segmentation server configured to perform operations including: A server, the server comprising: receiving a request to initiate an action from the interface integrated into the gaming application running on a client; determining that the segment includes the client; transmitting, in response to receiving the request, configuration parameters to the client that cause the client to modify operation of the interface in response to receiving the transmitted configuration parameters; a server configured to perform operations including: A system comprising:
12. The system of claim 11, wherein determining the segment includes querying a database that stores data characterizing the set of clients, the stored data including structured query language expressions that define segments of the set of clients and characteristics of clients within the segments.
13. The segmentation server: receiving second data characterizing a second segment of the set of clients and a second configuration parameter associated with the second segment; using the received second data to determine the second segment comprising a second subset of the set of clients; determining that the segment includes the client and that the second segment includes the client; determining that the segment includes an associated priority that is higher than the associated priority of the second segment, and wherein transmitting the configuration parameters to the client is responsive to determining that the segment includes the associated priority that is higher than the associated priority of the second segment; The system of claim 11 configured to perform operations further comprising:
14. The segmentation server: receiving data characterizing a plurality of segments of the set of clients and a plurality of configuration parameters, each of the plurality of configuration parameters being associated with at least one of a plurality of segments of the set of clients, the plurality of segments including the segment and the plurality of configuration parameters including the configuration parameter; using the received data characterizing the plurality of segments, and for each of the plurality of segments, determining a subset associated with a respective one of the plurality of segments, the determined subset comprising a subset of the set of clients; determining that the client is included in at least two of the plurality of segments; determining that the segment includes an associated priority that is higher than an associated priority of at least two other segments of the plurality of segments, and wherein transmitting the configuration parameters to the client is responsive to determining that the segment includes an associated priority that is higher than an associated priority of at least two other segments of the plurality of segments; The system of claim 11 configured to perform operations further comprising:
15. The server receiving a request for an action from a second interface integrated into a second third-party gaming application executing on a second client; determining that the segment includes the second client; transmitting, in response to receiving the request for the operation from the second interface, configuration parameters to the second client that cause the second client to modify the operation of the interface in response to receiving the transmitted configuration parameters; The system of claim 11 configured to perform operations further comprising:
16. The server determining peer tournament actions for use in performing the actions based on the configuration parameters associated with the segment; transmitting the determined action to the interface; and The system of claim 11 configured to perform operations further comprising:
17. The system of claim 11, wherein the configuration parameters include chat enabled or disabled, customized matches enabled or disabled, plays enabled or disabled, user interface elements to display, tournaments to make available, geographic locations to make available, reconnection tolerance, and network latency threshold.
18. The peer tournament system, comprising: a segmentation manager engine; a persistent delivery pipeline; a configuration parameter manager engine; and the set of clients; the segmentation manager engine is configured to prompt a user for inputs defining segments of the set of clients and effectuate the receipt of the data defining the segments of the set of clients, the segmentation manager engine is configured to provide the received data defining the segments of the set of clients to the sustained delivery pipeline; the persistent delivery pipeline is configured to perform the segment determination, the segment determination including querying a database that stores data characterizing the set of clients, the stored data including structured query language expressions that define segments of the set of clients and characteristics of clients within the segments; and the persistent delivery pipeline is configured to provide the determined segments to the configuration parameter manager engine; the configuration parameter manager engine is configured to receive a request to initiate the operation from the interface, determine that the segment includes the client, and transmit the configuration parameters to the client. The system of claim 11.
19. A computer program product, the computer program product including a non-transitory machine-readable medium storing instructions that, when executed by at least one programmable processor, cause the at least one programmable processor to: receiving data defining a segment of a set of clients and configuration parameters associated with said segment, said configuration parameters defining the behavior of an interface integrated into a gaming application; receiving a request to initiate an action from the interface integrated into the gaming application running on a client; determining that the segment includes the client; transmitting, in response to receiving the request, configuration parameters to the client that cause the client to modify operation of the interface in response to receiving the transmitted configuration parameters; A computer program product for causing a computer to perform operations including:
Citation Information
Patent Citations
Server, control program for server, and recording medium for recording it
JP2003135854A
Providing suitable matches quickly
JP2009526603A
Methods and systems for generating tailored game challenges
US20140066176A1