taler-merchant-demos

Python-based Frontends for the Demonstration Web site
Log | Files | Refs | Submodules | README | LICENSE

amazonpatent.html (52758B)


      1 <HTML>
      2 <HEAD>
      3 <meta http-equiv="content-type" content="text/html; charset=utf-8" />
      4 <BASE TARGET="_top">
      5 <TITLE>United States Patent: 5,960,411</TITLE>
      6 </HEAD>
      7 <BODY BGCOLOR="#FFFFFF">
      8 <a name="top"></a>
      9 <HR>
     10 <TABLE WIDTH="100%">
     11 <TR>	<TD ALIGN="LEFT" WIDTH="50%"><B>United States Patent </B></TD>
     12 	<TD ALIGN="RIGHT" WIDTH="50%"><B> <A Name=h2 HREF=#h1></A><A  HREF=#h3></A><B><I>5,960,411</I></B>
     13 </B></TD>
     14 </TR>
     15 <TR><TD ALIGN="LEFT" WIDTH="50%"><b>
     16 Hartman
     17 , &nbsp; et al.</B>
     18 </TD><TD ALIGN="RIGHT" WIDTH="50%"> <B>
     19 September 28, 1999
     20 </B></TD>
     21 </TR>
     22 </TABLE><HR>
     23 <font size="+1"> Method and system for placing a purchase order via a communications
     24      network
     25 </font><BR>
     26 <BR><CENTER><B>Abstract</B></CENTER>
     27 <P>A method and system for placing an order to purchase an item via the
     28      Internet. The order is placed by a purchaser at a client system and
     29      received by a server system. The server system receives purchaser
     30      information including identification of the purchaser, payment
     31      information, and shipment information from the client system. The server
     32      system then assigns a client identifier to the client system and
     33      associates the assigned client identifier with the received purchaser
     34      information. The server system sends to the client system the assigned
     35      client identifier and an HTML document identifying the item and including
     36      an order button. The client system receives and stores the assigned client
     37      identifier and receives and displays the HTML document. In response to the
     38      selection of the order button, the client system sends to the server
     39      system a request to purchase the identified item. The server system
     40      receives the request and combines the purchaser information associated
     41      with the client identifier of the client system to generate an order to
     42      purchase the item in accordance with the billing and shipment information
     43      whereby the purchaser effects the ordering of the product by selection of
     44      the order button.
     45 </P>
     46 <P>
     47 
     48 <STRONG>RMS Note:</STRONG> Translated into ordinary language, this means they ask you for
     49 some information about you, record it, and send your browser a cookie
     50 containing a customer number to identify you.
     51 </P>
     52 <P>
     53 
     54 Then, every time you click on a page from the same server, the browser
     55 sends back the cookie that it previously got from the same server.
     56 (That is not Amazon's idea; that is what browsers always do with
     57 cookies.)  This gives the server your customer number.  It uses your
     58 customer number to find your customer information.
     59 </P>
     60 <P>
     61 
     62 
     63 </P>
     64 <HR>
     65   <TABLE WIDTH="100%">
     66   <TR><TD VALIGN="TOP" ALIGN="LEFT" WIDTH="10%">Inventors:
     67   </TD><TD ALIGN="LEFT" WIDTH="90%">
     68   <B>Hartman; Peri</B> (Seattle, WA);
     69 <B>Bezos; Jeffrey P.</B> (Seattle, WA);
     70 <B>Kaphan; Shel</B> (Seattle, WA);
     71 <B>Spiegel; Joel</B> (Seattle, WA)
     72   </TD></TR>
     73   <TR><TD VALIGN="TOP" ALIGN="LEFT" WIDTH="10%">Assignee:
     74   </TD><TD ALIGN="LEFT" WIDTH="90%">
     75   <B>Amazon.com, Inc.</B> (Seattle, WA)
     76   </TD></TR>
     77 <TR><TD VALIGN="TOP" ALIGN="LEFT" WIDTH="10%" NOWRAP>Appl. No.:
     78 </TD><TD ALIGN="LEFT" WIDTH="90%">                    
     79 <B> 928951</B></TD></TR>
     80   <TR><TD VALIGN="TOP" ALIGN="LEFT" WIDTH="10%">Filed:
     81   </TD><TD ALIGN="LEFT" WIDTH="90%">                    
     82   <B>September 12, 1997</B></TD></TR>
     83 </TABLE>
     84 <p>
     85 <TABLE WIDTH="100%">
     86   <TR><TD VALIGN=TOP ALIGN="LEFT" WIDTH="40%"><B>U.S. Class:</B></TD>
     87   <TD VALIGN=TOP ALIGN="RIGHT" WIDTH="60%"><B>705/26</B>; 705/27; 345/962  </TD></TR>
     88   <TR><TD VALIGN=TOP ALIGN="LEFT" WIDTH="40%"><B>Intern'l Class: </B></TD>
     89   <TD VALIGN=TOP ALIGN="RIGHT" WIDTH="60%">G06F 017/60</TD></TR>
     90   <TR><TD VALIGN=TOP ALIGN="LEFT" WIDTH="40%"><B>Field of Search: </B></TD>
     91   <TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="60%">
     92   705/26,27
     93 380/24,25
     94 235/2,375,378,381
     95 395/188.01
     96 345/962
     97   </TD></TR>
     98 </TABLE>
     99 </P>
    100 <HR><CENTER><B>References Cited   [Referenced By]</B></CENTER><HR>
    101 <CENTER><B>U.S. Patent Documents</B></CENTER>
    102 <TABLE WIDTH="100%"><TR><TD WIDTH="25%">4937863</TD><TD WIDTH="25%">Jun., 1990</TD><TD WIDTH="25%" ALIGN="LEFT">Robert et al.</TD><TD WIDTH="25%" ALIGN="RIGHT">380/4.
    103 </TD></TR>
    104 <TR><TD WIDTH="25%">5204897</TD><TD WIDTH="25%">Apr., 1993</TD><TD WIDTH="25%" ALIGN="LEFT">Wyman</TD><TD WIDTH="25%" ALIGN="RIGHT">380/4.
    105 </TD></TR>
    106 <TR><TD WIDTH="25%">5260999</TD><TD WIDTH="25%">Nov., 1993</TD><TD WIDTH="25%" ALIGN="LEFT">Wyman</TD><TD WIDTH="25%" ALIGN="RIGHT">384/4.
    107 </TD></TR>
    108 <TR><TD WIDTH="25%">5627940</TD><TD WIDTH="25%">May., 1997</TD><TD WIDTH="25%" ALIGN="LEFT">Rohra et al.</TD><TD WIDTH="25%" ALIGN="RIGHT">395/12.
    109 </TD></TR>
    110 <TR><TD WIDTH="25%">5640501</TD><TD WIDTH="25%">Jun., 1997</TD><TD WIDTH="25%" ALIGN="LEFT">Turpin</TD><TD WIDTH="25%" ALIGN="RIGHT">395/768.
    111 </TD></TR>
    112 <TR><TD WIDTH="25%">5640577</TD><TD WIDTH="25%">Jun., 1997</TD><TD WIDTH="25%" ALIGN="LEFT">Scharmer</TD><TD WIDTH="25%" ALIGN="RIGHT">395/768.
    113 </TD></TR>
    114 <TR><TD WIDTH="25%">5664111</TD><TD WIDTH="25%">Sep., 1997</TD><TD WIDTH="25%" ALIGN="LEFT">Nahan et al.</TD><TD WIDTH="25%" ALIGN="RIGHT">705/27.
    115 </TD></TR>
    116 <TR><TD WIDTH="25%">5715314</TD><TD WIDTH="25%">Feb., 1998</TD><TD WIDTH="25%" ALIGN="LEFT">Payne et al.</TD><TD WIDTH="25%" ALIGN="RIGHT">380/24.
    117 </TD></TR>
    118 <TR><TD WIDTH="25%">5715399</TD><TD WIDTH="25%">Feb., 1998</TD><TD WIDTH="25%" ALIGN="LEFT">Bezos</TD><TD WIDTH="25%" ALIGN="RIGHT">705/27.
    119 </TD></TR>
    120 <TR><TD WIDTH="25%">5727163</TD><TD WIDTH="25%">Mar., 1998</TD><TD WIDTH="25%" ALIGN="LEFT">Bezos</TD><TD WIDTH="25%" ALIGN="RIGHT">705/27.
    121 </TD></TR>
    122 <TR><TD WIDTH="25%">5745681</TD><TD WIDTH="25%">Apr., 1998</TD><TD WIDTH="25%" ALIGN="LEFT">Levine et al.</TD><TD WIDTH="25%" ALIGN="RIGHT">395/200.
    123 </TD></TR>
    124 <TR><TD WIDTH="25%">5758126</TD><TD WIDTH="25%">May., 1998</TD><TD WIDTH="25%" ALIGN="LEFT">Daniels et al.</TD><TD WIDTH="25%" ALIGN="RIGHT">395/500.
    125 </TD></TR>
    126 <TR><TD COLSPAN="4" ALIGN="CENTER"><B>Foreign Patent Documents</B></TD></TR>
    127 <TR><TD WIDTH="25%">0855687 A2</TD><TD WIDTH="25%">Jan., 1998</TD><TD WIDTH="25%" ALIGN="LEFT">EP</TD><TD WIDTH="25%" ALIGN="RIGHT">.
    128 </TD></TR>
    129 <TR><TD WIDTH="25%">0855659 A1</TD><TD WIDTH="25%">Jan., 1998</TD><TD WIDTH="25%" ALIGN="LEFT">EP</TD><TD WIDTH="25%" ALIGN="RIGHT">.
    130 </TD></TR>
    131 <TR><TD WIDTH="25%">0845747A2</TD><TD WIDTH="25%">Jun., 1998</TD><TD WIDTH="25%" ALIGN="LEFT">EP</TD><TD WIDTH="25%" ALIGN="RIGHT">.
    132 </TD></TR>
    133 <TR><TD WIDTH="25%">0883076A2</TD><TD WIDTH="25%">Dec., 1998</TD><TD WIDTH="25%" ALIGN="LEFT">EP</TD><TD WIDTH="25%" ALIGN="RIGHT">.
    134 </TD></TR>
    135 <TR><TD WIDTH="25%">WO 95/30961</TD><TD WIDTH="25%">Nov., 1995</TD><TD WIDTH="25%" ALIGN="LEFT">WO</TD><TD WIDTH="25%" ALIGN="RIGHT">.
    136 </TD></TR>
    137 <TR><TD WIDTH="25%">WO 96/38799</TD><TD WIDTH="25%">Dec., 1996</TD><TD WIDTH="25%" ALIGN="LEFT">WO</TD><TD WIDTH="25%" ALIGN="RIGHT">.
    138 </TD></TR>
    139 <TR><TD WIDTH="25%">WO 98/21679</TD><TD WIDTH="25%">May., 1998</TD><TD WIDTH="25%" ALIGN="LEFT">WO</TD><TD WIDTH="25%" ALIGN="RIGHT">.
    140 </TD></TR>
    141 </TABLE>
    142 
    143 <BR>
    144   <TABLE WIDTH="90%">
    145   <BR>
    146   <CENTER><B>Other References</B></CENTER>
    147   <TD ALIGN=LEFT><br>Jones, Chris. "Java Shopping Cart and Java Wallet; Oracles plans to join
    148      e-commerce initiative." Mar. 31, 1997, InfoWorld Media Group.
    149 <br>"Pacific Coast Software Software creates virtual shopping cart." Sep. 6,
    150      1996. M2 Communications Ltd 1996.
    151 <br>"Software Creates Virtual Shopping Cart." Sep. 5, 1996. Business Wire, Inc.
    152 <br>Terdoslavich, William. "Java Electronic Commerce Framework." Computer
    153      Reseller News, Sep. 23, 1996, CMP Media, Inc., 1996, pp. 126,
    154      http://www.elibrary.com/id/101/101/getdoc . . .
    155      rydocid=902269@library.sub.-- d&amp;dtype=0.about.0&amp;dinst=. ›Accessed Nov. 19,
    156      1998!.
    157 <br>"Internet Access: Disc Distributing Announces Interactive World Wide."
    158      Cambridge Work-Group Computing Report, Cambridge Publishing, Inc., 1995,
    159      http://www.elibrary.com/id/101/101/getdoc . . .
    160      docid=1007497@library.sub.-- a&amp;dtype=0.about.0&amp;dinst=0. ›Accessed Nov. 19,
    161      1998!.
    162 <br>Nance, Barry, "Reviews: A Grand Opening for Virtual Storefront With
    163      Middleware." Jun. 1, 1997, CMP Media, Inc. 1997, p. 80,
    164      http://www.elibrary.com/getdoc.egi?id=117 . . .
    165      docid=1257247@library.sub.-- a&amp;dtype=0.about.0&amp;dinst=0. ›Accessed Nov. 19,
    166      1998!.
    167 <br>"Go-Cart Shopping Cart Software Features." 1996 GO International, Inc.
    168      http://www.go-cart.com/features.html. ›Accessed Nov. 19, 1998!.
    169 <br>"PerlShop Manual (version 2.2)." 1996, ARPAnct Corp.
    170      http://www.w3u.com/grokksoft/shop/perlman.html. ›Accessed Nov. 19, 1998!.
    171 <br>"Sax Software Announces Sax NetSell; Sax NetSell's design-time ActiveX
    172      controls make Internet commerce easy."1997, Sax Software Corp.
    173 <br>Baron, Chris and Bob Weil, "Implementing a Web Shopping Cart," Dr. Dobb's
    174      Journal, Sep. 1996, pp. 64, 66, 68-69, and 83-85.
    175 <br>Hoque, Reaz, "A Shopping Cart Application with JavaScript," Web Techniques,
    176      May 1998, pp. 63, 65-66, and 68.
    177  </TD></TABLE>
    178   <BR>
    179   <I>Primary Examiner:</I>  Trammell; James P.
    180 <BR>
    181   <I>Assistant Examiner:</I>  Smith; Demetra R.
    182 <BR>
    183   <I>Attorney, Agent or Firm:</I> Perkins Coie LLP
    184 <BR>
    185 <HR>
    186 <CENTER><B><I>Claims</I></B></CENTER>
    187 <HR>
    188 <BR><BR>1. A method of placing an order for an item comprising:
    189 <BR><BR>under control of a client system,
    190 <BR><BR>displaying information identifying the item; and
    191 <BR><BR>in response to only a single action being performed, sending a request to
    192      order the item along with an identifier of a purchaser of the item to a
    193      server system;
    194 <BR><BR>under control of a single-action ordering component of the server system,
    195 <BR><BR>receiving the request;
    196 <BR><BR>retrieving additional information previously stored for the purchaser
    197      identified by the identifier in the received request; and
    198 <BR><BR>generating an order to purchase the requested item for the purchaser
    199      identified by the identifier in the received request using the retrieved
    200      additional information; and
    201 <BR><BR>fulfilling the generated order to complete purchase of the item
    202 <BR><BR>whereby the item is ordered without using a shopping cart ordering model.
    203 </P>
    204 <P>
    205 <STRONG>RMS Note:</STRONG> Note that this list of elements includes a several things that any
    206 E-commerce web site must do.  The result is a long list of elements,
    207 only a few of which have to do with one-click purchasing.
    208 </P>
    209 <P>
    210 <BR><BR>2. The method of claim 1 wherein the displaying of information includes
    211      displaying information indicating the single action.
    212 <BR><BR>3. The method of claim 1 wherein the single action is clicking a button.
    213 <BR><BR>4. The method of claim 1 wherein the single action is speaking of a sound.
    214 <BR><BR>5. The method of claim 1 wherein a user of the client system does not need
    215      to explicitly identify themselves when placing an order.
    216 <BR><BR>6. A client system for ordering an item comprising:
    217 <BR><BR>an identifier that identifies a customer;
    218 <BR><BR>a display component for displaying information identifying the item;
    219 <BR><BR>a single-action ordering component that in response to performance of only
    220      a single action, sends a request to a server system to order the
    221      identified item, the request including the identifier so that the server
    222      system can locate additional information needed to complete the order and
    223      so that the server system can fulfill the generated order to complete
    224      purchase of the item; and
    225 <BR><BR>a shopping cart ordering component that in response to performance of an
    226      add-to-shopping-cart action, sends a request to the server system to add
    227      the item to a shopping cart.
    228 <BR><BR>7. The client system of claim 6 wherein the display component is a browser.
    229 <BR><BR>8. The client system of claim 6 wherein the predefined action is the
    230      clicking of a mouse button.
    231 <BR><BR>9. A server system for generating an order comprising:
    232 <BR><BR>a shopping cart ordering component; and
    233 <BR><BR>a single-action ordering component including:
    234 <BR><BR>a data storage medium storing information for a plurality of users;
    235 <BR><BR>a receiving component for receiving requests to order an item, a request
    236      including an indication of one of the plurality of users, the request
    237      being sent in response to only a single action being performed; and
    238 <BR><BR>an order placement component that retrieves from the data storage medium
    239      information for the indicated user and that uses the retrieved information
    240      to place an order for the indicated user for the item; and
    241 <BR><BR>an order fulfillment component that completes a purchase of the item in
    242      accordance with the order placed by the single-action ordering component.
    243 <BR><BR>10. The server system of claim 9 wherein the request is sent by a client
    244      system in response to a single action being performed.
    245 <BR><BR>11. A method for ordering an item using a client system, the method
    246      comprising:
    247 <BR><BR>displaying information identifying the item and displaying an indication of
    248      a single action that is to be performed to order the identified item; and
    249 <BR><BR>in response to only the indicated single action being performed, sending to
    250      a server system a request to order the identified item
    251 <BR><BR>whereby the item is ordered independently of a shopping cart model and the
    252      order is fulfilled to complete a purchase of the item.
    253 <BR><BR>12. The method of claim 11 wherein the server system uses an identifier
    254      sent along with the request to identify additional information needed to
    255      generate an order for the item.
    256 <BR><BR>13. The method of claim 12 wherein the identifier identifies the client
    257      system and the server system provides the identifier to the client system.
    258 <BR><BR>14. The method of claim 11 wherein the client system and server system
    259      communicate via the Internet.
    260 <BR><BR>15. The method of claim 11 wherein the displaying includes displaying an
    261      HTML document provided by the server system.
    262 <BR><BR>16. The method of claim 11 including sending from the server system to the
    263      client system a confirmation that the order was generated.
    264 <BR><BR>17. The method of claim 11 wherein the single action is clicking a mouse
    265      button when a cursor is positioned over a predefined area of the displayed
    266      information.
    267 <BR><BR>18. The method of claim 11 wherein the single action is a sound generated
    268      by a user.
    269 <BR><BR>19. The method of claim 11 wherein the single action is selection using a
    270      television remote control.
    271 <BR><BR>20. The method of claim 11 wherein the single action is depressing of a key
    272      on a key pad.
    273 <BR><BR>21. The method of claim 11 wherein the single action is selecting using a
    274      pointing device.
    275 <BR><BR>22. The method of claim 11 wherein the single action is selection of a
    276      displayed indication.
    277 <BR><BR>23. The method of claim 11 wherein the displaying includes displaying
    278      partial information supplied by the server system as to the identity of a
    279      user of the client system.
    280 <BR><BR>24. The method of claim 11 wherein the displaying includes displaying
    281      partial shipping information supplied by the server system.
    282 <BR><BR>25. The method of claim 11 wherein the displaying includes displaying
    283      partial payment information supplied by the server system.
    284 <BR><BR>26. The method of claim 11 wherein the displaying includes displaying a
    285      moniker identifying a shipping address for the customer.
    286 </P>
    287 <HR>
    288 <CENTER><B><I> Description</I></B></CENTER>
    289 <HR>
    290 <BR><BR>TECHNICAL FIELD
    291 <BR><BR>The present invention relates to a computer method and system for placing
    292      an order and, more particularly, to a method and system for ordering items
    293      over the Internet.
    294 <BR><BR>BACKGROUND OF THE INVENTION
    295 <BR><BR>The Internet comprises a vast number of computers and computer networks
    296      that are interconnected through communication links. The interconnected
    297      computers exchange information using various services, such as electronic
    298      mail, Gopher, and the World Wide Web ("WWW"). The WWW service allows a
    299      server computer system (i.e., Web server or Web site) to send graphical
    300      Web pages of information to a remote client computer system. The remote
    301      client computer system can then display the Web pages. Each resource
    302      (e.g., computer or Web page) of the WWW is uniquely identifiable by a
    303      Uniform Resource Locator ("URL"). To view a specific Web page, a client
    304      computer system specifies the URL for that Web page in a request (e.g., a
    305      HyperText Transfer Protocol ("HTTP") request). The request is forwarded to
    306      the Web server that supports that Web page. When that Web server receives
    307      the request, it sends that Web page to the client computer system. When
    308      the client computer system receives that Web page, it typically displays
    309      the Web page using a browser. A browser is a special-purpose application
    310      program that effects the requesting of Web pages and the displaying of Web
    311      pages.
    312 <BR><BR>Currently, Web pages are typically defined using HyperText Markup Language
    313      ("HTML"). HTML provides a standard set of tags that define how a Web page
    314      is to be displayed. When a user indicates to the browser to display a Web
    315      page, the browser sends a request to the server computer system to
    316      transfer to the client computer system an HTML document that defines the
    317      Web page. When the requested HTML document is received by the client
    318      computer system, the browser displays the Web page as defined by the HTML
    319      document. The HTML document contains various tags that control the
    320      displaying of text, graphics, controls, and other features. The HTML
    321      document may contain URLs of other Web pages available on that server
    322      computer system or other server computer systems.
    323 <BR><BR>The World Wide Web is especially conducive to conducting electronic
    324      commerce. Many Web servers have been developed through which vendors can
    325      advertise and sell product. The products can include items (e.g., music)
    326      that are delivered electronically to the purchaser over the Internet and
    327      items (e.g., books) that are delivered through conventional distribution
    328      channels (e.g., a common carrier). A server computer system may provide an
    329      electronic version of a catalog that lists the items that are available. A
    330      user, who is a potential purchaser, may browse through the catalog using a
    331      browser and select various items that are to be purchased. When the user
    332      has completed selecting the items to be purchased, the server computer
    333      system then prompts the user for information to complete the ordering of
    334      the items. This purchaser-specific order information may include the
    335      purchaser's name, the purchaser's credit card number, and a shipping
    336      address for the order. The server computer system then typically confirms
    337      the order by sending a confirming Web page to the client computer system
    338      and schedules shipment of the items.
    339 <BR><BR>Since the purchaser-specific order information contains sensitive
    340      information (e.g., a credit card number), both vendors and purchasers want
    341      to ensure the security of such information. Security is a concern because
    342      information transmitted over the Internet may pass through various
    343      intermediate computer systems on its way to its final destination. The
    344      information could be intercepted by an unscrupulous person at an
    345      intermediate system. To help ensure the security of the sensitive
    346      information, various encryption techniques are used when transmitting such
    347      information between a client computer system and a server computer system.
    348      Even though such encrypted information can be intercepted, because the
    349      information is encrypted, it is generally useless to the interceptor.
    350      Nevertheless, there is always a possibility that such sensitive
    351      information may be successfully decrypted by the interceptor. Therefore,
    352      it would be desirable to minimize the sensitive information transmitted
    353      when placing an order.
    354 <BR><BR>The selection of the various items from the electronic catalogs is
    355      generally based on the "shopping cart" model. When the purchaser selects
    356      an item from the electronic catalog, the server computer system
    357      metaphorically adds that item to a shopping cart. When the purchaser is
    358      done selecting items, then all the items in the shopping cart are "checked
    359      out" (i.e., ordered) when the purchaser provides billing and shipment
    360      information. In some models, when a purchaser selects any one item, then
    361      that item is "checked out" by automatically prompting the user for the
    362      billing and shipment information. Although the shopping cart model is very
    363      flexible and intuitive, it has a downside in that it requires many
    364      interactions by the purchaser. For example, the purchaser selects the
    365      various items from the electronic catalog, and then indicates that the
    366      selection is complete. The purchaser is then presented with an order Web
    367      page that prompts the purchaser for the purchaser-specific order
    368      information to complete the order. That Web page may be prefilled with
    369      information that was provided by the purchaser when placing another order.
    370      The information is then validated by the server computer system, and the
    371      order is completed. Such an ordering model can be problematic for a couple
    372      of reasons. If a purchaser is ordering only one item, then the overhead of
    373      confirming the various steps of the ordering process and waiting for,
    374      viewing, and updating the purchaser-specific order information can be much
    375      more than the overhead of selecting the item itself. This overhead makes
    376      the purchase of a single item cumbersome. Also, with such an ordering
    377      model, each time an order is placed sensitive information is transmitted
    378      over the Internet. Each time the sensitive information is transmitted over
    379      the Internet, it is susceptible to being intercepted and decrypted.
    380 <BR><BR>SUMMARY OF THE INVENTION
    381 <BR><BR>An embodiment of the present invention provides a method and system for
    382      ordering an item from a client system. The client system is provided with
    383      an identifier that identifies a customer. The client system displays
    384      information that identifies the item and displays an indication of an
    385      action (e.g., a single action such as clicking a mouse button) that a
    386      purchaser is to perform to order the identified item. In response to the
    387      indicated action being performed, the client system sends to a server
    388      system the provided identifier and a request to order the identified item.
    389      The server system uses the identifier to identify additional information
    390      needed to generate an order for the item and then generates the order.
    391 <BR><BR>The server system receives and stores the additional information for
    392      customers using various computer systems so that the server system can
    393      generate such orders. The server system stores the received additional
    394      information in association with an identifier of the customer and provides
    395      the identifier to the client system. When requested by the client system,
    396      the server system provides information describing the item to the
    397      requesting client system. When the server system receives a request from a
    398      client system, the server system combines the additional information
    399      stored in association with the identifier included in the request to
    400      effect the ordering of the item.
    401 <BR><BR>BRIEF DESCRIPTION OF THE DRAWINGS
    402 <BR><BR>FIGS. 1A-1C illustrate single-action ordering in one embodiment of the
    403      present invention.
    404 <BR><BR>FIG. 2 is a block diagram illustrating an embodiment of the present
    405      invention.
    406 <BR><BR>FIG. 3 is a flow diagram of a routine that enables single-action ordering
    407      for a customer.
    408 <BR><BR>FIG. 4 is a flow diagram of a routine to generate a Web page in which
    409      single-action ordering is enabled.
    410 <BR><BR>FIG. 5 is a flow diagram of a routine which processes a single-action
    411      order.
    412 <BR><BR>FIG. 6 is a flow diagram of a routine for generating a single-action order
    413      summary Web page.
    414 <BR><BR>FIG. 7 is a flow diagram of a routine that implements an expedited order
    415      selection algorithm.
    416 <BR><BR>FIGS. 8A-8C illustrate a hierarchical data entry mechanism in one
    417      embodiment.
    418 <BR><BR>DETAILED DESCRIPTION OF THE INVENTION
    419 <BR><BR>The present invention provides a method and system for single-action
    420      ordering of items in a client/server environment. The single-action
    421      ordering system of the present invention reduces the number of purchaser
    422      interactions needed to place an order and reduces the amount of sensitive
    423      information that is transmitted between a client system and a server
    424      system. In one embodiment, the server system assigns a unique client
    425      identifier to each client system. The server system also stores
    426      purchaser-specific order information for various potential purchasers. The
    427      purchaser-specific order information may have been collected from a
    428      previous order placed by the purchaser. The server system maps each client
    429      identifier to a purchaser that may use that client system to place an
    430      order. The server system may map the client identifiers to the purchaser
    431      who last placed an order using that client system. When a purchaser wants
    432      to place an order, the purchaser uses a client system to send the request
    433      for information describing the item to be ordered along with its client
    434      identifier. The server system determines whether the client identifier for
    435      that client system is mapped to a purchaser. If so mapped, the server
    436      system determines whether single-action ordering is enabled for that
    437      purchaser at that client system. If enabled, the server system sends the
    438      requested information (e.g., via a Web page) to the client computer system
    439      along with an indication of the single action to perform to place the
    440      order for the item. When single-action ordering is enabled, the purchaser
    441      need only perform a single action (e.g., click a mouse button) to order
    442      the item. When the purchaser performs that single action, the client
    443      system notifies the server system. The server system then completes the
    444      order by adding the purchaser-specific order information for the purchaser
    445      that is mapped to that client identifier to the item order information
    446      (e.g., product identifier and quantity). Thus, once the description of an
    447      item is displayed, the purchaser need only take a single action to place
    448      the order to purchase that item. Also, since the client identifier
    449      identifies purchaser-specific order information already stored at the
    450      server system, there is no need for such sensitive information to be
    451      transmitted via the Internet or other communications medium.
    452 <BR><BR>FIGS. 1A-1C illustrate single-action ordering in one embodiment of the
    453      present invention. FIG. 1A illustrates the display of a Web page
    454      describing an item that may be ordered. This example Web page was sent
    455      from the server system to the client system when the purchaser requested
    456      to review detailed information about the item. This example Web page
    457      contains a summary description section 101, a shopping cart section 102, a
    458      single-action ordering section 103, and a detailed description section
    459      104. One skilled in the art would appreciate that these various sections
    460      can be omitted or rearranged or adapted in various ways. In general, the
    461      purchaser need only be aware of the item or items to be ordered by the
    462      single action and of the single action needed to place the order. The
    463      summary description and the detailed description sections provide
    464      information that identifies and describes the item(s) that may be ordered.
    465      The shopping cart section provides the conventional capability to add the
    466      described item to a shopping cart. The server system adds the summary
    467      description, the detailed description, and the shopping cart sections to
    468      each Web page for an item that may be ordered. The server system, however,
    469      only adds the single-action ordering section when single-action ordering
    470      is enabled for that purchaser at that client system. (One skilled in the
    471      art would appreciate that a single Web page on the server system may
    472      contain all these sections but the single-action ordering section can be
    473      selectively included or excluded before sending the Web page to the client
    474      system.) This example single-action ordering section allows the purchaser
    475      to specify with a single click of a mouse button to order the described
    476      item. Once the purchaser clicks the mouse button, the item is ordered,
    477      unless the purchaser then takes some action to modify the order. The
    478      single-action ordering section contains a single-action ordering button
    479      103a, purchaser identification subsection 103b, and single-action ordering
    480      information subsections 103c and 103d. The purchaser information
    481      subsection displays enough information so that the purchaser can verify
    482      that the server system correctly recognizes the purchaser. To reduce the
    483      chances of sensitive information being intercepted, the server system
    484      sends only enough information so that the purchaser is confident that the
    485      server system correctly identified the purchaser but yet not enough
    486      information to be useful to an unscrupulous interceptor. The additional
    487      information subsections allow the purchaser to obtain various settings or
    488      obtain more information related to the single-action ordering. If the
    489      purchaser wants to verify the shipping address, the purchaser can select
    490      the "check shipping address" label. In response to this selection, the
    491      server system may require the purchaser to perform a "login" so that the
    492      identity of the purchaser can be verified before the shipping information
    493      is viewed or modified. The server system then sends a Web page to the
    494      client system for display and possible modification of the shipping
    495      address. In this way, the transmitting of the sensitive shipping address
    496      can be avoided unless requested by the verified purchaser.
    497 <BR><BR>When the purchaser selects the single-action ordering button, the client
    498      system sends a message to the server system requesting that the displayed
    499      item be ordered. After the server system processes the message, the server
    500      system provides to the client system a new Web page that confirms receipt
    501      of the single-action order. FIG. 1B illustrates the display of a Web page
    502      confirming a single-action order. The confirming Web page contains
    503      essentially the same information as the Web page describing the item
    504      (i.e., FIG. 1A) except that an order confirmation section 105 is displayed
    505      at the top of the Web page. The order confirmation section confirms that
    506      the order has been placed and provides an opportunity for the purchaser to
    507      review and change the single-action order. Alternatively, the confirming
    508      Web page can be identical to the Web page describing the item (i.e., FIG.
    509      1A), except that the single-action ordering button is replaced with a
    510      message confirming the order.
    511 <BR><BR>If a single-action ordering is not currently enabled for the client system
    512      but could be enabled, then the server system can generate a Web page like
    513      FIG. 1A, except that the single-action ordering button 103a is replaced by
    514      a single-action ordering enable button. Such a replacement button could
    515      contain text instructing the purchaser to click on the button to enable
    516      single-action ordering. When the purchaser clicks on that button, the
    517      server system would send the Web page of FIG. 1A to be displayed.
    518      Single-action ordering can be enabled whenever the server system has
    519      stored sufficient purchaser-specific order information for that client
    520      system to complete a single-action order. If the server system does not
    521      have sufficient information, then when the purchaser selects the
    522      single-action ordering button, the server system can provide a Web page to
    523      collect the additional information that is needed. The server system may
    524      require the purchaser to "login" so that the identity of the purchaser can
    525      be verified before the single-action ordering is enabled.
    526 <BR><BR>To help minimize shipping costs and purchaser confusion, the server system
    527      may combine various single-action orders into a multiple-item order. For
    528      example, if a purchaser orders one item using the single-action ordering
    529      and five minutes later orders another item using the single-action
    530      ordering, then those orders may be cost effectively combined into a single
    531      order for shipping. The server system combines the single-action orders
    532      when their expected ship dates are similar. For example, if one item is
    533      immediately available and the other item will be available in one day,
    534      then the two single-action orders may be cost-effectively combined.
    535      However, if the other item will not be available for two weeks, then the
    536      two single-item orders would not be combined. FIG. 1C illustrates the
    537      display of a Web page representing four single-action orders that have
    538      been combined into two separate multiple-item orders based on the
    539      availability of the items. The order information 106 indicates that item 1
    540      and item 2, which will be available in three or fewer days, have been
    541      combined into one order. The order information 107 indicates that items 3
    542      and 4, which will not be available within one week, are combined into a
    543      separate order. In one embodiment, the server system may combine
    544      single-action orders that are placed within a certain time period (e.g.,
    545      90 minutes). Also, the server system may combine or divide orders when the
    546      orders are scheduled for shipment based on the then current availability
    547      of the items ordered. This delayed modification of the orders is referred
    548      to as "expedited order selection" and is described below in detail.
    549 <BR><BR>FIG. 2 is a block diagram illustrating an embodiment of the present
    550      invention. This embodiment supports the single-action ordering over the
    551      Internet using the World Wide Web. The server system 210 includes a server
    552      engine 211, a client identifier/customer table 212, various Web pages 213,
    553      a customer database 214, an order database 215, and an inventory database
    554      216. The server engine receives HTTP requests to access Web pages
    555      identified by URLs and provides the Web pages to the various client
    556      systems. Such an HTTP request may indicate that the purchaser has
    557      performed the single action to effect single-action ordering. The customer
    558      database contains customer information for various purchasers or potential
    559      purchasers. The customer information includes purchaser-specific order
    560      information such as the name of the customer, billing information, and
    561      shipping information. The order database 215 contains an entry for each
    562      order that has not yet been shipped to a purchaser. The inventory database
    563      216 contains a description of the various items that may be ordered. The
    564      client identifier/customer table 212 contains a mapping from each client
    565      identifier, which is a globally unique identifier that uniquely identifies
    566      a client system, to the customer last associated with that client system.
    567      The client system 220 contains a browser and its assigned client
    568      identifier. The client identifier is stored in a file, referred to as a
    569      "cookie." In one embodiment, the server system assigns and sends the
    570      client identifier to the client system once when the client system first
    571      interacts with the server system. From then on, the client system includes
    572      its client identifier with all messages sent to the server system so that
    573      the server system can identify the source of the message. The server and
    574      client systems interact by exchanging information via communications link
    575      230, which may include transmission over the Internet.
    576 <BR><BR>One skilled in the art would appreciate that the single-action ordering
    577      techniques can be used in various environments other than the Internet.
    578      For example, single-action ordering can also be in an electronic mail
    579      environment in which an item is described in an electronic mail message
    580      along with an indication of the single action that is to be performed to
    581      effect the ordering of the item. Also, various communication channels may
    582      be used such as local area network, wide area network, or point-to-point
    583      dial up connection. Also, a server system may comprise any combination of
    584      hardware or software that can generate orders in response to the single
    585      action being performed. A client system may comprise any combination of
    586      hardware or software that can interact with the server system. These
    587      systems may include television-based systems or various other consumer
    588      products through which orders may be placed.
    589 <BR><BR>FIG. 3 is a flow diagram of a routine that enables single-action ordering
    590      for a customer. To enable single-action ordering, a server system needs to
    591      have information about the customer that is equivalent to the
    592      purchaser-specific order information. The server system can obtain this
    593      information in various ways. First, the server system could ask the
    594      customer if they would like to have single-action ordering enabled. If so,
    595      then the server system could prompt the customer using a Web page for the
    596      purchaser-specific order information. Second, the server system could also
    597      save the purchaser-specific order information collected when an order is
    598      placed conventionally. The server system could, either automatically or
    599      with the customer's assent, enable single-action ordering. In step 301,
    600      the server system retrieves the client identifier that was sent by the
    601      client system. In step 302, the server system updates the client
    602      identifier/customer table to indicate that the generated client identifier
    603      has been associated with that customer. In step 303, the server system
    604      sets a flag indicating that single-action ordering is enabled for that
    605      client identifier and that customer combination. That flag may be stored
    606      in the client identifier/customer table. In step 304, the server system
    607      supplies a confirming Web page to the client system. The next time a
    608      purchaser attempts to order an item, the client system will supply its
    609      client identifier to the server system. If single-action ordering is
    610      enabled for that purchaser, the server system will assume that the
    611      purchaser is the customer associated with that client identifier in the
    612      client identifier/customer table. Thus, a purchaser may not want to allow
    613      the server system to enable single-action ordering if there is a
    614      possibility that someone else may use that same client system.
    615 <BR><BR>FIG. 4 is a flow diagram of a routine to generate a Web page in which
    616      single-action ordering is enabled. When single-action ordering is enabled,
    617      the server system generates a Web page describing an item as is
    618      conventionally done and then adds a single-action ordering section. In one
    619      embodiment, the server system adds partial purchaser-specific order
    620      information to the section. This information may include the customer's
    621      name, a shipping address moniker selected by the purchaser (e.g., "at
    622      home"), and the last five digits of a credit card number or a nickname
    623      selected by the purchaser. Such partial information should be the minimum
    624      information sufficient to indicate to the purchaser whether or not the
    625      server system is using the correct purchaser-specific order information.
    626      In step 401, the server system generates a standard shopping cart-type Web
    627      page for the item. In step 402, if the single-action ordering flag has
    628      been set for the client identifier and customer combination, then the
    629      server system continues at step 403, else the server system completes. In
    630      step 403, the server system adds the single-action section to the Web page
    631      and completes.
    632 <BR><BR>FIG. 5 is a flow diagram of a routine which processes a single-action
    633      order. When a purchaser performs the single action needed to place an
    634      order, the client system notifies the server system. The server system
    635      then combines the purchaser-specific order information for the customer
    636      associated with the client system with the item order information to
    637      complete the order. The single-action order may also be combined with
    638      other single-action orders and possibly with other conventionally placed
    639      orders to reduce shipping costs. In one embodiment, single-action orders
    640      can be combined if they are placed within a certain time period of each
    641      other (e.g., 90 minutes). This routine illustrates the combining of the
    642      single-action orders into a short-term order (e.g., available to be
    643      shipped in less than a week) and a long-term order (e.g., available to be
    644      shipped in more than a week). One skilled in the art would appreciate that
    645      the single-action orders can be combined in various ways based on other
    646      factors, such as size of shipment and intermediate-term availability. In
    647      step 501, if the item is expected to be shipped in the short term, then
    648      the server system continues at step 502, else the server system continues
    649      at step 505. In step 502, if a short-term order has already been opened
    650      for the purchaser, then the server system continues at step 504, else the
    651      server system continues at step 503. In step 503, the server system
    652      creates a short-term order for the purchaser. In step 504, the server
    653      system adds the item to the short-term order and continues at step 508. In
    654      step 505, if a long-term order has already been opened for the purchaser,
    655      then the server system continues at step 507, else the server system
    656      continues at step 506. In step 506, the server system creates a long-term
    657      order for the purchaser. In step 507, the server system adds the item to
    658      the long-term order. In step 508, the server system generates and sends
    659      the confirmation and completes.
    660 <BR><BR>FIG. 6 is a flow diagram of a routine for generating a single-action order
    661      summary Web page. This Web page (e.g., FIG. 1C) gives the user the
    662      opportunity to view and modify the short-term and long-term single-action
    663      orders. In step 601, the server system adds the standard single-action
    664      order information to the Web page. In step 602, if a short-term order is
    665      open, then the server system adds the short-term order to the Web page in
    666      step 603. In step 604, if a long-term order is open, then the server
    667      system adds the long-term order information to the Web page in step 605
    668      and completes.
    669 <BR><BR>FIG. 7 is a flow diagram of a routine that implements an expedited order
    670      selection algorithm. The goal of the expedited order selection algorithm
    671      is to minimize the number of orders sent to each destination so that
    672      shipping costs are reduced. A destination may be a specific shipping
    673      address plus a specific purchaser's billing details. Orders that are sent
    674      to the same destination are known as "sibling orders." The algorithm has
    675      two stages. In the first stage, the algorithm schedules for shipment the
    676      orders for destinations for which all the sibling orders are filled. An
    677      order is filled when all its items are currently in inventory (i.e.,
    678      available) and can be shipped. For each group of sibling orders, the
    679      algorithm combines those sibling orders into a single combined order so
    680      that only one order is currently scheduled for shipment to each
    681      destination. In the second stage, the algorithm combines and schedules
    682      groups of sibling orders for which some of the sibling orders are not
    683      filled or partially filled. The algorithm may split each partially filled
    684      sibling order into a filled sibling order and a completely unfilled
    685      sibling order. The algorithm then combines all the filled sibling orders
    686      into a single combined order and schedules the combined order for
    687      shipment. If any group has only one sibling order and that order is
    688      partially filled, then the algorithm in one embodiment does not split that
    689      order to avoid making an extra shipment to that destination.
    690 <BR><BR>During the second stage, the algorithm may select and schedule groups of
    691      sibling orders in a sequence that is based on the next fulfillment time
    692      for an item in the group. The next fulfillment time for a group of sibling
    693      orders is the minimum expected fulfillment time of the items in that group
    694      of sibling orders. For example, if a group of sibling orders has seven
    695      items that are not yet fulfilled and their expected fulfillment times
    696      range from 3 days to 14 days, then the next fulfillment time for that
    697      group is 3 days. The algorithm first schedules those groups of sibling
    698      orders with the largest next fulfillment time. For example, if 6 groups
    699      have next fulfillment times of 3, 5, 7, 10, 11, and 14 days, respectively,
    700      then the algorithm first selects and schedules the sibling orders in the
    701      group with the next fulfillment time of 14 days, followed by the group
    702      with the next fulfillment time of 11 days, and so on. By delaying the
    703      scheduling of groups with short next fulfillment times, the algorithm
    704      increases the chances of additional items becoming available (because of
    705      the shortness of the next fulfillment time) and thus combined with the
    706      scheduled order.
    707 <BR><BR>Steps 701-703 represent the first stage of the expedited order selection
    708      algorithm, and steps 704-706 represent the second stage of the expedited
    709      selection order algorithm. In steps 701-703, the algorithm loops selecting
    710      groups in which all sibling orders are filled and combining the orders. In
    711      step 701, the algorithm selects the next group with all sibling orders
    712      that are filled. In step 703, if all such groups have already been
    713      selected, then the algorithm continues with the second stage in step 704,
    714      else the algorithm continues at step 703. In step 703, the algorithm
    715      combines and schedules the orders in the selected group and loops to step
    716      701. In step 704, the algorithm selects the next group of sibling orders
    717      that has the largest next fulfillment time. In step 705, if all such
    718      groups have already been selected, then the algorithm is done, else the
    719      algorithm continues at step 706. In step 706, the algorithm combines and
    720      schedules the orders in the selected group and loops to step 704. When the
    721      expedited order selection algorithm is being performed, new orders and new
    722      inventory may be received. Whenever such new orders and new inventory is
    723      received, then the algorithm restarts to schedule and combine the new
    724      orders as appropriate.
    725 <BR><BR>Although the algorithm has been described as having two stages, it could be
    726      implemented in an incremental fashion where the assessment of the first
    727      and second stages are redone after each order is scheduled. One skilled in
    728      the art would recognize that there are other possible combinations of
    729      these stages which still express the same essential algorithm.
    730 <BR><BR>FIGS. 8A-8C illustrate a hierarchical data entry mechanism in one
    731      embodiment. When collecting information from a user, a Web page typically
    732      consists of a long series of data entry fields that may not all fit onto
    733      the display at the same time. Thus, a user needs to scroll through the Web
    734      page to enter the information. When the data entry fields do not fit onto
    735      the display at the same time, it is difficult for the user to get an
    736      overall understanding of the type and organization of the data to be
    737      entered. The hierarchical data entry mechanism allows a user to understand
    738      the overall organization of the data to be entered even though the all
    739      data entry fields would not fit onto the display at the same time. FIG. 8A
    740      illustrates an outline format of a sample form to be filled in. The sample
    741      form contains various sections identified by letters A, B, C, and D. When
    742      the user selects the start button, then section A expands to include the
    743      data entry fields for the customer name and address. FIG. 8B illustrates
    744      the expansion of section A. Since only section A has been expanded, the
    745      user can view the data entry fields of section A and summary information
    746      of the other sections at the same time. The user then enters data in the
    747      various data entry fields that are displayed. Upon completion, the user
    748      selects either the next or previous buttons. The next button causes
    749      section A to be collapsed and section B to be expanded so that financial
    750      information may be entered. FIG. 8C illustrates the expansion of section
    751      B. If the previous button is selected, then section A would collapse and
    752      be displayed as shown in FIG. 8A. This collapsing and expanding is
    753      repeated for each section. At any time during the data entry, if an error
    754      is detected, then a Web page is generated with the error message in close
    755      proximity (e.g., on the line below) to the data entry field that contains
    756      the error. This Web page is then displayed by the client system to inform
    757      the user of the error. In addition, each of the data "entry" fields may
    758      not be editable until the user clicks on the data entry field or selects
    759      an edit button associated with the data entry field. In this way, the user
    760      is prevented from inadvertently changing the contents of an edit field.
    761      When the user clicks on a data entry field, a new Web page is presented to
    762      the user that allows for the editing of the data associated with the
    763      field. When editing is complete, the edited data is displayed in the data
    764      "entry" field. Because the fields of the form are thus not directly
    765      editable, neither "named-submit" buttons nor Java are needed. Also, the
    766      form is more compact because the various data entry options (e.g., radio
    767      button) are displayed only on the new Web page when the field is to be
    768      edited.
    769 <BR><BR>Although the present invention has been described in terms of various
    770      embodiments, it is not intended that the invention be limited to these
    771      embodiments. Modification within the spirit of the invention will be
    772      apparent to those skilled in the art. For example, the server system can
    773      map a client identifier to multiple customers who have recently used the
    774      client system. The server system can then allow the user to identify
    775      themselves by selecting one of the mappings based preferably on a display
    776      of partial purchaser-specific order information. Also, various different
    777      single actions can be used to effect the placement of an order. For
    778      example, a voice command may be spoken by the purchaser, a key may be
    779      depressed by the purchaser, a button on a television remote control device
    780      may be depressed by the purchaser, or selection using any pointing device
    781      may be effected by the purchaser. Although a single action may be preceded
    782      by multiple physical movements of the purchaser (e.g., moving a mouse so
    783      that a mouse pointer is over a button), the single action generally refers
    784      to a single event received by a client system that indicates to place the
    785      order. Finally, the purchaser can be alternately identified by a unique
    786      customer identifier that is provided by the customer when the customer
    787      initiates access to the server system and sent to the server system with
    788      each message. This customer identifier could be also stored persistently
    789      on the client system so that the purchaser does not need to re-enter their
    790      customer identifier each time access is initiated. The scope of the
    791      present invention is defined by the claims that follow.
    792 <BR><BR><CENTER><B>* * * * *</B></CENTER>
    793 <HR>
    794 </BODY>
    795 </HTML>