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.
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.
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.
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.
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.
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.
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.
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.
An embodiment of the present invention also provides a hierarchical technique for displaying information in a form. Also, an embodiment provides an editing mode in which the contents of a form are displayed and when selected an editing window is presented so that the contents of the field can be edited. After editing, a form is displayed with the edited contents of the field.
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 is the server system, there is no need for such sensitive information to be transmitted via the Internet or other communications medium.
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.
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
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.
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.
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.
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.
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.
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.
This application is a continuation of U.S. patent application Ser. No. 08/928,555 filed on Sep. 12, 1997, now U.S. Pat. No. 6,615,226, the disclosure of which is hereby incorporated by reference in its entirety.
Number | Name | Date | Kind |
---|---|---|---|
4734858 | Schlafly | Mar 1988 | A |
4739310 | Yamamoto | Apr 1988 | A |
4937863 | Robert et al. | Jun 1990 | A |
5204897 | Wyman | Apr 1993 | A |
5208748 | Flores | May 1993 | A |
5260999 | Wyman | Nov 1993 | A |
5303393 | Noreen | Apr 1994 | A |
5448633 | Jamaleddin | Sep 1995 | A |
5451998 | Hamrick | Sep 1995 | A |
5515268 | Yoda | May 1996 | A |
5583937 | Ullrich | Dec 1996 | A |
5611040 | Brewer | Mar 1997 | A |
5621456 | Florin | Apr 1997 | A |
5627940 | Rohra et al. | May 1997 | A |
5640501 | Turpin | Jun 1997 | A |
5640577 | Scharmer | Jun 1997 | A |
5646992 | Subler | Jul 1997 | A |
5664111 | Nahan et al. | Sep 1997 | A |
5666493 | Wojcik et al. | Sep 1997 | A |
5675507 | Bobo | Oct 1997 | A |
5692132 | Hogan | Nov 1997 | A |
5704029 | Wright | Dec 1997 | A |
5708780 | Levergood | Jan 1998 | A |
5710887 | Chelliah | Jan 1998 | A |
5715314 | Payne et al. | Feb 1998 | A |
5715399 | Bezos | Feb 1998 | A |
5719941 | Swift | Feb 1998 | A |
5724424 | Gifford | Mar 1998 | A |
5727163 | Bezos | Mar 1998 | A |
5745681 | Levine et al. | Apr 1998 | A |
5758048 | Greulich et al. | May 1998 | A |
5758126 | Daniels et al. | May 1998 | A |
5778240 | Buchman et al. | Jul 1998 | A |
5778367 | Wesinger et al. | Jul 1998 | A |
5794006 | Sanderman | Aug 1998 | A |
5805159 | Bertram et al. | Sep 1998 | A |
5805881 | Kiuchi et al. | Sep 1998 | A |
5815665 | Teper | Sep 1998 | A |
5826242 | Montulli | Oct 1998 | A |
5835724 | Smith | Nov 1998 | A |
5862325 | Reed et al. | Jan 1999 | A |
5867667 | Butman et al. | Feb 1999 | A |
5870716 | Sugiyama | Feb 1999 | A |
5870717 | Wiecha | Feb 1999 | A |
5890137 | Koreeda | Mar 1999 | A |
5890175 | Wong et al. | Mar 1999 | A |
5897622 | Blinn | Apr 1999 | A |
5899980 | Wilf | May 1999 | A |
5905942 | Stoel | May 1999 | A |
5909492 | Payne | Jun 1999 | A |
5960411 | Hartman et al. | Sep 1999 | A |
5963915 | Kirsch | Oct 1999 | A |
5963924 | Williams | Oct 1999 | A |
5970472 | Allsop | Oct 1999 | A |
5973692 | Knowlton | Oct 1999 | A |
5974418 | Blinn | Oct 1999 | A |
5983199 | Kaneko | Nov 1999 | A |
5991739 | Cupps | Nov 1999 | A |
5995626 | Nishioka | Nov 1999 | A |
5999914 | Blinn | Dec 1999 | A |
6009413 | Webber | Dec 1999 | A |
6026376 | Kenney | Feb 2000 | A |
6035283 | Rofrano | Mar 2000 | A |
6058373 | Blinn | May 2000 | A |
6101482 | DiAngelo | Aug 2000 | A |
6101483 | Petrovich | Aug 2000 | A |
6112201 | Wical | Aug 2000 | A |
6154738 | Call | Nov 2000 | A |
6167378 | Webber | Dec 2000 | A |
Number | Date | Country |
---|---|---|
2222229 | Jul 1998 | CA |
0 855 659 | Jan 1998 | EP |
0 855 687 | Jan 1998 | EP |
0845747 | Jun 1998 | EP |
0883076 | Dec 1998 | EP |
2-207645 | Aug 1990 | JP |
06-068106 | Mar 1994 | JP |
09-006849 | Jan 1997 | JP |
09-114783 | May 1997 | JP |
09-138725 | May 1997 | JP |
09-179912 | Jul 1997 | JP |
09-220882 | Aug 1997 | JP |
WO9516971 | Jun 1995 | WO |
WO-9530961 | Nov 1995 | WO |
WO9613013 | May 1996 | WO |
WO9617466 | Jun 1996 | WO |
WO-9634491 | Oct 1996 | WO |
WO9636928 | Nov 1996 | WO |
WO9638799 | Dec 1996 | WO |
WO-9821679 | May 1998 | WO |
Number | Date | Country | |
---|---|---|---|
Parent | 08928555 | Sep 1997 | US |
Child | 10445285 | US |