特許第6254355号(P6254355)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ダッソー システムズの特許一覧

特許6254355リファレンスウェブクロールの支援によるウェブコーパスの構築
<>
  • 特許6254355-リファレンスウェブクロールの支援によるウェブコーパスの構築 図000002
  • 特許6254355-リファレンスウェブクロールの支援によるウェブコーパスの構築 図000003
  • 特許6254355-リファレンスウェブクロールの支援によるウェブコーパスの構築 図000004
  • 特許6254355-リファレンスウェブクロールの支援によるウェブコーパスの構築 図000005
  • 特許6254355-リファレンスウェブクロールの支援によるウェブコーパスの構築 図000006
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6254355
(24)【登録日】2017年12月8日
(45)【発行日】2017年12月27日
(54)【発明の名称】リファレンスウェブクロールの支援によるウェブコーパスの構築
(51)【国際特許分類】
   G06F 17/30 20060101AFI20171218BHJP
【FI】
   G06F17/30 180Z
   G06F17/30 110C
【請求項の数】12
【外国語出願】
【全頁数】16
(21)【出願番号】特願2013-83171(P2013-83171)
(22)【出願日】2013年4月11日
(65)【公開番号】特開2013-222463(P2013-222463A)
(43)【公開日】2013年10月28日
【審査請求日】2016年4月11日
(31)【優先権主張番号】12305432.2
(32)【優先日】2012年4月12日
(33)【優先権主張国】EP
(73)【特許権者】
【識別番号】500102435
【氏名又は名称】ダッソー システムズ
【氏名又は名称原語表記】DASSAULT SYSTEMES
(74)【代理人】
【識別番号】110001243
【氏名又は名称】特許業務法人 谷・阿部特許事務所
(72)【発明者】
【氏名】セバスチアン リチャード
(72)【発明者】
【氏名】ザビエル グレハント
(72)【発明者】
【氏名】ジム フェレンツィ
【審査官】 吉田 誠
(56)【参考文献】
【文献】 特開平11−085789(JP,A)
【文献】 特開2002−351873(JP,A)
【文献】 米国特許出願公開第2008/0071830(US,A1)
【文献】 米国特許出願公開第2009/0287684(US,A1)
【文献】 Gregory Louis McLearn,Autonomous Cooperating Web Crawlers,2002年,1−92ページ,[online],[平成29年2月9日検索],インターネット<URL:http://etd.uwaterloo.ca/etd/glmclearn2002.pdf>
【文献】 Junghoo Cho,Parallel Crawlers,WWW'02 Proceedings of the 11th international conference on World Wide Web,2002年 5月11日,124−135ページ
(58)【調査した分野】(Int.Cl.,DB名)
G06F 17/30
G06F 12/00
G06F 13/00
(57)【特許請求の範囲】
【請求項1】
ウェブコーパス(WCD)を構築するための、コンピュータにより実行される方法であって、
それぞれのリソースの各々のシーズ識別子の第1のリストに基づいて、リファレンスウェブクローラ(RWC)によるリファレンスウェブクロール(RWCD)を作成するステップと、
それぞれのリソースの各々のシーズ識別子の第2のリストを提供するステップと、
前記シーズ識別子の第2のリストに基づいて、ウェブクローラ(WC)によるウェブクロール(WCD)を作成するステップと
を備え、
前記ウェブクロール(WCD)を作成するステップは、
コンピュータ上で稼動する前記ウェブクローラ(WC)が、リファレンスウェブクロールエージェント(RWCA)にクエリを送信するステップであって、前記クエリは少なくとも1つのリソースの識別子を含む、ステップと、
前記ウェブクローラ(WC)が、前記リファレンスウェブクロールエージェント(RWCA)からレスポンスを受信するステップと、
前記レスポンスが前記識別子により識別されたリソースを含まない場合、前記ウェブクローラ(WC)が、前記識別子に対応するウェブサイト(WS)から前記リソースをダウンロードし、前記リソースを前記ウェブコーパス(WCD)に追加するステップと、
前記レスポンスが前記識別子により識別されたリソースを含む場合、前記リソースを前記ウェブコーパス(WCD)に追加するステップと
を含み、
前記リファレンスウェブクロールエージェント(RWCA)は、前記リファレンスウェブクロール(RWCD)のコンテンツに準じてレスポンスを作成する
ことを特徴とするコンピュータにより実行される方法。
【請求項2】
前記コンピュータ上で稼動する前記リファレンスウェブクロールエージェント(RWCA)が、前記リソースが前記リファレンスウェブクロール(RWCD)に含まれないと判定する場合は、前記リファレンスウェブクロールエージェント(RWCA)が、前記リソースのダウンロードならびに前記リファレンスウェブクロール(RWCD)への追加を開始することを特徴とする請求項に記載のコンピュータにより実行される方法。
【請求項3】
前記リファレンスウェブクロール(RWCD)からリファレンスインデックス(RID)を作成するステップと、
前記ウェブクローラ(WC)が、前記リファレンスインデックス(RID)にインデックスクエリを送信するステップと、
前記ウェブクローラ(WC)が、前記リファレンスインデックスからレスポンスを受信するステップと、
前記レスポンスの内容に応じて、前記リファレンスウェブクロールエージェント(RWCA)への前記クエリの送信を行うステップと
をさらに備えることを特徴とする請求項1または2に記載のコンピュータにより実行される方法。
【請求項4】
前記インデックスクエリは、リソースの識別子を含み、前記レスポンスが前記リソースに関連するインデックス付けされた情報を含む場合は、前記インデックス付けされた情報に準じて前記リファレンスウェブクロールエージェント(RWCA)にクエリを送信するかを決定することを特徴とする請求項に記載のコンピュータにより実行される方法。
【請求項5】
前記インデックスクエリはクエリ基準を含み、前記リファレンスインデックスの前記レスポンスは識別子のリストを含むことを特徴とする請求項に記載のコンピュータにより実行される方法。
【請求項6】
前記リファレンスインデックスの前記レスポンスは、前記識別子に対応するインデックス付けされた情報をさらに含むことを特徴とする請求項に記載のコンピュータにより実行される方法。
【請求項7】
前記インデックスクエリは識別子を含み、前記リファレンスインデックスは、前記識別子により識別されたリソースに含まれる識別子の組を含むレスポンスを送信することを特徴とする請求項に記載のコンピュータにより実行される方法。
【請求項8】
前記識別子はURLであることを特徴とする請求項1乃至7のいずれか一つに記載のコンピュータにより実行される方法。
【請求項9】
ウェブコーパス(WCD)を構築するように適合されたウェブクローラ(WC)であって、リファレンスウェブクロールエージェント(RWCA)と通信することによって、請求項1乃至8のいずれか一つに記載の方法をコンピュータに実行させるコンピュータ実行可能命令を有することを特徴とするウェブクローラ。
【請求項10】
ウェブクローラ(WC)と通信することによって、請求項1乃至8のいずれか一つに記載の方法をコンピュータに実行させるコンピュータ実行可能命令を有することを特徴とするリファレンスウェブクローラエージェント(RWCA)。
【請求項11】
請求項9に記載のウェブクローラ、請求項10に記載のリファレンスウェブクロールエージェント、リファレンスウェブクロール、および/またはリファレンスレブクローラを備えたことを特徴とするシステム。
【請求項12】
請求項9に記載のウェブクローラをコンピュータに実行させ、および/または請求項10に記載のリファレンスウェブクロールエージェントを前記コンピュータに実行させるコンピュータ実行可能命令を含むコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワーク情報ソフトウェアの分野に関し、特に、「ウェブクローラ」として知られるものなどのインターネットからデータを検索して、コーパス(corpus)を構築するための方法およびシステムに関する。
【背景技術】
【0002】
WWW(ワールドワイドウェブ)は、大規模データのリポジトリとして考えることができ、当該リポジトリは、非常に貴重なビジネス価値を有するとして大いに考えられる。したがって、インターネットの分野においてアクティブな企業に対し、ウェブ上で利用可能なリソースからこの価値を作り出すためのツールを提供する必要がある。これらの企業は、個々のユーザに特化したサービス(例えば、サーチエンジン)、あるいはBtoB(ビジネスツービジネス)モデルにおけるその他の企業に特化したサービス(特定のビジネス分野においてマーケティングデータを収集するなど)を提供する場合がある。
【0003】
情報を分析し、かつ安定させることを可能にするために、第1のおよび必須のステップは、ウェブ上で利用可能な情報を検索すること、ならびに当該情報から「ウェブコーパス」、すなわち実行される専用コンピュータプログラム上の資源の組、を構築することである。これらのウェブコーパスは、市販のサーチエンジンの場合は汎用的である場合があり、または所与のビジネス領域もしくはテーマにより限定される場合がある。
【0004】
リソース(ウェブページ、マルチメディアファイルなど)などの情報を検索することは時間のかかるタスクである。単一のリソースを検索することの遅延は、何百ミリ秒から何百秒もの時間を要する場合がある。この遅延はまた、ウェブサイトおよび根本的な通信ネットワークの健全性に依存するので、予測ができない。
【0005】
また、ウェブ上で利用可能なリソースの全体的なビュー(global view)が存在しない。したがって、このようなビューを構築するために、例えば、サーチエンジンのユーザにより入力されたクエリに応答するために、第1のリソースにアクセスし、次に、ウェブの十分なビューを取得したと考えられるまでなど、これらのリソースにおいて参照されるリソースにアクセスすることにより、対話的なプロセスを実行する必要が生じる。
【0006】
このプロセスを行うために、遅延が累積され、ユーザの要求に回答することができる最終的な遅延は妥当ではない。
【0007】
多数のリソースにアクセスする必要があるサーチエンジンもしくは任意のその他のコンピュータプログラムに対し、このような遅延を回避するためにウェブクローラが導入されている。
【0008】
ウェブクローラは、ウェブのウェブサイト上で利用可能なリソースを探し出し、探索しおよびダウンロードして、コーパス、すなわちその他のプログラムにより使用することができるリソースの組を構築するために使用されるプログラムである。それらはまた、アント(ants)、ボット(bots)、ウェブスパイダなどと呼ばれる。以下では、それらを「ウェブクローラ」またはより簡潔に「クローラ」と称する。
【0009】
より簡潔にかつ一般的に、クローラはURL(Unified Resource Locators)のリストによりアクセスを開始し、「シーズ」と呼ばれる。クローラがこれらのURLにより識別されたリソースをアクセスするので、当該クローラはリソースにより含まれるすべてのURLを識別し(ハイパーリンクの形式で)、当該URLをURLのリストに追加してアクセスする。次に、これらのURLは再帰的にアクセスされ、対応するリソースがダウンロードされて、漸次、ウェブクロールを構築する。
【0010】
本明細書では、ウェブクロールは、ウェブクローラにより記憶されたデジタルコンテンツとして定義される。
【0011】
これらのウェブクローラは図1で示すようなサーチエンジンにより頻繁に使用される。
【0012】
ウェブクローラWCは、ウェブをクロールし、ダウンロードされたリソースのリポジトリであるウェブクロールWCDを構築する。インデックスプログラムIDPは、このウェブクロールを使用して、インデックスIDを構築している。
【0013】
このインデックスプログラムIDPは、ウェブクロールWCDのロー(raw)リソースを分析して、よりインデックス化に適合したフォーマットに準拠した「オブジェクト」に当該リソースを変換することを目的とした処理パイプラインを備えてもよい。例えば、当該インデックスプログラムIDPは、あるダウンロードされたリソースのコンテンツ(広告バナー、画像など)の一部分を隠蔽し、および/またはダウンロードされたリソース内部のあるデータを探索して、インデックス化されるオブジェクトの特定のフィールドに当該データを置くこと、などをしてもよい。
【0014】
インデックスプログラムIDPはまた、「オブジェクト」もしくはローリソースを処理して、クエリの処理を早めるために当該オブジェクトもしくアローリソースに関連するアイテムを記憶する。
【0015】
ユーザUが、サーチエンジンSEによりクエリを開始するときに、当該サーチエンジンSEはインデックスIDを参照して、クエリの基準にマッチするアイテムを検索する。次に、これらのアイテムはユーザUに提示される。ユーザUは、提示されたアイテムに対応するリソースのダウンロードの有無を選択することができる(例えば、アイテムと関連付けられたハイパーリンクをクリックすることにより)。
【0016】
また、ウェブクロールWCDを、バッチ分析プログラムなどの、その他のコンピュータプログラムProgにより使用することができる(例えばグラフモデリングの手段による)。
【0017】
したがって、ウェブクローラは、リソースの検索を、処理および応用から分断することを可能にする。ウェブからのリソースの検索による遅延は、コンピュータプログラムProg、SEの応答性に影響を与えず、インデックスIDのリアルタイムな合成にも影響を与えない。当該遅延は単に、特定時間において利用可能な情報に影響を与える(すなわち、ダウンロードされたリソース)。特に、当該遅延は、インデックスID上で見ることができるコーパス(新たなリソース、削除されたリソースもしくは修正されたリソース)を変更するための時間に影響を与える。
【0018】
このことは、アプリケーションが、クローラにより実行されるリソース検索タスクのスケジューリングに直接は依存しないことを意味する。このタスクに結び付けられる遅延および時間的制約は単に、特定の時間において利用可能な情報の量(すなわちダウンロードされたリソース)、当該情報の年数および新しさ(freshness)に影響を与える。
【0019】
このことはまた、ウェブクローラはウェブからダウンロードされたデータ上のメタデータを構成することができることを意味する、特に、単一のインデックスフィールドは単一のリソース上では発見されないが、複数のリソースの分析により提供される情報を必要とする場合がある。また、Google(登録商標)社のページランク(PageRank)アルゴリズムは、リソース間のハイパーリンクのグラフ表現を使用する。このグラフを構築することは、コーパスのリソース毎の検査を必要とする。
【0020】
概して、インデックスの作成は、同一のリソースへの複数のアクセスを必要とする。クロールがなければ、ウェブからリソースを検索する遅延は、数倍に感じるであろう。
【0021】
また、インデックスの構造を一部でまたは全体で変更する必要がある場合がある。リソース検索の遅延を回避するために、インデックスプログラムIDPは、ウェブからリソースをダウンロードする代わりに、ウェブクロールWCDにおいて利用可能なダウンロードされたリソースを使用することができる。
【0022】
この分断にかかわらず、ウェブクローリングタスクに含まれる遅延はボトルネックが依然として残り、一部の動作は、ウェブコーパス内の変更をウェブクロールに反映するのに必要な時間を低減させること、もしくはウェブクローリングを最も関連する変更に第1に重点的に取り組むことのいずれかを引き受けていることになる。
【0023】
しかしながら、これらの取り組みは主として、ウェブコーパス内の変更を捉え、その変更を最も少ない遅延でウェブクロールに反映させる問題に対処する。
【0024】
上記取り組みは、新たなウェブコーパスを初期に構築する問題には対処しない。
【0025】
ウェブクローリングは、少なくとも以下の理由で、依然として非常に遅い処理のままでいる。その理由は、「ネチケット」により許可された限定されたクロールの頻度があり、ウェブクローラに結びつくトラフィックによるウェブサイトの過負荷を回避するために、クローラは2.5秒毎に1回よりも少ない頻度で同一のホストのウェブサイト(すなわちホスト)にアクセスすることが許可されることである。また、ウェブサイトは自身のポリシーを施行することがあり、かつ許可された頻度を超えるクローラへのサービスを拒否することがある。このような場合に、クローラは、一時的なものとなることがあり、または断定的にウェブサイトへ再びアクセスすることを禁止されることがある。また別の理由は、上述したように、ウェブサイトは一般に要求に応じるために何百ミリ秒から何百秒を要することである。さらに別の理由は、クローリング処理は並列にすることができないことである。リソース上で発見されたURLは、アクセスする新たなリソースを判定するのに使用されることが多い。この場合、リソースを並列にダウンロードすることができず、遅延がさらに加算される。
【0026】
このことに加えて、限られた領域においてウェブコーパスが必要とされる場合でさえ、ウェブクローリング処理は、この限られた領域に関連しないリソースを含めた大量のリソースを考慮すべきである。このことの理由は、クローリング処理が以下のことにおいて非選択的であるからである。1つは、ウェブのあるサブセットのみが興味をもつアプリケーションにとって、当該関心のあるリソースが関心のないリソースにより参照されるので、それでもなおウェブ全体のクロールが必要とされることである。言い換えれば、関心のないリソースが除去されると(filtered out)、多くの関心のあるリソースが見逃されることがある。2つ目は、リソースのURLにより提供される情報、ならびに当該情報を参照するリソースは、リソース自体により提供される情報よりも少ないので、リソースがクロールされた後に、リソースが関心のあるものであるか否かの決定をなすことができることである。
【0027】
ハードウェアリソースを増強して、ウェブクロールを構築するのに必要とされる時間を低減させることが可能となる。しかしながら、この解決法は、拡張可能でなく、非常にコストがかかる。また、処理のタスク間において依存関係が存在するために、時間の利益の観点からは(無限のリソースの処理に等しく)完全に満足できる解決法ではなく、ウェブの相当の部分をクロールするのに数ヶ月を要するであろう。このことは、例えば、非特許文献1において示される。
【先行技術文献】
【非特許文献】
【0028】
【非特許文献1】Steve Lawrence and C. Lee Giles, Accessibility of Information on the Web, Nature vol. 400, pp. 107-109, 1999.
【発明の概要】
【発明が解決しようとする課題】
【0029】
本発明の目的は、少なくとも部分的に、上述した欠点を緩和することである。特に本発明は、効率的な方法で、すなわち、さらなるハードウェアリソースを必要とせずにウェブコーパスの構築に集中することにより、当該構築をすることをも目的とする。
【課題を解決するための手段】
【0030】
この目的は、コンピュータにより実行される、ウェブコーパスを構築するための方法であって、ウェブクローラがリファレンスウェブクロールエージェントにクエリを送信するステップであって、このクエリは少なくとも1つのリソースの識別子を含むことと、ウェブクローラがリファレンスウェブクロールエージェントからレスポンスを受信するステップと、このレスポンスが識別子により識別されたリソースを含まない場合、ウェブクローラが識別子に対応するウェブサイト(WS)からリソースをダウンロードし、リソースをウェブコーパスに追加するステップと、レスポンスが識別子により識別されたリソースを含む場合、リソースをウェブコーパスに追加するステップとを備える方法により達成される。
【0031】
好ましい実施形態は、リファレンスウェブクロールのコンテンツに準じてレスポンスを形成するリファレンスウェブクロールエージェントであって、リファレンスウェブクロールエージェントが、リソースがリファレンスウェブクロールに含まれていないと判定した場合に、当該リファレンスウェブクロールエージェントがリソースのダウンロード、および当該リソースをリファレンスウェブクロールに追加することを開始する、ことの特徴の1つまたは複数を備える。
【0032】
一実施形態に準じて、本発明の方法は、リファレンスウェブクロールからリファレンスインデックスを作成するステップと、ウェブクローラがリファレンスインデックスにインデックスクエリを送信するステップと、ウェブクローラがリファレンスインデックスからレスポンスを受信するステップと、レスポンスの内容に応じて、リファレンスウェブクロールエージェントにクエリを送信するステップとを備える。
【0033】
この実施形態はまた、リソースの識別子を含むことができるインデックスクエリであって、レスポンスがリソースに関連するインデックス付き情報を含む場合、レスポンスは当該インデックス付き情報に準じてリファレンスウェブクロールエージェントにクエリを送信するかを決定することができることと、インデックスクエリは、クエリ基準を含み、リファレンスインデックスのレスポンスは識別子のリストを含むことと、リファレンスインデックスのレスポンスはさらに、識別子に対応するインデックス付き情報を含むことと、インデックスクエリは識別子を含み、リファレンスインデックスは識別子により識別されたリソースに含まれる識別子の組を含むレスポンスを送信することと、の特徴の1つまたは複数を備えることができる。
【0034】
識別子は、URL(Unified Resource Locator)であることができる。
【0035】
本発明の別の目的は、ウェブクローラをウェブコーパスの構築に適合することであり、リファレンスウェブクロールエージェントにクエリを送信することであって、当該クエリは少なくとも1つのリソースの識別子を含むことと、リファレンスウェブクロールエージェントからレスポンスを受信することと、レスポンスが識別子により識別されたリソースを含まない場合、当該識別子に対応するウェブサイトからリソースをダウンロードし、ウェブコーパスに当該リソースを追加することと、レスポンスが識別子により識別されたリソースを含む場合、ウェブコーパスに当該リソースを追加することと、の手段を備える。
【0036】
本発明のさらなる特徴および利点は、以下に記載された添付図面への参照とともに、日限定的な例として与えられる、本発明の実施形態の以下の詳細な説明から明らかになるであろう。
【図面の簡単な説明】
【0037】
図1】既に説明したように、ウェブクローラを配置することができる機能的アーキテクチャを示す。
図2】本発明の配置を可能にする機能的アーキテクチャを示す。
図3】通常、どのようにして現状技術に準じたウェブからリソースを取り出すかを示す。
図4】本発明の種々の実施形態およびオプションを説明する2つのタイムシーケンスを示す。
図5】本発明の種々の実施形態およびオプションを説明する2つのタイムシーケンスを示す。
【発明を実施するための形態】
【0038】
図2により説明される本発明の実施形態においては、リファレンスエリアRAはリファレンスウェブクローラRWC、リファレンスウェブクロールRWCDおよびリファレンスウェブクロールエージェントRWCAを含む。
【0039】
このリファレンスウェブクローラRWCは、現状技術に準じたリファレンスウェブクローラを含む、任意のウェブクローラであることができる。ワード「リファレンス」は、本発明に準じたウェブクローラWCについての「リファレンス」以外の特徴をもたらさない。
【0040】
リファレンスエリアRAは、機能的またはビジネス的な意味を有する。
【0041】
リファレンスエリアRAは、その他の企業もしくはエンドユーザにクローリングサービスを提供する同一の企業を引き受ける施設もしくはサーバを意味する。例として、ウェブクローラWCは、このリファレンスエリアの外側にいることができ、リファレンスエリアRAをサービスする会社により開放させるインタフェースを使用して、リファレンスウェブクローラエージェントRWCAにアクセスすることができる。
【0042】
ウェブクローラWCおよびリファレンスエリアRAはまた、同一の企業を引き受けることができる。このような場合、リファレンスエリアRAは機能的な意味のみを有することができ、各ウェブクローラWC、リファレンスウェブクローラRWCに関連付けられたエリアを分離することができる。リファレンスエリアは、レガシーウェブクローラプログラムを配置することができる(必ずしも必須ではないが)。
【0043】
また、本発明に準じて、リファレンスウェブクローラRWCを配置することができる。用語「リファレンス」はそれらの間の機能的関係を区別するであろう。
【0044】
この実施形態に準じて、リファレンスエリアRAはまた、リファレンスウェブクロールエージェントRWCAを含む。この要素はウェブクローラWCとリファレンスウェブクロールRWCDとのインタフェースの役割を担う。とりわけ、当該要素は、必要であるときは任意のプロトコル変換の側面を担当することができる。リファレンスウェブクロールエージェントRWCAは、ウェブクローラWCにより送信されたクエリを受信し、当該ウェブクローラWCにレスポンスを送信し返す。これらのレスポンスはリファレンスウェブクロールRWCDの内容に準じて作成される。
【0045】
アーキテクチャの観点から、本発明は単に、ウェブクロールエージェントRWCAの追加はリファレンスエリアRAに影響を与えることがある。リファレンスエリアのその他すべての機能的要素が修正されないままであってもよく、現状技術のメカニズムに完全に準拠してもよい。
【0046】
このリファレンスウェブクローラRWCは、上記説明したようにリファレンスウェブクロールRWCDを構築することができる。特に、リファレンスウェブクローラRWCはウェブから再帰的にリソースをダウンロードし、ダウンロードしたリソースのコンテンツを分析することにより、新たなリソースを識別してダウンロードする。
【0047】
これらのダウンロードしたリソースは、リソースの識別子を含むハイパーリンクを含むことができる。これらの識別子は通常、URL(Unified Resource Locator)であり、例えば、IETF(Internet Engineering Task Force)のRFC3986により規定される。
【0048】
ダウンロードしたリソースがウェブページの場合、識別子は主として、HTML(HyperText Mark-up Language)に組み込まれたURLの形式をとる。この実施形態の例は、
<a href=”resource1”>link</a>
のようにすることができる。
【0049】
この言語は、ワード「link」がハイパーリンクに対応する強調とともにウェブページに表示されることを意味する。この強調は、リーダ(reader)がこのワードをクリックして「resource1」にアクセスすることができることを当該リーダに示すであろう。キーワード<href>は、URLの形式における「resource1」の識別子を導入する。
【0050】
したがって、リファレンスウェブクローラRWCは、ダウンロードしたリソースを構文解析して、これらのURLのすべて(もしくは一部)を識別し、当該URLを、アクセスするための新たなリソースとしてみなすことができる。リファレンスウェブクローラRWCは、一部のポリシーに準じて、アクセスをスケジュールし、および/またはアクセスする部分のみを選択することができる。
【0051】
ダウンロードしたリソースを、リファレンスウェブクロールRWCDに追加することができる。
【0052】
図4は、本発明の実施形態に含まれる要素間におけるメッセージの交換を示す。
【0053】
本発明の一側面に準じて、ウェブクローラWCはリファレンスウェブクロールエージェントRWCAにクエリM1を送信する。
【0054】
このクエリM1は、少なくとも1つのリソースの識別子を含む。この識別子はURLであることができ、リソースはウェブページ、マルチメディアファイル(ビデオ、写真、ミュージック)などを含む、いかなる種類のものであることができる。
【0055】
一般的なケースでは、クエリM1はURLのリストを含む。しかしながら、より簡潔に、以下の詳細な説明はクエリとともに含まれる1つのURLのみに基づくであろう。異なる要素は単純にそれらの要素を順に処理することができるので、1つから多数のURLへ拡張して処理することは容易である。
【0056】
次に、リファレンスウェブクロールエージェントRWCAは、リファレンスウェブクロールRWCDをチェックして、リソースに対応するこのURLが既にこのリファレンスウェブクロールRWCDにダウンロードおよび追加されているかを判定することができる。
【0057】
この第1の状況では、リソースが発見されることが仮定される。次に、リファレンスウェブクロールエージェントRWCAは当該リソースを、ウェブクローラWCに送信し返されるレスポンスM2に挿入することができる。
【0058】
ウェブクローラWCがこのレスポンスM2を受信するときに、当該ウェブクローラWCはそのレスポンスM2の内容をチェックすることができる。ここで、当該レスポンスはリソースを含み、ウェブクローラWCはこのリソースがURLにより識別された1つであると仮定することができる。次に、ウェブクローラWCはウェブコーパスWCDに当該リソースを追加することができる。
【0059】
ここで、ウェブサーバがクエリされていないが、ウェブコーパスWCDの改良が、単にリファレンスウェブクロールRWCDからリソースをコピーすることにより実施されていることが理解できる。リファレンスウェブクロールのレスポンスタイムは通常、ウェブサイトのレスポンスタイムよりも短いので、このメカニズムはインターネット上のトラフィックを低減させ、ウェブコーパスを構築するのに必要な時間を劇的に低減させるのに役立つ。
【0060】
第2の状況では、ウェブクローラWCはリファレンスウェブクロールエージェントRWCAに第2のクエリM3を送信する。この第2のクエリは別のリソースのURLを含む。
【0061】
上記のように、レファレンスウェブクロールエージェントRWCAは、リソースに対応するこのURLが既にダウンロードされ、かつこのリファレンスウェブクロールRWCDに追加されているかをチェックする。しかしながら、このときは、当該リソースがこれまでにダウンロードされていないと仮定する。
【0062】
第1のオプションに準じて、リファレンスウェブクロールエージェントRWCAはリソースを含まないレスポンスM4は送信し返すことができる。レスポンスM4はこのリソース不存在を表すステータスインジケーションを含んでもよい。例えば、このようなステータスインジケーションは、HTTP204ステータス(「コンテンツなし」)であってもよい。
【0063】
ウェブクローラWCがこのレスポンスM4を受信するときに、当該ウェブクローラWCはそのレスポンスM4の中身をチェックして、要求されるリソースおよび/またはエラーメッセージが含まれていないかを判定することができる。
【0064】
本発明の実施形態に準じて、このような状況では、ウェブクローラWCは別のリファレンスウェブクロールエージェントに(図2では示していないが)別のクエリを送信してもよい。ウェブクローラWCは、いくつかのリファレンスウェブクロールエージェント(およびリファレンスエリア)を使用することができる。このような実施形態において、リファレンスウェブクロールエージェントを、リソースを含むレスポンスが受信されるまで連続してクエリすることができ、または並列でクエリすることができる。並列オプションは、リソースを含むレスポンスを取得する時間を低減させる利点をもたらすが、リファレンスウェブクロールエージェントの負荷を増大させる。
【0065】
リソースを含むレスポンスが受信された場合、ウェブクローラWCは前にレスポンスM2を受信したときにように動作することができる。
【0066】
ウェブクローラWCがリソースを含むレスポンスをいまだに受信していない場合(いくつかのもしくは1つのみがクエリされた状況において)、このことは、ウェブクローラWCがURLに対応するウェブサイトWSからこのリソースをダウンロードすることへのトリガとなることができる。
【0067】
現状技術のメカニズムに準じて、ウェブクローラはこのURLを認識してリソースをダウンロードすることを実行する。簡潔に述べると、このことはURLに対応するウェブサイトWSにリクエストM5を送信し、当該ウェブサイトWSからこのリソースを含むレスポンスM6を受信することにある。
【0068】
図3は、ウェブクローラWCどのようにURLを認識してウェブのリソースにアクセスすることができるかを示す。
【0069】
インターネットの任意のクライアントとして、ウェブクローラWCを、1つの(または複数の)DNS(Domain Name Server)のアドレスにより構成する。
【0070】
ウェブクローラWCは、最初に、このDNSに(またはDNSのリストの最初の1つに)リクエストMR1を、パラメータとしてのURLとともに送信する。DNSを動的に構成して、リソースのURLを、当該リソースを発見することができるウェブサイトのIPアドレスに関連付ける。DNSは、要求されたURLに対応するIPアドレスのリストを含むメッセージMR2によりこのリクエストに対して応答する。
【0071】
次に、ウェブクローラWCは、このリストのIPアドレスの1つにより識別されたウェブサイトWSに、IETFのRFC2616により定義されるようなHTTP(HyperText Transfer Protocol)リクエストM5を送信することができる。このリクエストは主として、GETリクエストであり、URLを含む。
【0072】
ウェブサイトWCに関連付けられたHTTPサーバは、このURLにより識別されたリソースを含む、このリクエストへのレスポンスM6を送信する。
【0073】
ウェブクローラWCは、このリソースをウェブコーパスWCDに追加することができる。
【0074】
第2のオプションに準じて、リソースおよび/またはエラーインジケーションを含まないメッセージM4を送信し返す代わりに、リファレンスウェブクロールエージェントRWCAは要求されたリソースのダウンロードを開始することができる。
【0075】
リファレンスウェブクロールエージェントRWCA自身がこのダウンロードを実行することができ、またはリファレンスウェブクローラRWCがリソースのリストに挿入して、ダウンロードすることができる。
【0076】
これらの状況では、レスポンスをウェブクローラWCに送信し返して、ウェブクローラWCに対し、クエリが処理されること、およびウェブサイトWSからリソースがダウンロードされた後に、ウェブクローラWCが当該リソースを含む別のレスポンスを要求してもよいことを通知することができる。この条件付きのレスポンスは、この状況を示すステータス情報を含むことができる。このようなステータス情報は、例えば、HTTP202ステータスであってもよい。このような条件付きのレスポンスを受信するときに、ウェブクローラは、すべてのレスポンスを受信するまで、またはウェブサイトWSからリソース自体をダウンロードするまで、待機することができる。
【0077】
リファレンスウェブクローラ側では、上記説明したように、URLに対応するウェブサイトWSからリソースをダインロードして、HTTPリクエストM7をウェブサイトに送信する。当該ウェブサイトはリソースを含むレスポンスM8により応答する。
【0078】
リファレンスウェブクローラRWCの自身のポリシーに準じて、リソースをリファレンスウェブクロールRWCDに追加することができ、または追加しないこともできる。これらのポリシーは、本発明の範囲外である。
【0079】
次に、リファレンスウェブクロールエージェントRWCAは、ウェブクローラWCにリソースを含むレスポンスM9を送信することができる。それからは、ウェブクローラWCは、メッセージM2の受信と関連して、上記説明した状況のように動作することができる。
【0080】
この第2のオプションは、第1のオプションよりも、リファレンスウェブクローラRWCがその他の当事者のクエリについて認識可能となる利点を有する。特に、いくつかのウェブクローラWCがリファレンスウェブクロールRWCDを使用する場合には、リソースをダウンロードする指示を受けてウェブクローラWC自身のウェブクロールRWCを強化する利点を得ることができる。
【0081】
このことは、とりわけ、リファレンスウェブクロールRWCDが、より特定のウェブクローラWCにより使用されるジェネラリスト(generalist)ウェブコーパスを形成するときに有用となり得る。専門家された特定分野のビジネスプレイヤのおかげで、より特定のコンテンツによりウェブクロールを強化することができる。
【0082】
同一の企業がリファレンスウェブクローラRWCおよびウェブクローラWCを引き受けない状況では、この振舞いは認識を管理する観点で両当事者に利点を提供する。
【0083】
本発明の実施形態に準じて、リファレンスウェブクロールエージェントRWCAに送信されるクエリM1およびM3は、識別子(URL)よりはむしろ追加的なパラメータを含むことができる。特に、それらクエリは、リソースがウェブから最後にダウンロードされてからの最大期間を特定する期間制約(age constraint)を含むことができる。
【0084】
リファレンスウェブクロールRWCDにおけるURLに対応するリソースが、クエリM1およびM3内部の期間制約よりも直近にダウンロードされていない場合、リファレンスウェブクロールエージェントは、当該リソースがリファレンスウェブクロールRWCDにおいていまだ発見されていないと見なすことができる。次に、リファレンスウェブクロールエージェントはウェブサイトWSからリソースをダウンロードし、またはエラーメッセージを送信し返すなど(すなわち、リソースがリファレンスウェブクロールRWCDに含まれていなかったのと同じような振舞い)のような、上記説明したオプションのいずれかを開始することができる。
【0085】
図5は本発明の別の実施形態を示し、ウェブクローラWCはリファレンスインデックスRIDを利用する。用語「リファレンス」は単に、リファレンスウェブクロールRWCDからこのインデックスを作成し、当該インデックスはリファレンスエリアRAの一部であることを意味する。
【0086】
本分野における既知のメカニズムに準じて、インデックスプログラムはリファレンスウェブクロールRWCDを使用して、このリファレンスインデックスRIDを作成する。リファレンスインデックス内の内容およびフォーマットは本発明の対象外である。リファレンスインデックスは、既存技術の任意のインデックスであることができる。
【0087】
リファレンスインデックスは、Google(登録商標)、Microsoft(登録商標)もしくはExalead(登録商標)などのこの分野で活動する企業により提供されるインデックスであってもよい。
【0088】
ここでは、リファレンスインデックスRIDは、部分的には、クライアントにより送信されるクエリの処理および応答に必要となる情報リポジトリならびにプログラムであるものとして理解すべきである。
【0089】
本発明の実施形態に準じて、リファレンスクロールエージェントRWCAにクエリを送信する前に、ウェブクローラWCはリファレンスインデックスRIDにインデックスクエリを送信することができる。このような実施形態では、リファレンスウェブクロールエージェントへのクエリの送信は、これらのインデックスクエリに関連して受信されるレスポンスの内容に応じて決定されてもよい。
【0090】
いくつかのオプションが可能になる。
【0091】
再び図5を参照すると、第1のオプションに準じて、1つの(またはいくつかの)URLを含むインデックスクエリM10をリファレンスインデックスに送信する。
【0092】
第1の状況では、リファレンスインデックスRIDは、要求されたURLに関するいかなる情報をも含まない。リファレンスインデックスRIDはウェブクローラWCに、URLがインデックス付けされていないことを示すレスポンスM11を送信し返す。
【0093】
リファレンスインデックスはリファレンスウェブクロールRWCDから取得されるので、リソースがダウンロードされてなく、かつこのリファレンスウェブクロールに追加されていないことを意味することに留意するべきである。
【0094】
次に、ウェブクローラWCは、このURLに対応するウェブサイトWSから、当該URLにより識別されたリソースをダウンロードすることができる。ウェブクローラWCは、ウェブサイトWSにメッセージM12を送信し、レスポンスM13内のリソースを受信する。
【0095】
第2の状況では、リファレンスインデックスRIDは、URLに関連するインデックス付けされた情報を含む。次に、リファレンスインデックスRIDは、インデックスクエリM14に応答する、URL関連したインデックス付けされた情報のすべてまたは一部である情報(一般的なケースでは、インデックス付けされた情報の一部のみが送信される)を含む、レスポンスM15を送信する。
【0096】
インデックスレスポンス内部の送信情報は、タグ、キーワード、情報フィールドなどのリソースの詳細を含むが、当該リソースの抜粋もしくは要約したバージョンをも含んでもよい。先に述べたように、ウェブページに関して、インデックス付けされた情報は、広告バナー、画像などを有さないページのバージョンを含むことができる。ビデオリソースに関して、インデックス付けされた情報は、ビデオのみのテキストの詳細などを含むことができる。
【0097】
本発明の実施形態に準じて、ウェブクローラWCは、このインデックスレスポンスに基づいて、リソースをウェブコーパスWCDに追加することを試みる機会について決定することができる。
【0098】
リソースが、ウェブクローラが構築することを目的とするウェブコーパスWCDに関連するか否かに準じて、この決定をすることができる。例えば、ウェブクローラWCが、与えられたテーマに関連したウェブコーパスを構築している場合に、ウェブクローラWCは、リファレンスインデックスが、リソースがこのテーマに対応しないことのヒントを返す場合に、当該リソースをウェブコーパスに追加しなければならないわけではない。
【0099】
インデックスレスポンスから、ウェブクローラWCが、対応するリソースについてのポジティブインタレスト(positive interest)を決定する状況においては、ウェブクローラWCは、上記説明したように、リファレンスウェブクロールエージェントRWCAにURLを含むクエリM16を送信する。ウェブクローラWCがリソースを含むレスポンスM17を受信するときに、リソースはウェブコーパスWCDに追加される。
【0100】
インデックスレスポンスから、ウェブクローラWCが、対応するリソースについてのインタレストを有さないと決定する状況においては、処理がここで終了することができ、リファレンスウェブクロールエージェントRWCAにはメッセージM16が送信されない。次に、ウェブクローラは別のURLを処理することができる。
【0101】
別のオプションに準じて、リファレンスインデックスRIDに、クエリ言語に準じたクエリ基準を含むインデックスクエリM18が送信される。このクエリ言語は複合のものもしくは単一のものであり得る(例えば、ブール結合によりリンクされたキーワードのリスト)。
【0102】
このオプションは、特に、構築されるウェブコーパスが、与えられたテーマに関連する特定のウェブコーパスであるときに意味をもつ。
【0103】
リファレンスインデックスRIDは、クエリ基準にマッチする情報を送信することにより、このようなリクエストに応答してもよい。特に、レスポンスM19は、クエリ基準にマッチするリソースに対応したURLのリスト、またはURLに対応するリソースのインデックス付けされた情報に関連するURLのリストを含んでもよい。
【0104】
第1のケースでは、ウェブクローラWCは受信したリストに含まれるURL毎にクエリM20を送信する必要がある場合がある。
【0105】
第2のケースでは、ウェブクローラは、受信したインデックス付けされた情報を使用して、リソースの各々をクエリするのに関与するか否かを判定してもよい。次に、ウェブクローラは、受信したリストのURLの各々もしくは一部に対してクエリM20を送信してもよく、当該URLのいずれにも送信しなくてもよい。ウェブクローラは、クエリされたURLに対応するレスポンスM21を受信する。
【0106】
別のオプションは、ウェブクローラが、リソースそのものをクエリすることなしに、当該リソースに含まれるURLのリストについてクエリすることを可能にさせることにある。
【0107】
ウェブクローラWCは、リファレンスインデックスRIDに、URLおよびインジケータを含むインデックスクエリM22を送信する。
【0108】
このインジケータを認識するために、リファレンスインデックスRIDは、このインデックスクエリM22と、上記説明したインデックスクエリM10、M14のような「通常の」インデックスクエリとを区別するであろう。リファレンスインデックスRIDは、上記のようなこのURLに関連するインデックス付けされた情報を含むかを確認するであろう。
【0109】
このオプションの好ましい実施形態では、インデックス付けされた情報は、リソースに含まれるURL(ハイパーリンク)に関する情報を含む。リファレンスインデックスRIDを作成するときに、リソースを構文解析することにより、この情報が検索された可能性がある。この実施形態では、リファレンスインデックスRIDは、リソースの更なる構文解析の処理を必要とせずに、インデックスクエリに対して素早く応答することができる。インデックス付けされた情報が発見された場合、リファレンスインデックスRIDはこれらのURLを含む(もしあれば)レスポンスM23を送信する。
【0110】
次に、ウェブクローラWCは、以下のクエリ、すなわち、これらのURLにより識別されたリソースについてのリファレンスウェブクロールエージェントRWCAへのクエリ、リソース自体を取得することなしにさらなるURLを取得するためのリファレンスインデックスRIDについてのクエリ、の任意のタイプに対し、これらのURLを使用することができる。
【0111】
リクエストのこのタイプは、1つのリソースがこのコーパスに関与しないが(テーマなどに関連しない)、関与しているその他のリソースへのハイパーリンクをいまだに含み得る状況において、不要なリソースをウェブコーパスWCDに追加することを回避するために有用となる。
【0112】
同一のウェブクローラは、これらのオプションの1つまたは複数を実装し、そのアルゴリズムに準じて当該オプションを利用して、最も効率的な方法でウェブを発見し、ウェブコーパスを構築することができる。
【0113】
本発明は、好ましい実施形態を参照して説明してきた。しかしながら、本発明の範囲内で多くの変更が可能となる。
図1
図2
図3
図4
図5