Abstract:
Conducting an auction is disclosed. Instructions specifying a market phase for an auction are received. An auction allocation policy is defined based at least in part on the instructions. A first bid is received during the market phase of the auction. The first bid price is automatically adjusted based on the auction allocation policy. A plurality of successful bids is selected after the predetermined termination time.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS  
       [0001]    The present application is a Continuation-In-Part of co-pending Continuation-In-Part application Ser. No. 09/339,325 filed Jun. 23, 1999 by applicant Yoav Shoham et al., entitled “A Universal On-Line Trading Market Design And Deployment System,” and application Ser. No. 09/131,048 filed Aug. 7, 1998 by applicant Yoav Shoham et al., entitled “A Universal On-Line Trading Market Design And Deployment System.” 
     
    
     FIELD OF THE INVENTION 
       [0002]    The present invention relates to the use of networked computer systems in a trading market. More specifically, the invention relates to an auction engine having modular components represeriting dimensions of auction specifications wherein at least one of the modular components is capable of adjusting a bid submitted by a trader or of clearing the auction subject to allocation constraints. 
       BACKGROUND OF THE INVENTION 
       [0003]    Simple auctions which do not require complex computations are available on the Internet. eBay.com, Onsale.com, and Priceline.com are representative of such auctions. Onsale, Inc. and Priceline, Inc. use customized software specific to their particular auction rules. However, none of these auctions automatically adjusts a bid submitted by a trader based upon factors such as the type of trader submitting the bid or a preference granted to a trader based upon the quantity of goods which he wishes to purchase. For example, a group of traders may be granted preferential treatment based upon the amount of goods that they have purchased in the past. Accordingly, bids submitted by these traders must be adjusted in some fashion to reflect the preferential treatment to the traders that may be granted by a market designer. In order for these auctions to incorporate such features, extensive labor would be required to modify the software to account for the various adjustments which may apply to a bid. 
         [0004]    Toolkits embodied in software offered by Bonsai and Opensite may be used to construct and operate simple auctions. However, customization of an auction using these toolkits does not permit adjustment of a bid from a trader without significant labor. 
         [0005]    In sum, the market designer of an Internet auction which includes adjustment on a bid has two options: develop software or expend significant labor to modify existing toolkits. Therefore, it is desirable to have a means to automatically adjust bids in Internet auction markets without engaging in lengthy software development. 
       SUMMARY OF THE INVENTION 
       [0006]    Methods and apparatuses are disclosed for adjusting a bid submitted by a trader which is reflective of an applicable auction allocation policy. One embodiment of the invention relates to a universal auction specification system having a programmable auction server (PAS) wherein the PAS has a plurality of auction modules with at least one auction module which is capable of adjusting a bid. In another embodiment of the invention, a clearing calculation may be modified by one of the auction modules to reflect an auction allocation policy. 
         [0007]    Other aspects and methods of the present invention, as well as apparatuses formed using these methods, are described further below in conjunction with the following figures. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0008]      FIG. 1   a  is a system block diagram showing the components of the preferred embodiment. 
           [0009]      FIG. 1   b  is a diagram showing the programmable auction server of the system. 
           [0010]      FIG. 2  shows a special-purpose auction system. 
           [0011]      FIGS. 3 and 4  show schematically one embodiment of the invention wherein a bid is received and is verified. 
           [0012]      FIG. 5  shows the data flow of the invention. 
       
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT 
       [0013]    Methods and apparatuses are disclosed related to a universal or special-purpose, interactive, real-time, trading market system serving traders communicating through the Internet or similar network wherein a submitted bid is adjusted to reflect an auction allocation policy. For example, an auction allocation policy may require that a trader or traders be granted preferential treatment. One way to grant preferential treatment to a trader is to adjust a bid submitted by a trader. The adjusted bid is then compared to bids submitted by other traders. In another embodiment of the invention, a clearing calculation may be modified by an auction module to reflect an auction allocation policy. The modification of the clearing calculation results in preferential treatment being granted to a trader or traders. In yet another embodiment of the invention, these auction allocation policies may be implemented through a universal auction specification system having a PAS wherein the PAS has a plurality of auction modules. Although the invention is generally described relative to a universal auction system, another embodiment of the invention relates to a special-purpose auction system which may be used to implement bid adjustment of a bid submitted by a trader or the modification of a clearing calculation. At least one auction module, such as a bid transformer or a clearer, corresponds to at least one of the following auction functions: transforming or adjusting a bid, or modifying a clearing calculation. 
         [0014]    In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of the present invention. However, it will be evident to one skilled in the art that the present invention may be practiced without these specific details. In other instances, well known structures and devices are shown in block diagram form in order to avoid unnecessarily obscuring the present invention. 
         [0015]    To understand the process of a bid adjustment, it is necessary to provide an overview of auction modules which may be used in designing an on-line auction system capable of automatically adjusting a bid. Thereafter, examples of various embodiments of the invention are provided. 
         [0016]      FIGS. 1   a  and  1   b  show a universal auction specification system of the invention which may include a variety of components, such as a Market Specification Console (“MSC”)  110 , a Universal Trading Console (“UTC”)  120 , a Universal Surveillance Console (“USC”)  130 , a Market Administration Console (“MAC”)  150 , PAS  140 , a communication network  160  and  161  linking various components. These components may be stored or operated in a single computer system or in a plurality of computer systems connected by the Internet or similar network. 
       Overview of System Modules 
       [0017]    Market Specification Console (MSC) 
         [0018]    MSC  110  consists of a computer running a computer program in which the market designer may specify any of an infinite number of possible market protocols. Thereafter, the market defined by market protocols is submitted or uploaded to PAS  140  for execution. Market protocols may incorporate rules which are well known to auctions or the rules may be arbitrarily defined by the market designer. 
         [0019]    Although markets may be organized in various ways, markets generally consist of a sequence of phases. Each phase comprises an interval or intervals wherein an activity is governed by a relatively fixed set of rules specified by the market designer. The temporal flow of a market consists of a series of market phases specified by the market designer. In order to specify this temporal flow, the market designer must identify the phases. Phases are identified and sequencing relations (e.g., termination conditions, conditional branching among the phases, etc.) are designated by manipulating representations of the phases on the Graphical User Interface (“GUI”) of the MSC  110 . A phase may be defined by a time period, a limitation, a condition (e.g., condition precedent, condition concurrent, condition subsequent, etc.), exception, exclusion, or a proviso, etc. The market designer may designate criteria such as when the phase terminates (e.g., a specified time period, condition such as the first one hundred bids received, etc.), the method to choose a succeeding phase (if any), and any other applicable limitations. 
         [0020]    In order to specify rules, such as market rules, governing a particular phase, the market designer selects options—referred to herein as trading primitives (“TPs”)—which dictate the behavior of components in the PAS  140 . MSC  110  provides menus and other means for choosing options and may provide guidance to the market designer regarding eligible combinations of these options or recommend choices associated with specified design goals. 
         [0021]    Universal Trading Console (UTC) 
         [0022]    UTC  120  consists of a computer running a computer program which enables a trader (e.g., seller, buyer, agent of a seller or buyer) to trade in any market protocol executing on the PAS  140 . UTC  120  presents information to the trader in a manner which automatically adapts to a specific market protocol that is executing. 
         [0023]    Bids submitted by a trader may be entered by direct bidding or proxy bidding. In direct bidding, the bidder selects an auction and enters a bid using the computer keyboard and mouse (e.g., the interface provided by UTC  120 ). In proxy bidding, the user defines a script that bids on his or her behalf in one or more auctions running on the PAS  140 . As part of the proxy bid, a trader also specifies whether the script is to run within the trader console UTC  120  (e.g., proxy bidder  508 ) or be transmitted to the PAS  140  and run there (e.g., proxy bidder  509 ). 
         [0024]    Universal Surveillance Console (USC) 
         [0025]    USC  130  consists of a computer running a computer program which enables a surveillance body such as a regulatory agency or an independent audit firm to monitor the operation of the markets executing on the PAS  140 . This function allows the surveillance body to determine whether the execution of an auction conforms to norms and, optionally, to intervene in the market when deviations are detected. 
         [0026]    Market Administration Console (MAC) 
         [0027]    MAC  150  consists of a computer running a computer program which enables a market operator, an entity housing the PAS  140  and responsible for the operation of the PAS, to monitor the execution of various markets operating on the PAS  140 . MAC  150  also administers registration transactions, such as the process whereby traders identify themselves to the system (e.g., providing their names and credentials etc.). Additionally, MAC  150  allows market operators to troubleshoot the system in real-time. 
         [0028]    Programmable Auction Server (PAS) 
         [0029]    PAS  140  includes a computer which runs a computer program which may accept multiple market protocols submitted to it from an MSC  110  and execute multiple market protocols (e.g., opening auctions, admitting or rejecting bids, clearing prices, notifying traders of market events, and closing auctions, etc.). More specifically, PAS  140  employs several modules to control the market operation. Modules such as bid transformer, clearer, bid verifier, and information manager assist in managing the market by processing incoming bids, responding to queries, maintaining market state (e.g., tracking bids, etc.), and reporting results to traders and, optionally, to non-traders. Through these modules, various transactions may be performed such as bid transformation (e.g., adjusting a bid submitted by a trader by increasing or decreasing the bid to reflect an auction allocation policy granted to a trader), clear (e.g., clearing the prices or bids), bid verification (e.g., determining whether a bid from a trader qualifies as a “bid” under the rules), release of information (e.g., showing all the current bids), and registering of information (e.g., name and phone number of the trader). 
         [0030]    PAS  140  is extensible and flexible. Modules may be added or customized for different market protocols in PAS  140 . In order to avoid obscuring the nature of the invention, three modules are discussed herein—the bid transformer  155 , the order book/clearer (“clearer”)  154 , and the bid verifier  151 . However, one skilled in the art will understand that other modules or subroutines may be used to perform the tasks of bid transformer  155 , clearer  154 , and bid verifier  151 . 
         [0031]    1. Bid Transformer 
         [0032]    Bid transformer  155  implements auction allocation policies (also referred to as “discriminating allocation market protocols”). Based upon auction allocation policies, bid transformer  155  adjusts the original bid submitted by a trader. Auction allocation policies may be based upon a variety of factors. For example, the market designer may use factors such as the identity of the trader submitting the bid (“trader identity”), the quantities allocated to a trader identity, or any other condition which the market designer designates. Trader identity may be associated with individual traders or established groups (e.g., certified dealers, registered clients, holders of particular credit ratings, etc.). 
         [0033]    A straightforward example is provided to illustrate bid transformation. If a particular trader, such as Trader A, is entitled to a discount of 20%, then its offered price is increased by an amount such that reduction by 20% equals the original bid. Accordingly, a bid of $10 by Trader A is transformed to $12.50. This transformed bid of $12.50 is then compared to the bids submitted by other traders. If A&#39;s bid is successful, A only pays $10. In essence, bid transformer  155  implements bid allocation policies internally in the sense that all of the calculations are performed such that the result of the calculation need not be displayed unless the transformed bid is the prevailing bid. 
         [0034]    Another example of an auction allocation policy relates to offered prices for quantities of goods (or services such as the number or duration of specified tasks) above a certain threshold amount. Quantities of goods may be assessed a “penalty” percentage to bias the allocation toward a broader (as opposed to a more concentrated) distribution of traders. By way of illustration, a 10% penalty may be imposed for quantities of widgets over 100. An offer to buy 150 widgets at a price of $20 is transformed into an offer to buy 100 at $20 and another 50 at $18. This offer to buy is then compared to other offers to buy the widgets. However, if the trader is successful, the trader still must pay $20 for all 150 units. 
         [0035]    While the above examples show the manner in which auction allocation policies are applied, one skilled in the art will understand that auction allocation policies are limitless; therefore, auction allocation policies can create many different applications. Auction allocation policies are only limited by the imagination of those individuals creating them. After the bids are transformed by bid transformer  155 , the transformed bids are sent to bid verifier  15   1 . Bid verifier  151  checks the transformed bid to verify that the bid satisfies the bid criteria which have been established. If the bid satisfies the bid criteria, the bid is admitted into the order book. If not, the bid is not admitted. The transformed bid may satisfy the bid criteria even though the original bid from a trader may not satisfy such criteria. Alternatively, an original bid may satisfy such criteria whereas the transformed bid may not satisfy such criteria. 
         [0036]    2. Clearer 
         [0037]    One alternative method to the preferred method involves implementing an auction allocation policy using the clearer  154 . In this approach, bids are not transformed. Instead, a clearing calculation is modified to implement the auction allocation policy. The manner in which clearer  154  operates and implementation of constraints are described below. 
         [0038]    (a) Operation of Clearer 
         [0039]    Clearer  154  determines an allocation of goods and terms of an exchange based upon clearing policies. Generally, an allocation depends upon prices and quantities of all the offers received. Clearing policies may incorporate factors such as bidding history, auction rules, or any other factors designated by the market designer. An auction allocation typically corresponds to a set of trades among the auction participants. Once the trades are determined, the results are reported to traders and, optionally, non-traders. Clearer  154  uses the bid state as represented by the order book in order to derive the exchanges determined by auction rules in a given bid state. In addition to determining exchanges, clearer  154  may also invoke a trade manager module to control the notification and execution of these trades. 
         [0040]    Clearer  154  is invoked according to the temporal flow TPs specified in the MSC. An auction allocation policy may be specified by naming the algorithm which implements a function from the auction state or by defining a complete set of criteria for selecting among the possible allocations (e.g., allocations consistent with the offers represented by bids) to apply to a bid. 
         [0041]    Clearer  154  may use a general class of clearer policies which may be defined by interpreting the offers specified in bids as if they represent value functions and maximizing the resulting surplus. However, this maximization is generally not unique because monetary transfers are zero-sum operations. 
         [0042]    Clearer  154  may use another type of clearing policy which determines exchanges based upon chronological priority. For example, the continuous double auction (“CDA”) matches buyers and sellers instantaneously upon receiving compatible offers. The release of information about the exchange may be delayed. In contrast, a call market aggregates bids over time before determining an allocation. As the clearing interval of a call market is reduced, an approximate CDA is determined. 
         [0043]    Clearer  154  may use discriminatory or non-uniform-price auctions which may allocate identical goods to different traders at different prices. For example, in pay-your-bid auctions, successful traders on one side exchange for exactly the amount they bid, regardless of terms for other successful traders. 
         [0044]    (b) Constraints 
         [0045]    Just as clearing calculations are limitless, constraints also have no bounds with regard to the number of them which may be applied or the type of constraint imposed. If the preferential allocation policy dictates that no group should receive more than one-half of the allocated quantity, an algorithm used in the clearing module ensures that this quota is not exceeded. A general approach to incorporating constraints exploits the fact that most clearing calculations may be cast in terms of maximization of an objective function. For example, in a typical one-sided auction, the clearing allocation generally maximizes revenue (in a buy-side auction) or minimizes cost (in a sell-side auction), given the face value of offers. In such cases, preferential allocations may be implemented in a straightforward way by making the optimization subject to specified constraints. For example, to incorporate the constraint method mentioned above, the clearing calculation would apply the same objective criteria which it would otherwise apply (e.g., maximize revenue); however, the clearing calculation would be subject to the constraint that no group receives more than one-half of the total quantity. Accordingly, a clearing calculation such as profit maximization=(x) would be changed to incorporate the following constraint: 
         [0046]    Constraint: not more than one half of the widgets may be distributed to a group in which traders are referred to as Traders A. This equation is expressed as follows: 
         [0000]      Constraint on widgets distributed to Traders  A≦ 1/2 x    
         [0047]    wherein x represents the total quantity of widgets which are to be sold. Clearer  154  invokes a clearing calculation and then determines if a constraint is applicable. If so, the clearing calculation is modified by clearer  154  to incorporate this constraint. While this example shows clearer  154  modifying the clearing calculation, other modules may be used to perform the same function. 
         [0048]    One skilled in the art will appreciate that using the bid transformer approach or the clear module approach may be combined in an auction. For example, preferences may be implemented through bid transformations whereas constraints may be implemented through modification of the clearing calculation. In another approach, the modified clearing calculation may account for preferences (through adjustment of the optimization criterion) without applying any bid transformations. 
         [0049]    Regardless of the allocation policy specified, the invention is capable of realizing each by allowing the market designer to specify an available TP or integrate an entirely new component into PAS  140  in order to supplement an auction allocation policy. 
         [0050]    3. Bid Verifier 
         [0051]    Bid verifier  151  tests each incoming bid for consistency with the bidding rules established by the market designer. A “bid” is defined as an expression of an action which may modify a bid state. Bids include a variety of actions, such as a buyer indicating a willingness to purchase a good at a certain price or a withdrawal of a previous bid. Changing a bid qualifies as a new bid. If verified as an eligible bid, the bid is admitted to an order book; otherwise, the bid is rejected. There are many possible varieties of bidding rules which may be specified in TPs through the MSC  110 . 
         [0052]    In one embodiment, bid verifier  151  operates such that the incoming bid is compared to a bid referred to as a base bid. The base bid may refer to the trader&#39;s own bid, to all bids, or to some summary (e.g., a price quote), as determined by applying the bid rules. For example, assume a bidding rule requires that, in order for a bid to be eligible, a bid must meet the following requirement: 
         [0000]      bid=highest bid received+ x    
         [0000]    wherein x equals $20 and the highest bid received for that auction at a certain period of time is assumed to be $100. The highest bid represents the base bid. In this example, the base bid is replaced with a higher bid. The higher bid is then referred to as the base bid. The incoming bid must be at least $120 to be entered into the order book. 
         [0053]    In one embodiment, each bid is subjected to a bid transformer  155  which applies an auction allocation policy to the bid. Bid transformation may occur before or after bid verification. The market designer determines whether bid transformation occurs before or after bid verification. Preferably, bid transformation occurs before bid verification. 
         [0054]    Although various embodiments of the invention have been provided in terms of a universal auction system framework, a special-purpose on-line auction system may also be used as shown in  FIG. 2 . The number of special-purpose on-line auction systems is limitless.  FIG. 2  shows data transfer capable of occurring between trader  200  and database  205  of a web server. Optionally, a firewall may exist between trader  200  and database  205 . Data transfer may also exist between private party  210  and database  205 . Again, the firewall between private party  210  and database  205  is optional. Data may also be transferred between private party  210  and auction server  220 . 
         [0055]    Auction server  220  serves a similar purpose as the PAS; however, auction server  220  is not programmable like the PAS. Instead, auction server  220  is designed such that it is capable of running a special-purpose auction. As a result, auction server  220  reflects the specific requirements of a market designer and generally cannot be modified to be used in a universal manner without expending a significant amount of labor. 
         [0056]    Auction server has a bid transformer  222  and a clearer that operate in the same fashion as bid transformer  155  and clearer  154  in the universal auction system. It will be appreciated that although only two modules are shown, multiple modules may exist in order to implement the requirements of a particular market designer. 
         [0057]    One example of a special-purpose auction system may relate to an auction module which is specifically geared toward an auction of off-specification U.S. military supplies. The U.S. military may contract with a private party to produce and manage the special-purpose auction system. This special-purpose auction system may require bids to be received by the private party who verifies that the trader is authorized to bid on goods from the U.S. military. The bids from authorized traders then undergo transformation (if applicable) through a bid transformer. On the other hand, a clearing calculation may be modified by a clearer to implement a constraint. 
         [0058]    Under this special-purpose system, a trader is notified when it has been determined that the trader&#39;s bid is inadequate or is the prevailing bid. As noted above,  FIG. 2  merely shows one embodiment of a special-purpose auction system. One skilled in the art will understand that the invention is not limited to this embodiment of a special-purpose on-line auction; rather, numerous special-purpose auctions may be made. 
         [0059]      FIGS. 3 and 4  show schematically various embodiments of the invention in which several of the modules of the PAS are shown. Here, a bid (e.g., $100) is submitted by Trader A at operation  600 . At operation  605 , the bid is adjusted. In one embodiment, the bid may be adjusted by bid transformer  155  transforming the bid submitted by a trader. In another embodiment, clearer  154  may adjust a cleared bid by modifying the clearing calculation. In another embodiment of the invention, preferences granted to a trader may be implemented through bid transformer  155  and constraints to a transaction may be implemented through modification of the clearing calculation. 
         [0060]    The bid is sent to the bid verifier  151  at operation  610 . Bid verifier  151  receives the bid and compares the bid to the rules specified in the TPs. At operation  610 , the bid verifier determines whether the bid is acceptable. A bid is acceptable if the bid meets the requirements set forth in the rules found in the TPs. An unacceptable bid is one that does not satisfy the rules found in the TPs. If, at operation  620 , the bid satisfies the minimum standards for an acceptable bid established by the market designer, the bid is verified as an acceptable bid, the trader is notified of this at operation  630 , and the bid is placed into the order book at operation  640 . If the bid fails to meet these minimum standards at operation  620 , the bid is rejected and the trader is notified that his bid is unacceptable. Information manager  152  notifies the trader by transmitting the rejection to him or her at operation  625 . Similarly, proxy bidder  509  may also submit a bid to the bid verifier  151 . This bid undergoes the same process as discussed above. The trader who submitted the proxy bid is notified through the information manager  152  as to whether the proxy bid is acceptable. Application Program Interfaces  510  provide a means for extending the PAS to incorporate replacement or additional modules. 
         [0061]      FIG. 5  shows data flow of one embodiment of the invention. A market  700  comprises an auction  710 . Although a market may include a plurality of phases, only one phase is shown in operation  720 . With respect to a plurality of phases, one skilled in the art will appreciate that an auction specification of one phase may be replaced by methods known in the art with an auction specification of another phase. An eligible bid may be sent to the bid transformer at operation  730 . At this operation, the bid is modified to reflect auction allocation policies wherein the bid may be increased, decreased, or modified in some other way in order to reflect a status which has been granted to that particular trader for a particular good or transaction. A bid submitted by a trader is sent to bid verifier  151  at operation  740 . Bid verifier  151  determines whether the bid meets certain rules which are specified by the market designer or another party who may control an aspect of the auction. One skilled in the art will understand that bid transformation (or the clearing operation by clearer  154 ) may occur either before or after bid verification. At operation  750 , the bid is verified (i.e., meets the established criteria for a bid). If the bid is verified, the bid is then submitted to the order book at operation  760 . At this operation, tie-breaking rules may be applied, sort criteria may be used, and any other criteria designated by the market designer may be implemented. At operation  770 , the bid is submitted to the clearer  154 . Clearer  154  determines whether any constraints exist. Clearer  154  also determines whether any constraints are applicable to the bid. If a constraint applies to a bid, clearer  154  modifies the clearing calculation(s) by incorporating or implementing the requirements of the constraint(s). At operation  780 , the bids are submitted to the trade manager for further processing. The information manager is continuously operating and may be providing information to traders on a continuous basis at operation  790 . 
         [0062]    Thus, a method and apparatus for designing and deploying a universal, interactive, real-time, trading market system serving traders communicating via the Internet or similar network is disclosed. Although the present invention has been described with reference to specific exemplary embodiments, it will be apparent to those skilled in the art that various modifications and augmentations may be made to these embodiments without departing from the broader spirit and scope of the present invention as set forth in the following claims.