WO2001088811A2 - Method and system for market based resource allocation - Google Patents

Method and system for market based resource allocation Download PDF

Info

Publication number
WO2001088811A2
WO2001088811A2 PCT/US2001/015424 US0115424W WO0188811A2 WO 2001088811 A2 WO2001088811 A2 WO 2001088811A2 US 0115424 W US0115424 W US 0115424W WO 0188811 A2 WO0188811 A2 WO 0188811A2
Authority
WO
WIPO (PCT)
Prior art keywords
resource
bid
agent
bidding
allocation
Prior art date
Application number
PCT/US2001/015424
Other languages
French (fr)
Other versions
WO2001088811A8 (en
Inventor
Nemo Semret
Giovanna Giammarino
Original Assignee
Invisible Hand Networks, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Invisible Hand Networks, Inc. filed Critical Invisible Hand Networks, Inc.
Priority to CA002408833A priority Critical patent/CA2408833A1/en
Priority to AU2001261521A priority patent/AU2001261521A1/en
Priority to EP01935422A priority patent/EP1285380A2/en
Publication of WO2001088811A2 publication Critical patent/WO2001088811A2/en
Publication of WO2001088811A8 publication Critical patent/WO2001088811A8/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/08Auctions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange

Definitions

  • This application relates to a system and method for real-time resource allocation and, specifically, to a system and method for allowing real-time buyers and sellers to bid for resources and controlling the applicable resources in accordance with the bids.
  • the allocation of information service resources can be viewed as an exchange of commodities.
  • Dow Jones has announced plans to launch a bandwidth index that will provide price for long-haul data routes and will enable companies to use these figures to peg the changing process for contracts when they are buying access to networks.
  • the emerging telecommunications market call for new mechanisms for real-time trading of network resources, such as bandwidth.
  • resources for sale are posted, such as on a bulletin board or similar online location. Human beings peruse the posted resources and try to decide which resources their organizations will need in the future. The humans then place bids against each other for the resources.
  • Such human-based resource trading systems usually operate on large amounts of bandwidth at a time and trades are performed periodically, the period being fairly long due to the limits of human attention span and speed. For example, it would be impractical for a human-base trading system to buy and sell resources in one minute or five minute partitions, since human beings are not capable of such speed.
  • most human-based resource agents rely on additional human interaction to implement the results ofthe resource bidding.
  • the present invention provides a platform for resource allocation in real-time.
  • One or more software resource agents interact with software player agents, which are usually both s and seller agents, to reach an agreement on price and quantity allocations for each buyer of that resource (for example, X Mbs of bandwidth for Y units of time, at price Z for buyer A).
  • the s operate in accordance with one or more strategy rules for that agent.
  • a strategy rule tells the what strategy to use in bidding against other agents for particular resources.
  • the s also operate in accordance with valuation rules that tell the how to value a particular resource when bidding (this value is often used as a part ofthe strategy rule).
  • Seller agents also contain their own strategy and valuation rules, which allow them to decide how much of a resource to offer and how to set a minimum price for the resource.
  • Both player agents (buyer and sellers) and resource agents are aware of a global allocation rule used by the resource agent to allocate a resource between the buyers. In the buyer and seller agents, this allocation rule is often considered in determining strategy.
  • player agents also contain a graphical user interface that allows human beings to set their rules and to control various aspects ofthe player agent.
  • the present invention promotes the sharing of a limited resource, such as bandwidth, buffer space, memory space, storage, or processor time, in a competitive environment. This environment ensures that whomever need the most resource and has the ability to pay will get a share ofthe resource in accordance with willingness to pay.
  • the invention adjusts for the changing needs ofthe participants over time.
  • Fig. 1 is a block diagram of an embodiment ofthe present invention.
  • Fig. 2 is a flow chart of a method performed by a resource agent of Fig. 1.
  • Fig. 3 is a flow chart of a method performed by a of Fig. 1.
  • Fig. 4 is a flow chart of a method performed by a seller agent of Fig. 1.
  • Fig. 5 is a chart showing an example ofthe result of an allocation rule.
  • Figs. 6(a) and 6(b) show an example of a valuation rule.
  • Fig. 7(a) and 7(b) show an example of a strategy rule.
  • Fig. 8 shows an example of a flow chart used by an accounting system of an embodiment ofthe invention.
  • Fig. 9(a) is a more detailed block diagram ofthe embodiment of Fig. 1.
  • Fig. 9(b) shows an example of how a bandwidth resource is given to the winning bidder.
  • Fig. 10 shows an example of an embodiment ofthe present invention including a
  • Figs. 1 l(a)-l 1(b) are an example of an XML file for a generic player agent.
  • Figs. 12(a)- 12(c) shown an example of Java code implementing a strategy rale for a
  • Figs. 13(a)-13(c) show an example of Java code implementing an allocation rule for a resource agent 104.
  • Fig. 14 is an example of an XML file for a generic resource agent.
  • Figs. 15(a)-15(r) show examples of user interfaces for buyer and seller agents. Detailed Description of Embodiments
  • the present invention uses distributed, self-optimizing software agents to perform resource allocation more efficiently than centralized or human-based systems.
  • Fig. 1 is a block diagram of an embodiment ofthe present invention.
  • Fig. 1 includes a software player agent 102, which represents multiple and seller agents. A typical system will, include both buyer and seller agents 102.
  • Fig. 1 also includes a software resource agent 104, a software accounting agent 106, a network control and management agent 108 and a resource 110.
  • resource 110 can be a number of different resources, including but not limited to: bandwidth, buffer space, memory space, storage, or processor time.
  • each player agent can contain a Graphical User Interface (GUI) 122, one or more valuation rules 124, one or more strategy rules 126, and one or more allocation rules 128.
  • GUI Graphical User Interface
  • the resource agent 104 also contains the same one or more allocation rules 128. s 102 place bids to the resource agent 104, which ultimately decides which ofthe player agents is awarded a portion of each resource for a predetermined amount of time. Resource agent 104 also controls resource 110, based on the results ofthe bidding, by sending an allocation command to network control and management agent 108. Thus, for example, if the resource is Internet bandwidth, if buyer A has won X Mbs of bandwidth for 5 minutes, resource agent 104 directs the network control and management agent 108 to give precedence to packets originating at buyer A for the next five minutes or to ensure that the agreed upon bandwidth requirements are met for buyer A's packets for the next five minutes.
  • the mechanism used to communicate the allocation command from resource agent 104 to agent 108 can be any appropriate mechanism.
  • the allocation command will include an identification ofthe winning buyer or buyers and an identification ofthe amount of resource allocated and the time period for which it is allocated.
  • Other appropriate formats can be used without departing from the spirit ofthe invention.
  • agents 104 and 108 are separate agents (as shown in the figure). In other embodiments, their functions are merged into a single agent. Agents 104 and 108 can be owned and/or controlled by the same entity or by different entities. For example the owner of resource 110 could outsource the market-based allocation to a business partner operating resource agent 104, while keeping the network management and control function in its own hands, by retaimng operation ofthe network control and management agent 108 themselves.
  • network control and management agent 108 controls resource 110 to implement the allocation command received from resource agent 104.
  • agent 108 commits the resource allocated to a player after the resource agent 104 has closed the bidding.
  • Network control and management agent 108 provides a common interface for resource agent 104 for all systems supported. In certain embodiments, there is one agent 108 per resource. Alternately, a single agent can control multiple resources and communicate with multiple resource agents 104.
  • network management and control agent 108 controls resources belonging to other entities (i.e., not to the owner of resource agent 104). In other embodiments, resource 110 might also be under the direct control of the owner of resource agent 104.
  • Fig. 1 shows that network control and management agent 108 sends either Simple Network Management Protocol (SNMP) commands or COPS (Common Open Policy Service Protocol) commands to the resource.
  • SNMP Simple Network Management Protocol
  • COPS Common Open Policy Service Protocol
  • the SNMP protocol is well known and is described in RFC 1089, RFC 1270, RFC 1303, RFC 1298, RFC 1418, and RFC 1419, which are incorporated herein by reference in their entirety.
  • the COPS protocol is well known and is described in "The COPS (Common Open Policy Service,” dated March 5, 1999, available from Adobe Systems, Inc. of San Jose, CA, and RFC 2748., both of which are incorporated herein by reference in their entirety.
  • Other appropriate resource control protocols can be used without departing from the spirit ofthe invention.
  • resource agent 104 alerts accounting agent 106, which keeps track ofthe winning buyers, as described below in connection with Fig. 9(a).
  • Accounting agent 106 provides a common interface for all accounting systems supported. Agent 106 preferably contains a database handler for each system it supports. Although accounting agent 106is shown as using one or more ofthe IHN and SQL database interfaces, any appropriate interface to an accounting database could be used.
  • the 102 operates in accordance with one or more strategy rules for that agent. A strategy rule tells the what strategy to use in bidding against other agents for particular resources and, therefore constitutes a bidding mechanism for agents.
  • the s also operate in accordance with valuation rules that tell the how to value a particular resource when bidding (this value is often used as a part of the strategy rale).
  • a valuation rule typically tells an agent how to value each unit of a resource over a range of possible quantities, at a given time.
  • Seller agents also contain their own strategy and valuation rules, which allow them to decide how much of a resource to offer and how to determine a minimum price for the resource.
  • Strategy and valuation can depend on external information, such as accounting information and network congestion.
  • the valuation and strategy of player agents (buyer and sellers) and resource agents are aware of a global allocation rule used by the resource agent to allocate a resource between the buyers.
  • this allocation rale is often considered in determining valuation and/or strategy.
  • an allocation rale typically can be thought of as corresponding to a market mechanism.
  • allocation rules include English auctions (familiar to persons who frequent human-based antique and estate sale auctions), Reverse Price Auctions (such as the main eBay model), Dutch auctions, and continuous bid- ask trading.
  • Examples of allocation rales are found, for example, in 1) J.F. Rosenschein and G. Zlotkin, "Rules of Encounter," MIT Press 1994; 2) PhD thesis of N. Semret, "Market Mechanisms for Network Resource Sharing," Dept. of Electrical Engineering,
  • Fig. 2 is a flow chart of a method performed by resource agent 104 of Fig. 1.
  • resource agent 104 there is more than one resource agent - one for each resource.
  • resource agents preferably run within servers that can be distributed over a network. Alternately, one or more resource managers 104 can reside on the same system.
  • resource agent 104 receives 202 one or more bids for resource
  • Such bids will usually include at least quantity and price values. If a buyer is outbid, the resource agent notifies 204 the buyer, unless the trading period is over 206. Once the trading period is over, the resource agent notifies 208 the winning or agents and proceeds to send an allocation command 210 to network control and management agent 108 that will cause agent 108 to control the resource in accordance with the winning bids.
  • Fig. 3 is a flow chart of a method performed by player/buyer 102 agent of Fig. 1.
  • the is apprised of potential resources available for bidding. This is accomplished either by the player requesting current resource auction information from a centralized directory service (not shown) or by the player registering with the resource agent and periodically being sent information about current bidding.
  • a player agent 102 queries the directory service to find the location (e.g., in the form of a URL) of resource agents 104, garages (see Fig. 10), and other player agents 102.
  • The decides 302 whether to bid on a particular unit or resource 110 and sends 304 a bid to the resource agent. If the receives a notice that he has been outbid, control returns to element 302 and the agent decides whether to continue bidding.
  • the includes a GUI a human being can visualize the market using various known graphs, charts or similar graphics.
  • a user can also use the GUI to change the strategy and valuation rales used by the agent.
  • certain embodiments include a special type of player/, called a broker agent, which buys resources with the intent of reselling those resources..
  • a broker agent has no user for the resource (such as bandwidth) itself, since the broker is not an ISP or similar entity in need of bandwidth.
  • Fig. 4 is a flow chart of a method performed by a player/seller 102 agent of Fig. 1.
  • a seller agent first notifies 402 the resource agent that it has one or more units of a resource to sell (for example, IMbs for 5 minutes or 10 minutes of processor time). Once the bidding is over, seller agent 102 will receive from resource agent 104 a notification 404 ofthe winning bidder or bidders.
  • the seller agents collect the payments from the buyers based on accounting information retrieved from the accounting agent. 106.
  • Fig. 5 is a chart showing an example ofthe result of a Progressive Second Price Auction (PSP) allocation rale.
  • PSP Progressive Second Price Auction
  • Fig. 5 shows how resources are allocated and prices set once the bidding is over and it is determined that there are not enough resources to satisfy all the bidders.
  • resource agent 104 allocates the resources as follows: The 100 available resource units are apportioned between the bidders until the resource is gone. Thus, the high bidder A is allocated all ofthe resource that he wants, as is the second high bidder B. Bidder C only gets 20 or the 30 resource units that he wanted and bidder D gets nothing, since there are no more resource units to allocate after partially fulfilling bidder C's wants.
  • the resource agent 104 determines the amount that the bidders in the PSP auction are charged as follows: For each bidder, the resource agent determines the value ofthe bidder's resource if that bidder had not participated, and charges the bidder a price based on this determination. Thus, if bidder A had not participated, his 50 units would have been allocated as follows:
  • the cost to bidder A is determined as follows:
  • the cost of a resource unit to bidder C is $1/30.
  • the cost to bidder B is determined as follows:
  • the cost of a resource unit to bidder C is $1/30.
  • Fig. 5 shows only how resources are allocated after bidding is closed.
  • An allocation rale also includes within it rales or explanations of how the auction itself should be conducted.
  • a PSP auction generally lasts for a predetermined amount of time (for example, five minutes).
  • resource agent 104 collects all bids received from the s 102 and saves them in a bidlist data structure (e.g., a linked list).
  • the bidlist data stracture indicates which bid is the most recent bid for each 102.
  • the resource agent 104 transmits the bids received to the other agents 102, so that all agents know what all other participating agents are bidding. Because each 102 has knowledge ofthe allocation method, each 102 can apply its strategy and valuation rules to determine whether that agent is going to be allocated the resources on which it has bid. The agent, applying the allocation, strategy, and valuation rules, determines whether it should bid again. In a PSP auction, bidding usually stabilizes after a few minutes. In some embodiments, resource agent 104 does not hold the auction open for a predetermined time, but instead waits a predetermined amount of time after the bidding has stabilized to make sure that no other bids are received.
  • resource agent 104 announces to the s 102 that bidding will close in a certain number of minutes or seconds. In some cases, if a bid is received during this time period, the auction is kept open a bit longer.
  • an allocation rale (known to all agents) also includes information about how the auction will be conducted by resource agent 104, including, for example: how long an auction will last, if the auction has no set time period, what are the conditions for the auction to close.
  • the allocation rale includes rules describing how price and quantities are assigned after the auction has closed. In a preferred embodiment ofthe invention, auctions last 5 minutes, although other periods of time could be used and these periods of time could be either variable or user- settable.
  • the bandwidth resource being auctioned during a current auction is allocated immediately and another auction is begun immediately.
  • an auction occurs roughly every five minutes for the bandwidth that will be used by the buyers during the next five minutes.
  • Other embodiments may not auction all bandwidth for immediate use.
  • the Hold Option is a concept for advance price and quantity guaranteed reservations of network resources in a real-time market environment. Periodic auctions (progressive second price, or other) among arrivals grouped in batches give rise to the spot market of capacity changes. A reservation guaranteeing access for an arbitrary duration with a capacity piece below the bid can be made at any time before or during service.
  • reservation is defined as a hold option, and is analogous to derivative financial instruments such as options and futures integrated over time. Based on a heavy traffic diffusion model, reservation fees can be computed as the fair market price of a hold option. In at least one embodiment, special player agents 102 are allowed to place such hold options, thus providing a guaranteed reservation of a network resource for an arbitrary duration.
  • Figs. 6(a) and 6(b) show examples of valuation rales.
  • a valuation rule is formed of pairs of quantity /price values.
  • a valuation rale is formed as a function of various input variables. These input variables can include any or (but are not limited to): the number of hits on a web site ; the average file size downloaded (and the bandwidth needed to service those files); the expected delay or expected latency, and the value of each hit. Valuation can also be time dependent (e.g., higher valuations are assigned during peak usage times when more bandwidth is needed) and the network state (e.g., more bandwidth is needed if the network is congested).
  • a low-level valuation rale requires more inputs, which require more time and effort to collect and receive, a low-level description may require a large amount of data to be transferred in order for the agent to be able to bid in accordance with the low-level valuation rale.
  • a simple, high-level valuation rule reduces the ability of an agent to make an optimum bid because the agent is operating with less information. Either implementation can be correct for a given circumstance, depending on the needs of the particular player agent and the limitations of its system and network.
  • Figs. 7(a) and 7(b) shows examples of strategy rules.
  • Fig 7(a) shows a simple rule set, where the first precedent is to identify the type of allocation system being used. Once the allocation system if identified, the 102 applies a set of predefined conventional rales to determine whether it should bid (or bid again).
  • Fig. 7(b) shows an example where the strategy is based on a user-defined function. In the example, if the function reaches a threshold value, the agent 102 will bid (or bid again).
  • Other examples of strategy rales decide not just whether the agent should bid, but how much the agent should bid, in accordance with the allocation rale being used by the system and in accordance with factors specific to that agent (such as, for example, those factors discussed above in relation to valuation rules).
  • strategy rales are very simple and involve bidding constant amount. Such simple strategy rales may result in uneven amounts of bandwidth being won.
  • Another example strategy rale is periodic bidding, in which a buyer agent enters auctions periodically.
  • Fig. 8 shows an example of a flow chart used by an accounting system of an embodiment ofthe invention.
  • the accounting system is notified whenever a resource agent closing bidding on a resource unit and keeps track 802 ofthe winning bids and resulting allocations. Periodically, the accounting system bills 804 the seller a percentage ofthe resources sold, which is received by the owner ofthe resource agent for operating the resource agent and account agents ofthe Merkato platform.
  • Fig. 9(a) is a more detailed block diagram ofthe embodiment of Fig. 1. It will be understood that Fig. 9(a) details only one possible way to implement the present invention and that the description herein is not to be taken in a limiting way with regard to operating systems, protocols, programming languages, etc. The example shown is implemented in , Java using the World Wide Web, but the invention is not limited to such a system. In fact, the invention can be implemented on any appropriate computers and networks, using any appropriate programming language, hardware, software, and operating system. Parts ofthe system can be implemented in software, firmware, or hardware, as needed. Fig. 9(a) includes four layers: an operating system (OS) layer 902, a Java layer 904, a Merkato layer 906, and a diffex layer 108.
  • OS operating system
  • the OS layer 902 and the Java layer 904 are conventional and will not be described herein. Other embodiments may make changes to one or more of layers 902 and 904 to enhance the performance ofthe system, for example. In this example, the use of Java layer 904 makes the system platform independent.
  • the Merkato layer 906 can run on any computer or computing device (such as a wireless device , pager, cell phone, or Internet appliance)
  • Layer 906 allows a player agent 102 to be executed on the client side, from a Java application or an applet executing in a Web browser. Alternately (or in addition), a player agent 102 can be executed as a servlet on a web server, which is the "garage" environment of Fig. 10.
  • Layer 908 enables real-time resource markets between peering ISPs.
  • the layer 908 allows ISPs to buy and sell resources, such as bandwidth, from each other in real-time.
  • Layer 908 auctions in real-time the outgoing bandwidth on each ISP's line out ofthe exchange, ensuing that at all times, the bandwidth goes to the buyer with the highest value for it.
  • Layer 908 also allows for buying and selling in advance (i.e., making reservations with guaranteed capacity and capped prices) through a derivative market of options, in effect enabling the trading of risk and hedging, for original ISP buyers and sellers, as well as for purely financial players.
  • Fig. 9(b) shows and example of how a winning buyer ISP 952 is given a resource, such as bandwidth.
  • a seller ISP 956 has a seller 902 agent running on a diffex client.
  • the seller agent determines that the ISP has bandwidth to sell (e.g., through user input via the seller agent GUI) and makes that bandwidth available for auction by sending a message to resource agent 904 (see numeral 1 in a circle).
  • the buyer ISPs 952, 954 have s 902 running on a diffex client. The s bid on the bandwidth in accordance with their allocation rules, strategy rales, and valuation rules, as discussed above (see numeral 2 in a circle).
  • the agents also receive information about bids during the auction (not shown).
  • resource agent 904 sends an allocation command to network control and management agent 908 (numeral 3 in a circle), which in turn controls a router 970 ofthe seller ISP so that the winning buyer ISP receives its bandwidth (see numeral 4 in a circle).
  • Resource agent 104 in layer 908 interfaces with the resource (e.g., with the router 970 ofthe seller ISP) to allocate the bandwidth to the winning bidder.
  • resource agent 904 interfaces with control agent 908 to send commands to the router ofthe seller ISPs.
  • allocation to the winning bidder can be effected by one ofthe following or by any other appropriate method: a) the router 970 is given a set of class-based weighted-fair queuing parameters to be used by the router to control packet queuing in the router so that the winning ISP buyers are assured of receiving the bandwidth which they was allocated by the resource agent.
  • queuing parameters will give priority to the winning bidders when packets from the winning ISPs are sent to the seller ISP's router.
  • the router is given a set of committed access-rate parameters to be used by the router to limit and shape traffic assure each buyer the bandwidth which it is allocated, or c) capacity within an MPLS (Multiprotocol Label Switching) tunnel between two points in the seller's network.
  • MPLS Multiprotocol Label Switching
  • packets 960 from the winning buyer ISP(s) are routed through the seller's router and on to the seller ISP's network 956, from which they are delivered to their destination.
  • the winning ISPs are aware that they have won and use existing routing protocols to ensure that they direct packet traffic to the seller ISP's router.
  • the resource agent informs routers in the winning ISPs ofthe needed routing change using known routing protocols.
  • the resource agent is always executed on a Web server.
  • Each resource agent 104 runs as a servlet on a Web server. This architecture is scalable because resource agents 104 can be distributed to run on any Web servers supporting the concept of a servlet.
  • communications between a player agent (either a buyer or a seller) 102 and a resource agent 104 are performed via a resource agent proxy using any of http extensions, native TCP protocol, or Java's remote method invocation (rmi). All communications are secured through an appropriate mechanism such as the secured socket layer (SSL).
  • SSL secured socket layer
  • each agent player and resource
  • the player agents 102 also have valuation rale objects 124, strategy rale objects, 126, and a GUI object 122.
  • the resource agents 104 have networking and accounting drivers for interfacing with external support systems. Further security is provided through the implementation of specific allocation rales that protect the stability ofthe system.
  • each user is required to pay a bid fee to resource agent 104 for every bid sent.
  • the implementation of a bid fee is intended to prevent users from trying to artificially destabilize the resource price and to prevent a "man in the middle" attack, which is defined as a third party intercepting a bid from another agent and keeping sending the same bid over and over.
  • timestamps are preferably used to discriminate every bid. Thus, if a bid has a previously used timestamp, resource agent 104 will ignore that bid.
  • FIG. 10 shows an example of an embodiment ofthe present invention including a "garage" for player agents 102'.
  • the garage 130 is a component on a web server that serves the purpose of storing agents and enabling their execution remotely from a user's computer.
  • the garage contains an "attendant" program 131 whose job is to help mobile agents find a parking place in the garage and to ensure proper agent execution when the agents want to run autonomously.
  • Garage 130 performs the function of a distributed database to store the agents 102' and provides a distributed processor (not shown) to execute the agents.
  • Garage 130 can be located on the same system as resource agent 104, but can also be located on a different machine.
  • the attendant is an example of a multi-agent.
  • Multi agents coordinate multiple simple agents to act together.
  • Multi-agents can be used to form coalitions of agents, using the attendant to bid for aggregated resources on behalf of the coalition.
  • the agents communicate with the attendant to let the attendant know that they need resources.
  • the multi-agent aggregates the various types of resources requested (e.g., different connection speeds or different bandwidths) and uses the allocation rule and its own strategy and valuation rales to bid on behalf of the agents. If the multi-agent wins, the resource is divided between the agents and the attendant so informs the resource agent 104, which allocates the bandwidth accordingly.
  • a broker is an example of a multiagent, coordinating buyer and seller agents for a common objective to act as a profit-maximizing reseller.
  • agent mobility to the garage is provided through XML.
  • the syntax and semantics of an agent is described using XML.
  • the semantics of an agent can include its allocation, strategy and valuation rules.
  • Each agent can be transferred to the "garage" 130 by generating its XML description. Once an agent is provided in this form, it can be re-instantiated either in a garage 130 or in a user's computer in an applet or a Java application.
  • Figs. 1 l(a)-l 1(b) are an example of an XML file for a generic player agent 102. This XML would be used, for example, to send the agent 102 to a client for execution in garage 930.
  • Each ofthe XML tags (indicated by o brackets) identifies an attribute ofthe agent that is to be activated in the garage. It will be understood that the XML of Fig. 11 is shown for purposes of example only and that other embodiments ofthe invention may use more or fewer tags and/or different tags than those shown in Fig. 11.
  • Figs. 12(a)-12(c) shows an example of Java code implementing a strategy rule for a 102.
  • This example implements a strategy in accordance with the PSP auction model described above. As shown in section 1234 of Fig. 12(c), an agent using this strategy will submit a new bid only if the new bid determined in the rule is increased by at least a calculated value epsilon. Note that this strategy rule calls a valuation rale in line 1232 of Fig. 12(c). This valuation rale implements a PSP valuation method.
  • Figs. 13(a)-13(c) show an example of Java code implementing an allocation rale for a resource agent 104. This example looks at a number of received bids in a bidlist data stracture and computes an allocation (similar to that of Fig. 5) given the current bids on the bid list in accordance with a PSP auction allocation model.
  • Fig. 14 is an example of an XML file for a generic resource agent 104. This XML would be used, for example, to send the resource agent 104 to a web server. Each ofthe XML tags (indicated by o brackets) identifies an attribute ofthe agent that is to be activated on the server side.
  • Figs. 15(a)-15(r) show examples of user interfaces for buyer and seller agents. Figs.
  • FIGS. 15(a) and 15(b) show an example of an html GUIs that provides static information to a user.
  • Figs. 15(c) and 15(d) show an example of GUIs implemented as a Java applet. The information provided by these interfaces is continuously updated in real-time or periodically.
  • Figs. 15(e)-15(r) show an example of an advanced GUI, which is preferably also implemented as an agent.
  • Particular buyer and seller agents may have one, none, or all ofthe particular GUIs shown here, or may have GUIs providing other relevant information not shown here. Note that several of these GUIs allow a human user to choose the valuation and/or strategy rules and to determine when and how to bid. It should be understood that in the preferred embodiment, buyer agents are capable of bidding on their own. Other embodiments may contain agents that bid only at the direction human beings.
  • Communication networks are characterized by what economists call externalities. The value a user gets from the network depends on the other users. The positive externalities are that a communication network is more valuable if more people are connected. The negative externalities are that resources are shared by users who - because of distance, population size, or selfishness - cannot or will not coordinate their actions sufficiently to achieve the most desirable allocation of resources. The recognition of this reality in many aspects of networks and distributed computations has lead in recent years to the emergence of game theoretic approaches in their analysis and design [23, 9, 25, 33, 15, 16].
  • the telephone system and the current Internet represent two extremes of the relationship between resource allocation and pricing.
  • the resources allocated to a telephone call are fixed, and usage prices are based on the predictability of the total demand at any given time.
  • the current practice of pricing by the maximum capacity of the user's connection decouples the allocation (actual use) of resources from the prices.
  • a menu of pricing plans indexed by the declared traffic can be offered which encourages users to make truthful declarations (e.g. of the mean rate), and also encourages the users' characterization efforts to be directed where they are most relevant to the network resource allocation.
  • truthful declarations e.g. of the mean rate
  • Another pricing scheme which incorporates multiplexing gain is formulated in [12].
  • Section 2 We begin in Section 2 by formally presenting the design of our Progressive Second Price auction mechanism for sharing a single arbitrarily divisible resource, and relating it to classical mechanism design from the economics litterature.
  • Section 3 after describing our model of user preferences and the elastic demand assumption, we prove that PSP has the desired properties of incentive compatibility, stability, and efficiency. The section concludes with simulation results on the convergence properties, and the efficiency trade-offs. Appendix A describes an information theoretic basis for valuations of the type that are assumed in the analysis of Sections 3, as one possible justification.
  • an auction is a mechanism consisting of: 1) players submitting bids, i.e. declaring their desired share ofthe total resource and a price they are willing to pay for it, and 2) the auctioneer allocating shares of the resource to the players based on their bids.
  • s_,- (>s ⁇ ,.. . , «,_ ⁇ ,5,+ ⁇ , .. .,.s / ), i.e. the bid profile of player i's opponents, obtained from s by deleting s,-.
  • the allocation is done by an allocation rule A,
  • Ai(s) ( ⁇ ,(.s), c,-(.s)), is the allocation to player i: she gets a quantity «,(a) for which she is charged c,(s).
  • p is a price per unit and c is a total cost.
  • An allocation rule A is feasible if Vs, e and Vi € X, ⁇ .( ⁇ s) ⁇ Qi,
  • a direct revelation mechanism would be one where each user message consists of the user's type, which is the valuation 3 of the resource over the whole range of their possible demands, i.e. a function ⁇ : [0, Q] — [0, oo), and the budget (see Section 3.1).
  • the valuation 3 of the resource over the whole range of their possible demands
  • the valuation of a given amount of resource is how much the user is willing to pay for that quantity.
  • the inverse of the valuation is the user's demand function, giving a desired quantity for each price. her (economic) efficiency objectives, and then - if necessary - transform it into an equivalent mechanism in the desired message space. This is convenient because one can exclude the infinitely many mechanisms with larger message spaces, without fear of missing any better designs.
  • the design process is usually the solution of an optimization (mathematical programming) problem. For this reason, in the litterature, mechanism design problems are mostly solved for cases where the space of users' types is one dimensional, or at most finite dimensional [21], using message spaces that are of the same dimension.
  • PSP provisioned second price
  • the charge c,- increases with ⁇ ,- in a manner similar to the income tax in a progressive tax system.
  • the PSP rule is the natural generalization of second-price auctions (or Vickrey auctions).
  • This is widely known to have many desirable properties [35, 24, 4], the most important of which is that it has an equilibrium profile where all players bid their true valuation. As we will presently show, this property is preserved by the PSP rule in the more general case of sharing an arbitrarily divisible resource, and this leads to stability (Nash equilibrium).
  • the PSP rule is analogous to Clarke-Groves mechanisms [3, 8, 20] in the direct-revelation case.
  • Player * has a valuation of the resource 0,-( ⁇ ,-(s)) > 0, which is the total value to her of her allocation.
  • the player can be constrained by a budget 6,- e [0, 00]. so the bid 5,- must lie in the set
  • the auction game is given by (Q, ui, ..., uj, A), that is, by specifying the resource, the players, and a feasible allocation rule. We analyze it as a strategic game of complete information [4].
  • S*(s-i) ⁇ si € -? «(*-, ⁇ ) : «, • ( «,-;*-, • ) > «, • ( ( • ;• -, • ), Vs ⁇ £ Si(s-i) ⁇ .
  • S'(s) rfc.?” ⁇ -,).
  • a Nash equilibrium is a fixed point of the point- to-set mapping S*, i.e. a profile 5 € S*(s). In other words, it is a point from which no player will want to unilaterally deviate.
  • e > 0 can be interpreted as a bid fee paid by a bidder each time they submit a bid.
  • the user will send a best reply bid as long as it improves her current utility by e, and the game can only end at an e- ⁇ ' ash equilibrium.
  • decentralization has a cost too, which is the signaling overhead resulting from players possibly adjusting bids based on opponent bids in the iterated game.
  • Our design is based on the premise that the latter approach is the more scalable of the two (indeed that was the reason for choosing a small message space).
  • s* (q", ⁇ '(q*))
  • ⁇ * t(s') € T. D
  • the objective in designing the auction is that, at equilbrium, resources always go to those who value them most. Indeed, the PSP mechanism does have that property. This can be loosely argued as follows: for each player, the marginal valuation is never greater than the bid price of any opponent who is getting a non-zero allocation. Thus, whenever there is a player j whose marginal valuation is less than player i's and j is getting a nonzero allocation, i can take some away from j, paying a price less than i's marginal valuation, i.e. increasing u,-, but also increasing the total value, since i's marginal value is greater. Thus at equilibrium, i.e. when no one can unilaterally increase their utility, the total value is maximized.
  • Proposition 3 provides a key to understanding the basic trade-off between engineering. and economic efficiency. The smaller e, the closer we get to the value-optimal allocations. But in a dynamic game, where players iteratively adjust their bids to the opponent profile, a player will bid as long as he can gain at least e utility (since that is the cost of the bid), thus a smaller € makes the iteration take longer to converge, i.e. entails more signaling.
  • Figure 5 Mean (+/- std. dev.) number of bids - solid line.
  • the dashed line is / + / 2 /10.
  • Figure 6 Mean (+/- std. dev.) convergence time in seconds (for a 1 second bid interval).
  • a resource manager should select a bid fee which optimally balances the two for the particular context.
  • Figure 8 also illustrates the validity of the lower bound given by Proposition 3.
  • Figure 8 i i(a' - solid line, and max ⁇ ⁇ , ;0,( ⁇ t ) - 4(e ⁇ ) -1 / 2 - dashed line, vs e. of situations.
  • the key results - namely incentive compatibility, equilibrium, and efficiency - generalize to a setting where multiple networked resources are auctioned, with users bidding on arbitrary but fixed routes and topologies [29, 31].
  • Any information source has a function D(.), such that when compressed to a rate R, the signal has a distortion of at least D(R) [1].
  • the distortion is the least possible expected "distance" between the original and compressed signals, where the minimization is over all possible coding/decoding schemes.
  • the distance measure the monetary cost of the error. This cost can be chosen, for example, to be proportional to some common measures like the mean squared error, the Hamming distance (probability of error), the maximum error, etc., or heuristic measures based on experiments with human perception. Given that modern source-coding techniques can, given a distortion measure, achieve distortions close to the theoretical lower bound[5], it is not unreasonable to use the rate-distortion curve as an indication of the value of the bandwidth share.
  • Di(.) be the distortion-rate function of ⁇ -Y,(t) ⁇ , a stochastic process modeling the source of information associated with user i.
  • Xi is encoded as Yi which has a rate of R bits per second.
  • the distortion- rate function is convex, and has a continuous derivative.
  • ⁇ 2 rl ,_j l ) , r € [0, 1 ).
  • ( ⁇ 2 rl ,_j l ) , r € [0, 1 ).
  • the squared error cost i.e. it costs one unit of money for one unit of en- ;rgy in the error signal.
  • TREX A prototype software agent based implementation of the auction game, called TREX, has been developed and extensively used since December 1995. Much of the intuition behind the mechanism design and the analysis in this work came from experiments done on this inter-active distributed auction game on the World Wide Web, using the Java programming language. The game can be played in real-time by any number of players from anywhere on the Internet [28].
  • Each user plays in the dynamic auction game using the following:
  • Algorithm 1 can be described as selfish and short-sighted. Selfish because it will submit a new bid if and only if it can improve it's own utility (by more than the fee for the bid). Thus, the game can only converge 7 to an e-Nash equilibrium. And short-sighted because it does not take the extensive form of the game into account, i.e. does not use strategies which may result in a temporary loss but a better utility in the long run.
  • the user pays a reservation tee ⁇ buys an option contract), which gives him t he right to buy the capacity at any time in the future up to a specified duration at his bid price.
  • the user pays the market price as long as it is below his bid price. If at some point during the call, the market price exceeds the bid price, then the user automatically exercises the option, i.e., remains connected while paying no more than the bid price.
  • the contract differs in that, rather than the right to buy once at a given strike price, it gives the right to buy repeatedly over a given duration, i.e., it is a series of "call options".
  • the "fairness” we seek is that the reservation be priced in a way tha: reflects the probability that the system will become busier during the lifetime of the reservation, in order to avoid individually rational but socially sub-optimal behaviour. Specifically, we seek to avoid customers connecting at low periods and making a reservation limiting their usage price to an excessively low price for a very long time, to avoid rejoining when the prices are higher 1 .
  • this pricing mechanism is simply an initial reservation fee plus a per-minute (for example) usage charge.
  • the novelty in the networking context is that both are market prices.
  • Section 4.1. we derive a heavy-traffic diffusion approximation model for the queueing system. Using that, in Section 4.2., we derive the corresponding model for the spot market price. Then in Section 4.3., we introduce our formulation of the reservation as a derivative financial instrument. Finally, in Section 4.4. we present some simulation results using a real trace of traffic at a dial-up Internet access modem pool. For the sake of readability, detailed calculations are relegated to Sections 4.5. and 4.6.. Although not strictly necessary, a layman's grasp of financial markets is helpful in reading this chapter.
  • the queueing system is shown in Figure 4-1. It consists of two stages, with buffers of size B and C respectively.
  • the first stage consists of a second price auction, where the winners enter the second stage, and the losers leave the system.
  • the first stage has an exponentially distributed service time ⁇ with mean 1/ ⁇ .
  • m be the number of customers ir. the first stage and n the number in the second stage, at that time.
  • the m first st.-i.ge customers are ranked according to their bid prices.
  • the (C—n) highest bids are accepted into the second stage, and the remaining m — (C — n) are dropped.
  • the bid rice of the highest dropped bid defines the new spot market price, which is valid until the next batch. If no customers are dropped, i.e., m ⁇ C — n, then the spot market price is zero.
  • Figure 4-2 shows the functioning of the mechanism.
  • the second stage is a C server queue v- .: h no waiting room, where each customer has an exponential service time (call duration) of mean 1/r.
  • ⁇ m ⁇ P ⁇ m arrivals in r ⁇
  • Xk (Xk.i Xk,M k )- > Xk,i is the bid price of the i-th player in the &-th batch,
  • M k is number of calls remaining from the &-th oldest batch, and A ' is the number of batches present.
  • N k - ⁇ Mk-, the total number of active calls.
  • x, mk, and r will denote generic values of X,M k and N, respectively.
  • X(t) is a rontinuous time Markov process.
  • the transitions are of two types. On one hand we have departures of individual customers:
  • ⁇ 1 (x, x') ⁇ 1 '(x,x'), (4.5) ' x' hold. Indeed, if (4.4) and (4.5) are satisfied, then by Theorem 1.13 of [46], ⁇ is the equilibrium probability of the Markov process X(t).
  • ⁇ 0 ⁇ (l - ⁇ o).
  • the left-hand side is the total rate at which the forward process X(t) leaves state x, which is ⁇ (l - ⁇ Q ) + nr.
  • the right-hand side is the total rate of leaving state x in the reverse process.
  • the distribution is
  • V is a constant related to the accuracy to which we want to evaluate g, and can typically can be taken to be 1 (see Section 4.6.).
  • Vm the constants ⁇ j . ⁇ 2 , which depend only on the bid price distribution F. are defined (and can be computed) by (4.23) and (4.25) respectively.
  • the implemented reservation mechanism makes real-time estimates of A. and r, to evaluate the constants A, K 3 , D and using the formulas in Sect ion !.(>..
  • Figure 4-5 Simulation trace Figure 4-5 shows a snapshot of the simulation trace.
  • the second plot shows the spot price process resulting from the batch auctions. As expected, prices are zero when the system is lightly loaded during the night. The average price including days and nights is 0.2055.
  • the third and fourth plots show the number of users in the second stage, in the reserved and unreserved states.
  • all users accept the reservation offer, thus they only remain in the unreserved state for a brief period, from the time the offer is sent by the auctioneer (which is a server program), until the acceptance returns from the user (which is a client program on a different host).
  • value is the sum of the bid prices in the second stage (reserved -(-unreserved): this represents the social welfare, or the total value that the users are getting from the system.
  • the average value during the day is approximately 110, i.e., the pricing mechanism yields a 20% gain in efficiency. In other words, without pricing there are many times when a user who values access less is denying a user who values it more.
  • the efficiency is shown more clearly in Figure 4-6. normalized so that the horizontal line corresponds to the FCFS system. Note that there is an efficiency gain of up to 10% even during off-peak hours, because some of the off-peak users arrived during peak hours.
  • the sixth plot of Figure 4-5 shows the cumulative revenue from usage charges and reservation fees. Since the batch interval is one minute, and usage charges are assessed on a minutely basis, we take the price of 1 as the "full price " reference level, i.e., ono unit of revenue is when 1 line is charged a price of 1 for 1 minute. The unit is called an MOU (minute-of-use). As can be seen on the plot , t e revenue for
  • one day is approximately 125,000 MOUs.
  • the 184 lines multiplied by 1440 minutes in a day yield about 264,960 potential minutes of use.
  • a modem line generates 0.47 MOUs of revenue per minute, including usage and reservation charges.
  • Figures 4-7 and 4-8 show how the reservation fee offsets any attempt to "arbitrage". Durations range from 0 to 24 hours, and the reservation fees range from 0 to 640 MOUs, with the highest ratio being 1 MOU of reservation fee per minute of reservation duration, as can be seen by the straight line upper-bounding the scatter plot in Figure 4-7.
  • the highest ratio (most expensive reservation) would be for a user who gets into the system with a bid price near zero and requests a long reservation at a time when the arrival rate is high. That is illustrated by Figure 4-8.
  • a user asking for a long duration reservation at a low bid price must pay a higher fee which compensates for the expected future rise in prices.
  • the vertical variations are due to the market price at the moment the reservation offer is made, where the higher end are reservations made when the market price is high.
  • the binomial density tends to the normal density, i.e., for 0 ⁇ u ⁇ 1, we have
  • g(u,n,m) m—C+n 11 f_-[[CC--nn--((l1-- ⁇ )r f exp u J2 ⁇ mu ti((ll——uu)) ⁇ 2u(l — u)m )
  • V can be interpreted as the smallest variance at which the binomial distribution is sufficiently close to the normal distribution. Typically V can be taken to be about 1.
  • is the normal distribution of mean zero, and variance 1.

Abstract

The present invention provides a platform for resource allocation in real-time. One or more software resource agents interact with software player agents, which are one or more of buyers and seller agents, to reach an agreement on a price for a specific resource.

Description

Method and System for Market Based Resource Allocation
Background
A. Technical Field This application relates to a system and method for real-time resource allocation and, specifically, to a system and method for allowing real-time buyers and sellers to bid for resources and controlling the applicable resources in accordance with the bids.
B. Background ofthe Invention Over the past several years, the Internet has become an important mechanism for conducting business. It has helped reduce business cost and enabled the customized delivery of goods and services. To facilitate exchange of goods and services, electronic commerce technologies have been developed, ranging from simple Internet shopping sites to auction sites such as Yahoo (http://www.yahoo.com) and eBay (http ://www. ebay . com) . At the same time, a small but growing market for telecommunication network bandwidth has developed. Bandwidth, however, is unlike traditional commodities, goods and services, in that: 1) it is a shared resource that cannot be stored. As such, any bandwidth capacity unused by one party can be made available to all other parties having access to it or it is lost. 2) The resource of bandwidth is consumed in real time. That is, it can occur simultaneously with the buying of the resource. 3) Demand for bandwidth fluctuates very rapidly and tends to be elastic.
Recently, the need for a dynamic bandwidth commodity market has been recognized. Bandwidth exchanges have been developed between new network companies and Internet service providers. The old system of signing lengthy contracts after weeks or months of negotiation does not move fast enough for buying and selling of many Internet- related resources, such as bandwidth.
The allocation of information service resources can be viewed as an exchange of commodities. In particular, in the case of bandwidth, Dow Jones has announced plans to launch a bandwidth index that will provide price for long-haul data routes and will enable companies to use these figures to peg the changing process for contracts when they are buying access to networks.
The emerging telecommunications market call for new mechanisms for real-time trading of network resources, such as bandwidth. In a convention human-based resource trading system, resources for sale are posted, such as on a bulletin board or similar online location. Human beings peruse the posted resources and try to decide which resources their organizations will need in the future. The humans then place bids against each other for the resources. Such human-based resource trading systems usually operate on large amounts of bandwidth at a time and trades are performed periodically, the period being fairly long due to the limits of human attention span and speed. For example, it would be impractical for a human-base trading system to buy and sell resources in one minute or five minute partitions, since human beings are not capable of such speed. In addition, most human-based resource agents rely on additional human interaction to implement the results ofthe resource bidding.
Summary of Embodiments ofthe Invention
The present invention provides a platform for resource allocation in real-time. One or more software resource agents interact with software player agents, which are usually both s and seller agents, to reach an agreement on price and quantity allocations for each buyer of that resource (for example, X Mbs of bandwidth for Y units of time, at price Z for buyer A). The s operate in accordance with one or more strategy rules for that agent. A strategy rule tells the what strategy to use in bidding against other agents for particular resources. The s also operate in accordance with valuation rules that tell the how to value a particular resource when bidding (this value is often used as a part ofthe strategy rule). Seller agents also contain their own strategy and valuation rules, which allow them to decide how much of a resource to offer and how to set a minimum price for the resource. Both player agents (buyer and sellers) and resource agents are aware of a global allocation rule used by the resource agent to allocate a resource between the buyers. In the buyer and seller agents, this allocation rule is often considered in determining strategy.
In the described embodiment, player agents (buyer and seller) also contain a graphical user interface that allows human beings to set their rules and to control various aspects ofthe player agent. In general, the present invention promotes the sharing of a limited resource, such as bandwidth, buffer space, memory space, storage, or processor time, in a competitive environment. This environment ensures that whomever need the most resource and has the ability to pay will get a share ofthe resource in accordance with willingness to pay. In addition, the invention adjusts for the changing needs ofthe participants over time.
Advantages ofthe invention will be set forth in part in the description which follows and in part will be apparent from the description or may be learned by practice ofthe invention. The objects and advantages ofthe invention will be realized and attained by means ofthe elements and combinations particularly pointed out in the appended claims and equivalents.
Brief Description ofthe Drawings
Fig. 1 is a block diagram of an embodiment ofthe present invention.
Fig. 2 is a flow chart of a method performed by a resource agent of Fig. 1. Fig. 3 is a flow chart of a method performed by a of Fig. 1.
Fig. 4 is a flow chart of a method performed by a seller agent of Fig. 1.
Fig. 5 is a chart showing an example ofthe result of an allocation rule.
Figs. 6(a) and 6(b) show an example of a valuation rule.
Fig. 7(a) and 7(b) show an example of a strategy rule. Fig. 8 shows an example of a flow chart used by an accounting system of an embodiment ofthe invention.
Fig. 9(a) is a more detailed block diagram ofthe embodiment of Fig. 1.
Fig. 9(b) shows an example of how a bandwidth resource is given to the winning bidder. Fig. 10 shows an example of an embodiment ofthe present invention including a
"garage" for player agents.
Figs. 1 l(a)-l 1(b) are an example of an XML file for a generic player agent.
Figs. 12(a)- 12(c) shown an example of Java code implementing a strategy rale for a
Figs. 13(a)-13(c) show an example of Java code implementing an allocation rule for a resource agent 104.
Fig. 14 is an example of an XML file for a generic resource agent.
Figs. 15(a)-15(r) show examples of user interfaces for buyer and seller agents. Detailed Description of Embodiments
Reference will now be made in detail to several embodiments ofthe present invention, examples of which are illustrated in the accompanying drawings. Wherever practicable, the same reference numbers will be used throughout the drawings to refer to the same or like parts.
The present invention uses distributed, self-optimizing software agents to perform resource allocation more efficiently than centralized or human-based systems.
Fig. 1 is a block diagram of an embodiment ofthe present invention. Fig. 1 includes a software player agent 102, which represents multiple and seller agents. A typical system will, include both buyer and seller agents 102. Fig. 1 also includes a software resource agent 104, a software accounting agent 106, a network control and management agent 108 and a resource 110. It is contemplated that resource 110 can be a number of different resources, including but not limited to: bandwidth, buffer space, memory space, storage, or processor time. As shown in Fig. 1, each player agent (buyer and seller agent) can contain a Graphical User Interface (GUI) 122, one or more valuation rules 124, one or more strategy rules 126, and one or more allocation rules 128. The resource agent 104 also contains the same one or more allocation rules 128. s 102 place bids to the resource agent 104, which ultimately decides which ofthe player agents is awarded a portion of each resource for a predetermined amount of time. Resource agent 104 also controls resource 110, based on the results ofthe bidding, by sending an allocation command to network control and management agent 108. Thus, for example, if the resource is Internet bandwidth, if buyer A has won X Mbs of bandwidth for 5 minutes, resource agent 104 directs the network control and management agent 108 to give precedence to packets originating at buyer A for the next five minutes or to ensure that the agreed upon bandwidth requirements are met for buyer A's packets for the next five minutes. The mechanism used to communicate the allocation command from resource agent 104 to agent 108 can be any appropriate mechanism. In the example shown, the allocation command will include an identification ofthe winning buyer or buyers and an identification ofthe amount of resource allocated and the time period for which it is allocated. Other appropriate formats can be used without departing from the spirit ofthe invention. In some embodiments, agents 104 and 108 are separate agents (as shown in the figure). In other embodiments, their functions are merged into a single agent. Agents 104 and 108 can be owned and/or controlled by the same entity or by different entities. For example the owner of resource 110 could outsource the market-based allocation to a business partner operating resource agent 104, while keeping the network management and control function in its own hands, by retaimng operation ofthe network control and management agent 108 themselves.
In the embodiment shown, network control and management agent 108 controls resource 110 to implement the allocation command received from resource agent 104. Thus, agent 108 commits the resource allocated to a player after the resource agent 104 has closed the bidding. Network control and management agent 108 provides a common interface for resource agent 104 for all systems supported. In certain embodiments, there is one agent 108 per resource. Alternately, a single agent can control multiple resources and communicate with multiple resource agents 104. In the embodiment shown, network management and control agent 108 controls resources belonging to other entities (i.e., not to the owner of resource agent 104). In other embodiments, resource 110 might also be under the direct control of the owner of resource agent 104.
Fig. 1 shows that network control and management agent 108 sends either Simple Network Management Protocol (SNMP) commands or COPS (Common Open Policy Service Protocol) commands to the resource. The SNMP protocol is well known and is described in RFC 1089, RFC 1270, RFC 1303, RFC 1298, RFC 1418, and RFC 1419, which are incorporated herein by reference in their entirety. The COPS protocol is well known and is described in "The COPS (Common Open Policy Service," dated March 5, 1999, available from Adobe Systems, Inc. of San Jose, CA, and RFC 2748., both of which are incorporated herein by reference in their entirety. Other appropriate resource control protocols can be used without departing from the spirit ofthe invention.
Once one or more winning buyers are determined, resource agent 104 alerts accounting agent 106, which keeps track ofthe winning buyers, as described below in connection with Fig. 9(a). Accounting agent 106 provides a common interface for all accounting systems supported. Agent 106 preferably contains a database handler for each system it supports. Although accounting agent 106is shown as using one or more ofthe IHN and SQL database interfaces, any appropriate interface to an accounting database could be used. The 102 operates in accordance with one or more strategy rules for that agent. A strategy rule tells the what strategy to use in bidding against other agents for particular resources and, therefore constitutes a bidding mechanism for agents.
The s also operate in accordance with valuation rules that tell the how to value a particular resource when bidding (this value is often used as a part of the strategy rale). Thus, a valuation rule typically tells an agent how to value each unit of a resource over a range of possible quantities, at a given time. Seller agents also contain their own strategy and valuation rules, which allow them to decide how much of a resource to offer and how to determine a minimum price for the resource. Strategy and valuation can depend on external information, such as accounting information and network congestion.
The valuation and strategy of player agents (buyer and sellers) and resource agents are aware of a global allocation rule used by the resource agent to allocate a resource between the buyers. In the buyer and seller agents, this allocation rale is often considered in determining valuation and/or strategy. Thus, an allocation rale typically can be thought of as corresponding to a market mechanism. Examples of allocation rules include English auctions (familiar to persons who frequent human-based antique and estate sale auctions), Reverse Price Auctions (such as the main eBay model), Dutch auctions, and continuous bid- ask trading. Examples of allocation rales are found, for example, in 1) J.F. Rosenschein and G. Zlotkin, "Rules of Encounter," MIT Press 1994; 2) PhD thesis of N. Semret, "Market Mechanisms for Network Resource Sharing," Dept. of Electrical Engineering,
Columbia University, submitted approximately May 1999; and 3) H.R. Varian, "Economic Mechanism Design for Computerized Agents," USENTX Workshop on Electronic Commerce, July 1995. Each of these three references is incorporated herein in its entirety. Fig. 2 is a flow chart of a method performed by resource agent 104 of Fig. 1. In at least certain embodiments, there is more than one resource agent - one for each resource. For example, if an ISP offers several different bandwidths, each bandwidth might be considered a separate resource, controlled by a separate resource agent 104. Resource agents preferably run within servers that can be distributed over a network. Alternately, one or more resource managers 104 can reside on the same system. As shown in Fig. 2, resource agent 104 receives 202 one or more bids for resource
110 from one or more s 102. Such bids will usually include at least quantity and price values. If a buyer is outbid, the resource agent notifies 204 the buyer, unless the trading period is over 206. Once the trading period is over, the resource agent notifies 208 the winning or agents and proceeds to send an allocation command 210 to network control and management agent 108 that will cause agent 108 to control the resource in accordance with the winning bids.
Fig. 3 is a flow chart of a method performed by player/buyer 102 agent of Fig. 1. First, the is apprised of potential resources available for bidding. This is accomplished either by the player requesting current resource auction information from a centralized directory service (not shown) or by the player registering with the resource agent and periodically being sent information about current bidding. With a directory service, a player agent 102 queries the directory service to find the location (e.g., in the form of a URL) of resource agents 104, garages (see Fig. 10), and other player agents 102. The decides 302 whether to bid on a particular unit or resource 110 and sends 304 a bid to the resource agent. If the receives a notice that he has been outbid, control returns to element 302 and the agent decides whether to continue bidding.
In element 302, the uses its knowledge ofthe system market allocation rale and of its own valuation rales to determine how much it is willing to pay for resources at a given time and uses its own strategy rales to determine whether to bid on available resources. If the includes a GUI, a human being can visualize the market using various known graphs, charts or similar graphics. A user can also use the GUI to change the strategy and valuation rales used by the agent. It should be noted that certain embodiments include a special type of player/, called a broker agent, which buys resources with the intent of reselling those resources.. Thus, for example, a broker agent has no user for the resource (such as bandwidth) itself, since the broker is not an ISP or similar entity in need of bandwidth. Instead, the broker arranges for third party customers, such as ISPs, to receive the benefit ofthe resources the broker has bid for and won, by reselling them through another resource agent instance, and the broker keeps the difference between the buying and selling price.. In such a case, the new resource agent 104 informs the network control and management agent 108 which party is to benefit from the resource bid for by the broker. Fig. 4 is a flow chart of a method performed by a player/seller 102 agent of Fig. 1. A seller agent first notifies 402 the resource agent that it has one or more units of a resource to sell (for example, IMbs for 5 minutes or 10 minutes of processor time). Once the bidding is over, seller agent 102 will receive from resource agent 104 a notification 404 ofthe winning bidder or bidders. In at least one embodiment, the seller agents collect the payments from the buyers based on accounting information retrieved from the accounting agent. 106.
Fig. 5 is a chart showing an example ofthe result of a Progressive Second Price Auction (PSP) allocation rale. Other allocation rule types, as discussed above, can also be used, as specified by the particular allocation market strategy implemented in a particular system. Fig. 5 shows how resources are allocated and prices set once the bidding is over and it is determined that there are not enough resources to satisfy all the bidders.
In the PSP auction of Fig. 5, bidder A bids $3 for 50 resource units; bidder B bids $2 for 30 resource units; bidder C bids $1 for 30 resource units; and bidder D bids $0.50 for 20 resource units. At the close of bidding, resource agent 104 allocates the resources as follows: The 100 available resource units are apportioned between the bidders until the resource is gone. Thus, the high bidder A is allocated all ofthe resource that he wants, as is the second high bidder B. Bidder C only gets 20 or the 30 resource units that he wanted and bidder D gets nothing, since there are no more resource units to allocate after partially fulfilling bidder C's wants.
The resource agent 104 determines the amount that the bidders in the PSP auction are charged as follows: For each bidder, the resource agent determines the value ofthe bidder's resource if that bidder had not participated, and charges the bidder a price based on this determination. Thus, if bidder A had not participated, his 50 units would have been allocated as follows:
10 units to bidder C (to make up C's shortfall) 20 units to bidder D (to give D his requested number of units) The remaining 20 of bidder A's units would not have been allocated. The cost to bidder A is determined as follows:
The cost of a resource unit to bidder C is $1/30.
Thus, the value that would have been given to bidder C: 10 x ($1/30) = $0.33
The cost of a resource unit to bidder D is $0.50/20. Thus, the value that would have been given to bidder D: 20 x ($0.50/20) =
$0.50 Thus, the cost of A's resources had A not participated is $0.33 + $0.50 = $0.83. Bidder A is charged this amount for his 50 units of resource.
Similarly, if bidder B were not present, his 30 units would have been allocated as follows: 10 units to bidder C (to make up C's shortfall)
20 units to bidder D (to give D his requested number of units)
The cost to bidder B is determined as follows:
The cost of a resource unit to bidder C is $1/30.
Thus, the value that would have been given to bidder C: 10 x ($1/30) = $0.33
The cost of a resource unit to bidder D is $0.50/20. Thus, the value that would have been given to bidder D: 20 x ($0.50/20) = $0.50
Thus, the cost of B's resources had B not participated is $0.33 + $0.50 = $0.83. Bidder B is charged this amount for his 30 units of resource.
Similarly, if bidder C were not present, his 20 units would have been allocated as follows:
20 units to bidder D (to give D his requested number of units) The cost to bidder C is determined as follows:
Value that would have been given to bidder D: 20 x ($0.50/20) = $0.50
Thus, the cost of C's resources had C not participated is $0.50. Bidder C is charged this amount for his 20 units of resource.
It should be noted that Fig. 5 shows only how resources are allocated after bidding is closed. An allocation rale also includes within it rales or explanations of how the auction itself should be conducted. For example, a PSP auction generally lasts for a predetermined amount of time (for example, five minutes). While the bidding is open, resource agent 104 collects all bids received from the s 102 and saves them in a bidlist data structure (e.g., a linked list). The bidlist data stracture indicates which bid is the most recent bid for each 102.
As bids are received from the s 102 by the resource agent 104, the resource agent 104 transmits the bids received to the other agents 102, so that all agents know what all other participating agents are bidding. Because each 102 has knowledge ofthe allocation method, each 102 can apply its strategy and valuation rules to determine whether that agent is going to be allocated the resources on which it has bid. The agent, applying the allocation, strategy, and valuation rules, determines whether it should bid again. In a PSP auction, bidding usually stabilizes after a few minutes. In some embodiments, resource agent 104 does not hold the auction open for a predetermined time, but instead waits a predetermined amount of time after the bidding has stabilized to make sure that no other bids are received. In some cases, resource agent 104 announces to the s 102 that bidding will close in a certain number of minutes or seconds. In some cases, if a bid is received during this time period, the auction is kept open a bit longer. Thus, an allocation rale (known to all agents) also includes information about how the auction will be conducted by resource agent 104, including, for example: how long an auction will last, if the auction has no set time period, what are the conditions for the auction to close. In addition, as described above, the allocation rale includes rules describing how price and quantities are assigned after the auction has closed. In a preferred embodiment ofthe invention, auctions last 5 minutes, although other periods of time could be used and these periods of time could be either variable or user- settable. In a preferred embodiment, the bandwidth resource being auctioned during a current auction is allocated immediately and another auction is begun immediately. Thus, an auction occurs roughly every five minutes for the bandwidth that will be used by the buyers during the next five minutes. Other embodiments may not auction all bandwidth for immediate use.
The PSP auction model is described further in A.A. Lazar and N. Semret, "Design and Analysis ofthe Progressive Second Price Auction for Network Bandwidth Sharing," Telecommunications Systems, Special issue on Network Economics, which is attached hereto as Appendix A and forms a part of this application.
Other examples of allocation rales include, but are not limited to a Hold Option Auctions, which are discussed, for example, in the PhD thesis of N. Semret, "Market Mechanisms for Network Resource Sharing," Dept. of Electrical Engineering, Columbia University, submitted approximately May 1999, Chapter 4 of which (28 pages) is attached hereto as Appendix B and which forms a part of this specification. The Hold Option is a concept for advance price and quantity guaranteed reservations of network resources in a real-time market environment. Periodic auctions (progressive second price, or other) among arrivals grouped in batches give rise to the spot market of capacity changes. A reservation guaranteeing access for an arbitrary duration with a capacity piece below the bid can be made at any time before or during service. This eliminates the risk (which is inherent on the spot market) of losing resources to higher bidders before service completion. The reservation is defined as a hold option, and is analogous to derivative financial instruments such as options and futures integrated over time. Based on a heavy traffic diffusion model, reservation fees can be computed as the fair market price of a hold option. In at least one embodiment, special player agents 102 are allowed to place such hold options, thus providing a guaranteed reservation of a network resource for an arbitrary duration.
Figs. 6(a) and 6(b) show examples of valuation rales. In Fig. 6(a), a valuation rule is formed of pairs of quantity /price values. In Fig. 6(b), a valuation rale is formed as a function of various input variables. These input variables can include any or (but are not limited to): the number of hits on a web site ; the average file size downloaded (and the bandwidth needed to service those files); the expected delay or expected latency, and the value of each hit. Valuation can also be time dependent (e.g., higher valuations are assigned during peak usage times when more bandwidth is needed) and the network state (e.g., more bandwidth is needed if the network is congested).
It should be noted that there are engineering tradeoffs for the type of valuation rule used. Because a low-level valuation rale requires more inputs, which require more time and effort to collect and receive, a low-level description may require a large amount of data to be transferred in order for the agent to be able to bid in accordance with the low-level valuation rale. On the other hand, a simple, high-level valuation rule reduces the ability of an agent to make an optimum bid because the agent is operating with less information. Either implementation can be correct for a given circumstance, depending on the needs of the particular player agent and the limitations of its system and network. Figs. 7(a) and 7(b) shows examples of strategy rules. Fig 7(a) shows a simple rule set, where the first precedent is to identify the type of allocation system being used. Once the allocation system if identified, the 102 applies a set of predefined conventional rales to determine whether it should bid (or bid again). Fig. 7(b) shows an example where the strategy is based on a user-defined function. In the example, if the function reaches a threshold value, the agent 102 will bid (or bid again). Other examples of strategy rales decide not just whether the agent should bid, but how much the agent should bid, in accordance with the allocation rale being used by the system and in accordance with factors specific to that agent (such as, for example, those factors discussed above in relation to valuation rules).
Certain strategy rales are very simple and involve bidding constant amount. Such simple strategy rales may result in uneven amounts of bandwidth being won. Another example strategy rale is periodic bidding, in which a buyer agent enters auctions periodically.
Fig. 8 shows an example of a flow chart used by an accounting system of an embodiment ofthe invention. The accounting system is notified whenever a resource agent closing bidding on a resource unit and keeps track 802 ofthe winning bids and resulting allocations. Periodically, the accounting system bills 804 the seller a percentage ofthe resources sold, which is received by the owner ofthe resource agent for operating the resource agent and account agents ofthe Merkato platform.
Fig. 9(a) is a more detailed block diagram ofthe embodiment of Fig. 1. It will be understood that Fig. 9(a) details only one possible way to implement the present invention and that the description herein is not to be taken in a limiting way with regard to operating systems, protocols, programming languages, etc. The example shown is implemented in , Java using the World Wide Web, but the invention is not limited to such a system. In fact, the invention can be implemented on any appropriate computers and networks, using any appropriate programming language, hardware, software, and operating system. Parts ofthe system can be implemented in software, firmware, or hardware, as needed. Fig. 9(a) includes four layers: an operating system (OS) layer 902, a Java layer 904, a Merkato layer 906, and a diffex layer 108. In the described embodiment, the OS layer 902 and the Java layer 904 are conventional and will not be described herein. Other embodiments may make changes to one or more of layers 902 and 904 to enhance the performance ofthe system, for example. In this example, the use of Java layer 904 makes the system platform independent. Thus, the Merkato layer 906 can run on any computer or computing device (such as a wireless device , pager, cell phone, or Internet appliance)
Layer 906 allows a player agent 102 to be executed on the client side, from a Java application or an applet executing in a Web browser. Alternately (or in addition), a player agent 102 can be executed as a servlet on a web server, which is the "garage" environment of Fig. 10.
Layer 908 enables real-time resource markets between peering ISPs. The layer 908 allows ISPs to buy and sell resources, such as bandwidth, from each other in real-time. Layer 908 auctions in real-time the outgoing bandwidth on each ISP's line out ofthe exchange, ensuing that at all times, the bandwidth goes to the buyer with the highest value for it. Layer 908 also allows for buying and selling in advance (i.e., making reservations with guaranteed capacity and capped prices) through a derivative market of options, in effect enabling the trading of risk and hedging, for original ISP buyers and sellers, as well as for purely financial players.
Fig. 9(b) shows and example of how a winning buyer ISP 952 is given a resource, such as bandwidth. In Fig 9(b), a seller ISP 956 has a seller 902 agent running on a diffex client. As discussed above, the seller agent determines that the ISP has bandwidth to sell (e.g., through user input via the seller agent GUI) and makes that bandwidth available for auction by sending a message to resource agent 904 (see numeral 1 in a circle). The buyer ISPs 952, 954 have s 902 running on a diffex client. The s bid on the bandwidth in accordance with their allocation rules, strategy rales, and valuation rules, as discussed above (see numeral 2 in a circle). For certain types of allocation models, the agents also receive information about bids during the auction (not shown). Once the auction is concluded, resource agent 904 sends an allocation command to network control and management agent 908 (numeral 3 in a circle), which in turn controls a router 970 ofthe seller ISP so that the winning buyer ISP receives its bandwidth (see numeral 4 in a circle).
Resource agent 104 in layer 908 interfaces with the resource (e.g., with the router 970 ofthe seller ISP) to allocate the bandwidth to the winning bidder. Specifically, resource agent 904 interfaces with control agent 908 to send commands to the router ofthe seller ISPs. If, for example, the resource is bandwidth, allocation to the winning bidder can be effected by one ofthe following or by any other appropriate method: a) the router 970 is given a set of class-based weighted-fair queuing parameters to be used by the router to control packet queuing in the router so that the winning ISP buyers are assured of receiving the bandwidth which they was allocated by the resource agent. These queuing parameters will give priority to the winning bidders when packets from the winning ISPs are sent to the seller ISP's router. b) the router is given a set of committed access-rate parameters to be used by the router to limit and shape traffic assure each buyer the bandwidth which it is allocated, or c) capacity within an MPLS (Multiprotocol Label Switching) tunnel between two points in the seller's network.
Thus, as shown in Fig. 9(b), packets 960 from the winning buyer ISP(s) are routed through the seller's router and on to the seller ISP's network 956, from which they are delivered to their destination. In at least one embodiment, the winning ISPs are aware that they have won and use existing routing protocols to ensure that they direct packet traffic to the seller ISP's router. In other embodiments, the resource agent informs routers in the winning ISPs ofthe needed routing change using known routing protocols.
In the described embodiment, the resource agent is always executed on a Web server. Each resource agent 104 runs as a servlet on a Web server. This architecture is scalable because resource agents 104 can be distributed to run on any Web servers supporting the concept of a servlet.
In the described embodiment, communications between a player agent (either a buyer or a seller) 102 and a resource agent 104 are performed via a resource agent proxy using any of http extensions, native TCP protocol, or Java's remote method invocation (rmi). All communications are secured through an appropriate mechanism such as the secured socket layer (SSL). A shown in Fig. 9(a), each agent (player and resource) has an allocation rale object 128. The player agents 102 also have valuation rale objects 124, strategy rale objects, 126, and a GUI object 122. In addition, the resource agents 104 have networking and accounting drivers for interfacing with external support systems. Further security is provided through the implementation of specific allocation rales that protect the stability ofthe system. Specifically, each user is required to pay a bid fee to resource agent 104 for every bid sent. The implementation of a bid fee is intended to prevent users from trying to artificially destabilize the resource price and to prevent a "man in the middle" attack, which is defined as a third party intercepting a bid from another agent and keeping sending the same bid over and over. In addition, timestamps are preferably used to discriminate every bid. Thus, if a bid has a previously used timestamp, resource agent 104 will ignore that bid.
In the described embodiment, communication between agents is effected using http, thus bypassing many problems associated with firewalls, proxies, and other middleware. Fig. 10 shows an example of an embodiment ofthe present invention including a "garage" for player agents 102'. The garage 130 is a component on a web server that serves the purpose of storing agents and enabling their execution remotely from a user's computer. The garage contains an "attendant" program 131 whose job is to help mobile agents find a parking place in the garage and to ensure proper agent execution when the agents want to run autonomously. Garage 130 performs the function of a distributed database to store the agents 102' and provides a distributed processor (not shown) to execute the agents. Garage 130 can be located on the same system as resource agent 104, but can also be located on a different machine. The attendant is an example of a multi-agent. Multi agents coordinate multiple simple agents to act together. Multi-agents can be used to form coalitions of agents, using the attendant to bid for aggregated resources on behalf of the coalition. In the described embodiment, the agents communicate with the attendant to let the attendant know that they need resources. The multi-agent aggregates the various types of resources requested (e.g., different connection speeds or different bandwidths) and uses the allocation rule and its own strategy and valuation rales to bid on behalf of the agents. If the multi-agent wins, the resource is divided between the agents and the attendant so informs the resource agent 104, which allocates the bandwidth accordingly. A broker is an example of a multiagent, coordinating buyer and seller agents for a common objective to act as a profit-maximizing reseller.
In the described embodiment, agent mobility to the garage is provided through XML. The syntax and semantics of an agent is described using XML. For example, the semantics of an agent can include its allocation, strategy and valuation rules. Each agent can be transferred to the "garage" 130 by generating its XML description. Once an agent is provided in this form, it can be re-instantiated either in a garage 130 or in a user's computer in an applet or a Java application.
Figs. 1 l(a)-l 1(b) are an example of an XML file for a generic player agent 102. This XML would be used, for example, to send the agent 102 to a client for execution in garage 930. Each ofthe XML tags (indicated by o brackets) identifies an attribute ofthe agent that is to be activated in the garage. It will be understood that the XML of Fig. 11 is shown for purposes of example only and that other embodiments ofthe invention may use more or fewer tags and/or different tags than those shown in Fig. 11. Figs. 12(a)-12(c) shows an example of Java code implementing a strategy rule for a 102. This example implements a strategy in accordance with the PSP auction model described above. As shown in section 1234 of Fig. 12(c), an agent using this strategy will submit a new bid only if the new bid determined in the rule is increased by at least a calculated value epsilon. Note that this strategy rule calls a valuation rale in line 1232 of Fig. 12(c). This valuation rale implements a PSP valuation method.
Figs. 13(a)-13(c) show an example of Java code implementing an allocation rale for a resource agent 104. This example looks at a number of received bids in a bidlist data stracture and computes an allocation (similar to that of Fig. 5) given the current bids on the bid list in accordance with a PSP auction allocation model.
Fig. 14 is an example of an XML file for a generic resource agent 104. This XML would be used, for example, to send the resource agent 104 to a web server. Each ofthe XML tags (indicated by o brackets) identifies an attribute ofthe agent that is to be activated on the server side. Figs. 15(a)-15(r) show examples of user interfaces for buyer and seller agents. Figs.
15(a) and 15(b) show an example of an html GUIs that provides static information to a user. Figs. 15(c) and 15(d) show an example of GUIs implemented as a Java applet. The information provided by these interfaces is continuously updated in real-time or periodically. Figs. 15(e)-15(r) show an example of an advanced GUI, which is preferably also implemented as an agent. Particular buyer and seller agents may have one, none, or all ofthe particular GUIs shown here, or may have GUIs providing other relevant information not shown here. Note that several of these GUIs allow a human user to choose the valuation and/or strategy rules and to determine when and how to bid. It should be understood that in the preferred embodiment, buyer agents are capable of bidding on their own. Other embodiments may contain agents that bid only at the direction human beings.
Accordingly, the present invention is intended to embrace all such alternatives, modifications and variations as fall within the spirit and scope ofthe appended claims and equivalents. APPENDIX A
Docket No.: 61624-04980
Design and Analysis of the Progressive Second Price Auction for Network Bandwidth Sharing*
Aurel A. Lazar
Dept. of Electrical Engineering, Columbia University
New York, NY, 10027-6699, USA aurelΦcome . Columbia, edu and
Nemo Semret
Dept. of Electrical Engineering, University of California, Los Angeles
Los Angeles, CA, 90095-1594, USA nemoΦee . cla . edu
April 1, 1998 Revised: September 30, 1999
Abstract
We present the Progressive Second Price auction, a new decentralized mechanism for allocation of variable-size shares of a resource among multiple users. Unlike most mechanisms in the economics literature, PSP is designed with a very small message space, making it suitable for real-time market pricing of communication bandwidth. Under elastic demand, the PSP auction is incentive compatible and stable, in that it has a "truthful" ε-Nash equilibrium where all players bid at prices equal to their marginal valuation of the resource. PSP is economically efficient in that the equilibrium allocation maximizes total user value. With simulations using a protype implementation of the auction game on the Internet, we investigate how convergence times scale with the number of bidders, as well as the trade-off between engineering and economic efficiency. We also provide a rate-distortion
"Parts of this work were presented at the 8'Λ International Symposium on Dynamic Games nnd Applications, Maastricht, The Netherlands, July 1998, and at the DIM ACS Workshop on Economics. Game Theory, and the Internet, Rutgers, NJ, April 1997.
1 Corresponding author. theoretic basis for valuation of bandwidth, which leads naturally to the elastic demand model that is assumed in the analysis of the mechanism. Keywords: resource allocation, auctions, game theory, mechanism design, network pricing.
1 Introduction
Communication networks are characterized by what economists call externalities. The value a user gets from the network depends on the other users. The positive externalities are that a communication network is more valuable if more people are connected. The negative externalities are that resources are shared by users who - because of distance, population size, or selfishness - cannot or will not coordinate their actions sufficiently to achieve the most desirable allocation of resources. The recognition of this reality in many aspects of networks and distributed computations has lead in recent years to the emergence of game theoretic approaches in their analysis and design [23, 9, 25, 33, 15, 16].
Prices, whether they relate to "real money" in a public network or "funny money" (based on quotas) in a private system, play a key role as allocation control signals. In the former case, this role is of course intimately tied to another, which is to allow a network provider to remain- in business [7].
The telephone system and the current Internet represent two extremes of the relationship between resource allocation and pricing. The resources allocated to a telephone call are fixed, and usage prices are based on the predictability of the total demand at any given time. On the Internet, the current practice of pricing by the maximum capacity of the user's connection (flat-rate pricing) decouples the allocation (actual use) of resources from the prices.
In the emerging multiservice networks (ATM, Next-Generation Internet), neither of these approaches are viable. The former because of the wide and rapidly evolving range of applications (including some which adapt to resource availability) will make demand more difficult to predict. And the latter because, once the flat fee is paid, there are. no incentives to limit usage since increasing consumption benefits the user individually, whereas limiting it to sustainable levels brings benefits which are shared by all. This makes it vulnerable to the well-known "tragedy of the commons". With flat pricing alone, the tendency is toward increasing congestion which chases away high-value users, or increasing prices which exclude low-value users [6], in both cases leading to decreased network revenue. Thus there is a need to develop new approaches to pricing of network resources. Among the requirements are: sensitivity to the range of resource requirements (either through a sufficiently rich range of traffic classes which are priced differently, or by allowing users to explicitly quantify resource requirements); prices must be dynamically responsive to unpredictable demand (market based system); perhaps most importantly the pricing architecture should constrain as little as possible the efficiency trade-offs of the policies.
Indeed^the fundamental issue in designing pricing policies is the tradeoff between engineering efficiency and economic efficiency. This trade-off, which is more or less constrained by the underlying network technology, has many dimensions, including:
• how much measurement (from usage to capacity pricing),
• the granularity of differently priced service offerings (e.g. number of traffic classes),
• the level of resource aggregation - both in time and in space - at which pricing is done (per packet /cell or per connection, at the edge of the network or at each hop), and
• the information requirement (how much a priori knowledge of user behavior and preferences is required/assumed by the network in computing prices).
An approach which achieves economic efficiency is the smart-market approach of [19], wherein each packet contains a bid, and if it is served, pays a clearing price given by the highest bid among packets which are denied service (dropped). This approach is incentive compatible in that the optimal strategy for a (selfish) user is to set the bid price in each packet equal to the true valuation. Each node in the network becomes an efficient market, but the engineering cost (sorting packets by bid price, as well as per-packet and per-hop accounting) could be significant if line speeds are high relative to the processing power in the router. In [14], users are charged according to a combination of declared and measured characteristics of traffic. By taking an equivalent bandwidth model of resource utilization, and assuming appropriate traffic models, a menu of pricing plans indexed by the declared traffic can be offered which encourages users to make truthful declarations (e.g. of the mean rate), and also encourages the users' characterization efforts to be directed where they are most relevant to the network resource allocation. As the pricing is relative, [14] does not aim to address the problem of determining the actual monetary values of the market price (that users would be willing to pay). Another pricing scheme which incorporates multiplexing gain is formulated in [12]. These and a number of other schemes are summarized in [11], in a comprehensive view of the connection establishment process, which identifies the user-network negotiation as the key "missing link" in network engineering/economic research. In terms of our taxonomy of the previous paragraph, this is part of the information requirement trade-off. Indeed, in the absence of formal mechanisms to deal with the information problem, complex and (at least intuitively) undesirable things happen. For example, some providers offer expensive 'ϊront of the book" rates to uninformed customers, and lower "back ofthe book" rates to informed customers who may be about to defect to another carrier (see [7] and also, the recent wars between AT&T and MCI in consumer long-distance service in the United States). In [34], it is argued that architectural considerations such as where charges are assessed should take precedence over the pursuit of optimal efficiency,- and edge pricing (spatial aggregation in teπns of our taxonomy) is proposed as a useful paradigm.
In this paper, we propose a new auction mechanism which accommodates various dimensions of the engineering-economics trade-off. The mechanism applies to a generic arbitrarily divisible and additive resource model (which may be equivalent bandwidth, peak rate, contract regions, etc., at any level of aggregation.) It does not assume any specific mapping of resource allocation to quality of service. Rather, users are defined as having an explicit monetary valuation of quantities of resource, which the network doesn't or can't know a priori. Thus, in terms of our trade-off taxonomy, this mechanism aims for unlimited granularity, flexibility in the level of aggregation and minimal information requirement.
In the most likely auction scenaria, users would be aggregates of many flows data flows for which bulk capacity is being purchased for e.g. Virtual Paths, Virtual Private Networks, or edge capacity [2, 31].
We begin in Section 2 by formally presenting the design of our Progressive Second Price auction mechanism for sharing a single arbitrarily divisible resource, and relating it to classical mechanism design from the economics litterature. In Section 3, after describing our model of user preferences and the elastic demand assumption, we prove that PSP has the desired properties of incentive compatibility, stability, and efficiency. The section concludes with simulation results on the convergence properties, and the efficiency trade-offs. Appendix A describes an information theoretic basis for valuations of the type that are assumed in the analysis of Sections 3, as one possible justification.
2 Design of an Auction for a Divisible Resource
2.1 Message Process
Following [36], it is useful to expose the design in terms of its two aspects: realization, where a message process that enables a certain allocation objective is defined; and Nash implementation, where allocation rules are designed with incentives which drive the players to an equilibrium where the (designer's) desired allocation is achieved.
In this section we define the message process. Here we make the fundamental choice which will constrain the subsequent aspects of the design. Our first concern here is with engineering. For the sake of scalability in a network setting, we shall aim for a process where a) the exchanged messages are as small as possible, while still conveying enough information to allow resource allocation and pricing to be performed without any a-priori knowledge of demand (market research, etc.); and b) the amount of computation at the center is minimized.
Given a quantity Q of a resource, and a set of players X — {1, ..., /}, an auction is a mechanism consisting of: 1) players submitting bids, i.e. declaring their desired share ofthe total resource and a price they are willing to pay for it, and 2) the auctioneer allocating shares of the resource to the players based on their bids.
Player i's bid is Si — (g,-,p.) € «->< = [0, Q] x [0, oo), meaning he would like a quantity g,- at a unit price p,-. A bid profile is 5 = β\, .. .. si). Following standard game theoretic notation, let s_,- = (>sχ,.. . , «,_ι,5,+ι, .. .,.s/), i.e. the bid profile of player i's opponents, obtained from s by deleting s,-. When we wish to emphasize a dependence on a particular player's bid S{, we will write the profile s as (s,-; «_,•).
The allocation is done by an allocation rule A,
A : S — S s = (g,p) •— A(s) = (fl(s), c(s)), where S - Tliζi «S«-
The i-lh row of A(s), Ai(s) = (α,(.s), c,-(.s)), is the allocation to player i: she gets a quantity «,(a) for which she is charged c,(s). Note that p is a price per unit and c is a total cost. An allocation rule A is feasible if Vs,
Figure imgf000023_0001
e and Vi € X, α.(<s) ≤ Qi,
Ci(«) ≤ PiQi-
Remark a: The above formulation is a generalization of what is usually meant by an auction. The latter is the special case where aw(s) = Q for some winner w € 1 and α,(s) = 0, Vt w, i.e. the sale of a single indivisible object to one buyer, for which the theory is well developed [22, 24]. In our approach, allocations are for arbitrary shares of the total available quantity of resource. Equivalently, one could slice the resource into many small units, each of which is auctioned as ah indivisible object. But in a practical implementation of auctions for sharing a resource, a process of bidding for each individual unit would result in a tremendous signaling overhead. More importantly, since the users would be bidding on a discrete grid of quantities, analytical predictions of outcomes could be misleading since they could be sensitive to the particular choice of grid1.
Remark b: Most of the mechanism design literature in Economics makes use of the following "Revelation Principle":
Given any feasible auction mechanism, there exists an equivalent2 feasible direct revelation mechanism which gives to the seller and all bidders the same expected utilities as the given mechanism. ([24], Lemma 1)
In this sharing context, a direct revelation mechanism would be one where each user message consists of the user's type, which is the valuation3 of the resource over the whole range of their possible demands, i.e. a function θ{ : [0, Q] — [0, oo), and the budget (see Section 3.1). A consequence of revelation principle is that the mechanism designer can restrict her attention to direct revelation mechanisms, find the best mechanism in terms of
*For a more detailed discussion of this point, see [4] p. 34, and references therein.
2 By equivalent, in [24] it is meant that, at some equilibrium, all players get the same utility. There may be other, possibly ill-behaved, equilibria.
3The valuation of a given amount of resource is how much the user is willing to pay for that quantity. The inverse of the valuation is the user's demand function, giving a desired quantity for each price. her (economic) efficiency objectives, and then - if necessary - transform it into an equivalent mechanism in the desired message space. This is convenient because one can exclude the infinitely many mechanisms with larger message spaces, without fear of missing any better designs. The design process is usually the solution of an optimization (mathematical programming) problem. For this reason, in the litterature, mechanism design problems are mostly solved for cases where the space of users' types is one dimensional, or at most finite dimensional [21], using message spaces that are of the same dimension.
In our sharing problem, the conventional approach is unsatisfactory in two ways:
• First, a user's type is infinite-dimensional, as we do not restrict the valuation functions beyond some very general assumptions (see Section 3.1), and so the conventional "programming'' approach of deriving the mechanism from the revelation principle would lead to an intractable problem.
• Second, the conventional (direct revelation) approach, even if it was tractable, implies that a single message (bid) can theoretically be infinitely long, because it has to contain a description ofthe function 61,-. Clearly, this is not desirable in a communication network, where signaling load is a key consideration. For engineering reasons, we choose a message space that is 2-dimensional. Therefore, a given message can come from many possible types, so there is no single way to do the transformation from the direct revelation mechanism to the desired one.
Thus, unlike most of the mechanism design literature, we will take a direct approach, where we posit an allocation rule for our desired message space, and then show that it has an equilibrium, and that the design objective is met at equilibrium4. This is equivalent to guessing the right direct- revelation-to-desired-mechanism transformation and building it into the allocation rule from the start. Our aim is to to show that we can use this smaller message space and still achieve our objective.
Figure imgf000025_0001
Figure 1: Exclusion-compensation principle: the intuition behind the PSP rule
2.2 Allocation Rule Define, for y > 0
Q.(y,s.{) = Q - ∑ 5* (1)
Pk≥y*k≠i and
Figure imgf000025_0002
The "progressive second price" (PSP) allocation rule is defined as follows:
ai(s) = g, Λ Qt.(p,-,s-i), (2)
Ct' = ∑rø [« (0; β-i) - βj(3,-;Λ_i)J . (3) i≠f where Λ means taking the minimum.
Remark a: For a fixed opponent profile Λ_, . Qi(/>i, 5-ι) represents the maximum available quantity at a bid price of p,. The intuition behind PSP is an exclusion-compensation principle: player i pays for his allocation so as to exactly cover the "social opportunity cost" which is given by the declared willingness to pay (bids) of the users who are excluded by i's presence (see Figure 1), and thus also compensates the seller for the maximum lost potential revenue. Note that this amounts to implicitly assuming that the bid price accurately reflects the marginal valuation 9 on the range [α,-, </,-]. In other words, by this rule the auctioneer is saying to the player: "if you bid (qi,Pi), I take it to mean that in the vicinity of g,-, θi can be approximated by a line oi slope j?,-." This is the (built-in) transformation from the direct-revelation mechanism to the desired message process discussed in the second remark at the end of Section 2.1.
The charge c,- increases with α,- in a manner similar to the income tax in a progressive tax system. For a fixed opponent profile s_,-, imagine player i is increasing ?,-, starting from 0. The first few units that player i gets will be taken away from the lowest clearing opponent (i.e. m = axgmin j pj : α > 0}), and player i will pay a price (marginal cost) pm per unit. When αm reaches 0, the subsequent units that player i gets will cost him pm> > pm, where ' is the new lowest clearing player, the one just above m. The PSP rule is the natural generalization of second-price auctions (or Vickrey auctions). In a Vickrey auction of a single non-divisible object, each player submits a sealed bid. and the object is sold to the highest bidder at the bid price of the second highest bidder, which is what happens here if qi = Q,Vi. This is widely known to have many desirable properties [35, 24, 4], the most important of which is that it has an equilibrium profile where all players bid their true valuation. As we will presently show, this property is preserved by the PSP rule in the more general case of sharing an arbitrarily divisible resource, and this leads to stability (Nash equilibrium). The PSP rule is analogous to Clarke-Groves mechanisms [3, 8, 20] in the direct-revelation case.
Remark b: When two players bid at exactly the same price, and they are asking for more than is available at that price, (2) punishes both of them. For example, if Q = 100 and s\ = (4, 60) and s? = (4, 70), the allocations would be αα = 60 Λ ( 100 - 70) = 30, and α2 - 70 Λ (100 - 60) = 40. Since the bid prices are equal, there is no "right" way to decide who to give the remaining capacity to. One could divide it equally, or proportionally to their requests, etc. For the subsequent analysis, it turns out it is simpler to not give it to either one (of course, it will be allocated to the lower bidders if there are any). This is just a technicality since by deciding this, we ensure that it will never happen (at equilibrium), since the users will always prefer to change their prices and/or reduce their quantity. Considering the computational complexity of PSP, a straightforward implementation would at worst, sort the bids in time /log/, perform (2) in linear time, and (3) can be done in time I2. Thus, the complexity of computing the allocations is 0(I2).
3 Analysis of the Progressive Second Price Auction
3.1 User Preferences
Since the allocation rule A is given by design, the only analytical assumptions we make is on the form of the players' preferences. Player r's preferences are given by his utility function
Figure imgf000027_0001
Player * has a valuation of the resource 0,-(α,-(s)) > 0, which is the total value to her of her allocation. Thus, for a bid profile of s, under allocation rule A, player i getting an allocation -4,(s) has the quasi-linear utility t ) = θi(ai(s)) - a(s) (4) which is simply the value of what she gets minus the cost.
In addition, the player can be constrained by a budget 6,- e [0, 00]. so the bid 5,- must lie in the set
S,(s_,) = {Si € Si : c s-i) < bi}. (5)
In the proofs of the following section, we will assume that users have elastic demand, that is:
Assumption 1 For any i ζ. X,
• 0,(0) = 0.
• θi is difffifntiable,
Qi' ≥ 0, non-increasing and continuous
• 37,- > 0. V.- > 0, ) > 0 => V77 < z, θi'(z) < fiftø) - 7i(z - η). The last item says that as long as the valuation is strictly increasing, it must also be strictly concave (with minimum curvature 7,). However, it is allowed to "flatten" beyond a certain amount of resource.
Functions of this (concave) form have wide applicability as models of resource valuation, and can be justified from the economic standpoint (diminishing returns) as well as from information theoretic standpoint - see Appendix A. For examples of valuations satisfying Assumption 1, see Section 3.4 and Appendix A.
3.2 Equilibrium of PSP
The auction game is given by (Q, ui, ..., uj, A), that is, by specifying the resource, the players, and a feasible allocation rule. We analyze it as a strategic game of complete information [4].
Define the set of best replies to a profile s_,- of opponents bids: S*(s-i) = {si € -?«(*-,) : «,(«,-;*-,) > «,( (;• -,), Vs< £ Si(s-i)}. Let S'(s) = rfc.?"^-,). A Nash equilibrium is a fixed point of the point- to-set mapping S*, i.e. a profile 5 € S*(s). In other words, it is a point from which no player will want to unilaterally deviate. Such a point is what is most accepted as a consistent prediction of the actual outcome of a game, and has been repeatedly confirmed by experiments, as well as a wide range of theoretical approaches. Indeed, in a dynamic game, where players recompute the best response to the current strategy profile of their opponents, this iteration can only converge to a Nash equilibrium (if it converges at all). In addition, an important trend in modern game theory is the development of learning models, and there too, it has been shown that Nash equilibria result also from rational learning through repeated play among the same players [13]. A more general (and hence weaker) notion of stability is the existence of an e-Nash equilibrium. Let the e-best replies be 5 (&_,-) = {s; € 5.(s_,-) : s_,) > u,(i<: 5_,) — e, W{ € Si s-i)}. An <r-Nash equilibrium is a fixed point of Sc.
In a dynamic auction game, e > 0 can be interpreted as a bid fee paid by a bidder each time they submit a bid. Thus, the user will send a best reply bid as long as it improves her current utility by e, and the game can only end at an e-λ'ash equilibrium. Define
Pdz, s-i) = inf {y > 0 : Qi(y, *_,-) > z} . (6) Thus, for fixed s_,-, Vy, z > 0, z<Qi(y,s_t)=j>y> t-(2,s_1) (7) and5 j/ > t(z, «_,-) =» z < Qi(y, 5_,). (8)
The graph of P,(.,.s_t) is the "staircase" shown in Figure 1, and that of Qi(.,s-i) is obtained by flipping it 90 degrees. It is readil apparent that )= I*** Pi(z,s-i)dz. (9)
Jo
The key property of PSP is that, for a given opponent profile, a player cannot do much better than simply tell the truth, which in this setting means bidding at a price equal to the marginal valuation, i.e. set pi = &i qi). By doing so, she can always get within e > 0 of the best utility.
Let = i € i : pt — 0J(gi)}, the (unconstrained) set of player i's truthful bids, and T = Hi •
Proposition 1 {Incentive compatibility J Under Assumption 1, Vt" € I, Vs-,- € «->_,-, such that Qi(0, -s_t) = 0, for any c > 0, there exists a truthful e-best reply f,(s_,) 67Jn Sf(s-i). In particular, let
Gi(s-i) and jT Pi(η,s-i)dη < 6t .
Figure imgf000029_0001
= (V,-,UJ,) e
Figure imgf000029_0002
The truthful best reply can be found in a straightforward manner, as illustrated in Figure 2. Proof: Fix s_< € -i. Let ∑i = sup ji(s_,-) and j/,- = θfci).
By definition of z,-, 3{z(n)} C Gis~i) such that limnz(τι) = z{. Hence t,- > lim„ fl^ Pi(η, s_.) dη = fO' Pi(η,s-i)dη > a(ti;s-i), where the equality comes from the boundedness of ; and the Lebesgue dominated convergence theorem, and the second inequality from (9) and (2). Thus 1, 67 nSi(s.j).
5 Actually, since Q,(.,s-.j) is upper-semi-continuous (jumps up), we have Qi(y,s-i)~ y> PΛz,s-t)
Figure imgf000030_0001
ci= ■■
Figure 2: Truthful e-best reply
Next we show that .,- € 5 (s_ - First, z,- = liπv, z(n) < lim„ <3,(0<(z(n)), s_.) < Qi(limn -><(z(π)), s_,), where the inequalities follow respectively from z(n) e (?,-(«_,•), and the upper serai-continuity of <?<(., &_,). Now by the continuity of , Q,-(lim„ 0,'(z(n)), s_,) Qi(θi'(zi),s-i) = <?,(!/,, s_,), hence
Zi ≤ Qi(Vi, s-i). (10)
Now, we claim that α,-fo; s_,) = «,-. Indeed, if z,- = 0 then VJ = 0 and α,(t,-; s_.) = 0. If zf > 0, then by (10), ,(ικ, s_.) > 0 and since by hypothesis Q,(0, s_,) = 0, we have θi' zi) = 2/f > 0. Also, z,- > 0 implies υt < z,-. Therefore, by Assumption 1, we have tu,- = 0<(υ,) > θfci) = ι«. Hence, since Q.(.,.s_j) is non-decreasing, <?.(ιø., «-i) > liπ sj, .(j7,s_,) = &(», «-.) > > «.• Thus, by (2), α,(t.-; s_,) = vt (H) ow Vst- € -S.(*_.),
Figure imgf000030_0002
= &(<!<(<,; s-i)) - θi(ai(s)) - c,(..-; s_.) + <,(«)
Figure imgf000030_0003
= Q,l,; [Λ(*> *- - fljtø] «** + /*' [/'»(-■ •■>-.) - **(-)! dz
Jz, Jυ, > )] dz - e (12)
Figure imgf000031_0001
where the inequality follows from (z,- — t/,-) < e/0*(0) and the fact that
Figure imgf000031_0002
is non- increasing. Thus, it suffices to show that the integral is > 0.
If ∑i < ai(s), take any z G (zi, ai(s)]. By the definition of z,-, z g Gi s-t). Now «. G Si(s-i) implies ό{ > c,-(s) = f° Pi(η, s-i) dη > J* Pi(η, s-i)dη. Therefore, we must have z > Qi(θ{'(z)), which by (8), implies 0<(z) < Pi(z) and the integrand in (12) is > 0 as desired.
Suppose z{ > aj si . Since θ is non-increasing, Qi(.,s-t) is non-decreasing and Pi(., s-i) > 0, any point to the left of z, is in the set G,(s_,), Vz < Zi,z € G,(.s_,), hence z < Q,(0<(z),s_,) which by (7), implies 0j( ) > Pi(z, s-t), so the integrand in (12) is < 0 as desired. O
Figure imgf000031_0003
Pi > Ps, the utility decreases when 04 > Q — gs, because after that point, each additional unit of resource is taken away from player 5, and thus costs ps, which is more than ff its value to player i. Thus, each additional unit starts bringing negative utility. This is what discourages users from bidding above their valuation. Proposition 1 is illustrated by the fact that for any given quantity ςr4, the utility U4 is maximized on the plane p = ff ≡ 10.
Remark: When the players have linear valuations and no budget constraint (bi = 00). PSP becomes identical to a second-price auction for a non-divisible object. Then the existence of a Nash equilibrium follows directly from incentive compatibility.
Note that in PSP, the incentive compatibility (optimality of truth-telling) is in the price dimension, for a given quantity. With the message space we Have designed, there is no single "true" quantity to declare, the optimal quantity depends on opponent bid prices. Were the message process such that players declared a price and a budget (rather than desired quantity), it may have been possible to design an allocation rule A such that they are inclined to reveal their true budget, thus obtaining incentive compatibility in both dimensions, and hence equilibrium. But such a rule A would likely not have a simple closed form like (2) and (3). In essence, the computational load of translating budgets into shares would be centralized at the auctioneer, thus making the system less scalable to large numbers of users. On the
Figure imgf000032_0001
Figure 3: Utility u4(s4) for si (100, 1), s2 = (10, 2), S3 = (20,4), ss (20, 7), £6 = (30, 12)
other hand, decentralization has a cost too, which is the signaling overhead resulting from players possibly adjusting bids based on opponent bids in the iterated game. Our design is based on the premise that the latter approach is the more scalable of the two (indeed that was the reason for choosing a small message space).
The next property is that the truthful best reply is continuous in opponent profiles (this can be seen in Figure 2: as the "staircase" is varied smoothly, the point of intersection with θt' moves smoothly, provided θ is not flat - which is given by the last time item in Assumption 1). To prove that, we will need the following:
Lemma 1 Vs, s' e S,Vy, z > 0,W > 0, ι ||s-,- - β'_,-|| < δ then
Qi(y + δ. s-i ) + δVI > Qi(y, s'_.) > Q{(y - 6, s_t) - δ /I, (13) and
Pi(z + δ 7. s-i) + δ > P{(z, i) > Pi(z - ό T, s_.) - δ. (14)
Proof: First, ||s_, -*'_,.[! < S implies ∑*
Figure imgf000032_0002
< δ /ϊ, and pk+δ > p'k > Pk-δ. Thus, ∑,k 9kl{pk+ό>y) + δy ϊ > ∑k ?tl{p'fc>y} ≥ Σ,k 9kl Pk-i>y} - δVΪ. Then, using (1) and the identity (α + ό)+ < (α)+ + (6)+, the first result follows. For any y < Pt(z, $'_,), by (7), we have z > Qi(y, s'_t) > Qi(y - δ, s_,) - <5ι/7, which by (8), implies y - δ < Pi(z + ό-J/.s-,). Letting y / P,(x,s'_,), we get Pi(z, s'_i) < Pi(z + δy/I, s-i + 6.
For any y > Pt(z, s'_,), by (8), we have'z < Q,(y, s'_i) < Qi(y + δ, a_.) -I- δVΪ, which by (7) implies y + δ > Pi(z - <5\7). Letting y \ Pi(z,s'_t), we get Pi(z,s'_i)≥Pi(z~δVΪ)-δ. D
Lemma 2 (Continuity of best reply) Under Assumption 1, Vi € 1, the e-best reply ,- given in Proposition 1 is continuous in s_t- on any subset Vi(P, P) = {s_,- € «% : Vz > 0, > P,(z,5_,) > £}, with oo > P > P > 0.
Figure imgf000033_0001
z,- + fl€G,-(/_,-). (15)
Thus, zi + d < ?.(0{(z,- + ej), s'_,) =. [<? - ∑k 9* !{Pi >«:(--.+<ι)}] ■ Therefore, i + €ι < Qi(θi' zi + eι) + 6, s_.) -I-5VT, using Lemma 1.
Also, by (7) < + a < . Now since s'_{ € Vi( , P), this Then using Assumption 1, 0<(z,- δ, for δ < δι = - Λ ei7,-, and
Figure imgf000033_0002
since Qi(., s-i) is non-decreasing, i + e2 < φtøfø + e2), *-_) + <5v7 - ei + e2
< Gi te+es), *-,-). (16)
Now (15) also implies that
bi ≥ / Pi(η,s'.i)dη
Jo Pi(η, s.i )dη+ [Pi(η, s'_i) - Pi(>h *-<)] dη + (c, - e3)P,
Figure imgf000033_0003
Figure imgf000033_0004
and this holds Ve3 < cj. Now, using Lemma 1, f ' [Pi^ s'.J - Pi . S-ifl dη Jo
> -6Q + / P.tø - I. S- djj - / Pi(η, s-i)dη
Jo Jo
Figure imgf000034_0001
> -(Q + P)όVΪ.
Let 62 = Q+ft y and £3 such tfla* 0 < e3 < fi - (Q + Pfø Ϊ/P- Then
bi ≥ I** " Pi(η, s-i) dη, (17) for δ < δ2.
Now choosing δ < δχ Λδ2, (16) and (17) imply that Gi(s-{) 9 (z,+e3)Λ(z,-K2) > ∑i = sup G,-(s_i), a contradiction. Q
We introduce one additional player, player 0, whose valuation is θn(z) — poz, and whose bid can therefore be fixed at so = (ςo>Po) = (QiPo)- Player 0 can be viewed as the auctioneer, and po > 0 as a "reserve price" at which the seller is willing to "buy" all of the resource from himself. From (1), the presence of the bid .so = (Q,Po) implies Vi € X, Qi(y, s~i) = 0,Vy < po- In particular, setting y = 0, the condition of Proposition 1 holds. Thus, we can restrict our attention to truthful strategies only, and still have feasible best replies. This forms a "truthful" game embedded within the larger auction game, where the strategy space is T C 5, the feasible sets are C\ Si s-i), and the best replies are Λ* (s) = D S\(s). A fixed point of Λ£ in T is a fixed point of Se in S. Thus an equilibrium of the embedded game is an equilibrium of the whole game.
Proposition 2 (Nαsh equilibrium) In the auction game with the PSP rule given by (2) and (3) and a reserve price po > 0, and players described by (4) and (5), if Assumption I holds, then for any € > 0, there exists a truthful €-Nash equilibrium s" £ T.
Proof: s e T, Vi € I. Vz > 0, we have z > 0 = Q,(po/2, s- , which by (8) implies Pi(z, s-i) > p0/2 = P. Let P =
Figure imgf000034_0002
'k(0). Then, the conditions of Lemma 2 are satisfied and t = (v, w) is continuous in 5 on T. By Assumption 1. θi' is continuous therefore v(q,p) = v(q, θ'(q)) (as defined in Proposition 1), can be viewed as a continuous mapping of [O. Q]^ onto itself. By'Brouwer's fixed- point theorem (see for example [10]), any continuous mapping of a convex compact set into itself has at least one fixed point, i.e. 3g* = v(q*) 6 [0,Q] . Now with s* = (q", θ'(q*)), we have β* = t(s') € T. D
3.3 Efficiency
The objective in designing the auction is that, at equilbrium, resources always go to those who value them most. Indeed, the PSP mechanism does have that property. This can be loosely argued as follows: for each player, the marginal valuation is never greater than the bid price of any opponent who is getting a non-zero allocation. Thus, whenever there is a player j whose marginal valuation is less than player i's and j is getting a nonzero allocation, i can take some away from j, paying a price less than i's marginal valuation, i.e. increasing u,-, but also increasing the total value, since i's marginal value is greater. Thus at equilibrium, i.e. when no one can unilaterally increase their utility, the total value is maximized. Formally, consider a € argmax, E_ 0t-(αi). The arush-Kuhn-Tucker [17] optimality conditions are that there exists a Lagrange multiplier Λ such that d (αt-) = Λ, if α,- > 0, and 0((0) < λ, if α,- = 0.
Assumption 2 For any i £ X, ft,- = oo, and 0 satisfies6 θ{'(z) - βj(* > ~ z - z'), whenever z > z' > 0.
Figure imgf000035_0001
is t e "c version" of t e Karus - u n-Tucker conditions.
Lemma 3 Suppose Assumptions 1 and 2 hold. If for some j, a'- > /e lϊ, rΛcπ i € JU 0},
0 < 0 ) + 2 ^.
An immediate corollary is that if a* > y/ /κ then
A* - 2 ^ < 0 ) < λ* + 2 ^
If θi' is dϋferentiable, the condition is 0 > θ" > — K .
Figure imgf000036_0001
if a* = 0, for some \* > 0.
Figure imgf000036_0002
Let qt = ά +
Figure imgf000036_0003
and s,- = (?,-,0-(g,)). Then «;''-i) -«.-(-") = / flj(*)-i%(*, *:.)**
> [^(α? + ^)-P;] /^
Figure imgf000036_0004
= c which contradicts the fact that s* is an ε-Nash equilibrium. D d 2 hold. If a? >
Figure imgf000036_0005
uΛere ^ = {oe [0, ζ?]/+1 : ∑,α,- < (?}.
Proof: (of Proposition 3) Let J+ = * : α* > a*k) and 1~ = {k : ak < a%}. For J 6 I+, we have 0J(α,") < A" + 2/eκ. For i € I-, we have α,* > α,- > 0, therefore by the lemma, 0{(α,") > A* - 2/eκ. Therefore,
Figure imgf000036_0006
< (λ+2 eκ)Δ-(λ*-2 «)Δ, where Δ — ∑x+ a < ~ ai) = _ z-(αi ~ α«")- Since Δ < Q the result follows, with the bound 4Q/7κ. □ Remark a: The condition 6,- = oo is sufficient, but not necessary to achieve efficient outcomes. In fact with any budget profile, efficiency can be achieved if the users cooperate. For example, if they all choose a bid quantity close to what they can actually obtain (which they do if they use the strategy given by Proposition 1), then the price paid would be o per unit for all the allocations, and if po °r the shares a* are not too large, then budget constraints are irrelevant and α* is efficient. More generally, efficiency is attained if the budgets are not too far out of line with the valuations, i.e. there are no players with very high demand and very low budget.
Remark b: ( Welfare and Efficiency) A more common measure of efficiency is the social welfare, which is the sum of all the players' utility ∑,- u,-, including the seller i = 0. The natural definition of the seller's utility is the value of the leftover capacity an = Q — ∑t≠o α«" P^us *ne revenue, i.e.
Then, I},. i = ∑i≠0(θi - a) + «o = ∑,i≠0θi + θ0(ao) = ∑,- θ{. Thus, ∑i u,- is equivalent to the efficiency measure used above, which is 5 ,-0,-. Another measure is the seller's revenue. Even though PSP is not, in general, revenue- maximizing, it tends to the revenue maximizing allocations and prices as demand increases [18].
Remark c: Proposition 3 provides a key to understanding the basic trade-off between engineering. and economic efficiency. The smaller e, the closer we get to the value-optimal allocations. But in a dynamic game, where players iteratively adjust their bids to the opponent profile, a player will bid as long as he can gain at least e utility (since that is the cost of the bid), thus a smaller € makes the iteration take longer to converge, i.e. entails more signaling.
3.4 Convergence
An issue of obvious concern is whether the game converges under dynamic play: it turns out that it does, when users behave rationally (see Proposition 4 in Chapter 2 of [29]). .Moreover, irrational or malicious behavior - like intentionally trying to prevent convergence by making unnecessary bids - can always be controlled by setting the bid fee e high enough to make such behavior prohibitively costly for the culprit.
Figure imgf000038_0001
Figure 4: Parabolic valuation with K = 0.5 and q = 70
Another issue is how the convergence time scales with the number of bidders. We now consider this experimentally using the software described in Appendix B.
In all our simulations we let Q = 100. For each user, the valuation is strictly increasing and concave up to a maximum corresponding to a physical line capacity, and flat beyond that. Since, as shown by Proposition 3, only the second derivative of the valuation is needed to measure the efficiency of the PSP auction, a second order (parabolic) model is deemed sufficient. Thus we use valuations of the form: θi(z) = -κi(z Λ ςt)2/2 + Kiψi z A q{), where q{ is the line rate, and m > 0 (see Figure 4).
We generate our user population with independent random variables {0;(0)}χ (corresponding to the maximum unit price the user would pay) uniformly distributed on [10, 20], and κt- = 0((0)/g,-, and q{ uniformly distributed on [50, 100]. All players have a budget όt- = 100. The bid fee is fixed at e = 5. Each user has a bidding agent which can submit at most one bid per second (see Algorithm 1 in Appendix B).
With this set-up, the results are shown in Figures 5-6. Simulations were run for 11 population sizes ranging from 2 to 96 players. Each point is
Figure imgf000039_0001
Figure 5: Mean (+/- std. dev.) number of bids - solid line. The dashed line is / + /2/10.
simulated 10 times with new random valuations for all players. The overall mean is 11.9 bids per player. From Figure 5, the number of bids seems to grow as the square of the number of players.
The actual time to converge, shown in Figure 6, grows more slowly, since the computation of bids is done in parallel by all the players. In fact, for small numbers of players, the time decreases. This can best be explained as follows. Suppose there are only two players, with similar valuations. They will both start by asking for their maximum quantity, at their marginal valuation (which at their maximum quantity is near zero). Then as each sees the other's bid, each will reduce the quantity and increase the price a little bit. And they go on taking turns, gradually raising the market price until they reach an equilibrium. However if there are 10 players, in between two bids by the same player, the 9 others will already have bid up the price, so he will jump to higher price than if there was only one opponent.
Thus the equilibrium market price will be reached more quickly. For large populations, this effect becomes small compared to the sheer volume of bids, and the convergence time starts to grow.
The trade-off between signaling and economic efficiency discussed in light of Proposition 3 is illustrated by Figures 7-8. Increasing the bid fee speeds
Figure imgf000040_0001
Figure 6: Mean (+/- std. dev.) convergence time in seconds (for a 1 second bid interval).
up convergence, at a cost of lost efficiency. A resource manager should select a bid fee which optimally balances the two for the particular context.
Figure 8 also illustrates the validity of the lower bound given by Proposition 3.
4 Conclusion
Auctions are one of oldest surviving classes of economic institutions [...] As impressive as the historical longevity is the remarkable range of situations in which they are currently used. [22]
We proposed the progressive second price auction, a new auction which generalizes key properties of traditional single non-divisible object auctions to the case where an arbitrarily divisible resource is to be shared. We have shown that our auction rule, assuming an elastic-demand model of user preferences, constitutes a stable and efficient allocation and pricing mechanism :n a network context. Even though we are motivated by problems of bandwidth and buffer space reservation in a communication network, the auction was formulated in a manner which is generic enough for use in a wide range
Figure imgf000041_0001
Figure 7: Number of bids to converge vs e
Figure imgf000041_0002
Figure 8: i i(a' - solid line, and maxα ∑, ;0,(αt) - 4(eκ)-1/2 - dashed line, vs e. of situations. In the sequel to this work, we show that the key results - namely incentive compatibility, equilibrium, and efficiency - generalize to a setting where multiple networked resources are auctioned, with users bidding on arbitrary but fixed routes and topologies [29, 31]. In related work, we consider the case of stochastically arriving players bidding for advance reservations (i.e. resources for a given period of time) [29, 30].
An interesting direction of future work is learning strategies, and evolutionary behavior which can emerge from repeated inter-action between the same players.
5 Acknowledgements
The authors would like to thank Wang Ke ioi his valuable help in the simulations.
A Information-theoretic basis for the valuation
In general, valuations are simply assumed to be given as external factors. Indeed, the fundamental assumption in any market theory is that buyers know what the goods are worth to them. The "elastic demand" or "diminishing returns" nature of Assumption 1 is fully justified from a purely economic standpoint for virtually all resources in everyday life.
In the case of variable bandwidth, we can go even further by better quantifying what the goods are. For a user sending video, say, how much value is lost when the channel capacity goes from 1.5 to 1.2 Mbps? Ultimately, the value lies not in the amount of raw bandwidth but in the information that is successfully sent. Our goal in this section is to give a brief description of how Information Theory can be used for a bottom-up construction of bandwidth valuations - based on the fundamental thing the user cares about which is communication of information - and that such valuations will generally be of the type in Assumption 1. '
Any information source has a function D(.), such that when compressed to a rate R, the signal has a distortion of at least D(R) [1]. The distortion is the least possible expected "distance" between the original and compressed signals, where the minimization is over all possible coding/decoding schemes. In this context, we make the distance measure the monetary cost of the error. This cost can be chosen, for example, to be proportional to some common measures like the mean squared error, the Hamming distance (probability of error), the maximum error, etc., or heuristic measures based on experiments with human perception. Given that modern source-coding techniques can, given a distortion measure, achieve distortions close to the theoretical lower bound[5], it is not unreasonable to use the rate-distortion curve as an indication of the value of the bandwidth share.
Let Di(.) be the distortion-rate function of {-Y,(t)}, a stochastic process modeling the source of information associated with user i. Xi is encoded as Yi which has a rate of R bits per second.
Shannon's channel coding theorem[32] states that Yi can be received without errors if and only if the channel has a capacity C > R. In our auction context, user i has capacity (bandwidth allocation) C = α,-. and thus has to suffer a distortion of at least Di(ai). The value of the bandwidth is then
0i(ai) = Fi - D{(ai), (18) where θj is the value of the full information. The relevant properties of the distortion-rate functions are:
• when the rate is greater than the entropy of the source, the distortion is zero, and
• for many common source models and cost functions, the distortion- rate function is convex, and has a continuous derivative.
It is easy to see that, with these properties, (18) satisfies Assumption 1.
Example 1: Let {X } be a Bernoulli source, taking two values with probabilities p and I — . Without loss of generality, let p € [0, 1/2]. In this case, since the source is i.i.d, one can define the distortion on a per symbol basis. Using a Hamming cost function d(X,Y) = l{X≠γ}, i.e. assuming it costs one unit of money, every time one bit is wrong, we have the distortion D = Ed(X,Y) = P(X Y). the rate-distortion function is
R(D) = [H(p) - B(D)]+ , where H(x) = — log( :) — (1 — x)log(l — x ), and the distortion-rate function is the inverse function. It can be easily seen that D R) is strictly convex and decreasing for 0 < R < H(p), and D(R) = 0 for R > H(p). The continuity of D' on 0 < R < H(p) and R > R(p) is obvious. At the critical point (R = E(p), D = 0), we have lim D'(R) = lim l/R D) R/H{p) ' D\o
= hm l/log(i>/l - Z?)
= 0
= lim D'(R).
R\H[p)
Thus continuity of D' holds throughout, and Assumption 1 is valid for the valuation of the form (18) for this source - see Figure 9.
Example 2: Let {X} be a Gaussian source with Markovian time- dependency, i.e a covariance matrix Φ = ( σ2rl,_jl ) , r € [0, 1 ). Suppose we ise the squared error cost, i.e. it costs one unit of money for one unit of en- ;rgy in the error signal. Then, we have for low distortions D < ( l-r)/(l+r),
Figure imgf000044_0001
D(R) = (l - r222-2R,
Figure imgf000045_0001
Figure 9: Distortion-rate based valuation for a Bernoulli p = 1/2 source
and Assumption 1 clearly holds for (18). In the i.i.d. case (r = 0), the formula holds for all R.
As the source models get more complex, it rapidly becomes impossible to give closed-form expressions for either R(D) or D(R). Often parametric forms are available, and the functions can be evaluated numerically. Fortunately, the convexity property extends to a wide class of models, including for example auto-regressive sources, even when the generating sequence is non-Gaussian (see [1] for a full treatment of R(D), including the above cases).
It can happen, e.g. for some video source models, that the R-D curve, which gives the best (R,D) pairs achievable by any coder/decoder, is not convex. But, for tractability, practical codecs are usually optimized on a convex hull of the space of possible (R,D) pairs[26, 27]. Thus, even when the theoretical D(R) curve is not convex, the actual distortion achieved in real-life systems almost always varies in a convex manner with the available bandwidth.
B Simulation software and bidding algorithm
A prototype software agent based implementation of the auction game, called TREX, has been developed and extensively used since December 1995. Much of the intuition behind the mechanism design and the analysis in this work came from experiments done on this inter-active distributed auction game on the World Wide Web, using the Java programming language. The game can be played in real-time by any number of players from anywhere on the Internet [28].
Each user plays in the dynamic auction game using the following:
Algorithm 1 1 Let s, = 0, and i_,- = 0. Start an independent thread which receives updates of S_,-.
2 Compute the truthful €-best-reply of Proposition 1, t; € Q
3 If i ti s-i) > ιt,'(έ,-; s_{) + e, then send the bid si = ti.
4 Sleep for 1 second.
5 Go to 2.
No assumption is made on the order of the turns. Players join the game at different times, and depending on the execution context of the client program, the sleep time of 1 second is more or less approximate. This, along with communication delays which make the times at which bids arrive at the server and updates at the clients essentially random times, make the distributed game completely asynchronous.
Algorithm 1 can be described as selfish and short-sighted. Selfish because it will submit a new bid if and only if it can improve it's own utility (by more than the fee for the bid). Thus, the game can only converge7 to an e-Nash equilibrium. And short-sighted because it does not take the extensive form of the game into account, i.e. does not use strategies which may result in a temporary loss but a better utility in the long run.
References
[l] T. Berger. Rate Distortion Theory: A Mathematical Basis for Data Compression. Prentice- Hall. 1971.
7The fact that it does converge is established by Proposition 4 in Chapter 2 of [29]. [2] D. Clark. Internet cost allocation and pricing. In L. W. McKnight and J. P. Bailey, editors, Inzernet Economics. MIT Press, 1997.
[3] E. H. Clarke. Multipart pricing of public goods. Public Choice, 8:17-33, 1971.
[4] D. Fudenberg and J. Tirole. Game Theory. MIT Press, 1991.
[5] A. Gersho and R. M Gray. Vector Quantization and Signal Compression. luwer Academic Publishers, 1992.
[6] J. Gong and S. Marble. Pricing common resources under stochastic demand, preprint - Bellcore. April 1997.
[7] J. Gong and P. Srigane≤h. An economic analysis of network architectures. IEEE Network, pages 18-21, March/ April 1996.
[8] T. Groves. Incentives in teams. Econometrica, 41(3):617-631, July 1973.
[9] M. T. T. Hsiao and A. A. Lazar. Optimal decentralized flow control of markovian queueing networks with multiple controllers. Performance Evaluation, 13(3), Dec. 1991.
[10] Hurewicz and Wallman. Dimension Theory. Princeton University Press, 1948.
[11] H. Jiang and S. Jordax.. Connection establishment in high speed networks. IEEE J. Select. Areas Commun., 13(7):1150-1161, 1995.
[12] H. Jiang and S. Jordan. The role of price in the connection establishment process. Euroz<an Trans. Telecommunications, 6(4):421-429, 1995.
[13] E. Kalai and E. Lehrer. Rational learning leads to Nash equilibrium. Econometrica, 61(5):1019-1045, September 1993.
[14] F. P. Kelly. Charging a d accounting for bursty connections. In L. W. McKnight and J. P. Bcϋey. editors, Internet Economics. MIT Press, 1997.
[15] Y. A. Korilis and A. A. lazar. On the existence of equilibria in nonco- operative optimal flow •: rntrol. J. ACM, 42(3), May 1995. [16] Y. A. Korilis, A. A. Lazar, and A. Orda. Architecting noncooperative networks. IEEE J. Select. Areas Commun., 13(7), September 1995.
[17] H. W. Kuhn and A. W. Tucker. Non-linear programming. In Proc. 2nd Berkeley Symp. on Mathematical Statistics and Probability, pages 481-492. Univ. Calif. Press, 1961.
[18] A. A. Lazar and N. Semret. Auctions for network resource sharing. Technical Report CU/CTR/TR 468-97-02, Columbia University, 1997. http : / / comet .columbia.edu/publications.
[19] J. K. MacKie-Mason and H. R. Varian. Pricing the internet. In B. Kahin and J. Keller, editors, Public Access to the Internet Prentice Hall, 1994. ftp://ftp.econ.lsa.umich.edu/pub/Papers.
[20] A. Mas-Colell and M. D. Whinston. Microeconomic Theory. Oxford University Press, 1995.
[21] R. P. McAfee and J. McMillan. Multidimensional incentive compatibility and mechanism design. Journal of Economic Theory, 46(2):335-354, 1988.
[22] P. R. Milgrom. Advances in Economic Theory: Fifth World Congress, chapter Auction Theory, pages 1-31. Number 12 in Econometric Society Monographs. Cambridge University Press, 1987.
[23] M. S. Miller and K. E. Drexler. Markets and computation: Agoric open systems. In Bernardo Huberman, editor, The Ecology of Computation. Elsevier Science Publishers/North-Holland, 1988.
[24] R. B. Myerson. Optimal auction design. Mathematics of Operations Research, 6(l):58-73, February 1981.
[25] A. Orda, R. Rom, and N. Shimkin. Competitive routing in multiuser communication networks. IEEE/ACM Trans. Networking, 1(5), October 1993.
[26] G. Pacifici, G. Karlsson, M. Garrett, and N. Ohta, editors. Real-Time Video Services in Multimedia Networks, volume 15 of IEEE J. Select. Areas Commun., Aug. 1997.
[27] G. M. Schuster and A. K. Katsaggelos. Rate- Distortion Based Video Compression. Kluwer Academic Publishers, 1997. [28] N. Semret. TREX-The Resource EXchange, 1995-96. http://comet.columbia.edu/~nemo/Trex.
[29] N. Semret. Market Mechanisms for Netirork Resource Sharing. PhD thesis, Columbia University, 1999.
[30] N. Semret and A. A. Lazar. Spot and derivative markets in admission control. In Proc. IEE Int'l Teletraffic Congress, Edinburgh, UK, June 1999. Elsevier Science Publishers B.V. http : //comet .columbia.edu /publications/ conference.html.
[31] N. Semret, R. R.-F. Liao, A. T. Campbell, and A. A. Lazar. Market pricing of differentiated internet services. In IEEE/IFIP 1th Int. Workshop on Quality of Service, 1999.
[32] C. E. Shannon. A mathemetical theory of communication. Bell Syst. Tech. J., 27, 1948.
[33] S. Shenker. Making greed work in networks: A game-theoretic analysis of switch service disciplines. In Proc. ACM SIGCOMM, 1994.
[34] S. Shenker, D. Clark, D. Estrin, and S. Herzog. Pricing in computer networks: Reshaping the research agenda. ACM Comput. Commun. Review, 26(2):19-43, 1996.
[35] W. Vickrey. Counterspeculation, auctions and competitive sealed tenders. Journal of Finance, 16, 1961.
[36] S. R. Williams. Realization and Nash implementation: Two aspects of mechanism design. Econometrica, 54(1): 139-151, January 1986.
APPENDIX B
Hold Option
Docket Number: 61624-04980
Chapter 4
Spot and Derivative Markets in Admission Control
Xet game now risk, G. [87]
In Chapters 2 and 3, we proposed a pure market approach for bandwidth pricing, where allocated capacities may vary during the lifetime of a flow, as players compete for resources through an auction game.
In this chapter, we propose a mechanism for circuit switched calls, wherein calls are admitted or rejected at (or soon after) their arrival time, and if admitted, get a fixed allocation of capacity, and have the option of securing the resource at a guaranteed maximum price for a guaranteed minimum duration. Thus the charge has two components:
• a market-based usage charge, where the user continuously pays the "instantaneous" market price (determined by second price auctions among recent arrivals); if the market price exceeds a user's bid price, that user is dropped unless
• upon arrival, the user pays a reservation tee ι buys an option contract), which gives him t he right to buy the capacity at any time in the future up to a specified duration at his bid price. The user pays the market price as long as it is below his bid price. If at some point during the call, the market price exceeds the bid price, then the user automatically exercises the option, i.e., remains connected while paying no more than the bid price.
In other words, we introduce a "derivative" instrument to reduce the uncertainty inherent in the "spot" market mechanism. Naturally, this contract (or reservation) must itself be sold for a "fair" price. In the context of financial markets, the fair price is calculated with the BLack-Scholes approach [8, 65], which is based on the idea that the option must be priced such that a perfectly hedged (i.e., riskless) combination of the derivative and the underlying equity will provide (locally in time) the same expected return as a risk free security [36] (otherwise the derivative would present an arbitrage opportunity, i.e., unfair advantage, which would be exploited until its price rises).
In our context, the contract differs in that, rather than the right to buy once at a given strike price, it gives the right to buy repeatedly over a given duration, i.e., it is a series of "call options". Here the "fairness" we seek is that the reservation be priced in a way tha: reflects the probability that the system will become busier during the lifetime of the reservation, in order to avoid individually rational but socially sub-optimal behaviour. Specifically, we seek to avoid customers connecting at low periods and making a reservation limiting their usage price to an excessively low price for a very long time, to avoid rejoining when the prices are higher1.
A further difference from usual options is that, rather than the standard geometric Brownian motion model of e.g., a stock price, we have an underlying spot market process that is derived directly from our queueing system, via a heavy-traffic
1 A simplified form of tl s arbitrage is commonly observed with flat-rate priced dial-up Internet access, w ln-p* some users rtrr.ain logged on for very long periods of time even if i hey are not using the network in order to av:;d the chance of get ting busy signals when they need lo be on. batch ouput holding times - exp/r arrivals Poisson - λ
Figure imgf000053_0001
Figure imgf000053_0002
Figure 4-1: Queueing Model
approximation which leads to a diffusion process.
From the point of view of the user, this pricing mechanism is simply an initial reservation fee plus a per-minute (for example) usage charge. The novelty in the networking context is that both are market prices.
In Section 4.1., we derive a heavy-traffic diffusion approximation model for the queueing system. Using that, in Section 4.2., we derive the corresponding model for the spot market price. Then in Section 4.3., we introduce our formulation of the reservation as a derivative financial instrument. Finally, in Section 4.4. we present some simulation results using a real trace of traffic at a dial-up Internet access modem pool. For the sake of readability, detailed calculations are relegated to Sections 4.5. and 4.6.. Although not strictly necessary, a layman's grasp of financial markets is helpful in reading this chapter.
4.1. Queueing Model
4.1.1 Preliminaries
Customers arrive in a Poisson stream of rate λ, with i.i.d. bid prices distributed according to a distribution F (density /). Call durations are exponentially dis- STAGE I
STAGE II
Figure imgf000054_0001
Figure 4-2: Pricing Mechanism
tributed with mean 1/r. The queueing system is shown in Figure 4-1. It consists of two stages, with buffers of size B and C respectively.
The first stage consists of a second price auction, where the winners enter the second stage, and the losers leave the system. Specifically, the first stage has an exponentially distributed service time τ with mean 1/μ. At a service completion instant, let m be the number of customers ir. the first stage and n the number in the second stage, at that time. The m first st.-i.ge customers are ranked according to their bid prices. The (C—n) highest bids are accepted into the second stage, and the remaining m — (C — n) are dropped. The bid rice of the highest dropped bid defines the new spot market price, which is valid until the next batch. If no customers are dropped, i.e., m < C — n, then the spot market price is zero. Figure 4-2 shows the functioning of the mechanism.
The second stage is a C server queue v- .: h no waiting room, where each customer has an exponential service time (call duration) of mean 1/r. The arrivals are according to batch Poisson process, v- - ":ι rate μ, and batch sizes distributed according to 3m}m_Q. Let p = λ/μ. For 0 < < B,
βm = Δ P{m arrivals in r}
Pm τn+1
( + P)
and
oo \m .. (μ + λ)-+ι
Figure imgf000055_0001
In Sectio...4.1.2, the steady-state distribution of the occupancy of the second queue can be shown to be of product form. However, for the purpose of pricing the reservations, we need a (probabilistic) model of its transient behaviour in the future, given the current price. This is done in Section 4.1.3.
4.1.2 Product-form solution
Let the state of the second queue (admitted calls) be X = (Xχ,...,Xκ), where
Xk = (Xk.i Xk,Mk)-> Xk,i is the bid price of the i-th player in the &-th batch,
Mk is number of calls remaining from the &-th oldest batch, and A' is the number of batches present. Let N = k-χ Mk-, the total number of active calls. The letters x, mk, and r will denote generic values of X,Mk and N, respectively.
X(t) is a rontinuous time Markov process. The transitions are of two types. On one hand we have departures of individual customers:
.r = (xl,...,xk,...,xκ) →x' — (xι,...,ei(xk), rΛ-)- (4.1) occuring with transition probability
-(x, x') = r,
where ti(x ) — (zfc,n • • • , Xk,i-ι,Xk,i+ι, •■•■, Xk,mk)- On the other hand, we have batch arrivals: x — (x-ι,...,xh-) → x' = (x ...,xκ,xκ+ι), (4.2)
occuring with probability intensity
Figure imgf000056_0001
if 0 < τnκ+ι <C — n, and
η(x,χ') = μ ∑ βmF( min Ijr+lιf.).»-»*4._ ^ ^ ϋ /(«+ι. m=mκ+ι i≤'≤^K+i τnκ+ιl(m -mκ+ιμ £.*
Figure imgf000056_0002
Proposition 11 The equilibrium probability of being in state x = (xι,...,xζ) is
Φ)→fa)'jΪ£;ϊlfM, (4-)
where the normalization constant is given by
Figure imgf000056_0003
Proof: To prove the theorem, we first analyze and then conjecture the transition rates 7* of the reversed process, X(— i). and then verify that the following balance conditions:
τr( x)~((x, x') = π«)7 > z), (4.4)
and Vx,
1 (x, x') = ∑1'(x,x'), (4.5) ' x' hold. Indeed, if (4.4) and (4.5) are satisfied, then by Theorem 1.13 of [46], π is the equilibrium probability of the Markov process X(t).
Conjecture: X(—t) = x has the following properties:
• new batches are formed by customers arriving according to a Poisson process of rate λo;
• arrivals into existing batch k are according to a Poisson process of rate λt(ar). Arriving customers have a bid price i.i.d. with distribution F;
• upon arrival into a batch, if the system is not full (n < C), the customer is placed with equal probability in any position within the batch (from 1 to jt + 1). If the system is full, the new customer departs immediately;
• batch k has an exponentially distributed service time, with mean l/μk(x).
The rates for the reverse process are the following. First,
λ0 = μ(l - βo).
Second, if n < C or k < K,
/<- ' -' > = 3 ,mk rmk,
Figure imgf000057_0001
and μk(x)p if 1 ≤ rn < B
\k(x) = if mk = B
Third, when n = C, and k = K, i.e., for the last batch when the system is full,
μκ(x)= T βmF( min xk,i)m- — ^ — rmk, m—τnkκ„ ι<«'<^ , J mkl(m-mky. \ p J
and
Xκ(x) = rmκ - μκ(x)- (4.6)
Note that in this last case all the arrivals immediately depart.
We begin by verifying (4.4). For the transitions of type (4.1), i.e., corresponding to departures in the forward process, consider a departure from the k-th. batch. When mk > 1. (4.3) yields
JΓ(X!, ..., xk, ... , xκ)r - r(xι, ... , et-(xjt), ... , XR) - , n _ — f(xk,i)r. i T p <nk
Since mk - 1 < B - 1, we have βmk-\ = m*-1/(l + p)m*,and therefore μk(x') = r mk- 1)/(1 — p). On the right hand side the system is not full (n1 = n - 1 < C - 1). hence Xk(x') = μk(x')p = γ^ (mk - 1). Thus we have
Figure imgf000058_0001
Now, since arrivals in the reverse process take any position in their batch with equal probability. λk(x')/mk is precisely the arrival rate into position i in batch k. i.e., A^(ar/)/m^ ( xk,i) η'(x'.x). as desired. If mk = 1. (4.3) yields
-(xι,...,(xk,ι),...,xκ)r - π(x1,...,xk-1,xk+1,....xκ)γ-—-f(xkΛ)r
~ τr(x1,...,xjt_1,xjt+ι, •rλ W jt.i), as desired.
For the transitions of type (4.2), if 1 < τn#+ι < C - k=χ τnk,
) βmκ+1μ
Figure imgf000059_0001
= π(χ')μκ+ι(χ'),
as desired. If mκ+ι = C — ∑£- m*'
Figure imgf000059_0002
, , r f F( mm XAr+i.i) m— mjf . m!
= τr(x')mA-+ι- β am j?, • ϊ
Figure imgf000059_0003
ι -<—«<™ -κ—+ι mκ+ι!("i - mκ+1)!
Figure imgf000059_0004
as desired.
We now verify (4.5). The left-hand side is the total rate at which the forward process X(t) leaves state x, which is μ(l - βQ) + nr. The right-hand side is the total rate of leaving state x in the reverse process. Consider first a state where the system is not full (n < C). The total rate is then (letting k range from 1 to K)
λo + ∑ λjb O -r Wfc(*)
Figure imgf000059_0005
Figure imgf000059_0006
= μ( 1 - ,t30) + ∑ rmk = μ(l - A>) + ''n. k as desired. Now when n = C, the rate is
A'-i λo + ∑ (μk(x) + λA(ι)) + λκ(x) + μκ(x) k=l
= μ(l - β0) + (n - mκ)r + r jζ - μκ(x) + μκ(x),
where the second term is derived as in the n < C case above, and the third term comes from the definition (4.6). Then the right hand side is μ(l — βo) + nr, as desired. D
4.1.3 Diffusion approximation
We develop a tractable approximation for the queue occupancy process Nt, by scaling the system following the well-known heavy traffic approach [37, 9, 97, 98, 18], applied here to a system with batch arrivals.
Let a = f, fh = EM =
Figure imgf000060_0001
E(M2) =
Figure imgf000060_0002
Consider a sequence of scaled systems, indexed by = 1, 2, .. ., with capacity C = la+ /ϊ , where η is arbitrary, and batch arrival rate μW = Iμ. Let
Z? ^ , (4.7)
the translated and scaled version of the queue occupancy of the l-th. system. The drift and diffusion coefficient respectively are
Figure imgf000060_0003
and
Figure imgf000061_0001
The basic idea is that as -→ oo,
Figure imgf000061_0002
denotes weak convergence, i.e., the probability distributions converge), where Zt is the diffusion process which solves the stochastic differential equation
dZt = a(Zt) dt + σ(Zt) dWt, (4.10)
where Wt is a Brownian motion.
Note that, for 7 < 00, the offered load
Figure imgf000061_0003
/ 1, which makes it a "heavy traffic" approximation.
The coefficients α(.) and σ2(.) are obtained by letting / → 00 in (4.S) and (4.9) respectively. In the original approach of [37], Z =*» Zt holds if α(.) and σ2(.) are continuous, which is clearly not the case here, since both have jumps at z = 7. However, based on a theorem of Borovkov [9], Whitt [98] proposes a conditioning heuristic to derive approximate steady-state blocking probabilities for the G/GI/s/Q (i.e., s servers, no waiting room) queue from the diffusion approximation for the corresponding G/GI/oo system. Our approach here will be to apply the heuristic to the diffusion process itself2, conditioning on Zt < 7.
2[98] p. 694 states that, for exponential service times, the heuristic is also applicable to the diffusion process itself. 4.2. Diffusion Models of the Market Prices
4.2.1 Spot Price
Suppose that at time t, the queue occupancy is Nt = n, and a batch of size arrives. The admission decision is made, and a new spot price results. In this section, we want to derive a model which will tell us in some sense the future evolution of this price.
Consider the mechanism by which the price arises. Of the m new customers, those with the C — n highest bid prices will be admitted, and the spot price will be the (C — n + l)-th highest bid price. Recall that the bid prices are i.i.d., with distribution JF, which we assume to be smooth. The probability that the price is x is the probability that in m draws, one will equal x, and of the remaining m — 1, C — n will be greater than x, and (m — 1) — (C — n) will be less than or equal to x, which is
/-> = " w _ r,)!,(im-" i;)i (C _ „)], m*)i— ii - mf"
= (C - »)l(m -'l - C + ,)! [^>r-C+~l P " Mf"" /)
The distribution is
u -C+n-l (\ - u C-~nn du,
Figure imgf000062_0001
where the last equality comes from substituting the previous expression, and making the change of variables u — F(jι ). du = f(y) dy.
Let us consider a "first-order" approximation, the expected spot price given the occupancy n and the size of the batch arrival m:
Φn,m = J [1 - Fn,m(x)] dx
Figure imgf000063_0001
— \ F~1(u)g(u, n, m) du, Jo
where
*«■ •-•m5 " (c - »)i( - ι - c+ .)i' ^"<1 - "»""■ ( 11)
4.2.2 Diffusion model of the spot price
For the purpose of pricing a reservation beginning at time t, we would like to characterize the future evolution of the market price, in terms of what is known at or just before f . namely the occupancy Nt. Thus, it is natural to consider the process
B φ(Nt) = E [τ/>Nt,m] = ∑ βm≠N m. m=0
Remark: We prefer the above expression to one that uses the information in the batch that arrives at time t, since computing the option prices based on the new arrivals wouic add to the delay in the admission decision. By not waiting for the new information, we can use the time in between batches for computation of option prices. Of course the spot price results from the auction among the new bids, but that is a very simple computation.
Now. we approximate the price by a sequence of functions of the centered and scaled process Z ',
Figure imgf000063_0002
Then, Ito's rule (see, e.g., [45]) along with (4.10) yields the stochastic differential equation for P:
Figure imgf000064_0001
Since pW'z) = βm f1 E-α(u)5(/)(u, V lz ÷ al. m) du, m=o Jo where gM is defined as g with C^ instead of C, it follows that lz + l, m) du, (4.13)
Figure imgf000064_0002
and V lz + al, m) du. (4.14)
Figure imgf000064_0003
Now (4.12), along with (4.8), (4.9), (4.13) and (4.14), constitutes a diffusion model for the spot market price Pt, as / → oo. From the results derived in Sections 4.5. and 4.6., we can approximate (4.12) by dPt = 0 when z < η, and
Figure imgf000064_0004
+VrC Y (-I Pt - Λ'Jm) dWt (4.15)
when = = 7. V is a constant related to the accuracy to which we want to evaluate g, and can typically can be taken to be 1 (see Section 4.6.). Vm, the constants Λj . Λ 2 , which depend only on the bid price distribution F. are defined (and can be computed) by (4.23) and (4.25) respectively.
Remark: z = 7 corresponds to .\ = C, i.e., the system is full. Thus we have a. mό'h'l where the spot price remains constant when the system is below capacity, and varies when the system is full. This corresponds to what one would intuitively expect from the auction mechanism (with the constant price 0 when the system is not full). Note that we do not attempt to model the transitions between the two regimes, so this model is meaningful only during periods when the system is almost always full.
4.3. Computing Reservation Fees: the Derivative Market
Taking the current market price Pt as initial condition, the solution of (4.15) provides a stochastic model of the future prices {Pτ}r>t (this solution is unique in distribution - see [45]). From that, we now determine the price of a reservation, arriving at time t, with a holding time T, and a bid price p. The value, or "fair price", at time t of an option to buy a security for a "strike price" p at a specific future date3 r > t is (see [45, 36])
CT = E(PT - p)+.
In our context, this concept must be extended in the following straightforward manner: we define the reservation as a hold option, a new kind of derivative instrument which is an option to buy repeatedly at every time instant from t to t + T. Thus the reservation fee should be
φ(t,T,p) J^ ζτdr. (4.16)
If A'ι = Λ' 2 = 0, (τ is given explicitly by the Black-Scholes formula [36]. For the
3This is called a European option, as opposed to an American option, which is the right to buy at any time between t and r.
Note i hat we take the risk-free interest rate to be 0. more general form (4.15), which we re-write as
dPT = (APr + K3) dt + (DPT + K4) dW (4.17)
for r > t, with known initial condition Pt, the solution is (see [45], Section 5.6)
PT — it Pt + I, τ (4.18)
Figure imgf000066_0001
where
Sr = exp - D2/ ) (τ - t) + [T D dWu
Figure imgf000066_0002
Knowing the set of distributions Vt = {IP(Pτ ≤ x|Pt),Vx : r > t}, we can evaluate τ, for T > t and the reservation fee φ follows.
4.4. Simulations
In this section, we simulate the pricing mechanisms presented in the preceding sections, applied to dial-up Internet access.
Our data set consists of all the connections that were made to the Columbia University modem pool between April 4th and May 10th 1998. At that time, the system, with a total of 316 lines, was very heavily loaded (except for the period roughly from 2AM to 7AM every day, essentially all lines are always busy). There was a total 669,994 calls, from 9451 different users, with an average inter-arrival time of 5.59 seconds, and an average call duration of 1299.3 seconds (see Figure 4-3).
The unsatisfied demand, i.e., the calls which encounter busy signals, are not logged in our data trace, since the blocking occurs in the public telephone network. Our data trace only includes admitted calls. Thus feeding the trace into a system of 316 lines would result in no blocking, which would not be interesting since blocked
Figure imgf000067_0001
Figure 4-3: Modem pool call statistics (solid) and equivalent - same mean - exponential distributions (dashed)
calls are what gives rise to the market price. By scaling down the capacity of system in our simulation, we can recreate the congestion. The traffic was fed into a system running with 202 lines, of λvhich IS were allocated to the first stage, and 184 to the second stage. The call arrival times and bid durations are from the real traffic trace (however the simulation was run at 10 x real-time speed), while bid prices are randomly generated from F. the uniform distribution on [0, 1).
Rather than explicitly evaluating the set of distributions functions V% resulting from (4.18), our technique consists of Monte-Carlo siumulation. Specifically, at each time when a reservation has to be computed, beginning at the known current price Pt, we generate sample paths by the difference equation corresponding to (4.15), which results in a set of histograms (one for each value of r) corresponding to Vt- Figure 4-4 shows a representative example.
Since the arrival process is clearlv time- varying, the implemented reservation mechanism makes real-time estimates of A. and r, to evaluate the constants A, K3, D and using the formulas in Sect ion !.(>..
66
SUBSTITUTE HEET (RULE 26)
Figure imgf000068_0003
Figure imgf000068_0001
Figure 4-4: Histograms of Pτ, for P0 = 0 and r = 0, 1, 2 minutes; the bins represent price levels [0, 0.1), [0.1, 0.2), . . . , [0.9, 1).
Figure imgf000068_0002
Figure 4-5: Simulation trace Figure 4-5 shows a snapshot of the simulation trace. The first plot shows the number of users arriving in each batch interval, where ^ = 1 minute. The second plot shows the spot price process resulting from the batch auctions. As expected, prices are zero when the system is lightly loaded during the night. The average price including days and nights is 0.2055.
The third and fourth plots show the number of users in the second stage, in the reserved and unreserved states. In this simulation, all users accept the reservation offer, thus they only remain in the unreserved state for a brief period, from the time the offer is sent by the auctioneer (which is a server program), until the acceptance returns from the user (which is a client program on a different host).
In the fifth plot, "value" is the sum of the bid prices in the second stage (reserved -(-unreserved): this represents the social welfare, or the total value that the users are getting from the system. Without pricing, i.e., if all the users were simply admitted on a FCFS basis, the average value during peak periods would be 184 x 0.5 = 92, since the average bid price is 0.5. Here the average value during the day is approximately 110, i.e., the pricing mechanism yields a 20% gain in efficiency. In other words, without pricing there are many times when a user who values access less is denying a user who values it more. The efficiency is shown more clearly in Figure 4-6. normalized so that the horizontal line corresponds to the FCFS system. Note that there is an efficiency gain of up to 10% even during off-peak hours, because some of the off-peak users arrived during peak hours.
The sixth plot of Figure 4-5 shows the cumulative revenue from usage charges and reservation fees. Since the batch interval is one minute, and usage charges are assessed on a minutely basis, we take the price of 1 as the "full price" reference level, i.e., ono unit of revenue is when 1 line is charged a price of 1 for 1 minute. The unit is called an MOU (minute-of-use). As can be seen on the plot , t e revenue for
Figure imgf000070_0001
Figure 4-6: Efficiency: 1.0 = first-come first-served system
one day is approximately 125,000 MOUs. The 184 lines multiplied by 1440 minutes in a day yield about 264,960 potential minutes of use. Thus, on average, a modem line generates 0.47 MOUs of revenue per minute, including usage and reservation charges.
Figures 4-7 and 4-8 show how the reservation fee offsets any attempt to "arbitrage". Durations range from 0 to 24 hours, and the reservation fees range from 0 to 640 MOUs, with the highest ratio being 1 MOU of reservation fee per minute of reservation duration, as can be seen by the straight line upper-bounding the scatter plot in Figure 4-7. The highest ratio (most expensive reservation) would be for a user who gets into the system with a bid price near zero and requests a long reservation at a time when the arrival rate is high. That is illustrated by Figure 4-8. A user asking for a long duration reservation at a low bid price must pay a higher fee which compensates for the expected future rise in prices. The vertical variations are due to the market price at the moment the reservation offer is made, where the higher end are reservations made when the market price is high. OT
O CΛ ex.
H U α.
Figure imgf000071_0001
90 90 90
33 bO
4.5. Approximations related to g
We first seek a convenient approximation of (4.11). Fix V > 0.
4.5.1 Case τmt(l — u) > V2
By the Central Limit Theorem, the binomial density tends to the normal density, i.e., for 0 < u < 1, we have
Figure imgf000072_0001
Thus,
g(u,n,m) =
Figure imgf000072_0002
m—C+n 11 f_-[[CC--nn--((l1-- υ)r f exp u J2πmu ti((ll——uu)) { 2u(l — u)m )
Differentiation yields
1 C — n — m(l — u)
^-(u, n, m) « #(u, n, ) m — C + n + u(l — u)m
and
1 C — n — m(l — u)
(u, n, ) RS g(u,n,m) an2 m~ (C — n) + ' .(l — x)m
1 \2 1 ' m — C + nj u(l — u)τn
Now, recalling that
Figure imgf000072_0003
we get ^ + ) « -(7-r)> n/ χ u
Figure imgf000073_0001
When z 7, as / — > 00 the exponential goes to zero faster than the other factors grow, thus ^ u, aiz + al, m), §^(ω, y/alz + al,m) → 0. Therefore, by (4.13) and (4.14), (z) = £&(z) → 0. But when * = 7,
g (u, aiz + al, m) (4.19)
Figure imgf000073_0002
—g(u, falz-r l,m) ~>- Vaϊ ( ) g u, V ϊz + al,m) (4.20) dz \m uj g(u, Vaϊz + al, rn) *-»• al dz2 \m IV x u/ - 2 u( (l1 —— uu)m gW u, vaiz + al, m) (4.21)
as / → 00, where ~* indicates that it is an approximation valid for large rn.
4.5.2 Case m (l - «) < V2
Here we consider the neighborhoods of u = 1 and u = 0, where the normal approximation is no longer valid. Indeed
g(l, n,m) =m\{c}(n),
and g(0,n,m) = ml{C- +ι}(n),
where ls(z) = 1 if x € S and = 0, otherwise. Thus, for u near 1, we write
,
Figure imgf000074_0001
where S is the Dirac-5 function.
For u near 0, we get the same approximation with 7 replaced by — ~r~, which becomes identical to the above as I → 00.
Here Vz, ^(z) = ^(z) -→ 0.
4.6. Approximating the Drift and Diffusion Coefficients
When 2 7, by the results of 4.5.1 and 4.5.2, the right-hand side of both (4.13) and (4.14) — ► 0, as / → 00. Therefore, by the finiteness of (4.8) and (4.9), the right-hand side of (4.12) — ► 0, as / → 00.
Thus we need only be concerned with the regime z — 7. Let
Figure imgf000074_0002
which satisfies «v ι(l — «r, )w = V2. V can be interpreted as the smallest variance at which the binomial distribution is sufficiently close to the normal distribution. Typically V can be taken to be about 1.
Xow we will approximate g and its partials in three regions: [Q, uv,m)- ["v.™, 1 — uv.m]ι and ( I - f/r.m- 1]-
In the first and last regions, as shown in Section 4.5.2, the coeffi rnts tend to 0. Thus we need only focus on the middle region, where the appoximations of Section 4.5.1 apply. Also, if m < 4V2, uv,m is not real, and in fact we are always in the case of Section 4.5.2, where the coefficients tend to zero. Thus we have non-zero terms only when m > 4V2.
Writing a = -r(η +
Figure imgf000075_0001
= — rC/VT , and plugging (4.20) into (4.13), we get
g{l)(u, V lz + al, m) du,
Figure imgf000075_0002
(4.22) m
as / → oo, where
Figure imgf000075_0003
where the second line follows from a change of variables w = Λ /(1 — u)m/u,
w{m) = /(l - t-V.m «v,m,
and
">0 = juγ,mm/(l - t*v,m).
Similarly, using σ^2 = r(l + η/y/7a) = rCf(la), arid plugging (4.21) into (4.14) leads to
Figure imgf000075_0004
rC (-2Kim)/B + l m)) (4.24)
as -→ oo, where
Figure imgf000076_0001
Finally,
•W /1~UV,m f ^(t ) v^C (" - i) <7(,) VS/z + al, B) du, dz
Figure imgf000076_0002
Substituting all of the above into (4.12) yields (4.15).
4.6.1 Example: F uniform
Suppose F is the uniform distribution on [0,
Figure imgf000076_0003
hence
A ' (m) '}\ ^f2 dw
= 2P [ (w[m)) - (w0 m))} ,
where Φ is the normal distribution of mean zero, and variance 1. Also,
IC (m) =
Figure imgf000076_0004
4.7. Optimal Seller Strategies
In this section, by way of conclusion, we briefly outline approaches to the complementary control problem, i.e., how the seller can "tune" the mechanism in order to optimize some system- ide objective.
Taking the above mechanism as a given, consider the optimal strategy for the network manager, whose objective is to maximize revenue, using μ(P) [0, oo] as the (feedback) control. As the spot market is governed by auctions, P = 0 whenever the system is not full. The relevance of the problem is during periods when the system is heavily loaded (i.e., almost always full). Then, the objective is equivalent to minimizing
J(s,y, μ) = - J Pt dt,
over all admissible controls μ(i) ≡ μ[P]. r is the stopping time r = inf {t > s : Pt — 0}, and the initial state is Ps — y. The dynamic programming equation is
dW 0 = ^- + miτι (ΛW - y) ,
OS
for y > 0, and W(s, 0) = 0. The differential operator Λ is given by [20]
A = [D{μ)v + K (μ)] J^ + [A(μ)y + K,(μ)\ ."
If W is a solution of the above equation, then the optimal cost is J(s,y, μ") = W(s, y), and, in the classical approaches, the optimal control is obtained by performing the minimization over μ. In this case, even when W can be solved for, or guessed, for each y finding the control μ(y) is in general not tractable since it involves polynomials of degree B\.
There are a number of promising approaches lo this control problem. It is inter- esting to investigate the applicability of approximation techniques by discretizing the original problem, and solving i~ as a Markov-decision problem, in the manner of [53] as well as that of [81], and compare the resulting performance with the optimal open-loop control. One should also consider some heuristic solutions based on related but simpler solvable problems, and investigate the relationship of the optimal control with the notion of Brownian local time, as in [11]. Finally, the trade-offs between optimality and computational complexity should be investigated.

Claims

What is claimed is:
1. A method for real-time market-based resource allocation, comprising: receiving at least one bid in real-time for a resource; deciding which ofthe at least one bids has won the bidding; and controlling the resource so that it is committed to the winning bidder.
2. The method of claim 1, wherein the resource is bandwidth.
3. The method of claim 1, wherem the resource is buffer space.
4. The method of claim 1, wherein the resource is processor time.
5. The method of claim 1, wherein the resource is controlled in real-time so that the winning bidder has access to the resource he has won as soon as bidding closes.
6. The method of claim 1, wherein the bid is received from a software agent.
7. The method of claim 6, wherein the software agent bids in accordance with a strategy rule.
8. The method of claim 7, wherein the strategy rule is a truthful best reply strategy.
9. The method of claim 6, wherein the software agent bids in accordance with a valuation rale.
10. The method of claim 9, wherein the valuation rule is determined in accordance with at least one measured network parameter.
11. The method of claim 6, wherein the software agent bids in accordance with an allocation rule.
12. The method of claim 1, wherein deciding which bid has won the bidding is performed in accordance with an allocation rule.
13. The method of claim 12, wherein deciding which bid has won the bidding is performed in accordance with a market allocation rale also used by a buyer software agent, the market allocation rule defining the rules ofthe resource market.
14. The method of claim 12, wherein deciding which bid has won the bidding is performed in accordance with an English Auction market allocation rule.
15. The method of claim 12, wherein deciding which bid has won the bidding is performed in accordance with a continuous bid-ask trading market allocation rule.
16. The method of claim 12, where deciding which bid has won the bidding is performed in accordance with a progressive second price auction allocation rale.
17. The method of claim 12, where deciding which bid has won the bidding is performed in accordance with a hold option allocation rule.
18. The method of claim 1 , further comprising: storing information concerning which bid has won, for accounting purposes.
19. The method of claim 1, wherein there are several resources, and a respective resource agent performs the elements of claim A for each resource.
20. The method of claim 1, wherein there is one resource, and a single resource agent performs the elements of claim 1 for the resource.
21. The method of claim 1, wherein the elements of claim 1 are performed by a resource agent executing on a separate computer than the placing the bids.
22. The method of claim 1, wherein the elements of claim 1 are performed by a resource agent executing on the same computer as at least one placing at least one ofthe bids.
23. The method of claim 1, wherein the is controlled by a human being, who decides how to bid.
24. The method of claim 1, further comprising: deciding, by a bidder agent, how to bid based on a valuation function ofthe bidder agent and a strategy algorithm ofthe .
25. The method of claim 1, further comprising: receiving an offer to sell resources from a seller agent.
26. The method of claim 1, further comprising: receiving player agents in a garage of a resource agent and receiving bids from player agents in the garage.
27. The method of claim 1, wherein the bid is received from a player agent that also submits offers to sell resources;
28. The method of claim 1, further comprising: before bidding, receiving a request from a buyer software agent for a location of resource agent.
29. The method of claim 1, further comprising: sending at least one bid in real-time for a resource; receiving a notification that the sent bid has won the bidding; selling the use ofthe winning resource to third parties through a separate resource agent; and notifying a resource management and control agent that the third parties will be using the resource.
30. A method, performed by a multiagent, comprising: sending at least one bid in real-time for a resource in accordance with a strategy rule and a valuation rale ofthe multiagent and in accordance with a system- wide allocation rale; receiving a notification that the sent bid has won the bidding; selling the use ofthe winning resource to third parties through a separate resource agent; and notifying a resource management and control agent that the third parties will be using the resource.
31. A method, performed by a buyer agent, comprising: sending at least one bid in real-time for a resource in accordance with a strategy rale and a valuation rule ofthe buyer agent and in accordance with a system- wide allocation rule; receiving a notification that the sent bid has won the bidding; and making use ofthe resource in real time, immediately after winning the bid.
32. The method of claim 32, wherein the system wide-allocation rule is a PSP allocation rale.
33. A system for real-time market-based resource allocation, comprising: means for receiving at least one bid in real-time for a resource; means for deciding which ofthe at least one bids has won the bidding; and means for controlling the resource so that it is committed to the winning bidder.
34. A system for real-time market-based resource bidding by a multiagent, comprising: means for sending at least one bid in real-time for a resource in accordance with a strategy rale and a valuation rale ofthe multiagent and in accordance with a system-wide allocation rale; means for receiving a notification that the sent bid has won the bidding; means for selling the use ofthe winning resource to third parties through a separate resource agent; and means for notifying a resource management and control agent that the third parties will be using the resource.
35. A system for real-time market-based resource bidding by a buyer agent, comprising: means for sending at least one bid in real-time for a resource in accordance with a strategy rale and a valuation rale ofthe buyer agent and in accordance with a system- wide allocation rule; means for receiving a notification that the sent bid has won the bidding; and means for making use ofthe resource in real time, immediately after winning the bid.
36. The system of claim 35, wherein the system wide-allocation rule is a PSP allocation rule.
37. A system for real-time market-based resource allocation, comprising: a portion configured to receive at least one bid in real-time for a resource; a portion configured to decide which ofthe at least one bids has won the bidding; and a portion configured to control the resource so that it is committed to the winning bidder.
38. A system for real-time market-based resource bidding by a multiagent, comprising: a portion configured to send at least one bid in real-time for a resource in accordance with a strategy rale and a valuation rale ofthe multiagent and in accordance with a system-wide allocation rale; a portion configured to receive a notification that the sent bid has won the bidding; a portion configured to sell the use ofthe winning resource to third parties through a separate resource agent; and a portion configured to notify a resource management and control agent that the third parties will be using the resource.
39. A system for real-time market-based resource bidding by a buyer agent, comprising: a portion configured to send at least one bid in real-time for a resource in accordance with a strategy rule and a valuation rale ofthe buyer agent and in accordance with a system-wide allocation rale; a portion configured to receive a notification that the sent bid has won the bidding; and a portion configured to make use ofthe resource in real time, immediately after winning the bid.
40. The system of claim 39, wherein the system wide-allocation rale is a PSP allocation rale.
41. A computer program product, including instructions for causing a data processing device to perform actions for real-time market-based resource allocation, comprising: receiving at least one bid in real-time for a resource; deciding which ofthe at least one bids has won the bidding; and controlling the resource so that it is committed to the winning bidder.
42. A computer program product, including instructions for causing a multiagent of a data processing device to perform actions for real-time market-based resource bidding, comprising: sending at least one bid in real-time for a resource in accordance with a strategy rale and a valuation rale ofthe multiagent and in accordance with a system- wide allocation rale; receiving a notification that the sent bid has won the bidding; selling the use ofthe winning resource to third parties through a separate resource agent; and notifying a resource management and control agent that the third parties will be using the resource.
43. A computer program product, including instructions for causing a buyer agent of a data processing device to perform action for real-time market-based resource bidding, comprising: sending at least one bid in real-time for a resource in accordance with a strategy rale and a valuation rule ofthe buyer agent and in accordance with a system- wide allocation rale; receiving a notification that the sent bid has won the bidding; and making use ofthe resource in real time, immediately after winning the bid.
44. The computer program product of claim 43, wherein the system wide-allocation rule is a PSP allocation rule.
PCT/US2001/015424 2000-05-12 2001-05-12 Method and system for market based resource allocation WO2001088811A2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CA002408833A CA2408833A1 (en) 2000-05-12 2001-05-12 Method and system for market based resource allocation
AU2001261521A AU2001261521A1 (en) 2000-05-12 2001-05-12 Method and system for market based resource allocation
EP01935422A EP1285380A2 (en) 2000-05-12 2001-05-12 Method and system for market based resource allocation

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US20384900P 2000-05-12 2000-05-12
US60/203,849 2000-05-12

Publications (2)

Publication Number Publication Date
WO2001088811A2 true WO2001088811A2 (en) 2001-11-22
WO2001088811A8 WO2001088811A8 (en) 2002-02-21

Family

ID=22755578

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2001/015424 WO2001088811A2 (en) 2000-05-12 2001-05-12 Method and system for market based resource allocation

Country Status (5)

Country Link
US (1) US20030101124A1 (en)
EP (1) EP1285380A2 (en)
AU (1) AU2001261521A1 (en)
CA (1) CA2408833A1 (en)
WO (1) WO2001088811A2 (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1579287A2 (en) * 2002-12-09 2005-09-28 Brighthaul Ltd. Dynamic resource allocation platform and method for time related resources
US7110977B2 (en) 1999-08-25 2006-09-19 The Trustees Of Columbia University In The City Of New York System and method for allocating resources using spot market and derivative market techniques
DE102007001519A1 (en) * 2007-01-10 2008-07-17 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Concept for allocating data rates to information signal providers in a network
WO2010036731A2 (en) 2008-09-24 2010-04-01 Netapp, Inc. Adaptive scheduling of storage operations based on utilization of multiple client and server resources in a distributed network storage system
US7908362B2 (en) 2007-12-03 2011-03-15 Velocix Ltd. Method and apparatus for the delivery of digital data
EP2817965A4 (en) * 2012-02-22 2015-09-16 Systems and methods for accessing camera systems
US10635471B2 (en) 2015-05-15 2020-04-28 Joshua Paul Davis System and method for an autonomous entity
US11568495B2 (en) 2019-08-20 2023-01-31 Joshua Paul Davis Computer systems and software for self-executing code and distributed database
US20230410198A1 (en) * 2014-07-25 2023-12-21 Clearingbid, Inc. Systems Involving a Hub Platform and Communication Network Configured for Processing Data Involving Time-Stamped/Time-Sensitive Aspects and/or Other Features

Families Citing this family (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6460036B1 (en) * 1994-11-29 2002-10-01 Pinpoint Incorporated System and method for providing customized electronic newspapers and target advertisements
US5758257A (en) 1994-11-29 1998-05-26 Herz; Frederick System and method for scheduling broadcast of and access to video programs and other data using customer profiles
US7630986B1 (en) * 1999-10-27 2009-12-08 Pinpoint, Incorporated Secure data interchange
CA2397300A1 (en) * 2000-01-14 2001-07-19 Qariba Limited Resource allocation
US7249180B2 (en) * 2000-09-14 2007-07-24 International Business Machines Corporation Method and system for marketplace social proxies
US20020087483A1 (en) * 2000-12-29 2002-07-04 Shlomi Harif System, method and program for creating and distributing processes in a heterogeneous network
US7133842B2 (en) * 2000-12-29 2006-11-07 International Business Machines Corporation System, method and program for bidding for best solution process execution in a heterogeneous network
US20020095367A1 (en) * 2001-01-18 2002-07-18 Ichiro Mizunuma Competitive access video/audio monitoring system
WO2003009192A2 (en) * 2001-07-17 2003-01-30 British Telecommunications Public Limited Company Communications network
US9818136B1 (en) 2003-02-05 2017-11-14 Steven M. Hoffberg System and method for determining contingent relevance
US7433843B2 (en) * 2004-04-23 2008-10-07 At&T Intellectual Property I, L.P. Methods, system, and computer-readable medium for recommending an auction structure
US8090698B2 (en) 2004-05-07 2012-01-03 Ebay Inc. Method and system to facilitate a search of an information resource
US7734517B2 (en) * 2004-05-28 2010-06-08 Morgan Stanley Systems and method for determining the cost of a securities research department to service a client of the department
US7769654B1 (en) 2004-05-28 2010-08-03 Morgan Stanley Systems and methods for determining fair value prices for equity research
US7689490B2 (en) * 2004-05-28 2010-03-30 Morgan Stanley Matching resources of a securities research department to accounts of the department
JP2006059211A (en) * 2004-08-23 2006-03-02 Dee Corp Control method for counter auction, program and server
US7752103B2 (en) 2004-09-10 2010-07-06 Morgan Stanley Systems and methods for auctioning access to securities research resources
US7634430B2 (en) * 2004-12-06 2009-12-15 Hewlett-Packard Development Company, L.P. System and method for allocating resources in a distributed computational system using proportional share auctions
US8874477B2 (en) 2005-10-04 2014-10-28 Steven Mark Hoffberg Multifactorial optimization system and method
US7953652B1 (en) 2006-06-12 2011-05-31 Morgan Stanley Profit model for non-execution services
JP2008004046A (en) * 2006-06-26 2008-01-10 Toshiba Corp Resource management device, and program for the same
US7672671B2 (en) * 2006-08-01 2010-03-02 Motorola, Inc. Method and apparatus for enabling operators with operators with unused bandwidth to acquire users
JP4377899B2 (en) * 2006-09-20 2009-12-02 株式会社東芝 Resource management apparatus and program
JP4249780B2 (en) * 2006-12-26 2009-04-08 株式会社東芝 Device and program for managing resources
US8635349B2 (en) * 2007-02-20 2014-01-21 Oracle America, Inc. Method and system for managing computing resources using an electronic broker agent
US8332859B2 (en) * 2007-05-31 2012-12-11 International Business Machines Corporation Intelligent buyer's agent usage for allocation of service level characteristics
US8041599B2 (en) * 2007-05-31 2011-10-18 International Business Machines Corporation Method, system, and program product for selecting a brokering method for obtaining desired service level characteristics
US20080301688A1 (en) * 2007-05-31 2008-12-04 Boss Gregory J Method, system, and program product for allocating a resource
US7899697B2 (en) * 2007-05-31 2011-03-01 International Business Machines Corporation Application of brokering methods to security characteristics
US20080301025A1 (en) * 2007-05-31 2008-12-04 Boss Gregory J Application of brokering methods to availability characteristics
US8140446B2 (en) * 2007-05-31 2012-03-20 International Business Machines Corporation Application of brokering methods to operational support characteristics
US8041600B2 (en) * 2007-05-31 2011-10-18 International Business Machines Corporation Application of brokering methods to performance characteristics
US8180660B2 (en) * 2007-05-31 2012-05-15 International Business Machines Corporation Non-depleting chips for obtaining desired service level characteristics
US9165266B2 (en) * 2007-05-31 2015-10-20 International Business Machines Corporation Resource management framework for holding auctions and applying service level characteristics in response to bids for resources
US7840433B2 (en) * 2007-05-31 2010-11-23 International Business Machines Corporation Fluid, depleting chips for obtaining desired service level characteristics
US8589206B2 (en) * 2007-05-31 2013-11-19 International Business Machines Corporation Service requests for multiple service level characteristics
US8117074B2 (en) * 2007-05-31 2012-02-14 International Business Machines Corporation Scaling offers for elemental biddable resources (EBRs)
US7899696B2 (en) * 2007-05-31 2011-03-01 International Business Machines Corporation Application of brokering methods to recoverability characteristics
US8032407B2 (en) * 2007-05-31 2011-10-04 International Business Machines Corporation Application of brokering methods to scalability characteristics
US9147215B2 (en) 2007-05-31 2015-09-29 International Business Machines Corporation Discrete, depleting chips for obtaining desired service level characteristics
JP2009086733A (en) * 2007-09-27 2009-04-23 Toshiba Corp Information processor, control method of information processor and control program of information processor
CN101911047A (en) * 2007-11-06 2010-12-08 瑞士信贷证券(美国)有限责任公司 Distribute according to service level agreement prediction and management resource
US8219358B2 (en) * 2008-05-09 2012-07-10 Credit Suisse Securities (Usa) Llc Platform matching systems and methods
JP5238525B2 (en) * 2009-01-13 2013-07-17 株式会社東芝 Device and program for managing resources
US9485117B2 (en) * 2009-02-23 2016-11-01 Red Hat, Inc. Providing user-controlled resources for cloud computing environments
US8504689B2 (en) 2010-05-28 2013-08-06 Red Hat, Inc. Methods and systems for cloud deployment analysis featuring relative cloud resource importance
US8761787B2 (en) * 2011-10-04 2014-06-24 At&T Intellectual Property I, L.P. Methods, systems and apparatus to facilitate ranked network priority
US9355420B2 (en) 2012-11-05 2016-05-31 International Business Machines Corporation Bandwidth management
US9265458B2 (en) 2012-12-04 2016-02-23 Sync-Think, Inc. Application of smooth pursuit cognitive testing paradigms to clinical drug development
US8964953B2 (en) 2013-01-10 2015-02-24 Microsoft Corporation Incremental valuation based network capacity allocation
US9380976B2 (en) 2013-03-11 2016-07-05 Sync-Think, Inc. Optical neuroinformatics
US9635102B2 (en) * 2013-03-12 2017-04-25 Google Inc. Broker module for managing and monitoring resources between internet service providers
US10083573B1 (en) 2013-06-11 2018-09-25 Kabam, Inc. System and method for implementing a refund calculator in a game
US20190244181A1 (en) * 2018-02-06 2019-08-08 Anton Edelman Method for Selling and Buying Internet Bandwidth by Tokens

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5826244A (en) * 1995-08-23 1998-10-20 Xerox Corporation Method and system for providing a document service over a computer network using an automated brokered auction
US6243691B1 (en) * 1996-03-29 2001-06-05 Onsale, Inc. Method and system for processing and transmitting electronic auction information
US6285987B1 (en) * 1997-01-22 2001-09-04 Engage, Inc. Internet advertising system
US6253189B1 (en) * 1997-09-15 2001-06-26 At&T Corp. System and method for completing advertising time slot transactions
US6415270B1 (en) * 1999-09-03 2002-07-02 Omnihub, Inc. Multiple auction coordination method and system
US20020010608A1 (en) * 1999-10-08 2002-01-24 Scott Faber System for provding services in real-time overthe internet

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
No Search *

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8131616B2 (en) 1999-08-25 2012-03-06 The Trustees Of Columbia University In The City Of New York System and method for allocating resources using spot market and derivative market techniques
US7110977B2 (en) 1999-08-25 2006-09-19 The Trustees Of Columbia University In The City Of New York System and method for allocating resources using spot market and derivative market techniques
US7290009B1 (en) * 1999-08-25 2007-10-30 The Trustees Of Columbia University In The City Of New York System and method for allocating resources using spot market and derivative market techniques
EP1579287A4 (en) * 2002-12-09 2006-10-18 Brighthaul Israel Ltd Dynamic resource allocation platform and method for time related resources
EP1579287A2 (en) * 2002-12-09 2005-09-28 Brighthaul Ltd. Dynamic resource allocation platform and method for time related resources
DE102007001519A1 (en) * 2007-01-10 2008-07-17 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Concept for allocating data rates to information signal providers in a network
DE102007001519B4 (en) * 2007-01-10 2015-08-20 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Concept for allocating data rates to information signal providers in a network
US7908362B2 (en) 2007-12-03 2011-03-15 Velocix Ltd. Method and apparatus for the delivery of digital data
EP2350851A2 (en) * 2008-09-24 2011-08-03 Netapp, Inc. Adaptive scheduling of storage operations based on utilization of multiple client and server resources in a distributed network storage system
WO2010036731A2 (en) 2008-09-24 2010-04-01 Netapp, Inc. Adaptive scheduling of storage operations based on utilization of multiple client and server resources in a distributed network storage system
EP2350851A4 (en) * 2008-09-24 2012-12-05 Netapp Inc Adaptive scheduling of storage operations based on utilization of multiple client and server resources in a distributed network storage system
US8392312B2 (en) 2008-09-24 2013-03-05 Netapp, Inc. Adaptive scheduling of storage operations based on utilization of a multiple client and server resources in a distributed network storage system
EP2817965A4 (en) * 2012-02-22 2015-09-16 Systems and methods for accessing camera systems
US20230410198A1 (en) * 2014-07-25 2023-12-21 Clearingbid, Inc. Systems Involving a Hub Platform and Communication Network Configured for Processing Data Involving Time-Stamped/Time-Sensitive Aspects and/or Other Features
US10635471B2 (en) 2015-05-15 2020-04-28 Joshua Paul Davis System and method for an autonomous entity
US11568495B2 (en) 2019-08-20 2023-01-31 Joshua Paul Davis Computer systems and software for self-executing code and distributed database

Also Published As

Publication number Publication date
WO2001088811A8 (en) 2002-02-21
US20030101124A1 (en) 2003-05-29
EP1285380A2 (en) 2003-02-26
CA2408833A1 (en) 2001-11-22
AU2001261521A1 (en) 2001-11-26

Similar Documents

Publication Publication Date Title
WO2001088811A2 (en) Method and system for market based resource allocation
Lazar et al. Design, analysis and simulation of the progressive second price auction for network bandwidth sharing
Semret Market mechanisms for network resource sharing
US10733670B2 (en) System and method for dynamically managing message flow
Cont et al. Optimal order placement in limit order markets
Lazar et al. Design and analysis of the progressive second price auction for network bandwidth sharing
Lee et al. A real-time group auction system for efficient allocation of cloud internet applications
US10185993B2 (en) Dynamic peg orders in an electronic trading system
Toosi et al. Financial option market model for federated cloud environments
Dramitinos et al. An auction mechanism for allocating the bandwidth of networks to their users
US7899749B1 (en) System and method for providing intelligent market data snapshots
Chen et al. Design of an aggregated marketplace under congestion effects: Asymptotic analysis and equilibrium characterization
US11075830B2 (en) Diversity routing to improve delay-jitter tradeoff in uncertain network environments
Kabir et al. A cloud bidding framework for deadline constrained jobs
Du et al. Capacity provision networks: Foundations of markets for sharable resources in distributed computational economies
KR20190091295A (en) Systems and methods for processing dynamic peg orders displayed in whole or in part in an electronic trading system
US20110246389A1 (en) Electronic trading spooler
WO2014022671A1 (en) Message processing
Shnayder et al. Truthful prioritization schemes for spectrum sharing
Zhang et al. Economic model for QoS guarantee on the Internet
Zausinová et al. Real-time spectrum secondary markets: Agent-based model of investment activities of heterogeneous operators
Yuen et al. Optimal price decremental strategy for Dutch auctions
Balseiro Competition and yield optimization in ad exchanges
Zhan et al. Pricing the spare bandwidth: towards maximizing data center's profit.
Fulp Connection management methods for network service providers

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
AK Designated states

Kind code of ref document: C1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: C1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

D17 Declaration under article 17(2)a
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

WWE Wipo information: entry into national phase

Ref document number: 2408833

Country of ref document: CA

WWE Wipo information: entry into national phase

Ref document number: 2001935422

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 2001935422

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: JP