WO2000068839A1 - A process for maintaining ongoing registration for pages on a given search engine - Google Patents

A process for maintaining ongoing registration for pages on a given search engine Download PDF

Info

Publication number
WO2000068839A1
WO2000068839A1 PCT/US2000/012546 US0012546W WO0068839A1 WO 2000068839 A1 WO2000068839 A1 WO 2000068839A1 US 0012546 W US0012546 W US 0012546W WO 0068839 A1 WO0068839 A1 WO 0068839A1
Authority
WO
WIPO (PCT)
Prior art keywords
search engine
database
file
script
web site
Prior art date
Application number
PCT/US2000/012546
Other languages
French (fr)
Inventor
Alan Perkins
Original Assignee
Search Mechanics, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=23199218&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=WO2000068839(A1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Search Mechanics, Inc. filed Critical Search Mechanics, Inc.
Priority to CA002373828A priority Critical patent/CA2373828A1/en
Priority to EP00932176A priority patent/EP1221114A1/en
Priority to AU49938/00A priority patent/AU4993800A/en
Publication of WO2000068839A1 publication Critical patent/WO2000068839A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • Y10S707/99945Object-oriented database structure processing

Definitions

  • the present invention relates to the process of developing and maintaining the content of Internet search engine databases.
  • An internet (including, but not limited to, the Internet, intranets, extranets and similar networks), is a network of computers, with each computer being identified by a unique address.
  • the addresses are logically subdivided into domains or domain names (e.g. ibm.com, pbs.org, and oranda.net) which allow a user to reference the various addresses.
  • a web. (including, but not limited to, the World Wide Web (WWW)) is a group of these computers accessible to each other via common communication protocols, or languages, including but not limited to Hypertext Transfer Protocol (HTTP).
  • HTTP Hypertext Transfer Protocol
  • Resources on the computers in each domain are identified with unique addresses called Uniform Resource Locator (URL) addresses (e.g.
  • a web site is any destination on a web. It can be an entire individual domain, multiple domains, or even a single URL. Resources can be of many types. Resources with a ".htm" or.” html" URL suffix are text files, or pages, formatted in a specific manner called Hypertext Markup Language (HTML). HTML is a collection of tags used to mark blocks of text and assign meaning to them. A specialized computer application called a browser can decode the HTML files and display the information contained within. A hyperlink is a navigable reference in any resource to another resource on the internet.
  • An internet Search Engine is a web application consisting of
  • Agents are programs that can travel over the internet and access remote resources.
  • the internet search engine uses agent programs called Spiders, Robots, or Worms, among other names, to inspect the text of resources on web sites. Navigable references to other web resources contained in a resource are called hyperlinks. The agents can follow these hyperlinks to other resources. The process of following hyperlinks to other resources, which are then indexed, and following the hyperlinks contained within the new resource, is called spidering.
  • the main purpose of an internet search engine is to provide users the ability to query the database of internet content to find content that is relevant to them.
  • a user can visit the search engine web site with a browser and enter a query into a form (or page), including but not limited to an HTML form, provided for the task.
  • the query may be in several different forms, but most common are words, phrases, or questions.
  • the query data is sent to the search engine through a standard interface, including but not limited to the Common Gateway Interface (CGI).
  • CGI is a means of passing data between a client, a computer requesting data or processing and a program or script on a server, a computer providing data or processing.
  • the combination of form and script is hereinafter referred to as a script application.
  • the search engine will inspect its database for the URLs of resources most likely to relate to the submitted query.
  • the list of URL results is returned to the user, with the format of the returned list varying from engine to engine.
  • it will consist of ten or more hyperlinks per search engine page, where each hyperlink is described and ranked for relevance by the search engine by means of various information such as the title, summary, language, and age of the resource.
  • the returned hyperlinks are typically sorted by relevance, with the highest rated resources near the top of the list.
  • the World Wide Web consists of thousands of domains and millions of pages of information.
  • the indexing and cataloging of content on an Internet search engine takes large amounts of processing power and time to perform. With millions of resources on the web. and some of the content on those resources changing rapidly (by the day. or even minute), a single search engine cannot possibly maintain a perfect database of all Internet content. Spiders and other agents are continually indexing and re-indexing WWW content, but a single World Wide Web site may be visited by an agent once, then not be visited again for months as the queue of sites the search engine must index grows.
  • a site owner can speed up the process by manually requesting that resources on a site be re-indexed, but this process can get unwieldy for large web sites and is in fact, a guarantee of nothing.
  • an internet search engine agent visits a web site for indexing, it first checks the existence of robots.txt at the top level of the site. If the search agent finds robots.txt. it analyses the contents of the file for records such as:
  • Each search engine agent has its own agent name.
  • Alta Vista currently the largest Internet search engine
  • Scooter an agent that allows only Alta-Vista access to directory /avstuff, the following robots.txt file would be used:
  • the ROBOTS META tag is found in the file itself.
  • INDEX and NOINDEX indicate to all agents whether or not the file should be indexed by that agent.
  • FOLLOW and NOFOLLOW indicate to all agents whether or not they should spider hyperlinks in this document.
  • the present invention process uses the CGI program(s) provided by the search engine in order to add, modify and remove files from the search engine index.
  • the process can generally only remove a file from the search engine index if the file no longer exists or if the site owner (under the direction of the process) has configured the site, through the use of robots.txt. the ROBOTS META tag or other methods of index control, so that the search engine will remove the file from its index.
  • a resource that is modified or removed by its owner after it is indexed by a search engine could be incorrectly listed in that search engine for months until an agent visits the site to register the change.
  • a resource may be modified since the last time it was indexed, in which case a user may never be directed to the new content, or incorrectly directed to content that is no longer present.
  • Deleted resources can create the impression for a search engine user that a whole web site has shut down, that the information the user is looking for is removed, or that the web site is not being maintained, when the resources may have simply been moved to another location on the site as part of regular site maintenance.
  • Automated tools such as search engines apply their own criteria in order to determine the relevancy of a particular resource for a particular query. These automated criteria can lead to the search engine returning spurious, misleading, or irrelevant results to a particular query. For example, a recent search for the nursery rhyme "Rub a dub dub. three men in a tub" on a particular search engine resulted in the top ten search results containing discussions of various issues among consenting males.
  • the present invention provides a mechanism for search engine and web site managers to maintain as perfect a registration of web site content as is possible. By augmenting or replacing existing agents and manual registration methods with specialized tools on the local web site (and. when feasible, at the search engine), the current problems with search engine registration and integrity can be eliminated.
  • the present invention defeats the key problems with automated agents and manual registration and replaces them with an exception based, distributed processing system. Instead of making the search engine do all the work necessary to index a site, the web site owner is now responsible for that operation. By distributing the work, the search engine is improved in these ways: 1. The search engine can maintain perfect ongoing registration and indexing of pages by re-indexing at a set interval, as frequently as the web site owner chooses.
  • the search engine can maintain an intelligent database, not limited by the conditions that automated agents have imposed on them and not easily corruptible by web site owners with less ethical practices. 3.
  • the search engine provides a guarantee of integrity to all users, ultimately providing a more valuable service to both users and web site owners.
  • the process is begun by distributing a set of search engine update software tools to the web site owner.
  • These tools can be implemented in one of three ways. The first way is to implement the tools on the web server of the site owner. The software can run automatically, having direct access to all resources on the web site. The second way is to install the software tools on a surrogate server. This surrogate is a computer with proper permissions and access to the resources of the web site and automatically accesses those resources over the network.
  • the third way is through the use of client-side tools.
  • the software will run on each client's computer, check the client's web server via internet protocols, and relay the information on the web server to the search engine.
  • the software could be written in a variety of different programming languages and would be applicable for as many client and server computers as needed.
  • the software Upon initial execution, the software builds a database of the resources on the web site.
  • the resources catalogued can be specified by the user, or automatically through spidering functions of the software.
  • the database consists of one record per resource indexed on the site. Each record contains fields including:
  • the search engines the owner of the web site would like the resource to be indexed by.
  • the software tools inspect the current state of the web site against the content of the database. When altered, removed, or additional content is found, the software tools make the appropriate changes to the database and then notify the search engine of those changes (see Figure 1, Box206a, 207b-c). Changes to the database are made as follows:
  • a resource is marked as deleted if the resource is listed in the current database, but cannot be retrieved.
  • B. A resource is marked as modified if the date and time of last modification in the current database is earlier than the date and time of last modification provided by the web server for the resource.
  • a resource is added and marked as added if it is present on the web server, but not yet in the database and the web site manager has opted to add it either manually or automatically.
  • the web site owner has the capability to protect brand image from being injured by a search engine pointing potential visitors to deleted, irrelevant, or incorrect resource information.
  • the search engine owner has a higher degree of database integrity. Less information storage space is wasted on spurious, nonexistent or incorrect data. 4.
  • the web site owner can directly indicate the key-words and other descriptions that are most appropriate for each resource in the site, as opposed to using the cumbersome
  • HTML 'Meta' tag to specify the keywords for the agent.
  • words are words that are particularly relevant to a particular resource and might be used on a search engine to locate that resource. 5.
  • the search engine can create a reverse index of keywords that the individual site owners have identified for each resource. For example, a user could query for a list of all web sites that have listed 'dog' as an appropriate keyword.
  • the internet search engine could be used by users to query the content of a particular web site, as opposed to requiring a web site based search engine to index the content. This saves administration effort and computing resources at the web site.
  • the main aspect of the present invention is to provide a method to index locally at a web site all changes to that site ' s resource content database which has occurred since the last search engine indexing.
  • Another aspect of the present invention is to actively transmit said changes to an internet search engine.
  • Another aspect of the present invention is to automatically transmit batches of updates (a list of content that has changed since the last search engine index), in a predetermined manner.
  • FIG 1 is a flowchart of the steps to select which search engines will receive updates and which files shall be updated on those search engines
  • FIG 2 is a diagram of the decision tree for determining the state of a specific resource on a particular search engine database, and the action needed to update the internet search engine as enabled in FIG 1.
  • FIG 3 is a diagram of the Internet search engine update process of updating the files as in FIG.
  • the present invention can be used on new Internet search engine systems, or existing systems can be adapted for use by existing search engines having the following characteristics:
  • the search engine provides a Common Gateway Interface to allow resources to be added to, modified, or deleted from the search engine database.
  • the search engine can update the database index quickly (ideally immediately) in response to additions, modifications, or deletions information provided through the CGI.
  • the search engine can keep the date and time it last indexed a page (or alternatively, the last modification date and time of the page when it was last indexed) and can make this information available to the web site owner.
  • search engine allows search results to be constrained to one particular site, that completes the functionality requirements of the present invention.
  • the invention is a server-side process, running either on a surrogate server or the actual server upon which the web site is stored.
  • the process is coded as a program in the Perl programming language, although other languages such as C+ ⁇ or Java could be used.
  • the process is invoked regularly by the operating system of the computer on which the program resides or manually by a web site manager.
  • server side tools consist of the database and tools to update the database.
  • server side tools consist of the database and tools to update the database.
  • the user is provided with an HTML form and CGI script, hereinafter referred to as a CGI program, in order to configure the Enabled and Table of Files fields (see Figure 1 , Box 100-101).
  • the information the user inputs is submitted over the Common Gateway Interface ( Figure 1, Box 102) and the referenced CGI script updates the database tables as instructed ( Figure 1. Box 103-105).
  • the user can thus enable (i.e., select) and disable a particular search engine using this interface.
  • a search engine that is disabled in the database is simply skipped during an update.
  • the Table of Files is a field in the Table of Search Engines database. It is initially configured by the user through a CGI program ( Figure 1. Box 200) to list the files the user wishes to be registered with this search engine. This table contains a record for each resource. Each record contains the following fields:
  • the Table of Files is a list of the above records.
  • the list is built by first obtaining the set of resources the user wishes to maintain and register with a search engine ( Figure 1 , Box
  • the user enters the files they wish to monitor into a CGI program and submits the form
  • the user may list all the resources to be registered manually. These listed resources are added to the Table of Files ( Figure 1, Box 202a. 205a).
  • 90 B. The user may specify a map page. If the user specifies a map page, this map page is retrieved. All of the hyperlinked resources on the map page referring to this web site are added to the Table of Files ( Figure 1. Box 202b. 205b, 206b).
  • the list of pages built by the above process forms the Name fields of the Table of Files records for each search engine.
  • This process can be performed globally (on all search engines in the table of search engines), on a group of search engines, or on an individual 100 search engine, as indicated by the user ( Figure 1, Box 206a, 207b, 207c).
  • Submitting the above form also invokes a CGI script to set the Enabled and 'Register by default' fields of the appropriate search engine record according to the preferences of the user. Additionally, a page is provided where the title, URL and Meta Description of each page would be substituted in the appropriate place in the table for each search engine. 105 Submitting this additional information invokes a CGI script to set the Register field of the Table of Files field for the appropriate search engine record, according to preferences of the user. IIV. The process by which the database is constructed and updated.
  • the process looks up each file and determines whether the file is registered, current, out of date, or deleted with respect to its registration on the search engine.
  • Figure 2 illustrates the decision process to determine the state of a resource on the search engine (Box 1) and the action, which must be taken.
  • a resource can be in the following states:
  • This CGI program is the "register file ' program and is run manually by the user or automatically ( Figure 3. Box 100).
  • An HTML form is provided for the purpose of adding a resource to the search engine index.
  • a CGI script is invoked. The most common mode of action for this script is as follows:
  • the search engine determines whether the configuration of the web site will allow indexing through robots.txt and/or
  • the search engine determines if the resource is registered by the search engine. If the resource is registered, the search engine determines if the resource has changed since it was last indexed ( Figure 3, Box 109). If the resource has changed since it was last indexed, the resource entry in the search engine database is updated with new data ( Figure 3, Box 109. 1 10). If the resource has not changed since it was last indexed, then no action is taken. ( Figure 3, Box 111). If the site can not be indexed, and the resource has been indexed by the search engine ( Figure 3, Box 105), the entry for the resource is removed from the search engine database ( Figure 3. Box 106).
  • the resource URL is added to a list of URLs the search engine will index ( Figure 3, Box 108).
  • Some search engines will index resources submitted in this way within a day or two of submission. Other search engines may take weeks or months.
  • the present invention would:
  • the search engine should offer the following features in order for the process to work most efficiently: a. Provide confirmation that a particular file is in the index. b. Provide the date and time the file was indexed or guarantee immediate indexing c. Provide the current date and time according to the search engine index d. Provide a means to add a file to the index (ideally immediately) e. Provide a means of removing a file from the index (ideally immediately) f. Impose no practical limit on the number of files that may be registered within a fixed period g.
  • proxy files could be used in place of any other files. This could be achieved simply by extending the FILE RECORD with a proxy filename, as follows:
  • date and time last registered is set return file. date and time last registered + search engine. index time End If
  • the process could deliver the proxy to the search engine in place of the resource itself.
  • the format of the proxy file could be plain text, or HTML to allow current indexing techniques to continue to work.
  • the format of the proxy file could also be any other markup language, for instance XML. The principle remains the same - a text file is used in place of any other file or set of files. This method will allow, for example, Java, embedded objects, graphics, frames, and other file formats to be indexed.
  • proxy file Spamming is a potential problem when using proxy files.
  • the idea of the proxy file is that the search engine uses it to create an index, but the search engine user links to the real file in response to a search query.
  • the search engine uses it to create an index, but the search engine user links to the real file in response to a search query.
  • the contents of the proxy file and the real file do not match, the user will not get what they are expecting.
  • a rogue site owner may set up the proxy file to catch a lot of queries about sex (the most searched for term on the Internet), when in fact their page is trying to persuade you to join their online gambling syndicate.
  • Spamming will only occur when there is a breakdown of trust between the site owner and search engine owner.
  • the site owners could sign an online contract to guarantee that they will not spam. By signing the contract, they are provided with the embodiment of the process in order to register and maintain their registration with the search engine. If, through spamming, the contract is broken, the search engine can discontinue listing pages temporarily or permanently for the web site in question. It may also be able to take legal action. There are also programmable and scalable methods of defeating spamming - they are irrelevant to this discussion.
  • the search engine can still spider sites whose owners do not use the tools provided, in the same way as conventional search engines spider sites. For sites that are deemed appropriate.
  • the search engine can even set up a surrogate server to implement the present invention on behalf of a non-participating site owner.
  • the present invention is not limited in its application to the details of the particular arrangement shown, since the invention is capable of other embodiments. Also, the terminology used herein is for the purpose of description and not of limitation.

Abstract

A process for maintaining ongoing registration for pages on a given search engine is disclosed. It is a method to actively cause an updating (201) of a specific Internet search engine database regarding a particular WWW resource. The updated information can encompass changed, added, or deleted content of a specific WWW site. The process comprises the steps of having software tools at a local WWW site manually and/or automatically keep an index (202) of added, changed, or deleted content to a particular WWW site since that WWW site was last indexed by a specific Internet search engine. The software tools will notify a specific Internet search engine of the URLs of specific WWW site resources that have been added, changed, or deleted. The Internet search engine will process the list of indices of changes, additions or deletions provided by a web site, or add the URL of resources that require indexing or re-indexing to a database and visit the WWW site to index added or re-index changed content when possible.

Description

A Process For Maintaining Ongoing Registration for Pages on a Given Search Engine
FIELD OF THE INVENTION
The present invention relates to the process of developing and maintaining the content of Internet search engine databases.
BACKGROUND OF THE INVENTION An internet (including, but not limited to, the Internet, intranets, extranets and similar networks), is a network of computers, with each computer being identified by a unique address. The addresses are logically subdivided into domains or domain names (e.g. ibm.com, pbs.org, and oranda.net) which allow a user to reference the various addresses. A web. (including, but not limited to, the World Wide Web (WWW)) is a group of these computers accessible to each other via common communication protocols, or languages, including but not limited to Hypertext Transfer Protocol (HTTP). Resources on the computers in each domain are identified with unique addresses called Uniform Resource Locator (URL) addresses (e.g. http://www.ibm.com/products/laptops.htm). A web site is any destination on a web. It can be an entire individual domain, multiple domains, or even a single URL. Resources can be of many types. Resources with a ".htm" or." html" URL suffix are text files, or pages, formatted in a specific manner called Hypertext Markup Language (HTML). HTML is a collection of tags used to mark blocks of text and assign meaning to them. A specialized computer application called a browser can decode the HTML files and display the information contained within. A hyperlink is a navigable reference in any resource to another resource on the internet.
An internet Search Engine is a web application consisting of
1.Programs which visit and index the web pages on the internet.
2. A database of pages that have been indexed.
3. Mechanisms for a user to search the database of pages. Agents are programs that can travel over the internet and access remote resources. The internet search engine uses agent programs called Spiders, Robots, or Worms, among other names, to inspect the text of resources on web sites. Navigable references to other web resources contained in a resource are called hyperlinks. The agents can follow these hyperlinks to other resources. The process of following hyperlinks to other resources, which are then indexed, and following the hyperlinks contained within the new resource, is called spidering.
The main purpose of an internet search engine is to provide users the ability to query the database of internet content to find content that is relevant to them. A user can visit the search engine web site with a browser and enter a query into a form (or page), including but not limited to an HTML form, provided for the task. The query may be in several different forms, but most common are words, phrases, or questions. The query data is sent to the search engine through a standard interface, including but not limited to the Common Gateway Interface (CGI). The CGI is a means of passing data between a client, a computer requesting data or processing and a program or script on a server, a computer providing data or processing. The combination of form and script is hereinafter referred to as a script application. The search engine will inspect its database for the URLs of resources most likely to relate to the submitted query. The list of URL results is returned to the user, with the format of the returned list varying from engine to engine. Usually it will consist of ten or more hyperlinks per search engine page, where each hyperlink is described and ranked for relevance by the search engine by means of various information such as the title, summary, language, and age of the resource. The returned hyperlinks are typically sorted by relevance, with the highest rated resources near the top of the list.
The World Wide Web consists of thousands of domains and millions of pages of information. The indexing and cataloging of content on an Internet search engine takes large amounts of processing power and time to perform. With millions of resources on the web. and some of the content on those resources changing rapidly (by the day. or even minute), a single search engine cannot possibly maintain a perfect database of all Internet content. Spiders and other agents are continually indexing and re-indexing WWW content, but a single World Wide Web site may be visited by an agent once, then not be visited again for months as the queue of sites the search engine must index grows. A site owner can speed up the process by manually requesting that resources on a site be re-indexed, but this process can get unwieldy for large web sites and is in fact, a guarantee of nothing.
Many current internet search engines support two methods of controlling the resource files that are added to their database. These are the robots.txt file, which is a site-wide, search engine specific control mechanism, and the ROBOTS META HTML tag which is resource file specific, but not search engine specific. Most internet search engines respect both methods, and will not index a file if robots.txt, ROBOTS META tag, or both informs the internet search engine to not index a resource. The use of robots.txt, and the ROBOTS META tag and other methods of index control is advocated for the purposes of the present invention.
Commonly, when an internet search engine agent visits a web site for indexing, it first checks the existence of robots.txt at the top level of the site. If the search agent finds robots.txt. it analyses the contents of the file for records such as:
User-agent: *
Disallow: /cgi-bin/SRC
Disallow: /stats
The above example would instruct all agents not to index any file in directories named
/cgi-bin/SRC or /stats. Each search engine agent has its own agent name. For example. Alta Vista (currently the largest Internet search engine) has an agent called Scooter. To allow only Alta-Vista access to directory /avstuff, the following robots.txt file would be used:
User-agent: Scooter
Disallow: User-agent: *
Disallow: /avstuff
The ROBOTS META tag is found in the file itself. When the internet search engine agent indexes the file, it will look for a HTML tag like one of the following: <META NAME="ROBOTS" CONTENT="NOINDEX, NO FOLLOW "> <META NAME="ROBOTS" CONTENT="NOINDEX, FOLLOW"> <META NAME="ROBOTS" CONTENT^" INDEX. NO FOLLOW"> <META NAME="ROBOTS" CONTENT="INDEX. FOLLOW">
INDEX and NOINDEX indicate to all agents whether or not the file should be indexed by that agent. FOLLOW and NOFOLLOW indicate to all agents whether or not they should spider hyperlinks in this document. For current internet search engines, the present invention process uses the CGI program(s) provided by the search engine in order to add, modify and remove files from the search engine index. However, the process can generally only remove a file from the search engine index if the file no longer exists or if the site owner (under the direction of the process) has configured the site, through the use of robots.txt. the ROBOTS META tag or other methods of index control, so that the search engine will remove the file from its index.
The duration of time between the first time a site is indexed and the next time that information is updated has led to several key problems: A. A resource that is modified or removed by its owner after it is indexed by a search engine could be incorrectly listed in that search engine for months until an agent visits the site to register the change.
B. A resource may be modified since the last time it was indexed, in which case a user may never be directed to the new content, or incorrectly directed to content that is no longer present.
C. Deleted resources can create the impression for a search engine user that a whole web site has shut down, that the information the user is looking for is removed, or that the web site is not being maintained, when the resources may have simply been moved to another location on the site as part of regular site maintenance.
D. Automated tools such as search engines apply their own criteria in order to determine the relevancy of a particular resource for a particular query. These automated criteria can lead to the search engine returning spurious, misleading, or irrelevant results to a particular query. For example, a recent search for the nursery rhyme "Rub a dub dub. three men in a tub" on a particular search engine resulted in the top ten search results containing discussions of various issues among consenting males.
E. Automated agents are not always able to understand the context of the pages they index, as illustrated by the example above. As such, their one-dimensional capabilities allow web masters to create the impression that the resources on a particular site contain information they do not. This is done to direct traffic to sites by providing incorrect or misleading information, a process called spamming.
F. Most automated agents are incapable of processing the content of resources that are binary in nature, such as applications written in the programming language Java. These applications can display text data, but do not use text or HTML files to do so. Instead, the information is encoded in binary form in the application. As such, an agent cannot determine the content of a resource coded in this manner. The present invention provides a mechanism for search engine and web site managers to maintain as perfect a registration of web site content as is possible. By augmenting or replacing existing agents and manual registration methods with specialized tools on the local web site (and. when feasible, at the search engine), the current problems with search engine registration and integrity can be eliminated. SUMMARY OF THE INVENTION
The present invention defeats the key problems with automated agents and manual registration and replaces them with an exception based, distributed processing system. Instead of making the search engine do all the work necessary to index a site, the web site owner is now responsible for that operation. By distributing the work, the search engine is improved in these ways: 1. The search engine can maintain perfect ongoing registration and indexing of pages by re-indexing at a set interval, as frequently as the web site owner chooses.
2. The search engine can maintain an intelligent database, not limited by the conditions that automated agents have imposed on them and not easily corruptible by web site owners with less ethical practices. 3. The search engine provides a guarantee of integrity to all users, ultimately providing a more valuable service to both users and web site owners.
The process is begun by distributing a set of search engine update software tools to the web site owner. These tools can be implemented in one of three ways. The first way is to implement the tools on the web server of the site owner. The software can run automatically, having direct access to all resources on the web site. The second way is to install the software tools on a surrogate server. This surrogate is a computer with proper permissions and access to the resources of the web site and automatically accesses those resources over the network.
The third way is through the use of client-side tools. The software will run on each client's computer, check the client's web server via internet protocols, and relay the information on the web server to the search engine.
The software could be written in a variety of different programming languages and would be applicable for as many client and server computers as needed.
Upon initial execution, the software builds a database of the resources on the web site.
The resources catalogued can be specified by the user, or automatically through spidering functions of the software. The database consists of one record per resource indexed on the site. Each record contains fields including:
A. The search engines the owner of the web site would like the resource to be indexed by.
B. The date and time of the last index by each search engine.
C. The date and time a resource was last modified according to the local indexing engine. D. Flags to indicate whether a specific resource requires updating, inclusion, or removal from a particular search engine database. Upon each subsequent execution the software tools inspect the current state of the web site against the content of the database. When altered, removed, or additional content is found, the software tools make the appropriate changes to the database and then notify the search engine of those changes (see Figure 1, Box206a, 207b-c). Changes to the database are made as follows:
A. A resource is marked as deleted if the resource is listed in the current database, but cannot be retrieved. B. A resource is marked as modified if the date and time of last modification in the current database is earlier than the date and time of last modification provided by the web server for the resource.
3. A resource is added and marked as added if it is present on the web server, but not yet in the database and the web site manager has opted to add it either manually or automatically.
Through application of the present invention, the following improvements are made in search engine administration:
1. The task of spidering the web site has been distributed to the web site owner (see
Figure 1. Box 205c). 2. The web site owner has the capability to protect brand image from being injured by a search engine pointing potential visitors to deleted, irrelevant, or incorrect resource information.
3. The search engine owner has a higher degree of database integrity. Less information storage space is wasted on spurious, nonexistent or incorrect data. 4. The web site owner can directly indicate the key-words and other descriptions that are most appropriate for each resource in the site, as opposed to using the cumbersome
HTML 'Meta' tag to specify the keywords for the agent. Key; words are words that are particularly relevant to a particular resource and might be used on a search engine to locate that resource. 5. The search engine can create a reverse index of keywords that the individual site owners have identified for each resource. For example, a user could query for a list of all web sites that have listed 'dog' as an appropriate keyword.
6. The internet search engine could be used by users to query the content of a particular web site, as opposed to requiring a web site based search engine to index the content. This saves administration effort and computing resources at the web site.
The main aspect of the present invention is to provide a method to index locally at a web site all changes to that site's resource content database which has occurred since the last search engine indexing.
Another aspect of the present invention is to actively transmit said changes to an internet search engine.
Another aspect of the present invention is to automatically transmit batches of updates (a list of content that has changed since the last search engine index), in a predetermined manner. Other objects of this invention will appear from the following description and appended claims, reference being had to the accompanying drawings forming a part of this specification wherein like reference characters designate corresponding parts in the several views.
BRIEF DESCRIPTION OF THE FIGURES
FIG 1 is a flowchart of the steps to select which search engines will receive updates and which files shall be updated on those search engines
FIG 2 is a diagram of the decision tree for determining the state of a specific resource on a particular search engine database, and the action needed to update the internet search engine as enabled in FIG 1.
FIG 3 is a diagram of the Internet search engine update process of updating the files as in FIG
1 and resources defined by FIG 2.
Before explaining the disclosed embodiment of the present invention in detail, it is to be understood that the invention is not limited in its application to the details of the particular arrangement shown, since the invention is capable of other embodiments. Also, the terminology used herein is for the purpose of description and not of limitation.
DETAILED DESCRIPTION OF THE PREFERED EMBODIMENT
The present invention can be used on new Internet search engine systems, or existing systems can be adapted for use by existing search engines having the following characteristics:
1. The search engine provides a Common Gateway Interface to allow resources to be added to, modified, or deleted from the search engine database. 2. The search engine can update the database index quickly (ideally immediately) in response to additions, modifications, or deletions information provided through the CGI. 3. The search engine can keep the date and time it last indexed a page (or alternatively, the last modification date and time of the page when it was last indexed) and can make this information available to the web site owner.
In addition, if a search engine allows search results to be constrained to one particular site, that completes the functionality requirements of the present invention.
The technical effort required to apply the present invention to existing Internet search engines is similar to that required to apply the invention to a new search engine. The most complex instance would be to apply the invention to a range of search engines, some of which have been designed with the invention in mind, some of which have not. The aforementioned instance will be assumed here.
As implemented, the invention is a server-side process, running either on a surrogate server or the actual server upon which the web site is stored. The process is coded as a program in the Perl programming language, although other languages such as C+^ or Java could be used. The process is invoked regularly by the operating system of the computer on which the program resides or manually by a web site manager.
As such, there are three main areas of the preferred embodiment that need to be understood. They are:
I. The implementation and construction of the server side tools, which consist of the database and tools to update the database.
II. The process by which the database is constructed and updated.
III. The process by which a search engine is updated by a site using this process.
I. The implementation and construction of the server side tools, which consist of the database and tools to update the database.
Installation of the software tools places a number of CGI scripts, database tables, and HTML forms on the server. Each element performs a specific function relevant to the process and is outlined below. Initially, there is a database Table of Search Engines, containing an entry for each Internet search engine. The table below illustrates the format of a typical search engine record.
Figure imgf000010_0001
Figure imgf000011_0001
The user is provided with an HTML form and CGI script, hereinafter referred to as a CGI program, in order to configure the Enabled and Table of Files fields (see Figure 1 , Box 100-101). The information the user inputs is submitted over the Common Gateway Interface (Figure 1, Box 102) and the referenced CGI script updates the database tables as instructed (Figure 1. Box 103-105). The user can thus enable (i.e., select) and disable a particular search engine using this interface. A search engine that is disabled in the database is simply skipped during an update.
The Table of Files is a field in the Table of Search Engines database. It is initially configured by the user through a CGI program (Figure 1. Box 200) to list the files the user wishes to be registered with this search engine. This table contains a record for each resource. Each record contains the following fields:
Figure imgf000011_0002
Figure imgf000012_0001
The Table of Files is a list of the above records. The list is built by first obtaining the set of resources the user wishes to maintain and register with a search engine (Figure 1 , Box
85 201). The user enters the files they wish to monitor into a CGI program and submits the form
(Figure 1. Box 203a-c, Box 204a-c). The form allows the user to choose from many methods of building the Table of Files. These methods include, but are not limited to:
A. The user may list all the resources to be registered manually. These listed resources are added to the Table of Files (Figure 1, Box 202a. 205a). 90 B. The user may specify a map page. If the user specifies a map page, this map page is retrieved. All of the hyperlinked resources on the map page referring to this web site are added to the Table of Files (Figure 1. Box 202b. 205b, 206b). C. The user may specify entry points to the web site. If the user specifies entry points, the CGI program will enter the site and spider to all resources referenced on those 95 entry points, adding those resources to the Table of Files (Figure 1, Box 202c.
205c, 207c). The list of pages built by the above process forms the Name fields of the Table of Files records for each search engine. This process can be performed globally (on all search engines in the table of search engines), on a group of search engines, or on an individual 100 search engine, as indicated by the user (Figure 1, Box 206a, 207b, 207c).
Submitting the above form also invokes a CGI script to set the Enabled and 'Register by default' fields of the appropriate search engine record according to the preferences of the user. Additionally, a page is provided where the title, URL and Meta Description of each page would be substituted in the appropriate place in the table for each search engine. 105 Submitting this additional information invokes a CGI script to set the Register field of the Table of Files field for the appropriate search engine record, according to preferences of the user. IIV. The process by which the database is constructed and updated.
The process now looks up each file and determines whether the file is registered, current, out of date, or deleted with respect to its registration on the search engine.
There are eight possible states for the file to be in with respect to its registration. In order for the process to be deterministic, all random spidering activity by the search engine is ignored in determining the state of the file. The state is determined purely by the current registration and the data the process has stored in the database of activities performed by previous invocations of itself.
Figure 2 illustrates the decision process to determine the state of a resource on the search engine (Box 1) and the action, which must be taken. A resource can be in the following states:
Figure imgf000014_0001
The following are the actions to be taken in each state (see Figure 2):
Figure imgf000014_0002
Figure imgf000015_0001
The following psuedo code indicates the necessary steps in programming which must be taken determine the state of a resource and take the appropriate action.
For each enabled search engine in DatabaseLookup(table of search engines) list of files = search engine.table of files If search engine. limit to site search engine files = SearchEngineLookup(all files reported by search engine for this site) list of files = list of files + search engine files End If For each file in list of files last index date time = GetIndexDateTime(file. search engine) If FileExists(file, list of files)
If search engine.table of files.file.toberegistered RegisterFile(file, search engine) Next For [each file in list of files] End If last modification date time =GetLastModificationDateTime(file) will be indexed = WillBeIndexed(file, search engine, last index date time) should be registered = ShouldBeRegistered(file. search engine)
If last index date time != not found
If should be registered
If last modification date time >last index date time
If will be indexed AddReport(" awaiting indexing", file)
Else
AddReport("out of date". file)
RegisterFile(file. search engine)
End If Else
AddReport("well registered", file)
End If
Else [File si registered but should not be]
AddReport(" wrongly registered", file) UnRegisterFile(file)
End If
Else [File is not registered]
If should be registered
AddReport(" correctly unregistered", file) RegisterFile(file, search engine)
Else
If will be indexed
AddReport("will be indexed in error", file)
Else AddReport("well unregistered", file)
End if
End If
End If
Else [File Does not exist] AddReportC'deleted", file)
If last index date time != not found
UnRegisterFile(file. search engine)
End If End If [File Exists]
End For
End For
III. The process by which a search engine is updated by a web site using this process
There are three ways the process may update a search engine:
1. It can register a resource in an attempt to have that file added to the search engine database (Figure 3. Box 104).
2. It can register a resource in an attempt to update the resource's listing in the search engine database (Figure 3, Box 105).
3. It can unregister a resource in an attempt to remove the file from the search engine index (Figure 3, Box 103).
In practice, these three activities are usually performed by the same CGI program on current search engines. This CGI program is the "register file' program and is run manually by the user or automatically (Figure 3. Box 100). An HTML form is provided for the purpose of adding a resource to the search engine index. On submitting the form, a CGI script is invoked. The most common mode of action for this script is as follows:
1. If the file exists (Figure 3, Box 101), the search engine determines whether the configuration of the web site will allow indexing through robots.txt and/or
ROBOTS Meta Tag (Figure 3, Box 104). If the file does not exist and the file has been registered by the search engine (Figure 3, Box 101. 102). it is removed immediately from the search engine database index (Figure 3. Box 103).
2. If the site can be indexed, the search engine determines if the resource is registered by the search engine. If the resource is registered, the search engine determines if the resource has changed since it was last indexed (Figure 3, Box 109). If the resource has changed since it was last indexed, the resource entry in the search engine database is updated with new data (Figure 3, Box 109. 1 10). If the resource has not changed since it was last indexed, then no action is taken. (Figure 3, Box 111). If the site can not be indexed, and the resource has been indexed by the search engine (Figure 3, Box 105), the entry for the resource is removed from the search engine database (Figure 3. Box 106).
3. In a case where the site can be indexed and the resource does not exist in the search engine database, the resource URL is added to a list of URLs the search engine will index (Figure 3, Box 108). Some search engines will index resources submitted in this way within a day or two of submission. Other search engines may take weeks or months.
The following psuedo code illustrates the above processes: On RegisterFile(file, search engine)
Check that the file is appropriate for the search engine
If file is appropriate or IsRegistered(file. search engine)
If file is not appropriate
AddReport(" inappropriate file registered", file) End If
If !(file in DatabaseLookup(search engine, table of files))
AddFileToDatabase(search engine, file) End if If SearchEngineRegistrationsOK(file, search engine)
SearchEngineRegisterFile(file) If file registered OK search engine.table of files. file. date last registered = today'sdate search engine.table of files.file.time last registered = now AddReport("file registered", file) search engine.table of files, file.toberegistered = false
Else
AddReport("Registration failed", file) search engine.table of files, file.toberegistered = true
End if Else
AddReport("registration delayed", file) search engine.table of files. file.toberegistered = true
End if Else
AddReport("registration failed - inappropriate file", file)
End if
End RegisterFile
On UnRegisterFile(file, search engine)
SearchEngineUnRegisterFile(file) If file unregistered OK
AddReport("file unregistered", file) search engine.table of files. file.tobeunregistered = false Else
AddReport("Unregistration failed", file) search engine.table of files.file.tobeunregistered = true End if End UnRegisterFile
The present invention would:
1. Significantly improve the quality of a sites registration on a range of search engines. Out of date registrations and registrations pointing at deleted files would be quickly cleaned up. Unregistered files that the site owner wanted registered would be quickly registered, and currently indexed files that the site owner wanted removed from the index would quickly be removed. Registration would always be within the rules of each search engine to which the process was applied.
2. Provide a new method for search engines to gather and distribute information. The process works best when the search engine and site owner cooperate for mutual benefit. The search engine should offer the following features in order for the process to work most efficiently: a. Provide confirmation that a particular file is in the index. b. Provide the date and time the file was indexed or guarantee immediate indexing c. Provide the current date and time according to the search engine index d. Provide a means to add a file to the index (ideally immediately) e. Provide a means of removing a file from the index (ideally immediately) f. Impose no practical limit on the number of files that may be registered within a fixed period g. Provide a means of restricting searches to a particular site through a hidden field in the search CGI, the state of which is maintained on each page delivered by the search engine. Once a site has a perfect ongoing registration on a powerful search engine, that search engine is perfect for searches within that site.
The following functions are describe further the above processes. On DatabaseLookup(table of search engines) return table of search engines End DatabaseLookup(table of search engines)
On DatabaseLookup(search engine, table of files) return table of files(search engine) End DatabaseLookup(search engine, table of files)
On AddFileToDatabase(search engine, file) table of files( search engine) += file End AddFileToDatabase(search engine, file)
On SearchEngineLookup(all files reported by search engine for site) list of files = () page number = 1 site links = SearchEngineGetPage(search engine.site, page number) while number of site links > 0 list of files += site links increment page number site links = SearchEngineGetPage(search engine, site, page number) end while return list of files End SearchEngineLookup(all files reported by search engine for site) On FileExists(file. list of files) If file is local
Perform stat of file return stat. exists else
Perform HTTP head request of file If head request indicates that file exists Return file exists else
Return file not exists end if end if return not found End If
End GetIndexDateTime(search engine, file)
On WillBeIndexed(file. search engine, last index date time) If file. date and time last registered is set If last index date time > file. date and time last registered return false End If predicted index date time = file.date and time last registered -- search engine. index time return (predicted index date time > today now)
Else return false End If End
On ShouldBeRegistered(file, search engine)
If search engine supports ROBOTS tag If file contains ROBOTS tag return '.(ROBOTS tag contains NOINDEX) End if
End if
If search engine supports robots.txt file
If site has robots.txt file return !(file excluded by robots.txt)
End if
End If return search engine. register by default
End ShouldBeRegistered(file, search engine)
on AddReport( descriptive text, file) set report = report + file + descriptive text end
Additionally, proxy files could be used in place of any other files. This could be achieved simply by extending the FILE RECORD with a proxy filename, as follows:
Field τ pe Format Description
Proxy String None The location of the
proxy for the file
End FileExists(file)
On GetLastModificationDate(file) If file is local
Perform stat of file return stat.LastModificationDate else
Perform HTTP head request of file return response. LastModifiedDate end if End GetLastModificationDate(file)
On GetIndexDateTime(file. search engine) If search engine. lists index date
If search engine supports file lookup
If (!LookupFile(search engine, file)) last index date time = not found
Else last index date time = lookup. date
If search engine. lists index time last index date time += lookup.time
End if
End If
Else last index date time = not found For each phrase in file
While GetNextSearchEnginePage(search engine, phrase)
If search engine page lists file last index date time = searchpage. file. date
If search engine. lists index time last index date time += lookup.time
End if
Exit For [each phrase in file]
End If
End While End For
End If
If last index date time != not found
Translate last index date time to server time
End If return last index date time
Else
If file. date and time last registered is set return file. date and time last registered + search engine. index time End If
Whenever the process registers a resource with the search engine, it could deliver the proxy to the search engine in place of the resource itself. The format of the proxy file could be plain text, or HTML to allow current indexing techniques to continue to work. The format of the proxy file could also be any other markup language, for instance XML. The principle remains the same - a text file is used in place of any other file or set of files. This method will allow, for example, Java, embedded objects, graphics, frames, and other file formats to be indexed.
Spamming is a potential problem when using proxy files. The idea of the proxy file is that the search engine uses it to create an index, but the search engine user links to the real file in response to a search query. Clearly, if the contents of the proxy file and the real file do not match, the user will not get what they are expecting. For example, a rogue site owner may set up the proxy file to catch a lot of queries about sex (the most searched for term on the Internet), when in fact their page is trying to persuade you to join their online gambling syndicate.
Spamming will only occur when there is a breakdown of trust between the site owner and search engine owner. The site owners could sign an online contract to guarantee that they will not spam. By signing the contract, they are provided with the embodiment of the process in order to register and maintain their registration with the search engine. If, through spamming, the contract is broken, the search engine can discontinue listing pages temporarily or permanently for the web site in question. It may also be able to take legal action. There are also programmable and scalable methods of defeating spamming - they are irrelevant to this discussion.
It is important to emphasize that web site owners do not have to use the tools provided for their sites to be registered. The search engine can still spider sites whose owners do not use the tools provided, in the same way as conventional search engines spider sites. For sites that are deemed appropriate. The search engine can even set up a surrogate server to implement the present invention on behalf of a non-participating site owner. The present invention is not limited in its application to the details of the particular arrangement shown, since the invention is capable of other embodiments. Also, the terminology used herein is for the purpose of description and not of limitation.

Claims

MISSING AT THE TIME OF PUBLICATION
a. implementing a form to specify web resources a web site manager wishes the process to manage: b. submitting said form to a script on web server or said surrogate server; c. parsing, through the use of a script, said new information from said form; and d. creating a table of files, contained in said search engine database, via said script.
7. The method of claim 6, wherein said form is an HTML form, said script is a CGI script and said web resource is a WWW resource.
8. The method of claim 2, wherein said content of said web site database further comprises: a proxy file field referencing a proxy file containing a description of said resource; wherein said transmitting means further comprises a means for transmitting said proxy file to said internet search engine; and said proxy file is used in lieu of new or modified content of said web site databse. 9. An apparatus for updating an internet search engine database with current content from a web site, comprising: a means for creating and modifying a database of a web site, on a web server, wherein said website database contains content capable of being indexed by a specific internet search engine; a means for identifying, using said web site database, new. deleted or modified content; and a means for transmitting to said specific internet search engine a new set of indices, wherein said new set of indices comprises said new. deleted, or modified database content.
10. The apparatus of claim 9, wherein said web site database further comprises a database having one record per resource indexed on said web site.
11. The apparatus of claim 10, wherein said one record contains fields including: a. search engines by which the owner of the web site would like the page to be indexed, b. a date and time of the last index by search engine. c. a date and time a page was last modified according to the local indexing engine, and d. flags to indicate whether a specific resource requires updating, inclusion or removal from a particular search engine database.
12. The apparatus of claim 9, wherein said means for creating and modifying of said web site database further comprises:
12. The apparatus of claim 9, wherein said means for creating and modifying of said web site database further comprises: a. a means for opening, by a user, a form on a local computer to enable or disable specific internet search engines to be updated with new information; b. a means for enabling or disabling, by said user, the appropriate internet search engines on said form; c. a means for submitting, by said user, said new information to a script on the web server or a surrogate server; d. a means for parsing, through the use of said script, said new information from said form; e. a means for updating, through the use of said script, said database of search engines; and f. a means for returning, through the use of said script, a page to a client to confirm the change to the search engine database. 13. The apparatus of claim 12, wherein said form is an HTML form, said script is a CGI script and said page is an HTML page. 14. The apparatus of claim 12, further comprising: a. a means for implementing a form to specify web resources a web site manager wishes the process to manage; b. a means for submitting said form to a script on web server or said surrogate server; c. a means for parsing, through the use of a script, said new information from said form; and d. a means for creating a table of files, contained in said search engine database, via said script. 15. The apparatus of claim 14, wherein said form is an HTML form, said script is a CGI script and said web resource is a WWW resource. 16. The apparatus of claim 10, wherein said content of said web site database further comprises: a proxy file field referencing a proxy file containing a description of said resource; wherein said transmitting means further comprises a means for transmitting said proxy file to said internet search engine; and said proxy file is used in lieu of new or modified content of said web site database.
PCT/US2000/012546 1999-05-11 2000-05-08 A process for maintaining ongoing registration for pages on a given search engine WO2000068839A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CA002373828A CA2373828A1 (en) 1999-05-11 2000-05-08 A process for maintaining ongoing registration for pages on a given search engine
EP00932176A EP1221114A1 (en) 1999-05-11 2000-05-08 A process for maintaining ongoing registration for pages on a given search engine
AU49938/00A AU4993800A (en) 1999-05-11 2000-05-08 A process for maintaining ongoing registration for pages on a given search engine

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/309,681 1999-05-11
US09/309,681 US6253198B1 (en) 1999-05-11 1999-05-11 Process for maintaining ongoing registration for pages on a given search engine

Publications (1)

Publication Number Publication Date
WO2000068839A1 true WO2000068839A1 (en) 2000-11-16

Family

ID=23199218

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2000/012546 WO2000068839A1 (en) 1999-05-11 2000-05-08 A process for maintaining ongoing registration for pages on a given search engine

Country Status (5)

Country Link
US (2) US6253198B1 (en)
EP (1) EP1221114A1 (en)
AU (1) AU4993800A (en)
CA (1) CA2373828A1 (en)
WO (1) WO2000068839A1 (en)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002023398A1 (en) * 2000-09-14 2002-03-21 Fast Serach & Transfer Asa A method for searching and analysing information in data networks
EP1354258A2 (en) * 2000-11-21 2003-10-22 Thomson Licensing S.A. A system and process for mediated crawling
EP1412874A2 (en) * 2001-07-27 2004-04-28 Quigo Technologies Inc. System and method for automated tracking and analysis of document usage
US7809710B2 (en) 2001-08-14 2010-10-05 Quigo Technologies Llc System and method for extracting content for submission to a search engine
EP2354977A1 (en) * 2010-02-10 2011-08-10 Deutsche Post AG Distributed architecture for paperwork imaging
US8412571B2 (en) 2008-02-11 2013-04-02 Advertising.Com Llc Systems and methods for selling and displaying advertisements over a network
US8726146B2 (en) 2008-04-11 2014-05-13 Advertising.Com Llc Systems and methods for video content association
US8918812B2 (en) 2000-10-24 2014-12-23 Aol Inc. Method of sizing an embedded media player page
US9578012B2 (en) 2015-03-21 2017-02-21 International Business Machines Corporation Restricted content publishing with search engine registry
US9595050B2 (en) 2000-10-24 2017-03-14 Aol Inc. Method of disseminating advertisements using an embedded media player page
US9633356B2 (en) 2006-07-20 2017-04-25 Aol Inc. Targeted advertising for playlists based upon search queries
US9946788B2 (en) 2002-07-23 2018-04-17 Oath Inc. System and method for automated mapping of keywords and key phrases to documents

Families Citing this family (73)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AUPO525497A0 (en) * 1997-02-21 1997-03-20 Mills, Dudley John Network-based classified information systems
JPH1125104A (en) * 1997-06-30 1999-01-29 Canon Inc Information processor and its method
US6424966B1 (en) * 1998-06-30 2002-07-23 Microsoft Corporation Synchronizing crawler with notification source
US6321251B1 (en) * 1998-10-01 2001-11-20 Unisys Corporation Gateway for dynamically providing web site status information
US6847960B1 (en) * 1999-03-29 2005-01-25 Nec Corporation Document retrieval by information unit
US6516329B1 (en) * 1999-04-26 2003-02-04 Gateway, Inc. Method of maintaining search results pages
US20050097160A1 (en) * 1999-05-21 2005-05-05 Stob James A. Method for providing information about a site to a network cataloger
US6477565B1 (en) * 1999-06-01 2002-11-05 Yodlee.Com, Inc. Method and apparatus for restructuring of personalized data for transmission from a data network to connected and portable network appliances
US6675205B2 (en) 1999-10-14 2004-01-06 Arcessa, Inc. Peer-to-peer automated anonymous asynchronous file sharing
US6516337B1 (en) 1999-10-14 2003-02-04 Arcessa, Inc. Sending to a central indexing site meta data or signatures from objects on a computer network
US7711738B1 (en) * 1999-11-15 2010-05-04 West Services, Inc. Method, system and computer-readable medium for accessing and retrieving court records, items and documents
US6701310B1 (en) * 1999-11-22 2004-03-02 Nec Corporation Information search device and information search method using topic-centric query routing
JP3546995B2 (en) * 1999-11-25 2004-07-28 日本電気株式会社 Distributed content management system
US6366907B1 (en) * 1999-12-15 2002-04-02 Napster, Inc. Real-time search engine
US6766361B1 (en) 2000-02-24 2004-07-20 Cephire Technologies, Inc. Machine-to-machine e-commerce interface using extensible markup language
KR20000030601A (en) * 2000-03-08 2000-06-05 김세기 Method of search for domain in internet
US6611835B1 (en) * 2000-05-04 2003-08-26 International Business Machines Corporation System and method for maintaining up-to-date link information in the metadata repository of a search engine
US6654749B1 (en) * 2000-05-12 2003-11-25 Choice Media, Inc. Method and system for searching indexed information databases with automatic user registration via a communication network
US7020679B2 (en) * 2000-05-12 2006-03-28 Taoofsearch, Inc. Two-level internet search service system
US7028020B1 (en) * 2000-06-30 2006-04-11 Intel Corporation Interactive technique to automatically find and organize items similar to example items
US20030204536A1 (en) * 2000-06-30 2003-10-30 Keskar Dhananjay V. Technique for automatically associating desktop data items
US20020069203A1 (en) * 2000-07-25 2002-06-06 Dar Vinod K. Internet information retrieval method and apparatus
US6618717B1 (en) 2000-07-31 2003-09-09 Eliyon Technologies Corporation Computer method and apparatus for determining content owner of a website
US20070027672A1 (en) * 2000-07-31 2007-02-01 Michel Decary Computer method and apparatus for extracting data from web pages
US6832220B1 (en) * 2000-08-03 2004-12-14 Microsoft Corporation Method and apparatus for file searching, accessing file identifiers from reference page
US6959326B1 (en) * 2000-08-24 2005-10-25 International Business Machines Corporation Method, system, and program for gathering indexable metadata on content at a data repository
US6661432B1 (en) * 2000-08-31 2003-12-09 International Business Machines Corporation System and method for dynamically searching an identified web site
US6823491B1 (en) * 2000-08-31 2004-11-23 International Business Machines Corporation System and method for a dynamically integrated search engine
US6907423B2 (en) * 2001-01-04 2005-06-14 Sun Microsystems, Inc. Search engine interface and method of controlling client searches
US20020169865A1 (en) * 2001-01-22 2002-11-14 Tarnoff Harry L. Systems for enhancing communication of content over a network
WO2003007181A1 (en) 2001-07-13 2003-01-23 Performance Training Institute System and method for providing website business solutions to clients via the internet
US7043471B2 (en) * 2001-08-03 2006-05-09 Overture Services, Inc. Search engine account monitoring
US7428695B2 (en) * 2001-10-22 2008-09-23 Hewlett-Packard Development Company, L.P. System for automatic generation of arbitrarily indexed hyperlinked text
US6978264B2 (en) * 2002-01-03 2005-12-20 Microsoft Corporation System and method for performing a search and a browse on a query
US7716161B2 (en) * 2002-09-24 2010-05-11 Google, Inc, Methods and apparatus for serving relevant advertisements
US20030208578A1 (en) * 2002-05-01 2003-11-06 Steven Taraborelli Web marketing method and system for increasing volume of quality visitor traffic on a web site
US7376709B1 (en) * 2002-05-09 2008-05-20 Proquest Method for creating durable web-enabled uniform resource locator links
GB0305145D0 (en) * 2003-03-06 2003-04-09 Imp College Innovations Ltd Improvements to internet site architecture
US7664732B2 (en) * 2003-05-31 2010-02-16 Nhn Corporation Method of managing websites registered in search engine and a system thereof
US7992090B2 (en) * 2003-09-25 2011-08-02 International Business Machines Corporation Reciprocal link tracking
US20090119159A1 (en) * 2007-10-31 2009-05-07 David C. Reardon System and Method for Transferring Funds to Recipients of Electronic Messages
US8346660B2 (en) * 2004-02-26 2013-01-01 David C. Reardon System and method for two-way transfer of funds and electronic content between summa account users with gathering of behavioral metrics and management of multiple currencies and escrow accounts
US8799164B2 (en) 2004-02-26 2014-08-05 David C Reardon Financial transaction system with integrated electronic messaging, control of marketing data, and user defined charges for receiving messages
US7873572B2 (en) * 2004-02-26 2011-01-18 Reardon David C Financial transaction system with integrated electronic messaging, control of marketing data, and user defined charges for receiving messages
US20050261962A1 (en) * 2004-05-18 2005-11-24 Khai Gan Chuah Anonymous page recognition
US7395260B2 (en) * 2004-08-04 2008-07-01 International Business Machines Corporation Method for providing graphical representations of search results in multiple related histograms
US8261196B2 (en) * 2004-08-04 2012-09-04 International Business Machines Corporation Method for displaying usage metrics as part of search results
US7493303B2 (en) * 2004-08-04 2009-02-17 International Business Machines Corporation Method for remotely searching a local user index
WO2006059250A2 (en) * 2004-08-19 2006-06-08 Copernic Technologies, Inc. Idle cpu indexing systems and methods
US20060123001A1 (en) * 2004-10-13 2006-06-08 Copernic Technologies, Inc. Systems and methods for selecting digital advertisements
WO2006044357A2 (en) * 2004-10-13 2006-04-27 Copernic Technologies, Inc. Systems and methods for protecting private electronic data
US20060136391A1 (en) * 2004-12-21 2006-06-22 Morris Robert P System and method for generating a search index and executing a context-sensitive search
US7617162B2 (en) * 2005-03-04 2009-11-10 Atul Saini Real time push notification in an event driven network
US7631007B2 (en) * 2005-04-12 2009-12-08 Scenera Technologies, Llc System and method for tracking user activity related to network resources using a browser
US7827191B2 (en) * 2005-12-14 2010-11-02 Microsoft Corporation Discovering web-based multimedia using search toolbar data
EP1826692A3 (en) * 2006-02-22 2009-03-25 Copernic Technologies, Inc. Query correction using indexed content on a desktop indexer program.
US8209305B2 (en) * 2006-04-19 2012-06-26 Microsoft Corporation Incremental update scheme for hyperlink database
US7634458B2 (en) * 2006-07-20 2009-12-15 Microsoft Corporation Protecting non-adult privacy in content page search
US8392366B2 (en) 2006-08-29 2013-03-05 Microsoft Corporation Changing number of machines running distributed hyperlink database
US8108410B2 (en) 2006-10-09 2012-01-31 International Business Machines Corporation Determining veracity of data in a repository using a semantic network
US20080086465A1 (en) * 2006-10-09 2008-04-10 Fontenot Nathan D Establishing document relevance by semantic network density
US20080114738A1 (en) * 2006-11-13 2008-05-15 Gerald Chao System for improving document interlinking via linguistic analysis and searching
US8881011B2 (en) 2006-12-05 2014-11-04 Crackle, Inc. Tool for creating content for video sharing platform
US20080208831A1 (en) * 2007-02-26 2008-08-28 Microsoft Corporation Controlling search indexing
US7925641B2 (en) * 2007-09-21 2011-04-12 Sap Ag Indexing web content of a runtime version of a web page
CN101546309B (en) * 2008-03-26 2012-07-04 国际商业机器公司 Method and equipment for constructing indexes to resource content in computer network
CN101546342B (en) * 2009-05-08 2012-07-04 阿里巴巴集团控股有限公司 Method and system for implementing search service
US20110106815A1 (en) * 2009-11-02 2011-05-05 Lenovo (Singapore) Pte, Ltd. Method and Apparatus for Selectively Re-Indexing a File System
AU2011258449B2 (en) 2010-05-25 2015-06-11 Mark F. Mclellan Active search results page ranking technology
CN102339292A (en) * 2010-07-27 2012-02-01 中国电信股份有限公司 Distributed searching method and system
US9208230B2 (en) * 2010-10-29 2015-12-08 Google Inc. Enriching search results
US8799262B2 (en) 2011-04-11 2014-08-05 Vistaprint Schweiz Gmbh Configurable web crawler
US8346774B1 (en) * 2011-08-08 2013-01-01 International Business Machines Corporation Protecting network entity data while preserving network properties

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5819271A (en) * 1996-06-04 1998-10-06 Multex Systems, Inc. Corporate information communication and delivery system and method including entitlable hypertext links

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5265242A (en) * 1985-08-23 1993-11-23 Hiromichi Fujisawa Document retrieval system for displaying document image data with inputted bibliographic items and character string selected from multiple character candidates
US5089956A (en) * 1988-11-29 1992-02-18 International Business Machines Corporation Method of distributing related documents to identified end users in an information processing system
US5321750A (en) * 1989-02-07 1994-06-14 Market Data Corporation Restricted information distribution system apparatus and methods
US5301350A (en) * 1989-10-10 1994-04-05 Unisys Corporation Real time storage/retrieval subsystem for document processing in banking operations
US5297031A (en) * 1990-03-06 1994-03-22 Chicago Board Of Trade Method and apparatus for order management by market brokers
US5262942A (en) * 1990-06-05 1993-11-16 Bankers Trust Company Financial transaction network
US5247661A (en) * 1990-09-10 1993-09-21 International Business Machines Corporation Method and apparatus for automated document distribution in a data processing system
US5063507A (en) * 1990-09-14 1991-11-05 Plains Cotton Cooperative Association Goods database employing electronic title or documentary-type title
US5297032A (en) * 1991-02-01 1994-03-22 Merrill Lynch, Pierce, Fenner & Smith Incorporated Securities trading workstation
US5537586A (en) * 1992-04-30 1996-07-16 Individual, Inc. Enhanced apparatus and methods for retrieving and selecting profiled textural information records from a database of defined category structures
US5799282A (en) * 1992-05-19 1998-08-25 Medical Training And Services, International Methods for establishing certifiable informed consent for a medical procedure
US5410693A (en) * 1994-01-26 1995-04-25 Wall Data Incorporated Method and apparatus for accessing a database
US5576844A (en) * 1994-09-06 1996-11-19 Unilearn, Inc. Computer controlled video interactive learning system
US5873077A (en) * 1995-01-13 1999-02-16 Ricoh Corporation Method and apparatus for searching for and retrieving documents using a facsimile machine
US5790793A (en) 1995-04-04 1998-08-04 Higley; Thomas Method and system to create, transmit, receive and process information, including an address to further information
US5721908A (en) * 1995-06-07 1998-02-24 International Business Machines Corporation Computer network for WWW server data access over internet
US6181867B1 (en) * 1995-06-07 2001-01-30 Intervu, Inc. Video storage and retrieval system
AU1122997A (en) * 1995-11-07 1997-06-11 Cadis, Inc. Search engine for remote object oriented database management system
US5778367A (en) 1995-12-14 1998-07-07 Network Engineering Software, Inc. Automated on-line information service and directory, particularly for the world wide web
US5859971A (en) 1996-02-15 1999-01-12 International Business Machines Corp. Differencing client/server communication system for use with CGI forms
US5867799A (en) * 1996-04-04 1999-02-02 Lang; Andrew K. Information system and method for filtering a massive flow of information entities to meet user information classification needs
US5835718A (en) 1996-04-10 1998-11-10 At&T Corp URL rewriting pseudo proxy server
US5835712A (en) * 1996-05-03 1998-11-10 Webmate Technologies, Inc. Client-server system using embedded hypertext tags for application and database development
US5864871A (en) * 1996-06-04 1999-01-26 Multex Systems Information delivery system and method including on-line entitlements
US5987480A (en) * 1996-07-25 1999-11-16 Donohue; Michael Method and system for delivering documents customized for a particular user over the internet using imbedded dynamic content
US5987464A (en) * 1996-07-26 1999-11-16 Schneider; Eric Method and system for periodically updating data records having an expiry time
US5852820A (en) 1996-08-09 1998-12-22 Digital Equipment Corporation Method for optimizing entries for searching an index
US5745899A (en) 1996-08-09 1998-04-28 Digital Equipment Corporation Method for indexing information of a database
US5890172A (en) 1996-10-08 1999-03-30 Tenretni Dynamics, Inc. Method and apparatus for retrieving data from a network using location identifiers
US5933829A (en) * 1996-11-08 1999-08-03 Neomedia Technologies, Inc. Automatic access of electronic information through secure machine-readable codes on printed documents
US6097878A (en) * 1997-02-25 2000-08-01 Sony Corporation Automatic timer event entry
US5848410A (en) 1997-10-08 1998-12-08 Hewlett Packard Company System and method for selective and continuous index generation
US6105021A (en) * 1997-11-21 2000-08-15 International Business Machines Corporation Thorough search of document database containing compressed and noncompressed documents
US6078917A (en) * 1997-12-18 2000-06-20 International Business Machines Corporation System for searching internet using automatic relevance feedback
US6094649A (en) * 1997-12-22 2000-07-25 Partnet, Inc. Keyword searches of structured databases
US6055538A (en) * 1997-12-22 2000-04-25 Hewlett Packard Company Methods and system for using web browser to search large collections of documents

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5819271A (en) * 1996-06-04 1998-10-06 Multex Systems, Inc. Corporate information communication and delivery system and method including entitlable hypertext links

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002023398A1 (en) * 2000-09-14 2002-03-21 Fast Serach & Transfer Asa A method for searching and analysing information in data networks
US9595050B2 (en) 2000-10-24 2017-03-14 Aol Inc. Method of disseminating advertisements using an embedded media player page
US9454775B2 (en) 2000-10-24 2016-09-27 Aol Inc. Systems and methods for rendering content
US8918812B2 (en) 2000-10-24 2014-12-23 Aol Inc. Method of sizing an embedded media player page
US9009136B2 (en) 2000-11-21 2015-04-14 Microsoft Technology Licensing, Llc Methods and systems for enhancing metadata
EP1354258A2 (en) * 2000-11-21 2003-10-22 Thomson Licensing S.A. A system and process for mediated crawling
EP1354258A4 (en) * 2000-11-21 2005-02-09 Thomson Licensing Sa A system and process for mediated crawling
US10210184B2 (en) 2000-11-21 2019-02-19 Microsoft Technology Licensing, Llc Methods and systems for enhancing metadata
EP1412874A2 (en) * 2001-07-27 2004-04-28 Quigo Technologies Inc. System and method for automated tracking and analysis of document usage
EP1412874A4 (en) * 2001-07-27 2007-10-17 Quigo Technologies Inc System and method for automated tracking and analysis of document usage
US7809710B2 (en) 2001-08-14 2010-10-05 Quigo Technologies Llc System and method for extracting content for submission to a search engine
US8495049B2 (en) 2001-08-14 2013-07-23 Microsoft Corporation System and method for extracting content for submission to a search engine
US9946788B2 (en) 2002-07-23 2018-04-17 Oath Inc. System and method for automated mapping of keywords and key phrases to documents
US9633356B2 (en) 2006-07-20 2017-04-25 Aol Inc. Targeted advertising for playlists based upon search queries
US8412571B2 (en) 2008-02-11 2013-04-02 Advertising.Com Llc Systems and methods for selling and displaying advertisements over a network
US8726146B2 (en) 2008-04-11 2014-05-13 Advertising.Com Llc Systems and methods for video content association
US10387544B2 (en) 2008-04-11 2019-08-20 Oath (Americas) Inc. Systems and methods for video content association
US10970467B2 (en) 2008-04-11 2021-04-06 Verizon Media Inc. Systems and methods for video content association
US11947897B2 (en) 2008-04-11 2024-04-02 Yahoo Ad Tech Llc Systems and methods for video content association
WO2011098415A1 (en) * 2010-02-10 2011-08-18 Deutsche Post Ag Distributed architecture for paperwork imaging
EP2354977A1 (en) * 2010-02-10 2011-08-10 Deutsche Post AG Distributed architecture for paperwork imaging
US9578012B2 (en) 2015-03-21 2017-02-21 International Business Machines Corporation Restricted content publishing with search engine registry
US9578006B2 (en) 2015-03-21 2017-02-21 International Business Machines Corporation Restricted content publishing with search engine registry
US10057275B2 (en) 2015-03-21 2018-08-21 International Business Machines Corporation Restricted content publishing with search engine registry

Also Published As

Publication number Publication date
AU4993800A (en) 2000-11-21
US6253198B1 (en) 2001-06-26
EP1221114A1 (en) 2002-07-10
USRE40683E1 (en) 2009-03-24
CA2373828A1 (en) 2000-11-16

Similar Documents

Publication Publication Date Title
USRE40683E1 (en) Process for maintaining ongoing registration for pages on a given search engine
US10366071B2 (en) Method and system for submission of an electronic document update
US10210256B2 (en) Anchor tag indexing in a web crawler system
US7613685B2 (en) System and method for personalized presentation of web pages
US7383299B1 (en) System and method for providing service for searching web site addresses
US6094657A (en) Apparatus and method for dynamic meta-tagging of compound documents
US6006217A (en) Technique for providing enhanced relevance information for documents retrieved in a multi database search
US6959326B1 (en) Method, system, and program for gathering indexable metadata on content at a data repository
KR100296361B1 (en) Improved management of and access to information and other material via the world wide web
US6725214B2 (en) Apparatus and method to support management of uniform resource locators and/or contents of database servers
US6418453B1 (en) Network repository service for efficient web crawling
US20030093409A1 (en) Search engine interface and method of controlling client searches
EP1207468A2 (en) A method and system for updating a searchable database of descriptive information describing information stored at a plurality of addressable logical locations
US6938034B1 (en) System and method for comparing and representing similarity between documents using a drag and drop GUI within a dynamically generated list of document identifiers
RU2453916C1 (en) Information resource search method using readdressing
JP2000357176A (en) Contents indexing retrieval system and retrieval result providing method
CN101601033A (en) Generate the Search Results of specialty in response to the medelling inquiry
US20020052889A1 (en) Method for managing alterations of contents
Ding et al. Centralized content-based Web filtering and blocking: how far can it go?
US20020059223A1 (en) Locator based assisted information browsing
Wu et al. Virtual proxy servers for WWW and intelligent agents on the internet
US20030084095A1 (en) Method to preserve web page links using registration and notification
US20030145087A1 (en) Generating a list of addresses in a server
JP6254355B2 (en) Construction of web corpus with support of reference web crawl
US20040201631A1 (en) Generating a list of addresses in an index page

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

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

AL Designated countries for regional patents

Kind code of ref document: A1

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

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

Ref document number: 2373828

Country of ref document: CA

Ref country code: CA

Ref document number: 2373828

Kind code of ref document: A

Format of ref document f/p: F

WWE Wipo information: entry into national phase

Ref document number: 2000932176

Country of ref document: EP

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

WWP Wipo information: published in national office

Ref document number: 2000932176

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: JP

WWW Wipo information: withdrawn in national office

Ref document number: 2000932176

Country of ref document: EP