(57)【特許請求の範囲】
【請求項１】
記憶部と、ダウンロード手段と、割り当て手段と、を備えたＷｅｂサーバアクセススケジューリングシステムであって、
前記記憶部は、
所定のＷｅｂサーバ群の各Ｗｅｂサーバに対するアクセス間隔目標値と、通信リソース割り当て状態と、１アクセス当たり平均経過時間と、を記憶するＷｅｂサーバ状態テーブルと、
所定の通信リソース群の各通信リソースに対する空き容量を記憶する通信リソース状態テーブルと、を含み、
前記ダウンロード手段は、
前記アクセス間隔目標値と、前記通信リソース割り当て状態と、に基づき、
前記Ｗｅｂサーバ群からダウンロード対象のＷｅｂサーバを選択して、コンテンツをダウンロードするとともに、
ダウンロードの経過時間の実績に基づいて前記選択されたＷｅｂサーバの１アクセス当たり平均経過時間を前記記憶部に記憶させ、
前記割り当て手段は、
前記各Ｗｅｂサーバに対して、前記アクセス間隔目標値、前記平均経過時間、および前記空き容量が所定の条件を満たす通信リソースを前記通信リソース群から１つ選択して割り当て、
割り当てた結果を前記通信リソース割り当て状態として前記記憶部に記憶させること
を特徴とするＷｅｂサーバアクセススケジューリングシステム。
【請求項２】
前記空き容量は、前記空き容量に対応する通信リソースが割り当てられたすべてのＷｅｂサーバに関する、前記アクセス間隔目標値の最小値と前記平均経過時間の総和との差であり、
前記所定の条件は、
前記Ｗｅｂサーバの前記平均経過時間が前記各通信リソースの前記空き容量以下であることと、
前記Ｗｅｂサーバの前記アクセス間隔目標値と、前記空き容量に対応する通信リソースが割り当てられたすべてのＷｅｂサーバに関する前記アクセス間隔目標値の最小値との比が一定値未満であることと、
前記空き容量に対応する通信リソースが割り当てられたすべてのＷｅｂサーバに関する前記アクセス間隔目標値の最大値と、前記Ｗｅｂサーバの前記アクセス間隔目標値との比が一定値未満であることと、のすべてを含む
ことを特徴とする請求項１に記載のＷｅｂサーバアクセススケジューリングシステム。
【請求項３】
前記空き容量は、
値１を超えない定数と、前記空き容量に対応する通信リソースが割り当てられたすべてのＷｅｂサーバに関する、前記平均経過時間と前記アクセス間隔目標値の比の総和との差であり、
前記所定の条件は、
前記Ｗｅｂサーバの前記平均経過時間と前記アクセス間隔目標値との比が、前記通信リソースの前記空き容量以下であることを含む
ことを特徴とする請求項１に記載のＷｅｂサーバアクセススケジューリングシステム。
【請求項４】
前記ダウンロード手段は、
前記各通信リソースについて、その通信リソースが割り当てられた各Ｗｅｂサーバから巡回的にダウンロードを行い、
前記各Ｗｅｂサーバを一巡するごとに、前記各Ｗｅｂサーバを一巡するのに要した時間が、前記通信リソースが割り当てられたすべてのＷｅｂサーバに関する前記アクセス間隔目標値の最小値を下回らないように待機する
ことを特徴とする請求項２に記載のＷｅｂサーバアクセススケジューリングシステム。
【請求項５】
前記ダウンロード手段は、
前記各通信リソースのいずれかが割り当てられたＷｅｂサーバであって、前回ダウンロード終了から所定時間が経過した各Ｗｅｂサーバのうち、判定時間が最小となるＷｅｂサーバから順次ダウンロードを行い、
前記所定時間は、前記各Ｗｅｂサーバに関する前記アクセス間隔目標値と前記平均経過時間との差であり、
前記判定時間は、前記各Ｗｅｂサーバの前回ダウンロード終了時刻に、前記所定時間の２倍を加算した値である
ことを特徴とする請求項１から請求項３までのいずれか１項に記載のＷｅｂサーバアクセススケジューリングシステム。
【請求項６】
前記ダウンロード手段は、
前記各Ｗｅｂサーバからダウンロードした各コンテンツの更新履歴から前記各コンテンツの推定更新間隔を算出し、
前記各Ｗｅｂサーバに対応する前記アクセス間隔目標値を、前記各Ｗｅｂサーバに属するすべてのコンテンツに関する前記推定更新間隔の逆数の総和の逆数として与える
ことを特徴とする請求項１から請求項５までのいずれか１項に記載のＷｅｂサーバアクセススケジューリングシステム。
【請求項７】
前記ダウンロード手段は、
前記Ｗｅｂサーバ群のいずれかのＷｅｂサーバからのダウンロード後に、前記Ｗｅｂサーバの前記平均経過時間および前記アクセス間隔目標値を更新した結果、前記所定の条件が満たされなくなった場合に、
前記Ｗｅｂサーバに対する通信リソースの再割り当てを前記割り当て手段に行わせる
ことを特徴とする請求項１から請求項６までのいずれか１項に記載のＷｅｂサーバアクセススケジューリングシステム。
【請求項８】
前記割り当て手段は、
前記Ｗｅｂサーバ群のいずれかのＷｅｂサーバに対し、前記平均経過時間が前記アクセス間隔目標値を上回っている場合に、
前記通信リソース群とは異なる第２の通信リソース群から通信リソースを割り当て、
前記ダウンロード手段は、
前記第２の通信リソース群のいずれかの通信リソースが割り当てられた各Ｗｅｂサーバに対して、順次ダウンロードを行う
ことを特徴とする請求項１から請求項７までのいずれか１項に記載のＷｅｂサーバアクセススケジューリングシステム。
【請求項９】
前記割り当て手段は、
前記Ｗｅｂサーバ群のいずれかのＷｅｂサーバに対し、前記所定の条件を満たす通信リソースが前記通信リソース群に存在しない場合に、
前記通信リソース群とは異なる第３の通信リソース群から通信リソースを割り当て、
前記ダウンロード手段は、
前記第３の通信リソース群のいずれかの通信リソースが割り当てられた各Ｗｅｂサーバのうち、前回ダウンロード終了から所定時間が経過したＷｅｂサーバに対して、順次ダウンロードを行い、
前記所定時間は、前記各Ｗｅｂサーバに関する前記アクセス間隔目標値と前記平均経過時間との差である
ことを特徴とする請求項１から請求項８までのいずれか１項に記載のＷｅｂサーバアクセススケジューリングシステム。
【請求項１０】
前記ダウンロード手段は、
前記通信リソース群のいずれかの通信リソースが割り当てられたＷｅｂサーバからのダウンロード後に、前記Ｗｅｂサーバの前記平均経過時間および前記アクセス間隔目標値を更新した結果、前記Ｗｅｂサーバに割り当てられた通信リソースの前記空き容量が一定値以上に達した場合に、
前記第３の通信リソース群のいずれかの通信リソースが割り当てられた各Ｗｅｂサーバに対して、通信リソースの再割り当てを前記割り当て手段に行わせる
ことを特徴とする請求項９に記載のＷｅｂサーバアクセススケジューリングシステム。
【請求項１１】
前記割り当て手段は、
前記Ｗｅｂサーバ群のいずれかのＷｅｂサーバに対して、過去にアクセスしたことがない場合に、
前記通信リソース群とは異なる第４の通信リソース群から通信リソースを割り当て、
前記ダウンロード手段は、
前記第４の通信リソース群のいずれかの通信リソースが割り当てられた各Ｗｅｂサーバに対し、順次ダウンロードを行うとともに、
前記Ｗｅｂサーバとの通信に成功した場合には、前記Ｗｅｂサーバに対して、新たに前記第３の通信リソース群のいずれかの通信リソースを前記割り当て手段に割り当てさせる
ことを特徴とする請求項１０に記載のＷｅｂサーバアクセススケジューリングシステム。
【請求項１２】
前記割り当て手段は、
前記Ｗｅｂサーバ群のいずれかのＷｅｂサーバに対して、過去にアクセスしたことがない場合に、
前記通信リソース群とは異なる第４の通信リソース群から通信リソースを割り当て、
前記ダウンロード手段は、
前記第４の通信リソース群のいずれかの通信リソースが割り当てられた各Ｗｅｂサーバに対し、順次ダウンロードを行うとともに、
前記Ｗｅｂサーバとの通信に成功した場合には、前記Ｗｅｂサーバに対して、通信リソースの再割り当てを前記割り当て手段に行わせる
ことを特徴とする請求項１から請求項１０までのいずれか１項に記載のＷｅｂサーバアクセススケジューリングシステム。
【請求項１３】
前記割り当て手段は、
前記Ｗｅｂサーバ群のいずれかのＷｅｂサーバに対して、過去に所定条件を満たすコンテンツをダウンロードしたことがない場合に、
前記通信リソース群とは異なる第５の通信リソース群から通信リソースを割り当て、
前記ダウンロード手段は、
前記第５の通信リソース群のいずれかの通信リソースが割り当てられた各Ｗｅｂサーバのうち、前回ダウンロード終了から所定時間が経過したＷｅｂサーバに対して、順次ダウンロードを行うとともに、
ダウンロードしたコンテンツが前記所定条件を満たす場合には、前記Ｗｅｂサーバに対して新たに前記第３の通信リソース群のいずれかの通信リソースを前記割り当て手段に割り当てさせ、
前記所定時間は、前記各Ｗｅｂサーバに関する前記アクセス間隔目標値と前記平均経過時間との差である
ことを特徴とする請求項１０に記載のＷｅｂサーバアクセススケジューリングシステム。
【請求項１４】
前記割り当て手段は、
前記Ｗｅｂサーバ群のいずれかのＷｅｂサーバに対して、過去に所定条件を満たすコンテンツをダウンロードしたことがない場合に、
前記通信リソース群とは異なる第５の通信リソース群から通信リソースを割り当て、
前記ダウンロード手段は、
前記第５の通信リソース群のいずれかの通信リソースが割り当てられた各Ｗｅｂサーバのうち、前回ダウンロード終了から所定時間が経過したＷｅｂサーバに対して、順次ダウンロードを行うとともに、
ダウンロードしたコンテンツが前記所定条件を満たす場合には、前記Ｗｅｂサーバに対して通信リソースの再割り当てを前記割り当て手段に行わせ、
前記所定時間は、前記各Ｗｅｂサーバに関する前記アクセス間隔目標値と前記平均経過時間との差である
ことを特徴とする請求項１から請求項１０までのいずれか１項に記載のＷｅｂサーバアクセススケジューリングシステム。
【請求項１５】
前記ダウンロード手段は、
前記第５の通信リソース群のいずれかの通信リソースが割り当てられた各Ｗｅｂサーバからダウンロードしたコンテンツが前記所定条件を満たさなかった場合に、
前記Ｗｅｂサーバからのダウンロードを所定回数に達するまで行うとともに、
前記所定回数だけダウンロードを繰り返しても前記Ｗｅｂサーバから前記所定条件を満たすコンテンツがダウンロードされなかった場合には、
前記Ｗｅｂサーバに対して前記いずれの通信リソースも割り当てない
ことを特徴とする請求項１３または請求項１４に記載のＷｅｂサーバアクセススケジューリングシステム。
【請求項１６】
前記記憶部は、
ダウンロードした各Ｗｅｂページの状態を記憶するＷｅｂページ状態テーブルと、
前記各Ｗｅｂページのコンテンツを記憶するＷｅｂページコンテンツテーブルと、を含み、
前記コンテンツに対する所定条件は、
前記コンテンツがテキストデータであることと、
前記コンテンツが特定の文字コードで記述されていることと、の両方を含む
ことを特徴とする請求項１３から請求項１５までのいずれか１項に記載のＷｅｂサーバアクセススケジューリングシステム。
【請求項１７】
前記記憶部は、
ダウンロードした各Ｗｅｂページの状態を記憶するＷｅｂページ状態テーブルと、
前記各Ｗｅｂページのコンテンツを記憶するＷｅｂページコンテンツテーブルと、を含み、
前記コンテンツに対する所定条件は、前記コンテンツが動画データであることを含む
ことを特徴とする請求項１３から請求項１５までのいずれか１項に記載のＷｅｂサーバアクセススケジューリングシステム。
【請求項１８】
前記割り当て手段は、
前記Ｗｅｂサーバ群のいずれかのＷｅｂサーバに対して、過去にアクセスしたことがない場合に、
前記通信リソース群とは異なる第４の通信リソース群から通信リソースを割り当て、
前記ダウンロード手段は、
前記第４の通信リソース群のいずれかの通信リソースが割り当てられた各Ｗｅｂサーバに対し、順次ダウンロードを行うとともに、
前記Ｗｅｂサーバとの通信に成功した場合には、前記Ｗｅｂサーバに対して、新たに前記第５の通信リソース群のいずれかの通信リソースを前記割り当て手段に割り当てさせる
ことを特徴とする請求項１３から請求項１７までのいずれか１項に記載のＷｅｂサーバアクセススケジューリングシステム。
【請求項１９】
前記ダウンロード手段は、
前記第４の通信リソース群のいずれかの通信リソースが割り当てられた各Ｗｅｂサーバとの通信に成功しなかった場合に、
前記Ｗｅｂサーバとの通信を所定回数に達するまで再試行するとともに、
前記所定回数だけ通信を繰り返しても前記Ｗｅｂサーバとの通信に成功しなかった場合には、
前記Ｗｅｂサーバに前記いずれの通信リソースも割り当てない
ことを特徴とする請求項１１、請求項１２、または請求項１８に記載のＷｅｂサーバアクセススケジューリングシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、記憶部と、ダウンロード手段と、割り当て手段と、を備えたＷｅｂサーバアクセススケジューリングシステムに関し、特に効率的なＷｅｂページ収集技術に関するものである。
【背景技術】
【０００２】
一般に、Ｗｅｂ検索サービスなどにおいては、Ｗｅｂ上の情報を網羅的に収集するために、クローラと呼ばれるコンピュータプログラムが用いられている。また、Ｗｅｂ情報は時々刻々と変化しているので、収集した情報を常に最新に保つことが重要であることから、一度収集したＷｅｂページを、適当な期間を置いて繰り返し収集するインクリメンタルクローラが開発されている。
インクリメンタルクローラは、各Ｗｅｂページの過去の更新傾向などに基づいて、次の更新時期を予測することにより再収集のタイミングを決定する。
【０００３】
従来のＷｅｂサーバアクセススケジューリングシステム（インクリメンタルクローラ）においては、Ｗｅｂページの再収集タイミングを決定するとともに、そのタイミング通りに収集を行うことが重要である。しかし、Ｗｅｂページは大量に存在するため、与えられたリソースではその収集が不可能な場合もある。
【０００４】
そこで、従来のＷｅｂサーバアクセススケジューリングシステムとして、Ｗｅｂページの変更回数、変更の規模、ＷｅｂページのＵＲＩ（ＵＲＩ：Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｉｄｅｎｔｉｆｉｅｒ）や内容などの特徴に基づいて、所定のＷｅｂページが最終アクセス後に更新されている確率を求め、クローリングの優先順位であるスコアに反映する方法が知られている（たとえば、特許文献１参照）。
【０００５】
特許文献１に記載された従来技術においては、クローラが動作するコンピュータおよび通信回線の性能で定まるクローリング容量に基づいて収集Ｗｅｂページ数を決定する処理ステップが開示されており、処理可能な範囲内で優先度の高いＷｅｂページを確実に収集することを目的としている。
【０００６】
しかし、Ｗｅｂページは、応答性能の大きく異なる様々なＷｅｂサーバ上に分布しており、単純にページ数で性能を見積もることはできない。この結果、現実には低速なＷｅｂサーバが長時間にわたって通信リソースを占有し、この占有期間にわたって高速なＷｅｂサーバとの通信がブロックされて、達成できる収集速度および収集規模が大きく低下してしまう可能性があった。
【０００７】
また、このような収集速度および収集規模の低下は、Ｗｅｂサーバに及ぼす負荷の抑制を目的として、一定間隔を空けてアクセスを行う場合に特に顕著となり、高速なＷｅｂサーバとの通信の合間に、低速なＷｅｂサーバとの通信が割り込んでしまい、意図した間隔でのアクセスが実現できるとは限らなかった。
【０００８】
【特許文献１】特開２００５−２２８３４３号公報、第２３頁、図６
【発明の開示】
【発明が解決しようとする課題】
【０００９】
従来のＷｅｂサーバアクセススケジューリングシステムは、収集速度および収集規模の低下を招き、高速なＷｅｂサーバとの通信の合間に、低速なＷｅｂサーバとの通信が割り込むので、高速なＷｅｂサーバとの通信がブロックされてしまうという課題があった。
また、従来のＷｅｂサーバアクセススケジューリングシステムにおいては、より多くの通信リソースを投入することによって収集速度および収集規模の向上を図る必要があったが、低速なＷｅｂサーバは大量に存在しており、十分な効果を得るためには膨大なコストを要するという課題があった。
【００１０】
この発明は上記の課題を解決するためになされたもので、Ｗｅｂサーバとの通信を通じて個々のＷｅｂサーバの応答性能を把握し、各応答性能に基づいて有限の通信リソースをＷｅｂサーバに適切に割り当てることにより、高速なＷｅｂサーバとの通信がブロックされることを回避して効率的なＷｅｂページ収集を実現したＷｅｂサーバアクセススケジューリングシステムを得ることを目的とする。
【課題を解決するための手段】
【００１１】
この発明によるＷｅｂサーバアクセススケジューリングシステムは、記憶部と、ダウンロード手段と、割り当て手段と、を備えたＷｅｂサーバアクセススケジューリングシステムであって、記憶部は、所定のＷｅｂサーバ群の各Ｗｅｂサーバに対するアクセス間隔目標値と、通信リソース割り当て状態と、１アクセス当たり平均経過時間と、を記憶するＷｅｂサーバ状態テーブルと、所定の通信リソース群の各通信リソースに対する空き容量を記憶する通信リソース状態テーブルと、を含み、ダウンロード手段は、アクセス間隔目標値と、通信リソース割り当て状態と、に基づき、Ｗｅｂサーバ群からダウンロード対象のＷｅｂサーバを選択して、コンテンツをダウンロードするとともに、ダウンロードの経過時間の実績に基づいて選択されたＷｅｂサーバの１アクセス当たり平均経過時間を記憶部に記憶させ、割り当て手段は、各Ｗｅｂサーバに対して、アクセス間隔目標値、平均経過時間、および空き容量が所定の条件を満たす通信リソースを通信リソース群から１つ選択して割り当て、割り当てた結果を通信リソース割り当て状態として記憶部に記憶させるものである。
【発明の効果】
【００１２】
この発明によれば、高速なＷｅｂサーバとの通信がブロックされることを回避して効率的なＷｅｂページ収集を実現することができる。
【発明を実施するための最良の形態】
【００１３】
実施の形態１．
図１はこの発明の実施の形態１に係るＷｅｂサーバアクセススケジューリングシステムの概略構成を示すブロック図である。
図１において、一般的なコンピュータ１は、プロセッサ、バス、メモリ、固定ディスクインタフェース、固定ディスク装置、およびネットワークインタフェースを備えており、コンピュータプログラムとして実現されたＷｅｂサーバアクセススケジューリングシステムを実現する。
【００１４】
コンピュータ１にはインターネット９が接続され、インターネット９には複数のＷｅｂサーバ１０が接続されている。
コンピュータ１は、ネットワークインタフェースを介してインターネット９に接続されており、複数のＷｅｂサーバ１０と通信して、Ｗｅｂページをダウンロードすることができるようになっている。
【００１５】
コンピュータ１は、記憶部２と、割り当て手段７と、ダウンロード手段８と、を備えている。
記憶部２は、コンピュータ１内の固定ディスク装置により実現されており、Ｗｅｂサーバ状態テーブル３と、通信リソース状態テーブル４と、Ｗｅｂページ状態テーブル５と、ダウンロードした複数のＷｅｂページコンテンツを記憶するＷｅｂページコンテンツテーブル６とを含む。各状態テーブル３〜５およびＷｅｂページコンテンツテーブル６の情報は、記憶部２内に記憶される。
【００１６】
割り当て手段７およびダウンロード手段８は、コンピュータ１内のメモリに格納されてプロセッサで実行される「コンピュータプログラム」として実現されている。
ダウンロード手段８は、利用可能な通信リソースごとに複数存在し、各ダウンロード手段８が並行して動作することにより、単位時間当たりのダウンロードＷｅｂページ数を向上させることができる。ただし、通信リソースとは、独立して使用可能な論理接続を意味し、ＵＮＩＸ（登録商標）やＷｉｎｄｏｗｓ（登録商標）などのオペレーティングシステムにおいては、ソケットに相当する。
【００１７】
図２は図１内のＷｅｂサーバ状態テーブル３の詳細内容を示す説明図である。
Ｗｅｂサーバ状態テーブル３は、所定のＷｅｂサーバ群の各Ｗｅｂサーバに対して、Ｗｅｂサーバ名２２、アクセス間隔２３、経過時間２４、アクセス回数２５、最終アクセス時刻２６、および、リソースＩＤ２７からなる項目の組を格納する。
【００１８】
アクセス間隔２３は、各Ｗｅｂサーバに対する連続アクセスの時間間隔の目標値を示しており、各Ｗｅｂサーバに属する各Ｗｅｂページを、それらが更新される前にダウンロードすることが可能な時間間隔の最大値が設定される。たとえば、アクセス間隔を「０」に設定すれば、ダウンロードしていないＷｅｂページが更新されてしまう可能性を最小限に抑制することができるが、Ｗｅｂサーバに大きな負荷をかけることになるので、アクセス間隔２３としては、できるだけ大きな値を設定する必要がある。
【００１９】
経過時間２４は、各ＷｅｂサーバからのＷｅｂページダウンロードに要した時間の累積値を示しており、アクセス回数２５は、各ＷｅｂサーバからダウンロードしたＷｅｂページの延べ数を示している。
リソースＩＤ２７は、各Ｗｅｂサーバに割り当てられた通信リソースを、一意に識別するための識別子を示している。なお、Ｗｅｂサーバと通信リソースとの対応関係は、「１対１」である。
【００２０】
図３は図１内の通信リソース状態テーブル４の詳細内容を示す説明図である。
通信リソース状態テーブル４は、所定の通信リソース群の各通信リソースに対して、リソースＩＤ３２、最小アクセス間隔３３、最大アクセス間隔３４、合計経過時間３５、および、Ｗｅｂサーバリスト３６からなる項目の組を格納する。
【００２１】
Ｗｅｂサーバリスト３６には、各通信リソースが割り当てられたすべてのＷｅｂサーバが含まれる。Ｗｅｂサーバリスト３６は、Ｗｅｂサーバ名、または、Ｗｅｂサーバ状態テーブル３のエントリへのポインタのリンクリストとして、実現することができる。
【００２２】
最小アクセス間隔３３および最大アクセス間隔３４は、それぞれ、Ｗｅｂサーバリスト３６に含まれるすべてのＷｅｂサーバにおける、アクセス間隔２３（図２参照）の最小値および最大値を示している。
また、合計経過時間３５は、Ｗｅｂサーバリスト３６に含まれるすべてのＷｅｂサーバにおける平均経過時間、すなわち（経過時間２４÷アクセス回数２５）の総和を示している。
【００２３】
通信リソースには複数の種類があり、各種類は、リソースＩＤ３２の値で識別できるようになっている。すなわち、正のリソースＩＤを持つ「ノンブロッキングリソース」と、負のリソースＩＤ（＝−１）を持つ「オーバーフローリソース」とである。
【００２４】
ノンブロッキングリソースは、Ｗｅｂサーバリスト３６に含まれるＷｅｂサーバのそれぞれに対し、アクセス間隔２３での連続アクセスを行うことを保証するものである。これにより、変化するＷｅｂ情報を適切なタイミングでダウンロードすることが可能になる。
【００２５】
一方、ノンブロッキングリソース数の制限やＷｅｂサーバ自体の属性により、ノンブロッキングリソースの割り当てを受けることができなかったＷｅｂサーバに対しては、オーバーフローリソースが割り当てられ、タイミング保証のないダウンロードが行われる。
オーバーフローリソースに対しては、通信リソース状態テーブル４のリソースＩＤ３２（＝−１）とＷｅｂサーバリスト３６のみが設定されかつ参照され、最小アクセス間隔３３、最大アクセス間隔３４、および合計経過時間３５は、設定も参照もされない。
【００２６】
図４は図１内のＷｅｂページ状態テーブル５の詳細内容を示す説明図である。
Ｗｅｂページ状態テーブル５は、Ｗｅｂページごとに、ＵＲＩ４２、推定更新間隔４３、および、最終アクセス時刻４４を含む項目の組を格納する。
【００２７】
推定更新間隔４３は、各Ｗｅｂページに対する過去の複数アクセスにおける更新の検出有無に基づき、公知の方法により推定した各Ｗｅｂページの平均更新間隔を示している。なお、Ｗｅｂページ更新間隔推定の方法は、公知文献（たとえば、日本データベース学会Ｌｅｔｔｅｒｓ  Ｖｏｌ．６、Ｎｏ．１、ｐｐ．１７３−１７６「大規模Ｗｅｂアーカイブのための更新クローラの設計と実装」田村孝之、喜連川優）に記載されている。また、Ｗｅｂページ状態テーブル５のＷｅｂページごとのエントリは、上記Ｗｅｂページ更新間隔推定を行うための追加項目を含んでいてもよい。
【００２８】
次に、図５〜図９を参照しながら、割り当て手段７およびダウンロード手段８の動作について説明する。まず、図５および図６を参照しながら、割り当て手段７の動作について説明する。
【００２９】
図５は割り当て手段７の初期設定動作を示すフローチャートである。
割り当て手段７の初期設定動作は、Ｗｅｂサーバアクセススケジューリングシステムの実行開始時に１度だけ起動される。なお、初期設定動作の以前において、Ｗｅｂサーバ状態テーブル３のすべてのリソースＩＤ２７には、リソース未割り当て状態を示す値（たとえば、「０」）が設定されているものとする。
【００３０】
図５において、まず、割り当て手段７は、Ｗｅｂサーバ状態テーブル３の各エントリを読み出し、すべてのＷｅｂサーバにリソース割り当て済み（リソースＩＤ２７≠０）であるか否かを判定する（ステップＳ５１）。
ステップＳ５１において、上記条件「すべてのリソースＩＤ２７≠０」が成立する（すなわち、ＹＥＳ）と判定されれば、初期設定の完了を表しているので、図５の初期設定ルーチンを終了する。
【００３１】
一方、ステップＳ５１において、上記条件が成立しない（すなわち、ＮＯ）と判定されれば、リソース未割り当て（リソースＩＤ２７＝０）のＷｅｂサーバのうち、アクセス間隔２３（図２参照）が最小であるＷｅｂサーバを１つ選択し（ステップＳ５２）、選択されたＷｅｂサーバに対するリソース割り当て処理を実行する（ステップＳ５３）。
これにより、選択されたＷｅｂサーバのリソースＩＤ２７が割り当て済みを示す所定値（≠０）に設定される。その後、ステップＳ５１に戻って、ステップＳ５２およびＳ５３を繰り返し実行し、残りのＷｅｂサーバの処理を続ける。
【００３２】
なお、図５（ステップＳ５２）では、説明を単純化するために、Ｗｅｂサーバ状態テーブル３から条件（最小アクセス間隔）を満たすＷｅｂサーバを検索する場合を例にとって説明したが、効率的な処理を実現するためには、ステップＳ５１に先立って、Ｗｅｂサーバ状態テーブル３の各エントリを、アクセス間隔２３の昇順にソートした所定リストを作成してもよい。この場合、ステップＳ５１の判定条件は、所定リストの末尾に達したか否かの判定に置き換えることができ、また、ステップＳ５２の選択処理は、所定リストの要素を順に選択する処理に置き換えることができる。
【００３３】
図６は図５内のステップＳ５３のリソース割り当て処理を詳細に示すフローチャートである。
図６において、まず、割り当て手段７は、割り当て対象のＷｅｂサーバのアクセス回数２５が「０」である（第１の条件を満たす）か否か、または、割り当て対象のＷｅｂサーバのアクセス間隔２３が割り当て対象のＷｅｂサーバの平均経過時間（＝経過時間２４÷アクセス回数２５）よりも小さい（第２の条件を満たす）か否かを判定する（ステップＳ６１）。
【００３４】
ステップＳ６１において、第１の条件「アクセス回数２５＝０」、または、第２の条件「アクセス間隔＜平均経過時間」のいずれかの条件が成立している（すなわち、ＹＥＳ）と判定されれば、ステップＳ６９に移行し、第１および第２の条件がいずれも成立していない（すなわち、ＮＯ）と判定されれば、ステップＳ６２に移行する。
【００３５】
ステップＳ６９においては、割り当て対象のＷｅｂサーバに対して、オーバーフローリソースを割り当てて、図６のリソース割り当てルーチンを終了する。
この場合、オーバーフローリソース（リソースＩＤ＝−１）のＷｅｂサーバリスト３６（図３参照）に、割り当て対象のＷｅｂサーバを追加するとともに、割り当て対象のＷｅｂサーバのリソースＩＤ２７に「−１」を設定する。
【００３６】
なぜなら、ステップＳ６１において第１の条件が成立する場合は、割り当て対象のＷｅｂサーバに初めてアクセスしようとしている状態であり、アクセス間隔２３や経過時間２４などの情報が利用できないので、暫定的にオーバーフローリソース（リソースＩＤ＝−１）を割り当てることになる。
また、ステップＳ６１において第２の条件が成立する場合は、割り当て対象のＷｅｂサーバからＷｅｂページをダウンロードするのに要する平均経過時間が大きく、アクセス間隔２３の実現がそもそも不可能な状態であるので、同様にオーバーフローリソース（リソースＩＤ＝−１）の割り当てを行うことになる。
【００３７】
一方、ステップＳ６１において、第１および第２の条件がいずれも不成立（すなわち、ＮＯ）の場合には、続いて、通信リソースのうち、ノンブロッキングリソース（リソースＩＤ＞０、を示すもの）をすべて処理したか否かを判定する（ステップＳ６２）。
【００３８】
ステップＳ６２において、すべてのノンブロッキングリソースを処理した（すなわち、ＹＥＳ）と判定されれば、すべてのノンブロッキングリソースの割り当てを試みて失敗したことを表しているので、ステップＳ６９に移行し、オーバーフローリソースを割り当てて図６の処理ルーチンを終了する。
【００３９】
また、ステップＳ６２において、未処理のノンブロッキングリソースが残っている（すなわち、ＮＯ）と判定されれば、未処理ノンブロッキングリソースのうち、最小リソースＩＤを持つものを処理対象として選択する（ステップＳ６３）。
なお、ステップＳ６２、Ｓ６３は、リソースＩＤ順に処理を実行することに相当する。
【００４０】
続いて、選択された通信リソースのＷｅｂサーバリスト３６が空であるか否かを判定し（ステップＳ６４）、空である（すなわち、ＹＥＳ）と判定されれば、後述のステップＳ６８に移行する。
【００４１】
一方、ステップＳ６４において、選択された通信リソースのＷｅｂサーバリスト３６が空でない（すなわち、ＮＯ）と判定されれば、各Ｗｅｂサーバのアクセス間隔２３および平均経過時間（＝経過時間２４÷アクセス回数２５）が選択された通信リソースの割り当てを行うための制約条件を満たしているか否かを判定する（ステップＳ６５）。
【００４２】
この場合、アクセス間隔２３に関しては、各通信リソースの最小アクセス間隔３３に定数θ（＞１）を乗じた値よりも小さいことと、最大アクセス間隔３４を定数θで除算した値よりも大きいことと、の両方を制約条件とする。
【００４３】
この制約条件は、リソース割り当て後も、「最大アクセス間隔３４÷最小アクセス間隔３３＜θ２」を成立させるために、Ｗｅｂサーバリスト３６に含まれるすべてのＷｅｂサーバのアクセス間隔２３が一定の範囲内に収まっていることを保証するためのものである。
【００４４】
また、平均経過時間については、選択された通信リソースの最小アクセス間隔３３（図３参照）と合計経過時間３５との差よりも小さいことを制約条件とし、この制約条件は、リソース割り当て後も、「最小アクセス間隔３３＞合計経過時間３５」を保証するためのものである。
【００４５】
ステップＳ６５において、割り当て対象のＷｅｂサーバが選択された通信リソースに対して上記制約条件を満たしていない（すなわち、ＮＯ）と判定されれば、ステップＳ６２に戻って、残りのノンブロッキングリソースの割り当てを試みる。
【００４６】
一方、ステップＳ６５において上記制約条件を満たしている（すなわち、ＹＥＳ）と判定されれば、割り当て対象のＷｅｂサーバへの選択された通信リソースの割り当てを反映するために、最小アクセス間隔３３として、元の値と割り当て対象のＷｅｂサーバのアクセス間隔２３の小さい方の値とを設定し、また、最大アクセス間隔３４として、元の値と割り当て対象のＷｅｂサーバのアクセス間隔２３の大きい方の値とを設定し、さらに、合計経過時間３５に対して、割り当て対象のＷｅｂサーバの平均経過時間（＝経過時間２４÷アクセス回数２５）を加える（ステップＳ６６）。
【００４７】
最後に、選択された通信リソースのＷｅｂサーバリスト３６に、割り当て対象のＷｅｂサーバを追加するとともに、割り当て対象のＷｅｂサーバのリソースＩＤ２７に、選択された通信リソースのリソースＩＤ３２を設定して（ステップＳ６７）、図６のリソース割り当てルーチンを終了する。
【００４８】
一方、ステップＳ６４において、Ｗｅｂサーバリスト３６が空である（すなわち、ＹＥＳ）と判定された場合には、選択された通信リソースに対し単一のＷｅｂサーバを割り当てる場合の処理として、最小アクセス間隔３３および最大アクセス間隔３４に割り当て対象のＷｅｂサーバのアクセス間隔２３を設定し、また、合計経過時間３５に平均経過時間（＝経過時間２４÷アクセス回数２５）を設定して（ステップＳ６８）、最終のステップＳ６７に移行する。
【００４９】
以下、図７〜図９を参照しながら、ダウンロード手段８の動作について説明する。
図７はダウンロード手段８の動作を示すフローチャートであり、ノンブロッキングリソースの１つに対応する場合の処理を示している。
【００５０】
図７において、まず、ダウンロード手段８は、現在時刻を取得して変数開始時刻に設定し（ステップＳ７１）、ダウンロード対象の通信リソースのＷｅｂサーバリスト３６中のＷｅｂサーバ１０をすべて処理したか否かを判定する（ステップＳ７２）。
【００５１】
ステップＳ７２において、Ｗｅｂサーバ１０の処理が完了していない（すなわち、ＮＯ）と判定されれば、未処理Ｗｅｂサーバ１０の１つからＷｅｂページを１つダウンロードし（ステップＳ７３）、ステップＳ７２に戻る。
【００５２】
一方、ステップＳ７２において、Ｗｅｂサーバ１０の処理が完了している（すなわち、ＹＥＳ）と判定されれば、ダウンロード対象の通信リソースのＷｅｂサーバリスト３６中の各Ｗｅｂサーバのアクセス間隔２３、経過時間２４、およびアクセス回数２５に基づく計算により、最小アクセス間隔３３、最大アクセス間隔３４、および合計経過時間３５を再設定する（ステップＳ７４）。
ステップ７４の再計算処理は、ステップＳ７３におけるＷｅｂページダウンロードの結果に応じて更新されるＷｅｂサーバ状態テーブル３の内容を、通信リソース状態テーブル４に反映するために必要となる。
【００５３】
続いて、ダウンロード対象の通信リソースの「最小アクセス間隔３３＞合計経過時間３５」が不成立であるか否かに基づいて、あふれが発生しているか否かを判定し（ステップＳ７５）、あふれが発生している（すなわち、ＹＥＳ）と判定されれば、Ｗｅｂサーバリスト３６中の各Ｗｅｂサーバ１０に対し、現在のリソース割り当てを解除し、割り当て手段７を呼び出して、前述（図６）のリソース割り当て処理を再度実行する（ステップＳ７６）。
【００５４】
この結果、一部のＷｅｂサーバは、別のノンブロッキングリソースやオーバーフローリソースが割り当てられ、元のノンブロッキングリソースについては、あふれが解消することになる。
以下、ステップＳ７１に戻って上記処理を続行する。
【００５５】
一方、ステップＳ７５において、あふれが発生していない（すなわち、ＮＯ）と判定されれば、続いて、「開始時刻＋最小アクセス間隔３３−現在時刻」が閾値以上か否かに基づいて、空き時間が発生したか否かを判定する（ステップＳ７７）。
ステップＳ７７において、空き時間が発生していない（すなわち、ＮＯ）と判定されれば、直ちにステップＳ７１に戻って上記処理を続行する。
【００５６】
また、ステップＳ７７において、空き時間が発生している（すなわち、ＹＥＳ）と判定されれば、オーバーフローリソースのＷｅｂサーバリストに含まれる各Ｗｅｂサーバにつき、割り当て手段７を呼び出して、図６のフローチャートにしたがう現通信リソースの割り当て処理を実行する（ステップＳ７８）。
【００５７】
これにより、現通信リソースに割り当て可能なＷｅｂサーバが存在していれば、オーバーフローリソースからノンブロッキングリソースへの再割り当てが行われる。
最後に、「空き時間（＝開始時刻＋最小アクセス間隔３３−現在時刻）分だけ実行を停止して待機し（ステップＳ７９）、待機期間の終了後にステップＳ７１に戻る。
【００５８】
図８は図７内のＷｅｂページダウンロード処理（ステップＳ７３）を詳細に示すフローチャートである。
図８において、まず、ダウンロード手段８は、ダウンロード対象となるＷｅｂサーバに属するＷｅｂページをＷｅｂページ状態テーブル５から検索し、判定時間（＝次回アクセス予定時刻＝最終アクセス時刻４４＋推定更新間隔４３）が最小値を示すＷｅｂページを１つ選択する（ステップＳ８１）。
【００５９】
このとき、ＵＲＩ４２（図４参照）は、先頭部分にＷｅｂサーバ名を含むので、Ｗｅｂページ状態テーブル５をＵＲＩ４２の文字列順に編成することなどにより、Ｗｅｂサーバに対応するＷｅｂページを容易に検索することができる。
【００６０】
また、公知の特許文献（たとえば、特開２００３−２７１６７０号公報の図１５）に記載のＵＲＬインデックスと同様の「補助的なデータ構造」を用いて、ＷｅｂページのＵＲＩをＷｅｂサーバ名および次回アクセス時刻の順に格納しておいてもよい。
【００６１】
続いて、ダウンロード対象のＷｅｂサーバにアクセスし、選択されたＷｅｂページのダウンロードを行い、そのコンテンツを記憶部２に格納する（ステップＳ８２）。
ステップ８２の処理は、ＤＮＳプロトコルによるＷｅｂサーバ名からＩＰアドレスへの変換や、ＨＴＴＰプロトコルによるＵＲＩの送信およびコンテンツの受信を含む。
【００６２】
続いて、選択されたＷｅｂページのダウンロードに要した時間を、Ｗｅｂサーバ状態テーブル３のダウンロード対象のＷｅｂサーバに対応する経過時間２４に加算するとともに、アクセス回数２５に「１」を加える（ステップＳ８３）。
【００６３】
続いて、Ｗｅｂページ状態テーブル５の選択されたＷｅｂページに対応する最終アクセス時刻４４と、Ｗｅｂサーバ状態テーブル３のダウンロード対象のＷｅｂサーバに対応する最終アクセス時刻２６とに対して、現在時刻を設定する（ステップＳ８４）。
【００６４】
最後に、ダウンロードの結果に基づいて選択されたＷｅｂページの推定更新間隔４３（図４参照）の更新を行い（ステップＳ８５）、図８の処理ルーチンを終了する。
なお、ステップＳ８５においては、前述の公知文献（日本データベース学会Ｌｅｔｔｅｒｓ  Ｖｏｌ．６、Ｎｏ．１、ｐｐ．１７３−１７６「大規模Ｗｅｂアーカイブのための更新クローラの設計と実装」田村孝之、喜連川優）などに示された方法を用いることができる。
【００６５】
簡単な例として、推定更新間隔４３は、前回のダウンロードと同一コンテンツをダウンロードした場合には増加し、異なるコンテンツをダウンロードした場合には減少する。
各Ｗｅｂページを推定更新間隔４３ごとに繰り返しアクセスする場合、各Ｗｅｂページに対する単位時間当たりのアクセス頻度は、推定更新間隔４３の逆数となる。
【００６６】
また、或るＷｅｂサーバに属するＷｅｂページのアクセス頻度の総和は、そのＷｅｂサーバに対する最小限のアクセス頻度となり、そのＷｅｂサーバのアクセス間隔２３は、最小限のアクセス頻度の逆数で与えられる。
したがって、ステップＳ８５において、Ｗｅｂページの推定更新間隔４３を更新した後に、対応するＷｅｂサーバのアクセス間隔２３も合わせて更新する。
【００６７】
図９はオーバーフローリソースに対応するダウンロード手段８の動作を示すフローチャートである。
図９において、まず、ダウンロード手段８は、オーバーフローリソースのＷｅｂサーバリスト３６（図３参照）に含まれるＷｅｂサーバのうち、所定の条件「最終アクセス時刻２６＋アクセス間隔２３−経過時間２４÷アクセス回数２５＜現在時刻」を満たすＷｅｂサーバが存在するか否かに基づいて、「次アクセス開始候補」が存在するか否かを判定する（ステップＳ９１）。
【００６８】
ステップＳ９１において、上記条件を満たすようなＷｅｂサーバが存在しない（すなわち、ＮＯ）と判定されれば、ステップＳ９１の判定処理を繰り返し実行し、上記条件を満たすＷｅｂサーバが出現するまで待機する。
なお、ステップＳ９１を間断なく繰り返す代わりに、セマフォや条件変数などの並行処理同期プリミティブを用いて、Ｗｅｂサーバ状態テーブル３の内容が変化するまで待機するようにしてもよい。
【００６９】
一方、ステップＳ９１において、上記条件を満たすＷｅｂサーバが存在する（すなわち、ＹＥＳ）と判定されれば、そのうちの１つを選択してＷｅｂサーバリスト３６から除去して（ステップＳ９２）、選択されたＷｅｂサーバからＷｅｂページを１つダウンロードする（ステップＳ９３）。
ステップＳ９２、Ｓ９３は、図８内の処理（ステップＳ８１、Ｓ８２）と同様である。
【００７０】
最後に、選択されたＷｅｂサーバを元のＷｅｂサーバリスト３６に再度挿入し（ステップＳ９４）、ステップＳ９１に戻って上記処理を続行する。
【００７１】
なお、ダウンロード（ステップＳ９３）の実行中において、ステップＳ９２で選択されたＷｅｂサーバをＷｅｂサーバリスト３６から除去する理由は、図７内のステップＳ７８により、選択されたＷｅｂサーバに対するリソース再割り当てが発生することを防ぐためである。
【００７２】
ダウンロード手段８は、通信リソースごとに複数で並行的に動作し、マルチスレッドプログラミングや、イベント駆動型プログラミングにより実現されるが、Ｗｅｂサーバ状態テーブル３および通信リソース状態テーブル４に対する更新が干渉しないように、適切な排他制御を行う必要がある。
【００７３】
また、オーバーフローリソースとしては、単一リソースのみならず、複数リソースを用いることもできる。この場合、通信リソース状態テーブル４は、「リソースＩＤ＝−１」に対応する単一のエントリを、各オーバーフローリソースで共有し、図９のフローチャートを各リソースに対応して、複数で並行して実行すればよい。
【００７４】
図１０はこの発明の実施の形態１による効果を示す説明図であり、（ａ）は従来のＷｅｂサーバアクセススケジューリングの結果を示し、（ｂ）はこの発明の実施の形態１によるＷｅｂサーバアクセススケジューリングの結果を示している。
【００７５】
図１０において、（ａ）に示す従来システムでは、経過時間の大きい低速なＷｅｂサーバＢ、Ｄが、高速なＷｅｂサーバＡ、Ｃとともに各通信リソースｅ、ｆを共有することを防ぐことができないので、ＷｅｂサーバＡ、Ｂの経過時間の合計が最小アクセス間隔Ｔａを上回ってリソース待ち時間Ｔｂが生じる可能性がある。
【００７６】
これに対し、（ｂ）に示すこの発明の実施の形態１によれば、高速なＷｅｂサーバＡ、Ｃに通信リソースＥが割り当てられ、低速なＷｅｂサーバＢ、Ｄに通信リソースＦが割り当てられるので、低速なＷｅｂサーバＢ、Ｄと高速なＷｅｂサーバＡ、Ｃとが各通信リソースＥ、Ｆを共有することがない。したがって、リソース待ち時間（図１０（ａ）内のＴｂ）の発生を防ぐことができる。
【００７７】
以上のように、この発明の実施の形態１に係るＷｅｂサーバアクセススケジューリングシステムは、記憶部２と、ダウンロード手段８と、割り当て手段７とを備え、記憶部２は、Ｗｅｂサーバ状態テーブル３と、通信リソース状態テーブル４と、を有している。
Ｗｅｂサーバ状態テーブル３は、所定のＷｅｂサーバ群の各Ｗｅｂサーバに対するアクセス間隔目標値（アクセス間隔２３）と、通信リソース割り当て状態（リソースＩＤ２７）と、１アクセス当たり平均経過時間と、を記憶する。通信リソース状態テーブル４は、所定の通信リソース群の各通信リソースに対する空き容量を記憶する。
【００７８】
ダウンロード手段８は、記憶部２に記憶させたＷｅｂサーバ１０ごとのアクセス間隔目標値（アクセス間隔２３）と、Ｗｅｂサーバ１０への通信リソース割り当て状態（リソースＩＤ２７）とに基づいて、Ｗｅｂサーバ群からダウンロード対象のＷｅｂサーバを選択して、コンテンツをダウンロードするとともに、ダウンロードの経過時間２４の実績に基づいて、選択されたＷｅｂサーバの１アクセス当たり平均経過時間を記憶部２に記憶させる。
【００７９】
また、割り当て手段７は、各Ｗｅｂサーバに対して、アクセス間隔目標値、平均経過時間、および空き容量が所定の条件を満たす通信リソースを通信リソース群から１つ選択して割り当て、割り当てた結果を通信リソース割り当て状態として記憶部２に記憶させる。
【００８０】
これにより、Ｗｅｂサーバ１０ごとに、１ページ当たりの平均経過時間の測定値を記憶し、Ｗｅｂページ更新への追随に必要な「Ｗｅｂサーバアクセス間隔」が経過するまでにアクセスが一巡するように、Ｗｅｂサーバ１０をグループ化して専用の通信リソースを割り当てることができるので、予測不能なリソース待ちの発生を防ぎ、所望のＷｅｂ情報収集を確実に行うことができる。
【００８１】
なお、空き容量は、空き容量に対応する通信リソースが割り当てられたすべてのＷｅｂサーバに関する、アクセス間隔目標値の最小値と平均経過時間の総和との差である。
また、所定の条件は、
（１）Ｗｅｂサーバの平均経過時間が各通信リソースの空き容量以下であることと、
（２）Ｗｅｂサーバのアクセス間隔目標値と、空き容量に対応する通信リソースが割り当てられたすべてのＷｅｂサーバに関するアクセス間隔目標値の最小値との比が一定値未満であることと、
（３）空き容量に対応する通信リソースが割り当てられたすべてのＷｅｂサーバに関するアクセス間隔目標値の最大値と、Ｗｅｂサーバのアクセス間隔目標値との比が一定値未満であることと、
のすべてを含む。
【００８２】
ダウンロード手段８は、各通信リソースについて、その通信リソースが割り当てられた各Ｗｅｂサーバから巡回的にダウンロードを行い、各Ｗｅｂサーバを一巡するごとに、各Ｗｅｂサーバを一巡するのに要した時間が、通信リソースが割り当てられたすべてのＷｅｂサーバに関するアクセス間隔目標値の最小値を下回らないように待機する。
【００８３】
また、ダウンロード手段８は、各Ｗｅｂサーバからダウンロードした各コンテンツの更新履歴から各コンテンツの推定更新間隔４３を算出し、各Ｗｅｂサーバに対応するアクセス間隔目標値を、各Ｗｅｂサーバに属するすべてのコンテンツに関する推定更新間隔４３の逆数の総和の逆数として与える。
【００８４】
また、割り当て手段７は、Ｗｅｂサーバ群のいずれかのＷｅｂサーバに対し、所定の条件を満たす通信リソースが通信リソース群に存在しない場合に、所定の通信リソース群とは異なる別の（第３の）通信リソース群（所定数からなる）から、通信リソースをオーバーフローリソースとして割り当てる。このとき、ダウンロード手段８は、別の（第３の）通信リソース群のいずれかの通信リソースが割り当てられた各Ｗｅｂサーバのうち、前回ダウンロード終了から所定時間が経過したＷｅｂサーバに対して、順次ダウンロードを行う。
ここで、所定時間は、各Ｗｅｂサーバに関するアクセス間隔目標値と平均経過時間との差である。
【００８５】
また、ダウンロード手段８は、通信リソース群のいずれかの通信リソースが割り当てられたＷｅｂサーバからのダウンロード後に、Ｗｅｂサーバの平均経過時間およびアクセス間隔目標値を更新した結果、Ｗｅｂサーバに割り当てられた通信リソースの空き容量が一定値以上に達した場合に、別の（第３の）通信リソース群のいずれかの通信リソースが割り当てられた各Ｗｅｂサーバに対して、通信リソースの再割り当てを割り当て手段７に行わせる。
【００８６】
また、ダウンロード手段８は、Ｗｅｂサーバ群のいずれかのＷｅｂサーバからのダウンロード後に、Ｗｅｂサーバの平均経過時間およびアクセス間隔目標値を更新した結果、所定の条件が満たされなくなった場合に、Ｗｅｂサーバに対する通信リソースの再割り当てを割り当て手段７に行わせる。
【００８７】
このように、オーバーフローリソースを設け、先着順でＷｅｂサーバ１０へのリソース割り当てを行うことにより、ノンブロッキング通信が実現できないＷｅｂサーバ（未アクセスのＷｅｂサーバや、非常に低速なＷｅｂサーバ）に対する通信が全く行われないことを回避することができる。
また、Ｗｅｂサーバ１０からダウンロードを行うことで平均経過時間などの条件が変化した場合には、通信リソースの再割り当てを行うことにより、常に最適な状態を維持することができる。
【００８８】
なお、上記実施の形態１では、図７内のステップＳ７２およびＳ７３に示したように、ダウンロード手段８は、或るノンブロッキングリソースが割り当てられた各Ｗｅｂサーバを巡回的にアクセスしているので、同一の通信リソースが割り当てられるＷｅｂサーバは、ほぼ等しいアクセス間隔２３を持つ必要がある。このため、割り当て手段７は、図６内のステップＳ６５によりこれを保証しているが、ダウンロード手段８が、アクセス対象となるＷｅｂサーバを動的に選択するようにしてもよい。
【００８９】
たとえば、Ｗｅｂサーバ１０への繰り返しアクセスは、アクセス間隔２３を実行周期、平均経過時間を実行時間（ＣＰＵ時間）とするリアルタイムスケジューリングの問題と捉えることができるので、効率的なリアルタイムスケジューリングアルゴリズムとして知られるＥＤＦ（Ｅａｒｌｉｅｓｔ  Ｄｅａｄｌｉｎｅ  Ｆｉｒｓｔ）手法に基づき、以下のように、Ｗｅｂサーバを動的に選択することができる。
【００９０】
この場合、ダウンロード手段８は、各通信リソースのいずれかが割り当てられたＷｅｂサーバであって、前回ダウンロード終了から所定時間が経過した各Ｗｅｂサーバのうち、判定時間が最小となるＷｅｂサーバから順次ダウンロードを行う。
ここで、所定時間は、各Ｗｅｂサーバ１０に関するアクセス間隔目標値と平均経過時間との差であり、判定時間は、各Ｗｅｂサーバ１０の前回ダウンロード終了時刻に、所定時間の２倍を加算した値である。
【００９１】
すなわち、Ｗｅｂサーバ１０へのアクセスにおいては、前回ダウンロード開始からアクセス間隔の２倍の時間が経過するまでに、次のダウンロードを終了する必要があるので、「最終アクセス時刻２６＋２×（アクセス間隔２３−経過時間２４÷アクセス回数２５）」が次回ダウンロードを開始する期限（Ｄｅａｄ−ｌｉｎｅ）となり、この値が最も小さなＷｅｂサーバが次のダウンロード対象となる。
ただし、「最終アクセス時刻２６＋アクセス間隔２３−経過時間２４÷アクセス回数２５＜現在時刻」となるＷｅｂサーバは、負荷抑制の目的ために、スケジュール対象外とする。
【００９２】
上記のＷｅｂサーバの動的選択により、同一の通信リソースが割り当てられるＷｅｂサーバのアクセス間隔２３に関する制約は不要になるので、割り当て手段７の動作（図６内のステップＳ６５）は、通信リソースごとの割り当て済みＷｅｂサーバに関する平均経過時間とアクセス間隔との比の総和が一定値を超えないように制御すること、と変更することができる。
【００９３】
すなわち、空き容量は、値「１」を超えない定数と、空き容量に対応する通信リソースが割り当てられたすべてのＷｅｂサーバに関する、平均経過時間とアクセス間隔目標値の比の総和との差である。
また、所定の条件は、Ｗｅｂサーバの平均経過時間とアクセス間隔目標値との比が、通信リソースの空き容量以下であることを含む。
【００９４】
一般に、計算タスクのように、実行中のタスクをより優先度の高いタスクがプリエンプト（カーネルによる処理が途中であっても、他の処理にＣＰＵを割り当てること）してもよい場合は、「一定値＝１」に設定可能なことが知られているが、Ｗｅｂサーバアクセスにおいては、プリエンプトは不適切であり、かつ複数の通信リソースを考慮する必要があることから、理論的な上限値は知られていない。
ただし、一定値が大き過ぎると、通信リソースに対して割り当てられるＷｅｂサーバ数が多くなり、互いにアクセスをブロックしてしまうので、安全を見込んで「０．７」などの小さい値に設定しておく必要がある。
【００９５】
実施の形態２．
なお、上記実施の形態１では、オーバーフローリソースの種類について考慮しなかったが、図１１および図１２に示すように、オーバーフローリソースを３種類に分類して、それぞれ異なる制御を行うようにしてもよい。
【００９６】
図１１、図１２はこの発明の実施の形態２による割り当て手段７およびダウンロード手段８の動作を示すフローチャートである。
この場合、「リソースＩＤ＝−１」で表されるオーバーフローリソースと、「リソースＩＤ＝−２」で表されるハードオーバーフローリソースと、「リソースＩＤ＝−３」で表される未アクセスＷｅｂサーバ用リソースと、に対応した３種類の制御が行われる。
【００９７】
以下、図１１を参照しながら、割り当て手段７の動作について説明する。
図１１において、ステップＳ１１１〜Ｓ１１４は、前述（図６）のステップＳ６１に代えて実行される処理である。
まず、割り当て手段７は、割り当て対象のＷｅｂサーバのアクセス回数２５（図２参照）を「０」と比較して、アクセス回数＝０であるか否かを判定する（ステップＳ１１１）。
ステップＳ１１１において、アクセス回数＝０（すなわち、ＹＥＳ）と判定されれば、割り当て対象のＷｅｂサーバに対して、新たに導入した「未アクセスＷｅｂサーバ用リソース」を割り当てて（ステップＳ１１２）、図１１の処理ルーチンを終了する。
このとき、割り当て手段７は、リソースＩＤ＝−３に対応するＷｅｂサーバリスト３６（図３参照）に割り当て対象のＷｅｂサーバを追加し、割り当て対象のＷｅｂサーバのリソースＩＤ２７に「−３」を設定する。
【００９８】
一方、ステップＳ１１１において、アクセス回数＞０（すなわち、ＮＯ）と判定されれば、続いて、割り当て対象のＷｅｂサーバのアクセス間隔２３が平均経過時間（＝経過時間２４÷アクセス回数２５）よりも小さいか否かを判定し（ステップＳ１１３）、アクセス間隔≧平均経過時間（すなわち、ＮＯ）と判定されれば、前述（図６）のステップＳ６２に移行する。
【００９９】
一方、ステップＳ１１３において、アクセス間隔＜平均経過時間（すなわち、ＹＥＳ）と判定されれば、割り当て対象のＷｅｂサーバに新たに導入したハードオーバーフローリソースを割り当てて（ステップＳ１１４）、図１１の処理ルーチンを終了する。
このとき、割り当て手段７は、リソースＩＤ＝−２に対応するＷｅｂサーバリスト３６に割り当て対象のＷｅｂサーバを追加し、割り当て対象のＷｅｂサーバのリソースＩＤ２７に「−２」を設定する。
【０１００】
以下、図１２を参照しながら、ダウンロード手段８の動作について説明する。
図１２は未アクセスＷｅｂサーバ用リソース（リソースＩＤ＝−３）に対応する処理を示している。
まず、ダウンロード手段８は、未アクセスＷｅｂサーバ用リソースのＷｅｂサーバリスト３６にＷｅｂサーバが存在するか否かを判定し（ステップＳ１２１）、Ｗｅｂサーバが存在しない（すなわち、ＮＯ）と判定されれば、未アクセスＷｅｂサーバ用リソースのＷｅｂサーバリスト３６にＷｅｂサーバが挿入されるまで待機する。
【０１０１】
ステップＳ１２１において、未アクセスＷｅｂサーバ用リソースのＷｅｂサーバリスト３６にＷｅｂサーバが存在する（すなわち、ＹＥＳ）と判定されれば、そのＷｅｂサーバリストから１つのＷｅｂサーバを選択して除去し（ステップＳ１２２）、選択したＷｅｂサーバからのＷｅｂページダウンロードを、前述（図８）と同様の処理手順にしたがって実行する（ステップＳ１２３）。
【０１０２】
続いて、ステップＳ１２３におけるダウンロードの結果に基づき、Ｗｅｂサーバが存在するか否かを判定する（ステップＳ１２４）。
このとき、ダウンロードが成功した場合にはＷｅｂサーバが存在することが明らかであるが、ダウンロードに失敗した場合でも、通信相手の不在によるエラーであるか、またはＷｅｂサーバによるエラー応答であるか、を区別する必要がある。
また、一時的なネットワーク経路の障害により、Ｗｅｂサーバ１０との間の通信に失敗することもあるので、一定回数にわたってリトライしたうえで、Ｗｅｂサーバの有無を判定することが望ましい。
【０１０３】
ステップＳ１２４において、Ｗｅｂサーバが存在する（すなわち、ＹＥＳ）と判定されれば、Ｗｅｂサーバをオーバーフローリソース（リソースＩＤ＝−１）のＷｅｂサーバリスト３６に挿入し、ＷｅｂサーバのリソースＩＤ２７を「−１」に設定して（ステップＳ１２５）、ステップＳ１２１に戻る。
【０１０４】
また、ステップＳ１２４において、Ｗｅｂサーバの存在は確認できなかったものの、リトライ回数が制限回数に達していない場合には、「判定保留」として、Ｗｅｂサーバを元の未アクセスＷｅｂサーバ用リソース（リソースＩＤ＝−３）のＷｅｂサーバリスト３６の末尾に挿入して（ステップＳ１２６）、ステップＳ１２１に戻る。
これにより、リトライ制限回数に達するまで、選択されたＷｅｂサーバに対する処理が繰り返し実行されることになる。
【０１０５】
一方、リトライを制限回数だけ繰り返したうえで、ステップＳ１２４において、Ｗｅｂサーバの存在が確認できず、Ｗｅｂサーバが存在しない（すなわち、ＮＯ）と判定されれば、直ちにステップＳ１２１に戻り、それ以後、選択されたＷｅｂサーバへのリソース割り当て処理は行われなくなる。
【０１０６】
なお、「ハードオーバーフローリソース（リソースＩＤ＝−２）」に対応するダウンロード手段８の動作については、前述（図９参照）と同様なので、ここでは説明を省略する。
ただし、ノンブロッキングリソースに対応するダウンロード手段８の動作（図７参照）において、再割り当て処理（ステップＳ７８）は、「オーバーフローリソース」のみを対象としており、「ハードオーバーフローリソース」は対象としない。
【０１０７】
以上のように、この発明の実施の形態２による割り当て手段７は、Ｗｅｂサーバ群のいずれかのＷｅｂサーバに対し、平均経過時間がアクセス間隔目標値を上回っている場合に、所定の通信リソース群とは異なる別の（第２の）通信リソース群（所定数からなる）から通信リソースを、ハードオーバーリソースとして割り当てる。このとき、ダウンロード手段８は、別の（第２の）通信リソース群のいずれかの通信リソースが割り当てられた各Ｗｅｂサーバに対して、順次ダウンロードを行う。
【０１０８】
また、割り当て手段７は、Ｗｅｂサーバ群のいずれかのＷｅｂサーバに対して、過去にアクセスしたことがない場合に、所定の通信リソース群とは異なる別の（第４の）通信リソース群（所定数からなる）から、通信リソースを未アクセスＷｅｂサーバ用リソースとして割り当てる。
この場合、ダウンロード手段８は、第４の通信リソース群のいずれかの通信リソースが割り当てられた各Ｗｅｂサーバに対し、順次ダウンロードを行うとともに、Ｗｅｂサーバとの通信に成功した場合には、Ｗｅｂサーバに対して、新たに別の（第３の）通信リソース群のいずれかの通信リソースを、オーバーフローリソースとして割り当て手段７に割り当てさせるか、または、通信リソースの再割り当てを割り当て手段７に行わせる。
【０１０９】
また、ダウンロード手段８は、第４の通信リソース群のいずれかの通信リソースが割り当てられた各Ｗｅｂサーバとの通信に成功しなかった場合に、Ｗｅｂサーバとの通信を所定回数に達するまで再試行するとともに、所定回数だけ通信を繰り返してもＷｅｂサーバとの通信に成功しなかった場合には、Ｗｅｂサーバにいずれの通信リソースも割り当てないようにする。
【０１１０】
これにより、オーバーフローリソースが、物理的なリソース不足に対応する「オーバーフローリソース」と、Ｗｅｂサーバ自体の特性上オーバーフローが避けられない「ハードオーバーフローリソース」と、Ｗｅｂサーバが存在しないことにより接続タイムアウトまでの大きな遅延が発生する可能性のある「未アクセスＷｅｂサーバ用リソース」とに細分化されるので、オーバーフローリソースが割り当てられた各Ｗｅｂサーバとの通信をより多く行い、一時的なリソース不足の影響を低減することができる。
【０１１１】
実施の形態３．
なお、上記実施の形態２では、オーバーフローリソースを３種類に分類したが、図１３〜図１６に示すように、４種類に分類してもよい。
図１３〜図１６はこの発明の実施の形態３を示しており、図１３はＷｅｂサーバ状態テーブル３ａの説明図、図１４は割り当て手段７の動作を示すフローチャート、図１５および図１６はダウンロード手段８の動作を示すフローチャートである。
【０１１２】
この発明の実施の形態３においては、前述の実施の形態２に対し、さらに「コンテンツ判定中Ｗｅｂサーバ用リソース（リソースＩＤ＝−４）」を加えた制御を行う。
この場合、Ｗｅｂサーバアクセススケジューリングシステムは、前述（図２参照）のＷｅｂサーバ状態テーブル３に代えて、図１３に示すＷｅｂサーバ状態テーブル３ａを用いる。
【０１１３】
図１３において、Ｗｅｂサーバ状態テーブル３ａは、前述のＷｅｂサーバ状態テーブル３に対して、日本語ページ数２８の項目が追加されている。
日本語ページ数２８は、対応するＷｅｂサーバに属するＷｅｂページのうち、ダウンロードの結果、「日本語で記述されている」と判明したＷｅｂページ数である。
【０１１４】
なお、Ｗｅｂページの記述言語の判定は、バイト値の出現頻度から文字コードを推定することにより可能であり、Ｗｅｂブラウザなどに組み込まれて広く利用されている。
たとえば公知の選択的Ｗｅｂ情報収集装置（特開２００６−２３５７２９号公報参照）には、Ｗｅｂページの記述言語に基づき、Ｗｅｂサーバの使用言語を判定し、特定言語が使用されているＷｅｂサーバ上のＷｅｂページを選択的に収集する技術が開示されており、この発明の実施の形態３は、この公知技術との組み合わせにより効果を発揮する。
【０１１５】
図１４において、この発明の実施の形態３による割り当て手段７は、前述（図６、図１１参照）のステップＳ６１またはステップＳ１１１〜１１４に代えて、ステップＳ１４１〜Ｓ１４６を実行する。
まず、割り当て手段７は、割り当て対象のＷｅｂサーバのアクセス回数２５（図１３参照）を「０」と比較して、アクセス回数＝０であるか否かを判定する（ステップＳ１４１）。
【０１１６】
ステップＳ１４１において、アクセス回数＝０（すなわち、ＹＥＳ）と判定されれば、割り当て対象のＷｅｂサーバに「未アクセスＷｅｂサーバ用リソース」を割り当てて（ステップＳ１４２）、図１４の処理ルーチンを終了する。
このとき、割り当て手段７は、リソースＩＤ＝−３に対応するＷｅｂサーバリスト３６（図３参照）に割り当て対象のＷｅｂサーバを追加し、割り当て対象のＷｅｂサーバのリソースＩＤ２７に「−３」を設定する。
【０１１７】
一方、ステップＳ１４１において、アクセス回数＞０（すなわち、ＮＯ）と判定されれば、続いて、割り当て対象のＷｅｂサーバの日本語ページ数２８（図１３参照）を「０」と比較して、日本語ページ数＝０であるか否かを判定する（ステップＳ１４３）。
【０１１８】
ステップＳ１４３において、日本語ページ数＝０（すなわち、ＹＥＳ）と判定されれば、割り当て対象のＷｅｂサーバに、今回新たに導入した「コンテンツ判定中Ｗｅｂサーバ用リソース」を割り当てて（ステップＳ１４４）、図１４の処理ルーチンを終了する。
このとき、割り当て手段７は、リソースＩＤ＝−４に対応するＷｅｂサーバリスト３６に割り当て対象のＷｅｂサーバを追加し、割り当て対象のＷｅｂサーバのリソースＩＤ２７に「−４」を設定する。
【０１１９】
一方、ステップＳ１４３において、日本語ページ数＞０（すなわち、ＮＯ）と判定されれば、続いて、割り当て対象のＷｅｂサーバのアクセス間隔２３が平均経過時間（＝経過時間２４÷アクセス回数２５）よりも小さいか否かを判定し（ステップＳ１４５）、アクセス間隔≧平均経過時間（すなわち、ＮＯ）と判定されれば、図６内のステップＳ６２に移行する。
【０１２０】
一方、ステップＳ１４５において、アクセス間隔＜平均経過時間（すなわち、ＹＥＳ）と判定されれば、割り当て対象のＷｅｂサーバに「ハードオーバーフローリソース」を割り当てて（ステップＳ１４６）、図１４の処理ルーチンを終了する。
このとき、割り当て手段７は、リソースＩＤ＝−２に対応するＷｅｂサーバリスト３６に割り当て対象のＷｅｂサーバを追加し、割り当て対象のＷｅｂサーバのリソースＩＤ２７に「−２」を設定する。
【０１２１】
以下、図１５および図１６を参照しながら、ダウンロード手段８の動作について説明する。
図１５は未アクセスＷｅｂサーバ用リソース（リソースＩＤ＝−３）に対応する処理を示しており、ステップＳ１５１〜Ｓ１５４、Ｓ１５７、Ｓ１５８は、前述（図１２）のステップＳ１２１〜Ｓ１２６と同様の処理である。
【０１２２】
図１５において、まず、ダウンロード手段８は、未アクセスＷｅｂサーバ用リソースのＷｅｂサーバリスト３６にＷｅｂサーバが存在するか否かを判定し（ステップＳ１５１）、Ｗｅｂサーバが存在しない（すなわち、ＮＯ）と判定されれば、未アクセスＷｅｂサーバ用リソースのＷｅｂサーバリスト３６にＷｅｂサーバが挿入されるまで待機する。
【０１２３】
ステップＳ１５１において、未アクセスＷｅｂサーバ用リソースのＷｅｂサーバリスト３６にＷｅｂサーバが存在する（すなわち、ＹＥＳ）と判定されれば、各Ｗｅｂサーバリストから１つのＷｅｂサーバを選択して除去し（ステップＳ１５２）、選択したＷｅｂサーバからのＷｅｂページダウンロードを、前述（図８）と同様の処理手順にしたがって実行する（ステップＳ１５３）。
【０１２４】
続いて、ステップＳ１５３におけるダウンロードの結果に基づき、Ｗｅｂサーバが存在するか否かを判定し（ステップＳ１５４）、所定のリトライ制限回数だけリトライを繰り返してもＷｅｂサーバの存在が確認できない（すなわち、ＮＯ）と判定されれば、直ちにステップＳ１５１に戻り、それ以後、各Ｗｅｂサーバへのリソース割り当て処理は行われなくなる。
【０１２５】
また、ステップＳ１５４において、Ｗｅｂサーバの存在は確認できなかったものの、リトライ制限回数に達していない場合には、「判定保留」として、Ｗｅｂサーバを、元の未アクセスＷｅｂサーバ用リソース（リソースＩＤ＝−３）のＷｅｂサーバリスト３６の末尾に挿入し、ステップＳ１５１に戻る（ステップＳ１５８）。
【０１２６】
一方、ステップＳ１５４において、Ｗｅｂサーバが存在する（すなわち、ＹＥＳ）と判定されれば、続いて、ダウンロードしたＷｅｂページの記述言語が日本語である（所定条件を満たす）か否かを判定する（ステップＳ１５５）。
【０１２７】
ステップＳ１５５において、Ｗｅｂページの記述言語が日本語でない（すなわち、ＮＯ）と判定されれば、選択されたＷｅｂサーバをコンテンツ判定中Ｗｅｂサーバ用リソース（リソースＩＤ＝−４）のＷｅｂサーバリスト３６に挿入し、選択されたＷｅｂサーバのリソースＩＤに「−４」を設定して（ステップＳ１５６）、ステップＳ１５１に戻る。
【０１２８】
一方、ステップＳ１５５において、Ｗｅｂページの記述言語が日本語である（すなわち、ＹＥＳ）と判定されれば、選択されたＷｅｂサーバを、オーバーフローリソース（リソースＩＤ＝−１）のＷｅｂサーバリスト３６に挿入し、選択されたＷｅｂサーバのリソースＩＤ２７を「−１」に設定して（ステップＳ１５７）、ステップＳ１５１に戻る。
【０１２９】
図１６はコンテンツ判定中Ｗｅｂサーバ用リソース（リソースＩＤ＝−４）に対応するダウンロード手段８の動作を示している。
図１６において、まず、ダウンロード手段８は、コンテンツ判定中Ｗｅｂサーバ用リソースのＷｅｂサーバリスト３６に、条件「最終アクセス時刻２６＋アクセス間隔２３−経過時間２４÷アクセス回数２５＜現在時刻」を満たすＷｅｂサーバ（次アクセス開始候補Ｗｅｂサーバ）が存在するか否かを判定し（ステップＳ１６１）、Ｗｅｂサーバが存在しない（すなわち、ＮＯ）と判定されれば、次アクセス開始候補Ｗｅｂサーバが現れるまで待機する。
【０１３０】
ステップＳ１６１において、次アクセス開始候補Ｗｅｂサーバが存在する（すなわち、ＹＥＳ）と判定されれば、上記条件を満たすＷｅｂサーバを１つ選択してＷｅｂサーバリスト３６から除去し（ステップＳ１６２）、選択したＷｅｂサーバからのＷｅｂページダウンロードを、前述（図８）の処理手順にしたがって実行する（ステップＳ１６３）。
【０１３１】
続いて、ダウンロードしたＷｅｂページの記述言語に基づき、選択されたＷｅｂサーバにおける使用言語が日本語であるか否かを判定し（ステップＳ１６４）、一定数（閾値）以上のＷｅｂページをアクセスしても日本語Ｗｅｂページが見付からず、Ｗｅｂサーバの使用言語が日本語でない（すなわち、ＮＯ）と判定されれば、直ちにステップＳ１６１に戻り、それ以後、選択されたＷｅｂサーバへのリソース割り当て処理は行われなくなる。
【０１３２】
また、ステップＳ１６４において、各Ｗｅｂページの記述言語が非日本語であるが、各Ｗｅｂサーバのアクセス回数２５が閾値以下である場合には、「判定保留」として、Ｗｅｂサーバを元のコンテンツ判定中Ｗｅｂサーバ用リソース（リソースＩＤ＝−４）のＷｅｂサーバリスト３６に挿入し（ステップＳ１６６）、ステップＳ１６１に戻る。
【０１３３】
一方、ステップＳ１６４において、Ｗｅｂサーバの使用言語が日本語である（すなわち、ＹＥＳ）と判定されれば、選択されたＷｅｂサーバをオーバーフローリソース（リソースＩＤ＝−１）のＷｅｂサーバリスト３６に挿入し、選択されたＷｅｂサーバのリソースＩＤ２７を「−１」に設定して（ステップＳ１６５）、ステップＳ１６１に戻る。
なお、「ハードオーバーフローリソース（リソースＩＤ＝−２）」に対応するダウンロード手段８の動作については、前述（図９参照）と同様なので、ここでは説明を省略する。
【０１３４】
以上のように、この発明の実施の形態３において、記憶部２は、Ｗｅｂサーバ状態テーブル３および通信リソース状態テーブル４に加えて、ダウンロードした各Ｗｅｂページの状態を記憶するＷｅｂページ状態テーブル５と、各Ｗｅｂページのコンテンツを記憶するＷｅｂページコンテンツテーブル６とを備えている
また、割り当て手段７は、Ｗｅｂサーバ群のいずれかのＷｅｂサーバに対して、過去に所定条件を満たすコンテンツをダウンロードしたことがない場合に、所定の通信リソース群とは異なる別の（第５の）通信リソース群（所定数からなる）から、通信リソースをコンテンツ判定中Ｗｅｂサーバ用リソースとして割り当てる。
【０１３５】
この場合、ダウンロード手段８は、第５の通信リソース群のいずれかの通信リソースが割り当てられた各Ｗｅｂサーバのうち、前回ダウンロード終了から所定時間が経過したＷｅｂサーバに対して、順次ダウンロードを行うとともに、ダウンロードしたコンテンツが所定条件を満たす場合には、Ｗｅｂサーバに対して新たに別の（第３の）通信リソース群のいずれかの通信リソースを、オーバーフローリソースとして割り当て手段７に割り当てさせるか、または、各Ｗｅｂサーバに対して通信リソースの再割り当てを割り当て手段７に行わせる。
ここで、所定時間は、各Ｗｅｂサーバに関するアクセス間隔目標値と平均経過時間との差である。
【０１３６】
また、ダウンロード手段８は、第５の通信リソース群のいずれかの通信リソースが割り当てられた各Ｗｅｂサーバからダウンロードしたコンテンツが所定条件を満たさなかった場合に、Ｗｅｂサーバからのダウンロードを所定回数に達するまで行うとともに、所定回数だけダウンロードを繰り返してもＷｅｂサーバから所定条件を満たすコンテンツがダウンロードされなかった場合には、Ｗｅｂサーバに対していずれの通信リソースも割り当てないようにする。
なお、コンテンツに対する所定条件は、
（１）コンテンツがテキストデータであることと、
（２）コンテンツが特定の文字コード（日本語）で記述されていることと、
の両方を含む。
【０１３７】
さらに、前述の実施の形態２と関連して、割り当て手段７は、Ｗｅｂサーバ群のいずれかのＷｅｂサーバに対して、過去にアクセスしたことがない場合に、通信リソース群とは異なる別の（第４の）通信リソース群から、通信リソースを未アクセスＷｅｂサーバ用リソースとして割り当てる。
この場合、ダウンロード手段８は、第４の通信リソース群のいずれかの通信リソースが割り当てられた各Ｗｅｂサーバに対し、順次ダウンロードを行うとともに、Ｗｅｂサーバとの通信に成功した場合には、Ｗｅｂサーバに対して、新たに別の（第５の）通信リソース群のいずれかの通信リソースを、オーバーフローリソースとして割り当て手段７に割り当てさせる。
【０１３８】
また、ダウンロード手段８は、第４の通信リソース群のいずれかの通信リソースが割り当てられた各Ｗｅｂサーバとの通信に成功しなかった場合に、Ｗｅｂサーバとの通信を所定回数に達するまで再試行するとともに、所定回数だけ通信を繰り返してもＷｅｂサーバとの通信に成功しなかった場合には、Ｗｅｂサーバにいずれの通信リソースも割り当てないようにする。
【０１３９】
このように、この発明の実施の形態３によれば、特定言語で記述されたＷｅｂページの収集を目的とする場合に、Ｗｅｂサーバ単位のコンテンツ判定状況に応じた通信リソースを別途設けることにより、最終的に不要となるＷｅｂページの収集や地理的に離れたＷｅｂサーバとの通信にともなう遅延の影響を低減することができる。
【０１４０】
なお、上記実施の形態３では、コンテンツ判定の所定条件として使用言語を用いたが、Ｗｅｂサーバ１０に局在する傾向があるコンテンツに対する別の条件を代わりに用いてもよい。
たとえば、コンテンツに対する所定条件は、コンテンツが動画データであることであってもよい。
【０１４１】
具体的には、図１３内の日本語ページ数２８を「動画コンテンツ数」に置き換え、前述のステップＳ１５５およびＳ１６４（図１５、図１６参照）における判定条件を、「コンテンツの形式が、Ａｄｏｂｅ  Ｆｌａｓｈ、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ  Ｍｅｄｉａ、Ａｐｐｌｅ  Ｑｕｉｃｋ  Ｔｉｍｅであるか否か」とし、動画コンテンツを有するＷｅｂサーバに対する選択的な情報収集に適用することができる。
【図面の簡単な説明】
【０１４２】
【図１】この発明の実施の形態１に係るＷｅｂサーバアクセススケジューリングシステムの概略構成を示すブロック図である。
【図２】図１内のＷｅｂサーバ状態テーブルの詳細内容を示す説明図である。
【図３】図１内の通信リソース状態テーブルの詳細内容を示す説明図である。
【図４】図１内のＷｅｂサーバ状態テーブルの詳細内容を示す説明図である。
【図５】図１内の割り当て手段の初期設定動作を示すフローチャートである。
【図６】図５内のリソース割り当て処理（ステップＳ５３）を詳細に示すフローチャートである。
【図７】図１内のダウンロード手段の動作を示すフローチャートであり、ノンブロッキングリソースの１つに対応する場合の処理を示している。
【図８】図７内のＷｅｂページダウンロード処理（ステップＳ７３）を詳細に示すフローチャートである。
【図９】図１内のダウンロード手段の動作を示すフローチャートであり、オーバーフローリソースに対応する場合の処理を示している。
【図１０】この発明の実施の形態１による効果を示す説明図である。
【図１１】この発明の実施の形態２による割り当て手段の動作を示すフローチャートである。
【図１２】この発明の実施の形態２によるダウンロード手段の動作を示すフローチャートである。
【図１３】この発明の実施の形態３におけるＷｅｂサーバ状態テーブルの詳細内容を示す説明図である。
【図１４】この発明の実施の形態３による割り当て手段の動作を示すフローチャートである。
【図１５】この発明の実施の形態３によるダウンロード手段の動作を示すフローチャートであり、未アクセスＷｅｂサーバ用リソースに対応する場合の処理を示している。
【図１６】この発明の実施の形態３によるダウンロード手段の動作を示すフローチャートであり、コンテンツ判定中Ｗｅｂサーバ用リソースに対応する場合の処理を示している。
【符号の説明】
【０１４３】
１  コンピュータ、２  記憶部、３、３ａ  Ｗｅｂサーバ状態テーブル、４  通信リソース状態テーブル、５  Ｗｅｂページ状態テーブル、６  Ｗｅｂページコンテンツテーブル、７  割り当て手段、８  ダウンロード手段、１０  Ｗｅｂサーバ。
【図１】
0004948361.tif 000002
【図２】
0004948361.tif 000003
【図３】
0004948361.tif 000004
【図４】
0004948361.tif 000005
【図５】
0004948361.tif 000006
【図６】
0004948361.tif 000007
【図７】
0004948361.tif 000008
【図８】
0004948361.tif 000009
【図９】
0004948361.tif 000010
【図１０】
0004948361.tif 000011
【図１１】
0004948361.tif 000012
【図１２】
0004948361.tif 000013
【図１３】
0004948361.tif 000014
【図１４】
0004948361.tif 000015
【図１５】
0004948361.tif 000016
【図１６】
0004948361.tif 000017