summaryrefslogtreecommitdiff
path: root/talermerchantdemos/blog/articles/en/amazonpatent.html
blob: aebce389e9c1fe1b73de0f9a559c48bcff08c3aa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
<HTML>
<HEAD>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<BASE TARGET="_top">
<TITLE>United States Patent: 5,960,411</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<a name="top"></a>
<HR>
<TABLE WIDTH="100%">
<TR>	<TD ALIGN="LEFT" WIDTH="50%"><B>United States Patent </B></TD>
	<TD ALIGN="RIGHT" WIDTH="50%"><B> <A Name=h2 HREF=#h1></A><A  HREF=#h3></A><B><I>5,960,411</I></B>
</B></TD>
</TR>
<TR><TD ALIGN="LEFT" WIDTH="50%"><b>
Hartman
, &nbsp; et al.</B>
</TD><TD ALIGN="RIGHT" WIDTH="50%"> <B>
September 28, 1999
</B></TD>
</TR>
</TABLE><HR>
<font size="+1"> Method and system for placing a purchase order via a communications
     network
</font><BR>
<BR><CENTER><B>Abstract</B></CENTER>
<P>A method and system for placing an order to purchase an item via the
     Internet. The order is placed by a purchaser at a client system and
     received by a server system. The server system receives purchaser
     information including identification of the purchaser, payment
     information, and shipment information from the client system. The server
     system then assigns a client identifier to the client system and
     associates the assigned client identifier with the received purchaser
     information. The server system sends to the client system the assigned
     client identifier and an HTML document identifying the item and including
     an order button. The client system receives and stores the assigned client
     identifier and receives and displays the HTML document. In response to the
     selection of the order button, the client system sends to the server
     system a request to purchase the identified item. The server system
     receives the request and combines the purchaser information associated
     with the client identifier of the client system to generate an order to
     purchase the item in accordance with the billing and shipment information
     whereby the purchaser effects the ordering of the product by selection of
     the order button.
<P>

<STRONG>RMS Note:</STRONG> Translated into ordinary language, this means they ask you for
some information about you, record it, and send your browser a cookie
containing a customer number to identify you.

<P>

Then, every time you click on a page from the same server, the browser
sends back the cookie that it previously got from the same server.
(That is not Amazon's idea; that is what browsers always do with
cookies.)  This gives the server your customer number.  It uses your
customer number to find your customer information.

<P>


</P>
<HR>
  <TABLE WIDTH="100%">
  <TR><TD VALIGN="TOP" ALIGN="LEFT" WIDTH="10%">Inventors:
  </TD><TD ALIGN="LEFT" WIDTH="90%">
  <B>Hartman; Peri</B> (Seattle, WA);
<B>Bezos; Jeffrey P.</B> (Seattle, WA);
<B>Kaphan; Shel</B> (Seattle, WA);
<B>Spiegel; Joel</B> (Seattle, WA)
  </TD></TR>
  <TR><TD VALIGN="TOP" ALIGN="LEFT" WIDTH="10%">Assignee:
  </TD><TD ALIGN="LEFT" WIDTH="90%">
  <B>Amazon.com, Inc.</B> (Seattle, WA)
  </TD></TR>
<TR><TD VALIGN="TOP" ALIGN="LEFT" WIDTH="10%" NOWRAP>Appl. No.:
</TD><TD ALIGN="LEFT" WIDTH="90%">                    
<B> 928951</B></TD></TR>
  <TR><TD VALIGN="TOP" ALIGN="LEFT" WIDTH="10%">Filed:
  </TD><TD ALIGN="LEFT" WIDTH="90%">                    
  <B>September 12, 1997</B></TD></TR>
</TABLE>
<p>
<TABLE WIDTH="100%">
  <TR><TD VALIGN=TOP ALIGN="LEFT" WIDTH="40%"><B>U.S. Class:</B></TD>
  <TD VALIGN=TOP ALIGN="RIGHT" WIDTH="60%"><B>705/26</B>; 705/27; 345/962  </TD></TR>
  <TR><TD VALIGN=TOP ALIGN="LEFT" WIDTH="40%"><B>Intern'l Class: </B></TD>
  <TD VALIGN=TOP ALIGN="RIGHT" WIDTH="60%">G06F 017/60</TD></TR>
  <TR><TD VALIGN=TOP ALIGN="LEFT" WIDTH="40%"><B>Field of Search: </B></TD>
  <TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="60%">
  705/26,27
380/24,25
235/2,375,378,381
395/188.01
345/962
  </TD></TR>
</TABLE>
<HR><CENTER><B>References Cited   [Referenced By]</B></CENTER><HR>
<CENTER><B>U.S. Patent Documents</B></CENTER>
<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.
</TD></TR>
<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.
</TD></TR>
<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.
</TD></TR>
<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.
</TD></TR>
<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.
</TD></TR>
<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.
</TD></TR>
<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.
</TD></TR>
<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.
</TD></TR>
<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.
</TD></TR>
<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.
</TD></TR>
<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.
</TD></TR>
<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.
</TD></TR>
<TR><TD COLSPAN="4" ALIGN="CENTER"><B>Foreign Patent Documents</B></TD></TR>
<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">.
</TD></TR>
<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">.
</TD></TR>
<TR><TD WIDTH="25%">0845747A2</TD><TD WIDTH="25%">Jun., 1998</TD><TD WIDTH="25%" ALIGN="LEFT">EP</TD><TD WIDTH="25%" ALIGN="RIGHT">.
</TD></TR>
<TR><TD WIDTH="25%">0883076A2</TD><TD WIDTH="25%">Dec., 1998</TD><TD WIDTH="25%" ALIGN="LEFT">EP</TD><TD WIDTH="25%" ALIGN="RIGHT">.
</TD></TR>
<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">.
</TD></TR>
<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">.
</TD></TR>
<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">.
</TD></TR>
</TABLE>

<BR>
  <TABLE WIDTH="90%">
  <BR>
  <CENTER><B>Other References</B></CENTER>
  <TD ALIGN=LEFT><br>Jones, Chris. "Java Shopping Cart and Java Wallet; Oracles plans to join
     e-commerce initiative." Mar. 31, 1997, InfoWorld Media Group.
<br>"Pacific Coast Software Software creates virtual shopping cart." Sep. 6,
     1996. M2 Communications Ltd 1996.
<br>"Software Creates Virtual Shopping Cart." Sep. 5, 1996. Business Wire, Inc.
<br>Terdoslavich, William. "Java Electronic Commerce Framework." Computer
     Reseller News, Sep. 23, 1996, CMP Media, Inc., 1996, pp. 126,
     http://www.elibrary.com/id/101/101/getdoc . . .
     rydocid=902269@library.sub.-- d&amp;dtype=0.about.0&amp;dinst=. ›Accessed Nov. 19,
     1998!.
<br>"Internet Access: Disc Distributing Announces Interactive World Wide."
     Cambridge Work-Group Computing Report, Cambridge Publishing, Inc., 1995,
     http://www.elibrary.com/id/101/101/getdoc . . .
     docid=1007497@library.sub.-- a&amp;dtype=0.about.0&amp;dinst=0. ›Accessed Nov. 19,
     1998!.
<br>Nance, Barry, "Reviews: A Grand Opening for Virtual Storefront With
     Middleware." Jun. 1, 1997, CMP Media, Inc. 1997, p. 80,
     http://www.elibrary.com/getdoc.egi?id=117 . . .
     docid=1257247@library.sub.-- a&amp;dtype=0.about.0&amp;dinst=0. ›Accessed Nov. 19,
     1998!.
<br>"Go-Cart Shopping Cart Software Features." 1996 GO International, Inc.
     http://www.go-cart.com/features.html. ›Accessed Nov. 19, 1998!.
<br>"PerlShop Manual (version 2.2)." 1996, ARPAnct Corp.
     http://www.w3u.com/grokksoft/shop/perlman.html. ›Accessed Nov. 19, 1998!.
<br>"Sax Software Announces Sax NetSell; Sax NetSell's design-time ActiveX
     controls make Internet commerce easy."1997, Sax Software Corp.
<br>Baron, Chris and Bob Weil, "Implementing a Web Shopping Cart," Dr. Dobb's
     Journal, Sep. 1996, pp. 64, 66, 68-69, and 83-85.
<br>Hoque, Reaz, "A Shopping Cart Application with JavaScript," Web Techniques,
     May 1998, pp. 63, 65-66, and 68.
 </TD></TABLE>
  <BR>
  <I>Primary Examiner:</I>  Trammell; James P.
<BR>
  <I>Assistant Examiner:</I>  Smith; Demetra R.
<BR>
  <I>Attorney, Agent or Firm:</I> Perkins Coie LLP
<BR>
<HR>
<CENTER><B><I>Claims</I></B></CENTER>
<HR>
<BR><BR>1. A method of placing an order for an item comprising:
<BR><BR>under control of a client system,
<BR><BR>displaying information identifying the item; and
<BR><BR>in response to only a single action being performed, sending a request to
     order the item along with an identifier of a purchaser of the item to a
     server system;
<BR><BR>under control of a single-action ordering component of the server system,
<BR><BR>receiving the request;
<BR><BR>retrieving additional information previously stored for the purchaser
     identified by the identifier in the received request; and
<BR><BR>generating an order to purchase the requested item for the purchaser
     identified by the identifier in the received request using the retrieved
     additional information; and
<BR><BR>fulfilling the generated order to complete purchase of the item
<BR><BR>whereby the item is ordered without using a shopping cart ordering model.
<P>
<STRONG>RMS Note:</STRONG> Note that this list of elements includes a several things that any
E-commerce web site must do.  The result is a long list of elements,
only a few of which have to do with one-click purchasing.
<P>
<BR><BR>2. The method of claim 1 wherein the displaying of information includes
     displaying information indicating the single action.
<BR><BR>3. The method of claim 1 wherein the single action is clicking a button.
<BR><BR>4. The method of claim 1 wherein the single action is speaking of a sound.
<BR><BR>5. The method of claim 1 wherein a user of the client system does not need
     to explicitly identify themselves when placing an order.
<BR><BR>6. A client system for ordering an item comprising:
<BR><BR>an identifier that identifies a customer;
<BR><BR>a display component for displaying information identifying the item;
<BR><BR>a single-action ordering component that in response to performance of only
     a single action, sends a request to a server system to order the
     identified item, the request including the identifier so that the server
     system can locate additional information needed to complete the order and
     so that the server system can fulfill the generated order to complete
     purchase of the item; and
<BR><BR>a shopping cart ordering component that in response to performance of an
     add-to-shopping-cart action, sends a request to the server system to add
     the item to a shopping cart.
<BR><BR>7. The client system of claim 6 wherein the display component is a browser.
<BR><BR>8. The client system of claim 6 wherein the predefined action is the
     clicking of a mouse button.
<BR><BR>9. A server system for generating an order comprising:
<BR><BR>a shopping cart ordering component; and
<BR><BR>a single-action ordering component including:
<BR><BR>a data storage medium storing information for a plurality of users;
<BR><BR>a receiving component for receiving requests to order an item, a request
     including an indication of one of the plurality of users, the request
     being sent in response to only a single action being performed; and
<BR><BR>an order placement component that retrieves from the data storage medium
     information for the indicated user and that uses the retrieved information
     to place an order for the indicated user for the item; and
<BR><BR>an order fulfillment component that completes a purchase of the item in
     accordance with the order placed by the single-action ordering component.
<BR><BR>10. The server system of claim 9 wherein the request is sent by a client
     system in response to a single action being performed.
<BR><BR>11. A method for ordering an item using a client system, the method
     comprising:
<BR><BR>displaying information identifying the item and displaying an indication of
     a single action that is to be performed to order the identified item; and
<BR><BR>in response to only the indicated single action being performed, sending to
     a server system a request to order the identified item
<BR><BR>whereby the item is ordered independently of a shopping cart model and the
     order is fulfilled to complete a purchase of the item.
<BR><BR>12. The method of claim 11 wherein the server system uses an identifier
     sent along with the request to identify additional information needed to
     generate an order for the item.
<BR><BR>13. The method of claim 12 wherein the identifier identifies the client
     system and the server system provides the identifier to the client system.
<BR><BR>14. The method of claim 11 wherein the client system and server system
     communicate via the Internet.
<BR><BR>15. The method of claim 11 wherein the displaying includes displaying an
     HTML document provided by the server system.
<BR><BR>16. The method of claim 11 including sending from the server system to the
     client system a confirmation that the order was generated.
<BR><BR>17. The method of claim 11 wherein the single action is clicking a mouse
     button when a cursor is positioned over a predefined area of the displayed
     information.
<BR><BR>18. The method of claim 11 wherein the single action is a sound generated
     by a user.
<BR><BR>19. The method of claim 11 wherein the single action is selection using a
     television remote control.
<BR><BR>20. The method of claim 11 wherein the single action is depressing of a key
     on a key pad.
<BR><BR>21. The method of claim 11 wherein the single action is selecting using a
     pointing device.
<BR><BR>22. The method of claim 11 wherein the single action is selection of a
     displayed indication.
<BR><BR>23. The method of claim 11 wherein the displaying includes displaying
     partial information supplied by the server system as to the identity of a
     user of the client system.
<BR><BR>24. The method of claim 11 wherein the displaying includes displaying
     partial shipping information supplied by the server system.
<BR><BR>25. The method of claim 11 wherein the displaying includes displaying
     partial payment information supplied by the server system.
<BR><BR>26. The method of claim 11 wherein the displaying includes displaying a
     moniker identifying a shipping address for the customer.
<HR>
<CENTER><B><I> Description</I></B></CENTER>
<HR>
<BR><BR>TECHNICAL FIELD
<BR><BR>The present invention relates to a computer method and system for placing
     an order and, more particularly, to a method and system for ordering items
     over the Internet.
<BR><BR>BACKGROUND OF THE INVENTION
<BR><BR>The Internet comprises a vast number of computers and computer networks
     that are interconnected through communication links. The interconnected
     computers exchange information using various services, such as electronic
     mail, Gopher, and the World Wide Web ("WWW"). The WWW service allows a
     server computer system (i.e., Web server or Web site) to send graphical
     Web pages of information to a remote client computer system. The remote
     client computer system can then display the Web pages. Each resource
     (e.g., computer or Web page) of the WWW is uniquely identifiable by a
     Uniform Resource Locator ("URL"). To view a specific Web page, a client
     computer system specifies the URL for that Web page in a request (e.g., a
     HyperText Transfer Protocol ("HTTP") request). The request is forwarded to
     the Web server that supports that Web page. When that Web server receives
     the request, it sends that Web page to the client computer system. When
     the client computer system receives that Web page, it typically displays
     the Web page using a browser. A browser is a special-purpose application
     program that effects the requesting of Web pages and the displaying of Web
     pages.
<BR><BR>Currently, Web pages are typically defined using HyperText Markup Language
     ("HTML"). HTML provides a standard set of tags that define how a Web page
     is to be displayed. When a user indicates to the browser to display a Web
     page, the browser sends a request to the server computer system to
     transfer to the client computer system an HTML document that defines the
     Web page. When the requested HTML document is received by the client
     computer system, the browser displays the Web page as defined by the HTML
     document. The HTML document contains various tags that control the
     displaying of text, graphics, controls, and other features. The HTML
     document may contain URLs of other Web pages available on that server
     computer system or other server computer systems.
<BR><BR>The World Wide Web is especially conducive to conducting electronic
     commerce. Many Web servers have been developed through which vendors can
     advertise and sell product. The products can include items (e.g., music)
     that are delivered electronically to the purchaser over the Internet and
     items (e.g., books) that are delivered through conventional distribution
     channels (e.g., a common carrier). A server computer system may provide an
     electronic version of a catalog that lists the items that are available. A
     user, who is a potential purchaser, may browse through the catalog using a
     browser and select various items that are to be purchased. When the user
     has completed selecting the items to be purchased, the server computer
     system then prompts the user for information to complete the ordering of
     the items. This purchaser-specific order information may include the
     purchaser's name, the purchaser's credit card number, and a shipping
     address for the order. The server computer system then typically confirms
     the order by sending a confirming Web page to the client computer system
     and schedules shipment of the items.
<BR><BR>Since the purchaser-specific order information contains sensitive
     information (e.g., a credit card number), both vendors and purchasers want
     to ensure the security of such information. Security is a concern because
     information transmitted over the Internet may pass through various
     intermediate computer systems on its way to its final destination. The
     information could be intercepted by an unscrupulous person at an
     intermediate system. To help ensure the security of the sensitive
     information, various encryption techniques are used when transmitting such
     information between a client computer system and a server computer system.
     Even though such encrypted information can be intercepted, because the
     information is encrypted, it is generally useless to the interceptor.
     Nevertheless, there is always a possibility that such sensitive
     information may be successfully decrypted by the interceptor. Therefore,
     it would be desirable to minimize the sensitive information transmitted
     when placing an order.
<BR><BR>The selection of the various items from the electronic catalogs is
     generally based on the "shopping cart" model. When the purchaser selects
     an item from the electronic catalog, the server computer system
     metaphorically adds that item to a shopping cart. When the purchaser is
     done selecting items, then all the items in the shopping cart are "checked
     out" (i.e., ordered) when the purchaser provides billing and shipment
     information. In some models, when a purchaser selects any one item, then
     that item is "checked out" by automatically prompting the user for the
     billing and shipment information. Although the shopping cart model is very
     flexible and intuitive, it has a downside in that it requires many
     interactions by the purchaser. For example, the purchaser selects the
     various items from the electronic catalog, and then indicates that the
     selection is complete. The purchaser is then presented with an order Web
     page that prompts the purchaser for the purchaser-specific order
     information to complete the order. That Web page may be prefilled with
     information that was provided by the purchaser when placing another order.
     The information is then validated by the server computer system, and the
     order is completed. Such an ordering model can be problematic for a couple
     of reasons. If a purchaser is ordering only one item, then the overhead of
     confirming the various steps of the ordering process and waiting for,
     viewing, and updating the purchaser-specific order information can be much
     more than the overhead of selecting the item itself. This overhead makes
     the purchase of a single item cumbersome. Also, with such an ordering
     model, each time an order is placed sensitive information is transmitted
     over the Internet. Each time the sensitive information is transmitted over
     the Internet, it is susceptible to being intercepted and decrypted.
<BR><BR>SUMMARY OF THE INVENTION
<BR><BR>An embodiment of the present invention provides a method and system for
     ordering an item from a client system. The client system is provided with
     an identifier that identifies a customer. The client system displays
     information that identifies the item and displays an indication of an
     action (e.g., a single action such as clicking a mouse button) that a
     purchaser is to perform to order the identified item. In response to the
     indicated action being performed, the client system sends to a server
     system the provided identifier and a request to order the identified item.
     The server system uses the identifier to identify additional information
     needed to generate an order for the item and then generates the order.
<BR><BR>The server system receives and stores the additional information for
     customers using various computer systems so that the server system can
     generate such orders. The server system stores the received additional
     information in association with an identifier of the customer and provides
     the identifier to the client system. When requested by the client system,
     the server system provides information describing the item to the
     requesting client system. When the server system receives a request from a
     client system, the server system combines the additional information
     stored in association with the identifier included in the request to
     effect the ordering of the item.
<BR><BR>BRIEF DESCRIPTION OF THE DRAWINGS
<BR><BR>FIGS. 1A-1C illustrate single-action ordering in one embodiment of the
     present invention.
<BR><BR>FIG. 2 is a block diagram illustrating an embodiment of the present
     invention.
<BR><BR>FIG. 3 is a flow diagram of a routine that enables single-action ordering
     for a customer.
<BR><BR>FIG. 4 is a flow diagram of a routine to generate a Web page in which
     single-action ordering is enabled.
<BR><BR>FIG. 5 is a flow diagram of a routine which processes a single-action
     order.
<BR><BR>FIG. 6 is a flow diagram of a routine for generating a single-action order
     summary Web page.
<BR><BR>FIG. 7 is a flow diagram of a routine that implements an expedited order
     selection algorithm.
<BR><BR>FIGS. 8A-8C illustrate a hierarchical data entry mechanism in one
     embodiment.
<BR><BR>DETAILED DESCRIPTION OF THE INVENTION
<BR><BR>The present invention provides a method and system for single-action
     ordering of items in a client/server environment. The single-action
     ordering system of the present invention reduces the number of purchaser
     interactions needed to place an order and reduces the amount of sensitive
     information that is transmitted between a client system and a server
     system. In one embodiment, the server system assigns a unique client
     identifier to each client system. The server system also stores
     purchaser-specific order information for various potential purchasers. The
     purchaser-specific order information may have been collected from a
     previous order placed by the purchaser. The server system maps each client
     identifier to a purchaser that may use that client system to place an
     order. The server system may map the client identifiers to the purchaser
     who last placed an order using that client system. When a purchaser wants
     to place an order, the purchaser uses a client system to send the request
     for information describing the item to be ordered along with its client
     identifier. The server system determines whether the client identifier for
     that client system is mapped to a purchaser. If so mapped, the server
     system determines whether single-action ordering is enabled for that
     purchaser at that client system. If enabled, the server system sends the
     requested information (e.g., via a Web page) to the client computer system
     along with an indication of the single action to perform to place the
     order for the item. When single-action ordering is enabled, the purchaser
     need only perform a single action (e.g., click a mouse button) to order
     the item. When the purchaser performs that single action, the client
     system notifies the server system. The server system then completes the
     order by adding the purchaser-specific order information for the purchaser
     that is mapped to that client identifier to the item order information
     (e.g., product identifier and quantity). Thus, once the description of an
     item is displayed, the purchaser need only take a single action to place
     the order to purchase that item. Also, since the client identifier
     identifies purchaser-specific order information already stored at the
     server system, there is no need for such sensitive information to be
     transmitted via the Internet or other communications medium.
<BR><BR>FIGS. 1A-1C illustrate single-action ordering in one embodiment of the
     present invention. FIG. 1A illustrates the display of a Web page
     describing an item that may be ordered. This example Web page was sent
     from the server system to the client system when the purchaser requested
     to review detailed information about the item. This example Web page
     contains a summary description section 101, a shopping cart section 102, a
     single-action ordering section 103, and a detailed description section
     104. One skilled in the art would appreciate that these various sections
     can be omitted or rearranged or adapted in various ways. In general, the
     purchaser need only be aware of the item or items to be ordered by the
     single action and of the single action needed to place the order. The
     summary description and the detailed description sections provide
     information that identifies and describes the item(s) that may be ordered.
     The shopping cart section provides the conventional capability to add the
     described item to a shopping cart. The server system adds the summary
     description, the detailed description, and the shopping cart sections to
     each Web page for an item that may be ordered. The server system, however,
     only adds the single-action ordering section when single-action ordering
     is enabled for that purchaser at that client system. (One skilled in the
     art would appreciate that a single Web page on the server system may
     contain all these sections but the single-action ordering section can be
     selectively included or excluded before sending the Web page to the client
     system.) This example single-action ordering section allows the purchaser
     to specify with a single click of a mouse button to order the described
     item. Once the purchaser clicks the mouse button, the item is ordered,
     unless the purchaser then takes some action to modify the order. The
     single-action ordering section contains a single-action ordering button
     103a, purchaser identification subsection 103b, and single-action ordering
     information subsections 103c and 103d. The purchaser information
     subsection displays enough information so that the purchaser can verify
     that the server system correctly recognizes the purchaser. To reduce the
     chances of sensitive information being intercepted, the server system
     sends only enough information so that the purchaser is confident that the
     server system correctly identified the purchaser but yet not enough
     information to be useful to an unscrupulous interceptor. The additional
     information subsections allow the purchaser to obtain various settings or
     obtain more information related to the single-action ordering. If the
     purchaser wants to verify the shipping address, the purchaser can select
     the "check shipping address" label. In response to this selection, the
     server system may require the purchaser to perform a "login" so that the
     identity of the purchaser can be verified before the shipping information
     is viewed or modified. The server system then sends a Web page to the
     client system for display and possible modification of the shipping
     address. In this way, the transmitting of the sensitive shipping address
     can be avoided unless requested by the verified purchaser.
<BR><BR>When the purchaser selects the single-action ordering button, the client
     system sends a message to the server system requesting that the displayed
     item be ordered. After the server system processes the message, the server
     system provides to the client system a new Web page that confirms receipt
     of the single-action order. FIG. 1B illustrates the display of a Web page
     confirming a single-action order. The confirming Web page contains
     essentially the same information as the Web page describing the item
     (i.e., FIG. 1A) except that an order confirmation section 105 is displayed
     at the top of the Web page. The order confirmation section confirms that
     the order has been placed and provides an opportunity for the purchaser to
     review and change the single-action order. Alternatively, the confirming
     Web page can be identical to the Web page describing the item (i.e., FIG.
     1A), except that the single-action ordering button is replaced with a
     message confirming the order.
<BR><BR>If a single-action ordering is not currently enabled for the client system
     but could be enabled, then the server system can generate a Web page like
     FIG. 1A, except that the single-action ordering button 103a is replaced by
     a single-action ordering enable button. Such a replacement button could
     contain text instructing the purchaser to click on the button to enable
     single-action ordering. When the purchaser clicks on that button, the
     server system would send the Web page of FIG. 1A to be displayed.
     Single-action ordering can be enabled whenever the server system has
     stored sufficient purchaser-specific order information for that client
     system to complete a single-action order. If the server system does not
     have sufficient information, then when the purchaser selects the
     single-action ordering button, the server system can provide a Web page to
     collect the additional information that is needed. The server system may
     require the purchaser to "login" so that the identity of the purchaser can
     be verified before the single-action ordering is enabled.
<BR><BR>To help minimize shipping costs and purchaser confusion, the server system
     may combine various single-action orders into a multiple-item order. For
     example, if a purchaser orders one item using the single-action ordering
     and five minutes later orders another item using the single-action
     ordering, then those orders may be cost effectively combined into a single
     order for shipping. The server system combines the single-action orders
     when their expected ship dates are similar. For example, if one item is
     immediately available and the other item will be available in one day,
     then the two single-action orders may be cost-effectively combined.
     However, if the other item will not be available for two weeks, then the
     two single-item orders would not be combined. FIG. 1C illustrates the
     display of a Web page representing four single-action orders that have
     been combined into two separate multiple-item orders based on the
     availability of the items. The order information 106 indicates that item 1
     and item 2, which will be available in three or fewer days, have been
     combined into one order. The order information 107 indicates that items 3
     and 4, which will not be available within one week, are combined into a
     separate order. In one embodiment, the server system may combine
     single-action orders that are placed within a certain time period (e.g.,
     90 minutes). Also, the server system may combine or divide orders when the
     orders are scheduled for shipment based on the then current availability
     of the items ordered. This delayed modification of the orders is referred
     to as "expedited order selection" and is described below in detail.
<BR><BR>FIG. 2 is a block diagram illustrating an embodiment of the present
     invention. This embodiment supports the single-action ordering over the
     Internet using the World Wide Web. The server system 210 includes a server
     engine 211, a client identifier/customer table 212, various Web pages 213,
     a customer database 214, an order database 215, and an inventory database
     216. The server engine receives HTTP requests to access Web pages
     identified by URLs and provides the Web pages to the various client
     systems. Such an HTTP request may indicate that the purchaser has
     performed the single action to effect single-action ordering. The customer
     database contains customer information for various purchasers or potential
     purchasers. The customer information includes purchaser-specific order
     information such as the name of the customer, billing information, and
     shipping information. The order database 215 contains an entry for each
     order that has not yet been shipped to a purchaser. The inventory database
     216 contains a description of the various items that may be ordered. The
     client identifier/customer table 212 contains a mapping from each client
     identifier, which is a globally unique identifier that uniquely identifies
     a client system, to the customer last associated with that client system.
     The client system 220 contains a browser and its assigned client
     identifier. The client identifier is stored in a file, referred to as a
     "cookie." In one embodiment, the server system assigns and sends the
     client identifier to the client system once when the client system first
     interacts with the server system. From then on, the client system includes
     its client identifier with all messages sent to the server system so that
     the server system can identify the source of the message. The server and
     client systems interact by exchanging information via communications link
     230, which may include transmission over the Internet.
<BR><BR>One skilled in the art would appreciate that the single-action ordering
     techniques can be used in various environments other than the Internet.
     For example, single-action ordering can also be in an electronic mail
     environment in which an item is described in an electronic mail message
     along with an indication of the single action that is to be performed to
     effect the ordering of the item. Also, various communication channels may
     be used such as local area network, wide area network, or point-to-point
     dial up connection. Also, a server system may comprise any combination of
     hardware or software that can generate orders in response to the single
     action being performed. A client system may comprise any combination of
     hardware or software that can interact with the server system. These
     systems may include television-based systems or various other consumer
     products through which orders may be placed.
<BR><BR>FIG. 3 is a flow diagram of a routine that enables single-action ordering
     for a customer. To enable single-action ordering, a server system needs to
     have information about the customer that is equivalent to the
     purchaser-specific order information. The server system can obtain this
     information in various ways. First, the server system could ask the
     customer if they would like to have single-action ordering enabled. If so,
     then the server system could prompt the customer using a Web page for the
     purchaser-specific order information. Second, the server system could also
     save the purchaser-specific order information collected when an order is
     placed conventionally. The server system could, either automatically or
     with the customer's assent, enable single-action ordering. In step 301,
     the server system retrieves the client identifier that was sent by the
     client system. In step 302, the server system updates the client
     identifier/customer table to indicate that the generated client identifier
     has been associated with that customer. In step 303, the server system
     sets a flag indicating that single-action ordering is enabled for that
     client identifier and that customer combination. That flag may be stored
     in the client identifier/customer table. In step 304, the server system
     supplies a confirming Web page to the client system. The next time a
     purchaser attempts to order an item, the client system will supply its
     client identifier to the server system. If single-action ordering is
     enabled for that purchaser, the server system will assume that the
     purchaser is the customer associated with that client identifier in the
     client identifier/customer table. Thus, a purchaser may not want to allow
     the server system to enable single-action ordering if there is a
     possibility that someone else may use that same client system.
<BR><BR>FIG. 4 is a flow diagram of a routine to generate a Web page in which
     single-action ordering is enabled. When single-action ordering is enabled,
     the server system generates a Web page describing an item as is
     conventionally done and then adds a single-action ordering section. In one
     embodiment, the server system adds partial purchaser-specific order
     information to the section. This information may include the customer's
     name, a shipping address moniker selected by the purchaser (e.g., "at
     home"), and the last five digits of a credit card number or a nickname
     selected by the purchaser. Such partial information should be the minimum
     information sufficient to indicate to the purchaser whether or not the
     server system is using the correct purchaser-specific order information.
     In step 401, the server system generates a standard shopping cart-type Web
     page for the item. In step 402, if the single-action ordering flag has
     been set for the client identifier and customer combination, then the
     server system continues at step 403, else the server system completes. In
     step 403, the server system adds the single-action section to the Web page
     and completes.
<BR><BR>FIG. 5 is a flow diagram of a routine which processes a single-action
     order. When a purchaser performs the single action needed to place an
     order, the client system notifies the server system. The server system
     then combines the purchaser-specific order information for the customer
     associated with the client system with the item order information to
     complete the order. The single-action order may also be combined with
     other single-action orders and possibly with other conventionally placed
     orders to reduce shipping costs. In one embodiment, single-action orders
     can be combined if they are placed within a certain time period of each
     other (e.g., 90 minutes). This routine illustrates the combining of the
     single-action orders into a short-term order (e.g., available to be
     shipped in less than a week) and a long-term order (e.g., available to be
     shipped in more than a week). One skilled in the art would appreciate that
     the single-action orders can be combined in various ways based on other
     factors, such as size of shipment and intermediate-term availability. In
     step 501, if the item is expected to be shipped in the short term, then
     the server system continues at step 502, else the server system continues
     at step 505. In step 502, if a short-term order has already been opened
     for the purchaser, then the server system continues at step 504, else the
     server system continues at step 503. In step 503, the server system
     creates a short-term order for the purchaser. In step 504, the server
     system adds the item to the short-term order and continues at step 508. In
     step 505, if a long-term order has already been opened for the purchaser,
     then the server system continues at step 507, else the server system
     continues at step 506. In step 506, the server system creates a long-term
     order for the purchaser. In step 507, the server system adds the item to
     the long-term order. In step 508, the server system generates and sends
     the confirmation and completes.
<BR><BR>FIG. 6 is a flow diagram of a routine for generating a single-action order
     summary Web page. This Web page (e.g., FIG. 1C) gives the user the
     opportunity to view and modify the short-term and long-term single-action
     orders. In step 601, the server system adds the standard single-action
     order information to the Web page. In step 602, if a short-term order is
     open, then the server system adds the short-term order to the Web page in
     step 603. In step 604, if a long-term order is open, then the server
     system adds the long-term order information to the Web page in step 605
     and completes.
<BR><BR>FIG. 7 is a flow diagram of a routine that implements an expedited order
     selection algorithm. The goal of the expedited order selection algorithm
     is to minimize the number of orders sent to each destination so that
     shipping costs are reduced. A destination may be a specific shipping
     address plus a specific purchaser's billing details. Orders that are sent
     to the same destination are known as "sibling orders." The algorithm has
     two stages. In the first stage, the algorithm schedules for shipment the
     orders for destinations for which all the sibling orders are filled. An
     order is filled when all its items are currently in inventory (i.e.,
     available) and can be shipped. For each group of sibling orders, the
     algorithm combines those sibling orders into a single combined order so
     that only one order is currently scheduled for shipment to each
     destination. In the second stage, the algorithm combines and schedules
     groups of sibling orders for which some of the sibling orders are not
     filled or partially filled. The algorithm may split each partially filled
     sibling order into a filled sibling order and a completely unfilled
     sibling order. The algorithm then combines all the filled sibling orders
     into a single combined order and schedules the combined order for
     shipment. If any group has only one sibling order and that order is
     partially filled, then the algorithm in one embodiment does not split that
     order to avoid making an extra shipment to that destination.
<BR><BR>During the second stage, the algorithm may select and schedule groups of
     sibling orders in a sequence that is based on the next fulfillment time
     for an item in the group. The next fulfillment time for a group of sibling
     orders is the minimum expected fulfillment time of the items in that group
     of sibling orders. For example, if a group of sibling orders has seven
     items that are not yet fulfilled and their expected fulfillment times
     range from 3 days to 14 days, then the next fulfillment time for that
     group is 3 days. The algorithm first schedules those groups of sibling
     orders with the largest next fulfillment time. For example, if 6 groups
     have next fulfillment times of 3, 5, 7, 10, 11, and 14 days, respectively,
     then the algorithm first selects and schedules the sibling orders in the
     group with the next fulfillment time of 14 days, followed by the group
     with the next fulfillment time of 11 days, and so on. By delaying the
     scheduling of groups with short next fulfillment times, the algorithm
     increases the chances of additional items becoming available (because of
     the shortness of the next fulfillment time) and thus combined with the
     scheduled order.
<BR><BR>Steps 701-703 represent the first stage of the expedited order selection
     algorithm, and steps 704-706 represent the second stage of the expedited
     selection order algorithm. In steps 701-703, the algorithm loops selecting
     groups in which all sibling orders are filled and combining the orders. In
     step 701, the algorithm selects the next group with all sibling orders
     that are filled. In step 703, if all such groups have already been
     selected, then the algorithm continues with the second stage in step 704,
     else the algorithm continues at step 703. In step 703, the algorithm
     combines and schedules the orders in the selected group and loops to step
     701. In step 704, the algorithm selects the next group of sibling orders
     that has the largest next fulfillment time. In step 705, if all such
     groups have already been selected, then the algorithm is done, else the
     algorithm continues at step 706. In step 706, the algorithm combines and
     schedules the orders in the selected group and loops to step 704. When the
     expedited order selection algorithm is being performed, new orders and new
     inventory may be received. Whenever such new orders and new inventory is
     received, then the algorithm restarts to schedule and combine the new
     orders as appropriate.
<BR><BR>Although the algorithm has been described as having two stages, it could be
     implemented in an incremental fashion where the assessment of the first
     and second stages are redone after each order is scheduled. One skilled in
     the art would recognize that there are other possible combinations of
     these stages which still express the same essential algorithm.
<BR><BR>FIGS. 8A-8C illustrate a hierarchical data entry mechanism in one
     embodiment. When collecting information from a user, a Web page typically
     consists of a long series of data entry fields that may not all fit onto
     the display at the same time. Thus, a user needs to scroll through the Web
     page to enter the information. When the data entry fields do not fit onto
     the display at the same time, it is difficult for the user to get an
     overall understanding of the type and organization of the data to be
     entered. The hierarchical data entry mechanism allows a user to understand
     the overall organization of the data to be entered even though the all
     data entry fields would not fit onto the display at the same time. FIG. 8A
     illustrates an outline format of a sample form to be filled in. The sample
     form contains various sections identified by letters A, B, C, and D. When
     the user selects the start button, then section A expands to include the
     data entry fields for the customer name and address. FIG. 8B illustrates
     the expansion of section A. Since only section A has been expanded, the
     user can view the data entry fields of section A and summary information
     of the other sections at the same time. The user then enters data in the
     various data entry fields that are displayed. Upon completion, the user
     selects either the next or previous buttons. The next button causes
     section A to be collapsed and section B to be expanded so that financial
     information may be entered. FIG. 8C illustrates the expansion of section
     B. If the previous button is selected, then section A would collapse and
     be displayed as shown in FIG. 8A. This collapsing and expanding is
     repeated for each section. At any time during the data entry, if an error
     is detected, then a Web page is generated with the error message in close
     proximity (e.g., on the line below) to the data entry field that contains
     the error. This Web page is then displayed by the client system to inform
     the user of the error. In addition, each of the data "entry" fields may
     not be editable until the user clicks on the data entry field or selects
     an edit button associated with the data entry field. In this way, the user
     is prevented from inadvertently changing the contents of an edit field.
     When the user clicks on a data entry field, a new Web page is presented to
     the user that allows for the editing of the data associated with the
     field. When editing is complete, the edited data is displayed in the data
     "entry" field. Because the fields of the form are thus not directly
     editable, neither "named-submit" buttons nor Java are needed. Also, the
     form is more compact because the various data entry options (e.g., radio
     button) are displayed only on the new Web page when the field is to be
     edited.
<BR><BR>Although the present invention has been described in terms of various
     embodiments, it is not intended that the invention be limited to these
     embodiments. Modification within the spirit of the invention will be
     apparent to those skilled in the art. For example, the server system can
     map a client identifier to multiple customers who have recently used the
     client system. The server system can then allow the user to identify
     themselves by selecting one of the mappings based preferably on a display
     of partial purchaser-specific order information. Also, various different
     single actions can be used to effect the placement of an order. For
     example, a voice command may be spoken by the purchaser, a key may be
     depressed by the purchaser, a button on a television remote control device
     may be depressed by the purchaser, or selection using any pointing device
     may be effected by the purchaser. Although a single action may be preceded
     by multiple physical movements of the purchaser (e.g., moving a mouse so
     that a mouse pointer is over a button), the single action generally refers
     to a single event received by a client system that indicates to place the
     order. Finally, the purchaser can be alternately identified by a unique
     customer identifier that is provided by the customer when the customer
     initiates access to the server system and sent to the server system with
     each message. This customer identifier could be also stored persistently
     on the client system so that the purchaser does not need to re-enter their
     customer identifier each time access is initiated. The scope of the
     present invention is defined by the claims that follow.
<BR><BR><CENTER><B>* * * * *</B></CENTER>
<HR>
</BODY>
</HTML>