summaryrefslogtreecommitdiff
path: root/talermerchantdemos/blog/articles/en/amazonpatent.html
diff options
context:
space:
mode:
Diffstat (limited to 'talermerchantdemos/blog/articles/en/amazonpatent.html')
-rw-r--r--talermerchantdemos/blog/articles/en/amazonpatent.html790
1 files changed, 790 insertions, 0 deletions
diff --git a/talermerchantdemos/blog/articles/en/amazonpatent.html b/talermerchantdemos/blog/articles/en/amazonpatent.html
new file mode 100644
index 0000000..aebce38
--- /dev/null
+++ b/talermerchantdemos/blog/articles/en/amazonpatent.html
@@ -0,0 +1,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>