(57)【特許請求の範囲】
【請求項１】
アクセス対象のＷｅｂサーバに対するアクセス間隔を動的に制御するクロール装置であって、
前記Ｗｅｂサーバに対するアクセスにより発生した、前記Ｗｅｂサーバからのレスポンス状況を示すレスポンス情報を記憶するレスポンス情報記憶手段と、
所定のアクセス間隔で前記Ｗｅｂサーバにアクセスしたことに応じて、当該Ｗｅｂサーバからのレスポンス状況を取得し、当該レスポンス状況を示すレスポンス情報を前記レスポンス情報記憶手段に記憶させるレスポンス情報取得手段と、
前記レスポンス情報記憶手段から前記Ｗｅｂサーバの所定期間のレスポンス情報を取得して、当該レスポンス情報に基づいて前記Ｗｅｂサーバの状態を分析する状態分析手段と、
前記状態分析手段による分析結果に基づいて前記Ｗｅｂサーバの状態を推定する状態推定手段と、
前記状態推定手段により推定された前記Ｗｅｂサーバの状態情報に基づいて、当該Ｗｅｂサーバへのアクセス間隔を決定するアクセス間隔決定手段と、
を備え、
前記レスポンス情報は、前記Ｗｅｂサーバのアドレス、前記Ｗｅｂサーバをアクセスした時刻、前記ＷｅｂサーバにＷｅｂページの取得要求情報を送信してからｈｔｔｐヘッダを受信するまでの応答時間、及びｈｔｔｐステータスコードを含む
ことを特徴とするクロール装置。
【請求項２】
前記Ｗｅｂサーバの状態情報を記憶する状態情報記憶手段を更に備え、
前記状態推定手段は、前記状態分析手段による分析結果に基づいて前記Ｗｅｂサーバの状態を推定し、当該Ｗｅｂサーバの状態情報を前記状態情報記憶手段に記憶させ、
前記アクセス間隔決定手段は、前記状態情報記憶手段に記憶された前記Ｗｅｂサーバの状態情報に基づいて、当該Ｗｅｂサーバへのアクセス間隔を決定する請求項１に記載のクロール装置。
【請求項３】
Ｗｅｂサーバに対するアクセスにより発生した、当該Ｗｅｂサーバからのレスポンス状況を示すレスポンス情報を記憶するレスポンス情報記憶手段を備えるクロール装置がアクセス対象のＷｅｂサーバに対するアクセス間隔を動的に制御する方法であって、
所定のアクセス間隔で前記Ｗｅｂサーバにアクセスしたことに応じて、当該Ｗｅｂサーバからのレスポンス状況を取得し、当該レスレスポンス状況を示すレスポンス情報を前記レスポンス情報記憶手段に記憶させるレスポンス情報ステップと、
前記レスポンス情報記憶手段から前記Ｗｅｂサーバの所定期間のレスポンス情報を取得して、当該レスポンス情報に基づいて前記Ｗｅｂサーバの状態を分析する状態分析ステップと、
前記状態分析ステップにおける分析結果に基づいて前記Ｗｅｂサーバの状態を推定する状態推定ステップと、
前記状態推定ステップにより推定された前記Ｗｅｂサーバの状態情報に基づいて、当該Ｗｅｂサーバへのアクセス間隔を決定するアクセス間隔決定ステップと、
を含み、
前記レスポンス情報は、前記Ｗｅｂサーバのアドレス、前記Ｗｅｂサーバをアクセスした時刻、前記ＷｅｂサーバにＷｅｂページの取得要求情報を送信してからｈｔｔｐヘッダを受信するまでの応答時間、及びｈｔｔｐステータスコードを含む
ことを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クロール装置及びその方法に関する。
【背景技術】
【０００２】
Ｗｅｂサイト等を検索する検索システムには、インターネット上のＷｅｂサイトの情報を取得するクローラが設けられている。このクローラは、インターネット上のＷｅｂサーバが提供するＷｅｂサイトを巡回して、このＷｅｂサイトの情報を取得する。
【０００３】
ところで、Ｗｅｂサイトの中には、高頻度で情報が更新されたり、膨大な情報を提供したりするものがある。このようなＷｅｂサイトから情報を定期的に取得するため、クローラは、このようなＷｅｂサイトに対して、頻繁にアクセス（例えば、１秒間隔でアクセス）する場合がある。
【０００４】
クローラが、このようなＷｅｂサイトを提供するＷｅｂサーバに頻繁にアクセスすると、このＷｅｂサーバに負荷がかかり、Ｗｅｂサーバの性能によっては、サービスに支障をきたす場合がある。そこで、Ｗｅｂサイトの更新頻度に応じて、Ｗｅｂサーバへの接続のスケジューリングを行う方法が提案されている（例えば、特許文献１参照）。特許文献１に記載の方法は、Ｗｅｂサイトの更新状況に基づいて、このＷｅｂサイトを提供するＷｅｂサーバに対してクローラがアクセスする時間を算出するとともに、クローラのアクセス間隔を算出する。続いて、特許文献１に記載の方法は、アクセス間隔に基づいて、Ｗｅｂサーバへの負荷指標を計算し、この負荷指標が所定値以下となるようにアクセス間隔を調整する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−１８６１５７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に記載の方法では、Ｗｅｂサーバへのクローラのアクセス時間をＷｅｂサイトの更新状況に基づいて決定し、更に、クローラのアクセス間隔からＷｅｂサーバへの負荷指標を計算し、アクセス間隔を調整するので、結果として、Ｗｅｂサイトの更新状況に基づいて負荷指標が計算され、アクセス間隔を調整することになる。つまり、特許文献１に記載の方法は、更新状況に基づいてアクセス間隔を調整しているに過ぎずＷｅｂサーバの実際のステータスを考慮していないため、実際にサーバが休止している場合や、レスポンスが低下している場合の調整方法についてはなんら開示されていない。従って、過度のアクセスが集中することによってＷｅｂサーバのレスポンスが遅くなっている場合でも、クローラがＷｅｂサーバに過度な負担となるアクセスを繰り返してしまう。また、Ｗｅｂサーバにトラブルが発生している場合であっても、クローラがアクセスを繰り返してしまうおそれもある。
【０００７】
そこで、本発明は、アクセスするＷｅｂサーバの状態を把握して、当該Ｗｅｂサーバへのアクセス間隔を動的に調整することができるクロール装置及びその方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
（１）アクセス対象のＷｅｂサーバに対するアクセス間隔を動的に制御するクロール装置であって、前記Ｗｅｂサーバに対するアクセスにより発生した、前記Ｗｅｂサーバからのレスポンス状況を示すレスポンス情報を記憶するレスポンス情報記憶手段と、所定のアクセス間隔で前記Ｗｅｂサーバにアクセスしたことに応じて、当該Ｗｅｂサーバからのレスポンス状況を取得し、当該レスポンス状況を示すレスポンス情報を前記レスポンス情報記憶手段に記憶させるレスポンス情報取得手段と、前記レスポンス情報記憶手段から前記Ｗｅｂサーバの所定期間のレスポンス情報を取得して、当該レスポンス情報に基づいて前記Ｗｅｂサーバの状態を分析する状態分析手段と、前記状態分析手段による分析結果に基づいて前記Ｗｅｂサーバの状態を推定する状態推定手段と、前記状態推定手段により推定された前記Ｗｅｂサーバの状態情報に基づいて、当該Ｗｅｂサーバへのアクセス間隔を決定するアクセス間隔決定手段と、を備えるクロール装置。
【０００９】
（１）のクロール装置は、Ｗｅｂサーバから取得した所定期間のレスポンス状況を示すレスポンス情報に基づいて、Ｗｅｂサーバの状態を推定し、当該Ｗｅｂサーバの状態に基づいて、アクセス間隔を決定する。よって、このクロール装置は、アクセスするＷｅｂサーバの状態を把握して、当該Ｗｅｂサーバへのアクセス間隔を調整することができるので、Ｗｅｂサーバの状態を把握すること自体が負担とならずに、かつその時点でＷｅｂサーバの状態に適合したアクセス間隔に、動的に調整を行うことができる。ここで、アクセスとは、Ｗｅｂサーバが管理するＷｅｂページの情報を取得するために、当該ＷｅｂサーバにＷｅｂページ送信要求を行うこと及び当該Ｗｅｂページ送信要求に基づく、ＷｅｂサーバからのＷｅｂページの情報の受信を行うことをいう。
【００１０】
（２）前記Ｗｅｂサーバの状態情報を記憶する状態情報記憶手段を更に備え、前記状態推定手段は、前記状態分析手段による分析結果に基づいて前記Ｗｅｂサーバの状態を推定し、当該Ｗｅｂサーバの状態情報を前記状態情報記憶手段に記憶させ、前記アクセス間隔決定手段は、前記状態情報記憶手段に記憶された前記Ｗｅｂサーバの状態情報に基づいて、当該Ｗｅｂサーバへのアクセス間隔を決定する（１）に記載のクロール装置。
【００１１】
（２）のクロール装置は、状態情報記憶手段にＷｅｂサーバの状態情報を記憶させておくので、状態情報記憶手段に記憶された、Ｗｅｂサーバの過去の状態情報を考慮して、Ｗｅｂサーバの現在の状態を推定することができ、より適切なＷｅｂサーバの状態に基づいて当該Ｗｅｂサーバへのアクセス間隔を動的に調整することができる。
【００１２】
（３）Ｗｅｂサーバに対するアクセスにより発生した、当該Ｗｅｂサーバからのレスポンス状況を示すレスポンス情報を記憶するレスポンス情報記憶手段を備えるクロール装置がアクセス対象のＷｅｂサーバに対するアクセス間隔を動的に制御する方法であって、所定のアクセス間隔で前記Ｗｅｂサーバにアクセスしたことに応じて、当該Ｗｅｂサーバからのレスポンス状況を取得し、当該レスレスポンス状況を示すレスポンス情報を前記レスポンス情報記憶手段に記憶させるレスポンス情報ステップと、前記レスポンス情報記憶手段から前記Ｗｅｂサーバの所定期間のレスポンス情報を取得して、当該レスポンス情報に基づいて前記Ｗｅｂサーバの状態を分析する状態分析ステップと、前記状態分析ステップにおける分析結果に基づいて前記Ｗｅｂサーバの状態を推定する状態推定ステップと、前記状態推定ステップにより推定された前記Ｗｅｂサーバの状態情報に基づいて、当該Ｗｅｂサーバへのアクセス間隔を決定するアクセス間隔決定ステップと、を含む方法。
【００１３】
（３）の方法によれば、（１）のクロール装置と同様の効果を奏する。
【発明の効果】
【００１４】
本発明によれば、アクセスするＷｅｂサーバの状態を把握して、当該Ｗｅｂサーバへのアクセス間隔を動的に調整することができるクロール装置及びその方法を提供することができる。
【図面の簡単な説明】
【００１５】
【図１】本実施形態に係るクロール装置の機能概要を示す図である。
【図２】本実施形態に係るレスポンスＤＢを示す図である。
【図３】本実施形態に係る状態ＤＢを示す図である。
【図４】本実施形態に係るクロール装置の制御部における処理を示すフローチャートである。
【図５】本実施形態に係るクロール装置の制御部における、Ｗｅｂサーバの状態を推定する処理を示すフローチャートである。
【発明を実施するための形態】
【００１６】
以下、本発明の実施形態について図を参照しながら説明する。
【００１７】
［機能構成］
図１は、本実施形態に係るクロール装置１の機能概要を示す図である。クロール装置１は、通信ネットワークＮを介して、複数のＷｅｂサーバ２に接続可能であり、アクセス対象のＷｅｂサーバ２に対するアクセス間隔を動的に制御するサーバである。
【００１８】
本実施形態は、コンピュータ（クロール装置１）及びその周辺装置に適用される。本実施形態における各部は、コンピュータ及びその周辺装置が備えるハードウェア並びにこのハードウェアを制御するソフトウェアによって構成される。
【００１９】
上記ハードウェアには、制御部１０としてのＣＰＵの他、記憶部２０、通信部、表示部及び入力部が含まれる。記憶部２０としては、例えば、メモリ（ＲＡＭ、ＲＯＭ等）、ハードディスクドライブ（ＨＤＤ）及び光ディスク（ＣＤ、ＤＶＤ等）ドライブが挙げられる。通信部としては、例えば、各種有線及び無線インターフェース装置が挙げられる。表示部としては、例えば、液晶ディスプレイ、プラズマディスプレイ等の各種ディスプレイが挙げられる。入力部としては、例えば、キーボード及びポインティング・デバイス（マウス、トラッキングボール等）が挙げられる。
【００２０】
上記ソフトウェアには、上記ハードウェアを制御するコンピュータ・プログラムやデータが含まれる。コンピュータ・プログラムやデータは、記憶部２０により記憶され、制御部１０により適宜実行、参照される。また、コンピュータ・プログラムやデータは、通信ネットワークＮを介して配布することも可能であり、ＣＤ−ＲＯＭ等のコンピュータ可読媒体に記録して配布することも可能である。
【００２１】
クロール装置１の制御部１０は、アクセス部１１（レスポンス情報取得手段）と、レスポンス情報取得部１２（レスポンス情報取得手段）と、状態分析部１３（状態分析手段）と、状態推定部１４（状態推定手段）と、アクセス間隔決定部１５（アクセス間隔決定手段）と、を備える。また、クロール装置１の記憶部２０は、レスポンスデータベース（以下、データベースをＤＢという）２１（レスポンス情報記憶手段）と、状態ＤＢ２２（状態情報記憶手段）と、コンテンツＤＢ２３と、を備える。
【００２２】
アクセス部１１は、アクセス間隔決定部１５により決定され後述の状態ＤＢ２２に記憶されたアクセス間隔にしたがって、Ｗｅｂサーバ２に所定のアクセス間隔でアクセス（クロール）を行う。より具体的には、アクセス部１１は、Ｗｅｂサーバ２に対してＷｅｂページの情報の取得要求を行い、Ｗｅｂサーバ２からＷｅｂページの情報を受信する。アクセス部１１は、この受信したＷｅｂページの情報を、Ｗｅｂページの情報を管理するコンテンツＤＢ２３に記憶させる。
【００２３】
具体的には、アクセス部１１は、状態ＤＢ２２（後述の図３参照）を参照して、Ｗｅｂサーバ２へのアクセス間隔を取得し、このアクセス間隔に基づいて、Ｗｅｂサーバ２に対してＷｅｂページの取得要求情報をｈｔｔｐ（ｈｙｐｅｒｔｅｘｔ  ｔｒａｎｓｆｅｒ  ｐｒｏｔｏｃｏｌ）プロトコルで送信する。続いて、アクセス部１１は、その応答としてＷｅｂサーバ２からＷｅｂページの情報を受信し、このＷｅｂページの情報をコンテンツＤＢ２３に記憶させる。このＷｅｂページの情報には、ｈｔｔｐヘッダ情報が含まれる。また、このｈｔｔｐヘッダ情報には、Ｗｅｂサーバ２がＷｅｂページの取得要求情報を受信した時点における、Ｗｅｂサーバ２の状況を示すｈｔｔｐステータスコードが含まれている。
【００２４】
レスポンス情報取得部１２は、Ｗｅｂページの情報を受信する際に、Ｗｅｂサーバ２からレスポンス状況を示すレスポンス情報を取得して、当該レスポンス情報をレスポンスＤＢ２１に記憶させる。
【００２５】
具体的には、レスポンス情報取得部１２は、アクセスしたＷｅｂサーバ２のアドレスと、アクセスした時刻と、取得要求情報を送信してからｈｔｔｐヘッダ情報を受信するまでの時間を示すレスポンスタイムと、ｈｔｔｐステータスコードと、をレスポンス情報として、レスポンスＤＢ２１に記憶させる。
また、レスポンス情報取得部１２は、Ｗｅｂサーバ２から所定時間応答がなかった場合、ｈｔｔｐステータスコードを、タイムアウトに対応するコードに設定して、レスポンス情報を、レスポンスＤＢ２１に記憶させる。
【００２６】
図２は、本実施形態に係るレスポンスＤＢ２１を示す図である。レスポンスＤＢ２１は、レスポンス状況を示すレスポンス情報を記憶する。レスポンスＤＢ２１は、アクセスしたＷｅｂサーバ２のアドレスと、アクセスした時刻と、レスポンスタイムと、ｈｔｔｐステータスコードと、を関連付けて、レスポンス情報として記憶する。
【００２７】
状態分析部１３は、所定のタイミングでレスポンスＤＢ２１からＷｅｂサーバ２の所定期間のレスポンス情報を取得して、Ｗｅｂサーバ２の状態を分析する。
【００２８】
具体的には、状態分析部１３は、所定のタイミングでレスポンスＤＢ２１から、所定期間（例えば、最新の１０分間）のレスポンス情報を取得して、所定のＷｅｂサーバ２における、単位時間あたりのアクセス回数、エラー発生率、最もエラーが連続した回数、トラブルの発生時から起算した場合の正常処理の連続した回数を分析する。
例えば、状態分析部１３は、レスポンス情報に含まれるｈｔｔｐステータスコードが５００番台である場合、Ｗｅｂサーバ２がエラーであると分析する。
【００２９】
なお、当該所定のタイミングは状況に応じて適宜設定してよい。当該所定のタイミングを短くすると、Ｗｅｂサーバ２の状況の変化に対してより迅速に対応することができる。一方当該所定のタイミングを長くすると、当該分析処理に係るシステム負荷を抑制することができる。また、当該所定のタイミングを上述の所定期間より短い間隔に設定することにより、レスポンスＤＢ２１に記憶されたレスポンス情報をもれなく分析の対象とすることができ、好適である。
【００３０】
状態推定部１４は、状態分析部１３による分析結果及び状態ＤＢ２２から読み出した推定されたＷｅｂサーバ２の状態情報に基づいて、直近のＷｅｂサーバ２の状態を推定し、推定されたＷｅｂサーバ２の状態を示す状態情報を状態ＤＢ２２に記憶させる。
【００３１】
図３は、本実施形態に係る状態ＤＢ２２を示す図である。状態ＤＢ２２は、Ｗｅｂサーバ２の状態を示す状態情報及びアクセス間隔を記憶する。具体的には、状態ＤＢ２２は、Ｗｅｂサーバ２のアドレスと、このＷｅｂサーバ２の状態情報と、このＷｅｂサーバ２に対するレスポンス情報取得部１２によるアクセス間隔と、を関連付けて記憶する。
【００３２】
なお、本実施形態では、Ｗｅｂサーバ２の状態を、不明状態、正常状態、トラブル状態、復旧状態及び不安定状態の５つの状態に分類しており、状態推定部１４は、状態分析部１３による分析に基づいて、Ｗｅｂサーバ２の状態を以下のように推定し、推定されたＷｅｂサーバ２の状態を状態情報として、状態ＤＢ２２に記憶させる。
【００３３】
すなわち、状態推定部１４は、初めてアクセスするＷｅｂサーバ２や、前回アクセスから１日以上経過している場合、当該Ｗｅｂサーバ２のステータスを不明状態と推定する。
【００３４】
また、状態推定部１４は、所定期間（例えば、最新の１０分間）に１０回以上のアクセスがある場合に、１０分間に所定期間におけるエラー発生率が所定値（例えば、１０％）未満のときには、Ｗｅｂサーバ２の状態を正常状態と推定する。また、状態推定部１４は、１０分に１０回以上のアクセスがない場合に、最新１０回のアクセスにおけるエラー発生率が所定値（例えば、１０％）未満のときには、Ｗｅｂサーバ２のステータスを正常状態と推定する。
【００３５】
また、状態推定部１４は、最もエラーが連続した回数が第１の所定回数（例えば、５回）以上の場合、Ｗｅｂサーバ２の状態をトラブル状態と推定する。
また、状態推定部１４は、トラブルの発生時から正常処理の連続した回数が第２の所定回数（例えば、２回）以上である場合、Ｗｅｂサーバ２の状態を復旧状態と推定する。
【００３６】
また、状態推定部１４は、所定期間内に所定回数（例えば、１０回）以上のアクセスがある場合に、所定期間内にＷｅｂサーバ２におけるエラー発生率が所定値（例えば、１０％）以上のときには、Ｗｅｂサーバ２の状態を不安定状態と推定する。また、状態推定部１４は、所定期間内に所定回数以上のアクセスがない場合に、最新の所定回数のアクセスにおけるエラー発生率が所定値（例えば、１０％）以上のときには、Ｗｅｂサーバ２の状態を不安定状態と推定する。
【００３７】
アクセス間隔決定部１５は、状態ＤＢ２２に記憶されたＷｅｂサーバ２の状態に基づいて、Ｗｅｂサーバ２へのアクセス間隔を決定する。
具体的には、アクセス間隔決定部１５は、Ｗｅｂサーバ２の状態が正常状態である場合、当該Ｗｅｂサーバ２の所定期間（例えば、最新の１０分間）におけるレスポンスタイムを昇順に並び替え、レスポンスタイムが小さいものを所定の割合（例えば、９０％）だけ抽出し、抽出されたレスポンスタイムの平均時間を算出する。続いて、アクセス間隔決定部１５は、この平均時間に所定数（例えば、１０倍）乗算して得られた値（時間）を、正常状態のＷｅｂサーバ２のアクセス間隔とする。なお、アクセス間隔決定部１５は、乗算して得られた値が第１の時間（例えば１秒）に満たない場合、アクセス間隔を、第１の時間にする。
【００３８】
また、アクセス間隔決定部１５は、Ｗｅｂサーバ２の状態が復旧状態である場合、このＷｅｂサーバ２のアクセス間隔を、正常状態におけるアクセス間隔に比べて大きい第２の時間（例えば、１分）とする。
【００３９】
また、アクセス間隔決定部１５は、Ｗｅｂサーバ２の状態が不明状態である場合、このＷｅｂサーバ２へのアクセス間隔を、正常状態におけるアクセス間隔に比べて大きい第３の時間（例えば、１分）とする。
【００４０】
また、アクセス間隔決定部１５は、Ｗｅｂサーバ２の状態が不安定状態である場合、このＷｅｂサーバ２へのアクセス間隔を、復旧状態におけるアクセス間隔（第２の時間）に比べて大きい第４の時間（例えば、１０分）とする。
【００４１】
また、アクセス間隔決定部１５は、Ｗｅｂサーバ２の状態がトラブル状態である場合、このＷｅｂサーバ２のアクセス間隔を、不安定状態におけるアクセス間隔（第４の時間）に比べて、十分に大きい第５の時間（例えば、６０分）とする。
【００４２】
［処理フロー］
図４は、本実施形態に係るクロール装置１の制御部１０における処理を示すフローチャートである。
【００４３】
ステップＳ１において、制御部１０（アクセス部１１）は、状態ＤＢ２２を参照して、Ｗｅｂサーバ２へのアクセス間隔を取得し、このアクセス間隔（所定のアクセス間隔）にしたがって、Ｗｅｂサーバ２にアクセスし、Ｗｅｂページの情報の取得要求を行い、Ｗｅｂページの情報を受信する。
【００４４】
ステップＳ２において、制御部１０（アクセス部１１）は、アクセス部１１により、受信したＷｅｂページの情報に含まれるＷｅｂサーバ２からレスポンス状況を示すレスポンス情報を取得する。
【００４５】
ステップＳ３において、制御部１０（レスポンス情報取得部１２）は、ステップＳ２において取得したレスポンス情報をレスポンスＤＢ２１に記憶させる。ここで、レスポンス情報には、アクセスしたＷｅｂサーバ２のアドレスと、アクセスした時刻と、レスポンスタイムと、ｈｔｔｐステータスコードと、が含まれている。
【００４６】
ステップＳ４において、制御部１０（状態分析部１３）は、レスポンスＤＢ２１からＷｅｂサーバ２の所定期間（例えば、最新の１０分間）のレスポンス情報を取得して、当該レスポンス情報に基づいてＷｅｂサーバ２の状態を分析する。
【００４７】
ステップＳ５において、制御部１０（状態推定部１４）は、ステップＳ４における分析結果に基づいてＷｅｂサーバ２の状態を推定する。この処理の詳細については、後述の図５で説明する。
【００４８】
ステップＳ６において、制御部１０（状態推定部１４）は、ステップＳ５において推定されたＷｅｂサーバ２の状態を状態ＤＢ２２に記憶させる。
【００４９】
ステップＳ７において、制御部１０（アクセス間隔決定部１５）は、状態ＤＢ２２に記憶されているＷｅｂサーバ２の状態に基づいて、アクセス間隔を決定する。続いて、制御部１０（アクセス間隔決定部１５）は、決定されたアクセス間隔を状態ＤＢ２２に記憶させる。
【００５０】
ステップＳ８において、制御部１０は、クロール装置１の入力部において、Ｗｅｂサーバ２へのアクセスに係る処理の終了操作が行われたか否かを判定する。制御部１０は、この判定がＹＥＳの場合、処理を終了し、この判定がＮＯの場合、ステップＳ１に移る。すなわち、終了操作が行われない場合、アクセス間隔決定部１４が決定した間隔にしたがってアクセス部１１がＷｅｂサーバ２にアクセスし、レスポンス情報取得部１２がレスポンス情報を取得する、といったように、アクセス間隔を決定する処理を繰り返す。
【００５１】
図５は、本実施形態に係るクロール装置１の制御部１０における、Ｗｅｂサーバ２の状態を推定する処理を示すフローチャートである。
【００５２】
ステップＳ５１において、制御部１０（状態推定部１４）は、アクセスするＷｅｂサーバ２について、状態分析部１３の分析結果に基づいて、前回アクセスから１日以上経過又は初回アクセスであるか否かを判定する。制御部１０（状態推定部１４）は、この判定がＹＥＳの場合、処理をステップＳ５２に移し、この判定がＮＯの場合、処理をステップＳ５３に移す。
ステップＳ５２において、制御部１０（状態推定部１４）は、Ｗｅｂサーバ２の状態を不明状態と推定する。この処理が終了すると、Ｗｅｂサーバ２の状態を推定する処理を終了する。
【００５３】
ステップＳ５３において、制御部１０（状態推定部１４）は、アクセスするＷｅｂサーバ２について、状態分析部１３の分析結果に基づいて、所定期間のエラー発生率が所定値（例えば、１０％）未満か否かを判定する。制御部１０（状態推定部１４）は、この判定がＹＥＳの場合、処理をステップＳ５４に移し、この判定がＮＯの場合、処理をステップＳ５５に移す。
ステップＳ５４において、制御部１０（状態推定部１４）は、Ｗｅｂサーバ２の状態を正常状態と推定する。この処理が終了すると、Ｗｅｂサーバ２の状態を推定する処理を終了する。
【００５４】
ステップＳ５５において、制御部１０（状態推定部１４）は、アクセスするＷｅｂサーバ２について、状態ＤＢ２２から読み出した直近のＷｅｂサーバ２の推定状態がトラブル時であって、かつ、状態分析部１３の分析結果に基づいて、第２の所定回数（例えば、２回）以上連続で正常処理されたか否かを判定する。制御部１０（状態推定部１４）は、この判定がＹＥＳの場合、処理をステップＳ５６に移し、この判定がＮＯの場合、処理をステップＳ５７に移す。
ステップＳ５６において、制御部１０（状態推定部１４）は、Ｗｅｂサーバ２の状態を復旧状態と推定する。この処理が終了すると、Ｗｅｂサーバ２の状態を推定する処理を終了する。
【００５５】
ステップＳ５７において、制御部１０（状態推定部１４）は、アクセスするＷｅｂサーバ２について、状態分析部１３の分析結果に基づいて、最もエラーが連続した回数が第１の所定回数（例えば、５回）以上か否かを判定する。制御部１０（状態推定部１４）は、この判定がＹＥＳの場合、処理をステップＳ５８に移し、この判定がＮＯの場合、処理をステップＳ５９に移す。
ステップＳ５８において、制御部１０（状態推定部１４）は、Ｗｅｂサーバ２の状態をトラブル状態と推定する。この処理が終了すると、Ｗｅｂサーバ２の状態を推定する処理を終了する。
ステップＳ５９において、制御部１０（状態推定部１４）は、Ｗｅｂサーバ２の状態を不安定状態と推定する。この処理が終了すると、Ｗｅｂサーバ２の状態を推定する処理を終了する。
【００５６】
以上のように、本実施形態によれば、クロール装置１は、Ｗｅｂサーバ２から取得した所定期間のレスポンス状況を示すレスポンス情報に基づいて、Ｗｅｂサーバ２の状態を推定し、当該Ｗｅｂサーバ２の状態に基づいて、アクセス間隔を決定する。よって、このクロール装置１は、アクセスするＷｅｂサーバ２の状態を把握して、当該Ｗｅｂサーバ２のアクセス間隔を調整することができるので、Ｗｅｂサーバ２の状態を把握すること自体が負担とならずに、かつその時点でＷｅｂサーバ２の状態に適合したアクセス間隔に、動的に調整を行うことができる。
【００５７】
また、クロール装置１は、状態ＤＢ２２にＷｅｂサーバ２の状態情報を記憶させておくので、状態ＤＢ２２に記憶されたＷｅｂサーバ２の過去の状態情報を考慮して、Ｗｅｂサーバの現在の状態を推定することができ、より適切なＷｅｂサーバの状態に基づいて、当該Ｗｅｂサーバ２へのアクセス間隔を動的に調整することができる。
【００５８】
また、クロール装置１は、Ｗｅｂサーバ２からＷｅｂページの情報を取得する際に、Ｗｅｂサーバ２からのレスポンス情報を取得する。クロール装置１は、クロールする際に取得したレスポンス情報から、Ｗｅｂサーバ２へのアクセス間隔を調整することができるので、レスポンス情報を取得するためだけにＷｅｂサーバ２にアクセスすることが不要になる。
【００５９】
以上、本発明の実施形態について説明したが、本発明は前述した実施形態に限るものではない。また、本発明の実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本発明の実施形態に記載されたものに限定されるものではない。
【符号の説明】
【００６０】
１  クロール装置
２  Ｗｅｂサーバ
１０  制御部
１１  アクセス部
１２  レスポンス情報取得部
１３  状態分析部
１４  状態推定部
１５  アクセス間隔決定部
２０  記憶部
２１  レスポンスＤＢ
２２  状態ＤＢ
２３  コンテンツＤＢ
Ｎ  通信ネットワーク
【図１】
0005356343.tif 000002
【図２】
0005356343.tif 000003
【図３】
0005356343.tif 000004
【図４】
0005356343.tif 000005
【図５】
0005356343.tif 000006