SYSTEM FOR INTERACTIVE PARTICIPATION BY REMOTE BIDDERS IN LIVE AUCTIONS
A distributed auction system allows remote bidders to interactively participate by computer in live auctions conducted on-site by an auctioneer. A client program that runs on the computers of the remote bidders displays real time auction status information extracted from status messages, and provides functionality of the remote bidders to submit live bids that are based on such status information. A network of nodes may be used to filter out invalid bids from the remote bidders so that such bids need not be processed by an auction server.
This application is a division of U.S. application Ser. No. 11/739,015, filed on Apr. 23, 2007, which is a continuation of U.S. application Ser. No. 10/188,027, filed Jul. 1, 2002 (now U.S. Pat. No. 7,216,103), which is a continuation of U.S. application Ser. No. 09/231,127, filed Dec. 30, 1998 (now U.S. Pat. No. 6,449,601), the disclosure of which is hereby incorporated by reference.
TECHNICAL FIELDThe present invention relates to real time, network-based data processing systems for enabling remote bidders to interactively participate in live auctions conducted by auctioneers.
BACKGROUND OF THE INVENTIONDuring the past five years, the Internet has blossomed from a medium for simple data exchange and messaging to the fastest growing, most innovative medium for information exchange and commerce. Virtual shopping malls, buying services, and other types of Internet-based retailing methods are being employed by an ever increasing number of retail merchants. In addition, a number of organizations, including eBay™, provide Internet-based auctions. Sellers of goods and services register those goods and services with the auction organization, and the auction organization then provides information over the Internet about the goods and services to potential bidders. A bidder may submit a bid via the Internet for a particular good or service to the auction organization. The auction organization collects bids over a period of time, after which the auction organization notifies the highest bidder that the highest bidder has submitted the winning bid, notifies the seller of the identity of the winning bidder, and provides for an exchange of information between the seller and the winning bidder for execution of the transaction. This type of auction is known as a “silent auction.”
With the rapid rise in popularity of Internet commerce and information services, and the rapid evolution of computer and communications technologies, great strides have been made in improving the timeliness, quality, quantity, and, perhaps most importantly, the types of information that can be exchanged through the Internet. Whereas ten years ago, the Internet was primarily used for file transfer and exchange of text-based messages, today the Internet is routinely used for distributing elaborate, interactive, real-time graphical displays, real-time audio, and real-time video. These technological improvements greatly increase the user appeal of Internet-based silent auctions. The technological innovations also provide a basis for more interesting and more interactive Internet-based auction models. For example, it would be desirable to conduct live auctions over the Internet Distribution of a real-time, live auction is far more complex and technologically demanding than carrying out a silent auction over the Internet. Real-time live auctions are generally conducted by auctioneers in front of a live audience. Auctions are fast-paced, and bids may be submitted by very concise gestures or vocal signals. The auction of a single item may transpire in a very short interval of time, often as brief as ten seconds. Thus, real-time, live auctions require careful and quick monitoring and interaction with the auction process.
Real-time, live auctions comprise the auctioning of a sequence of lots. A lot may be a simple lot, composed of single good or service, or a choice or quantity lot, comprising a collection of goods and services that are auctioned together. Generally, a sequential inventory of the lots to be auctioned is prepared in advance and distributed to potential bidders in the form of a catalogue. However, the auctioneer generally has the discretion to change the sequence of lots during the auction, divide choice or quantity lots into smaller lots, or coalesce smaller lots into larger lots. Thus, during a live auction event, a bidder must monitor and quickly bid on a desired lot, while simultaneously tracking any changes in the sequence or groupings of goods and services offered.
There are a number of different types of auction styles. Yankee auctions begin with a low asking price, which is increased during the auction with each successful bid. Dutch auctions, by contrast, start with a high price that is decreased incrementally by the auctioneer until the auctioneer obtains a first, winning bid.
There are different types of lots, as mentioned above. Choice lots include a collection of goods or services. The auctioneer initiates bidding on a choice lot on a per-item price basis, eventually establishing a price point. The high bidder may select which items he or she wants from the inventory at that price point. The auctioneer offers the remaining inventory to the floor at the price-point value. If any items in the lot remain unsold, the auctioneer has the option of re-initiating bidding on a new lot comprising the unsold items, or passing and moving on to the next lot. Quantity lots comprise many identical items. As with choice lots, quantity lots involve establishing price points, although these price points typically have minimum quantities associated with them. The auctioneer first establishes a minimum quantity for a quantity lot, and then initiates bidding to establish a per-item price point. The high bidder may select the minimum quantity or may select more items at that price point. The auctioneer offers the remaining inventory to the floor at that minimum quantity and price point. If any inventory remains, the auctioneer establishes a new minimum quantity for the quantity lot, and then again initiates bidding to establish a per-item price point. The price points in quantity lots typically decrease as the minimum quantity constraint increases, allowing the auctioneer to sell small numbers of units at retail-lie values and large numbers of units at wholesale-like values within the same lot. A particular advantage to distributing a live auction over a communications medium, such as the Internet, is that, by bringing many thousands of Internet bidders to the auction, virtual bidders can have a huge impact on quantity lot pricing, with a far greater percentage of the inventory bid for and sold at retail-like values than at a conventional live event.
Real-time, live auctions have far greater entertainment value, and may be more efficient in time, than the silent auctions currently conducted over the Internet. However, for real-time, live auctions to be distributed over the Internet, Internet-based solutions and methodologies must be devised to overcome the many complex problems associated with real-time, live auctions.
SUMMARYA system is disclosed for the distribution of real-time live auctions, conducted by a live auctioneer in the presence of an audience of bidders, to remote bidders via the Internet.
One inventive feature of the system is a method for enabling a remote bidder to participate a live auction conducted by a human auctioneer in the presence of on-site bidders. The method comprises receiving, at a computer of a remote bidder, a status message containing real time auction status information regarding the live auction. The real time auction status information specifies at least a current high bid amount and an asking price for an item being auctioned off by the auctioneer. The high bid amount and the asking price are extracted from the status message via execution of a client program running on the computer of the remote bidder. The client program provides functionality for the remote bidder to monitor and participate in the live auction in real time from a location that is remote from a physical location of the live auction. The method further comprises updating an auction status screen displayed on the computer of the remote bidder to indicate at least the high bid amount and the asking price extracted from the status message. The auction status screen is generated by the client program, and includes a display element that is selectable by the remote bidder to submit a bid in the amount of the asking price.
Another inventive feature of the system is a client program that provides functionality for a remote bidder to participate via computer in real time in a live auction conducted by a human auctioneer in the presence of on-site bidders. The client program is configured to run on a computer operated by the remote bidder, and to receive status messages from an auction system associated with the live auction. The auction status messages include real time auction status information, including information regarding bids accepted by the auctioneer from on-site bidders present at the live auction. The client program is also configured to extract the real time auction status information from the status messages, and to update an auction status screen with the real time auction status information extracted from the status messages such that the remote bidder can monitor the live auction in real time. The client program is further configured to provide an option for the remote bidder to submit live bids corresponding to current asking prices associated with the live auction.
Another inventive feature of the system is a computerized method that comprises maintaining, in computer storage, auction state data reflective of a real time state of a live auction conducted by an auctioneer in the presence of on-site bidders residing at a location of the live auction. The auction state data reflects bids placed by the on-site bidders and bids placed over a computer network by the remote bidders. The method also includes responding to changes in the real time state of the live auction by broadcasting status messages over the computer network to computing devices of the remote bidders to enable the remote bidders to monitor the live auction in real time. The status messages specify current high bid and ask amounts. The method further comprises receiving bid messages (representing bids placed by particular remote bidders) generated by the computing devices of the remote bidders during the live auction, and updating the auction state data to reflect the bid messages.
Yet another inventive feature of the system is a computer implemented method of regulating a load placed on an auction server. The method comprises receiving and storing, at a node that is separate from the auction server, a status message containing real time auction status information associated with a live auction conducted by an auctioneer in the presence of on-side bidders. The real time auction status information specifies a current high bid amount. The method also comprises receiving, at the node, a bid message generated by a computer of a remote bidder, the bid message including a live bid amount specified by the remote bidder. The method further comprises determining, at the node, whether the bid message is valid based, at least in part, on the current high bid amount and the live bid amount. When the bid message is determined to be valid, the bid message is sent from the node to the auction server for processing. When the bid message is determined to be invalid, the bid message is filtered out to suppress the bid message from being processed by the auction server.
The present invention will be described in three subsections that follow. In the first subsection, state transition diagrams are used to illustrate and contrast the silent auction model and the real-time, live auction model. The overall architecture of the Internet-enabled Distributed Live Auction (“DLA”) system is also presented in the first subsection. In the second subsection, the user interface provided to a remote bidder by the DLA is described, along with descriptions of messages passed between the client program and the DLA. In the third subsection, four basic types of components of the DLA are described using both block diagrams and flow control diagrams.
Auction State Diagrams and DLA ArchitectureIn
If no bids that meet some minimum price are received while the lot is in the active state 105, then, following transition to the inactive state 110, the lot may transition to the finish state via transition 113 when no provision has been made to automatically re-register the lot. Alternatively, the lot may transition to the lot registered state 102 via transition 114 when a provision has been made to automatically re-register the lot. Similarly, there may be an automatic provision to resubmit a lot that has not yet received a sufficient bid back to the active state 105 via transition 115 for an additional period of time.
If one or more sufficient bids are received for the lot while the lot is in the active state 105, then, following transition to the inactive state 110, the lot transitions via transition 116 to the sold state 111. If the lot contains only a single item or service, or the winning bidder chooses all the items in the lot, then the lot transitions from the sold state 111 to the finish state 112 via transition 117. If, on the other hand, there are more items in the lot not chosen by the winning bidder, then the lot may transition either back to the active state 105 via transition 118 or back to the lot registered state 102 via transition 104. A given silent auction implementation may include more or fewer states than the number of states shown in
Certain features of the state transition diagram shown in
In the silent auction, a large number of different lots may concurrently inhabit each of the different states. For example, many hundreds of different lots may be concurrently active for bidding. Because of this, the remote bidder does not need to constantly and rapidly monitor changes in the sequence of the auction or in lot assignments. All the items offered for auction can be viewed by a remote bidder during the course of the auction, and bids can be rationally submitted for those lots of interest to the remote bidder without concern for items being reassigned to different lots or the sequence of lots offered for auction being changed.
These pre-bids trigger the activation of a bidding agent that automatically produces bids after the lot transitions to the state “open for bidding” 210, discussed below, until either the pre-bidder wins, or the high bid exceeds the pre-bidder's bid value. After another interval of time, the lot transitions from the pre-bid state either to the open-for-bidding state 210 via transition 216 or to the state “pass” 218 via transition 220. The pass state represents the state of a lot that has likely been withdrawn from bidding by the seller, in the case of transition 220. A reason for transition 220 is that the submitted pre-bids are insufficient to warrant placing the lot up for auction. From the pass state 218 the lot may either transition back to the lot registered state 202 via transition 222, in the case that withdrawn lots are automatically rescheduled, or may transition to the state “finish” 224 via transition 226 in the case that withdrawn lots are removed from further consideration. Other transitions from the pass state 218 may be possible in particular implementations, including automatic transitions (not shown) back to the pre-bid 214 and open-for-bidding 210 states.
Once a lot transitions to the open-for-bidding state 210, real-time bids are solicited for the lot by a live auctioneer. Only a single lot can inhabit the open-for-bidding state at given time in a live auction. That is also true for the remaining states in the state transition diagram, including the state “presold” 226, the state “fair warning” 228, the state “last chance” 230, the state “sold” 232, and the state “inventory reduction” 233.
From the open-for-bidding state 210, the lot may transition via transitions 234 and 236 to the pass state 218, in the case that no bid, or no sufficient bid, is received after some period of time. During the period of time, insufficient bids can be received via transition 238. When a sufficient bid, i.e. a bid equal to or exceeding some minimum desired value, is obtained, the lot transitions via transition 240 to the presold state 226. A lot in the presold state will be sold to the current highest bidder unless a higher bid is received within some time interval. Additional higher bids may be accepted for the lot while the lot inhabits the presold state 226 via transition 242.
If no further bids are received during some time interval, then the lot transitions from the presold state 226 to the fair warning state 228 via transition 244. If a higher bid is received for the lot while it is in the fair warning state 228, then the lot transitions from the fair warning state 228 via transition 246 back to the presold state 226. On the other hand, if no higher bid is received for the lot while it resides in the fair warning state 228, then the lot transitions via transition 248 to the last chance state 230. If a higher bid is received for the lot while the lot inhabits the last chance state 230, the lot transitions back to the presold state 226 via transition 250. However, if no higher bid is received for the lot while the lot inhabits the last chance state 230, then the lot transitions from the last chance state 230 via transition 252 to the sold state 232. If there are no more items in the lot, then the lot transitions from the sold state 232 via transition 254 to the finish state 254. If, on the other hand there are items remaining in the lot that were not sold to the first winning bidder, then the lot transtions via transition 256 to the inventory-reduction state 233, in which other bidders may purchase items from the lot at the current bid price. If unsold items remain after a period of time, the lot containing those unsold items may transition, via transition 257, back to the open-for-bidding state 210.
The additional complexities involved in implementing an Internet-based live auction, in contrast to implementing the silent auction illustrated in
As mentioned above, only a single lot can be in any of the active states at any instant of time during the action process period. Thus, the remote bidders must be rapidly notified of changes in lot sequences and lot assignments in order to intelligently participate in the bidding. For example, if a complex lot has been divided by the auctioneer during the auction, and a remote bidder is interested in purchasing a single item from the original complex lot, the remote bidder needs to aware that the remote bidder may have a second chance to bid on the desired item later in auction, following auction of the first of the divided lots, in order to avoid bidding too aggressively for the first of the divided lots. Thus, not only must a large amount of status information concerning the state of a given lot be distributed to remote bidders, but a large amount of additional information concerning lot re-sequencing and reassignment must also be imparted to remote bidders in real time. A reader skilled in the art of implementing Internet-based commerce media will appreciate that implementation of Internet-based live auctions involves a far more complex and technologically demanding solution than implementation of the silent auction model diagrammed in
The DLA auction server 312 may be implemented on one or more high-end server PCs, workstations, mini-computers, or mainframes. The DLA auction server 312 incorporates the incoming status information from the DLA human proxy 306 into a database representation of the instantaneous state of the auction, and, at the same time, broadcasts status updates via the Internet 314 to a number of remote bidders 316-319. The remote bidders 316-319 monitor the live auction via the status information broadcast from the DLA auction server 312, and may also listen to the auction via real-time audio broadcast of the live auction or watch the auction via real-time video broadcast of the live auction captured by one or more recording devices (not shown) and transmitted to the remote bidders via the Internet or possibly through other communications media, including cable TV and radio. The remote bidders may submit bids for particular items in real-time, just as if they were present, in-person, in the audience 302.
Remote bidders submit a bid via the DLA client program running on the remote bidders' computer system, for example computer system 320, which are then transmitted via the Internet 314 to the auction server 312. Remote bids are filtered and verified by the DLA system so that only valid bids from authorized remote bidders are transmitted by the DLA auction server 312 to the DLA human proxy 306 via the Internet 310 and the DLA auction console running the DLA human proxy's computer DLA 308.
Upon receiving a remote bid from a remote bidder, the DLA human proxy 306 may then interact with the auctioneer 304 to submit the bid. If the bid is accepted, that fact, like any other status information concerning the live auction, is submitted by the DLA human proxy 306 via the DLA auction console running on the DLA human proxy's computer 308 and the Internet 310 to the DLA auction server 312 for subsequent broadcast to the remote bidders 316-319. In order for the remote bidders to effectively participate in the live auction, the remote bidders need to receive status updates from the live auction in time periods on the order of a second or less, and, in the same time interval, need to be able to submit bids that appear on the DLA auction console running on the DLA human proxy's computer 308.
Many thousands or hundreds of thousands of remote bidders may participate in a given auction. The DLA must therefore incorporate technology to enable status information concerning an ongoing auction to be broadcast, in real-time, to the remote bidders and to enable bids to be transmitted from the remote bidders, in real-time, to the auction console program running as the on-site computer 402. The preferred embodiment for this technology is illustrated in
Each root-level redistributor node, for example collector/redistributor node 412, is connected via a communications network, for example communications network 414, to a next-lower-level set of collector/redistributor nodes, for example collector/redistributor nodes 418 and 420. In
The collector/redistributor nodes and the server computer 404 are interconnected by high-speed network communications 410 and 416. Thus, status information may travel from the on-site computer 402 to a remote bidders' computer, for example remote bidders' computer 428, via an initial Internet connection 406, a series of high-speed communications network transfers 410 and 416, and a second connection 440. The TCP/IP connections of the collector/redistributor nodes are multiplexed through a single port, using a multiplexer, because serially sending status information to remote bidders' computers via one or a small number of processes from the server computer 404 would be far too slow for the purposes of informed remote bidder participation in the live auction. Similarly, the hierarchical interconnection of collector/redistributor nodes allows for filtering bids, using a variety of criteria, including lot and auction ID verification, bid value, and various bid inventory checks.
The bid inventory checks include checks to make sure that there is sufficient inventory available for a particular bid and to make sure the bid meets minimum inventory requirements established on the floor by the auctioneer, e.g. minimum quantities in quantity lots. Only valid bids with the highest detected bid prices submitted by the remote bidders' computers connected to a particular collector/redistributor node are propagated back towards the server computer 404. This greatly reduces network traffic and message handling in upstream collector/redistributor nodes, the server computer 404, and the on-site computer 402.
DLA Transaction ModelThe first registration screen 510 includes text entry boxes for the user to select a user ID and password with which to subsequently login to the DLA system. Alternatively, the user ID and password may be generated by the DLA based on information provided in subsequent screens shown in
In step 518, the prospective client fills out the second registration form 516 and returns it to the DLA. In optional step 520, the DLA may elect to request additional information from the prospective client via a third registration screen 522. Step 520 is optional in that all pertinent information may be acquired by the DLA via a single screen. On the other hand, additional optional steps, such as step 520, may be necessary to collect further information in other cases. Additional information may include credit card numbers, bank account numbers, employer names and addresses, phone numbers and other such information. All the information provided by the client to the DLA will be maintained by the DLA in one or more databases. The DLA can then use the stored information to facilitate the client's subsequent registration for particular auctions, to be discussed below.
In general, the DLA strives to collect a reasonable superset of information during the registration process commonly required by various auction houses and auction management organizations. By collecting the information initially, and saving the information, the DLA can then automatically retrieve the stored information and supply retrieved information to auction houses and auction management organizations when the client subsequently registers for a particular auction. Subsequent auction registrations may require certain specialized information particular to a particular auction house or auction management organization, or may require updates or modifications of information originally supplied by the client during the registration process.
In step 524, the client finishes entering the requested information into the text entry fields of the data collection screen 522 and indicates, via a push button click or some other indication technique, that the information should be returned to the DLA. In step 526, the DLA sends terms and conditions information that is displayed to the client in a terms and conditions screen 528. The terms and conditions screen represents an agreement, or contract, between the prospective client and the DLA, to which the prospective client can either agree or disagree by clicking on an appropriate user interface object. The prospective client then, in step 528, returns the prospective client's agreement or disagreement to the terms and conditions to the DLA. There are many alternative steps that may occur in the registration transaction depending on the prospective client's responses. For example, if the client disagrees with the terms and conditions, the DLA may return a screen indicating that the prospective client has not been accepted for registration with the DLA. In the case the client agrees with the terms and conditions, the DLA may return information displayed to the client in additional screens that indicate that the DLA has registered the prospective client as an DLA client and additional informational screens showing the DLA client how to best use the DLA system. Further back in the transaction, the DLA may short circuit a number of steps and reject a prospective client if the credit information, for example, is not verifiable or is inadequate. Finally, at the completion of the registration process, the DLA may download the DLA client program to the new DLA client's computer to allow the client to subsequently interact with the DLA.
Each auction listed in the list of auctions displayed to the client 606 is associated with a status. Different types of statuses include: (1) “sign-up,” a status indicating that the client has not yet attempted to register for the particular auction; (2) “approved,” a status indicating that the client has successfully registered for the auction; (3) “denied,” a status indicating that the client has attempted to register for the auction, but was denied registration for one of various reasons, including inadequate credit or failure to agree to terms and conditions; and (4) “waiting,” a status indicating that the client attempted to register for the auction and that DLA has yet to respond with an approval or denial.
In step 608, the client selects an auction and indicates that the client wishes to attempt to register or re-register for a particular auction by clicking on the status associated with the auction. In step 610, the DLA may then return a data collection screen 612 requesting any additional or particularized information needed from the client in order to register the client for the selected auction. In step 614, the client fills in the requested information into text entry fields, or alternatively, selects various alternatives via user interface selection objects, and returns the information to the DLA. In step 616, the DLA may return a special terms and conditions form to a client for the selected auction, to which the client may agree or disagree in step 618. The exchanges represented by steps 1610 and 1614 and by steps 1616 and 1618 may not be necessary in many cases.
It may often be the case that the client provides sufficient information in the registration process so that the DLA may automatically retrieve the previously submitted information from the DLA database and furnish that information to the auction house or auction management organization. Similarly, the initial terms and conditions agreement made by the client during the registration process may be sufficient for a large number of auction houses or auction management organizations, thus obviating the need for a specialized or particularized terms and conditions step related to a particular auction. In step 620, the DLA client program redisplays the list of auctions 622 previously displayed in screen 606, updated with new or additional status information provided to the DLA client program by the DLA. For example, the client request for registration for an auction may be quickly approved, resulting in the status for that auction being displayed as “approved,” rather than as “sign-up” or “denied.” There may be additional steps in alternative embodiments and implementations of the client auction registration transaction, and additional outcomes for each step depending on information supplied by the client to the DLA.
In step 712, the client selects particular categories of lots and returns the selection to the DLA. In step 714, the DLA returns a list of lots pertaining to the selected category displayed to the user via screen 716 by the DLA client program. From this list of lots, the client selects a particular lot and returns the selection to the DLA in step 718. In step 720, the DLA returns a description the lot to the DLA client program, which then displays textual, graphical, or a combination of textual and graphical information concerning the selected lot to the client in an informational screen 722. The informational screen 722 may include a user interface object allowing the client to indicate a desire to submit a pre-bid for the selected lot.
If the client selects to pre-bid on the lot, the client returns the indication for a desire to pre-bid on the lot to the DLA in step 722. In response, the DLA returns information concerning the pre-bid state of the lot to the DLA client program, which displays the information in a pre-bid screen 726 to the client. The pre-bid screen 726 allows the client to enter information, including a bid price, to return to the DLA in step 728. Additional navigational user interface objects allow the client to navigate back to the auction list and select a different category, or to navigate back to the list of lots or to the informational screen 722. Thus, the client is able to browse through the inventory of lots to be offered for sale at a particular auction, and to pre-bid on those lots offering a pre-bid option.
Once the DLA has verified the client's prior registration for the auction, or alternatively, conducts an auction registration dialogue with the client, the DLA client program displays an auction status screen 808 and the client is continuously updated by status information received from the DLA auction console via the DLA auction server program in steps 810, 812, and 814. The status information messages are received by the DLA client program from the DLA as frequently as the status of the live auction is updated by the DLA human proxy's manipulation of the DLA auction console user interface, or as fast as automatic status updates are generated by incoming Internet bids. The client's auction status screen is continuously being updated to reflect the new asking price. If the remote bidder using the DLA client program wishes to submit a bid, he or she clicks a bid button 818, resulting in submission of a bid whose value is equivalent to the current asking price displayed on the client's auction status screen.
Once the bid button 818 is clicked, the DLA client program sends a bid message via the Internet to a front-line collector/redistributor node in step 820. The bid is filtered through the DLA and may end up displayed to the DLA human proxy on the DLA auction console. If the client's bid is presented by the DLA human proxy and accepted by the auctioneer, that acceptance will be reflected to the client by subsequent update of the auction status screen 808 via reception by the DLA client program of a subsequent status message from the DLA. If the client's bid is a winning bid, then the client's auction registration information is submitted to the auction house or auction management organization, and the client is notified via the action status screen 808, and additionally notified by other communications methods including e-mail, a telephone call, or some other method. Note that the client who submits a winning bid is contractually bound to submit payment for the good or service, just as a member of the audience present at the site of the live auction is bound to honor a winning bid.
In a preferred embodiment, the DLA auction console consists of a Java 1.02 applet running in a web browser, either Internet Explorer or Netscape Navigator/Communicator. It maintains a continuous connection with the central auction server to transmit and receive information in real time. The DLA auction console displays the user interface shown in
The center of the user interface consists of an array of buttons 906 used to establish a current bid, a bid increment, and an asking bid. These values can also be typed in directly. Along the top of the user interface is a group of six buttons, including: “Fair Warning”908, “Last Chance”910, “Sold” 912, and “Pass”914. These buttons are used by the human proxy to set specific status flags that are sent to the DLA auction server, and subsequently by the DLA auction server to remote bidders, and are also displayed on the right-hand status readout. The button “Sold Local”916 sets the sold status flag with the last recorded value from a local bidder, and the button “Next Item” 918 indicates to the server that the next lot number in sequence should be loaded. If an out-of-sequence lot is detected by the human proxy, the human proxy can utilize the text entry field “jump to”920 to enter a lot number to tell the DLA auction server to load the description and details for a different lot. Using the flash text list of buttons arranged in a column 922 on the left of the user interface, the DLA human proxy can choose to send to the DLA auction server informational or flavor text selected from a series of canned phrases designated ahead of time by the auction house. If none of the canned phrases are appropriate, a text message can be entered and sent by the DLA human proxy using the text entry field 924. Future enhancements will include the capability to group and re-lot lots, as well as a predictive capability to automatically determine the next asking price from current asking price intervals.
The status message contains the following fields: (1) a message identity field 1006 that indicates the type of message, in this case, a status message; (2) an auction ID field 1008 contains a unique identifier for the auction to which the status message pertains; (3) a lot ID field 1010 that contains a unique identifier for the lot currently being auctioned at the auction identified by the auction ID identifier in the auction ID field 1008; (4) an ask field 1012 that contains the asking price for the lot identified by the lot ID in the lot ID field 1010; (5) a high bid field 1014 containing the highest bid received for the lot identified by contents of the lot ID field 1010; (6) a high bidder field 1016 that indicates the identity of the bidder who submitted the high bid contained the high bid field 1014, where the high bidder may be either a member of the audience present at the live auction or a remote bidder; (7) a status field 1018 that contains the current status for the lot identified in the lot ID field 1010, where the different possible statuses are the active statuses illustrated above in
The bid message 1102 contains the following fields: (1) a message identifier field 1106 text contains an indication of the type of the message, in this case, a bid message; (2) an auction ID field 1108 similar to the auction ID field 1008 of the status message 1002; (3) a lot ID field 1110 similar to the lot ID field 1010 of the status message 1002; a bidder field 1112 that contains a unique identifier for the remote identifier that submitted the bid that generated the bid message; (5) a bid field 1114 that contains the bid price submitted by the bidder and the bid that generated the bid message; and (6) a desired inventory field 1116 that contains the bidder's desired inventory for a composite lot. Bid messages are generated by the DLA client program running on remote bidders' computers and sent via the DLA system to the DLA human proxy.
DLA System ComponentsIn this subsection, four basic components of the DLA system, including the DLA client program, the collector/redistributor node, the DLA auction server program, and the DLA auction console program, will be described in block diagrams and in flow control diagram. These descriptions represent a preferred embodiment, but by no means the single possible embodiment of the DLA system. The component software program may be implemented in many different ways in many different languages and run on many different types of computers featuring different operating systems. Functionalities encapsulated in one particular component in the preferred embodiment may be, in alternate embodiments, implemented in different components. In alternate embodiments, a different number of basic DLA components may be employed to implement the DLA auction methodology described above.
Also in step 1504, the collector/redistributor checks the bid amount contained in the bid field of the bid message against the current high bid received for the identified lot of the identified auction. Only if the bid is higher than the current highest bid for the identified auction, as detected by the collector/redistributor from bid messages received from other remote bidders or from status messages received from the DLA auction server, will the collector/redistributor forward the bid on to the DLA auction server. If the bid is valid and represents a higher bid, as detected in step 1506, the collector/redistributor submits the bid to either a next-highest-level collector/redistributor or to the DLA auction server in step 1508, after which the collector/redistributor continues to wait for another event. On the other hand, if the bid does not pass the filter, as detected in step 1506, the collector/redistributor simply resumes waiting for another event. The collector/redistributor node may employ a hash table containing auction ID, lot ID, and high bid triples in order to facilitate rapid filtering of a bid. If the collector/redistributor receives a status message from the DLA auction server program, as detected in step 1510, the collector/redistributor calls the routine “process status” in step 1512 to process the status message, and then resumes waiting for another event. If the collector/redistributor is a first-line collector/redistributor, and the collector/redistributor receives a request from a DLA client program to connect to an ongoing auction, as detected in step 1514, the collector/redistributor validates the DLA client program against the validation database in step 1516. If the DLA client program, and remote bidder that has invoked it, is properly authorized, as detected in step 1518, the collector/redistributor accepts the connection and places a unique client identifier associated with an auction ID into an active client list in step 1520, and then resumes waiting for another event. If, on the other hand, the collector/redistributor determines that the client is not authorized to participate in the desired auction, as detected in step 1518, then the collector/redistributor refuses the connection request in step 1522 and resumes waiting for another event. If the collector/redistributor receives a client request to terminate connection to an auction, as detected in step 1524, the collector/redistributor removes the client from the active client list in step 1526 and resumes waiting for another event.
If the collector/redistributor receives a message from the DLA auction server indicating that an auction has finished, as detected in step 1528, the collector/redistributor removes the auction ID from the list of active auction ID's in step 1530 and then resumes waiting for another event. If the collector/redistributor receives an auction starting message from the DLA auction server, as detected in step 1532, the collector/redistributor adds the ID of the starting auction to a list of active auction ID's in step 1534, and then resumes waiting for another event. On the other hand, if none of the above-mentioned events are identified, as indicated by the negative output in step 1532, the collector/redistributor simply continues to wait for another event.
In step 1608, the collector/redistributor checks the lot number in the status message against the current lot number for the auction identified by the auction ID included in the status message. If the lot number is a new lot number, or, in other words, if the lot number in the status message does not correspond to the current lot number associated with the auction in the active auction list maintained by the collector/redistributor, as detected in step 1610, the collector/redistributor updates the current lot number for the auction identified by the auction ID in the active auction list maintained by the collector/redistributor in step 1612. For choice and quantity lots, the process “status,” in step 1608, also reads the available inventory from the incoming status message in order to subsequently compare the desired inventory of the incoming bids to the currently available inventory to make sure that the incoming bids have enough inventory to meet the conditions set by the auctioneer on the floor, e.g. a declaration of “one money!” indicating that all the items in the lot must be sold at once, and to make sure that lots have enough inventory for the bidders, e.g. a bidder that will take no less than 100 units in a quantity lot may not submit a bid for which there are only 90 units left. These additional filter conditions for choice and quantity lots are carried out in step 1505 of
If the DLA auction server program receives one of a number of different types of sync messages from a DLA auction console program, as detected in step 1814, the DLA auction server program calls the routine “sync,” in step 1816, to handle the sync messages and then resumes waiting for another event. In some cases, the DLA auction server generates status messages upon receiving certain sync messages, and forwards the status messages on to remote bidders via the collector/redistributor nodes. If, for example, the DLA auction server receives a “Next Lot” or “Pass” sync message from the console, it forwards the lot cursor to the next lot and generates a new status message. As another example, if the DLA auction server receives a “Console State” sync message from the console, it sets the state of the lot to that state and generates a new status message to the clients, where the states may include certain of the active states discussed above with reference to
If the DLA auction server receives a “Flash Text” sync message from the console, it sets a flash text field for the lot to that flash text message and generates a new status message to the clients. If the DLA auction server receives a “Jump Lot” sync message from the console, it sets a lot cursor to the new lot and generates a new status message to the clients. These various types of sync messages are handled by the routine “sync,” called in step 1816. That routine essentially maintains the correspondence between the computational image of live auctions stored in the DLA database and the live auctions via the incoming sync messages from the DLA auction console, and generates status messages, when necessary, to update the auction status screen displayed to remote bidders.
If the DLA auction server program receives an end of auction message from an DLA auction console program, as detected in step 1818, the DLA auction server program removes the indicated auction ID from the list of active auction IDs sends an end of auction message to all root-level collector/redistributor nodes in step 1820, and then resumes waiting for another event. If the DLA auction server program receives a termination indication as detected in step 1820, then the DLA auction server program terminates, in step 1822. Otherwise, the DLA auction server resumes waiting for another event.
If the DLA auction console program receives an indication from the console screen of the start of an auction, as detected in step 2216, the DLA auction console program sends a start of auction message to the auction server, in step 2218 and then resumes waiting for another event. If the DLA auction console program receives an indication of the end of an auction, as detected in step 2220, the DLA auction console program sends an end of auction message to the DLA auction server program in step 2222 and resumes waiting for another event. If the DLA auction console program receives a resync request from the DLA auction server, as detected in step 2224, then the DLA auction console program calls a “resync” routine to undertake and complete a resync dialog with the DLA auction server program in step 2226. The resync routine facilitates an exchange of sync messages, and will not be discussed further. If the DLA auction console program receives a termination indication, as detected in step 2228, the DLA auction console program terminates in step 2230. Otherwise, the DLA auction console program resumes waiting for another event.
Although the present invention has been described in terms of preferred embodiments, it is not intended that the invention be limited to these embodiments. Modifications within the spirit of the invention will be apparent to those skilled in the art. For example, different numbers and types of basic components may be employed to implement the DLA system. Software components may be implemented in many different languages to run on different types of computers that provide different operating system interfaces. Many different types of databases and data schemas can be employed to implement the DLA database to which the DLA auction server interfaces, as well as the client validation databases used by the first-line collector/redistributor nodes. Different types of graphical user displays may be employed to interface with remote bidders and DLA human proxies, and different orderings of transaction steps may be supported. In the future, data transmission media other then the Internet may be used to interconnect the remote bidders to the DLA system and interconnect the DLA auction consoles with the DLA auction server. Already, much higher-bandwidth communications media have been designed and planned for. In addition, the remote bidders may interact with a communications device other than a remote computer, including Internet-enhanced, interactive cable television or even more capable and technologically advanced devices. Ultimately, the auction console may be integrated more closely with the auction process, perhaps displayed to the auctioneer and directly controlled by the auctioneer. Alternatively, the auction console may eventually have the capability of monitoring the auction process itself, without the need for a human proxy.
The foregoing description, for purposes of explanation, used specific nomenclature to provide a thorough understanding of the invention. However, it will be apparent to one skilled in the art that the specific details are not required in order to practice the invention. The foregoing descriptions of specific embodiments of the present invention are presented for purpose of illustration and description. They are not intended to be exhaustive or to limit the invention to the precise forms disclosed. Obviously many modifications and variations are possible in view of the above teachings. The embodiments are shown and described in order to best explain the principles of the invention and its practical applications, to thereby enable others skilled in the art to best utilize the invention and various embodiments with various modifications as are suited to the particular use contemplated. It is intended that the scope of the invention be defined by the following claims and their equivalents:
Claims
1. A computerized method, comprising:
- maintaining, in computer storage, auction state data reflective of a real time state of a live auction conducted by an auctioneer in the presence of on-site bidders residing at a location of the live auction, said auction state data reflective of bids placed by the on-site bidders, and additionally being reflective of bids placed over a computer network by the remote bidders;
- in response to changes in the real time state of the live auction, broadcasting status messages over the computer network to computing devices of the remote bidders to enable the remote bidders to monitor the live auction in real time, said status messages specifying current high bid and ask amounts;
- receiving bid messages generated by the computing devices of the remote bidders during the live auction, said bid messages representing bids placed by particular remote bidders; and
- updating said auction state data to reflect said bid messages.
2. The method of claim 1, further comprising transmitting a real time audio broadcast of the live auction over the computer network to the remote bidders to enable the remote bidders to listen to the live auction.
3. The method of claim 1, further comprising transmitting a real time video broadcast of the live auction over the computer network to the remote bidders to enable the remote bidders to watch the live auction.
4. The method of claim 1, wherein the method is performed by an auction server, and the method further comprises communicating, from the auction server to a computer at the location of the live auction, information regarding successful bids placed by the remote bidders.
5. The method of claim 1, wherein maintaining auction state data comprises processing state data entered into a computer in real time by a human operator present at the live auction.
6. A computer implemented method of regulating a load placed on an auction server, the method comprising:
- receiving, at a node that is separate from the auction server, a status message containing real time auction status information associated with a live auction conducted by an auctioneer in the presence of on-side bidders, said real time auction status information specifying a current high bid amount;
- storing the real time auction status information on said node;
- receiving a bid message at said node, said bid message generated by a computer of a remote bidder, and including a live bid amount specified by the remote bidder;
- determining, at said node, whether the bid message is valid based, at least in part, on the current high bid amount and the live bid amount;
- when the bid message is determined to be valid, sending the bid message from the node to the auction server for processing; and
- when the bid message is determined to be invalid, filtering out the bid message at said node to suppress the bid message from being processed by the auction server.
7. The method of claim 6, wherein the node further determines whether the bid message is valid based on an auction identifier included in the bid message.
8. The method of claim 6, further comprising maintaining concurrent connections between said node and a plurality of computers of remote bidders, and using said connections to send the real time auction status information to, and receive live bids from, the remote bidders.
9. The method of claim 6, wherein the node is one of a plurality of intermediate nodes connected between the auction server and computers of remote bidders, and the method comprises storing the real time auction status information on each of said intermediate nodes, and filtering out invalid bid messages at each of the intermediate nodes.
10. A node programmed to perform the method of claim 6.
Type: Application
Filed: Jul 26, 2011
Publication Date: Nov 17, 2011
Inventors: Noah S. Friedland (Seattle, WA), Sky T. Kruse (Seattle, WA)
Application Number: 13/190,706