JP4948361B2 - Webサーバアクセススケジューリングシステム - Google Patents

Webサーバアクセススケジューリングシステム Download PDF

Info

Publication number
JP4948361B2
JP4948361B2 JP2007280728A JP2007280728A JP4948361B2 JP 4948361 B2 JP4948361 B2 JP 4948361B2 JP 2007280728 A JP2007280728 A JP 2007280728A JP 2007280728 A JP2007280728 A JP 2007280728A JP 4948361 B2 JP4948361 B2 JP 4948361B2
Authority
JP
Japan
Prior art keywords
web server
communication resource
web
communication
download
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.)
Active
Application number
JP2007280728A
Other languages
English (en)
Other versions
JP2009110196A (ja
Inventor
孝之 田村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2007280728A priority Critical patent/JP4948361B2/ja
Publication of JP2009110196A publication Critical patent/JP2009110196A/ja
Application granted granted Critical
Publication of JP4948361B2 publication Critical patent/JP4948361B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Description

この発明は、記憶部と、ダウンロード手段と、割り当て手段と、を備えたWebサーバアクセススケジューリングシステムに関し、特に効率的なWebページ収集技術に関するものである。
一般に、Web検索サービスなどにおいては、Web上の情報を網羅的に収集するために、クローラと呼ばれるコンピュータプログラムが用いられている。また、Web情報は時々刻々と変化しているので、収集した情報を常に最新に保つことが重要であることから、一度収集したWebページを、適当な期間を置いて繰り返し収集するインクリメンタルクローラが開発されている。
インクリメンタルクローラは、各Webページの過去の更新傾向などに基づいて、次の更新時期を予測することにより再収集のタイミングを決定する。
従来のWebサーバアクセススケジューリングシステム(インクリメンタルクローラ)においては、Webページの再収集タイミングを決定するとともに、そのタイミング通りに収集を行うことが重要である。しかし、Webページは大量に存在するため、与えられたリソースではその収集が不可能な場合もある。
そこで、従来のWebサーバアクセススケジューリングシステムとして、Webページの変更回数、変更の規模、WebページのURI(URI:Uniform Resource Identifier)や内容などの特徴に基づいて、所定のWebページが最終アクセス後に更新されている確率を求め、クローリングの優先順位であるスコアに反映する方法が知られている(たとえば、特許文献1参照)。
特許文献1に記載された従来技術においては、クローラが動作するコンピュータおよび通信回線の性能で定まるクローリング容量に基づいて収集Webページ数を決定する処理ステップが開示されており、処理可能な範囲内で優先度の高いWebページを確実に収集することを目的としている。
しかし、Webページは、応答性能の大きく異なる様々なWebサーバ上に分布しており、単純にページ数で性能を見積もることはできない。この結果、現実には低速なWebサーバが長時間にわたって通信リソースを占有し、この占有期間にわたって高速なWebサーバとの通信がブロックされて、達成できる収集速度および収集規模が大きく低下してしまう可能性があった。
また、このような収集速度および収集規模の低下は、Webサーバに及ぼす負荷の抑制を目的として、一定間隔を空けてアクセスを行う場合に特に顕著となり、高速なWebサーバとの通信の合間に、低速なWebサーバとの通信が割り込んでしまい、意図した間隔でのアクセスが実現できるとは限らなかった。
特開2005−228343号公報、第23頁、図6
従来のWebサーバアクセススケジューリングシステムは、収集速度および収集規模の低下を招き、高速なWebサーバとの通信の合間に、低速なWebサーバとの通信が割り込むので、高速なWebサーバとの通信がブロックされてしまうという課題があった。
また、従来のWebサーバアクセススケジューリングシステムにおいては、より多くの通信リソースを投入することによって収集速度および収集規模の向上を図る必要があったが、低速なWebサーバは大量に存在しており、十分な効果を得るためには膨大なコストを要するという課題があった。
この発明は上記の課題を解決するためになされたもので、Webサーバとの通信を通じて個々のWebサーバの応答性能を把握し、各応答性能に基づいて有限の通信リソースをWebサーバに適切に割り当てることにより、高速なWebサーバとの通信がブロックされることを回避して効率的なWebページ収集を実現したWebサーバアクセススケジューリングシステムを得ることを目的とする。
この発明によるWebサーバアクセススケジューリングシステムは、記憶部と、ダウンロード手段と、割り当て手段と、を備えたWebサーバアクセススケジューリングシステムであって、記憶部は、所定のWebサーバ群の各Webサーバに対するアクセス間隔目標値と、通信リソース割り当て状態と、1アクセス当たり平均経過時間と、を記憶するWebサーバ状態テーブルと、所定の通信リソース群の各通信リソースに対する空き容量を記憶する通信リソース状態テーブルと、を含み、ダウンロード手段は、アクセス間隔目標値と、通信リソース割り当て状態と、に基づき、Webサーバ群からダウンロード対象のWebサーバを選択して、コンテンツをダウンロードするとともに、ダウンロードの経過時間の実績に基づいて選択されたWebサーバの1アクセス当たり平均経過時間を記憶部に記憶させ、割り当て手段は、各Webサーバに対して、アクセス間隔目標値、平均経過時間、および空き容量が所定の条件を満たす通信リソースを通信リソース群から1つ選択して割り当て、割り当てた結果を通信リソース割り当て状態として記憶部に記憶させるものである。
この発明によれば、高速なWebサーバとの通信がブロックされることを回避して効率的なWebページ収集を実現することができる。
実施の形態1.
図1はこの発明の実施の形態1に係るWebサーバアクセススケジューリングシステムの概略構成を示すブロック図である。
図1において、一般的なコンピュータ1は、プロセッサ、バス、メモリ、固定ディスクインタフェース、固定ディスク装置、およびネットワークインタフェースを備えており、コンピュータプログラムとして実現されたWebサーバアクセススケジューリングシステムを実現する。
コンピュータ1にはインターネット9が接続され、インターネット9には複数のWebサーバ10が接続されている。
コンピュータ1は、ネットワークインタフェースを介してインターネット9に接続されており、複数のWebサーバ10と通信して、Webページをダウンロードすることができるようになっている。
コンピュータ1は、記憶部2と、割り当て手段7と、ダウンロード手段8と、を備えている。
記憶部2は、コンピュータ1内の固定ディスク装置により実現されており、Webサーバ状態テーブル3と、通信リソース状態テーブル4と、Webページ状態テーブル5と、ダウンロードした複数のWebページコンテンツを記憶するWebページコンテンツテーブル6とを含む。各状態テーブル3〜5およびWebページコンテンツテーブル6の情報は、記憶部2内に記憶される。
割り当て手段7およびダウンロード手段8は、コンピュータ1内のメモリに格納されてプロセッサで実行される「コンピュータプログラム」として実現されている。
ダウンロード手段8は、利用可能な通信リソースごとに複数存在し、各ダウンロード手段8が並行して動作することにより、単位時間当たりのダウンロードWebページ数を向上させることができる。ただし、通信リソースとは、独立して使用可能な論理接続を意味し、UNIX(登録商標)やWindows(登録商標)などのオペレーティングシステムにおいては、ソケットに相当する。
図2は図1内のWebサーバ状態テーブル3の詳細内容を示す説明図である。
Webサーバ状態テーブル3は、所定のWebサーバ群の各Webサーバに対して、Webサーバ名22、アクセス間隔23、経過時間24、アクセス回数25、最終アクセス時刻26、および、リソースID27からなる項目の組を格納する。
アクセス間隔23は、各Webサーバに対する連続アクセスの時間間隔の目標値を示しており、各Webサーバに属する各Webページを、それらが更新される前にダウンロードすることが可能な時間間隔の最大値が設定される。たとえば、アクセス間隔を「0」に設定すれば、ダウンロードしていないWebページが更新されてしまう可能性を最小限に抑制することができるが、Webサーバに大きな負荷をかけることになるので、アクセス間隔23としては、できるだけ大きな値を設定する必要がある。
経過時間24は、各WebサーバからのWebページダウンロードに要した時間の累積値を示しており、アクセス回数25は、各WebサーバからダウンロードしたWebページの延べ数を示している。
リソースID27は、各Webサーバに割り当てられた通信リソースを、一意に識別するための識別子を示している。なお、Webサーバと通信リソースとの対応関係は、「1対1」である。
図3は図1内の通信リソース状態テーブル4の詳細内容を示す説明図である。
通信リソース状態テーブル4は、所定の通信リソース群の各通信リソースに対して、リソースID32、最小アクセス間隔33、最大アクセス間隔34、合計経過時間35、および、Webサーバリスト36からなる項目の組を格納する。
Webサーバリスト36には、各通信リソースが割り当てられたすべてのWebサーバが含まれる。Webサーバリスト36は、Webサーバ名、または、Webサーバ状態テーブル3のエントリへのポインタのリンクリストとして、実現することができる。
最小アクセス間隔33および最大アクセス間隔34は、それぞれ、Webサーバリスト36に含まれるすべてのWebサーバにおける、アクセス間隔23(図2参照)の最小値および最大値を示している。
また、合計経過時間35は、Webサーバリスト36に含まれるすべてのWebサーバにおける平均経過時間、すなわち(経過時間24÷アクセス回数25)の総和を示している。
通信リソースには複数の種類があり、各種類は、リソースID32の値で識別できるようになっている。すなわち、正のリソースIDを持つ「ノンブロッキングリソース」と、負のリソースID(=−1)を持つ「オーバーフローリソース」とである。
ノンブロッキングリソースは、Webサーバリスト36に含まれるWebサーバのそれぞれに対し、アクセス間隔23での連続アクセスを行うことを保証するものである。これにより、変化するWeb情報を適切なタイミングでダウンロードすることが可能になる。
一方、ノンブロッキングリソース数の制限やWebサーバ自体の属性により、ノンブロッキングリソースの割り当てを受けることができなかったWebサーバに対しては、オーバーフローリソースが割り当てられ、タイミング保証のないダウンロードが行われる。
オーバーフローリソースに対しては、通信リソース状態テーブル4のリソースID32(=−1)とWebサーバリスト36のみが設定されかつ参照され、最小アクセス間隔33、最大アクセス間隔34、および合計経過時間35は、設定も参照もされない。
図4は図1内のWebページ状態テーブル5の詳細内容を示す説明図である。
Webページ状態テーブル5は、Webページごとに、URI42、推定更新間隔43、および、最終アクセス時刻44を含む項目の組を格納する。
推定更新間隔43は、各Webページに対する過去の複数アクセスにおける更新の検出有無に基づき、公知の方法により推定した各Webページの平均更新間隔を示している。なお、Webページ更新間隔推定の方法は、公知文献(たとえば、日本データベース学会Letters Vol.6、No.1、pp.173−176「大規模Webアーカイブのための更新クローラの設計と実装」田村孝之、喜連川優)に記載されている。また、Webページ状態テーブル5のWebページごとのエントリは、上記Webページ更新間隔推定を行うための追加項目を含んでいてもよい。
次に、図5〜図9を参照しながら、割り当て手段7およびダウンロード手段8の動作について説明する。まず、図5および図6を参照しながら、割り当て手段7の動作について説明する。
図5は割り当て手段7の初期設定動作を示すフローチャートである。
割り当て手段7の初期設定動作は、Webサーバアクセススケジューリングシステムの実行開始時に1度だけ起動される。なお、初期設定動作の以前において、Webサーバ状態テーブル3のすべてのリソースID27には、リソース未割り当て状態を示す値(たとえば、「0」)が設定されているものとする。
図5において、まず、割り当て手段7は、Webサーバ状態テーブル3の各エントリを読み出し、すべてのWebサーバにリソース割り当て済み(リソースID27≠0)であるか否かを判定する(ステップS51)。
ステップS51において、上記条件「すべてのリソースID27≠0」が成立する(すなわち、YES)と判定されれば、初期設定の完了を表しているので、図5の初期設定ルーチンを終了する。
一方、ステップS51において、上記条件が成立しない(すなわち、NO)と判定されれば、リソース未割り当て(リソースID27=0)のWebサーバのうち、アクセス間隔23(図2参照)が最小であるWebサーバを1つ選択し(ステップS52)、選択されたWebサーバに対するリソース割り当て処理を実行する(ステップS53)。
これにより、選択されたWebサーバのリソースID27が割り当て済みを示す所定値(≠0)に設定される。その後、ステップS51に戻って、ステップS52およびS53を繰り返し実行し、残りのWebサーバの処理を続ける。
なお、図5(ステップS52)では、説明を単純化するために、Webサーバ状態テーブル3から条件(最小アクセス間隔)を満たすWebサーバを検索する場合を例にとって説明したが、効率的な処理を実現するためには、ステップS51に先立って、Webサーバ状態テーブル3の各エントリを、アクセス間隔23の昇順にソートした所定リストを作成してもよい。この場合、ステップS51の判定条件は、所定リストの末尾に達したか否かの判定に置き換えることができ、また、ステップS52の選択処理は、所定リストの要素を順に選択する処理に置き換えることができる。
図6は図5内のステップS53のリソース割り当て処理を詳細に示すフローチャートである。
図6において、まず、割り当て手段7は、割り当て対象のWebサーバのアクセス回数25が「0」である(第1の条件を満たす)か否か、または、割り当て対象のWebサーバのアクセス間隔23が割り当て対象のWebサーバの平均経過時間(=経過時間24÷アクセス回数25)よりも小さい(第2の条件を満たす)か否かを判定する(ステップS61)。
ステップS61において、第1の条件「アクセス回数25=0」、または、第2の条件「アクセス間隔<平均経過時間」のいずれかの条件が成立している(すなわち、YES)と判定されれば、ステップS69に移行し、第1および第2の条件がいずれも成立していない(すなわち、NO)と判定されれば、ステップS62に移行する。
ステップS69においては、割り当て対象のWebサーバに対して、オーバーフローリソースを割り当てて、図6のリソース割り当てルーチンを終了する。
この場合、オーバーフローリソース(リソースID=−1)のWebサーバリスト36(図3参照)に、割り当て対象のWebサーバを追加するとともに、割り当て対象のWebサーバのリソースID27に「−1」を設定する。
なぜなら、ステップS61において第1の条件が成立する場合は、割り当て対象のWebサーバに初めてアクセスしようとしている状態であり、アクセス間隔23や経過時間24などの情報が利用できないので、暫定的にオーバーフローリソース(リソースID=−1)を割り当てることになる。
また、ステップS61において第2の条件が成立する場合は、割り当て対象のWebサーバからWebページをダウンロードするのに要する平均経過時間が大きく、アクセス間隔23の実現がそもそも不可能な状態であるので、同様にオーバーフローリソース(リソースID=−1)の割り当てを行うことになる。
一方、ステップS61において、第1および第2の条件がいずれも不成立(すなわち、NO)の場合には、続いて、通信リソースのうち、ノンブロッキングリソース(リソースID>0、を示すもの)をすべて処理したか否かを判定する(ステップS62)。
ステップS62において、すべてのノンブロッキングリソースを処理した(すなわち、YES)と判定されれば、すべてのノンブロッキングリソースの割り当てを試みて失敗したことを表しているので、ステップS69に移行し、オーバーフローリソースを割り当てて図6の処理ルーチンを終了する。
また、ステップS62において、未処理のノンブロッキングリソースが残っている(すなわち、NO)と判定されれば、未処理ノンブロッキングリソースのうち、最小リソースIDを持つものを処理対象として選択する(ステップS63)。
なお、ステップS62、S63は、リソースID順に処理を実行することに相当する。
続いて、選択された通信リソースのWebサーバリスト36が空であるか否かを判定し(ステップS64)、空である(すなわち、YES)と判定されれば、後述のステップS68に移行する。
一方、ステップS64において、選択された通信リソースのWebサーバリスト36が空でない(すなわち、NO)と判定されれば、各Webサーバのアクセス間隔23および平均経過時間(=経過時間24÷アクセス回数25)が選択された通信リソースの割り当てを行うための制約条件を満たしているか否かを判定する(ステップS65)。
この場合、アクセス間隔23に関しては、各通信リソースの最小アクセス間隔33に定数θ(>1)を乗じた値よりも小さいことと、最大アクセス間隔34を定数θで除算した値よりも大きいことと、の両方を制約条件とする。
この制約条件は、リソース割り当て後も、「最大アクセス間隔34÷最小アクセス間隔33<θ」を成立させるために、Webサーバリスト36に含まれるすべてのWebサーバのアクセス間隔23が一定の範囲内に収まっていることを保証するためのものである。
また、平均経過時間については、選択された通信リソースの最小アクセス間隔33(図3参照)と合計経過時間35との差よりも小さいことを制約条件とし、この制約条件は、リソース割り当て後も、「最小アクセス間隔33>合計経過時間35」を保証するためのものである。
ステップS65において、割り当て対象のWebサーバが選択された通信リソースに対して上記制約条件を満たしていない(すなわち、NO)と判定されれば、ステップS62に戻って、残りのノンブロッキングリソースの割り当てを試みる。
一方、ステップS65において上記制約条件を満たしている(すなわち、YES)と判定されれば、割り当て対象のWebサーバへの選択された通信リソースの割り当てを反映するために、最小アクセス間隔33として、元の値と割り当て対象のWebサーバのアクセス間隔23の小さい方の値とを設定し、また、最大アクセス間隔34として、元の値と割り当て対象のWebサーバのアクセス間隔23の大きい方の値とを設定し、さらに、合計経過時間35に対して、割り当て対象のWebサーバの平均経過時間(=経過時間24÷アクセス回数25)を加える(ステップS66)。
最後に、選択された通信リソースのWebサーバリスト36に、割り当て対象のWebサーバを追加するとともに、割り当て対象のWebサーバのリソースID27に、選択された通信リソースのリソースID32を設定して(ステップS67)、図6のリソース割り当てルーチンを終了する。
一方、ステップS64において、Webサーバリスト36が空である(すなわち、YES)と判定された場合には、選択された通信リソースに対し単一のWebサーバを割り当てる場合の処理として、最小アクセス間隔33および最大アクセス間隔34に割り当て対象のWebサーバのアクセス間隔23を設定し、また、合計経過時間35に平均経過時間(=経過時間24÷アクセス回数25)を設定して(ステップS68)、最終のステップS67に移行する。
以下、図7〜図9を参照しながら、ダウンロード手段8の動作について説明する。
図7はダウンロード手段8の動作を示すフローチャートであり、ノンブロッキングリソースの1つに対応する場合の処理を示している。
図7において、まず、ダウンロード手段8は、現在時刻を取得して変数開始時刻に設定し(ステップS71)、ダウンロード対象の通信リソースのWebサーバリスト36中のWebサーバ10をすべて処理したか否かを判定する(ステップS72)。
ステップS72において、Webサーバ10の処理が完了していない(すなわち、NO)と判定されれば、未処理Webサーバ10の1つからWebページを1つダウンロードし(ステップS73)、ステップS72に戻る。
一方、ステップS72において、Webサーバ10の処理が完了している(すなわち、YES)と判定されれば、ダウンロード対象の通信リソースのWebサーバリスト36中の各Webサーバのアクセス間隔23、経過時間24、およびアクセス回数25に基づく計算により、最小アクセス間隔33、最大アクセス間隔34、および合計経過時間35を再設定する(ステップS74)。
ステップ74の再計算処理は、ステップS73におけるWebページダウンロードの結果に応じて更新されるWebサーバ状態テーブル3の内容を、通信リソース状態テーブル4に反映するために必要となる。
続いて、ダウンロード対象の通信リソースの「最小アクセス間隔33>合計経過時間35」が不成立であるか否かに基づいて、あふれが発生しているか否かを判定し(ステップS75)、あふれが発生している(すなわち、YES)と判定されれば、Webサーバリスト36中の各Webサーバ10に対し、現在のリソース割り当てを解除し、割り当て手段7を呼び出して、前述(図6)のリソース割り当て処理を再度実行する(ステップS76)。
この結果、一部のWebサーバは、別のノンブロッキングリソースやオーバーフローリソースが割り当てられ、元のノンブロッキングリソースについては、あふれが解消することになる。
以下、ステップS71に戻って上記処理を続行する。
一方、ステップS75において、あふれが発生していない(すなわち、NO)と判定されれば、続いて、「開始時刻+最小アクセス間隔33−現在時刻」が閾値以上か否かに基づいて、空き時間が発生したか否かを判定する(ステップS77)。
ステップS77において、空き時間が発生していない(すなわち、NO)と判定されれば、直ちにステップS71に戻って上記処理を続行する。
また、ステップS77において、空き時間が発生している(すなわち、YES)と判定されれば、オーバーフローリソースのWebサーバリストに含まれる各Webサーバにつき、割り当て手段7を呼び出して、図6のフローチャートにしたがう現通信リソースの割り当て処理を実行する(ステップS78)。
これにより、現通信リソースに割り当て可能なWebサーバが存在していれば、オーバーフローリソースからノンブロッキングリソースへの再割り当てが行われる。
最後に、「空き時間(=開始時刻+最小アクセス間隔33−現在時刻)分だけ実行を停止して待機し(ステップS79)、待機期間の終了後にステップS71に戻る。
図8は図7内のWebページダウンロード処理(ステップS73)を詳細に示すフローチャートである。
図8において、まず、ダウンロード手段8は、ダウンロード対象となるWebサーバに属するWebページをWebページ状態テーブル5から検索し、判定時間(=次回アクセス予定時刻=最終アクセス時刻44+推定更新間隔43)が最小値を示すWebページを1つ選択する(ステップS81)。
このとき、URI42(図4参照)は、先頭部分にWebサーバ名を含むので、Webページ状態テーブル5をURI42の文字列順に編成することなどにより、Webサーバに対応するWebページを容易に検索することができる。
また、公知の特許文献(たとえば、特開2003−271670号公報の図15)に記載のURLインデックスと同様の「補助的なデータ構造」を用いて、WebページのURIをWebサーバ名および次回アクセス時刻の順に格納しておいてもよい。
続いて、ダウンロード対象のWebサーバにアクセスし、選択されたWebページのダウンロードを行い、そのコンテンツを記憶部2に格納する(ステップS82)。
ステップ82の処理は、DNSプロトコルによるWebサーバ名からIPアドレスへの変換や、HTTPプロトコルによるURIの送信およびコンテンツの受信を含む。
続いて、選択されたWebページのダウンロードに要した時間を、Webサーバ状態テーブル3のダウンロード対象のWebサーバに対応する経過時間24に加算するとともに、アクセス回数25に「1」を加える(ステップS83)。
続いて、Webページ状態テーブル5の選択されたWebページに対応する最終アクセス時刻44と、Webサーバ状態テーブル3のダウンロード対象のWebサーバに対応する最終アクセス時刻26とに対して、現在時刻を設定する(ステップS84)。
最後に、ダウンロードの結果に基づいて選択されたWebページの推定更新間隔43(図4参照)の更新を行い(ステップS85)、図8の処理ルーチンを終了する。
なお、ステップS85においては、前述の公知文献(日本データベース学会Letters Vol.6、No.1、pp.173−176「大規模Webアーカイブのための更新クローラの設計と実装」田村孝之、喜連川優)などに示された方法を用いることができる。
簡単な例として、推定更新間隔43は、前回のダウンロードと同一コンテンツをダウンロードした場合には増加し、異なるコンテンツをダウンロードした場合には減少する。
各Webページを推定更新間隔43ごとに繰り返しアクセスする場合、各Webページに対する単位時間当たりのアクセス頻度は、推定更新間隔43の逆数となる。
また、或るWebサーバに属するWebページのアクセス頻度の総和は、そのWebサーバに対する最小限のアクセス頻度となり、そのWebサーバのアクセス間隔23は、最小限のアクセス頻度の逆数で与えられる。
したがって、ステップS85において、Webページの推定更新間隔43を更新した後に、対応するWebサーバのアクセス間隔23も合わせて更新する。
図9はオーバーフローリソースに対応するダウンロード手段8の動作を示すフローチャートである。
図9において、まず、ダウンロード手段8は、オーバーフローリソースのWebサーバリスト36(図3参照)に含まれるWebサーバのうち、所定の条件「最終アクセス時刻26+アクセス間隔23−経過時間24÷アクセス回数25<現在時刻」を満たすWebサーバが存在するか否かに基づいて、「次アクセス開始候補」が存在するか否かを判定する(ステップS91)。
ステップS91において、上記条件を満たすようなWebサーバが存在しない(すなわち、NO)と判定されれば、ステップS91の判定処理を繰り返し実行し、上記条件を満たすWebサーバが出現するまで待機する。
なお、ステップS91を間断なく繰り返す代わりに、セマフォや条件変数などの並行処理同期プリミティブを用いて、Webサーバ状態テーブル3の内容が変化するまで待機するようにしてもよい。
一方、ステップS91において、上記条件を満たすWebサーバが存在する(すなわち、YES)と判定されれば、そのうちの1つを選択してWebサーバリスト36から除去して(ステップS92)、選択されたWebサーバからWebページを1つダウンロードする(ステップS93)。
ステップS92、S93は、図8内の処理(ステップS81、S82)と同様である。
最後に、選択されたWebサーバを元のWebサーバリスト36に再度挿入し(ステップS94)、ステップS91に戻って上記処理を続行する。
なお、ダウンロード(ステップS93)の実行中において、ステップS92で選択されたWebサーバをWebサーバリスト36から除去する理由は、図7内のステップS78により、選択されたWebサーバに対するリソース再割り当てが発生することを防ぐためである。
ダウンロード手段8は、通信リソースごとに複数で並行的に動作し、マルチスレッドプログラミングや、イベント駆動型プログラミングにより実現されるが、Webサーバ状態テーブル3および通信リソース状態テーブル4に対する更新が干渉しないように、適切な排他制御を行う必要がある。
また、オーバーフローリソースとしては、単一リソースのみならず、複数リソースを用いることもできる。この場合、通信リソース状態テーブル4は、「リソースID=−1」に対応する単一のエントリを、各オーバーフローリソースで共有し、図9のフローチャートを各リソースに対応して、複数で並行して実行すればよい。
図10はこの発明の実施の形態1による効果を示す説明図であり、(a)は従来のWebサーバアクセススケジューリングの結果を示し、(b)はこの発明の実施の形態1によるWebサーバアクセススケジューリングの結果を示している。
図10において、(a)に示す従来システムでは、経過時間の大きい低速なWebサーバB、Dが、高速なWebサーバA、Cとともに各通信リソースe、fを共有することを防ぐことができないので、WebサーバA、Bの経過時間の合計が最小アクセス間隔Taを上回ってリソース待ち時間Tbが生じる可能性がある。
これに対し、(b)に示すこの発明の実施の形態1によれば、高速なWebサーバA、Cに通信リソースEが割り当てられ、低速なWebサーバB、Dに通信リソースFが割り当てられるので、低速なWebサーバB、Dと高速なWebサーバA、Cとが各通信リソースE、Fを共有することがない。したがって、リソース待ち時間(図10(a)内のTb)の発生を防ぐことができる。
以上のように、この発明の実施の形態1に係るWebサーバアクセススケジューリングシステムは、記憶部2と、ダウンロード手段8と、割り当て手段7とを備え、記憶部2は、Webサーバ状態テーブル3と、通信リソース状態テーブル4と、を有している。
Webサーバ状態テーブル3は、所定のWebサーバ群の各Webサーバに対するアクセス間隔目標値(アクセス間隔23)と、通信リソース割り当て状態(リソースID27)と、1アクセス当たり平均経過時間と、を記憶する。通信リソース状態テーブル4は、所定の通信リソース群の各通信リソースに対する空き容量を記憶する。
ダウンロード手段8は、記憶部2に記憶させたWebサーバ10ごとのアクセス間隔目標値(アクセス間隔23)と、Webサーバ10への通信リソース割り当て状態(リソースID27)とに基づいて、Webサーバ群からダウンロード対象のWebサーバを選択して、コンテンツをダウンロードするとともに、ダウンロードの経過時間24の実績に基づいて、選択されたWebサーバの1アクセス当たり平均経過時間を記憶部2に記憶させる。
また、割り当て手段7は、各Webサーバに対して、アクセス間隔目標値、平均経過時間、および空き容量が所定の条件を満たす通信リソースを通信リソース群から1つ選択して割り当て、割り当てた結果を通信リソース割り当て状態として記憶部2に記憶させる。
これにより、Webサーバ10ごとに、1ページ当たりの平均経過時間の測定値を記憶し、Webページ更新への追随に必要な「Webサーバアクセス間隔」が経過するまでにアクセスが一巡するように、Webサーバ10をグループ化して専用の通信リソースを割り当てることができるので、予測不能なリソース待ちの発生を防ぎ、所望のWeb情報収集を確実に行うことができる。
なお、空き容量は、空き容量に対応する通信リソースが割り当てられたすべてのWebサーバに関する、アクセス間隔目標値の最小値と平均経過時間の総和との差である。
また、所定の条件は、
(1)Webサーバの平均経過時間が各通信リソースの空き容量以下であることと、
(2)Webサーバのアクセス間隔目標値と、空き容量に対応する通信リソースが割り当てられたすべてのWebサーバに関するアクセス間隔目標値の最小値との比が一定値未満であることと、
(3)空き容量に対応する通信リソースが割り当てられたすべてのWebサーバに関するアクセス間隔目標値の最大値と、Webサーバのアクセス間隔目標値との比が一定値未満であることと、
のすべてを含む。
ダウンロード手段8は、各通信リソースについて、その通信リソースが割り当てられた各Webサーバから巡回的にダウンロードを行い、各Webサーバを一巡するごとに、各Webサーバを一巡するのに要した時間が、通信リソースが割り当てられたすべてのWebサーバに関するアクセス間隔目標値の最小値を下回らないように待機する。
また、ダウンロード手段8は、各Webサーバからダウンロードした各コンテンツの更新履歴から各コンテンツの推定更新間隔43を算出し、各Webサーバに対応するアクセス間隔目標値を、各Webサーバに属するすべてのコンテンツに関する推定更新間隔43の逆数の総和の逆数として与える。
また、割り当て手段7は、Webサーバ群のいずれかのWebサーバに対し、所定の条件を満たす通信リソースが通信リソース群に存在しない場合に、所定の通信リソース群とは異なる別の(第3の)通信リソース群(所定数からなる)から、通信リソースをオーバーフローリソースとして割り当てる。このとき、ダウンロード手段8は、別の(第3の)通信リソース群のいずれかの通信リソースが割り当てられた各Webサーバのうち、前回ダウンロード終了から所定時間が経過したWebサーバに対して、順次ダウンロードを行う。
ここで、所定時間は、各Webサーバに関するアクセス間隔目標値と平均経過時間との差である。
また、ダウンロード手段8は、通信リソース群のいずれかの通信リソースが割り当てられたWebサーバからのダウンロード後に、Webサーバの平均経過時間およびアクセス間隔目標値を更新した結果、Webサーバに割り当てられた通信リソースの空き容量が一定値以上に達した場合に、別の(第3の)通信リソース群のいずれかの通信リソースが割り当てられた各Webサーバに対して、通信リソースの再割り当てを割り当て手段7に行わせる。
また、ダウンロード手段8は、Webサーバ群のいずれかのWebサーバからのダウンロード後に、Webサーバの平均経過時間およびアクセス間隔目標値を更新した結果、所定の条件が満たされなくなった場合に、Webサーバに対する通信リソースの再割り当てを割り当て手段7に行わせる。
このように、オーバーフローリソースを設け、先着順でWebサーバ10へのリソース割り当てを行うことにより、ノンブロッキング通信が実現できないWebサーバ(未アクセスのWebサーバや、非常に低速なWebサーバ)に対する通信が全く行われないことを回避することができる。
また、Webサーバ10からダウンロードを行うことで平均経過時間などの条件が変化した場合には、通信リソースの再割り当てを行うことにより、常に最適な状態を維持することができる。
なお、上記実施の形態1では、図7内のステップS72およびS73に示したように、ダウンロード手段8は、或るノンブロッキングリソースが割り当てられた各Webサーバを巡回的にアクセスしているので、同一の通信リソースが割り当てられるWebサーバは、ほぼ等しいアクセス間隔23を持つ必要がある。このため、割り当て手段7は、図6内のステップS65によりこれを保証しているが、ダウンロード手段8が、アクセス対象となるWebサーバを動的に選択するようにしてもよい。
たとえば、Webサーバ10への繰り返しアクセスは、アクセス間隔23を実行周期、平均経過時間を実行時間(CPU時間)とするリアルタイムスケジューリングの問題と捉えることができるので、効率的なリアルタイムスケジューリングアルゴリズムとして知られるEDF(Earliest Deadline First)手法に基づき、以下のように、Webサーバを動的に選択することができる。
この場合、ダウンロード手段8は、各通信リソースのいずれかが割り当てられたWebサーバであって、前回ダウンロード終了から所定時間が経過した各Webサーバのうち、判定時間が最小となるWebサーバから順次ダウンロードを行う。
ここで、所定時間は、各Webサーバ10に関するアクセス間隔目標値と平均経過時間との差であり、判定時間は、各Webサーバ10の前回ダウンロード終了時刻に、所定時間の2倍を加算した値である。
すなわち、Webサーバ10へのアクセスにおいては、前回ダウンロード開始からアクセス間隔の2倍の時間が経過するまでに、次のダウンロードを終了する必要があるので、「最終アクセス時刻26+2×(アクセス間隔23−経過時間24÷アクセス回数25)」が次回ダウンロードを開始する期限(Dead−line)となり、この値が最も小さなWebサーバが次のダウンロード対象となる。
ただし、「最終アクセス時刻26+アクセス間隔23−経過時間24÷アクセス回数25<現在時刻」となるWebサーバは、負荷抑制の目的ために、スケジュール対象外とする。
上記のWebサーバの動的選択により、同一の通信リソースが割り当てられるWebサーバのアクセス間隔23に関する制約は不要になるので、割り当て手段7の動作(図6内のステップS65)は、通信リソースごとの割り当て済みWebサーバに関する平均経過時間とアクセス間隔との比の総和が一定値を超えないように制御すること、と変更することができる。
すなわち、空き容量は、値「1」を超えない定数と、空き容量に対応する通信リソースが割り当てられたすべてのWebサーバに関する、平均経過時間とアクセス間隔目標値の比の総和との差である。
また、所定の条件は、Webサーバの平均経過時間とアクセス間隔目標値との比が、通信リソースの空き容量以下であることを含む。
一般に、計算タスクのように、実行中のタスクをより優先度の高いタスクがプリエンプト(カーネルによる処理が途中であっても、他の処理にCPUを割り当てること)してもよい場合は、「一定値=1」に設定可能なことが知られているが、Webサーバアクセスにおいては、プリエンプトは不適切であり、かつ複数の通信リソースを考慮する必要があることから、理論的な上限値は知られていない。
ただし、一定値が大き過ぎると、通信リソースに対して割り当てられるWebサーバ数が多くなり、互いにアクセスをブロックしてしまうので、安全を見込んで「0.7」などの小さい値に設定しておく必要がある。
実施の形態2.
なお、上記実施の形態1では、オーバーフローリソースの種類について考慮しなかったが、図11および図12に示すように、オーバーフローリソースを3種類に分類して、それぞれ異なる制御を行うようにしてもよい。
図11、図12はこの発明の実施の形態2による割り当て手段7およびダウンロード手段8の動作を示すフローチャートである。
この場合、「リソースID=−1」で表されるオーバーフローリソースと、「リソースID=−2」で表されるハードオーバーフローリソースと、「リソースID=−3」で表される未アクセスWebサーバ用リソースと、に対応した3種類の制御が行われる。
以下、図11を参照しながら、割り当て手段7の動作について説明する。
図11において、ステップS111〜S114は、前述(図6)のステップS61に代えて実行される処理である。
まず、割り当て手段7は、割り当て対象のWebサーバのアクセス回数25(図2参照)を「0」と比較して、アクセス回数=0であるか否かを判定する(ステップS111)。
ステップS111において、アクセス回数=0(すなわち、YES)と判定されれば、割り当て対象のWebサーバに対して、新たに導入した「未アクセスWebサーバ用リソース」を割り当てて(ステップS112)、図11の処理ルーチンを終了する。
このとき、割り当て手段7は、リソースID=−3に対応するWebサーバリスト36(図3参照)に割り当て対象のWebサーバを追加し、割り当て対象のWebサーバのリソースID27に「−3」を設定する。
一方、ステップS111において、アクセス回数>0(すなわち、NO)と判定されれば、続いて、割り当て対象のWebサーバのアクセス間隔23が平均経過時間(=経過時間24÷アクセス回数25)よりも小さいか否かを判定し(ステップS113)、アクセス間隔≧平均経過時間(すなわち、NO)と判定されれば、前述(図6)のステップS62に移行する。
一方、ステップS113において、アクセス間隔<平均経過時間(すなわち、YES)と判定されれば、割り当て対象のWebサーバに新たに導入したハードオーバーフローリソースを割り当てて(ステップS114)、図11の処理ルーチンを終了する。
このとき、割り当て手段7は、リソースID=−2に対応するWebサーバリスト36に割り当て対象のWebサーバを追加し、割り当て対象のWebサーバのリソースID27に「−2」を設定する。
以下、図12を参照しながら、ダウンロード手段8の動作について説明する。
図12は未アクセスWebサーバ用リソース(リソースID=−3)に対応する処理を示している。
まず、ダウンロード手段8は、未アクセスWebサーバ用リソースのWebサーバリスト36にWebサーバが存在するか否かを判定し(ステップS121)、Webサーバが存在しない(すなわち、NO)と判定されれば、未アクセスWebサーバ用リソースのWebサーバリスト36にWebサーバが挿入されるまで待機する。
ステップS121において、未アクセスWebサーバ用リソースのWebサーバリスト36にWebサーバが存在する(すなわち、YES)と判定されれば、そのWebサーバリストから1つのWebサーバを選択して除去し(ステップS122)、選択したWebサーバからのWebページダウンロードを、前述(図8)と同様の処理手順にしたがって実行する(ステップS123)。
続いて、ステップS123におけるダウンロードの結果に基づき、Webサーバが存在するか否かを判定する(ステップS124)。
このとき、ダウンロードが成功した場合にはWebサーバが存在することが明らかであるが、ダウンロードに失敗した場合でも、通信相手の不在によるエラーであるか、またはWebサーバによるエラー応答であるか、を区別する必要がある。
また、一時的なネットワーク経路の障害により、Webサーバ10との間の通信に失敗することもあるので、一定回数にわたってリトライしたうえで、Webサーバの有無を判定することが望ましい。
ステップS124において、Webサーバが存在する(すなわち、YES)と判定されれば、Webサーバをオーバーフローリソース(リソースID=−1)のWebサーバリスト36に挿入し、WebサーバのリソースID27を「−1」に設定して(ステップS125)、ステップS121に戻る。
また、ステップS124において、Webサーバの存在は確認できなかったものの、リトライ回数が制限回数に達していない場合には、「判定保留」として、Webサーバを元の未アクセスWebサーバ用リソース(リソースID=−3)のWebサーバリスト36の末尾に挿入して(ステップS126)、ステップS121に戻る。
これにより、リトライ制限回数に達するまで、選択されたWebサーバに対する処理が繰り返し実行されることになる。
一方、リトライを制限回数だけ繰り返したうえで、ステップS124において、Webサーバの存在が確認できず、Webサーバが存在しない(すなわち、NO)と判定されれば、直ちにステップS121に戻り、それ以後、選択されたWebサーバへのリソース割り当て処理は行われなくなる。
なお、「ハードオーバーフローリソース(リソースID=−2)」に対応するダウンロード手段8の動作については、前述(図9参照)と同様なので、ここでは説明を省略する。
ただし、ノンブロッキングリソースに対応するダウンロード手段8の動作(図7参照)において、再割り当て処理(ステップS78)は、「オーバーフローリソース」のみを対象としており、「ハードオーバーフローリソース」は対象としない。
以上のように、この発明の実施の形態2による割り当て手段7は、Webサーバ群のいずれかのWebサーバに対し、平均経過時間がアクセス間隔目標値を上回っている場合に、所定の通信リソース群とは異なる別の(第2の)通信リソース群(所定数からなる)から通信リソースを、ハードオーバーリソースとして割り当てる。このとき、ダウンロード手段8は、別の(第2の)通信リソース群のいずれかの通信リソースが割り当てられた各Webサーバに対して、順次ダウンロードを行う。
また、割り当て手段7は、Webサーバ群のいずれかのWebサーバに対して、過去にアクセスしたことがない場合に、所定の通信リソース群とは異なる別の(第4の)通信リソース群(所定数からなる)から、通信リソースを未アクセスWebサーバ用リソースとして割り当てる。
この場合、ダウンロード手段8は、第4の通信リソース群のいずれかの通信リソースが割り当てられた各Webサーバに対し、順次ダウンロードを行うとともに、Webサーバとの通信に成功した場合には、Webサーバに対して、新たに別の(第3の)通信リソース群のいずれかの通信リソースを、オーバーフローリソースとして割り当て手段7に割り当てさせるか、または、通信リソースの再割り当てを割り当て手段7に行わせる。
また、ダウンロード手段8は、第4の通信リソース群のいずれかの通信リソースが割り当てられた各Webサーバとの通信に成功しなかった場合に、Webサーバとの通信を所定回数に達するまで再試行するとともに、所定回数だけ通信を繰り返してもWebサーバとの通信に成功しなかった場合には、Webサーバにいずれの通信リソースも割り当てないようにする。
これにより、オーバーフローリソースが、物理的なリソース不足に対応する「オーバーフローリソース」と、Webサーバ自体の特性上オーバーフローが避けられない「ハードオーバーフローリソース」と、Webサーバが存在しないことにより接続タイムアウトまでの大きな遅延が発生する可能性のある「未アクセスWebサーバ用リソース」とに細分化されるので、オーバーフローリソースが割り当てられた各Webサーバとの通信をより多く行い、一時的なリソース不足の影響を低減することができる。
実施の形態3.
なお、上記実施の形態2では、オーバーフローリソースを3種類に分類したが、図13〜図16に示すように、4種類に分類してもよい。
図13〜図16はこの発明の実施の形態3を示しており、図13はWebサーバ状態テーブル3aの説明図、図14は割り当て手段7の動作を示すフローチャート、図15および図16はダウンロード手段8の動作を示すフローチャートである。
この発明の実施の形態3においては、前述の実施の形態2に対し、さらに「コンテンツ判定中Webサーバ用リソース(リソースID=−4)」を加えた制御を行う。
この場合、Webサーバアクセススケジューリングシステムは、前述(図2参照)のWebサーバ状態テーブル3に代えて、図13に示すWebサーバ状態テーブル3aを用いる。
図13において、Webサーバ状態テーブル3aは、前述のWebサーバ状態テーブル3に対して、日本語ページ数28の項目が追加されている。
日本語ページ数28は、対応するWebサーバに属するWebページのうち、ダウンロードの結果、「日本語で記述されている」と判明したWebページ数である。
なお、Webページの記述言語の判定は、バイト値の出現頻度から文字コードを推定することにより可能であり、Webブラウザなどに組み込まれて広く利用されている。
たとえば公知の選択的Web情報収集装置(特開2006−235729号公報参照)には、Webページの記述言語に基づき、Webサーバの使用言語を判定し、特定言語が使用されているWebサーバ上のWebページを選択的に収集する技術が開示されており、この発明の実施の形態3は、この公知技術との組み合わせにより効果を発揮する。
図14において、この発明の実施の形態3による割り当て手段7は、前述(図6、図11参照)のステップS61またはステップS111〜114に代えて、ステップS141〜S146を実行する。
まず、割り当て手段7は、割り当て対象のWebサーバのアクセス回数25(図13参照)を「0」と比較して、アクセス回数=0であるか否かを判定する(ステップS141)。
ステップS141において、アクセス回数=0(すなわち、YES)と判定されれば、割り当て対象のWebサーバに「未アクセスWebサーバ用リソース」を割り当てて(ステップS142)、図14の処理ルーチンを終了する。
このとき、割り当て手段7は、リソースID=−3に対応するWebサーバリスト36(図3参照)に割り当て対象のWebサーバを追加し、割り当て対象のWebサーバのリソースID27に「−3」を設定する。
一方、ステップS141において、アクセス回数>0(すなわち、NO)と判定されれば、続いて、割り当て対象のWebサーバの日本語ページ数28(図13参照)を「0」と比較して、日本語ページ数=0であるか否かを判定する(ステップS143)。
ステップS143において、日本語ページ数=0(すなわち、YES)と判定されれば、割り当て対象のWebサーバに、今回新たに導入した「コンテンツ判定中Webサーバ用リソース」を割り当てて(ステップS144)、図14の処理ルーチンを終了する。
このとき、割り当て手段7は、リソースID=−4に対応するWebサーバリスト36に割り当て対象のWebサーバを追加し、割り当て対象のWebサーバのリソースID27に「−4」を設定する。
一方、ステップS143において、日本語ページ数>0(すなわち、NO)と判定されれば、続いて、割り当て対象のWebサーバのアクセス間隔23が平均経過時間(=経過時間24÷アクセス回数25)よりも小さいか否かを判定し(ステップS145)、アクセス間隔≧平均経過時間(すなわち、NO)と判定されれば、図6内のステップS62に移行する。
一方、ステップS145において、アクセス間隔<平均経過時間(すなわち、YES)と判定されれば、割り当て対象のWebサーバに「ハードオーバーフローリソース」を割り当てて(ステップS146)、図14の処理ルーチンを終了する。
このとき、割り当て手段7は、リソースID=−2に対応するWebサーバリスト36に割り当て対象のWebサーバを追加し、割り当て対象のWebサーバのリソースID27に「−2」を設定する。
以下、図15および図16を参照しながら、ダウンロード手段8の動作について説明する。
図15は未アクセスWebサーバ用リソース(リソースID=−3)に対応する処理を示しており、ステップS151〜S154、S157、S158は、前述(図12)のステップS121〜S126と同様の処理である。
図15において、まず、ダウンロード手段8は、未アクセスWebサーバ用リソースのWebサーバリスト36にWebサーバが存在するか否かを判定し(ステップS151)、Webサーバが存在しない(すなわち、NO)と判定されれば、未アクセスWebサーバ用リソースのWebサーバリスト36にWebサーバが挿入されるまで待機する。
ステップS151において、未アクセスWebサーバ用リソースのWebサーバリスト36にWebサーバが存在する(すなわち、YES)と判定されれば、各Webサーバリストから1つのWebサーバを選択して除去し(ステップS152)、選択したWebサーバからのWebページダウンロードを、前述(図8)と同様の処理手順にしたがって実行する(ステップS153)。
続いて、ステップS153におけるダウンロードの結果に基づき、Webサーバが存在するか否かを判定し(ステップS154)、所定のリトライ制限回数だけリトライを繰り返してもWebサーバの存在が確認できない(すなわち、NO)と判定されれば、直ちにステップS151に戻り、それ以後、各Webサーバへのリソース割り当て処理は行われなくなる。
また、ステップS154において、Webサーバの存在は確認できなかったものの、リトライ制限回数に達していない場合には、「判定保留」として、Webサーバを、元の未アクセスWebサーバ用リソース(リソースID=−3)のWebサーバリスト36の末尾に挿入し、ステップS151に戻る(ステップS158)。
一方、ステップS154において、Webサーバが存在する(すなわち、YES)と判定されれば、続いて、ダウンロードしたWebページの記述言語が日本語である(所定条件を満たす)か否かを判定する(ステップS155)。
ステップS155において、Webページの記述言語が日本語でない(すなわち、NO)と判定されれば、選択されたWebサーバをコンテンツ判定中Webサーバ用リソース(リソースID=−4)のWebサーバリスト36に挿入し、選択されたWebサーバのリソースIDに「−4」を設定して(ステップS156)、ステップS151に戻る。
一方、ステップS155において、Webページの記述言語が日本語である(すなわち、YES)と判定されれば、選択されたWebサーバを、オーバーフローリソース(リソースID=−1)のWebサーバリスト36に挿入し、選択されたWebサーバのリソースID27を「−1」に設定して(ステップS157)、ステップS151に戻る。
図16はコンテンツ判定中Webサーバ用リソース(リソースID=−4)に対応するダウンロード手段8の動作を示している。
図16において、まず、ダウンロード手段8は、コンテンツ判定中Webサーバ用リソースのWebサーバリスト36に、条件「最終アクセス時刻26+アクセス間隔23−経過時間24÷アクセス回数25<現在時刻」を満たすWebサーバ(次アクセス開始候補Webサーバ)が存在するか否かを判定し(ステップS161)、Webサーバが存在しない(すなわち、NO)と判定されれば、次アクセス開始候補Webサーバが現れるまで待機する。
ステップS161において、次アクセス開始候補Webサーバが存在する(すなわち、YES)と判定されれば、上記条件を満たすWebサーバを1つ選択してWebサーバリスト36から除去し(ステップS162)、選択したWebサーバからのWebページダウンロードを、前述(図8)の処理手順にしたがって実行する(ステップS163)。
続いて、ダウンロードしたWebページの記述言語に基づき、選択されたWebサーバにおける使用言語が日本語であるか否かを判定し(ステップS164)、一定数(閾値)以上のWebページをアクセスしても日本語Webページが見付からず、Webサーバの使用言語が日本語でない(すなわち、NO)と判定されれば、直ちにステップS161に戻り、それ以後、選択されたWebサーバへのリソース割り当て処理は行われなくなる。
また、ステップS164において、各Webページの記述言語が非日本語であるが、各Webサーバのアクセス回数25が閾値以下である場合には、「判定保留」として、Webサーバを元のコンテンツ判定中Webサーバ用リソース(リソースID=−4)のWebサーバリスト36に挿入し(ステップS166)、ステップS161に戻る。
一方、ステップS164において、Webサーバの使用言語が日本語である(すなわち、YES)と判定されれば、選択されたWebサーバをオーバーフローリソース(リソースID=−1)のWebサーバリスト36に挿入し、選択されたWebサーバのリソースID27を「−1」に設定して(ステップS165)、ステップS161に戻る。
なお、「ハードオーバーフローリソース(リソースID=−2)」に対応するダウンロード手段8の動作については、前述(図9参照)と同様なので、ここでは説明を省略する。
以上のように、この発明の実施の形態3において、記憶部2は、Webサーバ状態テーブル3および通信リソース状態テーブル4に加えて、ダウンロードした各Webページの状態を記憶するWebページ状態テーブル5と、各Webページのコンテンツを記憶するWebページコンテンツテーブル6とを備えている
また、割り当て手段7は、Webサーバ群のいずれかのWebサーバに対して、過去に所定条件を満たすコンテンツをダウンロードしたことがない場合に、所定の通信リソース群とは異なる別の(第5の)通信リソース群(所定数からなる)から、通信リソースをコンテンツ判定中Webサーバ用リソースとして割り当てる。
この場合、ダウンロード手段8は、第5の通信リソース群のいずれかの通信リソースが割り当てられた各Webサーバのうち、前回ダウンロード終了から所定時間が経過したWebサーバに対して、順次ダウンロードを行うとともに、ダウンロードしたコンテンツが所定条件を満たす場合には、Webサーバに対して新たに別の(第3の)通信リソース群のいずれかの通信リソースを、オーバーフローリソースとして割り当て手段7に割り当てさせるか、または、各Webサーバに対して通信リソースの再割り当てを割り当て手段7に行わせる。
ここで、所定時間は、各Webサーバに関するアクセス間隔目標値と平均経過時間との差である。
また、ダウンロード手段8は、第5の通信リソース群のいずれかの通信リソースが割り当てられた各Webサーバからダウンロードしたコンテンツが所定条件を満たさなかった場合に、Webサーバからのダウンロードを所定回数に達するまで行うとともに、所定回数だけダウンロードを繰り返してもWebサーバから所定条件を満たすコンテンツがダウンロードされなかった場合には、Webサーバに対していずれの通信リソースも割り当てないようにする。
なお、コンテンツに対する所定条件は、
(1)コンテンツがテキストデータであることと、
(2)コンテンツが特定の文字コード(日本語)で記述されていることと、
の両方を含む。
さらに、前述の実施の形態2と関連して、割り当て手段7は、Webサーバ群のいずれかのWebサーバに対して、過去にアクセスしたことがない場合に、通信リソース群とは異なる別の(第4の)通信リソース群から、通信リソースを未アクセスWebサーバ用リソースとして割り当てる。
この場合、ダウンロード手段8は、第4の通信リソース群のいずれかの通信リソースが割り当てられた各Webサーバに対し、順次ダウンロードを行うとともに、Webサーバとの通信に成功した場合には、Webサーバに対して、新たに別の(第5の)通信リソース群のいずれかの通信リソースを、オーバーフローリソースとして割り当て手段7に割り当てさせる。
また、ダウンロード手段8は、第4の通信リソース群のいずれかの通信リソースが割り当てられた各Webサーバとの通信に成功しなかった場合に、Webサーバとの通信を所定回数に達するまで再試行するとともに、所定回数だけ通信を繰り返してもWebサーバとの通信に成功しなかった場合には、Webサーバにいずれの通信リソースも割り当てないようにする。
このように、この発明の実施の形態3によれば、特定言語で記述されたWebページの収集を目的とする場合に、Webサーバ単位のコンテンツ判定状況に応じた通信リソースを別途設けることにより、最終的に不要となるWebページの収集や地理的に離れたWebサーバとの通信にともなう遅延の影響を低減することができる。
なお、上記実施の形態3では、コンテンツ判定の所定条件として使用言語を用いたが、Webサーバ10に局在する傾向があるコンテンツに対する別の条件を代わりに用いてもよい。
たとえば、コンテンツに対する所定条件は、コンテンツが動画データであることであってもよい。
具体的には、図13内の日本語ページ数28を「動画コンテンツ数」に置き換え、前述のステップS155およびS164(図15、図16参照)における判定条件を、「コンテンツの形式が、Adobe Flash、Microsoft Windows Media、Apple Quick Timeであるか否か」とし、動画コンテンツを有するWebサーバに対する選択的な情報収集に適用することができる。
この発明の実施の形態1に係るWebサーバアクセススケジューリングシステムの概略構成を示すブロック図である。 図1内のWebサーバ状態テーブルの詳細内容を示す説明図である。 図1内の通信リソース状態テーブルの詳細内容を示す説明図である。 図1内のWebサーバ状態テーブルの詳細内容を示す説明図である。 図1内の割り当て手段の初期設定動作を示すフローチャートである。 図5内のリソース割り当て処理(ステップS53)を詳細に示すフローチャートである。 図1内のダウンロード手段の動作を示すフローチャートであり、ノンブロッキングリソースの1つに対応する場合の処理を示している。 図7内のWebページダウンロード処理(ステップS73)を詳細に示すフローチャートである。 図1内のダウンロード手段の動作を示すフローチャートであり、オーバーフローリソースに対応する場合の処理を示している。 この発明の実施の形態1による効果を示す説明図である。 この発明の実施の形態2による割り当て手段の動作を示すフローチャートである。 この発明の実施の形態2によるダウンロード手段の動作を示すフローチャートである。 この発明の実施の形態3におけるWebサーバ状態テーブルの詳細内容を示す説明図である。 この発明の実施の形態3による割り当て手段の動作を示すフローチャートである。 この発明の実施の形態3によるダウンロード手段の動作を示すフローチャートであり、未アクセスWebサーバ用リソースに対応する場合の処理を示している。 この発明の実施の形態3によるダウンロード手段の動作を示すフローチャートであり、コンテンツ判定中Webサーバ用リソースに対応する場合の処理を示している。
符号の説明
1 コンピュータ、2 記憶部、3、3a Webサーバ状態テーブル、4 通信リソース状態テーブル、5 Webページ状態テーブル、6 Webページコンテンツテーブル、7 割り当て手段、8 ダウンロード手段、10 Webサーバ。

Claims (19)

  1. 記憶部と、ダウンロード手段と、割り当て手段と、を備えたWebサーバアクセススケジューリングシステムであって、
    前記記憶部は、
    所定のWebサーバ群の各Webサーバに対するアクセス間隔目標値と、通信リソース割り当て状態と、1アクセス当たり平均経過時間と、を記憶するWebサーバ状態テーブルと、
    所定の通信リソース群の各通信リソースに対する空き容量を記憶する通信リソース状態テーブルと、を含み、
    前記ダウンロード手段は、
    前記アクセス間隔目標値と、前記通信リソース割り当て状態と、に基づき、
    前記Webサーバ群からダウンロード対象のWebサーバを選択して、コンテンツをダウンロードするとともに、
    ダウンロードの経過時間の実績に基づいて前記選択されたWebサーバの1アクセス当たり平均経過時間を前記記憶部に記憶させ、
    前記割り当て手段は、
    前記各Webサーバに対して、前記アクセス間隔目標値、前記平均経過時間、および前記空き容量が所定の条件を満たす通信リソースを前記通信リソース群から1つ選択して割り当て、
    割り当てた結果を前記通信リソース割り当て状態として前記記憶部に記憶させること
    を特徴とするWebサーバアクセススケジューリングシステム。
  2. 前記空き容量は、前記空き容量に対応する通信リソースが割り当てられたすべてのWebサーバに関する、前記アクセス間隔目標値の最小値と前記平均経過時間の総和との差であり、
    前記所定の条件は、
    前記Webサーバの前記平均経過時間が前記各通信リソースの前記空き容量以下であることと、
    前記Webサーバの前記アクセス間隔目標値と、前記空き容量に対応する通信リソースが割り当てられたすべてのWebサーバに関する前記アクセス間隔目標値の最小値との比が一定値未満であることと、
    前記空き容量に対応する通信リソースが割り当てられたすべてのWebサーバに関する前記アクセス間隔目標値の最大値と、前記Webサーバの前記アクセス間隔目標値との比が一定値未満であることと、のすべてを含む
    ことを特徴とする請求項1に記載のWebサーバアクセススケジューリングシステム。
  3. 前記空き容量は、
    値1を超えない定数と、前記空き容量に対応する通信リソースが割り当てられたすべてのWebサーバに関する、前記平均経過時間と前記アクセス間隔目標値の比の総和との差であり、
    前記所定の条件は、
    前記Webサーバの前記平均経過時間と前記アクセス間隔目標値との比が、前記通信リソースの前記空き容量以下であることを含む
    ことを特徴とする請求項1に記載のWebサーバアクセススケジューリングシステム。
  4. 前記ダウンロード手段は、
    前記各通信リソースについて、その通信リソースが割り当てられた各Webサーバから巡回的にダウンロードを行い、
    前記各Webサーバを一巡するごとに、前記各Webサーバを一巡するのに要した時間が、前記通信リソースが割り当てられたすべてのWebサーバに関する前記アクセス間隔目標値の最小値を下回らないように待機する
    ことを特徴とする請求項2に記載のWebサーバアクセススケジューリングシステム。
  5. 前記ダウンロード手段は、
    前記各通信リソースのいずれかが割り当てられたWebサーバであって、前回ダウンロード終了から所定時間が経過した各Webサーバのうち、判定時間が最小となるWebサーバから順次ダウンロードを行い、
    前記所定時間は、前記各Webサーバに関する前記アクセス間隔目標値と前記平均経過時間との差であり、
    前記判定時間は、前記各Webサーバの前回ダウンロード終了時刻に、前記所定時間の2倍を加算した値である
    ことを特徴とする請求項1から請求項3までのいずれか1項に記載のWebサーバアクセススケジューリングシステム。
  6. 前記ダウンロード手段は、
    前記各Webサーバからダウンロードした各コンテンツの更新履歴から前記各コンテンツの推定更新間隔を算出し、
    前記各Webサーバに対応する前記アクセス間隔目標値を、前記各Webサーバに属するすべてのコンテンツに関する前記推定更新間隔の逆数の総和の逆数として与える
    ことを特徴とする請求項1から請求項5までのいずれか1項に記載のWebサーバアクセススケジューリングシステム。
  7. 前記ダウンロード手段は、
    前記Webサーバ群のいずれかのWebサーバからのダウンロード後に、前記Webサーバの前記平均経過時間および前記アクセス間隔目標値を更新した結果、前記所定の条件が満たされなくなった場合に、
    前記Webサーバに対する通信リソースの再割り当てを前記割り当て手段に行わせる
    ことを特徴とする請求項1から請求項6までのいずれか1項に記載のWebサーバアクセススケジューリングシステム。
  8. 前記割り当て手段は、
    前記Webサーバ群のいずれかのWebサーバに対し、前記平均経過時間が前記アクセス間隔目標値を上回っている場合に、
    前記通信リソース群とは異なる第2の通信リソース群から通信リソースを割り当て、
    前記ダウンロード手段は、
    前記第2の通信リソース群のいずれかの通信リソースが割り当てられた各Webサーバに対して、順次ダウンロードを行う
    ことを特徴とする請求項1から請求項7までのいずれか1項に記載のWebサーバアクセススケジューリングシステム。
  9. 前記割り当て手段は、
    前記Webサーバ群のいずれかのWebサーバに対し、前記所定の条件を満たす通信リソースが前記通信リソース群に存在しない場合に、
    前記通信リソース群とは異なる第3の通信リソース群から通信リソースを割り当て、
    前記ダウンロード手段は、
    前記第3の通信リソース群のいずれかの通信リソースが割り当てられた各Webサーバのうち、前回ダウンロード終了から所定時間が経過したWebサーバに対して、順次ダウンロードを行い、
    前記所定時間は、前記各Webサーバに関する前記アクセス間隔目標値と前記平均経過時間との差である
    ことを特徴とする請求項1から請求項8までのいずれか1項に記載のWebサーバアクセススケジューリングシステム。
  10. 前記ダウンロード手段は、
    前記通信リソース群のいずれかの通信リソースが割り当てられたWebサーバからのダウンロード後に、前記Webサーバの前記平均経過時間および前記アクセス間隔目標値を更新した結果、前記Webサーバに割り当てられた通信リソースの前記空き容量が一定値以上に達した場合に、
    前記第3の通信リソース群のいずれかの通信リソースが割り当てられた各Webサーバに対して、通信リソースの再割り当てを前記割り当て手段に行わせる
    ことを特徴とする請求項9に記載のWebサーバアクセススケジューリングシステム。
  11. 前記割り当て手段は、
    前記Webサーバ群のいずれかのWebサーバに対して、過去にアクセスしたことがない場合に、
    前記通信リソース群とは異なる第4の通信リソース群から通信リソースを割り当て、
    前記ダウンロード手段は、
    前記第4の通信リソース群のいずれかの通信リソースが割り当てられた各Webサーバに対し、順次ダウンロードを行うとともに、
    前記Webサーバとの通信に成功した場合には、前記Webサーバに対して、新たに前記第3の通信リソース群のいずれかの通信リソースを前記割り当て手段に割り当てさせる
    ことを特徴とする請求項10に記載のWebサーバアクセススケジューリングシステム。
  12. 前記割り当て手段は、
    前記Webサーバ群のいずれかのWebサーバに対して、過去にアクセスしたことがない場合に、
    前記通信リソース群とは異なる第4の通信リソース群から通信リソースを割り当て、
    前記ダウンロード手段は、
    前記第4の通信リソース群のいずれかの通信リソースが割り当てられた各Webサーバに対し、順次ダウンロードを行うとともに、
    前記Webサーバとの通信に成功した場合には、前記Webサーバに対して、通信リソースの再割り当てを前記割り当て手段に行わせる
    ことを特徴とする請求項1から請求項10までのいずれか1項に記載のWebサーバアクセススケジューリングシステム。
  13. 前記割り当て手段は、
    前記Webサーバ群のいずれかのWebサーバに対して、過去に所定条件を満たすコンテンツをダウンロードしたことがない場合に、
    前記通信リソース群とは異なる第5の通信リソース群から通信リソースを割り当て、
    前記ダウンロード手段は、
    前記第5の通信リソース群のいずれかの通信リソースが割り当てられた各Webサーバのうち、前回ダウンロード終了から所定時間が経過したWebサーバに対して、順次ダウンロードを行うとともに、
    ダウンロードしたコンテンツが前記所定条件を満たす場合には、前記Webサーバに対して新たに前記第3の通信リソース群のいずれかの通信リソースを前記割り当て手段に割り当てさせ、
    前記所定時間は、前記各Webサーバに関する前記アクセス間隔目標値と前記平均経過時間との差である
    ことを特徴とする請求項10に記載のWebサーバアクセススケジューリングシステム。
  14. 前記割り当て手段は、
    前記Webサーバ群のいずれかのWebサーバに対して、過去に所定条件を満たすコンテンツをダウンロードしたことがない場合に、
    前記通信リソース群とは異なる第5の通信リソース群から通信リソースを割り当て、
    前記ダウンロード手段は、
    前記第5の通信リソース群のいずれかの通信リソースが割り当てられた各Webサーバのうち、前回ダウンロード終了から所定時間が経過したWebサーバに対して、順次ダウンロードを行うとともに、
    ダウンロードしたコンテンツが前記所定条件を満たす場合には、前記Webサーバに対して通信リソースの再割り当てを前記割り当て手段に行わせ、
    前記所定時間は、前記各Webサーバに関する前記アクセス間隔目標値と前記平均経過時間との差である
    ことを特徴とする請求項1から請求項10までのいずれか1項に記載のWebサーバアクセススケジューリングシステム。
  15. 前記ダウンロード手段は、
    前記第5の通信リソース群のいずれかの通信リソースが割り当てられた各Webサーバからダウンロードしたコンテンツが前記所定条件を満たさなかった場合に、
    前記Webサーバからのダウンロードを所定回数に達するまで行うとともに、
    前記所定回数だけダウンロードを繰り返しても前記Webサーバから前記所定条件を満たすコンテンツがダウンロードされなかった場合には、
    前記Webサーバに対して前記いずれの通信リソースも割り当てない
    ことを特徴とする請求項13または請求項14に記載のWebサーバアクセススケジューリングシステム。
  16. 前記記憶部は、
    ダウンロードした各Webページの状態を記憶するWebページ状態テーブルと、
    前記各Webページのコンテンツを記憶するWebページコンテンツテーブルと、を含み、
    前記コンテンツに対する所定条件は、
    前記コンテンツがテキストデータであることと、
    前記コンテンツが特定の文字コードで記述されていることと、の両方を含む
    ことを特徴とする請求項13から請求項15までのいずれか1項に記載のWebサーバアクセススケジューリングシステム。
  17. 前記記憶部は、
    ダウンロードした各Webページの状態を記憶するWebページ状態テーブルと、
    前記各Webページのコンテンツを記憶するWebページコンテンツテーブルと、を含み、
    前記コンテンツに対する所定条件は、前記コンテンツが動画データであることを含む
    ことを特徴とする請求項13から請求項15までのいずれか1項に記載のWebサーバアクセススケジューリングシステム。
  18. 前記割り当て手段は、
    前記Webサーバ群のいずれかのWebサーバに対して、過去にアクセスしたことがない場合に、
    前記通信リソース群とは異なる第4の通信リソース群から通信リソースを割り当て、
    前記ダウンロード手段は、
    前記第4の通信リソース群のいずれかの通信リソースが割り当てられた各Webサーバに対し、順次ダウンロードを行うとともに、
    前記Webサーバとの通信に成功した場合には、前記Webサーバに対して、新たに前記第5の通信リソース群のいずれかの通信リソースを前記割り当て手段に割り当てさせる
    ことを特徴とする請求項13から請求項17までのいずれか1項に記載のWebサーバアクセススケジューリングシステム。
  19. 前記ダウンロード手段は、
    前記第4の通信リソース群のいずれかの通信リソースが割り当てられた各Webサーバとの通信に成功しなかった場合に、
    前記Webサーバとの通信を所定回数に達するまで再試行するとともに、
    前記所定回数だけ通信を繰り返しても前記Webサーバとの通信に成功しなかった場合には、
    前記Webサーバに前記いずれの通信リソースも割り当てない
    ことを特徴とする請求項11、請求項12、または請求項18に記載のWebサーバアクセススケジューリングシステム。
JP2007280728A 2007-10-29 2007-10-29 Webサーバアクセススケジューリングシステム Active JP4948361B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007280728A JP4948361B2 (ja) 2007-10-29 2007-10-29 Webサーバアクセススケジューリングシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007280728A JP4948361B2 (ja) 2007-10-29 2007-10-29 Webサーバアクセススケジューリングシステム

Publications (2)

Publication Number Publication Date
JP2009110196A JP2009110196A (ja) 2009-05-21
JP4948361B2 true JP4948361B2 (ja) 2012-06-06

Family

ID=40778640

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007280728A Active JP4948361B2 (ja) 2007-10-29 2007-10-29 Webサーバアクセススケジューリングシステム

Country Status (1)

Country Link
JP (1) JP4948361B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5032543B2 (ja) 2009-09-16 2012-09-26 株式会社東芝 スケジューリング装置、方法及びプログラム
JP5462713B2 (ja) * 2010-05-25 2014-04-02 株式会社Kddi研究所 Webページ収集装置、方法及びプログラム
JP5238829B2 (ja) 2011-01-13 2013-07-17 株式会社東芝 データ収集装置、データ収集プログラム、およびデータ収集システム
KR101425816B1 (ko) * 2013-10-29 2014-08-05 네이버 주식회사 실시간 검색 구현 방법 및 그 시스템
CN114827115B (zh) * 2022-06-01 2024-06-28 青岛中科曙光科技服务有限公司 容器内Web服务的访问方法、装置、电子设备及存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4025379B2 (ja) * 1996-09-17 2007-12-19 株式会社ニューズウオッチ 検索システム
JP3507824B2 (ja) * 2002-01-25 2004-03-15 株式会社東芝 データ伝送装置及びデータ伝送方法

Also Published As

Publication number Publication date
JP2009110196A (ja) 2009-05-21

Similar Documents

Publication Publication Date Title
US10635664B2 (en) Map-reduce job virtualization
JP4293011B2 (ja) 障害時のサーバ決定方法
US6757802B2 (en) Method for memory heap and buddy system management for service aware networks
JP5121936B2 (ja) リソース割り当て装置及びリソース割り当てプログラム及び記録媒体及びリソース割り当て方法
JP6233413B2 (ja) タスク割り当て判定装置、制御方法、及びプログラム
CN109729106B (zh) 处理计算任务的方法、系统和计算机程序产品
JP4948361B2 (ja) Webサーバアクセススケジューリングシステム
US11311722B2 (en) Cross-platform workload processing
US10394782B2 (en) Chord distributed hash table-based map-reduce system and method
WO2005017763A2 (en) System and method for allocating system resources
CN106569892B (zh) 资源调度方法与设备
JP6951846B2 (ja) 計算機システム及びタスクの割当方法
JP2011039800A (ja) データベース管理方法およびシステム並びにその処理プログラム
JP6715420B2 (ja) データ量圧縮方法、装置、プログラム及びicチップ
CN111857539A (zh) 用于管理存储系统的方法、设备和计算机程序产品
JP2016024612A (ja) データ処理制御方法、データ処理制御プログラムおよびデータ処理制御装置
KR101595967B1 (ko) 데드라인 부여된 작업의 분산 처리 성능 향상을 위한 맵리듀스 스케쥴링 시스템 및 방법
US20150365474A1 (en) Computer-readable recording medium, task assignment method, and task assignment apparatus
US11550505B1 (en) Intra-shard parallelization of data stream processing using virtual shards
CN113296877A (zh) 数据处理方法和装置,及计算机存储介质和电子设备
CN109407970B (zh) 读写请求处理方法、装置及电子设备
US9626226B2 (en) Cross-platform workload processing
US8918555B1 (en) Adaptive and prioritized replication scheduling in storage clusters
CN111459649B (zh) 管理计算资源的存储器的方法、设备和计算机可读介质
CN114706849B (zh) 一种数据检索方法、装置及电子设备

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100827

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120203

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120207

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120306

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

Free format text: PAYMENT UNTIL: 20150316

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4948361

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250