(57)【要約】【課題】データパケットの通信処理において、前方誤り訂正のエンコードパケットを用いた再送の回数を増加させ、通信品質の向上を図る。【解決手段】送信装置３は、送信に係るオリジナルデータを蓄積するオリジナルデータ蓄積部３１と、送信に係るオリジナルデータから、誤り訂正用の冗長データをエンコードするエンコード部３２と、エンコードされた冗長データの一部を再送用データとして蓄積する再送用データ蓄積部３３と、オリジナルデータ、及び冗長データの一部または全部を送信するデータパケット送信部３５と、送信先からの再送要求を受信する再送要求受付部３７とを備えている。【選択図】      図４
2004349891.tif 000002
【特許請求の範囲】
【請求項１】
パケットデータを送信するパケット送信装置であって、
送信に係るオリジナルデータから、誤り訂正用の冗長データを生成するエンコード部と、
前記冗長データの一部を再送用データとして蓄積する再送用データ蓄積部と、前記オリジナルデータ、及び前記冗長データの一部または全部を送信する送信部と、
送信先からの再送要求を受信する再送要求受信部とを備え、
前記エンコード部は、前記再送要求受信部が受信した再送要求に応じて、前記再送用データからさらに新規冗長データを生成し、
前記再送用データ蓄積部は、前記新規冗長データを再送用データとして蓄積し、
前記送信部は、前記再送要求受信部が受信した再送要求に応じて、前記冗長データの一部または全部、及び新規冗長データの一部または全部を送信することを特徴とするパケット送信装置。
【請求項２】
前記送信部による再送回数を記憶する再送回数記憶部と、
前記再送回数を送信に係るデータに記述する多重度管理部とを備えることを特徴とする請求項１に記載のパケット送信装置。
【請求項３】
前記エンコード部は、前記再送用データ蓄積部に蓄積された再送用データ数と、再送要求に係る不足データ数とを比較し、この比較結果に応じて、前記新規冗長データを生成する処理と、既に再送用データ蓄積部に蓄積された再送用データを新規再送用データとして出力する処理とを選択することを特徴とする請求項１または２に記載のパケット送信装置。
【請求項４】
前記送信部によるデータの送信は、当該パケット送信装置に接続された複数の他の通信装置に対して一括して行うマルチキャスト方式であることを特徴とする請求項１乃至３に記載のパケット送信装置。
【請求項５】
パケットデータを受信するパケット受信装置であって、
送信に係るオリジナルデータ、及び該オリジナルデータから生成された誤り訂正用の冗長データを受信する受信部と、
必要分のデータが受信できなかった場合に、不足分のデータの再送要求を、送信元に送信する再送要求送信部と、
受信された前記オリジナルデータ、前記冗長データ、及び再送された冗長データを蓄積する受信データ蓄積部と、
前記受信データ蓄積部に蓄積された前記オリジナルデータ、前記冗長データ、及び再送された冗長データから、前記送信に係るオリジナルデータを生成するデコード部とを備え、前記再送された冗長データは、
送信側において、再送用データとして蓄積された前記冗長データの一部または全部と、
前記再送用データからさらに生成された新規冗長データの一部または全部とであることを特徴とするパケット受信装置。
【請求項６】
前記受信部により受信されたデータに記述された、当該データの再送回数を検出する多重度解釈部をさらに備え、
前記デコード部は、前記多重度解釈部によって検出された再送回数に応じて前記オリジナルデータの生成を行うことを特徴とする請求項５に記載のパケット受信装置。
【請求項７】
パケットデータを送信するパケット送信方法であって、
送信に係るオリジナルデータから、誤り訂正用の冗長データを生成するステップ（１）と、
前記冗長データの一部を再送用データとして蓄積するとともに、前記オリジナルデータ、及び前記冗長データの一部または全部を送信するステップ（２）と、
不足分のデータの再送要求を、送信先から受信するステップ（３）と、
蓄積された前記再送用データからさらに新規冗長データを生成するとともに、該新規冗長データを再送用データとして蓄積するステップ（４）と、
前記冗長データの一部または全部、及び新規冗長データの一部または全部を送信するステップ（５）とを備え、
必要分のデータが送信されるまで、前記ステップ（３）乃至（５）を繰り返すことを特徴とするパケット送信方法。
【請求項８】
パケットデータを受信するパケット受信方法であって、
送信に係るオリジナルデータ、及び該オリジナルデータから生成された誤り訂正用の冗長データを受信するステップ（１）と、
不足分のデータの再送要求を、送信元に送信するステップ（２）と、
再送用データとして送信側で蓄積された前記冗長データの一部または全部と、前記再送用データからさらに生成された新規冗長データの一部または全部とを、再送に係る冗長データとして受信するステップ（３）と、
前記オリジナルデータ、前記冗長データ、及び再送に係る冗長データから、前記送信に係るオリジナルデータを生成するステップ（４）と
を備え、
必要分のデータが受信されるまで、前記ステップ（２）乃至（４）を繰り返すことを特徴とするパケット受信方法。
【請求項９】
パケットデータを送信するパケット送信プログラムであって、コンピュータに、
送信に係るオリジナルデータから、誤り訂正用の冗長データを生成するステップ（１）と、
前記冗長データの一部を再送用データとして蓄積するとともに、前記オリジナルデータ、及び前記冗長データの一部または全部を送信するステップ（２）と、
不足分のデータの再送要求を、送信先から受信するステップ（３）と、
蓄積された前記再送用データからさらに新規冗長データを生成するとともに、該新規冗長データを再送用データとして蓄積するステップ（４）と、
前記冗長データの一部または全部、及び新規冗長データの一部または全部を送信するステップ（５）とを備える処理を実行させるとともに、
必要分のデータが送信されるまで、前記ステップ（３）乃至（５）を繰り返させることを特徴とするパケット送信プログラム。
【請求項１０】
パケットデータを受信するパケット受信プログラムであって、コンピュータに
送信に係るオリジナルデータ、及び該オリジナルデータから生成された誤り訂正用の冗長データを受信するステップ（１）と、
不足分のデータの再送要求を、送信元に送信するステップ（２）と、
再送用データとして送信側で蓄積された前記冗長データの一部または全部と、前記再送用データからさらに生成された新規冗長データの一部または全部とを、再送に係る冗長データとして受信するステップ（３）と、
前記オリジナルデータ、前記冗長データ、及び再送に係る冗長データから、前記送信に係るオリジナルデータを生成するステップ（４）と
を備える処理を実行させるとともに、
必要分のデータが受信されるまで、前記ステップ（２）乃至（４）を繰り返させることを特徴とするパケット受信プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、パケット通信におけるデータの誤り回復に係る、パケット送信装置、パケット受信装置、方法及びプログラムに関する。
【０００２】
【従来の技術】
パケット通信の一形態として、同一のパケットを複数のクライアントに一括して配信するマルチキャスト方式がある。このマルチキャスト方式は、図１０に示すように、サーバ１１から送出されたパケット１５は、ルータ１２や、無線ＬＡＮルータ等のアクセスポイント１３を介して、複数のクライアント端末１４に配信される。
【０００３】
ところで、このようなマルチキャスト方式では、複数のクライアント端末１４のいずれかが必要なパケットを受信できない場合が生じる。この場合には、サーバ１１に対して再送要求を行うが、受信パケットの欠落が生じるたびに、サーバ１１に対して再送要求を行うと、サーバ負荷や、通信リソースの消費が過大となるため、クライアント端末１４側で、欠落パケットの回復を行うことができるように、誤り回復技術が採用されている。
【０００４】
前方誤り訂正（ＦＥＣ；  Ｆｏｒｗａｒｄ  Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｏｎ）は、誤り回復技術の１つであり、データパケットの送受信に際して、送信側で、送信に係るオリジナルデータに対して、符号化による冗長データを付加し、受信側で、受信されたオリジナルデータ及び冗長データとを利用して、受信ができなかった不足分のパケットを復元し、誤り訂正を行う方法である（例えば、非特許文献１及び２参照。）。
【０００５】
従来より、エンコードアルゴリズムにはいくつか知られているが、その一つであるＲｅｅｄ−Ｓｏｌｏｍｏｎ  Ｅｒａｓｕｒｅ  Ｃｏｄｅを使用する場合には、冗長データを生成するためのエンコード後の総データパケット数が、最大２５６個に制限される（非特許文献２）。
【０００６】
また、Ｄｉｇｉｔａｌ  Ｆｏｕｎｔａｉｎ社の開発したエンコード方式では、冗長データのためのエンコードデータを無限に生成することが可能であり、任意のエンコードデータの中から特定数のデータパケットを集めれば、オリジナルのデータパケットへデコードすることができる。しかし、このようなユニークな方法にはライセンス使用料の問題があり一般に普及するには至っていない。
【０００７】
【非特許文献１】
山内長承，「高信頼マルチキャスト」，ＩＰＳＪＭａｇａｚｉｎｅ，  ｐｐ．７５４−７５９，  Ｖｏｌ．４２，Ｎｏ．８，Ａｕｇ．２００１
【０００８】
【非特許文献２】
鈴木偉元，他「モバイル・マルチキャスト通信のためのＦＥＣ／ＡＲＱハイブリッド制御方式の検討」信学技報，ＳＳＴ２００１−１３９，Ａ・Ｐ２００１・２８７，ｐｐ．７５−８２
【０００９】
【発明が解決しようとする課題】
上述したようなデータパケット通信の誤り回復として、前方誤り訂正を用いた場合には、再送に使用できるデータパケット数が、最初の送信時にエンコード生成されたデータパケット数の範囲に限られるため、誤り回復のための再送回数に限界があるという問題があった。
【００１０】
そこで、本発明は、以上の点に鑑みてなされたもので、データパケットの前方誤り訂正のエンコードを繰り返すことによって、冗長なデータパケットを増加させ、データパケットの通信処理において、前方誤り訂正のエンコードパケットを用いた再送の回数を増加させ、通信品質の向上を図ることのできるパケット送信装置、パケット受信装置、方法及びプログラムを提供することを目的とする。
【００１１】
【課題を解決するための手段】
上記課題を解決するために、本発明は、パケットデータを送信する際に、送信に係るオリジナルデータから、誤り訂正用の冗長データを生成し、この冗長データの一部を再送用データとして蓄積するとともに、オリジナルデータ、及び冗長データの一部または全部を送信する。そして、必要分のデータが送信されるまで、不足分のデータの再送要求を、送信先から受信し、蓄積された再送用データからさらに新規冗長データを生成するとともに、新規冗長データを再送用データとして蓄積し、冗長データの一部または全部、及び新規冗長データの一部または全部を送信する。
【００１２】
また、本発明は、パケットデータを受信する際に、送信に係るオリジナルデータ、及びオリジナルデータから生成された誤り訂正用の冗長データを受信し、必要分のデータが受信されるまで、不足分のデータの再送要求を、送信元に送信し、再送用データとして送信側で蓄積された冗長データの一部または全部と、再送用データからさらに生成された新規冗長データの一部または全部とを、再送に係る冗長データとして受信し、これらオリジナルデータ、冗長データ、及び再送に係る冗長データから、送信に係るオリジナルデータを生成する。
【００１３】
なお、上記発明におけるデータの送信は、当該パケット送信装置に接続された複数の他の通信装置に対して一括して行うマルチキャスト方式とすることができる。
【００１４】
このような本発明によれば、送信側において、データパケットの前方誤り訂正のエンコードを行い、冗長なデータパケット数を増大させて送信し、再送要求を受信した場合には、既にエンコードしてある冗長データに対して、さらに前方誤り訂正のエンコードを行い、さらに冗長なデータパケット数を増やして送信することができる。
【００１５】
なお、上記発明においては、送信側において、再送回数を記憶しておき、再送回数を送信に係るデータに記述し、受信側において、受信されたデータに記述された、当該データの再送回数を検出し、この検出された再送回数に応じてオリジナルデータの生成を行うことが好ましい。
【００１６】
これにより、順序性保証を行わない通信プロトコルにおいて、ネットワークの遅延や誤りによってデータパケットの順番が変わってしまう可能性がある場合でも、再送回数に関する情報をデータパケットに記述することによって、受信側において、デコードに必要となるデータパケットを識別することができ、再送回数の同じデータを使って順次デコードを繰り返すことにより、オリジナルのデータパケットを取得することができる。
【００１７】
【発明の実施の形態】
以下に本発明の実施形態について、図を参照しつつ説明する。
【００１８】
（システムの構成）
図１は、本発明の実施形態におけるパケット通信システムの全体構成を例示する構成図である。
【００１９】
同図に示すように、本実施形態にかかるパケット通信システムは、サーバ２１とクライアント端末２４は、ルータＨＵＢ２２及びアクセスポイント２３を介して接続されている。なお、本実施形態におけるデータの送信は、サーバ２１に接続された複数の他のクライアント端末２４に対して一括して行うマルチキャスト方式により行う。すなわち、サーバ２１より配信されたデータパケット２５は、ルータＨＵＢ２２及びアクセスポイント２３を介して、クライアント端末２４に到達する。
【００２０】
サーバ２１は、本発明の送信装置３を備えており、各クライアント端末２４は、受信装置４を備えている。図２は、本実施形態における送信装置３の内部構成を示すブロック図である。
【００２１】
同図に示すように、送信装置３は、送信に係るオリジナルデータを蓄積するオリジナルデータ蓄積部３１と、送信に係るオリジナルデータから、誤り訂正用の冗長データをエンコードするエンコード部３２と、エンコードされた冗長データの一部を再送用データとして蓄積する再送用データ蓄積部３３と、オリジナルデータ、及び冗長データの一部または全部を送信するデータパケット送信部３５と、送信先からの再送要求を受信する再送要求受付部３７とを備えている。
【００２２】
さらに、送信装置３は、データパケット送信部３５による再送回数を記憶する再送回数記憶部３４と、再送回数を送信に係るデータに記述する多重度管理部３８と、各種データの送受信を行うデータ送受信部３６と、上記各部を制御する制御部３９とを備えている。
【００２３】
前記エンコード部３２は、再送要求受付部３７が受信した再送要求に応じて、再送用データからさらに新規冗長データを生成する機能を備えている。また、再送用データ蓄積部３３は、新規冗長データを再送用データとして蓄積し、
前記データパケット送信部３５は、再送要求受付部３７が受信した再送要求に応じて、冗長データの一部または全部、及び新規冗長データの一部または全部を送信する機能を備えている。
【００２４】
図３は、本実施形態における受信装置４の内部構成を示すブロック図である。
【００２５】
同図に示すように、受信装置４は、受信されたオリジナルデータ４１を格納するオリジナルデータ蓄積部３１と、オリジナルデータや冗長データを受信するデータパケット受信部４５と、必要分のデータが受信できなかった場合に不足分のデータの再送要求をサーバ２１に送信する再送要求送信部４７と、受信された冗長データ及び再送された冗長データを蓄積する冗長データ蓄積部４３と、受信されたオリジナルデータ、冗長データ、及び再送された冗長データから、送信に係るオリジナルデータをデコードするデコード部４２とを備えている。
【００２６】
また、受信装置４は、受信されたデータに記述された、当該データの再送回数を検出する多重度解釈部４４と、ネットワークに接続され各種データの送受信を行うデータ送受信部４６と、上記各部の制御を行う制御部４８とを備えている。
【００２７】
デコード部４２は、多重度解釈部４４によって検出された再送回数に応じて前記オリジナルデータのデコードを行う機能を備えている。
【００２８】
（システムの動作）
図４は、本実施形態に係るデータ通信システムの配信動作の一例を説明するための全体シーケンス図である。
【００２９】
先ず、サーバ２１において、パケットデータを送信する際に、送信に係るオリジナルデータ１〜ｎに基づいて、誤り訂正用の冗長データ１’〜ｓ’を生成し、そのうちｔ個の冗長データ（α＋１）’〜ｓ’を再送用データとして再送用データ蓄積部３３に蓄積する（Ｓ１０１）。
【００３０】
そして、全てのオリジナルデータ１〜ｎ、及びα個の冗長データ１’〜α’（０≦α≦ｓ）を各クライアント端末２４に送信する（Ｓ１０２）。一方、クライアント端末２４では、送信に係るオリジナルデータ１〜ｎ、及び冗長データ１’〜α’の受信を試みる（Ｓ１０３）。ここでは、必要分のパケットデータが受信されず、ｎ−ｋ個のパケットデータが受信されたものとする。そのため、クライアント端末２４では、再送要求送信部４７により、不足分のデータ（ｋ個：ｋ≦ｔ）の再送要求を、サーバ２１に送信する（Ｓ１０４）。
【００３１】
サーバ２１では、再送要求受付部３７により、クライアント端末２４からの再送要求を受信し、再送用データ蓄積部３３に蓄積された再送用データ（α＋１）’〜ｓ’を読み出し、このうち、不足個数ｋ個分の再送用データ（α＋１）’〜（α＋ｋ）’を用いて、エンコード部３２によりエンコードを行い、さらに新規冗長データ１”〜ｕ”を生成する（Ｓ１０５）。そして、再送用データ蓄積部３３に、ｖ個の新規冗長データ（β＋１）”〜ｕ”を再送用データとして蓄積するとともに、ｋ個の再送用の冗長データ（α＋１）’〜（α＋ｋ）’、及びβ個の新規冗長データ１”〜β”（０≦β≦ｕ）を、クライアント端末２４に対して送信する（Ｓ１０６）。
【００３２】
クライアント端末２４では、送信されたｋ個の再送用の冗長データ（α＋１）’〜（α＋ｋ）’、及びβ個の新規冗長データ１”〜β”とを、再送に係る冗長データとして受信する（Ｓ１０７）。ここでは、必要分のパケットデータが受信されず、ｋ−ｈ個のパケットデータが受信されたものとする。そのため、クライアント端末２４では、再送要求送信部４７により、不足分のデータ（ｈ個：ｈ≦ｖ）の再送要求を、サーバ２１に送信する（Ｓ１０８）。
【００３３】
サーバ２１では、再送要求受付部３７により、クライアント端末２４からの再送要求を受信し、再送用データ蓄積部３３に蓄積された、再送用データ（β＋１）”〜ｕ”を読み出し、このうち、不足個数分の再送用データ（β＋１）”〜（β＋ｈ）”を用いて、エンコード部３２によりエンコードを行い、さらに新規冗長データ１’’’〜ｗ’’’を生成する（Ｓ１０９）。そして、再送用データ蓄積部３３に、ｘ個の新規冗長データ（γ＋１）’’’〜ｗ’’’を再送用データとして蓄積するとともに、ｈ個の再送用の冗長データ（β＋１）”〜（β＋ｈ）”、及びγ個の新規冗長データ１’’’〜γ’’’（０≦γ≦ｗ）を、クライアント端末２４に対して送信する（Ｓ１１０）。
【００３４】
必要分のデータが送信されるまで、上述した処理を繰り返す。ここでは、ステップＳ１１０での送信により、必要分の全てのデータがクライアント端末２４において受信されたものとする（Ｓ１１１）。クライアント端末２４では、受信されたこれらオリジナルデータ、冗長データ、及び再送に係る冗長データから、送信に係るオリジナルデータを生成する（Ｓ１１２及びＳ１１３）。
【００３５】
（サーバ２１における送信処理）
図５は、本実施形態におけるサーバ２１の送信処理を示すフロー図である。
【００３６】
先ず、送信対象のデータを元に、ｎ個のオリジナルパケット（オリジナルデータ）を生成する（Ｓ２０１）。この生成したオリジナルパケットを、エンコード部３２により、エンコードを行い、ｓ（ｓ≧ｎ）個の冗長パケットを生成し（Ｓ２０２）、多重度管理部３８によりデータパケットの再送回数をデータパケットに記述し、オリジナルパケット、及びα（０≦α≦ｓ）個の冗長パケットを送信する（Ｓ２０３）。このとき、生成した冗長パケットのうち、送信しなかった部分を再送用データとして、再送用データ蓄積部３３に格納する（Ｓ２０４）。
【００３７】
次いで、クライアント端末２４からの再送要求があるか否かを判断する（Ｓ２０５）。クライアント端末２４からの再送要求がない場合には、そこで配信処理を終了する（Ｓ２０６）。
【００３８】
一方、ステップＳ２０５において、クライアント端末２４からの再送要求があったと判断した場合には、格納された冗長パケット（再送用データ）を元に、新規冗長パケットを生成し（Ｓ２０７）、多重度管理部３８により、データパケットの再送回数をデータパケットに記述し、冗長パケット、及び、冗長パケットの冗長パケットβ（０個以上）を送信する（Ｓ２０８）。
【００３９】
生成した冗長パケットの冗長パケットのうち、送信しなかった部分を、再送用データ蓄積部３３に格納する（Ｓ２０９）。以降クライアントからの再送要求が無くなるまで、上記ステップＳ２０５〜Ｓ２０９を繰り返す。
【００４０】
（クライアント端末２４における受信処理）
図６は、本実施形態におけるクライアント端末２４の受信処理を示すフロー図である。
【００４１】
先ず、サーバ２１からのデータパケットの受信を行い（Ｓ３０１）、多重度解釈部４４により、受信データに記述された再送回数を検出し、当該再送回数でデコードに必要な数以上のデータパケットの受信ができたかをチェックする（Ｓ３０２）。受信ができている場合には、データパケットの再送回数に合わせて順次データパケットをデコードし、オリジナルパケットを再生し終了する（Ｓ３０４）。
【００４２】
一方、ステップＳ３０２において、デコードに必要な数が受信できていないと判断した場合には、デコードを行うのに必要な数だけのデータパケットをサーバに再送要求する（Ｓ３０３）。以降デコードするのに十分なデータパケットを受信できるまで、上記ステップＳ３０２〜Ｓ３０３を繰り返す。
【００４３】
（作用・効果）
以上説明した本実施形態に係るシステム及び方法によれば、サーバ２１側において、データパケットの前方誤り訂正のエンコードを行い、冗長なデータパケット数を増大させて送信し、クライアント端末２４からの再送要求を受信した場合には、既にエンコードしてある冗長データに対して、さらに前方誤り訂正のエンコードを行い、さらに冗長なデータパケット数を増やして送信することができる。
【００４４】
また、本実施形態においては、サーバ２１側において、再送回数を記憶しておき、再送回数を送信に係るデータに記述し、クライアント端末２４側において、受信されたデータに記述された、当該データの再送回数を検出し、この検出された再送回数に応じてオリジナルデータの生成を行うため、順序性保証を行わない通信プロトコルにおいて、ネットワークの遅延や誤りによってデータパケットの順番が変わってしまう可能性がある場合でも、再送回数に関する情報をデータパケットに記述することによって、受信側において、デコードに必要となるデータパケットを識別することができ、再送回数の同じデータを使って順次デコードを繰り返すことにより、オリジナルのデータパケットを取得することができる。
【００４５】
（変更例）
なお、本発明は、上述した実施形態に限定されるものではなく、以下のような変更を加えることができる。
【００４６】
（１）変更例１
図７は、変更例１におけるデータ通信システムの配信動作の一例を説明するための説明図である。
【００４７】
上述した実施形態では、クライアント端末２４から再送要求があった場合には、再送用データ蓄積部３３に蓄積された再送用データのうち、再送要求に係る不足分のデータ数についてエンコードを行ったが、再送用データ蓄積部３３に蓄積された再送用データの全てをエンコードするようにしてもよい。
【００４８】
詳述すると、上記ステップＳ１０５では、クライアント端末２４からの再送要求を受信した際、再送用データ蓄積部３３に蓄積された再送用データ（α＋１）’〜ｓ’を読み出し、このうち、不足個数ｋ個分の再送用データ（α＋１）’〜（α＋ｋ）’を用いて、エンコード部３２によりエンコードを行い、さらに新規冗長データ１”〜ｕ”を生成し、ｋ個の再送用の冗長データ（α＋１）’〜（α＋ｋ）’、及びβ個の新規冗長データ１”〜β”（０≦β≦ｔ−ｋ）を、クライアント端末２４に対して送信している。
【００４９】
これに対して本変更例では、再送用データ蓄積部３３に蓄積された（ｓ’−α）個の再送用データ（α＋１）’〜ｓ’の全てを用いてエンコードを行い、新規冗長データ１”〜ｕ”を生成し、再送用データ（α＋１）’〜ｓ’及び新規冗長データ１”〜中から、ｋ＋β個のデータを再送する。
【００５０】
すなわち、再送に係るβ個のデータには、既に再送用データ蓄積部３３に蓄積されていた再送用データと、新たにエンコードされた新規冗長データとが含まれることとなる。この場合には、再送用データ蓄積部３３には、次のエンコードのための再送用データとして、新規冗長データ１”〜ｕ”のうち、（β＋１）”〜ｕ”が蓄積される。
【００５１】
なお、ｓ’−αが十分大きく、ｓ’−α≧２ｋ＋βとなる場合には、新たに新規冗長データをエンコードすることなく、既に再送用データ蓄積部３３に蓄積されていた再送用データ（α＋１）’〜ｓ’中のｋ＋β分を再送する。
【００５２】
このような変更例１によれば、既にエンコードされ再送用データ蓄積部３３に格納されているデータを最大限利用して、再送用の新規冗長データを生成することができるため、エンコード処理量を低減することができ、サーバ２１の負担を軽減することができる。
【００５３】
（２）変更例２
図８は、変更例２におけるサーバ２１の送信処理を示すフロー図である。上述した実施形態では、クライアント端末２４から再送要求があった祭には、常に、再送用データ蓄積部３３に蓄積された再送用データをエンコードし、再送用データ及びエンコードされた冗長データを再送したが、再送要求された不足データの数に応じて、再送用データ蓄積部３３に蓄積された再送用データをそのまま送信するか、再送用データをエンコードしたものを送信するかを選択するようにしてもよい。
【００５４】
詳述すると、図８（ａ）に示すように、先ず、送信データを送信パケットサイズに分割し、オリジナルパケットを生成し、これをオリジナルデータ蓄積部３１に蓄積する（Ｓ４０１）。次いで、格納データ（オリジナルデータ）から冗長データを生成するとともに（Ｓ４０２）、これらのデータのエンコード回数（再送回数）を記述したパケットヘッダを、送信パケットに付与する（Ｓ４０３）。そして、この生成された送信パケットのうち、所望数（例えば、ｎ個のオリジナルデータと、α個の冗長パケット）を送信する（Ｓ４０４）。
【００５５】
そして、クライアント端末２４から再送要求があるか否かについて判断し（Ｓ４０５）、再送要求がなかった場合には、配信処理を終了する（Ｓ４０６）。なお、ここでは、ステップＳ４０５において、Ｋ個の再送要求があったものとする。
【００５６】
ステップＳ４０５において、再送要求があると判断した場合には、再送用データ蓄積部３３に格納された再送用データ数（残りデータ数：ｘ）と、再送要求に係る不足データ数（スレッショルド：２Ｋ＋Ｃ）とを比較する（Ｓ４０６）。このスレッショルドは、同図（ｂ）に示す表から得られる値であり、要求数Ｋに対応付けられたＣから得られる。この対応テーブルは、サーバ２１に予め格納させておき、再送の際にこの対応テーブルを参照するようにしてもよい。
【００５７】
ステップＳ４０６において、残りデータ数ｘがスレッショルド（２Ｋ＋Ｃ）よりも多いときには（図中Ｓ４０７におけるｘ≧２Ｋ＋Ｃ）、エンコードを行うことなくステップＳ４０４以降の処理を実行し、残りデータ数がスレッショルド（２Ｋ＋Ｃ）よりも少ないときには（図中Ｓ４０８におけるｘ＜２Ｋ＋Ｃ）、エンコードを行うステップＳ４０２以降の処理を実行する。
【００５８】
このような変更例２によれば、不要なエンコード処理が実行されるのを回避することが可能となり、サーバ２１の処理負担を軽減することができる。
【００５９】
（パケット通信プログラム）
なお、上述した実施形態及び変更例におけるパケット通信システム及び方法は、所定のコンピュータ言語で記述されたプログラムとすることができる。すなわち、プログラムを、サーバ２１や、クライアント端末２４に備えられたコンピュータにインストールすることにより、上述した各機能を有する送信装置３や受信装置４を容易に構築することができる。このプログラムは、例えば、通信サービス及びスタンドアローンの計算機上で動作するアプリケーションとすることができる。
【００６０】
そして、このようなプログラムは、図９に示すような、汎用コンピュータ１２０で読み取り可能な記録媒体１１６〜１１９に記録することができる。具体的には、同図に示すような、フレキシブルディスク１１６やカセットテープ１１９等の磁気記録媒体、若しくはＣＤ−ＲＯＭやＤＶＤ−ＲＯＭ１１７等の光ディスクの他、ＲＡＭカード１１８など、種々の記録媒体に記録することができる。
【００６１】
そして、このプログラムを記録したコンピュータ読み取り可能な記録媒体によれば、汎用のコンピュータや専用コンピュータを用いて、上述したプログラム同期システムやプログラム同期方法を実施することが可能となるとともに、プログラムの保存、運搬及びインストールを容易に行うことができる。
【００６２】
【発明の効果】
本発明によれば、データパケットの前方誤り訂正のエンコードを繰り返すことによって、冗長なデータパケットを増やすことができるため、データパケットの通信処理において、前方誤り訂正のエンコードパケットを用いた再送の回数を増やすことが可能になり、通信品質の向上を実現できる。
【図面の簡単な説明】
【図１】実施形態におけるパケット通信システムの全体構成を例示する構成図である。
【図２】実施形態における送信装置３の内部構成を示すブロック図である。
【図３】実施形態における受信装置４の内部構成を示すブロック図である。
【図４】実施形態に係るデータ通信システムの配信動作の一例を説明するための全体シーケンス図である。
【図５】実施形態におけるサーバ２１の送信処理を示すフロー図である。
【図６】実施形態におけるクライアント端末２４の受信処理を示すフロー図である。
【図７】実施形態の変更例に係るデータ通信システムの配信動作の一例を説明するための説明図である。
【図８】実施形態の変更例におけるサーバ２１の送信処理を示すフロー図である。
【図９】実施形態に係るパケット通信プログラムを記録したコンピュータ読み取り可能な記録媒体の斜視図である。
【図１０】従来のマルチキャスト方式によるパケット通信システムの全体構成を示す構成図である。
【符号の説明】
α…冗長パケット
β，γ…新規冗長パケット
ｔ，ｖ，ｘ…再送用データ
３…送信装置
４…受信装置
２１…サーバ
２２…ルータＨＵＢ
２３…アクセスポイント
２４…クライアント端末
２５…データパケット
３１…オリジナルデータ蓄積部
３２…エンコード部
３３…再送用データ蓄積部
３４…再送回数記憶部
３５…データパケット送信部
３６…データ送受信部
３７…再送要求受付部
３８…多重度管理部
３９…制御部
４１…オリジナルデータ
４２…デコード部
４３…冗長データ蓄積部
４４…多重度解釈部
４５…データパケット受信部
４６…データ送受信部
４７…再送要求送信部
４８…制御部
１１６〜１１９…記録媒体
１２０…汎用コンピュータ
【図１】
2004349891.tif 000003
【図２】
2004349891.tif 000004
【図３】
2004349891.tif 000005
【図４】
2004349891.tif 000006
【図５】
2004349891.tif 000007
【図６】
2004349891.tif 000008
【図７】
2004349891.tif 000009
【図８】
2004349891.tif 000010
【図９】
2004349891.tif 000011
【図１０】
2004349891.tif 000012