JPH10512699A - コンピュータのネットワークからワールドワイドウェッブ上のページを捜し出したり、ドキュメントを捜し出したりするためのシステム及び方法 - Google Patents

コンピュータのネットワークからワールドワイドウェッブ上のページを捜し出したり、ドキュメントを捜し出したりするためのシステム及び方法

Info

Publication number
JPH10512699A
JPH10512699A JP9522215A JP52221597A JPH10512699A JP H10512699 A JPH10512699 A JP H10512699A JP 9522215 A JP9522215 A JP 9522215A JP 52221597 A JP52221597 A JP 52221597A JP H10512699 A JPH10512699 A JP H10512699A
Authority
JP
Japan
Prior art keywords
web
entries
entry
file
web page
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
JP9522215A
Other languages
English (en)
Other versions
JP3160719B2 (ja
Inventor
ルイス エム モーニア
Original Assignee
ディジタル イクイプメント コーポレイション
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
Application filed by ディジタル イクイプメント コーポレイション filed Critical ディジタル イクイプメント コーポレイション
Publication of JPH10512699A publication Critical patent/JPH10512699A/ja
Application granted granted Critical
Publication of JP3160719B2 publication Critical patent/JP3160719B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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/901Indexing; Data structures therefor; Storage structures
    • G06F16/9014Indexing; Data structures therefor; Storage structures hash tables
    • 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/951Indexing; Web crawling techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)
  • Document Processing Apparatus (AREA)

Abstract

(57)【要約】 迅速に、ネットワークによって接続されているコンピュータからワールドワイドウェッブ上のウェッブページをフェッチして解析するためのウェッブクローラーシステム及び方法であり、ランダムアクセスメモリ(RAM)に記憶されたハッシュテーブル及びシーケンシャルウェッブインフォメーションディスクファイルを含む。システムに既知である全てのウェッブページについて、ウェッブクローラーシステムは、ハッシュテーブルにより小さなエントリーを記憶するのに加えて、シーケンシャルディスクファイルにエントリーを記憶する。ハッシュテーブルエントリーは、識別値、対応するウェッブページが上手くフェッチされた時だけ真がセットされるフェッチフラグ、対応するエントリーがシーケンシャルディスクファイルのどこに記憶されているかを示すファイル位置インジケータを含む。シーケンシャルディスクファイルのエントリーの各々は、対応するウェッブページのURL及びそのウェッブページに関するフェッチステータス情報を含む。ウェッブインフォメーションディスクファイルへの全てのアクセスは入力バッファを経由してシーケンシャルに行われ、単一のI/Oオペレーションとして、シーケンシャルディスクファイルからの多数のエントリーが入力バッファへ移されるようにする。従って、シーケンシャルディスクファイルは入力バッファからアクセスされる。同様に、シーケンシャルファイルに加えられるべき全ての新しいエントリーは付加バッファに記憶され、付加バッファが一杯になった時はいつでも、付加バッファの内容はシーケンシャルファイルの最後に加えられる。このようにして、ウェッブインフォメーションディスクファイルへのランダムアクセスは排除され、ディスクアクセス制限によって引き起こされる待ち時間は減少される。

Description

【発明の詳細な説明】 コンピュータのネットワークからワールドワイドウェッブ上のページを捜し出し たり、ドキュメントを捜し出したりするためのシステム及び方法 発明の分野 本発明は、一般的に、コンピュータのネットワークからワールドワイドウェッ ブ(WWW)上のページと呼ばれるドキュメントにアクセスしたり、ドキュメン トを捜し出したりするためのシステム及び方法に関し、特に、迅速にワールドワ イドウェッブ上のページを捜し出して解析するためのシステム及び方法に関する 。 発明の背景 ここではウェッブページと呼ぶウェッブドキュメントは、インターネットに接 続された多数のサーバーコンピュータ(ここでは以後「サーバー」と呼ぶ。)上 に記憶される。ウェッブ上の各々のページは別個のURL(ユニバーサルリソー スロケータ−universal resource locator)を有する。ウェッブサーバー上に記 憶された多数のドキュメントはHTML(ハイパーテキストマークアップランゲ ージ−hypertext markup language)と呼ばれる標準のドキュメント記述言語で 書かれている。HTMLを使用して、ウェッブドキュメントのデザイナーは、ド キュメント中でハイパーテキストリンクもしくはアノテーションをドキュメント 中の特定の語又は句と関連付けて、ウェッブページの視覚的な外観及び内容を記 述する。ハイパーテキストリンクは、その語又は句に関する情報を提供する他の ウェッブドキュメントもしくは同一のドキュメント中の他の部分のURLを識別 する。 インターネットに接続されたウェッブクライアント上で動くウェッブブラウザ ー(HTMLドキュメントを表示したり、ウェッブサーバーと通信したりするよ うに設計されたコンピュータプログラム)を使用して、ユーザーはWWW上に記 憶されたドキュメントにアクセスする。一般的に、ユーザーが、ウェッブブラウ ザーで表示されるドキュメント内でハイパーテキストリンク(一般的に、強調さ れた語もしくは句としてウェッブブラウザーで表示される。)を選ぶことによっ て、ユーザはドキュメントにアクセスする。そして、ウェッブブラウザーは、要 求されたドキュメントのURLによって識別されるウェッブサーバーへ、要求さ れたドキュメントのHTTP(ハイパーテキスト転送プロトコル−hypaertext t ransfer protocol)要求を出す。その要求に応答して、やはりHTTPを使用し て、指名されたウェッブサーバーは要求されたドキュメントをウェッブブラウザ ーに返す。 1995年の末以後、ワールドワイドウェッブ(以後、「ウェッブ」と呼ぶ。 )として知られているインターネット部分のページ数は、先の1年間に数倍にも なり、少なくとも3000万ページに達するようになった。本発明は、ウェッブ が増大し続ける時に、ウェッブ上のページの経路を維持し続けるためのシステム を実施することを意図している。 ウェッブ上のページを捜し出すためのシステムは、「ウェッブクローラー(We b crawler)」や「ウェッブスパイダー(Web spider)」や「ウェッブロボット (Web robot)」として様々に知られている。本発明は「ウェッブスクーター(W eb scooter)」としてつくられてきた。何故ならば、それは既知のウェッブクロ ーラーのどれよりも非常に速いからである。本文では、「ウェッブクローラー」 、「ウェッブスパイダー」、「ウェッブスクーター」、「ウェッブクローラーコ ンピュータシステム」、「ウェッブスクーターコンピュータシステム」という語 を相互に互換性を有する語として使用する。 一般的に、従来技術のウェッブクローラーは以下のように動作する。既知のウ ェッブページのルートセットから開始して、全ての既知のウェッブページに対す る別個のエントリーについて、ディスクファイルがつくられる。更なるウェッブ ページがフェッチされ、他のページへのそれらのリンクが解析される時、まだウ ェッブクローラーに知られていないウェッブページを参照するために、ディスク ファイルに更なるエントリーがつくられる。エントリーの各々は、他のステータ ス情報と共に、対応するウェッブページが処理されているかどうかを示す。ウェ ッブクローラーはウェッブページを次のように処理する。(A)処理されている ページ中の他のウェッブページへの全てのリンクを識別し、関連する情報を記憶 して、まだ処理されていない識別された全てのウェッブページを、処理されるべ きウェッブページのリスト、もしくは他の同等のデータ構造に加える。(B)ウ ェッブページをインデクサ、もしくは他のドキュメント処理システムに送る。 一般的に、既に処理されたウェッブページに関する情報はディスクファイルに 記憶される。何故ならば、ディスクファイルの情報量は、ランダムアクセスメモ リ(RAM)に記憶するには大きすぎるからである。例えば、もし平均100バ イトの情報がウェッブページのエントリーの各々に対して記憶されるならば、3 000万ウェッブページを表すデータファイルは約3ギガバイトになり、これは RAMに実際に記憶するには大きすぎる。 次に、1ウェッブページを処理する時に発生するディスクI/Oについて考え る。この説明のために、典型的な1ウェッブページは20個の他のウェッブペー ジへのリファレンスを有し、ディスク記憶装置は1秒あたり50シークよりも多 くの処理はできないと仮定する。ウェッブクローラーは、処理されているページ 中の20個のページリファレンスの各々を評価して、ウェッブクローラーがそれ らのページについて既に知っているかどうかを決定しなければならない。これを 実施するために、ウェッブクローラーはウェッブインフォメーションディスクフ ァイルから20個のレコードの検索を試みなければならない。もし、特定ページ のリファレンスのレコードが既に存在するならば、そのリファレンスは捨てられ る。何故ならば、更なる処理は不要だからである。しかしながら、もし特定ペー ジのレコードが見つからないならば、そのページのアドレスの可能なエイリアス の各々に対してレコードを捜し出す試みがなされなければならない。それによっ て、標準の1ウェッブページを解析するのに必要なディスクレコードの平均シー ク数は、1ページあたり約50ディスクシークにまで増大する。 特定ページのリファレンスのディスクファイルのレコードがまだ存在していな いならば、参照されたページの新しいレコードがつくられてディスクファイルに 加えられる。そして、そのページリファレンスが、処理されるべきページの待ち 行列に加えられるか、もしくはそのページがまだフェッチされて処理されていな いことを示すのに、そのディスクファイルエントリ自体が使用される。 このように、単に1ウェッブページを処理するのに、(存在するレコードを読 み出し、新しいレコードを書き込むために)おおよそ20ディスクシークが必要 となる。結果として、1秒あたり50ディスクシークの制限を与えられているの で、1秒あたり約1ウェッブページしか処理されない。 加えて、ネットワークアクセス待ち時間の問題がある。ウェッブサーバー及び ウェッブサーバーとウェッブクローラーコンピュータ上の両方で使用される特定 のハードウェアとソフトウェアの位置によって、ウェッブページを検索する時間 は大きく変わるけれども、平均的に、ウェッブページを検索するのには約3秒か かる。このように、ネットワーク待ち時間もやはり、従来技術のウェッブクロー ラーによって処理されるウェッブページ数を1秒あたり約0.33ウェッブペー ジに制限する恐れがある。ディスク「シーク」制限、ネットワーク待ち時間、及 び他の遅延要因のために、代表的な従来技術のウェッブクローラーは1日あたり 約30,000ウェッブページよりも多くのページを処理することができない。 ウェッブページがウェッブに追加される速度、及びウェッブページが削除され たり、改訂されたりする速度の理由から、1日あたり30,000ウェッブペー ジの処理では、ウェッブ上の全てのウェッブページの真に最新のディレクトリー もしくはインデックスを維持するには不十分である。理想的には、ウェッブクロ ーラーは1日あたり少なくとも250万ウェッブページを訪れる(すなわち、フ ェッチ及び解析する)ことができなければならない。 従って、非常に高速の性能を持つウェッブクローラが必要となる。本発明の目 的は、1日あたり数百万のウェッブページを処理することができるように改良さ れたウェッブクローラーを提供することである。本発明の関連する目的は、主に 、ウェッブクローラーのCPUの処理速度によってのみ、ウェッブクローラーの 動作速度が制限されるようにするために、前記のディスク「シーク」制限及びネ ットワーク待ち時間制限を解決するような改良されたウェッブクローラーを提供 することである。更に、本発明の別の関連する目的は、平均して、1秒あたり少 なくとも30ウェッブページ、より好ましくは1秒あたり少なくとも100ウェ ッブページをフェッチ及び解析することができるウェッブクローラーシステムを 提 供することである。 発明の概要 本発明の本質は、請求項1に記述されているようなウェッブページを捜し出す ためのシステム及び請求項6に記述されているようなウェッブページを捜し出す ための方法に存在する。 以後に、迅速に、ワールドワイドウェッブ上のウェッブページのディレクトリ ーを捜し出して作成するためのシステム及び方法を説明する。ウェッブクローラ ーシステムは、ランダムアクセスメモリ(RAM)に記憶されたハッシュテーブ ル及び代表的なディスク記憶装置である第2のメモリに記憶されたシーケンシャ ルファイル(ここでは、「シーケンシャルディスクファイル」もしくは「ウェッ ブインフォメーションディスクファイル」と呼ぶ。)を含む。システムにとって 既知である全てのウェッブページに対して、ウェッブクローラーシステムは、ハ ッシュテーブルにより小さなエントリーを記憶するのに加えて、シーケンシャル ディスクファイルにエントリーを記憶する。ハッシュテーブルのエントリーは、 識別値、対応するウェッブページが上手くフェッチされた時だけ真にセットされ るフェッチフラグ、対応するエントリーがシーケンシャルディスクファイルのど こに記憶されているかを示すファイル位置インジケーターを含む。シーケンシャ ルディスクファイルエントリーの各々は、対応するウェッブページのURLとそ のウェッブページに関するフェッチステータス情報を含む。 ウェッブインフォメーションディスクファイルへの全てのアクセスは、単一の I/Oオペレーションとして、シーケンシャルディスクファイルから多数のエン トリを入力バッファに移すといったように、入力バッファを経由して、シーケン シャルに行われる。従って、シーケンシャルディスクファイルは入力バッファか らアクセスされる。同様に、シーケンシャルファイルに加えられる全ての新しい エントリーは付加バッファに記憶され、付加バッファが一杯になった時はいつで も、付加バッファの内容はシーケンシャルディスクファイルの最後に加えられる 。このようにして、ウェッブインフォメーションディスクファイルへのランダム ア クセスは排除され、ディスクアクセス制限によって引き起こされる待ち時間は最 小化される。 ウェッブページを捜し出して、そのページを処理するためのプロシジャーは、 シーケンシャルにシーケンシャルファイルの全てのエントリーを見直し、設定さ れた選定規準を満たす次のエントリーを選ぶことを含む。処理する次のファイル エントリーを選ぶ時、ハッシュテーブルは、最新のエントリー候補の全ての既知 のエイリアスと照合されて、エイリアスでそのウェッブページが既にフェッチさ れているかどうかを決定する。もしエイリアス下でそのウェッブページは既にフ ェッチされているならば、そのシーケンシャルファイルのエントリーのエラータ イプフィールドは「非−選定エイリアス」として記録され、その候補エントリー は選ばれない。 一度、次のウェッブページのリファレンスエントリーが選ばれると、ウェッブ クローラーシステムは対応するウェッブページへのフェッチを試みる。もし、フ ェッチが不成功ならば、そのウェッブページのシーケンシャルファイルエントリ ーのフェッチステータス情報は、ウェッブクローラーに返されたエラーリターン コードに従ってフェッチ失敗として記録される。もし、フェッチが成功ならば、 そのウェッブページの(入力バッファ中の)シーケンシャルディスクファイルの エントリーの類似のフェッチフラグと同様に、そのウェッブページのハッシュテ ーブルエントリーのフェッチフラグがセットされる。加えて、フェッチされたウ ェッブページ中のURLリンクの各々が解析される。もしそのリンクによって参 照されるURLもしくはそのURLの規定されたエイリアスのいずれかのエント リーが既にハッシュテーブルにあるならば、そのURLリンクの更なる処理は必 要ではない。もしこのようなエントリーがハッシュテーブル中に見つからないな らば、そのURLは、まだウェッブページのウェッブクローラのデータベースに 含まれていない「新しい」ウェッブページを表しており、従って、新しいウェッ ブページのエントリーがシーケンシャルディスクファイルに加えられる(すなわ ち、そのエントリーは付加バッファのディスクファイルの一部に加えられる。) 。その新しいディスクファイルのエントリーは処理されているリンクによって参 照されるURLを含み、「未フェッチ」と登録される。加えて、対応する新しい エ ントリーがハッシュテーブルに加えられ、そしてそのエントリーのフェッチフラ グはクリアされて、対応するウェッブページはまだフェッチされていないことを 示すようにする。フェッチされたページ中の全てのURLリンクの処理に加えて 、更なる処理のために、ウェッブクローラーはフェッチされたページをインデク サーに送る。 図面の簡単な説明 添付図を参照して例示された以下の好ましい実施態様の説明によって、本発明 のより詳細な理解が得られるであろう。 ・図1は本発明の好ましい実施態様に従うウェッブクローラーシステムの好ま しい実施態様のブロック図である。 ・図2は本発明の好ましい実施態様で使用されるハッシュテーブルの仕組みの ブロック図である。 ・図3は本発明の好ましい実施態様で使用されるシーケンシャルなウェッブイ ンフォメーションディスクファイル及び関連するデータ構造のブロック図である 。 ・図4は本発明の好ましい実施態様で使用されるウェッブクローラープロシジ ャーのフローチャートである。 好ましい実施態様の説明 図1について、ウェッブスクーターコンピュータシステム102を含む分散コ ンピュータシステム100が示されている。通信インターフェース104及び一 セットのインターネットや他のネットワークへの接続106によって、ウェッブ スクーターはインターネットやウェッブページインデクシングコンピュータ(We b page indexing computer)108に接続される。ある実施態様では、ウェッブ ページインデクシングコンピューター108は、ローカルもしくはワイドエリア ネットワーク接続を使用せずに、専用通信チャネルを通って、ウェッブスク ーター102に直接接続される。ウェッブスクーター102が接続されるインタ ーネット部分は、(A)ウェッブページを記憶するウェッブサーバー110及び (B)ここでは総体的に参照番号112で参照されている、分散ネームサービス (DNS)として知られているサービスに協力するサーバーである。本文では、 DNS112は、全てのインターネットのホスト名に対して規定された全てのエ イリアス一セットを全ての要求者に提供し、そしてインターネットのホスト名及 びそれらのエイリアスは、全てのURLの先頭部分を形成すると仮定する。 好ましい実施態様では、ウェッブスクーター102はデジタルイクイップメン ト社製のアルファワークステーションコンピューターであるが、実際は、あらゆ るタイプのコンピューターをウェッブスクーターコンピュータとして使用するこ とができる。好ましい実施態様では、ウェッブスクーター102はCPU114 、前記の通信インターフェース104、ユーザーインターフェース116、ラン ダムアクセスメモリ(RAM)118、ディスクメモリ(disk)120を含 む。好ましい実施態様では、通信インターフェース104は非常に高性能の通信 インターフェースであり、1秒あたり少なくとも30ウェッブページの平均フェ ッチスループットで、1000以上の重複する通信要求を取り扱うことができる 。 好ましい実施態様では、ウェッブスクーターのRAMは1ギガバイトのランダ ムアクセスメモリを有し、以下のものを記憶する。 ・マルチタスクオペレーティングシステム122。 ・DNS112からエイリアス情報をフェッチするためであるのに加えて、ウ ェッブページをフェッチするためでもあるインターネット通信マネージャープロ グラム124。 ・ホスト名に対して規定されたエイリアスを表す情報を記憶するホスト名テー ブル126。 ・ウェッブインフォメーションハッシュテーブル130。 ・ハッシュテーブルマネージャープロシジャー132。 ・入力バッファ134及び付加バッファ136。 ・ハッシュテーブル130、入力バッファ134、付加バッファ136へのア クセスを制御するためのミューテックス(mutex)138。 ・ウェッブスクータープロシジャー140。 ・T1スレッドの実行を決定するためのスレッドデータストラクチャー142 。 ここで、T1の値はウェッブスクーターコンピューターシステム102のオ ペレーターが選ぶことができる整数である。(例えば、好ましい実施態様では、 T1は1000の値にセットされる。) より詳細を以下に説明するように、ディスク記憶装置120は、入力バッファ 134及び付加バッファ136を経由して、シーケンシャルにアクセスされるウ ェッブインフォメーションディスクファイル150を記憶する。 ホスト名テーブル126は、特に、DNS112にとって既知である各ホスト 名の全てのエイリアスを表す情報を記憶する。エイリアスは、ウェッブスクータ ープロシジャー140によって特定のウェッブページのURLのホスト名部分の 代わりにされる効果的なURLの先頭部分の一セットであり、特定のウェッブペ ージのエイリアスのURLの一セットを成す。 次に、上記データ構造及びプロシジャーの使用及び動作を図1−図4及び表1 −表2を参照して説明する。表1−表2は共にウェッブスクータープロシジャー の疑似コード表現を含む。ここで使用される疑似コードは、この説明の目的のた めだけにつくられているが、その疑似コードは一般的なコンピュータ言語の規約 を使用しており、当業者である全てのコンピュータプログラマーが容易に理解可 能であるように設計されている。 ウェッブインフォメーションハッシュテーブル 図2に関して、ウェッブインフォメーションハッシュテーブル130は、フェ ッチされて解析されたウェッブページのURLリンクによって参照される各ウェ ッブページに加えて、ウェッブスクーターシステムによってフェッチされて解析 された各ウェッブページに対する別個のエントリー160を含む。このようなエ ントリーの各々は、以下を含む。 ・対応するウェッブページに固有な識別値162。 ・対応するウェッブページがウェッブスクーターによってフェッチされて解析 されたかどうかを示す1ビットの「フェッチフラグ」164。 ・ウェッブインフォメーションディスクファイル150の対応するエントリー の位置を示すファイル位置値166。 好ましい実施態様では、識別値の各々は63ビットの長さであり、ファイル位 置値は各々32ビットの長さである。結果として、好ましい実施態様において、 ハッシュテーブルエントリーの各々は丁度12バイトを占める。ハッシュテーブ ルエントリーのサイズそのものは重要でないが、ハッシュテーブルエントリー1 60の各々は対応するディスクファイルエントリーよりもかなり小さい(例えば 、平均して少なくとも75%小さい。)ということは重要である。 ハッシュテーブルマネージャー132は、その「インターフェース」170を 経由して、ウェッブスクータープロシジャー140から以下の2種類のプロシジ ャーコールを受け取る。 ・第1の要求はハッシュテーブルマネージャー132に特定のURLのエント リーが存在するかどうかを問い合わせ、そして、もし存在するならば、その記録 のフェッチフラグが、対応するウェッブページが先にフェッチされて解析された ことを示すかどうかを問い合わせる。 ・第2の要求は、特定のURL及び特定のディスクファイル位置の新しいエン トリーをハッシュテーブル130に記憶するようにハッシュテーブルマネージャ ーに要求する。 ハッシュテーブルマネージャー132は識別ハッシュ関数172を使用して、 そこに現れる全てのURLの63ビットの識別値を計算する。識別関数172は 、確実に全ての固有のURLが同様に固有の識別値に変換されるように設計され ている。識別関数は全ての固有のウェッブページのURLの圧縮されたコードを つくる。通常の当業者であれば、適切な識別関数の設計を理解している。約225 から226のウェッブページがあると、識別値は263の別個の値を持つことが可能 であるということを注記する。 ハッシュテーブルが既に固有のURLのエントリーを有するかどうかを、ウェ ッブスクータープロシジャー140がハッシュテーブルマネージャー132に問 い合わせる時、ハッシュテーブルマネージャーは、(A)前記の識別ハッシュ関 数172を使用して、固有のURLの識別値をつくる。(B)ハッシュテーブル 130のどこにその識別値を有するエントリーを記憶するかを決定するハッシュ テーブル位置関数174にその値を送る。(C)実際に、このようなエントリー がハッシュテーブルに記憶されているかどうかを決定する。(D)もしマッチす るエントリーが見つからないならば、失敗値(例えば、−1)を返す。(E)も しハッシュテーブルにそのエントリーが見つかったならば、成功値(例えば、0 )及びそのエントリーのフェッチフラグ値とディスク位置値を返す。 好ましい実施態様では、識別値の所定数の低位ビットに基づいて、ハッシュテ ーブル位置関数174はハッシュテーブルエントリーの位置を決定し、同一の低 位ビットを持つ全ての識別値のエントリーのブロックのチェーンに続く。ハッシ ュテーブル130中の、与えられた値の低位ビットのエントリー160は、1ブ ロックあたりB1エントリーのブロックに配置される。ここで、B1は調整可能 なパラメーターである。好ましい実施態様で使用される上記の方法は、ハッシュ テーブル130に高密度な方法でデータを記憶するという利点がある。当業者は 理解しているように、多くの他のハッシュテーブル位置関数を使用することがで きる。 ウェッブスクータープロシジャー140が、ハッシュテーブルマネージャー1 32に特定のURL及び特定のディスクファイル位置の新しいハッシュテーブル のエントリーを記憶することを要求する時、ハッシュテーブルマネージャーは、 (A)前記の識別ハッシュ関数172を使用して、特定のURLの識別値をつく る。(B)ハッシュテーブル130のどこに識別値を有するエントリーを記憶し なければならないかを決定するハッシュテーブル位置関数174にその値を送る 。(C)ハッシュテーブルの所定の位置に、対応するウェッブページがまだフェ ッチされていないことを示すフェッチフラグ値、識別値、特定のディスクファイ ル位置と共に新しいエントリー160を記憶する。 ウェッブインフォメーションディスクファイル及びバッファ 図3及び表2に関して、入力バッファ134及び付加バッファ136は、どち らのバッファもRAMに配置されており、これらのバッファの使用によって、デ ィスクアクセスの動作は最小化される。入力バッファ及び付加バッファの管理は 、ディスクファイルマネージャーとしても知られているバックグラウンドのシー ケンシャルディスクファイル及びバッファハンドラープロシジャーによって実施 される。 好ましい実施態様では、入力バッファ及び付加バッファはサイズが各々50か ら100メガバイトである。入力バッファ134は、ウェッブインフォメーショ ンディスクファイル150の、シーケンシャルに並べられた連続部分を記憶する のに使用される。ウェッブスクータープロシジャーは、入力バッファ134、付 加バッファ136、ディスクファイル150の使用の調整を要求される多数の他 のブックキーピングポインター(bookkeeping pointer)に加えて、入力バッフ ァの処理されるべき次のエントリーへのポインター176、及びウェッブインフ ォメーションディスクファイル150の入力バッファ134に転送されるべき次 のエントリー180へのポインター178を維持する。 単一のI/O動作として、多数のエントリーがシーケンシャルディスクファイ ルから入力バッファへ移されるといったように、ウェッブインフォメーションデ ィスクファイル150への全てのアクセスは、入力バッファ134を経由して、 シーケンシャルに行われる。従って、シーケンシャルディスクファイル150は 入力バッファからアクセスされる。同様に、シーケンシャルファイルに加えられ る全ての新しいエントリーは付加バッファ136に記憶され、付加バッファが一 杯になった時はいつでも、付加バッファの内容がシーケンシャルファイルの最後 に加えられる。このようにして、ウェッブインフォメーションディスクファイル へのランダムアクセスは減少され、ディスクアクセス制限によって引き起こされ る待ち時間は最小化される。 ウェッブスクーターによって入力バッファ134の全てのエントリーがスキャ ンされる度に、入力バッファのエントリーへの全ての更新がウェッブインフォメ ーションディスクファイル150に再度記憶され、付加バッファ136の全ての エントリーがディスクファイル150の最後に加えられる。加えて、付加バッフ ァ136はクリアされ、ディスクファイルのエントリーの次の一セットが、(ポ インター178によって示される)入力バッファ134にコピーされるべきエン トリーの最後の一セットの直後から、入力バッファ134にコピーされる。ウェ ッブスクータープロシジャーによってディスクファイルの最後のエントリーがス キャンされると、スキャンはディスクファイル150の先頭に戻る。 付加バッファ136が新しいエントリーで一杯になった時はいつでも、その中 身はディスクファイル150の最後に加えられ、そして、付加バッファはクリア されて新しいエントリーを受け取る。 ウェッブインフォメーションディスクファイル150のエントリー180の各 々は以下を記憶する。 ・エントリーによって参照されるウェッブページのURLを記憶する可変長の URLフィールド182。 ・ウェッブスクーターによって、対応するウェッブページがフェッチされて解 析されたかどうかを示すフェッチフラグ184。 ・参照されたウェッブページがフェッチされ、解析され、そしてインデックス を付けられた日付及び時間を示すタイムスタンプ186。 ・ウェッブページのサイズを示すサイズ値188。 ・もし何か、エントリーが重複している(すなわち、エイリアスのURLの) エントリーで、無視されるべきであるといったような場合に、又は、参照される ウェッブページにフェッチする最後の試みが行われた時に発生したエラータイプ を示すエラータイプ値190。 ・ここでは取り上げない他のフェッチステータスパラメーター192。 URLフィールド182は可変長であるので、ウェッブインフォメーションデ ィスクファイル150のレコード180もまた可変長である。 ウェッブスクータープロシジャー 図1−図4及び表1の疑似コードに関して、好ましい実施態様におけるウェッ ブスクータープロシジャー140は以下の通り動作する。ウェッブスクータープ ロシジャーが実行を開始する時、そのプロシジャーはシステムのデータ構造を初 期化する(200)。 ・既に存在しているウェッブインフォメーションディスクファイル150をス キャンし、シーケンシャルファイルの全てのエントリーに対するエントリーにつ いてハッシュテーブル130を初期化する。 ・シーケンシャルディスクのエントリーの第1のバッチをディスクファイル1 50から入力バッファ134にコピーする。 ・空の付加バッファ136を新しいシーケンシャルファイルのエントリー用に 定義する。 ・入力バッファ134、付加バッファ136、ハッシュテーブル130へのア クセスを制御するためのミューテックス138を定義する。 それから、ウェッブスクーターイニシャライザーはT1個のスレッドを開始し (例えば、好ましい実施態様では1000個のスレッドが開始される。)、スレ ッドの各々は同一のスクータープロシジャーを実施する。 ウェッブスクーターイニシャライザープロシジャーの実施の前に既に存在して いるウェッブインフォメーションディスクファイル150のエントリー一セット は既知のウェッブページの「ルートセット」144と呼ばれる。「アクセス可能 」なウェッブページの一セットは、ルートセット中のURLリンクによって参照 される全てのウェッブページ及び他のアクセス可能なウェッブページ中のURL リンクによって参照される全てのウェッブページから成る。このように、いくつ かのウェッブページはウェッブスクーター102にとってアクセス不可であるよ うにすることが可能である。何故ならば、ルートセットと「アクセス不可な」ウ ェッブページとの間にはURLリンクがないからである。 様々なチャネルによって、このようなウェッブページに関する情報が使用可能 になると、更なるエントリーの「マニュアル」挿入もしくは更なるエントリーを 含むための他の仕組みによって、ウェッブインフォメーションディスクファイル 150を拡張することができ(それによって、ルートセット144を拡張する。 )、以前にアクセス不可であったウェッブページをアクセス可能にする。 以下は、全ての同時に実行されるスレッドによって実行されるウェッブスクー タープロシジャーの説明である。プロシジャーの第1のステップはミューテック ス(202)を要求して待つことである。ミューテックスの所有権が要求され、 2つのスレッドが同一のディスクファイルのエントリーを処理しないように、そ して2つのスレッドが同時にハッシュテーブル、入力バッファ、不可バッファも しくはディスクファイルへの情報の書き込みを試みないようにする。ハッシュテ ーブル130、入力バッファ134、付加バッファ136、ディスクファイル1 50はここでは総合的に「保護されたデータ構造」と呼ばれる。なぜならば、ミ ューテックスの使用によって、それらは総合的に保護されているからである。一 度スレッドがミューテックスを所有すると、そのスレッドが規定された選定規準 (204)を満たすエントリーを捜し出し、そのエントリーを選ぶまで、そのス レッドは入力バッファ中のディスクファイルのエントリーを(ポインター176 によって示される)まだスキャンされていない次のエントリーからスキャンする (204)。 例えば、デフォルトの選定規準は次の通りである。「エントリーによって、一 度もフェッチされていない、もしくは最後にフェッチされて解析されたのがH1 時間よりも以前であると示されているようなウェッブページを参照する全てのエ ントリー。ここで、H1はオペレーターが選定可能な値である。ただし、エント リーは重複しているエントリーであることをエラータイプフィールドが示してい る(すなわち、以下に説明されるように「非−選定エイリアス」である。)エン トリーを除く。」もしH1が168にセットされるならば、最後にフェッチされ て解析されたのが1週間よりも前であるようなウェッブページを参照する全ての エントリーが選定規準を満たす。ウェッブページの大きさが考慮されるような選 定規準の別の例は次の通りである。「一度もフェッチされていないウェッブペー ジ、もしくは最後にフェッチされて解析されたのがH1時間よりも前であり、大 きさがS1よりも大きいようなウェッブページ、もしくは最後にフェッチされて 解析されたのがH2時間よりも前であり、大きさがS1以下であるようなウェッ ブページを表しているエントリー。ただし、エントリーが「非−選定エイリアス 」であることをエラータイプフィールドが示しているエントリーを除く。ここで S1、H1、H2はオペレーターが選定可能な値である。」 処理すべき次のエントリーを選定する時、ハッシュテーブルを検索して現在の エントリー候補の全ての既知のエイリアスを見つけ、エイリアスでそのウェッブ ページが既にフェッチされたかどうかを決定する。特に、もしエントリーが、規 定された選定規準を満たすならば、ホスト名テーブル126の情報を使用して、 そのエントリーのURLの全ての既知のエイリアスがつくられ、それからハッシ ュテーブル130が検索され、参照されたウェッブページがそのエイリアスのU RL下でフェッチされたことを示すフェッチフラグを有するエイリアスのURL のいずれかのエントリーを、そのハッシュテーブルが記憶しているかどうかを調 べる。もし入力バッファ中の現在のエントリー候補によって参照されるウェッブ ページが、エイリアスのURL下で既にフェッチされていると判断されるならば 、その入力バッファのエントリーのエラータイプフィールド190は変更され、 このエントリーは「非−選定エイリアス」であると示すようにする。このように して、今回及び以後、エントリーが更なる処理のために選定されるのを防ぐ。 一度、ウェッブページのリファレンスエントリーが選定されると、ミューテッ クスは解放され、他のスレッドが保護されたデータ構造にアクセス可能となる( 206)。それから、ウェッブスクータープロシジャーは対応するウェッブペー ジをフェッチするのを試みる(208)。フェッチが成功したか、もしくは失敗 した後、再度、そのプロシジャーはミューテックスを要求して待ち(210)、 再度、そのプロシジャーが保護されたデータ構造を使用できるようにする。 もしフェッチが不成功ならば(212−N)、そのウェッブページのシーケン シャルファイルのエントリー中のフェッチステータス情報を、ウェッブクローラ ーへ返されたエラーリターンコードに従ってフェッチ失敗として記録する(21 4)。もしフェッチが成功ならば(212−Y)、(入力バッファの)シーケン シャルディスクファイルのエントリー180中のそのウェッブページのフェッチ フラグ184のように、ハッシュテーブルのエントリー160中のそのウェッブ ページのフェッチフラグ164がセットされる。加えて、フェッチされたウェッ ブページのURLリンクの各々が解析される(216)。 フェッチされたウェッブページが解析された、もしくはフェッチ失敗が入力バ ッファのエントリーに記録された後、ミューテックスは解放され、他のスレッド が保護されたデータ構造にアクセスできるようにする(218)。 次に、フェッチされたウェッブページのURLリンクを解析するためのプロシ ジャーを図4Bを参照して説明する。ウェッブページは、インデクシングシステ ム108によってインデックスを付けるための適切な情報を保有していない画像 ファイルのようなドキュメントへのURLリンクを保有することができるという ことをここで注記する。しばしば、これらの参照されるドキュメントは、それら を参照するウェッブページの構成要素として使用される。本文では、画像ファイ ルや他のインデックス付け不可ファイルのような構成要素のファイルへのURL リンクは、「他のウェッブページへのURLリンク」とはしない。インデックス 付け不可ファイルへのこれらのURLリンクは、ウェッブスクータープロシジャ ーによって無視される。 一度、他のウェッブページに接続する全てのURLを処理してしまうと(23 0)、インデックスを付けるためのインデクサーにフェッチされたウェッブペー ジを送り(232)、ウェッブスクーターによる、フェッチされたウェッブペー ジの処理を完了する。そうでない場合には、ウェッブページへの次のURLリン クが選定される(234)。もし選定されたリンクに関連するURLのハッシュ テーブルのエントリーが既に存在するならば、そのリンクの更なる処理を要求せ ず、もし解析されているウェッブページにどれか未処理のURLリンクが残って いるならば、次のURLリンクを選定する(234)。 もし選定されたリンクに関連するURLのハッシュテーブルのエントリーがま だ存在しないならば、ホスト名テーブル126の情報を使用して、そのエントリ ーのURLの全ての既知のエイリアスをつくる。それから、ハッシュテーブル1 30を検索し、そのテーブルが、そのエイリアスのURLのいずれかのエントリ ーを記憶しているかどうかを調べる(238)。もしハッシュテーブル中にその エイリアスのURLのいずれかのエントリーが存在するならば、そのリンクの更 なる処理を要求せず、そしてもし解析されたウェッブページにどれか未処理のU RLリンクが残っているならば、次のURLリンクを選定する(234)。 もしハッシュテーブル中に選定されたリンクのURLもしくはそのエイリアス のいづれかのエントリーが見つからないならば、そのURLは、まだウェッブペ ージのウェッブクローラーのデータベースに含まれていない「新しい」ウェッブ ページを表し、従って新しいウェッブページのエントリーが、付加バッファ中の ディスクファイルの一部に加えられる(240)。その新しいディスクファイル のエントリーは処理されたリンクによって参照されるURLを含み、「未フェッ チ」と記録される。加えて、対応する新しいエントリーがハッシュテーブルに加 えられ、そしてそのエントリーのフェッチフラグはクリアされて、対応するウェ ッブページはまだフェッチされていないことを示すようにする(240)。それ から、もしウェッブページ中にどれか未処理のURLリンクが存在するならば、 ウェッブページの処理はウェッブページの次の未処理のURLリンクについて継 続する。 目的及び動作が本文の範囲外であるようなプロシジャーによって、ウェッブイ ンフォメーションディスクファイル150へのインデックスとして、ウェッブイ ンフォメーションハッシュテーブル130は使用される。何故ならば、ハッシュ テーブル130は、既知のウェッブページの各々のディスクファイル位置の値を 保有するからである。いいかえると、ウェッブインフォメーションハッシュテー ブル中の対応するエントリーのディスクファイルアドレスを最初に読み出し、そ れからそのアドレスにあるウェッブインフォメーションディスクファイルのエン トリーを読み出すことによって、ウェッブインフォメーションディスクファイル 中のエントリーはアクセスされる。 他の実施態様 好ましい実施態様のハッシュテーブル構造130の代わりに、バランスドツリ ー(balanced tree)、スキップリスト(skip list)といったような、ウェッブ インフォメーションハッシュテーブル130の同一の属性を有する全てのデータ 構造を使用することが可能である。 解法として、本発明は3つの基本の仕組みを使用して、従来技術のウェッブク ローラーの速度制限を克服している。 第1に、どのウェッブページリンクがまだウェッブクローラーに知られていな い新しいウェッブページを表しているかを決定するのに十分な情報を含むウェッ ブページディレクトリテーブルが、RAM中に記憶され、ディスクファイルにア クセスする必要なく、受け取られたウェッブページを解析できるようにしている 。 第2に、より完全なウェッブページディレクトリはシーケンシャルな順番にだ けアクセスされ、ディスクアクセスがウェッブクローラーの実施速度に重要な影 響を持たない程度まで、実施されるディスクアクセスの数を減少するような大き な入力及び付加バッファによって、それらのアクセスを実施する。 第3に、ウェッブスクータープロシジャーを実行するための多数の同時にアク ティブなスレッドを使用し、そしてウェッブサーバーへの、同様の数の同時の通 信チャネルを操作可能な通信インターフェースを備えることによって、本発明は ネットワークアクセス待ち時間によって引き起こされる遅延を避ける。 特に、多数のスレッドがウェッブページフェッチ要求に対する応答を待ってい る間に、他のスレッドは受け取ったウェッブページを解析している。同一のウェ ッブスクータープロシジャーを実施する多数のスレッドを使用することによって 、受け取られたウェッブページを処理できるようになるためにミューテックスを 待っている受け取られたウェッブページに関するスレッドの待ち行列が、平均的 に存在するようである。また、ウェッブページのフェッチは、時間的にずれて行 われる傾向にある。結果として、ウェッブスクーターは殆どウェッブページを受 け取るために待っていたり、他にする仕事がないという状態にはならない。マル チプロセッサーのワークステーションを使用し、そしてウェッブスクータープロ シジャーを同時に実行するスレッドの数を更に増大することによって、ウェッブ スクーターのスループットを更に増大することが可能である。 いくつかの特定の実施態様を参照して本発明を説明したが、この説明は本発明 の例であり、本発明を限定するものとして解釈されてはならない。ここで提示さ れ、請求された本発明の範囲から逸脱することなく、さまざまな改修が可能であ る。
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,DE, DK,ES,FI,FR,GB,GR,IE,IT,L U,MC,NL,PT,SE),OA(BF,BJ,CF ,CG,CI,CM,GA,GN,ML,MR,NE, SN,TD,TG),AP(KE,LS,MW,SD,S Z,UG),AM,AT,AU,BB,BG,BR,B Y,CA,CH,CN,CZ,DE,DK,ES,FI ,GB,GE,HU,JP,KE,KG,KP,KR, KZ,LK,LT,LU,LV,MD,MG,MN,M W,NO,NZ,PL,PT,RO,RU,SD,SE ,SI,SK,TJ,TT,UA,UZ,VN 【要約の続き】 ーケンシャルに行われ、単一のI/Oオペレーションと して、シーケンシャルディスクファイルからの多数のエ ントリーが入力バッファへ移されるようにする。従っ て、シーケンシャルディスクファイルは入力バッファか らアクセスされる。同様に、シーケンシャルファイルに 加えられるべき全ての新しいエントリーは付加バッファ に記憶され、付加バッファが一杯になった時はいつで も、付加バッファの内容はシーケンシャルファイルの最 後に加えられる。このようにして、ウェッブインフォメ ーションディスクファイルへのランダムアクセスは排除 され、ディスクアクセス制限によって引き起こされる待 ち時間は減少される。

Claims (1)

  1. 【特許請求の範囲】 1.各ウェッブページは固有のURL(ユニバーサルリソースロケータ)を有し 、少なくともいくつかの前記ウェッブページは他のウェッブページへのURLリ ンクを含んでいるような、遠隔地に配置されたアクセス可能なコンピュータに記 憶されているウェッブページを含むデータセットを捜し出すためのシステムであ り、 対応するURLに従って、前記の遠隔地に配置されたコンピュータから特定 のウェッブページをフェッチするための通信インターフェースと、 エントリーの各々が対応するウェッブページのURL及びフェッチステータ ス情報を示すような一セットのエントリーを有するウェッブインフォメーション ファイルと、 RAM(ランダムアクセスメモリ)に記憶されていて、エントリーの各々が 、対応するウェッブページの識別値及びフェッチステータス情報を示すようなエ ントリー一セットを有するウェッブインフォメーションテーブルと、 ウェッブインフォメーションファイルのエントリーが前記フェッチステータ ス情報に基づく事前に規定された選定規準を満たすようなウェッブページをフェ ッチするための命令と、受け取られた各々のウェッブページ中の各々のURLリ ンクについて、ウェッブインフォメーションテーブル中に対応するエントリーが 既に存在するかどうかを決定し、ウェッブインフォメーションテーブルに対応す るエントリーを有していないURLリンクの各々について、ウェッブインフォメ ーションテーブルに新しいエントリーを加え、ウェッブインフォメーションファ イルに対応する新しいエントリーを加えるための命令とを含む、前記システムに よって実行される、ウェッブページをフェッチして解析するためのウェッブスク ータープロシジャーを実行する手段と を備えるシステム。 2.重複する時間期間中に、各々がウェッブスクータープロシジャーを実行する ような多数のスレッドを含み、スレッドのいくつかがウェッブページをフェッチ している間に、ウェッブページの他のスレッドは、フェッチされたウェッブ ページを解析しているような手段を含む請求項1に記載のシステム。 3.ミューテックスを含み、スレッドの各々によって実行される前記ウェッブス クータープロシジャーは、ウェッブインフォメーションテーブル及びウェッブイ ンフォメーションファイルにアクセスする前にミューテックスを要求して待つた めの命令を含む請求項2に記載のシステム。 4.入力バッファ及び付加バッファと、 シーケンシャルに並べられたエントリーのブロックをウェッブインフォメー ションファイルから入力バッファへ記憶するためのファイルマネージャーと、 入力バッファ中のウェッブインフォメーションファイルのエントリーをスキ ャンして解析し、前記の事前に規定された選定規準を満たす前記ウェッブインフ ォメーションファイルのエントリーを捜し出す前記ウェッブスクータープロシジ ャーと、 前記ウェッブインフォメーションファイルに加えられるべき全てのエントリ ーを前記付加バッファに記憶する前記ウェッブスクータープロシジャーと、付加 バッファ中の多数のエントリーをウェッブインフォメーションファイルに移すた めの前記ファイルマネージャーと を含む請求項3に記載のシステム。 5.第2のメモリー中のエントリーの各々は第1のメモリー中の対応するエント リーのアドレスを含む請求項1に記載のシステム。 6.各ウェッブページは固有のURL(ユニバーサルリソースロケーター)を有 し、少なくともいくつかの前記ウェッブページは他のウェッブページへのURL リンクを含んでいるような、遠隔地に配置されているがアクセス可能なコンピュ ータに記憶されているウェッブページを含むデータセットを捜し出す方法であり 、 各エントリーが、対応するウェッブページのURL及びフェッチステータス 情報を示すような一セットのエントリーを有するウェッブインフォメーションフ ァイルを記憶するステップと、 各エントリーが、対応するウェッブページの識別値及びフェッチステータス 情報を示すような一セットのエントリーを有するウェッブインフォメーション テーブルをRAM(ランダムアクセスメモリ)に記憶するステップと、 (A)ウェッブインフォメーションファイル中のエントリーをシーケンシャ ルにスキャンして、前記エントリーのどれが事前に規定された選定規準を満たす かを決定し、(B)ウェッブインフォメーションファイルのエントリーが前記の 事前に規定された選定規準を満たすようなウェッブページをフェッチし、(C) 受け取られたウェッブページの別のウェッブページへのURLリンクの各々につ いて、対応するエントリーが既にウェッブインフォメーションテーブル中に存在 するかどうかを決定し、(D)ウェッブインフォメーションテーブル中に対応す るエントリーを有していないURLリンクの各々について、ウェッブインフォメ ーションテーブルに新しいエントリーを付加し、ウェッブインフォメーションフ ァイルに対応する新しいエントリーを付加することを含む、ウェッブページをフ ェッチして解析するためのウェッブスクータープロシジャーを実行するステップ と を備える方法。 7.重複する時間期間中に多数のスレッドにおいて前記ウェッブスクータープロ シジャーを実行し、スレッドのいくつかがウェッブページをフェッチしている間 に、ウェッブページの他のスレッドはフェッチされたウェッブページを解析する ようにすることを含む請求項6に記載の方法。 8.ミューテックスを定義し、 前記スレッドの各々において前記ウェッブスクータープロシジャーを実行し ている間に、ウェッブインフォメーションテーブル及びウェッブインフォメーシ ョンファイルにアクセスする前に、ミューテックスを要求して待つこと を含む請求項7に記載の方法。 9.前記RAMに、「入力バッファ」及び「付加バッファ」を定義し、 シーケンシャルに並べられたエントリーのブロックをウェッブインフォメー ションファイルから入力バッファへ記憶し、 シーケンシャルにウェッブインフォメーションファイルのエントリーをスキ ャンする前記のステップは、入力バッファのウェッブインフォメーションファイ ルのエントリーをスキャンして、前記ウェッブインフォメーションファイル のエントリーのどれが前記の事前に規定された選定規準を満たすかを決定するこ とを含むステップを備え、 前記ファイルに加えられるべき全てのエントリーを前記付加バッファに記憶 し、 付加バッファの多数のエントリーをウェッブインフォメーションファイルに 移す ステップを備えている請求項8に記載の方法。 10.ウェッブインフォメーションテーブルのエントリーの各々はウェッブインフ ォメーションファイルの対応するエントリーのアドレスを含み、 ウェッブインフォメーションテーブルの対応するエントリーのアドレスを読 み出して、それから前記アドレスにある前記ウェッブインフォメーションファイ ルの前記の1エントリーを読み出すことによって、前記ウェッブインフォメーシ ョンファイルの前記エントリーの1つにアクセスすること を含む請求項6に記載の方法。 11.各データセットはアドレスによって固有に識別され、少なくともいくつかの データセットは、コンピュータに記憶された他のデータセットの接続アドレスを 1つ以上含むような、ネットワークによって接続されたコンピュータに記憶され ているデータセットを捜し出すための装置であり、 識別されたデータセットの要求をコンピュータに送り、前記の要求に応答し てデータセットを受け取るための、ネットワークに接続された通信インターフェ ースと、 各々が対応するデータセットのアドレス及び対応するデータセットのステー タス情報を含んでいるようなエントリーの第1の一セットを記憶している第1の メモリと、 各々が対応するデータセットのアドレスの符号化及び対応するデータセット のステータス情報の符号化を含んでいるようなエントリーの第2の一セットを記 憶している第2のメモリと、 第1と第2のメモリ及び通信インターフェースに接続され、シーケンシャル に第1の一セットのエントリーを読み出し、事前に規定されたステータスに基 づく選定規準を満たすような対応するエントリーを第1の一セット中に有する識 別されたデータセットの要求をつくり、識別されたデータセットを受け取るのに 応答して、前記の第1及び第2の一セットに、第2の一セットに対応するエント リーが存在しない受け取られたデータセットの少なくともアドレスの集合の各々 に対応する新しいエントリーをつくるスレッド手段と を備える装置。 12.第2の一セットのエントリーの各々は第1の一セットの対応するエントリー のアドレスを含み、エントリーの前記の第2の一セットはエントリーの第1の一 セットにインデックスを付けるためのものであるような請求項11に記載の装置 。 13.スレッド手段のいくつかが前記の要求をつくり、識別されたデータセットを 受け取っている間に、他のスレッド手段は前記第1と第2のメモリに新しいエン トリーをつくっているような多数の前記スレッドを含む請求項11に記載の装置 。 14.ミューテックスを含み、前記スレッド手段の各々は、第1のメモリ及び第2 のメモリにアクセスする前にミューテックスを要求して待つロジックを含むよう な請求項13に記載の装置。 15.前記第2のメモリに配置された入力バッファ及び付加バッファと、 第1のメモリのシーケンシャルに並べられたエントリーのグループを入力バ ッファに記憶するマネージャーと、 入力バッファのエントリーをスキャンして解析し、前記の事前に規定された ステータスに基づく選定規準を満たす前記エントリーを捜し出す手段を含む前記 スレッド手段の各々と、 前記第1のメモリに加えられるべき全てのエントリーを前記付加バッファに 記憶する前記スレッド手段の各々と、 付加バッファの多数のエントリーを第1のメモリに移す手段も有する前記マ ネージャーと を含む請求項14に記載の装置。 16.各データセットはアドレスによって固有に識別され、少なくともいくつかの 前記データセットは、コンピュータに記憶された他のデータセットの接続アドレ スを1つ以上含むような、ネットワークによって接続されたコンピュータに記憶 されたデータセットを捜し出す方法であり、 (A)各々が対応するデータセットのアドレス及び対応するデータセットのス テータス情報を含んでいるような、エントリーの第1の一セットを第1のメモリ に記憶するステップと、 (B)各々が対応するデータセットのアドレスの符号化及び対応するデータセ ットのステータス情報の符号化を含んでいるような、エントリーの第2の一セッ トを第2のメモリに記憶するステップと、 (C)シーケンシャルに第1の一セットのエントリーを読み出すステップと、 (D)事前に規定されたステータスに基づく選定規準を満たす、第1の一セッ トの対応するエントリーを有する識別されたデータセットの要求を、ネットワー クを経由してコンピュータに伝送するステップと、 (E)識別されたデータセットを受け取るのに応答して、前記第1及び第2の 一セットに、第2の一セットに対応するエントリーが存在しない少なくとも受け 取られたデータセットのアドレスの集合の各々に対応する新しいエントリーをつ くるステップ を備える方法。 17.前記ステップBは、第2の一セットのエントリーの各々に、第1の一セット の対応するエントリーのアドレスを記憶し、エントリーの前記の第2の一セット はエントリーの第1の一セットにインデックスを付けるためのものであるような 請求項16に記載の方法。 18.重複する時間期間中に多数のスレッドにおいてステップC、D、Eを実行し 、スレッドのいくつかがデータセットをフェッチしている間に、データセットの 他のスレッドは、フェッチされたデータセットを解析しているようにすることを 含む請求項16に記載の方法。 19.ミューテックスを定義し、 前記スレッドの各々は、第1及び第2のメモリのエントリーの第1及び第2 の一セットにアクセスする前にミューテックスを要求して待つこと を含むような請求項18に記載の方法。 20.前記第2のメモリに入力バッファ及び付加バッファを定義し、 シーケンシャルに並べられたエントリーのブロックをエントリーの第1の一 セットから入力バッファに記憶し、 前記のシーケンシャルに読み出すステップは、入力バッファのエントリーを シーケンシャルに読み出し、前記入力バッファのエントリーのどれが前記の事前 に規定されたステータスに基づく選定規準を満たすかを決定するステップを備え 、 前記第1のメモリに加えられるべき全てのエントリーを前記付加バッファに 記憶し、 付加バッファの多数のエントリーを第1のメモリに移すこと を含む請求項19に記載の方法。
JP52221597A 1995-12-13 1996-12-10 コンピュータのネットワークからワールドワイドウェッブ上のページを捜し出したり、ドキュメントを捜し出したりするためのシステム及び方法 Expired - Fee Related JP3160719B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US571,748 1990-08-23
US08/571,748 US5974455A (en) 1995-12-13 1995-12-13 System for adding new entry to web page table upon receiving web page including link to another web page not having corresponding entry in web page table
US08/571,748 1995-12-13

Publications (2)

Publication Number Publication Date
JPH10512699A true JPH10512699A (ja) 1998-12-02
JP3160719B2 JP3160719B2 (ja) 2001-04-25

Family

ID=24284878

Family Applications (1)

Application Number Title Priority Date Filing Date
JP52221597A Expired - Fee Related JP3160719B2 (ja) 1995-12-13 1996-12-10 コンピュータのネットワークからワールドワイドウェッブ上のページを捜し出したり、ドキュメントを捜し出したりするためのシステム及び方法

Country Status (11)

Country Link
US (2) US5974455A (ja)
EP (3) EP3086246A3 (ja)
JP (1) JP3160719B2 (ja)
KR (1) KR100330576B1 (ja)
CN (2) CN1192317C (ja)
AU (1) AU694386B2 (ja)
BR (1) BR9611149A (ja)
CA (1) CA2240350A1 (ja)
TW (1) TW311996B (ja)
WO (1) WO1997022069A1 (ja)
ZA (1) ZA9610561B (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002525749A (ja) * 1998-09-24 2002-08-13 ミラー・イメージ・インターネット・インコーポレイテッド インターネットキャッシングシステム、方法およびそのシステムの構成
JP2003515227A (ja) * 1999-11-18 2003-04-22 ネットストック コーポレイション コンピュータに基づく集合的証券投資サービス

Families Citing this family (138)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US7349892B1 (en) 1996-05-10 2008-03-25 Aol Llc System and method for automatically organizing and classifying businesses on the World-Wide Web
US6415319B1 (en) * 1997-02-07 2002-07-02 Sun Microsystems, Inc. Intelligent network browser using incremental conceptual indexer
US5897637A (en) * 1997-03-07 1999-04-27 Apple Computer, Inc. System and method for rapidly identifying the existence and location of an item in a file
US6222847B1 (en) * 1997-10-08 2001-04-24 Lucent Technologies Inc. Apparatus and method for retrieving data from a network site
US6253240B1 (en) 1997-10-31 2001-06-26 International Business Machines Corporation Method for producing a coherent view of storage network by a storage network manager using data storage device configuration obtained from data storage devices
JP2996937B2 (ja) * 1997-12-01 2000-01-11 三菱電機株式会社 サーバ
US6145003A (en) * 1997-12-17 2000-11-07 Microsoft Corporation Method of web crawling utilizing address mapping
US6119171A (en) * 1998-01-29 2000-09-12 Ip Dynamics, Inc. Domain name routing
US6345304B1 (en) * 1998-04-01 2002-02-05 Xerox Corporation Obtaining network addresses from identifiers
US6457060B1 (en) * 1998-04-30 2002-09-24 Openwave Systems Inc. Method and apparatus for flexibly linking to remotely located content on a network server through use of aliases
US6727923B1 (en) * 1998-05-08 2004-04-27 Apple Computer, Inc. Creation and manipulation of internet location objects in a graphical user interface environment
US6638314B1 (en) * 1998-06-26 2003-10-28 Microsoft Corporation Method of web crawling utilizing crawl numbers
US6424966B1 (en) * 1998-06-30 2002-07-23 Microsoft Corporation Synchronizing crawler with notification source
US6553372B1 (en) * 1998-07-13 2003-04-22 Microsoft Corporation Natural language information retrieval system
US6393428B1 (en) * 1998-07-13 2002-05-21 Microsoft Corporation Natural language information retrieval system
US6336116B1 (en) * 1998-08-06 2002-01-01 Ryan Brown Search and index hosting system
US6735585B1 (en) 1998-08-17 2004-05-11 Altavista Company Method for search engine generating supplemented search not included in conventional search result identifying entity data related to portion of located web page
US6654813B1 (en) * 1998-08-17 2003-11-25 Alta Vista Company Dynamically categorizing entity information
US6510467B1 (en) * 1998-09-16 2003-01-21 International Business Machines Corporation Method for transferring data files between a user and an internet server
US6145000A (en) * 1998-10-06 2000-11-07 Ameritech Corporation System and method for creating and navigating a linear hypermedia resource program
US6195707B1 (en) * 1998-10-28 2001-02-27 International Business Machines Corporation Apparatus for implementing universal resource locator (URL) aliases in a web browser and method therefor
US6314460B1 (en) 1998-10-30 2001-11-06 International Business Machines Corporation Method and apparatus for analyzing a storage network based on incomplete information from multiple respective controllers
US6289375B1 (en) * 1998-10-30 2001-09-11 International Business Machines Corporation Method and apparatus for invoking network agent functions using a hash table
US6411950B1 (en) * 1998-11-30 2002-06-25 Compaq Information Technologies Group, Lp Dynamic query expansion
US7131062B2 (en) * 1998-12-09 2006-10-31 International Business Machines Corporation Systems, methods and computer program products for associating dynamically generated web page content with web site visitors
US6374294B1 (en) * 1998-12-23 2002-04-16 Nortel Networks Limited Method and apparatus for negating invalid networking addresses
US6993531B1 (en) * 1999-02-04 2006-01-31 Naas Aaron J System and method of routine navigation
GB2339516B (en) * 1999-04-06 2000-07-05 Iesearch Limited An inter-computer communications apparatus
US7055739B1 (en) * 1999-05-25 2006-06-06 Silverbrook Research Pty Ltd Identity-coded surface with reference points
US6341306B1 (en) * 1999-08-13 2002-01-22 Atomica Corporation Web-based information retrieval responsive to displayed word identified by a text-grabbing algorithm
US7162477B1 (en) * 1999-09-03 2007-01-09 International Business Machines Corporation System and method for web or file system asset management
US6321265B1 (en) * 1999-11-02 2001-11-20 Altavista Company System and method for enforcing politeness while scheduling downloads in a web crawler
US6301614B1 (en) * 1999-11-02 2001-10-09 Alta Vista Company System and method for efficient representation of data set addresses in a web crawler
US6263364B1 (en) * 1999-11-02 2001-07-17 Alta Vista Company Web crawler system using plurality of parallel priority level queues having distinct associated download priority levels for prioritizing document downloading and maintaining document freshness
US6377984B1 (en) * 1999-11-02 2002-04-23 Alta Vista Company Web crawler system using parallel queues for queing data sets having common address and concurrently downloading data associated with data set in each queue
US7082454B1 (en) * 1999-11-15 2006-07-25 Trilogy Development Group, Inc. Dynamic content caching framework
US6826725B1 (en) * 1999-12-16 2004-11-30 Microsoft Corporation Techniques for invoking system commands from within a mark-up language document
AU2595801A (en) * 1999-12-30 2001-07-16 Auctionwatch.Com, Inc. Minimal impact crawler
US6883135B1 (en) 2000-01-28 2005-04-19 Microsoft Corporation Proxy server using a statistical model
WO2001059623A2 (en) * 2000-02-08 2001-08-16 Onepage, Inc. System and method for dynamic aggregation of content distributed over a computer network
US7240067B2 (en) * 2000-02-08 2007-07-03 Sybase, Inc. System and methodology for extraction and aggregation of data from dynamic content
US7506034B2 (en) * 2000-03-03 2009-03-17 Intel Corporation Methods and apparatus for off loading content servers through direct file transfer from a storage center to an end-user
US6952737B1 (en) * 2000-03-03 2005-10-04 Intel Corporation Method and apparatus for accessing remote storage in a distributed storage cluster architecture
KR100314388B1 (ko) * 2000-03-28 2001-11-29 김연종 자동 페이징을 지원하는 웹 브라우저와 웹 브라우저의 멀티뷰 생성방법 및 그 프로그램 소스를 저장한 기록매체
US7305610B1 (en) * 2000-04-06 2007-12-04 Google, Inc. Distributed crawling of hyperlinked documents
EP1154356A1 (en) * 2000-05-09 2001-11-14 Alcatel Caching of files during loading from a distributed file system
WO2001093071A2 (en) * 2000-05-29 2001-12-06 Saora Kabushiki Kaisha System and method for saving browsed data
US7082470B1 (en) * 2000-06-28 2006-07-25 Joel Lesser Semi-automated linking and hosting method
US6952730B1 (en) * 2000-06-30 2005-10-04 Hewlett-Packard Development Company, L.P. System and method for efficient filtering of data set addresses in a web crawler
US6675159B1 (en) 2000-07-27 2004-01-06 Science Applic Int Corp Concept-based search and retrieval system
US6618717B1 (en) * 2000-07-31 2003-09-09 Eliyon Technologies Corporation Computer method and apparatus for determining content owner of a website
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
US20020165952A1 (en) * 2000-10-20 2002-11-07 Sewell James M. Systems and methods for remote management of diagnostic devices and data associated therewith
US8122236B2 (en) 2001-10-24 2012-02-21 Aol Inc. Method of disseminating advertisements using an embedded media player page
JP2004518202A (ja) 2000-10-24 2004-06-17 トムソン ライセンシング ソシエテ アノニム 埋め込み型メディア・プレーヤ・ページを使用して広告を配信する方法、記録媒体、および伝送媒体
US7027974B1 (en) 2000-10-27 2006-04-11 Science Applications International Corporation Ontology-based parser for natural language processing
US7627830B1 (en) * 2000-10-31 2009-12-01 Aol Llc, A Delaware Limited Liability Company Click-to-add, jot-it-down, and add banner
US7139747B1 (en) * 2000-11-03 2006-11-21 Hewlett-Packard Development Company, L.P. System and method for distributed web crawling
JP2002149699A (ja) * 2000-11-10 2002-05-24 Hitachi Ltd データ検索装置
US7925967B2 (en) 2000-11-21 2011-04-12 Aol Inc. Metadata quality improvement
US6981030B2 (en) * 2000-11-29 2005-12-27 Ncr Corporation Private data protection method for a network kiosk
US6766316B2 (en) 2001-01-18 2004-07-20 Science Applications International Corporation Method and system of ranking and clustering for document indexing and retrieval
US20020127530A1 (en) * 2001-03-06 2002-09-12 Weakly Mark A. System and method for tracking and displaying a user's progress in a distance learning environment
US7386792B1 (en) * 2001-03-07 2008-06-10 Thomas Layne Bascom System and method for collecting, storing, managing and providing categorized information related to a document object
US7158971B1 (en) * 2001-03-07 2007-01-02 Thomas Layne Bascom Method for searching document objects on a network
US7555561B2 (en) * 2001-03-19 2009-06-30 The Aerospace Corporation Cooperative adaptive web caching routing and forwarding web content data broadcasting method
EP1329818B1 (de) * 2001-03-23 2007-05-30 Siemens Aktiengesellschaft Methode zum Auffinden von Dokumenten
US7739327B2 (en) * 2001-04-05 2010-06-15 Playstream Inc. Distributed link processing system for delivering application and multi-media content on the internet
US20020147775A1 (en) * 2001-04-06 2002-10-10 Suda Aruna Rohra System and method for displaying information provided by a provider
US20020176611A1 (en) * 2001-05-23 2002-11-28 Dong Mimi C. Fingerprint addressing system and method
NO20013308L (no) * 2001-07-03 2003-01-06 Wide Computing As Apparat for söking på Internett
US7089233B2 (en) * 2001-09-06 2006-08-08 International Business Machines Corporation Method and system for searching for web content
AU2002353379B2 (en) * 2001-09-20 2009-08-27 Connexity Audience, Inc. Method and system for characterization of online behavior
US20040133629A1 (en) * 2002-02-01 2004-07-08 Brian Reynolds Methods, systems and devices for automated web publishing and distribution
JP2003337699A (ja) * 2002-03-13 2003-11-28 Saora Inc 情報処理装置及びその方法、及びそのプログラムを記憶した記憶媒体
US7120641B2 (en) * 2002-04-05 2006-10-10 Saora Kabushiki Kaisha Apparatus and method for extracting data
US20030195896A1 (en) * 2002-04-15 2003-10-16 Suda Aruna Rohra Method and apparatus for managing imported or exported data
US20030212762A1 (en) * 2002-05-08 2003-11-13 You Networks, Inc. Delivery system and method for uniform display of supplemental content
US7937471B2 (en) * 2002-06-03 2011-05-03 Inpro Network Facility, Llc Creating a public identity for an entity on a network
US8234358B2 (en) 2002-08-30 2012-07-31 Inpro Network Facility, Llc Communicating with an entity inside a private network using an existing connection to initiate communication
US7139828B2 (en) * 2002-08-30 2006-11-21 Ip Dynamics, Inc. Accessing an entity inside a private network
US7716322B2 (en) * 2002-09-23 2010-05-11 Alcatel-Lucent Usa Inc. Automatic exploration and testing of dynamic Web sites
US7774325B2 (en) * 2002-10-17 2010-08-10 Intel Corporation Distributed network attached storage system
US8412766B1 (en) * 2002-10-17 2013-04-02 Cisco Technology, Inc. Method and apparatus for tracking client navigation among multiple resources in communication session information saved by a server
US7949785B2 (en) 2003-03-31 2011-05-24 Inpro Network Facility, Llc Secure virtual community network system
JPWO2004111877A1 (ja) * 2003-05-19 2006-07-20 サオラ株式会社 情報処理方法及びその装置、及びそのプログラム
US7331038B1 (en) * 2003-07-02 2008-02-12 Amazon.Com, Inc. Predictive prefetching to improve parallelization of document generation subtasks
US20050050021A1 (en) * 2003-08-25 2005-03-03 Sybase, Inc. Information Messaging and Collaboration System
US20050204173A1 (en) * 2004-03-10 2005-09-15 Giga-Byte Technology Co., Ltd. Method for automatically filling in user data using fingerprint identification
US7584221B2 (en) * 2004-03-18 2009-09-01 Microsoft Corporation Field weighting in text searching
GB2417342A (en) * 2004-08-19 2006-02-22 Fujitsu Serv Ltd Indexing system for a computer file store
US7606793B2 (en) * 2004-09-27 2009-10-20 Microsoft Corporation System and method for scoping searches using index keys
US7761448B2 (en) 2004-09-30 2010-07-20 Microsoft Corporation System and method for ranking search results using click distance
US7739277B2 (en) * 2004-09-30 2010-06-15 Microsoft Corporation System and method for incorporating anchor text into ranking search results
US7827181B2 (en) * 2004-09-30 2010-11-02 Microsoft Corporation Click distance determination
US7716198B2 (en) * 2004-12-21 2010-05-11 Microsoft Corporation Ranking search results using feature extraction
US20060200460A1 (en) * 2005-03-03 2006-09-07 Microsoft Corporation System and method for ranking search results using file types
US7792833B2 (en) * 2005-03-03 2010-09-07 Microsoft Corporation Ranking search results using language types
US7444597B2 (en) * 2005-03-18 2008-10-28 Microsoft Corporation Organizing elements on a web page via drag and drop operations
US20060212806A1 (en) * 2005-03-18 2006-09-21 Microsoft Corporation Application of presentation styles to items on a web page
US20060212792A1 (en) * 2005-03-18 2006-09-21 Microsoft Corporation Synchronously publishing a web page and corresponding web page resources
US8538969B2 (en) * 2005-06-03 2013-09-17 Adobe Systems Incorporated Data format for website traffic statistics
US8984636B2 (en) 2005-07-29 2015-03-17 Bit9, Inc. Content extractor and analysis system
US8272058B2 (en) 2005-07-29 2012-09-18 Bit 9, Inc. Centralized timed analysis in a network security system
US7895651B2 (en) 2005-07-29 2011-02-22 Bit 9, Inc. Content tracking in a network security system
US7599917B2 (en) * 2005-08-15 2009-10-06 Microsoft Corporation Ranking search results using biased click distance
US8095565B2 (en) * 2005-12-05 2012-01-10 Microsoft Corporation Metadata driven user interface
US7680789B2 (en) * 2006-01-18 2010-03-16 Microsoft Corporation Indexing and searching numeric ranges
US9633356B2 (en) 2006-07-20 2017-04-25 Aol Inc. Targeted advertising for playlists based upon search queries
US9165040B1 (en) 2006-10-12 2015-10-20 Google Inc. Producing a ranking for pages using distances in a web-link graph
US20080104257A1 (en) * 2006-10-26 2008-05-01 Yahoo! Inc. System and method using a refresh policy for incremental updating of web pages
US20080104502A1 (en) * 2006-10-26 2008-05-01 Yahoo! Inc. System and method for providing a change profile of a web page
US8745183B2 (en) * 2006-10-26 2014-06-03 Yahoo! Inc. System and method for adaptively refreshing a web page
US20080263193A1 (en) * 2007-04-17 2008-10-23 Chalemin Glen E System and Method for Automatically Providing a Web Resource for a Broken Web Link
US20090055436A1 (en) * 2007-08-20 2009-02-26 Olakunle Olaniyi Ayeni System and Method for Integrating on Demand/Pull and Push Flow of Goods-and-Services Meta-Data, Including Coupon and Advertising, with Mobile and Wireless Applications
CN101409634B (zh) * 2007-10-10 2011-04-13 中国科学院自动化研究所 基于信息检索的互联网新闻影响力定量分析工具及方法
US9348912B2 (en) * 2007-10-18 2016-05-24 Microsoft Technology Licensing, Llc Document length as a static relevance feature for ranking search results
US20090106221A1 (en) * 2007-10-18 2009-04-23 Microsoft Corporation Ranking and Providing Search Results Based In Part On A Number Of Click-Through Features
US7840569B2 (en) * 2007-10-18 2010-11-23 Microsoft Corporation Enterprise relevancy ranking using a neural network
US20090210423A1 (en) * 2008-02-15 2009-08-20 Yahoo! Inc. Methods and systems for maintaining personal data trusts
US8812493B2 (en) * 2008-04-11 2014-08-19 Microsoft Corporation Search results ranking using editing distance and document information
CN101309292B (zh) * 2008-06-06 2012-02-15 中国联合网络通信集团有限公司 一种无线互联网sp业务url的记录方法及系统
CN102216945B (zh) * 2008-08-21 2013-04-17 杜比实验室特许公司 通过媒体指纹进行联网
US8677018B2 (en) * 2008-08-25 2014-03-18 Google Inc. Parallel, side-effect based DNS pre-caching
WO2010048575A1 (en) * 2008-10-23 2010-04-29 Bsst Llc Multi-mode hvac system with thermoelectric device
US8738635B2 (en) 2010-06-01 2014-05-27 Microsoft Corporation Detection of junk in search result ranking
US8484373B2 (en) * 2010-10-25 2013-07-09 Google Inc. System and method for redirecting a request for a non-canonical web page
US8793706B2 (en) 2010-12-16 2014-07-29 Microsoft Corporation Metadata-based eventing supporting operations on data
US9495462B2 (en) 2012-01-27 2016-11-15 Microsoft Technology Licensing, Llc Re-ranking search results
CA2779235C (en) 2012-06-06 2019-05-07 Ibm Canada Limited - Ibm Canada Limitee Identifying unvisited portions of visited information
CN102831249A (zh) * 2012-09-19 2012-12-19 河南锐之旗信息技术有限公司 一种静态页面生成方法
CN103678571B (zh) * 2013-12-09 2017-01-25 中国科学院深圳先进技术研究院 应用于单台多核处理器主机的多线程网络爬虫执行方法
CN104331511B (zh) * 2014-11-24 2018-02-09 飞狐信息技术(天津)有限公司 静态页面更新方法及装置
US9916320B2 (en) * 2015-04-26 2018-03-13 International Business Machines Corporation Compression-based filtering for deduplication
US10268465B2 (en) * 2016-10-24 2019-04-23 International Business Machines Corporation Executing local function call site optimization
CN110008392A (zh) * 2019-03-07 2019-07-12 北京华安普特网络科技有限公司 一种基于网络爬虫技术的网页篡改检测方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4323968A (en) * 1978-10-26 1982-04-06 International Business Machines Corporation Multilevel storage system having unitary control of data transfers
US4847830A (en) * 1987-12-02 1989-07-11 Network Equipment Technologies, Inc. Method and apparatus for automatic loading of a data set in a node of a communication network
US5291601A (en) * 1989-06-01 1994-03-01 Hewlett-Packard Company Shared libraries implemented with linking program loader
US5010344A (en) * 1989-12-28 1991-04-23 International Business Machines Corporation Method of decoding compressed data
US5604899A (en) * 1990-05-21 1997-02-18 Financial Systems Technology Pty. Ltd. Data relationships processor with unlimited expansion capability
CA2045788A1 (en) * 1990-06-29 1991-12-30 Kadangode K. Ramakrishnan Cache arrangement for file system in digital data processing system
US5204958A (en) * 1991-06-27 1993-04-20 Digital Equipment Corporation System and method for efficiently indexing and storing a large database with high data insertion frequency
US5357617A (en) * 1991-11-22 1994-10-18 International Business Machines Corporation Method and apparatus for substantially concurrent multiple instruction thread processing by a single pipeline processor
RU2183854C2 (ru) * 1993-05-20 2002-06-20 Мур Бизнес Формз, Инк. Система заявок и система сопровождения заявок
US5493676A (en) * 1993-06-29 1996-02-20 Unisys Corporation Severe environment data recording system
US5467264A (en) * 1993-06-30 1995-11-14 Microsoft Method and system for selectively interdependent control of devices
US5708780A (en) * 1995-06-07 1998-01-13 Open Market, Inc. Internet server access control and monitoring systems
US5712979A (en) * 1995-09-20 1998-01-27 Infonautics Corporation Method and apparatus for attaching navigational history information to universal resource locator links on a world wide web page

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002525749A (ja) * 1998-09-24 2002-08-13 ミラー・イメージ・インターネット・インコーポレイテッド インターネットキャッシングシステム、方法およびそのシステムの構成
JP2003515227A (ja) * 1999-11-18 2003-04-22 ネットストック コーポレイション コンピュータに基づく集合的証券投資サービス
US8682771B2 (en) 1999-11-18 2014-03-25 Jeffrey T. Seely Computer-based aggregated securities investment service

Also Published As

Publication number Publication date
EP3086246A3 (en) 2016-11-30
CN1811757A (zh) 2006-08-02
KR19990064246A (ko) 1999-07-26
CN1192317C (zh) 2005-03-09
KR100330576B1 (ko) 2002-05-09
EP1241594A2 (en) 2002-09-18
US5974455A (en) 1999-10-26
JP3160719B2 (ja) 2001-04-25
EP0867007A1 (en) 1998-09-30
CN1811757B (zh) 2010-12-22
CA2240350A1 (en) 1997-06-19
EP1241594A3 (en) 2005-03-09
BR9611149A (pt) 1999-03-30
CN1202257A (zh) 1998-12-16
ZA9610561B (en) 1998-07-08
WO1997022069A1 (en) 1997-06-19
AU694386B2 (en) 1998-07-16
US6032196A (en) 2000-02-29
TW311996B (ja) 1997-08-01
EP3086246A2 (en) 2016-10-26
AU1417597A (en) 1997-07-03

Similar Documents

Publication Publication Date Title
JPH10512699A (ja) コンピュータのネットワークからワールドワイドウェッブ上のページを捜し出したり、ドキュメントを捜し出したりするためのシステム及び方法
US8065484B2 (en) Enhanced access to data available in a cache
US6105028A (en) Method and apparatus for accessing copies of documents using a web browser request interceptor
US8700573B2 (en) File storage service system, file management device, file management method, ID denotative NAS server and file reading method
US6754799B2 (en) System and method for indexing and retrieving cached objects
US6985950B1 (en) System for creating a space-efficient document categorizer for training and testing of automatic categorization engines
JP4318741B2 (ja) データベースシステム、データベース検索方法及び記録媒体
US7788253B2 (en) Global anchor text processing
JP3303912B2 (ja) メタ検索方法及びメタ検索エンジン装置
US7788243B2 (en) System and methods for optimizing data transfer among various resources in a distributed environment
US9087066B2 (en) Virtual disk from network shares and file servers
JP2002542542A (ja) 問合せ可能なダイナミック・キャッシュを有するウェブサーバ
JPH07175704A (ja) ファイル装置およびデータオブジェクトアクセス方法
JPH10247155A (ja) データベースへのファイルシステムインタフェース
JPH1091638A (ja) 検索システム
US8095678B2 (en) Data processing
JPH07262074A (ja) キャッシュ管理方法、コンピュータ・ファイル・システム及びキャッシュ装置
JP2006107446A (ja) ネットワーク・ドキュメントのバッチ索引付けのためのシステムおよび方法
JPH10222407A (ja) プロセスオーバーヘッド及びデータベースサーバからの冗長な検索を減少するように同じプロセスにおける多数のデータベーストランザクションを処理する方法
JPH10240589A (ja) 実データ遅延取出しを行うデータベース処理方法
US8176087B2 (en) Data processing
US20030052918A1 (en) Method and apparatus for allowing one bookmark to replace another
JP2000137689A (ja) 共用データキャッシュ処理方法及びその実施装置並びにその処理プログラムを記録した媒体
JP2005503600A (ja) インターネット上でダイナミック・ページ・ビルダでメッセージ・パブリッシングを提供するための方法およびシステム
JP2001325280A (ja) データベース検索システム

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080223

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080223

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090223

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100223

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100223

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110223

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120223

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120223

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130223

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130223

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140223

Year of fee payment: 13

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees