Patent Publication Number: US-6711567-B2

Title: Delivering non-default items in association with search results

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     This is a continuation application of U.S. patent application Ser. No. 09/513,238 filed on Feb. 24, 2000 U.S. Pat. No. 6,564,208 isssued on May 13, 2003; which is incorporated by reference in its entirety for all purposes as if fully set forth herein. 
    
    
     FIELD OF THE INVENTION 
     The present invention relates to computer systems and, more particularly, to techniques for delivering non-default items in association with search results. 
     BACKGROUND OF THE INVENTION 
     The Internet, often simply called “the Net,” is a worldwide system of computer networks and, in a larger sense, the people using it. The Internet is a public, self-sustaining facility that is accessible to tens of millions of people worldwide. The most widely used part of the Internet is the World Wide Web, often abbreviated “WWW” or simply referred to as just “the Web”. The Web is an Internet service that organizes information through the use of hypermedia. The HyperText Markup Language (“HTML”) is used to specify the contents and format of a hypermedia document (e.g., a Web page). 
     In this context, an HTML file is a file that contains the source code for a particular Web page. A Web page is the image that is displayed to a user when a particular HTML file is rendered by a browser application program. Unless specifically stated, an electronic or Web document may refer to either the source code for a particular Web page or the Web page itself. 
     Each page can contain imbedded references to images, audio, or other Web documents. A user, using a Web browser, browses for information by following references, known as hyperlinks, that are embedded in each of the documents. The HyperText Transfer Protocol (“HTTP”) is the protocol used to access a Web document. 
     Through the use of the Web, individuals have access to millions of pages of information. However a significant drawback with using the Web is that because there is so little organization to the Web, at times it can be extremely difficult for users to locate the particular pages that contain the information that is of interest to them. 
     To address this problem, a mechanism known as a “search engine” has been developed to index a large number of Web pages and to provide an interface that can be used to search the indexed information by entering certain words or phases to be queried. Indexes are conceptually similar to the normal indexes that are typically found at the end of a book, in that both kinds of indexes comprise an ordered list of information accompanied with the location of the information. Values in one or more columns of a table are stored in an index, which is maintained separately from the actual database table. An “index word set” of a document is the set of words that are mapped to the document in an index. For documents that are not indexed, the index word set is empty. 
     Although there are many popular Internet search engines, they are generally constructed using the same three common parts. First, each search engine has at least one “spider” that “crawls” across the Internet to locate Web documents around the world. Upon locating a document, the spider stores the document&#39;s Uniform Resource Locator (URL), and follows any hyperlinks associated with the document to locate other Web documents. Second, each search engine contains an indexing mechanism that indexes certain information about the documents that were located by the spider. In general, index information is generated based on the contents of the HTML file. The indexing mechanism stores the index information in large databases that can typically hold an enormous amount of information. Third, each search engine provides a search tool that allows users to search the databases in order to locate specific documents that contain information that is of interest to them. 
     The search engine provides an interface that allows users to specify their search criteria and, after performing a search, an interface for displaying the search results. Typically, the search engine orders the search results prior to presenting the search results interface to the user. The order usually takes the form of a “ranking”, where the document with the highest ranking is the document considered most likely to satisfy the interest reflected in the search criteria specified by the user. The specific techniques for determining that ranking will vary from implementation to implementation, and the present invention is not limited to any particular ranking technique. 
     Once the matching documents have been determined, and the display order of those documents has been determined, the search engine sends to the user that issued the search a “search results page” that presents information about the matching documents in the selected display order. Typically, number of documents that match a search is so large that the user is presented with a search results page that only displays information about the top N ranking documents, where N may be significantly smaller than the total number of matching documents. The search results page typically includes a control that allows the user to retrieve information about the “next N” matching documents, in case the first N matching documents do not entirely satisfy the users interest. 
     Significantly, the search results pages do not present to users the matching documents themselves, but merely data that identifies the matching documents. The data presented by the search results page for any given matching page is referred to herein as the “search result listing” for the page. The search result listings that are presented by the search results page frequently take the form of text that has been extracted from the documents themselves. For example, search results may present the “title” and “abstract” of each matching web page, where the title and abstract consist of text extracted from corresponding meta-data fields within the web pages. Typically, each search result listing is presented in the form of a hypertext link which, when selected, causes the user&#39;s browser to retrieve the corresponding matching document. 
     Currently, within a given search results page, there is little beyond display order and text description to distinguish one page&#39;s search result listing from the search result listing of other web pages. For example, the search result listing for each document is typically all text, where the amount of text cannot exceed a certain limit, and where the text of all entries has the same default attributes (e.g. the same font, the same font size, the same color, etc.) The default text attributes that apply to search result listings are dictated by the search result page, the settings of the browser in which the web page is displayed, or both. 
     The success of a company can hinge on the frequency at which a company&#39;s web page is selected as a matching web page by a popular search engine, and the frequency at which the web page is selected from the search results page on which it is presented. For example, a company that sells chocolates over the Internet is likely to fail if its web page does not match a search that uses the terms “buy chocolate”, or if users fail to select the web page when it is listed in the search results. Due to the commercial importance of having search engine users locate and select a company&#39;s web page, some web page owners go so far as to stuff their web pages with non-displayed content that is intended to ensure that their pages match popular searches and receive high rankings among the search results. 
     Based on the foregoing, it is clearly desirable to provide techniques that allow web page owners to entice search engine users to select the search result listings associated with their web pages without employing artifices for artificially increasing the search rank assigned to their web pages. 
     SUMMARY OF THE INVENTION 
     Techniques are provided for delivering search results pages to the users of a search engine, where one or more search result listings on the search results pages include items that are not included by default. The non-default items may take many forms, including but not limited to images, banners, controls, animations, and even applets in the JAVA language. The non-default items may be designed to entice the search engine users to select the search result listing with which they are associated over possibly higher-ranked search result listings that contain only default items. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     The present invention is illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings and in which like reference numerals refer to similar elements and in which: 
     FIG. 1A illustrates a browser displaying a search results page in which some of the search result listings include non-default items. The trademarks set forth in this figure are the property of their respective owners. All rights reserved. 
     FIG. 1B illustrates a browser displaying another search results page in which some of the search result listings include non-default items. The trademarks set forth in this figure are the property of their respective owners. All rights reserved. 
     FIG. 2 is a block diagram of a computer system that may be used to implement embodiments of the invention. 
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT 
     A method and system are described for providing search results pages that contain non-default items associated with search result listings. In the following description, for the purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the present invention. It will be apparent, 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 avoid unnecessarily obscuring the present invention. 
     Functional Overview 
     Techniques are provided for delivering search results pages to the users of a search engine, where one or more search result listings on the search results pages include items that are not included by default. The non-default items may take many forms, including but not limited to images, banners, controls, animations, and even applets in the JAVA language. The non-default items may be designed to entice the search engine users to select the search result listing with which they are associated over possibly higher-ranked search result listings that contain only default items. 
     The party that controls the search engine may charge web page owners in a manner similar to the publishers of directories such as the YELLOW PAGES. For example, web page owners may subscribe to have a graphic that depicts their logo associated with their web page, or with an entire domain. The amount charged by the search engine controller may vary based on a variety of factors, including the size and type of the non-default items that web page owners desire to associate with the search result listings for their pages. Instead of or in addition to a subscription fee for associating non-default items with search result listings, search engine provider may also charge click-through fees based on how many times the search engine users actually select a search result listing that is associated with a non-default item. 
     By providing web page owners the ability to compete for the attention of the users of a search engine through the use of non-default content, the incentive for those web page owners to employ artificial means to obtain higher search rankings is reduced. Consequently, the integrity and accuracy of search engine results may improve. 
     Establishing Associations with Non-Default Items 
     A variety of techniques may be used to establish associations between search result listings and non-default items. For example, a company may pay a yearly subscription fee to have a particular graphic, such as a company logo, associated with the home page of the company. To facility such subscriptions, the search engine provider may establish a web server for receiving such subscriptions over the Internet. The web server presents users with a web page that includes interface controls for specifying a web page, and for specifying the non-default item(s) to associate with the web page. The web page may include, for example, controls for indicating that the search result listing for the page should be shown in bold, in a particular font, and/or in a font of a particular size. The web page may also include controls for uploading other types of non-default items. For example, the web page may include controls that allow the subscriber to upload a graphic, an audio file, an applet in the JAVA language, or a movie file. 
     Once the subscriber has identified the web page and specified or uploaded the non-default items to be associated with the web page, the web server stores the non-default items, and/or metadata that identifies any specified non-default text attributes, on a storage device that is accessible by the search engine. 
     According to one embodiment, an index value is generated for each web page for which a subscription has been created by applying a hash function to data that uniquely identifies the web page, such as the URL of the web page. A “subscribed web page index” is established that allows each web page to be located and efficiently retrieved from the storage device based on the index value thus generated for the web page. 
     Instead of or in addition to web-page-specific subscriptions, a mechanism is provided which allows domain-specific subscriptions. For example, a company may have registered the domain mycompany.com. The company could obtain a subscription that associates a graphic representing the logo of the company with the domain name. In response to the subscription request, the graphic is stored on a storage device accessible to the search engine, and indexed in a “subscribed domain names index” based on the domain name. 
     The actual location at which the non-default items are stored, and the retrieval mechanism used to deliver the non-default items on the appropriate search results pages, will vary from implementation to implementation. For example, in another embodiment, the non-default items are stored in the same database or directory that is used by the search engine to store the default listings for searchable items. The search engine uses an index to determine the searchable items that satisfy a search, and retrieves from the same database both the default listings and the non-default items associated with those searchable items that satisfy the search. 
     Search Results Delivery 
     After a subscription has been received for a particular web page or domain, the associated non-default items are delivered whenever the search results include search result listings that correspond to the web page or domain. Specifically, after identifying the matching documents and prior to delivering the search results to a search engine user, the search engine (1) performs lookups in the subscribed web page index using index values generated based on the web pages represented in the search results and/or (2) performs lookups in the subscribed domain names index using index values generated based on the domain names of the web pages represented in the search results. If the lookup operations locate any non-default items that have been associated with any of the search results, then those non-default items are included in the search results web page that is delivered to the search engine user. 
     FIG. 1A illustrates a browser that is displaying a search results page that includes search result listings that include non-default items. Specifically, listings  1  and  5  include graphic images and/or text  140   a ,  140   b , respectively, with non-default attributes. It should be noted that certain portions of all listings are underlined, and may appear in a different color than other text. However, even those portions constitute “default” in that they merely reflect the default attributes for the type of elements that they are (i.e. hypertext links). For example, default items  110  each contain a listing number, an underlined title, a text block of limited size, and an underlined link. 
     FIG. 1B illustrates a browser that is displaying another search results page that includes search result listings that include non-default items. Specifically, listing  1  includes a graphic image  150   a , and listing  5  includes a banner  150   b . Selection of the banner may cause retrieval of the web page associated with the listing, or an entirely different web page._Default items  120  are similar to default items  110 , described above. 
     Certain types of non-default items, such as graphics, are included in the search results page by embedding tags to such items in the web page. When a browser decodes such tags, the browser retrieves the items, and displays the retrieved items at the appropriate locations within the web page. When the non-default item is text with one or more non-default font attributes, the non-default item may simply be included in the search result web page by storing font attribute information at locations within the search result web page to cause all or a portion of the appropriate search result listing to display those non-default attributes. 
     In some implementations, the party that provides the front end to the search engine is a different party than the party that controls the search engine. In such implementations, the search engine may provide the non-default items along with the standard search result listings to the front end provider, and the front end provider includes both the standard search result listings and the non-default items in the search results page that it delivers to the user. 
     Non-Default Item Uses 
     There is virtually no limit to types of non-default items that can be displayed with the search result listings associated with web pages. For example, the items may be active, passive, visual, audio, may reflect the content of the associated web page or may have no logical relationship with the associated web page. Consequently, there is virtually no limit to the uses that such non-default items can be put. A typically use of such non-default items would be to entice the search engine user to select the associated page. Graphics, animations, sounds, non-default text styles may all serve this purpose. However, other less-conventional uses are also possible. For example, web page owner that sells items over the Internet may pay a search engine provider to associated a “click-to-buy” button for an item with the web page that describes the item. Consequently, when that web page satisfies the results of a search, the search result listing that is presented to the search engine user will include the click-to-buy button. 
     Search Domain 
     The techniques described herein have been described in an embodiment in which the search domain is web documents on the World Wide Web. However, the techniques are not limited to searches performed in this domain. For example, search engines used to locate electronic items within any intranet or extranet network may also effectively employ the techniques. Further, the searchable items are not limited to web pages, but may include other types of electronic files, such as text files, word processing documents, graphics or even sound files. When the search is for non-text items such as graphics, the default search result listing for the items may include, for example, thumbnails of the graphics. However, the techniques provided herein allow non-default material that is separate and distinct from the search items themselves to be associated with the listings. For example, a company may associate its logo with a set of images that the company has created. When one of those images is listed in the results page of a image-based search engine, the search engine includes the logo in the listing. 
     Hardware Overview 
     FIG. 2 is a block diagram that illustrates a computer system  200  upon which an embodiment of the invention may be implemented. Computer system  200  includes a bus  202  or other communication mechanism for communicating information, and a processor  204  coupled with bus  202  for processing information. Computer system  200  also includes a main memory  206 , such as a random access memory (RAM) or other dynamic storage device, coupled to bus  202  for storing information and instructions to be executed by processor  204 . Main memory  206  also may be used for storing temporary variables or other intermediate information during execution of instructions to be executed by processor  204 . Computer system  200  further includes a read only memory (ROM)  208  or other static storage device coupled to bus  202  for storing static information and instructions for processor  204 . A storage device  210 , such as a magnetic disk or optical disk, is provided and coupled to bus  202  for storing information and instructions. 
     Computer system  200  may be coupled via bus  202  to a display  212 , such as a cathode ray tube (CRT), for displaying information to a computer user. An input device  214 , including alphanumeric and other keys, is coupled to bus  202  for communicating information and command selections to processor  204 . Another type of user input device is cursor control  216 , such as a mouse, a trackball, or cursor direction keys for communicating direction information and command selections to processor  204  and for controlling cursor movement on display  212 . This input device typically has two degrees of freedom in two axes, a first axis (e.g., x) and a second axis (e.g., y), that allows the device to specify positions in a plane. 
     The invention is related to the use of computer system  200  for implementing the techniques described herein. According to one embodiment of the invention, those techniques are implemented by computer system  200  in response to processor  204  executing one or more sequences of one or more instructions contained in main memory  206 . Such instructions may be read into main memory  206  from another computer-readable medium, such as storage device  210 . Execution of the sequences of instructions contained in main memory  206  causes processor  204  to perform the process steps described herein. In alternative embodiments, hard-wired circuitry may be used in place of or in combination with software instructions to implement the invention. Thus, embodiments of the invention are not limited to any specific combination of hardware circuitry and software. 
     The term “computer-readable medium” as used herein refers to any medium that participates in providing instructions to processor  204  for execution. Such a medium may take many forms, including but not limited to, non-volatile media, volatile media, and transmission media. Non-volatile media includes, for example, optical or magnetic disks, such as storage device  210 . Volatile media includes dynamic memory, such as main memory  206 . Transmission media includes coaxial cables, copper wire and fiber optics, including the wires that comprise bus  202 . Transmission media can also take the form of acoustic or light waves, such as those generated during radio-wave and infra-red data communications. 
     Common forms of computer-readable media include, for example, a floppy disk, a flexible disk, hard disk, magnetic tape, or any other magnetic medium, a CD-ROM, any other optical medium, punchcards, papertape, any other physical medium with patterns of holes, a RAM, a PROM, and EPROM, a FLASH-EPROM, any other memory chip or cartridge, a carrier wave as described hereinafter, or any other medium from which a computer can read. 
     Various forms of computer readable media may be involved in carrying one or more sequences of one or more instructions to processor  204  for execution. For example, the instructions may initially be carried on a magnetic disk of a remote computer. The remote computer can load the instructions into its dynamic memory and send the instructions over a telephone line using a modem. A modem local to computer system  200  can receive the data on the telephone line and use an infra-red transmitter to convert the data to an infra-red signal. An infra-red detector can receive the data carried in the infra-red signal and appropriate circuitry can place the data on bus  202 . Bus  202  carries the data to main memory  206 , from which processor  204  retrieves and executes the instructions. The instructions received by main memory  206  may optionally be stored on storage device  210  either before or after execution by processor  204 . 
     Computer system  200  also includes a communication interface  218  coupled to bus  202 . Communication interface  218  provides a two-way data communication coupling to a network link  220  that is connected to a local network  222 . For example, communication interface  218  may be an integrated services digital network (ISDN) card or a modem to provide a data communication connection to a corresponding type of telephone line. As another example, communication interface  218  may be a local area network (LAN) card to provide a data communication connection to a compatible LAN. Wireless links may also be implemented. In any such implementation, communication interface  218  sends and receives electrical, electromagnetic or optical signals that carry digital data streams representing various types of information. 
     Network link  220  typically provides data communication through one or more networks to other data devices. For example, network link  220  may provide a connection through local network  222  to a host computer  224  or to data equipment operated by an Internet Service Provider (ISP)  226 . ISP  226  in turn provides data communication services through the world wide packet data communication network now commonly referred to as the “Internet”  228 . Local network  222  and Internet  228  both use electrical, electromagnetic or optical signals that carry digital data streams. The signals through the various networks and the signals on network link  220  and through communication interface  218 , which carry the digital data to and from computer system  200 , are exemplary forms of carrier waves transporting the information. 
     Computer system  200  can send messages and receive data, including program code, through the network(s), network link  220  and communication interface  218 . In the Internet example, a server  230  might transmit a requested code for an application program through Internet  228 , ISP  226 , local network  222  and communication interface  218 . In accordance with the invention, one such downloaded application implements the techniques described herein. 
     The received code may be executed by processor  204  as it is received, and/or stored in storage device  210 , or other non-volatile storage for later execution. In this manner, computer system  200  may obtain application code in the form of a carrier wave. 
     In the foregoing specification, the invention has been described with reference to specific embodiments thereof. It will, however, be evident that various modifications and changes may be made thereto without departing from the broader spirit and scope of the invention. The specification and drawings are, accordingly, to be regarded in an illustrative rather than a restrictive sense.