(57)【要約】【課題】  複数台のサーバ装置からのコンテンツファイルのダウンロードを、各サーバ装置のデータ転送速度の変化による悪影響が少ない形で行うことが出来るダウンロード方法を、提供する。【解決手段】  同一内容のコンテンツファイルを保持している第１サーバ装置及び第２サーバ装置から、コンテンツファイルをダウンロードする際、第１サーバ装置よりコンテンツファイル内のデータをその先頭側からダウンロードするための処理(ステップＳ３０１)と、第２サーバ装置よりコンテンツファイル内のデータをその末尾側からダウロードするための処理（ステップＳ３０２〜Ｓ３０５）とが、並行的に実行され、コンテンツファイルの全データの受信が完了したとき（ステップＳ３０４；ＤＬデータ重複）に、当該全データからコンテンツファイルが生成されるようにしておく。【選択図】  図８
2005352762.tif 000002
【特許請求の範囲】
【請求項１】
或るコンテンツファイルを，そのコンテンツファイルを保持している第１のサーバ装置及び第２のサーバ装置からダウンロードするためのダウンロード方法であって、
前記第１のサーバ装置より前記コンテンツファイル内のデータをその先頭側からダウンロードする第１処理と、前記第２のサーバ装置より前記コンテンツファイル内のデータをその末尾側からダウンロードする第２処理とを、並行的に実行するダウンロードステップと、
前記ダウンロードステップによりダウンロードされた総データが、前記コンテンツファイルの全データとなったときに、当該総データから前記コンテンツファイルを生成するコンテンツファイル生成ステップと
を含むことを特徴とするダウンロード方法。
【請求項２】
或るコンテンツファイルを，そのコンテンツファイルを保持している２Ｎ（Ｎ≧２）台のサーバ装置からダウンロードするためのダウンロード方法であって、
前記２Ｎ台のサーバ装置を、それぞれ、２台のサーバ装置を含むＮ個のグループに分類する分類ステップと、
前記分類ステップにより分類された前記Ｎ個のグループのそれぞれについて、そのグループに属する一方のサーバ装置より前記コンテンツファイルの，そのグループについて決定されているダウンロード範囲指定情報が指定する範囲内のデータをその先頭側からダウンロードする第１処理と、そのグループに属する他方のサーバ装置より前記コンテンツファイルの，そのグループについて決定されている前記ダウンロード範囲指定情報が指定する範囲内のデータをその末尾側からダウンロードする第２処理とを、並行的に実行するダウンロードステップと、
前記ダウンロードステップによる，各グループからのダウンロード範囲指定情報が指定する範囲内のデータのダウンロードが、ほぼ同時に完了するように、各グループについての前記ダウンロード範囲指定情報を決定するダウンロード範囲決定ステップと、
前記ダウンロードステップによりダウンロードされた総データが、前記コンテンツファイルの全データとなったときに、当該総データから前記コンテンツファイルを生成するコンテンツファイル生成ステップと
を含むことを特徴とするダウンロード方法。
【請求項３】
前記ダウンロードステップが、
或るグループに属する２台のサーバ装置からのデータのダウンロードが完了したときに、他のグループに属する２台のサーバ装置からのデータのダウンロードが完了していないかった場合には、当該他のグループに属する２台のサーバ装置からダウンロードすべきデータの一部を、ダウンロードが完了している前記２台のサーバ装置からダウンロードするための処理を開始するステップである
ことを特徴とする請求項２記載のダウンロード方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、或るコンテンツファイルを、そのコンテンツファイルを保持している複数台のサーバ装置からダウンロードするためのダウンロード方法に関する。
【背景技術】
【０００２】
周知のように、インターネット等では、複数台のサーバ装置に同一内容のコンテンツファイルを保持させること（ユーザが、コンテンツファイルをダウンロードするサーバ装置を選択できるようにすること）が、行われている。なお、本明細書において、コンテンツファイルとは、ユーザ（希望者）に提供される何らかのデータ（プログラム、文書データ等）のファイルのことである。
【０００３】
そのようなことが行われているのは、コンテンツファイルのダウンロード要求が１台のサーバ装置に集中してサービスに支障をきたす（コンテンツファイルのダウンロード速度が低下する等）ことを防止するためなのであるが、同一内容のコンテンツファイルをダウンロード可能なサーバ装置が複数台存在していることを利用してコンテンツファイルを高速にダウンロードしてしまう技術も、開発されている。すなわち、ダウンロードすべきコンテンツファイルを保持している複数台のサーバ装置のそれぞれから、コンテンツファイルを一部分ずつ並行的にダウンロードしてしまう技術（以下、分割ダウンロード技術と表記する。）が、開発されている（例えば、特許文献１参照。）。
【０００４】
さて、上記のような手順／方法によるコンテンツファイルのダウンロードを最短時間で完了させるためには、各サーバ装置からのダウンロード処理（コンテンツファイルの一部分をダウンロードする処理）が同時に完了するようにしておくことが必要である。
【０００５】
しかしながら、既存の分割ダウンロード技術は、ダウンロードすべきコンテンツファイルがユーザによって指定されたときに、処理内容（コンテンツファイルのどの部分をどのサーバ装置からダウンロードするか）が決定されてしまうものとなっている。すなわち、既存の分割ダウンロード技術は、各サーバ装置からのダウンロード処理が同時に完了するように、実行する処理内容が決定されていても、当該処理の実行中に、何台かのサーバ装置のデータ転送速度が変化した場合には、各サーバ装置からのダウンロード処理が同時に終了しなくなるものとなっている。
【０００６】
そして、サーバ装置のデータ転送速度は、さまざまな要因により変化するものであるため、既存の分割ダウンロード技術を用いてコンテンツファイルのダウンロードを行った場合には、コンテンツファイルのダウンロードに利用しているサーバ装置の台数から予想される時間内にコンテンツファイルのダウンロードが完了しないことが、しばしば生じていた。
【特許文献１】特開２００３−１５７１９７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
そこで、本発明の課題は、複数台のサーバ装置からのコンテンツファイルのダウンロードを、各サーバ装置のデータ転送速度の変化による悪影響が少ない形で行うことが出来るダウンロード方法を、提供することにある。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明の第１の態様のダウンロード方法では、（ａ）第１のサーバ装置よりコンテンツファイル内のデータをその先頭側からダウンロードする第１処理と、第２のサーバ装置よりコンテンツファイル内のデータをその末尾側からダウロードする第２処理とを、並行的に実行するダウンロードステップと、（ｂ）ダウンロードステップによりダウンロードされた総データが、コンテンツファイルの全データとなったときに、当該総データからコンテンツファイルを生成するコンテンツファイル生成ステップとにより、第１のサーバ装置，第２のサーバ装置の双方に保持されているコンテンツファイルのダウンロードが行われる。
【０００９】
すなわち、本発明の第１の態様のダウンロード方法は、いわば、第１のサーバ装置からダウンロードされるデータ量と、第２のサーバ装置からダウンロードされるデータ量とが、第１のサーバ装置及び第２のサーバ装置のデータ転送速度に応じて自動的に変更される形で、コンテンツファイルのダウンロードが行われる方法となっている。従って、このダウンロード方法を用いれば、２台のサーバ装置からのコンテンツファイルのダウンロードを、各サーバ装置のデータ転送速度の変化による悪影響が少ない形（ダウンロード開始後に各サーバ装置のデータ転送速度が変化しても、２台のサーバ装置の一方しか実際のダウンロードに使用されていない時間帯が生ずることなく、コンテンツファイルのダウンロードが終了する形）で行えることになる。
【００１０】
なお、本発明の第１の態様のダウンロード方法にて、ダウンロードステップにより実行される第２処理は、バイト単位（或いはビット単位）で第２のサーバ装置よりコンテンツファイル内のデータがその末尾側からダウンロードされる処理であっても良く、より大きな単位でコンテンツファイル内のデータがその末尾側からダウンロードされる処理であっても良い。
【００１１】
また、本発明の第２の態様のダウンロード方法は、同一内容のコンテンツファイルを保持している２Ｎ（Ｎ≧２）台のサーバ装置から、当該コンテンツファイルをダウンロードするためのダウンロード方法であって、（ａ）２Ｎ台のサーバ装置を、それぞれ、２台のサーバ装置を含むＮ個のグループに分類する分類ステップと、（ｂ）分類ステップにより分類されたＮ個のグループのそれぞれについて、そのグループに属する一方のサーバ装置から、コンテンツファイルの，そのグループについて決定されているダウンロード範囲指定情報が指定する範囲内のデータをその先頭側からダウンロードする第１処理と、そのグループに属する他方のサーバ装置から、コンテンツファイルの，そのグループについて決定されているダウンロード範囲指定情報が指定する範囲内のデータをその末尾側からダウンロードする第２処理とを、並行的に実行するダウンロードステップと、（ｃ）ダウンロードステップによる，各グループからのダウンロード範囲指定情報が指定する範囲内のデータのダウンロードが、ほぼ同時に完了するように、各グループについてのダウンロード範囲指定情報を決定するダウンロード範囲決定ステップと、（ｄ）ダウンロードステップによりダウンロードされた総データが、コンテンツファイルの全データとなったときに、当該総データからコンテンツファイルを生成するコンテンツファイル生成ステップとを、含む。
【００１２】
すなわち、本発明の第２の態様のダウンロード方法は、２台のサーバ装置を含むＮ（Ｎ≧２）個のグループのそれぞれから、コンテンツファイルの特定の部分が本発明の第１の態様のダウンロード方法と同様の手順でダウンロードされる方法であると共に、各グループから、コンテンツファイルのどの部分をダウンロードするかが、各グループからの各部分のダウンロードが同時に終了するように決定される方法となっている。従って、このダウンロード方法を用いれば、２Ｎ台のサーバ装置からのコンテンツファイルのダウンロードを、各サーバ装置のデータ転送速度の変化による悪影響が少ない形（ダウンロード開始後に各サーバ装置のデータ転送速度が変化しても、各グループに属する２台のサーバ装置の一方しか実際のダウンロードに使用されていない時間帯が生ずることなく、コンテンツファイルのダウンロードが終了する形）で行えることになる。
【００１３】
なお、本発明の第２の態様のダウンロード方法のダウンロード範囲決定ステップは、各サーバ装置の，通常状態におけるデータ転送速度に基づき、各グループについてのダウンロード範囲指定情報を決定するものとしておくことが望ましいが、各サーバ装置の，通常状態におけるデータ転送速度がほぼ等しい場合には、ダウンロード対象コンテンツファイル内の全データをグループ数と同数の部分データに区分し、区分した部分データの範囲を示す情報を、各グループについてのダウンロード範囲指定情報とするものとしておくことが出来る。
【００１４】
また、本発明の第２の態様のダウンロード方法のダウンロードステップは、或るグループに属する２台のサーバ装置からのデータのダウンロードが完了したときに、他のグループに属する２台のサーバ装置からのデータのダウンロードが完了していないかった場合には、当該他のグループに属する２台のサーバ装置からダウンロードすべきデータの一部を、ダウンロードが完了している２台のサーバ装置からダウンロードするための処理を開始するステップとしておくことが望ましい。何故ならば、ダウンロードステップを、そのようなステップとしておけば、Ｎ個のグループの中の一部のグループしか実際のダウンロードに使用されていない時間帯が短い形でコンテンツファイルのダウンロードを行えるようになるからである。
【発明を実施するための最良の形態】
【００１５】
以下、本発明を実施するための最良の形態を、図面を参照して詳細に説明する。
【００１６】
まず、図１乃至図４を用いて、本発明の一実施形態に係るダウンロード方法によって、コンテンツファイルのダウンロードが行われるシステムであるコンテンツダウンロードシステムの概要を、説明する。
【００１７】
図１に模式的に示してあるように、ここで説明を行うコンテンツダウンロードシステムは、コンテンツ管理装置１０と、複数台のサーバ装置２０と、複数台のコンピュータ３０とが、インターネットを介して接続されたシステムである。
【００１８】
このコンテンツダウンロードシステムを構成している各サーバ装置２０は、自身が保持している(自装置内のＨＤＤ上に記憶されている)各種コンテンツファイル（何らかのデータのファイル）を、それを要求した装置に送信することが可能な装置である。また、各サーバ装置２０は、自身が保持している各コンテンツファイルの一部分（指定された範囲のデータ）のみを送信することが可能な装置となっている。要するに、このコンテンツダウンロードシステムを構成している各サーバ装置２０は、一般にファイルサーバと称されている装置（コンピュータ）と特に変わる所がない装置となっている。
【００１９】
コンテンツダウンロードシステムを構成している各コンピュータ３０は、ユーザが、コンテンツファイルをダウンロードするため（本実施形態に係るダウンロード方法によるコンテンツファイルのダウンロードを行うため）に使用する装置である。各コンピュータ３０には、ＯＳ（図示せず）等と共に、ダウンロードプログラム３１(図では、ＤＬプログラム；詳細は後述)がインストールされている。
【００２０】
コンテンツ管理装置１０は、そのＨＤＤに、コンテンツＩＤテーブル１２，コンテンツ管理テーブル１３，サーバ管理テーブル１４，コンテンツ管理プログラム１５，ＯＳ(図示せず)等が記憶されているコンピュータである。
【００２１】
このコンテンツ管理装置１０が備えているコンテンツＩＤテーブル１２は、図２に模式的に示したような内容のテーブルである。すなわち、コンテンツＩＤテーブル１２は、各種のコンテンツファイルのそれぞれについて、コンテンツ名とコンテンツＩＤとファイルサイズとを記憶したテーブルとなっている。なお、コンテンツ名とは、いわゆるファイル名のことであり、コンテンツＩＤとは、各コンテンツファイルを識別するために、コンテンツ管理装置１０が使用する情報(コンテンツ管理テーブル１３内に、コンテンツファイルの識別情報として設定されている情報)のことである。
【００２２】
コンテンツ管理テーブル１３は、図３に模式的に示してあるように、コンテンツＩＤから，そのコンテンツＩＤにて識別されるコンテンツファイルを保持している各サーバ装置２０の識別情報(“サーバＡ”等；以下、サーバ装置名と表記する)を特定可能な情報を記憶したテーブルである。
【００２３】
そして、サーバ管理テーブル１４は、図４に模式的に示してあるように、複数のサーバ装置名のそれぞれについて、そのサーバ装置名にて識別されるサーバ装置２０のＩＰアドレスと、当該サーバ装置２０のデータ転送速度(１台のコンピュータ３０にデータを送信する処理しか行っていない状態におけるもの)とを記憶したテーブルとなっている。
【００２４】
次に、コンテンツ管理プログラム１５の機能（コンテンツ管理装置１０の機能）を説明する。
【００２５】
コンテンツ管理プログラム１５(図１参照)は、自身(及びテーブル１２〜１４並びにＯＳ)がインストールされているコンピュータに、コンテンツ名を含む所定形式の情報(以下、ダウンロード計画情報リクエストと表記する。)が送信されてきた際に図５に示した手順のダウンロード計画情報返送処理を実行させることが出来るプログラムである。
【００２６】
すなわち、コンテンツ管理プログラム１５等がインストールされているコンピュータであるコンテンツ管理装置１０は、ダウンロード計画情報リクエストが送信されてきた際には、まず、そのダウンロード計画情報リクエストに含まれているコンテンツ名に対応付けられているコンテンツＩＤ及びファイルサイズを、コンテンツＩＤテーブル１２(図３参照)から読み出す(ステップＳ１０１)。
【００２７】
次いで、コンテンツ管理装置１０は、コンテンツＩＤテーブル１２から読み出したコンテンツＩＤで識別されるコンテンツファイルを保持している各サーバ装置２０のサーバ装置名を、コンテンツ管理テーブル１３（図４参照）から読み出す(ステップＳ１０２)。その後、コンテンツ管理装置１０は、コンテンツ管理テーブル１３から読み出した各サーバ装置名に対応付けられているＩＰアドレス及びデータ転送速度を、サーバ管理テーブル１４(図５参照)から読み出す(ステップＳ１０３)。
【００２８】
次いで、コンテンツ管理装置１０は、コンテンツ管理テーブル１３から読み出した各サーバ装置名と、各サーバ装置名についてサーバ管理テーブル１４から読み出した各情報(ＩＰアドレス及びデータ転送速度)とを記憶しているサーバ情報テーブルを作成する(ステップＳ１０４)。要するに、コンテンツ管理装置１０は、このステップＳ１０４にて、サーバ管理テーブル１４と同構成のサーバ情報テーブルであって、ダウンロード計画情報リクエストに含まれていたコンテンツ名で識別されるコンテンツファイル(以下、ダウンロード対象コンテンツファイルと表記する。)を保持している各サーバ装置２０に関するサーバ装置名，ＩＰアドレス及びデータ転送速度のみを記憶しているサーバ情報テーブルを作成する。
【００２９】
そして、ステップＳ１０４の処理を終えたコンテンツ管理装置１０は、続くステップＳ１０５にて、作成したサーバ情報テーブル内の情報と、ステップＳ１０１の処理で読み出してあるファイルサイズとに基づき、ダウンロード計画情報を作成する処理を行う。
【００３０】
以下、このステップＳ１０５の処理の内容を説明する。なお、以下の説明では、ステップＳ１０１の処理により読み出されているファイルサイズ(ダウンロード対象コンテンツファイルのファイルサイズ)を、ＦＳと表記し、ステップＳ１０４の処理により作成されたサーバ情報テーブル内に記憶されている，各サーバ装置２０に関する情報(サーバ装置名とＩＰアドレスとデータ転送速度とからなる情報)のことを、サーバ装置情報と表記する。また、サーバ情報テーブル内に記憶されているサーバ装置情報の総数を、Ｍと表記する。
【００３１】
ステップＳ１０５において、コンテンツ管理装置１０は、まず、サーバ情報テーブル内のＭ個のサーバ装置情報をデータ転送速度の降順でソートする処理と、Ｎ＝ＩＮＴ(Ｍ／２)を満たす整数値Ｎ（Ｍ／２以下の最大の整数値Ｎ）を求める処理とを、行う。次いでコンテンツ管理装置１０は、１〜Ｎの範囲内の各整数値Ｋについて、グループ単位データ転送速度ＲＧ(Ｋ)を算出する処理を行う。なお、グループ単位データ転送速度ＲＧ(Ｋ)とは、サーバ情報テーブル内での順番が２Ｋ−１番目のサーバ装置情報中のデータ転送速度とサーバ情報テーブル内での順番がＫ番目のサーバ装置情報中のデータ転送速度とを加算した値のことである。
【００３２】
グループ単位データ転送速度ＲＧ(１)〜ＲＧ(Ｎ)を算出したコンテンツ管理装置１０は、それらの総和ＲＧａｌｌを算出する処理と、１〜Ｎ−１の範囲の各整数値Ｌについて、以下の(１)式を満たすＢ(Ｌ)をＬの昇順で算出する処理とを、行う。
【００３３】
Ｂ(Ｌ)−Ｂ(Ｌ−１)＝ＩＮＴ(ＦＳ・ＲＧ(Ｌ)／ＲＧａｌｌ)  …  (１)
なお、コンテンツ管理装置１０は、(１)式によるＢ(１)の算出を、Ｂ(０)＝０として行う。
【００３４】
そして、コンテンツ管理装置１０は、Ｂ(Ｎ)にＦＳをセットしてから、Ｂ(０)〜Ｂ(Ｎ)、サーバ情報テーブル内での順番が１〜Ｎ番目のサーバ装置情報中のＩＰアドレス＃１〜＃Ｎを用いて、図６に示したような構成のダウンロード計画情報を、作成する。
【００３５】
すなわち、コンテンツ管理装置１０は、それぞれ、第１サーバ装置アドレスと第２サーバアドレスとダウンロード範囲指定情報とからなるサーバグループ情報＃１〜＃Ｎを含むダウンロード計画情報であって、サーバグループ情報＃Ｋ（Ｋ＝１〜Ｎのいずれか）に関する第１サーバ装置アドレス，第２サーバ装置アドレスが、それぞれ、サーバ情報テーブル内のＩＰアドレス＃(２Ｋ−１)（＝サーバ情報テーブル内での順番が２Ｋ−１番目のサーバ装置情報中のＩＰアドレス）、サーバ情報テーブル内のＩＰアドレス＃Ｋとなっており、サーバグループ情報＃Ｋに関するダウンロード範囲指定情報が、Ｂ（Ｋ−１）＋１とＢ（Ｋ）とからなる情報（ダウンロード対象コンテンツファイルの，“Ｂ（Ｋ−１）＋１”バイト目からＢ（Ｋ）バイト目までをダウンロードすべきことを示す情報）となっているダウンロード計画情報を、作成する。
【００３６】
このような手順によりダウンロード計画情報を作成したコンテンツ管理装置１０は、作成したダウンロード計画情報を、ダウンロード計画情報リクエストの送信元のコンピュータ３０に返送する(図５：ステップＳ１０６)。そして、コンテンツ管理装置１０は、受信したダウンロード計画情報リクエストに対する処理（図５のダウンロード計画情報返送処理）を終了する。
【００３７】
次に、ダウンロードプログラム３１の機能（コンピュータ３０の機能）を、説明する。
【００３８】
ダウンロードプログラム３１（図１参照）は、コンピュータ３０を、コンテンツ名を指定するための操作を含む所定手順の操作がユーザによってなされたときに図７に示した内容のダウンロード処理を開始する装置として動作させるプログラムである。
【００３９】
すなわち、ダウンロードプログラム３１がインストールされているコンピュータ３０は、コンテンツ名を指定するための操作を含む所定手順の操作がユーザによってなされた場合には、まず、当該コンテンツ名を含めたダウンロード計画情報リクエストをコンテンツ管理装置１０に対して送信することにより、コンテンツ管理装置１０からダウンロード計画情報（図６参照。）を取得（受信）する(ステップＳ２０１)。
【００４０】
そして、ダウンロード計画情報を取得したコンピュータ３０は、そのダウンロード計画情報に含まれるサーバグループ情報毎に部分ダウンロード処理を開始する(ステップＳ２０２)。
【００４１】
以下、図８を用いて、ステップＳ２０２にて開始される部分ダウンロード処理の内容を説明する。なお、以下の説明では、或るサーバグループ情報について開始された部分ダウンロード処理が参照する当該サーバグループ情報中の第１サーバ装置アドレス、第２サーバアドレス、ダウンロード範囲指定情報のことを、それぞれ、処理対象第１サーバ装置アドレス、処理対象第２サーバ装置アドレス、処理対象ダウンロード範囲指定情報と表記する。また、処理対象ダウンロード範囲指定情報に含まれる，ダウンロード終了位置を示す値（サーバグループ情報＃Ｋに関するダウンロード範囲指定情報中のＢ（Ｋ））のことを、処理対象終了位置指定値と表記する。
【００４２】
図８に示してあるように、或るサーバグループ情報に対する部分ダウンロード処理を開始したコンピュータ３０は、まず、処理対象第１サーバ装置アドレスを有するサーバ装置２０(以下、第１サーバ装置２０と表記する)に対して、ダウンロード対象コンテンツファイルの，処理対象ダウンロード範囲指定情報にて指定されている範囲のデータの送信を要求する(ステップＳ２０１)。なお、図示は省略してあるが、このステップＳ２０１では、第１サーバ装置２０から送信されてくるデータを受信して自装置内（コンピュータ３０のＨＤＤ内）に記憶する処理も開始される。
【００４３】
次いで、コンピュータ３０は、処理対象第２サーバ装置アドレスを有するサーバ装置２０(以下、第２サーバ装置２０と表記する)から、ダウンロード対象コンテンツファイル内のデータを、必要量、その末尾側から取得するための処理(ステップＳ３０２〜Ｓ３０４)を、開始する。
【００４４】
具体的には、コンピュータ３０は、まず、ステップＳ３０３の処理のパラメータである開始位置指定値を、処理対象終了位置指定値から、予め定められているＤＬ単位サイズを減ずることにより算出する(ステップＳ３０２)。
【００４５】
次いで、コンピュータ３０は、第２サーバ装置２０に対して、ダウンロード対象コンテンツファイルの，開始位置指定値で指定される位置からＤＬ単位サイズのデータ（以下、ＤＬ単位データと表記する）の送信を要求する処理(ステップＳ３０３)を行う。また、このステップＳ３０３において、コンピュータ３０は、第２サーバ装置２０から送信されてくるデータを受信して自装置内に記憶する処理も開始する。
【００４６】
そして、コンピュータ３０は、第２サーバ装置２０からのＤＬ単位データの受信完了というイベントの発生と、第１サーバ装置２０からの，開始位置指定値が示している位置までのデータの受信完了というイベントの発生とを監視している状態(ステップＳ３０４)となる。そして、コンピュータ３０は、前者のイベントの発生を検出した場合(ステップＳ３０４；ＤＬ単位データ受信完)には、開始位置指定値からＤＬ単位サイズを減ずる処理(ステップＳ３０５)を行った後に、ステップＳ３０３からの処理を再び開始する。
【００４７】
一方、後者のイベントの発生を検出した場合(ステップＳ３０４；ＤＬデータ重複)、コンピュータ３０は、第１サーバ装置２０に対してデータの送信を中止させるための処理(ステップＳ３０６)を行う。そして、コンピュータ３０は、第２サーバ装置２０からのＤＬ単位データの受信が完了したとき(ステップＳ３０７；ＹＥＳ)に、この部分ダウンロード処理を終了する。
【００４８】
図７に戻って、ダウンロード処理の説明を続ける。
【００４９】
ステップＳ２０２の処理を終えたコンピュータ３０は、上記のような内容の幾つかの（Ｎ個以下の）部分ダウンロード処理を行いながら、処理対象コンテンツファイルのダウンロードが完了する（処理対象コンテンツファイルの全バイトのデータが自装置内に記憶される）というイベントの発生と、未完了の部分ダウンロード処理が残っている状態で部分ダウンロード処理が終了するというイベントの発生とを監視している状態(ステップＳ２０３)となる。
【００５０】
そして、コンピュータ３０は、後者のイベントの発生を検出した場合(ステップＳ２０３；部分ＤＬ処理＃Ｘ終了)には、未完了の部分ダウンロード処理の中に、要支援部分ダウンロード処理が含まれているか否かを判断する(ステップＳ２０４)。ここで、要支援部分ダウンロード処理とは、“ダウンロードが完了していないデータ量”（ダウンロード範囲指定情報が示している範囲のデータ中の，ダウンロードが完了していないデータの量）が、予め定められている規定値よりも大きく、かつ、まだ支援されていない（過去に、要支援部分ダウンロード処理として取り扱われていない）部分ダウンロード処理のことである。なお、既に説明したダウンロード計画情報の作成手順から明らかなように、ダウンロード計画情報に含まれる各サーバグループ情報中のダウンロード範囲指定情報は、ダウンロード対象コンテンツファイルのダウンロードに利用される各サーバ装置２０の実際のデータ転送速度が、サーバ管理テーブル１４内に設定されているデータ転送速度とさほど変わらなければ、ステップＳ２０２で開始されたＮ個の部分ダウンロード処理がほぼ同時に終了するように、その内容が定められた情報となっている。このため、ステップＳ２０４の処理にて、未完了の部分ダウンロード処理の中に、要支援部分ダウンロード処理が含まれていると判断されのは、ダウンロード対象コンテンツファイルのダウンロードに利用される幾つかのサーバ装置２０のデータ転送速度が、サーバ管理テーブル１４内に設定されているデータ転送速度と大きく異なる速度（サーバ管理テーブル１４内のデータ転送速度より明らかに低い速度）となった場合に、限られる。
【００５１】
未完了の部分ダウンロード処理の中に、要支援部分ダウンロード処理が含まれていた場合(ステップＳ２０４；ＹＥＳ)、コンピュータ３０は、要支援部分ダウンロード処理により未だ受信されていないデータの一部を、サーバグループ＃Ｘ（ステップＳ２０３で終了を検出した部分ダウンロード処理＃Ｘがデータをダウンロードしていた２台のサーバ装置２０）から取得するための処理を行う（ステップＳ２０５）。
【００５２】
具体的には、コンピュータ３０は、このステップＳ２０５において、図９に模式的に示したような範囲のデータを、サーバグループ＃Ｘからダウンロードするための部分ダウンロード処理を開始する。なお、図９において、網掛けが付していない部分のデータが、要支援部分ダウンロード処理により未だ受信されていないデータである。また、ＤＳａ，Ｄｓｘ，ＤＳｂは、それらと、ＤＬ単位データ中の要支援部分ダウンロード処理による受信が完了していないデータのサイズＤＳｂ′との総和が、要支援部分ダウンロード処理による受信が完了していないデータサイズと一致し、かつ、要支援部分ダウンロード処理による第１サーバ装置２０からの実際のデータ転送速度Ｒｚ１，要支援部分ダウンロード処理による第２サーバ装置２０からの実際のデータ転送速度Ｒｚ２，部分ダウンロード処理＃Ｘによる第１サーバ装置２０からの実際のデータ転送速度Ｒｘ１，部分ダウンロード処理＃Ｘによる第２サーバ装置２０からの実際のデータ転送速度Ｒｘ２との間に、次式が成立するサイズである。
【００５３】
ＤＳａ：Ｄｓｘ：（ＤＳｂ＋ＤＳｂ′）＝Ｒｚ１：（Ｒｘ１＋Ｒｘ２）：Ｒｚ２
要するに、コンピュータ３０は、ステップＳ２０５において、サーバグループ＃Ｘからのデータのダウンロード終了時に、サーバグループ＃Ｘからダウンロードされたデータを除いた部分のデータ（図９におけるサイズＤＳａのデータ，サイズＤＳｂのデータ，及び，サイズＤＳｂ′のデータ）の，要支援部分ダウンロード処理による受信が完了するように、サーバグループ＃Ｘからダウンロードするデータの範囲を決定し、その決定した範囲をサーバグループ＃Ｘからダウンロードするための部分ダウンロード処理を開始する。
【００５４】
そして、ステップＳ２０５の処理を終えたコンピュータ３０は、再びステップＳ２０３からの処理を開始し、処理対象コンテンツファイルのダウンロードが完了した（処理対象コンテンツファイルの全バイトのデータが自装置内に記憶された）とき(ステップＳ２０３；全データ受信完)に、受信しているデータ群を順番通りに並べたデータのファイル（つまり、コンテンツファイル）を自装置内に生成(ステップＳ２０６)して、ダウンロード処理を終了する。なお、流れ図中への表記は省略してあるが、処理対象コンテンツファイルのダウンロード完了時に未完了の部分ダウンロード処理があった場合（ステップＳ２０５の処理が行われていた場合、処理対象コンテンツファイルのダウンロード完了時に、未完了の部分ダウンロード処理が存在することになる）、コンピュータ３０は、未完了の部分ダウンロード処理を中止するための処理（サーバ装置２０にデータ送信を中止させる処理等）を行った後に、このステップＳ２０６の処理を行う。
【００５５】
以上の説明から明らかなように、図１に示されているコンテンツダウンロードシステムにて，２台のサーバ装置２０だけに保持されている或るコンテンツファイルをダウンロードするために行われるダウンロード方法は、一方のサーバ装置２０より当該コンテンツファイル内のデータをその先頭側からダウンロードする処理と、他方のサーバ装置２０より当該コンテンツファイル内のデータをその末尾側からダウンロードする処理とが、開始され、それらの処理によりダウンロードされた総データが、コンテンツファイルの全データとなったときに、当該総データからコンテンツファイルが生成されるものとなっている。
【００５６】
従って、このダウンロード方法によるコンテンツファイルの，２台のサーバ装置２０からのダウンロード時には、ダウンロード中に，それら２台のサーバ装置２０の中のいずれか一方或いは双方のデータ転送速度が変化しても、２台のサーバ装置２０の一方しか実際のダウンロードに使用されていない時間帯が殆ど生じないことになる。
【００５７】
また、コンテンツダウンロードシステムにて，２Ｎ（Ｎ≧２）台（或いは“２Ｎ＋１”台）のサーバ装置２０に保持されている或るコンテンツファイルをダウンロードするために行われるダウンロード方法は、それら２Ｎ台のサーバ装置２０が、それぞれ、２台のサーバ装置２０を含むＮ個のグループに分類され、Ｎ個のグループのそれぞれについて、そのグループに属する一方のサーバ装置２０から、ダウンロード対象コンテンツファイルの，そのグループについて決定されているダウンロード範囲指定情報が指定する範囲内のデータをその先頭側からダウンロードする処理と、そのグループに属する他方のサーバ装置２０から、ダウンロード対象コンテンツファイルの，そのグループについて決定されているダウンロード範囲指定情報が指定する範囲内のデータをその末尾側からダウンロードする処理とが開始され、ダウンロードされた総データが、コンテンツファイルの全データとなったときに、当該総データからコンテンツファイルが生成されるで、コンテンツファイルのダウンロードが行われるものとなっている。また、当該ダウンロード方法は、各グループからのダウンロード範囲指定情報が指定する範囲内のデータのダウンロードが、ほぼ同時に完了するように、各グループについてのダウンロード範囲指定情報が決定されるものともなっている。さらに、当該ダウンロード方法は、或るグループに属する２台のサーバ装置２０からのデータのダウンロードが完了したときに、他のグループに属する２台のサーバ装置２０からのデータのダウンロードが完了していなかった場合には、当該他のグループに属する２台のサーバ装置２０からダウンロードすべきデータの一部を、ダウンロードが完了している２台のサーバ装置２０からダウンロードするための処理が開始されるものとなっている。
【００５８】
従って、２Ｎ台のサーバ装置２０からコンテンツファイルをダウンロードする場合における本実施形態に係るダウンロード方法は、ダウンロード開始後に各サーバ装置２０のデータ転送速度が変化しても、各サーバグループに属する２台のサーバ装置２０の一方しか実際のダウンロードに使用されていない時間帯が殆ど生ぜず、かつ、Ｎ個のサーバグループの中の一部のサーバグループしか実際のダウンロードに使用されていない時間帯も短い形で、コンテンツファイルをダウンロードすることが出来る方法となっていると言うことが出来る。
【００５９】
＜変形形態＞
本実施形態に係るダウンロード方法は、各種の変形を行うことが出来る。例えば、本実施形態に係るダウンロード方法は、ダウンロードすべきコンテンツファイルを保持しているサーバ装置２０が２Ｎ台或いは（２Ｎ＋１）台存在していた場合、２Ｎ台のサーバ装置２０が利用されるものであったが、ダウンロード方法を、ダウンロードすべきコンテンツファイルを保持しているサーバ装置２０が３台以上存在していた場合には、データ転送速度が最も早い２台のサーバ装置２０が選択され、それら２台のサーバ装置２０からコンテンツファイルのダウンロードが行われるものに変形しておいても良い。
【００６０】
また、上記したダウンロード方法は、コンテンツ管理装置１０（コンテンツ管理プログラム１５）を含むシステムにて実行されるものであったが、ダウンロード方法を、各コンピュータ３０（ダウンロードプログラム３１）が、コンテンツ管理装置１０としての機能（ダウンロード計画情報を作成する機能）を有するシステム（コンテンツ管理装置１０が存在しないシステム）にて実行されるものに変形しておいても良い。
【００６１】
また、各サーバ装置２０に、通常のコンテンツファイルと、データ順（バイト順）を逆にしたコンテンツファイル（ダウンロード後、データ順を逆にしなければ、本来の用途に使用できないファイル；以下、逆順コンテンツファイルと表記する）とを保持させておき、第２サーバ装置２０に対しては、逆順コンテンツファイルの全体，或いは，一部のデータについての通常のダウンロードが要求されるようにしておいても良い。
【００６２】
（付記１）  或るコンテンツファイルを，そのコンテンツファイルを保持している第１のサーバ装置及び第２のサーバ装置からダウンロードするためのダウンロード方法であって、
前記第１のサーバ装置より前記コンテンツファイル内のデータをその先頭側からダウンロードする第１処理と、前記第２のサーバ装置より前記コンテンツファイル内のデータをその末尾側からダウンロードする第２処理とを、並行的に実行するダウンロードステップと、
前記ダウンロードステップによりダウンロードされた総データが、前記コンテンツファイルの全データとなったときに、当該総データから前記コンテンツファイルを生成するコンテンツファイル生成ステップと
を含むことを特徴とするダウンロード方法。
【００６３】
（付記２）  或るコンテンツファイルを，そのコンテンツファイルを保持している２Ｎ（Ｎ≧２）台のサーバ装置からダウンロードするためのダウンロード方法であって、
前記２Ｎ台のサーバ装置を、それぞれ、２台のサーバ装置を含むＮ個のグループに分類する分類ステップと、
前記分類ステップにより分類された前記Ｎ個のグループのそれぞれについて、そのグループに属する一方のサーバ装置より前記コンテンツファイルの，そのグループについて決定されているダウンロード範囲指定情報が指定する範囲内のデータをその先頭側からダウンロードする第１処理と、そのグループに属する他方のサーバ装置より前記コンテンツファイルの，そのグループについて決定されている前記ダウンロード範囲指定情報が指定する範囲内のデータをその末尾側からダウンロードする第２処理とを、並行的に実行するダウンロードステップと、
前記ダウンロードステップによる，各グループからのダウンロード範囲指定情報が指定する範囲内のデータのダウンロードが、ほぼ同時に完了するように、各グループについての前記ダウンロード範囲指定情報を決定するダウンロード範囲決定ステップと、
前記ダウンロードステップによりダウンロードされた総データが、前記コンテンツファイルの全データとなったときに、当該総データから前記コンテンツファイルを生成するコンテンツファイル生成ステップと
を含むことを特徴とするダウンロード方法。
【００６４】
（付記３）  前記ダウンロードステップが、
或るグループに属する２台のサーバ装置からのデータのダウンロードが完了したときに、他のグループに属する２台のサーバ装置からのデータのダウンロードが完了していないかった場合には、当該他のグループに属する２台のサーバ装置からダウンロードすべきデータの一部を、ダウンロードが完了している前記２台のサーバ装置からダウンロードするための処理を開始するステップである
ことを特徴とする付記２記載のダウンロード方法。
【００６５】
（付記４）  同一内容のコンテンツファイルを保持している第１のサーバ装置及び第２のサーバ装置にネットワーク接続されているコンピュータ上で実行されるダウンロードプログラムであって、
前記コンピュータを、
前記第１のサーバ装置より前記コンテンツファイルのデータをその先頭側からダウンロードする第１処理と、前記第２のサーバ装置より前記コンテンツファイルのデータをその末尾側からダウンロードする第２処理とを、並行的に実行するダウンロード手段と、
前記ダウンロード手段によりダウンロードされた総データが、前記コンテンツファイルの全データとなったときに、当該総データから前記コンテンツファイルを生成するコンテンツファイル生成手段と
を備える装置として動作させることを特徴とするダウンロードプログラム。
【００６６】
（付記５）  同一内容のコンテンツファイルを保持している２Ｎ（Ｎ≧２）台のサーバ装置にネットワーク接続されているコンピュータ上で実行されるダウンロードプログラムであって、
前記２Ｎ台のサーバ装置を、それぞれ、２台のサーバ装置を含むＮ個のグループに分類する分類手段と、
前記Ｎ個のグループのそれぞれについて、そのグループに属する一方のサーバ装置から、前記コンテンツファイルの，そのグループについて決定されているダウンロード範囲指定情報が指定する範囲内のデータをその先頭側からダウンロードする第１処理と、そのグループに属する他方のサーバ装置から、前記コンテンツファイルの，そのグループについて決定されている前記ダウンロード範囲指定情報が指定する範囲内のデータをその末尾側からダウンロードする第２処理とを、並行的に実行するダウンロード手段と、
前記ダウンロード手段による，各グループからのダウンロード範囲指定情報が指定する範囲内のデータのダウンロードが、ほぼ同時に完了するように、各グループについての前記ダウンロード範囲指定情報を決定するダウンロード範囲決定手段と、
前記ダウンロード手段によりダウンロードされた総データが、前記コンテンツファイルの全データとなったときに、当該総データから前記コンテンツファイルを生成するコンテンツファイル生成手段と
を備える装置として動作させることを特徴とするダウンロードプログラム。
【００６７】
（付記６）  各種のコンテンツファイルを他装置に送信可能な複数台のサーバ装置と、コンテンツファイル管理装置と、１台以上のクライアント装置とが、ネットワーク接続されたコンテンツダウンロードシステムであって、
前記コンテンツファイル管理装置が、
コンテンツファイルの識別情報を含むダウンロード計画情報要求を送信してきたクライアント装置に対して、当該識別情報にて識別されるコンテンツファイルを保持している２台のサーバ装置に関する２個のアドレス情報を含むダウンロード計画情報を、返送するダウンロード計画情報返送手段
を備えた装置であり、
前記クライアント装置が、
ユーザによって指定されたコンテンツファイルの識別情報を含むダウンロード計画情報要求を送信することにより、前記コンテンツ管理装置から前記ダウンロード計画情報を取得するダウンロード計画情報取得手段と、
前記ダウンロード計画情報取得手段により前記ダウンロード計画情報が取得されたときに、当該ダウンロード計画情報に含まれている２個のアドレス情報にて特定される２台のサーバ装置の中の一方のサーバ装置から、前記ユーザによって指定された前記コンテンツファイルのデータをその先頭側からダウンロードする処理と、他方のサーバ装置から、前記コンテンツファイルのデータをその末尾側からダウンロードする処理とを開始するダウンロード手段と、
前記ダウンロード手段によりダウンロードされた総データが、前記コンテンツファイルの全データとなったときに、当該総データから前記コンテンツファイルを生成するコンテンツファイル生成手段と
を備えた装置である
ことを特徴とするコンテンツダウンロードシステム。
【００６８】
（付記７）  各種のコンテンツファイルを他装置に送信可能な複数台のサーバ装置と、コンテンツファイル管理装置と、１台以上のクライアント装置とが、ネットワーク接続されたコンテンツダウンロードシステムであって、
前記コンテンツファイル管理装置が、
コンテンツファイルの識別情報を含むダウンロード計画情報要求を送信してきたクライアント装置に対して、当該識別情報にて識別されるコンテンツファイルを保持している２Ｎ台のサーバ装置に関する２Ｎ個のアドレス情報を含むと共に、それら２Ｎ個のアドレス情報の中の，２個のアドレス情報毎に、それらで特定される２台のサーバ装置からダウンロードすべき前記コンテンツファイルのデータ範囲を示すダウンロード範囲指定情報を含むダウンロード計画情報を、返送するダウンロード計画情報返送手段
を備えた装置であり、
前記クライアント装置が、
ユーザによって指定されたコンテンツファイルの識別情報を含むダウンロード計画情報要求を送信することにより、前記コンテンツ管理装置から前記ダウンロード計画情報を取得するダウンロード計画情報取得手段と、
前記ダウンロード計画情報取得手段により前記ダウンロード計画情報が取得されたときに、当該ダウンロード計画情報に含まれている前記ダウンロード範囲指定情報毎に、そのダウンロード範囲指定情報に対応づけられた形で前記ダウンロード計画情報に含まれている２個のアドレス情報にて特定される２台のサーバ装置の中の一方のサーバ装置から、前記ユーザによって指定された前記コンテンツファイルの前記ダウンロード範囲指定情報で指定される範囲のデータを先頭側からダウンロードする処理を開始すると共に、他方のサーバ装置から、前記コンテンツファイルの前記ダウンロード範囲指定情報で指定される範囲のデータをその末尾側からダウンロードする処理を開始するダウンロード手段と、
前記ダウンロード手段によりダウンロードされた総データが、前記コンテンツファイルの全データとなったときに、当該総データから前記コンテンツファイルを生成するコンテンツファイル生成手段と
を備えた装置である
ことを特徴とするコンテンツダウンロードシステム。
【図面の簡単な説明】
【００６９】
【図１】本発明の一実施形態に係るダウンロード方法の実施に用いられるコンテンツダウンロードシステムの構成図である。
【図２】コンテンツダウンロードシステムに含まれるコンテンツ管理装置が備えるコンテンツＩＤテーブルの説明図である。
【図３】コンテンツ管理装置が備えるコンテンツ管理テーブルの説明図である。
【図４】コンテンツ管理装置が備えるサーバ管理テーブルの説明図である。
【図５】コンテンツ管理装置が実行するダウンロード計画情報返送処理の流れ図である。
【図６】ダウンロード計画情報返送処理時に送信されるダウンロード計画情報の説明図である。
【図７】実施形態に係るダウンロードプログラムがインストールされているコンピュータが実行するダウンロード処理の流れ図である。
【図８】ダウンロード処理により開始される部分ダウンロード処理の流れ図である。
【図９】ダウンロード処理時に実行される処理の内容を説明するための図である。
【符号の説明】
【００７０】
１０  コンテンツ管理装置
１２  コンテンツＩＤテーブル
１３  コンテンツ管理テーブル
１４  サーバ管理テーブル
１５  コンテンツ管理プログラム
２０  サーバ装置
３０  コンピュータ
【図１】
2005352762.tif 000003
【図２】
2005352762.tif 000004
【図３】
2005352762.tif 000005
【図４】
2005352762.tif 000006
【図５】
2005352762.tif 000007
【図６】
2005352762.tif 000008
【図７】
2005352762.tif 000009
【図８】
2005352762.tif 000010
【図９】
2005352762.tif 000011