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

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

Info

Publication number
JP3160719B2
JP3160719B2 JP52221597A JP52221597A JP3160719B2 JP 3160719 B2 JP3160719 B2 JP 3160719B2 JP 52221597 A JP52221597 A JP 52221597A JP 52221597 A JP52221597 A JP 52221597A JP 3160719 B2 JP3160719 B2 JP 3160719B2
Authority
JP
Japan
Prior art keywords
web
entries
entry
web information
information file
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.)
Expired - Fee Related
Application number
JP52221597A
Other languages
English (en)
Other versions
JPH10512699A (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)

Description

【発明の詳細な説明】 発明の分野 本発明は、一般的に、コンピュータのネットワークか
らワールドワイドウェッブ(WWW)上のページと呼ばれ
るドキュメントにアクセスしたり、ドキュメントを捜し
出したりするためのシステム及び方法に関し、特に、迅
速にワールドワイドウェッブ上のページを捜し出して解
析するためのシステム及び方法に関する。
発明の背景 ここではウェッブページと呼ぶウェッブドキュメント
は、インターネットに接続された多数のサーバーコンピ
ュータ(ここでは以後「サーバー」と呼ぶ。)上に記憶
される。ウェッブ上の各々のページは別個のURL(ユニ
バーサルリソースロケーターuniversal resource locat
or)を有する。ウェッブサーバー上に記憶された多数の
ドキュメントはHTML(ハイパーテキストマークアップラ
ンゲージ−hypertext markup language)と呼ばれる標
準のドキュメント記述言語で書かれている。HTMLを使用
して、ウェッブドキュメントのデザイナーは、ドキュメ
ント中でハイパーテキストリンクもしくはアノテーショ
ンをドキュメント中の特定の語又は句と関連付けて、ウ
ェッブページの視覚的な外観及び内容を記述する。ハイ
パーテキストリンクは、その語又は句に関する情報を提
供する他のウェッブドキュメントもしくは同一のドキュ
メント中の他の部分のURLを識別する。
インターネットに接続されたウェッブクライアント上
で動くウェッブブラウザー(HTMLドキュメントを表示し
たり、ウェッブサーバーと通信したりするように設計さ
れたコンピュータプログラム)を使用して、ユーザーは
WWW上に記憶されたドキュメントにアクセスする。一般
的に、ユーザーが、ウェッブブラウザーで表示されるド
キュメント内でハイパーテキストリンク(一般的に、強
調された語もしくは句としてウェッブブラウザーで表示
される。)を選ぶことによって、ユーザはドキュメント
にアクセスする。そして、ウェッブブラウザーは、要求
されたドキュメントのURLによって識別されるウェッブ
サーバーへ、要求されたドキュメントのHTTP(ハイパー
テキスト転送プロトコル−hypaertext transfer protoc
ol)要求を出す。その要求に応答して、やはりHTTPを使
用して、指名されたウェッブサーバーは要求されたドキ
ュメントをウェッブブラウザーに返す。
1995年の末以後、ワールドワイドウェッブ(以後、
「ウェッブ」と呼ぶ。)として知られているインターネ
ット部分のページ数は、先の1年間に数倍にもなり、少
なくとも3000万ページに達するようになった。本発明
は、ウェッブが増大し続ける時に、ウェッブ上のページ
の経路を維持し続けるためのシステムを実施することを
意図している。
ウェッブ上のページを捜し出すためのシステムは、
「ウェッブクローラー(Web crawler)」や「ウェッブ
スパイダー(Web spider)」や「ウェッブロボット(We
b robot)」として様々に知られている。本発明は「ウ
ェッブスクーター(Web scooter)」としてつくられて
きた。何故ならば、それは既知のウェッブクローラーの
どれよりも非常に速いからである。本文では、「ウェッ
ブクローラー」、「ウェッブスパイダー」、「ウェッブ
スクーター」、「ウェッブクローラーコンピュータシス
テム」、「ウェッブスクーターコンピュータシステム」
という語を相互に互換性を有する語として使用する。
一般的に、従来技術のウェッブクローラーは以下のよ
うに動作する。既知のウェッブページのルートセットか
ら開始して、全ての既知のウェッブページに対する別個
のエントリーについて、ディスクファイルがつくられ
る。更なるウェッブページがフェッチされ、他のページ
へのそれらのリンクが解析される時、まだウェッブクロ
ーラーに知られていないウェッブページを参照するため
に、ディスクファイルに更なるエントリーがつくられ
る。エントリーの各々は、他のステータス情報と共に、
対応するウェッブページが処理されているかどうかを示
す。ウェッブクローラーはウェッブページを次のように
処理する。(A)処理されているページ中の他のウェッ
ブページへの全てのリンクを識別し、関連する情報を記
憶して、まだ処理されていない識別された全てのウェッ
ブページを、処理されるべきウェッブページのリスト、
もしくは他の同等のデータ構造に加える。(B)ウェッ
ブページをインデクサ、もしくは他のドキュメント処理
システムに送る。
一般的に、既に処理されたウェッブページに関する情
報はディスクファイルに記憶される。何故ならば、ディ
スクファイルの情報量は、ランダムアクセスメモリ(RA
M)に記憶するには大きすぎるからである。例えば、も
し平均100バイトの情報がウェッブページのエントリー
の各々に対して記憶されるならば、3000万ウェッブペー
ジを表すデータファイルは約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によって、
ウェッブスクーターはインターネットやウェッブページ
インデクシングコンピュータ(Web page indexing comp
uter)108に接続される。ある実施態様では、ウェッブ
ページインデクシングコンピューター108は、ローカル
もしくはワイドエリアネットワーク接続を使用せずに、
専用通信チャネルを通って、ウェッブスクーター102に
直接接続される。ウェッブスクーター102が接続される
インターネット部分は、(A)ウェッブページを記憶す
るウェッブサーバー110及び(B)ここでは総体的に参
照番号112で参照されている、分散ネームサービス(DN
S)として知られているサービスに協力するサーバーで
ある。本文では、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へのアクセスを制御するためのミューテックス(m
utex)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バイトを占める。ハ
ッシュテーブルエントリーのサイズそのものは重要でな
いが、ハッシュテーブルエントリー160の各々は対応す
るディスクファイルエントリーよりもかなり小さい(例
えば、平均して少なくとも75%小さい。)ということは
重要である。
ハッシュテーブルマネージャー132は、その「インタ
ーフェース」170を経由して、ウェッブスクータープロ
シジャー140から以下の2種類のプロシジャーコールを
受け取る。
・第1の要求はハッシュテーブルマネージャー132に特
定のURLのエントリーが存在するかどうかを問い合わ
せ、そして、もし存在するならば、その記録のフェッチ
フラグが、対応するウェッブページが先にフェッチされ
て解析されたことを示すかどうかを問い合わせる。
・第2の要求は、特定のURL及び特定のディスクファイ
ル位置の新しいエントリーをハッシュテーブル130に記
憶するようにハッシュテーブルマネージャーに要求す
る。
ハッシュテーブルマネージャー132は識別ハッシュ関
数172を使用して、そこに現れる全てのURLの63ビットの
識別値を計算する。識別関数172は、確実に全ての固有
のURLが同様に固有の識別値に変換されるように設計さ
れている。識別関数は全ての固有のウェッブページのUR
Lの圧縮されたコードをつくる。通常の当業者であれ
ば、適切な識別関数の設計を理解している。約225から2
26のウェッブページがあると、識別値は263の別個の値
を持つことが可能であるということを注記する。
ハッシュテーブルが既に固有のURLのエントリーを有
するかどうかを、ウェッブスクータープロシジャー140
がハッシュテーブルマネージャー132に問い合わせる
時、ハッシュテーブルマネージャーは、(A)前記の識
別ハッシュ関数172を使用して、固有のURLの識別値をつ
くる。(B)ハッシュテーブル130のどこにその識別値
を有するエントリーを記憶するかを決定するハッシュテ
ーブル位置関数174にその値を送る。(C)実際に、こ
のようなエントリーがハッシュテーブルに記憶されてい
るかどうかを決定する。(D)もしマッチするエントリ
ーが見つからないならば、失敗値(例えば、−1)を返
す。(E)もしハッシュテーブルにそのエントリーが見
つかったならば、成功値(例えば、0)及びそのエント
リーのフェッチフラグ値とディスク位置値を返す。
好ましい実施態様では、識別値の所定数の低位ビット
に基づいて、ハッシュテーブル位置関数174はハッシュ
テーブルエントリーの位置を決定し、同一の低位ビット
を持つ全ての識別値のエントリーのブロックのチェーン
に続く。ハッシュテーブル130中の、与えられた値の低
位ビットのエントリー160は、1ブロックあたりB1エン
トリーのブロックに配置される。ここで、B1は調整可能
なパラメーターである。好ましい実施態様で使用される
上記の方法は、ハッシュテーブル130に高密度な方法で
データを記憶するという利点がある。当業者は理解して
いるように、多くの他のハッシュテーブル位置関数を使
用することができる。
ウェッブスクータープロシジャー140が、ハッシュテ
ーブルマネージャー132に特定の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にコピーされる。ウェッブスクータープ
ロシジャーによってディスクファイルの最後のエントリ
ーがスキャンされると、スキャンはディスクファイル15
0の先頭に戻る。
付加バッファ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のバッチ
をディスクファイル150から入力バッファ134にコピーす
る。
・空の付加バッファ136を新しいシーケンシャルファイ
ルのエントリー用に定義する。
・入力バッファ134、付加バッファ136、ハッシュテーブ
ル130へのアクセスを制御するためのミューテックス138
を定義する。
それから、ウェッブスクーターイニシャライザーはT1
個のスレッドを開始し(例えば、好ましい実施態様では
1000個のスレッドが開始される。)、スレッドの各々は
同一のスクータープロシジャーを実施する。
ウェッブスクーターイニシャライザープロシジャーの
実施の前に既に存在しているウェッブインフォメーショ
ンディスクファイル150のエントリー一セットは既知の
ウェッブページの「ルートセット」144と呼ばれる。
「アクセス可能」なウェッブページの一セットは、ルー
トセット中のURLリンクによって参照される全てのウェ
ッブページ及び他のアクセス可能なウェッブページ中の
URLリンクによって参照される全てのウェッブページか
ら成る。このように、いくつかのウェッブページはウェ
ッブスクーター102にとってアクセス不可であるように
することが可能である。何故ならば、ルートセットと
「アクセス不可な」ウェッブページとの間にはURLリン
クがないからである。
様々なチャネルによって、このようなウェッブページ
に関する情報が使用可能になると、更なるエントリーの
「マニュアル」挿入もしくは更なるエントリーを含むた
めの他の仕組みによって、ウェッブインフォメーション
ディスクファイル150を拡張することができ(それによ
って、ルートセット144を拡張する。)、以前にアクセ
ス不可であったウェッブページをアクセス可能にする。
以下は、全ての同時に実行されるスレッドによって実
行されるウェッブスクータープロシジャーの説明であ
る。プロシジャーの第1のステップはミューテックス
(202)を要求して待つことである。ミューテックスの
所有権が要求され、2つのスレッドが同一のディスクフ
ァイルのエントリーを処理しないように、そして2つの
スレッドが同時にハッシュテーブル、入力バッファ、不
可バッファもしくはディスクファイルへの情報の書き込
みを試みないようにする。ハッシュテーブル130、入力
バッファ134、付加バッファ136、ディスクファイル150
はここでは総合的に「保護されたデータ構造」と呼ばれ
る。なぜならば、ミューテックスの使用によって、それ
らは総合的に保護されているからである。一度スレッド
がミューテックスを所有すると、そのスレッドが規定さ
れた選定規準(204)を満たすエントリーを捜し出し、
そのエントリーを選ぶまで、そのスレッドは入力バッフ
ァ中のディスクファイルのエントリーを(ポインター17
6によって示される)まだスキャンされていない次のエ
ントリーからスキャンする(204)。
例えば、デフォルトの選定規準は次の通りである。
「エントリーによって、一度もフェッチされていない、
もしくは最後にフェッチされて解析されたのがH1時間よ
りも以前であると示されているようなウェッブページを
参照する全てのエントリー。ここで、H1はオペレーター
が選定可能な値である。ただし、エントリーは重複して
いるエントリーであることをエラータイプフィールドが
示している(すなわち、以下に説明されるように「非−
選定エイリアス」である。)エントリーを除く。」もし
H1が168にセットされるならば、最後にフェッチされて
解析されたのが1週間よりも前であるようなウェッブペ
ージを参照する全てのエントリーが選定規準を満たす。
ウェッブページの大きさが考慮されるような選定規準の
別の例は次の通りである。「一度もフェッチされていな
いウェッブページ、もしくは最後にフェッチされて解析
されたのがH1時間よりも前であり、大きさがS1よりも大
きいようなウェッブページ、もしくは最後にフェッチさ
れて解析されたのがH2時間よりも前であり、大きさがS1
以下であるようなウェッブページを表しているエントリ
ー。ただし、エントリーが「非−選定エイリアス」であ
ることをエラータイプフィールドが示しているエントリ
ーを除く。ここでS1、H1、H2はオペレーターが選定可能
な値である。」 処理すべき次のエントリーを選定する時、ハッシュテ
ーブルを検索して現在のエントリー候補の全ての既知の
エイリアスを見つけ、エイリアスでそのウェッブページ
が既にフェッチされたかどうかを決定する。特に、もし
エントリーが、規定された選定規準を満たすならば、ホ
スト名テーブル126の情報を使用して、そのエントリー
のURLの全ての既知のエイリアスがつくられ、それから
ハッシュテーブル130が検索され、参照されたウェッブ
ページがそのエイリアスのURL下でフェッチされたこと
を示すフェッチフラグを有するエイリアスのURLのいず
れかのエントリーを、そのハッシュテーブルが記憶して
いるかどうかを調べる。もし入力バッファ中の現在のエ
ントリー候補によって参照されるウェッブページが、エ
イリアスのURL下で既にフェッチされていると判断され
るならば、その入力バッファのエントリーのエラータイ
プフィールド190は変更され、このエントリーは「非−
選定エイリアス」であると示すようにする。このように
して、今回及び以後、エントリーが更なる処理のために
選定されるのを防ぐ。
一度、ウェッブページのリファレンスエントリーが選
定されると、ミューテックスは解放され、他のスレッド
が保護されたデータ構造にアクセス可能となる(20
6)。それから、ウェッブスクータープロシジャーは対
応するウェッブページをフェッチするのを試みる(20
8)。フェッチが成功したか、もしくは失敗した後、再
度、そのプロシジャーはミューテックスを要求して待ち
(210)、再度、そのプロシジャーが保護されたデータ
構造を使用できるようにする。
もしフェッチが不成功ならば(212−N)、そのウェ
ッブページのシーケンシャルファイルのエントリー中の
フェッチステータス情報を、ウェッブクローラーへ返さ
れたエラーリターンコードに従ってフェッチ失敗として
記録する(214)。もしフェッチが成功ならば(212−
Y)、(入力バッファの)シーケンシャルディスクファ
イルのエントリー180中のそのウェッブページのフェッ
チフラグ184のように、ハッシュテーブルのエントリー1
60中のそのウェッブページのフェッチフラグ164がセッ
トされる。加えて、フェッチされたウェッブページのUR
Lリンクの各々が解析される(216)。
フェッチされたウェッブページが解析された、もしく
はフェッチ失敗が入力バッファのエントリーに記録され
た後、ミューテックスは解放され、他のスレッドが保護
されたデータ構造にアクセスできるようにする(21
8)。
次に、フェッチされたウェッブページのURLリンクを
解析するためのプロシジャーを図4Bを参照して説明す
る。ウェッブページは、インデクシングシステム108に
よってインデックスを付けるための適切な情報を保有し
ていない画像ファイルのようなドキュメントへのURLリ
ンクを保有することができるということをここで注記す
る。しばしば、これらの参照されるドキュメントは、そ
れらを参照するウェッブページの構成要素として使用さ
れる。本文では、画像ファイルや他のインデックス付け
不可ファイルのような構成要素のファイルへのURLリン
クは、「他のウェッブページへのURLリンク」とはしな
い。インデックス付け不可ファイルへのこれらのURLリ
ンクは、ウェッブスクータープロシジャーによって無視
される。
一度、他のウェッブページに接続する全てのURLを処
理してしまうと(230)、インデックスを付けるための
インデクサーにフェッチされたウェッブページを送り
(232)、ウェッブスクーターによる、フェッチされた
ウェッブページの処理を完了する。そうでない場合に
は、ウェッブページへの次のURLリンクが選定される(2
34)。もし選定されたリンクに関連するURLのハッシュ
テーブルのエントリーが既に存在するならば、そのリン
クの更なる処理を要求せず、もし解析されているウェッ
ブページにどれか未処理のURLリンクが残っているなら
ば、次のURLリンクを選定する(234)。
もし選定されたリンクに関連するURLのハッシュテー
ブルのエントリーがまだ存在しないならば、ホスト名テ
ーブル126の情報を使用して、そのエントリーのURLの全
ての既知のエイリアスをつくる。それから、ハッシュテ
ーブル130を検索し、そのテーブルが、そのエイリアス
のURLのいずれかのエントリーを記憶しているかどうか
を調べる(238)。もしハッシュテーブル中にそのエイ
リアスのURLのいずれかのエントリーが存在するなら
ば、そのリンクの更なる処理を要求せず、そしてもし解
析されたウェッブページにどれか未処理のURLリンクが
残っているならば、次のURLリンクを選定する(234)。
もしハッシュテーブル中に選定されたリンクのURLも
しくはそのエイリアスのいづれかのエントリーが見つか
らないならば、そのURLは、まだウェッブページのウェ
ッブクローラーのデータベースに含まれていない「新し
い」ウェッブページを表し、従って新しいウェッブペー
ジのエントリーが、付加バッファ中のディスクファイル
の一部に加えられる(240)。その新しいディスクファ
イルのエントリーは処理されたリンクによって参照され
るURLを含み、「未フェッチ」と記録される。加えて、
対応する新しいエントリーがハッシュテーブルに加えら
れ、そしてそのエントリーのフェッチフラグはクリアさ
れて、対応するウェッブページはまだフェッチされてい
ないことを示すようにする(240)。それから、もしウ
ェッブページ中にどれか未処理のURLリンクが存在する
ならば、ウェッブページの処理はウェッブページの次の
未処理のURLリンクについて継続する。
目的及び動作が本文の範囲外であるようなプロシジャ
ーによって、ウェッブインフォメーションディスクファ
イル150へのインデックスとして、ウェッブインフォメ
ーションハッシュテーブル130は使用される。何故なら
ば、ハッシュテーブル130は、既知のウェッブページの
各々のディスクファイル位置の値を保有するからであ
る。いいかえると、ウェッブインフォメーションハッシ
ュテーブル中の対応するエントリーのディスクファイル
アドレスを最初に読み出し、それからそのアドレスにあ
るウェッブインフォメーションディスクファイルのエン
トリーを読み出すことによって、ウェッブインフォメー
ションディスクファイル中のエントリーはアクセスされ
る。
他の実施態様 好ましい実施態様のハッシュテーブル構造130の代わ
りに、バランスドツリー(balanced tree)、スキップ
リスト(skip list)といったような、ウェッブインフ
ォメーションハッシュテーブル130の同一の属性を有す
る全てのデータ構造を使用することが可能である。
解法として、本発明は3つの基本の仕組みを使用し
て、従来技術のウェッブクローラーの速度制限を克服し
ている。
第1に、どのウェッブページリンクがまだウェッブク
ローラーに知られていない新しいウェッブページを表し
ているかを決定するのに十分な情報を含むウェッブペー
ジディレクトリテーブルが、RAM中に記憶され、ディス
クファイルにアクセスする必要なく、受け取られたウェ
ッブページを解析できるようにしている。
第2に、より完全なウェッブページディレクトリはシ
ーケンシャルな順番にだけアクセスされ、ディスクアク
セスがウェッブクローラーの実施速度に重要な影響を持
たない程度まで、実施されるディスクアクセスの数を減
少するような大きな入力及び付加バッファによって、そ
れらのアクセスを実施する。
第3に、ウェッブスクータープロシジャーを実行する
ための多数の同時にアクティブなスレッドを使用し、そ
してウェッブサーバーへの、同様の数の同時の通信チャ
ネルを操作可能な通信インターフェースを備えることに
よって、本発明はネットワークアクセス待ち時間によっ
て引き起こされる遅延を避ける。
特に、多数のスレッドがウェッブページフェッチ要求
に対する応答を待っている間に、他のスレッドは受け取
ったウェッブページを解析している。同一のウェッブス
クータープロシジャーを実施する多数のスレッドを使用
することによって、受け取られたウェッブページを処理
できるようになるためにミューテックスを待っている受
け取られたウェッブページに関するスレッドの待ち行列
が、平均的に存在するようである。また、ウェッブペー
ジのフェッチは、時間的にずれて行われる傾向にある。
結果として、ウェッブスクーターは殆どウェッブページ
を受け取るために待っていたり、他にする仕事がないと
いう状態にはならない。マルチプロセッサーのワークス
テーションを使用し、そしてウェッブスクータープロシ
ジャーを同時に実行するスレッドの数を更に増大するこ
とによって、ウェッブスクーターのスループットを更に
増大することが可能である。
いくつかの特定の実施態様を参照して本発明を説明し
たが、この説明は本発明の例であり、本発明を限定する
ものとして解釈されてはならない。ここで提示され、請
求された本発明の範囲から逸脱することなく、さまざま
な改修が可能である。
フロントページの続き (56)参考文献 P.M.E.De Bra &T R.D.J.Post,”Inform ation retrieval in the World−Wide We b:Making client−ba sed searching feas ible”,Computer Net works and ISDN Sys tems,Vol.27,No.2, 1994,pp.183−192(平6−11) Greg R.Notess,”ON THE NETS”,ONLINE, Vol.19,No.4,pp.48−50, JULY/AUGUST 1995 (58)調査した分野(Int.Cl.7,DB名) G06F 17/30 G06F 12/00 G06F 15/00 JICSTファイル(JOIS)

Claims (20)

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

Families Citing this family (140)

* 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
US6393428B1 (en) * 1998-07-13 2002-05-21 Microsoft Corporation Natural language information retrieval system
US6553372B1 (en) * 1998-07-13 2003-04-22 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
SE514376C2 (sv) * 1998-09-24 2001-02-19 Mirror Image Internet Inc Ett internet-cachningssystem samt ett förfarande och anordning i ett sådant system
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
US6289375B1 (en) * 1998-10-30 2001-09-11 International Business Machines Corporation Method and apparatus for invoking network agent functions using a hash table
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
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
US6832717B1 (en) * 1999-05-25 2004-12-21 Silverbrook Research Pty Ltd Computer system interface surface
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
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
US6321265B1 (en) 1999-11-02 2001-11-20 Altavista Company System and method for enforcing politeness while scheduling downloads in a web crawler
US7082454B1 (en) * 1999-11-15 2006-07-25 Trilogy Development Group, Inc. Dynamic content caching framework
WO2001037185A1 (en) * 1999-11-18 2001-05-25 Netstock Corporation Computer-based aggregated securities investment service
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
US6735586B2 (en) 2000-02-08 2004-05-11 Sybase, Inc. System and method for dynamic content retrieval
US7240067B2 (en) * 2000-02-08 2007-07-03 Sybase, Inc. System and methodology for extraction and aggregation of data from dynamic content
US6952737B1 (en) * 2000-03-03 2005-10-04 Intel Corporation Method and apparatus for accessing remote storage in a distributed storage cluster architecture
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
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
US7822735B2 (en) * 2000-05-29 2010-10-26 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
US6778986B1 (en) * 2000-07-31 2004-08-17 Eliyon Technologies Corporation Computer method and apparatus for determining site type of a web site
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
CN1223194C (zh) 2000-10-24 2005-10-12 汤姆森许可公司 调整嵌入媒体播放器页面的大小的方法
US8122236B2 (en) 2001-10-24 2012-02-21 Aol Inc. Method of disseminating advertisements using an embedded media player page
US7027974B1 (en) 2000-10-27 2006-04-11 Science Applications International Corporation Ontology-based parser for natural language processing
WO2002037365A1 (en) * 2000-10-31 2002-05-10 Netscape Communications Corporation 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 データ検索装置
US6785688B2 (en) 2000-11-21 2004-08-31 America Online, Inc. Internet streaming media workflow architecture
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
DE50112574D1 (de) * 2001-03-23 2007-07-12 Siemens Ag 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
US7533179B2 (en) * 2001-09-20 2009-05-12 Hitwise Pty, Ltd. 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
AU2002256511A1 (en) * 2002-05-08 2003-12-31 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
US7509645B2 (en) * 2002-10-17 2009-03-24 Intel Corporation Methods and apparatus for load balancing storage nodes in a 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
WO2004111877A1 (ja) * 2003-05-19 2004-12-23 Saora Kabushiki Kaisha 情報処理方法及びその装置、及びそのプログラム
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
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
US7761448B2 (en) * 2004-09-30 2010-07-20 Microsoft Corporation System and method for ranking search results using click distance
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
US20060212792A1 (en) * 2005-03-18 2006-09-21 Microsoft Corporation Synchronously publishing a web page and corresponding web page resources
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
US8538969B2 (en) * 2005-06-03 2013-09-17 Adobe Systems Incorporated Data format for website traffic statistics
US7895651B2 (en) 2005-07-29 2011-02-22 Bit 9, Inc. Content tracking in a network security system
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
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
US8745183B2 (en) * 2006-10-26 2014-06-03 Yahoo! Inc. System and method for adaptively refreshing a web page
US20080104502A1 (en) * 2006-10-26 2008-05-01 Yahoo! Inc. System and method for providing a change profile of 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 中国科学院自动化研究所 基于信息检索的互联网新闻影响力定量分析工具及方法
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
US9348912B2 (en) * 2007-10-18 2016-05-24 Microsoft Technology Licensing, Llc Document length as a static relevance feature for ranking search results
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的记录方法及系统
EP2332107A2 (en) 2008-08-21 2011-06-15 Dolby Laboratories Licensing Corporation Networking with media fingerprints
US8677018B2 (en) * 2008-08-25 2014-03-18 Google Inc. Parallel, side-effect based DNS pre-caching
US20100101239A1 (en) * 2008-10-23 2010-04-29 Lagrandeur John 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
EP0463874A2 (en) * 1990-06-29 1992-01-02 Digital Equipment Corporation 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
CA2140244A1 (en) * 1993-05-20 1994-12-08 John D. Doyle Computer integration network for channeling customer orders through a centralized computer to various suppliers
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

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Greg R.Notess,"ON THE NETS",ONLINE,Vol.19,No.4,pp.48−50,JULY/AUGUST 1995
P.M.E.De Bra &T R.D.J.Post,"Information retrieval in the World−Wide Web:Making client−based searching feasible",Computer Networks and ISDN Systems,Vol.27,No.2,1994,pp.183−192(平6−11)

Also Published As

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

Similar Documents

Publication Publication Date Title
JP3160719B2 (ja) コンピュータのネットワークからワールドワイドウェッブ上のページを捜し出したり、ドキュメントを捜し出したりするためのシステム及び方法
US8509266B2 (en) Using network traffic logs for search engine index updates
US7099888B2 (en) Accessing a remotely located nested object
US6105028A (en) Method and apparatus for accessing copies of documents using a web browser request interceptor
US6754799B2 (en) System and method for indexing and retrieving cached objects
US7788243B2 (en) System and methods for optimizing data transfer among various resources in a distributed environment
JP4578160B2 (ja) キャッシュエントリを無効化するために使用できるデータベーステーブル変更情報の登録および取り出し
US6754800B2 (en) Methods and apparatus for implementing host-based object storage schemes
US6292880B1 (en) Alias-free content-indexed object cache
JP3742177B2 (ja) 並列データベースシステムルーチン実行方法
JPH10240589A (ja) 実データ遅延取出しを行うデータベース処理方法
US20100274795A1 (en) Method and system for implementing a composite database
JP2001518668A (ja) 情報を事前に取り出すための方法およびシステム
WO2001040949A1 (en) Dynamic caches with miss tables
JPH10247155A (ja) データベースへのファイルシステムインタフェース
US6883020B1 (en) Apparatus and method for filtering downloaded network sites
JP4808357B2 (ja) 情報収集装置
JP3863291B2 (ja) データベース処理方法、データベース処理システム及び媒体
US20030052918A1 (en) Method and apparatus for allowing one bookmark to replace another
JP2000137689A (ja) 共用データキャッシュ処理方法及びその実施装置並びにその処理プログラムを記録した媒体
US20040249827A1 (en) System and method of retrieving a range of rows of data from a database system
JP2005503600A (ja) インターネット上でダイナミック・ページ・ビルダでメッセージ・パブリッシングを提供するための方法およびシステム
JP2004272747A (ja) データベースのデータ取得方法及び取得システム
JPH11120067A (ja) データの部分情報を先行して管理するデータベース処理方法
JP2002149699A (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