(57)【要約】【課題】データ伝送の信頼性と伝送速度を両立できるファイル配信システムを提供する。【解決手段】サーバから複数のクライアント端末へファイルを配信するファイル配信システムにおいて、サーバは、複数のクライアント端末へファイル取得指示情報を送信し、接続要求情報を受信すると、その送信元の一部のクライアント端末へ接続応答情報を送信し、クライアント端末は、サーバ又は他のクライアント端末からファイル取得指示情報を受信すると、その送信元へ所定の間隔で接続要求情報を送信し、接続応答情報を受信すると、その送信元のサーバ又はクライアント端末からファイルを取得するとともに接続要求情報の送信を停止して、他の複数のクライアント端末へファイル取得指示情報を送信し、接続要求情報を受信すると、その送信元の一部のクライアント端末へ接続応答情報を送信する。【選択図】  図１
2013026728.tif 000002
【特許請求の範囲】
【請求項１】
サーバから複数のクライアント端末に対してデータを配信するデータ配信システムであって、
前記サーバは、
前記複数のクライアント端末に対して、データ取得指示情報を送信し、該データ取得指示情報を受信した前記クライアント端末から接続要求情報を受信すると、該接続要求情報の送信元であるクライアント端末のうち一部のクライアント端末に対して接続応答情報を送信し、
前記クライアント端末は、
前記サーバ又は他のクライアント端末からデータ取得指示情報を受信すると、該データ取得指示情報で指定されたデータを未取得の場合は、前記データ取得指示情報の送信元である前記サーバ又は他のクライアント端末に対して所定の間隔で接続要求情報の送信を繰り返し、該接続要求情報に対する前記サーバ又は他のクライアント端末からの接続応答情報を受信すると、該接続応答情報の送信元である前記サーバ又は他のクライアント端末からデータを取得するとともに、前記接続要求情報の送信を停止して、自身以外の複数のクライアント端末に対してデータ取得指示情報を送信し、
自身以外の複数のクライアント端末に対してデータ取得指示情報を送信した後、該データ取得指示情報を受信したクライアント端末から接続要求情報を受信すると、該接続要求情報の送信元であるクライアント端末のうち一部のクライアント端末に対して接続応答情報を送信することを特徴とするデータ配信システム。
【請求項２】
請求項１に記載されたデータ配信システムであって、
前記クライアント端末は、前記サーバ又は他のクライアント端末からデータを取得すると、前記サーバ及び自身以外のクライアント端末に対してデータ取得指示情報を送信することを特徴とするデータ配信システム。
【請求項３】
請求項１又は請求項２に記載されたデータ配信システムであって、
前記サーバは、該サーバから送信するデータ取得指示情報において各クライアント端末における同時接続最大数を指定することを特徴とするデータ配信システム。
【請求項４】
請求項１ないし請求項３に記載されたデータ配信システムであって、
前記サーバは、該サーバが送信するデータ取得指示情報において配信終了時刻を指定することを特徴とするデータ配信システム。
【請求項５】
請求項４に記載されたデータ配信システムであって、
前記サーバは、該サーバが送信するデータ取得指示情報において配信開始日時と制限時間を指定し、
前記クライアント端末は、自身が送信するデータ取得指示情報内の制限時間を、前記サーバ又は他のクライアント端末から受信したデータ取得指示情報内の制限時間から、自身が送信するデータ取得指示情報の送信までの時間を差し引いて設定することを特徴とするデータ配信システム。
【請求項６】
サーバから複数存在する第１のクライアント端末に対してデータを配信するデータ配信システムであって、
前記サーバが、前記第１のクライアント端末に対して、第１のデータ取得指示情報を送信する第１データ取得指示ステップと、
前記第１のデータ取得指示情報を受信した第１のクライアント端末のそれぞれが、前記サーバに対して所定の間隔で第１の接続要求情報を繰り返し送信する第１接続要求ステップと、
前記第１の接続要求情報を受信した前記サーバが、前記第１のクライアント端末のうち一部の第２のクライアント端末に対して、第１の接続応答情報を送信する第１接続応答ステップと、
前記第１の接続応答情報を受信した前記第２のクライアント端末のそれぞれが、前記サーバからデータを取得する第１データ取得ステップと、
前記サーバからデータを取得した前記第２のクライアント端末のそれぞれが、前記第１の接続要求情報の送信を停止して、前記第１のクライアント端末のうち自身以外の第３のクライアント端末に対して第２のデータ取得指示情報を送信する第２データ取得指示ステップと、
前記第２のデータ取得指示情報を受信した前記第３のクライアント端末のそれぞれが、前記第１のデータ取得指示情報の送信元である前記サーバ又は前記第２のデータ取得指示情報の送信元である前記第２のクライアント端末に対して、所定の間隔で第２の接続要求情報を繰り返し送信する第２接続要求ステップと、
前記第２の接続要求情報を受信した前記サーバ又は前記第２のクライアント端末が、前記第２の接続要求情報の送信元である第３のクライアント端末のうち一部の第４のクライアント端末に対して、第２の接続応答情報を送信する第２接続応答ステップと、
前記第２の接続応答情報を受信した前記第４のクライアント端末のそれぞれが、前記第２の接続応答情報の送信元である前記サーバ又は前記第２のクライアント端末からデータを取得する第２データ取得ステップと、
前記データを取得した第４のクライアント端末のそれぞれが、前記第２の接続要求情報の送信を停止して、前記第１のクライアント端末のうち自身以外の第５のクライアント端末に対して第３のデータ取得指示情報を送信する第３データ取得指示ステップと、
前記第３のデータ取得指示情報を受信した前記第５のクライアント端末のそれぞれが、前記第１ないし第３のデータ取得指示情報の送信元である前記サーバ又は前記第２のクライアント端末又は前記第４のクライアント端末に対して、所定の間隔で第３の接続要求情報を繰り返し送信する第３接続要求ステップと、
前記第３の接続要求情報を受信した前記サーバ又は前記第２のクライアント端末又は前記第４のクライアント端末が、前記第３の接続要求情報の送信元である第５のクライアント端末のうち一部の第６のクライアント端末に対して、第３の接続応答情報を送信する第３接続応答ステップと、
前記第３の接続応答情報を受信した前記第６のクライアント端末のそれぞれが、前記第３の接続応答情報の送信元である前記サーバ又は前記第２のクライアント端末又は前記第４のクライアント端末からデータを取得する第３データ取得ステップと、
を備えることを特徴とするデータ配信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークにおけるデータ通信技術に関し、特に、ＴＣＰ／ＩＰネットワークを用いて大量のデータを配信するデータ配信システムに関するものである
【背景技術】
【０００２】
例えば、ＩＰ（Internet Protocol）ネットワーク上で、文字、画像、音声データなどを伝送する際、データ伝送の効率を優先する場合にはコネクションレス型のプロトコル（ＵＤＰ：User Datagram Protocol）を採用し、データ伝送の信頼性を優先する場合にはコネクション型のプロトコル（ＴＣＰ：Transmission Control Protocol）を採用するのが一般的である。コネクションレス型通信とは、データを転送する際に通信相手との間にコネクションの確立を必要としない通信であり、コネクション型通信とは、データを転送する際に通信相手との間にコネクションの確立を必要とする通信である。
前者の方式は、１：Ｎのマルチキャスト通信が可能だが、再送制御などのエラー訂正機能を持たないため、データ伝送の信頼性に劣る。特に大規模ネットワーク上でのファイル配信などのデータ配信を想定する場合、この方式では、環境要因による伝送処理失敗のリスクが高いことが問題となる。
一方、後者の方式はデータ伝送の信頼性に優るが、１：１のユニキャスト通信が前提となるためデータ伝送の効率に劣る。同様に大規模ネットワーク上でのデータ配信を想定する場合、この方式では、配信処理に要する時間や配信元の負荷が問題となる。
【０００３】
図１０に、従来のデータ配信システムにおける配信例を示す。図１０において、配信元のサーバ１００は、配信先である１２台のクライアント端末２００（１）〜２００（１２）に対し、同一内容のデータファイルを配信するものである。サーバ１００は、まず、クライアント端末２００（１）〜２００（４）に対し同時にファイル配信し、次に、クライアント端末２００（５）〜２００（８）に対し同時にファイル配信し、最後に、クライアント端末２００（９）〜２００（１２）に対し同時にファイル配信している。
【０００４】
このように、従来のＴＣＰを用いたデータ配信では、配信先一つ一つに対する１：１のユニキャスト通信が前提となっており、このユニキャスト通信を同時に一括して実行することも、順次実行することもできるが、通常は配信元で許容し得る負荷に合わせて、あらかじめデータ伝送の同時実行最大数を制限する。制限値以上の配信先がある場合は、実行中のデータ伝送の終了を待っての順次処理となる。制限値を高く設定すれば、負荷増のために一回に同時実行するデータ伝送処理時間が長くなり、制限値を低く設定すれば、順次処理を繰り返す回数が多くなる。
規模を簡略化した図１０の例では、同時実行の制限値を４とし、１２個の配信先に対して３回の順次処理でデータファイル配信を完了している。
【０００５】
下記の特許文献１には、サーバと複数のクライアントで構成するネットワークシステムの一斉指令通信方式において、ＵＤＰパケットを用いて一斉指令の送信を実施する技術が記載されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００３−１９８５５３公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上述したように、ネットワーク上で大量のデータを伝送する際、コネクションレス型通信ではデータ伝送の信頼性に劣り、コネクション型通信では伝送速度や効率に劣るという課題があった。
本発明は、このような従来の課題を解決するために為されたもので、ネットワーク上でデータを伝送する際、データ伝送の信頼性と伝送速度を両立することのできるデータ配信システムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するための、本願発明の代表的な構成は、次のとおりである。すなわち、
サーバから複数のクライアント端末に対してデータを配信するデータ配信システムであって、
前記サーバは、
前記複数のクライアント端末に対して、データ取得指示情報を送信し、該データ取得指示情報を受信した前記クライアント端末から接続要求情報を受信すると、該接続要求情報の送信元であるクライアント端末のうち一部のクライアント端末に対して接続応答情報を送信し、
前記クライアント端末は、
前記サーバ又は他のクライアント端末からデータ取得指示情報を受信すると、該データ取得指示情報で指定されたデータを未取得の場合は、前記データ取得指示情報の送信元である前記サーバ又は他のクライアント端末に対して所定の間隔で接続要求情報の送信を繰り返し、該接続要求情報に対する前記サーバ又は他のクライアント端末からの接続応答情報を受信すると、該接続応答情報の送信元である前記サーバ又は他のクライアント端末からデータを取得するとともに、前記接続要求情報の送信を停止して、自身以外の複数のクライアント端末に対してデータ取得指示情報を送信し、
自身以外の複数のクライアント端末に対してデータ取得指示情報を送信した後、該データ取得指示情報を受信したクライアント端末から接続要求情報を受信すると、該接続要求情報の送信元であるクライアント端末のうち一部のクライアント端末に対して接続応答情報を送信することを特徴とするデータ配信システム。
【発明の効果】
【０００９】
本願発明によれば、データ伝送の信頼性と伝送速度を両立することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施形態に係るファイル配信システムにおける配信例を示す図である。
【図２】本発明の実施形態に係るファイル転送手順例を示す図である。
【図３】本発明の実施形態に係る制御電文例を示す図である。
【図４】本発明の実施形態に係るファイル配信システムの構成例を示す図である。
【図５】本発明の実施形態に係るサーバの機能ブロック構成例を示す図である。
【図６】本発明の実施形態に係るサーバ記憶部の構成例を示す図である。
【図７】本発明の実施形態に係るクライアント端末の機能ブロック構成例を示す図である。
【図８】本発明の実施形態に係るクライアント端末記憶部の構成例を示す図である。
【図９】本発明の実施形態に係るファイル配信例を示す図である。
【図１０】従来のファイル配信システムにおける配信例を示す図である。
【発明を実施するための形態】
【００１１】
まず、本発明の実施形態の概要を、図１を用いて説明する。本実施形態では、データはファイルとして伝送される。
図１の例では、まず、最初の配信元である例えばサーバ１０から、最初の配信先である３台のクライアント端末２０（１）〜２０（３）に対して、同一内容のファイルをデータ伝送する。次に、サーバ１０から３台のクライアント端末２０（１０）〜２０（１２）に対して同一内容のファイルをデータ伝送するとともに、最初の配信先である３台のクライアント端末２０（１）〜２０（３）から、それぞれ、２台のクライアント端末２０に対して、同一内容のファイルをデータ伝送する。
つまり図１の例では、ファイル取得したクライアント端末２０を新たな配信元にするとともに、各配信元から同時にデータ伝送する配信先の制限値を３〜２とし、総計１２個の配信先に対して２回の順次処理でファイル配信を完了している。
【００１２】
このように本実施形態では、最初の配信元であるサーバ１０への負荷集中を緩和するために、サーバ１０から同時にデータ伝送する最初の配信先であるクライアント端末２０の数を、ある程度の制限値に抑えたうえで、以降のデータ伝送処理をファイル取得したクライアント端末２０にも負担させ、配信元装置として機能させるものである。
【００１３】
次に、本実施形態に係るファイル転送手順例を、図２と図３を用いて説明する。図２は、本実施形態に係るファイル転送手順例を示す図であり、図３は、本実施形態に係る制御情報の電文例を示す図である。
図２に示すように、まず、配信元であるサーバ１０が、制御情報であるファイル取得指示情報（データ取得指示情報）を、配信先である全てのクライアント端末２０へＵＤＰでマルチキャスト送信する（ステップＳ１）。
【００１４】
ファイル取得指示情報を受信した全てのクライアント端末２０は、それぞれ、サーバ１０へ、制御情報である接続要求情報を繰り返しＵＤＰでユニキャスト送信する（ステップＳ２）。
該接続要求情報を受信したサーバ１０は、該接続要求情報の送信元のクライアント端末２０のうち一部（例えば３つ）のクライアント端末２０に対して、制御情報であって接続可否を示す電文内に許可を示す応答コードを含む接続応答情報をＵＤＰでユニキャスト送信し、他のクライアント端末２０には接続可否を示す電文内に不許可を示す応答コードを含む接続応答情報をＵＤＰでユニキャスト送信する（ステップＳ３）。ここで、サーバ１０が選択する数（上記例では３つ）は、サーバ１０に同時接続できるクライアント端末２０の最大数であり、例えば、接続要求の受信先着順に接続許可するクライアント端末２０を選択する。
【００１５】
サーバ１０から接続応答情報を受信したクライアント端末２０は、サーバ１０との通信接続をＴＣＰで行い（ステップＳ４）、通信確立後にサーバ１０からファイルデータをダウンロードして取得（ステップＳ５）し、その後、サーバ１０との通信を切断する（ステップＳ６）。つまり、ファイルデータ伝送は、ＴＣＰを用いたユニキャストで確実に行う。なお、ステップＳ４〜ステップＳ６には、ＦＴＰ（File Transfer Protocol）を用いてもよい。
その後、ステップＳ４〜ステップＳ６の処理を行ったクライアント端末２０は、ファイルデータを取得したか否かに拘らず、制御情報である切断通知情報をサーバ１０へＵＤＰでユニキャスト送信する（ステップＳ７）。
【００１６】
次に、ファイルデータを取得したクライアント端末２０は、接続要求情報の送信を停止するとともに、自身以外のクライアント端末２０に対するファイル取得指示情報を、自身以外の全てのクライアント端末２０及びサーバ１０へＵＤＰでマルチキャスト送信する（ステップＳ８）。このファイル取得指示情報は、ファイル取得通知（データ取得通知）としても機能する。ステップＳ８のファイル取得指示情報送信により、単一の配信元から配信先へのファイル転送手順は完了する。
このようにして、ファイルデータを取得したクライアント端末２０は、新たな配信元として機能するようになる。
ステップＳ８でクライアント端末２０から送信されるファイル取得指示情報の電文の構成は、ステップＳ１でサーバ１０から送信されるファイル取得指示情報の電文の構成と同一であり、電文内部の制御情報は一部を除いて、サーバ１０から送信されるファイル取得指示情報のコピーが使われる。例外は、後述する配信元ＩＰアドレス、ファイルパス、制限時間であり、これらは新たに送信元となったクライアント端末２０自身の情報に書き換えられる。
【００１７】
配信元となったクライアント端末２０からファイル取得指示情報を受信した全てのクライアント端末２０は、それぞれ、配信元であるクライアント端末２０又はサーバ１０に対して接続要求情報をＵＤＰでユニキャスト送信する（ステップＳ２）。
接続要求情報を受信した配信元は、接続要求情報の送信元であるクライアント端末２０のうち一部（例えば３つ）のクライアント端末２０を例えば先着順で選択して、該選択した３つのクライアント端末２０に対し接続許可を示す応答コードを含む接続応答情報をＵＤＰでユニキャスト送信し、その他のクライアント端末には接続不許可を示す応答コードを含む接続応答情報をＵＤＰでユニキャスト送信する（ステップＳ３）。この選択する数（上記例では３つ）は、配信元に同時接続できるクライアント端末２０の最大数である。
【００１８】
配信元から接続を許可されたクライアント端末２０は、配信元との通信接続をＴＣＰで行い（ステップＳ４）、通信確立後に配信元からファイルデータをダウンロードして取得（ステップＳ５）し、その後、配信元との通信を切断する（ステップＳ６）。
ステップＳ４〜ステップＳ６の処理後、ファイルデータ取得の成否に拘らず、クライアント端末２０は、切断通知情報を配信元へＵＤＰでユニキャスト送信する（ステップＳ７）。
【００１９】
次に、ファイルデータを取得したクライアント端末２０は、接続要求情報の送信を停止するとともに、自身以外のクライアント端末２０に対するファイル取得指示情報（ファイル取得通知）を、自身以外の全てのクライアント端末２０及びサーバ１０へＵＤＰでマルチキャスト送信する（ステップＳ８）。このようにして、ファイルデータを取得したクライアント端末２０は、新たな配信元として機能するようになり、本システムは、ステップＳ２からステップＳ８を繰り返す。
【００２０】
次に、上述したステップＳ１等で使用される制御電文の内容について、図３を用いて説明する。
まず、ステップＳ１やステップＳ８のファイル取得指示情報の内容について説明する。このファイル取得指示情報の内容は、図３に示すように、処理ＩＤ（identification：識別子）、ファイル名称、ファイルサイズ、マルチキャストアドレス、配信元ＩＰアドレス、ファイルパス、配信開始日時、制限時間、配信先ＩＰアドレス及び配信先ＩＰアドレスごとの接続最大数や遅延時間のリストである。
【００２１】
ここで、処理ＩＤは、同一内容のファイルを配信するファイル配信処理を示す一意のＩＤであり、異なる内容のファイルを配信する同時進行中の他の処理との区別に利用する。ファイル名称は、配信するファイルの名称である。ファイルサイズは、配信するファイルのサイズであり、ファイルデータ伝送の完了や伝送結果の判定に利用する。マルチキャストアドレスは、配信先である全てのクライアント端末２０を示す１つのＩＰアドレスである。配信元ＩＰアドレスは、ファイル取得指示情報を送信した送信元のＩＰアドレスである。各配信先はこのＩＰアドレスに対して、前述したステップ２の接続要求を行う。ファイルパスは、ファイル取得指示情報の送信元が配信対象ファイルを格納しているパスであり、ファイルデータの格納場所を示す。各配信先は受信したファイルパスに基づいて、前述したステップ５で配信元のファイルデータをダウンロードする。
【００２２】
配信開始日時には、最初の配信元であるサーバ１０がファイル取得指示情報を送信した送信日時か、又は無効値を意味する０（ゼロ）が設定される。制限時間は、ファイル取得指示情報の送信元が配信対象ファイルの保持を保証する時間である。
最初の配信元の送信日時が設定されるのは、全ての配信先と配信元のシステム時間がＮＴＰ（Network Time Protocol ）同期などにより一致している場合が好ましい。この場合、最初の配信元は、ファイル取得指示情報内の配信開始日時として自身のシステム時間を設定する。各配信先は、受信したファイル取得指示情報の配信開始日時が有効値の場合、自身が配信元として送信するファイル取得情報内に設定する配信開始日時と制限時間として、受信したファイル取得指示情報内のものをそのままコピーして使う。全ての配信元と配信先は、ファイル取得指示情報内の配信開始日時から制限時間が経過したところで、ファイル配信処理終了と判断する。
【００２３】
配信開始日時に無効値を意味する０が設定されるのは、配信先と配信元のシステム時間が一致していない可能性がある場合である。各配信先は、受信したファイル取得指示情報の配信開始日時が無効値の場合、自身が配信元として送信するファイル取得指示情報内に設定する制限時間として、受信したファイル取得指示内の制限時間から経過時間（即ちファイル取得指示情報受信からファイル取得指示情報送信までの経過時間）を差し引いて設定する。全ての配信元と配信先は、ファイル取得指示情報の受信から制限時間が経過したところで、ファイル配信処理終了と判断する。
この方法は、システム時間に依存しない利点があるが、制御電文の伝送遅延時間が、各配信元と配信先の制限時間の経過を検出するタイミングにずれをもたらす場合がある。
【００２４】
配信先ＩＰアドレスは、配信先の全てのクライアント端末２０のＩＰアドレスを記述したリストであり、ファイル取得指示情報の受信側は、自身のＩＰアドレスが該リストに含まれることで、当該ファイルを取得することを求められている配信先であると認識する。
接続最大数は、ファイルを取得した配信先が新たな配信元となったときに、同時に接続（配信）できる配信先のクライアント端末２０の最大数である。この接続最大数は、配信先ＩＰアドレスごとに設定され、最初の配信元であるサーバ１０から指定する。
遅延時間は、配信先であるクライアント端末２０が、配信元のサーバ１０やクライアント端末２０からファイル取得指示情報を受信した後、配信元へ接続要求情報の送信を開始するまでの遅延時間で、通常は０（ゼロ）である。遅延時間は、配信先ＩＰアドレスごとに設定され、最初の配信元であるサーバ１０から指定する。接続最大数や遅延時間の用い方は後述する。
【００２５】
また、上述したステップＳ２の接続要求情報の内容は、図３に示すように、処理ＩＤ、接続元ＩＰアドレス、接続先ＩＰアドレスである。接続元ＩＰアドレスは、ステップＳ４〜ステップＳ６でＴＣＰ接続する際の接続元側ＩＰアドレス、つまり配信先ＩＰアドレスである。接続先ＩＰアドレスは、ステップＳ４〜ステップＳ６でＴＣＰ接続する際の接続先側ＩＰアドレス、つまり配信元ＩＰアドレスである。
また、上述したステップＳ３の接続応答情報の内容は、図３に示すように、処理ＩＤ、接続元ＩＰアドレス、接続先ＩＰアドレス、応答コード（許可／不許可）である。応答コードは、接続可否を示すコードである。
また、上述したステップＳ７の切断通知情報の内容は、図３に示すように、処理ＩＤ、接続元ＩＰアドレス、接続先ＩＰアドレスである。
また、上述したステップＳ８のファイル取得指示（ファイル取得通知）の内容は、ステップＳ１のファイル取得指示と同様である。
【００２６】
次に、本発明の実施形態に係るファイル配信システムの構成例について、図４〜図８を用いて説明する。図４は、本実施形態に係るファイル配信システムの構成例を示す図である。
図４に示すように、本実施形態に係るファイル配信システムは、最初のファイル配信元である１台のサーバ１０と、サーバ１０とインターネット等のネットワーク３０を介して接続された複数のクライアント端末２０を備える。
【００２７】
まず、本実施形態に係るサーバの構成例について、図５〜図６を用いて説明する。図５は、本実施形態に係るサーバの機能ブロック構成例を示す図である。図６は、本実施形態に係るサーバ記憶部の構成例を示す図である。
図５に示すように、サーバ１０は、ＣＰＵ（Central  Processing  Unit）を有するサーバ制御部１１、ＲＡＭ（Random Access Memory）やＲＯＭ（Read Only Memory）や磁気ディスク装置等から構成されるサーバ記憶部１２、サーバ操作表示部１３、サーバ外部ＩＦ１４を備える。
サーバ操作表示部１３は、サーバ１０に対する操作者からの指示やデータ等の入力を受付ける操作部や、各種データ等を表示する表示部を備える。該操作部は、キーボードやマウス等から構成される。該表示部は、ＬＣＤ等から構成される。サーバ外部ＩＦ１４は、サーバ１０外部のネットワーク３０と接続するためのインタフェース部である。
【００２８】
図６に示すように、サーバ記憶部１２は、マルチキャストアドレス１２１や、クライアント端末２０へ配信する処理毎に、処理ＩＤ１２２ａ、ファイル名称１２２ｂ、ファイルサイズ１２２ｃ、ファイルパス情報１２２ｄ、配信開始日時１２２ｅ、制限時間１２２ｆ、ファイルデータ１２２ｇを記憶し、さらに、当該サーバ１０自身の接続最大数情報１２３や当該サーバ１０自身のＩＰアドレスを示す配信元ＩＰアドレス情報（図６の例では「１１１０」）１２４、配信先である全てのクライアント端末２０のＩＰアドレスのリストである配信先ＩＰアドレス情報１２５、各配信先のクライアント端末２０の同時接続最大数を示す接続最大数情報１２６、各配信先のクライアント端末２０の遅延時間を示す遅延時間情報１２７、どのクライアント端末２０へファイルを配信することができたかを示す配信状況情報１２８を記憶している。ここで、マルチキャストアドレス１２１、配信先ＩＰアドレス情報１２５、接続最大数情報１２６、遅延時間情報１２７、配信状況情報１２８も、処理ＩＤ１２２ａ毎に保持することが望ましい。これにより、ファイル配信の要求発生毎に配信先が異なる場合であっても、処理ＩＤ１２２ａに基づいて管理することができる。
【００２９】
図６の例では、例えば、ファイルデータ１２２ｇが「ａａａ」の場合は、処理ＩＤ１２２ａが「Ａ０１」、ファイル名称１２２ｂが「ＡＡＡ」、ファイルサイズ１２２ｃが「ａ０２」、ファイルパス情報１２２ｄが「ａ０３」、配信開始日時１２２ｅが「ａ０４」、制限時間１２２ｆが「ａ０５」である。サーバ記憶部１２は、このような配信ファイルデータを複数記憶しており、図６の例では、処理ＩＤ１２２ａが「Ａ０１」と「Ｂ０１」の２つの配信ファイルデータを示す。
【００３０】
また、図６の例では、例えば配信先ＩＰアドレス情報１２５が「１１１１」のクライアント端末２０について、接続最大数情報１２６が「３」、遅延時間情報１２７が「０」ｍｓ、配信状況情報１２８が「○」印、つまり配信済みであることを示し、配信先ＩＰアドレス情報１２５が「１１１２」のクライアント端末２０について、接続最大数情報１２６が「４」、遅延時間情報１２７が「０」ｍｓ、配信状況情報１２８が「−」印、つまり未配信であることを示している。
【００３１】
なお、これらのサーバ記憶部１２のデータのうち、例えば、自身のＩＰアドレス１２４、接続最大数１２６、遅延時間１２７は予め設定されていることが好ましい。同様に、配信ファイルの管理ルートパスや制限時間判断モード（図２のステップＳ１送信時の配信開始日時を無効値とするか否かなどの設定情報）も予め設定されていることが好ましい。また、マルチキャストアドレス１２１、ファイル名称１２２ｂ、ファイルデータ１２２ｇ、配信先ＩＰアドレス１２５は、配信要求の発生毎に、サーバ操作表示部１３又は外部ＩＦ１４を介してネットワークから入力されることが好ましい。さらに、処理ＩＤ１２２ａ、ファイルサイズ１２２ｃ、ファイルパス１２２ｄ、配信開始日時１２２ｅ、制限時間１２２ｆは、システム（例えば、サーバ制御部１１）が自動的に決定または検出するか、設定や一定のルールに基づいて導き出すことが好ましい。なお、配信状況１２８は受信電文から随時取得するデータである。
また、サーバ記憶部１２は、サーバ制御部１１のＣＰＵの動作プログラム等を格納するメモリを備えており、該ＣＰＵは、この動作プログラムに従って動作する。
【００３２】
サーバ制御部１１は、サーバ操作表示部１３やサーバ記憶部１２など、サーバ１０の各構成部及びサーバ１０全体の制御を行うもので、後述のファイル取得指示手段、接続要求解析手段、接続応答手段を有する。
詳しく説明すると、サーバ制御部１１は、全てのクライアント端末２０に対するファイル取得指示として、サーバ記憶部１２内の情報からファイル取得指示情報を作成し、全てのクライアント端末２０へマルチキャスト送信する。このとき、ファイル取得指示情報の配信開始日時はＣＰＵにより自動作成され、サーバ記憶部１２に配信開始日時１２２ｅとして記憶される。このように、サーバ制御部１１は、クライアント端末２０に対してファイル取得を指示するファイル取得指示手段を有する。
【００３３】
サーバ１０からのファイル取得指示情報を受信した全てのクライアント端末２０から、それぞれ、サーバ１０へ接続要求情報がユニキャスト送信され、該接続要求情報をサーバ１０が受信すると、サーバ制御部１１は、該接続要求情報の内容を解析し、該接続要求情報を送信したクライアント端末２０のＩＰアドレスから、接続要求情報を送信したクライアント端末２０を特定する。このように、サーバ制御部１１は、ファイル取得指示情報を受信したクライアント端末２０からの接続要求情報を解析する接続要求解析手段を有する。
【００３４】
次に、サーバ制御部１１は、接続要求情報の送信元であるクライアント端末２０のうち一部（例えば３つ）のクライアント端末２０を選択して、該選択した３つのクライアント端末２０に対し、それぞれ応答コードが許可である接続応答情報を、同時に又は順次、ユニキャスト送信する。他のクライアント端末２０に対しては、応答コードが不許可である接続応答情報を送信することが好ましい。なお、以下の説明において、単に接続応答情報送信と記載し特に断らないときは、応答コードが許可である接続応答情報送信を意味する。このように、サーバ制御部１１は、接続要求情報の送信元であるクライアント端末２０に対して、接続を許可する応答を行う接続応答手段を有する。
なお、上述の接続応答情報の送信先のクライアント端末２０を制限する制限値（例えば３つ）は、接続最大数情報１２３で設定されている。
【００３５】
サーバ１０から接続応答情報を受信したクライアント端末２０は、サーバ１０との通信接続を行い、ファイルパス１２２ｄに基づきサーバ１０からファイルデータ１２２ｇをダウンロードした後、通信を切断して、サーバ１０へ切断通知を行う。さらに該クライアント端末２０は、サーバ１０から受信したファイル取得指示情報に基づき、自身以外のクライアント端末２０に対するファイル取得指示情報（ファイル取得通知）を作成し、自身以外の全てのクライアント端末２０及びサーバ１０へマルチキャスト送信する。
【００３６】
なお、ファイル取得したクライアント端末２０は、ファイル取得指示情報を作成する際、サーバ１０から受信したファイル取得指示情報に基づき作成するが、ファイル取得指示情報中の配信元アドレス、ファイルパスは、自身のＩＰアドレスとファイルパスに変更する。
【００３７】
次に、本実施形態に係るクライアント端末の構成例について、図７と図８を用いて説明する。図７は、本実施形態に係るクライアント端末の機能ブロック構成例を示す図である。図８は、本実施形態に係るクライアント端末記憶部の構成例を示す図である。
図７に示すように、クライアント端末２０は、ＣＰＵを有するクライアント端末制御部２１、ＲＡＭやＲＯＭや磁気ディスク装置等から構成されるクライアント端末記憶部２２、クライアント端末操作表示部２３、クライアント端末外部ＩＦ２４を備える。
クライアント端末操作表示部２３は、クライアント端末２０に対する操作者からの指示やデータ等の入力を受付ける操作部や、各種データ等を表示する表示部を備える。該操作部は、キーボードやマウス等から構成される。該表示部は、ＬＣＤ等から構成される。クライアント端末外部ＩＦ２４は、クライアント端末２０外部のネットワーク３０と接続するためのインタフェース部である。
【００３８】
クライアント端末記憶部２２は、受信したファイル取得指示情報を記憶し、また、図８に示すように、取得した複数のファイルデータ２２２ｇにそれぞれ対応するように、処理ＩＤ２２２ａ、ファイルパス情報２２２ｄ、制限時間２２２ｆを記憶する。さらに、クライアント端末記憶部２２は、当該クライアント端末２０のＩＰアドレスを示す配信元ＩＰアドレス情報（図８の例では「１１２１」）２２４、当該クライアント端末２０に対する配信元のＩＰアドレスである配信元ＩＰアドレス情報２２５、接続可否情報２２６、接続優先順位情報２２７を記憶している。なお、配信元ＩＰアドレス情報２２５、接続可否情報２２６、接続優先順位情報２２７は、処理ＩＤ２２２ａ毎に管理されることが好ましい。
【００３９】
図８の例では、例えば、ファイルデータ２２２ｇが「ａａａ」の場合は、処理ＩＤ２２２ａが「Ａ０１」、ファイルパス情報２２２ｄが「ａ１３」、制限時間２２２ｆが「ａ１５」である。サーバ記憶部１２は、このような配信ファイルデータを複数記憶しており、図８の例では、処理ＩＤ２２２ａが「Ａ０１」と「Ｂ０１」の２つの配信ファイルデータを示す。
【００４０】
処理ＩＤ２２２ａが「Ａ０１」のファイルに対応して当該クライアント端末２０から送信されるファイル取得指示情報は、ファイルパス情報２２２ｄ「ａ１３」、制限時間２２２ｆ「ａ１５」以外は、最初にサーバ１０から送信されたファイル取得指示情報の内容と同じである。ファイルパス情報２２２ｄ「ａ１３」、制限時間２２２ｆ「ａ１５」は、当該クライアント端末２０で設定される。なお、上述したように、制限時間２２２ｆ「ａ１５」は、システム時間が使用できない場合、つまり配信開始日時に無効値を意味する０が設定された場合に、当該クライアント端末２０で設定され、システム時間が使用できる場合は、最初にサーバ１０から送信された制限時間１２２ｆ「ａ０５」が使用される。
【００４１】
配信元ＩＰアドレス情報２２５は、当該クライアント端末２０に対して配信元となる可能性のあるサーバ１０及び他の全てのクライアント端末２０のＩＰアドレスのリストである。接続可否情報２２６は、当該クライアント端末２０がファイルデータを取得するために接続することのできる配信元であるサーバ１０及びクライアント端末２０、つまりファイル取得指示の送信元のサーバ１０及びクライアント端末２０のＩＰアドレスを示すもので、接続可のＩＰアドレスには「○」が格納されている。接続優先順位情報２２７は、接続可否情報２２６で接続可となっているサーバ１０及びクライアント端末２０のうち、接続する際の優先順位を示す。
【００４２】
図８の例では、配信元ＩＰアドレス情報２２５が「１１１０（サーバ１０のＩＰアドレス）」、「１１１１」、・・・とあるように、サーバ１０及び全てのクライアント端末２０のＩＰアドレスから構成されている。例えば、配信元ＩＰアドレス情報２２５が「１１１０」のサーバ１０については、接続可否情報２２６が「○」つまり接続可、接続優先順位情報２２７が「２」であることを示し、配信元ＩＰアドレス情報２２５が「１１１１」のクライアント端末２０については、接続可否情報２２６が「○」、接続優先順位情報２２７が「１」であることを示している。したがって、この場合、このＩＰアドレスが「１１２１」のクライアント端末２０は、接続可である２つの配信元のうち優先順位の高い方、つまりＩＰアドレスが「１１１１」のクライアント端末２０から順に、接続要求を行うことになる。
【００４３】
なお、これらのクライアント端末記憶部２２のデータのうち、例えば、自身のＩＰアドレス情報２２４、接続優先順位情報２２７は予め設定されていることが好ましい。同様に、配信ファイルの管理ルートパスなどの設定情報も予め設定されていることが好ましい。また、接続可否情報２２６は受信電文から随時取得することが好ましい。さらに、ファイルパス２２２ｄや制限時間２２２ｆは、自身が配信元になる際にシステム（例えば、クライアント端末制御部２１）が自動的に決定または検出するか、設定や一定のルールに基づいて導き出すことが好ましい。
また、クライアント端末記憶部２２は、クライアント端末制御部２１のＣＰＵの動作プログラム等を格納するメモリを備えており、該ＣＰＵは、この動作プログラムに従って動作する。
【００４４】
クライアント端末制御部２１は、クライアント端末操作表示部２３やクライアント端末記憶部２２など、クライアント端末２０の各構成部及びクライアント端末２０全体の制御を行うもので、後述の接続要求手段、ファイルデータ取得手段、ファイル取得指示手段、接続要求解析手段、接続応答手段を有する。
詳しく説明すると、クライアント端末制御部２１は、サーバ１０又は他のクライアント端末２０からファイル取得指示情報を受信すると、該ファイル取得指示情報中の配信先ＩＰアドレスに自身のＩＰアドレスが含まれ、該ファイル取得指示情報で指定されたファイルを未取得である場合に、該ファイル取得指示情報の送信元のサーバ１０又はクライアント端末２０に関する接続可否情報２２６を接続可（○印）とし、接続優先順位情報２２７を参照して、接続可であるサーバ１０及びクライアント端末２０に対して、接続が許可されるまで、優先順位順に各配信元に接続試行する。このように、クライアント端末制御部２１は、ファイル取得指示情報の送信元のサーバ１０又はクライアント端末２０に対して接続要求を行う接続要求手段を有する。
クライアント端末制御部２１は、受信したファイル取得指示情報中の配信先ＩＰアドレスに自身のＩＰアドレスが含まれないか、又は、該ファイル取得指示情報で指定されたファイルを取得済みである場合には、接続要求情報送信等のファイル取得動作を行わない。
【００４５】
なお、ファイル取得指示情報で指定されたファイルを未取得であるか取得済みであるかは、該ファイル取得指示情報中の処理ＩＤ及び／又はファイル名称と、クライアント端末記憶部２２に記憶された取得済みのファイルに関するファイル取得指示情報の処理ＩＤ及び／又はファイル名称とを比較して判断される。
また、接続優先順位情報２２７は、接続要求を行うクライアント端末２０で設定されたものであり、接続優先順位情報２２７を用いることにより、同一セグメント上の配信元や伝送容量の大きな回線で結ばれた配信元に優先的に接続するような設定により、全体の処理効率を向上できる。
また、接続要求情報の送信を開始する際に、ファイル取得指示情報で設定された遅延時間に基づき、接続要求情報の送信開始を遅延させることが可能である。こうすることにより、最初の配信で各セグメントの代表に配信し、残りはそれぞれ代表から配信を受けるなどの制御が可能となる。
【００４６】
接続要求を行った後、クライアント端末制御部２１は、接続要求情報の送信先のサーバ１０又はクライアント端末２０から接続応答情報を受信すると、該接続応答情報の送信元のサーバ１０又はクライアント端末２０とＴＣＰ接続を行い、ファイルデータを取得した後、送信元とのＴＣＰ接続を切断する。その後、ファイルデータを取得した相手のサーバ１０又はクライアント端末２０へ、切断通知を行う。このように、クライアント端末制御部２１は、接続応答情報の送信元のサーバ１０又はクライアント端末２０からファイルデータを取得するファイルデータ取得手段を有する。
【００４７】
ファイルデータを取得したクライアント端末２０は新たな配信元となり、該配信元となったクライアント端末２０のクライアント端末制御部２１は、ファイル取得指示情報（ファイル取得通知）を作成し、サーバ１０及び他の全てのクライアント端末２０へマルチキャスト送信する。このように、クライアント端末制御部２１は、他のクライアント端末２０に対してファイル取得を指示するファイル取得指示手段を有する。
ファイル取得指示情報を受信した全てのクライアント端末２０から、それぞれ、配信元のクライアント端末２０へ接続要求情報がユニキャスト送信され、該接続要求情報を配信元のクライアント端末２０が受信すると、配信元のクライアント端末制御部２１は、該接続要求情報の内容を解析し、該接続要求情報の送信元のクライアント端末２０のＩＰアドレスから、接続要求情報の送信元のクライアント端末２０を特定する。このように、クライアント端末制御部２１は、ファイル取得指示情報を受信したクライアント端末２０からの接続要求情報を解析する接続要求解析手段を有する。
【００４８】
次に、配信元のクライアント端末制御部２１は、接続要求情報の送信元のクライアント端末２０のうち一部（例えば３つ）のクライアント端末２０を選択して、該選択した３つのクライアント端末２０に対し、それぞれ、接続応答情報を同時に又は順次ユニキャスト送信する。このように、クライアント端末制御部２１は、接続要求情報の送信元であるクライアント端末２０に対して、接続を許可する応答を行うとともに、接続を許可しないクライアント端末２０に対して接続不許可の応答を行う接続応答手段を有する。
なお、上述の接続応答情報の送信先のクライアント端末２０を制限する制限値は、サーバ１０から送信されたファイル取得指示情報中の同時接続最大数１２６として指定されたものである。このようにサーバ１０から同時接続最大数を指定するので、より配信性能の高いクライアント端末２０にはより多くのクライアント端末２０を接続してファイル配信を行うことが容易となり、ファイル配信システム全体のファイル配信効率が向上する。
【００４９】
配信元から接続応答情報を受信したクライアント端末２０は、配信元のクライアント端末２０との通信接続を行い、配信元のファイルパスに基づき配信元からファイルデータをダウンロードした後、通信を切断して、配信元へ切断通知を行う。さらにファイル取得したクライアント端末２０は、新たな配信元となり、自身以外のクライアント端末２０に対するファイル取得指示情報（ファイル取得通知）を作成し、自身以外の全てのクライアント端末２０及びサーバ１０へマルチキャスト送信する。
【００５０】
なお、ファイル取得したクライアント端末２０は、ファイル取得指示情報を作成する際、配信元から受信したファイル取得指示情報に基づき作成するが、ファイル取得指示情報中の配信元アドレス、ファイルパスは、自身のＩＰアドレスとファイルパスに変更する。
【００５１】
次に、ファイル配信処理全体の流れを、図９を用いて説明する。図９は、本実施形態に係るファイル配信例を示す図である。
まず、図９（ａ）に示すように、最初の配信元であるサーバ１０が、全ての配信先、つまりクライアント端末２０（１）〜（６）にファイル取得指示を送信する。
【００５２】
図９（ｂ）に示すように、配信元の同時接続最大数（図９の例では２）まで接続を許可、つまりクライアント端末２０（１）（２）が接続を許可される。残りのクライアント端末２０（３）〜（６）は接続不許可となるが、一定間隔でサーバ１０へ接続要求を再送信する。この接続リトライは、ファイル取得指示内の制限時間（配信元がファイルの保持を保証する時間）が経過するまで繰り返される。その後、ファイル取得動作を行った配信先であるクライアント端末２０（１）（２）は、配信元であるサーバ１０へ切断通知を送信する。これにより配信元であるサーバ１０は、別のクライアント端末２０から接続要求を受け入れる余裕ができたと認識する。
【００５３】
図９（ｃ）に示すように、ファイルを取得した配信先であるクライアント端末２０（１）（２）は、サーバ１０への接続要求送信を停止するとともに、配信元のサーバ１０と配信先である他の全てのクライアント端末２０（３）〜（６）にファイル取得指示（ファイル取得通知）を送信する。配信元のサーバ１０は、この電文で配信処理の経過状況、つまり、クライアント端末２０（１）（２）がファイル取得済みであり、クライアント端末２０（３）〜（６）がファイル未取得であることを把握する。
ファイル取得指示の送信後、この配信先のクライアント端末２０（１）（２）は、制限時間の経過まで新しい配信元として機能する。新しい配信元の接続最大数は、最初のサーバ１０からのファイル取得指示で得た接続最大数リストにおいて、自身のＩＰアドレスに対して指定された値である。
【００５４】
図９（ｄ）に示すように、クライアント端末２０（１）（２）からのファイルタ取得指示を受信することで、まだファイルを取得していない配信先のクライアント端末２０（３）〜（６）は、配信元が増えたと認識する。配信先のクライアント端末２０（３）〜（６）は、これら配信元のＩＰアドレスをリストで管理し、接続要求先を順次又は適宜変更してリトライを繰り返す。これにより各配信先のクライアント端末２０（３）〜（６）は、制限時間の経過まで接続可能な配信元を探してファイルを取得する動作を行う。
【００５５】
以降、配信先のクライアント端末２０がファイルを取得するごとに新しい配信元が増え、配信元の負荷は分散される。また、仮に一部の配信先にサーバ１０からの最初のファイル取得指示が届かなかったとしても、それ以降に、新しく配信元となったクライアント端末２０からファイル取得指示を得ることにより、当該ファイル配信処理への途中参加が可能である。同様に、ファイル取得途中における接続要求等の制御電文の欠落についても、配信元と配信先の間で繰り返し行われる送受信により結果的に補完される。
【００５６】
但し、接続応答と切断通知に関しては、欠落に備えてタイムアウトタイマを設け、接続応答や切断通知を所定の時間内に受信できなかったときは、接続応答や切断通知の受信処理を打ち切る必要がある。また各配信先からサーバ１０へのファイル取得指示（ファイル取得通知）送信は、最初の配信元であるサーバ１０がファイル配信処理の結果や状況を得るのに役立つが、届く保証がない点において、必ずしも正確な情報ではないことに留意すべきである。
【００５７】
最終的には、サーバ１０からの最初のファイル取得指示で決められた制限時間の経過を以ってファイル配信処理は終了する。制限時間の経過を検出した場合、各配信先は接続要求リトライを停止し、実行中のファイル転送手順を中断しなければならない。同様に各配信元は以降の接続要求を受け付けず、送信対象ファイル保持の責任から解放される。最初の配信元であるサーバ１０は、その時点で受信できているファイル取得指示（ファイル取得通知）から、配信処理全体の結果を得る。
【００５８】
なお、ファイル取得指示（ファイル取得通知）と同様の仕組みで、サーバ１０は全てのクライアント端末２０に対して強制終了指示を、ＵＤＰ／マルチキャストによる制御電文として送信することにより、ファイル配信処理の中断機能を実現することができる。この強制終了指示機能は、最初の配信元が制限時間の経過を待たずに全配信先へのファイル配信完了を検出した場合にも利用可能であり、これにより複数のファイルを配信する場合の配信効率を向上できる。
【００５９】
以上説明した実施形態によれば、単純にＵＤＰマルチキャスト配信した場合に比べ、データ伝送の信頼性が高くなる。対象ネットワークの規模が大きく、回線品質が悪いほど、本実施形態の方式の利点は相対的に大きくなる。また、ＴＣＰを用いた従来のファイル配信と効率面（ファイル配信処理の所要時間）を比較した場合、ファイルの容量が大きく、配信元の性能が低く、配信先が多いほど、本実施形態の方式の効果は高いものとなる。
【００６０】
なお、本発明は、前記実施形態に限定されるものではなく、その要旨を逸脱しない範囲で種々に変更が可能であることはいうまでもない。
前記実施形態では、ファイル取得指示情報は、全てのクライアント端末へ送信されたが、全てではなく、ある程度の数のクライアント端末へ送信するように構成することもできる。
また、前記実施形態では、クライアント端末は、サーバ又は他のクライアント端末からファイル取得指示情報を受信すると、ファイル取得指示情報の送信元のサーバ又はクライアント端末の全て又はいずれか複数に対して接続要求情報を送信したが、ファイル取得指示情報の送信元のサーバ又はクライアント端末のいずれか１つに対して接続要求情報を送信するように構成することもできる。
また、前記実施形態では、クライアント端末は、サーバ又は他のクライアント端末からファイル取得指示情報を受信すると、ファイル取得するか又は制限時間になるまで接続要求情報を繰り返し送信したが、接続要求情報を所定の回数だけ繰り返し送信した後、接続要求情報送信を停止するように構成することもできる。
また、前記実施形態では、接続応答情報は、複数のクライアント端末へ送信されたが、１つのクライアント端末へ送信するように構成することもできる。
また、前記実施形態では、配信終了時刻を指定する方法として、配信開始日時と制限時間を指定する方法を用いたが、全ての配信先と配信元のシステム時間が一致している場合は、直接配信終了時刻を指定する方法を用いることができる。
また、本発明は、本発明に係る処理を実行するシステムとしてだけでなく、装置、方法として、或いは、このような方法やシステムを実現するためのプログラムや当該プログラムを記録する記録媒体などとして把握することができる。
【００６１】
本明細書の記載には、少なくとも次の発明が含まれる。
第１の発明は、
サーバから複数のクライアント端末に対してデータを配信するデータ配信システムであって、
前記サーバは、
前記複数のクライアント端末に対して、データ取得指示情報を送信し、該データ取得指示情報を受信した前記クライアント端末から接続要求情報を受信すると、該接続要求情報の送信元であるクライアント端末のうち一部のクライアント端末に対して接続応答情報を送信し、
前記クライアント端末は、
前記サーバ又は他のクライアント端末からデータ取得指示情報を受信すると、該データ取得指示情報で指定されたデータを未取得の場合は、前記データ取得指示情報の送信元である前記サーバ又は他のクライアント端末に対して所定の間隔で接続要求情報の送信を繰り返し、該接続要求情報に対する前記サーバ又は他のクライアント端末からの接続応答情報を受信すると、該接続応答情報の送信元である前記サーバ又は他のクライアント端末からデータを取得するとともに、前記接続要求情報の送信を停止して、自身以外の複数のクライアント端末に対してデータ取得指示情報を送信し、
自身以外の複数のクライアント端末に対してデータ取得指示情報を送信した後、該データ取得指示情報を受信したクライアント端末から接続要求情報を受信すると、該接続要求情報の送信元であるクライアント端末のうち一部のクライアント端末に対して接続応答情報を送信することを特徴とするデータ配信システム。
このようにすると、データ伝送の信頼性と伝送速度を両立することができる。つまり、データ配信先であったクライアント端末が配信元となり負荷分散を行うことができ、配信処理全体の時間を短縮することができる。
なお、前記第１の発明において、クライアント端末は、サーバ又は他のクライアント端末からデータ取得指示情報を受信すると、データ取得指示情報の送信元のうち、いずれか１つ又は複数に対して接続要求情報を送信するものである。
【００６２】
第２の発明は、第１の発明のデータ配信システムであって、
前記サーバは、前記複数のクライアント端末の全てに対して、データ取得指示情報を送信し、
前記クライアント端末は、前記サーバ又は他のクライアント端末からデータを取得すると、自身以外のクライアント端末の全てに対してデータ取得指示情報を送信することを特徴とするデータ配信システム。
このようにすると、各クライアント端末に対するデータ配信効率がより向上する。
【００６３】
第３の発明は、第１の発明又は第２の発明のデータ配信システムであって、
前記クライアント端末は、前記サーバ又は他のクライアント端末からデータを取得すると、前記サーバ及び自身以外のクライアント端末に対してデータ取得指示情報を送信することを特徴とするデータ配信システム。
このようにすると、最初の配信元であるサーバが、各クライアント端末におけるデータ配信状況を把握できる。
【００６４】
第４の発明は、第１の発明ないし第３の発明のデータ配信システムであって、
前記サーバは、該サーバから送信するデータ取得指示情報において各クライアント端末における同時接続最大数を指定することを特徴とするデータ配信システム。
このようにすると、より配信性能の高いクライアント端末にはより多くのクライアント端末を接続してデータ配信ができ、データ配信システム全体のデータ配信効率が向上する。
【００６５】
第５の発明は、第１の発明ないし第４の発明のデータ配信システムであって、
前記サーバは、該サーバが送信するデータ取得指示情報において配信終了時刻を指定することを特徴とするデータ配信システム。
配信終了時刻を指定する方法としては、配信開始日時と制限時間を指定する方法を用いてもよいし、直接配信終了時刻を指定する方法を用いてもよい。
このようにすると、データ配信システム全体の配信終了時刻を統一して指定することができ、次のデータの配信をより早く行うことができる。
【００６６】
第６の発明は、第５の発明のデータ配信システムであって、
前記サーバは、該サーバが送信するデータ取得指示情報において配信開始日時と制限時間を指定し、
前記クライアント端末は、自身が送信するデータ取得指示情報内の制限時間を、前記サーバ又は他のクライアント端末から受信したデータ取得指示情報内の制限時間から、自身が送信するデータ取得指示情報の送信までの時間を差し引いて設定することを特徴とするデータ配信システム。
このようにすると、配信先と配信元のシステム時間が一致していない場合であっても、システム時間に依存することなく、データ配信処理終了を判断することができる。
【００６７】
第７の発明は、第１の発明ないし第６の発明のデータ配信システムであって、
前記クライアント端末は、データ取得指示情報の送信元である前記サーバ又はクライアント端末に対して所定の間隔で接続要求情報の送信を行う際に、当該クライアント端末で設定された優先順位情報であって、接続要求先を選択する際の優先順位を定めた優先順位情報に基づき、接続要求先を選択することを特徴とするデータ配信システム。
このようにすると、同一セグメント上の接続要求先（配信元）をに優先的に接続試行することができるなど、データ配信システム全体のデータ配信効率が向上する。
【００６８】
第８の発明は、第１の発明ないし第７の発明のデータ配信システムであって、
前記クライアント端末は、データ取得指示情報の送信元である前記サーバ又はクライアント端末に対して接続要求情報の送信を開始する際に、前記データ取得指示情報で設定された遅延時間に基づき、接続要求情報の送信開始を遅延させることを特徴とするデータ配信システム。
このようにすると、最初の配信で各セグメントの代表に配信し、残りはそれぞれ代表から配信を受けるなどの制御が最初の配信元から可能となる。
【００６９】
第９の発明は、第１の発明ないし第８の発明のデータ配信システムであって、
前記データ取得指示情報、前記接続要求情報、前記接続応答情報を含む制御情報の送受信にはＵＤＰを用い、データ取得時におけるデータの送受信にはＴＣＰを用いることを特徴とするデータ配信システム。
このようにすると、ファイルデータ伝送の信頼性を向上しつつ、伝送速度を向上することができる。
【００７０】
第１０の発明は、第１の発明ないし第９の発明のデータ配信システムであって、
前記サーバは、前記複数のクライアント端末に対して、データ取得の強制終了を指示する強制終了指示情報を送信可能であることを特徴とするデータ配信システム。
このようにすると、最初の配信元が制限時間の経過を待たずに全配信先へのデータ配信完了を検出した場合に強制終了し、次のデータの配信を行うことができるので、複数のデータを配信する場合の配信効率を向上することができる。
【００７１】
第１１の発明は、
サーバから複数のクライアント端末に対してデータを配信するデータ配信システムを構成するクライアント端末であって、
前記サーバ又は他のクライアント端末からデータ取得指示情報を受信すると、該データ取得指示情報で指定されたデータを未取得の場合は、前記データ取得指示情報の送信元である前記サーバ又は他のクライアント端末に対して所定の間隔で接続要求情報の送信を繰り返し、該接続要求情報に対する前記サーバ又は他のクライアント端末からの接続応答情報を受信すると、該接続応答情報の送信元である前記サーバ又は他のクライアント端末からデータを取得するとともに、前記接続要求情報の送信を停止して、自身以外の複数のクライアント端末に対してデータ取得指示情報を送信し、
自身以外の複数のクライアント端末に対してデータ取得指示情報を送信した後、該データ取得指示情報を受信したクライアント端末から接続要求情報を受信すると、該接続要求情報の送信元であるクライアント端末のうち一部のクライアント端末に対して接続応答情報を送信することを特徴とするクライアント端末。
【００７２】
第１２の発明は、
サーバから複数存在する第１のクライアント端末に対してデータを配信するデータ配信システム又はデータ配信方法であって、
前記サーバが、前記第１のクライアント端末に対して、第１のデータ取得指示情報を送信する第１データ取得指示ステップと、
前記第１のデータ取得指示情報を受信した第１のクライアント端末のそれぞれが、前記サーバに対して所定の間隔で第１の接続要求情報を繰り返し送信する第１接続要求ステップと、
前記第１の接続要求情報を受信した前記サーバが、前記第１のクライアント端末のうち一部の第２のクライアント端末に対して、第１の接続応答情報を送信する第１接続応答ステップと、
前記第１の接続応答情報を受信した前記第２のクライアント端末のそれぞれが、前記サーバからデータを取得する第１データ取得ステップと、
前記サーバからデータを取得した前記第２のクライアント端末のそれぞれが、前記第１の接続要求情報の送信を停止して、前記第１のクライアント端末のうち自身以外の第３のクライアント端末に対して第２のデータ取得指示情報を送信する第２データ取得指示ステップと、
前記第２のデータ取得指示情報を受信した前記第３のクライアント端末のそれぞれが、前記第１のデータ取得指示情報の送信元である前記サーバ又は前記第２のデータ取得指示情報の送信元である前記第２のクライアント端末に対して、所定の間隔で第２の接続要求情報を繰り返し送信する第２接続要求ステップと、
前記第２の接続要求情報を受信した前記サーバ又は前記第２のクライアント端末が、前記第２の接続要求情報の送信元である第３のクライアント端末のうち一部の第４のクライアント端末に対して、第２の接続応答情報を送信する第２接続応答ステップと、
前記第２の接続応答情報を受信した前記第４のクライアント端末のそれぞれが、前記第２の接続応答情報の送信元である前記サーバ又は前記第２のクライアント端末からデータを取得する第２データ取得ステップと、
前記データを取得した第４のクライアント端末のそれぞれが、前記第２の接続要求情報の送信を停止して、前記第１のクライアント端末のうち自身以外の第５のクライアント端末に対して第３のデータ取得指示情報を送信する第３データ取得指示ステップと、
前記第３のデータ取得指示情報を受信した前記第５のクライアント端末のそれぞれが、前記第１ないし第３のデータ取得指示情報の送信元である前記サーバ又は前記第２のクライアント端末又は前記第４のクライアント端末に対して、所定の間隔で第３の接続要求情報を繰り返し送信する第３接続要求ステップと、
前記第３の接続要求情報を受信した前記サーバ又は前記第２のクライアント端末又は前記第４のクライアント端末が、前記第３の接続要求情報の送信元である第５のクライアント端末のうち一部の第６のクライアント端末に対して、第３の接続応答情報を送信する第３接続応答ステップと、
前記第３の接続応答情報を受信した前記第６のクライアント端末のそれぞれが、前記第３の接続応答情報の送信元である前記サーバ又は前記第２のクライアント端末又は前記第４のクライアント端末からデータを取得する第３データ取得ステップと、
を備えることを特徴とするデータ配信システム又はデータ配信方法。
【符号の説明】
【００７３】
１０…サーバ、１１…サーバ制御部、１２…サーバ記憶部、１３…サーバ操作表示部、１４…サーバ外部ＩＦ、２０…クライアント端末、２１…クライアント端末制御部、２２…クライアント端末記憶部、２３…クライアント端末操作表示部、２４…クライアント端末外部ＩＦ、３０…ネットワーク、１２１…マルチキャストアドレス、１２２ａ…処理ＩＤ、１２２ｂ…ファイル名称、１２２ｃ…ファイルサイズ、１２２ｄ…ファイルパス情報、１２２ｅ…配信開始日時、１２２ｆ…制限時間、１２２ｇ…ファイルデータ、１２３…自身の接続最大数、１２４…自身のＩＰアドレス、１２５…配信先ＩＰアドレス、１２６…接続最大数情報、１２７…遅延時間情報、１２８…配信状況情報、２２２ａ…処理ＩＤ、２２２ｄ…ファイルパス情報、２２２ｆ…制限時間、２２２ｇ…ファイルデータ、２２４…自身のＩＰアドレス、２２５…配信元ＩＰアドレス、２２６…接続可否情報、２２７…接続優先順位情報。
【図１】
2013026728.tif 000003
【図２】
2013026728.tif 000004
【図３】
2013026728.tif 000005
【図４】
2013026728.tif 000006
【図５】
2013026728.tif 000007
【図６】
2013026728.tif 000008
【図７】
2013026728.tif 000009
【図８】
2013026728.tif 000010
【図９】
2013026728.tif 000011
【図１０】
2013026728.tif 000012