Patent ID: 8392277

Claim:
A computer implemented method for allocating units to users, the method comprising: maintaining access by at least one processor based system to data indicative of unit stockpiles, wherein each unit stockpile includes a plurality of units for allocation; maintaining access by at least one processor based system to data indicative of stockpile allocation procedures, wherein each stockpile allocation procedure relates to a given one of the unit stockpiles, and wherein the data indicative of stockpile allocation procedures includes, for each stockpile allocation procedure: data indicative of a current allocation price P CURRENT data indicative of one or more user offers, including direct purchase offers and speculative user offers, wherein each user offer specifies a submitting user, a unit offer price P OFFER , and a desired quantity of units; and for each stockpile allocation procedure, executing a program stored in a microprocessor, the program comprising instructions to: (a) receive one or more speculative user offers, wherein each speculative user offer is associated with a respective submitting user, each speculative user offer having a unit offer price P OFFER selected by the respective submitting use without being bound to =P CURRENT , such that P OFFER =P CURRENT or P OFFER ≠P CURRENT ; (b) following (a), at a commencement time, setting the current allocation price P CURRENT to a starting value P START ; (c) at the commencement time, identify each speculative offer for which P OFFER ≧P START and, for each identified speculative offer, allocating to the specified submitting user a quantity of units equal to the desired quantity; (d) following (c), provide an interface configured to receive one or more direct purchase offers having a unit offer price of P OFFER =P CURRENT =P START ; (e) following (d), allocate units based on received direct purchase offers of P OFFER =P CURRENT =P START ; (f) following (e), decrement the current allocation price P CURRENT from P CURRENT =P START to a new P CURRENT ; (g) following (f), identify each speculative offer for which P OFFER ≦P CURRENT ≦P START and, for each identified offer, allocating to the specified submitting user a quantity of units equal to the desired quantity; (h) following (g), provide an interface configured to receive one or more direct purchase offers having a unit offer price of P OFFER =P CURRENT ; (i) following (h), allocate units based on direct purchase offers of P OFFER =P CURRENT , and (j)following (i), looping to step (f) and continue until, for a given identified offer, the desired quantity of units is greater than a remaining number of units for allocation.