最適化装置、最適化方法及びコンピュータプログラム
【課題】キャッシュ配布装置から通信端末装置へのデータ配布をより効率良く行う事ができるように、キャッシュ配布サーバーからキャッシュを配布するキャッシュ配布装置を選択すること。
【解決手段】複数の通信装置を備え、キャッシュ配布サーバーからキャッシュ配布装置に配布されたコンテンツのデータを、通信装置間でピアツーピアの通信で送受信する通信システムに備えられる最適化装置が、通信装置毎に、当該通信装置に対してダウンロードの要求がなされた頻度を表す値を取得し、頻度が高い通信装置を、キャッシュ配布装置として選択し、選択結果を表す最適化情報を生成し、キャッシュ配布装置として選択された通信装置へコンテンツのデータを配布するキャッシュ配布サーバーに対し、最適化情報を送信する。
【解決手段】複数の通信装置を備え、キャッシュ配布サーバーからキャッシュ配布装置に配布されたコンテンツのデータを、通信装置間でピアツーピアの通信で送受信する通信システムに備えられる最適化装置が、通信装置毎に、当該通信装置に対してダウンロードの要求がなされた頻度を表す値を取得し、頻度が高い通信装置を、キャッシュ配布装置として選択し、選択結果を表す最適化情報を生成し、キャッシュ配布装置として選択された通信装置へコンテンツのデータを配布するキャッシュ配布サーバーに対し、最適化情報を送信する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、配布対象となるデータをキャッシュとしてキャッシュ配布サーバーからキャッシュ配布装置に配布し、その後にキャッシュ配布装置から通信端末装置へデータを配布する通信技術に関する。特に、キャッシュ配布装置から通信端末装置へのデータ配布をより効率良く行う事ができるように、キャッシュ配布サーバーからキャッシュを配布するキャッシュ配布装置を選択するための技術に関する。
【背景技術】
【0002】
近年、インターネットにおいてP2P(ピアツーピア:Peer To Peer)技術が進展してきている。P2P技術を用いて配布対象のデータを通信端末装置へ配布する場合には、例えば以下のように処理が行われる。まず、配布対象のデータをキャッシュとしてキャッシュ配布サーバーからキャッシュ配布装置へ配布する。通信端末装置は、まずはキャッシュ配布装置とP2P通信を行うことによって、配布対象のデータをダウンロードする。その後、通信端末装置は、キャッシュ配布サーバーとP2P通信をすることによって配布対象のデータをダウンロードすることもできるし、配布対象のデータを既にダウンロードした他の通信端末装置とP2P通信をすることによって配布対象のデータをダウンロードすることもできる。
【0003】
P2P技術は様々な長所を持つ。例えば、これまでサーバーで保持していた機能を、P2Pでは端末に分散させるため、クライアントサーバー方式と比較してサーバー負荷等を軽減できる。さらに、近隣からのダウンロードの場合は、P2Pではクライアントサーバー方式と比較して、ルーターやスイッチやケーブル等のノード・リンクにかかる負荷や、ダウンロード時間を削減することができる。さらに、近年はP4P(Provider Portal for P2P)技術が提案され、近隣からのダウンロードを誘発する仕組みが構築されつつある(非特許文献1参照)。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】Haiyong Xie, Arvind Krishnamurthy, Avi Silberschatz, and Y. Richard Yang. P4P: Explicit Communications for Cooperative Control Between P2P and Network Providers. http://www.dcia.info/documents/P4P_Overview.pdf
【発明の概要】
【発明が解決しようとする課題】
【0005】
キャッシュ配布サーバーからキャッシュ配布装置へキャッシュが配布された直後は、キャッシュ配布装置のみがコンテンツのデータを記憶している。したがって、例えばキャッシュ配布サーバーからキャッシュを配布するキャッシュ配布装置が地理的に偏ってしまうと、その後にキャッシュ配布装置から通信端末装置へコンテンツのデータを配布する際にトラフィックの増大やダウンロード時間の増大などを招いてしまう。すなわち、最初にキャッシュ配布サーバーからどのキャッシュ配布装置へキャッシュを配布するかによって、その後のコンテンツのデータ配布の効率が左右される。地理的な偏りのみならず、キャッシュの偏りは様々な要因で生じてしまう。
しかしながら、キャッシュ配布サーバーからキャッシュを配布するキャッシュ配布装置を、従来はランダムに選択していた。そのため、キャッシュ配布装置から通信端末装置へのデータ配布の効率化がなされていなかった。このようなキャッシュ配布の問題は、P2Pに限った問題ではなく、クラウドやクライアントサーバー方式などでのキャッシュの配布においても同様に生じる問題である。
【0006】
上記事情に鑑み、本発明は、キャッシュ配布装置から通信端末装置へのデータ配布をより効率良く行う事ができるように、キャッシュ配布サーバーからキャッシュを配布するキャッシュ配布装置を選択する技術を提供することを目的としている。
【課題を解決するための手段】
【0007】
本発明の第一の態様は、複数の通信装置を備え、キャッシュ配布サーバーからキャッシュ配布装置に配布されたコンテンツのデータを、前記通信装置間でピアツーピアの通信で送受信する通信システムに備えられる最適化装置であって、前記通信装置毎に、当該通信装置に対してダウンロードの要求がなされた頻度を表す値を評価パラメータとして取得し、前記頻度が高い通信装置を、前記キャッシュ配布装置として選択し、選択結果を表す最適化情報を生成する最適化情報生成部と、前記キャッシュ配布装置として選択された前記通信装置へ前記コンテンツのデータを配布する前記キャッシュ配布サーバーに対し、前記最適化情報を送信する最適化情報送信部と、を備える。
【0008】
本発明の第一の態様は、上記の最適化装置であって、前記通信システムは、前記コンテンツのデータを要求する通信装置に対して、要求された前記コンテンツのデータを送信可能な他の通信装置を通知するヒントサーバーを備え、前記最適化情報生成部は、通信装置毎に、前記ヒントサーバーによって通知された回数を、前記ヒントサーバーから前記頻度を表す値として取得し、前記通知された回数が多い通信装置を前記キャッシュ配布装置として選択する。
【0009】
本発明の第一の態様は、上記の最適化装置であって、前記最適化情報生成部は、通信装置毎に、他の通信装置からコンテンツのデータを要求された回数を、前記頻度を表す値として取得し、前記要求された回数が多い通信装置を前記キャッシュ配布装置として選択する。
【0010】
本発明の第一の態様は、上記の最適化装置であって、前記最適化情報生成部は、通信装置毎に、通信のトラフィック量を、前記頻度を表す値として取得し、前記トラフィック量が大きい通信装置を前記キャッシュ配布装置として選択する。
【0011】
本発明の第一の態様は、複数の通信装置を備え、キャッシュ配布サーバーからキャッシュ配布装置に配布されたコンテンツのデータを、前記通信装置間でピアツーピアの通信で送受信する通信システムに備えられる最適化装置が行う最適化方法であって、前記通信装置毎に、当該通信装置に対してダウンロードの要求がなされた頻度を表す値を評価パラメータとして取得するステップと、前記頻度が高い通信装置を、前記キャッシュ配布装置として選択し、選択結果を表す最適化情報を生成するステップと、前記キャッシュ配布装置として選択された前記通信装置へ前記コンテンツのデータを配布する前記キャッシュ配布サーバーに対し、前記最適化情報を送信するステップと、を有する。
【0012】
本発明の第一の態様は、複数の通信装置を備え、キャッシュ配布サーバーからキャッシュ配布装置に配布されたコンテンツのデータを、前記通信装置間でピアツーピアの通信で送受信する通信システムに備えられる最適化装置としてコンピュータを動作させるためのコンピュータプログラムであって、前記通信装置毎に、当該通信装置に対してダウンロードの要求がなされた頻度を表す値を評価パラメータとして取得するステップと、前記頻度が高い通信装置を、前記キャッシュ配布装置として選択し、選択結果を表す最適化情報を生成するステップと、前記キャッシュ配布装置として選択された前記通信装置へ前記コンテンツのデータを配布する前記キャッシュ配布サーバーに対し、前記最適化情報を送信するステップと、を前記コンピュータに実行させるためのコンピュータプログラムである。
【発明の効果】
【0013】
本発明により、キャッシュ配布装置から通信端末装置へのデータ配布をより効率良く行う事ができるように、キャッシュ配布サーバーからキャッシュを配布するキャッシュ配布装置を選択することが可能となる。
【図面の簡単な説明】
【0014】
【図1】通信システム100のシステム構成を表すシステム構成図である。
【図2】通信システム100の各装置間の処理の流れのうち、通信端末装置10がコンテンツのデータをダウンロードする際の処理を表すシーケンス図である。
【図3】通信システム100の各装置間の処理の流れのうち、キャッシュ配布サーバー60が初期キャッシュを配布する際の処理を表すシーケンス図である。
【図4】最適化サーバー50の第一実施形態の機能構成を表す概略ブロック図である。
【図5】最適化サーバー50の第二実施形態の機能構成を表す概略ブロック図である。
【図6】地域アドレス対応テーブルの概略を表す図である。
【図7】ホップ数テーブルの概略を表す図である。
【図8】最適化サーバー50の第三〜第七実施形態の機能構成を表す概略ブロック図である。
【図9】通知回数テーブルの概略を表す図である。
【図10】最適化サーバー50の第八実施形態の機能構成を表す概略ブロック図である。
【図11】通信システム100の変形例における各装置間の処理の流れのうち、通信端末装置10がコンテンツのデータをダウンロードする際の処理を表すシーケンス図である。
【発明を実施するための形態】
【0015】
図1は、通信システム100のシステム構成を表すシステム構成図である。通信システム100は、複数台の通信端末装置10(10a〜10h)を有しており、各通信端末装置10同士はリンクやノードによって互いに通信可能に接続されている。リンクやノードとは、ネットワークを構成するための要素となる装置や機器(通信要素機器)であり、例えばルーター、スイッチ、ハブ、ケーブル等である。以下の説明では、ルーターをリンクやノードの具体例として取り上げて説明を行う。
【0016】
通信システム100は、複数台の通信端末装置10の他にも、複数台のルーター20(20a〜20g)、ピア管理サーバー30、ヒントサーバー40、最適化サーバー50、キャッシュ配布サーバー60を備える。ルーター20a〜20cには、複数台の通信端末装置10が接続される。ルーター20e〜20gには、複数台のルーター20が接続される。ルーター20gには、さらにピア管理サーバー30、ヒントサーバー40、最適化サーバー50、キャッシュ配布サーバー60が接続される。また、ピア管理サーバー30にはヒントサーバー40が接続される。
【0017】
通信端末装置10は、パーソナルコンピューター、ワークステーション、サーバー、PDA、携帯電話機、通信要素機器などの通信可能な情報処理装置である。通信端末装置10は、使用者が所望するコンテンツのデータを、当該データを記憶している他の通信端末装置10又はキャッシュ配布装置から受信する。このとき、通信端末装置10は、ピア管理サーバー30もしくは書く通信端末装置10に問い合わせることによって、通信すべき相手となる他の通信端末装置10又はキャッシュ配布装置を判定する。なお、以下の説明において、コンテンツのデータを受信する側の通信端末装置10を「DL先通信端末装置」といい、コンテンツのデータを送信する側の装置(通信端末装置10又はキャッシュ配布装置)を「DL元装置」という。ヒントサーバー40は、サーバー以外に端末や、パーソナルコンピューター、ワークステーション、PDA、携帯電話機、通信要素機器などの通信可能な情報処理装置である。
【0018】
キャッシュ配布装置とは、キャッシュ配布サーバー60からコンテンツのデータを受信し記憶している装置である。キャッシュ配布装置は、例えばリンクやノードに接続された通信装置、ルーター20、通信端末装置10とルーター20との間に設置されるHGW(Home Gate Way)、通信端末装置10、サーバーなどである。キャッシュ配布サーバー60からキャッシュ配布装置が受信するコンテンツのデータを、「初期キャッシュ」という。キャッシュ配布装置は、通信端末装置10から受ける要求に応じて、自身が記憶しているコンテンツのデータ(初期キャッシュ)を通信端末装置10へ送信する。
【0019】
ルーター20は、複数台の通信端末装置10同士を通信可能に接続するネットワークの要素であり、パケットを受信し、受信されたパケットをルーティングテーブルに従って通信端末装置10、他のルーター20、ピア管理サーバー30、ヒントサーバー40、最適化サーバー50、キャッシュ配布サーバー60のいずれかへ送信する。
【0020】
ピア管理サーバー30は、通信端末装置10(DL先通信端末装置)からの問い合わせに応じて、問い合わせてきた通信端末装置10が通信すべき相手となるDL元装置のIPアドレスのリスト(以下、「DL元候補リスト」という。)を生成する。そして、ピア管理サーバー30は、ヒントサーバー40によってDL元装置の優先順位が最適化された後のリスト(以下、「DL元リスト」という。)を、問い合わせしてきた通信端末装置10に対して返信する。
【0021】
ヒントサーバー40は、ピア管理サーバー30によって生成されたDL元候補リストのDL元ピアの識別子(ピアIDやIPアドレス等)の順番を変更することによってDL元リストを生成する。ヒントサーバー40は、どのような基準に基づいてDL元ピアの識別子の順番を最適となるように変更しても良い。例えば、通信負荷が軽い順にDL元ピアの識別子の順番を変更しても良い。また、例えば機器の負荷が低い順にDL元ピアの識別子の順番を変更しても良い。また、例えば機器の性能が高い順にDL元ピアの識別子の順番を変更しても良い。
【0022】
図2は、通信システム100の各装置間の処理の流れのうち、通信端末装置10がコンテンツのデータをダウンロードする際の処理を表すシーケンス図である。DL先通信端末装置は、使用者が所望するコンテンツのデータを示す識別子(コンテンツID)を含むDL元リスト要求データを生成し、ピア管理サーバー30へ送信する(ステップS1)。ピア管理サーバー30は、DL元リスト要求データを受信すると、DL元リスト要求データに含まれる識別子が示すコンテンツを記憶しているDL元装置を検索する。なお、ピア管理サーバー30は、各DL元装置が記憶しているコンテンツのデータについての情報を収集することによって、各DL元装置と、各々が記憶するコンテンツのデータとを対応付けたテーブルを記憶している。
【0023】
次に、ピア管理サーバー30は、検索されたDL元装置のIPアドレスが列挙されたDL元候補リストを生成する(ステップS2)。そして、ピア管理サーバー30は、生成されたDL元候補リストを、ヒントサーバー40へ送信する(ステップS3)。
【0024】
ヒントサーバー40は、DL元候補リストを受信すると、DL元候補リストに含まれる複数のDL元装置のIPアドレスを所定の基準に応じて並べ替え、DL元リストを生成する(ステップS4)。そして、ヒントサーバー40は、生成されたDL元リストを、ピア管理サーバー30へ送信する(ステップS5)。ピア管理サーバー30は、ヒントサーバー40からDL元リストを受信すると、受信されたDL元リストをDL先通信端末装置へ送信する(ステップS6)。
【0025】
DL先通信端末装置は、ピア管理サーバー30からDL元リストを受信すると、ユーザーが所望するコンテンツのデータを示す識別子を含むダウンロード要求データを生成する。そして、DL先通信端末装置は、DL元リストに示されるIPアドレスを列挙された順に選択し、選択されたIPアドレスのDL元装置に対し、生成されたダウンロード要求データを送信する(ステップS7)。DL先通信端末装置がダウンロード要求データを送信するDL元装置の台数は、1台であっても良いし複数台であっても良い。DL先通信端末装置が複数台にダウンロード要求データを送信する場合には、並行して送信しても良いし、タイミングをあけてシーケンシャルに送信しても良い。
【0026】
DL元装置は、ダウンロード要求データを受信すると、ダウンロード要求データに含まれる識別子が示すコンテンツのデータを読み出し、DL先通信端末装置へ送信する。DL先通信端末装置は、DL元装置からコンテンツのデータを受信し、ローカルの記憶装置に記録する(ステップS8)。その後、コンテンツのデータを受信したDL先通信端末装置は、ピア管理サーバー30に対して自身が記憶しているコンテンツのデータを通知することにより、このコンテンツのデータのDL元装置の候補の一つとなる。
【0027】
図3は、通信システム100の各装置間の処理の流れのうち、キャッシュ配布サーバー60が初期キャッシュを配布する際の処理を表すシーケンス図である。所定のタイミングで、最適化サーバー50がフィードバック情報の収集を行う。例えば、最適化サーバー50は、ヒントサーバー40、キャッシュ配布装置、通信端末装置10に対し、フィードバック情報の要求を送信する(ステップS11)。ヒントサーバー40、キャッシュ配布装置、通信端末装置10は、フィードバック情報の要求を受信すると、この要求に応じてフィードバック情報を最適化サーバー50に送信する(ステップS12)。なお、このフィードバック情報を送信する機器は、通信要素機器などいずれの機器でも良い。最適化サーバー50は、各装置から受信したフィードバック情報に基づいてキャッシュ配布の最適化処理を行う(ステップS13)。最適化処理では、最適化サーバー50はフィードバック情報に基づいてDL元装置毎に評価パラメータを取得し、評価パラメータにしたがってDL元装置に順位付けする。そして、最適化サーバー50は、順位付けされたDL元装置のうち、評価の高いものから所定数のDL元装置をキャッシュの配布先(キャッシュ配布装置)として選択する。最適化サーバー50は、選択したDL元装置を表す情報を最適化情報として生成する。最適化サーバー50は、最適化処理の結果として得られる最適化情報をキャッシュ配布サーバー60に通知する(ステップS14)。キャッシュ配布サーバー60は、次回の初期キャッシュ配布時に、最適化情報に基づいて初期キャッシュを配布する(ステップS15)。
【0028】
次に、図2に示される処理と図3に示される処理との関係について説明する。図2の処理は、DL先通信端末装置からDL元リスト要求が送信される度に生じる。図3の処理は、所定のタイミング(最適化処理を行うタイミング)が到来する度に生じる。
図3の処理が完了した時点では、図3のステップS15の処理で配布されたコンテンツのデータは、初期キャッシュとしてのみ存在する。すなわち、この時点では、キャッシュ配布装置のみが、図3ステップS15の処理で配布されたコンテンツのデータを記憶している。このようなコンテンツのデータのダウンロードが要求される場合には、図2ステップS6でDL先通信端末装置に返送されるDL元リストには、キャッシュ配布装置のIPアドレスのみが掲載されている。そのため、DL先通信端末装置は、図2ステップS7の処理において、キャッシュ配布装置に対してコンテンツのダウンロード要求を送信する。図2ステップS8の処理によってコンテンツのデータをキャッシュ配布装置から受信した通信端末装置10は、ヒントサーバー40に対してその旨を通知する。その後、キャッシュ配布装置からコンテンツのデータを受信した通信端末装置10は、キャッシュ配布装置以外のDL元装置となる。そのため、その後は、キャッシュ配布装置以外の通信端末装置10がDL元リストに掲載される可能性が生じる。
【0029】
また、図2に示される処理が行われることによって、ヒントサーバー40、キャッシュ配布装置、通信端末装置10が、それぞれ通信のログを蓄積する。ヒントサーバー40、キャッシュ配布装置、通信端末装置10は、図2の処理の実行によって蓄積したログに基づいてフィードバック情報を生成し、図3ステップS12の処理を行う際に、最適化サーバー50へ送信する。
以下、最適化サーバー50の構成について複数の実施形態を説明する。なお、各装置が生成するフィードバック情報の内容は、最適化サーバー50の構成に応じて変化する。そのため、各実施形態に応じたフィードバック情報についても説明する。
【0030】
[第一実施形態]
第一実施形態では、通信システム100において、各装置のIPアドレスの値が近いほど実際に各装置が設置されている物理的距離が近くなるように、IPアドレスの付与ルールが設定されていることを前提とする。
【0031】
図4は、最適化サーバー50の第一実施形態の機能構成を表す概略ブロック図である。第一実施形態における最適化サーバー50(50a)は、バスで接続されたCPU(Central Processing Unit)やメモリや補助記憶装置などを備え、最適化サーバープログラムを実行することによって送受信部501、最適化情報生成部502を備える装置として機能する。
【0032】
送受信部501は、ネットワークインターフェース等の通信装置を用いて構成され、ルーター20gとデータの送受信を行う。具体的には、送受信部501はルーター20gからフィードバック情報を受信し、ルーター20gを介してキャッシュ配布サーバー60に最適化情報を送信する。
【0033】
第一実施形態におけるフィードバック情報は、各通信端末装置10によって生成される。第一実施形態の最適化サーバー50aとともに通信システム100に設置される通信端末装置10は、通信ログ記憶部と、通信ログ管理部とを備える。通信ログ記憶部は、通信ログテーブルを記憶する。通信ログテーブルは、自装置(通信端末装置10)がデータのダウンロードを行った際の通信相手となったDL元装置のIPアドレスを蓄積したテーブルである。
【0034】
通信ログ管理部は、自装置がDL元装置からコンテンツのデータをダウンロードする度に、通信相手となったDL元装置のIPアドレスを通信ログテーブルに記録する。通信ログ管理部は、フィードバック情報の要求を受信すると、その時点の通信ログテーブル及び自装置のIPアドレスを含むフィードバック情報を生成し、最適化サーバー50aに送信する。通信ログテーブル管理部は、フィードバック情報を送信すると、通信ログテーブルを初期化し、DL元装置の識別子を削除し、処理を継続する。
【0035】
最適化情報生成部502は、送受信部501を介してフィードバック情報を受信する。第一実施形態におけるフィードバック情報には、上述したように、各通信端末装置10において発生したコンテンツのデータの各通信について、DL元装置のIPアドレスが含まれる。したがって、最適化情報生成部502は、フィードバック情報に基づいて、通信システム100において発生した各通信のDL先通信端末装置のIPアドレス及びDL元装置のIPアドレスとの組合せを取得できる。最適化情報生成部502は、各通信におけるDL先通信端末装置及びDL元装置のIPアドレスを比較することによって最適化情報を生成する。
【0036】
具体的には以下の通りである。最適化情報生成部502は、DL元装置のIPアドレスの各桁の数値と、DL先通信端末装置のIPアドレスの各桁の数値とを桁数の高い方から比較する。例えばIPアドレスが“192.168.123.456”である場合には、“192”の“1”が最も高い桁数となり、“456”の“6”が最も低い桁数となる。そして、最適化情報生成部502は、最も高い桁数から連続して値が一致した桁数(以下、「一致桁数」という。)をカウントする。例えば、“192.168.100.456”と“192.168.123.456”とを比較した場合には、最も高い桁数から連続して一致した値は“192.168.1”までであり、一致桁数は7となる。
【0037】
最適化情報生成部502は、各通信におけるDL先通信端末装置及びDL元装置のIPアドレスの組合せ毎に、上記のようにIPアドレスの比較を行い、一致桁数を取得する。最適化情報生成部502は、DL元装置毎に、その装置において発生した通信の一致桁数の平均値(評価パラメータ)を算出する。そして、最適化情報生成部502は、平均値が低い順にDL元装置を並べる。最適化情報生成部502は、平均値が低い方から所定数のDL元装置を、初期キャッシュの配布先(キャッシュ配布装置)として選択する。最適化情報生成部502は、選択結果を表す最適化情報を生成する。
【0038】
このように構成された最適化サーバー50aによれば、DL先通信端末装置に対する通信のホップ数の平均値が少ないDL元装置から順に、初期キャッシュの配布先(キャッシュ配布装置)として選択される。そして、キャッシュ配布サーバー60は、この選択結果に従ってコンテンツのデータの初期キャッシュを配布する。そのため、DL先通信端末装置に対する通信におけるホップ数が少ないDL元装置に対して初期キャッシュが配布される。したがって、DL先通信端末装置とDL元通信端末装置との間で発生する通信のホップ数を全体的に小さく抑えることが可能となり、通信システム100全体の通信の効率化を図ることが可能となる。そのため、DL先通信端末装置とDL元装置との間の通信においてダウンロード時間の短縮やネットワークトラフィック量を削減することが可能となる。また、ネットワークトラフィック量の削減により、ネットワーク設備設置の初期投資コストや消費電力を削減することが可能となる。また、一つのダウンロード要求に応じるために要するダウンロード時間やネットワークトラフィック量が削減されるため、初期キャッシュが配布された直後にそのコンテンツに対するダウンロード要求が急増しても、各ダウンロード要求に対して応答することが可能となる。
なお、ホップ数とは、通信を行う際に経由するリンクやノードの数を表し、例えば通信を行う際に経由するルーター20の数を表す。
【0039】
<変形例>
通信端末装置10の通信ログ管理部がフィードバック情報を生成する具体的な処理は、上述した処理に限定されない。例えば、通信ログ管理部は、過去のフィードバック情報にどの通信ログの情報を含めたかを記憶してもよい。この場合、通信ログ管理部は、フィードバック情報の要求を受信した場合に、通信ログテーブルの情報のうち、未だフィードバック情報に含められていない通信ログの情報によってフィードバック情報を生成しても良い。例えば、通信ログ管理部は、フィードバック情報の要求を受信した場合に、通信ログテーブルの情報のうち、その時点を起点として所定の期間内に記録された通信ログの情報によってフィードバック情報を生成しても良い。
【0040】
DL元候補リストは、ピア管理サーバー30を使用せずに、通信端末装置10同士が互いに問い合わせあうことで生成されても良い。この場合、通信端末装置10は、ヒントサーバー40に、DL元装置の優先順位の最適化を直接依頼し、その最適化後のリストをヒントサーバー40から受信する。なお、この時、ヒントサーバー40を用いてDL元リストを最適化させなくても良く、ヒントサーバー40とDL元候補リストを送受信する手順がなくてもよい。
【0041】
平均値の代わりに合計値を用いても良い。ここで、例えば次の式からネットワークトラフィック量を算出して、ネットワークトラフィック量のDL元装置毎の平均値・合計値が低い順にDL元装置を並べても良い。
ネットワークトラフィック量=(DL先通信端末装置が受信したトラフィック量)×(DL先通信装置とDL元装置との間に経由したホップ数)
【0042】
[第二実施形態]
第二実施形態では、通信システム100において、各装置が設置されている地域に応じて、予め決められたエリア識別子が各装置に対して付与されていることを前提とする。エリア識別子として、各装置のIPアドレスのネットワークアドレスが用いられても良いし、都道府県・市町村・区などを表す住所情報が用いられても良い。また、通信端末装置10に関しては、エリア識別子として、各通信端末装置10が接続されている基地局装置の識別情報が用いられても良いし、電話番号が用いられても良い。以下の説明では、エリア識別子としてネットワークアドレスが用いられる場合を例に説明する。すなわち、以下の例では、ある装置に対して割り当てられているIPアドレスのネットワークアドレスを参照することによって、その装置が設置されている地域が一意に特定できるように通信システム100が設計されていることが前提となる。
【0043】
図5は、最適化サーバー50の第二実施形態の機能構成を表す概略ブロック図である。第二実施形態における最適化サーバー50(50b)は、バスで接続されたCPUやメモリや補助記憶装置などを備え、最適化サーバープログラムを実行することによって送受信部511、最適化情報生成部512、ホップ数記憶部513、地域記憶部514を備える装置として機能する。
【0044】
送受信部511は、ネットワークインターフェース等の通信装置を用いて構成され、ルーター20gとデータの送受信を行う。具体的には、送受信部511はルーター20gからフィードバック情報を受信し、ルーター20gを介してキャッシュ配布サーバー60に最適化情報を送信する。
【0045】
第二実施形態におけるフィードバック情報は、第一実施形態におけるフィードバック情報と同じである。したがって、第二実施形態の最適化サーバー50bとともに通信システム100に設置される通信端末装置10は、第一実施形態の最適化サーバー50aとともに通信システム100に設置される通信端末装置10と同様に構成される。
【0046】
地域記憶部514は、地域アドレス対応テーブルを記憶する。図6は、地域アドレス対応テーブルの概略を表す図である。地域アドレス対応テーブルは、ネットワークアドレスと、各ネットワークアドレスに含まれるIPアドレスの装置が設置されている都道府県(地域)とを対応付けて有する。なお、図6では、地域の具体例として都道府県単位が用いられているが、国単位、地方単位、市町村単位、基地局装置単位などのように、地域としてどのような大きさの単位が用いられても良い。
【0047】
ホップ数記憶部513は、ホップ数テーブルを記憶する。図7は、ホップ数テーブルの概略を表す図である。ホップ数テーブルは、DL元県とDL先県とホップ数とを対応付けて有する。DL元県は、DL元装置が設置されている地域を表す。DL先県は、DL先通信端末装置が設置されている地域を表す。ホップ数は、DL元県とDL先県との間で通信を行う際のホップ数を表す。
【0048】
地域アドレス対応テーブルの値、及びホップ数テーブルの値は、最適化サーバー50bの管理者によって予め設定されている。
最適化情報生成部512は、送受信部511を介してフィードバック情報を受信する。第二実施形態におけるフィードバック情報には、上述したように、各通信端末装置10において発生したコンテンツのデータの各通信について、DL元装置のIPアドレスが含まれる。したがって、最適化情報生成部512は、フィードバック情報に基づいて、通信システム100において発生した各通信のDL先通信端末装置のIPアドレス及びDL元装置のIPアドレスとの組合せを取得できる。最適化情報生成部512は、地域アドレス対応テーブル及びホップ数テーブルの内容に基づいて、各通信に要したホップ数を取得することによって最適化情報を生成する。
【0049】
具体的には以下の通りである。最適化情報生成部512は、DL先通信端末装置及びDL元装置のIPアドレスについて、地域アドレス対応テーブルを参照することによって、対応する地域を検出する。次に、最適化情報生成部512は、ホップ数テーブルを参照することによって、DL元装置が設置された地域からDL先通信端末装置が設置された地域までのホップ数を通信毎に検出する。最適化情報生成部512は、DL元装置毎に、その装置において発生した通信のホップ数の平均値(評価パラメータ)を算出する。そして、最適化情報生成部512は、平均値が低い順にDL元装置を並べる。最適化情報生成部512は、平均値が低い方から所定数のDL元装置を、初期キャッシュの配布先として選択する。最適化情報生成部512は、選択結果を表す最適化情報を生成する。
【0050】
このように構成された最適化サーバー50bによれば、DL先通信端末装置に対する通信のホップ数の平均値が少ないDL元装置から順に、初期キャッシュの配布先(キャッシュ配布装置)として選択される。そして、キャッシュ配布サーバー60は、この選択結果に従ってコンテンツのデータの初期キャッシュを配布する。そのため、DL先通信端末装置に対する通信におけるホップ数が少ないDL元装置に対して初期キャッシュが配布される。したがって、DL先通信端末装置とDL元通信端末装置との間で発生する通信のホップ数を全体的に小さく抑えることが可能となり、通信システム100全体の通信の効率化を図ることが可能となる。そのため、DL先通信端末装置とDL元装置との間の通信においてダウンロード時間の短縮やネットワークトラフィック量を削減することが可能となる。また、ネットワークトラフィック量の削減により、ネットワーク設備設置の初期投資コストや消費電力を削減することが可能となる。また、一つのダウンロード要求に応じるために要するダウンロード時間やネットワークトラフィック量が削減されるため、初期キャッシュが配布された直後にそのコンテンツに対するダウンロード要求が急増しても、各ダウンロード要求に対して応答することが可能となる。
【0051】
<変形例>
平均値の代わりに合計値を用いても良い。ここで、例えば次の式からネットワークトラフィック量を算出して、ネットワークトラフィック量のDL元装置毎の平均値・合計値が低い順にDL元装置を並べても良い。
ネットワークトラフィック量=(DL先通信端末装置が受信したトラフィック量)×(DL先通信装置とDL元装置との間に経由したホップ数)
【0052】
[第三実施形態]
図8は、最適化サーバー50の第三〜第七実施形態の機能構成を表す概略ブロック図である。最適化サーバー50の第三〜第七実施形態の機能構成は、図示されるように形式的には一致するため、記載の簡略化のために一つの図として表す。第三実施形態における最適化サーバー50(50c)は、バスで接続されたCPUやメモリや補助記憶装置などを備え、最適化サーバープログラムを実行することによって送受信部521、最適化情報生成部522を備える装置として機能する。
【0053】
送受信部521は、ネットワークインターフェース等の通信装置を用いて構成され、ルーター20gとデータの送受信を行う。具体的には、送受信部521はルーター20gからフィードバック情報を受信し、ルーター20gを介してキャッシュ配布サーバー60に最適化情報を送信する。
【0054】
第三実施形態におけるフィードバック情報は、ヒントサーバー40によって生成される。第三実施形態の最適化サーバー50cとともに通信システム100に設置されるヒントサーバー40は、通知回数記憶部と、通知回数管理部とを備える。通知回数記憶部は、通知回数テーブルを記憶する。図9は、通知回数テーブルの概略を表す図である。通知回数テーブルは、DL元装置識別子と通知回数との組合せをDL元装置毎に有する。DL元装置識別子は、各DL元装置を表す識別子であり、例えばIPアドレスである。以下の説明では、DL元装置識別子がIPアドレスである場合の構成について説明する。通知回数は、各DL元装置が、ヒントサーバー40によってDL元リストに掲載された回数である。すなわち、通知回数は、各DL元装置がダウンロード要求の送信先の候補としてDL先通信端末装置に通知された回数である。そのため、通知回数が多いほど、そのDL元装置に対するダウンロード要求(ニーズ)が高いと判断できる。
【0055】
通知回数管理部は、ヒントサーバー40によって生成されたDL元リストの内容に基づいて、通知回数テーブルの内容を更新する。具体的には、通知回数管理部は、ヒントサーバー40によって生成されたDL元リストに含まれているIPアドレスを読み出し、通知回数テーブルにおいて、読み出されたIPアドレスに対応する通知回数をインクリメントする。通知回数管理部は、フィードバック情報の要求を受信すると、その時点の通知回数テーブルの内容を表すフィードバック情報を生成し、最適化サーバー50cに送信する。通知回数管理部は、設定で定めた時間が来たタイミングで、通知回数テーブルの内容を初期化し、全ての通知回数をゼロに戻し、処理を継続する。
【0056】
最適化情報生成部522は、送受信部521を介してフィードバック情報を受信する。フィードバック情報は、上述したように通知回数テーブルの内容を表す。最適化情報生成部522は、通知回数テーブルの内容に基づいて最適化情報を生成する。
具体的には以下の通りである。最適化情報生成部522は、フィードバック情報に基づいて、DL元装置毎の通知回数(評価パラメータ)を取得する。最適化情報生成部522は、通知回数が多い順にDL元装置を並べる。最適化情報生成部522は、通知回数が多い方から所定数のDL元装置を、初期キャッシュの配布先(キャッシュ配布装置)として選択する。最適化情報生成部522は、選択結果を表す最適化情報を生成する。
【0057】
このように構成された最適化サーバー50cによれば、所定時間内にDL元リストとして通知された回数が多いDL元装置から順に、初期キャッシュの配布先(キャッシュ配布装置)として選択される。そして、キャッシュ配布サーバー60は、この選択結果に従ってコンテンツのデータの初期キャッシュを配布する。そのため、コンテンツのダウンロード要求が送信される頻度の高いDL元装置、すなわちニーズの高いDL元装置に対して優先的に初期キャッシュを配布することが可能となる。そのため、ニーズの多い地域のDL元装置に対して初期キャッシュが配布されるため、DL先通信端末装置との間の通信においてダウンロード時間の短縮やネットワークトラフィック量を削減することが可能となる。また、ネットワークトラフィック量の削減により、ネットワーク設備設置の初期投資コストや消費電力を削減することが可能となる。また、一つのダウンロード要求に応じるために要するダウンロード時間やネットワークトラフィック量が削減されるため、初期キャッシュが配布された直後にそのコンテンツに対するダウンロード要求が急増しても、各ダウンロード要求に対して応答することが可能となる。
【0058】
また、第三実施形態では、最適化サーバー50cは、ヒントサーバー40のみにフィードバック情報の要求を送信する。そのため、最適化サーバー50cが複数のDL元装置に対してフィードバック情報の要求を送信する場合に比べて、ネットワークトラフィック量を削減し、フィードバック情報の収集に要する時間を短縮することが可能となる。
【0059】
<変形例>
ヒントサーバー40は、通知回数テーブルを記憶せずに、各DL元装置をどの時刻にDL元リストに掲載したかを示すログ情報を蓄積するように構成されても良い。この場合、ヒントサーバー40は、所定のタイミング毎に、所定の期間のログ情報(例えば、前回のフィードバック情報通知から現在に至るまでのログ情報)をフィードバック情報として最適化サーバー50cに通知しても良い。この場合、最適化サーバー50cの最適化情報生成部522は、フィードバック情報に基づいて、DL元装置毎にDL元リストに掲載された回数を計数し、最適化情報を生成しても良い。
最適化情報生成部522は、通知回数の平均値ではなく、通知回数の合計値を算出して処理を行っても良い。
【0060】
[第四実施形態]
図8を用いて最適化サーバー50の第四実施形態の機能構成について説明する。第四実施形態における最適化サーバー50(50d)は、バスで接続されたCPUやメモリや補助記憶装置などを備え、最適化サーバープログラムを実行することによって送受信部531、最適化情報生成部532を備える装置として機能する。
【0061】
送受信部531は、ネットワークインターフェース等の通信装置を用いて構成され、ルーター20gとデータの送受信を行う。具体的には、送受信部531はルーター20gからフィードバック情報を受信し、ルーター20gを介してキャッシュ配布サーバー60に最適化情報を送信する。
【0062】
第四実施形態におけるフィードバック情報は、各DL元装置によって生成される。第四実施形態の最適化サーバー50dとともに通信システム100に設置されるDL元装置は、要求回数記憶部と、要求回数管理部とを備える。要求回数記憶部は、要求回数を記憶する。要求回数は、そのDL元装置が、DL先通信端末装置からコンテンツのダウンロード要求を受信した回数である。そのため、要求回数が多いほど、そのDL元装置に対するダウンロード要求(ニーズ)が高いと判断できる。
【0063】
要求回数管理部は、DL先通信端末装置からダウンロード要求を受信する度に、要求回数記憶部に記憶される要求回数を更新する。具体的には、要求回数管理部は、ダウンロード要求を受信する度に要求回数をインクリメントする。要求回数管理部は、フィードバック情報の要求を受信すると、その時点の要求回数を表すフィードバック情報を生成し、最適化サーバー50dに送信する。要求回数管理部は、設定で定めた所定時の時間になると要求回数を初期化し、要求回数をゼロに戻し、処理を継続する。
【0064】
最適化情報生成部532は、送受信部531を介してフィードバック情報を受信する。フィードバック情報は、上述したように、各DL元装置の要求回数を表す。最適化情報生成部532は、各DL元装置の要求回数に基づいて最適化情報を生成する。
具体的には以下の通りである。最適化情報生成部532は、フィードバック情報に基づいて、DL元装置毎の要求回数(評価パラメータ)を取得する。最適化情報生成部532は、要求回数が多い順にDL元装置を並べる。最適化情報生成部532は、要求回数が多い方から所定数のDL元装置を、初期キャッシュの配布先(キャッシュ配布装置)として選択する。最適化情報生成部532は、選択結果を表す最適化情報を生成する。
【0065】
このように構成された最適化サーバー50dによれば、所定時間内にダウンロード要求を受信した回数が多いDL元装置から順に、初期キャッシュの配布先(キャッシュ配布装置)として選択される。そして、キャッシュ配布サーバー60は、この選択結果に従ってコンテンツのデータの初期キャッシュを配布する。そのため、コンテンツのダウンロード要求が送信される頻度の高いDL元装置、すなわちニーズの高いDL元装置に対して優先的に初期キャッシュを配布することが可能となる。そのため、ニーズの多い地域のDL元装置に対して初期キャッシュが配布されるため、DL先通信端末装置との間の通信においてダウンロード時間の短縮やネットワークトラフィック量を削減することが可能となる。また、ネットワークトラフィック量の削減により、ネットワーク設備設置の初期投資コストや消費電力を削減することが可能となる。また、一つのダウンロード要求に応じるために要するダウンロード時間やネットワークトラフィック量が削減されるため、初期キャッシュが配布された直後にそのコンテンツに対するダウンロード要求が急増しても、各ダウンロード要求に対して応答することが可能となる。
【0066】
また、第四実施形態では、最適化サーバー50dは、実際にダウンロード要求が受信された情報をフィードバック情報として収集する。そのため、上述した第三実施形態に比べて、より正確に各DL元装置に対するニーズを把握し、より適格に初期キャッシュの配布先を選択することが可能となる。
【0067】
[第五実施形態]
図8を用いて最適化サーバー50の第五実施形態の機能構成について説明する。第五実施形態における最適化サーバー50(50e)は、バスで接続されたCPUやメモリや補助記憶装置などを備え、最適化サーバープログラムを実行することによって送受信部541、最適化情報生成部542を備える装置として機能する。
【0068】
送受信部541は、ネットワークインターフェース等の通信装置を用いて構成され、ルーター20gとデータの送受信を行う。具体的には、送受信部541はルーター20gからフィードバック情報を受信し、ルーター20gを介してキャッシュ配布サーバー60に最適化情報を送信する。
【0069】
第五実施形態におけるフィードバック情報は、各DL元装置によって生成される。第五実施形態の最適化サーバー50eとともに通信システム100に設置されるDL元装置は、トラフィック量記憶部と、トラフィック量管理部とを備える。トラフィック量記憶部は、トラフィック量を記憶する。トラフィック量は、そのDL元装置において生じた通信のトラフィック量である。そのため、トラフィック量が大きいほど、そのDL元装置に対するダウンロード要求(ニーズ)が高いと判断できる。
【0070】
トラフィック量管理部は、自装置が通信でデータを送信又は受信する度に、トラフィック量記憶部に記憶されるトラフィック量を更新する。トラフィック量管理部は、フィードバック情報の要求を受信すると、その時点のトラフィック量を表すフィードバック情報を生成し、最適化サーバー50eに送信する。トラフィック量管理部は、設定で定めた所定の時間が経過すると、トラフィック量を初期化し、トラフィック量をゼロに戻し、処理を継続する。
【0071】
最適化情報生成部542は、送受信部541を介してフィードバック情報を受信する。フィードバック情報は、上述したように、各DL元装置のトラフィック量を表す。最適化情報生成部542は、各DL元装置のトラフィック量に基づいて最適化情報を生成する。
具体的には以下の通りである。最適化情報生成部542は、フィードバック情報に基づいて、DL元装置毎のトラフィック量(評価パラメータ)を取得する。最適化情報生成部542は、トラフィック量が大きい順にDL元装置を並べる。最適化情報生成部542は、トラフィック量が大きい方から所定数のDL元装置を、初期キャッシュの配布先(キャッシュ配布装置)として選択する。最適化情報生成部542は、選択結果を表す最適化情報を生成する。
【0072】
このように構成された最適化サーバー50eによれば、所定時間内のトラフィック量が大きいDL元装置から順に、初期キャッシュの配布先(キャッシュ配布装置)として選択される。そして、キャッシュ配布サーバー60は、この選択結果に従ってコンテンツのデータの初期キャッシュを配布する。そのため、コンテンツのトラフィック量の大きいDL元装置、すなわちニーズの高いDL元装置に対して優先的に初期キャッシュを配布することが可能となる。そのため、ニーズの多い地域のDL元装置に対して初期キャッシュが配布されるため、DL先通信端末装置との間の通信においてダウンロード時間の短縮やネットワークトラフィック量を削減することが可能となる。また、ネットワークトラフィック量の削減により、ネットワーク設備設置の初期投資コストや消費電力を削減することが可能となる。また、一つのダウンロード要求に応じるために要するダウンロード時間やネットワークトラフィック量が削減されるため、初期キャッシュが配布された直後にそのコンテンツに対するダウンロード要求が急増しても、各ダウンロード要求に対して応答することが可能となる。
【0073】
[第六実施形態]
図8を用いて最適化サーバー50の第六実施形態の機能構成について説明する。第六実施形態における最適化サーバー50(50f)は、バスで接続されたCPUやメモリや補助記憶装置などを備え、最適化サーバープログラムを実行することによって送受信部551、最適化情報生成部552を備える装置として機能する。
【0074】
送受信部551は、ネットワークインターフェース等の通信装置を用いて構成され、ルーター20gとデータの送受信を行う。具体的には、送受信部551はルーター20gからフィードバック情報を受信し、ルーター20gを介してキャッシュ配布サーバー60に最適化情報を送信する。
【0075】
第六実施形態におけるフィードバック情報は、各DL元装置によって生成される。第六実施形態の最適化サーバー50fとともに通信システム100に設置されるDL元装置は、機器情報管理部を備える。機器情報管理部は、フィードバック情報の要求を受信すると、その時点の自装置のハードウェアに関する情報(機器情報)を表すフィードバック情報を生成し、最適化サーバー50fに送信する。機器情報の具体例として、CPUの稼働率、空きメモリ容量、CPUの性能値、メモリの全体の容量などがある。
【0076】
最適化情報生成部552は、送受信部551を介してフィードバック情報を受信する。フィードバック情報は、上述したように、各DL元装置の機器情報を表す。最適化情報生成部552は、各DL元装置の機器情報に基づいて最適化情報を生成する。
具体的には以下の通りである。最適化情報生成部552は、フィードバック情報に基づいて、DL元装置毎の性能評価値(評価パラメータ)を取得する。性能評価値とは、機器情報に応じて得られる値であり、各DL元装置のハードウェア性能の高低を数値で表したものである。性能評価値は、例えばCPUの使用率や空きメモリ容量や帯域などの値そのものであっても良いし、各値を正規化したものであっても良いし、複数の値に所定の加重を掛けて足した値(合計値)であっても良いし、各値の平均値であっても良い。性能評価値は、その値が高いほど、ハードウェア性能が高いことを示す。したがって、CPU使用率やメモリ使用率のようにその値が低いほどハードウェア性能が高いことを示すような機器情報に関しては、その逆数を算出したり、後述する式3と同様の式を用いること等によって性能評価値を算出する必要がある。最適化情報生成部552は、性能評価値が高い順にDL元装置を並べる。最適化情報生成部552は、性能評価値が高い方から所定数のDL元装置を、初期キャッシュの配布先(キャッシュ配布装置)として選択する。最適化情報生成部552は、選択結果を表す最適化情報を生成する。
【0077】
このように構成された最適化サーバー50fによれば、所定時間毎に機器の性能が高いDL元装置から順に、初期キャッシュの配布先(キャッシュ配布装置)として選択される。そして、キャッシュ配布サーバー60は、この選択結果に従ってコンテンツのデータの初期キャッシュを配布する。そのため、性能が高いDL元装置に対して優先的に初期キャッシュを配布することが可能となる。そのため、性能の高いDL元装置に対して初期キャッシュが配布されるため、DL先通信端末装置との間の通信においてダウンロード時間を短縮することが可能となる。また、一つのダウンロード要求に応じるために要するダウンロード時間短縮されるため、初期キャッシュが配布された直後にそのコンテンツに対するダウンロード要求が急増しても、各ダウンロード要求に対して応答することが可能となる。
【0078】
[第七実施形態]
図8を用いて最適化サーバー50の第七実施形態の機能構成について説明する。第七実施形態における最適化サーバー50(50g)は、バスで接続されたCPUやメモリや補助記憶装置などを備え、最適化サーバープログラムを実行することによって送受信部561、最適化情報生成部562を備える装置として機能する。
【0079】
送受信部561は、ネットワークインターフェース等の通信装置を用いて構成され、ルーター20gとデータの送受信を行う。具体的には、送受信部561はルーター20gからフィードバック情報を受信し、ルーター20gを介してキャッシュ配布サーバー60に最適化情報を送信する。
【0080】
第七実施形態におけるフィードバック情報は、通信端末装置10によって生成される。第七実施形態の最適化サーバー50gとともに通信システム100に設置される通信端末装置10は、DL時間記憶部と、DL時間測定部とを備える。DL時間記憶部は、DL時間テーブルを記憶する。DL時間テーブルは、DL元装置識別子とDL時間との組合せを発生した通信毎に有する。DL時間は、通信端末装置10が、DL元装置からコンテンツのデータをダウンロードする際に要した通信時間である。
【0081】
DL時間測定部は、自装置がDL元装置からコンテンツのデータをダウンロードする度に、ダウンロードに要した時間を測定する。DL時間測定部は、測定した時間を、通信相手となったDL元装置の識別子と対応付けて新たなレコードとして記録することによって、DL時間記憶部に記憶されるDL時間テーブルを更新する。DL時間測定部は、フィードバック情報の要求を受信すると、その時点のDL時間テーブルを表すフィードバック情報を生成し、最適化サーバー50fに送信する。DL時間測定部は、フィードバック情報を送信すると、DL時間テーブルを初期化し、処理を継続する。
【0082】
最適化情報生成部562は、送受信部561を介してフィードバック情報を受信する。フィードバック情報は、上述したように、通信システム100において発生した各通信のDL元装置と、その通信に要した時間(DL時間)とを表す。最適化情報生成部562は、各DL元装置のDL時間に基づいて最適化情報を生成する。
具体的には以下の通りである。最適化情報生成部562は、収集された複数のフィードバック情報に基づいて、DL元装置毎にDL時間の平均値(評価パラメータ)を算出する。DL時間の平均値は、一つの通信に要した時間の平均値を示す。最適化情報生成部562は、DL時間の平均値が短い順にDL元装置を並べる。最適化情報生成部562は、DL時間の平均値が短い方から所定数のDL元装置を、初期キャッシュの配布先(キャッシュ配布装置)として選択する。最適化情報生成部562は、選択結果を表す最適化情報を生成する。
【0083】
このように構成された最適化サーバー50fによれば、DL時間の平均値が短いDL元装置から順に、初期キャッシュの配布先(キャッシュ配布装置)として選択される。そして、キャッシュ配布サーバー60は、この選択結果に従ってコンテンツのデータの初期キャッシュを配布する。そのため、DL時間の平均値が短いDL元装置、すなわちコンテンツのダウンロードに要する時間が短いDL元装置に対して優先的に初期キャッシュを配布することが可能となる。そのため、DL先通信端末装置との間の通信においてダウンロード時間を短縮することが可能となる。また、一つのダウンロード要求に応じるために要するダウンロード時間が短縮されるため、初期キャッシュが配布された直後にそのコンテンツに対するダウンロード要求が急増しても、各ダウンロード要求に対して応答することが可能となる。
【0084】
[第八実施形態]
図10は、最適化サーバー50の第八実施形態の機能構成を表す概略ブロック図である。第八実施形態における最適化サーバー50(50h)は、バスで接続されたCPUやメモリや補助記憶装置などを備え、最適化サーバープログラムを実行することによって送受信部571、最適化情報生成部572、ホップ数記憶部513、地域記憶部514を備える装置として機能する。なお、ホップ数記憶部513及び地域記憶部514は、第二実施形態における同名の構成と同じであるため説明を省略する。
【0085】
送受信部571は、ネットワークインターフェース等の通信装置を用いて構成され、ルーター20gとデータの送受信を行う。具体的には、送受信部571はルーター20gからフィードバック情報を受信し、ルーター20gを介してキャッシュ配布サーバー60に最適化情報を送信する。
【0086】
第八実施形態におけるフィードバック情報は、第一実施形態〜第七実施形態における全てのフィードバック情報を含めた情報である。したがって、第八実施形態の最適化サーバー50hとともに通信システム100に設置される各装置は、上記のようなフィードバック情報を送信できるように、第一実施形態〜第七実施形態において説明した各構成を備える。
【0087】
最適化情報生成部572は、第一実施形態〜第七実施形態における各処理を行うことによって、DL元装置毎に複数の評価パラメータを取得する。最適化情報生成部572は、複数の評価パラメータに基づいてDL元装置毎に統合評価パラメータを算出する。そして、最適化情報生成部572は、統合評価パラメータが高い順にDL元装置を並べる。統合評価パラメータの値は、算出に用いられた各評価パラメータの値における評価が高いほど、高い値をとる。最適化情報生成部572は、平均値が高い方から所定数のDL元装置を、初期キャッシュの配布先(キャッシュ配布装置)として選択する。最適化情報生成部572は、選択結果を表す最適化情報を生成する。
【0088】
統合評価パラメータの算出方法の具体例について説明する。最適化情報生成部572は、予め評価パラメータ毎に定められた加重値aを記憶している。最適化情報生成部572は、以下に示す式1を用いて、統合評価パラメータτを算出する。
【0089】
【数1】
【0090】
式1において、iは評価パラメータの種類を表し、aiは評価パラメータ毎の加重値を表し、Riは評価パラメータ毎の正規化数値を表し、nは評価パラメータの種類の数を表す。正規化数値は、以下に示す式2又は式3のように表される。
【0091】
Ri=(Mi−Gi)/Gi ・・・式2
Ri=(Gi−Mi)/Gi ・・・式3
【0092】
式2及び式3において、Miは評価パラメータの値を表し、Giは評価パラメータの目標値を表す。評価パラメータの値が高いほど評価が高いことを表す場合には、最適化情報生成部572は式2を用いて正規化数値を算出する。評価パラメータの値が低いほど評価が高いことを表す場合には、最適化情報生成部572は式3を用いて正規化数値を算出する。具体的には、通知回数、要求回数、トラフィック量、性能評価値、に関しては式2が用いられる。一方、ホップ数の平均値、DL時間の平均値に関しては式3が用いられる。
【0093】
このように構成された最適化サーバー50hによれば、複数の評価パラメータに基づいて得られた統合評価パラメータの値が高いDL元装置から順に、初期キャッシュの配布先(キャッシュ配布装置)として選択される。そして、キャッシュ配布サーバー60は、この選択結果に従ってコンテンツのデータの初期キャッシュを配布する。そのため、通信システム100全体の通信をより効率良くさせることが可能となる。そのため、DL先通信端末装置とDL元装置との間の通信においてダウンロード時間の短縮やネットワークトラフィック量を削減することが可能となる。
【0094】
<変形例>
最適化情報生成部572は、最新の統合評価パラメータτ(最新の評価パラメータに基づいて算出した値)に基づいて最適化情報を生成するのではなく、過去に算出した統合評価パラメータτの値との平均値を用いてもよい。また、最適化情報生成部572は、以下に示すような式4によって算出された値μ(ローパスフィルタを介した値)を用いて最適化情報を生成してもよい。
【0095】
μ=(τ(t−1)×α)+τ(t)×(1−α) ・・・式4
【0096】
τ(t−1)は、前回の最適化処理で算出された統合評価パラメータの値であり、τ(t)は、最新の最適化処理で算出された統合評価パラメータの値である。αは以下のような値である。0<α<1。式4を用いて算出された値μは、時間の変化に応じた統合評価パラメータの値の急激な変化を抑制した値であるため、最適化処理をより安定して行うことが可能となる。
【0097】
<共通した変形例>
また、第一実施形態〜第八実施形態に共通した変形例を示す。
上記通信システム100はP4Pのシステムとして構築されているが、P4Pは通信システム100に適用される通信技術の一つの例に過ぎない。例えば、通信システム100は、クラウドシステムとして構築されても良いし、P2Pシステムとして構築されても良いし、複数のサーバーに対してキャッシュを配布するサーバー・クライアントシステムとして構築されても良い。
【0098】
評価パラメータ及び統合評価パラメータの値は、コンテンツの種類毎に取得されても良い。例えば、コンテンツが動画像である場合には、動画像の中身(ニュース、スポーツ、アニメ、お笑い、映画、音楽など)が共通するグループ(以下、「コンテンツグループ」という。)毎に評価パラメータ及び統合評価パラメータの値が取得されても良い。また各コンテンツの配信特性を分析して類似特性を示すコンテンツを同一種別に分類しても良い。この場合、フィードバック情報に示される各値は、コンテンツの種類に対応付けて最適化サーバー50へ通知される。そして、最適化情報生成部は、コンテンツの種類毎に、最適化情報を生成する。キャッシュ配布サーバー60は、コンテンツの種類毎に、最適化情報に基づいて初期キャッシュの配布先を決定する。
このように構成されることによって、コンテンツの種類毎により正確に通信システム100全体の通信の効率化を図ることが可能となる。
【0099】
また、各実施形態における評価パラメータについて、コンテンツ毎、又はコンテンツグループ毎に平均値が算出され、その平均値に基づいて初期キャッシュの配布先が選択されても良い。
ピア管理サーバー30の機能は、各通信端末装置10やヒントサーバー40に統合されても良い。図11は、通信システム100の変形例における各装置間の処理の流れのうち、通信端末装置10がコンテンツのデータをダウンロードする際の処理を表すシーケンス図である。DL先通信端末装置は、使用者が所望するコンテンツのデータを記憶しているDL元装置を検索する。DL先通信端末装置は、検索されたDL元装置の識別子(ピアIDやIPアドレス等)が列挙されたDL元候補リストを生成する(ステップS21)。そして、DL先通信端末装置は、生成されたDL元候補リストを、ヒントサーバー40へ送信する(ステップS22)。
【0100】
ヒントサーバー40は、DL元候補リストを受信すると、DL元候補リストに含まれる複数のDL元装置の識別子を所定の基準に応じて並べ替え、DL元リストを生成する(ステップS23)。そして、ヒントサーバー40は、生成されたDL元リストを、DL先通信端末装置へ送信する(ステップS24)。DL先通信端末装置は、ヒントサーバー40からDL元リストを受信すると、ユーザーが所望するコンテンツのデータを示す識別子を含むダウンロード要求データを生成する。そして、DL先通信端末装置は、DL元リストに示される識別子を列挙された順に選択し、選択された識別子のDL元装置に対し、生成されたダウンロード要求データを送信する(ステップS25)。DL先通信端末装置がダウンロード要求データを送信するDL元装置の台数は、1台であっても良いし複数台であっても良い。DL先通信端末装置が複数台にダウンロード要求データを送信する場合には、並行して送信しても良いし、タイミングをあけてシーケンシャルに送信しても良い。
【0101】
DL元装置は、ダウンロード要求データを受信すると、ダウンロード要求データに含まれる識別子が示すコンテンツのデータを読み出し、DL先通信端末装置へ送信する。DL先通信端末装置は、DL元装置からコンテンツのデータを受信し、ローカルの記憶装置に記録する(ステップS26)。
【0102】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【0103】
10…通信端末装置, 20…ルーター, 30…ピア管理サーバー, 40…ヒントサーバー, 50…最適化サーバー, 60…キャッシュ配布サーバー
【技術分野】
【0001】
本発明は、配布対象となるデータをキャッシュとしてキャッシュ配布サーバーからキャッシュ配布装置に配布し、その後にキャッシュ配布装置から通信端末装置へデータを配布する通信技術に関する。特に、キャッシュ配布装置から通信端末装置へのデータ配布をより効率良く行う事ができるように、キャッシュ配布サーバーからキャッシュを配布するキャッシュ配布装置を選択するための技術に関する。
【背景技術】
【0002】
近年、インターネットにおいてP2P(ピアツーピア:Peer To Peer)技術が進展してきている。P2P技術を用いて配布対象のデータを通信端末装置へ配布する場合には、例えば以下のように処理が行われる。まず、配布対象のデータをキャッシュとしてキャッシュ配布サーバーからキャッシュ配布装置へ配布する。通信端末装置は、まずはキャッシュ配布装置とP2P通信を行うことによって、配布対象のデータをダウンロードする。その後、通信端末装置は、キャッシュ配布サーバーとP2P通信をすることによって配布対象のデータをダウンロードすることもできるし、配布対象のデータを既にダウンロードした他の通信端末装置とP2P通信をすることによって配布対象のデータをダウンロードすることもできる。
【0003】
P2P技術は様々な長所を持つ。例えば、これまでサーバーで保持していた機能を、P2Pでは端末に分散させるため、クライアントサーバー方式と比較してサーバー負荷等を軽減できる。さらに、近隣からのダウンロードの場合は、P2Pではクライアントサーバー方式と比較して、ルーターやスイッチやケーブル等のノード・リンクにかかる負荷や、ダウンロード時間を削減することができる。さらに、近年はP4P(Provider Portal for P2P)技術が提案され、近隣からのダウンロードを誘発する仕組みが構築されつつある(非特許文献1参照)。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】Haiyong Xie, Arvind Krishnamurthy, Avi Silberschatz, and Y. Richard Yang. P4P: Explicit Communications for Cooperative Control Between P2P and Network Providers. http://www.dcia.info/documents/P4P_Overview.pdf
【発明の概要】
【発明が解決しようとする課題】
【0005】
キャッシュ配布サーバーからキャッシュ配布装置へキャッシュが配布された直後は、キャッシュ配布装置のみがコンテンツのデータを記憶している。したがって、例えばキャッシュ配布サーバーからキャッシュを配布するキャッシュ配布装置が地理的に偏ってしまうと、その後にキャッシュ配布装置から通信端末装置へコンテンツのデータを配布する際にトラフィックの増大やダウンロード時間の増大などを招いてしまう。すなわち、最初にキャッシュ配布サーバーからどのキャッシュ配布装置へキャッシュを配布するかによって、その後のコンテンツのデータ配布の効率が左右される。地理的な偏りのみならず、キャッシュの偏りは様々な要因で生じてしまう。
しかしながら、キャッシュ配布サーバーからキャッシュを配布するキャッシュ配布装置を、従来はランダムに選択していた。そのため、キャッシュ配布装置から通信端末装置へのデータ配布の効率化がなされていなかった。このようなキャッシュ配布の問題は、P2Pに限った問題ではなく、クラウドやクライアントサーバー方式などでのキャッシュの配布においても同様に生じる問題である。
【0006】
上記事情に鑑み、本発明は、キャッシュ配布装置から通信端末装置へのデータ配布をより効率良く行う事ができるように、キャッシュ配布サーバーからキャッシュを配布するキャッシュ配布装置を選択する技術を提供することを目的としている。
【課題を解決するための手段】
【0007】
本発明の第一の態様は、複数の通信装置を備え、キャッシュ配布サーバーからキャッシュ配布装置に配布されたコンテンツのデータを、前記通信装置間でピアツーピアの通信で送受信する通信システムに備えられる最適化装置であって、前記通信装置毎に、当該通信装置に対してダウンロードの要求がなされた頻度を表す値を評価パラメータとして取得し、前記頻度が高い通信装置を、前記キャッシュ配布装置として選択し、選択結果を表す最適化情報を生成する最適化情報生成部と、前記キャッシュ配布装置として選択された前記通信装置へ前記コンテンツのデータを配布する前記キャッシュ配布サーバーに対し、前記最適化情報を送信する最適化情報送信部と、を備える。
【0008】
本発明の第一の態様は、上記の最適化装置であって、前記通信システムは、前記コンテンツのデータを要求する通信装置に対して、要求された前記コンテンツのデータを送信可能な他の通信装置を通知するヒントサーバーを備え、前記最適化情報生成部は、通信装置毎に、前記ヒントサーバーによって通知された回数を、前記ヒントサーバーから前記頻度を表す値として取得し、前記通知された回数が多い通信装置を前記キャッシュ配布装置として選択する。
【0009】
本発明の第一の態様は、上記の最適化装置であって、前記最適化情報生成部は、通信装置毎に、他の通信装置からコンテンツのデータを要求された回数を、前記頻度を表す値として取得し、前記要求された回数が多い通信装置を前記キャッシュ配布装置として選択する。
【0010】
本発明の第一の態様は、上記の最適化装置であって、前記最適化情報生成部は、通信装置毎に、通信のトラフィック量を、前記頻度を表す値として取得し、前記トラフィック量が大きい通信装置を前記キャッシュ配布装置として選択する。
【0011】
本発明の第一の態様は、複数の通信装置を備え、キャッシュ配布サーバーからキャッシュ配布装置に配布されたコンテンツのデータを、前記通信装置間でピアツーピアの通信で送受信する通信システムに備えられる最適化装置が行う最適化方法であって、前記通信装置毎に、当該通信装置に対してダウンロードの要求がなされた頻度を表す値を評価パラメータとして取得するステップと、前記頻度が高い通信装置を、前記キャッシュ配布装置として選択し、選択結果を表す最適化情報を生成するステップと、前記キャッシュ配布装置として選択された前記通信装置へ前記コンテンツのデータを配布する前記キャッシュ配布サーバーに対し、前記最適化情報を送信するステップと、を有する。
【0012】
本発明の第一の態様は、複数の通信装置を備え、キャッシュ配布サーバーからキャッシュ配布装置に配布されたコンテンツのデータを、前記通信装置間でピアツーピアの通信で送受信する通信システムに備えられる最適化装置としてコンピュータを動作させるためのコンピュータプログラムであって、前記通信装置毎に、当該通信装置に対してダウンロードの要求がなされた頻度を表す値を評価パラメータとして取得するステップと、前記頻度が高い通信装置を、前記キャッシュ配布装置として選択し、選択結果を表す最適化情報を生成するステップと、前記キャッシュ配布装置として選択された前記通信装置へ前記コンテンツのデータを配布する前記キャッシュ配布サーバーに対し、前記最適化情報を送信するステップと、を前記コンピュータに実行させるためのコンピュータプログラムである。
【発明の効果】
【0013】
本発明により、キャッシュ配布装置から通信端末装置へのデータ配布をより効率良く行う事ができるように、キャッシュ配布サーバーからキャッシュを配布するキャッシュ配布装置を選択することが可能となる。
【図面の簡単な説明】
【0014】
【図1】通信システム100のシステム構成を表すシステム構成図である。
【図2】通信システム100の各装置間の処理の流れのうち、通信端末装置10がコンテンツのデータをダウンロードする際の処理を表すシーケンス図である。
【図3】通信システム100の各装置間の処理の流れのうち、キャッシュ配布サーバー60が初期キャッシュを配布する際の処理を表すシーケンス図である。
【図4】最適化サーバー50の第一実施形態の機能構成を表す概略ブロック図である。
【図5】最適化サーバー50の第二実施形態の機能構成を表す概略ブロック図である。
【図6】地域アドレス対応テーブルの概略を表す図である。
【図7】ホップ数テーブルの概略を表す図である。
【図8】最適化サーバー50の第三〜第七実施形態の機能構成を表す概略ブロック図である。
【図9】通知回数テーブルの概略を表す図である。
【図10】最適化サーバー50の第八実施形態の機能構成を表す概略ブロック図である。
【図11】通信システム100の変形例における各装置間の処理の流れのうち、通信端末装置10がコンテンツのデータをダウンロードする際の処理を表すシーケンス図である。
【発明を実施するための形態】
【0015】
図1は、通信システム100のシステム構成を表すシステム構成図である。通信システム100は、複数台の通信端末装置10(10a〜10h)を有しており、各通信端末装置10同士はリンクやノードによって互いに通信可能に接続されている。リンクやノードとは、ネットワークを構成するための要素となる装置や機器(通信要素機器)であり、例えばルーター、スイッチ、ハブ、ケーブル等である。以下の説明では、ルーターをリンクやノードの具体例として取り上げて説明を行う。
【0016】
通信システム100は、複数台の通信端末装置10の他にも、複数台のルーター20(20a〜20g)、ピア管理サーバー30、ヒントサーバー40、最適化サーバー50、キャッシュ配布サーバー60を備える。ルーター20a〜20cには、複数台の通信端末装置10が接続される。ルーター20e〜20gには、複数台のルーター20が接続される。ルーター20gには、さらにピア管理サーバー30、ヒントサーバー40、最適化サーバー50、キャッシュ配布サーバー60が接続される。また、ピア管理サーバー30にはヒントサーバー40が接続される。
【0017】
通信端末装置10は、パーソナルコンピューター、ワークステーション、サーバー、PDA、携帯電話機、通信要素機器などの通信可能な情報処理装置である。通信端末装置10は、使用者が所望するコンテンツのデータを、当該データを記憶している他の通信端末装置10又はキャッシュ配布装置から受信する。このとき、通信端末装置10は、ピア管理サーバー30もしくは書く通信端末装置10に問い合わせることによって、通信すべき相手となる他の通信端末装置10又はキャッシュ配布装置を判定する。なお、以下の説明において、コンテンツのデータを受信する側の通信端末装置10を「DL先通信端末装置」といい、コンテンツのデータを送信する側の装置(通信端末装置10又はキャッシュ配布装置)を「DL元装置」という。ヒントサーバー40は、サーバー以外に端末や、パーソナルコンピューター、ワークステーション、PDA、携帯電話機、通信要素機器などの通信可能な情報処理装置である。
【0018】
キャッシュ配布装置とは、キャッシュ配布サーバー60からコンテンツのデータを受信し記憶している装置である。キャッシュ配布装置は、例えばリンクやノードに接続された通信装置、ルーター20、通信端末装置10とルーター20との間に設置されるHGW(Home Gate Way)、通信端末装置10、サーバーなどである。キャッシュ配布サーバー60からキャッシュ配布装置が受信するコンテンツのデータを、「初期キャッシュ」という。キャッシュ配布装置は、通信端末装置10から受ける要求に応じて、自身が記憶しているコンテンツのデータ(初期キャッシュ)を通信端末装置10へ送信する。
【0019】
ルーター20は、複数台の通信端末装置10同士を通信可能に接続するネットワークの要素であり、パケットを受信し、受信されたパケットをルーティングテーブルに従って通信端末装置10、他のルーター20、ピア管理サーバー30、ヒントサーバー40、最適化サーバー50、キャッシュ配布サーバー60のいずれかへ送信する。
【0020】
ピア管理サーバー30は、通信端末装置10(DL先通信端末装置)からの問い合わせに応じて、問い合わせてきた通信端末装置10が通信すべき相手となるDL元装置のIPアドレスのリスト(以下、「DL元候補リスト」という。)を生成する。そして、ピア管理サーバー30は、ヒントサーバー40によってDL元装置の優先順位が最適化された後のリスト(以下、「DL元リスト」という。)を、問い合わせしてきた通信端末装置10に対して返信する。
【0021】
ヒントサーバー40は、ピア管理サーバー30によって生成されたDL元候補リストのDL元ピアの識別子(ピアIDやIPアドレス等)の順番を変更することによってDL元リストを生成する。ヒントサーバー40は、どのような基準に基づいてDL元ピアの識別子の順番を最適となるように変更しても良い。例えば、通信負荷が軽い順にDL元ピアの識別子の順番を変更しても良い。また、例えば機器の負荷が低い順にDL元ピアの識別子の順番を変更しても良い。また、例えば機器の性能が高い順にDL元ピアの識別子の順番を変更しても良い。
【0022】
図2は、通信システム100の各装置間の処理の流れのうち、通信端末装置10がコンテンツのデータをダウンロードする際の処理を表すシーケンス図である。DL先通信端末装置は、使用者が所望するコンテンツのデータを示す識別子(コンテンツID)を含むDL元リスト要求データを生成し、ピア管理サーバー30へ送信する(ステップS1)。ピア管理サーバー30は、DL元リスト要求データを受信すると、DL元リスト要求データに含まれる識別子が示すコンテンツを記憶しているDL元装置を検索する。なお、ピア管理サーバー30は、各DL元装置が記憶しているコンテンツのデータについての情報を収集することによって、各DL元装置と、各々が記憶するコンテンツのデータとを対応付けたテーブルを記憶している。
【0023】
次に、ピア管理サーバー30は、検索されたDL元装置のIPアドレスが列挙されたDL元候補リストを生成する(ステップS2)。そして、ピア管理サーバー30は、生成されたDL元候補リストを、ヒントサーバー40へ送信する(ステップS3)。
【0024】
ヒントサーバー40は、DL元候補リストを受信すると、DL元候補リストに含まれる複数のDL元装置のIPアドレスを所定の基準に応じて並べ替え、DL元リストを生成する(ステップS4)。そして、ヒントサーバー40は、生成されたDL元リストを、ピア管理サーバー30へ送信する(ステップS5)。ピア管理サーバー30は、ヒントサーバー40からDL元リストを受信すると、受信されたDL元リストをDL先通信端末装置へ送信する(ステップS6)。
【0025】
DL先通信端末装置は、ピア管理サーバー30からDL元リストを受信すると、ユーザーが所望するコンテンツのデータを示す識別子を含むダウンロード要求データを生成する。そして、DL先通信端末装置は、DL元リストに示されるIPアドレスを列挙された順に選択し、選択されたIPアドレスのDL元装置に対し、生成されたダウンロード要求データを送信する(ステップS7)。DL先通信端末装置がダウンロード要求データを送信するDL元装置の台数は、1台であっても良いし複数台であっても良い。DL先通信端末装置が複数台にダウンロード要求データを送信する場合には、並行して送信しても良いし、タイミングをあけてシーケンシャルに送信しても良い。
【0026】
DL元装置は、ダウンロード要求データを受信すると、ダウンロード要求データに含まれる識別子が示すコンテンツのデータを読み出し、DL先通信端末装置へ送信する。DL先通信端末装置は、DL元装置からコンテンツのデータを受信し、ローカルの記憶装置に記録する(ステップS8)。その後、コンテンツのデータを受信したDL先通信端末装置は、ピア管理サーバー30に対して自身が記憶しているコンテンツのデータを通知することにより、このコンテンツのデータのDL元装置の候補の一つとなる。
【0027】
図3は、通信システム100の各装置間の処理の流れのうち、キャッシュ配布サーバー60が初期キャッシュを配布する際の処理を表すシーケンス図である。所定のタイミングで、最適化サーバー50がフィードバック情報の収集を行う。例えば、最適化サーバー50は、ヒントサーバー40、キャッシュ配布装置、通信端末装置10に対し、フィードバック情報の要求を送信する(ステップS11)。ヒントサーバー40、キャッシュ配布装置、通信端末装置10は、フィードバック情報の要求を受信すると、この要求に応じてフィードバック情報を最適化サーバー50に送信する(ステップS12)。なお、このフィードバック情報を送信する機器は、通信要素機器などいずれの機器でも良い。最適化サーバー50は、各装置から受信したフィードバック情報に基づいてキャッシュ配布の最適化処理を行う(ステップS13)。最適化処理では、最適化サーバー50はフィードバック情報に基づいてDL元装置毎に評価パラメータを取得し、評価パラメータにしたがってDL元装置に順位付けする。そして、最適化サーバー50は、順位付けされたDL元装置のうち、評価の高いものから所定数のDL元装置をキャッシュの配布先(キャッシュ配布装置)として選択する。最適化サーバー50は、選択したDL元装置を表す情報を最適化情報として生成する。最適化サーバー50は、最適化処理の結果として得られる最適化情報をキャッシュ配布サーバー60に通知する(ステップS14)。キャッシュ配布サーバー60は、次回の初期キャッシュ配布時に、最適化情報に基づいて初期キャッシュを配布する(ステップS15)。
【0028】
次に、図2に示される処理と図3に示される処理との関係について説明する。図2の処理は、DL先通信端末装置からDL元リスト要求が送信される度に生じる。図3の処理は、所定のタイミング(最適化処理を行うタイミング)が到来する度に生じる。
図3の処理が完了した時点では、図3のステップS15の処理で配布されたコンテンツのデータは、初期キャッシュとしてのみ存在する。すなわち、この時点では、キャッシュ配布装置のみが、図3ステップS15の処理で配布されたコンテンツのデータを記憶している。このようなコンテンツのデータのダウンロードが要求される場合には、図2ステップS6でDL先通信端末装置に返送されるDL元リストには、キャッシュ配布装置のIPアドレスのみが掲載されている。そのため、DL先通信端末装置は、図2ステップS7の処理において、キャッシュ配布装置に対してコンテンツのダウンロード要求を送信する。図2ステップS8の処理によってコンテンツのデータをキャッシュ配布装置から受信した通信端末装置10は、ヒントサーバー40に対してその旨を通知する。その後、キャッシュ配布装置からコンテンツのデータを受信した通信端末装置10は、キャッシュ配布装置以外のDL元装置となる。そのため、その後は、キャッシュ配布装置以外の通信端末装置10がDL元リストに掲載される可能性が生じる。
【0029】
また、図2に示される処理が行われることによって、ヒントサーバー40、キャッシュ配布装置、通信端末装置10が、それぞれ通信のログを蓄積する。ヒントサーバー40、キャッシュ配布装置、通信端末装置10は、図2の処理の実行によって蓄積したログに基づいてフィードバック情報を生成し、図3ステップS12の処理を行う際に、最適化サーバー50へ送信する。
以下、最適化サーバー50の構成について複数の実施形態を説明する。なお、各装置が生成するフィードバック情報の内容は、最適化サーバー50の構成に応じて変化する。そのため、各実施形態に応じたフィードバック情報についても説明する。
【0030】
[第一実施形態]
第一実施形態では、通信システム100において、各装置のIPアドレスの値が近いほど実際に各装置が設置されている物理的距離が近くなるように、IPアドレスの付与ルールが設定されていることを前提とする。
【0031】
図4は、最適化サーバー50の第一実施形態の機能構成を表す概略ブロック図である。第一実施形態における最適化サーバー50(50a)は、バスで接続されたCPU(Central Processing Unit)やメモリや補助記憶装置などを備え、最適化サーバープログラムを実行することによって送受信部501、最適化情報生成部502を備える装置として機能する。
【0032】
送受信部501は、ネットワークインターフェース等の通信装置を用いて構成され、ルーター20gとデータの送受信を行う。具体的には、送受信部501はルーター20gからフィードバック情報を受信し、ルーター20gを介してキャッシュ配布サーバー60に最適化情報を送信する。
【0033】
第一実施形態におけるフィードバック情報は、各通信端末装置10によって生成される。第一実施形態の最適化サーバー50aとともに通信システム100に設置される通信端末装置10は、通信ログ記憶部と、通信ログ管理部とを備える。通信ログ記憶部は、通信ログテーブルを記憶する。通信ログテーブルは、自装置(通信端末装置10)がデータのダウンロードを行った際の通信相手となったDL元装置のIPアドレスを蓄積したテーブルである。
【0034】
通信ログ管理部は、自装置がDL元装置からコンテンツのデータをダウンロードする度に、通信相手となったDL元装置のIPアドレスを通信ログテーブルに記録する。通信ログ管理部は、フィードバック情報の要求を受信すると、その時点の通信ログテーブル及び自装置のIPアドレスを含むフィードバック情報を生成し、最適化サーバー50aに送信する。通信ログテーブル管理部は、フィードバック情報を送信すると、通信ログテーブルを初期化し、DL元装置の識別子を削除し、処理を継続する。
【0035】
最適化情報生成部502は、送受信部501を介してフィードバック情報を受信する。第一実施形態におけるフィードバック情報には、上述したように、各通信端末装置10において発生したコンテンツのデータの各通信について、DL元装置のIPアドレスが含まれる。したがって、最適化情報生成部502は、フィードバック情報に基づいて、通信システム100において発生した各通信のDL先通信端末装置のIPアドレス及びDL元装置のIPアドレスとの組合せを取得できる。最適化情報生成部502は、各通信におけるDL先通信端末装置及びDL元装置のIPアドレスを比較することによって最適化情報を生成する。
【0036】
具体的には以下の通りである。最適化情報生成部502は、DL元装置のIPアドレスの各桁の数値と、DL先通信端末装置のIPアドレスの各桁の数値とを桁数の高い方から比較する。例えばIPアドレスが“192.168.123.456”である場合には、“192”の“1”が最も高い桁数となり、“456”の“6”が最も低い桁数となる。そして、最適化情報生成部502は、最も高い桁数から連続して値が一致した桁数(以下、「一致桁数」という。)をカウントする。例えば、“192.168.100.456”と“192.168.123.456”とを比較した場合には、最も高い桁数から連続して一致した値は“192.168.1”までであり、一致桁数は7となる。
【0037】
最適化情報生成部502は、各通信におけるDL先通信端末装置及びDL元装置のIPアドレスの組合せ毎に、上記のようにIPアドレスの比較を行い、一致桁数を取得する。最適化情報生成部502は、DL元装置毎に、その装置において発生した通信の一致桁数の平均値(評価パラメータ)を算出する。そして、最適化情報生成部502は、平均値が低い順にDL元装置を並べる。最適化情報生成部502は、平均値が低い方から所定数のDL元装置を、初期キャッシュの配布先(キャッシュ配布装置)として選択する。最適化情報生成部502は、選択結果を表す最適化情報を生成する。
【0038】
このように構成された最適化サーバー50aによれば、DL先通信端末装置に対する通信のホップ数の平均値が少ないDL元装置から順に、初期キャッシュの配布先(キャッシュ配布装置)として選択される。そして、キャッシュ配布サーバー60は、この選択結果に従ってコンテンツのデータの初期キャッシュを配布する。そのため、DL先通信端末装置に対する通信におけるホップ数が少ないDL元装置に対して初期キャッシュが配布される。したがって、DL先通信端末装置とDL元通信端末装置との間で発生する通信のホップ数を全体的に小さく抑えることが可能となり、通信システム100全体の通信の効率化を図ることが可能となる。そのため、DL先通信端末装置とDL元装置との間の通信においてダウンロード時間の短縮やネットワークトラフィック量を削減することが可能となる。また、ネットワークトラフィック量の削減により、ネットワーク設備設置の初期投資コストや消費電力を削減することが可能となる。また、一つのダウンロード要求に応じるために要するダウンロード時間やネットワークトラフィック量が削減されるため、初期キャッシュが配布された直後にそのコンテンツに対するダウンロード要求が急増しても、各ダウンロード要求に対して応答することが可能となる。
なお、ホップ数とは、通信を行う際に経由するリンクやノードの数を表し、例えば通信を行う際に経由するルーター20の数を表す。
【0039】
<変形例>
通信端末装置10の通信ログ管理部がフィードバック情報を生成する具体的な処理は、上述した処理に限定されない。例えば、通信ログ管理部は、過去のフィードバック情報にどの通信ログの情報を含めたかを記憶してもよい。この場合、通信ログ管理部は、フィードバック情報の要求を受信した場合に、通信ログテーブルの情報のうち、未だフィードバック情報に含められていない通信ログの情報によってフィードバック情報を生成しても良い。例えば、通信ログ管理部は、フィードバック情報の要求を受信した場合に、通信ログテーブルの情報のうち、その時点を起点として所定の期間内に記録された通信ログの情報によってフィードバック情報を生成しても良い。
【0040】
DL元候補リストは、ピア管理サーバー30を使用せずに、通信端末装置10同士が互いに問い合わせあうことで生成されても良い。この場合、通信端末装置10は、ヒントサーバー40に、DL元装置の優先順位の最適化を直接依頼し、その最適化後のリストをヒントサーバー40から受信する。なお、この時、ヒントサーバー40を用いてDL元リストを最適化させなくても良く、ヒントサーバー40とDL元候補リストを送受信する手順がなくてもよい。
【0041】
平均値の代わりに合計値を用いても良い。ここで、例えば次の式からネットワークトラフィック量を算出して、ネットワークトラフィック量のDL元装置毎の平均値・合計値が低い順にDL元装置を並べても良い。
ネットワークトラフィック量=(DL先通信端末装置が受信したトラフィック量)×(DL先通信装置とDL元装置との間に経由したホップ数)
【0042】
[第二実施形態]
第二実施形態では、通信システム100において、各装置が設置されている地域に応じて、予め決められたエリア識別子が各装置に対して付与されていることを前提とする。エリア識別子として、各装置のIPアドレスのネットワークアドレスが用いられても良いし、都道府県・市町村・区などを表す住所情報が用いられても良い。また、通信端末装置10に関しては、エリア識別子として、各通信端末装置10が接続されている基地局装置の識別情報が用いられても良いし、電話番号が用いられても良い。以下の説明では、エリア識別子としてネットワークアドレスが用いられる場合を例に説明する。すなわち、以下の例では、ある装置に対して割り当てられているIPアドレスのネットワークアドレスを参照することによって、その装置が設置されている地域が一意に特定できるように通信システム100が設計されていることが前提となる。
【0043】
図5は、最適化サーバー50の第二実施形態の機能構成を表す概略ブロック図である。第二実施形態における最適化サーバー50(50b)は、バスで接続されたCPUやメモリや補助記憶装置などを備え、最適化サーバープログラムを実行することによって送受信部511、最適化情報生成部512、ホップ数記憶部513、地域記憶部514を備える装置として機能する。
【0044】
送受信部511は、ネットワークインターフェース等の通信装置を用いて構成され、ルーター20gとデータの送受信を行う。具体的には、送受信部511はルーター20gからフィードバック情報を受信し、ルーター20gを介してキャッシュ配布サーバー60に最適化情報を送信する。
【0045】
第二実施形態におけるフィードバック情報は、第一実施形態におけるフィードバック情報と同じである。したがって、第二実施形態の最適化サーバー50bとともに通信システム100に設置される通信端末装置10は、第一実施形態の最適化サーバー50aとともに通信システム100に設置される通信端末装置10と同様に構成される。
【0046】
地域記憶部514は、地域アドレス対応テーブルを記憶する。図6は、地域アドレス対応テーブルの概略を表す図である。地域アドレス対応テーブルは、ネットワークアドレスと、各ネットワークアドレスに含まれるIPアドレスの装置が設置されている都道府県(地域)とを対応付けて有する。なお、図6では、地域の具体例として都道府県単位が用いられているが、国単位、地方単位、市町村単位、基地局装置単位などのように、地域としてどのような大きさの単位が用いられても良い。
【0047】
ホップ数記憶部513は、ホップ数テーブルを記憶する。図7は、ホップ数テーブルの概略を表す図である。ホップ数テーブルは、DL元県とDL先県とホップ数とを対応付けて有する。DL元県は、DL元装置が設置されている地域を表す。DL先県は、DL先通信端末装置が設置されている地域を表す。ホップ数は、DL元県とDL先県との間で通信を行う際のホップ数を表す。
【0048】
地域アドレス対応テーブルの値、及びホップ数テーブルの値は、最適化サーバー50bの管理者によって予め設定されている。
最適化情報生成部512は、送受信部511を介してフィードバック情報を受信する。第二実施形態におけるフィードバック情報には、上述したように、各通信端末装置10において発生したコンテンツのデータの各通信について、DL元装置のIPアドレスが含まれる。したがって、最適化情報生成部512は、フィードバック情報に基づいて、通信システム100において発生した各通信のDL先通信端末装置のIPアドレス及びDL元装置のIPアドレスとの組合せを取得できる。最適化情報生成部512は、地域アドレス対応テーブル及びホップ数テーブルの内容に基づいて、各通信に要したホップ数を取得することによって最適化情報を生成する。
【0049】
具体的には以下の通りである。最適化情報生成部512は、DL先通信端末装置及びDL元装置のIPアドレスについて、地域アドレス対応テーブルを参照することによって、対応する地域を検出する。次に、最適化情報生成部512は、ホップ数テーブルを参照することによって、DL元装置が設置された地域からDL先通信端末装置が設置された地域までのホップ数を通信毎に検出する。最適化情報生成部512は、DL元装置毎に、その装置において発生した通信のホップ数の平均値(評価パラメータ)を算出する。そして、最適化情報生成部512は、平均値が低い順にDL元装置を並べる。最適化情報生成部512は、平均値が低い方から所定数のDL元装置を、初期キャッシュの配布先として選択する。最適化情報生成部512は、選択結果を表す最適化情報を生成する。
【0050】
このように構成された最適化サーバー50bによれば、DL先通信端末装置に対する通信のホップ数の平均値が少ないDL元装置から順に、初期キャッシュの配布先(キャッシュ配布装置)として選択される。そして、キャッシュ配布サーバー60は、この選択結果に従ってコンテンツのデータの初期キャッシュを配布する。そのため、DL先通信端末装置に対する通信におけるホップ数が少ないDL元装置に対して初期キャッシュが配布される。したがって、DL先通信端末装置とDL元通信端末装置との間で発生する通信のホップ数を全体的に小さく抑えることが可能となり、通信システム100全体の通信の効率化を図ることが可能となる。そのため、DL先通信端末装置とDL元装置との間の通信においてダウンロード時間の短縮やネットワークトラフィック量を削減することが可能となる。また、ネットワークトラフィック量の削減により、ネットワーク設備設置の初期投資コストや消費電力を削減することが可能となる。また、一つのダウンロード要求に応じるために要するダウンロード時間やネットワークトラフィック量が削減されるため、初期キャッシュが配布された直後にそのコンテンツに対するダウンロード要求が急増しても、各ダウンロード要求に対して応答することが可能となる。
【0051】
<変形例>
平均値の代わりに合計値を用いても良い。ここで、例えば次の式からネットワークトラフィック量を算出して、ネットワークトラフィック量のDL元装置毎の平均値・合計値が低い順にDL元装置を並べても良い。
ネットワークトラフィック量=(DL先通信端末装置が受信したトラフィック量)×(DL先通信装置とDL元装置との間に経由したホップ数)
【0052】
[第三実施形態]
図8は、最適化サーバー50の第三〜第七実施形態の機能構成を表す概略ブロック図である。最適化サーバー50の第三〜第七実施形態の機能構成は、図示されるように形式的には一致するため、記載の簡略化のために一つの図として表す。第三実施形態における最適化サーバー50(50c)は、バスで接続されたCPUやメモリや補助記憶装置などを備え、最適化サーバープログラムを実行することによって送受信部521、最適化情報生成部522を備える装置として機能する。
【0053】
送受信部521は、ネットワークインターフェース等の通信装置を用いて構成され、ルーター20gとデータの送受信を行う。具体的には、送受信部521はルーター20gからフィードバック情報を受信し、ルーター20gを介してキャッシュ配布サーバー60に最適化情報を送信する。
【0054】
第三実施形態におけるフィードバック情報は、ヒントサーバー40によって生成される。第三実施形態の最適化サーバー50cとともに通信システム100に設置されるヒントサーバー40は、通知回数記憶部と、通知回数管理部とを備える。通知回数記憶部は、通知回数テーブルを記憶する。図9は、通知回数テーブルの概略を表す図である。通知回数テーブルは、DL元装置識別子と通知回数との組合せをDL元装置毎に有する。DL元装置識別子は、各DL元装置を表す識別子であり、例えばIPアドレスである。以下の説明では、DL元装置識別子がIPアドレスである場合の構成について説明する。通知回数は、各DL元装置が、ヒントサーバー40によってDL元リストに掲載された回数である。すなわち、通知回数は、各DL元装置がダウンロード要求の送信先の候補としてDL先通信端末装置に通知された回数である。そのため、通知回数が多いほど、そのDL元装置に対するダウンロード要求(ニーズ)が高いと判断できる。
【0055】
通知回数管理部は、ヒントサーバー40によって生成されたDL元リストの内容に基づいて、通知回数テーブルの内容を更新する。具体的には、通知回数管理部は、ヒントサーバー40によって生成されたDL元リストに含まれているIPアドレスを読み出し、通知回数テーブルにおいて、読み出されたIPアドレスに対応する通知回数をインクリメントする。通知回数管理部は、フィードバック情報の要求を受信すると、その時点の通知回数テーブルの内容を表すフィードバック情報を生成し、最適化サーバー50cに送信する。通知回数管理部は、設定で定めた時間が来たタイミングで、通知回数テーブルの内容を初期化し、全ての通知回数をゼロに戻し、処理を継続する。
【0056】
最適化情報生成部522は、送受信部521を介してフィードバック情報を受信する。フィードバック情報は、上述したように通知回数テーブルの内容を表す。最適化情報生成部522は、通知回数テーブルの内容に基づいて最適化情報を生成する。
具体的には以下の通りである。最適化情報生成部522は、フィードバック情報に基づいて、DL元装置毎の通知回数(評価パラメータ)を取得する。最適化情報生成部522は、通知回数が多い順にDL元装置を並べる。最適化情報生成部522は、通知回数が多い方から所定数のDL元装置を、初期キャッシュの配布先(キャッシュ配布装置)として選択する。最適化情報生成部522は、選択結果を表す最適化情報を生成する。
【0057】
このように構成された最適化サーバー50cによれば、所定時間内にDL元リストとして通知された回数が多いDL元装置から順に、初期キャッシュの配布先(キャッシュ配布装置)として選択される。そして、キャッシュ配布サーバー60は、この選択結果に従ってコンテンツのデータの初期キャッシュを配布する。そのため、コンテンツのダウンロード要求が送信される頻度の高いDL元装置、すなわちニーズの高いDL元装置に対して優先的に初期キャッシュを配布することが可能となる。そのため、ニーズの多い地域のDL元装置に対して初期キャッシュが配布されるため、DL先通信端末装置との間の通信においてダウンロード時間の短縮やネットワークトラフィック量を削減することが可能となる。また、ネットワークトラフィック量の削減により、ネットワーク設備設置の初期投資コストや消費電力を削減することが可能となる。また、一つのダウンロード要求に応じるために要するダウンロード時間やネットワークトラフィック量が削減されるため、初期キャッシュが配布された直後にそのコンテンツに対するダウンロード要求が急増しても、各ダウンロード要求に対して応答することが可能となる。
【0058】
また、第三実施形態では、最適化サーバー50cは、ヒントサーバー40のみにフィードバック情報の要求を送信する。そのため、最適化サーバー50cが複数のDL元装置に対してフィードバック情報の要求を送信する場合に比べて、ネットワークトラフィック量を削減し、フィードバック情報の収集に要する時間を短縮することが可能となる。
【0059】
<変形例>
ヒントサーバー40は、通知回数テーブルを記憶せずに、各DL元装置をどの時刻にDL元リストに掲載したかを示すログ情報を蓄積するように構成されても良い。この場合、ヒントサーバー40は、所定のタイミング毎に、所定の期間のログ情報(例えば、前回のフィードバック情報通知から現在に至るまでのログ情報)をフィードバック情報として最適化サーバー50cに通知しても良い。この場合、最適化サーバー50cの最適化情報生成部522は、フィードバック情報に基づいて、DL元装置毎にDL元リストに掲載された回数を計数し、最適化情報を生成しても良い。
最適化情報生成部522は、通知回数の平均値ではなく、通知回数の合計値を算出して処理を行っても良い。
【0060】
[第四実施形態]
図8を用いて最適化サーバー50の第四実施形態の機能構成について説明する。第四実施形態における最適化サーバー50(50d)は、バスで接続されたCPUやメモリや補助記憶装置などを備え、最適化サーバープログラムを実行することによって送受信部531、最適化情報生成部532を備える装置として機能する。
【0061】
送受信部531は、ネットワークインターフェース等の通信装置を用いて構成され、ルーター20gとデータの送受信を行う。具体的には、送受信部531はルーター20gからフィードバック情報を受信し、ルーター20gを介してキャッシュ配布サーバー60に最適化情報を送信する。
【0062】
第四実施形態におけるフィードバック情報は、各DL元装置によって生成される。第四実施形態の最適化サーバー50dとともに通信システム100に設置されるDL元装置は、要求回数記憶部と、要求回数管理部とを備える。要求回数記憶部は、要求回数を記憶する。要求回数は、そのDL元装置が、DL先通信端末装置からコンテンツのダウンロード要求を受信した回数である。そのため、要求回数が多いほど、そのDL元装置に対するダウンロード要求(ニーズ)が高いと判断できる。
【0063】
要求回数管理部は、DL先通信端末装置からダウンロード要求を受信する度に、要求回数記憶部に記憶される要求回数を更新する。具体的には、要求回数管理部は、ダウンロード要求を受信する度に要求回数をインクリメントする。要求回数管理部は、フィードバック情報の要求を受信すると、その時点の要求回数を表すフィードバック情報を生成し、最適化サーバー50dに送信する。要求回数管理部は、設定で定めた所定時の時間になると要求回数を初期化し、要求回数をゼロに戻し、処理を継続する。
【0064】
最適化情報生成部532は、送受信部531を介してフィードバック情報を受信する。フィードバック情報は、上述したように、各DL元装置の要求回数を表す。最適化情報生成部532は、各DL元装置の要求回数に基づいて最適化情報を生成する。
具体的には以下の通りである。最適化情報生成部532は、フィードバック情報に基づいて、DL元装置毎の要求回数(評価パラメータ)を取得する。最適化情報生成部532は、要求回数が多い順にDL元装置を並べる。最適化情報生成部532は、要求回数が多い方から所定数のDL元装置を、初期キャッシュの配布先(キャッシュ配布装置)として選択する。最適化情報生成部532は、選択結果を表す最適化情報を生成する。
【0065】
このように構成された最適化サーバー50dによれば、所定時間内にダウンロード要求を受信した回数が多いDL元装置から順に、初期キャッシュの配布先(キャッシュ配布装置)として選択される。そして、キャッシュ配布サーバー60は、この選択結果に従ってコンテンツのデータの初期キャッシュを配布する。そのため、コンテンツのダウンロード要求が送信される頻度の高いDL元装置、すなわちニーズの高いDL元装置に対して優先的に初期キャッシュを配布することが可能となる。そのため、ニーズの多い地域のDL元装置に対して初期キャッシュが配布されるため、DL先通信端末装置との間の通信においてダウンロード時間の短縮やネットワークトラフィック量を削減することが可能となる。また、ネットワークトラフィック量の削減により、ネットワーク設備設置の初期投資コストや消費電力を削減することが可能となる。また、一つのダウンロード要求に応じるために要するダウンロード時間やネットワークトラフィック量が削減されるため、初期キャッシュが配布された直後にそのコンテンツに対するダウンロード要求が急増しても、各ダウンロード要求に対して応答することが可能となる。
【0066】
また、第四実施形態では、最適化サーバー50dは、実際にダウンロード要求が受信された情報をフィードバック情報として収集する。そのため、上述した第三実施形態に比べて、より正確に各DL元装置に対するニーズを把握し、より適格に初期キャッシュの配布先を選択することが可能となる。
【0067】
[第五実施形態]
図8を用いて最適化サーバー50の第五実施形態の機能構成について説明する。第五実施形態における最適化サーバー50(50e)は、バスで接続されたCPUやメモリや補助記憶装置などを備え、最適化サーバープログラムを実行することによって送受信部541、最適化情報生成部542を備える装置として機能する。
【0068】
送受信部541は、ネットワークインターフェース等の通信装置を用いて構成され、ルーター20gとデータの送受信を行う。具体的には、送受信部541はルーター20gからフィードバック情報を受信し、ルーター20gを介してキャッシュ配布サーバー60に最適化情報を送信する。
【0069】
第五実施形態におけるフィードバック情報は、各DL元装置によって生成される。第五実施形態の最適化サーバー50eとともに通信システム100に設置されるDL元装置は、トラフィック量記憶部と、トラフィック量管理部とを備える。トラフィック量記憶部は、トラフィック量を記憶する。トラフィック量は、そのDL元装置において生じた通信のトラフィック量である。そのため、トラフィック量が大きいほど、そのDL元装置に対するダウンロード要求(ニーズ)が高いと判断できる。
【0070】
トラフィック量管理部は、自装置が通信でデータを送信又は受信する度に、トラフィック量記憶部に記憶されるトラフィック量を更新する。トラフィック量管理部は、フィードバック情報の要求を受信すると、その時点のトラフィック量を表すフィードバック情報を生成し、最適化サーバー50eに送信する。トラフィック量管理部は、設定で定めた所定の時間が経過すると、トラフィック量を初期化し、トラフィック量をゼロに戻し、処理を継続する。
【0071】
最適化情報生成部542は、送受信部541を介してフィードバック情報を受信する。フィードバック情報は、上述したように、各DL元装置のトラフィック量を表す。最適化情報生成部542は、各DL元装置のトラフィック量に基づいて最適化情報を生成する。
具体的には以下の通りである。最適化情報生成部542は、フィードバック情報に基づいて、DL元装置毎のトラフィック量(評価パラメータ)を取得する。最適化情報生成部542は、トラフィック量が大きい順にDL元装置を並べる。最適化情報生成部542は、トラフィック量が大きい方から所定数のDL元装置を、初期キャッシュの配布先(キャッシュ配布装置)として選択する。最適化情報生成部542は、選択結果を表す最適化情報を生成する。
【0072】
このように構成された最適化サーバー50eによれば、所定時間内のトラフィック量が大きいDL元装置から順に、初期キャッシュの配布先(キャッシュ配布装置)として選択される。そして、キャッシュ配布サーバー60は、この選択結果に従ってコンテンツのデータの初期キャッシュを配布する。そのため、コンテンツのトラフィック量の大きいDL元装置、すなわちニーズの高いDL元装置に対して優先的に初期キャッシュを配布することが可能となる。そのため、ニーズの多い地域のDL元装置に対して初期キャッシュが配布されるため、DL先通信端末装置との間の通信においてダウンロード時間の短縮やネットワークトラフィック量を削減することが可能となる。また、ネットワークトラフィック量の削減により、ネットワーク設備設置の初期投資コストや消費電力を削減することが可能となる。また、一つのダウンロード要求に応じるために要するダウンロード時間やネットワークトラフィック量が削減されるため、初期キャッシュが配布された直後にそのコンテンツに対するダウンロード要求が急増しても、各ダウンロード要求に対して応答することが可能となる。
【0073】
[第六実施形態]
図8を用いて最適化サーバー50の第六実施形態の機能構成について説明する。第六実施形態における最適化サーバー50(50f)は、バスで接続されたCPUやメモリや補助記憶装置などを備え、最適化サーバープログラムを実行することによって送受信部551、最適化情報生成部552を備える装置として機能する。
【0074】
送受信部551は、ネットワークインターフェース等の通信装置を用いて構成され、ルーター20gとデータの送受信を行う。具体的には、送受信部551はルーター20gからフィードバック情報を受信し、ルーター20gを介してキャッシュ配布サーバー60に最適化情報を送信する。
【0075】
第六実施形態におけるフィードバック情報は、各DL元装置によって生成される。第六実施形態の最適化サーバー50fとともに通信システム100に設置されるDL元装置は、機器情報管理部を備える。機器情報管理部は、フィードバック情報の要求を受信すると、その時点の自装置のハードウェアに関する情報(機器情報)を表すフィードバック情報を生成し、最適化サーバー50fに送信する。機器情報の具体例として、CPUの稼働率、空きメモリ容量、CPUの性能値、メモリの全体の容量などがある。
【0076】
最適化情報生成部552は、送受信部551を介してフィードバック情報を受信する。フィードバック情報は、上述したように、各DL元装置の機器情報を表す。最適化情報生成部552は、各DL元装置の機器情報に基づいて最適化情報を生成する。
具体的には以下の通りである。最適化情報生成部552は、フィードバック情報に基づいて、DL元装置毎の性能評価値(評価パラメータ)を取得する。性能評価値とは、機器情報に応じて得られる値であり、各DL元装置のハードウェア性能の高低を数値で表したものである。性能評価値は、例えばCPUの使用率や空きメモリ容量や帯域などの値そのものであっても良いし、各値を正規化したものであっても良いし、複数の値に所定の加重を掛けて足した値(合計値)であっても良いし、各値の平均値であっても良い。性能評価値は、その値が高いほど、ハードウェア性能が高いことを示す。したがって、CPU使用率やメモリ使用率のようにその値が低いほどハードウェア性能が高いことを示すような機器情報に関しては、その逆数を算出したり、後述する式3と同様の式を用いること等によって性能評価値を算出する必要がある。最適化情報生成部552は、性能評価値が高い順にDL元装置を並べる。最適化情報生成部552は、性能評価値が高い方から所定数のDL元装置を、初期キャッシュの配布先(キャッシュ配布装置)として選択する。最適化情報生成部552は、選択結果を表す最適化情報を生成する。
【0077】
このように構成された最適化サーバー50fによれば、所定時間毎に機器の性能が高いDL元装置から順に、初期キャッシュの配布先(キャッシュ配布装置)として選択される。そして、キャッシュ配布サーバー60は、この選択結果に従ってコンテンツのデータの初期キャッシュを配布する。そのため、性能が高いDL元装置に対して優先的に初期キャッシュを配布することが可能となる。そのため、性能の高いDL元装置に対して初期キャッシュが配布されるため、DL先通信端末装置との間の通信においてダウンロード時間を短縮することが可能となる。また、一つのダウンロード要求に応じるために要するダウンロード時間短縮されるため、初期キャッシュが配布された直後にそのコンテンツに対するダウンロード要求が急増しても、各ダウンロード要求に対して応答することが可能となる。
【0078】
[第七実施形態]
図8を用いて最適化サーバー50の第七実施形態の機能構成について説明する。第七実施形態における最適化サーバー50(50g)は、バスで接続されたCPUやメモリや補助記憶装置などを備え、最適化サーバープログラムを実行することによって送受信部561、最適化情報生成部562を備える装置として機能する。
【0079】
送受信部561は、ネットワークインターフェース等の通信装置を用いて構成され、ルーター20gとデータの送受信を行う。具体的には、送受信部561はルーター20gからフィードバック情報を受信し、ルーター20gを介してキャッシュ配布サーバー60に最適化情報を送信する。
【0080】
第七実施形態におけるフィードバック情報は、通信端末装置10によって生成される。第七実施形態の最適化サーバー50gとともに通信システム100に設置される通信端末装置10は、DL時間記憶部と、DL時間測定部とを備える。DL時間記憶部は、DL時間テーブルを記憶する。DL時間テーブルは、DL元装置識別子とDL時間との組合せを発生した通信毎に有する。DL時間は、通信端末装置10が、DL元装置からコンテンツのデータをダウンロードする際に要した通信時間である。
【0081】
DL時間測定部は、自装置がDL元装置からコンテンツのデータをダウンロードする度に、ダウンロードに要した時間を測定する。DL時間測定部は、測定した時間を、通信相手となったDL元装置の識別子と対応付けて新たなレコードとして記録することによって、DL時間記憶部に記憶されるDL時間テーブルを更新する。DL時間測定部は、フィードバック情報の要求を受信すると、その時点のDL時間テーブルを表すフィードバック情報を生成し、最適化サーバー50fに送信する。DL時間測定部は、フィードバック情報を送信すると、DL時間テーブルを初期化し、処理を継続する。
【0082】
最適化情報生成部562は、送受信部561を介してフィードバック情報を受信する。フィードバック情報は、上述したように、通信システム100において発生した各通信のDL元装置と、その通信に要した時間(DL時間)とを表す。最適化情報生成部562は、各DL元装置のDL時間に基づいて最適化情報を生成する。
具体的には以下の通りである。最適化情報生成部562は、収集された複数のフィードバック情報に基づいて、DL元装置毎にDL時間の平均値(評価パラメータ)を算出する。DL時間の平均値は、一つの通信に要した時間の平均値を示す。最適化情報生成部562は、DL時間の平均値が短い順にDL元装置を並べる。最適化情報生成部562は、DL時間の平均値が短い方から所定数のDL元装置を、初期キャッシュの配布先(キャッシュ配布装置)として選択する。最適化情報生成部562は、選択結果を表す最適化情報を生成する。
【0083】
このように構成された最適化サーバー50fによれば、DL時間の平均値が短いDL元装置から順に、初期キャッシュの配布先(キャッシュ配布装置)として選択される。そして、キャッシュ配布サーバー60は、この選択結果に従ってコンテンツのデータの初期キャッシュを配布する。そのため、DL時間の平均値が短いDL元装置、すなわちコンテンツのダウンロードに要する時間が短いDL元装置に対して優先的に初期キャッシュを配布することが可能となる。そのため、DL先通信端末装置との間の通信においてダウンロード時間を短縮することが可能となる。また、一つのダウンロード要求に応じるために要するダウンロード時間が短縮されるため、初期キャッシュが配布された直後にそのコンテンツに対するダウンロード要求が急増しても、各ダウンロード要求に対して応答することが可能となる。
【0084】
[第八実施形態]
図10は、最適化サーバー50の第八実施形態の機能構成を表す概略ブロック図である。第八実施形態における最適化サーバー50(50h)は、バスで接続されたCPUやメモリや補助記憶装置などを備え、最適化サーバープログラムを実行することによって送受信部571、最適化情報生成部572、ホップ数記憶部513、地域記憶部514を備える装置として機能する。なお、ホップ数記憶部513及び地域記憶部514は、第二実施形態における同名の構成と同じであるため説明を省略する。
【0085】
送受信部571は、ネットワークインターフェース等の通信装置を用いて構成され、ルーター20gとデータの送受信を行う。具体的には、送受信部571はルーター20gからフィードバック情報を受信し、ルーター20gを介してキャッシュ配布サーバー60に最適化情報を送信する。
【0086】
第八実施形態におけるフィードバック情報は、第一実施形態〜第七実施形態における全てのフィードバック情報を含めた情報である。したがって、第八実施形態の最適化サーバー50hとともに通信システム100に設置される各装置は、上記のようなフィードバック情報を送信できるように、第一実施形態〜第七実施形態において説明した各構成を備える。
【0087】
最適化情報生成部572は、第一実施形態〜第七実施形態における各処理を行うことによって、DL元装置毎に複数の評価パラメータを取得する。最適化情報生成部572は、複数の評価パラメータに基づいてDL元装置毎に統合評価パラメータを算出する。そして、最適化情報生成部572は、統合評価パラメータが高い順にDL元装置を並べる。統合評価パラメータの値は、算出に用いられた各評価パラメータの値における評価が高いほど、高い値をとる。最適化情報生成部572は、平均値が高い方から所定数のDL元装置を、初期キャッシュの配布先(キャッシュ配布装置)として選択する。最適化情報生成部572は、選択結果を表す最適化情報を生成する。
【0088】
統合評価パラメータの算出方法の具体例について説明する。最適化情報生成部572は、予め評価パラメータ毎に定められた加重値aを記憶している。最適化情報生成部572は、以下に示す式1を用いて、統合評価パラメータτを算出する。
【0089】
【数1】
【0090】
式1において、iは評価パラメータの種類を表し、aiは評価パラメータ毎の加重値を表し、Riは評価パラメータ毎の正規化数値を表し、nは評価パラメータの種類の数を表す。正規化数値は、以下に示す式2又は式3のように表される。
【0091】
Ri=(Mi−Gi)/Gi ・・・式2
Ri=(Gi−Mi)/Gi ・・・式3
【0092】
式2及び式3において、Miは評価パラメータの値を表し、Giは評価パラメータの目標値を表す。評価パラメータの値が高いほど評価が高いことを表す場合には、最適化情報生成部572は式2を用いて正規化数値を算出する。評価パラメータの値が低いほど評価が高いことを表す場合には、最適化情報生成部572は式3を用いて正規化数値を算出する。具体的には、通知回数、要求回数、トラフィック量、性能評価値、に関しては式2が用いられる。一方、ホップ数の平均値、DL時間の平均値に関しては式3が用いられる。
【0093】
このように構成された最適化サーバー50hによれば、複数の評価パラメータに基づいて得られた統合評価パラメータの値が高いDL元装置から順に、初期キャッシュの配布先(キャッシュ配布装置)として選択される。そして、キャッシュ配布サーバー60は、この選択結果に従ってコンテンツのデータの初期キャッシュを配布する。そのため、通信システム100全体の通信をより効率良くさせることが可能となる。そのため、DL先通信端末装置とDL元装置との間の通信においてダウンロード時間の短縮やネットワークトラフィック量を削減することが可能となる。
【0094】
<変形例>
最適化情報生成部572は、最新の統合評価パラメータτ(最新の評価パラメータに基づいて算出した値)に基づいて最適化情報を生成するのではなく、過去に算出した統合評価パラメータτの値との平均値を用いてもよい。また、最適化情報生成部572は、以下に示すような式4によって算出された値μ(ローパスフィルタを介した値)を用いて最適化情報を生成してもよい。
【0095】
μ=(τ(t−1)×α)+τ(t)×(1−α) ・・・式4
【0096】
τ(t−1)は、前回の最適化処理で算出された統合評価パラメータの値であり、τ(t)は、最新の最適化処理で算出された統合評価パラメータの値である。αは以下のような値である。0<α<1。式4を用いて算出された値μは、時間の変化に応じた統合評価パラメータの値の急激な変化を抑制した値であるため、最適化処理をより安定して行うことが可能となる。
【0097】
<共通した変形例>
また、第一実施形態〜第八実施形態に共通した変形例を示す。
上記通信システム100はP4Pのシステムとして構築されているが、P4Pは通信システム100に適用される通信技術の一つの例に過ぎない。例えば、通信システム100は、クラウドシステムとして構築されても良いし、P2Pシステムとして構築されても良いし、複数のサーバーに対してキャッシュを配布するサーバー・クライアントシステムとして構築されても良い。
【0098】
評価パラメータ及び統合評価パラメータの値は、コンテンツの種類毎に取得されても良い。例えば、コンテンツが動画像である場合には、動画像の中身(ニュース、スポーツ、アニメ、お笑い、映画、音楽など)が共通するグループ(以下、「コンテンツグループ」という。)毎に評価パラメータ及び統合評価パラメータの値が取得されても良い。また各コンテンツの配信特性を分析して類似特性を示すコンテンツを同一種別に分類しても良い。この場合、フィードバック情報に示される各値は、コンテンツの種類に対応付けて最適化サーバー50へ通知される。そして、最適化情報生成部は、コンテンツの種類毎に、最適化情報を生成する。キャッシュ配布サーバー60は、コンテンツの種類毎に、最適化情報に基づいて初期キャッシュの配布先を決定する。
このように構成されることによって、コンテンツの種類毎により正確に通信システム100全体の通信の効率化を図ることが可能となる。
【0099】
また、各実施形態における評価パラメータについて、コンテンツ毎、又はコンテンツグループ毎に平均値が算出され、その平均値に基づいて初期キャッシュの配布先が選択されても良い。
ピア管理サーバー30の機能は、各通信端末装置10やヒントサーバー40に統合されても良い。図11は、通信システム100の変形例における各装置間の処理の流れのうち、通信端末装置10がコンテンツのデータをダウンロードする際の処理を表すシーケンス図である。DL先通信端末装置は、使用者が所望するコンテンツのデータを記憶しているDL元装置を検索する。DL先通信端末装置は、検索されたDL元装置の識別子(ピアIDやIPアドレス等)が列挙されたDL元候補リストを生成する(ステップS21)。そして、DL先通信端末装置は、生成されたDL元候補リストを、ヒントサーバー40へ送信する(ステップS22)。
【0100】
ヒントサーバー40は、DL元候補リストを受信すると、DL元候補リストに含まれる複数のDL元装置の識別子を所定の基準に応じて並べ替え、DL元リストを生成する(ステップS23)。そして、ヒントサーバー40は、生成されたDL元リストを、DL先通信端末装置へ送信する(ステップS24)。DL先通信端末装置は、ヒントサーバー40からDL元リストを受信すると、ユーザーが所望するコンテンツのデータを示す識別子を含むダウンロード要求データを生成する。そして、DL先通信端末装置は、DL元リストに示される識別子を列挙された順に選択し、選択された識別子のDL元装置に対し、生成されたダウンロード要求データを送信する(ステップS25)。DL先通信端末装置がダウンロード要求データを送信するDL元装置の台数は、1台であっても良いし複数台であっても良い。DL先通信端末装置が複数台にダウンロード要求データを送信する場合には、並行して送信しても良いし、タイミングをあけてシーケンシャルに送信しても良い。
【0101】
DL元装置は、ダウンロード要求データを受信すると、ダウンロード要求データに含まれる識別子が示すコンテンツのデータを読み出し、DL先通信端末装置へ送信する。DL先通信端末装置は、DL元装置からコンテンツのデータを受信し、ローカルの記憶装置に記録する(ステップS26)。
【0102】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【0103】
10…通信端末装置, 20…ルーター, 30…ピア管理サーバー, 40…ヒントサーバー, 50…最適化サーバー, 60…キャッシュ配布サーバー
【特許請求の範囲】
【請求項1】
複数の通信装置を備え、キャッシュ配布サーバーからキャッシュ配布装置に配布されたコンテンツのデータを、前記通信装置間でピアツーピアの通信で送受信する通信システムに備えられる最適化装置であって、
前記通信装置毎に、当該通信装置に対してダウンロードの要求がなされた頻度を表す値を取得し、前記頻度が高い通信装置を、前記キャッシュ配布装置として選択し、選択結果を表す最適化情報を生成する最適化情報生成部と、
前記キャッシュ配布装置として選択された前記通信装置へ前記コンテンツのデータを配布する前記キャッシュ配布サーバーに対し、前記最適化情報を送信する最適化情報送信部と、
を備える最適化装置。
【請求項2】
前記通信システムは、前記コンテンツのデータを要求する通信装置に対して、要求された前記コンテンツのデータを送信可能な他の通信装置を通知するヒントサーバーを備え、
前記最適化情報生成部は、通信装置毎に、前記ヒントサーバーによって通知された回数を、前記ヒントサーバーから前記頻度を表す値として取得し、前記通知された回数が多い通信装置を前記キャッシュ配布装置として選択する、請求項1に記載の最適化装置。
【請求項3】
前記最適化情報生成部は、通信装置毎に、他の通信装置からコンテンツのデータを要求された回数を、前記頻度を表す値として取得し、前記要求された回数が多い通信装置を前記キャッシュ配布装置として選択する、請求項1に記載の最適化装置。
【請求項4】
前記最適化情報生成部は、通信装置毎に、通信のトラフィック量を、前記頻度を表す値として取得し、前記トラフィック量が大きい通信装置を前記キャッシュ配布装置として選択する、請求項1に記載の最適化装置。
【請求項5】
複数の通信装置を備え、キャッシュ配布サーバーからキャッシュ配布装置に配布されたコンテンツのデータを、前記通信装置間でピアツーピアの通信で送受信する通信システムに備えられる最適化装置が行う最適化方法であって、
前記通信装置毎に、当該通信装置に対してダウンロードの要求がなされた頻度を表す値を取得するステップと、
前記頻度が高い通信装置を、前記キャッシュ配布装置として選択し、選択結果を表す最適化情報を生成するステップと、
前記キャッシュ配布装置として選択された前記通信装置へ前記コンテンツのデータを配布する前記キャッシュ配布サーバーに対し、前記最適化情報を送信するステップと、
を有する最適化方法。
【請求項6】
複数の通信装置を備え、キャッシュ配布サーバーからキャッシュ配布装置に配布されたコンテンツのデータを、前記通信装置間でピアツーピアの通信で送受信する通信システムに備えられる最適化装置としてコンピュータを動作させるためのコンピュータプログラムであって、
前記通信装置毎に、当該通信装置に対してダウンロードの要求がなされた頻度を表す値を取得するステップと、
前記頻度が高い通信装置を、前記キャッシュ配布装置として選択し、選択結果を表す最適化情報を生成するステップと、
前記キャッシュ配布装置として選択された前記通信装置へ前記コンテンツのデータを配布する前記キャッシュ配布サーバーに対し、前記最適化情報を送信するステップと、
を前記コンピュータに実行させるためのコンピュータプログラム。
【請求項1】
複数の通信装置を備え、キャッシュ配布サーバーからキャッシュ配布装置に配布されたコンテンツのデータを、前記通信装置間でピアツーピアの通信で送受信する通信システムに備えられる最適化装置であって、
前記通信装置毎に、当該通信装置に対してダウンロードの要求がなされた頻度を表す値を取得し、前記頻度が高い通信装置を、前記キャッシュ配布装置として選択し、選択結果を表す最適化情報を生成する最適化情報生成部と、
前記キャッシュ配布装置として選択された前記通信装置へ前記コンテンツのデータを配布する前記キャッシュ配布サーバーに対し、前記最適化情報を送信する最適化情報送信部と、
を備える最適化装置。
【請求項2】
前記通信システムは、前記コンテンツのデータを要求する通信装置に対して、要求された前記コンテンツのデータを送信可能な他の通信装置を通知するヒントサーバーを備え、
前記最適化情報生成部は、通信装置毎に、前記ヒントサーバーによって通知された回数を、前記ヒントサーバーから前記頻度を表す値として取得し、前記通知された回数が多い通信装置を前記キャッシュ配布装置として選択する、請求項1に記載の最適化装置。
【請求項3】
前記最適化情報生成部は、通信装置毎に、他の通信装置からコンテンツのデータを要求された回数を、前記頻度を表す値として取得し、前記要求された回数が多い通信装置を前記キャッシュ配布装置として選択する、請求項1に記載の最適化装置。
【請求項4】
前記最適化情報生成部は、通信装置毎に、通信のトラフィック量を、前記頻度を表す値として取得し、前記トラフィック量が大きい通信装置を前記キャッシュ配布装置として選択する、請求項1に記載の最適化装置。
【請求項5】
複数の通信装置を備え、キャッシュ配布サーバーからキャッシュ配布装置に配布されたコンテンツのデータを、前記通信装置間でピアツーピアの通信で送受信する通信システムに備えられる最適化装置が行う最適化方法であって、
前記通信装置毎に、当該通信装置に対してダウンロードの要求がなされた頻度を表す値を取得するステップと、
前記頻度が高い通信装置を、前記キャッシュ配布装置として選択し、選択結果を表す最適化情報を生成するステップと、
前記キャッシュ配布装置として選択された前記通信装置へ前記コンテンツのデータを配布する前記キャッシュ配布サーバーに対し、前記最適化情報を送信するステップと、
を有する最適化方法。
【請求項6】
複数の通信装置を備え、キャッシュ配布サーバーからキャッシュ配布装置に配布されたコンテンツのデータを、前記通信装置間でピアツーピアの通信で送受信する通信システムに備えられる最適化装置としてコンピュータを動作させるためのコンピュータプログラムであって、
前記通信装置毎に、当該通信装置に対してダウンロードの要求がなされた頻度を表す値を取得するステップと、
前記頻度が高い通信装置を、前記キャッシュ配布装置として選択し、選択結果を表す最適化情報を生成するステップと、
前記キャッシュ配布装置として選択された前記通信装置へ前記コンテンツのデータを配布する前記キャッシュ配布サーバーに対し、前記最適化情報を送信するステップと、
を前記コンピュータに実行させるためのコンピュータプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2013−12129(P2013−12129A)
【公開日】平成25年1月17日(2013.1.17)
【国際特許分類】
【出願番号】特願2011−145587(P2011−145587)
【出願日】平成23年6月30日(2011.6.30)
【出願人】(399041158)西日本電信電話株式会社 (215)
【Fターム(参考)】
【公開日】平成25年1月17日(2013.1.17)
【国際特許分類】
【出願日】平成23年6月30日(2011.6.30)
【出願人】(399041158)西日本電信電話株式会社 (215)
【Fターム(参考)】
[ Back to top ]