(57)【要約】【課題】  再送要求が輻輳しデータの再送が不能になる事態を回避する。【解決手段】  受信装置２００は、誤り訂正符号による誤り訂正不能なエラーを検出した場合、ユニキャスト網４００を介して送信装置１００に該当ブロックの再送要求を送信し、送信装置１００は、再送要求を受信し、受信装置２００から送信される再送要求の数に応じて、マルチキャスト網３００、ユニキャスト網４００のいずれかを選択して該当ブロックの一斉再送を制御する。【選択図】図１
2010213150.tif 000002
【特許請求の範囲】
【請求項１】
複数の受信装置とはマルチキャスト網およびユニキャスト網を経由して接続される送信装置であって、
ファイルをパケットに依存しない所定の単位で複数のブロックに分割し、誤り訂正符号を付与して配信する送信手段と、
前記ファイルを受信した受信装置から前記ユニキャスト網を介して誤り訂正不能なブロックの再送要求を受信した場合、前記再送要求の数に応じて選択されるマルチキャスト網もしくはユニキャスト網を経由して前記送信手段による該当ブロックの再送を制御する制御手段と、
を備えたことを特徴とする送信装置。
【請求項２】
前記制御手段は、
前記受信装置から再送要求を受信した場合、
前記再送要求に付与されるユニークな要求ＩＤ、前記誤り訂正不能な該当ブロック番号、ユニキャストアドレスを含むレコードからなる再送テーブルを更新し、
前記送信手段による再送時、前記再送テーブルを参照し、同一要求ＩＤと同一該当ブロック番号を持つレコードが所定数ある場合に前記マルチキャスト網を選択し、所定数より少ない場合に前記ユニキャスト網を選択して前記レコード中のユニキャストアドレスを用いた前記送信手段による再送を制御することを特徴とする請求項１記載の送信装置。
【請求項３】
送信装置と、複数の受信装置とが、マルチキャスト網、およびユニキャスト網を経由して接続され、前記送信装置が、ファイルをパケットに依存しない複数のブロックに分割し、誤り訂正符号を付与して前記複数の受信装置に一斉配信する大容量ファイル配信システムであって、
前記複数の受信装置は、
前記誤り訂正符号による誤り訂正不能なエラーを検出した場合、前記ユニキャスト網を介して前記送信装置に該当ブロックの再送要求を送信する手段を備え、
前記送信装置は、
前記再送要求を受信し、前記受信装置から送信される再送要求の数に応じて、前記マルチキャスト網、ユニキャスト網のいずれかを選択して前記該当ブロックの一斉再送を制御する手段を備える、
ことを特徴とする大容量ファイル配信システム。
【請求項４】
前記送信装置は、
前記ファイルをパケットに依存しない所定の単位で複数のブロックに分割し、誤り訂正符号を付与して配信し、
前記ファイルを受信した受信装置から前記ユニキャスト網を介して誤り訂正不能なブロックの再送要求を受信した場合、前記再送要求の数に応じて選択されるマルチキャスト網もしくはユニキャスト網を経由して該当ブロックの再送を制御することを特徴とする請求項３記載の大容量ファイル配信システム。
【請求項５】
送信装置と、複数の受信装置とが、マルチキャスト網、およびユニキャスト網を経由して接続され、前記送信装置が、ファイルをパケットに依存しない複数のブロックに分割し、誤り訂正符号を付与して前記複数の受信装置に一斉配信する大容量ファイル配信システムにおけるファイル再送制御方法であって、
前記受信装置が、前記誤り訂正符号による誤り訂正不能なエラーを検出した場合、前記ユニキャスト網を介して前記送信装置に該当ブロックの再送要求を送信する第１のステップと、
前記送信装置が、前記再送要求を受信し、前記受信装置から送信される再送要求の数に応じて、前記マルチキャスト網、ユニキャスト網のいずれかを選択して前記該当ブロックの一斉再送を制御する第２のステップと、
を有することを特徴とする大容量ファイル配信システムにおけるファイル再送制御方法。
【請求項６】
前記第２のステップは、
前記ファイルをパケットに依存しない所定の単位で複数のブロックに分割し、誤り訂正符号を付与して配信するサブステップと、
前記ファイルを受信した受信装置から前記ユニキャスト網を介して誤り訂正不能なブロックの再送要求を受信した場合、前記再送要求の数に応じて選択されるマルチキャスト網もしくはユニキャスト網を経由して該当ブロックの再送を制御するサブステップと、
を含むことを特徴とする請求項５記載の大容量ファイル配信システムにおけるファイル再送制御方法。
【請求項７】
コンピュータ上で実行され、複数の受信装置とはマルチキャスト網およびユニキャスト網を経由して接続される送信装置の再送制御プログラムであって、
前記コンピュータに、
ファイルをパケットに依存しない所定の単位で複数のブロックに分割し、誤り訂正符号を付与して配信する送信処理と、
前記ファイルを受信した受信装置から前記ユニキャスト網を介して誤り訂正不能なブロックの再送要求を受信した場合、前記再送要求の数に応じて選択されるマルチキャスト網もしくはユニキャスト網を経由して該当ブロックの再送を制御する制御処理と、
を実行させることを特徴とする再送制御プログラム。
【請求項８】
前記制御処理は、
前記受信装置から再送要求を受信した場合、前記再送要求に付与されるユニークな要求ＩＤ、前記誤り訂正不能な該当ブロック番号、ユニキャストアドレスを含むレコードからなる再送テーブルを更新し、
再送時、前記再送テーブルを参照し、同一要求ＩＤと同一該当ブロック番号を持つレコードが所定数ある場合に前記マルチキャスト網を選択し、所定数より少ない場合に前記ユニキャスト網を選択して前記レコード中のユニキャストアドレスを用いた再送を制御する、
ことを特徴とする請求項７記載の再送制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の受信装置とはマルチキャスト網およびユニキャスト網を経由して接続される送信装置、大容量ファイル配信システム、同システムにおけるファィル再送制御方法、再送制御プログラムに関する。
【背景技術】
【０００２】
インターネットの普及に伴い、ネットワーク経由で接続されるＰＣ（Personal
Computer）等の端末装置に映画等のコンテンツを配信するサービスが出現している。これまでは、ＦＴＰ（File Transfer Protocol）を使用してこれら大容量ファイルからなるコンテンツを配信するのが一般的であった。
【０００３】
ところで、ＦＴＰは、ユニキャスト通信であるため、多地点への配信には不向きである。多地点配信に向いている通信にはマルチキャスト通信がある。このマルチキャスト通信ではコネクションレスのＵＤＰ（User Datagram Protocol）を使用するため、二重送信（通信衛星）や前方誤り訂正符号によってパケットロスなどのエラーへの対処が講じられてきた。しかしながらこれから片方向通信では送達確認が取れず確実性が低い。
【０００４】
上述した確実性に配慮して、ＣＦＤＰ（Coherent File
Distribution Protocol：ＲＦＣ１２３５）のように再送制御を行う方式や、ＨＳＤＰＡ（High Speed Downlink Packet
Access）のように誤り訂正符号に再送制御を組み合わせた方式が知られている。
【０００５】
また、特許文献１では、マルチキャスト配信において、パケットロスを検知した受信ノードが、送信ノード、および全ての受信ノード、ならびにネットワーク全体の帯域に負荷を与えることなく再送要求を行う技術が提案されている。更に、特許文献２では、データ配信サーバに対して多数の端末からデータ配信要求が発生した場合も効率の良いデータ配信が可能な技術が提案されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００８−５４５５号公報
【特許文献２】特開２００５−２７６０７９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら上述したいずれの方式も再送制御の単位がパケットレベルであるため、データ量が比較的小さく、例えば、数ＧＢ（Giga Byte）〜数１００ＧＢといった非常に大容量のファイルを想定したものではない。また、ネットワークの切断期間についても短期間を想定している。
【０００８】
特に、通信衛星を使ったデジタルシネマやＩＰＴＶ（Internet
Protocol Television）におけるファイル配信では、上述した規模の非常に大容量のデータが扱われる。また、この場合、衛星を利用するために、天候の影響等により数時間規模のネットワークの切断が起こる可能性があり、大容量のデータの再送制御が必要になる。このようなサービスに対して、これまでのファイル配信方法では、膨大な再送要求の数と再送管理のためのメモリ領域が必要になり、また、再送要求が輻輳し、データの再送ができなくなる可能性がある。
【０００９】
（発明の目的）
本発明の目的は、マルチキャストで配信する数ＧＢ〜数１００ＧＢ程度の大容量ファイルをそのファイルサイズに応じて、例えば、１００ＭＢ〜１ＧＢ程度の大きなブロックに分割し、ブロック単位で誤り訂正符号によるエラーリカバリ制御を行うことで、再送要求が輻輳しデータの再送が不能になる事態を回避した、送信装置、大容量ファイル配信システム、同システムにおけるファィル再送制御方法、再送制御プログラムを提供することにある。
【課題を解決するための手段】
【００１０】
本発明の第１の送信装置は、複数の受信装置とはマルチキャスト網およびユニキャスト網を経由して接続される送信装置であって、ファイルをパケットに依存しない所定の単位で複数のブロックに分割し、誤り訂正符号を付与して配信する送信手段と、前記ファイルを受信した受信装置から前記ユニキャスト網を介して誤り訂正不能なブロックの再送要求を受信した場合、前記再送要求の数に応じて選択されるマルチキャスト網もしくはユニキャスト網を経由して前記送信手段による該当ブロックの再送を制御する制御手段と、を含む。
【００１１】
本発明の第２の大容量ファイル配信システムは、送信装置と、複数の受信装置とが、マルチキャスト網、およびユニキャスト網を経由して接続され、前記送信装置が、ファイルをパケットに依存しない複数のブロックに分割し、誤り訂正符号を付与して前記複数の受信装置に一斉配信する大容量ファイル配信システムであって、前記複数の受信装置は、前記誤り訂正符号による誤り訂正不能なエラーを検出した場合、前記ユニキャスト網を介して前記送信装置に該当ブロックの再送要求を送信する手段を備え、前記送信装置は、前記再送要求を受信し、前記受信装置から送信される再送要求の数に応じて、前記マルチキャスト網、ユニキャスト網のいずれかを選択して前記該当ブロックの一斉再送を制御する手段を備える。
【００１２】
本発明の第３の大容量ファイル配信システムにおけるファイル再送制御方法は、送信装置と、複数の受信装置とが、マルチキャスト網、およびユニキャスト網を経由して接続され、前記送信装置が、ファイルをパケットに依存しない複数のブロックに分割し、誤り訂正符号を付与して前記複数の受信装置に一斉配信する大容量ファイル配信システムにおけるファイル再送制御方法であって、前記受信装置が、前記誤り訂正符号による誤り訂正不能なエラーを検出した場合、前記ユニキャスト網を介して前記送信装置に該当ブロックの再送要求を送信する第１のステップと、前記送信装置が、前記再送要求を受信し、前記受信装置から送信される再送要求の数に応じて、前記マルチキャスト網、ユニキャスト網のいずれかを選択して前記該当ブロックの一斉再送を制御する第２のステップと、を有する。
【００１３】
本発明の第４の再送制御プログラムは、コンピュータ上で実行され、複数の受信装置とはマルチキャスト網およびユニキャスト網を経由して接続される送信装置の再送制御プログラムであって、前記コンピュータに、ファイルをパケットに依存しない所定の単位で複数のブロックに分割し、誤り訂正符号を付与して配信する送信処理と、前記ファイルを受信した受信装置から前記ユニキャスト網を介して誤り訂正不能なブロックの再送要求を受信した場合、前記再送要求の数に応じて選択されるマルチキャスト網もしくはユニキャスト網を経由して該当ブロックの再送を制御する制御処理と、を実行させる。
【発明の効果】
【００１４】
本発明によれば、マルチキャストで配信する数ＧＢ〜数１００ＧＢ程度の大容量ファイルをそのファイルサイズに応じて、例えば、１００ＭＢ〜１ＧＢ程度の大きなブロックに分割し、ブロック単位で誤り訂正符号によるエラーリカバリ制御を行うことで、再送要求が輻輳しデータの再送が不能になる事態を回避した、送信装置、大容量ファイル配信システム、同システムにおけるファィル再送制御方法、再送制御プログラムを提供することができる。
【００１５】
その理由は、送信装置の送信手段が、ファイルをパケットに依存しない所定の単位で複数のブロックに分割し、誤り訂正符号を付与して配信し、制御手段が、ファイルを受信した受信装置からユニキャスト網を介して誤り訂正不能なブロックの再送要求を受信した場合、この再送要求の数に応じて選択されるマルチキャスト網もしくはユニキャスト網を経由して送信手段による該当ブロックの再送を制御するからである。
【図面の簡単な説明】
【００１６】
【図１】本発明の実施の形態による大容量ファイル配信システムの構成を示すブロック図である。
【図２】本発明の実施の形態による大容量ファイル配信システムで使用される各種テーブルのデータ構造の一例を示す図である。
【図３】本発明の実施の形態による大容量ファイル配信システムの送信装置と受信装置の動作を示すシーケンス図（１）である。
【図４】本発明の実施の形態による大容量ファイル配信システムの送信装置と受信装置の動作を示すシーケンス図（２）である。
【図５】本発明の実施の形態による送信装置のネットワーク選択処理の詳細手順を示すフローチャートである。
【発明を実施するための形態】
【００１７】
次に、本発明の実施の形態について図面を参照して詳細に説明する。
【００１８】
（第１の実施の形態の構成）
図１は、本発明の第１の実施の形態による大容量ファイル配信システム１０の構成を示すブロック図である。
【００１９】
図１を参照すると、本発明の第１の実施の形態による大容量ファイル配信システム１０は、送信装置１００と、複数の受信装置２００とが、マルチキャスト網３００、およびユニキャスト網４００を経由して接続さ、送信装置１００が、ファイルをパケットに依存しない複数のブロックに分割し、誤り訂正符号を付与して複数の受信装置２００に一斉配信する構成になっている。
【００２０】
図１に示されるように、送信装置１００は、受信装置２００から送信される再送要求の数に応じて、マルチキャスト網３００、ユニキャスト網４００のいずれかを選択して該当ブロックの一斉再送を制御する手段として、制御部（ＣＰＵ１０１）と、記憶部１０２と、符号化部１０３と、ブロック分割部１０４と、通信部１０５と、再送受付部１０６と、要求テーブル１０７と、再送テーブル１０８と、ファイル格納部１０９とを含む。
【００２１】
要求テーブル１０７は、図２（ａ）にそのデータ構造の一例が示されるように、要求ＩＤ（１０７ａ）と、マルチキャストアドレス（１０７ｂ）と、ファイル名（１０７ｃ）とからなるデータフィールドを含む。また、再送テーブル１０８は、図２（ｂ）にそのデータ構造の一例が示されるように、要求ＩＤ（１０８ａ）と、ブロック番号（１０８ｂ）と、ユニキャストアドレス（１０８ｃ）と、再送予定通知（１０８ｄ）とからなるデータフィールドを含む。
【００２２】
一方、受信装置２００は、誤り訂正符号による誤り訂正不能なエラーを検出した場合、ユニキャスト網４００を介して送信装置１００に該当ブロックの再送要求を送信する手段として、制御部（ＣＰＵ２０１）と、記憶部２０２と復号化部２０３と、ブロック統合部２０４と、通信部２０５と、再送要求部２０６と、未受信テーブル２０７と、ファイル格納部２０８とを含む。
【００２３】
未受信テーブル２０７は、図２（ｃ）にそのデータ構造の一例が示されるように、要求ＩＤ（２０７ａ）と、未受信ブロック番号（２０７ｂ）と、再送待ち期限（２０７ｃ）と、再送カウンタ（２０７ｄ）とからなるデータフィールドを含む。
【００２４】
図１、図２を参照しながら本発明の実施の形態１による大容量ファイルハイシンシステム１０の概略動作を説明する。まず、受信装置２００からファイル送信要求を受信した送信装置１００は、ファィルを送信するために、要求テーブル１０７に対して受信装置２００を区別するための要求ＩＤ（１０７ａ）を記述したレコードを追加設定する。そして、ファイル格納部１０９から該当のファイルを読み込み、ブロック分割部１０４で適切なサイズに分割し、符号化部１０３で誤り訂正符号化し、通信部１０５を経てマルチキャスト網３００へファイルを送信する。
【００２５】
ここで、ブロック分割部１０４が、ファイルを適切なサイズに分割するにあたり、ここては、数ＧＢ〜数１００ＧＢ程度の大容量ファイルを、数百バイトの小さな纏まりであるパケットによらず、例えば、１００ＭＢ〜１ＧＢ程度の大きなブロックに分割するものとする。
【００２６】
受信装置２００が上述した大容量のファイルを受信するにあたり、復号化部２０３は、通信部２０５が受信したブロックを復号化し、ブロック統合部２０４がファィル格納部２０８にブロックを書き込み、制御部２０５が未受信テーブル２０７の該当レコードを削除する。受信装置２００において、ファイル受信のタイムアウトが発生した場合、もしくは復号化部２０３での復号処理において誤り訂正符号で訂正できないエラーが発生した場合は制御部２０１による再送処理を行う。
【００２７】
再送処理を行うにあたり、制御部２０１は、未受信テーブル２０７の再送カウンタ（２０７ｄ）に示される小さなブロックを複数選択し、その再送カウンタ（２０７ｄ）の値を更新し、それらのブロックについての再送要求を、再送要求部２０８、ユニキャスト網４００を介して送信装置１００に送る。
【００２８】
再送要求を受信した送信装置１００は、受信装置２００に、事前に再送予定時刻を記述した再送予定通知を送信し、再送テーブル１０８の該当ブロックのレコードの再送予定通知（１０８ｄ）を“ｔｒｕｅ”に更新する。再送予定通知を受信した受信装置２００は、未受信テーブル２０７の再送待ち期限（２０７ｃ）を更新し、予定時刻がくるまではそのブロックに対する再送要求を送らないように制御する。
【００２９】
送信装置１００では、再送受付部１０６が、例えば、１台の受信装置２００から再送要求を受信した場合、制御部１０はユニキャスト網４００を選択し、再送受付部１０６が２台以上の受信装置２００から再送要求を受信した場合、制御部１０１はマルチキャスト網３００を選択し、送信部１０５により該当ブロックを再送する。
【００３０】
このため、送信装置１００における、符号化部１０３と、ブロック分割部１０４と、通信部１０５とが協働して動作することにより、「ファイルをパケットに依存しない所定の単位で複数のブロックに分割し、誤り訂正符号を付与して配信する送信手段」として、また、制御部１０１と、通信部１０５と、再送受付部１０６とが協働して動作することにより、「ファイルを受信した受信装置２００からユニキャスト網４００を介して誤り訂正不能なブロックの再送要求を受信した場合、再送要求の数に応じて選択されるマルチキャスト網３００もしくはユニキャスト網４００を経由して送信手段による該当ブロックの再送を制御する制御手段」としてそれぞれ機能する。
【００３１】
なお、ファイルの送信完了処理にあたり、受信装置２００は、未受信テーブル２０７の要求ＩＤが空になったことを契機に、送信装置１００にファイル受信完了通知を送信する。完了通知を受信した送信装置１００は、要求テーブル１０７の該当レコードを削除してファイル送信動作が完了する。
【００３２】
（第１の実施の形態の動作）
次に、本発明の第１の実施の形態による大容量ファイル配信システム１０の動作について図３、図４に示すシーケンス図（１）（２）、ならびに図５に示すフローチャートを参照しながら説明する。
【００３３】
図３を参照すると、受信装置２００では、まず制御部２０１が、受信するファイル名を指定して通信部２０６によりセッション開始要求を送信装置１００に送信する（ステップＳ２０１）。
【００３４】
送信装置１００は、通信部１０５で受信装置２００からのセッション開始要求を受信し（ステップＳ１０１）、制御部１０１は、送信装置１００内で一意な値となる要求ＩＤを発行し、この要求ＩＤ、送信先のマルチキャストアドレス、ファイル名フィールドからなる新しいレコードを生成し、要求テーブル１０７に追加設定する（ステップＳ１０２）。続いて、送信装置１００（制御部１０１）は、セッション開始応答として、要求ＩＤ、ファイルサイズ、ブロックサイズからなる送信パラメータを通信部１０５により受信装置２００に送信する（ステップＳ１０３）。
【００３５】
受信装置２００では、送信装置１００から送信されるセッション開始応答を通信部２０５が受信し（ステップＳ２０２）、これをうけて制御部２０１が、ファイルサイズとブロックサイズとからブロック数を計算し、要求ＩＤと、ブロック番号と、再送待ち期限と、再送カウンタの各データフィールドからなる新しいレコードを生成し、ブロック数分、未受信テーブル２０７に追加設定する（ステップＳ２０３）。続いて受信装置２００は、通信部２０５により送信装置１００に対してファイル送信要求を送信する（ステップＳ２０４）。
【００３６】
次に、ファィル送信時の送信装置１００の動作について説明する。ファイル送信要求を受信した送信装置１００は（ステップＳ１０４）、制御部１０１が、ファイル格納部１０９からファイルを読み出し、制御部１０１による制御の下、ブロック分割部１０４が所定のブロックに分割し、符号化部１０３が誤り訂正符号化して（ステップＳ１０５）通信部１０５によりブロックを送信する（ステップＳ１０６）。
【００３７】
送信装置１００は、上述したブロック送信後、制御部１０１が再送テーブル１０８の内容をチェックする（ステップＳ１０７）。ここで、再送予定通知が“ｆａｌｓｅ”のレコードがあれば、制御部１０１は、そのレコードを複数選択し、ブロック番号、再送予定時間からなる再送予定通知をマルチキャスト網３００に送信し（ステップＳ１０８）、更にそのレコードの再送予定通知フィールドを“ｔｒｕｅ”に更新する（ステップＳ１０９）。
【００３８】
続いて制御部１０１は、全ブロックを送信したか否かを判定し（図４のステップＳ１１０）、全ブロック送信していなければ（ステップＳ１１０“Ｎｏ”）、再送テーブル１０８の内容をチェックし、次に送る予定のブロックの番号が再送テーブル１０８にあればそのレコードを削除し（ステップＳ１１４）、ステップＳ１０５の符号化処理に戻る。
【００３９】
ステップＳ１１０の全ブロック送信判定処理で、全ブロックの送信を終了したことが確認された場合（ステップＳ１１０“ＹＥＳ”）、送信装置１００が全ブロックを送信しても受信装置２００が一部のブロックを受信できていない可能性があることから、制御部１０１は、再送テーブル１０８をチェックする（ステップＳ１１１）。ここで、再送テーブル１０８の内容が空でないと判定された場合（ステップＳ１１１“Ｎｏ”）、制御部１０１は、再送するブロックを複数選択し、再送に使用するネットワーク（マルチキャスト網３００がユニキャスト網４００）を選択する（ステップＳ１１３）。
【００４０】
上述したネットワーク選択処理（ステップＳ１１３）にあたり、図５にその詳細手順が示されるように、制御部１０１は、再送テーブル１０８を参照し（ステップＳ３０１）、再送するブロックについて同一の要求ＩＤ、同一該当ブロック番号を持つレコードが一定数以上存在する場合は（ステップＳ３０２“ＹＥＳ”）、マルチキャスト網３００を選択して再送する（ステップＳ３０３）。逆に一定数より少ない場合（ステップＳ３０２“ＮＯ”）、制御部１０１は、ユニキャスト網４００を選択して各レコード中のユニキャストアドレスへ再送する（ステップＳ３０４）。
【００４１】
説明を図３、図４のシーケンス図に戻す。上述したネットワーク選択処理後（ステップＳ１１３）、制御部１０１は、再送するブロックのレコードを再送テーブル１０８から削除し（ステップＳ１１４）、図３のステップＳ１０５のブロック符号化処理の実行に戻る。
【００４２】
一方、再送テーブル１０８が空であると判定された場合（ステップＳ１１１“ＹＥＳ”）、制御部１０１は、要求テーブル１０７に該当レコードがあるか否かを判定する（ステップＳ１１２）。レコードがあると判定された場合（ステップＳ１１２“ＹＥＳ”）、制御部１０１は、再送が必要なブロックがあるが受信装置２００からの再送要求が未だ到着していないと認識して、一定期間ウェイトした後（ステップＳ１１５）、ステップＳ１１１の再送テーブル空判定処理の実行に戻る。レコードが無いと判定された場合（ステップＳ１１２“ＮＯ”）、制御部１０１は、後述するように受信装置２００からファイル受信完了通知を受信したことを示しているため、ファイル送信動作を終了する。
【００４３】
送信装置１００では、上述した動作に加え、受信装置２００からの再送要求に応じて次の動作を行う。すなわち、受信装置２００から再送要求を受信した送信装置１００は、制御部１０１が、再送要求に記述されている要求ＩＤと、ブロック番号、その受信装置２００のユニキャストアドレス、再送予定通知フィールドからなるレコードを再送テーブル１０８に追加設定する（ステップＳ１１６）。また、受信装置２００からファイル受信完了通知を受信した場合、制御部１０は、要求テーブル１０７から該当要求ＩＤを持つレコードを削除する（ステップＳ１１７）。
【００４４】
最後に、ファイル受信時の受信装置２００の動作について説明する。送信装置１００にファイル送信要求を送った受信装置２００は、一定時間ブロックの受信を待ち（図４のステップＳ２０５）、ブロックの受信判定を行う（ステップＳ２０６）。ここで、ブロックを受信していない場合（ステップＳ２０６“ＮＯ”）、制御部２０１は、送信装置１００から再送予定通知を受信したか否かをチェックする（ステップＳ２０７）。再送予定通知を受信した場合（ステップＳ２０７“ＹＥＳ”）、制御部２０１は、未受信テーブル２０７の該当するブロック番号のレコードの再送待ち期限（２０７ｃ）を再送予定通知の再送予定時間に更新する（ステップＳ２０８）。
【００４５】
一方、ステップＳ２０６のブロック受信判定処理で、ブロックを受信した場合（ステップＳ２０６“”）、制御部２０１は、復号化部２０３によるブロック復号処理を指示する（ステップＳ２０７）。ファイルの符号化に誤り訂正符号を利用しているため、復号化部２０３は、ファイル伝送中のある程度のエラーは回復できる。続いて、制御部２０１は、復号化部２０３による復号化の結果を判定し（図４のステップＳ２１０）、復号化が正常にできた場合（ステップＳ２１０“ＹＥＳ”）、そのブロックをファイル格納部２０８に書き込んでブロックを統合する（ステップＳ２１１）。更に、制御部２０１は、受信したブロックの番号に該当する未受信テーブル２０７のレコードを削除する（ステップＳ２１２）。
【００４６】
最後に制御部２０１は、未受信テーブル２０７が空か否かを判定し（ステップＳ２１３）、空でなければ（ステップＳ２１３“ＮＯ”）、図３に示すステップＳ２０５の一定時間受信データ待ち処理に戻る。未受信テーブル２０７が空であれば（ステップＳ２１３“ＹＥＳ”）、全ブロックを受信したことになるため、制御部２０１はファイル受信完了通知を生成し、通信部２０５を介して送信装置１００に送信する（ステップＳ２１４）。ファイル受信完了通知を受信した送信装置１００では、制御部１０１が要求テーブル１０７からレコードを削除する（ステップＳ１１７）。
【００４７】
ステップＳ２０７の再送予定受信判定処理で再送予定通知を受信しなかった場合（ステップＳ２０７“ＮＯ”）、もしくはステップＳ２１０の復号成功判定処理で復号に失敗した場合（ステップＳ２１０“ＮＯ”）、制御部２０１は、そのブロックを破棄し、未受信テーブル２０７を参照して再送カウンタ（２０９ｄ）の値の小さなレコードをいくつか選択し、その再送カウンタ値を更新して再送要求を生成し（ステップＳ２１５）、再送要求部２０６により、そのブロック番号と要求ＩＤからなる再送要求を送信装置１００に送る（ステップＳ２１６）。再送要求を受信した送信装置１００では再送テーブル１０８を更新する（ステップＳ１１６）。
【００４８】
（第１の実施の形態による効果）
本実施の形態による大容量ファイル配信システム１０では、送信装置１００がファイルをブロックに分割して誤り訂正符号化して送信し、また、受信装置２００からの再送要求に応じてマルチキャスト網３００、もしくはユニキャスト網４００を選択して該当ブロックを再送することにより、ネットワークが比較的長時間切断しても、大容量のファイルを効率よく配信できる。
【００４９】
その理由は、パケットレベルの再送制御ではなく、数ＧＢ等、ある程度の大きさのブロック単位で再送制御することによって、再送管理領域の肥大化と再送要求の輻輳を抑えることができるためである。
【００５０】
また、本実施の形態による大容量ファイル配信システム１０では、受信装置２００が、ブロックを受信して復号化し、ブロックを統合してファイルを再構成し、ファイルの受信タイムアウトや誤り訂正符号で訂正できないエラーが発生した場合にユニキャスト網４００を使用して再送要求を送信することにより、送信装置１００は、ランダムなエラーが発生してもファイルを配信が可能である。
【００５１】
その理由は、通信データを誤り訂正符号化することによって、受信装置２００がランダムエラーを訂正できるためである。
【００５２】
なお、図１の送信装置１００の制御部１０１が有する機能は、全てをソフトウェアによって実現しても、あるいはその少なくとも一部をハードウェアで実現してもよい。例えば、制御部１０１が、ファイルを受信した受信装置２００からユニキャスト網４００を介して誤り訂正不能なブロックの再送要求を受信した場合、再送要求の数に応じて選択されるマルチキャスト網３００もしくはユニキャスト網４００を経由して該当ブロックの再送を制御するデータ処理は、１または複数のプログラムによりコンピュータ上で実現してもよく、また、その少なくとも一部をハードウェアで実現してもよい。
【００５３】
以上好ましい実施の形態と実施例をあげて本発明を説明したが、本発明は必ずしも、上述実施の形態及び実施例に限定されるものでなく、その技術的思想の範囲内において様々に変形して実施することができる。
【符号の説明】
【００５４】
１０：大容量ファイル配信システム
１００：送信装置
１０１：制御部（ＣＰＵ）
１０２：記憶部
１０３：符号化部
１０４：ブロック分割部
１０５：通信部
１０６：再送受付部
１０７：要求テーブル
１０８：再送テーブル
１０９：ファイル格納部
２００：受信装置
２０１：制御部（ＣＰＵ）
２０２：記憶部
２０３：復号化部
２０４：ブロック統合部
２０５：通信部
２０６：再送要求部
２０７：未受信テーブル
２０８：ファイル格納部
３００：マルチキャスト網
４００：ユニキャスト網
【図１】
2010213150.tif 000003
【図２】
2010213150.tif 000004
【図３】
2010213150.tif 000005
【図４】
2010213150.tif 000006
【図５】
2010213150.tif 000007