RELATED APPLICATION

This application is related to copending application, entitled SYSTEMS AND METHODS FOR QUEUING REQUESTS AND PROVIDING QUEUE STATUS, Ser. No. 11/014,269, filed on Dec. 16, 2004, the entirety of which is hereby incorporated by reference in its entirety for all purposes.

COPYRIGHT RIGHTS

A portion of the disclosure of this patent document contains material that is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention is related to queuing, and in particular, to apparatus and processes for queuing access to network resources.

2. Description of the Related Art

Many online processes involve large numbers of users attempting to access networked systems and resources with limited capacity. For example, with respect to online auctions, there may be a limited number of items, such as tickets, being auctioned, and a large number of users that want to bid for such items at about the same time or within a short period of time. In many conventional systems, when such a situation occurs, the system may not be able to process all user requests, and so many users may be provided with an error message informing them that system access is not currently available and instructing users to attempt to access the system at a later time. This can cause user frustration and discourage many users from further attempting to access the system.

In addition, with some conventional systems, when large numbers of users attempt to access the system at about the same time, the system may disadvantageously fail to provide orderly or fair access to the system resources.

SUMMARY OF THE INVENTION

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, such as, by way of example, situations where demand far exceeds resources.

In one example embodiment, a queuing process provides user access to network resources, such as those involved in ticket transactions, in a fair, systematic, and deterministic manner while maintaining transaction state information with the detection of implicit or explicit abandonment of user places in the queue.

Advantageously, inordinate processing resources are not expended on the maintenance of user connections to the system prior to being serviced by the limited system resource. Additionally, in order to allow a wide variety of user clients or terminal-types, including those with limited processor power, to access a server-based system, functionality on the user side is optionally kept simple. By way of example, the user terminal can be a computing device executing a browser, such as a browser-equipped personal digital assistant, cell phone, interactive television, or personal computer.

To further ensure equitable access to the limited system resources, the queue is preferably resistant to tampering such that a user's position in the queue is controlled by the server side, rather than the client or user terminal side. Preferably, the system recovers from server-side failures substantially transparently to end-users.

One example embodiment provides a method of queuing ticketing requests using a ticketing computer system, the method comprising: receiving at a ticketing computer system an electronic request for a ticket transmitted from a user browser; queuing the request within the ticketing computer system; transmitting an instruction from the ticketing computer system to the browser, the instruction causing the browser to transmit messages at a periodic rate to the ticketing computer system during a first period; determining if the browser has ceased transmitting messages for at least a first duration during the first period; determining if the browser is transmitting messages at greater than a first frequency during the first period; in response to determining that the browser has ceased transmitting messages during the first period or that the browser is transmitting messages at greater than a first frequency during the first period, determining that the request is not to be fulfilled; and responding to the request when the browser has not ceased transmitting messages during the first period and is not transmitting messages at greater than a first frequency during the first period.

Another example embodiment provides a ticket system that queues ticket requests, the system comprising: a ticket queue in computer readable memory that queues a ticketing request received from a client system prior to fulfilling the ticketing request; and a ticketing request processing module stored in computer readable memory configured to cause the client system to repeatedly transmit messages to the ticket system during a first period, and in response to determining that the client system has ceased transmitting messages during the first period, to remove the ticketing request from the ticket queue and/or cause the ticketing request to go unfulfilled.

Still another example embodiment provides an electronic ticketing management method, the comprising: receiving at a computer ticketing system a ticketing request from a networked first request source; determining if a number of ticket-related communications from the first request source exceeds a first amount in a first window of time; and at least partly in response to determining that the number of ticket-related communications from the first request source exceeds the first amount in the first window of time, preventing at least one ticket related request from the first request source from being serviced.

One example embodiment provides an electronic ticketing management method, comprising: rendering a ticketing Web page form for display to a user; determining if the user has a ticket in a reserved state by accessing information stored in computer readable memory; retrieving from computer readable memory a value related to an amount of time the user has to complete the Web page form before expiration of the ticket reservation; electronically determining if the ticket reservation has expired at least partly as a result of the user failing to timely complete the Web page form; and after determining that the ticket reservation has expired, causing a reservation expiration notice to be presented to the user.

Another example embodiment provides a method of queuing requests using a computer system, the method comprising: receiving at a computer system an electronic request transmitted for a resource from a client computer associated with a user; electronically queuing the request; transmitting an instruction from the computer system to the client system, the instruction intended to cause the client system to transmit messages to the computer system during a first period at a first rate; determining if the client system has ceased transmitting the messages for at least a first duration during the first period; at least partly in response to determining that the client system has ceased transmitting messages during the first period, determining that the request is not to be fulfilled, and based at least in part on determining that the client system has not ceased transmitting messages during the first period, responding to the request.

