(57)【要約】【課題】クローリングの実行に際し、ネットワーク帯域の消費を抑えることのできるネットワーク帯域制御方法を得る。【解決手段】通信端末と接続先との間の接続確立要求を受信する要求受信ステップと、その通信端末と接続先との間の接続を確立する確立ステップと、を有し、要求受信ステップで受信した接続確立要求に、ネットワーク帯域が枯渇した際には当該通信端末の接続を優先的に切断してよい旨の通知が含まれていた場合、ネットワーク帯域が枯渇した際に、その通信端末と接続先との間の接続を切断する。【選択図】図６
2008306259.tif 000002
【特許請求の範囲】
【請求項１】
通信端末が使用するネットワーク帯域を制御する装置がネットワーク帯域を制御する方法であって、
通信端末と接続先との間の接続確立要求を受信する要求受信ステップと、
その通信端末と接続先との間の接続を確立する確立ステップと、
を有し、
前記要求受信ステップで受信した接続確立要求に、
ネットワーク帯域が枯渇した際には当該通信端末の接続を優先的に切断してよい旨の通知が含まれていた場合、
ネットワーク帯域が枯渇した際に、
その通信端末と接続先との間の接続を切断する
ことを特徴とするネットワーク帯域制御方法。
【請求項２】
通信端末を特定するための情報を格納する記憶手段を設け、
前記記憶手段に、
その通信端末を特定するための情報と、
その通信端末が使用するネットワーク帯域値と、
を格納しておき、
前記要求受信ステップで受信した接続確立要求に、
ネットワーク帯域が枯渇した際には当該通信端末の接続を優先的に切断してよい旨の通知が含まれていた場合、
ネットワーク帯域が枯渇した際に、前記ネットワーク帯域値を参照し、
そのネットワーク帯域の使用を解放することによりネットワーク帯域の枯渇を解消できるか否かを判断し、
解消できると判断した際には、
その通信端末と接続先との間の接続を切断する
ことを特徴とする請求項１に記載のネットワーク帯域制御方法。
【請求項３】
ネットワーク上のコンテンツを収集するクローリング装置がクローリングを行う方法であって、
コンテンツのリストを格納する記憶手段を設け、
コンテンツ提供元のサーバとの間の接続確立を要求する要求ステップと、
そのサーバとの間の接続を確立する確立ステップと、
そのサーバが提供するコンテンツを収集する収集ステップと、
を有し、
前記要求ステップにおいて接続確立を要求する際に、
ネットワーク帯域が枯渇した際には前記サーバとの間の接続を優先的に切断してよい旨の通知を当該要求に含めておき、
前記収集ステップの実行途中に、
その通知に基づき前記サーバとの間の接続が切断された場合は、
前記リストに当該コンテンツの場所を表す情報を記録しておき、
後にそのリストを参照して、当該コンテンツについて再度前記各ステップを実行する
ことを特徴とするクローリング方法。
【請求項４】
ネットワーク上のコンテンツを収集する１ないし複数のエージェントを設け、
前記リストに記録されたコンテンツの収集を前記エージェントのうちの１つに依頼する依頼ステップと、
前記リストからそのコンテンツに関する記録を削除するステップと、
前記エージェントがそのコンテンツの収集を行った結果を受信する依頼結果受信ステップと、
を有し、
前記依頼結果受信ステップにおいて、
前記エージェントがコンテンツを収集しなかった旨を受信した際には、
前記リストにそのコンテンツの場所を表す情報を再記録する
ことを特徴とする請求項３に記載のクローリング方法。
【請求項５】
前記依頼ステップでは、
前記サーバとの間のネットワーク距離が最も近いエージェントにコンテンツ収集を依頼する
ことを特徴とする請求項４に記載のクローリング方法。
【請求項６】
前記エージェントと前記サーバとの接続成功率を前記記憶手段に格納しておき、
前記依頼ステップでは、
前記サーバとの接続成功率が最も高いエージェントにコンテンツ収集を依頼する
ことを特徴とする請求項４に記載のクローリング方法。
【請求項７】
ネットワーク上のコンテンツを収集するエージェント装置がクローリングを行う方法であって、
コンテンツの収集依頼を受信する依頼受信ステップと、
コンテンツ提供元のサーバとの間の接続確立を要求する要求ステップと、
そのサーバとの間の接続を確立する確立ステップと、
そのサーバが提供するコンテンツを収集する収集ステップと、
を有し、
前記要求ステップにおいて接続確立を要求する際に、
ネットワーク帯域が枯渇した際には前記サーバとの間の接続を優先的に切断してよい旨の通知を当該要求に含めておき、
前記収集ステップの実行途中に、
前記通知に基づき前記サーバとの間の接続が切断された場合は、
他のエージェント装置に対しそのコンテンツの収集を依頼する依頼ステップを実行する
ことを特徴とするクローリング方法。
【請求項８】
コンテンツの収集に失敗した前記エージェント装置のリスト（以下「選択済みエージェントリスト」）を格納する記憶手段を設け、
前記依頼ステップにおいて、
前記選択済みエージェントリストを参照し、その選択済みエージェントリストに含まれていないエージェント装置にコンテンツの収集を依頼する
ことを特徴とする請求項７に記載のクローリング方法。
【請求項９】
前記依頼ステップでは、
前記選択済みエージェントリストに含まれておらず、
かつ、
前記サーバとの間のネットワーク距離が最も近いエージェント装置にコンテンツ収集を依頼する
ことを特徴とする請求項８に記載のクローリング方法。
【請求項１０】
前記エージェント装置と前記サーバとの接続成功率を前記記憶手段に格納しておき、
前記依頼ステップでは、
前記選択済みエージェントリストに含まれておらず、
かつ、
前記サーバとの接続成功率が最も高いエージェント装置にコンテンツ収集を依頼する
ことを特徴とする請求項８に記載のクローリング方法。
【請求項１１】
全ての前記エージェント装置がコンテンツの収集に失敗した際には、
前記収集依頼の送信元にその旨を通知する
ことを特徴とする請求項７ないし請求項１０のいずれかに記載のクローリング方法。
【請求項１２】
請求項１または請求項２に記載のネットワーク帯域制御方法をコンピュータに実行させることを特徴とするネットワーク帯域制御プログラム。
【請求項１３】
請求項３ないし請求項６のいずれかに記載のクローリング方法をコンピュータに実行させることを特徴とするクローリングプログラム。
【請求項１４】
請求項７ないし請求項１１のいずれかに記載のクローリング方法をコンピュータに実行させることを特徴とするクローリングプログラム。
【請求項１５】
通信端末が使用するネットワーク帯域を制御する装置であって、
通信端末と接続先との間の接続確立要求を受信する要求受信部と、
その通信端末と接続先との間の接続を確立する確立部と、
その通信端末と接続先との間の接続を切断する切断部と、
を備え、
前記要求受信部が受信した接続確立要求に、
ネットワーク帯域が枯渇した際には当該通信端末の接続を優先的に切断してよい旨の通知が含まれていた場合、
前記切断部は、
ネットワーク帯域が枯渇した際に、その通信端末と接続先との間の接続を切断する
ことを特徴とするネットワーク帯域制御装置。
【請求項１６】
通信端末を特定するための情報と、その通信端末が使用するネットワーク帯域値と、を格納する記憶手段を備え、
前記要求受信部が受信した接続確立要求に、
ネットワーク帯域が枯渇した際には当該通信端末の接続を優先的に切断してよい旨の通知が含まれていた場合、
前記切断部は、
ネットワーク帯域が枯渇した際に、前記ネットワーク帯域値を参照し、
そのネットワーク帯域の使用を解放することによりネットワーク帯域の枯渇を解消できるか否かを判断し、
解消できると判断した際には、その通信端末と接続先との間の接続を切断する
ことを特徴とする請求項１５に記載のネットワーク帯域制御装置。
【請求項１７】
ネットワーク上のコンテンツを収集するクローリング装置であって、
コンテンツのリストを格納する記憶手段と、
コンテンツ提供元のサーバとの間の接続確立を要求する要求部と、
そのサーバとの間の接続を確立する確立部と、
そのサーバが提供するコンテンツを収集する収集部と、
を備え、
前記要求部は、
接続確立を要求する際に、
ネットワーク帯域が枯渇した際には前記サーバとの間の接続を優先的に切断してよい旨の通知を当該要求に含めておき、
前記収集部は、
コンテンツを収集している途中に、
その通知に基づき前記サーバとの間の接続が切断された場合は、
前記リストに当該コンテンツの場所を表す情報を記録しておき、
前記各部は、
後にそのリストを参照して、当該コンテンツについて再度前記各部の処理を実行する
ことを特徴とするクローリング装置。
【請求項１８】
ネットワーク上のコンテンツを収集するエージェントのうちの１つに対し、前記リストに記録されたコンテンツの収集を依頼する依頼部と、
前記リストからそのコンテンツに関する記録を削除する削除部と、
前記エージェントがそのコンテンツの収集を行った結果を受信する依頼結果受信部と、
を備え、
前記依頼結果受信部は、
前記エージェントがコンテンツを収集しなかった旨を受信した際には、
前記リストにそのコンテンツの場所を表す情報を再記録する
ことを特徴とする請求項１７に記載のクローリング装置。
【請求項１９】
前記依頼部は、
前記サーバとの間のネットワーク距離が最も近いエージェントにコンテンツ収集を依頼する
ことを特徴とする請求項１８に記載のクローリング装置。
【請求項２０】
前記記憶手段は、
前記エージェントと前記サーバとの接続成功率を格納しており、
前記依頼部は、
前記サーバとの接続成功率が最も高いエージェントにコンテンツ収集を依頼する
ことを特徴とする請求項１８に記載のクローリング装置。
【請求項２１】
ネットワーク上のコンテンツを収集するエージェント装置であって、
コンテンツの収集依頼を受信する依頼受信部と、
コンテンツ提供元のサーバとの間の接続確立を要求する要求部と、
そのサーバとの間の接続を確立する確立部と、
そのサーバが提供するコンテンツを収集する収集部と、
他のエージェント装置にコンテンツの収集を依頼する依頼部と、
を備え、
前記要求部は、
接続確立を要求する際に、
ネットワーク帯域が枯渇した際には前記サーバとの間の接続を優先的に切断してよい旨の通知を当該要求に含めておき、
前記収集部がコンテンツを収集している途中に、
前記通知に基づき前記サーバとの間の接続が切断された場合は、
前記依頼部は、
他のエージェント装置に対しそのコンテンツの収集を依頼する
ことを特徴とするエージェント装置。
【請求項２２】
コンテンツの収集に失敗した前記エージェント装置のリスト（以下「選択済みエージェントリスト」）を格納する記憶手段を備え、
前記依頼部は、
前記選択済みエージェントリストを参照し、その選択済みエージェントリストに含まれていないエージェント装置にコンテンツの収集を依頼する
ことを特徴とする請求項２１に記載のエージェント装置。
【請求項２３】
前記依頼部は、
前記選択済みエージェントリストに含まれておらず、
かつ、
前記サーバとの間のネットワーク距離が最も近いエージェント装置にコンテンツ収集を依頼する
ことを特徴とする請求項２２に記載のエージェント装置。
【請求項２４】
前記記憶手段は、
前記エージェント装置と前記サーバとの接続成功率を格納しており、
前記依頼部は、
前記選択済みエージェントリストに含まれておらず、
かつ、
前記サーバとの接続成功率が最も高いエージェント装置にコンテンツ収集を依頼する
ことを特徴とする請求項２２に記載のエージェント装置。
【請求項２５】
前記依頼部は、
ネットワーク上に存在する全てのエージェント装置がコンテンツの収集に失敗した際には、
前記収集依頼の送信元にその旨を通知する
ことを特徴とする請求項２１ないし請求項２４のいずれかに記載のエージェント装置。
【請求項２６】
請求項１５または請求項１６に記載のネットワーク帯域制御装置と、
請求項１７ないし請求項２０のいずれかに記載のクローリング装置と、
請求項２１ないし請求項２５のいずれかに記載のエージェント装置と、
コンテンツを提供するコンテンツサーバと、
を有することを特徴とするネットワークシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークの帯域を制御する方法、コンテンツをクローリングする方法、それらのプログラムおよび装置、コンテンツをクローリングするエージェント装置、それらの装置を備えたネットワークシステムに関するものである。
【背景技術】
【０００２】
情報技術の発達および情報通信機器の普及により、インターネット等のワールドワイドウェブ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ、以下「ウェブ」）を利用して膨大なウェブ情報（ＨＴＭＬ等のマークアップ言語で記述されたウェブページ等の情報）にアクセス可能になってきている。
しかし、この情報量ゆえに情報が埋没し、効果的な情報収集を行うことが難しく、現在では多くの検索エンジンサービスが提供されている。このような検索エンジンとしては、汎用の検索エンジンや、求人情報等の特定分野に限った専門検索エンジン等が存在している。
【０００３】
検索エンジンを構築する場合、検索対象であるデータの収集（クローリング）、そのデータを検索可能にするためのインデキシング、そしてそれを記述している言語が日本語であれば形態素解析等の各処理が必要となる。
【０００４】
なお、クローリングに関し、『分散型ウェブクローラを使って、ネットワーク接続されたシステムから情報を取得するシステムおよび方法を提供すること。』を目的とした技術として、『サーバのクライアントの、分散される性質は、高速かつ正確なウェブクローリングデータを提供するのに利用される。サーバのウェブクローラによって集められた情報は、サーバのクライアントによって検索されたデータと比較され、クローラのデータをアップデートする。本発明の一例では、データの比較は、検索エンジンの結果ページを介して配布される情報を使うことによって遂行される。本発明の別の例では、データの妥当性確認は、サーバから生じる、ウェブクローラのデータを要約する、クライアントの辞書によって遂行される。本発明は、データの正確さを改善ためにウェブクローラがなりすましを受けないよう阻止する手段を提供することによって、データ分析も容易にする。』というものが提案されている（特許文献１）。
【０００５】
【特許文献１】特開２００５−１３５３８１号公報（要約）
【発明の開示】
【発明が解決しようとする課題】
【０００６】
コンテンツのクローリングとは、主にプログラム等が自動的にネットワーク上のサーバを巡回し、コンテンツを収集することをいう。
上記特許文献１に記載のような従来のクローリング手法では、ウェブクローラがクローリング対象のコンテンツを格納したサーバに接続し、コンテンツの収集が完了するまで接続を継続し、一定のネットワーク帯域を消費する。
【０００７】
しかし、クローリング処理のためにネットワーク帯域を消費すると、本来当該サーバが提供するサービスを受けるべきユーザが必要とするネットワーク帯域が不足する可能性がある。特に、非常にアクセスの多いサーバに関しては、ネットワーク帯域の不足はサービスレベルへの影響が大きいため、クローリング処理によって通信遅延や輻輳が生じないようにする必要がある。
そのため、クローリングの実行に際し、ネットワーク帯域の消費を抑えることのできるネットワーク帯域制御方法が望まれていた。
【課題を解決するための手段】
【０００８】
本発明に係るネットワーク帯域制御方法は、通信端末が使用するネットワーク帯域を制御する装置がネットワーク帯域を制御する方法であって、通信端末と接続先との間の接続確立要求を受信する要求受信ステップと、その通信端末と接続先との間の接続を確立する確立ステップと、を有し、前記要求受信ステップで受信した接続確立要求に、ネットワーク帯域が枯渇した際には当該通信端末の接続を優先的に切断してよい旨の通知が含まれていた場合、ネットワーク帯域が枯渇した際に、その通信端末と接続先との間の接続を切断するものである。
【発明の効果】
【０００９】
本発明に係るネットワーク帯域制御方法では、接続確立要求を受け付ける際に、ネットワーク帯域が枯渇した際にはその接続を優先的に切断してよい旨の通知をあらかじめ受け取っておき、帯域枯渇時にはその接続を優先的に切断する。
したがって、クローリングのための接続確立要求時に、上述の通知をあらかじめ送信しておくことにより、ネットワーク帯域の余裕がある時のみクローリングを実行するようにすることができるので、サーバが本来確保すべきネットワーク帯域を消費することなく、帯域不足に起因するサービスレベルの低下を回避できる。
【発明を実施するための最良の形態】
【００１０】
実施の形態１．
図１は、本発明の実施の形態１に係るネットワークシステムの構成図である。
図１において、１００はネットワーク、１１０はクローリング端末、１２０はコンテンツサーバ、１３０はセッション制御サーバ、１４０は帯域制御サーバである。
クローリング端末１１０、コンテンツサーバ１２０、セッション制御サーバ１３０、帯域制御サーバ１４０は、ネットワーク１００を介して接続されている。
【００１１】
クローリング端末１１０は、コンテンツサーバ１２０が配信するコンテンツを収集する（クローリングを実行する）端末である。クローリング端末１１０は、ユーザの指示もしくはあらかじめ定められたスケジュール等に従って、クローリングを実行する。
【００１２】
なお、クローリング端末１１０が備える記憶手段には、取得リスト１１１、取得中リスト１１２、再取得リスト１１３が格納される。
取得リスト１１１は、クローリング端末１１０が取得すべきコンテンツのリストを保持する。コンテンツのリストは、例えば対象コンテンツのアドレス（ＵＲＩやＵＲＬ）により記述される。
取得中リスト１１２は、クローリング端末１１０が取得中のコンテンツのリストを保持する。記述形式は取得リスト１１１と同様である。
再取得リスト１１３は、クローリング端末１１０が取得に失敗したコンテンツのリストを保持する。記述形式は取得リスト１１１と同様である。
これらのリストの役割は、後述の図７で改めて説明する。
【００１３】
コンテンツサーバ１２０は、コンテンツ配信サービスを提供するサーバである。
セッション制御サーバ１３０は、ネットワーク１００を介して他のサーバ等に接続する際の接続手続を仲介するものである。以下の説明では、クローリング端末１１０がコンテンツサーバ１２０に接続する際の手続について述べるが、他の接続手続についても同様の仲介処理が行われる。
帯域制御サーバ１４０は、ネットワーク１００上の通信端末がセッション制御サーバ１３０へ接続確立を要求した際に、その使用帯域を管理し、必要な帯域を割り当てたり、通信を切断して帯域を解放したりするサーバである。
帯域制御サーバ１４０は、確保帯域記憶装置１４１を備える。
確保帯域記憶装置１４１には、優先切断リスト１４２と確保帯域データ１４３が格納される。優先切断リスト１４２については図２で、確保帯域データ１４３については図３で説明する。
【００１４】
ここで、本発明の理解を容易にするため、一般的なウェブクローラの動作について説明する。
ウェブクローラ（Ｗｅｂ  Ｃｒａｗｌｅｒ）プログラムは、ウェブページの収集を人手に代わって行うプログラムである。このプログラムは、ウェブページを巡回してコンテンツを自動的にダウンロードし、その中に記述されているハイパーリンクを抽出し、次に収集すべきＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）を発見する。この処理を繰り返すことで、ウェブページに含まれるデータを収集していく。
ウェブクローラは、ウェブロボット、ウェブスパイダーとも呼ばれ、インデキシングやデータ更新を行う場合もある。
【００１５】
図１２は、ウェブクローラの動作を説明するものである。以下、各ステップについて説明する。
【００１６】
（Ｓ１２０１）
ＵＲＬリストの中から、次にコンテンツを取得するＵＲＬを選択する。
（Ｓ１２０２）
ステップＳ１２０１で選択したＵＲＬに基づき、Ｗｅｂサーバにアクセスする。
（Ｓ１２０３）
ステップＳ１２０１で選択したＵＲＬからコンテンツを収集可能であるか否かを判定する。収集可能であればステップＳ１２０４へ進み、収集できなければステップＳ１２０１へ戻って別のＵＲＬを選択する。
なお、コンテンツが収集できない場合とは、例えば当該コンテンツが存在しない場合や、アクセス制限がかけられている場合等が相当する。
【００１７】
（Ｓ１２０４）
アクセスしたＵＲＬからＷｅｂページをダウンロードする。
（Ｓ１２０５）
ダウンロードしたＷｅｂページのＨＴＭＬを解析し、その中に含まれる他のＵＲＬを抽出するとともに、ダウンロードしたＷｅｂページを保存する。保存したＷｅｂページは、インデキシング処理等を施して、検索エンジンの利用に供する。
なお、Ｗｅｂページに他のＵＲＬが含まれる場合とは、一般に他のＷｅｂページへのリンクが含まれる場合であることが多いが、これに限られるものではない。
【００１８】
（Ｓ１２０６）
ステップＳ１２０５で抽出した他のＵＲＬをＵＲＬリストに追加する。
（Ｓ１２０７）
クローリングを継続する場合はステップＳ１２０１に戻り、別のＵＲＬを選択する。
【００１９】
このように、クローリングを実行する際には、ダウンロードしたＷｅｂページから他のＵＲＬを抽出し、そのＵＲＬにアクセスすることを繰り返して、クローリング対象を広げていく。
【００２０】
図１３は、クローリングの過程を示す概念図である。
図１２で説明したように、クローリングの過程では、ダウンロードしたＷｅｂページに含まれる他のＵＲＬを辿っていくことで、クローリング対象を広げていく。
図１３の例では、最初にダウンロードしたＷｅｂページ「１」に、他のＷｅｂページ「２」〜「４」へのリンクが含まれており、さらにＷｅｂページ「４」には、Ｗｅｂページ「５」〜「７」へのリンクが含まれていることを示している。
ここで、他のＵＲＬを抽出する際に、抽出の深さを指定（幅優先探索ともいう）しておくこともできる。例えば図１３において、深さ１を指定しておけば、Ｗｅｂページ「２」〜「４」を取得でき、深さ２を指定しておけば、さらにＷｅｂページ「５」〜「７」を取得することができる。
【００２１】
以上、一般的なクローリング手法について説明した。以後は本実施の形態１の説明に戻る。なお、動作説明に先立ち、優先切断リスト１４２と確保帯域データ１４３について説明しておくこととする。
【００２２】
図２は、優先切断リスト１４２の構成とデータ例について説明するものである。
優先切断リスト１４２は、ネットワーク帯域が枯渇した際に、優先的に接続を切断してよい通信端末のリストを保持するものである。同リストには、該当する通信端末のアドレス等、その通信端末を特定することのできる情報がセットされる。
優先切断リスト１４２の形式は、テーブル形式、ＣＳＶ形式等、処理に都合のよい適切なファイル形式等を用いればよい。
なお、同リストに値がセットされるタイミング等については、後述の図５で説明する。
【００２３】
図３は、確保帯域データ１４３の構成とデータ例について説明するものである。
確保帯域データ１４３は、「端末」列、「接続先」列、「確保通信帯域」列、「通信経路」列を有する。
「端末」列には、帯域制御サーバ１４０が管理している通信端末のアドレス等、その通信端末を特定することのできる情報が格納される。
「接続先」列には、「端末」列で特定される通信端末の接続先サーバのアドレス等、その接続先を特定することのできる情報が格納される。なお、図１の構成図の例では、本列にはコンテンツサーバ１２０のアドレス等が格納されることになる。
「確保通信帯域」列には、「端末」列で特定される通信端末が、「接続先」列で特定される接続先に接続するに際して使用するネットワーク帯域の値が格納される。即ち、帯域制御サーバ１４０は、本列の値を用いることにより、各通信端末の使用帯域を管理することができる。
「通信経路」列には、「端末」列で特定される通信端末が、「接続先」列で特定される接続先と通信するに際して使用される通信経路が格納される。
【００２４】
図４は、クローリング端末１１０とセッション制御サーバ１３０の構成を示すものである。ここでは、図１に構成を追記する形で記載している。
【００２５】
クローリング端末１１０は、要求部１１４、収集部１１５、確立部１１６、切断部１１７を備える。
要求部１１４は、ネットワーク１００を介して接続先への接続要求を発行する。本実施の形態１の例では、コンテンツサーバ１２０に対する接続要求を発行することになる。
確立部１１５は、接続先との間のネットワーク接続を確立する。
収集部１１６は、コンテンツサーバ１２０からコンテンツを収集する。
切断部１１７は、確立部１１５が確立したネットワーク接続を切断する。
【００２６】
要求部１１４、収集部１１５、確立部１１６、切断部１１７は、ネットワーク１００に接続するためのインターフェースと、通信手順を制御するための回路デバイス等のハードウェア、もしくはＣＰＵやマイコン等の演算装置上で実行されるソフトウェア等により構成することができる。
【００２７】
セッション制御サーバ１３０は、要求受信部１３１、確立部１３２、切断部１３３を備える。
要求受信部１３１は、コンテンツサーバ１２０に対する接続要求をクローリング端末１１０から受け取る。
確立部１３２は、要求受信部１３１が受信した接続要求に基づき、クローリング端末１１０とコンテンツサーバ１２０の間の接続確立を仲介する。
切断部１３３は、確立している接続を切断すべき旨の命令を発行する。同命令を受け取った通信端末は、その時点で確立している接続を切断する。
なお、セッション制御サーバ１３０の詳細動作は、後述の図５で説明する。
【００２８】
要求受信部１３１、確立部１３２、切断部１３３は、ネットワーク１００に接続するためのインターフェースと、通信手順を制御するための回路デバイス等のハードウェア、もしくはＣＰＵやマイコン等の演算装置上で実行されるソフトウェア等により構成することができる。
【００２９】
以降では、クローリング端末１１０がコンテンツサーバ１２０に対して実行するクローリング手順について説明する。
なお、クローリング端末１１０がコンテンツサーバ１２０に接続するに際し、セッション制御サーバ１３０がその接続を仲介し、コンテンツサーバ１２０への接続手続を行うため、まずはその接続制御手順を次の図５〜図６で説明し、その後にクローリング手順を説明する。
【００３０】
図５は、セッション制御サーバ１３０がクローリング端末１１０とコンテンツサーバ１２０の間の接続を仲介するシーケンスを説明するものである。以下、各ステップについて説明する。
【００３１】
（Ｓ５０１）
クローリング端末１１０の要求部１１４は、セッション制御サーバ１３０に対し、クローリング端末１１０の登録を要求する。本ステップは、ＳＩＰ（Ｓｅｓｓｉｏｎ  Ｉｎｉｔｉａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）の「ＲＥＧＩＳＴＥＲ」に相当する。
（Ｓ５０２）
セッション制御サーバ１３０の要求受信部１３１は、登録要求を受信し、クローリング端末１１０を制御対象として登録する。
（Ｓ５０３）
登録が完了すると、要求受信部１３１は、クローリング端末１１０に対し、登録完了の旨を返信する。
【００３２】
（Ｓ５０４）
クローリング端末１１０の要求部１１４は、セッション制御サーバ１３０に対し、コンテンツサーバ１２０に対する接続を要求する。本ステップは、ＳＩＰの「ＩＮＶＩＴＥ」に相当する。
このとき、ネットワーク帯域が枯渇した際には、クローリング端末１１０とコンテンツサーバ１２０の間の接続を優先的に切断してよい旨を、要求パケットに含めておく。
【００３３】
（Ｓ５０５）
セッション制御サーバ１３０の要求受信部１３１は、接続要求を受信し、帯域制御サーバ１４０に対し、コンテンツサーバ１２０への接続に必要な帯域が確保可能かどうかを問い合わせる。
また、ステップＳ５０４と同様に、ネットワーク帯域が枯渇した際には、クローリング端末１１０とコンテンツサーバ１２０の間の接続を優先的に切断してよい旨を、問合せパケットに含めておく。
【００３４】
（Ｓ５０６）
帯域制御サーバ１４０は、ルータなどの通信経路上のネットワーク機器について、クローリング端末１１０がコンテンツサーバ１２０に接続するために必要なネットワーク帯域を確保できるか否かを調査する。
確保可能であれば、現在のネットワーク１００全体の帯域から、クローリング端末１１０がコンテンツサーバ１２０に接続するために必要なネットワーク帯域を確保する。
【００３５】
（Ｓ５０７）
帯域制御サーバ１４０は、ステップＳ５０６で確保した帯域について、確保帯域データ１４３に記録する。ここでは、「端末＝クローリング端末１１０」、「接続先＝コンテンツサーバ１２０」、となる。
（Ｓ５０８）
帯域制御サーバ１４０は、セッション制御サーバ１３０に、ネットワーク帯域が確保できた旨を返信する。
なお、接続要求には、ネットワーク帯域が枯渇した際に優先的に接続を切断してよい旨が含まれているので、優先切断リスト１４２に、クローリング端末１１０のアドレス等を記録しておく。
【００３６】
（Ｓ５０９）
セッション制御サーバ１３０の要求受信部１３１は、ネットワーク帯域が確保できた旨の返信を受け取る。
次に、確立部１３２は、コンテンツサーバ１２０に対し、クローリング端末１１０から受け取った接続要求を送信する。本ステップは、ＳＩＰの「ＩＮＶＩＴＥ」に相当する。
（Ｓ５１０）
コンテンツサーバ１２０は、クローリング端末１１０からの接続を受け入れる場合は、接続許諾の旨をセッション制御サーバ１３０に返信する。本ステップは、ＳＩＰの「２００  ＯＫ」に相当する。
【００３７】
（Ｓ５１１）
セッション制御サーバ１３０の確立部１３２は、コンテンツサーバ１２０がクローリング端末１１０からの接続を受け入れる旨の応答を受信する。
次に、確立部１３２は、その応答をクローリング端末１１０に送信する。
（Ｓ５１２）
クローリング端末１１０の要求部１１４は、接続を受け入れる旨の応答を受信する。
次に、クローリング端末１１０の確立部１１５は、コンテンツサーバ１２０との接続が可能であれば、セッション制御サーバ１３０に対し、受入れ可能である旨を送信する。本ステップは、ＳＩＰの「ＡＣＫ」に相当する。
【００３８】
（Ｓ５１３）
セッション制御サーバ１３０の確立部１３２は、クローリング端末１１０が受入れ可能である旨を、コンテンツサーバ１２０に送信する。
（Ｓ５１４）
クローリング端末１１０とコンテンツサーバ１２０の間で接続が確立される。
以後、クローリング端末１１０の収集部１１６は、コンテンツサーバ１２０のコンテンツを収集する。
【００３９】
図６は、ネットワーク帯域が枯渇した際に、セッション制御サーバ１３０が、クローリング端末１１０とコンテンツサーバ１３０の間の接続を切断するシーケンスを説明するものである。以下、各ステップについて説明する。
【００４０】
（Ｓ６０１）
他の通信端末がコンテンツサーバ１２０との接続を確立する等により、クローリング端末１１０が確立した通信経路上で、ネットワーク帯域の枯渇が生じ、帯域管理サーバ１４０がそれを検出したものと仮定する。
（Ｓ６０２）
帯域管理サーバ１４０は、優先切断リスト１４２の中から、接続を切断することで必要なネットワーク帯域が確保できそうな端末を検索する。検索に際しては、確保帯域データ１４３を適宜参照し、「確保通信帯域」等の必要な値を得る。
【００４１】
（Ｓ６０３）
帯域管理サーバ１４０は、ステップＳ６０２で検索した端末を、セッション管理サーバ１３０に通知する。
（Ｓ６０４）
セッション管理サーバ１３０の切断部１３３は、帯域管理サーバ１４０からの通知を受け取り、クローリング端末１１０とコンテンツサーバ１２０の間の接続を切断すべき旨を指示する。本ステップの処理は、ＳＩＰの「ＢＹＥ」に相当する。
クローリング端末１１０の切断部１１７は、コンテンツサーバ１２０との間の接続を切断する。
【００４２】
以上、セッション制御サーバ１３０による接続確立手順と切断手順について説明した。
次に、クローリング端末１１０がコンテンツサーバ１２０に対して実行するクローリング手順について、次の図７で説明する。なお、接続確立および切断の手順は、図５〜図６で説明したものと同様であるため、説明を省略する。
【００４３】
図７は、クローリング端末１１０がコンテンツサーバ１２０に対して実行するクローリング手順について説明するものである。以下、各ステップについて説明する。
【００４４】
（Ｓ７０１）
図５で説明した手順で、クローリング端末１１０とコンテンツサーバ１２０の間の接続が既に確立されているものとする。
クローリング端末１１０の収集部１１６は、取得リスト１１１を参照し、取得すべきコンテンツのアドレスを選択する。
選択したアドレスは、取得リスト１１１から消去するとともに、取得中リスト１１２に追加する。
（Ｓ７０２）
収集部１１６は、ステップＳ７０１で選択したアドレスに基づき、コンテンツサーバ１２０にアクセスする。
（Ｓ７０３）
収集部１１６は、ステップＳ７０１で選択したアドレスからコンテンツを収集可能であるか否かを判定する。収集可能であればステップＳ７０４へ進み、収集できなければステップＳ７０１へ戻って別のアドレスを選択する。
【００４５】
（Ｓ７０４）
収集部１１６は、アクセスしたアドレスからコンテンツをダウンロードする。
（Ｓ７０５）
収集部１１６は、ステップＳ７０４でコンテンツのダウンロードが完了したか否かを判定する。完了していればステップＳ７０６へ進み、完了していなければステップＳ７０８へ進む。
なお、コンテンツのダウンロードが未完了である場合とは、ダウンロード途中に帯域制御サーバ１４０がネットワーク帯域の枯渇を検出し、図６で説明した手順により、クローリング端末１１０とコンテンツサーバ１２０の間の接続を切断したような場合のことである。
【００４６】
（Ｓ７０６）
収集部１１６は、取得中リスト１１２から、ダウンロードしたコンテンツのアドレスを削除する。
次に、収集部１１６は、ダウンロードしたコンテンツを解析し、その中に含まれる他のアドレスを抽出するとともに、ダウンロードしたコンテンツを保存する。保存したコンテンツは、インデキシング処理等を施して、検索エンジンの利用に供する。
（Ｓ７０７）
収集部１１６は、ステップＳ７０６で抽出した他のアドレスを、取得リスト１１１に追加する。
【００４７】
（Ｓ７０８）
収集部１１６は、ダウンロードが完了しなかったコンテンツのアドレスを再取得リスト１１３に記録するとともに、取得中リスト１１２から消去する。
（Ｓ７０９）
取得リスト１１１に未取得アドレスが残っており、クローリングを継続する場合は、ステップＳ７０１に戻って残りのアドレスを選択する。
このとき、再取得リスト１１３に記録されているアドレスがあれば、そのアドレスについても再度取得を試みる。
【００４８】
このように、収集部１１６がコンテンツをダウンロードしている途中で接続が切断されても、再取得リスト１１３にそのコンテンツのアドレスを記録しておき、後から再取得することが可能である。
【００４９】
本実施の形態１では、セッション制御サーバ１３０と帯域制御サーバ１４０を個別のサーバとして記載したが、これらを一体的に構成してもよい。この場合は、一体化されたサーバが、要求受信部１３１、確立部１３２、切断部１３３、確保帯域記憶装置１４１を備えることとなる。
【００５０】
また、要求部１１４、収集部１１５、確立部１１６、切断部１１７は、個別の機能部として説明したが、これらの全部ないし一部を一体的に構成してもよい。要求受信部１３１、確立部１３２、切断部１３３についても同様である。
【００５１】
また、取得リスト１１１、取得中リスト１１２、再取得リスト１１３は個別に構成されているものとして説明したが、これらの全部ないし一部を一体的に構成してもよい。
【００５２】
なお、本実施の形態１における「ネットワーク帯域制御装置」は、セッション制御サーバ１３０と帯域制御サーバ１４０がこれに相当する。
また、セッション制御サーバ１３０と帯域制御サーバ１４０を個別のサーバとして構成した場合は、本実施の形態１における「切断部」は、切断部１３３と帯域制御サーバ１４０がこれに相当する。
また、本実施の形態１における「リスト」は、取得リスト１１１、取得中リスト１１２、再取得リスト１１３がこれに相当する。
【００５３】
以上のように、本実施の形態１によれば、クローリング端末１１０がコンテンツサーバ１２０への接続を要求する際に、ネットワーク帯域が枯渇した場合には優先的に接続を切断してよい旨の通知を含めておき、ネットワーク混雑時などには、その通知に基づきクローリング端末１１０とコンテンツサーバ１２０の間の接続を切断することができる。
したがって、音声データや動画データのストリーミングのように、一定の帯域確保を保証してコンテンツを取得するようなコンテンツサーバ１２０に接続している場合に、クローリング端末１１０が長時間ネットワーク帯域を占有することを防ぐ効果がある。
【００５４】
また、ネットワークが混雑している状況でコンテンツの収集を続けるのは時間効率が悪いので、混雑時にコンテンツの収集を行うことを回避し、効率よくコンテンツの収集を行うことができる。
【００５５】
実施の形態２．
図８は、本発明の実施の形態２に係るネットワークシステムの構成図である。
図８において、図１の構成に加えて新たに分散エージェント１５０ａ、１５０ｂが追加されている。また、次の図９で説明するが、クローリング端末１１０には、新たに再取得依頼部１１８が追加されている。
分散エージェント１５０ａ、１５０ｂは、ネットワーク１００に接続されている。
その他の構成は図１と同様であるため、説明を省略する。
【００５６】
分散エージェント１５０ａ、１５０ｂは、クローリング端末１１０と同様に、コンテンツサーバ１２０からコンテンツを収集する装置である。分散エージェント１５０ａ、１５０ｂがコンテンツサーバ１２０へ接続する際には、セッション制御サーバ１３０に接続を要求する。その後のシーケンスは図５〜図６と同様である。
なお、図８では分散エージェントは２つのみとしているが、個数に制限はない。
【００５７】
図９は、クローリング端末１１０と分散エージェント１５０ａの構成を示すものである。ここでは、図８に構成を追記する形で記載するとともに、都合上一部のサーバ等を省略している。
【００５８】
クローリング端末１１０が備える再取得依頼部１１８は、再取得リスト１１３に記録されたコンテンツの取得を、分散エージェント１５０ａや１５０ｂに依頼する。動作の詳細は、後述の図１０で説明する。
再取得依頼部１１８は、ネットワーク１００に接続するためのインターフェースと、通信手順を制御するための回路デバイス等のハードウェア、もしくはＣＰＵやマイコン等の演算装置上で実行されるソフトウェア等により構成することができる。
なお、本実施の形態２においては、実施の形態１と異なり、クローリング端末１１０自身は、再取得リスト１１３に記録されたコンテンツの再取得は行わない。
【００５９】
分散エージェント１５０ａは、要求部１５４、収集部１５５、確立部１５６、切断部１５７、再取得依頼部１５８、依頼受信部１５９を備える。また、クローリング端末１１０と同様に記憶手段を備え、記憶手段は、取得リスト１５１、取得中リスト１５２を格納している。
なお、他の分散エージェント（例えば分散エージェント１５０ｂ）も、同様の構成を備える。
【００６０】
取得リスト１５１、取得中リスト１５２、要求部１５４、収集部１５５、確立部１５６、切断部１５７の役割は、それぞれクローリング端末１１０における同名の各構成要素と同様である。
再取得依頼部１５８は、分散エージェント１５０ａがコンテンツサーバ１２０からコンテンツを取得できなかった場合に、他の分散エージェント（例えば分散エージェント１５０ｂ）に対し、当該コンテンツの取得を依頼する。
依頼受信部１５９は、クローリング端末１１０、もしくは他の分散エージェント（例えば分散エージェント１５０ｂ）から、コンテンツの取得要求を受け取る。
【００６１】
再取得依頼部１５８、依頼受信部１５９は、ネットワーク１００に接続するためのインターフェースと、通信手順を制御するための回路デバイス等のハードウェア、もしくはＣＰＵやマイコン等の演算装置上で実行されるソフトウェア等により構成することができる。
【００６２】
図１０は、クローリング端末１１０が備える再取得依頼部１１８の動作フローである。以下、各ステップについて説明する。
【００６３】
（Ｓ１００１）
再取得依頼部１１８は、以後のステップＳ１００２〜Ｓ１００６の処理を、クローリング端末１１０が稼働している間、繰り返し実行する。
（Ｓ１００２）
再取得依頼部１１８は、一定時間スリープする。
（Ｓ１００３）
再取得依頼部１１８は、再取得リスト１１３に記録があるか否かを確認する。記録があればステップＳ１００４へ進み、なければステップＳ１００２に戻る。
【００６４】
（Ｓ１００４）
再取得依頼部１１８は、再取得リスト１１３に記録されているコンテンツの再取得を依頼する分散エージェントを選択する。
選択の基準は、例えばＢＧＰ（Ｂｏｒｄｅｒ  Ｇａｔｅｗａｙ  Ｐｒｏｔｏｃｏｌ）のようなルーティングプロトコルを用いて、コンテンツサーバ１２０との間のネットワーク距離が最も近いものを選ぶ、などとすればよい。
なお、ネットワーク距離の算出手法には種々のものが考えられるが、例えばホップ数をネットワーク距離とみなせば処理が簡易である。
【００６５】
（Ｓ１００５）
再取得依頼部１１８は、ステップＳ１００４で選択した分散エージェントに対し、再取得リスト１１３に記録されているコンテンツのアドレスを送信する。
（Ｓ１００６）
再取得依頼部１１８は、分散エージェントに送信したアドレスを再取得リスト１１３から削除し、取得中リスト１１２にそのアドレスを記録する。
【００６６】
このように、クローリング端末１１０がコンテンツを取得できない場合でも、コンテンツサーバ１２０との間のネットワーク距離が近い分散エージェントに再取得を依頼することにより、別のネットワーク経路でコンテンツを取得できる可能性があるので、効率の良いコンテンツ収集が可能である。
【００６７】
図１１は、分散エージェント１５０ａの動作フローである。以下、各ステップについて説明する。
【００６８】
（Ｓ１１０１）
分散エージェント１５０ａの依頼受信部１５９は、クローリング端末１１０が上述のステップＳ１００５で送信したアドレスを受信する。
次に、要求部１５４、確立部１５５は、実施の形態１の図５で説明したものと同様の手順により、コンテンツサーバ１２０との間の接続を確立する。
収集部１５６は、取得リスト１５１を参照し、取得すべきコンテンツのアドレスを選択する。選択したアドレスは、取得リスト１５１から消去するとともに、取得中リスト１５２に追加する。
【００６９】
（Ｓ１１０２）〜（Ｓ１１０７）
実施の形態１の図７で説明したステップＳ７０２〜Ｓ７０７と同様であるため、説明を省略する。
【００７０】
（Ｓ１１０８）
再取得依頼部１５８は、クローリング端末１１０が備える再取得依頼部１１８と同様の手法により、コンテンツの再取得を依頼する他の分散エージェントを選択する。
（Ｓ１１０９）
ステップＳ１１０８で他の分散エージェントを選択できた場合はステップＳ１１１０へ進み、選択できなかった場合はステップＳ１１１１へ進む。
【００７１】
（Ｓ１１１０）
再取得依頼部１５８は、ステップＳ１１０８で選択した他の分散エージェントに対し、取得できなかったコンテンツのアドレスを送信する。このとき、分散エージェント１５０ａ自身がコンテンツを取得できなかったことを併せて送信する。
コンテンツの取得に失敗した分散エージェントのリストは、各分散エージェントが備える記憶手段に一時的に格納される。
他の分散エージェントがさらに他の分散エージェントを選択する際（ステップＳ１１０８に相当）は、そのリストを参照し、リストに記録されていない分散エージェントを選択する。
即ち、対象コンテンツの取得に失敗した分散エージェントは、選択の対象から外され、それ以外の分散エージェントの中で、コンテンツサーバ１２０との間のネットワーク距離が最も近いものが選択されることになる。
本実施の形態２における「選択済みエージェントリスト」は、上述のリストがこれに相当する。
【００７２】
（Ｓ１１１１）
再取得依頼部１５８は、取得できなかったコンテンツのアドレスを全てクローリング端末１１０に送信する。
【００７３】
いずれかの分散エージェントがコンテンツの取得に成功した場合、その分散エージェントの収集部１５６は、取得したコンテンツとそのアドレスをクローリング端末１１０に送信する。
クローリング端末１１０の再取得依頼部１１８は、そのコンテンツを受信して保存するとともに、取得中リスト１１２に記録された該当アドレスを消去する。
【００７４】
また、全ての分散エージェントがコンテンツの取得に失敗するか、もしくはいずれかの分散エージェントが他の分散エージェントの選択に失敗した場合には（Ｓ１１１１に相当）、クローリング端末１１０の再取得依頼部１１８は、取得中リスト１１２に記録された該当アドレスを消去するとともに、取得リスト１１１にそのアドレスを再度記録する。
【００７５】
本実施の形態２では、再取得依頼部１１８はクローリング端末１１０の一部として説明したが、その機能のみを切り離して別個の装置として実装してもよい。
【００７６】
なお、本実施の形態２に係るクローリング端末１１０において、「依頼部」「削除部」「依頼結果受信部」は、再取得依頼部１１８がこれに相当する。
また、本実施の形態２に係るエージェント装置１５０ａ、１５０ｂにおいて、「依頼部」は、再取得依頼部１５８がこれに相当する。
【００７７】
以上のように、本実施の形態２によれば、分散エージェントを設けたことにより、取得が中断されて再取得リスト１１３に記録されたコンテンツに関しては、他のネットワーク位置に配置されている分散エージェントがその取得処理を引き継ぐので、取得効率が上がるという効果がある。
【００７８】
実施の形態３．
実施の形態２では、クローリング端末１１０が分散エージェントにコンテンツの再取得を依頼するときや、分散エージェント１５０ａが他の分散エージェントにコンテンツの再取得を依頼するときには、コンテンツサーバ１２０との間のネットワーク距離が最も近い分散エージェントを選択することとした。
本発明の実施の形態３では、分散エージェントを選択する別の手法を説明する。
【００７９】
クローリング端末１１０や各分散エージェントは、各分散エージェントがコンテンツサーバ１２０との接続に成功した確率を、互いに情報交換して蓄積しておく。
コンテンツの再取得を依頼する際には、コンテンツサーバ１２０との接続に成功した確率が最も高い分散エージェントを選択するようにする。
このようにすることで、コンテンツの再取得成功確立が上がるものと見込まれるので、効率の良いコンテンツ収集を行うことができる。
【００８０】
なお、各分散エージェントがコンテンツサーバ１２０との接続に成功した確率に関する情報は、任意のタイミングでネットワーク１００を介して互いに情報交換するようにしてもよいし、他の分散エージェントに再取得依頼を発行する際に、依頼を受け付ける側の分散エージェントが、その再取得依頼回数の統計を蓄積し、その統計に基づき接続成功率を求めるようにしてもよい。
【図面の簡単な説明】
【００８１】
【図１】実施の形態１に係るネットワークシステムの構成図である。
【図２】優先切断リスト１４２の構成とデータ例について説明するものである。
【図３】確保帯域データ１４３の構成とデータ例について説明するものである。
【図４】クローリング端末１１０とセッション制御サーバ１３０の構成を示すものである。
【図５】セッション制御サーバ１３０がクローリング端末１１０とコンテンツサーバ１２０の間の接続を仲介するシーケンスを説明するものである。
【図６】セッション制御サーバ１３０が、クローリング端末１１０とコンテンツサーバ１３０の間の接続を切断するシーケンスを説明するものである。
【図７】クローリング端末１１０がコンテンツサーバ１２０に対して実行するクローリング手順について説明するものである。
【図８】実施の形態２に係るネットワークシステムの構成図である。
【図９】クローリング端末１１０と分散エージェント１５０ａの構成を示すものである。
【図１０】再取得依頼部１１８の動作フローである。
【図１１】分散エージェント１５０ａの動作フローである。
【図１２】ウェブクローラの動作を説明するものである。
【図１３】クローリングの過程を示す概念図である。
【符号の説明】
【００８２】
１００  ネットワーク、１１０  クローリング端末、１１１  取得リスト、１１２  取得中リスト、１１３  再取得リスト、１１４  要求部、１１５  収集部、１１６  確立部、１１７  切断部、１１８  再取得依頼部、１２０  コンテンツサーバ、１３０  セッション制御サーバ、１３１  要求受信部、１３２  確立部、１３３  切断部、１４０  帯域制御サーバ、１４１  確保帯域記憶装置、１４２  優先切断リスト、１４３  確保帯域データ、１５０ａ、１５０ｂ  分散エージェント、１５１  取得リスト、１５２  取得中リスト、１５４  要求部、１５５  収集部、１５６  確立部、１５７  切断部、１５８  再取得依頼部、１５９  依頼受信部。
【図１】
2008306259.tif 000003
【図２】
2008306259.tif 000004
【図３】
2008306259.tif 000005
【図４】
2008306259.tif 000006
【図５】
2008306259.tif 000007
【図６】
2008306259.tif 000008
【図７】
2008306259.tif 000009
【図８】
2008306259.tif 000010
【図９】
2008306259.tif 000011
【図１０】
2008306259.tif 000012
【図１１】
2008306259.tif 000013
【図１２】
2008306259.tif 000014
【図１３】
2008306259.tif 000015