IP Library Granted Patent US 10,534,928
Granted Patent B1
US 10,534,928 · App. 16/195,568 · Granted Jan 14, 2020

Systems and methods for dynamic queue control using machine learning techniques

Inventors: Mark Roden (Los Angeles, CA); Dan Cernoch (Los Angeles, CA); Victoria Chung (Irvine, CA)
Assignee: Live Nation Entertainment, Inc.
G06F21/6218G06N20/00
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 10,534,928
App. No.
16/195,568
Granted
Jan 14, 2020
Kind
B1
Abstract

Certain embodiments of the present disclosure relate to systems and methods that control access to system resources, such as interfaces, access rights to events, query systems, and other suitable system resources. Further, certain embodiments of the present disclosure relate to a collision detection technique that is implemented to control which and/or a number of queue positions within a queue that are processed. In some implementations, a collision may be detected when two or more users request the same access right within a defined time period.

Claims (49)

1. A system, comprising:

one or more processors; and

a non-transitory computer-readable storage medium containing instructions which, when executed on the one or more processors, cause the one or more processors to perform operations including:

storing a plurality of access rights to a resource, each access right of the plurality of access rights being associated with an digital ticket that enables access to the resource, wherein the resource is associated with an event, and each access right of the plurality of access rights being unique from other access rights of the plurality of access rights;

receiving a plurality of communications, each communication of the plurality of communications corresponding to a request for assignment of one or more access rights of the plurality of access rights, and each communication of the plurality of communications being transmitted by a user device accessing an interface;

generating a queue to process the plurality of communications, the queue including a plurality of queue positions, each queue position of the plurality of queue positions being configured to store the request corresponding to a communication of the plurality of communications;

storing a group of requests for assigning one or more access rights, each request of the group of requests being stored in a queue position of the queue, and the group of requests including at least a portion of requests that correspond to the plurality of communications;

determining, during a defined time period, a frequency of collisions between requests of the plurality of requests, a collision being determined upon at least two requests requesting a same access right of the plurality of access rights within the defined time period;

determining a throttle factor based on the detected frequency of collisions, the throttle factor controlling a workflow associated with processing one or more queue positions of the plurality of queue positions, the workflow causing a modifiable rate of queue positions to be processed during a processing time period, the modifiable rate indicating a modifiable number of queue positions of the plurality of queue positions that are processed together during the processing time period, and the modifiable rate being determined based at least in part on the throttle factor; and

processing the plurality of queue positions according to the workflow, the processing including identifying one or more queue positions of the plurality of queue positions at the modifiable rate and enabling the user device associated with each queue position of the one or more queue positions to complete an assignment process for assigning one or more access rights to the user device.

2. The system of claim 1 , wherein the modifiable rate of processing queue positions is automatically modified so as to maintain a substantially constant frequency of collisions, and wherein modifying the modifiable rate includes increasing or decreasing a number of queue positions processed during an additional time period.

3. The system of claim 1 , wherein the modifiable rate of processing queue positions is initially determined based on a number of access rights of the plurality of access rights that have not been assigned to at least one user device upon enabling the plurality of access rights to be assigned to user devices.

4. The system of claim 1 , wherein the operation of identifying the one or more queue positions of the plurality of queue positions at the modifiable rate comprises:

generating a resource-affinity parameter for each user device associated with a queue position of the identified one or more queue positions, the generation of the resource-affinity parameter being based on a machine-learning-based ranking technique using one or more previous patterns of behavior associated with an identifier of the user device; and

selecting one or more user devices for which the generated resource-affinity parameter is equal to or exceeds a threshold, the selected one or more user devices corresponding to the identified one or more queue positions and being enabled to complete the assignment process.

5. The system of claim 1 , wherein the plurality of communications are stored in the plurality of queue positions on a first-in-time basis, the first-in-time basis causing a first communication received at a first time to be stored at a first queue position and a second communication received at a second time to be stored at a second queue position, wherein when the first time is before the second time, the first communication stored at the first queue position is processed before the second communication stored at the second queue position.

6. The system of claim 5 , wherein the plurality of communications are stored in the plurality of queue positions on a pseudo-random basis.

7. The system of claim 1 , wherein the interface is displayed on a user device, and wherein the interface enables a user to query the plurality of access rights associated with the resource for at least one access right that satisfies a constraint.

8. A computer-implemented method comprising:

storing a plurality of access rights to a resource, each access right of the plurality of access rights being associated with an digital ticket that enables access to the resource, wherein the resource is associated with an event, and each access right of the plurality of access rights being unique from other access rights of the plurality of access rights;

receiving a plurality of communications, each communication of the plurality of communications corresponding to a request for assignment of one or more access rights of the plurality of access rights, and each communication of the plurality of communications being transmitted by a user device accessing an interface;

generating a queue to process the plurality of communications, the queue including a plurality of queue positions, each queue position of the plurality of queue positions being configured to store the request corresponding to a communication of the plurality of communications;

storing a group of requests for assigning one or more access rights, each request of the group of requests being stored in a queue position of the queue, and the group of requests including at least a portion of requests that correspond to the plurality of communications;

determining, during a defined time period, a frequency of collisions between requests of the plurality of requests, a collision being determined upon at least two requests requesting a same access right of the plurality of access rights within the defined time period;

determining a throttle factor based on the detected frequency of collisions, the throttle factor controlling a workflow associated with processing one or more queue positions of the plurality of queue positions, the workflow causing a modifiable rate of queue positions to be processed during a processing time period, the modifiable rate indicating a modifiable number of queue positions of the plurality of queue positions that are processed together during the processing time period, and the modifiable rate being determined based at least in part on the throttle factor; and

processing the plurality of queue positions according to the workflow, the processing including identifying one or more queue positions of the plurality of queue positions at the modifiable rate and enabling the user device associated with each queue position of the one or more queue positions to complete an assignment process for assigning one or more access rights to the user device.

9. The computer-implemented method of claim 8 , wherein the modifiable rate of processing queue positions is automatically modified so as to maintain a substantially constant frequency of collisions, and wherein modifying the modifiable rate includes increasing or decreasing a number of queue positions processed during an additional time period.

10. The computer-implemented method of claim 8 , wherein the modifiable rate of processing queue positions is initially determined based on a number of access rights of the plurality of access rights that have not been assigned to at least one user device upon enabling the plurality of access rights to be assigned to user devices.

11. The computer-implemented method of claim 8 , wherein the operation of identifying the one or more queue positions of the plurality of queue positions at the modifiable rate comprises:

generating a resource-affinity parameter for each user device associated with a queue position of the identified one or more queue positions, the generation of the resource-affinity parameter being based on a machine-learning-based ranking technique using one or more previous patterns of behavior associated with an identifier of the user device; and

selecting one or more user devices for which the generated resource-affinity parameter is equal to or exceeds a threshold, the selected one or more user devices corresponding to the identified one or more queue positions and being enabled to complete the assignment process.

12. The computer-implemented method of claim 8 , wherein the plurality of communications are stored in the plurality of queue positions on a first-in-time basis, the first-in-time basis causing a first communication received at a first time to be stored at a first queue position and a second communication received at a second time to be stored at a second queue position, wherein when the first time is before the second time, the first communication stored at the first queue position is processed before the second communication stored at the second queue position.

13. The computer-implemented method of claim 12 , wherein the plurality of communications are stored in the plurality of queue positions on a pseudo-random basis.

14. The computer-implemented method of claim 8 , wherein the interface is displayed on a user device, and wherein the interface enables a user to query the plurality of access rights associated with the resource for at least one access right that satisfies a constraint.

15. A computer-program product tangibly embodied in a non-transitory machine-readable storage medium, including instructions configured to cause a data processing apparatus to perform operations including:

storing a plurality of access rights to a resource, each access right of the plurality of access rights being associated with an digital ticket that enables access to the resource, wherein the resource is associated with an event, and each access right of the plurality of access rights being unique from other access rights of the plurality of access rights;

receiving a plurality of communications, each communication of the plurality of communications corresponding to a request for assignment of one or more access rights of the plurality of access rights, and each communication of the plurality of communications being transmitted by a user device accessing an interface;

generating a queue to process the plurality of communications, the queue including a plurality of queue positions, each queue position of the plurality of queue positions being configured to store the request corresponding to a communication of the plurality of communications;

storing a group of requests for assigning one or more access rights, each request of the group of requests being stored in a queue position of the queue, and the group of requests including at least a portion of requests that correspond to the plurality of communications;

determining, during a defined time period, a frequency of collisions between requests of the plurality of requests, a collision being determined upon at least two requests requesting a same access right of the plurality of access rights within the defined time period;

determining a throttle factor based on the detected frequency of collisions, the throttle factor controlling a workflow associated with processing one or more queue positions of the plurality of queue positions, the workflow causing a modifiable rate of queue positions to be processed during a processing time period, the modifiable rate indicating a modifiable number of queue positions of the plurality of queue positions that are processed together during the processing time period, and the modifiable rate being determined based at least in part on the throttle factor; and

processing the plurality of queue positions according to the workflow, the processing including identifying one or more queue positions of the plurality of queue positions at the modifiable rate and enabling the user device associated with each queue position of the one or more queue positions to complete an assignment process for assigning one or more access rights to the user device.

16. The computer-program product of claim 15 , wherein the modifiable rate of processing queue positions is automatically modified so as to maintain a substantially constant frequency of collisions, and wherein modifying the modifiable rate includes increasing or decreasing a number of queue positions processed during an additional time period.

17. The computer-program product of claim 15 , wherein the modifiable rate of processing queue positions is initially determined based on a number of access rights of the plurality of access rights that have not been assigned to at least one user device upon enabling the plurality of access rights to be assigned to user devices.

18. The computer-program product of claim 15 , wherein the operation of identifying the one or more queue positions of the plurality of queue positions at the modifiable rate comprises:

generating a resource-affinity parameter for each user device associated with a queue position of the identified one or more queue positions, the generation of the resource-affinity parameter being based on a machine-learning-based ranking technique using one or more previous patterns of behavior associated with an identifier of the user device; and

selecting one or more user devices for which the generated resource-affinity parameter is equal to or exceeds a threshold, the selected one or more user devices corresponding to the identified one or more queue positions and being enabled to complete the assignment process.

19. The computer-program product of claim 15 , wherein the plurality of communications are stored in the plurality of queue positions on a first-in-time basis, the first-in-time basis causing a first communication received at a first time to be stored at a first queue position and a second communication received at a second time to be stored at a second queue position, wherein when the first time is before the second time, the first communication stored at the first queue position is processed before the second communication stored at the second queue position.

20. The computer-program product of claim 19 , wherein the plurality of communications are stored in the plurality of queue positions on a pseudo-random basis.

Assignments (4)
SECURITY AGREEMENT Recorded Jan 4, 2021
From: LIVE NATION ENTERTAINMENT, INC.; LIVE NATION WORLDWIDE, INC.
To: U.S. BANK NATIONAL ASSOCIATION
Reel/Frame 054891/0552 →
SECURITY AGREEMENT Recorded May 20, 2020
From: LIVE NATION ENTERTAINMENT, INC.; LIVE NATION WORLDWIDE, INC.
To: U.S. BANK NATIONAL ASSOCIATION
Reel/Frame 052718/0016 →
SECURITY AGREEMENT Recorded Oct 17, 2019
From: LIVE NATION ENTERTAINMENT, INC.; LIVE NATION WORLDWIDE, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 050754/0505 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 4, 2019
From: RODEN, MARK; CERNOCH, DAN; CHUNG, VICTORIA
To: LIVE NATION ENTERTAINMENT, INC.
Reel/Frame 050629/0559 →
Cited By (2)
US 12,197,308 US 12,210,940