A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever.
The present invention relates generally to the field of computing. More particularly, the invention relates to a system and method for providing an integrated shopping service within an application program. One specific application of such an integrated shopping service is a service that allows users of a content-rendering application to shop for digital content at a dynamically-updateable set of retail web sites.
Certain software requires third parties to provide digital content in order to make the software valuable to users. A prime example is an application for rendering books, audio, video, etc. Such an application is useful only when digital content—e.g., text, audio, video, etc.—is available for use with the application or device, and such digital content is generally provided by third parties.
Typically, a user obtains the content by using a stand-alone web browser (e.g. INTERNET EXPLORER or NETSCAPE NAVIGATOR) to find and obtain content from Internet web sites that provide it. Sites that distribute content may be located with the aid of a search engine. This method, however, does not offer the user the convenience of shopping for content from within the rendering application.
As an alternative to the stand-alone browser, a browser may be integrated into the content-rendering application, and the application may be hard-coded to point the browser to one or more web sites that provide content. This approach, however, has drawbacks; if the universal record locators (URLs) of particular web sites are hard-coded into the browser, it is difficult to add or delete web sites to or from the list, or to customize the list for different instances of the application.
In view of the foregoing, there is a need for a system that overcomes the drawbacks of the prior art.
The present invention provides an infrastructure for a shopping service within a user application, such as a content-rendering application. The application can provide a context for the search. An application in accordance with the invention includes a link to a retail directory server (e.g., the application may store the universal record locator or “URL” of such a server). Upon being contacted by the application, the retail directory server renders on the user's machine a web page containing a list of retail web sites. As the application may drive “a context” the web sites may be developed specifically for the client, both from a matter of content and style of presentation. The web page rendered by the retail directory server offers the user the chance to add some or all of the listed sites to a private list of retailers that is stored on the client machine. The particular set of retail sites listed in the directory server can be modified at any time by the party who controls the directory server. The retail directory server may also provide redirection to other sites—i.e., the retail directory server, in addition to allowing the user to add particular sites to his or her private list, may also allow the user to be redirected to another site by clicking a link on the page displayed by the retail directory server (and the operator of the retail directory server may, for example, sell to the owners of such other sites the privilege of having the retail directory server display such a link). An application in accordance with the invention also includes a retail shopping user interface, which displays to the user all retailers in his or her private list and allows the user to connect to any of the retailers on that list. A retail shopping service is thus “integrated” into the application.
In one embodiment of the invention, the application that incorporates an integrated shopping service is a content-rendering application, such as an eBooks reading application. In such an application, the integrated shopping service may take the form of an “integrated bookstore,” which displays a list of on-line bookstores that sell eBooks and allows the user to navigate to those bookstores directly through the list. The retail directory server whose URL is included in the application may provide a “bookstore directory,” which renders a list of on-line bookstores on the user's machine and offers the user the opportunity to add those bookstores to his or her private list. The actual list of bookstores displayed to the user as part of the application's “integrated bookstore” is the private list of bookstores chosen by the user from the bookstore directory page.
In another embodiment, the retail directory server may be configured to provide arbitrary data to the user's machine, rather than merely a list of retail web sites. For example, the directory server may upload to the user's machine a set of off-line catalogues that the user can use to shop for content when not connected to the Internet. For example, if the user's machine is a palm-size computer, the user may be able to shop off-line for content, where off-line orders are stored for transmission to an appropriate web site when the device is cradled. The user's machine may store parameters (e.g., in the form of cookies) that allow customized content to be delivered to the user from the retail directory server. For example, the user may subscribe to an on-line newsletter (e.g., through a previous contact with the retail directory), and this newsletter may then be updated on the user's machine each time the bookstore directory server is contacted. In contrast to systems that merely hardcode a list of retail web sites into an application, the use of a bookstore directory server, whose information can be updated or modified at any time, supports extensibility of the directory function.
The foregoing summary, as well as the following detailed description of preferred embodiments, is better understood when read in conjunction with the appended drawings. For the purpose of illustrating the invention, there is shown in the drawings exemplary constructions of the invention; however, the invention is not limited to the specific methods and instrumentalities disclosed. In the drawings:
Overview
The Internet has provided consumers with opportunities to shop for numerous and varied products on line. Using a browser, a consumer can visit a seemingly limitless number of web sites and purchase nearly any type of good or service. Some types of goods, and services, however, are particularly adapted to be used with certain software applications. A case in point is digital content (e.g., books, audio, video, etc.) that comes delivered in a particular format for use with a certain type of rendering application (e.g., an electronic book reader, an audio player, a video player, etc.). It is particularly useful for a consumer to be able to purchase such content from within the rendering application itself. It is further useful to limit the universe of web sites that a consumer can access from within the rendering application to those web sites that distribute digital content adapted for the application. The present invention provides an architecture for a shopping service that allows a user to visit certain web sites (e.g., retail web sites) from within an application, and that allows a third party entity to control which web sites can be accessed from within the application.
Exemplary Computing Environment
The invention is operational with numerous other general purpose or special purpose computing system environments or configurations. Examples of well known computing systems, environments, and/or configurations that may be suitable for use with the invention include, but are not limited to, personal computers, server computers, hand-held or laptop devices, multiprocessor systems, microprocessor-based systems, set top boxes, programmable consumer electronics, network PCs, minicomputers, mainframe computers, distributed computing environments that include any of the above systems or devices, and the like.
The invention may be described in the general context of computer-executable instructions, such as program modules, being executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. The invention may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network or other data transmission medium. In a distributed computing environment, program modules and other data may be located in both local and remote computer storage media including memory storage devices.
With reference to
Computer 110 typically includes a variety of computer readable media. Computer readable media can be any available media that can be accessed by computer 110 and includes both volatile and nonvolatile media, removable and non-removable media. By way of example, and not limitation, computer readable media may comprise computer storage media and communication media. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CDROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can accessed by computer 110. Communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media. The term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media. Combinations of any of the above should also be included within the scope of computer readable media.
The system memory 130 includes computer storage media in the form of volatile and/or nonvolatile memory such as read only memory (ROM) 131 and random access memory (RAM) 132. A basic input/output system 133 (BIOS), containing the basic routines that help to transfer information between elements within computer 110, such as during start-up, is typically stored in ROM 131. RAM 132 typically contains data and/or program modules that are immediately accessible to and/or presently being operated on by processing unit 120. By way of example, and not limitation,
The computer 110 may also include other removable/non-removable, volatile/nonvolatile computer storage media. By way of example only,
The drives and their associated computer storage media discussed above and illustrated in
The computer 110 may operate in a networked environment using logical connections to one or more remote computers, such as a remote computer 180. The remote computer 180 may be a personal computer, a server, a router, a network PC, a peer device or other common network node, and typically includes many or all of the elements described above relative to the computer 110, although only a memory storage device 181 has been illustrated in
When used in a LAN networking environment, the computer 110 is connected to the LAN 171 through a network interface or adapter 170. When used in a WAN networking environment, the computer 110 typically includes a modem 172 or other means for establishing communications over the WAN 173, such as the Internet. The modem 172, which may be internal or external, may be connected to the system bus 121 via the user input interface 160, or other appropriate mechanism. In a networked environment, program modules depicted relative to the computer 110, or portions thereof, may be stored in the remote memory storage device. By way of example, and not limitation,
Application with Integrated Shopping Feature
Referring now to
As noted above, in the example of
In a preferred embodiment, shopping service 300 comprises a form of web browser. For example, the web browser may be a standard web browser with a simplified user interface (that may include fewer user functions than the standard user interface when the browser is opened as a stand-alone). When shopping service 300 comprises a form of web browser, the logic that implements shopping service 300 is capable of displaying and following links to any web site, regardless of whether the web site is a retail web site, and regardless of whether the web site sells products that are related to the application 200 of which shopping service 300 is a part. The particular choice of links displayed (i.e., the fact that at least some of the links are to retail web sites) allows the web browser to function as a shopping service. It will be noted, however, that in the example of
Retail directory 400 preferably comprises a web page that lists one or more retail web sites. The exemplary retail directory 400 in
Structure of an Application Having an Integrated Shopping Service
Referring now to
Integrated shopping logic 502 may employ or provide web browser 504, in order to provide the UI and functionality that permits the visiting of retail web sites. For example, integrated shopping logic 502 may include instructions that start web browser 504 whenever the user invokes integrated shopping service 300. Web browser 504 may be a web browsing module that is specially adapted to work with application 200. Alternatively, web browser 504 may be a general purpose web browser such as the INTERNET EXPLORER browser, which can be invoked from within application 200. When web browser 504 is embodied as a general purpose web browser, application 200 may invoke web browser 504 in such a way that it appears to a user as if it were included within application 200—e.g., integrated shopping logic 502 may invoke web browser 504 inside the window of application 200.
Integrated shopping logic 502 may also employ or provide a personal retail list 506. Personal retail list 506 includes the list of links that are to be displayed by web browser 504. For example, referring back to
Integrated shopping logic 502 may include the capability to add (or delete) items from personal retail list 506. In the example of
It should be observed that web browser 504 and personal retail list 506 are shown in
Exemplary Structure of a Retail Directory
Retail directory 400 lists various retail sites. Each retail site has an entry 602, 604.
Each entry in retail directory 400 is represented by various data fields. In the example of
The web page that a user's computer 110 downloads when viewing retail directory 400 includes: (a) the information in each entry 602, 604 (or at least a subset of that information), in a format suitable for rendering by a web browser; and (b) executable instructions that cause the information in each entry to be downloaded to the user's computer 110 when the user clicks an “add” button 410 (shown in
It should be noted that retail directory 400 may be stored by any means and in any manner that supports the storage of data. As one non-limiting example, all entries 602, 604 may be stored in a file. As a further example, the file that stores entries 602 and 604 may, in fact, be an HTML file that is downloaded to a user's machine for viewing as the retail directory web page. In this case, the retail directory page shown in
Exemplary Structure of a Personal Retail List
Entry 622 includes data fields for a site ID 622a, site name 622b, site description 622c, site URL 622d, site logo 622e, and site flags 622f. Entries 624 and 602 include like fields. As can be seen from a comparison between
It will further be observed that the first listed entry 622 in
It will be appreciated that the data structure shown in
Process of Using Retail Directory 400 to Select Retail Web Sites
At step 804, the retail directory page is rendered on the user's device. The rendering is performed either by a stand-alone browser (if the user uses a stand-alone browser to visit the web page), or by web browser 504 (shown in
At step 806, the user selects web sites to add to personal retail list 506. As noted above in connection with
After a user has selected a web site from retail directory 400 and the appropriate entry has been inserted into personal retail list 506, the user may invoke the integrated shopping feature 300 in order to visit those sites in personal retail list 506 (including the sites that the user just added at steps 802-808). When integrated shopping service 300 is invoked, links to the web sites in the user's personal retail list 506 are rendered (step 810). (
As shown in
A user may navigate to bookstore directory 400—e.g., by using a stand-alone browser, or by using integrated shopping service 300 (which, as noted above, may include a browser). The user views the bookstore directory 400 and chooses web sites from bookstore directory 400 to add to his or her personal retail list 506 (shown in
From bookstore page 300, the user navigates to a “third-party web site.” The third-party web site is one of the sites displayed on the bookstore page. For example, and referring for the moment back to
Once the eBooks are downloaded to the user's computing device, a list of downloaded eBooks is displayed by the rendering application. For example, the purchased eBooks may be displayed on a “library page,” such as that shown in
It is noted that the foregoing examples have been provided merely for the purpose of explanation and are in no way to be construed as limiting of the present invention. While the invention has been described with reference to various embodiments, it is understood that the words which have been used herein are words of description and illustration, rather than words of limitations. Further, although the invention has been described herein with reference to particular means, materials and embodiments, the invention is not intended to be limited to the particulars disclosed herein; rather, the invention extends to all functionally equivalent structures, methods and uses, such as are within the scope of the appended claims. Those skilled in the art, having the benefit of the teachings of this specification, may effect numerous modifications thereto and changes may be made without departing from the scope and spirit of the invention in its aspects.
This application is a divisional of U.S. patent application No. 09/894,519, entitled “Architecture for an Electronic Shopping Service Integratable with a Software Application,” filed on Jun. 28, 2001, which claims the benefit of U.S. Provisional Application No. 60/215,488, entitled “Integrated Bookstore,”filed on Jun. 30, 2000, and which is a continuation-in-part of U.S. Patent Application No. 09/836,524, entitled “Method for Authenticating and Securing Integrated Bookstore Entries,” filed Apr. 17, 2001.
Number | Name | Date | Kind |
---|---|---|---|
4405829 | Rivest et al. | Sep 1983 | A |
4688169 | Joshi | Aug 1987 | A |
4827508 | Shear | May 1989 | A |
4924378 | Hershey et al. | May 1990 | A |
4977594 | Shear | Dec 1990 | A |
5050213 | Shear | Sep 1991 | A |
5191573 | Hair | Mar 1993 | A |
5222134 | Waite et al. | Jun 1993 | A |
5359659 | Rosenthal | Oct 1994 | A |
5410598 | Shear | Apr 1995 | A |
5509070 | Schull | Apr 1996 | A |
5530235 | Stefik et al. | Jun 1996 | A |
5606609 | Houser et al. | Feb 1997 | A |
5625693 | Rohatgi et al. | Apr 1997 | A |
5629980 | Stefik et al. | May 1997 | A |
5634012 | Stefik et al. | May 1997 | A |
5638443 | Stefik et al. | Jun 1997 | A |
5654746 | McMullan, Jr. et al. | Aug 1997 | A |
5666411 | McCarty | Sep 1997 | A |
5675734 | Hair | Oct 1997 | A |
5708780 | Levergood et al. | Jan 1998 | A |
5715403 | Stefik | Feb 1998 | A |
5724425 | Chang et al. | Mar 1998 | A |
5734823 | Saigh et al. | Mar 1998 | A |
5734891 | Saigh | Mar 1998 | A |
5742677 | Pinder et al. | Apr 1998 | A |
5765152 | Erickson | Jun 1998 | A |
5784609 | Kurihara | Jul 1998 | A |
5809145 | Slik et al. | Sep 1998 | A |
5832451 | Flake et al. | Nov 1998 | A |
5835732 | Kikinis et al. | Nov 1998 | A |
5845281 | Benson et al. | Dec 1998 | A |
5864620 | Pettitt | Jan 1999 | A |
5883955 | Ronning | Mar 1999 | A |
5884309 | Vanechanos, Jr. | Mar 1999 | A |
5892900 | Ginter et al. | Apr 1999 | A |
5910987 | Ginter et al. | Jun 1999 | A |
5915019 | Ginter et al. | Jun 1999 | A |
5917912 | Ginter et al. | Jun 1999 | A |
5920861 | Hall et al. | Jul 1999 | A |
5933498 | Schneck et al. | Aug 1999 | A |
5940504 | Griswold | Aug 1999 | A |
5943422 | Van Wie et al. | Aug 1999 | A |
5949876 | Ginter et al. | Sep 1999 | A |
5958051 | Renaud et al. | Sep 1999 | A |
5970475 | Barnes et al. | Oct 1999 | A |
5982891 | Ginter et al. | Nov 1999 | A |
5983245 | Newman et al. | Nov 1999 | A |
5983273 | White et al. | Nov 1999 | A |
5991399 | Graunke et al. | Nov 1999 | A |
5991402 | Jia et al. | Nov 1999 | A |
5999622 | Yasukawa et al. | Dec 1999 | A |
6006332 | Rabne et al. | Dec 1999 | A |
6018724 | Arent | Jan 2000 | A |
6021492 | May | Feb 2000 | A |
6029046 | Khan et al. | Feb 2000 | A |
6029141 | Bezos et al. | Feb 2000 | A |
6035403 | Subbiah et al. | Mar 2000 | A |
6037935 | Bates et al. | Mar 2000 | A |
6049612 | Fielder et al. | Apr 2000 | A |
6064979 | Perkowski | May 2000 | A |
6067582 | Smith et al. | May 2000 | A |
6088717 | Reed et al. | Jul 2000 | A |
6133916 | Bukszar et al. | Oct 2000 | A |
6195667 | Duga et al. | Feb 2001 | B1 |
6199053 | Herbert et al. | Mar 2001 | B1 |
6226618 | Downs et al. | May 2001 | B1 |
6298446 | Schreiber et al. | Oct 2001 | B1 |
6311269 | Luckenbaugh et al. | Oct 2001 | B2 |
6324288 | Hoffman | Nov 2001 | B1 |
6331865 | Sachs et al. | Dec 2001 | B1 |
6363356 | Horstmann | Mar 2002 | B1 |
6385596 | Wiser et al. | May 2002 | B1 |
6389403 | Dorak | May 2002 | B1 |
6415270 | Rackson et al. | Jul 2002 | B1 |
6425017 | Dievendorff et al. | Jul 2002 | B1 |
6449645 | Nash | Sep 2002 | B1 |
6606604 | Dutta | Aug 2003 | B1 |
6629138 | Lambert et al. | Sep 2003 | B1 |
6636896 | Philyaw | Oct 2003 | B1 |
6694320 | Ortiz et al. | Feb 2004 | B1 |
6718361 | Basani et al. | Apr 2004 | B1 |
6753887 | Carolan et al. | Jun 2004 | B2 |
6763334 | Matsumoto | Jul 2004 | B1 |
6917923 | Dimenstein | Jul 2005 | B1 |
20010011238 | Ebergard et al. | Aug 2001 | A1 |
20010037302 | McFadzean et al. | Nov 2001 | A1 |
20020002611 | Vange | Jan 2002 | A1 |
20020023059 | Bari | Feb 2002 | A1 |
20020033844 | Levy et al. | Mar 2002 | A1 |
20020065772 | Saliba et al. | May 2002 | A1 |
20020069265 | Bountour et al. | Jun 2002 | A1 |
20020120507 | Chanos et al. | Aug 2002 | A1 |
20020138555 | Yu | Sep 2002 | A1 |
20020143813 | Jellum et al. | Oct 2002 | A1 |
20020169805 | Edge | Nov 2002 | A1 |
20030167392 | Fransdonk | Sep 2003 | A1 |
20050010475 | Perkowski et al. | Jan 2005 | A1 |
Number | Date | Country |
---|---|---|
0 715 245 | Jun 1996 | EP |
0 778 512 | Jun 1997 | EP |
0 795 809 | Sep 1997 | EP |
0 798 892 | Oct 1997 | EP |
0 843 449 | May 1998 | EP |
WO 9624092 | Aug 1996 | WO |
WO 9642041 | Dec 1996 | WO |
WO 9844402 | Oct 1998 | WO |
WO 9845768 | Oct 1998 | WO |
WO 9858306 | Dec 1998 | WO |
WO 9901815 | Jan 1999 | WO |
WO 9926123 | May 1999 | WO |
WO 9945491 | Sep 1999 | WO |
WO 9955055 | Dec 1999 | WO |
WO 9963416 | Dec 1999 | WO |
WO 0008909 | Feb 2000 | WO |
WO 0021239 | Apr 2000 | WO |
WO 0075760 | Dec 2000 | WO |
Number | Date | Country | |
---|---|---|---|
20050033663 A1 | Feb 2005 | US |
Number | Date | Country | |
---|---|---|---|
60215488 | Jun 2000 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 09894519 | Jun 2001 | US |
Child | 10840516 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 09836524 | Apr 2001 | US |
Child | 09894519 | US |