METHOD AND APPARATUS FOR TRADING MARKET DESIGN AND DEPLOYMENT

Abstract: A universal or special-purpose auction system and method are disclosed wherein at least one auction allocation policy is implemented which results in adjusting a bid (605) submitted by a trader (200) or a clearing calculation is modified (154) to incorporate a constraint.

Description: METHOD AND APPARATUS FOR TRADING MARKET DESIGN -AND DEPLOYMENT Cross-Reference to Related Applications The present application is a Continuation-In-Part of co-pending Continuation-In-Part application serial no. 09/339,325 filed June 23, 1999 by applicant Yoav Shoham et al., entitled "A Universal On-Line Trading Market Design And Deployment System," and application serial no. 09/131,048 filed August 7, 1998 by applicant Yoav Shoham et al., entitled "A Universal On-Line Trading Market Design And Deployment System." FIELD OF THE INVENTION 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 representing 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 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. 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. 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 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. 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 Figure la is a system block diagram showing the components of the preferred embodiment. Figure lb is a diagram showing the programmable auction server of the system. Figure 2 shows a special-purpose auction system. Figures 3 and 4 show schematically one embodiment of the invention wherein a bid is received and is verified. Figure 5 shows the data flow of the invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT 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. 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. 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. Figures la and lb 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 Market Specification Console (MSC) 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. 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 ("GUT') 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. 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. Universal Trading Console (UTC) 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. 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). Universal Surveillance Console (USC) 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. Market Administration Console (MAC) 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. Programmable Auction Server (PAS) 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). 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. 1. Bid Transformer 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.). 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' 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. 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. 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 151. 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. 2. Clearer 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. (a) Operation of Clearer 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 incoφorate 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. 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. 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. Clearer 154 may use another type of clearing policy which determines exchanges based upon chronological priority. For example, the continuous double auction ("CD A") 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. 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. (b) Constraints 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 incoφorating 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 incoφorate 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 incoφorate the following constraint: 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: Constraint on widgets distributed to Traders A • 1/2 x 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 incoφorate this constraint. While this example shows clearer 154 modifying the clearing calculation, other modules may be used to perform the same function. 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. 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. 3. Bid Verifier 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. 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'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: bid = highest bid received + x 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. 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. Although various embodiments of the invention have been provided in terms of a universal auction system framework, a special-puφose on-line auction system may also be used as shown in Figure 2. The number of special-puφose on-line auction systems is limitless. Figure 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. Auction server 220 serves a similar puφose 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-puφose 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. 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. One example of a special-piupose 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-puφose auction system. This special-puφose 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. Under this special-puφose system, a trader is notified when it has been determined that the trader's bid is inadequate or is the prevailing bid. As noted above, Figure 2 merely shows one embodiment of a special-puφose auction system. One skilled in the art will understand that the invention is not limited to this embodiment of a special-puφose on-line auction; rather, numerous special- puφose auctions may be made. Figures 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. 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 incoφorate replacement or additional modules. Figure 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 incoφorating 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. 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.

Claims: CLAIMS We claim: 1. A programmable auction server comprising: auction modules wherein at least one auction module performs at least one transaction selected from the group comprising a bid transformation transaction and a clearing transaction. 2. The programmable auction server as in claim 1, further comprising: a bid transformer which performs a bid transformation transaction. 3. The programmable auction server as in claim 1, further comprising: a clearer which modifies a clearing calculation and performs a clearing transaction. 4. The programmable auction server as in claim 2, wherein the bid transformation transaction adjusts a submitted bid. 5. The programmable auction server as in claim 3, wherein the clearing calculation has a constraint. 6. A method of designing a universal auction system comprising: using a programmable auction server; generating a plurality of auction modules; and, specifying the adjustment of a bid submitted by a trader by at least one auction module. 7. The method of claim 6, wherein at least one auction module adjusts a submitted bid. 8. The method of claim 6, further comprising: transmitting an adjusted bid to a bid verifier. 9. A universal auction system comprising: a programmable auction server; a plurality of auction modules, wherein at least one auction module adjusts a bid. 10. The universal auction system of claim 9, wherein an auction module is selected from the group comprising a bid transformer and a clearer. 11. A universal auction system comprising: an auction module; and the auction module performs a transaction which is based upon an auction allocation policy. 12. The universal auction system of claim 11, wherein the adjustment of a bid is based upon a preference granted to the trader. 13. The universal auction system of claim 11, wherein the transaction involves modifying a clearing calculation to implement a constraint. 14. A universal on-line auction system comprising: a programmable auction server; a module which adjusts a first bid submitted by a trader; and the adjustment is based upon an auction allocation policy. 15. The universal on-line auction system of claim 14, wherein a first bid is adjusted to a second bid, the second bid is greater than the first bid submitted by the first trader. 16. The universal on-line auction system of claim 14, wherein a first bid is adjusted to a second bid, the second bid is less than the first bid submitted by a trader. 17. The universal on-line auction system of claim 14, wherein the second bid prevails over a third bid from a second trader. 18. The universal on-line auction system of claim 15, wherein the second bid prevails over a third bid from a second trader 19. A special-puφose auction system comprising; an auction server; an auction module; and the auction module performs a transaction which grants a preference to at least one trader. 20. The special-puφose auction system of claim 19, wherein the transaction involves adjusting a bid submitted by a trader. 21. The special-puφose auction system of claim 20, wherein the adjustment of a bid is based upon a preference granted to the trader. 22. The special-puφose auction system of claim 19, wherein the transaction involves modifying a clearing calculation to implement a constraint.

Inventors: EPHRATI EITHAN, SHOHAM YOAV, WELLMAN MICHAEL, EPHRATI, EITHAN, SHOHAM, YOAV, WELLMAN, MICHAEL
Applicants: EPHRATI EITHAN, SHOHAM YOAV, TRADING DYNAMICS INC, WELLMAN MICHAEL, EPHRATI, EITHAN, SHOHAM, YOAV, TRADING DYNAMICS, INC., WELLMAN, MICHAEL
Application year: 2000
Main classification: G06F17
IPC codes: G06Q30, G06Q50