Control of Peer Tournament Client Operations Using Client Segmentation

By segmenting clients based on attributes and priorities and dynamically transmitting configuration parameters, the video game tournament system achieves flexible control over client and tournament operations, addressing the challenges of diverse client configurations and reducing network latency.

JP7692097B2Active Publication Date: 2025-06-12SKILLZ PLATFORM INC
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
JP2024115652
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2019-02-07
Filing Date
2024-07-19
Publication Date
2025-06-12
Estimated Expiration
2040-02-06

AI Technical Summary

Technical Problem

Existing video game tournament systems struggle to dynamically and flexibly control client and tournament operations, especially in peer-to-peer systems where clients may have different configurations and requirements.

Method used

The system segments clients into groups based on defined attributes and priorities, allowing for the dynamic transmission of configuration parameters to clients, which modifies the operation of peer-to-peer tournament interfaces integrated into third-party game applications.

Benefits of technology

This approach enables dynamic and flexible control of client and tournament operations, reduces the load on technical infrastructure, and shortens network latency experienced by players, while allowing for efficient management of client configurations and tournament settings.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007692097000001
    Figure 0007692097000001
  • Figure 0007692097000002
    Figure 0007692097000002
  • Figure 0007692097000003
    Figure 0007692097000003
Patent Text Reader

Abstract

To provide control of peer tournament system client operation using segmentation of a suitable client.SOLUTION: Data defining a first segment of a client which forms part of a peer tournament system and a first configuration parameter can be received. The first configuration parameter may define the operation of a first peer tournament interface. The first peer tournament interface can be integrated to a third-party game application. The first peer tournament interface can provide a peer-to-peer tournament for the third-party game application. A first segment including a first subset of a set of clients which form part of the peer tournament system can be determined. A request for starting a peer tournament operation can be received from the first peer tournament interface.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] (Cross - Reference to Related Applications) This application claims the benefit of priority under 35 U.S.C. Section 119(e) (U.S. Patent Law, Article 119(e)) of U.S. Patent Application No. 16 / 269,758, filed on February 7, 2019, the entire disclosure of which is incorporated herein by reference, and is an international patent application.

[0002] The subject matter described herein relates to controlling the operation of a client based on the segmentation of a set of clients.

Background Art

[0003] In video games and video game tournaments involving multiple players, players can operate the same client to play video games such as Stream and equivalents, which are video game consoles, and the games can be played via a network such as a local area network or the Internet.

[0004] The recent expansion of video game tournaments played via 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, the number of networked devices or clients capable of operating video games, such as mobile devices, has increased. As a result, some devices or clients may require different configurations.

Summary of the Invention

Means for Solving the Problems

[0005] On one side, data defining a first segment of clients forming part of a tournament system and a first configuration parameter associated with the first segment can be received. The first configuration parameter can define the operation of a first tournament interface. The first tournament interface can be integrated into a third-party game application. The first tournament interface can provide a peer-to-peer tournament for the third-party game application. A first segment including a first subset of a set of clients forming part of the tournament system can be determined. A request to start tournament operation can be received from the first tournament interface. The first tournament interface can be integrated into a third-party game application. The third-party game application can be executed 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 to start tournament operation from the first tournament interface. The first configuration parameter can cause the first client to modify the operation of the first tournament interface in response to receiving the transmitted configuration parameter.

[0006] One or more of the following features can be included in any feasible combination. For example, the first segment can be determined by executing a query on a database. The database can store data characterizing a set of clients forming part of the tournament system. The stored data can define the first segment of the set of clients. The stored data can include a structured query language expression that can define the characteristics of the clients within the first segment.

[0007] Data characterizing a second segment of a set of clients forming part of a peer tournament system and second configuration parameters associated with the second segment can be received. A second segment, including a second subset of the set of clients forming part of the peer tournament system, can be determined. The first segment can be determined to include a 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 first configuration parameters can be transmitted to the first client in response to a step of determining that the first segment includes an associated priority that is higher than the associated priority of the second segment.

[0008] Data characterizing a set of segments of clients forming part of a peer tournament system and a plurality of configuration parameters can be received. Each of the plurality of configuration parameters can be associated with at least one of the set of segments of clients forming part of the peer tournament system. The set of segments can include a first segment, and the plurality of configuration parameters can include a first configuration parameter. The received data characterizing the set of segments can be used to determine, for each of the set of segments, a subset associated with an individual segment of the set of segments. The determined subset can include a subset of the set of clients forming part of the peer tournament system. A first client can be determined to be included in at least two of the set of segments. The first segment can include an associated priority determined to be higher than the associated priorities of at least two other segments of the set of segments. The first configuration parameter can be transmitted to the first client in response to a step of determining that the first segment includes an associated priority higher than the associated priorities of at least two other segments of the set of segments.

[0009] The request for the tournament operation can be received from a second tournament interface. The second tournament interface can be integrated into a second third-party game application. The second third-party game application can be executed on a second client. The first segment can be determined to include the second client. The first configuration parameter can be transmitted to the second client in response to receiving the request for the tournament operation from the second tournament interface. The first configuration parameter can cause the second tournament interface to modify its operation in response to the second client receiving the transmitted first configuration parameter.

[0010] The tournament operation for use in performing the tournament operation can be determined based on a first configuration parameter associated with the first segment. The determined tournament operation can be transmitted to the first tournament interface.

[0011] The first configuration parameter can include an enabled or disabled chat, an enabled or disabled customized game, an enabled or disabled play, user interface elements for display, a tournament to make available, a geographical location to make available, a reconnection tolerance, and a network latency threshold.

[0012] The peer tournament system can include a segmentation manager engine, a continuous delivery pipeline, a configuration parameter manager engine, and a set of clients. The segmentation manager engine can be configured to prompt the user regarding an input that defines a first segment of the set of clients. The segmentation manager engine can perform the step of receiving data that defines a first segment of the set of clients. The segmentation manager engine can be configured to provide the received data that defines a first segment of the set of clients to the continuous delivery pipeline.

[0013] The continuous delivery pipeline can be configured to perform a determination of the first segment. The determination of the first segment can include the step of executing a query of 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 the clients within the first segment. The continuous delivery pipeline can be configured to provide the determined first segment to the configuration parameter manager engine.

[0014] The configuration parameter manager engine can be configured to perform the step of receiving a request to start a peer tournament operation 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 a 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 the current iteration and in the previous iteration. After the previous iteration of the step of determining the first segment, clients within the first segment that are determined not to be within the first segment after the current iteration of the step of determining the first segment can be removed. After the current iteration of the step of determining the first segment, clients within the first segment that are determined to be within the first segment after the previous iteration of the step of determining the segment can be added.

[0016] The first peer tournament interface can receive the transmitted first configuration parameter. The first peer tournament interface can modify the operation of the first peer tournament interface in response to the step of receiving the transmitted first configuration parameter.

[0017] The first peer tournament interface can provide a peer-to-peer tournament using a third-party game application and in accordance with the first configuration parameter.

[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 a first configuration parameter associated with the first segment. The first peer tournament interface can be integrated into a third-party game application. The first peer tournament interface can provide a peer-to-peer tournament for the third-party game application. The segmentation server can be configured to determine a first segment that includes 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 start a peer tournament operation from a first peer tournament interface. The first peer tournament interface can be integrated into an application for a third-party game. The application for the third-party game can be executed on a first client. The first segment can be determined to include the first client. In response to receiving the request to start the peer tournament operation from the first peer tournament interface, the tournament server can be configured to transmit first configuration parameters. The first configuration parameters can cause the first client to modify the operation of the first peer tournament interface in response to receiving the transmitted configuration parameters.

[0020] The segmentation server can be configured to execute a query of a database to determine a first segment. The database can store data characterizing a set of clients that form part of a 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 clients within the first segment.

[0021] The segmentation server can be configured to receive data characterizing a second segment of a set of clients forming part of a peer tournament system and second configuration parameters associated with the second segment. The segmentation server can be configured to determine a second segment 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 a 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 first configuration parameters 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 a 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 a 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 individual 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. A 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 priorities of at least two other segments 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 that is higher than the associated priorities of at least two other segments 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 into a second third-party game application. The second third-party game application can be executed on a second client. The tournament server can be configured to determine that a first segment includes the second client. In response to receiving a request for peer tournament operation from the second peer tournament interface, the tournament server can be configured to transmit a first configuration parameter to the second client. The first configuration parameter can cause the second client to modify the operation of the second peer tournament interface in response to receiving the transmitted first configuration parameter.

[0024] The tournament server can be configured to determine peer tournament operations for use in performing tournament operations based on a first configuration parameter associated with a first segment. The tournament server can be configured to transmit the determined peer tournament operations to a first peer tournament interface.

[0025] When executed by one or more data processors of one or more computing systems, a non-transitory computer program product (i.e., a physically embodied computer program product) that stores instructions for causing at least one data processor to perform the operations described herein is also described. Similarly, a computer system that may include one or more data processors and a memory coupled to the one or more data processors is also described. The memory may store, temporarily or permanently, instructions for causing at least one processor to perform one or more of the operations described herein. Additionally, the method can be implemented by one or more data processors that are 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 equivalents via one or more connections, including connections 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), connections via a direct connection between one or more of the plurality of computing systems, etc.

[0026] 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, the drawings, and the claims. This specification also provides, for example, the following items. (Item 1) A method, Receiving data that defines a first segment of a set of clients that form part of a Pi tournament system and a first configuration parameter associated with the first segment, wherein the first configuration parameter defines the operation of a first Pi tournament interface integrated into an application for a third-party game, and the first Pi tournament interface provides a peer-to-peer tournament for the application for the third-party game, Using the received data to determine the first segment that includes a first subset of the set of clients that form part of the Pi tournament system, Receiving, from the first Pi tournament interface integrated into the application for the third-party game executed on a first client, a request to start a tournament operation, Determining that the first segment includes the first client, In response to receiving the request, transmitting to the first client the first configuration parameter that modifies the operation of the first Pi tournament interface in response to receiving the first configuration parameter transmitted to the first client, A method comprising. (Item 2) Determining the first segment includes executing a query of a database that stores data characterizing the set of clients that form part of the Pi 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, the method of item 1. (Item 3) Receiving data characterizing a second segment of the set of clients that form part of the Pi tournament system and a second configuration parameter associated with the second segment, Determining the second segment that includes a second subset of the set of clients that form part of the peer tournament system using the received data; 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 associated with the second segment, wherein transmission of the first configuration parameter to the first client is responsive to determining that the first segment includes the associated priority that is higher than the associated priority associated with the second segment; The method of item 1, further comprising. (Item 4) Receiving data characterizing a plurality of segments of the set of clients that form part of the peer tournament system and a plurality of configuration parameters, wherein each of the plurality of configuration parameters is associated with at least one of the plurality of segments of the set of clients that form part of the peer tournament system, and the plurality of segments includes 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 the individual one of the plurality of segments, wherein the determined subset includes a subset of the set of clients that form 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 the associated priorities of at least two other segments of the plurality of segments, wherein transmission of the first configuration parameter to the first client responds to determining that the first segment includes the associated priority that is higher than the associated priorities of at least two other segments of the plurality of segments The method according to item 1, further comprising. (Item 5) Receiving a request for tournament operation from a second peer tournament interface integrated with an application for a second third-party game executed on a second client Determining that the first segment includes the second client In response to receiving the request for tournament operation from the second peer tournament interface, transmitting the first configuration parameter to the second client, and in response to receiving the first configuration parameter transmitted to the second client, modifying the operation of the second peer tournament interface The method according to item 1, further comprising. (Item 6) Determining a peer tournament operation for use in executing a tournament operation based on the first configuration parameter associated with the first segment Transmitting the determined peer tournament operation to the first peer tournament interface The method according to item 1, further comprising. (Item 7) The first configuration parameter includes an enabled or disabled chat, an enabled or disabled customized game, an enabled or disabled play, user interface elements for display, a tournament for making available, a geographical location for making available, a reconnection tolerance, and a network latency threshold. The method according to item 1. (Item 8) The peer tournament system includes a segmentation manager engine, a continuous delivery pipeline, a configuration parameter manager engine, and the set of clients, The segmentation manager engine is configured to prompt the user regarding an input that defines a first segment of the set of clients and to receive the data that defines the first segment of the set of clients, and the segmentation manager engine is configured to provide the received data that defines the first segment of the set of clients to the continuous delivery pipeline, The continuous delivery pipeline is configured to perform a determination of the first segment, the determination of the first segment including executing a query of 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, and the continuous 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 start the peer tournament operation from the first peer tournament interface, to determine that the first segment includes the first client, and to 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, After the current iteration of determining the first segment, determining the first segment, the determining of the first segment being, After an iteration preceding the determination of the first segment, removing clients within the first segment that are not determined to be within the first segment after the current iteration of determining the first segment; After the current iteration of determining the first segment, adding clients within the first segment that are determined to be within the first segment but were not within the first segment after an iteration preceding the determination of the first segment; Including; The method according to item 8, further including; (Item 10) The method according to item 1, further including, in response to receiving the transmitted first configuration parameter, modifying the operation of the first peer tournament interface by the first peer tournament interface; (Item 11) The method according to item 1, further including providing the peer-to-peer tournament by the first peer tournament interface using the third-party game application and according to the first configuration parameter; (Item 12) A system, A segmentation server, where the segmentation server, Receiving data defining a first segment of a set of clients forming part of a peer tournament system and a first configuration parameter associated with the first segment, where the first configuration parameter defines the operation of a first peer tournament interface integrated into a third-party game application, and the first peer tournament interface provides a peer-to-peer tournament for the third-party game application; Using the received data to determine the first segment including 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, wherein the tournament server Receives a request to start a peer tournament operation from the first peer tournament interface integrated with the third-party game application executed on the first client; Determines that the first segment includes the first client; In response to receiving the request, transmits the first configuration parameter to the first client, which, in response to receiving the first configuration parameter transmitted to the first client, modifies the operation of the first peer tournament interface; A tournament server configured to perform operations including A system comprising (Item 13) Determining the first segment includes executing a query on a database that stores data characterizing a 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. The system according to item 12. (Item 14) The segmentation server Receives data characterizing a second segment of the set of clients that form part of the peer tournament system and a second configuration parameter associated with the second segment; Uses the received data to determine the second segment including a second subset of the set of clients that form part of the peer tournament system; Determines 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, wherein transmission of the first configuration parameter 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, The system according to item 12, further configured to perform operations further including (Item 15) The segmentation server, Receiving data characterizing a plurality of segments of a set of clients forming part of the peer tournament system and a plurality of configuration parameters, wherein each of the plurality of configuration parameters is associated with at least one of the plurality of segments of the set of clients forming part of the peer tournament system, and the plurality of segments include 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 the individual one of the plurality of segments, wherein the determined subset includes 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 the associated priority of each other of at least two of the plurality of segments, wherein transmission of the first configuration parameter to the first client is responsive to determining that the first segment includes the associated priority that is higher than the associated priority of each other of at least two of the plurality of segments, The system according to item 12, further configured to perform operations further including (Item 16) The tournament server receives a request for peer tournament operation from a second peer tournament interface integrated with a second third - party game application executed on a second client, determines that the first segment includes the second client, in response to receiving the request for peer tournament operation from the second peer tournament interface, transmits the first configuration parameter transmitted to the second client to the second client to modify the operation of the second peer tournament interface in response to receiving the first configuration parameter The system according to item 12, which is further configured to perform operations further including the above. (Item 17) The tournament server determines a peer tournament operation for use in executing a tournament operation based on the first configuration parameter associated with the first segment, and transmits the determined peer tournament operation to the first peer tournament interface The system according to item 12, which is further configured to perform operations further including the above. (Item 18) The first configuration parameter includes an enabled or disabled chat, an enabled or disabled customized game, an enabled or disabled play, user interface elements for display, a tournament made available, a geographical location made available, a reconnection tolerance, and a network latency threshold. The system according to item 12. (Item 19) The peer tournament system includes a segmentation manager engine, a persistent delivery pipeline, a configuration parameter manager engine, and a set of the clients. The segmentation manager engine is configured to prompt a user regarding an input that defines a first segment of the set of clients, receive the data that defines the first segment of the set of clients, and provide the received data that defines the first segment of the set of clients to the persistent delivery pipeline. The persistent delivery pipeline is configured to perform a determination of the first segment, the determination of the first segment including executing a query of 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, 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 start 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 system according to item 12. (Item 20) A computer program product, the computer program product including a non-transitory machine-readable medium, the 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 that defines a first segment of a set of clients that form part of a peer tournament system and a first configuration parameter associated with the first segment, wherein the first configuration parameter defines the operation of a first peer tournament interface integrated into a third-party game application, and the first peer tournament interface provides a peer-to-peer tournament for the third-party game application, Determining the first segment that includes a subset of the set of clients that form part of the peer tournament system using the received data, Receiving a request to start a tournament operation from the first peer tournament interface integrated into the third-party game application executed on a first client, Determining that the first segment includes the first client, In response to receiving the request, transmitting to the first client the first configuration parameter that modifies the operation of the first peer tournament interface in response to receiving the first configuration parameter transmitted to the first client, A computer program product that causes an operation including these steps to be performed.

Brief Description of the Drawings

[0027]

Figure 1

[0028]

Figure 2

[0029]

Figure 3

[0030]

Figure 4

[0031]

Figure 5

[0032]

Figure 6

[0033]

Figure 7

[0034] Like reference symbols in the various drawings indicate like elements.

[0035] A video game tournament can involve competition with a number of players playing a video game. Some video game tournaments can involve a multiplayer video game hosted by a single entity such as a game developer and can be played via a network such as a local area network or the Internet. Some tournaments can utilize a peer-to-peer video game tournament platform to enable e-sports tournaments across a wide range of games, including games that may not have built-in tournament functionality, such as mobile games for a single player. In such a peer-to-peer tournament platform, a peer-to-peer server can operate (e.g., communicate with, cooperate with, and the like) with many different clients that execute local game instances. These different clients can include different operating systems (e.g., ANDROID (registered trademark), IOS (registered trademark), their versions, 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 in order for the clients to compete within the same tournament. Similarly, the peer tournament server may need to be configured to operate differently with respect to different clients. For example, some clients may be configured to include different network latency threshold requirements that would result in steps to disable tournament functionality if those individual networks are not satisfied.

[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. Since the peer-to-tournament platform can enable many different tournaments for many different clients simultaneously, it may not be feasible for the system manager to update the settings for each client individually. Thus, some aspects of the subject matter described herein can enable dynamic and flexible control of client and tournament operations, including segmentation of clients within a peer-to-peer video game tournament system and facilitating modification and / or dynamic update of client and server configuration parameters (e.g., system settings). The subject matter can reduce the load on the technical infrastructure of the peer-to-peer video game tournament system, shorten the 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 all sets 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 geographical 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 enable the user to define configuration parameters (that can control the behavior of the associated clients) by defining segments without the need to specifically control or vary the configuration parameters of each individual client. Such an approach can enable a user to determine segments of players for a particular tournament and enable players within a segment to compete in a tournament specific to that individual segment. In some implementations, the present subject matter can include automatic recalculation of segments at predetermined time intervals and can determine segments of players without querying an entire data warehouse.

[0038] FIG. 1 is a system block diagram 100 illustrating an exemplary system that facilitates the step of segmenting a set of clients that form part of a peer-to-tournament system. The exemplary system can facilitate modification and / or dynamic updating of client and server configuration parameters (e.g., system settings) that can enable dynamic and flexible control of client and tournament operations.

[0039] Segmentation system 100 can include a segmentation server 125, a persistent delivery pipeline 140, and a tournament server 165. Segmentation server 125 can include a segmentation manager engine, i.e., segmentation engine 130, and a data warehouse interface 150, and client 182 of set of clients 195 to a segment iIt can enable grouping. The tournament server 165 can include a configuration parameter manager engine, that is, a configuration parameter manager 160, and can enable dynamic and flexible control of a set 195 of clients (e.g., during runtime). Attributes 158 can be collected from the set 195 of clients and stored in the data warehouse 155. The segmentation engine 130 can receive segmentation rules (e.g., definitions) from the user 110 through the graphical user interface (GUI) 120. The segmentation definition can define the attributes 158 that will be associated with the segment. The segmentation engine 130 can provide the segmentation definition to the persistent delivery pipeline 140. The persistent delivery pipeline 140 can schedule the data warehouse interface 150 to execute a query regarding the data warehouse 155 based on the provided segmentation definition. The result of the query can be provided to the data store 170 as a segment 173. The segmentation engine 130 can receive configuration parameters 176, associate the configuration parameters 176 with the segment 173, and store them in the data store 170. The configuration parameter manager 160 can receive requests for the configuration parameters 176 and transmit the requested configuration parameters 176.

[0040] The set 195 of clients can be formed by clients 182 i (i = 1, 2,..., n), and the client 182 i can be operated by a player 180 i . The client 182 i can include a mobile device, a laptop, a video game console, and / or any networked device that can operate a video game. Each client 182 i can be an application 184 for third-party games such as ANGRY BIRDS (registered trademark) or CANDY CRUSH (registered trademark)i can include instances of. Third - party game application 184 i Instances of can have a peer - tournament interface 186 integrated therein i can include any third - party game application where a player's skill can determine the outcome of the game, and multiple players 180 i can compete against each other in a peer - to - peer tournament. Third - party game application 184 i Each instance of can communicate with a third - party game server and receive game data therefrom. The third - party game server can provide the game data necessary to operate the game. In some implementations, instances of third - party game application 184 i can directly exchange game data.

[0041] Third - party game application 184 i Each instance of can include a peer - tournament interface 186 i Peer - tournament interface 186 i can be integrated into the third - party game application, provide the necessary functionality including user - interface components, and enable players 180 i to compete in a peer - to - peer tournament. Peer - tournament interface 186 i communicates with a tournament server 165 including a configuration parameter manager 160, and peer - tournament interface 186 i can start the peer - tournament operation (e.g., the tournament available for players 180 i to play). Peer - tournament interface 186 i communicates with a data warehouse interface 150, and players 180 iThe associated attribute 158 can be stored in the data warehouse 155. The attribute 158 can include data that defines the properties of the client 182 i . The attribute 158 associated with the client 182 i can include the duration on the peer tournament system, network latency, network connection strength, geographical location, account creation date, last played game, and the like.

[0042] The data warehouse 155 (e.g., AMAZON REDSHIFT (registered trademark)) can include a central repository of data collected from one or more data sources. The data warehouse 155 can contain data that defines the clients 182 i and their associated attributes 158. The data sources can include a set of clients 182 i . The data warehouse interface 150 can communicate data (e.g., attributes) from the data source (e.g., client) to the data warehouse 155. The data warehouse interface 150 can execute queries regarding the data warehouse 155 (e.g., from the continuous delivery pipeline 140), receive the results of the queries (e.g., from the data warehouse 155), and receive requests to transmit the query results (e.g., to the continuous delivery pipeline 140).

[0043] The operation of the peer tournament interface 186 i and the associated client 182 i can be defined by the configuration parameters 176 (e.g., system settings). The configuration parameters 176 can be for the client 182 i and / or the peer tournament interface 186 iIt can include data that defines dynamic and / or flexible control. For example, configuration parameter 176 can include an enabled or disabled chat, an enabled or disabled customized game, an enabled or disabled play, user interface elements for display, a tournament to make available, a geographical location to make available, a network latency threshold, and the like.

[0044] In some implementations, configuration parameter 176 can include an enabled or disabled offline mode, a game mode to provide (e.g., a cooperative game mode and / or the like), a pending game for display, a completed and / or canceled game for display, how the game is scored, a live event (e.g., a tournament and / or the like) deadline when a new player cannot register for the event, a warning regarding the pending live event deadline, and the like. Configuration parameter 176 can include an email verification requirement for playing and / or the like, a data collection frequency, data to collect, a maximum client idle time before termination, a termination warning, and the like. Configuration parameter 176 can include a time interval between new chat messages, the frequency of messages fetched per chat update, the amount of time between attempts to fetch messages, 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 can send within a time frame, the time a player can send the maximum number of messages before reaching a limited rate, and the like.

[0045] In some implementations, the configuration parameter 176 can include a reference time until the client can reconnect to the chat server, a reconnect interval, a maximum time between reconnect attempts, a reconnect tolerance, an amount of time to reconnect before timing out, and the like. The configuration parameter 176 can include the number of times the "play again" button appears, whether the start button starts the game instantaneously, the text that appears on the start button, the length of the welcome back animation, the welcome back that is enabled or disabled, the frequency of the client, the API request analysis theory that is enabled or disabled, the maximum number of characters within a contact request, and the like. The configuration parameter 176 can include the frequency in response to finding an opponent, the push notification when the game is backgrounded, and the like. The configuration parameter 176 can include a display modal, i.e., a GUI element, and the like, associated with some and / or any of the operations discussed herein. The configuration parameter 176 can be associated with segment 173 (e.g., as key / value pairs, hash maps, and / or the like), and can control the client operations of the tournament server 165 and / or the client 182 i Segment 173 can include a set 182 of clients characterized by a shared set of attributes 158 i and the client 182 i can be segmented by any combination of the attributes 158. The segment 173 and the associated configuration parameter 176 can be stored in the data store 170. An exemplary process for segmenting the client 182 i into segments is discussed below.

[0046] User 110, such as a tournament system manager, can define segment 173 within GUI 120. GUI 120 can communicate with segmentation engine 130, and segment 173 can be defined by defining a unique name for segment 173 and a raw SQL statement that defines attributes 158 associated with segment 173. User 110 can define configuration parameters 176 associated with segment 173. For example, user 110 can name the segment "Boston Players" and supply a raw SQL statement that defines the attribute "user_location" on a table named "Players", where the "Players" table is stored in the data warehouse (SELECT user_id, game_id FROM Players WHERE user_location = ‘Boston’;). A tournament can define configuration parameters, and only clients with the defined configuration parameters can access that tournament. The defined configuration parameter segment can be associated with segment "Boston Players", and the tournament can be for clients 182 i in peer tournament interface 186 i to be displayed within.

[0047] Segmentation engine 130 can prompt user 110 to enter into GUI 120 a segment definition (such as a raw SQL statement and / or equivalent) that defines (e.g., defines) the client's segment. Segmentation engine 130 can receive data that defines the segment (such as a raw SQL statement and / or equivalent) and communicate the received data to persistent delivery pipeline 140. Segmentation engine 130 can receive data that defines configuration parameters that can be associated with the segment and communicate the configuration parameters to data store 170.

[0048] The continuous delivery pipeline 140 can receive segment definitions and determine segments. To determine a segment, the continuous delivery pipeline 140 can communicate with the data warehouse interface 150, periodically transmit requests to the data warehouse interface 150, and execute a query defined by the segmentation engine 130 (e.g., a raw SQL statement that defines segment 173) with respect to the data warehouse 155. For example, the continuous delivery pipeline 140 can transmit requests to the data warehouse interface 150 hourly, daily, and / or equivalently, and execute a query defined by a raw SQL statement that defines segment 173 with respect to the data warehouse 155. Segment 173 can include the results of the query (e.g., segment 173 can include client 182 with a user_id within the set of records returned by the query) i can include).

[0049] In addition to the configuration parameters 176 that can be associated with the segment, segment 173 can be stored (e.g., persisted) in the data store 170 so that it can be determined as described above by the continuous delivery pipeline 140. The configuration parameter manager 160 can receive a request to initiate a peer tournament operation from, for example, a peer tournament interface 186 integrated into a third-party game application 184 executed on client 182 i The configuration parameter manager 160 queries the data store 170 with respect to segment 173 (e.g., by the player 180 that operates client 182 being a component thereof) so that segment 173 is (e.g., by the player 180 that operates client 182 i is a component thereof) i from the peer tournament interface 186 integrated into the third-party game application 184 executed on client 182 i The configuration parameter manager 160 queries the data store 170 with respect to segment 173 (e.g., by the player 180 that operates client 182 being a component thereof) so that segment 173 is (e.g., by the player 180 that operates client 182 i is a component thereof) i The player 180 that operates client 182 ican be determined to include. The configuration parameter manager 160 is the player 180 i is the configuration parameter 176 (e.g., the player 180 i is the highest priority segment of which it is a component) associated with the segment 173 i to the peer tournament interface 186 i Thereby, the third - party game application 184 i running on the client 182 i The operation of the integrated peer tournament interface 186 can be modified.

[0050] The data store 170 (e.g., ELASTICSEARCH (registered trademark)) can include a repository for permanently (e.g., persistently, over a long period of time, and / or equivalently) storing data and / or managing its collection. In addition to the configuration parameter 176 associated with the segment, the segment 173 can, for example, in addition to the configuration parameter 176 associated with the segment 173, be stored in the data store 170 (e.g., ELASTICSEARCH (registered trademark)) such that the segment 173 of the client 182 i can be determined without involving expensive query operations (e.g., sequential scans of the data store 170 and / or equivalents) with respect to time complexity.

[0051] FIG. 2 is a process flow diagram 200 illustrating an exemplary implementation of a process for controlling the operation of a tournament server and / or a client using the segmentation of a set of clients (e.g., players) within a peer tournament system. The exemplary process can facilitate the segmentation of clients within a peer tournament system, and the modification and / or dynamic update of client and server configuration parameters (e.g., system settings), which can enable dynamic and flexible control of client and tournament operations.

[0052] At 210, data characterizing a first segment of a client that forms 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 the client. The characterization of the first segment of the client can include a precise requirement for information reading from an information system. The precise requirement for information reading 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 (such as location, waiting time, and the like) characterizing the first segment of the client. The information system can include a relational database, a non-relational database, a key / value type database, a data warehouse, or any system for information collection, compilation, storage, and communication.

[0053] The first segment of the client can include 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 the operation of a first peer tournament interface that can be integrated into a third-party game application. The first peer tournament interface can be integrated into a third-party game application operating on the client and can provide a peer-to-peer tournament for the third-party game application. The operation of the first peer tournament interface can include steps to configure, for example, the client to invalidate tournament functionality if they are not satisfied by their individual networks, including different network latency threshold requirements (such as requiring a network latency below a certain latency value, etc.).

[0054] At 220, the first segment can be determined using the data received at 210, and the first segment can include a subset of a set of clients that form part of the peer tournament system. The step of determining the first segment can include the step of performing a precise request for information retrieval from the information system using the data received at 210. The step of performing a precise request for information retrieval from the information system can include the step of executing an SQL statement representing an SQL query with respect to an information system such as data warehouse 155 (e.g., Amazon Redshift (registered trademark)). The subset of the set of clients that form part of the peer tournament system can include clients within a set of records returned by an SQL query executed on the information system. For example, if the executed query returns a set of records {client 1 , client 2 , client 3}, the first segment determined using the received data (e.g., the SQL statement representing the executed query) is the set of records returned from the step of executing the query (e.g., the first segment is {client 1 , client 2 , client 3}).

[0055] At 230, a request to start the peer tournament operation can be received by a configuration parameter manager (e.g., configuration parameter manager 160). A first player operating a first client can start a first third-party game application executed on the first client and participate in the peer video game tournament, and the first client can be part of a set of clients forming the peer tournament system. The configuration parameter manager can receive a request to start the peer tournament operation that facilitates participation in the peer video game tournament. The request to start the peer tournament operation can control the operation of the first peer tournament interface (e.g., if the client has a network latency exceeding a network latency threshold determined by the configuration parameter, disable the display of a certain tournament within the peer tournament interface) and can include a request regarding the configuration parameter.

[0056] At 240, the first segment can be determined to include the first client. The configuration parameter manager can implement a request regarding a set of segments of which the first client is a component and can receive a set of segments of which the first client is a component. For example, the configuration parameter manager can query the data store 170 containing the user_id associated with each segment of the set of clients forming part of the peer tournament system regarding the segment associated with the user_id of the first client and can receive a set of segments associated with the first client (e.g., the set of segments to which the first client belongs is {segment 1 , segment 2 , segment 3}, and the first segment is segment 3(i.e.,). The first segment can be included in a set of segments, where the first client is a component, and thus 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 a request to start the peer tournament operation at 230. The first configuration parameter can cause the first client to modify the operation of the first peer tournament interface. For example, the operation of the first peer tournament interface can include steps to disable 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 illustrates, for example, at 210 and 220, a data flow diagram 300 that shows the data communication flow between exemplary implementations of the elements of FIG. 1 for segmenting a set of clients that form part of a peer tournament system as illustrated in FIG. 2.

[0059] At 302, user 110 defines a segment, and at 304, within GUI 120, defines configuration parameters associated with the segment that were defined at 302 and passed to segmenting engine 130. For example, the configuration parameters can define the operation of a first peer tournament interface integrated with a third-party game application running on the first client, which is a component of the segment. The segment can be defined as a raw SQL statement that includes a unique identifier for the segment and a priority for the segment.

[0060] In 306, the raw SQL statements that define the segments are associated with an automated job within the continuous delivery pipeline 140 that starts the execution of the SQL queries of the raw SQL statements at predetermined intervals. In 308, the configuration parameters associated with the defined segments can be persisted in the data store 170. In 310, the continuous delivery pipeline 140 starts an automated job, and in 312, the data warehouse interface 150 executes an SQL query against the data warehouse 155. In 314, the results of the SQL query executed in 312 can be returned to the data warehouse interface 150. In 316, the results of the SQL query executed in 312 can be returned to the continuous delivery pipeline 140. In 318, the records within the result set of the SQL query executed in 312 can be persisted in the data store 170 as records associated with the segments, and the segment 173 can be determined to include a subset of a set of clients that form part of the peer tournament system.

[0061] In some implementations, the data store 170 table containing segments can be updated instead of dropping the data store 170 table and re - importing a table with the results of the segmentation method (e.g., querying the data warehouse 160 using a user 110 - defined SQL statement representing the segment). The continuous delivery pipeline 140 can start the execution of SQL queries of raw SQL statements at predetermined intervals to determine segments (e.g., the current iteration of the execution of the SQL query to determine segments and the previous iteration of the execution of the SQL query to determine segments). In the current iteration of the step of determining segment 173, the data store 170 table can already contain records regarding segment 173 as determined in the previous iteration of the step of determining segment 173. Clients 182 within segment 173 during the previous iteration of the step of determining segment 173 that do not exist within segment 173 during the current iteration of the step of determining segment 173 i can be removed from segment 173 (e.g., by removing their client user_ids from the records associated with the segment). Clients 182 that are determined to be within the segment during the current iteration of the step of determining the segment but did not exist within segment 173 during the previous iteration of the step of determining the segment i can be added to segment 173 (e.g., by adding their client user_ids to the records 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 a data communication flow between exemplary implementations of the elements of FIG. 1 when determining configuration parameters for a peer tournament interface integrated into a third party game application that operates on a set of clients forming part of the peer tournament system as illustrated in FIG. 2, for example, at 230 - 250.

[0063] At 402, the configuration parameter manager 160 receives a request regarding configuration parameters, for example, from the peer tournament interface 186. i The request can be received when the client 182 starts the operation of the third party game application 184 (e.g., by launching the game). At 404, the configuration parameter manager 160 can execute a query of the data store 170 to determine the segments associated with the client 182. i The client 182 can belong to one and / or more segments. As a result, the highest priority segment from the segments associated with the client 182 can be determined because the configuration parameters associated with a single segment are required for the operation of the peer tournament interface 186. i At 406, the configuration parameter manager 160 receives configuration parameters 176 (e.g., configuration parameters associated with the highest priority segment associated with the first player 180). At 408, the configuration parameters 176 (e.g., configuration parameters associated with the highest priority segment associated with the first player 180) are transmitted by the configuration parameter manager 160 to, for example, the first peer tournament interface 186. i i i i

[0064] 1 1 1 ​​​​​​​​

[0065] In 410, in response to receiving the transmitted configuration parameter, the operation of the peer tournament interface is modified (410). For example, after receiving the transmitted first configuration parameter associated with the highest priority segment associated with the first player 180 1 the first peer tournament interface integrated into the first third-party game application 184 1 associated with the first player 180 1 is executed on the first client 182 operated by the first player 180 1 and the first client can modify the operation of the first peer tournament interface 186 according to the received configuration parameter associated with the highest priority segment associated with the first player 180 1 1

[0066] For example, the player 180 i can launch an instance of the third-party game application 184. The peer tournament interface 186 i can be integrated into an instance of the third-party game application 184 and, in 402, can send a request regarding the configuration parameter 176. The request regarding the configuration parameter 176 can include a request regarding the segment 173 of which the player 180 i is a component and can be received by the configuration parameter manager 160. In 404, the configuration parameter manager 160 is the player 180 i i i ​​​​It can execute a query on the data store 170 regarding segment 173 which is its component. The data store 170 can include configuration parameters 176 associated with segment 173. In 406, segment 173 including the highest priority segment, and the associated configuration parameters 176 can be returned to the configuration parameter manager 160. In 408, the configuration parameter manager 160 i can transmit the configuration parameters 176 associated with the highest priority segment which is its component, to the peer tournament interface 186 i . In 410, the peer tournament interface 186 i can modify the operation of the peer tournament interface 186 i , for example, remove a tournament where the player 180 i can experience a network latency longer than the threshold network latency, and thus shorten the network latency experienced by the player 180 i , and as a result, shorten the network latency experienced by the player.

[0067] FIG. 5 is an exemplary user interface 500 that may enable a user to generate segments. In 510, the user 110 can enter the name of the segment. In 520, the user can enter a rule (e.g., an SQL statement that will return a set of clients that form the components of the segment when executed as a query) for determining clients within the segment. To generate a segment, the user 110 can press the "Generate User Segment" button 540, and to abort defining a new segment, the user 110 can press the "Close" button 530.

[0068] Clients can be partitioned into overlapping and / or mutually exclusive segments. FIG. 6 is an exemplary set of clients that are partitioned into different subsets that can be overlapping and / or mutually exclusive. All 610 can be segments that can contain all clients of the peer tournament system. B620 can be a segment that contains a subset of all 610, and previously B630 can be a segment that contains a subset of B620.

[0069] FIG. 7 is a schematic diagram of an exemplary ranking of segments based on priority. Some segments such as current B730 and previous A720 can be mutually exclusive (e.g., a client that is a component of current B730 is not also a component of previous A720). Some segments such as current 750 and B760 can overlap (e.g., some clients can be present in both current 750 and B760, but there are also clients, such as current A710, that are present in current 750 but cannot be present in B760). 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 A710, previous A720, current B730, previous 740, current 750, B760, and A770 can be segments with priorities as shown in FIG. 7. When a client requests configuration parameters, a set of segments of which the client is a component can be determined. However, a client can be a component of multiple segments. Thus, the highest priority segment for the client can be determined, and the configuration parameters associated with the highest priority segment can be transmitted to the client. For example, if a client is a component of current A710, current 750, A770, and all 780, current A710 can be determined to be the highest priority segment, and the configuration parameters associated with current A710 can be transmitted to the client.

[0070] Some variations have been described in detail above, but other modifications or additions are also conceivable as possibilities. For example, the present subject matter uses an SQL query regarding an attribute 158, such as a property for playing, a duration on the system, and / or a probability variable, to determine a set 182 of clients. iPartitions (e.g., segments) can be generated. For example, a random variable can be used to partition clients for A / B testing. Partitions can include millions of clients 182 i and can be defined within the GUI. The data used to generate the partitions can be obtained from a database and / or a data warehouse (e.g., AMAZON REDSHIFT (registered trademark)). Configuration parameters such as geographical location for availability (e.g., system settings) can be by clients within the partition. For clients within a partition, a tournament with clients from their geographical location can be displayed within the peer tournament interface. A client can exist in multiple segments, and each segment can have a numerical priority. A client can inherit the setting of the segment with the highest priority. Default configuration parameters can be associated with segments that do not have associated configuration parameters. A client can be reclassified into segments at controllable intervals (e.g., every hour) (e.g., via a job on JENKINS (registered trademark)).

[0071] The present subject matter can enable a user to configure the user's partitions / segments, which are associated with configuration parameters (e.g., system settings), for example, to conduct A / B tests, evaluate new features (e.g., tournaments), optimize configuration parameters (e.g., the client that is the farthest in terms of geographical distance and can compete for a given quota), and / or the like. It may be desirable to control the behavior of the clients and maintain a ranked priority of which elements are exposed to which clients. Without customizing the game platform for each individual client, the client can receive configuration parameters that are irrelevant to the client. The client peer tournament interface can display features, options, and / or the like that can be associated with the configuration parameters.

[0072] The present subject matter can enable a user to generate segments based on any combination of attributes stored in a data warehouse, and the user can associate any configuration parameters with the generated segments. In some implementations, a client can be intentionally excluded from the peer tournament functionality. For example, a client can be excluded from chats with other clients that are determined to be malicious participants and / or the like measures can be taken.

[0073] The present subject matter can segment a large number of clients each time a segmentation job is launched (e.g., via JENKINS (registered trademark) and / or the like). The speed of this process can enable the system to always understand the client behavior. The step of using SQL queries can enable a wide variety of users to interface with the present subject matter in a highly customized manner. In some implementations, REDSHIFT (registered trademark), MYSQL (registered trademark), and JENKINS (registered trademark) can be used.

[0074] The subject matter described in this specification provides many technical advantages. For example, modification and / or dynamic update of 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 shorten the network latency experienced by players.

[0075] One or more aspects or features of the subject matter described in this specification can be implemented in digital electronic circuitry, integrated circuitry, specially designed application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), computer hardware, firmware, software, and / or combinations thereof. These various aspects or features can include implementation within one or more computer programs that are executable and / or interpretable on a programmable system including at least one programmable processor, which can be special or general purpose and coupled to receive data and instructions from, and to transmit data and instructions to, a memory system, at least one input device, and at least one output device. The programmable system or computing system can include a client and a server. The client and server are generally remote from each other and typically interact through a communication network. The relationship between the client and the server results from computer programs that are launched on separate computers and have 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 can 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, such as, for example, magnetic disks, optical disks, memory, and programmable logic devices (PLDs), used to provide machine instructions and / or data to a programmable processor, including a machine-readable medium that receives the machine instructions as a machine-readable signal. The term "machine-readable signal" refers to any signal used to provide machine instructions and / or data to a programmable processor. The machine-readable medium can store such machine instructions non-transitorily, such as, for example, a non-transitory solid-state memory, or a magnetic hard drive, or any equivalent storage medium would do. The machine-readable medium can alternatively, or in addition, store such machine instructions in a transitory manner, such as, for example, a processor cache or other random access memory associated with one or more physical processor cores would do.

[0077] To provide interaction with a user, one or more aspects or features of the subject matter described herein can be implemented on a computer having, for example, a display device such as a cathode ray tube (CRT), or a liquid crystal display (LCD), or a light emitting diode (LED) monitor for displaying information to the user, a keyboard, and a pointing device such as a mouse or a trackball by which the user can provide input to the computer. Other types of devices can likewise be used to provide interaction with the user. For example, the feedback provided to the user can be any form of sensory feedback such as, for example, visual feedback, auditory feedback, or tactile feedback, and the input received from the user can be in any form including acoustic, voice, or tactile input. Other possible input devices include touch screens or other touch sensor-based devices such as single or multi-point resistive or capacitive trackpads, speech recognition hardware and software, optical scanners, optical pointers, digital image capture devices and associated interpretation software, and equivalents.

[0078] In the foregoing description, and in the claims, phrases such as "at least one of" or "one or more of" may occur, followed by a conjunctive listing of elements or features. The term "and / or" may also occur within a listing of two or more elements or features. Unless otherwise implied or explicitly contradicted by the context in which such phrases are used, this is intended to mean any of the individually listed elements or features, or any of the cited elements or features in combination with any of the other cited 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 each intended to mean "A alone, B alone, or A and B together." Similar interpretations are also intended for listings that include more than three 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 each intended to mean "A alone, B alone, C alone, A and B together, A and C together, B and C together, or A and B and C together." In addition, the use of the term "based on" in the foregoing and in the claims is intended to mean "at least based on" such that features or elements not recited may also be permissible.

[0079] The subject matter described in this specification can be embodied in a system, apparatus, method, and / or article, depending on the desired configuration. The implementations described in the foregoing description do not represent all implementations consistent with the subject matter described in this specification. Instead, they are merely some examples consistent with aspects related to the described subject matter. Some variations have been described in detail above, but other modifications or additions are also conceivable. 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 sub-combinations of the disclosed features and / or combinations and sub-combinations of some additional features disclosed above. Additionally, the logical flows depicted in the accompanying figures and / or described herein do not necessarily require the particular order or sequential order shown to achieve the desired result. Other implementations may be within the scope of the following claims.

Claims

1. A method comprising: receiving, by at least one processor, data characterizing a plurality of segments and a plurality of configuration parameters, each of the plurality of configuration parameters associated with at least one of the plurality of segments, each of the plurality of configuration parameters defining operation of an interface of a client application executing on a plurality of client devices; receiving, by the at least one processor, a request for operation of the client application on a first client device of the plurality of client devices; using the received data to determine at least two of the plurality of segments that includes the first client device; and the at least one processor selecting a first segment of the at least two of the plurality of segments including an associated priority that is higher than an associated priority of each other segment of the at least two of the plurality of segments; transmitting, to the first client device, configuration parameters associated with the first segment, the configuration parameters associated with the first segment causing the first client device to modify an operation of the interface of the client application in response to receiving the configuration parameters; A method comprising:

2. The method described in claim 1, wherein each segment of the plurality of segments is characterized by one or more attributes, each client device of the plurality of client devices is characterized by the one or more attributes, and the plurality of client devices constitute a peer tournament system.

3. The at least one processor associates each client device of the plurality of client devices with at least one segment of the plurality of segments based on the one or more attributes shared between each client device and the at least one segment; the at least one processor grouping the plurality of client devices into one or more of the plurality of segments, each of the one or more of the plurality of segments being characterized by a shared set of attributes; The method of claim 2 , further comprising:

4. The determining step is periodically recalculated; 2. The method of claim 1, wherein the transmitting of the configuration parameters associated with the first segment to the first client device is responsive to the selecting of the first segment including an associated priority that is higher than the associated priority of each of the at least two other segments of the plurality of segments. receiving, by the at least one processor, a further request for operation of a second client application executing on a second client device; and the at least one processor determining the first segment including the second client device; transmitting, to the second client device, the configuration parameters associated with the first segment, the configuration parameters associated with the first segment causing the second client device to modify operation of a second interface of the second client application in response to receiving the configuration parameters; The method of claim 1 further comprising:

6. The method of claim 1, further comprising: the interface of the client application providing a peer-to-peer video game tournament using the client application and in accordance with the transmitted configuration parameters, the client application including a gaming application.

7. At least one data processor; A memory that stores instructions wherein the instructions, when executed by the at least one data processor, cause the at least one data processor to: receiving data characterizing a plurality of segments and a plurality of configuration parameters, each of the plurality of configuration parameters associated with at least one of the plurality of segments, each of the plurality of configuration parameters defining operation of an interface of a client application executing on a plurality of client devices; receiving a request for operation of the client application on a first client device of the plurality of client devices; using the received data to determine at least two of the plurality of segments that includes the first client device; selecting a first segment of the at least two of the plurality of segments that includes an associated priority that is higher than an associated priority of each other segment of the at least two of the plurality of segments; transmitting configuration parameters associated with the first segment to the first client device, the configuration parameters associated with the first segment causing the first client device to modify operation of the interface of the client application in response to receiving the transmitted configuration parameters; A system that performs an operation including:

8. The system of claim 7, wherein each segment of the plurality of segments is characterized by one or more attributes, and each client device of the plurality of client devices is characterized by the one or more attributes.

9. The operation comprises: associating each client device of the plurality of client devices with at least one segment of the plurality of segments based on the one or more attributes shared between each client device and the at least one segment; grouping the plurality of client devices into one or more segments of the plurality of segments, each of the one or more segments of the plurality of segments being characterized by a shared set of attributes; The system of claim 8 further comprising:

10. The determining step is periodically recalculated; 8. The system of claim 7, wherein the transmitting of the configuration parameters associated with the first segment to the first client device is responsive to the selecting of the first segment including an associated priority that is higher than the associated priority of each of the at least two other segments of the plurality of segments.

11. The operation comprises: receiving a further request for operation of a second client application executing on a second client device; determining the first segment including the second client device; The system of claim 7 further comprising:

12. The operation comprises: transmitting the configuration parameters associated with the first segment to the second client device, the configuration parameters associated with the first segment causing the second client device to modify operation of a second interface of the second client application in response to receiving the transmitted configuration parameters. The system of claim 11 further comprising:

13. The system of claim 7, wherein the client application includes a gaming application.

14. The operation comprises:

8. The system of claim 7, wherein the interface of the client application further comprises providing a peer-to-peer video game tournament utilizing the client application and in accordance with the transmitted configuration parameters.

15. A non-transitory machine-readable medium storing instructions which, when executed by at least one programmable processor forming part of at least one computing system, cause the at least one processor to: receiving data characterizing a plurality of segments and a plurality of configuration parameters, each of the plurality of configuration parameters associated with at least one of the plurality of segments, each of the plurality of configuration parameters defining operation of an interface of a client application executing on a plurality of client devices; receiving a request for operation of the client application on a first client device of the plurality of client devices; using the received data to determine at least two of the plurality of segments that includes the first client device; selecting a first segment of the at least two of the plurality of segments that includes an associated priority that is higher than an associated priority of each other segment of the at least two of the plurality of segments; transmitting configuration parameters associated with the first segment to the first client device, the configuration parameters associated with the first segment causing the first client device to modify operation of the interface of the client application in response to receiving the transmitted configuration parameters; A non-transitory machine-readable medium for performing 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