WO2001022255A2 - Methods and apparatus for delivering comparative shopping information within an interactive communications network - Google Patents

Methods and apparatus for delivering comparative shopping information within an interactive communications network Download PDF

Info

Publication number
WO2001022255A2
WO2001022255A2 PCT/IB2000/001437 IB0001437W WO0122255A2 WO 2001022255 A2 WO2001022255 A2 WO 2001022255A2 IB 0001437 W IB0001437 W IB 0001437W WO 0122255 A2 WO0122255 A2 WO 0122255A2
Authority
WO
WIPO (PCT)
Prior art keywords
client
server
user
sales offer
network access
Prior art date
Application number
PCT/IB2000/001437
Other languages
French (fr)
Other versions
WO2001022255A3 (en
Inventor
Christoph Janz
Christopher MÜNCHHOFF
Original Assignee
Dealtime.Com
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dealtime.Com filed Critical Dealtime.Com
Priority to AU75484/00A priority Critical patent/AU7548400A/en
Publication of WO2001022255A2 publication Critical patent/WO2001022255A2/en
Publication of WO2001022255A3 publication Critical patent/WO2001022255A3/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising

Definitions

  • the present invention relates broadly to communications systems and, in particular, to methods and apparatus for automatically comparing offers from competing vendors on an interactive communications network.
  • Interactive communications network services are provided by different companies called network access providers, to which users are connected via network access devices.
  • Popular networks include, but are not limited to, the Internet, public and private intranets, and proprietary online services such as America OnLine (“AOL”) or CompuServe (for all of which the preferred network access device is an electronic programmable digital computer), as well as ground-based wireless (e.g., "cellular”) telephone networks, satellite- based wireless communications networks (usually utilizing one or more satellites, either in geosynchronous or in low Earth orbit) and interactive ground-based wired (e.g., "cable”) television networks (for all of which, at least at the present time, other types of network access devices may be appropriate). While the most preferred embodiment of the invention relates to an implementation thereof on the global hard-wired network of computers known today as the- Internet, the invention can alternatively be implemented on other interactive communications networks.
  • the Internet has become the most popular public interactive communications network, with major backbones and smaller networks branching from and connected to these backbones. These branches, in turn, have other, smaller networks branching away from them, leading to a distributed, hierarchical structure.
  • the information passing between these networks and the computer systems attached to them is routed to the destination computer machines by hardware devices called routers.
  • routers A detailed description of the structure of the Internet can be found in Hahn, Harley, The Internet Complete Reference, 2 nd Edition, Osborne McGraw-Hill, 1996 (ISBN 007882138X).
  • Web It allows the connected computer machines to send multimedia data across the Internet to other computer machines based on a protocol called HTTP.
  • HTTP The most common format for that data is HTML.
  • a service offering HTML data for download is called a website, and software for downloading such HTML data is called a browser.
  • the best known browsers today are Microsoft Internet Explorer, available from Microsoft Corporation of Redmond, Washington, U.S.A., and Netscape Navigator, available from Netscape Communications Corporation of Mountain View, California, U.S.A.
  • Websites are operated by so-called content providers.
  • Well known content providers are, for example, Yahoo! at the URL http://www.yahoo.com or Lycos at http://www.lycos.com or The Weather Channel at http://www.weather.com or ZDNet at http://www.zdnet.com.
  • these "online shops” usually consist of a computer machine connected to the Internet on which online shopping server software is continuously being executed.
  • This shopping server software waits for customer requests, and answers those requests with demanded HTML pages from the online shop's electronic catalog.
  • the shops' server software usually includes search functionalities which can generate an HTML page that displays a given product.
  • Another functionality of a typical online shopping server systems is to make available an online virtual "shopping cart” into which the user can "put" one or more products chosen for purchase during one shopping session. And to accept online sales offers, these shopping server systems provide the user with HTML forms to enter contact and shipping information.
  • a typical example of an online shop is Amazon.com at the URL http://www.amazon.com.
  • the user From the purchaser's perspective, the user usually points a browser to such a shop, searches for a product in the shop, and then, if it is found and a purchase decision is made, the user puts it into the shop's online shopping cart. After performing these steps for all products that the user desires to order from the given shop, the user enters contact and payment details and submits the order via an online form.
  • online shopping is analogous to conventional mail order shopping, with the exception that the user browses an online catalog (instead a paper one) and communicates with the vendor electronically.
  • Similar infrastructures and shopping services also exist at websites that are not typically considered online shops. For example, on its proprietary system AOL offers to its subscribers a virtual "shopping mall.” Similar infrastructures and shopping services also exist for other interactive communications networks. While these networks may look different from the Internet, the shopping services that they host are, from a technical point of view, closely related to the principles behind online shopping on the Internet.
  • comparison shopping services like DealPilot.com have some limitations. If the user has found a product that the user wants to order over the Web, but wants to see competing offers before making a purchase decision, the user must leave the currently-browsed online shop, where the product of choice was found, and must point the browser to the comparison shopping service's website, where the user must identify and search for this product again, thus taking some time, effort and knowledge about how to use the comparison shopping service in detail. Then the user must leave the comparison shopping service's website and jump to a selected online shop (either to a new online shop or back to the one originally browsed. Therefore, a typical comparison shopping session can take up to several minutes for a single product.
  • the present invention overcomes the difficulties discussed above by providing an advanced online comparison shopping system.
  • the present invention is a system that monitors the user's activity on an interactive communications network, and if the user receives a sales offer for a -product from an online vendor on the associated network access device, the system (in a preferred embodiment) automatically collects competing offers from online vendors. These competing offers are then presented to the user on the user's network access device, and the user can thereafter decide whether to direct that network access device to one of the competing offers in one of the other online shops, or to "stay" in the current shop.
  • the present invention consists of at least one comparison shopping server system, that is interconnected with and interacts with one or more comparison shopping client systems, and that is also interconnected with and interacts with one or more online shops, all through an interactive communications network; in its currently most preferred embodiment, the invention is implemented for use on the interactive communications network known as the Internet.
  • the at least one comparison shopping server system comprises a comparison shopping server module which is executable on at least one comparison shopping server network access device (most preferably a computer machine at a server station, sometimes also referred to herein as a "comparison shopping server machine” or simply as a “server machine”), and each of the comparison shopping client systems comprises a comparison shopping client module which is executable on a comparison shopping client network access device (most preferably a computer .machine at a client station) operable by a consumer user (each such client station computer machine will also sometimes be referred to hereinafter as a “comparison shopping client machine” or simply as a “client machine”).
  • a comparison shopping server module and each of the comparison shopping client modules are implemented as software.
  • the client module can be an extension of the user's network access device (i.e., a "standalone” computer program) or, less preferably, an extension of the user's browser system (i.e., a browser "plug-in” computer program), or both, but in any case the client software has to be installed on the user's network access device (the client machine) before the first use.
  • the server machine is a network access device that is continuously running the server module software and is permanently connected to the Internet, enabling it to await and receive requests from one or more installed client systems, and to process and respond to such requests; on a continuous basis.
  • the comparison shopping client system is directed to monitor the user's browser activities, by ascertaining sequentially, in real time, the URLs requested by the browser and the informational content of those URLs.
  • the client steadily monitors the user's Internet “surfing" actions and checks whether a product offer is-currently displayed in the user's browser, in which case the client system contacts the comparison shopping server system and sends the current URL or its informational content to the comparison shopping server system.
  • the latter identifies the currently- browsed shop and the product of interest, by extracting, from the information sent by the client, certain shop- and product-specific information, such as the server name, the product code, the name of the product or information about the product, e.g. the International Standard Book Number ("ISBN”) for a book, or the author of a book.
  • ISBN International Standard Book Number
  • the comparison shopping server system collects offers for the identified product from competitors of the identified shop, either in real time (via HTTP) from the websites of those competing shops, or from "offer files" periodically sent to the server system by those shops.
  • the collected offers are then parsed by the server to extract key information about them, e.g., the prices and other customer service attributes such as availability information.
  • This information is then sent back as an answer to the comparison shopping client system which, in turn, displays this information to the user.
  • the user can then select one of the alternative offers displayed by the comparison shopping client, and this will cause the client to point the user's browser to the corresponding product offer in the selected altemative shop.
  • the comparison shopping client can optionally be directed to query the user for information about the user's geographic location, specifically, a delivery address. This shipping information can then be sent to the comparison shopping server, so that the server can calculate, for each competing product offer, the associated shipping costs, the estimated sales taxes, and other costs (if any) that each particular user would have to pay (if a purchase decision were to be made), thereby "customizing" the offer information delivered to each user.
  • the invention informs the user about offers for the same product from competitors of the currently-browsed online shop, and allows the user to compare prices as well as other customer service attributes (such as the shipping options and the corresponding delivery times) and optionally, to ascertain the additional charges (e.g., shipping costs and estimated sales taxes, if any), associated with an offer for the given product.
  • the user need not "leave" the currently-browsed online shop, and there is no need to search for and identify the product all over again at a comparison shopping website.
  • the invention allows the user to perform the comparison shopping process with only a few mouseclicks and within several seconds.
  • FIG. 1 is a " block diagram of the preferred system of the present invention and shows the communications between the user's browser, the comparison shopping client, the comparison shopping server, an online shop and some competitors of this online shop;
  • FIG. 2 is a block diagram of the preferred system of the present invention showing the communications between many browsers, comparison shopping clients, the comparison shopping server and many online shops;
  • FIG. 3 is a high level flow chart showing the comparison shopping process carried out with the present invention.
  • FIG. 4 is an operational flow diagram of the comparison shopping client
  • FIG. 5 is an operational flow diagram of the comparison shopping
  • FIG. 6 is an illustrative diagram showing an example of a computer screen display generated at a client computer station by the system of the present invention (such- a diagram will hereinafter be referred to as a
  • screenshot as a user “visits” a sample online shop via a browser and looks up a product
  • FIG. 7 is a screenshot in which the comparison shopping client is notifying the user that it has recognized a product offer in the user's browser;
  • FIG. 8 is a screenshot in which the comparison shopping client is retrieving information about the offered product
  • FIG. 9 is a screenshot in which the comparison shopping client is displaying a competing offer
  • FIG. 10 is a screenshot in which the comparison shopping client is displaying several competing offers
  • FIG. 11 is a screenshot in which the user has selected one of the alternative competing offers presented by the comparison shopping client in FIG. 10;
  • FIG. 12 is a screenshot in which the user's browser is being pointed by the comparison shopping client to the URL of the selected alternative offer.
  • FIG. 13 is a screenshot in which the comparison shopping client is allowing the user to change certain personal settings.
  • Interactive communications network A distributed communications network in which a user has a realtime connection to other entities connected to the network (e.g., in the context of this invention, to one or more content providers). For example, classic radio is not interactive while radio-over-the-
  • the Internet has some interactive elements.
  • the most popular interactive communications network today is the Internet.
  • Network access device A device providing a user with access to an interactive communications network.
  • Well known network access devices include, but are not limited to, home personal computers, Internet terminals, interactive kiosks, cell phones and interactive digital televisions.
  • Online shop A content provider on an interactive communications network that offers products or services for sale.
  • HTTPV Hypertext Transport Protocol
  • HTTP includes a number of different types of messages which can be sent from the client to the server to request different types of server actions. For example, a "GET" message, which has the format GET, causes the server to return the document or file located at the specified Universal Resource Locator (URL).
  • URL Universal Resource Locator
  • 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”
  • the program which responds to the request is called the “server.”
  • a data source that is offering informational content on an interactive communications network e.g., an online shop
  • a network access device communicating with and receiving informational content from such a server is called a “client.”
  • the client software is typically a "Web browser” (or just a "browser”) which runs on a user's computer machine; the program which responds to Web browser requests at a website is commonly referred to as a "Web server.”
  • Internet A global collection of interconnected (public and/or private) computer networks that are linked together by a set of standard protocols to form a 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
  • Intranet A private or otherwise isolated part of the Internet, often with restricted access.
  • HTML HvperText Markup Language
  • HTML 2.0 is currently the primary standard used for generating Web documents.
  • HTML codes are embedded within the informational content of the document.
  • the Web document or "HTML document”
  • HTML tags can be used to create links (commonly referred to as
  • Universal Resource Locator A string of alphanumeric characters and other symbols which together comprise a unique address that "points to," i.e., fully specifies the location of, a file or other resource on the Internet; such an address is also sometimes called a Uniform Resource Locator.
  • the general format of a URL is protocol.7/machine address.port/path/filename.
  • the machine address is usually set forth either in a standard numeric format or, more commonly, in an alphanumeric "domain name” format; the path and filename are usually set forth in alphanumeric characters as well.
  • the port specification is optional, and if none is entered by the user, the Web browser defaults to the standard port for whatever service is specified as the protocol. For example, if HTTP is specified as the protocol, the Web browser will use the HTTP default port.
  • Browser Hardware and/or software that can download HTML or other informational multimedia content delivered from a URL, via HTTP or otherwise, and that can display it on a user's network access device.
  • World Wide Web Used herein to refer generally to both (1) a distributed collection of interlinked, user-viewable hypertext documents (commonly referred to as "Web documents” or “electronic pages” or “home pages”) that are accessible via the Internet, and (2) the client and server software components which provide user access to such documents using standardized Internet protocols.
  • Web documents commonly referred to as "Web documents” or “electronic pages” or “home pages”
  • client and server software components which provide user access to such documents using standardized Internet protocols.
  • HTTP Hypertext Transfer Protocol
  • HTML Hypertext Markup Language
  • Web and “World Wide Web” are intended to encompass all markup languages and transport protocols which have been developed previously and/or will be developed in the future, and which may be used in place of or in addition to the Hypertext Markup Language and the Hypertext Transfer Protocol, respectively.
  • Shop URL A URL containing or including the machine address (either in numeric form or in domain name form) of a computer machine running server software through which an online shop operates.
  • the term is also used herein to refer only to the alphanumeric machine address (domain name) portions of such URLs.
  • a shop URL which identifies the specific location, on the server machine of the associated online shop, of a file or other resource that may contain an online offer.
  • Offer URL A shop URL which identifies the specific location, on the server machine of the associated online shop, of a file or other resource that contains an online offer.
  • each network access device is a computer machine which can be a "desktop,” and/or a “laptop,” and/or even a hand-held or "palmtop” computer machine.
  • the invention most preferably comprises a central comparison shopping server system, comprising only one server module that is executable and is being executed (i.e., is "running") on a separate (most preferably dedicated) comparison shopping server computer machine, and that is interacting with a plurality of comparison shopping client systems, each of which comprises a client module that is executable and is running on a separate comparison shopping client computer machine.
  • a plurality of comparison shopping server systems instead of just one, with each server module being "distributed,” i.e., either fully integrated or merged with, or running alongside and “paired” with, a respective client module, on each user's on network access device.
  • each comparison shopping client module fully integrated or merged with each user's respective browser module, or even with some other application that is executable on the client computer machine, rather than each client module being a "standalone" computer program or a browser "plug-in,” and the same is possible for the plurality of distributed comparison shopping server modules if the invention is implemented such that more than one such server module exists, as described above.
  • FIG. 1 is a block diagram of the preferred embodiment of the present invention and presents an overview of the ways in which the different elements in the system interact. In general, this diagram illustrates the communications among a single user's browser, the comparison shopping client, the comparison shopping server, an online shop and several competitors of that online shop, as described in more detail hereinbelow.
  • Block 100 denotes the user's Internet access device, usually a personal computer, with block 101 denoting the browser running on this device and block 102 denoting the comparison shopping client also running on this device, the client communicating with the browser via a conventional interprocess communications system, such as the DDE system or the OLE system, both of which are available from Microsoft Corporation of Redmond, Washington.
  • Block 103 represents a conventional Internet server, through which the browser communicates with an online shop, represented by block 104;
  • block 105 represents yet another conventional Internet server, through which the comparison shopping client communicates with the comparison shopping server, represented by block 106.
  • the comparison shopping client monitors the offers (if any) displayed in the browser, contacts the comparison shopping server through Internet Server 2, and sends information about the current offer to the comparison shopping server.
  • the comparison shopping server also communicates with Online Shop
  • the comparison shopping server contacts Online Shop 1 (a competitor of the online shop currently being browsed by the user) through Internet Server 1 , and requests an offer.
  • the comparison shopping server also contacts other competing online shops (Competitor 1 , Competitor 2...Competitor X) through their respective Internet servers to collect additional competing offers, until a pre-set maximum amount of time has been consumed.
  • the comparison shopping server sorts the collected offers and transmits them to the comparison shopping client, which thereafter displays these competing offers to the user, either immediately or upon request, through the user's browser.
  • FIG. 2 is a block diagram of the preferred embodiment of the present invention showing the communications among multiple users' browsers, their respective comparison shopping clients, the comparison shopping server and multiple online shops, as described in more detail below.
  • Block 200 denotes the Internet access device of one user, running a browser represented by block 201 , and a comparison shopping client represented by block 202. These components cooperate as shown in FIG. 1 and as described hereinabove.
  • FIG. 2 also illustrates a plurality of additional users, each with an Internet access device, on which a browser and a comparison shopping client are running, represented by blocks 203, 204 and 205, respectively. All of the comparison shopping clients 1. .
  • Blocks 208 and 210 represent conventional Internet servers 1. . .Z, through which each of the browsers 1. . .X communicates with a single one of the respective online shops 1. . .Z, represented by blocks 209 and 211 , and through which the comparison shopping server also communicates with any or all of the online shops 1. . .Z.
  • comparison shopping server machine and software are preferably equipped to process and keep track of requests from, and to send responses to, a plurality of comparison shopping clients, in real time and, from the user's point of view, virtually simultaneously; they are also preferably equipped to send requests to, and obtain responses from, a plurality of online shops, simultaneously and in parallel.
  • FIG. 3 is a high level functionality flow chart showing the comparison shopping process within the present invention. It displays the typical steps for a single comparison shopping session.
  • start state 300 the process initializes and moves to state 301 , where the user has received a product offer screen in his browser. Proceeding to state 302, the comparison shopping client software now becomes active; it contacts the comparison shopping server machine and sends the offer information.
  • the comparison shopping server identifies the product that is the subject of the offer, and thereafter searches for and collects offers for that product from competitors of the online shop currently being browsed by the user.
  • the competing offers are then sent from the comparison shopping server to the comparison shopping client, which displays these offers to the user, either immediately (which is preferred) or upon request, at state 305.
  • the user can now select one of these competing offers, and at state 307 the comparison shopping client then points the users' browser to the URL of the selected offer, whereupon the process ends at end state 308.
  • FIG. 4 is a more detailed, operational flow diagram that focuses on the operational states of the comparison shopping client software. In general, it illustrates the functions that such software and the comparison shopping client machine must perform, as well as the sequence in which those functions are to be performed, during a comparison shopping session.
  • the comparison shopping client software module is launched by the user in a conventional well-known manner, either manually, such as by invoking it from the operating system of the user's network access device (either from a command processor, using a system command, or from a graphical user interface), or automatically, i.e., the client software can be installed such that it will be launched automatically each time the user's network access device is started, a feature that is also well known in the art.
  • the client software after launch the client software will initially run "in the background" (i.e., without any visible indication of its operation on the display screen of the user's network access device), while it determines whether the user's network access device is connected to the Internet. If so, as its first action the client software obtains (at state 401) a list of shop URLs by sending a request to, and receiving a response from, the comparison shopping server, which maintains for this purpose a list of the shop URLs of all online shops known to the administrators of the server. The comparison shopping client uses this list in a subsequent state to determine whether the URL to which the user's browser is currently pointing is a shop URL.
  • This list of shop URLs is preferably maintained in a simple ASCII text file, most preferably containing one shop URL per line, but the text can be arranged in other ways, and the list of shop URLs can also be maintained in other, more complex data storage arrangements, such as in a formal database structure.
  • the client software upon launch the client software preferably first determines whether an Internet connection is available, and if so, the list of shop URLs is retrieved from the server machine at that time. Otherwise, if no Internet connection is immediately available, the client software goes into a wait state (not shown) until such a connection is established, after which the list of'shop URLs is retrieved from the server machine by the client.
  • the comparison shopping client software receives a "fresh" up-to-date list of shop URLs from the server machine virtually every time that the client software is launched on the user's network access device (except in the rare instances in which an Internet connection is not subsequently established before the client software is terminated or the user's network access device is powered down).
  • the client software will update its list of shop URLs periodically, preferably once a day. In the preferred embodiment, this is accomplished automatically by causing the client software to monitor the system clock on the client machine, and to refresh its list of shop URLs by retrieving a replacement list from the server machine once every twenty-four hours.
  • this update occurs twenty-four hours after the client software is initially launched on the user's network access device, and in twenty-four hour intervals thereafter; in this manner, the requests for a list of shop URLs from a plurality of comparison shopping client installations are distributed more-or-less evenly over each twenty-four hour period, and the performance of the comparison shopping server is not adversely affected, as would be the case if, for example, all of such requests were received at once, at a fixed time of day. It is to be understood, however, that even a user who is continuously connected to the Internet can, if desired, force the client software to update its list of shop URLs at will (i.e., more frequently than every twenty- four hours), simply by terminating and thereafter re-launching the client software.
  • the client software may cause the client software to automatically retrieve a current list of shop URLs from the server even more frequently, e.g., each time the user's browser is pointed to a new
  • the client software determines whether any browser software is running on the user's network access device, and if so, the client software sends, via an interprocess communication system, a request to the browser to notify the client software in the future (through that same interprocess communication system) each time a new URL is loaded into the browser. Finally, the client software "registers" with the operating system to insure that it receives future notification if and when the user opens one or more separate browser windows, so that the activities in those windows can be monitored as well.
  • the detailed initiation steps described above in this paragraph are not shown in the drawings in order to facilitate an understanding of the overall comparison shopping process.
  • the client software begins to process that URL, as set forth in more detail below; otherwise, if the user's browser is not already pointing to a URL, the comparison shopping client goes into a wait state until a request is received from the user, or until the user's browser is pointed to a URL. As soon as this happens, the comparison shopping client software first determines, at decision state 402A, whether the user has sent a request, and if so, whether the user is requesting that the client software program be terminated; if so, the process moves to end state 409.
  • the client software at decision state 403, thereafter compares the URL to which the user's browser is currently pointed to the list of shop URLs retrieved previously from the comparison shopping server, in order to determine whether the current URL is among those on the list (i.e., whether it is a shop URL and therefore must be sent to the comparison shopping server for further processing). If not, the process moves back to state 402, and the comparison shopping client waits until a new request is received from the user, or the user's browser is pointed to a new URL.
  • the comparison shopping client sends the current URL to the comparison shopping server, and waits for the comparison shopping server to respond.
  • the transmission of the current URL to the server, which initiates a comparison shopping session takes place automatically; however, it is within the scope of the present invention to require the user to provide manual confirmation that a comparison shopping session should proceed (such a confirmation requirement would be particularly advantageous when used in conjunction with a "batch" mode for the present invention, as described in further detail hereinbelow).
  • the comparison shopping client machine initially sends only the current URL itself to the comparison shopping server.
  • the client may later be required also to send to the server the informational content of the current URL, that is, the actual text and HTML tags of the file or other resource on the Internet to which the current URL points.
  • the client software preferably begins to display automatically an indication to the user (not shown in FIG. 4) that a comparison shopping session has begun.
  • the operating system of the user's network access device provides a conventional graphical user interface using .well known "windowing" technology, and the client software utilizes that technology to interface with the user.
  • the interface that the client software displays includes an "application bar” (a special window which is known in the graphical user interface programming art, characterized in that it appears “attached” to a screen border, and cannot be “overlaid” by any other windows, thus maintaining its visibility to the user); most preferably, the application bar is subdivided into several components, each of which either displays information to, or provides facilities for acceptance of input from, the user.
  • the application bar preferably remains visible to the user throughout the current comparison shopping session, and also preferably becomes invisible (i.e., is "hidden") automatically when the current comparison shopping session ends (i.e., when the user's browser is subsequently pointed.
  • the user can be provided with a facility with which to cause the application bar to be displayed and/or hidden manually, at any time, provided that the client software is still running on the user's network access device.
  • the layout and features of the application bar that are preferred for use with the present invention will be described in further detail hereinbelow, along with the other components of the client software's preferred graphical user interface.
  • the comparison shopping client displays, at state 406, a plurality, or perhaps even all of the competing offers transmitted by the comparison shopping server, either upon request from the user, or preferably automatically (i.e., without such a request).
  • the automatic display mode is preferred only -because the manual display mode would require the user to take some affirmative action, such as pointing to and selecting, or "clicking on," a portion of the client software's graphical user interface, in order to see the transmitted competing offers.
  • the competing offers are displayed automatically in a window which "pops up" from the client software's preferred graphical user interface, and the competing offers are arranged within that window in a particular sequence, i.e., in the same sequence in which they were transmitted to the client machine by the comparison shopping server machine; the preferred transmission sequence corresponds to the sequence in which the server software sorts the competing offers, which will be described in further detail hereinbelow.
  • the preferred transmission sequence corresponds to the sequence in which the server software sorts the competing offers, which will be described in further detail hereinbelow.
  • other automatic display modes are possible, e.g., just the "best" competing offer (that is, the
  • first one transmitted can be displayed initially in the client software's preferred graphical user interface, thus requiring the user to take some action (such as “clicking on” that portion of the user interface in which the "best” offer is displayed) in order to see many more, or perhaps even all, of the competing offers, which would preferably be displayed in a "pop up” window such as that described above.
  • each user may be afforded an opportunity to choose among the available display modes (e.g., to choose among the manual display mode and either one of the two different automatic display modes described above), but in these cases, if no such choice is made by a particular user, the system will be programmed " to utilize, by default, the display mode that is described above as being most preferred.
  • the comparison shopping client proceeds to decision state 407, where it first waits to determine whether or not the user actually selects one of the displayed competing offers. If a competing offer is selected, then the comparison shopping client, at state 408, points the user's browser (through an interprocess communications system) to the URL of that offer (either by replacing the current URL in the user's browser with the URL of the selected competing offer, or, less preferably, by opening a new browser window and pointing it to the URL of the selected competing offer).
  • the client software may optionally be programmed to recognize whether any new URL in the user's browser was actually inserted therein by the client software itself, and if so, to avoid immediate initiation of another comparison shopping session for the very same product.
  • the "pop up" window (listing all of the competing offers found) will preferably close; most prefer-ably, the "pop up” window should close either upon the user "clicking" on the screen anywhere outside of that "pop up” window, or upon selection by the user of one of the competing offers displayed within that window, but in either case, after the "pop up” window closes, the client software's preferred graphical user interface will preferably remain open and visible, and most preferably will continue to display just the "best" competing offer that was transmitted by the server.
  • the user may also be provided with the ability to close the "pop up” window manually, by “clicking” on a standard “close button” which can be displayed thereon for this purpose, preferably in the upper right corner thereof.) Also, after the "pop up” window closes, preferably the user is provided with the option to re-open it again thereafter, at any time within the same comparison shopping session, (e.g., by "clicking” on that portion of the client software's preferred graphical user interface in which the "best” offer is displayed), so that the user may then select, repeatedly if desired, and in any sequence, either just one, or several, or all of the competing offers that were found and transmitted by the server.
  • the process After the user has finished reviewing the competing offers presented at state 408, the process thereafter moves back to state 402; if the user does not select any of the competing offers for review, then the process returns to state 402 without passing through state 408. In either case, the client then waits until a new request is received from the user, or the user's browser is pointed to a new URL. Preferably, unless the comparison shopping client software is affirmatively terminated by the user, or the user's network access device is powered down (intentionally or otherwise), the client software, after it is launched, continues to run on the user's network access device, even if the user's browser software is terminated or the user's Internet connection is severed.
  • FIG. 5 is a detailed, operational flow diagram that focuses on the operational states of the comparison shopping server software, and in general it visualizes the functions that such software and the comparison shopping server machine must perform, as well as the sequence in which those functions are to be performed, during a comparison shopping session.
  • the server initializes and determines, at decision state 500A, whether the operator has sent a request, and is requesting that the server software program be terminated; if so, the process moves to end state 506. Otherwise, the process continues and moves to wait state 501 , until the server receives requests from one or more comparison shopping clients. For each such request, the server software first determines, at decision state 501A, whether the particular client is simply requesting the list of shop URLs discussed hereinabove; if so, the process moves to state 501AA, where the server transmits the current list of shop URLs to the client, and the process then returns to decision state 500A.
  • the comparison shopping server software When such a request is received from a comparison shopping client, specifying a shop URL, the comparison shopping server software assumes that the URL transmitted by the comparison shopping client in that request is a relevant URL, and it then checks, at decision state 502, whether that URL contains information from which it may be possible to conclude that that URL actually points to an offer (for which competing offers could possibly be collected later by the system). This determination is made by parsing the relevant URL and thereby identifying the online shop to which the relevant
  • the database contains information specifying, for each known online shop, the manner in which to recognize, from the relevant URL itself, whether or not it actually points to an offer from that shop (i.e., whether that relevant URL is also an offer URL). For example, the format of a standard industry number, such as an ISBN for a book, if detected within the path and/or filename portion(s) of the relevant URL, would indicate the presence of an offer.
  • the comparison shopping server software If the comparison shopping server software cannot determine conclusively that the relevant URL is not an offer URL, then it causes the comparison shopping server machine to contact the online shop in question and to retrieve the informational content of the relevant URL, provided, of course, that the online shop's server software has not been pre-programmed to ignore requests from comparison shopping services, in which case the comparison shopping server software, taking a "back door" approach, causes the comparison shopping server machine to send a request to the comparison shopping client machine for the latter to transmit the informational content of the current shop URL to the server machine, as mentioned hereinabove.
  • the server software parses this informational content, searching for a product identifier or other textual "clues" from which the presence of an online offer may be inferred.
  • the informational content can be scanned for a standard industry number, such as a number in ISBN format for a book, or if no such number is present, the informational content can be scanned for a product name, such as the title for an audio compact disk from which the matching standard industry number can then be derived by the server software by comparing the product name to an internal product list that preferably is also maintained by the server software for this purpose on the server machine.
  • the comparison shopping server identifies the product in the offer (if this identification has not already been accomplished previously by the server software, at decision state 502), and then proceeds to state 504, where it searches for and collects offers for the same product from competing online shops, including even the user's currently-browsed online shop.
  • all of the competing online shops are contacted by the server simultaneously; most preferably, however, the comparison shopping server is programmed to seek competing offers only from online shops that offer the type of product that is currently of interest to the user, e.g., if the product of interest is a book, only the online shops that sell books would be contacted by the server for competing offers.
  • the server software can retrieve offer information from an online shop, and thereby collect competing offers.
  • the first method involves an emulation approach, in which the server software imitates a human "shopper" who searches for, and then receives an offer for, a given product from a particular online shop.
  • the server software causes the server machine to contact one or more online shops and, using the product identifier obtained previously, causes the contacted online shop to search for (i.e., obtain one or more offer URLs for) the same product. If any of the online shops contacted is also offering the same product, it is assumed that the resulting offer(s) received by the server from each such contacted online shop compete(s) with the current offer being displayed in the user's browser.
  • the method for obtaining competing offers that is described above is preferred, since it allows the server software to provide the user with real time offer information for the competing offers found.
  • the second, alternative method (which may not always provide up-to-date, real time offer information) is to obtain the offer information from one or more "offer files " containing such information, which each online shop would periodically send to, and which would then be added to the internal database maintained by, the comparison shopping server software, allowing the latter to obtain offer information perhaps more quickly, and without creating additional "traffic" on the Internet.
  • offer files are conventional and have been known in the art for several years, it has been found that, at least currently, some online merchants are still reluctant to provide such files to comparison shopping services; therefore, this method for gathering competing offers is not preferred.
  • a "timeout" feature preferably limits the time in which efforts to collect competing offers continue to be made, thereby increasing the responsiveness of the system in real time.
  • the maximum time is preferably set by the administrators of the server, although it is also within the scope of the invention to allow each user to specify this value; in any event, this value is preferably in the range of 20 - 30 seconds.
  • the server software thereafter parses the informational content of each such offer URL, and extracts the necessary offer information (e.g., the domain name of the online shop, the base price for the product, the available shipping services and for each such shipping service, the associated estimated shipping time) and optionally certain other offer information (e.g., the "list" price for the product, from which the amount of the online shop's "discount” (if any) can be computed) for eventual display to the user.
  • the server also preferably determines, for each competing offer, whether the online merchant currently has the product of interest in stock, and if so, it extracts the online merchant's estimated internal order processing time (i.e., the time the merchant needs before giving the product to a shipping service for eventual delivery).
  • the server software Before the necessary information for each offer is displayed to the user, it is initially stored by the server software in an internal tab.le, where this information is sorted.
  • the information about the competing offers is sorted by the server software in ascending order by price (so that the "cheapest" offer is in the highest position, or "first"), but it is also possible to sort it by other customer service attributes (such as by the shipping time, or by total delivery time, for the product, or perhaps by the shipping service to be used; it is also within the scope of this invention to extract from each competing offer, and to display and even to sort the competing offers by, some other customer service attribute, such as the time period after which a full refund will no longer be provided for a returned product).
  • the user may be afforded an opportunity to choose a default sort key from among the available sort keys (and perhaps even, as a further option, to be able to override this user-specified default occasionally, or for a period of time, e.g. for all individual comparison shopping sessions on a particular day), although in these situations, for all users who do not specify a default sort key, the system will preferably be programmed to utilize the price of the product as the predetermined default sort key for those users.
  • the collected competing offer information (if any) is extracted from the table and is then sent in sorted sequence to the same comparison shopping client that transmitted the relevant URL to the server in the first place, and thereafter the process moves back to decision state 500A, and usually to state 501 thereafter, where the comparison shopping server system again waits until a new request is received.
  • the internal database of offer URLs maintained by the server software will be updated periodically, preferably once a day. In the preferred embodiment, this is accomplished automatically by causing the server software to monitor the system clock on the server machine, and to perform certain tests once every twenty-four hours.
  • the server software preferably maintains an internal database on the server machine, containing product identifiers for one or more products typically sold by that online shop, which the server uses to test whether it can still retrieve usable offer information from that online shop.
  • the comparison shopping server system sends one of these known product identifiers to the server machine that is running the online shop software, for insertion into the online shop's search facility, and the comparison shopping server software then parses the informational content of the URL received in response, while comparing it to the "acceptable" informational content for that URL that is also stored internally in the same database. If the response received is an offer URL with the expected informational content, then the test for that particular online shop ends. However, if not, it is first assumed that the online shop in question is no longer offering that "typical" product, and the same attempt is then made with one or more of the other products "typically" offered by that online shop.
  • the server software assumes either that the online shop in question has opted to alter the appearance (i.e., the arrangement or the format) of its typical offer form/screen (i.e., it has altered the informational content of its typical online offer URL), or that some other error has occurred.
  • a flag is raised by the server software, which preferably causes the server machine to provide a corresponding indication to the administrators of the server that an update of the internal database or some other corrective action is required.
  • Such updates are preferably then performed manually by an administrator, but automation of this function may also be possible and is therefore still within the contemplated scope of the present invention. It will be apparent to those skilled in the art that the foregoing test procedures also provide a facility with which to maintain quality assurance relative to the operation of the comparison shopping server software itself.
  • the list of shop URLs maintained by the comparison shopping server software will be updated periodically, preferably no more often than about once a week, in order to add the shop URL(s) of any new online shop(s) that may have come into existence, and/or to delete the shop URL(s) of any online shop(s) that may have ceased to operate.
  • Such updates are also preferably performed manually by an administrator, although again, automation of this function may be possible and is therefore still within the scope of the present invention.
  • the comparison shopping system of the present invention can optionally be configured so as to allow it to operate with respect to offers for multiple products simultaneously, in a "batch" mode, rather than on one product offer at a time. For example, if a user has found several products of interest in the same online shop and has "placed" all of them into a virtual shopping cart provided by that shop, the invention can be used to collect competing offers for all products in the cart. As mentioned herein, in this mode the user would have to "trigger" the comparison shopping session(s) manually, by confirming that it/they should proceed, rather than relying upon automatic initiation thereof, as mentioned hereinabove.
  • FIG. 6 is a screenshot as a user "visits" a sample online shop with his/her browser and looks up a product.
  • the user has looked up the crime novel The Devil's Teardrop in the popular online bookstore Amazon.com, and is now studying the product description.
  • the comparison shopping client software has received a notification from the user's browser that a new URL has been loaded into the browser, and although there is no visible indication in this drawing figure, the client software begins a comparison shopping session for this product. This figure corresponds to state 403 of FIG. 4.
  • FIG. 7 is a screenshot in which the comparison shopping client notifies the user that it has recognized a shop URL in the user's browser. Near the bottom of the screen the client software's preferred graphical user interface (i.e., its application bar 700) has now appeared, in which the comparison shopping client displays status and other information. This figure corresponds ' to state 404 of FIG. 4.
  • FIG. 7 An illustrative, but nevertheless preferred, arrangement for some of the features of the application bar described hereinabove is shown in FIG. 7.
  • the application bar as shown in this drawing figure (as well as in FIGS. 8-13) consists of a status portion 701 on the left, a product title portion 702 in the center, and an offer portion 703 on the right, in each of which the corresponding information may be displayed to the user at various times throughout each comparison shopping session.
  • the application bar also carries several "buttons” 704, 705, 706 and 707, which allow the user to provide input to, or to invoke special functions of, the client software, including, for example, a facility to allow the user to hide the application bar manually (if it is currently visible), as described hereinabove, or an optional "personal profile” feature, as described in further detail hereinbelow, or an optional “help” system, which is conventionally implemented either online and/or offline.
  • an optional "stop” button (not shown), with which the user can abort a comparison shopping session that is already in progress, and/or an optional “confirm” button (not shown), with which the user can manually initiate a comparison shopping session in cases in which the client software has been configured such that such sessions are not initiated automatically.
  • the client software's preferred graphical user interface also preferably includes (apart from the application bar) a visual icon 708, which is displayed continuously on the user's network access device whenever the client software is running (even if the application bar itself remains hidden); as shown in FIGS. 7-13 (as well as in FIG. 6), the icon 708 (resembling a flag) is illustratively displayed on the bottom line of the screen, in an .area near the right edge (that is known in certain widely used graphical user interfaces as the "system tray") in which other icons, perhaps representing other programs and/or facilities that are running in the background on the user's network access device, are also displayed.
  • a visual icon 708 which is displayed continuously on the user's network access device whenever the client software is running (even if the application bar itself remains hidden); as shown in FIGS. 7-13 (as well as in FIG. 6), the icon 708 (resembling a flag) is illustratively displayed on the bottom line of the screen, in an .area near the right
  • the icon 708 at least provides the user with facilities to display the application bar (if it is currently hidden), as described hereinabove, or to terminate the client software entirely, if desired.
  • the client software's preferred graphical user interface that are described above is well within the skill of the art.
  • FIG. 8 is a screenshot in which the comparison shopping client is retrieving information about the product that is the subject of the offer.
  • the client has extracted the specification of the product from the current offer, and is displaying this information (in this case the title of the book) in the product title portion of its application bar while, in the "background,” it is requesting and then receiving information about competing offers from the comparison shopping server.
  • This figure corresponds to state 406 of FIG. 4.
  • FIG. 9 is a screenshot in which the comparison shopping client displays a competing offer. Specifically, in this screenshot the comparison shopping client has retrieved competing offers from the comparison shopping server and is displaying one of them (the "best" one) in the offer portion of its application bar. This figure also corresponds to state 406 of FIG. 4.
  • FIG. 10 is a screenshot similar to FIG. 9, but in which the comparison shopping client is displaying several different competing offers at once to the user, in a pop-up window containing a conventional, scrollable, menu-style tabular list.
  • the comparison shopping client system preferably displays at least the name (and preferably also the geographic location) of the competing online shop, as well as the base price (or "item price") for the product of interest (if it were to be purchased from that shop), the available shipping methods or services, and the associated estimated shipping times.
  • the estimated shipping time can be added internally, either by the server software module or by the client software module, to the online shop's estimated internal order processing time (not displayed separately in FIG. 10), so as to calculate and display an estimated total delivery time for the product. Additional information for each of the collected competing offers may also be displayed, as described in further detail hereinbelow in connection with the optional "personal profile" feature of this invention.
  • FIG. 1 1 is a screenshot in which the user is pointing to, and is about to select, one of the competing offers presented by the comparison shopping client.
  • the background of the selected offer is highlighted and/or displayed in a contrasting color. This figure corresponds to state 407 of FIG. 4.
  • FIG. 12 is a screenshot in which the user's browser has now been pointed by the comparison shopping client to the URL of the competing offer that was selected by the user in FIG. 11. This figure corresponds to state 408 of FIG. 4.
  • An optional but desirable enhancement of the comparison shopping system of the present invention includes a mechanism whereby the user can provide shipping information (e.g., the user's own postal address) to the comparison shopping client, and preferably can later also change or update that information. If this information is provided, it will then be used by the comparison shopping server to calculate certain additional costs which are usually associated with an offer and which often depend on this geographic information (e.g., shipping and handling costs, estimated sales taxes, etc.), thereby enhancing, and also "customizing" for each user of the system, the offer information delivered.
  • shipping information e.g., the user's own postal address
  • the client software allows the user an option to provide the system with certain personal information. If the user decides to do so, then the client software prompts the user (using a standard "dialog box") to enter his/her shipping information, i.e., the address or location to which any products that might be of interest to the user would have to be delivered in the event that any such products were to be purchased by the user from an online shop.
  • the client software prompts the user (using a standard "dialog box" to enter his/her shipping information, i.e., the address or location to which any products that might be of interest to the user would have to be delivered in the event that any such products were to be purchased by the user from an online shop.
  • the user could optionally be prompted to enter his/her e-mail address, as well as certain demographic information (for possible subsequent provision to potential advertisers), such as the user's age, sex, interests, occupation, etc., although preferably the provision of the user's demographic information will be voluntary, i.e., optional.
  • this personal information (collectively called a "personal profile") is then held in the random access memory of the user's network access device, and may optionally (but preferably) also be stored permanently by the system, either on the comparison shopping server, or with the comparison shopping client on the user's network access device.
  • the personal profile is initially stored on the comparison shopping client machine (i.e., on the user's network access device) in a conventional text file, and is thereafter sent by the client to the comparison shopping server machine, either as soon as an Internet connection becomes available, or if an Internet connection is already available, immediately.
  • the server software stores the data contained in each user's personal profile in an internal database maintained on the server machine by the server software for this purpose.
  • the server software may optionally generate a user identification number or registration number for each user, and thereafter will cause the server machine to send this user identification number back to the client machine associated with that particular user, where it is maintained in the random access memory and is also stored on the client machine.
  • the user's personal profile is re-loaded into, and is retained within, the random access memory of the user's network access device until the client software is terminated. If a user wishes to update his/her established personal profile, or if a user, who declined to establish a personal profile initially, later wishes to establish one, the user will have the option to do so, as shown schematically in the flowchart of FIG. 4 at decision state 402B, by sending a request to the client software, most preferably by "clicking" on a portion of the client software's preferred graphical user interface (e.g., on "button" 705 of the application bar 700, as shown in FIGS.
  • FIG. 13 is a screenshot of an exemplary dialog box displayed by the comparison shopping client software, in which the user can provide or change his/her personal profile data; in this drawing figure, the "button" 705 is highlighted and/or displayed in a contrasting color.
  • the new and/or changed personal profile data is thereafter sent to the server machine at state 402BB, either immediately or when an Internet connection next becomes available, after which the process shown in FIG. 4 moves back to state 402, where the client software waits for further input as described hereinabove.
  • the server software inspects, at decision state 501 B, all requests received from each installed comparison shopping client system for such new or changed personal profile data; if such a request is received, the data is used at state 501 BB to initialize or to update the associated user's personal profile data in the personal profile database (for all users) that is maintained by the server system, as described hereinabove. Then, the process shown in FIG. 5 moves back to decision state 500A, and usually to state 501 thereafter, where the server system waits for further input as described hereinabove.
  • a personal profile data registration system whereby personal profiles are established and may be updated from time to time by each of a plurality of users, is well known in the art and the manner in which to implement such a system will be apparent to a programmer of ordinary skill. If a personal profile is established for a particular user, then when the comparison shopping client system detects that the user's browser is pointing to a shop URL (at decision state 403 in FIG. 4), it will send the user's identification number to the comparison shopping server system along with the other information denoted in state 404 and described hereinabove. The comparison shopping server system then uses the identification number to locate that user's personal profile data in its database, and subsequently uses that personal profile data for the calculation of the shipping costs and estimated sales taxes associated with each of the collected competing offers.
  • the server software can be programmed to calculate these additional charges by including the user's shipping information among the data that are transferred to each online shop when the competing offers are collected (at state 504 in FIG. 5), i.e., by actually entering the user's shipping information into the search or purchase forms of each of the competing online shops, thereby causing these shops, in turn, to report these additional offer costs back to the comparison shopping server system. More preferably, however, the server software can be programmed to calculate these additional offer costs by using its own methods (which emulate the methods with which these costs are calculated by the online shops themselves), e.g., by consulting an internal database containing a list of geographic locations and the shipping costs and estimated sales taxes associated with each such location (such a database can be maintained on the server machine by the server software for this purpose).
  • these additional offer costs are thereafter sent to, and are then displayed to the user at state 406 by, the comparison shopping client system, along with the other more basic offer information that the server ordinarily retrieves for each of the collected competing offers, as described hereinabove.
  • these additional offer costs may be displayed to the user in the pop-up window in several useful ways. For example, for each collected competing offer the shipping costs and the estimated sales taxes (which are not displayed separately in FIG. 10) can be added to the item price internally, either by the server software or by the client software, so as to calculate and display the total price for the product for that user.
  • the shipping costs and the estimated sales taxes may optionally be displayed separately, but preferably for only one competing offer at a time, and most preferably in a small box that appears adjacent to the tabular information for that same competing offer, but which appears only when the user places the cursor on, or otherwise highlights, that competing offer; such a box is shown illustratively at 1100 in FIG. 11 and is akin to a conventional "tooltips" box, the implementation of which is known in the graphical user interface programming art.
  • the use (or not) of the various display modes and options described above are matters of design choice, and their implementation is well within the skill of the art.

Abstract

Apparatus for delivery of comparative shopping information within an interactive communications network comprise at least one comparative shopping server system that interacts through the network with one or more comparative shopping client systems, and that also interacts through the network with one or more online shops such that the prices of the offers for the same product from a plurality of competing online shops may be compared, and such that, optionally, one or more other customer service attributes (e.g., the estimated total delivery time for the product) may also be compared; furthermore, the information delivered may optionally be customized for each individual user of the system, such that other offer parameters (e.g., shipping costs) are calculated and may also be compared. In the most preferred embodiment, the invention is implemented on the interactive computer communications network known as the Internet. Methods for delivering comparative shopping information within such networks are also disclosed.

Description

METHODS AND APPARATUS FOR DELIVERING COMPARATIVE
SHOPPING INFORMATION WITHIN AN INTERACTIVE
COMMUNICATIONS NETWORK
Cross-Reference to Related Application This application claims the benefit of prior copending U.S. Provisional
Patent Application Serial No. 60/154,626, filed September 17, 1999.
Technical Field
The present invention relates broadly to communications systems and, in particular, to methods and apparatus for automatically comparing offers from competing vendors on an interactive communications network.
Background of The Invention
Interactive communications network services are provided by different companies called network access providers, to which users are connected via network access devices. Popular networks include, but are not limited to, the Internet, public and private intranets, and proprietary online services such as America OnLine ("AOL") or CompuServe (for all of which the preferred network access device is an electronic programmable digital computer), as well as ground-based wireless (e.g., "cellular") telephone networks, satellite- based wireless communications networks (usually utilizing one or more satellites, either in geosynchronous or in low Earth orbit) and interactive ground-based wired (e.g., "cable") television networks (for all of which, at least at the present time, other types of network access devices may be appropriate). While the most preferred embodiment of the invention relates to an implementation thereof on the global hard-wired network of computers known today as the- Internet, the invention can alternatively be implemented on other interactive communications networks.
Nowadays, the Internet has become the most popular public interactive communications network, with major backbones and smaller networks branching from and connected to these backbones. These branches, in turn, have other, smaller networks branching away from them, leading to a distributed, hierarchical structure. The information passing between these networks and the computer systems attached to them is routed to the destination computer machines by hardware devices called routers. A detailed description of the structure of the Internet can be found in Hahn, Harley, The Internet Complete Reference, 2nd Edition, Osborne McGraw-Hill, 1996 (ISBN 007882138X).
Currently, the most popular portion of the Internet is the World Wide
Web. It allows the connected computer machines to send multimedia data across the Internet to other computer machines based on a protocol called HTTP. The most common format for that data is HTML. A service offering HTML data for download is called a website, and software for downloading such HTML data is called a browser. The best known browsers today are Microsoft Internet Explorer, available from Microsoft Corporation of Redmond, Washington, U.S.A., and Netscape Navigator, available from Netscape Communications Corporation of Mountain View, California, U.S.A. Websites are operated by so-called content providers. Well known content providers are, for example, Yahoo! at the URL http://www.yahoo.com or Lycos at http://www.lycos.com or The Weather Channel at http://www.weather.com or ZDNet at http://www.zdnet.com.
Recently, online shopping over the World Wide Web has become more and more popular, and a small, but rapidly growing, percentage of all retail business is being conducted over the Internet. In particular, more and more retail businesses are making complete product catalogs available on the Web; for some of these vendors, each of the catalog pages is itself deemed to constitute an actual sales offer, while for others, separate order forms are made available and only the latter are deemed to constitute an actual sales offers; as used herein, the terms "online offer" and "online sales offer" will collectively refer to either or both of these online product purchasing modalities.
Structurally, these "online shops" usually consist of a computer machine connected to the Internet on which online shopping server software is continuously being executed. This shopping server software waits for customer requests, and answers those requests with demanded HTML pages from the online shop's electronic catalog. In addition, the shops' server software usually includes search functionalities which can generate an HTML page that displays a given product. Another functionality of a typical online shopping server systems is to make available an online virtual "shopping cart" into which the user can "put" one or more products chosen for purchase during one shopping session. And to accept online sales offers, these shopping server systems provide the user with HTML forms to enter contact and shipping information. A typical example of an online shop is Amazon.com at the URL http://www.amazon.com. Although nowadays the great majority of such online shops typically offer for sale only tangible products (e.g., books, apparel, pre-recorded multimedia materials such as audio and video recordings, etc.), in principle the provision of services could also be the subject of such online sales offers; therefore, as used herein, the term "product" should be understood as referring to both tangible goods and intangible services.
From the purchaser's perspective, the user usually points a browser to such a shop, searches for a product in the shop, and then, if it is found and a purchase decision is made, the user puts it into the shop's online shopping cart. After performing these steps for all products that the user desires to order from the given shop, the user enters contact and payment details and submits the order via an online form. Thus, online shopping is analogous to conventional mail order shopping, with the exception that the user browses an online catalog (instead a paper one) and communicates with the vendor electronically.
Similar infrastructures and shopping services also exist at websites that are not typically considered online shops. For example, on its proprietary system AOL offers to its subscribers a virtual "shopping mall." Similar infrastructures and shopping services also exist for other interactive communications networks. While these networks may look different from the Internet, the shopping services that they host are, from a technical point of view, closely related to the principles behind online shopping on the Internet.
Since there is usually more than one online shop that offers the product for which a user is looking, it would be worthwhile to have a system that automatically collects offers for a given product from several shops, so that the user ςan evaluate the different offers, e.g., by price or delivery time, etc., and then point the user's browser to the shop of choice. Such services have existed on the Internet for a few years. DealPilot.com (formerly known as Acses) at the U RL http://www. dealpilot. com (formerly at http://www.acses.com) is a good example of such a comparison shopping engine.
However, comparison shopping services like DealPilot.com have some limitations. If the user has found a product that the user wants to order over the Web, but wants to see competing offers before making a purchase decision, the user must leave the currently-browsed online shop, where the product of choice was found, and must point the browser to the comparison shopping service's website, where the user must identify and search for this product again, thus taking some time, effort and knowledge about how to use the comparison shopping service in detail. Then the user must leave the comparison shopping service's website and jump to a selected online shop (either to a new online shop or back to the one originally browsed. Therefore, a typical comparison shopping session can take up to several minutes for a single product.
For many users, this kind of online comparison shopping, although it may help them to find better offers, is just too tedious and complex and too difficult to operate, and thus many online shoppers do not use the current website-based comparison shopping services. Therefore, there is a need for a much more easy-to-handle and more intuitive system for comparison shopping on the Internet. A more efficient system would allow the user to continue to browse a favorite online shop, while at the same time allowing the user to compare offers from competing shops. Such a system also would not require the user to search for and identify the desired product again on another website. In addition, such a system would allow the user to perform an offer comparison with only a few mouseclicks, and would allow the complete comparison shopping process to take place in only a few seconds.
Summary of the Invention
The system of the present invention overcomes the difficulties discussed above by providing an advanced online comparison shopping system. In particular, the present invention is a system that monitors the user's activity on an interactive communications network, and if the user receives a sales offer for a -product from an online vendor on the associated network access device, the system (in a preferred embodiment) automatically collects competing offers from online vendors. These competing offers are then presented to the user on the user's network access device, and the user can thereafter decide whether to direct that network access device to one of the competing offers in one of the other online shops, or to "stay" in the current shop.
Preferably, the present invention consists of at least one comparison shopping server system, that is interconnected with and interacts with one or more comparison shopping client systems, and that is also interconnected with and interacts with one or more online shops, all through an interactive communications network; in its currently most preferred embodiment, the invention is implemented for use on the interactive communications network known as the Internet.
More preferably, the at least one comparison shopping server system comprises a comparison shopping server module which is executable on at least one comparison shopping server network access device (most preferably a computer machine at a server station, sometimes also referred to herein as a "comparison shopping server machine" or simply as a "server machine"), and each of the comparison shopping client systems comprises a comparison shopping client module which is executable on a comparison shopping client network access device (most preferably a computer .machine at a client station) operable by a consumer user (each such client station computer machine will also sometimes be referred to hereinafter as a "comparison shopping client machine" or simply as a "client machine"). Even more preferably, there is only one comparison shopping server machine, and most preferably, the comparison shopping server module and each of the comparison shopping client modules are implemented as software.
The client module can be an extension of the user's network access device (i.e., a "standalone" computer program) or, less preferably, an extension of the user's browser system (i.e., a browser "plug-in" computer program), or both, but in any case the client software has to be installed on the user's network access device (the client machine) before the first use. The server machine is a network access device that is continuously running the server module software and is permanently connected to the Internet, enabling it to await and receive requests from one or more installed client systems, and to process and respond to such requests; on a continuous basis.
In this embodiment, the comparison shopping client system is directed to monitor the user's browser activities, by ascertaining sequentially, in real time, the URLs requested by the browser and the informational content of those URLs. Thus, the client steadily monitors the user's Internet "surfing" actions and checks whether a product offer is-currently displayed in the user's browser, in which case the client system contacts the comparison shopping server system and sends the current URL or its informational content to the comparison shopping server system. The latter then identifies the currently- browsed shop and the product of interest, by extracting, from the information sent by the client, certain shop- and product-specific information, such as the server name, the product code, the name of the product or information about the product, e.g. the International Standard Book Number ("ISBN") for a book, or the author of a book.
After the shop and the product are identified, the comparison shopping server system collects offers for the identified product from competitors of the identified shop, either in real time (via HTTP) from the websites of those competing shops, or from "offer files" periodically sent to the server system by those shops. The collected offers are then parsed by the server to extract key information about them, e.g., the prices and other customer service attributes such as availability information. This information is then sent back as an answer to the comparison shopping client system which, in turn, displays this information to the user. The user can then select one of the alternative offers displayed by the comparison shopping client, and this will cause the client to point the user's browser to the corresponding product offer in the selected altemative shop.
Another feature of the present invention is that .the comparison shopping client can optionally be directed to query the user for information about the user's geographic location, specifically, a delivery address. This shipping information can then be sent to the comparison shopping server, so that the server can calculate, for each competing product offer, the associated shipping costs, the estimated sales taxes, and other costs (if any) that each particular user would have to pay (if a purchase decision were to be made), thereby "customizing" the offer information delivered to each user.
Thus, the invention informs the user about offers for the same product from competitors of the currently-browsed online shop, and allows the user to compare prices as well as other customer service attributes (such as the shipping options and the corresponding delivery times) and optionally, to ascertain the additional charges (e.g., shipping costs and estimated sales taxes, if any), associated with an offer for the given product. The user need not "leave" the currently-browsed online shop, and there is no need to search for and identify the product all over again at a comparison shopping website. In addition, the invention allows the user to perform the comparison shopping process with only a few mouseclicks and within several seconds. Brief Description of The Drawings
These and other objects, features and advantages of the present invention will become more apparent from the detailed description of the most preferred embodiment thereof, when read in conjunction with the accompanying drawings, wherein;
FIG. 1 is a" block diagram of the preferred system of the present invention and shows the communications between the user's browser, the comparison shopping client, the comparison shopping server, an online shop and some competitors of this online shop;
FIG. 2 is a block diagram of the preferred system of the present invention showing the communications between many browsers, comparison shopping clients, the comparison shopping server and many online shops;
FIG. 3 is a high level flow chart showing the comparison shopping process carried out with the present invention;
FIG. 4 is an operational flow diagram of the comparison shopping client;
FIG. 5 is an operational flow diagram of the comparison shopping
server; FIG. 6 is an illustrative diagram showing an example of a computer screen display generated at a client computer station by the system of the present invention (such- a diagram will hereinafter be referred to as a
"screenshot"), as a user "visits" a sample online shop via a browser and looks up a product;
FIG. 7 is a screenshot in which the comparison shopping client is notifying the user that it has recognized a product offer in the user's browser;
FIG. 8 is a screenshot in which the comparison shopping client is retrieving information about the offered product;
FIG. 9 is a screenshot in which the comparison shopping client is displaying a competing offer;
FIG. 10 is a screenshot in which the comparison shopping client is displaying several competing offers;
FIG. 11 is a screenshot in which the user has selected one of the alternative competing offers presented by the comparison shopping client in FIG. 10;
FIG. 12 is a screenshot in which the user's browser is being pointed by the comparison shopping client to the URL of the selected alternative offer; and
FIG. 13 is a screenshot in which the comparison shopping client is allowing the user to change certain personal settings.
Detailed Description of The Preferred Embodiment
Glossary of Terms and Acronyms
Interactive communications network: A distributed communications network in which a user has a realtime connection to other entities connected to the network (e.g., in the context of this invention, to one or more content providers). For example, classic radio is not interactive while radio-over-the-
Internet has some interactive elements. The most popular interactive communications network today is the Internet.
Network access device: A device providing a user with access to an interactive communications network. Well known network access devices include, but are not limited to, home personal computers, Internet terminals, interactive kiosks, cell phones and interactive digital televisions.
Online: A state in which a direct or packet oriented connection exists between a content provider and a network access device, such that information may be transmitted or received over an interactive communications network.
Online shop: A content provider on an interactive communications network that offers products or services for sale.
Hypertext Transport Protocol (HTTPV. The standard World Wide Web client-server protocol used for the exchange of information (such as HTML documents, and client requests for such documents) between a Web browser and a Web server. HTTP includes a number of different types of messages which can be sent from the client to the server to request different types of server actions. For example, a "GET" message, which has the format GET, causes the server to return the document or file located at the specified Universal Resource Locator (URL).
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 this invention, a data source that is offering informational content on an interactive communications network (e.g., an online shop) is called a "server," while a network access device communicating with and receiving informational content from such a server is called a "client." For the World Wide Web, the client software is typically a "Web browser" (or just a "browser") which runs on a user's computer machine; the program which responds to Web browser requests at a website is commonly referred to as a "Web server." Internet: A global collection of interconnected (public and/or private) computer networks that are linked together by a set of standard protocols to form a 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.
Intranet: A private or otherwise isolated part of the Internet, often with restricted access.
HvperText Markup Language (HTML): 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 Web browser, the codes are interpreted by the Web 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 (commonly referred to as
"hyperlinks") to other websites and other Web documents. For more information on HTML, see Graham, Ian S., The HTML Source Book, John
Wiley and Sons, Inc., 1995 (ISBN 0471-1 1894-4). Universal Resource Locator (URL): A string of alphanumeric characters and other symbols which together comprise a unique address that "points to," i.e., fully specifies the location of, a file or other resource on the Internet; such an address is also sometimes called a Uniform Resource Locator. The general format of a URL is protocol.7/machine address.port/path/filename. The machine address is usually set forth either in a standard numeric format or, more commonly, in an alphanumeric "domain name" format; the path and filename are usually set forth in alphanumeric characters as well. The port specification is optional, and if none is entered by the user, the Web browser defaults to the standard port for whatever service is specified as the protocol. For example, if HTTP is specified as the protocol, the Web browser will use the HTTP default port.
. Browser: Hardware and/or software that can download HTML or other informational multimedia content delivered from a URL, via HTTP or otherwise, and that can display it on a user's network access device.
World Wide Web ("Web") : Used herein to refer generally to both (1) a distributed collection of interlinked, user-viewable hypertext documents (commonly referred to as "Web documents" or "electronic pages" or "home pages") that are accessible via the Internet, and (2) 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 the Hypertext Transfer Protocol (HTTP), and the electronic pages are encoded using the Hypertext Markup Language (HTML). However, the terms "Web" and "World Wide Web" are intended to encompass all markup languages and transport protocols which have been developed previously and/or will be developed in the future, and which may be used in place of or in addition to the Hypertext Markup Language and the Hypertext Transfer Protocol, respectively.
Shop URL: A URL containing or including the machine address (either in numeric form or in domain name form) of a computer machine running server software through which an online shop operates. The term is also used herein to refer only to the alphanumeric machine address (domain name) portions of such URLs.
Relevant URL: A shop URL which identifies the specific location, on the server machine of the associated online shop, of a file or other resource that may contain an online offer.
Offer URL: A shop URL which identifies the specific location, on the server machine of the associated online shop, of a file or other resource that contains an online offer.
Implementation of the Offer Comparison System
As stated hereinabove, the most preferred embodiment is an implementation of the present invention on the Internet. Therefore, the accompanying drawing figures and the explanations given hereinbelow describe an offer comparison system on this public computer network. In this most preferred embodiment, each network access device is a computer machine which can be a "desktop," and/or a "laptop," and/or even a hand-held or "palmtop" computer machine.
In this embodiment, the invention most preferably comprises a central comparison shopping server system, comprising only one server module that is executable and is being executed (i.e., is "running") on a separate (most preferably dedicated) comparison shopping server computer machine, and that is interacting with a plurality of comparison shopping client systems, each of which comprises a client module that is executable and is running on a separate comparison shopping client computer machine. However, it is still within the scope of the most preferred embodiment of the present invention to have a plurality of comparison shopping server systems instead of just one, with each server module being "distributed," i.e., either fully integrated or merged with, or running alongside and "paired" with, a respective client module, on each user's on network access device. It is also within the scope of the most preferred embodiment of the present invention to have each comparison shopping client module fully integrated or merged with each user's respective browser module, or even with some other application that is executable on the client computer machine, rather than each client module being a "standalone" computer program or a browser "plug-in," and the same is possible for the plurality of distributed comparison shopping server modules if the invention is implemented such that more than one such server module exists, as described above.
Referring now to the drawings, and particularly to FIGS. 1-2 thereof,
FIG. 1 is a block diagram of the preferred embodiment of the present invention and presents an overview of the ways in which the different elements in the system interact. In general, this diagram illustrates the communications among a single user's browser, the comparison shopping client, the comparison shopping server, an online shop and several competitors of that online shop, as described in more detail hereinbelow.
Block 100 denotes the user's Internet access device, usually a personal computer, with block 101 denoting the browser running on this device and block 102 denoting the comparison shopping client also running on this device, the client communicating with the browser via a conventional interprocess communications system, such as the DDE system or the OLE system, both of which are available from Microsoft Corporation of Redmond, Washington. Block 103 represents a conventional Internet server, through which the browser communicates with an online shop, represented by block 104; block 105 represents yet another conventional Internet server, through which the comparison shopping client communicates with the comparison shopping server, represented by block 106. In brief, as the user's browser accesses the Online Shop 1 though Internet Server 1 , the comparison shopping client monitors the offers (if any) displayed in the browser, contacts the comparison shopping server through Internet Server 2, and sends information about the current offer to the comparison shopping server.
The comparison shopping server also communicates with Online Shop
1 , and with a plurality of competing online shops as well, represented by blocks 107, 109 and 1 1 1 , through still other Internet servers, represented by blocks 108, 110 and 112, respectively. In brief, the comparison shopping server contacts Online Shop 1 (a competitor of the online shop currently being browsed by the user) through Internet Server 1 , and requests an offer. The comparison shopping server also contacts other competing online shops (Competitor 1 , Competitor 2...Competitor X) through their respective Internet servers to collect additional competing offers, until a pre-set maximum amount of time has been consumed. Then the comparison shopping server sorts the collected offers and transmits them to the comparison shopping client, which thereafter displays these competing offers to the user, either immediately or upon request, through the user's browser.
FIG. 2 is a block diagram of the preferred embodiment of the present invention showing the communications among multiple users' browsers, their respective comparison shopping clients, the comparison shopping server and multiple online shops, as described in more detail below. Block 200 denotes the Internet access device of one user, running a browser represented by block 201 , and a comparison shopping client represented by block 202. These components cooperate as shown in FIG. 1 and as described hereinabove. However,_ as an extension of FIG. 1 , FIG. 2 also illustrates a plurality of additional users, each with an Internet access device, on which a browser and a comparison shopping client are running, represented by blocks 203, 204 and 205, respectively. All of the comparison shopping clients 1. . .X communicate with one comparison shopping server represented by block 207, through one conventional Internet server Y, denoted by block 206. Blocks 208 and 210 represent conventional Internet servers 1. . .Z, through which each of the browsers 1. . .X communicates with a single one of the respective online shops 1. . .Z, represented by blocks 209 and 211 , and through which the comparison shopping server also communicates with any or all of the online shops 1. . .Z.
In brief, as the different users access different online shops running on different Internet servers, their respective comparison shopping clients contact the comparison shopping server, which in turn contacts the group of online shops to collect competing offers, and then sends the collected offers back to each of the respective comparison shopping clients. The comparison shopping server machine and software are preferably equipped to process and keep track of requests from, and to send responses to, a plurality of comparison shopping clients, in real time and, from the user's point of view, virtually simultaneously; they are also preferably equipped to send requests to, and obtain responses from, a plurality of online shops, simultaneously and in parallel.
Referring now, in addition to the aforementioned FIGS. 1-2 of the drawings, to FIGS. 3-5 (wherein the comparison shopping client system is denoted as "the "CS Client" and the comparison shopping serve? system is denoted as the "CS Server"), FIG. 3 is a high level functionality flow chart showing the comparison shopping process within the present invention. It displays the typical steps for a single comparison shopping session. At start state 300, the process initializes and moves to state 301 , where the user has received a product offer screen in his browser. Proceeding to state 302, the comparison shopping client software now becomes active; it contacts the comparison shopping server machine and sends the offer information. At state 303, the comparison shopping server identifies the product that is the subject of the offer, and thereafter searches for and collects offers for that product from competitors of the online shop currently being browsed by the user. Moving to state 304, the competing offers are then sent from the comparison shopping server to the comparison shopping client, which displays these offers to the user, either immediately (which is preferred) or upon request, at state 305. Proceeding to state 306, the user can now select one of these competing offers, and at state 307 the comparison shopping client then points the users' browser to the URL of the selected offer, whereupon the process ends at end state 308.
FIG. 4 is a more detailed, operational flow diagram that focuses on the operational states of the comparison shopping client software. In general, it illustrates the functions that such software and the comparison shopping client machine must perform, as well as the sequence in which those functions are to be performed, during a comparison shopping session.
Specifically, beginning at start state 400, the comparison shopping client software module is launched by the user in a conventional well-known manner, either manually, such as by invoking it from the operating system of the user's network access device (either from a command processor, using a system command, or from a graphical user interface), or automatically, i.e., the client software can be installed such that it will be launched automatically each time the user's network access device is started, a feature that is also well known in the art.
In either case, after launch the client software will initially run "in the background" (i.e., without any visible indication of its operation on the display screen of the user's network access device), while it determines whether the user's network access device is connected to the Internet. If so, as its first action the client software obtains (at state 401) a list of shop URLs by sending a request to, and receiving a response from, the comparison shopping server, which maintains for this purpose a list of the shop URLs of all online shops known to the administrators of the server. The comparison shopping client uses this list in a subsequent state to determine whether the URL to which the user's browser is currently pointing is a shop URL. This list of shop URLs is preferably maintained in a simple ASCII text file, most preferably containing one shop URL per line, but the text can be arranged in other ways, and the list of shop URLs can also be maintained in other, more complex data storage arrangements, such as in a formal database structure.
As stated previously, upon launch the client software preferably first determines whether an Internet connection is available, and if so, the list of shop URLs is retrieved from the server machine at that time. Otherwise, if no Internet connection is immediately available, the client software goes into a wait state (not shown) until such a connection is established, after which the list of'shop URLs is retrieved from the server machine by the client. As will be apparent to those skilled in the art, the comparison shopping client software receives a "fresh" up-to-date list of shop URLs from the server machine virtually every time that the client software is launched on the user's network access device (except in the rare instances in which an Internet connection is not subsequently established before the client software is terminated or the user's network access device is powered down).
However, for those users whose network access devices are powered on continuously and are continuously connected to the Internet, and on which the comparison shopping client software is also continuously running, it is contemplated that the client software will update its list of shop URLs periodically, preferably once a day. In the preferred embodiment, this is accomplished automatically by causing the client software to monitor the system clock on the client machine, and to refresh its list of shop URLs by retrieving a replacement list from the server machine once every twenty-four hours. Most preferably this update occurs twenty-four hours after the client software is initially launched on the user's network access device, and in twenty-four hour intervals thereafter; in this manner, the requests for a list of shop URLs from a plurality of comparison shopping client installations are distributed more-or-less evenly over each twenty-four hour period, and the performance of the comparison shopping server is not adversely affected, as would be the case if, for example, all of such requests were received at once, at a fixed time of day. It is to be understood, however, that even a user who is continuously connected to the Internet can, if desired, force the client software to update its list of shop URLs at will (i.e., more frequently than every twenty- four hours), simply by terminating and thereafter re-launching the client software.
Although it is within the scope of the invention to cause the client software to automatically retrieve a current list of shop URLs from the server even more frequently, e.g., each time the user's browser is pointed to a new
URL (which, in some cases, might occur dozens or perhaps even hundreds of times in one day), this implementation is not preferred because it would put a greater load on the comparison shopping server software without a concomitant improvement in the overall performance of the comparison shopping system.
After the list of shop URLs is initially retrieved, the client software then determines whether any browser software is running on the user's network access device, and if so, the client software sends, via an interprocess communication system, a request to the browser to notify the client software in the future (through that same interprocess communication system) each time a new URL is loaded into the browser. Finally, the client software "registers" with the operating system to insure that it receives future notification if and when the user opens one or more separate browser windows, so that the activities in those windows can be monitored as well. The detailed initiation steps described above in this paragraph are not shown in the drawings in order to facilitate an understanding of the overall comparison shopping process.
Proceeding to state 402, if the user's browser (in its active window) is already pointing to a particular URL, then the client software begins to process that URL, as set forth in more detail below; otherwise, if the user's browser is not already pointing to a URL, the comparison shopping client goes into a wait state until a request is received from the user, or until the user's browser is pointed to a URL. As soon as this happens, the comparison shopping client software first determines, at decision state 402A, whether the user has sent a request, and if so, whether the user is requesting that the client software program be terminated; if so, the process moves to end state 409. Otherwise, the process continues and moves to an optional decision state 402B (which will not be described now, but will be described hereinbelow in connection with an optional "personal profile" feature of this invention), after which it is assumed that all possible user requests have been processed, and that the user's browser has therefore been pointed to a URL.
The client software, at decision state 403, thereafter compares the URL to which the user's browser is currently pointed to the list of shop URLs retrieved previously from the comparison shopping server, in order to determine whether the current URL is among those on the list (i.e., whether it is a shop URL and therefore must be sent to the comparison shopping server for further processing). If not, the process moves back to state 402, and the comparison shopping client waits until a new request is received from the user, or the user's browser is pointed to a new URL.
Otherwise, at state 404, the comparison shopping client sends the current URL to the comparison shopping server, and waits for the comparison shopping server to respond. Preferably, the transmission of the current URL to the server, which initiates a comparison shopping session, takes place automatically; however, it is within the scope of the present invention to require the user to provide manual confirmation that a comparison shopping session should proceed (such a confirmation requirement would be particularly advantageous when used in conjunction with a "batch" mode for the present invention, as described in further detail hereinbelow).
Also preferably, the comparison shopping client machine initially sends only the current URL itself to the comparison shopping server. However, as will be described in further detail hereinbelow, there are certain circumstances under which the client may later be required also to send to the server the informational content of the current URL, that is, the actual text and HTML tags of the file or other resource on the Internet to which the current URL points.
Also at state 404, the client software preferably begins to display automatically an indication to the user (not shown in FIG. 4) that a comparison shopping session has begun. In the preferred embodiment of the invention, the operating system of the user's network access device provides a conventional graphical user interface using .well known "windowing" technology, and the client software utilizes that technology to interface with the user. More preferably, the interface that the client software displays includes an "application bar" (a special window which is known in the graphical user interface programming art, characterized in that it appears "attached" to a screen border, and cannot be "overlaid" by any other windows, thus maintaining its visibility to the user); most preferably, the application bar is subdivided into several components, each of which either displays information to, or provides facilities for acceptance of input from, the user. The application bar preferably remains visible to the user throughout the current comparison shopping session, and also preferably becomes invisible (i.e., is "hidden") automatically when the current comparison shopping session ends (i.e., when the user's browser is subsequently pointed. to a URL that is not a shop URL, or is pointed to a shop URL that is not an offer URL); however, optionally the user can be provided with a facility with which to cause the application bar to be displayed and/or hidden manually, at any time, provided that the client software is still running on the user's network access device. The layout and features of the application bar that are preferred for use with the present invention will be described in further detail hereinbelow, along with the other components of the client software's preferred graphical user interface.
Moving now to decision state 405, if the comparison shopping server sends back a "null" response (i.e., a response containing no competing offers), which happens either because the current URL is not an offer URL, or because no competing offers were located by the server, then an "empty list" of competing offers, or some other appropriate notification, may optionally be displayed to the user (preferably within the application bar), after which the client software's preferred graphical user interface preferably becomes hidden automatically, and the process moves back to state 402, where the comparison shopping client waits until a new request is received from the user, or the user's browser is pointed to a new URL. Otherwise, the comparison shopping client displays, at state 406, a plurality, or perhaps even all of the competing offers transmitted by the comparison shopping server, either upon request from the user, or preferably automatically (i.e., without such a request). The automatic display mode is preferred only -because the manual display mode would require the user to take some affirmative action, such as pointing to and selecting, or "clicking on," a portion of the client software's graphical user interface, in order to see the transmitted competing offers.
Most preferably, the competing offers are displayed automatically in a window which "pops up" from the client software's preferred graphical user interface, and the competing offers are arranged within that window in a particular sequence, i.e., in the same sequence in which they were transmitted to the client machine by the comparison shopping server machine; the preferred transmission sequence corresponds to the sequence in which the server software sorts the competing offers, which will be described in further detail hereinbelow. However, it should be understood that other automatic display modes are possible, e.g., just the "best" competing offer (that is, the
"first" one transmitted) can be displayed initially in the client software's preferred graphical user interface, thus requiring the user to take some action (such as "clicking on" that portion of the user interface in which the "best" offer is displayed) in order to see many more, or perhaps even all, of the competing offers, which would preferably be displayed in a "pop up" window such as that described above.
Optionally, each user may be afforded an opportunity to choose among the available display modes (e.g., to choose among the manual display mode and either one of the two different automatic display modes described above), but in these cases, if no such choice is made by a particular user, the system will be programmed" to utilize, by default, the display mode that is described above as being most preferred.
After the competing offers are displayed to the user, the comparison shopping client proceeds to decision state 407, where it first waits to determine whether or not the user actually selects one of the displayed competing offers. If a competing offer is selected, then the comparison shopping client, at state 408, points the user's browser (through an interprocess communications system) to the URL of that offer (either by replacing the current URL in the user's browser with the URL of the selected competing offer, or, less preferably, by opening a new browser window and pointing it to the URL of the selected competing offer). It will be apparent to those skilled in the art that the selection by the user of one of the competing offers, which causes the associated "new" offer URL to be inserted into the user's browser at this time, even if at the behest of the client software, could immediately trigger another comparison shopping session, thus possibly causing user confusion. However, the client software may optionally be programmed to recognize whether any new URL in the user's browser was actually inserted therein by the client software itself, and if so, to avoid immediate initiation of another comparison shopping session for the very same product.
At the same time that a competing offer is selected by the user, the "pop up" window (listing all of the competing offers found) will preferably close; most prefer-ably, the "pop up" window should close either upon the user "clicking" on the screen anywhere outside of that "pop up" window, or upon selection by the user of one of the competing offers displayed within that window, but in either case, after the "pop up" window closes, the client software's preferred graphical user interface will preferably remain open and visible, and most preferably will continue to display just the "best" competing offer that was transmitted by the server. (Optionally, the user may also be provided with the ability to close the "pop up" window manually, by "clicking" on a standard "close button" which can be displayed thereon for this purpose, preferably in the upper right corner thereof.) Also, after the "pop up" window closes, preferably the user is provided with the option to re-open it again thereafter, at any time within the same comparison shopping session, (e.g., by "clicking" on that portion of the client software's preferred graphical user interface in which the "best" offer is displayed), so that the user may then select, repeatedly if desired, and in any sequence, either just one, or several, or all of the competing offers that were found and transmitted by the server.
After the user has finished reviewing the competing offers presented at state 408, the process thereafter moves back to state 402; if the user does not select any of the competing offers for review, then the process returns to state 402 without passing through state 408. In either case, the client then waits until a new request is received from the user, or the user's browser is pointed to a new URL. Preferably, unless the comparison shopping client software is affirmatively terminated by the user, or the user's network access device is powered down (intentionally or otherwise), the client software, after it is launched, continues to run on the user's network access device, even if the user's browser software is terminated or the user's Internet connection is severed.
FIG. 5 is a detailed, operational flow diagram that focuses on the operational states of the comparison shopping server software, and in general it visualizes the functions that such software and the comparison shopping server machine must perform, as well as the sequence in which those functions are to be performed, during a comparison shopping session.
Specifically, at start state 500, the server initializes and determines, at decision state 500A, whether the operator has sent a request, and is requesting that the server software program be terminated; if so, the process moves to end state 506. Otherwise, the process continues and moves to wait state 501 , until the server receives requests from one or more comparison shopping clients. For each such request, the server software first determines, at decision state 501A, whether the particular client is simply requesting the list of shop URLs discussed hereinabove; if so, the process moves to state 501AA, where the server transmits the current list of shop URLs to the client, and the process then returns to decision state 500A. Otherwise, the process moves to an optional decision state 501 B (which will not be described now, but will be described hereinbelow in connection with an optional "personal profile" feature of this invention), after which it is assumed that the request from the server contains a shop URL to which a user's browser has been pointed.
When such a request is received from a comparison shopping client, specifying a shop URL, the comparison shopping server software assumes that the URL transmitted by the comparison shopping client in that request is a relevant URL, and it then checks, at decision state 502, whether that URL contains information from which it may be possible to conclude that that URL actually points to an offer (for which competing offers could possibly be collected later by the system). This determination is made by parsing the relevant URL and thereby identifying the online shop to which the relevant
URL points, and by then comparing the remaining portions of the relevant URL with an internal database containing the corresponding portions of offer URLs from that online shop (this database is also maintained for this purpose on the comparison shopping server machine by the server software). Thus, the database contains information specifying, for each known online shop, the manner in which to recognize, from the relevant URL itself, whether or not it actually points to an offer from that shop (i.e., whether that relevant URL is also an offer URL). For example, the format of a standard industry number, such as an ISBN for a book, if detected within the path and/or filename portion(s) of the relevant URL, would indicate the presence of an offer.
If the comparison shopping server software cannot determine conclusively that the relevant URL is not an offer URL, then it causes the comparison shopping server machine to contact the online shop in question and to retrieve the informational content of the relevant URL, provided, of course, that the online shop's server software has not been pre-programmed to ignore requests from comparison shopping services, in which case the comparison shopping server software, taking a "back door" approach, causes the comparison shopping server machine to send a request to the comparison shopping client machine for the latter to transmit the informational content of the current shop URL to the server machine, as mentioned hereinabove.
In either case, the server software then parses this informational content, searching for a product identifier or other textual "clues" from which the presence of an online offer may be inferred. For example, the informational content can be scanned for a standard industry number, such as a number in ISBN format for a book, or if no such number is present, the informational content can be scanned for a product name, such as the title for an audio compact disk from which the matching standard industry number can then be derived by the server software by comparing the product name to an internal product list that preferably is also maintained by the server software for this purpose on the server machine.
If none of these approaches succeeds, then it is assumed that at the relevant URL does not point to an offer (i.e., that the relevant URL is not an offer URL even though the relevant URL does point to an online shop), and the server thereafter sends, at state 502A, a "null" response to the same comparison shopping client that initially transmitted the relevant URL to the server, after which the process moves back to decision state 500A, and usually to state 501 thereafter, where the comparison shopping server waits until a new request is received. But if the relevant URL is also an offer URL, then the comparison shopping server, at state 503, identifies the product in the offer (if this identification has not already been accomplished previously by the server software, at decision state 502), and then proceeds to state 504, where it searches for and collects offers for the same product from competing online shops, including even the user's currently-browsed online shop. Preferably, all of the competing online shops are contacted by the server simultaneously; most preferably, however, the comparison shopping server is programmed to seek competing offers only from online shops that offer the type of product that is currently of interest to the user, e.g., if the product of interest is a book, only the online shops that sell books would be contacted by the server for competing offers.
There are at least two different ways in which the server software can retrieve offer information from an online shop, and thereby collect competing offers. The first method involves an emulation approach, in which the server software imitates a human "shopper" who searches for, and then receives an offer for, a given product from a particular online shop. Specifically, the server software causes the server machine to contact one or more online shops and, using the product identifier obtained previously, causes the contacted online shop to search for (i.e., obtain one or more offer URLs for) the same product. If any of the online shops contacted is also offering the same product, it is assumed that the resulting offer(s) received by the server from each such contacted online shop compete(s) with the current offer being displayed in the user's browser. (It should be understood that for any or all of the online shops contacted, if the online shop's server software has been pre-programmed to ignore requests from comparison shopping services, the system can use a "back door" approach, similar to that described previously, for obtaining access to that shop's offer(s) for the identified product).
The method for obtaining competing offers that is described above is preferred, since it allows the server software to provide the user with real time offer information for the competing offers found. However, the second, alternative method (which may not always provide up-to-date, real time offer information) is to obtain the offer information from one or more "offer files" containing such information, which each online shop would periodically send to, and which would then be added to the internal database maintained by, the comparison shopping server software, allowing the latter to obtain offer information perhaps more quickly, and without creating additional "traffic" on the Internet. Although such "offer files" are conventional and have been known in the art for several years, it has been found that, at least currently, some online merchants are still reluctant to provide such files to comparison shopping services; therefore, this method for gathering competing offers is not preferred.
Regardless of the method used to collect the competing offers, a "timeout" feature preferably limits the time in which efforts to collect competing offers continue to be made, thereby increasing the responsiveness of the system in real time. The maximum time is preferably set by the administrators of the server, although it is also within the scope of the invention to allow each user to specify this value; in any event, this value is preferably in the range of 20 - 30 seconds.
If one or more competing offers are received, then the server software thereafter parses the informational content of each such offer URL, and extracts the necessary offer information (e.g., the domain name of the online shop, the base price for the product, the available shipping services and for each such shipping service, the associated estimated shipping time) and optionally certain other offer information (e.g., the "list" price for the product, from which the amount of the online shop's "discount" (if any) can be computed) for eventual display to the user. The server also preferably determines, for each competing offer, whether the online merchant currently has the product of interest in stock, and if so, it extracts the online merchant's estimated internal order processing time (i.e., the time the merchant needs before giving the product to a shipping service for eventual delivery).
Preferably, before the necessary information for each offer is displayed to the user, it is initially stored by the server software in an internal tab.le, where this information is sorted. Preferably, the information about the competing offers is sorted by the server software in ascending order by price (so that the "cheapest" offer is in the highest position, or "first"), but it is also possible to sort it by other customer service attributes (such as by the shipping time, or by total delivery time, for the product, or perhaps by the shipping service to be used; it is also within the scope of this invention to extract from each competing offer, and to display and even to sort the competing offers by, some other customer service attribute, such as the time period after which a full refund will no longer be provided for a returned product).
Optionally, the user may be afforded an opportunity to choose a default sort key from among the available sort keys (and perhaps even, as a further option, to be able to override this user-specified default occasionally, or for a period of time, e.g. for all individual comparison shopping sessions on a particular day), although in these situations, for all users who do not specify a default sort key, the system will preferably be programmed to utilize the price of the product as the predetermined default sort key for those users. In any event, moving to state 505, the collected competing offer information (if any) is extracted from the table and is then sent in sorted sequence to the same comparison shopping client that transmitted the relevant URL to the server in the first place, and thereafter the process moves back to decision state 500A, and usually to state 501 thereafter, where the comparison shopping server system again waits until a new request is received.
It is contemplated that the internal database of offer URLs maintained by the server software will be updated periodically, preferably once a day. In the preferred embodiment, this is accomplished automatically by causing the server software to monitor the system clock on the server machine, and to perform certain tests once every twenty-four hours. In general, for each online shop -the server software preferably maintains an internal database on the server machine, containing product identifiers for one or more products typically sold by that online shop, which the server uses to test whether it can still retrieve usable offer information from that online shop.
During each test, the comparison shopping server system sends one of these known product identifiers to the server machine that is running the online shop software, for insertion into the online shop's search facility, and the comparison shopping server software then parses the informational content of the URL received in response, while comparing it to the "acceptable" informational content for that URL that is also stored internally in the same database. If the response received is an offer URL with the expected informational content, then the test for that particular online shop ends. However, if not, it is first assumed that the online shop in question is no longer offering that "typical" product, and the same attempt is then made with one or more of the other products "typically" offered by that online shop. If these efforts fail for all "typical" products stored in the database for that shop, then the server software assumes either that the online shop in question has opted to alter the appearance (i.e., the arrangement or the format) of its typical offer form/screen (i.e., it has altered the informational content of its typical online offer URL), or that some other error has occurred. In either case, a flag is raised by the server software, which preferably causes the server machine to provide a corresponding indication to the administrators of the server that an update of the internal database or some other corrective action is required. Such updates are preferably then performed manually by an administrator, but automation of this function may also be possible and is therefore still within the contemplated scope of the present invention. It will be apparent to those skilled in the art that the foregoing test procedures also provide a facility with which to maintain quality assurance relative to the operation of the comparison shopping server software itself.
It is also contemplated that the list of shop URLs maintained by the comparison shopping server software will be updated periodically, preferably no more often than about once a week, in order to add the shop URL(s) of any new online shop(s) that may have come into existence, and/or to delete the shop URL(s) of any online shop(s) that may have ceased to operate. Such updates are also preferably performed manually by an administrator, although again, automation of this function may be possible and is therefore still within the scope of the present invention.
It is further contemplated that the comparison shopping system of the present invention can optionally be configured so as to allow it to operate with respect to offers for multiple products simultaneously, in a "batch" mode, rather than on one product offer at a time. For example, if a user has found several products of interest in the same online shop and has "placed" all of them into a virtual shopping cart provided by that shop, the invention can be used to collect competing offers for all products in the cart. As mentioned herein, in this mode the user would have to "trigger" the comparison shopping session(s) manually, by confirming that it/they should proceed, rather than relying upon automatic initiation thereof, as mentioned hereinabove.
Referring now to the remaining drawing figures (in addition to the aforementioned FIGS. 1-5), FIG. 6 is a screenshot as a user "visits" a sample online shop with his/her browser and looks up a product. In this example, the user has looked up the crime novel The Devil's Teardrop in the popular online bookstore Amazon.com, and is now studying the product description. At this moment, the comparison shopping client software has received a notification from the user's browser that a new URL has been loaded into the browser, and although there is no visible indication in this drawing figure, the client software begins a comparison shopping session for this product. This figure corresponds to state 403 of FIG. 4.
FIG. 7 is a screenshot in which the comparison shopping client notifies the user that it has recognized a shop URL in the user's browser. Near the bottom of the screen the client software's preferred graphical user interface (i.e., its application bar 700) has now appeared, in which the comparison shopping client displays status and other information. This figure corresponds' to state 404 of FIG. 4.
An illustrative, but nevertheless preferred, arrangement for some of the features of the application bar described hereinabove is shown in FIG. 7. The application bar as shown in this drawing figure (as well as in FIGS. 8-13) consists of a status portion 701 on the left, a product title portion 702 in the center, and an offer portion 703 on the right, in each of which the corresponding information may be displayed to the user at various times throughout each comparison shopping session. On the extreme right, the application bar also carries several "buttons" 704, 705, 706 and 707, which allow the user to provide input to, or to invoke special functions of, the client software, including, for example, a facility to allow the user to hide the application bar manually (if it is currently visible), as described hereinabove, or an optional "personal profile" feature, as described in further detail hereinbelow, or an optional "help" system, which is conventionally implemented either online and/or offline. It is also within the scope of the invention to provide an optional "stop" button (not shown), with which the user can abort a comparison shopping session that is already in progress, and/or an optional "confirm" button (not shown), with which the user can manually initiate a comparison shopping session in cases in which the client software has been configured such that such sessions are not initiated automatically.
It should be noted that the client software's preferred graphical user interface also preferably includes (apart from the application bar) a visual icon 708, which is displayed continuously on the user's network access device whenever the client software is running (even if the application bar itself remains hidden); as shown in FIGS. 7-13 (as well as in FIG. 6), the icon 708 (resembling a flag) is illustratively displayed on the bottom line of the screen, in an .area near the right edge (that is known in certain widely used graphical user interfaces as the "system tray") in which other icons, perhaps representing other programs and/or facilities that are running in the background on the user's network access device, are also displayed. Preferably, the icon 708 at least provides the user with facilities to display the application bar (if it is currently hidden), as described hereinabove, or to terminate the client software entirely, if desired. The implementation of the features of the client software's preferred graphical user interface that are described above is well within the skill of the art.
FIG. 8 is a screenshot in which the comparison shopping client is retrieving information about the product that is the subject of the offer. In this situation, the client has extracted the specification of the product from the current offer, and is displaying this information (in this case the title of the book) in the product title portion of its application bar while, in the "background," it is requesting and then receiving information about competing offers from the comparison shopping server. This figure corresponds to state 406 of FIG. 4.
FIG. 9 is a screenshot in which the comparison shopping client displays a competing offer. Specifically, in this screenshot the comparison shopping client has retrieved competing offers from the comparison shopping server and is displaying one of them (the "best" one) in the offer portion of its application bar. This figure also corresponds to state 406 of FIG. 4.
FIG. 10 is a screenshot similar to FIG. 9, but in which the comparison shopping client is displaying several different competing offers at once to the user, in a pop-up window containing a conventional, scrollable, menu-style tabular list. As shown illustratively in FIG. 10, for each collected competing offer the comparison shopping client system preferably displays at least the name (and preferably also the geographic location) of the competing online shop, as well as the base price (or "item price") for the product of interest (if it were to be purchased from that shop), the available shipping methods or services, and the associated estimated shipping times. Also, the estimated shipping time can be added internally, either by the server software module or by the client software module, to the online shop's estimated internal order processing time (not displayed separately in FIG. 10), so as to calculate and display an estimated total delivery time for the product. Additional information for each of the collected competing offers may also be displayed, as described in further detail hereinbelow in connection with the optional "personal profile" feature of this invention.
FIG. 1 1 is a screenshot in which the user is pointing to, and is about to select, one of the competing offers presented by the comparison shopping client. The background of the selected offer is highlighted and/or displayed in a contrasting color. This figure corresponds to state 407 of FIG. 4.
FIG. 12 is a screenshot in which the user's browser has now been pointed by the comparison shopping client to the URL of the competing offer that was selected by the user in FIG. 11. This figure corresponds to state 408 of FIG. 4.
An optional but desirable enhancement of the comparison shopping system of the present invention includes a mechanism whereby the user can provide shipping information (e.g., the user's own postal address) to the comparison shopping client, and preferably can later also change or update that information. If this information is provided, it will then be used by the comparison shopping server to calculate certain additional costs which are usually associated with an offer and which often depend on this geographic information (e.g., shipping and handling costs, estimated sales taxes, etc.), thereby enhancing, and also "customizing" for each user of the system, the offer information delivered.
Specifically, either during the installation of the comparison shopping client software (on the user's computer machine), or more preferably, during the first use (after installation) of the client software by the user, the client software allows the user an option to provide the system with certain personal information. If the user decides to do so, then the client software prompts the user (using a standard "dialog box") to enter his/her shipping information, i.e., the address or location to which any products that might be of interest to the user would have to be delivered in the event that any such products were to be purchased by the user from an online shop. At the same time, the user could optionally be prompted to enter his/her e-mail address, as well as certain demographic information (for possible subsequent provision to potential advertisers), such as the user's age, sex, interests, occupation, etc., although preferably the provision of the user's demographic information will be voluntary, i.e., optional.
For each user, this personal information (collectively called a "personal profile") is then held in the random access memory of the user's network access device, and may optionally (but preferably) also be stored permanently by the system, either on the comparison shopping server, or with the comparison shopping client on the user's network access device. Most preferably, the personal profile is initially stored on the comparison shopping client machine (i.e., on the user's network access device) in a conventional text file, and is thereafter sent by the client to the comparison shopping server machine, either as soon as an Internet connection becomes available, or if an Internet connection is already available, immediately. The server software stores the data contained in each user's personal profile in an internal database maintained on the server machine by the server software for this purpose. Furthermore, the server software may optionally generate a user identification number or registration number for each user, and thereafter will cause the server machine to send this user identification number back to the client machine associated with that particular user, where it is maintained in the random access memory and is also stored on the client machine.
. Preferably, each time the client software is launched, the user's personal profile is re-loaded into, and is retained within, the random access memory of the user's network access device until the client software is terminated. If a user wishes to update his/her established personal profile, or if a user, who declined to establish a personal profile initially, later wishes to establish one, the user will have the option to do so, as shown schematically in the flowchart of FIG. 4 at decision state 402B, by sending a request to the client software, most preferably by "clicking" on a portion of the client software's preferred graphical user interface (e.g., on "button" 705 of the application bar 700, as shown in FIGS. 6-13), thereby recalling or initiating, respectively, the personal profile dialog box described hereinabove. FIG. 13 is a screenshot of an exemplary dialog box displayed by the comparison shopping client software, in which the user can provide or change his/her personal profile data; in this drawing figure, the "button" 705 is highlighted and/or displayed in a contrasting color. The new and/or changed personal profile data is thereafter sent to the server machine at state 402BB, either immediately or when an Internet connection next becomes available, after which the process shown in FIG. 4 moves back to state 402, where the client software waits for further input as described hereinabove.
As shown in the flowchart of FIG. 5, the server software inspects, at decision state 501 B, all requests received from each installed comparison shopping client system for such new or changed personal profile data; if such a request is received, the data is used at state 501 BB to initialize or to update the associated user's personal profile data in the personal profile database (for all users) that is maintained by the server system, as described hereinabove. Then, the process shown in FIG. 5 moves back to decision state 500A, and usually to state 501 thereafter, where the server system waits for further input as described hereinabove. The creation and maintenance of a personal profile data registration system, whereby personal profiles are established and may be updated from time to time by each of a plurality of users, is well known in the art and the manner in which to implement such a system will be apparent to a programmer of ordinary skill. If a personal profile is established for a particular user, then when the comparison shopping client system detects that the user's browser is pointing to a shop URL (at decision state 403 in FIG. 4), it will send the user's identification number to the comparison shopping server system along with the other information denoted in state 404 and described hereinabove. The comparison shopping server system then uses the identification number to locate that user's personal profile data in its database, and subsequently uses that personal profile data for the calculation of the shipping costs and estimated sales taxes associated with each of the collected competing offers.
The server software can be programmed to calculate these additional charges by including the user's shipping information among the data that are transferred to each online shop when the competing offers are collected (at state 504 in FIG. 5), i.e., by actually entering the user's shipping information into the search or purchase forms of each of the competing online shops, thereby causing these shops, in turn, to report these additional offer costs back to the comparison shopping server system. More preferably, however, the server software can be programmed to calculate these additional offer costs by using its own methods (which emulate the methods with which these costs are calculated by the online shops themselves), e.g., by consulting an internal database containing a list of geographic locations and the shipping costs and estimated sales taxes associated with each such location (such a database can be maintained on the server machine by the server software for this purpose). In either case, at state 505 these additional offer costs are thereafter sent to, and are then displayed to the user at state 406 by, the comparison shopping client system, along with the other more basic offer information that the server ordinarily retrieves for each of the collected competing offers, as described hereinabove.
As shown illustratively in FIG. 10, these additional offer costs may be displayed to the user in the pop-up window in several useful ways. For example, for each collected competing offer the shipping costs and the estimated sales taxes (which are not displayed separately in FIG. 10) can be added to the item price internally, either by the server software or by the client software, so as to calculate and display the total price for the product for that user. In addition, for each competing offer the shipping costs and the estimated sales taxes (and perhaps other offer information as well, such as the "discount") may optionally be displayed separately, but preferably for only one competing offer at a time, and most preferably in a small box that appears adjacent to the tabular information for that same competing offer, but which appears only when the user places the cursor on, or otherwise highlights, that competing offer; such a box is shown illustratively at 1100 in FIG. 11 and is akin to a conventional "tooltips" box, the implementation of which is known in the graphical user interface programming art. The use (or not) of the various display modes and options described above are matters of design choice, and their implementation is well within the skill of the art. Although the invention has thus far been described only with respect to the preferred implementation thereof on the Internet (the latter being an interactive communications network which, until very recently, classically consisted almost exclusively of computer machines as the network access devices, interconnected by conventional ground-based wired telephone links), it should be understood that it is within the scope of the present inventjon to implement it on different interactive communications networks, especially those networks which utilize electronic network access devices that are interconnected in other ways but are microprocessor-based nevertheless, and are therefore quite similar to computer machines; examples of such networks that exist today include wireless ground-based telephone networks, wireless satellite-based communications networks and ground-based cable television networks.
The expected convergence of the Internet with these types of networks is nowadays often the subject of reports in the popular and scientific press, as well as in the technical literature, and is exemplified by the advent of "cable modems" and wireless modems for computer machines, as well as by the introduction of "Web TV services with which users can access websites using network access devices that are connected to a cable television network (i.e., on their home television sets), and by the already-announced capability of some wireless cellular telephone networks to allow users to receive electronic mail and fax transmissions on their network access devices (i.e., on their "cell phones"), and to access websites of content providers such as Yahoo! on those devices as well (i.e., to access computer machines linked to the Internet using those devices, albeit perhaps only in a limited fashion at this stage of development). Thus, it is clear that these other interactive communications- networks are already (or soon will be) structurally quite similar to the Internet (in its classic form), and that the present invention can therefore be implemented on such other networks with only minimal technical modifications thereof, which modifications are considered to be well within the skill of the art. Such other implementations of the present invention should also be considered as preferred embodiments thereof.
While there has been described what are at present considered to be the preferred embodiments of the present invention, it will be apparent to those" skilled in the art that the embodiments described herein are by way of illustration and not of limitation, and that various changes and modifications may be made therein without departing from the true spirit and scope of the present invention, as set forth in the appended claims.

Claims

Claims
1. A comparison shopping system for use on an interactive communications network, said system comprising at least one comparison shopping server module configured to communicate with at least one online vendor, at least one comparison shopping client module, each said at least one client module being executable on a respective comparison shopping client network access device on which a network browser is also executable, said network browser being configured to communicate with, and to receive a first sales offer for at least one product from, a first one of said at least one online vendors, and to display information about said first sales offer on said client network access device, each said at least one client module being configured to communicate with, and to receive comparative sales offer information for said at least one product from, said server module, and to be capable of displaying said comparative sales offer information on said client network access device in conjunction with the ongoing display of said first sales offer information by said network browser on said client network access device, said server module being configured also to retrieve said comparative sales offer information from said at least one online vendor, and to deliver said comparative sales offer information separately to each respective one of said at least one client modules.
2. The system of claim 1 wherein each said at least one server module is executable on the same respective comparison shopping client network access device on which each said at least one client module is also executable.
3. The system of claim 2 wherein for each said comparison shopping client network access device, said server module is integrated with a different module that is executable thereon, and said client module is integrated with a different module that is executable thereon.
4. The system of claim 3 wherein said server module is integrated with said client module.
5. The system of claim 1 wherein said at least one server module comprises just one server module, and wherein said just one server module is executable on a single comparison shopping server network access device.
6. The system of claim 5 wherein each said respective network browser is further configured to request said first sales offer and to receive said first sales offer information in response thereto, wherein each one of said at least one client modules is further configured to request said comparative sales offer information and to receive said comparative sales offer information in response thereto, and wherein said server module is further configured to receive at least one request for said comparative sales offer information separately from each one of said at least one client modules and to retrieve said comparative sales offer information in response to each said at least one request therefor.
7. The system of claim 6 wherein said at least one client module comprises just one client module.
8. The system of claim 6 wherein said at least one client module comprises a plurality of client modules, and wherein, for each one of said at least one products, said comparative sales offer information is delivered to the respective one of said plurality of client modules that requested said comparative sales offer information for said product.
9. The system of claim 8 wherein said at least one online vendor comprises a plurality of online vendors, and wherein said at least one product comprises a plurality of products on each of which said system operates disjunctively.
10. The system of claim 8 wherein said at least one online vendor comprises a plurality of online vendors, and wherein said at least one product comprises a plurality of products on all of which said system operates conjunctively.
1 1. The system of claim 9 wherein, for each one of said plurality of products, the requested comparative sales offer information is delivered automatically.
12. The system of claim 1 1 wherein said interactive communications network comprises at least one network that is selected from the group consisting of networks whose respective network access devices are interconnected by ground-based wired telephone links, by ground-based wireless telephone links, by ground-based cable television links, by wireless satellite links and by combinations thereof.
13. The system of claim 12 wherein said interactive communications network comprises a network whose respective network access devices are interconnected by ground-based wired telephone links.
14. The system of. claim 12 wherein said interactive communications network comprises a network whose respective network access devices are interconnected by ground-based wireless telephone links.
15. The system of claim 12 wherein said interactive communications network comprises a network whose respective network access devices are interconnected by ground-based cable television links.
16. The system of claim 12 wherein at least one of said network access devices is a television.
17. The system of claim 12 wherein at least one of said network access devices is a wireless telephone.
18. The system of claim 12 wherein at least one of said network access devices is a computer machine.
19. The system of claim 12 wherein said network comprises the Internet.
20. The system of claim 19 wherein there are a plurality of users thereof, wherein each respective comparison shopping client network access device comprises a computer machine at a client station, and wherein each respective client station is operable by at least one of said plurality of users, to whom the requested comparative sales offer information is delivered.
21. An apparatus for delivery of comparative shopping information on an interactive communications network, said apparatus comprising at least one comparison shopping server module configured to communicate with at least one online vendor, at least one comparison shopping client module, each said at least one client module being executable on a respective comparison shopping client network access device on which a network browser is also executable, said network browser being configured to communicate with, and to receive a first sales offer for a product from, a first one of said at least one online vendors, and to display information about said first sales offer on said client network access device, each said at least one client module being configured to communicate with, and to receive comparative sales offer information for said product from, said server module, and to be capable of displaying said comparative sales offer information on said client network access device in conjunction with the ongoing display of said first sales offer information by said network browser on said client network access device, said server module being configured also to retrieve said comparative sales offer information from said at least one online vendor, and to deliver said comparative sales offer information separately to each respective one of said at least one client modules.
22. The apparatus of claim 21 wherein each said at least one server module is executable on the same respective comparison shopping client network access device on which each said at least one client module is also executable.
23. The apparatus of claim 22 wherein for each said comparison shopping client network access device, said server module is integrated with a different module that is executable thereon, and said client module is integrated with a different module that is executable thereon.
24. The apparatus of claim 23 wherein said server module is integrated with said client module.
25. The apparatus of claim 21 wherein said at least one server module comprises just one server module, and wherein said just one server module is executable on a single comparison shopping server network access device.
26. The apparatus of claim 25 wherein each said respective network browser is further configured to request said first sales offer and to receive said first sales offer information in response thereto, wherein each one of said at least one of client modules is further configured to request said comparative sales offer information and to receive said comparative sales offer information in response thereto, and wherein said server module is further configured to receive at least one request for said comparative sales offer information separately from each one of said at least one client modules and to retrieve said comparative sales offer information in response to each said at least one request therefor.
27. The apparatus of claim 26 wherein said at least one client module comprises just one client module.
28. The apparatus of claim 26 wherein said at least one client module comprises a plurality of client modules, and wherein, for each one of said at least one products, said comparative sales offer information is delivered to the respective one of said plurality of client modules that requested said comparative sales offer information for said product.
29. The apparatus of claim 28 wherein said at least one online vendor comprises a plurality of online vendors, and wherein said at least one product comprises a plurality of products on each of which said apparatus operates disjunctively.
30. The apparatus of claim 28 wherein said at least one online vendor comprises a plurality of online vendors, and wherein said at least one product comprises a plurality of products on all of which said apparatus operates conjunctively.
31. The apparatus of claim 29 wherein, for each one of said plurality of products, the requested comparative sales offer information is delivered automatically.
32. The apparatus of claim 31 wherein said interactive communications network comprises at least one network that is selected from the group consisting of networks whose respective network access devices are interconnected by ground-based wired telephone links, by ground-based wireless telephone links, by ground-based cable television links, by wireless satellite links and by combinations thereof.
33. The apparatus of claim 32 wherein said interactive communications network comprises a network whose respective network access devices are interconnected by ground-based wired telephone links.
34. The apparatus of claim 32 wherein said interactive communications network comprises a network whose respective network access devices are interconnected by ground-based wireless telephone links.
35. The apparatus of claim 32 wherein said interactive communications network comprises a network whose respective network access devices are interconnected by ground-based cable television links.
36. The apparatus of claim 32 wherein at least one of said network access devices is a television.
37. The apparatus of claim 32 wherein at least one of said network access devices is a wireless telephone.
38. The apparatus of claim 32 wherein at least one of said network access devices is a computer machine.
39. The apparatus of claim 32 wherein said network comprises the Internet.
40. The apparatus of claim 39 wherein there are a plurality of users thereof, wherein each respective comparison shopping client network access device comprises a computer machine at a client station, and wherein each respective client station is operable by at least one of said plurality of users, to whom the requested comparative sales offer information is delivered.
41. An apparatus for providing to at least one potential purchaser, on an interactive communications network, comparative shopping information for a product of interest to said at least one potential purchaser, said apparatus comprising
at least one comparison shopping server module configured to communicate with at least one online vendor, at least one comparison shopping client module," each said at least one "client module being executable on a respective comparison shopping client network access device operable by said at least one potential purchaser on which a network browser is also executable, said network browser being configured to communicate with, and to receive a first sales offer for said product from, a first one of said at least one online vendors, and to display information about said first sales offer on said client network access device, each said at least one client module being configured to communicate with, and to receive comparative sales offer information for said product from, said server module, and to be capable of displaying said comparative sales offer information on said client network access device in conjunction with the ongoing display of said first sales offer information by said network browser on said client network access device, said server module being configured also to retrieve comparative sales offer information from said at least one online vendor, and to deliver said comparative sales offer information to each respective one of said at least one client modules.
42. The apparatus of claim 41 wherein each said at least one server module is executable on the same respective comparison shopping client network access device on which each said at least one client module is also executable.
43. The apparatus of claim 42 wherein for each said comparison shopping client network access device, said server module is integrated with a different module that is executable thereon, and said client module is integrated with a different module that is executable thereon.
44. The apparatus of claim 43 wherein said server module is integrated with said client module.
45. The apparatus of claim 41 wherein said at least one server module comprises just one server module, and wherein said just one server module is executable on a single comparison shopping server network access device.
46. The apparatus of claim 45 wherein each said respective network browser is further configured to request said first sales offer and to receive said first sales offer information in response thereto, wherein each one of said at least one client modules is further configured to request said comparative sales offer information and to receive said comparative sales offer information in response thereto, and wherein said server module is further configured to receive at least one request for said comparative sales offer information separately from each one of said at least one client modules and to retrieve said comparative sales offer information in response to each said at least one request therefor.
47. The apparatus of claim 46 wherein said at least one client module comprises just one client module.
48. The apparatus of claim 46 wherein said at least one client module comprises a plurality of client modules, and wherein, for each one of said at least one products, said comparative sales offer information is delivered to the respective one of said comparative sales offer information for said product.
49. The apparatus of claim 48 wherein said at least one online vendor comprises a plurality of online vendors, and wherein said at least one product comprises a plurality of products on each of which said apparatus operates disjunctively.
50. The apparatus of claim 48 wherein said at least one online vendor comprises a plurality of online vendors, and wherein said at least one product comprises a plurality of products on all of which said apparatus operates conjunctively.
51. The apparatus of claim 49 wherein, for each one of said plurality of products, the requested comparative sales offer information is delivered automatically.
52. The apparatus of claim 51 wherein said interactive communications network comprises at least one network that is selected from the group consisting of networks whose respective network access devices are interconnected by ground-based wired telephone links, by ground-based wireless telephone links, by ground-based cable television links, by wireless satellite links and by combinations thereof.
53. The apparatus of claim 52 wherein said interactive communications network comprises a network whose respective network access devices are interconnected by ground-based wired telephone links.
54. The apparatus of claim 52 wherein said interactive communications network comprises a network whose respective network access devices are interconnected by ground-based wireless" telephone links.
55. The apparatus of claim 52 wherein said interactive communications network comprises a network whose respective network access devices are interconnected by ground-based cable television links.
56. The apparatus of claim 52 wherein at least one of said network access devices is a television.
57. The apparatus of claim 52 wherein at least one of said network access devices is a wireless telephone.
58. The apparatus of claim 52 wherein at least one of said network access devices is a computer machine.
59. The apparatus of claim 52 wherein said network comprises the Internet.
60. The apparatus of claim 59 wherein said at least one potential purchaser comprises a plurality of potential purchasers, wherein each respective comparison shopping client network access device comprises a computer machine at a client station, wherein each potential purchaser is a user of said apparatus, and wherein each respective client station is operable by at least one of said plurality of users, to whom the requested comparative sales offer information is provided.
61. An apparatus for delivery of comparative shopping information on an interactive communications network of server and client computer station systems including at least one online vendor, each said at least one online vendor operating through said network in a server module at a respective vendor computer station connected to said network, said apparatus operating in a server module at a server station and in at least one client module at a respective client station communicating with said server station through said network, each said respective client station also having a browser module capable of retrieving through said network and displaying at said client station a first sales offer for at least one product from one of said at least one online vendors, in response to which said respective client module is capable of generating a request to said server module, said server module is capable of responding to said request with at least one competing sales offer for said at least product retrieved by said server module through said network from said at least one online vendor, and said client module is capable of simultaneously displaying said at least one competing sales offer at said client station while said browser module is also capable of displaying said first sales offer at said respective client station.
62. The apparatus of claim 61 wherein said at least one client module comprises a plurality of client modules.
63. The apparatus of claim 62 wherein said at least one online vendor comprises a plurality of online vendors, and wherein said at least one product comprises a plurality of products on each of which said apparatus operates disjunctively.
64. The- apparatus of claim 62 wherein said at least one online vendor comprises a plurality of online vendors, and wherein said at least one product comprises a plurality of products on all of which said apparatus operates conjunctively.
65. The apparatus of claim 63 wherein said interactive communications network comprises at least one network that is selected from the group consisting of networks whose respective network access devices are interconnected by ground-based wired telephone links, by ground-based wireless telephone links, by ground-based cable television links, by wireless satellite links and by combinations thereof.
66. The apparatus of claim 65 wherein said interactive communications network comprises a network whose respective network access devices are interconnected by ground-based wired telephone links.
67. The apparatus of claim 65 wherein said interactive communications network comprises a network whose respective network access devices are interconnected by ground-based wireless telephone links.
68. The apparatus of claim 65 wherein said interactive communications network comprises a network whose respective network access devices are interconnected by ground-based cable television links.
69. The apparatus of claim 65 wherein at least one of said network access devices is a television.
70. The apparatus of claim 65 wherein at least one of said network access devices is a wireless telephone.
71 . The apparatus of claim 65 wherein at least one of said network access devices is a computer machine.
72. The apparatus of claim 65 wherein said network comprises the Internet.
73. The apparatus of claim 72 wherein, for each one of said plurality of products, said plurality of online vendors comprises a plurality of online vendors for said product.
74. The apparatus of claim 73 wherein for each one of said plurality of products, the requested comparative sales offer information is delivered upon demand.
75. The apparatus of claim 73 wherein, for each one of said plurality of products, the requested comparative sales , offer information is delivered automatically.
76. The apparatus of claim 75 wherein there are a plurality of users thereof, and wherein each respective client station is operable by at least one of said plurality of users, to whom the requested comparative sales offer information is delivered.
77. The apparatus of claims 40, 60 or 76 wherein, for each one of said plurality of products, said comparative sales offer information comprises, for each respective comparative sales offer retrieved, the identity of the respective online vendor and the amount of the respective price for said product.
78. The apparatus of claim 77 wherein said comparative sales offer information further comprises, for each comparative sales offer retrieved, at least one customer service attribute associated with the respective comparative sales offer.
79. The apparatus of claim 78 wherein said at least one~customer service attribute is selected from the group consisting of the shipping service to be used to deliver said product, the estimated shipping time associated therewith, and the estimated total delivery time for said product.
80. The apparatus of claim 79 wherein said comparative sales offer information is sorted before it is displayed on said client station.
81 . The apparatus of claim 80 wherein said server module is configured to sort said comparative sales offer information.
82. The apparatus of claim 81 wherein said comparative sales offer information is sorted according to a predesignated sort key.
83. The apparatus of claim 82 wherein said predesignated sort key comprises, and said comparative sales offer information is thereby sorted according to, the price for said product.
84. The apparatus of claim 83 further comprising a registration module for obtaining, registering, storing and maintaining a separate compilation of data for each said user thereof, said data compilation comprising, for each said user, data concerning the location at which the user desires to receive shipment of products purchased online, the apparatus utilizing said data to calculate additional sales offer costs associated with each respective comparative sales offer retrieved, said client module being configured to display said additional sales offer costs in conjunction with the display of said comparative sales offer information.
85. The apparatus of claim 84 wherein said data compilation comprises geographic information about the user selected from the group consisting of the user's postal address and the user's delivery address.
86. The apparatus of claim 85 wherein said additional sales offer costs comprise at least one of the costs selected from the group consisting of the shipping costs associated with each respective comparative sales offer, the handling costs associated with each respective comparative sales offer and the taxes imposed by at least one governmental authority that may be applicable to the potential purchase transaction represented by each respective comparative sales offer.
87. The apparatus of claim 86 wherein said data compilation is registered and maintained by said server module, and is stored on said server station.
88. The apparatus of claim 87 wherein, for each said user, said data compilation is obtained by said user's respective client module.
89. The apparatus of claim 88 wherein said data compilation is updated by each said user's respective client module in response to an update request from the respective user.
90. The apparatus of claim 89 wherein said data compilation further comprises, for each said user, demographic information about said user.
91 . An online comparison shopping system to compare sales offers for the same at least one product from a plurality of online vendors, said system utilizing an interactive communications network and comprising a comparison shopping client residing on each respective user's network access device and configured to monitor each user's respective online activity and to contact a comparison shopping server in order to request competing sales offers for said at least one product from said plurality of vendors automatically upon presentation of a first sales offer for one of said products from one of said plurality of online vendors on each said user's network access device, said server residing on a network server device and configured to receive said request from each said respective client, to identify each said at least one product, to contact online vendors for each said at least one product, to collect comparative sales offers for each said at least one product therefrom, and to send information about said comparative sales offers to each said respective client, each said client being further configured to display said comparative sales offer information on the respective user's network access device while said first sales offer is also being presented on said user's respective network access device.
92. The system of claim 91 wherein at least one of each said user's respective network access devices is a television.
93. The system of claim 91 wherein at least one of each said user's respective network access devices is a wireless telephone.
94. The system of claim 91 wherein at least one of each said user's respective network access devices is a computer machine.
95. The system of claim 94 wherein said interactive communications network comprises the Internet.
96. The system of claim 95 wherein said at least one product comprises a plurality of products, wherein there are a plurality of users of said system, wherein each said user's respective network access device comprises a computer machine at a client station, and wherein each respective client station is operable by at least one of said plurality of users, to whom the requested comparative sales offer information is delivered.
97. The system of claims 20 or 96 wherein for each one of said plurality of products, said comparative sales offer information comprises, for each respective comparative sales offer retrieved, the identity of the respective online vendor and the amount of the respective price for said product.
98. The system of claim 97 wherein said comparative sales offer information further comprises, for each comparative sales offer retrieved, at least one customer service attribute associated with the respective comparative sales offer.
99. The system of claim 98 wherein said at least one customer service attribute is selected from the group consisting of the shipping service to be used to deliver said product, the estimated shipping time associated therewith, and the estimated total delivery time for said product.
100. The system of claim 99 wherein said comparative sales offer information is sorted before it is displayed on said client station.
101. The system of claim 100 wherein said server module is configured to sort said comparative sales offer information.
102. The system of claim 101 wherein said comparative sales offer information is sorted according to a predesignated sort key.
103. The system of claim 102 wherein said predesignated sort key comprises, and said comparative sales offer information is thereby sorted according to, the price for said product.
104. The system of claim 103 further comprising a registration module for obtaining, registering, storing and maintaining a separate compilation of data for each said user thereof, said data compilation comprising, for each said user, data concerning the location at which the user desires to receive shipment of products purchased online, the system utilizing said data to calculate additional sales offer costs associated with each respective comparative sales offer retrieved, said client module being configured to display said additional sales offer costs in conjunction with the display of said comparative sales offer information.
105. The system of claim 104 wherein said data compilation comprises geographic information about the user selected from the group consisting of the user's postal address and the user's delivery address.
106. The system of claim 105 wherein said additional sales offer costs comprise at least one of the costs selected from the group consisting of the shipping costs associated with each respective comparative sales offer, the handling costs associated with each respective comparative sales offer and 5
-74-
the taxes imposed by at least one governmental authority that may be applicable to the potential purchase transaction represented by each respective comparative sales offer.
107. The system of claim 106 wherein said data compilation is registered and maintained by said server module, and is stored on said server station.
108. The system of claim 107 wherein, for each said user, said data compilation is obtained by said user's respective client module.
109. The system of claim 108 wherein said data compilation is updated by each said user's respective client module in response to an update request from the respective user.
110. The system of claim 109 wherein said data compilation further comprises, for each said user, demographic information about said user.
11 1 . A computer program storage medium readable by a computer system and encoding a computer program of instructions for executing a computer process in a server computer for receiving at least one request for comparative shopping information for at least one product from at least one client computer, each said at least one client computer having a browser system, each respective one of said requests being initiated upon the appearance in said browser system of a first sales offer for a respective one of said products, said server computer responding to each respective one of said requests with comparative shopping information for said one of said products, said first sales offer and said comparative shopping information being displayable simultaneously on the one of said at least one client computers from which the respective one of said requests was received by said server computer.
1 12. The storage medium of claim 1 1 1 wherein said computer process comprises the steps of
(a) transferring identifying information about said product from said at least one client computer to said server computer,
(b) receiving said identifying information at said server computer from said at least one client computer, (c) transferring said identifying information from said server computer to a plurality of online vendors for said product, and requesting each one of said plurality of online vendors to provide comparative sales offers for said product to said server computer,
(d) receiving from said plurality of online vendors information about said comparative sales offers for said product at said server computer,
(e) transferring said information about said comparative sales offers from said server computer to the at least one client computer from which said at least one request was received by said server computer, and
(f) displaying said information about said comparative sales offers on said at least one client computer while said first sales offer for said product still appears on said at least one client computer.
1 13. The storage medium of claim 112 wherein said server computer and said at least one client computer are interconnected via the Internet.
114. The storage medium of claim 113 wherein said at least one client computer comprises a plurality of client computers.
115. The-storage medium of claim 1 14 wherein said computer process further comprises -the steps of obtaining, registering, storing and thereafter maintaining on said server computer a compilation of data for each user of the process, said data compilation comprising geographic information about the user selected from the group consisting of the user's postal address and the user's delivery address, said address data being utilized in said computer process to calculate the additional sales offer costs associated with each comparative sales offer retrieved.
1 16. A computer program storage medium readable by a computer system and encoding a computer program of instructions for executing a computer process in at least one client computer for generating and sending at least one request for comparative shopping information for at least one product to a server computer, each said at least one client computer having a browser system, each respective one of said requests being initiated upon the appearance in said browser system of a first sales offer for a respective one of said products, said server computer responding to each respective one of said requests with comparative shopping information for said one of said products, said first sales offer and said comparative shopping information being displayable simultaneously on the one of said at least one client computers by which the respective one of said requests was generated.
1 17. The storage medium of claim 116 wherein said computer process comprises the steps of
(a) transferring identifying information about said product from said at least one client computer to said server computer,
(b) receiving said identifying information at said server computer from said at least one client computer,
(c) transferring said identifying information from said server computer to a plurality of online vendors for said product, and requesting each one of said plurality of online vendors to provide comparative sales offers for said product to said server computer, (d) receiving from said plurality of online vendors information about said comparative sales offers for said product at said server computer,
(e) transferring said information about said comparative sales offers from said server computer to the at least one client computer from which said at least one request was received by said server computer, and (f) displaying said information about said comparative sales offers on said at least one client computer while said first sales offer for said product still appears on said at least one client computer.
1 18. The storage medium of claim 1 17 wherein said server computer and said at least one client computer are interconnected via the Internet.
1 19. The storage medium of claim 118 wherein said at least one client computer comprises a plurality of client computers.
120. The storage medium of claim 119 wherein said computer process further comprises the steps of obtaining, registering, storing and thereafter maintaining on said server computer a compilation of data for each user of the process, said data compilation comprising geographic information about the user selected from the group consisting of the user's postal address and the user's delivery address, said address data being utilized in said computer process to calculate the additional sales offer costs associated with each comparative sales offer retrieved.
121. A method for providing comparative shopping information for at least one product through an interactive communications network, said network having at least one user thereof, each said at least one user thereof having a network access device on which a comparison shopping client resides, said method comprising the steps of accessing through said network a first sales offer for one of said products from a first online vendor, displaying said first sales offer on said at least one user's network access device, and thereafter performing the steps of
(a) transferring identifying information about said product from said at least one client to at least one comparison shopping server,
(b) receiving said identifying information at said at least one server from said at least one client, (c) transferring said identifying information from said at least one server through said network to at least one online vendor for said product, and requesting said at least one online vendor to provide at least one comparative sales offer for said product to said at least one server, (d) receiving from said at least one online vendor information about said at least one comparative sales offer for said product at said at least one server, (e) transferring said information about said at least one comparative sales offer from said at least one server to said at least one client, and (f) receiving at said at least one client said information about said at least one comparative sales offer, and displaying said information about said at least one comparative sales offer on said at least one user's network access device while said first offer is also displayed thereon.
122. The method of claim 121 wherein said steps (a) through (f) are performed while said first sales offer is being displayed on said at least one user's network access device.
123. The method of claim 122 wherein one of said servers resides on each said at least one user's network access device.
124. The method of claim 122 wherein said at least one server comprises just one server that resides on a comparison shopping server network access device, wherein step (a) comprises transferring said identifying information through said network, and wherein step (e) comprises transferring said information about said at least one comparative sales offer through said network.
125. The method of claim 124 wherein said at least one user comprises a plurality of users, wherein said at least one online vendor comprises a plurality of online vendors, and wherein for each said product said information about said at least one comparative sales offer is transferred in step (e) to the respective client from which the identifying information about said product was received in step (b).
126. The method of claim 125 wherein steps (a) through (f) are performed disjunctively for each said product.
127. The method of claim 125 wherein steps (a) through (f) are performed conjunctively for at least two of said products.
128. The method of claim 126 wherein steps (a) through (f) are performed automatically, and are repeated each time a first sales offer for one of said plurality of products is accessed.
129. The method of claim 128 wherein said interactive communications network comprises at least one network that is selected from the group consisting of networks whose respective network access devices are interconnected by ground-based wired telephone links, by ground-based wireless telephone links, by ground-based cable television links, by wireless satellite links and by combinations thereof.
130. The method of claim 129 wherein said network comprises the
Internet.
131. The method of claim 130 wherein each said user's network access device comprises a computer machine at a client station that is executing a comparison shopping client module and that is also executing a browser module through which said first sales offer is accessed.
132. The method of claim 131. wherein, said just one server network access device comprises a computer machine at a server station that is executing a comparison shopping server module.
133. A method for providing comparative shopping information on an interactive communications network, said network having at least one comparison shopping server network access device communicating with at least one online vendor and with at least one user, each said at least one user employing a respective browser module on a respective comparison shopping client network access device connected to said network, said method comprising the steps of
(a) receiving, at one of said comparison shopping client network access devices through said respective browser module, and recognizing, a first sales offer for a product from a first online vendor,
(b) receiving, at said at least one comparison shopping server network access device, a transmitted command from said one of said comparison shopping client network access devices, requesting comparative sales offers for said product from online vendors for said product,
(c) in response to said transmitted command, collecting at said comparison shopping server network access device said comparative sales offers for said product from said online vendors for said product, and transmitting the collected comparative sales offers to the respective one of said comparison shopping client network access devices from which said command was transmitted, for display thereon together with said first sales offer for said product, and (d) repeating steps (b) and (c) each time each said user's browser module receives a sales offer for a product.
134. The method of claim 133 wherein step (d) comprises repeating steps (b) and (c) each time each said user's module receives a first sales offer for a product.
135. The method of claim 134 wherein said at least one comparison shopping server network access device comprises just one comparison shopping server network access device, and wherein the receiving, transmitting and collecting steps are all performed through said network.
136. The method of claim 135 wherein said at least one user comprises a plurality of users, and said at least one online vendor comprises a plurality of online vendors.
137. The method of claim 136 wherein steps (b) and (c) are performed automatically.
138. The method of claim 137 wherein said interactive communications network comprises at least one network that is selected from the group consisting of networks whose respective network access devices are interconnected by ground-based wired telephone links, by ground-based wireless telephone links, by ground-based cable television links, by wireless satellite links and by combinations thereof.
139. The method of claim 138 wherein said network comprises the Internet.
140. The method of claim 139 wherein each said comparison shopping client network access device comprises a computer machine at a client station that is executing a comparison shopping client module.
141. The method of claim 140 wherein said just one server network access device comprises a computer machine at a server station that is executing a comparison shopping server module.
142. A method of user shopping on a network, said network having at least one comparison shopping server network access device communicating interactively with at least one online vendor and with at least one user, each said at least one user employing a respective browser module on a respective comparison shopping client network access device, said method comprising the steps of
(a) receiving, at one of said comparison shopping client network access devices through said respective browser module, and recognizing, a first sales offer for a product from a first online vendor,
(b) receiving, at said at least one comparison shopping server network access device, a transmitted command from said one of said comparison shopping client network access devices, requesting comparative sales offers for said product from online vendors for said product,
(c) in response to said transmitted command, collecting at said comparison shopping server network access device said comparative sales offers for said product from said online vendors for said product, and transmitting the collected comparative sales offers to the respective one of said comparison shopping client network access devices from which said command was transmitted for display thereon to said at least one user together with said first sales offer for said product, and
(d) repeating steps (a) through (c) for another product until termination of user shopping by said at least one user.
143. The method of claim 142 wherein said at least one user comprises a plurality of users, and wherein steps (a) through (d) are repeated for each said user
144. The method of claim 143 wherein said at least one comparison shopping server network access device comprises just one comparison shopping server network access device, and wherein the receiving, transmitting and collecting steps are all performed through said network.
145. The method of claim 144 wherein said at least one user comprises a plurality of users, and said at least one online vendor comprises a plurality of online vendors.
146. The method of claim 145 wherein steps (b) and (c) are performed automatically.
147. The method of claim 146 wherein said interactive communications network comprises at least one network that is selected from the group consisting of networks whose respective network access devices are interconnected by ground-based wired telephone links, by ground-based wireless telephone links, by ground-based cable television links, by wireless satellite links and by combinations thereof.
148. The method of claim 147 wherein said network comprises the
Internet.
149. The method of claim 148 wherein each said comparison shopping client network access device comprises a computer machine at a client station that is executing a comparison shopping client module.
150. The method of claim 149 wherein said just one server network access device comprises a computer machine at a server station that is executing a comparison shopping server module.
151. The method of claims 132, 141 or 150 further comprising the steps of obtaining, registering, storing and thereafter maintaining on a said server station a compilation of data for each said user, said data compilation comprising geographic information about the user selected from the group consisting of the user's postal address and the user's delivery address, said address data being utilized by said server module to calculate additional sales offer costs associated with each respective comparative sales offer retrieved, and wherein step (c) of said method further comprises transmitting said additional sales offer costs -together with said collected comparative sales offers for display therewith.
152. The method of claim 151 wherein said additional sales offer costs comprise at least one of the costs selected from the group consisting of the shipping costs associated with each respective comparative sales offer, the handling costs associated with each respective comparative sales offer and the taxes imposed by at least one governmental authority that may be applicable to the potential purchase transaction represented by each respective comparative sales offer.
153. The method of claim 152 wherein said data compilation is registered and maintained by said server module, and is stored on said server station.
154. The method of claim 153 wherein for each said user, said data compilation is obtained by said user's respective client module.
155. The method of claim 154 wherein said data compilation is updated by each said user's respective client module in response to an update request from the respective user.
156. The method of claim 155 wherein said data compilation further comprises, for each said user, demographic information about said user.
PCT/IB2000/001437 1999-09-17 2000-09-15 Methods and apparatus for delivering comparative shopping information within an interactive communications network WO2001022255A2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU75484/00A AU7548400A (en) 1999-09-17 2000-09-15 Methods and apparatus for delivering comparative shopping information within an interactive communications network

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US15462699P 1999-09-17 1999-09-17
US60/154,626 1999-09-17
US47349999A 1999-12-28 1999-12-28
US09/473,499 1999-12-28

Publications (2)

Publication Number Publication Date
WO2001022255A2 true WO2001022255A2 (en) 2001-03-29
WO2001022255A3 WO2001022255A3 (en) 2002-06-20

Family

ID=26851601

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IB2000/001437 WO2001022255A2 (en) 1999-09-17 2000-09-15 Methods and apparatus for delivering comparative shopping information within an interactive communications network

Country Status (2)

Country Link
AU (1) AU7548400A (en)
WO (1) WO2001022255A2 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2366886A (en) * 2000-08-23 2002-03-20 Fujitsu Ltd Shopping system
WO2002099692A2 (en) * 2001-06-06 2002-12-12 Koninklijke Philips Electronics N.V. Method to provide pre-selected information
WO2003027913A1 (en) * 2001-09-27 2003-04-03 Amips International Pty Ltd A purchasing system
EP3401868A1 (en) * 2017-05-08 2018-11-14 Purchase Button Inc. Method and system to support internet based distribution of goods and services

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998032289A2 (en) * 1997-01-17 1998-07-23 The Board Of Regents Of The University Of Washington Method and apparatus for accessing on-line stores
FR2760165A1 (en) * 1997-02-21 1998-08-28 Netgem METHOD FOR PRESENTING ON A DISPLAY SCREEN OF A TELEVISION A COMPOSITE IMAGE COMBINING A TELEVISION IMAGE AND AN INFORMATIVE CONTENT OF INTERNET DATA
US5873069A (en) * 1995-10-13 1999-02-16 American Tv & Appliance Of Madison, Inc. System and method for automatic updating and display of retail prices
WO1999034272A2 (en) * 1997-12-29 1999-07-08 Ed Pool Universal shopping center for international operation
EP0935193A2 (en) * 1998-02-06 1999-08-11 Hewlett-Packard Company World wide web agent

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5873069A (en) * 1995-10-13 1999-02-16 American Tv & Appliance Of Madison, Inc. System and method for automatic updating and display of retail prices
WO1998032289A2 (en) * 1997-01-17 1998-07-23 The Board Of Regents Of The University Of Washington Method and apparatus for accessing on-line stores
FR2760165A1 (en) * 1997-02-21 1998-08-28 Netgem METHOD FOR PRESENTING ON A DISPLAY SCREEN OF A TELEVISION A COMPOSITE IMAGE COMBINING A TELEVISION IMAGE AND AN INFORMATIVE CONTENT OF INTERNET DATA
WO1999034272A2 (en) * 1997-12-29 1999-07-08 Ed Pool Universal shopping center for international operation
EP0935193A2 (en) * 1998-02-06 1999-08-11 Hewlett-Packard Company World wide web agent

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
"DIALOG GALE GROUP PR" DIALOG GALE GROUP PR, XP002932298 *
DOORENBOS R B ET AL: "A SCALABLE COMPARISON-SHOPPING AGENT FOR THE WORLD-WIDE WEB" PROCEEDINGS OF THE FIRST INTERNATIONAL CONFERENCE ON AUTONOMOUS AGENTS MARINA DEL REY, CA., FEB. 5 - 8, 1997, PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON AUTONOMOUS AGENTS, NEW YORK, ACM, US, vol. CONF. 1, 1997, pages 39-48, XP000915342 ISBN: 0-89791-877-0 *
TELTARIF, [Online] - 30 September 1998 (1998-09-30) XP002191864 Retrieved from the Internet: <URL:www.teltarif.de/presse/im_0998.html> [retrieved on 2002-03-01] *
TELTARIF, [Online] - 7 June 1999 (1999-06-07) XP002191405 Retrieved from the Internet: <URL:www.teltarif.de/presse/f_070699.html> [retrieved on 2002-02-26] *
TELTARIF, [Online] - 9 March 1998 (1998-03-09) XP002191863 Retrieved from the Internet: <URL:www.teltarif.de/presse/f_1198.html> [retrieved on 2002-03-01] *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2366886A (en) * 2000-08-23 2002-03-20 Fujitsu Ltd Shopping system
US7451100B2 (en) 2000-08-23 2008-11-11 Fujitsu Limited Method, network system and center for intermediating transactions
WO2002099692A2 (en) * 2001-06-06 2002-12-12 Koninklijke Philips Electronics N.V. Method to provide pre-selected information
WO2002099692A3 (en) * 2001-06-06 2004-04-22 Koninkl Philips Electronics Nv Method to provide pre-selected information
WO2003027913A1 (en) * 2001-09-27 2003-04-03 Amips International Pty Ltd A purchasing system
EP3401868A1 (en) * 2017-05-08 2018-11-14 Purchase Button Inc. Method and system to support internet based distribution of goods and services

Also Published As

Publication number Publication date
WO2001022255A3 (en) 2002-06-20
AU7548400A (en) 2001-04-24

Similar Documents

Publication Publication Date Title
US6343274B1 (en) Apparatus and method for merchant-to-consumer advertisement communication system
US8676886B2 (en) System and method for dynamically changing the content of an information display
US8621002B2 (en) System and method for dynamically changing the content of an information display
US6925444B1 (en) System and method for creating and sharing purchasing lists on a network
US6101486A (en) System and method for retrieving customer information at a transaction center
US5794259A (en) Apparatus and methods to enhance web browsing on the internet
US6615238B1 (en) Evolving interactive dialog box for an internet web page
KR100352421B1 (en) System and method for providing information of electronic shopping mall in real time reverse auction and for providing substitution service for electronic shopping mall
US7421504B2 (en) Service providing device and service providing method
US20020156685A1 (en) System and method for automating electronic commerce transactions using a virtual shopping cart
US20020087415A1 (en) Method and system for on-line shopping utlizing personalized shopping list and electronic network
US20020010623A1 (en) System and method for publishing, distributing and redeeming coupons on a network
US20020032597A1 (en) System and method for providing request based consumer information
WO1998047090A1 (en) Method of advertising on-line
CA2452722A1 (en) Interactive internet shopping and data integration method and system
JPH1185846A (en) Commodity suggestion system and medium recorded with processing program
US20130166366A1 (en) Meal planning and coupon dispensing
CA2393334A1 (en) Information communication system
US20030093327A1 (en) Systems and methods for processing an electronic request to purchase goods or services
WO2001022255A2 (en) Methods and apparatus for delivering comparative shopping information within an interactive communications network
KR20010067771A (en) Consumer research method by sample supply at internet
JP2002014965A (en) Information providing system
EP1205866A1 (en) Disseminating consumer information
EP1215610A2 (en) Web pages as a memory device
CA2577236C (en) Method and apparatus for serving data to identified users

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AL AM AT AU AZ BA BB BG BR BY CA CH CN CR CU CZ DE DK DM EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
AK Designated states

Kind code of ref document: A3

Designated state(s): AE AL AM AT AU AZ BA BB BG BR BY CA CH CN CR CU CZ DE DK DM EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A3

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase in:

Ref country code: JP