(57)【要約】【課題】複数ユーザーにデータを配信するサーバの負荷を軽減するデータ送信制御サーバ、及びデータ送信システムを提供する。【解決手段】データ送信制御サーバは、ネットワークに接続し、ネットワークを介してデータ送信サーバ、データ送信補助サーバ、及びクライアントと通信を行い、当該データ送信サーバとデータ送信補助サーバはクライアントの要求に基づいてクライアントにデータを送信するネットワークインターフェースと、配信データを識別するデータ識別子、配信データのアドレスを指定するデータ配信アドレス、及びデータ配信の開始時刻を示すデータ配信開始時刻が保存されているデータ配信情報データベースと、前記クライアントからのデータ配信要求に基づいて、前記データ送信サーバと前記データ送信補助サーバに配信データセッション情報を送信することで、前記クライアントにデータを配信するように前記データ送信サーバと前記データ送信補助サーバを制御する制御部と、を備える。【選択図】図１
2010028812.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに接続するとともに当該ネットワークを介してデータ送信サーバ、データ送信補助サーバ、及びクライアントと通信を行い、当該データ送信サーバとデータ送信補助サーバはクライアントの要求に基づいてクライアントにデータを送信するネットワークインターフェースと、
配信データを識別するデータ識別子、配信データのアドレスを指定するデータ配信アドレス、及びデータ配信の開始時刻を示すデータ配信開始時刻が保存されているデータ配信情報データベースと、
前記クライアントからのデータ配信要求に基づいて、前記データ送信サーバと前記データ送信補助サーバに配信データセッション情報を送信することで、前記クライアントにデータを配信するように前記データ送信サーバと前記データ送信補助サーバを制御する制御部と、を備えることを特徴とするデータ送信制御サーバ。
【請求項２】
前記データ送信補助サーバは、前記クライアントの受信データに紛失があった場合、前記クライアントの再送信要求に基づいて前記クライアントにデータを再送信することを特徴とする請求項１に記載のデータ送信制御サーバ。
【請求項３】
前記クライアントの再送信要求は前記データ送信補助サーバに直接送信されるか、または前記データ送信制御サーバ或いは前記データ送信サーバを経由して前記データ送信補助サーバに送信されることを特徴とする請求項２に記載のデータ送信制御サーバ。
【請求項４】
予め決められた時刻で、前記データ送信サーバはマルチキャスト方法によって前記クライアントにデータを送信し、前記データ送信補助サーバはユニキャスト方法によって前記クライアントにデータを送信することを特徴とする請求項２に記載のデータ送信制御サーバ。
【請求項５】
前記データ送信制御サーバは前記ネットワークインターフェースを介して、前記データ送信サーバと前記データ送信補助サーバに前記データ識別子、前記データ配信アドレス、及び前記データ配信開始時刻を含む配信データセッション情報を送信することで、前記データ送信サーバと前記データ送信補助サーバが前記クライアントにデータを送信することを特徴とする請求項１に記載のデータ送信制御サーバ。
【請求項６】
前記データ配信情報データベースにはデータ配信の終了時刻を示すデータ配信終了時刻がさらに保存されており、
前記制御部は前記データ送信サーバに前記データ配信終了時刻を含む配信データセッション情報を送信するように前記ネットワークインターフェースを制御することを特徴とする請求項１に記載のデータ送信制御サーバ。
【請求項７】
前記データ配信情報データベースにはデータ配信を要求したクライアントのアドレスを管理するデータ要求元アドレスがさらに保存されており、
前記制御部は前記データ送信補助サーバに前記データ要求元アドレスを含む配信データセッション情報を送信するように前記ネットワークインターフェースを制御することを特徴とする請求項１に記載のデータ送信制御サーバ。
【請求項８】
前記データ送信補助サーバは複数の前記クライアントから前記データ再送要求を受信した場合、再送信を要求するクライアントの数が予め決められた閾値を越えたとき、前記データ送信サーバにデータ送信速度変更要求を送信することを特徴とする請求項１に記載のデータ送信制御サーバ。
【請求項９】
前記予め決められた閾値はデータ配信を要求するクライアントの全クライアントに占める比率であることを特徴とする請求項８に記載のデータ送信制御サーバ。
【請求項１０】
ネットワークに接続するとともに当該ネットワークを介してデータ配信を要求したクライアント、データ配信処理を制御するデータ送信制御サーバ、及び予め決められた時刻でデータを送信するデータ送信サーバと通信を行うネットワークインターフェースと、
配信データを識別するデータ識別子、及び唯一の番号によって確定されるデータブロックの集合を含む配信データが保存されているデータ情報データベースと、
配信データを識別するデータ識別子、配信データのアドレスを指定するデータ配信アドレス、データ配信の開始時刻を示すデータ配信開始時刻、及びデータ配信を要求したクライアントのアドレスを管理するデータ要求元アドレスが保存されているデータ配信情報データベースと、
前記データ送信制御サーバからの配信データセッション情報を受信し、前記クライアントが前記データ送信サーバから受信したデータに紛失があって再送信要求を発信した場合、前記クライアントにデータを再送信する制御部と、を備えることを特徴とするデータ送信補助サーバ。
【請求項１１】
クライアント、ネットワークを介して前記クライアントに接続するデータ送信制御サーバ、データ送信サーバ、及びデータ送信補助サーバを備え、
前記データ送信サーバと前記データ送信補助サーバは前記データ送信制御サーバの制御によって、前記クライアントにデータを配信し、
前記データ送信制御サーバは、ネットワークに接続するとともに当該ネットワークを介してデータ送信サーバ、データ送信補助サーバ、及びクライアントと通信を行い、当該データ送信サーバとデータ送信補助サーバはクライアントの要求に基づいてクライアントにデータを送信するネットワークインターフェースと、配信データを識別するデータ識別子、配信データのアドレスを指定するデータ配信アドレス、及びデータ配信の開始時刻を示すデータ配信開始時刻が保存されているデータ配信情報データベースを有する制御部と、を具備し、
前記制御部は前記クライアントからのデータ配信要求に基づいて、配信データセッション情報を送信することで、前記クライアントにデータを配信するように前記データ送信サーバと前記データ送信補助サーバを制御する、ことを特徴とするデータ配信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は通信制御装置及び通信制御方法に関し、特に複数ユーザーにデータを配信するサーバの負荷を軽減するデータ送信制御サーバとデータ配信システムに関する。
【背景技術】
【０００２】
ビデオオンデマンド（ＶｏＤ）や着信メールのダウンロードなどの通信はほとんどユニキャストによって行われている。ユニキャストは通信を行っている両者間の単独の通信パスを確保するために、複数のユーザーが同一のデータのダウンロードを要求した場合、ユーザー数の通信バンド幅を消耗する。マルチキャストはグループへの同報通信であり、複数のユーザーにおいてバンド幅を共有することを目的としているが、上記ＶｏＤなどのようなユーザーの単独のデータダウンロードの場合には対応できない。
【０００３】
複数のユーザーに対して効率よくデータ配信を行うために、例えば、公知の技術「特開２００１−３４４１６６」において、ユーザーの要求に基づいてコンテンツの配信時間と配信装置を順次にスケジューリングする方法が開示されている。当該公知例において、複数のユーザーのデータ配信要求がある時刻内に届いた場合、これらの配信要求をまとめてマルチキャストデータ配信を行う技術が公開されている。
【０００４】
マルチキャストによってデータを無欠損に配信する技術として、高信頼マルチキャスト技術がある。これはユニキャストのＴｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｃｏｌ（ＴＣＰ）と同様に、データの紛失が発生した場合、データ受信者の要求に基づいて、データ送信者が再送信処理を行い、確実にデータを送信することを目的としている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００１−３４４１６６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ユーザーの利用可能なネットワークのバンド幅が増えつづき、高信頼マルチキャスト技術によって数ＧＢに達する大容量のデータを配信することは理論上可能である。しかし、大容量のデータ配信において、再送処理を考慮しなくても最初から最後までの送信だけで相当の時間が必要で、さらに、データの再送処理により、データ送信に必要時間は長くなる。例えば、あるデータを最初から最後まで送信するのに３０分が必要な場合、実際にすべてのデータ受信者がデータ受信を終了するのに必要時間は当該３０分に再送処理の時間（例えば１０分）が加わることになる。当該再送処理の時間はネットワーク及びデータ受信者の状況によって変わる。一方、このような大容量のデータ配信サーバにおいて、データ配信サーバのリソース管理の観点から、データ配信のスケジューリング（ｓｃｈｅｄｕｌｉｎｇ）が必要であるが、上述したようにデータ再送処理に必要時間がダイナミックに変化するため、配信スケジュール（ｓｃｈｅｄｕｌｅｒ）を決定するのが難しい。
【０００７】
本発明は複数のユーザーにデータを配信する装置の負荷分散技術であり、大容量のデータをマルチキャスト通信によって配信する際に、データをマルチキャストによって一度だけ送信（ブロードキャスト）するデータ送信サーバと補助データの再送処理をするデータ送信補助サーバの負荷を分散させることで、データ再送処理がデータ配信のスケジュールに影響を与えない通信制御装置及び通信制御方法を提供することを目的とする。一方、当該通信制御装置及び通信制御方法において、一般的にデータの送信は一度だけ行ってデータのブロードキャストに対応するため、データ送信サーバをデータ送信サーバと称し、また、データ送信補助サーバの役割は主にデータの再送であるため、以降データ送信補助サーバをデータ再送サーバと称する。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、本発明のデータ送信制御サーバは、ネットワークに接続するとともに当該ネットワークを介してデータ送信サーバ、データ送信補助サーバ、及びクライアントと通信を行い、当該データ送信サーバとデータ送信補助サーバはクライアントの要求に基づいてクライアントにデータを送信するネットワークインターフェースと、配信データを識別するデータ識別子、配信データのアドレスを指定するデータ配信アドレス、及びデータ配信の開始時刻を示すデータ配信開始時刻が保存されているデータ配信情報データベースを有する制御部と、を備え、前記制御部は前記クライアントからのデータ配信要求に基づいて、前記データ送信サーバと前記データ送信補助サーバに配信データセッション情報を送信することで、前記クライアントにデータを配信するように前記データ送信サーバと前記データ送信補助サーバを制御する。
【０００９】
前記データ送信補助サーバは、前記クライアントの受信データに紛失があった場合、前記クライアントの再送信要求に基づいて前記クライアントにデータを再送信する。
【００１０】
前記クライアントの再送信要求は前記データ送信補助サーバに直接送信されるか、または前記データ送信制御サーバ或いは前記データ送信サーバを経由して前記データ送信補助サーバに送信される。
【００１１】
本発明のデータ送信補助サーバは、ネットワークに接続するとともに当該ネットワークを介してデータ配信を要求したクライアント、データ配信処理を制御するデータ送信制御サーバ、及び予め決められた時刻でデータを送信するデータ送信サーバと通信を行うネットワークインターフェースと、配信データを識別するデータ識別子、及び唯一の番号によって確定されるデータブロックの集合を含む配信データが保存されているデータ情報データベースと、配信データを識別するデータ識別子、配信データのアドレスを指定するデータ配信アドレス、データ配信の開始時刻を示すデータ配信開始時刻、及びデータ配信を要求したクライアントのアドレスを管理するデータ要求元アドレスが保存されているデータ配信情報データベースと、前記データ送信制御サーバからの配信データセッション情報を受信し、前記クライアントが前記データ送信サーバから受信したデータに紛失があって再送信要求を発信した場合、前記クライアントにデータを再送信する制御部と、を備える。
【００１２】
本発明のデータ配信システムは、クライアント、ネットワークを介して前記クライアントに接続するデータ送信制御サーバ、データ送信サーバ、及びデータ送信補助サーバを具備し、前記データ送信サーバと前記データ送信補助サーバは前記データ送信制御サーバの制御によって、前記クライアントにデータを配信し、前記データ送信制御サーバは、ネットワークに接続するとともに当該ネットワークを介してデータ送信サーバ、データ送信補助サーバ、及びクライアントと通信を行い、当該データ送信サーバとデータ送信補助サーバはクライアントの要求に基づいてクライアントにデータを送信するネットワークインターフェースと、配信データを識別するデータ識別子、配信データのアドレスを指定するデータ配信アドレス、及びデータ配信の開始時刻を示すデータ配信開始時刻が保存されているデータ配信情報データベースを有する制御部と、を具備し、前記制御部は前記クライアントからのデータ配信要求に基づいて、配信データセッション情報を送信することで、前記クライアントにデータを配信するように前記データ送信サーバと前記データ送信補助サーバを制御する。
【発明の効果】
【００１３】
本発明において、データ再送サーバでデータ送信サーバの再送処理を代行することで、データ送信サーバのデータ配信スケジュールを延長せずに確定させることができるので、ユーザーはデータの配信開始時刻を容易に取得することができる。また、システム全体において、データ配信処理の負荷を分散させることが出来る。
【図面の簡単な説明】
【００１４】
【図１】本発明に係わる一実施形態のデータ配信システムのブロック図である。
【図２】本発明に係わる一実施形態のデータ配信システムの他の形態のブロック図である。
【図３】データ送信制御サーバの構造を示すブロック図である。
【図４】データ送信制御サーバの機能を示すブロック図である。
【図５】データ送信サーバの構造を示すブロック図である。
【図６】データ送信サーバの機能を示すブロック図である。
【図７】データ再送サーバの構造を示すブロック図である。
【図８】データ再送サーバの機能を示すブロック図である。
【図９】クライアントの構造を示すブロック図である。
【図１０】クライアントの機能を示すブロック図である。
【図１１】データ配信処理全体を示す時系列図である。
【図１２】データ配信処理において、データ送信サーバがクライアントからのデータ再送要求を受信した場合の時系列図である。
【図１３】データ配信処理において、データ送信制御サーバがクライアントからのデータ再送要求を受信した場合の時系列図である。
【図１４】データ配信終了処理を示す時系列図である。
【図１５】データ配信終了処理において、データ再送サーバがクライアントからのデータ受信完了通知を受信した場合の時系列図である。
【図１６】データ配信終了処理において、データ送信制御サーバがクライアントからのデータ受信完了通知を受信した場合の時系列図である。
【図１７】データ配信速度調節処理を示す時系列図である。
【図１８】データ送信制御サーバの制御の一例を示すフローチャートである。
【図１９】データ送信サーバの制御の一例を示すフローチャートである。
【図２０】データ再送サーバの制御の一例を示すフローチャートである。
【図２１】クライアントの制御の一例を示すフローチャートである。
【図２２】データ配信システムに使用されるパケットの例を示す説明図である。
【発明を実施するための形態】
【００１５】
以下、図面に基づいて本発明の一実施形態について説明をする。図１は本発明のシステムを採用した一例を示し、ネットワーク５を介して接続され、大容量データ配信の配信スケジュールを管理するデータ送信制御サーバ１、高信頼マルチキャスト通信によって複数のユーザーへのデータ配信を一度だけ行うデータ送信サーバ２、ユーザーのデータ再送要求に基づいてデータの再送処理を行うデータ再送サーバ３、及び配信データをハードディスクに保存してユーザーに提供する複数のクライアント（４−１〜４Ｎ）によって構成されるデータ配信システムの構造図である。また、それぞれのサーバにおけるデータの配置は、例えば、図１においてデータ送信サーバ２及びデータ再送サーバ３がそれぞれデータを保持する方式や、データを配信するときにデータ送信サーバ２からデータ再送サーバ３へデータをコピーする方式など多様な方式がある。また、図２のように外部ストレージ６を使用する方式もある。
【００１６】
次に、各装置について詳しく説明をする。図３はデータ送信制御サーバ１の装置構造を示す。データ送信制御サーバ１は、バス１８に接続されたＣＰＵ１２、メモリ１６、ハードディスク１４、及びネットワークインターフェース１０を具備し、ネットワークインターフェース１０のパケット送受信部１０１を経由してネットワーク５と通信を行う。ハードディスク１４には、データの配信開始時刻、配信終了時刻、データ配信アドレスなどに関連するデータ配信の情報を保存するデータ配信情報データベース（ＤＢ）１４１が保存されており、メモリ１６にインストールされている配信スケジュール管理プログラム１６１によって読み書きを行う。
【００１７】
ＣＰＵ１２がメモリ１６に保存された配信スケジュール管理プログラム１６１にアクセスすることで、本発明の制御機能を具備することになる。図４はデータ送信制御サーバの機能を示すブロック図である。データ送信制御サーバ１は、ネットワークインターフェース１０と、データ配信情報及び配信スケジュール管理プログラムを保存するメモリと、制御部とを含む。制御部は、データの配信開始と終了のデータ配信スケジュールを管理するデータ配信スケジューラ１６１１と、データ配信情報を管理し、データ配信情報ＤＢ１４１からデータの配信開始時刻と終了時刻を取得して、データをデータ送信サーバ２とデータ再送サーバ３に通知するデータ配信情報管理部１６１３と、データ送信制御サーバ１とデータ送信サーバ２、データ再送サーバ３、及びクライアント４の間の通信セッションを監視し、エラーを検出する通信監視タイマ１６１５と、を具備する。
【００１８】
データ配信情報ＤＢ１４１はデータ配信情報テーブル１４１１を含み、データ配信情報テーブル１４１１の各記録は、データを唯一に確定するデータ識別子、データ配信開始時刻、データ配信終了時刻、及びデータ配信に使用されるマルチキャストアドレスのデータ配信アドレスとデータ要求元を保存するアドレスリスト（データ要求元アドレス１〜データ要求元アドレスＭ）からなる。これらの情報はデータ送信制御サーバ１がデータ送信サーバ２とデータ再送サーバ３を制御する際に使用される。
【００１９】
図５はデータ送信サーバ２の装置構造である。データ送信サーバ２は、バス２８に接続されたＣＰＵ２２、メモリ２６、ハードディスク２４、及びネットワークインターフェース２０を具備し、ネットワークインターフェース２０のパケット送受信部２０１を経由してネットワーク５と通信を行う。ハードディスク２４には、データ送信制御サーバ１の配信スケジュールに対応して配信されたデータの情報に関連するデータ情報ＤＢ２４１と、データ送信制御サーバ１から通知されたデータ配信スケールを保存するデータ配信情報ＤＢ２４３とが保存されており、メモリ２６にインストールされている配信プログラム２６１によって読み書きを行う。
【００２０】
図６はデータ送信サーバ２の機能を示すブロック図である。データ送信サーバ２は、ネットワークインターフェース２０と、上記データ情報、データ配信情報及び配信スケジュール管理プログラムを保存するメモリと、制御部とを含む。制御部は、メモリ２６上のデータ配信プログラム２６１の主な機能を有するデータ配信制御部２６１１と、データ情報ＤＢ２４１を制御するデータ管理部２６１３と、データ配信情報ＤＢ２４３を制御するデータ配信情報管理部２６１５と、データ送信サーバ２とデータ送信制御サーバ１、データ再送サーバ３、及びクライアント４の間の通信セッションを監視し、エラーを検出する通信監視タイマ２６１７と、を具備する。データ配信制御部２６１１はデータ管理部２６１３及びデータ配信情報管理部２６１５と連動し、マルチキャスト通信によるデータ配信処理を実行する。
【００２１】
次に、各データベースの管理する情報について説明をすると次の通りである。データ情報ＤＢ２４１はデータ情報テーブル２４１１を有し、データ情報テーブル２４１１の各記録はユーザーを唯一に確定するデータ識別子、データの種別を示すデータ種別、データの大きさを示すデータサイズ、及びデータが保存されている。データは分割された状態で管理され、それぞれのデータブロックはブロックコードによって確定される。図２において、データはデータブロック１からデータブロックＮまでのＮ個ブロックとして管理される。データの種別は、例えば、音声、運動画像、またはプログラムのようなデータの用途に関する情報を示すことができる。
【００２２】
データ配信情報ＤＢ２４３はデータ配信情報テーブル２４３１を含み、データ配信情報テーブル２４３１の構造はデータ送信制御サーバ１のデータ配信情報ＤＢ１４１のデータ配信情報テーブル１４１１と同じであり、説明は省略する。
【００２３】
図７はデータ再送サーバ３の構造である。データ再送サーバ３は、バス３８に接続されたＣＰＵ３２、メモリ３６、ハードディスク３４、及びネットワークインターフェース３０を具備し、ネットワークインターフェース３０のパケット送受信部３０１を経由してネットワーク５と通信を行う。ハードディスク３４には、データ送信制御サーバ１の配信スケジュールに基づいて配信されたデータに関連する情報を保存するデータ情報ＤＢ３４１と、データ送信制御サーバ１から通知されたデータ配信スケジュールを保存するデータ配信情報ＤＢ３４３とが保存されており、メモリ３６にインストールされているデータ配信プログラム３６１によって読み書きを行う。
【００２４】
図８はデータ再送サーバ３の機能を示すブロック図である。データ再送サーバ３は、ネットワークインターフェース３０と、上記データ情報、データ配信情報及び配信スケジュール管理プログラムを保存するメモリと、制御部とを含む。制御部は、メモリ３６上のデータ配信プログラム３６１の主な機能を有するデータ配信制御部３６１１と、データ情報ＤＢ３４１を制御するデータ管理部３６１３と、データ配信情報ＤＢ３４３を制御するデータ配信情報管理部３６１５と、データ再送サーバ３とデータ送信制御サーバ１、データ再送サーバ２、及びクライアント４の間の通信セッションを監視し、エラーを検出する通信監視タイマ３６１７と、を具備する。データ配信制御部３６１１はデータ管理部３６１３及びデータ配信情報管理部３６１５と連動し、マルチキャスト通信によるデータ配信処理を実行する。
【００２５】
データ情報ＤＢ３４１はデータ情報テーブル３４１１を含み、データ配信情報ＤＢ３４３はデータ配信情報テーブル３４３１を含む。データ情報テーブル３４１１とデータ配信情報テーブル３４３１の構造はデータ情報ＤＢ２４１のデータ情報テーブル２４１１とデータ配信情報ＤＢ２４３のデータ配信情報テーブル２４３１と同じであり、説明は省略する。
【００２６】
図９はクライアント（ｃｌｉｅｎｔ）４の装置構造である。クライアント４は、バス４８に接続されたＣＰＵ４２、メモリ４６、ハードディスク４４、及びネットワークインターフェース４０を具備し、ネットワークインターフェース４０のパケット送受信部４０１を経由してネットワーク５と通信を行う。
【００２７】
図１０はクライアント４の機能を示すブロック図である。クライアント４は、ネットワークインターフェース４０と、受信データ及びデータ受信プログラムを保存するメモリと、制御部とを含む。制御部は、メモリ４６上のデータ受信プログラム４６１の主な機能を有するデータ受信制御部４６１１と、クライアントの要求に対応するデータ配信情報を管理するデータ配信情報管理部４６１３と、クライアント４とデータ送信制御サーバ１、データ再送サーバ２、データ再送サーバ３の間の通信セッションを監視し、エラーを検出する通信監視タイマ４６１５と、を具備する。データ受信制御部４６１１はデータ配信情報管理部４６１３と連動し、マルチキャスト通信により配信されたデータの受信処理を実行する。
【００２８】
続いて、時系列図を参照しながら本発明に公開されたデータ配信システムの全体の動作について説明をする。
【００２９】
まず、図１１を用いてクライアント４のデータ送信制御サーバ１を経由してデータを受信する際の基本動作について説明をする。データ配信処理はクライアント４を介してデータ送信制御サーバ１にデータ配信スケジュール要求を送信することから始まる（Ｓ１−０１）。図２２にデータ配信スケジュール要求のコンテンツを示す。クライアント４から送信されたデータ配信スケジュール要求を受信したデータ送信制御サーバ１はデータ配信情報ＤＢ１４１を検索して、データ識別子、データ配信開始時刻、データ配信終了時刻、及びデータ配信アドレスをすべて取得することで、データ配信スケジュールを取得し、クライアント４にデータ配信スケジュールを送信する（Ｓ１−０４）。
【００３０】
データ配信スケジュールを受信したクライアント４はデータ配信スケジュールの一覧を表示し、ユーザーに受信を希望するデータの選択を提示する。ユーザーがデータ配信スケジュールの一覧から受信するデータを選択すると、クライアント４はデータ配信要求をデータ送信制御サーバ１に送信する（Ｓ１−０７）。
【００３１】
クライアント４からデータ配信要求を受信したデータ送信制御サーバ１はデータ配信要求からデータ識別子及びデータ要求元アドレスを取り出し、データ識別子を検索のキーワードとしてデータ配信情報テーブル１４１１を検索する。データ識別子に対応する記録が存在する場合、データ送信制御サーバ１は前からの順番で取り出したデータ要求元アドレスを対応する記録のデータ要求元アドレスに追加する。データ配信情報ＤＢ１４１の更新を終了したデータ送信制御サーバ１はクライアント４にデータ配信受付情報を送信する（Ｓ１−１０）。
【００３２】
クライアント４へのデータ配信情報の通知を完了したデータ送信制御サーバ１はデータを配信するデータ送信サーバ２、データ再送サーバ３に配信データセッション情報を送信する（Ｓ１−１３、Ｓ１−１６）。
【００３３】
配信データセッション情報を受信したデータ送信サーバ２は、配信データセッション情報からデータ識別子、データ配信アドレス、データ配信開始時刻、データ配信終了時刻、及びデータ要求元アドレスリストを取り出し、それぞれの情報をデータ配信情報テーブル２４３１の対応するフィールドに保存する。データ再送サーバ３も同様な処理を行い、データ配信情報テーブル３４３１を更新する。しかし、配信データセッション情報に含まれたデータ配信終了時刻はデータ送信サーバ２のデータ配信を終了する時刻であるため、データ再送サーバ３は当該時刻にサーバが所定値として有する再送監視タイマの時刻を加えて、最終的なデータ配信終了時刻とし、データ配信情報テーブル３４３１に保存する。以上の処理を経て、データ配信処理の準備は終了する。
【００３４】
データ配信時刻になると（Ｓ１−１９）、データ送信サーバ２はデータ配信情報テーブル２４１１のデータ配信アドレスを用いてデータの配信を開始し、データ再送サーバ３はクライアント４からのデータ再送要求処理の準備を開始する（Ｓ１−２２）。データの配信は高信頼マルチキャスト通信によって行われ、クライアント４がデータの紛失を検出した場合、データの再送を要求する。クライアント４はステップＳ１−１０で受信したデータ配信受付情報からデータ再送サーバ３のアドレスを取得するため、データ再送要求をデータ再送サーバ３に送信する（Ｓ１−２５）。
【００３５】
クライアント４からデータ再送要求を受信したデータ再送サーバ３はデータ再送要求からデータ要求元アドレス及びデータブロック番号を取得し、データブロック番号に対応するデータブロックをデータ送信元に再送する。データ再送サーバ３が行われているデータ再送は、データ送信サーバ２がデータの配信を終了し、且つその後サーバが有する再送監視タイマを所定値として確定された時間が過ぎた時刻に終了する。
【００３６】
続いて、図１２を用いてデータ送信サーバのデータ再送要求を受付する状況における動作について説明をする。ユーザーのクライアント４によるデータ配信要求処理を行うステップＳ２−０１からステップＳ２−０７までの手順は図７中のステップＳ１−０１からＳ１−０７までの処理と同様であり、説明は省略する。ユーザーからのデータ配信要求を受信したデータ送信制御サーバ１はデータ配信受付情報をクライアント４に送信する。ここで、データ配信受付情報はデータ送信サーバアドレスとデータ再送サーバアドレスの両方にデータ送信サーバ２のアドレスを保存する。この処理によって、データ再送サーバ３のアドレスはユーザーから見ると隠れてしまい、データ再送要求はクライアント４からデータ送信サーバ２に送信される（Ｓ２−２５）。クライアント４からのデータ再送要求を受信したデータ送信サーバ２はデータ再送要求をデータ再送サーバ３に伝送し（Ｓ２−２８）、自身はデータ再送処理を行わない。データ送信サーバ２からデータ再送要求を受信したデータ再送サーバ３は図１１のステップＳ１−２８と同様な手順を経てデータ再送処理を行う（Ｓ２−３１）。図１２において説明を省略したステップＳ２−１３からステップＳ２−２２までの手順の処理は図１１のステップＳ１−１３からステップＳ１−２２までの手順と同様である。
【００３７】
また、図１３に示すように、データ送信制御サーバ１のデータ再送要求を処理する状況について考える。ユーザーのクライアント４によるデータ配信要求処理を行うステップＳ３−０１からステップＳ３−０７までの手順は図１１中のステップＳ１−０１からＳ１−０７までの処理と同様であり、説明は省略する。ユーザーからのデータ配信要求を受信したデータ送信制御サーバ１はデータ配信受付情報をクライアント４に送信する。ここで、データ配信受付情報はデータ送信サーバアドレスにデータ送信サーバ２のアドレスを保存し、データ再送サーバアドレスにデータ送信制御サーバ１のアドレスを保存する。この処理によって、データ再送サーバ３のアドレスはユーザーから見ると隠れてしまい、データ再送要求はクライアント４からデータ送信制御サーバ４に送信される（Ｓ３−２５）。クライアント４からのデータ再送要求を受信したデータ送信制御サーバ１はデータ再送要求をデータ再送サーバ３に伝送し（Ｓ３−２８）、自身はデータ再送処理を行わない。データ送信制御サーバ１からデータ再送要求を受信したデータ再送サーバ３は図１１のステップＳ１−２８と同様な手順を経てデータ再送処理を行う（Ｓ３−３１）。図１２において説明を省略したステップＳ３−１３からステップＳ３−２２までの手順の処理は図１１のステップＳ１−１３からステップＳ１−２２までの手順と同様である。
【００３８】
続いて、図１４を用いてデータ再送処理の終了手順について説明をする。図１１のステップＳ１−０１からステップＳ１−１６までの手順を経てマルチキャスト通信によって指定されたデータを複数のクライアントに同時に送信し（Ｓ４−０１、０４）、クライアント４はデータを順次メモリに保存し、すべてのデータを受信した後、データ受信完了通知をサーバに送信する。ここで、例として、クライアント１（４−１）がデータ受信完了通知をデータ再送サーバ３に送信する処理を示す（Ｓ４−０７）。
【００３９】
図２２にデータ受信完了通知のコンテンツを示す。データ受信完了通知ＰＦ−０７は送信元アドレス、宛先アドレス、パケット種別、データ識別子、及びデータ要求元アドレスから構成される。データ受信完了通知の送信は各ユーザーに対して行われ、データ受信を完了したクライアント４は完了通知を毎回データ再送サーバ３に送信する（Ｓ４−１０）。データ配信情報データベース３４３に含まれたすべてのユーザーからデータ受信完了通知を受信した場合、データ再送サーバ３はデータ再送処理を停止する。データ受信完了通知の送信宛先は、データ送信制御サーバ１がクライアント４にデータ配信受付情報を配信する（図１１のＳ１−１０、図１２のＳ２−１０など）際に、データ再送サーバアドレスとして指定されたサーバのアドレスによって変わる。図１２において、データ再送サーバアドレスにデータ送信サーバ２が指定されている。従って、クライアント４からのデータ受信完了通知はデータ送信サーバ２に送信され（Ｓ５−０７、１３）、データ送信サーバ２は受信されたメッセージをデータ再送サーバ３に伝送する（Ｓ５−１０、１６）。データ送信サーバ２によって行われるメッセージ中継処理以外の処理は図１４と同様である。
【００４０】
図１３において、データ再送サーバアドレスにデータ送信制御サーバ１が指定されているため、データ受信終了の中継処理は図１６に示すようにデータ送信制御サーバによって実行される（Ｓ６−１０、１６）。
【００４１】
データ配信中にネットワークに故障が発生し、クライアントのデータ受信に障碍を与える場合がある。図１７はクライアントからのデータ再送要求が集中するときの処理を示す。ここではメッセージをデータ再送サーバ３に直接送信する場合について説明をするが、データ送信サーバ２或いはデータ送信制御サーバ１がメッセージ中継処理を行う場合も、基本動作は同様である。
【００４２】
データの紛失を検出したクライアント４−１はデータ再送要求をデータ再送サーバ３に送信する（Ｓ７−０１）。データ再送サーバ３は要求されたデータをクライアント４−１に再送する（Ｓ７−０４）。ここで、仮に故障の原因で同一のデータが複数のクライアントによって受信できないとすると、そのほかのクライアント（例えばＮ個のクライアント）は同一データの再送を要求する（Ｓ７−０７）。データ再送サーバ３は要求データを再送した後（Ｓ７−１０）、データの再送を要求したクライアントの数がシステムによって定義された閾値を越えたかどうかを判断する。ここでの閾値はデータ送信を要求したユーザーの全ユーザーに占める比率に定義される。閾値を越えた場合、データ配信速度が速すぎてデータが複数のクライアントに届かなかったと判断し、データ送信サーバ２にデータ送信速度変更要求を送信する（Ｓ７−１３）。図２２にデータ送信速度変更要求のコンテンツを示す。データ送信速度変更要求ＰＦ−０８は送信元アドレス、宛先アドレス、パケット種別、データ識別子、及び送信速度変更パラメータから構成される。送信速度変更パラメータには、例えば、通信速度を遅くする重み係数や通信速度の絶対値などのような、送信速度をどのように変更するかに関する情報が含まれている。重み係数は０〜１の間の値を取り、重み係数を受信したデータ送信サーバ２は速度調節を行い、現在の送信速度に重み係数を乗じた後の送信速度を新しい送信速度にする。絶対値を受信した場合は只送信速度を指定する。例えば、２Ｍｐｂｓのような速度が指定された場合、データ送信サーバ２は送信速度を当該値に設定する。データ送信速度変更要求を受信したデータ送信サーバ２はメッセージ中の送信速度変更パラメータに基づいてデータ送信速度を調節し、データ配信終了時刻を再計算する。データ配信終了時刻の再計算は例えばデータサイズとデータ配信速度によって行う。その後、データ配信受付メッセージを利用して、再計算されたデータ配信終了時刻を含むデータ配信情報をデータ受信中のすべてのクライアントに通知する（Ｓ７−１６、１９）。また、配信データセッション情報をデータ再送サーバ３に送信し（Ｓ７−２２）、データ再送サーバの情報を更新する。以上の処理を経て、データ送信速度の変更は終了する。
【００４３】
図１８のフローチャートを参照しながら、データ送信制御サーバ１によって行われる制御の一例について説明をする。当該フローチャートは所定の周期で実行される。データ送信制御サーバ１は電源をオンにする（ステップＦ１−０１）とメッセージ受信サイクルを開始し（ステップＦ１−０４）、ネットワーク５からのメッセージを受信する。ステップＦ１−０７において、受信メッセージがクライアントからのデータ配信スケジュール要求かどうかを判断し、データ配信スケジュール要求である場合は、ステップＦ１−２５に進み、データ配信スケジュールをクライアント４に送信する（図１１のＳ１−０４など）。一方、受信メッセージがデータ配信スケジュール要求ではない場合は、ステップＦ１−１０に進み、メッセージがクライアント４からのデータ配信要求かどうかを判断する。データ配信要求である場合は、ステップＦ１−２８に進み、データ送信受付情報をクライアント４に送信し（図１１のＳ１−１０など）、ステップＦ１−３１において配信データセッション情報をデータ送信サーバ２とデータ再送サーバ３にそれぞれ送信する（図１１のＳ１−１３など）。
【００４４】
受信メッセージがデータ配信要求ではない場合は、ステップＦ１−１３に進み、メッセージがクライアントからのデータ再送要求かどうかを判断する。メッセージがデータ再送要求である場合は、ステップＦ１−３４に進み、受信メッセージをデータ再送サーバ３に伝送する。受信したメッセージがデータ再送要求ではない場合は、ステップＦ１−１６に進み、メッセージがクライアント４からのデータ受信完了通知かどうかを判断する。データ受信完了通知である場合は、ステップＦ１−３７に進み、受信データをデータ再送サーバ３に伝送する。メッセージ受信サイクルはデータ送信制御サーバ１の電源をオフ（ステップＦ１−２２）にすると終了する（ステップＦ１−１９）。以上の処理によって、データ送信制御サーバ１はクライアント４からの要求に基づいてデータ送信サーバ２とデータ再送サーバ３の制御を行う。
【００４５】
続いて、図１９のフローチャートを参照しながら、データ送信サーバ２によって行われる制御の一例について説明をする。当該フローチャートは所定の周期で実行される。データ送信サーバ２は電源をオンにする（ステップＦ２−０１）とメッセージ受信サイクルを開始し（ステップＦ２−０４）、ネットワーク５からのメッセージを受信する。ステップＦ２−０７において、受信メッセージがデータ送信制御サーバ１からの配信データセッション情報かどうかを判断し、配信データセッション情報である場合は、ステップＦ２−２５に進み、データ配信スケジュールを更新する（図１１のＳ１−１３など）。続いて、ステップＦ２−２８に進み、データ再送サーバ３に配信するデータがあるかどうかを確認する。当該確認は、図１のデータ再送サーバ３が常に配信データのコピーを保有しているシステム構造、及び図２のようにデータ送信サーバ２とデータ再送サーバ３が外部ストレージを共有する構造においては必要がない。図１において、データ再送サーバ３がデータ再送処理のときのみに配信データのコピーを保有している場合、データ送信サーバ２はデータをすでにデータ再送サーバ３に送信したかどうかを判断し、配信データがない場合は、ステップＦ２−３１に進み、データ再送サーバ３にデータを送信し、データ配信を準備する。
【００４６】
一方、受信メッセージが配信データセッション情報ではない場合は、ステップＦ２−１０に進み、時刻があるデータ識別子によって確定されたデータの配信時刻になったかどうかを判断する。データの配信時刻になった場合は、ステップＦ２−３４に進み、データ識別子によって確定されたデータの配信を開始する（図１１のＳ１−２２など）。データの配信時刻になっていない場合は、ステップＦ２−１３に進み、受信メッセージがクライアント４からのデータ再送要求かどうかを判断する。メッセージがデータ再送要求である場合は、ステップＦ２−３７に進み、受信データ再送要求をデータ再送サーバに伝送する（図１２のＳ２−２８）。ステップＦ２−１３において受信メッセージがデーダ再送要求ではない場合は、ステップＦ２−１６に進み、メッセージがクライアント４からのデータ受信完了通知かどうかを判断する。データ受信完了通知である場合は、ステップＦ２−４０に進み、受信データ受信完了通知をデータ再送サーバに伝送する（図１５のＳ５−１６）。受信メッセージがデータ受信完了通知ではない場合は、ステップＦ２−１８に進み、メッセージがデータ送信速度変更要求かどうかを判断する。メッセージがデータ送信速度変更要求である場合は、ステップＦ２−４３に進み、データ配信終了時刻を再計算する。その後ステップＦ２−４６においてクライアント４にデータ配信受付情報を送信し、再計算されたデータ配信終了時刻をクライアント４に通知する。次に、ステップＦ２−２９に進み、配信データセッション情報をデータ再送サーバ３に送信し、再計算されたデータ配信終了時刻をデータ再送サーバ３に通知する。メッセージ受信サイクルはデータ送信サーバ２の電源をオフ（ステップＦ２−２２）にすると終了する（ステップＦ２−１９）。以上の処理によって、データ送信サーバ２はクライアント４からの要求及びデータ送信制御サーバ１の制御に基づいてデータの配信処理を行う。
【００４７】
続いて、図２０のフローチャートを参照しながら、データ再送サーバ３によって行われる制御の一例について説明をする。当該フローチャートは所定の周期で実行される。データ再送サーバ３は電源をオンにする（ステップＦ３−０１）とメッセージ受信サイクルを開始し（ステップＦ３−０４）、ネットワーク５からのメッセージを受信する。ステップＦ３−０７において、受信メッセージがデータ送信制御サーバ１からの配信データセッション情報かどうかを判断し、配信データセッション情報である場合は、ステップＦ３−２５に進み、データ配信スケジュールを更新する（図１１のＳ１−１６など）。一方、受信メッセージが配信データセッション情報ではない場合は、ステップＦ３−１０に進み、時刻があるデータ識別子によって確定されたデータの配信時刻になったかどうかを判断する。データの配信時刻になった場合は、ステップＦ３−２８に進み、データ識別子によって確定されたデータの再送準備を開始する（図１１のＳ１−１９など）。時刻がデータの配信時刻になっていない場合は、ステップＦ３−１３に進み、受信メッセージがデータ再送要求かどうかを判断する。メッセージがデータ再送要求である場合は、ステップＦ３−３１に進み、指定されたデータブロックをデータ送信元に再送する（図１１のＳ１−２８など）。
【００４８】
次に、ステップＦ３−３４において、データ再送要求の受信数が規定の閾値を越えたかどうかを判断する。閾値を越えた場合は、データ送信サーバ２にデータ送信速度変更要求を送信し（Ｆ３−３７）、データ送信速度の調節を行う。ステップＦ３−１３において受信メッセージがデータ再送要求ではない場合は、ステップＦ３−１６に進み、メッセージがデータ受信完了通知かどうかを判断する。データ受信完了通知である場合は、ステップＦ３−４０に進み、すべてのユーザーがデータ受信を完了したかどうかを判断する。すべてのユーザーがデータ受信を完了した場合は、ステップＦ３−４３に進み、データ再送処理を終了する。メッセージ受信サイクルはデータ再送サーバ３の電源をオフ（ステップＦ３−２２）にすると終了する（ステップＦ３−１９）。以上の処理によって、データ再送サーバ３はクライアント４からの要求及びデータ送信制御サーバ１の制御に基づいてデータの再送処理を行う。
【００４９】
続いて、図２１のフローチャートを参照しながら、クライアント４によって行われる制御の一例について説明をする。当該フローチャートは所定の周期で実行される。クライアント４は電源をオンにする（ステップＦ４−０１）とイベント受信サイクルを開始し（ステップＦ４−０４）、ネットワーク５からのメッセージ、及びユーザーの操作によって生成されたプログラム内部のイベントを受信する。ステップＦ４−０７において、ユーザーがクライアントのデータ配信スケジュール要求ボタンをプッシュしたかどうかを判断し、データ配信スケジュール要求ボタンがプッシュされた場合は、ステップＦ４−３４に進み、データ送信制御サーバ１にデータ配信スケジュール要求を送信する（図１１のＳ１−０１など）。一方、データ配信スケジュール要求ボタンがプッシュされていない場合は、ステップＦ４−１０に進み、データ送信制御サーバからデータ配信スケジュールを受信したかどうかを判断する。データ配信スケジュールを受信した場合は、ステップＦ４−３７に進み、データ配信スケジュールの一覧を画面上に表示する（図１１のＳ１−０４など）。データ配信スケジュールを受信していない場合は、ステップＦ４−１３に進み、ユーザーが画面上に表示されたデータ配信スケジュールの一覧の中から受信したいデータを選択したかどうか判断する。ユーザーが受信したいデータを選択した場合は、ステップＦ４−４０に進み、指定された識別子を含むデータ配信要求をデータ送信制御サーバ１に送信する（図１１のＳ１−０７など）。ユーザーが受信したいデータを選択していない場合は、ステップＦ４−１６に進み、すでに送信されたデータ配信要求のデータに対して受信準備を開始しようとするかどうかを判断する。データの受信準備が必要な場合は、ステップＦ４−４３に進み、マルチキャスト通信による受信などの必要な処理を行う。データの受信準備が不必要な場合は、ステップＦ４−１９に進み、保存しようとするデータを受信したかどうかを判断する。データを受信した場合は、ステップＦ４−４６に進み、受信データをハードディスクに保存する。保存しようとするデータが届いていない場合は、ステップＦ４−２２に進み、未受信のデータブロックの有無を判断する。未受信のデータブロックがある場合は、ステップＦ４−４９に進み、未受信のデータブロック番号が指定されたデータ再送要求をシステムの構造に基づいてデータ送信制御サーバ１、データ送信サーバ２、及びデータ再送サーバ３のいずれかに送信する（図１１のＳ１−２５など）。未受信のデータブロックがない場合は、ステップＦ４−５２に進み、再送データを受信したかどうかを判断する。再送データを受信した場合は、当該再送データを当該データ識別子の確定したデータとして、ハードディスクに保存する。再送データを受信していない場合は、ステップＦ４−２６に進み、全部のデータを受信したかどうかを判断する。データ受信終了のときステップＦ４−５５に進む。システムの構造に基づいて、データ受信完了通知をデータ送信制御サーバ１、データ送信サーバ２、及びデータ再送サーバ３のいずれかに送信する。イベント受信サイクルはクライアント４の電源をオフする（ステップＦ４−３１）と終了する（ステップＦ４−２８）。以上の処理によって、クライアント４はデータ送信制御サーバ１に対して受信したいデータ識別子を通知することで、データを受信してユーザーに提供する。
【００５０】
図２２にはデータ配信スケジュール要求ＰＦ−０１のコンテンツが示されている。データ配信スケジュール要求ＰＦ−０１は、送信元アドレス、宛先アドレス、及びパケット種別から構成される。
【００５１】
図２２にはデータ配信スケジュールＰＦ−０２のコンテンツがさらに示されている。データ配信スケジュールＰＦ−０２は、送信元アドレス、宛先アドレス、パケット種別、データ識別子リスト、データ配信アドレスリスト、データ配信開始時刻リスト、及びデータ配信終了時刻リストから構成される。
【００５２】
図２２にはデータ配信要求ＰＦ−０３のコンテンツがさらに示されている。データ配信要求ＰＦ−０３は、送信元アドレス、宛先アドレス、パケット種別、データ識別子、及びデータ要求元アドレスリストから構成される。
【００５３】
図２２にはデータ配信受付情報ＰＦ−０４のコンテンツがさらに示されている。データ配信受付情報ＰＦ−０４は、送信元アドレス、宛先アドレス、パケット種別、データ識別子、データ送信サーバアドレス、データ再送サーバアドレス、データ配信アドレス、データ配信開始時刻、及びデータ配信終了時刻から構成される。データ送信サーバアドレス及びデータ再送サーバアドレスはデータ配信元のアドレスを示す。データ配信開始時刻及びデータ配信終了時刻は一度だけデータの配信を行うデータ送信サーバ２が行うデータ配信の開始時刻及び終了時刻をそれぞれ示す。
【００５４】
図２２には配信データセッション情報ＰＦ−０５のコンテンツがさらに示されている。配信データセッション情報ＰＦ−０５は、送信元アドレス、宛先アドレス、パケット種別、データ識別子、データ配信アドレス、データ配信開始時刻、データ配信終了時刻、及びデータ要求元アドレスリストから構成される。データ要求元アドレスリストには当該データ識別子により確定されたデータの配信を要求したすべてのクライアントのアドレスが含まれている。
【００５５】
図２２にはデータ再送要求ＰＦ−０６のコンテンツがさらに示されている。データ再送要求ＰＦ−０６は、送信元アドレス、宛先アドレス、パケット種別、データ識別子、データ要求元アドレス、及びデータブロック番号から構成される。データブロック番号は紛失したデータのブロック番号を示す。
【産業上の利用可能性】
【００５６】
上述したように、本発明に係わるデータ配信システムにおいて、データ送信制御サーバ、データ送信サーバ、データ再送サーバ、及びクライアントによって、予め決められた配信スケジュールに基づいて、大容量のデータを不特定の複数のユーザーにマルチキャスト通信を通じて同時に高効率に配信する機能が提供されているため、ＩＰＴＶなどのブロードキャスト型サービスの付加サービスとして利用することができる。
【図１】
2010028812.tif 000003
【図２】
2010028812.tif 000004
【図３】
2010028812.tif 000005
【図４】
2010028812.tif 000006
【図５】
2010028812.tif 000007
【図６】
2010028812.tif 000008
【図７】
2010028812.tif 000009
【図８】
2010028812.tif 000010
【図９】
2010028812.tif 000011
【図１０】
2010028812.tif 000012
【図１１】
2010028812.tif 000013
【図１２】
2010028812.tif 000014
【図１３】
2010028812.tif 000015
【図１４】
2010028812.tif 000016
【図１５】
2010028812.tif 000017
【図１６】
2010028812.tif 000018
【図１７】
2010028812.tif 000019
【図１８】
2010028812.tif 000020
【図１９】
2010028812.tif 000021
【図２０】
2010028812.tif 000022
【図２１】
2010028812.tif 000023
【図２２】
2010028812.tif 000024