Source: http://www.google.com/patents/US7634429?dq=6,587,403
Timestamp: 2014-10-23 14:14:38
Document Index: 789679250

Matched Legal Cases: ['application No. 09', 'Application No. 60', 'Application No. 09', 'arty 902', 'arty 902', 'arty 902', 'arty 902']

Patent US7634429 - Architecture for an electronic shopping service integratable with a software ... - Google PatentsSearch Images Maps Play YouTube News Gmail Drive More »Sign inAdvanced Patent SearchPatentsAn architecture for an integrated shopping service that enables electronic shopping from within a software application. The software application includes web browsing functionality, with the capability to navigate to a limited set of web sites. The client machine on which the software runs maintains...http://www.google.com/patents/US7634429?utm_source=gb-gplus-sharePatent US7634429 - Architecture for an electronic shopping service integratable with a software applicationAdvanced Patent SearchPublication numberUS7634429 B2Publication typeGrantApplication numberUS 10/840,516Publication dateDec 15, 2009Filing dateMay 6, 2004Priority dateJun 30, 2000Fee statusPaidAlso published asUS20020046045, US20050033663Publication number10840516, 840516, US 7634429 B2, US 7634429B2, US-B2-7634429, US7634429 B2, US7634429B2InventorsAttila Narin, Marco A. DeMello, Yoram Yaacovi, Jeffrey A. Alger, Leroy B. Keely, David Michael Silver, Christopher Robert Richard Madonna, John Beezer, Kathryn E. HughesOriginal AssigneeMicrosoft CorporationExport CitationBiBTeX, EndNote, RefManPatent Citations (101), Non-Patent Citations (16), Referenced by (6), Classifications (27), Legal Events (1) External Links: USPTO, USPTO Assignment, EspacenetArchitecture for an electronic shopping service integratable with a software applicationUS 7634429 B2Abstract An architecture for an integrated shopping service that enables electronic shopping from within a software application. The software application includes web browsing functionality, with the capability to navigate to a limited set of web sites. The client machine on which the software runs maintains a local list of the limited set of web sites that can be accessed from within the software application. A directory server maintains a list of retail web sites that can be added to the client's local list of accessible web sites. Each client machine that runs the software application connects to the directory server in order to add web sites to the locally-maintained list of sites that can be accessed from within the integrated shopping service.
1. A system for supporting electronic commerce, the system comprising:
a first computing device which includes:
a first memory which stores first data indicative of a plurality of web sites;
a network interface communicatively coupled to a computer network;
first logic which communicates, through said network interface, a list of said plurality of web sites to be rendered by a second computing device in a content-rendering application, wherein the list is generated according to a context of the content-rendering application; and
second logic which identifies at least one of the plurality of web sites selected from the second computing device,
wherein the second logic communicates second data indicative of the selected one of said plurality of web sites to said second computing device through said network interface, and
wherein the second logic provides instructions to invoke the selected web site from within the content-rendering application, wherein the second data may be stored in a second memory associated with the second computing device for modifying by the user from the second computing device.
2. The system of claim 1, wherein said second logic communicates said second data based on a user selection of said one of said plurality of retail web sites, said user selection being received from said second computing device.
3. The system of claim 1, wherein said first data includes, for each of said plurality of retail web sites:
a universal record locator;
one or more items of text; and
a graphical image.
4. The system of claim 3, wherein said first data further includes:
an identification number; and
5. The system of claim 1, wherein said first data comprises an HTML web page, said web page including:
said second data;
instructions which cause said second data to be transmitted to said second computing device; and
a user-selectable image which invokes said instructions.
6. The system of claim 5, wherein said user-selectable item comprises an ADD button.
7. The system of claim 1, wherein said second logic causes said second data to be written to a registry on said second computing device.
CROSS-REFERENCE TO RELATED CASES 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.
COPYRIGHT INFORMATION 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.
FIELD OF THE INVENTION 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.
BACKGROUND OF THE INVENTION 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.
SUMMARY OF THE INVENTION 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.
FIG. 2 is a diagram of a user interface for an exemplary software application in accordance with aspects of the invention;
FIG. 3 is a diagram of a user interface for an exemplary shopping service which, in accordance with aspects of the invention, is integrated into a software application;
FIG. 4 is a diagram of a retail directory, as displayed on typical web browsing software;
FIG. 5 is a block diagram of a software application having an integrated shopping service according to aspects of the invention;
FIG. 6 is a block diagram of an exemplary data structure for a retail directory;
FIG. 7 is a block diagram of an exemplary data structure for a personal retail list;
FIG. 8 is a flow diagram of an exemplary process for using a retail directory to add retail web sites to a personal list, in accordance with aspects of the invention; and
FIG. 9 is a block diagram of aspects of an exemplary system architecture according to the invention, indicating an exemplary flow of information through the architecture;
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.
Application with Integrated Shopping Feature
Referring now to FIG. 2, there is shown a user interface of an application 200. In FIG. 2, application 200 is depicted as a text-rendering application for reading electronic books (�eBooks�) 202. It will be appreciated, however, that a text-rendering application is merely exemplary, and application 200 may be any type of application. For example, application 200 may be a rendering application that renders other types of content (e.g., music, video, multimedia, etc.). As described below, it is particularly useful to incorporate an integrated shopping feature into a content-rendering application, because the integrated shopping feature may be used to shop for digital content that is adapted to be rendered by the rendering application. However, application 200 need not be such a rendering application. In greater generality, application 200 may be any application in which it is useful or desirable to incorporate an integrated shopping feature as described below. All such embodiments of application 200 are within the spirit and scope of the invention.
As noted above, in the example of FIG. 2 application 200 renders eBooks 202. eBooks are known in the art and are described generally in �Open eBook Publication Structure 1.0� (Sep. 16, 1999), available at http://www.openebook.org/oebpsdownload.htm, which is incorporated herein by reference. Typically (although not necessarily), eBooks are obtained separately from the application used to render them�i.e., the user uses a stand-alone browser to navigate to a web site that distributes eBooks, chooses an eBook, and then downloads a file containing the eBooks to the user's computing device, at which point the user may use application 200 to �click� on one of eBooks 202 (e.g., by using pointing device 161, shown in FIG. 1) in order to open and render the eBook. At least some of eBooks 202 may have been obtained by a user's navigating to a web site and obtaining the book (either directly or indirectly) from that web site. However, since text-rendering application 200 is of limited value without a source of eBooks, it is particularly useful to incorporate into application 200 a shopping feature that permits a user to shop for eBooks from within application 200. The present invention provides such a feature.
FIG. 3 shows a user interface for an exemplary shopping service 300 in accordance with the invention. Preferably, shopping service 300 provides an interface whereby a user may visit web sites from within application 200. For example, the exemplary interface shown in FIG. 3 includes a list of links 302-310; clicking one of the links (e.g., by using pointing device 161, shown in FIG. 1) allows the user to visit the web site indicated by the link. At least some of the links are links to web sites that perform retail functions, such as the selling of digital content. FIG. 3 shows an example where shopping service 300 is adapted to an eBook-reading application, and thus links 304, 306, 308, and 310 are links to sites that distribute eBooks. For example, a user of the application depicted in FIG. 2 might click on the �bookstore� icon 204 in order to shop for eBooks, thereby invoking the shopping service depicted in FIG. 3. It will be appreciated that, when shopping service 300 is associated with an application other than an eBooks-reading application, the links provided in shopping service may be links to web sites that distribute different types of products. For example, if shopping service 300 were associated with an audio- or video-rendering application, then shopping service 300 would preferably display links to web sites that distribute digital audio or video.
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 FIG. 3, one of the links (i.e., link 302) is not a link to a retail web site, but rather a link to a �bookstore directory,� which is described below. The web-browsing logic that shopping service 300 uses to visit web sites is preferably content-agnostic to the type of information contained at the web site; as long as a link is properly listed in shopping service 300, the web browser will follow the link regardless of what type of information is maintained at the site.
FIG. 4 shows a retail directory 400, as might be displayed on web browsing software. In FIG. 4, retail directory 400 is shown as a �bookstore directory��i.e., a directory of electronic �bookstores� that sell eBooks�although it will be understood that a directory of eBooks vendors is merely exemplary, and retail directory 400 may comprise a list of any type of web sites without departing from the spirit and scope of the invention. �Web browsing software,� in this context, includes general purpose web browsers such as MICROSOFT INTERNET EXPLORER. Preferably, the �web browsing software� is the web browsing functionality associated with shopping service 300, as described above in connection with FIG. 3. As explained below, this web browsing functionality may include special purpose web browsing logic within the application 200 of which integrated shopping service 300 is a part. (As further discussed below, the web browsing functionality that implements a shopping service within an application may, in fact, be provided by a general purpose web browsing program such as INTERNET EXPLORER.) In a preferred embodiment, a user accesses retail directory 400 by clicking a link such as link 302 (shown in FIG. 3) within a shopping service 300.
Retail directory 400 preferably comprises a web page that lists one or more retail web sites. The exemplary retail directory 400 in FIG. 4 lists retail web sites 402, 404, 406, and 408. Each listing includes various components. For example, listing 402 includes a logo 402 a, a web site name 402 b, and a web site description 402 c. Associated with each listing is an �add� button 410. By clicking on the �add� button 410 associated with a particular web site listing, the user adds the web site to his or her personal list of retail web sites. (The process of using the retail directory 400 to add web sites to a personal list is described below in connection with FIG. 8.) Thus, retail directory 400 contains a list of web sites that a user can choose to add to the list displayed by integrated shopping feature 300, and integrated shopping service 300 will display those web sites that the user has selected from retail directory 400. (It should be noted that, in some cases, the integrated shopping feature may be configured to display certain web sites without the user's having selected those sites from retail directory 400.) In an alternative embodiment, retail directory 400 also includes links that can �redirect� a user to another web site. Since retail directory 400 preferably comprises a web page, it will be appreciated that retail directory 400 can include any of the functionality that is normally available in web pages�e.g., the ability to redirect to other sites through clickable links. An operator of retail directory 400 may sell (or otherwise offer) space on the retail directory 400 web page to other sites that wish to benefit from such redirection opportunities, or from the exposure such web sites may gain from being displayed on the web page of retail directory 400.
Structure of an Application Having an Integrated Shopping Service
Referring now to FIG. 5, there is shown an exemplary structure of an application 200 that employs an integrated shopping service 300. Application 200 (which runs on computer 110, shown in FIG. 1), includes integrated shopping logic 502. Integrated shopping logic 502 comprises software which performs functions including: (a) providing the user interface (UI) and functionality that enables a user to visit retail web sites; and (b) maintaining a list of retail web sites that a user may visit as part of integrated shopping service 300.
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 FIG. 3, in exemplary integrated shopping service 300 links 302-310 may be stored in personal retail list 506. Thus, in a preferred embodiment, application 200 implements an integrated shopping service by invoking web browser 504 and instructing it to display the links found in personal retail list 506.
Integrated shopping logic 502 may include the capability to add (or delete) items from personal retail list 506. In the example of FIG. 5, integrated shopping logic 502 uses web browser 504 to access retail directory 400, and adds new retail sites from retail directory 400 to personal retail list 506. For example, retail directory 400 may be implemented on a remote computer (e.g., remote computer 180, shown in FIG. 1), which functions as a �retail directory server.� Retail directory 400 may take the form of an HTML file which is stored on remote computer 180, and which is dynamically updateable to reflect a current list of retail site choices. Thus, the HTML file and the remote computer 180 on which it is stored may be represented together as a universal record locator (URL). A user may access retail directory 400 by clicking on a link (e.g., link 302 shown in FIG. 3), which navigates to the URL of the retail directory 400. When a user accesses retail directory 400, web browser 504 displays the retail directory HTML file as a web page (e.g., the web page shown in FIG. 4). When the user clicks an �add� button 410 for a particular retail web site listed in retail directory 400, logic stored in the web pages executes, thereby causing data representative of the selected retail web site to be downloaded from remote computer 180 to the user's computer 110. Integrated shopping logic 502 then stores the uploaded data in personal retail list 506.
It should be observed that web browser 504 and personal retail list 506 are shown in FIG. 5 as being within application 200. However, this arrangement is merely exemplary, as web browser 504 and personal retail list 506 merely need to be accessible to integrated shopping logic 502, and do not necessarily need to be contained within application 200. For example, web browser 504 may be a dynamic-link library (.dll file) provided as part of the operating system that resides outside of the file(s) that store application 200. Alternatively�and particularly when web browser 504 is a general-purpose web browser�web browser 504 may be a set of files that is separate from the file(s) that store application 200 (e.g., web browser 504 may be the .exe file, and related data files, that store the INTERNET EXPLORER browser). Likewise, personal shopping list 506 could be stored within application 200, but could also be stored as one or more files separate from application 200. In a preferred embodiment, personal retail list 506 is stored under a set of registry keys in the WINDOWS registry of the device on which application 200 is installed. (Certain parts of the retail list may be stored outside of the registry; for example, a bitmap for a logo, being several kilobytes in size, may be stored in a separate file.)
Exemplary Structure of a Retail Directory
FIG. 6 shows an exemplary structure of retail directory 400. As noted above, retail directory 400 comprises a list of retail sites that may be added to a user's personal retail list. As also noted above, each retail site is represented by certain data. FIG. 6 thus shows an exemplary data structure for retail directory 400, including the various data fields that are used to represent each retail site.
Retail directory 400 lists various retail sites. Each retail site has an entry 602, 604. FIG. 6 shows only two entries, but it will be understood that the number of entries shown is merely exemplary, as retail directory 400 may have any number of entries; the actual number depends on the number of retail sites that are available to be used with an integrated shopping service 300. In the example of FIG. 6, entry 602 and 604 correspond to retail web sites 402 and 404, respectively (shown in FIG. 4).
Each entry in retail directory 400 is represented by various data fields. In the example of FIG. 6, entry 602 includes a site ID 602 a, a site name 602 b, a site description 602 c, a site URL 602 d, a site logo 602 e, and site flags 602 f. Other entries include like data fields. The site ID 602 a is a number that is assigned uniquely to each site that appears in the retail directory. The number may, in one example, be used by integrated shopping service 300 to sort the entries when they are displayed to the user. In this case, the particular site ID 602 a assigned may be based on a business relationship with the owner/operator of the web site�that is, the distributor of application 200, and the owner/operator of the web site, may agree that web site will appear in a specified order on the list displayed by integrated shopping service 300, in which case the site ID 602 a may be used to fulfill that agreement when the sites are sorted by their respective side IDs. The site name 602 b is the commonly used name for a particular web site. For example, the web site whose URL is http://www.amazon.com is commonly known as �amazon.com,� and thus the site name field 602 b contains �amazon.com.� The site description 602 c is a text string that preferably describes the site. In the example, the site description of �amazon.com� is �Microsoft Reader eBookstore.� The site URL 602 d is the actual URL at which the site is located, and it may not be shown as part of the user interface. Site logo 602 e is a graphical image (e.g., a bitmap) that is associated with the retail site represented by entry 602. Typically, the graphical image is the logo associated with a retail site, although any image may be stored in field 602 e. Site flags 602 f include technical information about the retail site, for example, the file format of site logo 602 e. It should be understood that data fields 602 a-602 f are merely exemplary, and a web site could be represented by any appropriate data without departing from the spirit and scope of the invention.
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 FIG. 4). It should be noted that the data that is added to a user's personal retail list 506 when an �add� button 410 is clicked may in fact be an exact copy of the data in the selected entry 602, 604.
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 FIG. 4 is merely the rendering of the HTML page. When retail directory 400 is represented as such an HTML page, some data may be stored in non-printing fields. (E.g., the site ID 602 a, site URL 602 d, and site flags 602 f may be stored in non-printing fields or as part of the scripting code executed by the web page, since those items are not displayed when the retail directory page is rendered on a browser as shown in FIG. 4.)
Exemplary Structure of a Personal Retail List
FIG. 7 shows an exemplary structure of a personal retail list 506, which is stored on the computing device that runs the application 200 with which integrated shopping service 300 is associated. Personal retail list 506 includes a plurality of entries 602, 622, 624, which correspond to the various web sites that a user can access from within integrated shopping service 300. In order for a web site to be accessible from within integrated shopping service 300, an entry corresponding to that web site is included in personal retail list 506.
Entry 622 includes data fields for a site ID 622 a, site name 622 b, site description 622 c, site URL 622 d, site logo 622 e, and site flags 622 f. Entries 624 and 602 include like fields. As can be seen from a comparison between FIGS. 6 and 7, the format of the entries in persona retail list 506 correspond to the format of the entries in retail directory 400. It will be noted that, in the example of FIGS. 6 and 7, entry 602 appears in both personal retail list 506 and in retail directory 400. Preferably, entries in retail directory 400 and personal retail list 506 are in the same format. More preferably, entries are inserted into personal retail list 506 by copying them from retail directory 400, which occurs when a user selects a web site in retail directory 400 to be included in his or her personal retail list 506 by clicking �add� button 410. The process of migrating information from retail directory 400 to personal retail list 506 is described below in connection with FIG. 8.
It will further be observed that the first listed entry 622 in FIG. 7 is an entry for the retail directory 400 itself. This example underscores two points: First, any web site may be listed in personal retail list 506, regardless of whether it is a retail web site or some other type of web site; integrated shopping service 300 is most useful when personal retail list 506 includes at least some retail web sites, but the architecture of integrated shopping service 300 permits any type of web site to be represented in personal retail list 506 (and rendered by web browser 504). Second, as discussed above, retail directory 400 is implemented as an ordinary web site, and thus can be visited like any other web site. Moreover, by implementing retail directory 400 as an ordinary web site, retail directory 400 can be designed with the breadth of functionality available to web sites in general (i.e., retail directory 400 may have all the features supported by HTML, and most importantly, it can be updated at any time, even after the application has been installed by the user). This aspect of the invention supports the extensibility of application-integrated retail directories, which is a significant advance.
It will be appreciated that the data structure shown in FIG. 7 is merely exemplary, and personal retail list 506 may store any type of information (in any format), so long as the information identifies those web sites that may be visited from within integrated shopping service 300. Moreover, personal retail list 506 may be stored in any manner (e.g., in a file, under a set of registry keys, inside a database, etc.) without departing from the spirit and scope of the invention. Preferably, personal retail list is at least partly stored under a set of registry keys that can only be modified by the server that provides retail directory 400; this type of storage gives the entity that provides retail directory 400 control over the content of personal retail list 506 by deterring user modification.
Process of Using Retail Directory 400 to Select Retail Web Sites
FIG. 8 shows an exemplary process by which a user accesses retail directory 400 and adds web sites to his or her personal retail list 506. At step 802, the user visits retail directory 400. This action may be performed by a user's opening an ordinary stand-alone browser (e.g., the MICROSOFT INTERNET EXPLORER browser), and visiting the retail directory web site by entering a URL. Preferably, the URL of the retail directory 400 web site is included in personal shopping list 506 (or is otherwise incorporated into application 200 that includes integrated shopping service 300), so that the user may visit the retail directory web site using integrated shopping service 300. In one example, application 200 is delivered to the user with a personal shopping list 506 that includes an entry for retail directory 400, so that the user will initially be able to access retail directory 400 from integrated shopping service 300.
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 FIG. 5), if integrated shopping service 300 has been used to visit retail directory 400.
At step 806, the user selects web sites to add to personal retail list 506. As noted above in connection with FIG. 4, the user may make this selection by �clicking� on an �add� button 410. In response to the user's selection, an entry for the selected web site is inserted into the user's personal retail list 506 (step 808). As shown in FIG. 8, the step of inserting this entry may be performed by copying an entry from retail directory 400 to personal list 506 (e.g., by copying the data over the Internet).
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). (FIG. 3 shows an example of the integrated shopping service 300 rendering links to sites that are listed in personal retail list 506). In order to visit one of the sites, the user clicks on the links (step 812), at which point the page for the selected site is opened (step 814). The user is then able to browse the selected site and shop for content (step 816).
EXAMPLE Use of Integrated Shopping Service to Purchase eBooks FIG. 9 shows an example in which the present invention is used to purchase electronic books (eBooks) from within an eBooks rendering software application.
As shown in FIG. 9, a controlling party 902 adds third-party web sites to retail directory 400. In this example, retail directory 400 is a �bookstore directory,� which lists retail web sites that distribute eBooks. Controlling party 902 is the party that controls the constituency of bookstore directory 400. For example, controlling party 902 may be the manufacturer and/or distributor of the application 200 which uses integrated shopping service 300. As another example, controlling party 902 may be a different party that has been engaged to control which web sites may be listed in bookstore directory 400.
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 FIG. 5). In response to the user's selection, bookstore directory 400 transmits to the user's machine data (e.g., the �entries� shown in FIGS. 6 and 7) that correspond to the user's chosen web sites. These choices are stored in personal retail list 506 and are displayed on the user interface of integrated shopping service 300, which, in this example, is a �bookstore page.�
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 FIG. 3, link 304 (�Barnes & Noble.com�) is an example of a third-party web site. As previously noted, integrated shopping service 300 (which is bookstore page 300, in this example) includes or employs a browser (or equivalent browsing functionality), which allows a user to navigate to the third-party web sites from within the application of which integrated shopping service/bookstore page 300 is a part. The user then uses the third-party web sites to shop for content. In this example, the third-party web sites are electronic bookstores that provide eBooks. Thus, the user can purchase eBooks from the third-party web sites from within the eBook-reading application, and download such eBooks to his or her computing device.
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 FIG. 2. The user may then use the eBook-reading application to open and render the eBooks.
Patent CitationsCited PatentFiling datePublication dateApplicantTitleUS4405829Dec 14, 1977Sep 20, 1983Massachusetts Institute Of TechnologyCryptographic communications system and methodUS4688169May 30, 1985Aug 18, 1987Joshi Bhagirath SComputer software security systemUS4827508Oct 14, 1986May 2, 1989Personal Library Software, Inc.Database usage metering and protection system and methodUS4924378Jun 13, 1988May 8, 1990Prime Computer, Inc.License mangagement system and license storage keyUS4977594Feb 16, 1989Dec 11, 1990Electronic Publishing Resources, Inc.Database usage metering and protection system and methodUS5050213Aug 6, 1990Sep 17, 1991Electronic Publishing Resources, Inc.Database usage metering and protection system and methodUS5191573Sep 18, 1990Mar 2, 1993Hair Arthur RMethod for transmitting a desired digital video or audio signalUS5222134Apr 9, 1991Jun 22, 1993Tau Systems CorporationSecure system for activating personal computer software at remote locationsUS5359659Jun 19, 1992Oct 25, 1994Doren RosenthalMethod for securing software against corruption by computer virusesUS5410598Sep 27, 1994Apr 25, 1995Electronic Publishing Resources, Inc.Database usage metering and protection system and methodUS5509070Dec 15, 1992Apr 16, 1996Softlock Services Inc.Method for encouraging purchase of executable and non-executable softwareUS5530235Feb 16, 1995Jun 25, 1996Xerox CorporationInteractive contents revealing storage deviceUS5606609Sep 19, 1994Feb 25, 1997Scientific-AtlantaElectronic document verification system and methodUS5625693Jul 7, 1995Apr 29, 1997Thomson Consumer Electronics, Inc.Apparatus and method for authenticating transmitting applications in an interactive TV systemUS5629980Nov 23, 1994May 13, 1997Xerox CorporationSystem for controlling the distribution and use of digital worksUS5634012Nov 23, 1994May 27, 1997Xerox CorporationSystem for controlling the distribution and use of digital works having a fee reporting mechanismUS5638443Nov 23, 1994Jun 10, 1997Xerox CorporationSystem for controlling the distribution and use of composite digital worksUS5654746Dec 1, 1994Aug 5, 1997Scientific-Atlanta, Inc.Secure authorization and control method and apparatus for a game delivery serviceUS5666411Jan 13, 1994Sep 9, 1997Mccarty; Johnnie C.System for computer software protectionUS5675734Feb 27, 1996Oct 7, 1997Parsec Sight/Sound, Inc.System for transmitting desired digital video or audio signalsUS5708780Jun 7, 1995Jan 13, 1998Open Market, Inc.Internet server access control and monitoring systemsUS5715403Nov 23, 1994Feb 3, 1998Xerox CorporationSystem for controlling the distribution and use of digital works having attached usage rights where the usage rights are defined by a usage rights grammarUS5724425Jun 10, 1994Mar 3, 1998Sun Microsystems, Inc.Method and apparatus for enhancing software security and distributing softwareUS5734823Jul 25, 1996Mar 31, 1998Microtome, Inc.Systems and apparatus for electronic communication and storage of informationUS5734891Jun 12, 1996Mar 31, 1998Saigh; Michael M.Systems and apparatus for electronic communication and storage of time encoded informationUS5742677Apr 3, 1995Apr 21, 1998Scientific-Atlanta, Inc.Information terminal having reconfigurable memoryUS5765152Oct 13, 1995Jun 9, 1998Trustees Of Dartmouth CollegeSystem and method for managing copyrighted electronic mediaUS5784609Jul 7, 1995Jul 21, 1998Sony CorporationSystem for remotely authenticating access to local softwareUS5809145Jun 28, 1996Sep 15, 1998Paradata Systems Inc.System for distributing digital informationUS5832451Jan 23, 1996Nov 3, 1998Electronic Data Systems CorporationAutomated travel service management information systemUS5835732Oct 28, 1993Nov 10, 1998Elonex Ip Holdings, Ltd.Miniature digital assistant having enhanced host communicationUS5845281Jan 31, 1996Dec 1, 1998Mediadna, Inc.Method and system for managing a data object so as to comply with predetermined conditions for usageUS5864620Apr 24, 1996Jan 26, 1999Cybersource CorporationMethod and system for controlling distribution of software in a multitiered distribution chainUS5883955Jun 7, 1995Mar 16, 1999Digital River, Inc.On-line try before you buy software distribution systemUS5884309 *Dec 6, 1995Mar 16, 1999Dynamic Web Transaction Systems, Inc.Order entry system for internetUS5892900Aug 30, 1996Apr 6, 1999Intertrust Technologies Corp.Systems and methods for secure transaction management and electronic rights protectionUS5910987Dec 4, 1996Jun 8, 1999Intertrust Technologies Corp.Systems and methods for secure transaction management and electronic rights protectionUS5915019Jan 8, 1997Jun 22, 1999Intertrust Technologies Corp.Systems and methods for secure transaction management and electronic rights protectionUS5917912Jan 8, 1997Jun 29, 1999Intertrust Technologies CorporationSystem and methods for secure transaction management and electronic rights protectionUS5920861Feb 25, 1997Jul 6, 1999Intertrust Technologies Corp.Techniques for defining using and manipulating rights management data structuresUS5933498Nov 5, 1997Aug 3, 1999Mrj, Inc.System for controlling access and distribution of digital propertyUS5940504Jun 29, 1992Aug 17, 1999Infologic Software, Inc.Licensing management system and method in which datagrams including an address of a licensee and indicative of use of a licensed product are sent from the licensee's siteUS5943422Aug 12, 1996Aug 24, 1999Intertrust Technologies Corp.Steganographic techniques for securely delivering electronic digital rights management control information over insecure communication channelsUS5949876Jan 8, 1997Sep 7, 1999Intertrust Technologies CorporationSystems and methods for secure transaction management and electronic rights protectionUS5958051Jan 9, 1997Sep 28, 1999Sun Microsystems, Inc.Implementing digital signatures for data streams and data archivesUS5970475Oct 10, 1997Oct 19, 1999Intelisys Electronic Commerce, LlcElectronic procurement system and method for trading partnersUS5982891Nov 4, 1997Nov 9, 1999Intertrust Technologies Corp.Systems and methods for secure transaction management and electronic rights protectionUS5983245Dec 27, 1996Nov 9, 1999Apple Computer, Inc.Method and apparatus for implementing universal resource locator menusUS5983273Sep 16, 1997Nov 9, 1999Webtv Networks, Inc.Method and apparatus for providing physical security for a user account and providing access to the user's environment and preferencesUS5991399Dec 18, 1997Nov 23, 1999Intel CorporationMethod for securely distributing a conditional use private key to a trusted entity on a remote systemUS5991402Sep 23, 1997Nov 23, 1999Aegisoft CorporationMethod and system of dynamic transformation of encrypted materialUS5999622Nov 22, 1995Dec 7, 1999Microsoft CorporationMethod and apparatus for protecting widely distributed digital informationUS6006332Oct 21, 1997Dec 21, 1999Case Western Reserve UniversityRights management system for digital mediaUS6018724Jun 30, 1997Jan 25, 2000Sun Micorsystems, Inc.Method and apparatus for authenticating on-line transaction dataUS6021492Oct 9, 1996Feb 1, 2000Hewlett-Packard CompanySoftware metering management of remote computing devicesUS6029046Dec 1, 1995Feb 22, 2000Scientific-Atlanta, Inc.Method and apparatus for a game delivery service including flash memory and a game back-up moduleUS6029141Jun 27, 1997Feb 22, 2000Amazon.Com, Inc.Internet-based customer referral systemUS6035403Sep 8, 1997Mar 7, 2000Hush, Inc.Biometric based method for software distributionUS6037935Apr 28, 1998Mar 14, 2000International Business Machines CorporationWeb page exploration indicator and methodUS6049612Dec 28, 1998Apr 11, 2000The Pacid GroupFile encryption method and systemUS6064979Nov 19, 1996May 16, 2000Ipf, Inc.Method of and system for finding and serving consumer product related information over the internet using manufacturer identification numbersUS6067582Aug 13, 1996May 23, 2000Angel Secure Networks, Inc.System for installing information related to a software application to a remote computer over a networkUS6088717Aug 31, 1998Jul 11, 2000Onename CorporationComputer-based communication system and method using metadata defining a control-structureUS6133916Apr 8, 1998Oct 17, 2000International Business Machines CorporationGraphical user interface providing access to files downloaded over a networkUS6195667Oct 16, 1998Feb 27, 2001Softbook Press, Inc.On-line menu updating for an electronic bookUS6199053Apr 8, 1999Mar 6, 2001Intel CorporationDigital signature purpose encodingUS6226618Aug 13, 1998May 1, 2001International Business Machines CorporationElectronic content delivery systemUS6298446Sep 14, 1999Oct 2, 2001Alchemedia Ltd.Method and system for copyright protection of digital images transmitted over networksUS6311269Jun 15, 1998Oct 30, 2001Lockheed Martin CorporationTrusted services broker for web page fine-grained security labelingUS6324288May 17, 1999Nov 27, 2001Intel CorporationCipher core in a content protection systemUS6331865 *Oct 16, 1998Dec 18, 2001Softbook Press, Inc.Method and apparatus for electronically distributing and viewing digital contentsUS6363356Jul 16, 1998Mar 26, 2002Preview SoftwareReferrer-based system for try/buy electronic software distributionUS6385596Feb 6, 1998May 7, 2002Liquid Audio, Inc.Secure online music distribution systemUS6389403Sep 17, 1999May 14, 2002International Business Machines CorporationMethod and apparatus for uniquely identifying a customer purchase in an electronic distribution systemUS6415270Nov 15, 1999Jul 2, 2002Omnihub, Inc.Multiple auction coordination method and systemUS6425017Aug 17, 1998Jul 23, 2002Microsoft CorporationQueued method invocations on distributed component applicationsUS6449645Mar 2, 1999Sep 10, 2002Kenneth L. NashSystem for monitoring the association of digitized information having identification indicia with more than one of uniquely identified computers in a network for illegal use detectionUS6606604May 31, 2000Aug 12, 2003International Business Machines CorporationIncremental updates of items and prices on a customer's computer to reduce download times for frequently purchased items in e-commerce transactions in a method, system and programUS6629138Aug 23, 1999Sep 30, 2003Tibco Software Inc.Method and apparatus for storing and delivering documents on the internetUS6636896Jan 20, 2000Oct 21, 2003Lv Partners, L.P.Method and apparatus for utilizing an audibly coded signal to conduct commerce over the internetUS6694320Mar 1, 1999Feb 17, 2004Mitel, Inc.Branding dynamic link librariesUS6718361Apr 7, 2000Apr 6, 2004Network Appliance Inc.Method and apparatus for reliable and scalable distribution of data files in distributed networksUS6753887Mar 20, 2001Jun 22, 2004At&T Corp.Method and apparatus for dynamically displaying brand information in a user interfaceUS6763334Dec 9, 1999Jul 13, 2004Action Click Co., Ltd.System and method of arranging delivery of advertisements over a network such as the internetUS6917923Feb 1, 2000Jul 12, 2005Samsung Electronics Co., Ltd.Approved web site file downloadingUS20010011238Oct 7, 1998Aug 2, 2001Martin Forest EberhardDigital rights management systemUS20010037302Apr 23, 2001Nov 1, 2001Javien, Inc.Data web object host discovery systemUS20020002611Apr 16, 2001Jan 3, 2002Mark VangeSystem and method for shifting functionality between multiple web serversUS20020023059Jan 16, 2001Feb 21, 2002Bari Jonathan H.Method and system for secure registration, storage, management and linkage of personal authentication credentials data over a networkUS20020033844Sep 11, 2001Mar 21, 2002Levy Kenneth L.Content sensitive connected contentUS20020065772Nov 26, 2001May 30, 2002Saliba Bassam A.System, method and program for network user accessUS20020069265Dec 4, 2000Jun 6, 2002Lazaros BountourConsumer access systems and methods for providing sameUS20020120507Jan 10, 2002Aug 29, 2002George ChanosFeature rich advertisments including consumer requests for additional informationUS20020138555Mar 23, 2001Sep 26, 2002Yu Allen Kai-LangClient enhanced server-side cache systemUS20020143813Mar 28, 2001Oct 3, 2002Harald JellumMethod and arrangement for web information monitoringUS20020169805Mar 15, 2001Nov 14, 2002Imation Corp.Web page color accuracy with image supervisionUS20030167392Dec 16, 2002Sep 4, 2003Fransdonk Robert W.Method and system to secure content for distribution via a networkUS20050010475Oct 24, 2003Jan 13, 2005Ipf, Inc.Internet-based brand management and marketing communication instrumentation network for deploying, installing and remotely programming brand-building server-side driven multi-mode virtual Kiosks on the World Wide Web (WWW), and methods of brand marketing communication between brand marketers and consumers using the sameEP0715245A1Nov 23, 1995Jun 5, 1996Xerox CorporationSystem for controlling the distribution and use of digital worksEP0778512A2Nov 14, 1996Jun 11, 1997Sun Microsystems, Inc.System and method for managing try-and-buy usage of application programsEP0795809A2Mar 11, 1997Sep 17, 1997Kabushiki Kaisha ToshibaSecure software distribution system and software utilization scheme* Cited by examinerNon-Patent CitationsReference1"OpeneBook(TM) Publications Structure 1.0.1", Recommended Specification Jul. 2, 2001, www.openebook.org/oebpsdownload.htm.2Auchsmith, D., "Tamper Resistant Software: An Implementation", First International Workshop, Anderson, Ross (ed., ) 1996, 317-333.3 *Hui Lou: A server-independent password authentication method foraccess-controlled Web pages, Global Telecommunications Conference, 2000. GLOBECOM apos;00. IEEE vol. 1, Issue , 2000 pp. 361 - 364, downloaded from IEEE on the Internet on Sep. 27, 2009, 4 pages.4In the United States Patent and Trademark Office, Final Office Action in re: U.S. Appl. No. 09/836,524, filed Apr. 17, 2001, dated Jul. 19, 2005, 16 pages.5In the United States Patent and Trademark Office, Final Office Action in re: U.S. Appl. No. 09/894,519, filed Jun. 28, 2001, dated Feb. 16, 2005, 10 pages.6In the United States Patent and Trademark Office, Non Final Office Action in re: U.S. Appl. No. 09/836,524, filed Apr. 17, 2001, dated Feb. 1, 2006, 13 pages.7In the United States Patent and Trademark Office, Non Final Office Action in re: U.S. Appl. No. 09/836,524, filed Apr. 17, 2001, dated Feb. 2, 2005, 12 pages.8In the United States Patent and Trademark Office, Non Final Office Action in re: U.S. Appl. No. 09/894,519, filed Jun. 28, 2001, dated Apr. 19, 2006, 10 pages.9In the United States Patent and Trademark Office, Non Final Office Action in re: U.S. Appl. No. 09/894,519, filed Jun. 28, 2001, dated Aug. 20, 2004, 9 pages.10In the United States Patent and Trademark Office, Non Final Office Action in re: U.S. Appl. No. 09/894,519, filed Jun. 28, 2001, dated Jul. 27, 2005, 9 pages.11Jaeger, T., "Flexible Control of Downloaded Executable Content", ACM Transactions on Information and System Security, 1999, 2(2), 177-228.12 *Ozer, Jan. The making of Publishing Digital Video Explorer. E-Media Professional, Wilton, Oct. 1997, vol. 10, Iss. 10, p. 96, downloaded from ProQuest on the Internet on Jun. 3, 2008, 16 pages.13Shamir, A. et al., "Playing Hide and Seek with Stored Keys", Third International Conference, 1999, franklin, M. (ed), 118-124.14Takahashi, K., et al., "Intelligent Pages: Collecting Shop and Service Information With Software Agents," Applied Artificial Intelligence, Sep. 1997, 11(6), 489- 499.15Uehara, S., et al., "Enterprise Model-Based Software Architecture With Server Component Integration," Fujitsu Laboratories Ltd., 1998, 356-363.16Yoon, Seong Soon, et al, "Prototype Development of Directory Interface on Web Browser," Computer & Software Technol. Lab., ETRI, Feb. 15-18, 1999, 90-92.* Cited by examinerReferenced byCiting PatentFiling datePublication dateApplicantTitleUS7921309Jun 14, 2007Apr 5, 2011Amazon TechnologiesSystems and methods for determining and managing the power remaining in a handheld electronic deviceUS8341210 *Jun 14, 2007Dec 25, 2012Amazon Technologies, Inc.Delivery of items for consumption by a user deviceUS8423889Dec 11, 2008Apr 16, 2013Amazon Technologies, Inc.Device specific presentation control for electronic book reader devicesUS8656040 *Jun 14, 2007Feb 18, 2014Amazon Technologies, Inc.Providing user-supplied items to a user deviceUS8682795 *Sep 7, 2006Mar 25, 2014Oracle International CorporationTrusted information exchange based on trust agreementsUS20070067630 *Sep 7, 2006Mar 22, 2007Dmitry LenkovTrusted information exchange based on trust agreements* Cited by examinerClassifications U.S. Classification705/26.8, 705/37International ClassificationG06Q20/00, H04L9/32, G06Q30/00Cooperative ClassificationH04L2209/56, G06Q30/0601, G06Q30/0633, G06Q20/12, G06Q30/06, G06Q20/1235, G06Q40/04, G06Q30/0643, G06Q20/04, G06Q20/3825, H04L9/321, H04L2209/60European ClassificationG06Q20/04, G06Q30/06, G06Q20/12, G06Q20/3825, G06Q20/1235, G06Q30/0643, G06Q30/0633, G06Q30/0601, G06Q40/04, H04L9/32SLegal EventsDateCodeEventDescriptionMar 18, 2013FPAYFee paymentYear of fee payment: 4RotateOriginal ImageGoogle Home - Sitemap - USPTO Bulk Downloads - Privacy Policy - Terms of Service - About Google Patents - Send FeedbackData provided by IFI CLAIMS Patent Services©2012 Google