iSeeker logo

Abstract

Project Plan

Ideas

  • web-communities
  • live update
  • HTML parser
  • adaptable GUI
  • distributed SE

    Research

    Download

    Source Code

    Misc

    Contact


    Home

  • iSeeker: Project Ideas
    [live update]

    Live update concepts are not new. Symantec's Norton AntiVirus is a popular anti-virus program which allows the automatic downloading of updated virus information over the web.
    And while some applications like the anti-virus use this technology purely for improved performance, internet search tools might not run at all without this feature.
    This is specially true if the search tools need to communicate with existing search engines on the internet (eg. Altavista, Lycos), where some information about each search engine is necessary for the queries to be successful.

    The following text describes more about the live update and plug-in features:

    1) Plug-in search engine components

    2) Automatic error log with live update

    3) Other Plug-ins

    =========================================
    1) Plug-in search engine components

    A 'Search Engine Component' (SEC) would be a plug-in for the client, containing all the information needed for the client to use the search engine. Eg:

    Typical SEC information: - version number (to allow live update)
    			 	 - location (URL) of search engine
    			 	 - query syntax for that SE
    			 	 - information about 'extra features'
                                       that the SE supports
    			   	   (eg. advanced search, refine
                                       feature, etc)
    
    Client Architecture:
    
    
    
    	 Application      Plug-in SECs
    	-----------------------------------
    	¦           ¦      Altavista      ¦
    	¦           ¦---------------------¦
    	¦           ¦        Lycos        ¦
    	¦           ¦---------------------¦
    	¦           ¦      WebCrawler     ¦
    	¦           ¦---------------------¦
    	¦  Client   ¦        Excite       ¦
    	¦           ¦------------------------------
    	¦           ¦ <---- ¦   Yellow Pages UK   ¦
    	¦           ¦       ---------------------------------
    	¦           ¦   <-----------  ¦    other plug-ins   ¦
    	¦           ¦                 -----------------------
    	-------------
    


    =========================================
    2) Automatic error log with live update

    Each time a client's SEC returns an error during a search, it checks on the Web Server for an updated version of the SEC (perhaps with the new SE's URL or modified query syntax). It does so by comparing its SEC version number against the server's most updated version. 2 things can happen:
    1) If it finds a later version it automatically downloads it and retries the search with the new info.
    2) If there is no updated version, it checks on the server for an error entry of the same nature. If it finds one, it increments the error log count by 1. If there is no error, it adds one with all the info.

    This means that when an SE changes its URL, query syntax, or any other thing present in the SEC the first client to fail will log an error on the server, and subsequent clients will only increment that error log's occurrence counter.
    Error logs with a high count should indicate an SE change. The change should be identified by an operator and an updated SEC should be made available on the server for the clients to download.

    Note: Each client should only report or increment an error counter 1 time for each particular error occurrence. Future errors of the same nature should only make the client look for an updated SEC. This will prevent any client incrementing the counter more than one time for the same error.

    =========================================
    3) Other Plug-ins

    As with SECs, the client should allow other components to be easily updated.
    For example, updated versions of the 'intelligent agent' technology could be made available for the clients to download, resulting in dynamically improved search heuristics.

    However, such plug-ins wouldn't be as simple as SECs. They would probably be binary files that would replace existing DLLs or even the main application's exe. The updating of such components shouldn't be automatic (like in 'live update'), instead the client would let the user know of the update and allow the user to upgrade when desired.