IP Library Granted Patent US 11,571,630
Granted Patent B2
US 11,571,630 · App. 16/847,383 · Granted Feb 7, 2023

Controlling client operation with segmentation of clients

Inventors: Andrew Paradise (San Francisco, CA); Miriam Aguirre (Oakland, CA)
Assignee: Skillz Platform, Inc.
A63F13/80G06F16/953H04L67/1091H04L67/12
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,571,630
App. No.
16/847,383
Granted
Feb 7, 2023
Kind
B2
Abstract

Data specifying a first segment of a set of clients and first configuration parameters can be received. The first configuration parameters can specify operation of a first interface. The first interface can be integrated into an application. The first segment, including a first subset of the set of clients, can be determined. A request for initiation of operation can be received from the first interface. The first segment can be determined to include a first client. The first configuration parameters can be transmitted. The first configuration parameters can cause the first client to modify operation of the first interface in response to receiving the transmitted configuration parameters. Related apparatus, systems, techniques and articles are also described.

Claims (78)

1. A method comprising:

receiving first data specifying a first segment of a set of clients and first configuration parameters associated with the first segment, the first configuration parameters specifying operation of a first interface integrated into an application;

receiving second data specifying a second segment of the set of clients and second configuration parameters associated with the second segment;

determining, using the received first data, the first segment including a first subset of the set of clients;

determining, using the received second data, the second segment including a second subset of the set of clients;

receiving a request for initiation of operation from the first interface integrated into the application executing on a first client;

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 greater than an associated priority of the second segment; and

transmitting, in response to receiving the request and the determining that the first segment includes the associated priority that is greater than the associated priority of the second segment, the first configuration parameters to the first client, which cause the first client to modify operation of the interface in response to receiving the transmitted first configuration parameters.

2. The method of claim 1 , wherein determining the first segment includes executing a query of a database storing data characterizing the set of clients, the stored data specifying the first segment of the set of clients and including a structured query language expression defining characteristics of clients within the first segment.

3. The method of claim 1 , further comprising:

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 associated with at least one of the plurality of segments of the set of clients, the plurality of segments including the first segment and the plurality of configuration parameters including the first configuration parameters;

determining, using the received data characterizing the plurality of segments and for each of the plurality of segments, subsets associated with respective ones of the plurality of segments, the determined subsets including subsets of the set of clients;

determining that the first client is included in at least two of the plurality of segments; and

determining that the first segment includes an associated priority that is greater than an associated priority of each other segment of the at least two of the plurality of segments, wherein the transmission of the first configuration parameters to the first client is in response to the determining that the first segment includes the associated priority that is greater than the associated priority of each other segment of the at least two of the plurality of segments.

4. The method of claim 1 , further comprising:

receiving a request for operation from a second interface integrated into a second application executing on a second client;

determining that the first segment includes the second client; and

transmitting, in response to receiving the request for operation from the second interface, the first configuration parameters to the second client, which cause the second client to modify operation of the second interface in response to receiving the transmitted first configuration parameters.

5. The method of claim 1 , further comprising:

determining, based on the first configuration parameters associated with the first segment, operation for use in executing operation; and

transmitting the determined operation to the first interface.

6. The method of claim 1 , wherein the first configuration parameters include one or more of chat enabled or disabled, custom matches enabled or disabled, play enabled or disabled, user interface elements to display, tournaments to make available, geographic locations to make available, reconnection tolerance, and network latency thresholds.

7. The method of claim 1 , wherein the first segment of the set of clients forms part of a system that includes a segmentation manager engine, a continuous delivery pipeline, a configuration parameter manager engine, and the set of clients; and

wherein the segmentation manager engine is configured to prompt a user for input specifying the first segment of the set of clients and to perform the receiving data specifying the first segment of the set of clients, the segmentation manager engine configured to provide the received data specifying the first segment of the set of clients to the continuous delivery pipeline;

wherein the continuous delivery pipeline is configured to perform the determining of the first segment, the determining of the first segment including executing a query of a database storing data characterizing the set of clients, the stored data specifying the first segment of the set of clients and including a structured query language expression defining characteristics of clients within the first segment, the continuous delivery pipeline configured to provide the determined first segment to the configuration parameter manager engine;

wherein the configuration parameter manager engine is configured to perform the receiving of the request for initiation of operation from the first interface, perform the determining that the first segment includes the first client, and perform the transmitting of the first configuration parameters to the first client.

8. The method of claim 7 , further comprising:

determining the first segment is determined periodically; and

determining the first segment after a current iteration of determining the first segment including:

removing clients in the first segment after a preceding iteration of determining the first segment that are not determined to be in the first segment after the current iteration of determining the first segment; and

adding clients determined to be in the first segment after the current iteration of determining the first segment that were not in the first segment after the preceding iteration of determining the first segment.

9. The method of claim 1 , further comprising:

modifying, by the first interface, operation of the first interface in response to receiving the transmitted first configuration parameters.

10. The method of claim 1 , further comprising:

providing, by the first interface, a tournament utilizing the application and according to the first configuration parameters.

11. A computer program product comprising 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 perform operations comprising:

receiving first data specifying a first segment of a set of clients and first configuration parameters associated with the first segment, the first configuration parameters specifying operation of a first interface integrated into an application;

receiving second data specifying a second segment of the set of clients and second configuration parameters associated with the second segment;

determining, using the received first data, the first segment including a first subset of the set of clients;

determining, using the received second data, the second segment including a second subset of the set of clients;

receiving a request for initiation of operation from the first interface integrated into the application executing on a first client;

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 greater than an associated priority of the second segment; and

transmitting, in response to receiving the request and the determining that the first segment includes the associated priority that is greater than the associated priority of the second segment, the first configuration parameters to the first client, which cause the first client to modify operation of the interface in response to receiving the transmitted first configuration parameters.

12. A system comprising:

at least one data processor; and

memory storing instructions, which when executed by the at least one data processor causes the at least one data processor to perform operations comprising:

receiving first data specifying a first segment of a set of clients and first configuration parameters associated with the first segment, the first configuration parameters specifying operation of a first interface integrated into an application;

receiving second data specifying a second segment of the set of clients and second configuration parameters associated with the second segment;

determining, using the received first data, the first segment including a first subset of the set of clients;

determining, using the received second data, the second segment including a second subset of the set of clients;

receiving a request for initiation of operation from the first interface integrated into the application executing on a first client;

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 greater than an associated priority of the second segment; and

transmitting, in response to receiving the request and the determining that the first segment includes the associated priority that is greater than the associated priority of the second segment, the first configuration parameters to the first client, which cause the first client to modify operation of the interface in response to receiving the transmitted first configuration parameters.

13. The system of claim 12 , wherein determining the first segment includes executing a query of a database storing data characterizing the set of clients, the stored data specifying the first segment of the set of clients and including a structured query language expression defining characteristics of clients within the first segment.

14. The system of claim 12 , the operations further comprising:

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 associated with at least one of the plurality of segments of the set of clients, the plurality of segments including the first segment and the plurality of configuration parameters including the first configuration parameters;

determining, using the received data characterizing the plurality of segments and for each of the plurality of segments, subsets associated with respective ones of the plurality of segments, the determined subsets including subsets of the set of clients;

determining that the first client is included in at least two of the plurality of segments; and

determining that the first segment includes an associated priority that is greater than an associated priority of each other segment of the at least two of the plurality of segments, wherein the transmission of the first configuration parameters to the first client is in response to the determining that the first segment includes the associated priority that is greater than the associated priority of each other segment of the at least two of the plurality of segments.

15. The system of claim 12 , the operations further comprising:

receiving a request for operation from a second interface integrated into a second application executing on a second client;

determining that the first segment includes the second client; and

transmitting, in response to receiving the request for operation from the second interface, the first configuration parameters to the second client, which cause the second client to modify operation of the second interface in response to receiving the transmitted first configuration parameters.

16. The system of claim 12 , the operations further comprising:

determining, based on the first configuration parameters associated with the first segment, operation for use in executing operation; and

transmitting the determined operation to the first interface.

17. The system of claim 12 , wherein the first configuration parameters include one or more of chat enabled or disabled, custom matches enabled or disabled, play enabled or disabled, user interface elements to display, tournaments to make available, geographic locations to make available, reconnection tolerance and network latency thresholds.

18. The system of claim 12 , wherein the first segment of the set of clients forms part of a system that includes a segmentation manager engine, a continuous delivery pipeline, a configuration parameter manager engine, and the set of clients;

wherein the segmentation manager engine is configured to prompt a user for input specifying the first segment of the set of clients and to perform the receiving data specifying the first segment of the set of clients, the segmentation manager engine configured to provide the received data specifying the first segment of the set of clients to the continuous delivery pipeline;

wherein the continuous delivery pipeline is configured to perform the determining of the first segment, the determining of the first segment including executing a query of a database storing data characterizing the set of clients, the stored data specifying the first segment of the set of clients and including a structured query language expression defining characteristics of clients within the first segment, the continuous delivery pipeline configured to provide the determined first segment to the configuration parameter manager engine; and

wherein the configuration parameter manager engine is configured to perform the receiving of the request for initiation of operation from the first interface, perform the determining that the first segment includes the first client, and perform the transmitting of the first configuration parameters to the first client.

19. The method of claim 1 , further comprising:

grouping the set of clients into a plurality of segments, wherein each segment of the plurality of segments is characterized by a shared set of attributes.

20. The system of claim 12 , the operations further comprising:

grouping the set of clients into a plurality of segments, wherein each segment of the plurality of segments is characterized by a shared set of attributes.

Assignments (3)
SECURITY INTEREST Recorded Dec 21, 2021
From: SKILLZ PLATFORM INC.
To: UMB BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 058448/0513 →
CHANGE OF NAME Recorded Mar 23, 2021
From: SKILLZ INC.
To: SKILLZ PLATFORM INC.
Reel/Frame 055684/0156 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 24, 2021
From: PARADISE, ANDREW; AGUIRRE, MIRIAM
To: SKILLZ INC.
Reel/Frame 055010/0918 →
Continuity (2)
Continuation 16269758 · Feb 7, 2019
Related Publication 20200254349A1 · Aug 13, 2020
Cited By (1)
US 12,343,641