IP Library › Granted Patent US 12,053,705
Granted Patent B2
US 12,053,705 · App. 18/331,445 · Granted Aug 6, 2024

System and method for matching users of client applications

Inventors: Andrew Reynolds Meckel (San Francisco, CA); Matthew Palmer (Los Angeles, CA); Samuel York Baker (San Francisco, CA); Scott M. Halladin (Portland, OR); Kevin Babb (Oakland, CA); Scott L. Gregoire (Portland, OR)
Assignee: SKILLS PLATFORM INC.
A63F13/795A63F13/798A63F2300/5566A63F2300/558
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 12,053,705
App. No.
18/331,445
Granted
Aug 6, 2024
Kind
B2
Abstract

In an aspect, a request, from a first user of a plurality of users of an application client executing on respective mobile devices of the plurality of users, to interact with one or more other users of the plurality of users in the application client, based on a first plurality of interaction templates selected by the first user, can be received. A second user associated with a second interaction template can be determined from the plurality of users, and the determination can be based on an identification of a match between the second interaction template and a first interaction template from the first plurality of interaction templates. Interaction in the application client, between the first user and the second user, can be initiated in response to the determination of the second user. Related systems, apparatus, techniques, and articles are also described.

Claims (43)

1. A method, comprising:

receiving, by at least one data processor, a request from a first user of a plurality of users of a client application to initiate an electronic interaction session with one or more other users of the plurality of users based on a first plurality of interaction templates selected by the first user in the client application, wherein the client application executes on respective client devices of the plurality of users, and wherein each of the first plurality of interaction templates is associated with a respective priority;

enqueuing, by the at least one data processor, one of the first plurality of interaction templates according to the respective priority associated with each of the first plurality of interaction templates;

determining, by the at least one data processor, a match between the one of the first plurality of interaction templates and one of a second plurality of interaction templates selected by a second user of the plurality of users in the client application, wherein matching is performed according to the respective priority associated with each of the first plurality of interaction templates;

repeating, by the at least one data processor, the enqueuing and the determining until the match is determined between the one of the first plurality of interaction templates and the one of the second plurality of interaction templates; and

providing, by the at least one data processor, the electronic interaction session in the client application between the first user and the second user based on a matched interaction template when the match is determined.

2. The method of claim 1 , wherein the first plurality of interaction templates is selected by the first user from a set of available interaction templates, and wherein the set of available interaction templates is determined based on a characteristic of the first user.

3. The method of claim 1 , wherein the one of the first plurality of interaction templates remains enqueued while one or more additional interaction templates of the first plurality of templates are enqueued until the match is determined.

4. The method of claim 3 , wherein a rate at which each of the one or more additional interaction templates of the first plurality of templates is enqueued is based on an interaction template expansion rate.

5. The method of claim 4 , wherein the interaction template expansion rate includes one of linear, logarithmic, or exponential.

6. The method of claim 1 , further comprising:

determining, by the at least one data processor, the match between the one of the first plurality of interaction templates and one of a third plurality of interaction templates selected by a third user of the plurality of users in the client application when a length of time for determining the match with the one of the second plurality of interaction templates selected by the second user exceeds a predetermined threshold.

7. The method of claim 1 , wherein each interaction template of the first plurality of interaction templates is associated with a respective user liquidity threshold for matching, the method further comprising:

removing, by the at least one data processor, one or more interaction templates from the first plurality of interaction templates when a respective user liquidity level associated with the one or more interaction templates is less than the respective user liquidity threshold for matching.

8. The method of claim 1 , further comprising:

grouping, by the at least one data processor, the first user with a subset of users of the plurality of users into a first cohort of a plurality of cohorts based on a correspondence of one or more characteristics between the first user and the subset of users, wherein the determining is performed between the first user and the subset of users within the first cohort.

9. The method of claim 1 , wherein the first plurality of interaction templates is displayed to the first user in the client application in prioritized order after selection.

10. The method of claim 1 , wherein the client application is a synchronous competitive skill-based digital game.

11. A system, comprising:

at least one data processor; and

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

receiving a request from a first user of a plurality of users of a client application to initiate an electronic interaction session with one or more other users of the plurality of users based on a first plurality of interaction templates selected by the first user in the client application, wherein the client application executes on respective client devices of the plurality of users, and wherein each of the first plurality of interaction templates is associated with a respective priority;

enqueuing one of the first plurality of interaction templates according to the respective priority associated with each of the first plurality of interaction templates;

determining a match between the one of the first plurality of interaction templates and one of a second plurality of interaction templates selected by a second user of the plurality of users in the client application, wherein matching is performed according to the respective priority associated with each of the first plurality of interaction templates;

repeating the enqueuing and the determining until the match is determined between the one of the first plurality of interaction templates and the one of the second plurality of interaction templates; and

providing the electronic interaction session in the client application between the first user and the second user based on a matched interaction template when the match is determined.

12. The system of claim 11 , wherein the first plurality of interaction templates is selected by the first user from a set of available interaction templates, and wherein the set of available interaction templates is determined based on a characteristic of the first user.

13. The system of claim 11 , wherein the one of the first plurality of interaction templates remains enqueued while one or more additional interaction templates of the first plurality of templates are enqueued until the match is determined.

14. The system of claim 13 , wherein a rate at which each of the one or more additional interaction templates of the first plurality of templates is enqueued is based on an interaction template expansion rate.

15. The system of claim 14 , wherein the interaction template expansion rate includes one of linear, logarithmic, or exponential.

16. The system of claim 11 , wherein the operations further comprise:

determining the match between the one of the first plurality of interaction templates and one of a third plurality of interaction templates selected by a third user of the plurality of users in the client application when a length of time for determining the match with the one of the second plurality of interaction templates selected by the second user exceeds a predetermined threshold.

17. The system of claim 11 , wherein each interaction template of the first plurality of interaction templates is associated with a respective user liquidity threshold for matching, and wherein the operations further comprise:

removing one or more interaction templates from the first plurality of interaction templates when a respective user liquidity level associated with the one or more interaction templates is less than the respective user liquidity threshold for matching.

18. The system of claim 11 , further comprising:

grouping the first user with a subset of users of the plurality of users into a first cohort of a plurality of cohorts based on a correspondence of one or more characteristics between the first user and the subset of users, wherein the determining is performed between the first user and the subset of users within the first cohort.

19. The system of claim 11 , wherein the first plurality of interaction templates is displayed to the first user in the client application in prioritized order after selection.

20. A computer program product comprising a non-transitory machine readable medium storing instructions that, when executed by at least one programmable processor forming part of at least one computing system, cause the at least one programmable processor to perform operations comprising:

receiving a request from a first user of a plurality of users of a client application to initiate an electronic interaction session with one or more other users of the plurality of users based on a first plurality of interaction templates selected by the first user in the client application, wherein the client application executes on respective client devices of the plurality of users, and wherein each of the first plurality of interaction templates is associated with a respective priority;

enqueuing one of the first plurality of interaction templates according to the respective priority associated with each of the first plurality of interaction templates;

determining a match between the one of the first plurality of interaction templates and one of a second plurality of interaction templates selected by a second user of the plurality of users in the client application, wherein matching is performed according to the respective priority associated with each of the first plurality of interaction templates;

repeating the enqueuing and the determining until the match is determined between the one of the first plurality of interaction templates and the one of the second plurality of interaction templates; and

providing the electronic interaction session in the client application between the first user and the second user based on a matched interaction template when the match is determined.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 9, 2023
From: MECKEL, ANDREW REYNOLDS; PALMER, MATTHEW; BAKER, SAMUEL YORK; HALLADIN, SCOTT M.; BABB, KEVIN; GREGOIRE, SCOTT L.
To: SKILLZ PLATFORM INC.
Reel/Frame 063910/0710 →
Continuity (4)
Continuation 17663337 · May 13, 2022
Provisional Application 63269843 · Mar 24, 2022
Provisional Application 63188004 · May 13, 2021
Related Publication 20230347250A1 · Nov 2, 2023
Cited By (1)
US 12,427,429