METHOD AND APPARATUS FOR GENERATING A TOUR OF WORLD WIDE WEB SITES

Abstract: A method is provided of displaying World Wide Web pages on a display device. A number of hypertext links are identified, wherein each hypertext link is for locating one of a plurality (210-212) of Web pages. The hypertext links may be identified from a particular Web page or from results of a Web search. Web pages (210-212) are retrieved using the identified hypertext links. Additional Web pages (221-228) may be retrieved from a Web page (210) that has been retrieved. Retrieved Web pages (210, 221-228) are automatically displayed in a sequence on the display device to form a visual tour of certain World Wide Web sites (201-203). The sequence may be based on any of various criteria, such as the subject matter of Web pages (210, 221-228), the particular distribution of Web pages among Web sites (201-203), or the relative popularity of Web sites (201-203). A progress indication is displayed to indicate the Web page (210, 221-228) in the sequence that is currently being displayed.

Description: METHOD AND APPARATUS FOR GENERATING A TOUR OF WORLD WIDE WEB SITES FIELD OF THE INVENTION The present invention pertains to the field of network-based processing systems. More particularly, the present invention relates to processing systems configured to allow browsing of the World Wide Web. BACKGROUND OF THE INVENTION The World-Wide Web ("the Web") is a collection of formatted hypertext pages and other information distributed among numerous computers logically connected by the Internet. The Web is a valuable resource for information relating to virtually any subject, including business, education, entertainment, and travel, to name just a few. Advances in Internet-related technology, such as Web browsers (software applications which provide a user interface to the Web), have made the Web accessible to a large segment of the population. Despite rapid advances in Web browsers, however, access to the Web has until recently been limited to people who own a personal computer. Many people cannot afford a personal computer, however, and others have anxiety about using computers. In addition, certain Web browsers in the prior art generally do not provide the degree of user-friendliness desired by some people who lack computer experience, and many computer novices do not have the patience to learn how to use the software. In contrast, most people in modern society are quite comfortable with their television sets. Even ardent technophobes tend to view the television set as a familiar part of daily life. Most people are also comfortable using a remote control to operate a television set, a video cassette recorder (VCR), home audio system, or other electronic device. Consequently, WebTV Networks Inc., of Palo Alto, California, has developed technology to allow people to access the Web through their television sets. This technology is known as "WebTV™" and is currently available through Philips Magnavox and Sony Electronics Inc. WebTV allows a person to access and navigate through Web pages using an ordinary television set and a remote control. More specifically, WebTV is designed so that a person can use a remote control to navigate between hypertext objects on a Web page with little effort or thought, so that a person feels more as if he is simply changing the channels on a television set, rather than using a complex, global computer network. Hence, one basic quality of WebTV is to make Web browsing more comfortable for people by making it feel more like watching television. A person watching television sometimes has nothing specific that he wishes to watch. Accordingly, he can switch from channel to channel until he finds something interesting, or he can simply leave the television tuned to a particular channel and watch whatever is provided. In contrast with watching television, however, Web browsing tends to require more effort by the person to actively seek out and locate specific information. Information is often located through the use of software known as a search engine. Yet, as with watching television, a person may wish to browse the Web without having specific goal in mind, i.e., he may wish to "surf" the Web. Even if the person has a specific goal in mind, manually sifting through results of a Web search can be tiring. Therefore, it is desirable to make Web browsing even more like watching television, so that less effort is required by a person to view Web pages. In particular, it is desirable to allow a person to view a number of Web pages without having to specifically locate or request those Web pages. SUMMARY OF THE INVENTION The present invention pertains to a machine-implemented method of displaying hypertext documents on a display device. In the method, a number of logical addresses are received, each of which represents a hypertext link to one of the hypertext documents. The hypertext documents are then received using the logical addresses. The hypertext documents are then automatically displayed on a display device in a sequence. Other features of the present invention will be apparent from the accompanying drawings and from the detailed description which follows. BRIEF DESCRIPTION OF THE DRAWINGS The present invention is illustrated by way of example and not limitation in the figures of the accompanying drawings, in which like references indicate similar elements and in which: Figure 1 illustrates a WebTV client system connected to a WebTV server system. Figure 2 illustrates a WebTV client system. Figure 3 illustrates a hand-held remote control device for interacting with a user interface of a WebTV client system. Figure 4 is a block diagram of an electronics unit of a WebTV client system. Figure 5 is a block diagram of a WebTV server system. Figure 6 illustrates a WebTV server system including a proxy cache and a transcoder. Figure 7 illustrates a World Wide Web page. Figure 8 illustrates a logical hierarchy of Web pages distributed among a number of Web sites. Figure 9 is a flow diagram illustrating an overall routine for generating a tour of World Wide Web sites. Figure 10 is a flow diagram illustrating a routine for building a list of logical addresses. Figure 11 is a flow diagram illustrating a routine for displaying a sequence of Web pages. Figure 12 illustrates a manner of displaying a Web page with a number of reduced- size images of Web pages superimposed thereon. Figure 13 illustrates a display of reduced-size images of four Web pages. DETAILED DESCRIPTION A method and apparatus for generating a tour of World Wide Web pages are described. In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the present invention. It will be evident, however, to one skilled in the art that the present invention may be practiced without these specific details. In other instances, well-known structures and devices are shown in block diagram form in order to facilitate description of the present invention. The present invention includes a method and apparatus for automatically displaying a sequence of World Wide Web (hereinafter "Web") pages. The effect is to provide a user with a "tour" of certain Web pages or Web sites. The user can thereby view a number of Web pages with little or no input, i.e., without having to specifically request each Web page. A displayable sequence of Web pages may be generated from one or more given Web pages, such as the results obtained from a conventional search engine. The effect of the tour is that Web browsing can be made a more presentational experience, such as when watching television. The present invention includes steps which, in one embodiment, are encoded in machine-executable software instructions, such that the present invention is carried out in a processing system by a processor executing the instructions. In other embodiments, hardwired circuitry may be used in place of, or in combination with, software instructions to implement the present invention. In one embodiment, the present invention is included in a system known as WebTV™ (hereinafter "WebTV"), which uses a standard television set as a display device for browsing the Web and which connects to the Internet using a standard telephone, ISDN, Ethernet, or other similar communication path. A user of a WebTV client system can utilize WebTV Network services provided by one or more WebTV servers. The WebTV Network services are used in conjunction with software running in a WebTV client system to browse the Web, send electronic mail, and to make use of the Internet in various other ways. The WebTV servers generally function as proxies by retrieving Web pages and other data requested by a WebTV client system from remote Web servers and then providing the information to the WebTV client system. I. System Overview Figure 1 illustrates a configuration of a WebTV network according to one embodiment. A WebTV client 1 is coupled to a modem pool 2 via direct-dial, bi- directional data connections 29, which may be a conventional telephone, i.e., "plain old telephone service" (POTS), ISDN (Integrated Services Digital Network) link, Ethernet, or any other suitable type of data connection. The modem pool 2 is coupled typically through a router, such as that conventionally known in the art, to a number of remote servers 4 (i.e., conventional Web servers) via a conventional network infrastructure 3, such as the Internet. The WebTV system also includes a WebTV server 5, which implements WebTV Network services and specifically supports the WebTV client 1. The server 5 generally includes one or more conventional computer systems. The server 5 may actually comprise multiple physical and logical devices connected in a distributed architecture. The client 1 can connect to the server 5 through POTS, ISDN, or Ethernet connection or through the Internet 3 via the modem pool 2. Note that the modem pool 2 is a conventional modem pool, such as those found today throughout the world providing access to the Internet and private networks. The modem pool 2 may be provided by a local Internet Service Provider (ISP). A. WebTV Client System Figure 2 illustrates a WebTV client system 1 according to one embodiment. The client system 1 includes an electronics unit 10 (hereinafter referred to as "the WebTV box 10" or "the box 10"), an ordinary television set 12, and a hand-held remote control 11. In an alternative embodiment (not shown), the WebTV box 10 is built into the television set 12 as an integral unit. The box 10 includes hardware and software for providing the user with a graphical user interface, by which the user can access the WebTV Network services, i.e., browse the Web, send e-mail, etc. The client system 1 uses the television set 12 as a display device and an audio output device. The box 10 is coupled to the television set 12 by a link 6. The link 6 includes an audio channel for generating sound from the television's speaker and an RF (radio frequency), S-video, composite video, or other equivalent form of video channel. The data link 29 between the box 10 and the server 5 is a conventional telephone (POTS), ISDN, Ethernet, or other suitable data connection. The box 10 receives AC (alternating current) power through a standard AC power line 7. Remote control 11 is operated by the user in order to control the client system 1 to browse the Web and otherwise access the Internet. The box 10 receives commands from remote control 11 via an infrared (IR) communication link. In alternative embodiments, the link between the remote control 11 and the box 10 may be an RF link or any other suitable type of link. Figure 3 illustrates the remote control 11 in greater detail. In one embodiment, remote control 11 is similar to a conventional hand-held remote control that is used to control a television set. In fact, remote control 11 may include conventional controls for controlling the standard functions of the television set 12, in addition to controls related to the present invention. In an alternative embodiment, remote control 11 may be a wired hand-held controller, a wired or wireless (e.g., IR) keyboard, or any other similar device. As shown in Figure 3 , the controls of remote control 11 include direction buttons 15-18 and Enter button 19. Direction buttons 15-18 include a Left button 15, a Right button 16, an Up button 17, and a Down button 18. Figure 4 shows the internal components of the box 10, according to one embodiment. Operation of the client system 1 is controlled by a CPU 21, which is coupled to an Application- Specific Integrated Circuit (ASIC) 20. The CPU 21 executes software designed to implement features of the present invention. ASIC 20 is coupled to an audio digital-to-analog converter 25 which provides audio output to television 12. In addition, ASIC 20 is coupled to a video encoder 26 which provides video output to television set 12. An IR interface 24 detects IR signals transmitted by remote control 11 and, in response, provides corresponding electrical signals to ASIC 20. A modem 27 is coupled to ASIC 20 to provide the connection 29 to the modem pool 2 and (via the Internet 3) to the remote servers 4. Note that modem 27 may be a conventional telephone modem, an ISDN or Ethernet adapter, or any other suitable data communication device. Also, in other embodiments the client's communication link with the server 5 may be of various different types, such as a token ring or Ethernet connection. Also coupled to ASIC 20 is a non-volatile storage (NVS) device 22. NVS 22 may include standard mask Read-Only Memory (ROM) as well as programmable-erasable memory, such as electrically-erasable programmable ROM (EEPROM) or flash memory. Also coupled to ASIC 20 is a Random Access Memory (RAM) 23, which is a volatile storage facility. NVS 22 provides storage of certain program instructions and data, as will be described below. Note that a mass storage device (not shown) may be optionally coupled to the box 10 to provide additional storage capacity. The WebTV box 10 includes software which, when executed by a processor in the box 10, provides the user with a graphical user interface by which the user can access the WebTV Network services and browse the Web. The software includes application software for providing a Web browser as well as operating system (OS) software, which includes device drivers and otherwise interfaces the application software with the system hardware components (see Figure 4). In one embodiment, both the application software and the OS are stored in NVS 22 and may be loaded into RAM 23 as required. As mentioned above, in one embodiment the steps of the present invention (which are described below) are embodied in machine-executable instructions. For example, the present invention can be carried out by the CPU 21 executing sequences of instructions contained in memory (i.e., NVS 22, RAM 23, or a combination thereof). More specifically, execution of the sequences of instructions causes the CPU 21 to perform the steps of the present invention. Instructions for carrying out the present invention may be loaded into memory from a mass storage device. In addition, instructions may be loaded into memory from one or more other "host" computer systems. If instructions are loaded into memory from a "host" computer system, the host computer system may, for example, transmit a sequence of instructions to the client system 1 in response to a message transmitted to the host computer system over the Internet 3 by the client system 1. As the client system 1 receives the instructions via a network connection (e.g., connection 29), the client system 1 stores the instructions in memory. The client system 1 may store the instructions for later execution or execute the instructions as they arrive over the network connection. In some embodiments, such downloaded instructions may be directly supported by the CPU 21. In that case, execution of the instructions could be performed directly by the CPU 21. In other embodiments, the instructions may not be directly executable by the CPU 21. Under those circumstances, the instructions may be executed by causing the CPU 21 to execute an interpreter that interprets the instructions, or by causing the CPU 21 to execute instructions which convert the received instructions into instructions that can be directly executed by the CPU 21. In various embodiments, hardwired circuitry may be used in place of, or in combination with, software instructions to implement the present invention. Thus, the present invention is not limited to any specific combination of hardware circuitry and software, nor to any particular source for the instructions executed by a computer system. Certain aspects of the present invention may be also carried out in the WebTV server 5 instead of, or in addition to, being carried out in the WebTV client 1, as will be apparent from the discussion which follows. B. WebTV Server System The WebTV server 5 generally includes one or more computer systems having the architecture illustrated in Figure 5. Note, however, that the illustrated architecture is only one possible architecture; a WebTV server 5 is not confined to such architecture. The illustrated architecture includes a central processing unit (CPU) 50, random access memory (RAM) 51, NVS (non- volatile storage) 52, a mass storage device 53, a modem 54, a network interface card (NIC) 55, and various other input/output (I/O) devices 56. NVS 52 may include programmable and/or programmable-erasable storage. Mass storage device 53 may include a magnetic, optical, or other equivalent mass storage medium. I/O devices 56 may include a monitor, a keyboard, a pointing device, and other similar devices. Modem 54 is used to communicate data to and from the remote servers 4 via the Internet. Modem 54 may be a conventional telephone (POTS) modem, an ISDN adapter, or any other suitable data communication device. The WebTV server 5 may actually comprise multiple devices connected in a distributed architecture. Accordingly, modem 54 and NIC 55 may be used to provide data communication with other devices that provide WebTV Network services. Note that certain steps of the present invention may be performed by the server 5, rather than the client 1. As with the client 1, such steps generally may be implemented using software, hardwired circuitry, or a combination thereof. Further, such steps may be embodied in software downloaded to the server 5 from another computer system. In general, the WebTV server 5 functions as a proxy for the client 1 in providing the client 1 with access to the Web. The proxying functions include caching and transcoding (modifying) Web pages and various other data. Referring now to Figure 6, the WebTV server 5 includes a proxy cache 65 and a transcoder 66, which are functionally coupled together and to the Internet 3. The proxy cache 65 provides temporary storage Web documents, images, and other information that is requested frequently by either the WebTV client 1 or the server 5. The transcoder 66 automatically modifies certain Web pages and other files retrieved from remote servers 4. Transcoding may be performed for various purposes, such as debugging or transmission efficiency. The details of the transcoder are not necessary to an adequate understanding the present invention. II. Directed Touring of Web Sites In accordance with the present invention, sequences of Web pages are displayed by the client system 1 without requiring the user of the client system to select and request each individual Web page. The effect is to provide a "tour" of Web pages to the user of the WebTV client system 1. A displayable sequence of Web pages may be generated from a currently-downloaded Web page, or from other data, such as a "hit list" obtained using a conventional Web search engine. These functions will be described below in greater detail. As is well known, a Web page is a hypertext document stored on a Web server, such as one of the remote servers 4 in Figure 1. Web pages are commonly written as Hypertext Mark-Up Language (HTML) documents. An HTML document may contain text and/or refer to images and other media types. Figure 7 illustrates a Web page 100 as it is displayed by the client system 1 on the television 12. Web page 100 is the "home page" (top level page, or root level) of the Web site of a fictitious company, Company XYZ. An HTML document typically includes one or more "hypertext anchors". Hypertext anchors, which are also sometimes called "links", "hot links" or "hot spots", are displayable objects (text or image) that represent hypertext links to other Web pages or other data. A hypertext anchor may represent a link to different media types, such as an audio stream. Web page 100 includes a number of hypertext anchors 101-115. Anchors 103-108 and 112-114 are keywords or phrases representing hypertext links to pages related to those keywords. Hypertext anchors 109-111 are image maps. Hypertext anchor 1 15 provides a link to an audio stream, such as the jingle (theme song) of Company XYZ. Each hypertext anchor in an HTML Web page is associated with a particular URI (Uniform Resource Identifier), which specifies the location (i.e., logical address) of another Web page or other data. Hypertext anchors and other displayable objects are identified in an HTML document by a number of "tags", which specify the attributes of the object, including the associated URI in the case of hypertext anchors. Consequently, the browser software can locate hypertext anchors and determine their corresponding URIs based on these tags. The remote servers 4 which provide Web pages to other computer systems are commonly referred to as Web "sites." A Web site can be defined as one or more Web servers that are registered under one or more domain names for public or private information retrieval across a network. Any given site may store a number of Web pages. Figure 8 illustrates three Web sites, i.e., sites 201, 202 and 203. Each of the Web sites 201-203 has a home page, i.e., Web pages 210, 211 and 212, respectively. The Web pages stored on sites 201-203 are arranged in a logical hierarchy, as shown in Web site 201. (Although Figure 8 shows only the home pages 211 and 212 of sites 202 and 203, these Web sites may include other Web pages arranged in similar hierarchies.) The home page of each Web site represents the top level (level 1) of the hierarchy. The home page of each site contains an number of hypertext links to other Web pages on that Web site; for example, Web site 201 contains links to Web pages 221-228. Web pages 221 and 222, which are directly linked to home page 210, shall be referred to herein as second level (level 2) Web pages on Web site 201. Web pages 223, 224 and 225, which are directly linked to the second level Web pages, shall be referred to as third level Web pages of site 201. Similarly, Web pages 226, 227 and 228, which are directly linked to the third level Web pages, shall be referred to as fourth level Web pages of Web site 201. Various functions involved in providing a tour of Web pages will now be described. Many of these functions can be performed by either the WebTV client system 1 or the WebTV server system 5. Further, certain steps of a given routine may be performed by the server 5 while other steps are performed by the client 1, as will be explained below. Figure 9 illustrates an overall routine for providing a tour of Web pages according to a simple embodiment. Referring to Figure 9, in step 901, the client system 1 initially receives a Web page (i.e., the top level Web page). The Web page may be received in response to the user of the client system 1 activating a hypertext link in another Web page, for example. In step 902, the client system 1 identifies URIs that are referred to by the received Web page. As noted above, the client system 1 is able to identify URIs based on the tags in an HTML document. In step 903, the client system 1 uses the identified URIs to request and receive each of the Web pages that are directly linked to the current Web page (i.e., the second level of Web pages). In step 904, the client system 1 displays these additional Web pages in a sequence, displaying each Web page for a defined period of time. In one embodiment, the period of time is defined based on the content of the current Web page and is therefore variable. For example, a Web page which has an audio file associated with it (e.g., music) may be displayed longer than other Web pages to allow the user to hear the entire audio file. In another embodiment, the defined period of time may be fixed (e.g., 10 seconds per page). Note that the order of steps 903 and 904 may be varied to accommodate the memory limitations of the client system 1. Specifically, the memory limitations of the client system 1 may prevent retrieval of all Web pages at the same time; therefore, it may be necessary to defer retrieval of some Web pages until other Web pages have been received and displayed. Once the second level Web pages are retrieved based on the identified URIs, additional (third level) Web pages can be retrieved based on the URIs included in each of the second level Web pages, and so forth. The number of levels to be included in the tour can be limited based on the user's preference or a preset limit. Any given Web page may also have links to Web pages from other Web sites. Accordingly, a tour can be limited to a single Web site or to a given "range" of Web sites from an initial Web site (i.e., only Web sites directly linked to the current Web site). Thus, a Web tour may include Web pages of many different levels from many different Web sites, if desired. Step 901 may be preceded or replaced by a step of receiving search results from a conventional search engine. Such search results normally are in the form of a "hit list", which generally includes brief descriptions of Web sites that meet the search criteria as well as the URIs of the found Web pages (although the URIs may not be displayed to the user). Hence, the URIs identified in step 902 may be identified from a hit list resulting from a Web search rather than from a single Web page. In one embodiment, the URIs that are identified in step 902 are combined into a list, which may be used by the client 1 in step 903 to retrieve additional Web pages, if desired. The URI list may include information indicating the order of display of the Web pages, if desired. This sequence information may be implicit in the list itself (i.e., the order in which the URIs appear within the list) or it may consist of explicit information added to the list. In one embodiment, the client system 1 identifies any Web pages that have already been displayed in the tour and refrains from displaying such pages again. This may be accomplished by identifying and deleting (or flagging) duplicate URIs in the list. Hence, the client system 1 automatically displays a sequence of Web pages without requiring the user to enter any input once the tour is initiated. However, the user may interrupt the tour or alter the tour at any time. Specifically, if the user sees a Web page that he would like to examine more closely, he may enter an input using the remote control 11. For example, by pressing the Options button 7, a pop-up menu or dialog box can be activated, by which the user can pause or terminate the tour. The user might also initiate the tour in a similar manner, from a currently displayed Web page or from hit list. A tour can also be generated by the server system 5. For example, the server system 5 may provide a list of URIs to the client system, which the client system 1 then displays based on sequence information within the list. Alternatively, the server system 5 may download each page to the client system based on its own list. If the tour is generated on the server system 5, the tour may also be prepared manually, i.e., by a human being (such as WebTV Network staff). Specialized, pre-packaged tours can be prepared to accommodate the interests of particular WebTV customers. For example, tours relating to a specific subject may be prepared by compiling a list of appropriate URIs. A continuous tour of Web pages can be generated, if desired. New URIs can be continuously added to the list as Web pages are displayed and their corresponding URIs are marked as "visited" and/or deleted from the list. Figure 10 illustrates a routine for building a URI list according to one embodiment. In Figure 10, N represents a current level within a Web page hierarchy for a given Web site. Thus, N=l corresponds to the top (root) level, or home page, of the given Web site. Increasing values of N represent successive "generations" (i.e., levels increasing in "link distance" from the root level) in the hierarchy. Assume now that either a single Web page or a hit list is currently stored in memory of the client system 1. (As indicated above, this routine may also be performed in the server system 5.) The routine of Figure 10 begins in step 1001 with N set equal to one. In step 1002, all URIs referred to in the "next" Web page of level N are identified. There may be only one Web page of level one, such as when the URI list is to be derived from a single, currently-displayed Web page; in that case, that Web page is considered to be the "next" Web page of level N for the first iteration of step 1002. In contrast, there may be many level one Web pages, such as when the list is to be derived from a search hit list; in that case, any one of the Web pages can be considered to be the "next" Web page of level N for the first iteration of step 1002. In step 1003, the URIs identified in step 1002 are added to the URI list. If there are additional Web pages available at level N, then the routine repeats from step 1002. Otherwise, the routine continues from step 1005 by determining whether N is currently equal to MAXJ EVEL, where MAX_LEVEL is defined as the deepest hierarchy level to be included in the tour. As noted above, MAX_LEVEL may be user-specified, or it may be a built-in limit. Alternatively, there may be no limit to the depth of the tour, and the tour may run continuously. If N is not equal to MAX LEVEL, then N is incremented by 1 in step 1006 , and the routine repeats from step 1002. As noted above, the URI list may or may not contain information indicating the desired display order. Such information may be implicit in the order in which URIs appear in the list. Accordingly, the routine of Figure 10 can be easily altered as necessary to produce the desired display order. Alternatively, information may be added explicitly to the URI list to indicate the order of display. In addition, the display order can be determined, in whole or in part, by the display routine, which is described below according to one embodiment (see Figure 11). Therefore, it should be recognized that the present invention is not restricted to the specific routine of Figure 10 for purposes of building a URI list. It may be desirable to display all Web pages in a given line of descendency in the hierarchy before displaying any other Web pages in the hierarchy. Alternatively, it may be desirable to display all Web pages of a given level in the hierarchy before displaying any Web pages of a different level. The display order can also be based upon various other criteria, such as the relative popularities of the Web pages. Web pages' popularities are frequently tracked and provided by the corresponding Web sites as the number of hits on each Web page during a given time period. Alternatively, the order of display may be based upon the subject matter of the Web pages, such as the degree of relevance of a particular Web page to a user's specified search criteria. Relevance of a Web page may be determined, for example, based on how closely the contents of the Web page match the search criteria. The contents of the URI list can be filtered based on these or other criteria. Additionally, some pages may be deemed inappropriate and may therefore be removed from the list or marked as "to be skipped" (or the like), so that these Web pages are not "visited" or displayed. Reasons for removing or not displaying pages include, but are not limited to: 1) the appropriateness of the site or page in terms of morals or ethics (e.g., as determined by a filter such as SurfWatch); 2) the appropriateness of a site or page based on knowledge of the site or content of the page (i.e., for informational reasons); 3) the presence or absence of specific HTML tags in, or headers supplied for, the Web document; and 4) the presence and content of a 7robots.txt" file on the Web site (as per the well-known "/robots.txt" standard. Once a URI list is constructed by (or provided to) the client system 1, the client system 1 displays the tour accordingly. Thus, Figure 11 illustrates a routine for displaying a tour of Web pages according to one embodiment. The routine of Figure 11 is based on the assumptions: 1) that the URI list contains no explicit information on the display order, and 2) that all Web pages of a given level are to be displayed before displaying Web pages of a different level. As in the routine of Figure 10, N represents a current hierarchy level. In step 1101, N is set equal to one. In step 1102, a counter variable, COUNT, is set equal to zero. COUNT ranges in value from zero to MAX_COUNT. MAX COUNT is set as necessary to achieve the desired display duration for each Web page. In step 1103, the client system 1 displays the next Web page of level N. During the first iteration of step 1103, the next Web page of level N is the first Web page to be displayed, as indicated by the sequence information in the URI list. In step 1104, it is determined whether a user input has been received, such as a user input requesting a pause or termination of the tour. If a user input has been received, then the user input is serviced in step 1108. After servicing the user input, it is next determined (based on the nature of the user input) whether the tour is to be resumed. If the tour is not to be resumed, the routine ends. If the tour is to be resumed, or if no user input was received in step 1104, then the routine continues from step 1105 by determining whether COUNT equals MAX COUNT. If COUNT is not equal to MAX COUNT, then COUNT is incremented by one in step 1110, and the routine then repeats from step 1104. If COUNT equals MAX COUNT, then the currently displayed Web page has been displayed for a sufficient amount of time; accordingly, it is next determined in step 1106 whether there are additional Web pages of level N to display. If so, the routine repeats from step 1102 by resetting COUNT to zero, followed by the displaying in step 1103 of the next level N Web page, and so forth. If there are no more Web pages of level N to display, then it is determined in step 1107 whether N equals MAX_LEVEL. If N equals MAX_LEVEL, then the routine ends. Otherwise, N is incremented by one in step 1111, and the routine then repeats from step 1102. Note that aspects of the routine of Figure 11 can be performed on the server system 5. For example, the server 5 can provide each Web page in the tour to the client 1 in real time. Note also that the present invention is not restricted to the specific embodiment illustrated in Figure 11 for purposes of displaying Web pages. Different variations of a display routine may be desirable. As noted above, it may be desirable to display all Web pages in a given line of descendency in the hierarchy before displaying any other Web pages in the hierarchy, for example. Display order may be dynamic or determined by an algorithm external to the WebTV unit or WebTV network. To enhance the quality of the user's Web browsing experience, various user interface features can be provided in conjunction with the above-described routines. For example, the tour may include a visual progress indication, which indicates to the user the current degree of progress through the tour. A progress indication may be in the form of a numerical display showing how many Web pages have been previously displayed, how many Web pages have yet to be displayed, or both. Another type of progress indication is illustrated in Figure 12. Figure 12 again illustrates the home page 100 of Company XYZ. In addition, a number of reduced size images 251-258 of Web pages have been displayed over Web page 100. (Figure 12 does not show the content of images 251-258, because such content is not necessary for understanding the present feature.) The images 251-258 indicate the context of the currently-displayed Web page to the user. One of the images 254 represents the currently- displayed Web page 100, as indicated by highlighting 260. The other images, 251-253 and 255-258, represent the Web pages which are immediately adjacent to Web page 100 within the display sequence. The size of the images 251-258 can be appropriately selected to provide the user with a rough indication of the content of the represented Web pages. In addition, the images 251-258 can be made selectable objects, such that the user can randomly access the (full-size) Web page corresponding to any of the reduced size images. Specifically, the user may use the directional buttons 15-18 on remote control 11 to highlight the appropriate image and then press Enter button 19 to cause the selected Web page to be displayed. In this manner, the user can alter the tour by skipping over certain Web pages. Figure 13 illustrates another user interface feature according to which four reduced-size "thumbnail" Web pages 271-274 are displayed. Such a display may be generated, for example, based on a hit list returned by a search engine. For example, the four Web pages determined to be most relevant might be displayed as thumbnail images. Accordingly, the user might initiate a tour by selecting one of the thumbnail images 271- 274 as the root page for the tour, using the remote control 11 in the manner described above. Various other effects may be added to make a Web tour a more television-like experience. For example, transitions between Web pages during a tour might be characterized by fade-in/fade-out, iris opening/closing, Web pages sliding in/out horizontally or vertically, or other similar techniques. In addition, pre-packaged tours prepared on the server 5 can be combined with audio information, such as voice narration, music, sound effects, etc. Thus, a method and apparatus for generating a tour of World Wide Web pages have been described. Although the present invention has been described with reference to specific exemplary embodiments, it will be evident that various modifications and changes may be made to these embodiments without departing from the broader spirit and scope of the invention as set forth in the claims. Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense. What is claimed is:

Claims: 1. A machine-implemented method of displaying a plurality of hypertext documents on a display device, the method comprising the steps of: receiving a plurality of logical addresses, each of the logical addresses representing a hypertext link to one of the hypertext documents; retrieving the plurality of hypertext documents using the logical addresses; and causing the plurality of hypertext documents to be automatically displayed on the display device in a sequence. 2. A method according to claim 1, wherein the step of causing the plurality of hypertext documents to be automatically displayed on the display device in a sequence comprises the steps of: causing a first hypertext document to be displayed on the display device; and causing the first hypertext document to be automatically replaced on the display device by a second hypertext document after the first hypertext document has been displayed for a period of time. 3. A method according to claim 2, wherein the period of time is determined based on the content of the first hypertext document. 4. A method according to claim 1, wherein the step of causing the plurality of hypertext documents to be automatically displayed in a sequence comprises the step of causing hypertext documents to be displayed sequentially until a user input is received. 5. A method according to claim 1, further comprising the step of receiving information specifying the sequence. 6. A method according to claim 1, wherein each of the hypertext documents represents a World Wide Web page. 7. A method according to claim 6, wherein the step of receiving the plurality of logical addresses comprises the step of receiving search results of a World Wide Web search. 8. A method according to claim 6, wherein the step of receiving the plurality of logical addresses comprises the step of receiving a Web page including at least one of the plurality of logical addresses. 9. A method according to claim 1, further comprising the step of displaying on the display device a progress indication, the progress indication indicating a current degree of progress through the step of causing the plurality of hypertext documents to be automatically displayed on the display device. 10. A method of displaying World Wide Web pages, the method comprising the steps of: receiving a first Web page; automatically identifying a first plurality of logical addresses specified by the Web page, each logical address representing a hypertext link to one of a first plurality of Web pages; using the first plurality of logical addresses to retrieve at least one of the first plurality of Web pages; and displaying said at least one of the first plurality of Web pages sequentially on a display device without requiring user inputs for individually requesting each of said at least one of the first plurality of Web pages. 11. A method according to claim 10, wherein the step of displaying the first plurality of Web pages sequentially on a display device comprises the steps of: causing a first one of the first plurality of Web pages to be displayed on the display device; and causing the first one of the first plurality of Web pages to be automatically replaced on the display device by a second one of the first plurality of Web pages after the first one of the first plurality of Web pages has been displayed for a defined period of time. 12. A method according to claim 11, wherein the defined period of time is determined based on content of the first one of the first plurality of Web pages. 13. A method according to claim 10, further comprising the step of filtering the first plurality of Web pages based on a predetermined criterion to determine which of the first plurality of Web pages are to be displayed in the displaying step. 14. A method according to claim 10, further comprising the step of displaying on the display device a progress indication, the progress indication indicating a current degree of progress through the automatically displaying step. 15. A method according to claim 14, wherein the progress indication comprises a plurality of reduced-size images of certain Web pages displayed with a currently-displayed Web page. 16. A method according to claim 15, wherein the progress indication further comprises a designation of one of the reduce-size images indicating a position in a display sequence of the currently-displayed Web page with respect to said certain Web pages. 17. A method according to claim 15, further comprising the steps of: receiving a user input selecting one of the reduced-size images; and in response to the user input selecting one of the reduced-size images, replacing the currently-displayed Web page with a Web page represented by the selected reduced-size image. 18. A method according to claim 10, wherein each of the first plurality of Web pages is stored on a Web site, and wherein the sequence is based on a popularity of each of the Web sites. 19. A method according to claim 10, wherein the first plurality of Web pages are associated with a plurality of Web sites, and wherein the sequence is based on a distribution of the first plurality of Web pages among the Web sites. 20. A method according to claim 10, further comprising the steps of: determining which of the logical addresses correspond to Web pages previously displayed during said step of automatically displaying; and during said step of automatically displaying, prohibiting the redisplaying of any Web page already displayed. 21. A method according to claim 10, further comprising the steps of: automatically identifying a second logical address specified by one of the first plurality of Web pages, the second logical address representing a hypertext link to a second Web page; and using the second logical address to retrieve the second Web page. 22. A machine-implemented method of displaying a plurality of World Wide Web pages, the method comprising the steps of: receiving information identifying a first plurality of Web pages, the first plurality of Web pages having hypertext links to a second plurality of Web pages; identifying the second plurality of Web pages based on the hypertext links; retrieving the first plurality of Web pages and the second plurality of Web pages; and causing each of the first plurality of Web pages and the second plurality of Web pages to be displayed in a predetermined sequence on a display device. 23. A method according to claim 22, wherein the step of receiving information identifying the first plurality of Web pages comprises the step of receiving a set of hypertext link addresses identifying Web pages meeting a predefined criterion. 24. A method according to claim 23, wherein the set is manually-compiled. 25. A method according to claim 22, wherein the step of causing each of the first plurality of Web pages and the second plurality of Web pages to be displayed in a predetermined sequence on a display device comprises the steps of: causing a first Web page to be displayed on the display device; and causing the first Web page to be automatically replaced on the display device by a second Web page after the first Web page has been displayed for a defined period of time. 26. A method according to claim 22, wherein the step of receiving information identifying a first plurality of Web pages comprises the step of receiving results of a search of the World Wide Web. 27. A method of displaying a plurality of hypertext documents distributed over a network, the method comprising the steps of: a) identifying a plurality of logical addresses, each of the logical addresses representing one of the plurality of hypertext documents distributed over the network; b) requesting one of the hypertext documents using one of the logical addresses; c) receiving said one of the hypertext documents; d) causing said one of the hypertext documents to be displayed on a display device for a first defined period of time; e) requesting another one of the hypertext documents using another one of the logical addresses; f) receiving said other one of the hypertext documents; g) causing said other one of the hypertext documents to be displayed on the display device for a second defined period of time; and h) repeating steps e) through g) to generate an automated sequential display of the hypertext documents. 28. A method according to claim 27, wherein the step of identifying the plurality of logical addresses comprises the step of filtering the set of plurality of logical addresses based on a predetermined criterion. 29. A method of displaying World Wide Web pages, the method comprising the steps of: a) identifying a first plurality of Web pages, the first plurality of Web pages having hypertext links to a second plurality of Web pages; b) identifying the second plurality of Web pages from the first plurality of Web pages; c) requesting one of the first plurality of Web pages; d) receiving said one of the first plurality of Web pages; e) causing said one of the first plurality of Web pages to be displayed on a display device for a period of time; f) requesting one of the second plurality of Web pages; g) receiving said one of the second plurality of Web pages; h) causing said one of the second plurality of Web pages to be displayed on the display device for the period of time; and i) repeating steps c) through h) using a different one of the first plurality of Web pages and a different one of the second plurality of Web pages. 30. A method according to claim 29, wherein the step of identifying a first plurality of Web pages comprises the step of receiving results of a search of the World Wide Web. 31. In a first processing system having a communication link with a second processing system, a method of enabling the second processing system to display a plurality of hypertext documents, the method comprising the steps of: identifying a first plurality of hypertext links, each of the first plurality of hypertext links corresponding to one of the plurality of hypertext documents; and transmitting to the second processing system information identifying the plurality of hypertext links and information indicating a sequence for displaying the hypertext documents. 32. A method according to claim 31, wherein each of the hypertext documents comprises a World Wide Web page. 33. A method according to claim 31, wherein the step of identifying a first plurality of hypertext links comprises the step of receiving user inputs for specifying the first plurality of hypertext links. 34. A method according to claim 31, further comprising the step of determining the sequence for displaying the hypertext documents. 35. A method according to claim 34, wherein the step of determining the sequence for displaying the hypertext documents comprises the step of receiving user inputs for defining the sequence. 36. A method according to claim 31, wherein the step of identifying the first plurality of hypertext links comprises the step of filtering a second plurality of hypertext links based on a predetermined criterion, the second plurality of hypertext links including the first plurality of hypertext links. 37. A method according to claim 36, wherein the step of identifying the first plurality of hypertext links comprises the step of identifying hypertext links to hypertext documents that relate to a given subject. 38. A method according to claim 37, wherein the step of identifying the plurality of hypertext links comprises the steps of: receiving a set of hypertext links; and determining which of the hypertext links in the set correspond to hypertext documents not sufficiently related to the given subject; and eliminating from consideration the hypertext links in the set which correspond to hypertext documents not sufficiently related to the given subject. 39. In a first processing system having a communication link with a second processing system, a method of enabling the second processing system to display a plurality of World Wide Web pages, the method comprising the steps of: receiving user inputs specifying a plurality of hypertext links, each of the hypertext links corresponding to one of the plurality of World Wide Web pages; receiving user inputs for specifying a sequence for displaying the World Wide Web pages; and transmitting to the second processing system information identifying the plurality of hypertext links and information indicating the sequence for displaying the World Wide Web pages. 40. In a first processing system having a communication link with a second processing system and having a network connection with a plurality of remote processing systems, a method of enabling the second processing system to display a plurality of hypertext documents, the method comprising the steps of: retrieving the plurality of hypertext documents from at least one of the remote processing systems; determining a display sequence for the plurality of hypertext documents; and transmitting the plurality of hypertext documents to the second processing system according to the display sequence. 41. A method according to claim 40, wherein the step of determining the display sequence comprises the step of receiving user inputs specifying the display sequence. 42. A method according to claim 40, wherein the network connection is an Internet connection , and wherein the plurality of hypertext documents comprises a plurality of World Wide Web pages. 43. A method according to claim 40, further comprising the step of filtering the plurality of hypertext documents based on a predetermined criterion. 44. A processing system comprising: a processor; and a memory coupled to the processor, the memory having sequences of instructions stored therein which, when executed by the processor, cause the processing system to: receive a first Web page; identify a first plurality of logical addresses specified by the Web page, each logical address representing a hypertext link to one of a first plurality of Web pages; use the first plurality of logical addresses to retrieve each of the first plurality of Web pages; and display in a sequence the first plurality of Web pages on a display device coupled to the processing system without requiring user inputs individually requesting each of the first plurality of Web pages. 45. A processing system according to claim 44, wherein the instructions which cause the processing system to display the first plurality of Web pages comprise instructions which, when executed by the processor, cause the processing system to: display a first Web page on the display device; and replace the first Web page on the display device with a second Web page after the first Web page has been displayed for a defined period of time. 46. A processing system according to claim 44, wherein the instructions stored in the memory further comprise instructions which, when executed by the processor, cause the processing system to display a progress indication on the display device, the progress indication indicating a current degree of progress through the sequence. 47. A processing system according to claim 44, wherein the instructions stored in the memory further comprise instructions which, when executed by the processor, cause the processing system to display a plurality of reduced-size images of certain Web pages. 48. A processing system according to claim 47, wherein the instructions stored in the memory further comprise instructions which, when executed by the processor, cause the processing system to display a designation of one of the reduce-size images to indicate the currently-displayed Web page. 49. A processing system according to claim 47, wherein the instructions stored in the memory further comprise instructions which, when executed by the processor, cause the processing system to display receive a user input selecting one of the reduced-size images; and in response to the user input, display the Web page represented by the selected reduced-size image. 50. A processing system comprising: a processor; and a memory coupled to the processor, the memory having sequences of instructions stored therein which, when executed by the processor, cause the processing system to: receive information identifying a first plurality of hypertext documents distributed over a network, the first plurality of hypertext documents having hypertext links to a second plurality of hypertext documents distributed over the network; identify the second plurality of hypertext documents based on the hypertext links; retrieve the first plurality of hypertext documents and the second plurality of hypertext documents; and cause the first plurality of hypertext documents and the second plurality of Web pages to be displayed in a sequence on a display device coupled to the processing system. 51. A processing system according to claim 50, wherein the plurality of hypertext documents comprises a plurality of World Wide Web pages. 52. A processing system according to claim 51, further comprising instructions which, when executed by the processor, cause the processing system to filter the first and second pluralities of hypertext documents based on a predetermined criterion. 53. A processing system according to claim 51, wherein the instructions which cause the processing system to receive information identifying a first plurality of hypertext documents comprise instructions which, when executed by the processor, cause the processing system to receive results of a Web search. 54. A processing system according to claim 51, wherein each of the first plurality of Web pages is stored on a Web site, and wherein the sequence is based on a popularity of each of the Web sites. 55. A processing system according to claim 51, wherein the first plurality of Web pages are associated with a plurality of Web sites, and wherein the sequence is based on a distribution of the first plurality of Web pages among the Web sites. 56. A processing system according to claim 51, wherein the instructions stored in the memory further comprise instructions which, when executed by the processor, cause the processing system to determine which of the logical addresses correspond to Web pages previously displayed during said step of automatically displaying; and during said step of automatically displaying, not repeating a display of any Web page previously displayed during said step of automatically displaying. 57. A first processing system having a communication link with a second processing system, the first processing system comprising: a processor; and a memory coupled to the processor, the memory having sequences of instructions stored therein which, when executed by the processor, cause the processing system to: identify a plurality of hypertext links, each of the hypertext links corresponding to one of a plurality of hypertext documents; and transmit to the second processing system information identifying the plurality of hypertext links and information indicating a sequence for displaying the hypertext documents. 58. A first processing system according to claim 57, wherein the plurality of hypertext documents comprises a plurality of World Wide Web pages. 59. A processing system according to claim 58, wherein the instructions which cause the processing system to identify a plurality of hypertext links comprise instructions which, when executed by the processor, cause the processing system to receive user inputs for specifying the plurality of hypertext links. 60. A processing system according to claim 57, wherein the instructions stored in the memory further comprise instructions which, when executed by the processor, cause the processing system to determine the sequence for displaying the hypertext documents. 61. A processing system according to claim 60, wherein the instructions which cause the processing system to determine the sequence for displaying the hypertext documents comprise instructions which, when executed by the processor, cause the processing system to receive user inputs for defining the sequence. 62. A processing system according to claim 57, wherein the instructions which cause the processing system to identify a plurality of hypertext links comprise instructions which, when executed by the processor, cause the processing system to eliminate from consideration hypertext links to hypertext documents that do not have a sufficient correspondence to a specified subject.

Inventors: KILLIANEY MICHAEL, LEAK BRUCE A, KILLIANEY, MICHAEL, LEAK, BRUCE, A.
Applicants: KILLIANEY MICHAEL, LEAK BRUCE A, WEBTV NETWORKS INC, KILLIANEY, MICHAEL, LEAK, BRUCE, A., WEBTV NETWORKS, INC.
Application year: 1998
Main classification: H04L
IPC codes: G06F17, H04L29, H04N5