WikiPatents - Community Patent Review
Create Free Account  |  License or Sell Your Patent  |  WikiPatents Marketplace  |  WikiPatents Blog
Username:  Password:  
    
Advanced Search
System and method for conducting commerce over a distributed network    
United States Patent6125352   
Link to this pagehttp://www.wikipatents.com/6125352.html
Inventor(s)Franklin; D. Chase (Seattle, WA); Remington; Darren B. (Issaquah, WA); Saliba; Bassam (Kirkland, WA); Speelpenning; Bert (Kirkland, WA); Cockrill; Michael (Issaquah, WA)
AbstractA system and method for conducting commerce over a distributed network manage merchant and product information in an electronic shopping basket, payment source information in an electronic wallet, and shipping address information in an electronic address book, all of such information being stored on a consumer computer. A commerce client running on the consumer computer is configured as a MIME handler and extends the functionality of a standard Web browser to support computer-based shopping. A merchant site Web server provides HTML-coded Web documents which describe merchant products and which host computer-based shopping options. The HTML-coded Web documents contain function-calling information by which consumer-selected options invoke shopping-related functions on either the merchant (server) computer or the consumer (client) computer. A consumer selects the options from within the Web browser to initiate shopping-related operations such as: retrieve product information from merchants on the World Wide Web, selectively store product information locally on the consumer computer, locally compare product information from different merchants, locally store payment source and shipping address information and selectively forward such information to merchant sites, order products from Web-based merchants, track the status of purchase orders, and receive instructional information on application usage.
   














 Title Information Submit all comments and votes
 
Patent Text Patent PDF Print Page Summary File History
Plain text PDF images Print Summary File History
Inventor     Franklin; D. Chase (Seattle, WA); Remington; Darren B. (Issaquah, WA); Saliba; Bassam (Kirkland, WA); Speelpenning; Bert (Kirkland, WA); Cockrill; Michael (Issaquah, WA)
Owner/Assignee     Microsoft Corporation (Redmond, WA)
Patent assignment
All assignments
Publication Date     September 26, 2000
Application Number     08/748,688
PAIR File History     Application Data   Transaction History
Image File Wrapper   Patent Term   Fees
Litigation
Filing Date     November 13, 1996
US Classification    
Int'l Classification    
Examiner     Cosimano; Edward R.
Assistant Examiner    
Attorney/Law Firm     Lee & Hayes, PLLC
Address
Parent Case     PRIORITY This application claims priority from the provisional patent application No. 60/020,891 mailed Jun. 28, 1996, titled, "SYSTEM AND METHOD FOR CONDUCTING COMMERCE OVER A DISTRIBUTED NETWORK."
Priority Data    
USPTO Field of Search    
Patent Tags     conducting commerce over distributed network
   
Enter a comma (,) or semicolon (;) between multiple tag words/phrases.
Describe this patent:
 Amusing   
 Clever   
 Complex   
 Efficient   
 Historic   
 Important   
 Innovative   
 Interesting   
 Practical   
 Simple   
[no votes]
Patent WIKI

Share information and news about this patent, including information and news about the technology, inventors, company, ligation and licensing.

 References Submit all comments and votes
 
*references marked with an asterisk below are user-added references
 U.S. References
 
Add a new US reference:  
ReferenceRelevancyCommentsReferenceRelevancyComments
5956483
Grate
709/203
Sep,1999

[0 after 0 votes]
5918213
Bernard
705/26
Jun,1999

[0 after 0 votes]
5850446
Berger
705/79
Dec,1998

[0 after 0 votes]
5757917
Rose

May,1998

[0 after 0 votes]
5744787
Teicher
235/380
Apr,1998

[0 after 0 votes]
5721832
Westrope
705/27
Feb,1998

[0 after 0 votes]
5710887
Chelliah
705/26
Jan,1998

[0 after 0 votes]
5677955
Doggett

Oct,1997

[0 after 0 votes]
5671279
Elgamal

Sep,1997

[0 after 0 votes]
5664115
Fraser
705/37
Sep,1997

[0 after 0 votes]
5664110
Green
705/26
Sep,1997

[0 after 0 votes]
5640193
Wellner
725/100
Jun,1997

[0 after 0 votes]
5590197
Chen
705/65
Dec,1996

[0 after 0 votes]
4992940
Dworkin
705/26
Feb,1991

[0 after 0 votes]
4799156
Shavit
705/26
Jan,1989

[0 after 0 votes]
5469206
Strubbe
725/60
Dec,1969

[0 after 0 votes]
 Foreign References
 Other References
 Market Review Submit all comments and votes
   
Market Size
Estimate the gross annual revenues of the relevant market sector:
> $10B
$5B - $10B
$2B - $5B
$500M - $2B
$100M - $500M
$10M - $100M
$1M - $10M
$500K - $1M
$100K - $500K
< $100K
[No votes]
$0
 
$0   $2.5B   $5B   $7.5B   $10B
Market Share
Estimate the percentage of the relevant market sector this invention will capture:
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Reasonable Royalty
What percentage of gross sales should the inventor or assignee be paid?
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Public's "Guesstimation" of Royalty Value
Market SizeN/A[No votes]
xMarket ShareN/A[No votes]
xReasonable RoyaltyN/A[No votes]

N/A

License Availablity
If you are NOT the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
License Availablity
If you ARE the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
Competitive Advantage
Does this invention have a significant competitive advantage over similar technologies?
Yes

No



[No votes]
Most helpful competitive advantage comment
[No comments]

Commercial Alternatives
Are there viable commercial alternatives for this invention?
Yes

No



[No votes]
Most helpful commercial alternative comment
[No comments]

 Technical Review Submit all comments and votes
 Claims Submit all comments and votes
 


What is claimed is:

1. A client architecture for conducting electronic commerce over the Internet, comprising, on a computer-readable medium:

a Web browser configured to run on a computer;

a commerce client application configured to run on the computer in conjunction with the Web browser application to provide a user interface, the commerce client application including a callable function, said callable function comprising executable computer instructions stored on a computer storage medium accessible by the computer;

an electronic shopping basket object configured to access and manipulate product information and merchant information stored on the computer storage medium, the access and manipulation initiated by executing the callable function of the commerce client application;

at least two Web documents, each of which includes embedded function-calling information that corresponds to the callable function of the commerce client application, the function-calling information embedded within the Web document such that a user can selectively initiate the execution of the callable function via the user interface while viewing one of the Web documents with the Web browser; and

wherein the user interface is displayed for each of the Web documents and functions independently of the Web documents.

2. The client architecture according to claim 1, wherein the commerce client application includes a second callable function, and wherein each Web document includes embedded function-calling information that corresponds to the second callable function of the commerce client application, the execution of the second callable function selectively initiated by the user while viewing one of the Web documents with the Web browser, the client architecture further comprising, on the computer-readable medium:

an electronic wallet function configured to access and manipulate payment source information stored on the computer storage medium, the access and manipulation of the payment source information initiated by executing the second callable function of the commerce client application.

3. The client architecture according to claim 1, wherein the commerce client application includes a second callable function, and wherein each Web document includes embedded function-calling information that corresponds to the second callable function of the commerce client application, the execution of the second callable function selectively initiated by the user while viewing one of the Web documents with the Web browser, the client architecture further comprising, on the computer-readable medium:

an electronic address book function configured to access and manipulate shipping address information stored on the computer storage medium, the access and manipulation of the shipping address information initiated by executing the second callable function of the commerce client application.

4. A client architecture for conducting electronic commerce over the Internet, comprising, on a computer-readable medium:

a Web browser configured to run on a computer;

a commerce client application configured to run on the computer in conjunction with the Web browser application, the commerce client application including a callable function and a user interface;

an electronic shopping basket function configured to store product information and merchant information to a computer storage medium accessible by the computer, said electronic shopping basket function comprising executable computer instructions stored on a computer storage medium accessible by the computer, the product information and merchant information retrieved from merchant Web sites over the Internet via the Web browser, the storing initiated by executing the callable function of the commerce client application;

at least two Web documents, each of which includes embedded function-calling information that corresponds to the callable function of the commerce client application, the function-calling information embedded within the Web document such that a user can selectively initiate the execution of the callable function via the user interface while viewing one of the Web documents with the Web browser; and

wherein the user interface is displayed for each of the Web documents and functions independently of the Web documents.

5. A client architecture for conducting electronic commerce over the Internet, comprising, on a computer-readable medium:

a Web browser configured to run on a computer;

a commerce client application configured to run on the computer in conjunction with the Web browser application, the commerce client application including a callable function and a user interface;

an electronic shopping basket function configured to store product information and merchant information to a computer storage medium accessible by the computer, said electronic shopping basket function comprising executable computer instructions stored on a computer storage medium accessible by the computer, the product information and merchant information obtained from merchant Web sites over the Internet via the Web browser, the retrieval initiated by executing the callable function of the commerce client application;

at least two Web documents, each of which includes embedded function-calling information that corresponds to the callable function of the commerce client application, the function-calling information embedded within the Web document such that a user can selectively initiate the execution of the callable function via the user interface while viewing one of the Web documents with the Web browser; and

wherein the user interface is displayed for each of the Web documents and functions independently of the Web documents.

6. A client architecture for purchasing products over the Internet, comprising, on a computer-readable medium:

a commerce client application configured to run on a computer and having a user interface, the commerce client application configured to transmit information to a World Wide Web site in accordance with World Wide Web protocols, the commerce client application configured to run in conjunction with a Web browser, the commerce client application including a product purchase function which combines product information, merchant information, and payment source information and transmits the combined information to a World Wide Web site, the product purchase function comprising executable computer instructions stored on the computer-readable medium;

a Web browser configured to run on the computer; and

at least two Web documents, each of which includes embedded function-calling information that corresponds to the product purchase function of the commerce client application, the function-calling information embedded within the Web document such that a user can selectively initiate the execution of the product purchase function via the user interface while viewing one of the Web documents with the Web browser; and

wherein the user interface is displayed for each of the Web documents and functions independently of the Web documents.

7. The client architecture according to claim 6, further comprising, on the computer-readable medium;

an electronic shopping basket object configured to access and manipulate product information and merchant information stored on a computer storage medium, the electronic shopping basket function transmitting product information and merchant information to the commerce client application during execution of the product purchase function of the commerce client application, the electronic shopping basket object comprising executable computer instructions stored on the compute-readable medium.

8. The client architecture according to claim 6, further comprising, on the computer-readable medium;

an electronic wallet object configured to access and manipulate payment source information and merchant information stored on a computer storage medium, the electronic wallet object transmitting payment source information and merchant information to the commerce client application during execution of the product purchase function of the commerce client

application, the electronic wallet object comprising executable computer instructions stored on the compute-readable medium.

9. A method for gathering product information over a distributed network, comprising:

(a) receiving a first hypertext document over the distributed network at a user computer, the first hypertext document comprising (I) a description of a first product, (ii) a user-selectable product gathering option, and (iii) function-calling information associated with the product gathering option;

(b) displaying the first hypertext document to a user via a user interface on the user computer and monitoring user input for selection of the product gathering option;

(c) responding to user selection of the product gathering option by passing at least a portion of the function-calling information from a Web browser to a local process running on the user computer, the local process calling an executable function specified by the function-calling information, the function storing the description of the first product to a local data storage area of the user computer;

(d) receiving a second hypertext document from a second site over the distributed network at the user computer, the second hypertext document comprising (i) a description of a second product, (ii) a second selectable product gathering option, and (iii) function-calling information associated with the second product gathering option;

(e) displaying the second hypertext document to the user via the user interface of the user computer and monitoring user input for selection of the second product gathering option; and

(f) responding to user selection of the second product gathering option by calling a second executable function, the second function storing the description of the second product to the local data storage area.

10. The method according to claim 9 wherein step (a) comprises sending an HTML document over the distributed network from a Web server running on a merchant Web site to a Web browser running on the user computer, the Web server in a location remote to the Web browser.

11. The method according to claim 9, further comprising the steps of:

(g) displaying a product comparison option to the user via the user computer and monitoring user input for selection of the product comparison option; and

(h) responding to user selection of the product comparison option by retrieving from the local storage the description of the first product and the description of the second product, and by formatting the descriptions and displaying the descriptions to the user via the user computer.

12. A method for using a Web browser to manage local data, the Web browser running on a user computer, the local data stored on a computer storage medium accessible by the user computer, the method comprising the steps of:

(a) receiving with the Web browser a first HTML document and a second HTML document, each HTML document comprising a user-selectable view option and function-calling information associated with the view option;

(b) displaying the first HTML document and the user-selectable view option to a user via a user interface on the user computer;

(c) monitoring user input for selection of the view option;

(d) responding to selection of the view option by calling a view function specified in the function-calling information, the view function comprising executable computer instructions accessible by the computer, the view function accessing and formatting the local data and displaying the local data to the user;

(e) displaying the second HTML document and the user-selectable view option to the user via the user interface;

(f) monitoring user input for selection of the view option; and

(g) responding to selection of the view option by calling a view function specified in the function-calling information, the view function comprising executable computer instructions accessible by the computer, the view function accessing and formatting the local data and displaying the local data to the user.

13. A method according to claim 12 wherein the calling of the view function of step (d) is performed by sending a message which includes at least a portion of the function-calling information from the Web browser to a local Internet address representing the user computer, a local port-monitoring process monitoring the local Internet address and receiving the message, the local process using the function-calling information to make the function call.

14. A method according to claim 12 wherein the calling of the view function of step (d) is performed by sending a message which includes at least a portion of the function-calling information from the Web browser to a local Internet address representing the user computer, a first local process monitoring the local Internet address and receiving the message, the first local process invoking a second local process if it is not already running, the first local process passing at least the function-calling information to the second local process, the second local process using the function-calling information to call the view function.

15. A method according to claim 12 wherein the view function further comprises displaying an add option to the user via the user interface, the method further comprising the steps of:

(e) monitoring user input for selection of the add option;

(f) responding to selection of the add option by prompting the user to enter additional local data;

(g) monitoring user input for entry of additional local data; and

(h) responding to entry of additional local data by storing the additional local data on the computer storage medium.

16. A method according to claim 12 wherein the view function further comprises displaying an edit option to the user via the user interface, the method further comprising the steps of:

(e) monitoring user input for selection of the edit option;

(f) responding to selection of the edit option by prompting the user to select displayed local data;

(g) monitoring user input for selection of displayed local data; and

(h) responding to selection of displayed local data by presenting the selected local data to the user for editing via the user computer and by displaying a done option;

(i) applying edit operations performed by the user via the user computer to the selected local data to generate edited local data;

(j) monitoring user input for selection of the done option; and

(k) responding to selection of the done option by removing the selected local data from the computer storage medium and by storing the edited local data on the computer storage medium.

17. A method according to claim 12 wherein the view function further comprises displaying a delete option to the user via the user interface, the method further comprising the steps of:

(e) monitoring user input for selection of the delete option;

(f) responding to selection of the delete option by prompting the user to select displayed local data;

(g) monitoring user input for selection of displayed local data; and

(h) responding to entry of displayed local data by removing the selected local data from the computer storage medium.

18. A method according to claim 12 wherein the local data represent at least one source of credit or source of funds.

19. A method according to claim 12 wherein the local data represent at least one postal address.

20. A method, comprising the following steps:

accessing a first merchant site from a user computer via a user interface on the user computer;

gathering first product information from the first merchant site;

storing the first product information locally on the user computer;

accessing a second merchant site from the user computer via the user interface;

gathering second product information from the second merchant site;

storing the second product information locally on the user computer; and

concurrently analyzing the first product information and the second product information at the user computer.

21. A method as recited in claim 20, wherein the concurrently analyzing step comprises the step of analyzing the first product information and the second product information offline at the user computer.

22. A method as recited in claim 20, further comprising the step of displaying the first product information and the second product information concurrently to a user.

23. A method as recited in claim 20, further comprising the step of storing first and second ordering information for ordering products from the first merchant site and from the second merchant site.

24. A method as recited in claim 23, further comprising the step of selectively transmitting the first ordering information to the first merchant site and selectively transmitting the second ordering information to the second merchant site.

25. A method as recited in claim 24, further comprising the step of selectively tracking status of the first ordering information and selectively tracking status of the second ordering information.
 Description Submit all comments and votes
 


BACKGROUND OF THE INVENTION

1. Field of the Invention

This invention relates to distributed computer networks such as the Internet. More particularly, this invention relates to client-server software components for allowing consumers to purchase goods and services from merchants over a distributed network.

2. Description of the Related Art

Electronic shopping systems currently exist which allow users to remotely purchase goods and services from a variety of different on-line merchants over a distributed computer network such as the Internet. With systems of this type, the on-line merchants typically publish on-line catalogs which can be viewed interactively by the end users of the network using a personal computer. These catalogs include pictures, textual descriptions, and pricing information with respect to the products and/or services of the respective merchants, and typically include on-line forms for allowing users to return purchase orders to the merchants over the network. In World Wide Web ("Web") based implementations, the on-line catalogs are in the form of hypertext documents which are hosted by the Web sites of the respective merchants, and the catalogs are accessed using a standard Web browser application which runs on the user computer. (A Web site is an Internet-connected computer or computer system which runs server software for serving information using the standard protocols of the World Wide Web.) In other implementations, the on-line catalogs may, for example, be hosted by a centralized computer of an on-line services network, such as MSN.TM., or by an Internet site which is accessed using a proprietary client application (such as the client application of eShop Inc.).

SUMMARY OF THE INVENTION

Some computer-based shopping systems currently exist which allow the user to selectively store product information (and various other types of "shopping-state" information) for subsequent recall and use. This allows the user to rapidly bring up the information viewed during previous visits to the merchant site, and to essentially continue the shopping session where the user left off. Unfortunately, these systems generally store the product information on the server side only (e.g., on the merchant Web site), and do not include the necessary client and server software components for allowing the user to selectively store the product information on the consumer computer. This deficiency in the software architectures of existing computer-based shopping systems imposes several limitations on consumers. First, it makes it difficult for the consumer to gather product information from multiple merchants into a common, local storage area. This, in turn, makes comparison shopping very difficult: the consumer generally cannot, without considerable inconvenience, compare like products (or services) from different on-line merchants. Second, because the information is typically retained by the merchant site for a limited period of time (typically a few days), the consumer is under a time constraint to make use of the stored product information. Moreover, many hundreds or thousands of requests by consumers to store product information on a merchant's site may degrade the merchant site's response time, and create other problems related to the heavy storage burden.

Also, because existing computer-based shopping systems typically host most or all transaction options on the server side, the shopping experience often differs from merchant site to merchant site. Specifically, as the consumer moves from one merchant site to the next, the options presented to the consumer and the steps required to navigate and effectively use those options often differ significantly. Thus, to browse product information and purchase products and/or services offered by multiple merchants, consumers often must adapt to and learn the options offered by each merchant site.

Another problem with existing computer-based shopping systems is that they often require user entry of purchase information and shipping information upon every purchase, or at least require consumers to identify themselves during each shopping session. These restrictions are time consuming, tedious, and bothersome. Further, repeated entry of payment information or shipping information increases the likelihood that a consumer will mistakenly enter incorrect information.

The present invention addresses these and other problems with existing electronic shopping systems. In accordance with the invention, an electronic shopping system is provided which makes use of the existing client and server software components and protocols of the World Wide Web, and which adds various client-side functionality for allowing users to store, view, and process product information (gathered from merchant Web sites), payment information, and shipping information on the user computer. The system includes a specialized client application (referred to as the "commerce client") which runs on the consumer computer in conjunction with a standard Web browser. The commerce client communicates with a specialized commerce server (which runs on the merchant Web site in conjunction with a Web server) using a bi-directional function calling protocol. Hypertext (HTML) catalog pages served by the merchant Web site, as well as "user interface" hypertext documents stored on the user computer, include embedded function calls which can be selectively invoked by the consumer while viewing the hypertext pages with the Web browser. Using these embedded function calls, the user can perform actions such as: request pricing or inventory information on a particular product from the merchant Web site; selectively store product information within a client-side shopping basket; view the contents of the shopping basket; and transmit encrypted shipping and/or payment information (stored on the consumer computer) to the merchant Web site.

In accordance with one aspect of the invention, there is thus provided a method for gathering and comparing product information over a distributed network. The method comprises the steps of (a) sending a first hypertext document over the distributed network to a user computer, the first hypertext document comprising a description of (i) a first product, (ii) a selectable product gathering option, and (iii) function-calling information associated with the product gathering option; (b) displaying the first hypertext document to a user via the user computer and monitoring user input for selection of the product gathering option; and (c) responding to selection of the product gathering option by calling an executable function specified by the function-calling information, the function storing the description of the first product to a data storage area accessible to the user computer. Another embodiment of this aspect preferably comprises the further steps: (d) sending a second hypertext document over the distributed network to the user computer, the second hypertext document comprising (i) a description of a second product, (ii) a selectable product gathering option, and (iii) function-calling information associated with the product gathering option; (e) displaying the second hypertext document to the user via the user computer and monitoring user input for selection of the product gathering option; (f) responding to selection of the product gathering option by calling a second executable function represented in the function-calling information, the function storing the description of the second product to the data storage area; (g) displaying a product comparison option to the user via the user computer and monitoring user input for selection of the product comparison option; and (h) responding to selection of the product comparison option by retrieving from the local storage area the description of the first product and the description of the second product, and by formatting the descriptions and displaying the descriptions to the user via the user computer.

Another aspect of the present invention is a method for using a Web browser to manage local data. The local data is stored on a computer storage medium accessible to the user computer. The method comprises the steps of: (a) receiving with the Web browser an HTML document (HyperText Markup Language) comprising a user-selectable view option and function-calling information associated with the view option; (b) displaying the HTML document to a user via the user computer, the display including the view option; (c) monitoring user input for selection of the view option; and (d) responding to selection of the view option by calling a function represented in the function-calling information, the function accessing and formatting the local data and displaying the local data to the user.

BRIEF DESCRIPTION OF THE DRAWINGS

These and other features of the invention are described below with reference to the drawings of a preferred embodiment of a computer-based shopping system, which is intended to illustrate and not to limit the invention, and in which:

FIG. 1 illustrates a consumer computer communicating with two merchant Web sites of the system in accordance with the present invention;

FIG. 2 illustrates a preferred protocol for transferring function call requests and responses between the consumer computer and a merchant Web site of the system using the HTTP message stream between a standard Web browser and a Web server;

FIG. 3 illustrates a preferred software architecture for the merchant Web sites of the system;

FIG. 4 illustrates a preferred software architecture for the consumer computers of the system;

FIG. 5 illustrates data structures accessed and manipulated by shopping basket, wallet, and address book objects on the consumer computer;

FIG. 6 illustrates the steps performed in adding information (served by a merchant Web site) about a product to the shopping basket object;

FIG. 7 illustrates the steps performed in viewing product information stored within the shopping basket;

FIG. 8 illustrates the steps performed in deleting a product from the shopping basket;

FIG. 9 illustrates steps performed in viewing details about a product from the electronic shopping basket;

FIG. 10 illustrates the steps performed in viewing and manipulating payment source data in the wallet object on the consumer computer;

FIG. 11 illustrates the steps performed in viewing and manipulating shipping address data in the address book object on the consumer computer; and

FIG. 12 illustrates the steps performed in purchasing selected products from merchant Web sites of the system over a distributed network.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

The present invention concerns electronic shopping and provides the ability to use a personal computer to compare and purchase products offered for sale via a distributed network. The invention is embodied within a computer-based shopping system which utilizes the existing protocols and components of the World Wide Web. The computer-based shopping system is described in detail herein.

In the preferred embodiment, the system includes a "commerce client" process which runs on a consumer's computer in conjunction with a standard Web browser. The commerce client communicates over the Internet with a "commerce server" (using a bi-directional function calling protocol) executing on a merchant Web site. In a preferred embodiment, the commerce client includes functionality similar to that of a shopping basket, a wallet, and an address book, and the commerce server includes functionality for providing a variety of commerce-related services (such as accessing or returning product information, calculating taxes, processing orders, etc.).

The commerce client and commerce server operate together to allow a consumer to gather product information from any number of merchants while the consumer's computer is connected to the Internet. The commerce client also permits the consumer to perform comparison shopping by reviewing product information gathered from various merchants. This product comparison can be performed by the consumer at any time (e.g., while off-line) and over any length of time, regardless of whether the consumer's computer is connected to the Internet.

A user unfamiliar with the operation of a computer-based shopping system which embodies the present invention can access instructional information (or application help) by selecting a help option. The instructional information is stored on one or more HTML-coded Web documents which are retrieved and displayed according to the user's needs.

A computer-based shopping system embodying the present invention permits a user to purchase products from an on-line merchant. The consumer uses the commerce client to authorize payment, select a payment source, select a shipping address (none of which require network connection) and also to place an order to the merchant for the selected product. A network connection is established for the commerce client to communicate the order to the commerce server. The payment and shipping information is protected from third party discovery using encryption technology.

The following sections and subsections describe the invention in more detail:

A. Glossary of Terms and Acronyms

B. Example Computer-Based Shopping Session

C. Communication Between Commerce Client and Commerce Server

D. Software Architecture of Merchant Web Site

E. Software Architecture of Consumer Computer

A. Glossary of Terms and Acronyms

The following terms and acronyms are used throughout the detailed description:

Internet.

A collection of interconnected (public and/or private) networks that are linked together by a set of standard protocols (such as TCP/IP and HTTP) to form a global, distributed network. (While this term is intended to refer to what is now commonly known as the Internet, it is also intended to encompass variations which may be made in the future, including changes and additions to existing standard protocols.)

World Wide Web ("Web").

Used herein to refer generally to both (i) a distributed collection of interlinked, user-viewable hypertext documents (commonly referred to as "Web documents" or "Web pages") that are accessible via the Internet, and (ii) the client and server software components which provide user access to such documents using standardized Internet protocols. Currently, the primary standard protocol for allowing applications to locate and acquire Web documents is HTTP (discussed below), and the Web pages are encoded using HTML (also discussed below). However, the terms "Web" and "World Wide Web" are intended to encompass future markup languages and transport protocols which may be used in place of (or in addition to) HTML and HTTP.

Client-Server.

A model of interaction in a distributed system in which a program at one site sends a request to a program at another site and waits for a response. The requesting program is called the "client," and the program which responds to the request is called the "server." In the context of the World Wide Web, the client is a "Web browser" (or simply "browser") which runs on a computer of a user; the program which responds to browser requests by serving Web pages is commonly referred to as a "Web server."

TCP/IP (Transmission Control Protocol/Internet Protocol).

A standard Internet protocol (or set of protocols) which specifies how two computers exchange data over the Internet. TCP/IP handles issues such as packetization, packet addressing, handshaking and error correction. For more information on TCP/IP, see Volumes I, II and III of Comer and Stevens, Internetworking with TCP/IP, Prentice Hall, Inc., ISBNs 0-13-468505-9 (vol. I), 0-13-125527-4 (vol. II), and 0-13-474222-2 (vol. III).

HTML (HyperText Markup Language).

A standard coding convention and set of codes for attaching presentation and linking attributes to informational content within documents. (HTML 2.0 is currently the primary standard used for generating Web documents.) During a document authoring stage, the HTML codes (referred to as "tags") are embedded within the informational content of the document. When the Web document (or "HTML document") is subsequently transferred from a Web server to a browser, the codes are interpreted by the browser and used to parse and display the document. In addition to specifying how the Web browser is to display the document, HTML tags can be used to create links to other Web documents (commonly referred to as "hyperlinks"). For more information on HTML, see Ian S. Graham, The HTML Source Book, John Wiley and Sons, Inc., 1995 (ISBN 0471-11894-4).

Port or Port Number.

(Also referred to as "socket number.") In the context of the Internet, a numerical identifier (normally provided in conjunction with an IP address) which is used by TCP/IP to direct incoming data to a particular application. Certain ports have been reserved by the Internet Assigned Number Authority (IANA) for certain applications. For example, port 80 is reserved for HTTP, and is used on Web sites to direct incoming traffic to a Web server. (See "URL" below.)

URL (Uniform Resource Locator).

A unique address which fully specifies the location of a file or other resource on the Int