(57)【要約】【課題】各ＴＣＰセッション間のダウンロード量のバラツキを少なくすることができ、かつＴＣＰセッション間の偏りが極端なダウンロードリストを作らせないようにする。【解決手段】予め取得したコンテンツ配信サーバのキャッシュ状況からダウンロードするコンテンツの連続キャッシュ領域を算出するキャッシュ領域算出手段（キャッシュ推定部）と、算出した連続キャッシュ領域とダウンロードに使用するセッション数とから最適なダウンロードリストを作成するリスト作成手段（ダウンロドリスト記述部）とを有し、リスト作成手段は、ダウンロードコンテンツのデータ量を使用するセッション数で除して求まる均等分割ダウンロード開始位置と、連続キャッシュ領域の先頭位置との関係から、各セッションのダウンロード開始位置を決定する。【選択図】図１３
2007018108.tif 000002
【特許請求の範囲】
【請求項１】
ディジタルコンテンツ配信ネットワークにおけるコンテンツダウンロードのためのダウンロードリスト作成装置において、
予め取得したコンテンツ配信サーバのキャッシュ状況からダウンロードするコンテンツの連続キャッシュ領域を算出するキャッシュ領域算出手段と、
算出した連続キャッシュ領域とダウンロードに使用するセッション数とから最適なダウンロードリストを作成するリスト作成手段とを有し、
前記リスト作成手段は、ダウンロードコンテンツのデータ量を使用するセッション数で除して求まる均等分割ダウンロード開始位置と、連続キャッシュ領域の先頭位置との関係から、各セッションのダウンロード開始位置を決定することを特徴とする最適分割ダウンロード方式によるダウンロードリスト作成装置。
【請求項２】
ディジタルコンテンツ配信ネットワークにおけるコンテンツダウンロードのためのダウンロードリスト作成装置において、
ダウンロードリスト発行要求を受付けると、該当コンテンツのキャッシュ状況の問合わせを行うデータ送受信手段と、
ブロック情報を蓄積したデータベースにアクセスして、該当コンテンツのブロック情報を読み出し、該ブロック情報を基に配信サーバのキャッシュ割り当てを模擬し、キャッシュ領域の推定を行い、該当コンテンツのキャッシュ状況を返送するキャッシュ領域算出手段と、
対象コンテンツ名、キャッシュ状況、必要ＴＣＰセッション数を算出し、リスト作成手段に対してリスト発行要求を行い、受取った該ダウンロードリストを該データ送受信手段を経由してネットワークに送出するコントロール手段と、
コンテンツサイズ情報を蓄積したデータベースにアクセスして、該当コンテンツのコンテンツサイズを読み出し、コンテンツ名、キャッシュ状況、必要セッション数を基にダウンロードリストを作成し、該コントロール手段に対して該ダウンロードリストを送出するリスト作成手段と
を有することを特徴とする最適分割ダウンロード方式によるダウンロードリスト作成装置。
【請求項３】
ディジタルコンテンツ配信ネットワークにおけるコンテンツダウンロードのためのダウンロードリスト作成方法において、
ダウンロードリストを作成する際の入力情報として、必要ＴＣＰセッション数と、各ダウンロードセッションのダウンロード量のバラツキの度合を示す均等係数を用い、各セッション毎にダウンロード量のバラツキの度合に関する許容範囲を設定し、バラツキが許容範囲内に収まるようにダウンロードリストを作成することを特徴とするダウンロードリスト作成方法。
【請求項４】
ディジタルコンテンツ配信ネットワークにおけるコンテンツダウンロードのための均等係数を求める方法において、
各ダウンロードセッションのダウンロード量と、均等分割ダウンロード量の差分の絶対値を算出する第１のステップと、
全てのダウンロードセッションで上記第１のステップを実行し、その総和を求める第２のステップと、
上記第２のステップで算出した総和をコンテンツのデータ量で除算した値を均等係数とする第３のステップと
を有することを特徴とするダウンロードリスト作成方法。
【請求項５】
ディジタルコンテンツ配信ネットワークにおけるコンテンツダウンロードのためのダウンロードリスト作成方法において、
ダウンロードに利用するＴＣＰセッション数（Ｘ）が連続キャッシュ領域数（Ｙ）より大きい場合、均等係数が最適となるように（Ｘ−Ｙ）箇所のダウンロード開始位置を算出するステップと、
そのときの均等係数が閾値以下あるいは閾値以上であるならば、該均等係数が最適となるダウンロード開始位置をダウンロードリストとするステップと
を有することを特徴とするダウンロードリスト作成方法。
【請求項６】
ディジタルコンテンツ配信ネットワークにおけるコンテンツダウンロードのためのダウンロードリスト作成方法において、
ダウンロードに利用するＴＣＰセッション数（Ｘ）が連続キャッシュ領域数（Ｙ）より大きい場合、均等係数が小さくなるように（Ｘ−Ｙ）箇所のダウンロード開始位置を選択するため、全てのキャッシュ領域の先頭アドレスより前方あるいは後方あるいは前後にある均等分割ダウンロード位置までの距離を算出するステップと、
距離の長いものから均等分割ダウンロード位置をダウンロード開始位置とするステップと
を有することを特徴とするダウンロードリスト作成方法。
【請求項７】
ディジタルコンテンツ配信ネットワークにおけるコンテンツダウンロードのためのダウンロードリスト作成方法において、
ダウンロードに利用するＴＣＰセッション数（Ｘ）が連続キャッシュ領域数（Ｙ）より小さい場合、均等係数が小さくなる（Ｘ−１）箇所のダウンロード開始位置の組み合わせを計算するステップと、
そのときの均等係数が閾値以下ならば、選択されたダウンロード開始位置の組み合わせをダウンロードリストとし、また、閾値以上ならば、均等分割ダウンロードリストとするステップと
を有することを特徴とするダウンロードリスト作成方法。
【請求項８】
ディジタルコンテンツ配信ネットワークにおけるコンテンツダウンロードのためのダウンロードリスト作成用プログラムであって、
リスト作成手段のコンピュータに、ダウンロードに利用するＴＣＰセッション数（Ｘ）が連続キャッシュ領域数（Ｙ）より小さいか否かを判断する手順、小さい場合、均等係数が最適となる（Ｘ−１）箇所のダウンロード開始位置の組み合わせを計算するため、連続キャッシュ領域（Ｙ）の中に先頭アドレスを含む領域がないか否かを判断する手順、領域がない場合には、連続キャッシュ領域（Ｙ）個の中から（Ｘ−１）個を選択し、均等係数を算出する手順、また、領域がある場合には、連続キャッシュ領域（Ｙ−１）個の中から（Ｘ−１）個を選択し、均等係数を算出する手順、全ての組み合わせについて均等係数を算出する手順、該均等係数が最適な組み合わせをダウンロード開始位置とする手順を、それぞれ実行させるためのダウンロードリスト作成用プログラム。
【請求項９】
ディジタルコンテンツ配信ネットワークにおけるコンテンツダウンロードのためのダウンロードリスト作成用プログラムであって、
リスト作成手段のコンピュータに、ダウンロードするコンテンツを利用するＴＣＰセッション数（Ｘ）で均等に分割した領域について、配信サーバ数（Ｎ）に応じて分割領域を担当するサーバを均等に分割するため、
ＴＣＰセッション数（Ｘ）でコンテンツを領域分割する手順、ＴＣＰセッション数（Ｘ）が配信サーバ数（Ｎ）より大きく、かつＮがＸの倍数であるか否かを判断する手順、ＮがＸの倍数である場合には、分割した領域を均等に配信サーバに分担する手順、また、ＮがＸの倍数でない場合には、ｍＮ（Ｘを超えないＸの倍数）個は、分割した領域を均等に配信サーバに分担し、残りの（Ｘ−ｍＮ）個の領域は、ランダムで配信サーバを割り当てる手順を、それぞれ実行させるためのダウンロードリスト作成用プログラム。
【請求項１０】
ディジタルコンテンツ配信ネットワークにおけるコンテンツダウンロードのためのダウンロードリスト作成用プログラムであって、
リスト作成手段のコンピュータに、均等係数が閾値以上であるか否かを判断する手順、均等係数が閾値以上の場合には、ダウンロードするコンテンツのデータサイズを利用するＴＣＰセッション数（Ｘ）で除算する手順、各領域の先頭アドレスをダウンロード開始位置とする手順、各配信サーバに割り当てられたコンテンツのデータ領域を基に、ダウンロードリストを作成する手順を、それぞれ実行させるためのダウンロードリスト作成用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数台のサーバを用いてコンテンツ配信を行う高機能な分割ダウンロードを高速かつ最適に実施するダウンロードリスト作成方法、リスト作成装置およびダウンロードリスト作成用プログラムに関する。
【背景技術】
【０００２】
従来、分割ダウンロード方法に関する提案としては、例えば、特開２００４−１２６９１２号公報（特許文献１参照）に記載の『分割ダウンロード方法、それに用いるリスト記述装置と方法およびそのプログラム』がある。この方法は、同一のコンテンツを配信するサーバの状況を把握した管理サーバを設置することにより、クライアントからのダウンロード要求に対して、管理サーバが最適なダウンロード方法（ダウンロードリスト）をダウンロードリスト記述装置で記述して、それをクライアントに送信し、クライアントがダウンロードリストに従ってダウンロードを要求するものである。
【０００３】
しかし、上記ダウンロードリスト記述方法は、キャッシュヒット率向上を目指したものであるが、ネットワーク品質が悪く、ボトルネックとなるケースでは性能を発揮できない可能性を有する。
図１５は、上記特許文献１の方法で問題を生じるケースの説明図である。
あるコンテンツＸがサーバＡ，Ｂ，Ｃに存在し、図１５に示すように一部分がキャッシュされているケースで、上述した方法でダウンロードリスト作成アルゴリズムを作成した場合、サーバＡ，Ｂからのダウンロードセッションはダウンロード量が少ないため早期に終了し、サーバＣからのダウンロードセッションのみがＡ・Ｂからのセッション終了後も続く可能性がある。
【０００４】
すなわち、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ    Ｐｒｏｔｏｃｏｌ）ボトルネックのケースでは、３セッション利用することで速度が３倍となるが、上記ケースでは、３倍となるのは最初のＡ・Ｂからのセッション継続中のみで、それらが早々に終了した後はＣからのセッション１本のみとなり、ＴＣＰ性能向上の効果が期待できない。
【０００５】
また、本願出願前に提案された特願２００４−１６７０８３号明細書および図面に記載の『キャッシュ推定システムと方法およびプログラムならびにコンテンツ配信システム』では、配信サーバ等のコンピュータにおけるキャッシュ領域を、直接参照することなく、推定することを可能にしている。
【０００６】
図１６は、上記特許文献２におけるキャシュマネージメントサーバの構成図である。
複数の配信サーバと複数のクライアントの間にキャッシュマネージメントサーバ１が設置される。各配信サーバから各クライアントに、予め定められた量のブロックデータが配信される毎に、各クライアントにおいて配信時刻と先頭オフセット値および終了オフセット値をコンテンツ識別情報に対応付けたブロック情報を生成し、そのブロック情報をデータ送受信部１ａにおいて取得し、データベース１ｃに記憶しておき、キャッシュ割り当て模擬部１ｂにおいて、予め定められた契機で指定されたコンテンツに対応する各ブロック情報を読み出し、読み出した各ブロック情報を用いて当該サーバコンピュータのキャッシュ入れ替えアルゴリズムを模擬することで当該サーバコンピュータにおいてキャッシュされているデータを求める。
しかし、上記コンテンツ配信システムでは、さらに効率の向上が望まれる。
【０００７】
【特許文献１】特開２００４−１２６９１２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
上記特許文献１に記載の方法では、キャッシュヒット率を上げることだけを目的としていたため、各ＴＣＰセッション間のダウンロード量のバラツキが大きくなるケースがあった。例を挙げると、１ＧＢのデータを１０本のＴＣＰセッションでダウンロードする場合に、１本のセッションが９１０ＭＢのデータをダウンロードして、それ以外の９本のセッションは１０ＭＢのデータをダウンロードするという極端なケースもあり得た。
また、上記特許文献２に記載の方法は、さらに効率を上げることが望まれている。
【０００９】
（目的）
本発明の目的は、上記特許文献１，２に記載の方法における効率をさらに向上させるもので、各ＴＣＰセッション間のダウンロード量のバラツキを少なくすることができ、かつＴＣＰセッション間の偏りが極端なダウンロードリストを作らせないようにすることが可能な最適分割ダウンロード方式によるダウンロードリスト作成方法およびリスト作成装置、ならびにそのプログラムを提供することである。
【課題を解決するための手段】
【００１０】
本発明のダウンロードリスト作成装置は、ディジタルコンテンツ配信ネットワークにおけるコンテンツダウンロードのためのダウンロード制御技術において、予め取得したコンテンツ配信サーバのキャッシュ状況からダウンロードするコンテンツの連続キャッシュ領域を算出するキャッシュ領域算出手段と、算出した連続キャッシュ領域とダウンロードに使用するセッション数とから最適なダウンロードリストを作成するリスト作成手段とを有し、前記リスト作成手段は、ダウンロードコンテンツのデータ量を使用するセッション数で除して求まる均等分割ダウンロード開始位置と、連続キャッシュ領域の先頭位置との関係から、各セッションのダウンロード開始位置を決定することを特徴としている。
【００１１】
本発明の分割ダウンロード方式によるダウンロードリスト作成方法は、上記特許文献２に記載された管理サーバに組み込まれる機能である。分割ダウンロードを実施するためには、管理サーバに、特許文献１に記載のユーザ要求受付機能とダウンロードリスト送信機能、および、特許文献２に記載されたキャッシュ領域推定機能と、本発明によるダウンロードリスト作成機能とが必要となる。本発明のダウンロードリスト作成機能は、特許文献１に記載されたダウンロードリスト記述機能のバージョンアップを図ったものである。
【発明の効果】
【００１２】
本発明によれば、各ＴＣＰセッション間のダウンロード量のバラツキを少なくすることが可能となる。また、本発明で利用した均等係数という尺度を用いることにより、ＴＣＰセッション間の偏りが極端なダウンロードリストを作成させないようにすることが可能となる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の実施例を、図面により詳細に説明する。
（システム）
図１４は、本発明のシステム全体のイメージ図である。
クライアント３０と配信サーバ２０の中間に、管理サーバ１０が設置される。クライアント３０には、ダウンロードリスト受信機能とダウンロードリストに従ったダウンロード機能とが備えられる。また、管理サーバ１０には、ダウンロードリスト送受信機能と、キャシュ領域推定機能と、ダウンロードリスト記述機能とが備えられている。配信サーバ２０には、データ配信機能が備えられる。
クライアント３０から管理サーバ１０に対して、ダウンロード要求が送られると、管理サーバ１０からクライアント３０に対してダウンロードリストが送信される。クライアント３０は、このダウンロードリストに従ったダウンロードを実施する。
【００１４】
（ダウンロードリスト作成装置）
図１３は、本発明のダウンロードリスト作成装置の機能ブロック図である。
この装置（管理サーバ）１０の入力は、クライアント３０からのダウンロードリスト発行要求を受けて、ダウンロードリスト発行作業を行う。この装置１０には、データ送受信部１４、コントロール部１３、キャッシュ推定部１１、およびダウンロードリスト記述部１２が設けられる。ここで、キャッシュ推定部１１は、前述のように特許文献２に記載されたキャッシュ推定部であって、キャッシュ割り当て模擬機能とデータベースとから構成される。
【００１５】
クライアント３０からダウンロードリスト発行要求が送られると（１）、外部とのデータの送受信を行うデータ送受信部１４が発行要求を受け付け（２）、キャッシュ推定部１１に対して該当コンテンツのキャッシュ状況の問い合わせを行う（３）。キャッシュ推定部１１からコントロール部１３に対して該当コンテンツのキャッシュ状況返答を送る（４）。システムのコントロールと必要ＴＣＰセッション数の算出機能を備えたコントロール部１３は、ダウンロードリスト記述部１２に対してリスト発行要求を行い、対象コンテンツ名、キャッシュ状況、必要セッション数が渡される。
【００１６】
ダウンロードリスト記述部１２は、ダウンロードリスト計算機能とデータベースとからなる。ダウンロードリスト計算機能は、キャッシュ状況、必要セッション数からリストを作成し、データベースに対してコンテンツサイズの問合せを行う（１）。データベースは、コンテンツ名とコンテンツサイズの情報を蓄積しており、ダウンロードリスト計算機能に対して、コンテンツサイズを返答する（１）。ダウンロードリスト記述部は、コントロール部１３に対して、ダウンロードリストを転送する。ここには、ユーザの取るべきダウンロード方法が記述されている。
【００１７】
（キャッシュ推定部）
図１３のキャッシュ推定部１１の構成および動作について、図１６〜図１８により説明する。
図１６は本発明の管理サーバにおけるキャッシュ推定部１１（特許文献２におけるキャッシュ領域推定装置）の構成例図であり、図１７は図１６に示すキャッシュ推定部１１で用いるブロック情報の構成例図であり、図１８は同じくキャッシュ推定部１１における処理手順例図である。
【００１８】
図１６において、キャッシュ領域推定装置１は、ＣＰＵや主メモリ、表示装置、入力装置、外部記憶装置からなるコンピュータ構成からなり、光ディスク駆動装置等を介してＣＤ−ＲＯＭ等の記憶媒体に記録されたプログラムやデータを外部記憶装置内にインストールした後、この外部記憶装置から主メモリに読み込み、ＣＰＵで処理することにより、各処理部すなわちデータ送受信部１ａ、キャッシュ割り当て模擬部１ｂ、データベース１ｃの機能を実行する。
【００１９】
このような構成において、キャッシュ領域推定装置１は、データ送受信部１ａにより、図示していないコンピュータにおいて予め定められた量のデータ（ブロックデータ）が読み出されるごとの読み出し開始から終了までの任意のリード時刻および先頭オフセット値と終了オフセット値を取得し、各々を対応付けブロック情報としてデータベース１ｃにおいて記憶する。
【００２０】
そして、キャッシュ割り当て模擬部１ｂにより、予め定められた契機で、データベース１ｃで記憶した各ブロック情報を読み出し、各ブロック情報を用いて当該コンピュータのキャッシュ入れ替えアルゴリズム（例えば、ＬＲＵ：Ｌｅａｓｔ  Ｒｅｃｅｎｔｌｙ  Ｕｓｅｄ）を模擬することで当該コンピュータにおいてキャッシュされているデータを求め、当該コンピュータにおいてキャッシュされているデータを特定する。
【００２１】
（コンテンツ配信システム）
図１４において、クライアントと配信サーバは、インターネットを介して接続され、クライアントからの要求に応じて配信サーバからコンテンツを配信する。各クライアントとキャッシュ領域推定装置１および配信サーバのそれぞれは予め時刻同期がとられているものとする。なお、この時刻同期には、公知の技術（例えば、ＮＴＰ：ｎｅｔｗｏｒｋ  Ｔｉｍｅ  Ｐｒｏｔｏｃｏｌ）を用いる。
【００２２】
クライアントは、配信サーバからコンテンツを一定量ダウンロードする毎に、そのダウンロード時刻（配信時刻）と先頭オフセット値および終了オフセット値からなるブロック情報を計測し、そのブロック情報をキャッシュ領域推定装置１に報告する。なお、この報告は計測の度に行っても、複数のブロック情報をまとめて報告してもよい。前述のように、クライアントのそれぞれは時刻同期が実施されており、そのダウンロード時刻（配信時刻）は、各クライアント間で信頼できるものとなっている。
【００２３】
本実施例でのブロック情報は、図１７に示すように、コンテンツ全体における一定サイズごとのブロックにおける先頭データと最終データの、当該コンテンツの先頭アドレスからのオフセット値を先頭オフセットと終了オフセットとし、それぞれのダウンロード時刻からなる。なお、キャッシュデータの推定には、先頭オフセットのダウンロード時刻もしくは終了オフセットのダウンロード時刻、あるいは、先頭オフセットと終了オフセットのダウンロード時刻の中間時刻等を配信時刻として用いる。なお、用語の定義は、図１７の下方に示されている。
【００２４】
図１４において、このようなブロック情報によるクライアントからの報告は、管理サーバのデータ送受信部１ａで受信され、データベース１ｃに送信され、データベース１ｃにおいて記憶・登録される。なお、このデータベース１ｃにおいては、予め、各配信サーバのそれぞれで用いられているキャッシュ割り当てアルゴリズムを記憶・登録している。
【００２５】
そして、キャッシュ推定部１は、外部からのキャッシュ推定要求をデータ送受信部１ａで受信すると、その要求内容をデータベース１ｃに送信し、データベース１ｃでは、要求に応じて、推定対象のサーバのブロック情報とキャッシュ割り当てアルゴリズムをキャッシュ割り当て模擬部１ｂに送信する。キャッシュ割り当て模擬部１ｂでは、データベース１ｃからのブロック情報を用いて当該配信サーバのキャッシュ割り当てアルゴリズムを模擬し、当該配信サーバにおいてキャッシュされているデータを推定する。
【００２６】
配信サーバのキャッシュ割り当てアルゴリズムの例として、ＬＲＵがあり、この場合を例に、キャッシュ割り当て模擬部１ｂにおける処理動作を説明する。
この場合、『推定対象の配信サーバのページキャッシュ可能最大サイズ』と『推定対象の配信サーバのブロック情報』とを入力情報として、推定ページキャッシュ領域を出力する。なお、『ページキャッシュ可能最大サイズ』は配信サーバのそれぞれの設定から得ることが可能である。これらの情報を以下の手順で利用し、キャッシュ割り当て模擬部１ｂにおいて、ページキャッシュ領域の推定を行う。
【００２７】
まず、手順１として、データベース１ｃから、推定対象サーバに関するデータ（ブロック情報、キャッシュ割り当てアルゴリズム、ページキャッシュ可能最大サイズ）を抽出する。次に、手順２として、ブロック情報における終了オフセットのダウンロード時刻が新しい順に各ブロックのサイズ（終了オフセット値−先頭オフセット値）を求めて合計していく。
【００２８】
そして、手順３として、合計ブロックサイズが推定対象サーバのページキャッシュ可能最大サイズよりも大きくなったブロックの終了オフセットダウンロード時刻をページキャッシュされているかどうかの境界時刻とし、境界時刻よりも新しい終了オフセットダウンロード時間を持つブロックはページキャッシュとして残っていると判断する。
【００２９】
図１８は、このような処理動作の具体例を示す図である。
図１８においては、配信サーバＡ，Ｂ，Ｃがあり、配信サーバＡのページキャッシュを推定する場合を示している。すなわち、キャッシュマネージメントサーバ（データベース１ｃ）に登録されているブロック情報として、『サーバ名』（Ａ，Ｂ，Ｃ）、『コンテンツ名』（ｄａｔａ１〜３）、『先頭オフセット』（１０００，４０００，２８０００００，２０００，２００）、『先頭オフセットダウンロード時刻』（５０００（ｅｐｏｃｈ），４８２８（ｅｐｏｃｈ）、４２９３（ｅｐｏｃｈ）、５０１１（ｅｐｏｃｋ）、４２９６（ｅｐｏｃｈ））、『終了オフセット』（２０００，８０００，２８０５０００，３０００，２８０００）、『終了オアセットダウンロード時刻』（５０１０（ｅｐｏｃｈ）、４８２３（ｅｐｏｃｈ）、４７０３（ｅｐｏｃｈ）、５０２５（ｅｐｏｃｈ）、４３０９（ｅｐｏｃｈ））が順に並んでいる。
【００３０】
そして、サーバＡに関するブロック情報を抽出した結果、サーバＡに関するブロック情報として、『サーバ名』（Ａ）、『コンテンツ名』（ｄａｔａ１，２）、『先頭オフセット』（１０００，２０００，３０００，２０００，３０００）、『先頭オフセットダウンロード時刻』（５０００（ｅｐｏｃｈ）、５０１１（ｅｐｏｃｈ）、５０２６（ｅｐｏｃｈ）、４７００（ｅｐｏｃｈ）、４７２１（ｅｐｏｃｈ）、『終了オフセット』（２０００，３０００，４０００，３０００，４０００）、『終了オフセットダウンロード時刻』（５０１０（ｅｐｏｃｈ）、５０２５（ｅｐｏｃｈ）、５０３５（ｅｐｏｃｈ）、４７２０（ｅｐｏｃｈ）、４７３３（ｅｐｏｃｈ））が得られる（手順１）。
【００３１】
各『先頭オフセットダウンロード時刻』もしくは『終了オフセットダウンロード時刻』を比較することで、１〜５番目に新しいブロックを特定し、各ブロックサイズ（１０００）を、新しい順に加算する（手順２）。
ここで、サーバＡのキャッシュ可能最大サイズが３０００であると仮定すると、３番目に新しいブロックを加算した時にページキャッシュ可能最大サイズに達するため、ページキャッシュが残っている境界時刻はこのブロックの終了オフセットダウンロード時刻である『５０１０（ｅｐｏｃｈ）』となり、この結果から、『サーバＡ上のコンテンツｄａｔａ１の先頭から１０００バイト目〜４０００バイト目がページキャッシュとして存在』と判断する（手順３）。
【００３２】
これにより、例えば、古くなって利用価値の無くなったブロック情報の判断を行うこともできる。すなわち、キャッシュマネージメントサーバ（キャッシュ領域推定装置１のデータベース１ｃ）には、各クライアント２ａ，２ｂから報告されたブロック情報が蓄積されているが、これらのブロック情報において、終了オフセットダウンロード時刻または先頭オフセットダウンロード時刻が境界時刻よりも古いブロック情報は、古くなって利用価値の無い情報であると判断する。
【００３３】
図１９および図２０は、いずれも図１３に示すキャッシュ推定部のキャッシュ推定方法の動作フローチャートであって、図１９は前半部分のフロー、図２０は後半部分のフローである。
図１９に示すように、まず、ＮＰＴ等により、配信サーバ、キャッシュマネージメントサーバ、クライアントのそれぞれの時刻同期を実施する（ステップＳ５０１）。その後、配信サーバからクライアントへコンテンツのダウンロードを開始する（ステップＳ５０２）。
各クライアントでは、コンテンツを所定のブロックサイズ分ダウンロードする毎にダウンロード時刻（配信時刻）や先頭オフセット値、終了オフセット値等のブロック情報を測定し（ステップＳ５０３）、キャッシュ領域推定装置１に報告する（ステップＳ５０４）。当該コンテンツの全データをダウンロードするまでステップＳ５０３〜Ｓ５０４の処理を繰り返す（ステップＳ５０５）。
【００３４】
キャッシュ領域推定装置１は、図２０に示すように、各クライアントから報告されデータベース１ｃに格納したブロック情報から、推定対象サーバのブロック情報を取得し（ステップＳ６０１）、取得したブロック情報を利用して、対象サーバのページキャッシュ割り当て動作を模擬し（ステップＳ６０２）、その模擬結果から、キャッシュ上に残ったブロックを、当該サーバのページキャッシュであるとして判断する（ステップＳ６０３）。
【００３５】
（動作フロ−）
以下、分割ダウンロードのダウンロード方法を記述したリスト（以下、ダウンロードリストと呼ぶ）の作成方法の手順を示すフローについて説明する。
図１は、本発明の一実施例に係るダウンロード方法を記述したリスト作成手順を示すフローチャートである。
本発明の第１の特徴は、ダウンロードリストの作成、配信に必要なＴＣＰセッション数を算出し、各セッション毎のダウンロード量のバラツキの度合に関する許容範囲を設定し、バラツキが許容範囲内に収まるようにダウンロードリストを作成することである。
【００３６】
ダウンロードリストを作成するときの入力情報として、必要ＴＣＰセッション数と、均等係数を使用する。各セッションのダウンロード量のバラツキが許容範囲内であるか否かを判断し、最適なダウンロードリストを作成する。以下に、手順をステップ番号とともに示す。
（手順１）クライアント・配信サーバ間の往復遅延時間を測定する（ステップ１０１）。
（手順２）既知のダウンロ−ドに利用するＴＣＰセッション数（Ｘ）を取得する（ステップ１０２）。
（手順３）既知の連続キャッシュ領域数（Ｙ）を取得する（ステップ１０３）。
（手順４）ＸとＹの数値を比較する（ステップ１０４）。
【００３７】
（手順５）（Ｘ＞Ｙの場合）
均等係数が最小となるように（Ｘ−Ｙ）箇所のダウンロード開始位置を計算する（ステップ１０５）。
（Ｘ＜Ｙの場合）
均等係数が最小となるように（Ｘ−１）箇所のダウンロード開始位置の組み合わせを計算する（ステップ１０６）。
（Ｘ＞Ｙかつ均等係数が閾値以下の場合）
均等係数が最小となるダウンロード開始位置の組み合わせをダウンロードリストとする（ステップ１０９）。
（Ｘ＞Ｙかつ均等係数が閾値以上の場合）
均等分割したダウンロード開始位置の組み合わせをダウンロードリストとする（ステップ１１０）。
（Ｘ＜Ｙかつ均等係数が閾値以下の場合）
均等係数が最小となるダウンロード開始位置（連続領域の先頭アドレス）の組み合わせをダウンロードリストとする（ステップ１１１）。
（Ｘ＜Ｙかつ均等係数が閾値以上の場合）
均等分割したダウンロード開始位置の組み合わせをダウンロードリストとする（ステップ１１２）。
なお、（手順５）の（Ｘ＜Ｙ）の場合に、ダウンロード開始位置を決めるセッション数をＸ−１としているのは、ダウンロードデータの先頭位置は必然的にダウンロード開始位置となるためである。
【００３８】
図２は、本発明の一実施例に係るダウンロード量のバラツキ度合（均等係数）の算出動作のフローチャートである。
本発明の第２の特徴は、使用する各セッションのダウンロード量のバラツキ度合い尺度（以下、均等係数と呼ぶ）の算出アルゴリズムに関するもので、各ダウンロードセッションのダウンロード量が、セッション数で均等に分割した場合の各セッション毎のダウンロード量からどれだけズレているか評価する指標を均等係数とすることである。以下、図２に示すアルゴリズムを算出する。なお、均等係数は、分割ダウンロード方法に対して、各ダウンロードセッションのダウンロード量のバラツキが許容範囲内か否かを判定するために利用される。
（手順１）各ダウンロードセッションのダウンロード量と、均等分割ダウンロード量の差分の絶対量を算出する（ステップ２０１）。
（手順２）全てのダウンロードセッションで上記手順１を算出し、総和を求める（ステップ２０２）。
（手順３）上記手順２で算出した総和をコンテンツのデータ量で除算した値が均等係数となる（ステップ２０３）。
【００３９】
図８は、本発明の一実施例に係る均等係数の説明図である。
図８において、Ａｎはｎ本目のセッションダウンロード開始アドレス、Ｍは配信コンテンツのサイズである。なお、アドレスの減算はダウンロード量を表す。Ａｎ−Ａｎ−１はダウンロードセッションＡｎ−１のダウンロード量を表す。均等ダウンロード量は、各セッションが均等量ダウンロードする場合のダウンロード量（１００ＭＢのコンテンツを５本のダウンロードセッションでダウンロードする場合には、均等ダウンロード量は１００ＭＢ÷５＝２００ＭＢとなる。図８の式は均等係数の式である。
【００４０】
図３は、本発明の一実施例に係るダウンロードの均等係数が最適となるように開始位置を計算するフローチャート（閾値以下の場合）である。
本発明の第３の特徴は、ダウンロードに利用するＴＣＰセッション数（Ｘ）が連続キャッシュ領域数（Ｙ）より大きい場合、均等係数が最適になるように（Ｘ−Ｙ）箇所のダウンロード開始位置を計算する。そのときの均等係数が閾値以下ならば、均等係数が最適となるダウンロード開始位置をダウンロードリストとすることである。このようにすれば、セッション毎のダウンロード量のバラツキが小さくなり、セッション毎のダウンロード継続時間の差が大きくなることがない。
（手順１）各キャッシュ領域の先頭アドレスより前方にあるキャッシュ領域には含まれない均等分割ダウンロード開始位置までの距離を全て算出する（ステップ３０１）。
（手順２）平均分割ダウンロード開始位置までの距離が最も長いものから順にダウンロード開始位置とする（ステップ３０２）。
【００４１】
図４は、本発明の一実施例に係るダウンロードの均等係数が最適となるように開始位置を計算するフローチャート（閾値以上の場合）である。
本発明の第４の特徴は、ダウンロードに利用するＴＣＰセッション数（Ｘ）が連続キャッシュ領域数（Ｙ）より大きい場合、均等係数が最適となるように（Ｘ−Ｙ）箇所のダウンロード開始位置を計算する。そのときの均等係数が閾値以上ならば、均等分割ダウンロードリストとすることである。このようにすれば、セッション毎のダウンロード量のバラツキが小くなり、セッション毎のダウンロード継続時間の差が大きくなることがない。
（手順１）各キャッシュ領域の先頭アドレスより後方にあるキャッシュ領域には含まれない均等分割ダウンロード開始位置までの距離を全て算出する（ステップ４０１）。
（手順２）平均分割ダウンロード開始位置までの距離が最も長いものから順にダウンロード開位位置とする（ステップ４０２）。
【００４２】
図４のフローは、本発明の第５の特徴も示している。
本発明の第５の特徴は、ダウンロードに利用するＴＣＰセッション数（Ｘ）が連続キャッシュ領域数（Ｙ）より大きい場合、均等係数が最適となるように（Ｘ−Ｙ）箇所のダウンロード開始位置を選択することである。全てのキャッシュ領域の先頭アドレスより前方にある均等分割ダウンロード位置までの距離を算出し、距離の長いものから均等分割ダウンロード位置をダウンロード開始位置とする。これにより、セッション毎のダウンロード量のバラツキが小さくなり、セッション毎のダウンロード継続時間の差が大きくなることがない。以下に、手順および具体例を示す。
【００４３】
図９は、本発明の第５の特徴を示す具体例の説明図である。
（手順１）各キャッシュ領域の先頭アドレスより前方にあるキャッシュ領域には含まれない均等分割ダウンロード開始位置までの距離を全て算出する（ステップ４０１）。
図９は、ＴＣＰセッション数（Ｘ）＝５、キャッシュ領域数（Ｙ）＝２の場合を示している。図９において、(1)と(2)はキャッシュ領域の先頭アドレスである。(2)〜(7)が均等分割ダウンロード開始位置となる。(1)よりも前にある均等分割ダウンロード位置は(3)と(6)であり、(2)より前にある均等分割ダウンロード位置は(4)，(5)，(7)であり、それぞれの距離を計算する。図１１に示す実線矢印の長さが距離になる。
【００４４】
（手順２）平均分割ダウンロード開始位置までの距離が最も長いものから順にダウンロード開始位置とする（ステップ４０２）。
図１１において、ＴＣＰセッションを５本利用してダウンロードを行う。５本のうち２本は、キャッシュ先頭アドレス(1),(2)で決定され、残り３本のうち、キャッシュ先頭アドレスからの距離が長いのは、(3),(4),(5)の３つである。従って、分割ダウンロードされる先頭位置は、(1)〜(5)の５箇所で決定される。
【００４５】
図４のフローは、本発明の第６の特徴も示している。
図１０は、本発明の第６の特徴の具体例を示す説明図である。
ダウンロードに利用するＴＣＰセッション数（Ｘ）が連続キャッシュ領域数（Ｙ）より大きい場合、均等係数が最適となるように（Ｘ−Ｙ）箇所のダウンロード開始位置を選択するアルゴリズムであって、全てのキャッシュ領域の先頭アドレスより後方にある均等分割ダウンロード位置までの距離を算出し、距離の長いものから均等分割ダウンロード位置をダウンロード開始位置とする。これにより、セッション毎のダウンロード量のバラツキが小さくなり、セッション毎のダウンロード継続時間の差が大きくなることがない。
以下に、手順（図４に示すステップ）と具体例（図１０に示す説明）を示す。
【００４６】
（手順１）各キャッシュ領域の先頭アドレスより後方にあるキャッシュ領域には含まれない均等分割ダウンロード開始位置までの距離を全て算出する（ステップ４０１）。
（手順２）平均分割ダウンロード開始位置までの距離が最も長いものから順にダウンロード開始位置とする（ステップ４０２）。
図１０は、図９と同じく、ＴＣＰセッション数（Ｘ）＝５、キャッシュ領域数（Ｙ）＝２の場合であって、図１０は、図９の『キャッシュ領域の先頭アドレスより前方にある』の『前方』を『後方』に置き換えただけである。キャッシュ領域の先頭アドレスは、(1)と(2)であり、それより後方にある距離の最も長いものは(4)であり、その次が(5)である。
【００４７】
図４のフローは、本発明の第７の特徴も示している。
図１１は、第７の特徴を示す具体例の説明図である。
ダウンロードに利用するＴＣＰセッション数（Ｘ）が連続キャッシュ領域数（Ｙ）より大きい場合、均等係数が最適となるように、（Ｘ−Ｙ）箇所のダウンロード開始位置を選択するアルゴリズムである。全てのキャッシュ領域の先頭アドレスより前後にある均等分割ダウンロード位置までの距離を算出し、距離の長いものから均等分割ダウンロード位置をダウンロード開始位置とする。これにより、セッション毎のダウンロード量のバラツキが小さくなり、セッション毎のダウンロード継続時間の差が小さくなる可能性がある。
以下に、その手順（図４）および具体例（図１１）を示す。
【００４８】
（手順１）各キャッシュ領域の先頭アドレスより前後にあるキャッシュ領域には含まれない均等分割ダウンロード開始位置までの距離を全て算出する（ステップ４０１）。
図１１において、(1),(2)は連続キャッシュ領域の先頭アドレスであり、(3)〜(7)が均等分割ダウンロード開始位置である。(1)および(2)から、(3)〜(7)までの全ての組合せの距離を計算する（この例では、２×５＝１０通りの距離を計算する）。
【００４９】
（手順２）連続キャッシュ領域の先頭に、コンテンツの先頭アドレスが均まれていない場合（図１１の(3)のように）には、コンテンツの先頭アドレスをダウンロード開始位置に設定する。残りのセッションは、均等分割ダウンロード開始位置までの距離が最も長いものから順にダウンロード開始位置とする（ステップ４０２）。
図１１において、ＴＣＰセッションを５本利用してダウンロードを行う。５本のうちで(1),(2)は連続キャッシュ領域の先頭アドレスのため採用し、コンテンツの先頭アドレス(3)が連続キャッシュ領域の先頭アドレスに入っていないため、(3)も採用する。残り２本のうちで、手順１で計算した１０通りの距離のうち、最も長かった(4)，(5)をダウンロード開始位置として採用する。
【００５０】
図４のフローは、本発明の第８の特徴も示している。
ダウンロードに利用するＴＣＰセッション数（Ｘ）が連続キャッシュ領域数（Ｙ）より大きい場合、均等係数が最適となるように（Ｘ−Ｙ）箇所のダウンロード開始位置を選択するアルゴリズムである。全てのキャッシュ領域の先頭アドレスより後方にある，現在決定しているダウンロード開始位置までの距離を算出し、距離の長いものから含まれるキャッシュ領域の終了アドレスをダウンロード開始位置とする。これにより、セッション毎のダウンロード量のバラツキが小さくなり、セッション毎のダウンロード継続時間の差が大きくなることがない。以下にその手順を示す。
（手順１）全てのキャッシュ領域の先頭アドレスから、現在決定している次のダウンロード開始位置までの距離を全て計算する（ステップ４０１）。
（手順２）算出した距離の長いものから順に、含まれるキャッシュ領域の終了アドレスをダウンロード開始位置とする（ステップ４０２）。
【００５１】
図４のフローは、本発明の第９の特徴も示している。
ダウンロードに利用するＴＣＰセッション数（Ｘ）が連続キャッシュ領域数（Ｙ）より小さい場合、均等係数が最適となる（Ｘ−１）箇所のダウンロード開始位置の組み合わせを計算する。そのときの均等係数が閾値以下ならば、選択されたダウンロード開始位置の組み合わせをダウンロードリストとする。これにより、セッション毎のダウンロード量のバラツキが小さくなり、セッション毎のダウンロード継続時間の差が大きくなることがない。
【００５２】
図４のフローは、本発明の第１０の特徴も示している。
ダウンロードに利用するＴＣＰセッション数（Ｘ）が連続キャッシュ領域数（Ｙ）より小さい場合、均等係数が最適となる（Ｘ−１）箇所のダウンロード開始位置の組み合わせを計算する。そのときの均等係数が閾値以上ならば、均等分割ダウンロードリストとする。これにより、セッション毎のダウンロード量のバラツキが小さくなり、セッション毎のダウンロード継続時間の差が大きくなることがない。
【００５３】
図５は、本発明の一実施例に係る均等係数が最適となる箇所のダウンロード開始位置を計算するアルゴリズムのフローチャートである。
ダウンロードに利用するＴＣＰセッション数（Ｘ）が連続キャッシュ領域数（Ｙ）より小さい場合、均等係数が最適となる（Ｘ−１）箇所のダウンロード開始位置の組み合わせを計算する。このアルゴリズムを以下に示す。
（手順１）連続キャッシュ領域（Ｙ）の中に先頭アドレスを含む領域がない場合（ステップ７０１）、連続キャッシュ領域（Ｙ）個の中から（Ｘ−１）個を選択し、均等係数を算出する（ステップ７０２）。
連続キャッシュ領域（Ｙ）の中に先頭アドレスを含む領域がある場合（ステップ７０１）、連続キャッシュ領域（Ｙ−１）個の中から（Ｘ−１）個を選択し、均等係数を算出する（ステップ７０３）。
（手順２）全ての組み合わせについて均等係数を算出し、均等係数が最適な組み合わせをダウンロード開始位置とする（ステップ７０４）。
【００５４】
図６は、本発明の一実施例に係る配信サーバ数に応じて分割領域を担当するサーバを均等に分割する方式のフローチャートであり、図１２はその具体例の説明図である。
ダウンロードリスト作成における均等分割方式、つまりダウンロードするコンテンツを利用するＴＣＰセッション数（Ｘ）で均等に分割した領域について、配信サーバ数（Ｎ）に応じて分割領域を担当するサーバを均等に分割する方式である。以下に、その手順と具体例を説明する。
（手順１）ＴＣＰセッション数（Ｘ）でコンテンツを領域分割する（ステップ８０１）。
（手順２）ＴＣＰセッション数（Ｘ）が配信サーバ数（Ｎ）より大きく、かつＮがＸの倍数のとき（ステップ８０２）、分割した領域を均等に配信サーバに分担する（ステップ８０３）。また、ＴＣＰセッション数（Ｘ）が配信サーバ数（Ｎ）より大きく、かつＮがＸの倍数でないとき（ステップ８０２）、ｍＮ（Ｘを超えないＸの倍数）個は、分割した領域を均等に配信サーバに分担し、残りの（Ｘ−ｍＮ）個の領域は、ランダムで配信サーバを割り当てる（ステップ８０４）。
【００５５】
図１２（ａ）は、配信サーバ数（Ｎ）＝４（Ａ・Ｂ・Ｃ・Ｄ）、ＴＣＰセッション数（Ｘ）＝８の場合である。ＴＣＰセッション数でコンテンツを分割すると、配信サーバ数（Ｎ）が（Ｘ）の倍数であるため、各配信サーバに割り当てられた領域は均等に分割されている。各配信サーバは、ＴＣＰセッション数（２）ずつ分担する。
図１２（ｂ）は、配信サーバ数（Ｎ）＝４（Ａ・Ｂ・Ｃ・Ｄ）、ＴＣＰセッション数（Ｘ）＝６の場合である。ＴＣＰセッション数でコンテンツを分割すると、各サーバはまず１個ずつ分担し、残りの２個はランダムに割り当てられた（Ｘ−Ｎ）個の領域、ここではＢとＤが任意の配信サーバに割り当てられる。
【００５６】
図７は、本発明の一実施例に係る均等係数が閾値以上の場合の均等分割ダウンロードリスト作成アルゴリズムのフローチャートである。
均等係数が閾値以上の場合の均等分割ダウンロードリスト作成アルゴリズムは、ダウンロードするコンテンツのデータサイズを利用するＴＣＰセッション数（Ｘ）で除算し、各領域の先頭アドレスをダウンロード開始位置とする。各配信サーバのコンテンツ割り当て領域をもとに、最適なダウンロードリストを作成する。これにより、セッション毎のダウンロード量のバラツキが小さくなり、セッション毎のダウンロード継続時間の差が大きくなることがない。以下に、手順を示す。
（手順１）ダウンロードするコンテンツのデータサイズを利用するＴＣＰセッション数（Ｘ）で除算する（ステップ９０１）。
（手順２）各領域の先頭アドレスをダウンロード開始位置とし、各配信サーバに割り当てられたコンテンツのデータ領域を基に、ダウンロードリストを作成する（ステップ９０２）。
【００５７】
図１〜図７、および、図１９、図２０の各フローの手順をプログラムに変換し、ＣＤ−ＲＯＭなどの記録媒体に記録しておけば、図１３に示す管理サーバのコンピュータにこの記録媒体を装着し、プログラムをインストールして実行させれば、本発明を容易に実現することができる。また、記録媒体に記録しておけば、プログラムを販売する場合にも便利であり、また、コンピュータからネットワークを介して他の端末にプログラムをダウンロードさせることにより、プログラムの汎用化が可能である。
【図面の簡単な説明】
【００５８】
【図１】本発明の一実施例に係るダウンロードリスト作成方法の手順を示すフローチャートである。
【図２】図１で使用する均等係数の算出アルゴリズムの手順を示すフローチャートである。
【図３】本発明の一実施例に係るダウンロード開始位置の決定手順を示すフローチャートである。
【図４】本発明の他の実施例に係るダウンロード開始位置の決定手順を示すフローチャートである。
【図５】本発明の他の実施例に係るダウンロード開始位置の決定手順を示すフローチャートである。
【図６】本発明の一実施例に係るコンテンツの分割領域を配信サーバに分担させる手順のフローチャートである。
【図７】本発明の一実施例に係る各配信サーバのコンテンツ割り当て領域を基にダウンロードリストを作成する方法のフローチャートである。
【図８】図２に示す均等係数の算出方法を示す具体例の説明図である。
【図９】第５の特徴で示したダウンロード開始位置の具体例の説明図である。
【図１０】第６の特徴で示したダウンロード開始位置の具体例の説明図である。
【図１１】第７の特徴で示したダウンロード開始位置の具体例の説明図である。
【図１２】図７に示す各配信サーバのコンテンツ割り当て領域の具体例の説明図である。
【図１３】本発明の一実施例に係る管理サーバの構成図である。
【図１４】本発明の一実施例に係るシステム全体のイメージ図である。
【図１５】従来のダウンロードリスト作成技術の問題点の説明図である。
【図１６】キャッシュ領域推定装置のブロック構成図である。
【図１７】キャッシュ領域推定装置で用いるブロック情報の構成例の説明図である。
【図１８】キャッシュ領域推定装置での処理手順例を示す説明図である。
【図１９】キャッシュ領域推定装置での処理手順例の前半部分のフローチャートである。
【図２０】キャッシュ領域推定装置での処理手順例の後半部分のフローチャートである。
【符号の説明】
【００５９】
１：キャシュ領域推定装置
１ａ：データ送受信部
１ｂ：キャッシュ割り当て模擬部
１ｃ：データベース
１０：管理サーバ
１１：キャッシュ推定部
１２：ダウンロードリスト記述部
１３：コントロール部
１４：データ送受信部
２０：配信サーバ
３０：クライアント
Ａ０〜ｎ：ダウンロード開始位置
【図１】
2007018108.tif 000003
【図２】
2007018108.tif 000004
【図３】
2007018108.tif 000005
【図４】
2007018108.tif 000006
【図５】
2007018108.tif 000007
【図６】
2007018108.tif 000008
【図７】
2007018108.tif 000009
【図８】
2007018108.tif 000010
【図９】
2007018108.tif 000011
【図１０】
2007018108.tif 000012
【図１１】
2007018108.tif 000013
【図１２】
2007018108.tif 000014
【図１３】
2007018108.tif 000015
【図１４】
2007018108.tif 000016
【図１５】
2007018108.tif 000017
【図１６】
2007018108.tif 000018
【図１７】
2007018108.tif 000019
【図１８】
2007018108.tif 000020
【図１９】
2007018108.tif 000021
【図２０】
2007018108.tif 000022