Systems and methods for queuing access to network resources
View Patent ↗One embodiment of the present invention provides apparatus and methods for queuing access by large numbers of Internet or other network-based users to networked systems and resources with limited capacity. In one example embodiment, a queuing system provides user access to network resources, such as that of a ticketing system. A ticket queue queues a request received from a client system. A request processing module causes the client system to repeatedly transmit messages to the system during a first period, and in response to determining that the client system has ceased transmitting messages during the first period, the request is remove from the queue and/or cause the request goes unfulfilled.
1. A ticketing system, including at least one processing device, configured to process queued requests for event tickets, the ticketing system comprising:
a network interface configured to communicate with user terminals submitting ticket-related requests;
one or more computing devices;
non-transitory media storing program instructions configured to cause the one or more computing devices to perform operations comprising:
receiving ticket-related requests via the network interface, the ticket-related requests including a ticket-related request of a first type;
queuing at least a portion of the received ticket-related requests;
modulating a load level with respect to a first ticketing system resource to obtain a level substantially within a first range bounded at least in part using a first threshold and a second threshold, wherein the first threshold is different than the second threshold, by:
determining if a current first ticketing system resource pool size for the first type of ticket-related request is below the first threshold;
if the current first ticketing system resource pool size for the first type of ticket-related request is below the first threshold,
causing additional resources to be allocated to the current first ticketing system resource pool for the first type of ticket-related request to service additional ticket-related requests of the first type received over the network interface;
determining if the current first ticketing system resource pool size for the first type of ticket-related request is above the second threshold; and
at least partly in response to determining that the current first ticketing system resource pool size for the first type of ticket-related request is above a second threshold,
causing a reduction of available resources from the current first ticketing system resource pool.
2. The ticketing system as defined in claim 1 , the operations further comprising:
receiving a first plurality of ticket-related requests of the first type, wherein the first type is a request for a ticket;
receiving a second plurality of requests of a second type, wherein the second type is a help request or an account information request;
if the second plurality of requests of the second type is consuming less than a first amount of resources, then assigning a new request of the second type a first resource prior to assigning the first resource to a new request of the first type; and
if the second plurality of requests of the second type is consuming more than a second amount of resources, then assigning a new request of the first type the first resource prior to assigning the first resource to a new request of the second type.
3. The ticketing system as defined in claim 1 , wherein the first type of ticket-related request is a request for an event ticket.
4. The ticketing system as defined in claim 1 , wherein the first type of ticket-related request is a request for account information.
5. The ticketing system as defined in claim 1 , wherein the first type of ticket-related request is a help request.
6. The ticketing system as defined in claim 1 , wherein an amount of resources allocated to the current resource pool is determined at least in part using a geometric mean equation including at least a desired ticketing system load value and a current ticketing system load value.
7. The ticketing system as defined in claim 1 , the operations further comprising calculating a value corresponding to how many new ticket-related requests are to be handled at a given time period by the ticketing system based at least in part on:
a desired ticketing system load value,
a current ticketing system load value,
a current number of ticket-related requests, and
a maximum request increase rate value.
8. The ticketing system as defined in claim 1 , the operations further comprising calculating a value corresponding to how many ticket-related requests of the first type are to be handled at a given time period based at least in part on:
a desired ticketing system load value,
a current ticketing system load value, and
a current number of ticket-related requests.
9. The ticketing system as defined in claim 1 , wherein an amount of resources allocated to the current resource pool is based at least in part on a current system load and a desired system load.
10. The ticketing system as defined in claim 1 , the operations further comprising adjusting an availability of resources to cause, at least in part, a quantity of connections with user terminals submitting ticket-related requests to remain within a first range.
11. The ticketing system as defined in claim 1 , the operations further comprising adjusting an availability of resources based at least in part on a response time of the ticketing system to one or more ticket-related requests.
12. The ticketing system as defined in claim 1 , the operations further comprising inhibiting an allocation of additional resources to the first type of ticket-related request at least partly in response to determining that servicing current ticket-related requests of the first type is consuming more than a first preset number of resources.
13. The ticketing system as defined in claim 1 , the operations further comprising allocating a next available resource to a first ticket-related request of the first type from the current resource pool at least partly in response to determining that servicing current ticket-related requests of the first type is consuming less than a first preset number of resources from the current resource pool.
14. The ticketing system as defined in claim 1 , the operations further comprising allocating a next available resource to a first ticket-related request of a second type from the current resource pool at least partly in response to determining that ticket-related requests of the second type is consuming the least amount of resources from the current resource pool relative to ticket-related requests of other types.
15. The ticketing system as defined in claim 1 , the operations further comprising allocating a next available resource to a first ticket-related request of a second type from the current resource pool at least partly in response to determining that ticket-related requests of the second type is consuming less than a preset amount.
16. A method of managing a pool of event ticket-related resources associated with a queue including event ticket requests, the method comprising:
receiving, by a ticketing system including one or more computing devices, ticket-related requests, the ticket-related requests including a ticket-related request of a first type;
queuing, by the ticketing system, at least a portion of the received ticket-related requests, including a ticket-related request of a first type;
modulating a load level with respect to at least one ticketing system resource to obtain a level substantially within a first range bounded at least in part using a first threshold and a second threshold, wherein the first threshold is different than the second threshold, by:
determining, by the ticketing system, if a current ticketing system resource pool size for the first type of ticket-related request is below the first threshold;
if the current ticketing system resource pool size for the first type of ticket-related request is below the first threshold,
causing, by the ticketing system, more resources to be allocated to the current ticketing system resource pool for the first type of ticket-related request;
determining, by the ticketing system, if the current ticketing system resource pool size for the first type of ticket-related request is above the second threshold; and
at least partly in response to determining that the current ticketing system resource pool size for the first type of ticket-related request is above a second threshold,
causing, by the ticketing system, a reduction of available ticketing system resources from the current ticketing system resource pool.
17. The method as defined in claim 16 , the method comprising:
receiving a first plurality of ticket-related requests of the first type, wherein the first type is a request for a ticket;
receiving a second plurality of requests of a second type, wherein the second type is a help request or an account information request;
if the second plurality of requests of the second type is consuming less than a first amount of resources, then assigning a new request of the second type a first resource prior to assigning the first resource to a new request of the first type; and
if the second plurality of requests of the second type is consuming more than a second amount of resources, then assigning a new request of the first type the first resource prior to assigning the first resource to a new request of the second type.
18. The method a defined in claim 16 , wherein the first type of ticket-related request is a request for an event ticket.
19. The method a defined in claim 16 , wherein the first type of ticket-related request is a request for account information.
20. The method a defined in claim 16 , wherein the first type of ticket-related request is a help request.
21. The method a defined in claim 16 , wherein an amount of resources allocated to the current resource pool is determined at least in part using a geometric mean equation including at least a desired ticketing system load value and a current ticketing system load value.
22. The method a defined in claim 16 , the method further comprising calculating a value corresponding to how many new ticket-related requests are to be handled at a given time period by the ticketing system based at least in part on:
a desired ticketing system load value,
a current ticketing system load value,
a current number of ticket-related requests, and
a maximum request increase rate value.
23. The method a defined in claim 16 , the method further comprising calculating a value corresponding to how many ticket-related requests of the first type are to be handled at a given time period based at least in part on:
a desired ticketing system load value,
a current ticketing system load value, and
a current number of ticket-related requests.
24. The method a defined in claim 16 , wherein an amount of resources allocated to the current resource pool is based at least in part on a current system load and a desired system load.
25. The method a defined in claim 16 , the method further comprising adjusting an availability of resources to cause, at least in part, a quantity of connections with user terminals submitting ticket-related requests to remain within a first range.
26. The method a defined in claim 16 , the method further comprising adjusting an availability of resources based at least in part on a response time of the ticketing system to one or more ticket-related requests.
27. The method a defined in claim 16 , the method further comprising inhibiting an allocation of additional resources to the first type of ticket-related request at least partly in response to determining that servicing current ticket-related requests of the first type is consuming more than a first preset number of resources.
28. The method a defined in claim 16 , the method further comprising allocating a next available resource to a first ticket-related request of the first type from the current resource pool at least partly in response to determining that servicing current ticket-related requests of the first type is consuming less than a first preset number of resources from the current resource pool.
29. The method a defined in claim 16 , the method further comprising allocating a next available resource to a first ticket-related request of a second type from the current resource pool at least partly in response to determining that ticket-related requests of the second type is consuming the least amount of resources from the current resource pool relative to ticket-related requests of other types.
30. The method a defined in claim 16 , the method further comprising allocating a next available resource to a first ticket-related request of a second type from the current resource pool at least partly in response to determining that ticket-related requests of the second type is consuming less than a preset amount.
31. Non-transitory media storing program instructions configured to cause a computing system including one or more computing device to perform operations comprising:
receiving a first plurality of ticket-related requests;
queuing at least a portion of the first plurality of ticket-related requests, including a ticket-related request of a first type;
modulating a load level with respect to a first ticketing system resource to obtain a level substantially within a first range bounded at least in part using a first threshold and a second threshold, wherein the first threshold is different than the second threshold, by:
determining if a current resource pool size for the first type of ticket-related request is below the first threshold;
if the current ticketing system resource pool size for the first type of ticket-related request is below the first threshold,
causing additional resources to be allocated to the current ticketing system resource pool for the first type of ticket-related request to service additional ticket-related requests of the first type;
determining if the current ticketing system resource pool size for the first type of ticket-related request is above the second threshold; and
at least partly in response to determining that the current ticketing system resource pool size for the first type of ticket-related request is above a second threshold,
causing a reduction of available ticketing system resources from the current ticketing system resource pool.
32. The non-transitory media as defined in claim 31 , the operations further comprising:
receiving a first plurality of ticket-related requests of the first type, wherein the first type is a request for a ticket;
receiving a second plurality of requests of a second type, wherein the second type is a help request or an account information request;
if the second plurality of requests of the second type is consuming less than a first amount of resources, then assigning a new request of the second type a first resource prior to assigning the first resource to a new request of the first type; and
if the second plurality of requests of the second type is consuming more than a second amount of resources, then assigning a new request of the first type the first resource prior to assigning the first resource to a new request of the second type.
33. The non-transitory media as defined in claim 31 , wherein the first type of ticket-related request is a request for an event ticket.
34. The non-transitory media as defined in claim 31 , wherein the first type of ticket-related request is a request for account information.
35. The non-transitory media as defined in claim 31 , wherein the first type of ticket-related request is a help request.
36. The non-transitory media as defined in claim 31 , wherein an amount of resources allocated to the current resource pool is determined at least in part using a geometric mean equation including at least a desired ticketing system load value and a current ticketing system load value.
37. The non-transitory media as defined in claim 31 , the operations further comprising calculating a value corresponding to how many new ticket-related requests are to be handled at a given time period by The non-transitory media based at least in part on:
a desired ticketing system load value,
a current ticketing system load value,
a current number of ticket-related requests, and
a maximum request increase rate value.
38. The non-transitory media as defined in claim 31 , the operations further comprising calculating a value corresponding to how many ticket-related requests of the first type are to be handled at a given time period based at least in part on:
a desired ticketing system load value,
a current ticketing system load value, and
a current number of ticket-related requests.
39. The non-transitory media as defined in claim 31 , wherein an amount of resources allocated to the current resource pool is based at least in part on a current system load and a desired system load.
40. The non-transitory media as defined in claim 31 , the operations further comprising adjusting an availability of resources to cause, at least in part, a quantity of connections with user terminals submitting ticket-related requests to remain within a first range.
41. The non-transitory media as defined in claim 31 , the operations further comprising adjusting an availability of resources based at least in part on a response time of The non-transitory media to one or more ticket-related requests.
42. The non-transitory media as defined in claim 31 , the operations further comprising inhibiting an allocation of additional resources to the first type of ticket-related request at least partly in response to determining that servicing current ticket-related requests of the first type is consuming more than a first preset number of resources.
43. The non-transitory media as defined in claim 31 , the operations further comprising allocating a next available resource to a first ticket-related request of the first type from the current resource pool at least partly in response to determining that servicing current ticket-related requests of the first type is consuming less than a first preset number of resources from the current resource pool.
44. The non-transitory media as defined in claim 31 , the operations further comprising allocating a next available resource to a first ticket-related request of a second type from the current resource pool at least partly in response to determining that ticket-related requests of the second type is consuming the least amount of resources from the current resource pool relative to ticket-related requests of other types.
45. The non-transitory media as defined in claim 31 , the operations further comprising allocating a next available resource to a first ticket-related request of a second type from the current resource pool at least partly in response to determining that ticket-related requests of the second type is consuming less than a preset amount.