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 , 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&dtype=0.about.0&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&dtype=0.about.0&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&dtype=0.about.0&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>