(57)【特許請求の範囲】
【請求項１】
受信ユニットへ指標付きデータパケットのフローを送信するように構成された送信ユニットであって、送信ユニットが、プロセッサを有し、プロセッサが、
送信器を使用して、各後続するデータパケットと共に値が順次変化する、指標を格納するヘッダを含むデータパケットを送信し、
データパケットの１つが送信をスケジュールされるたびに、送信ユニットで、送信状況ベクトル（ＴＳＶ）を更新するように構成され、ＴＳＶは、複数のベクトル成分を有し及びデータパケットのフローについての送信履歴を集めた単一の状態ベクトルであり、更新は、送信をスケジュールされたデータパケットに基づいてＴＳＶのベクトル成分の各々を可逆的に更新することを含み、受信ユニットが期待された指標値である指標値を有する各データパケットを連続して受信するたびに前記受信ユニットで同様に更新された対応する受信状況ベクトル（ＲＳＶ）にＴＳＶが一致し、
前記プロセッサが、
受信ユニットで期待された指標値に対応するデータパケットが受信されなかったか又は破損したことを受信ユニットが示すとすぐに、前記ＴＳＶの少なくとも１つのベクトル成分の現在値を、送信器を使用して、送信するように構成され、ＴＳＶは、ＴＳＶの送信された現在値が受信器においてＲＳＶ及び受信されなかったか又は破損したデータパケットに対応する期待された指標値より大きい指標値を有する受信器で受信されたデータパケットと結合されるときには、前記受信されなかったか又は破損したデータパケットが回復可能であるというものである、送信ユニット。
【請求項２】
前記プロセッサがさらに前記ＴＳＶの現在のベクトル値を前記受信ユニットへ周期的に通告するようになされる、請求項１に記載の送信ユニット。
【請求項３】
前記プロセッサがさらに前記受信ユニットの制御の下で前記少なくとも１つのベクトル成分を選択するようになされる、請求項１または２に記載の送信ユニット。
【請求項４】
前記プロセッサがさらにステートレスデータ通信プロトコルを用いて前記受信ユニットと通信するようになされる、請求項１から３のいずれか一項に記載の送信ユニット。
【請求項５】
請求項１から４のいずれか一項に記載の送信ユニットを収容する、コード化ユニット。
【請求項６】
請求項１から４のいずれか一項に記載の送信ユニットを収容する、マルチキャスト複製ノード。
【請求項７】
請求項１から４のいずれか一項に記載の送信ユニットを収容する、アクセスノード。
【請求項８】
データの損失またはデータの破損に対して受信ユニットへ送信される指標付きデータパケットのフローを保護する方法であって、
−  送信器を使用して、各後続するデータパケットと共に値が順次変化する、指標を格納するヘッダを含むデータパケットを送信するステップと、
−  データパケットの１つが送信をスケジュールされるたびに、送信状況ベクトル（ＴＳＶ）を更新するステップであって、ＴＳＶは、複数のベクトル成分を有し及びデータパケットのフローについての送信履歴を集めた単一の状態ベクトルであり、更新は、送信をスケジュールされたデータパケットに基づいてＴＳＶのベクトル成分の各々を可逆的に更新することを含み、受信ユニットが期待された指標値である指標値を有する各データパケットを連続して受信するたびに前記受信ユニットで同様に更新された対応する受信状況ベクトル（ＲＳＶ）にＴＳＶが一致する、ステップと、
−  受信ユニットで期待された指標値に対応するデータパケットが受信されなかったか又は破損したことを受信ユニットが示すとすぐに、前記受信ユニットからの要求に応じて、前記ＴＳＶの少なくとも１つのベクトル成分の現在値を、送信するステップを備え、ＴＳＶは、ＴＳＶの送信された現在値が受信器においてＲＳＶ及び受信されなかったか又は破損したデータパケットに対応する期待された指標値より大きい指標値を有する受信器で受信されたデータパケットと結合されるときには、前記受信されなかったか又は破損したデータパケットが回復可能であるというものである、方法。
【請求項９】
送信ユニットから指標付きデータパケットのフローを受信するように構成された受信ユニットであって、受信ユニットが、プロセッサを有し、プロセッサが、
−  受信器を使用して、各後続するデータパケットと共に値が順次変化する、指標を格納するヘッダを含むデータパケットを受信し、
−  受信器が期待された指標値である指標値を有する各データパケットを連続して受信するときには必ず受信状況ベクトル（ＲＳＶ）を更新するように構成され、ＲＳＶは、複数のベクトル成分を有し及びデータパケットのフローについての受信履歴を集めた単一の状態ベクトルであり、更新は、期待された指標値を有する受信されたデータパケットに基づいてＲＳＶのベクトル成分の各々を可逆的に更新することを含み、ＲＳＶは、送信ユニットが送信のためにデータパケットの１つをスケジュールするときには必ず前記送信ユニットで同様に更新される対応する送信状況ベクトル（ＴＳＶ）に一致し、
前記プロセッサは、
−  期待された指標値に対応するデータパケットが受信器により受信されなかったか又は破損されるとすぐに、送信ユニットへ、期待された指標値に対応するデータパケットが受信器により受信されなかったか又は破損されたことの指示を送信し、
−  前記送信ユニットから前記ＴＳＶの現在値を受信器を使用して受信し、
−  ＴＳＶの現在の値、ＲＳＶ及び受信されなかったか又は破損されたデータパケットに対応する期待された指標値より大きい指標値を有する受信器で受信されたデータパケットから、前記受信されなかったか又は破損されたデータパケットを回復するように構成された、受信ユニット。
【請求項１０】
前記受信ユニットが、前記ＴＳＶ内の前記少なくとも１つのベクトル成分を選択するようになされたセレクタをさらに備える、請求項９に記載の受信ユニット。
【請求項１１】
その回復が未解決である、情報の現在の量に依存して、少なくとも１つのベクトル成分が選択される、請求項１０に記載の受信ユニット。
【請求項１２】
前記少なくとも１つの現在の成分値の受信時にその回復が未解決になることが予期される、情報の推定量に依存して、少なくとも１つのベクトル成分が選択される、請求項１０に記載の受信ユニット。
【請求項１３】
前記プロセッサがさらにステートレスデータ通信プロトコルを用いて前記送信ユニットと通信するようになされる、請求項９から１２のいずれか一項に記載の受信ユニット。
【請求項１４】
請求項９から１３のいずれか一項に記載の受信ユニットを収容する、加入者ゲートウェイ。
【請求項１５】
請求項９から１３のいずれか一項に記載の受信ユニットを収容する、加入者端末。
【請求項１６】
請求項９から１３のいずれか一項に記載の受信ユニットを収容する、デコーディングデバイス。
【請求項１７】
送信ユニットから受信された指標付きデータパケットのフロー内で紛失したまたは破損したデータパケット（Ｄｊ）を回復する方法であって、
−  受信器で、各後続するデータパケットと共に値が順次変化する、指標を格納するヘッダを含むデータパケットを受信するステップと、
−  受信器が期待された指標値である指標値を有する各データパケットを連続して受信するときには必ず受信状況ベクトル（ＲＳＶ）を更新するステップを備え、ＲＳＶは、複数のベクトル成分を有し及びデータパケットのフローについての受信履歴を集めた単一の状態ベクトルであり、更新は、期待された指標値を有する受信されたデータパケットに基づいてＲＳＶのベクトル成分の各々を可逆的に更新することを含み、ＲＳＶは、送信ユニットが送信のためにデータパケットの１つをスケジュールするときには必ず前記送信ユニットで同様に更新される対応する送信状況ベクトル（ＴＳＶ）に一致し、
前記方法は、
−  期待された指標値に対応するデータパケットが受信されなかったか又は破損されるとすぐに、送信ユニットへ、期待された指標値に対応するデータパケットが受信器により受信されなかったか又は破損されたことの指示を送信するステップと、
−  前記ＴＳＶの現在の値を前記送信ユニットから、受信器で受信するステップと、
−  ＴＳＶの現在の値、ＲＳＶ及び受信されなかったか又は破損されたデータパケットに対応する期待された指標値より大きい指標値を有する受信器で受信されたデータパケットから、前記受信されなかったか又は破損されたデータパケットを回復するステップと
を備えることを特徴とする、方法。
【請求項１８】
送信ユニットが、ＴＳＶのベクトル成分の各々の長さがデータパケットの長さと一致するように、ＴＳＶを更新するように構成された、請求項１に記載の送信ユニット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パケット交換網内の新しい誤り制御パラダイムに関する。
【背景技術】
【０００２】
パケット交換網それ自体は信頼できない、つまり、それらはパケットを遅らせる、損なう、または失う、あるいは不適切に送達することがないという保証を何ら与えない。
【０００３】
順方向誤り訂正（ＦＥＣ）および再送信は、パケット交換網を介して高信頼の通信を提供するための基本的誤り制御パラダイムである。
【０００４】
再送信は、破損したまたは失われたデータパケットの再送であり、以下に依存する：
−  受信情報の完全性をチェックするためのチェックサム（または同様のもの）、
−  肯定応答、すなわち何らかの戻りチャネルを介した受信機から送信機への明示的受信、および
−  紛失したまたは破損したパケットの再送信（送信機または受信機によって開始される）。
【０００５】
再送信は、もしあれば、各未処理のパケット（まだ肯定応答されていない）のコピーが、さらなる再送信のために送信側で保持されることを暗に示す。
【０００６】
いくつかの形態の再送信方式があるが、最も注目すべきは：
−  選択的肯定応答（ＳＡＣＫ）：受信機が、どのパケット、メッセージまたはセグメントが正確に受信され、一方でどのパケットがされなかったかを送信機に明示的に通知する。
−  累積肯定応答：受信機が、パケット、メッセージまたはセグメントが正確に受信されたことを肯定応答し、肯定応答がすべての前のパケットもまた正確に受信されたことを暗に示す。転送制御プロトコル（ＴＣＰ）は累積肯定応答を使用する。
−  否定応答（ＮＡＣＫ）：受信機が、どのパケット、メッセージ、またはセグメントが不正確に受信され、従って再送信されるべきであるかを送信機に明示的に通知する。
【０００７】
再送信はマルチキャスト伝送について、すなわち１つの送信機が１つの共通のデータストリームで多数の受信機に仕える場合に、不利である。通常は、マルチキャスト送信の信頼性は、ユニキャストおよび同時通信チャネルを介する否定応答および再送信を用いて達成される。エンドユーザにとって受入れ可能な経験品質（ＱｏＥ）を達成するためには、相当な量のデータパケットがサーバ側でまたはマルチキャスト複製ノードで保持される必要がある。再送信キャッシュのサイズは、受信機から再送信ユニットへの一往復時間（ＲＴＴ）、および要求パケットが最終的に受信機に到達するのに必要となり得る再送信の数（すなわち、加入者が経験し得る雑音および／またはネットワーク環境）に依存する。通常は、ビデオ情報の最後の１００−２００ミリ秒（約５０から１００データパケット）がありとあらゆるブロードキャストされるチャネルについてキャッシュされる必要がある。同様に、多数の加入者に仕えるためには、相当な量の専用ユニキャスト通信リソースがパケット再送信のためにプロビジョニングされる必要がある。加入者およびチャネルの数が増えるとき、明らかに、かかる解決法はスケーラブルではない。
【０００８】
ＦＥＣは、情報データへの冗長データの加算である。これは、いくらかのデータオーバヘッドを使ってではあるが、受信機が単独で誤りを検出し訂正することを（ある範囲内で）可能にする。従って、ＦＥＣは、再送信が相対的に費用がかかるまたは不可能である状況に適用される。
【０００９】
ＦＥＣの２つの主要なカテゴリは、リードソロモン（ＲＳ）、ゴレイ、Ｂｏｓｅ  ａｎｄ  Ｒａｙ−Ｃｈａｕｄｈｕｒｉ（ＢＣＨ）およびハミングコードなどのブロックコーディングと重畳コーディングである。誤り訂正の最新の開発は、ターボコーディング、すなわち２つ以上の比較的単純な重畳コードおよびインタリーバを結合させてシャノン限界のデシベル内で（ｗｉｔｈｉｎ  ａ  ｆｒａｃｔｉｏｎ  ｏｆ  ａ  ｄｅｃｉｂｅｌ）実行することができるブロックコードを形成する仕組である。
【発明の概要】
【発明が解決しようとする課題】
【００１０】
ＦＥＣは、受入れ可能なＱｏＥを達成するために相当な量のデータオーバヘッドが必要とされ、それによって対応するチャネル帯域幅が他のサービスによって使用されることを妨げるという点で不利である。
【課題を解決するための手段】
【００１１】
指標付きデータパケットのフローを受信ユニットへ送信するための送信ユニットによって、本発明の目的は達成され、先行技術の欠点は克服され、そして、それは以下を備える：
−  新しい出力データパケットの送信がスケジュールされるときに必ず送信状況ベクトルＴＳＶを更新するようになされた送信状況計算手段であって、その指標が次に期待されるデータパケット指標である新しいエントリーデータパケットが有効に受信されるときには必ずそのＴＳＶが前記受信ユニットで同様に更新される対応する受信状況ベクトルＲＳＶに一致する、手段、
−  前記ＲＳＶの最後に更新されたベクトル値および他の方法で有効に受信されたデータパケットと結合されるときに、少なくとも１つの紛失したまたは破損したデータパケットの回復を可能にする、前記受信ユニットからの要求に応じて、前記ＴＳＶの少なくとも１つのベクトル成分のそれぞれに少なくとも１つの現在の成分値を送信するようになされた、通信手段、
そして、それに相応して、送信ユニットから指標付きデータパケットのフローを受信するための受信ユニットによって、本発明の目的は達成され、先行技術の前述の欠点は克服され、そして、それは以下を備える：
−  新しい出力データパケットが送信をスケジュールされるときには必ず前記送信ユニットで同様に更新された対応する送信状況ベクトルＴＳＶにＲＳＶが一致する、その指標が次の期待されるデータパケット指標である新しいエントリーデータパケットが有効に受信されるときには必ず受信状況ベクトルＲＳＶを更新するようになされた、受信状況計算手段、
−  前記ＴＳＶの少なくとも１つのベクトル成分のそれぞれについて少なくとも１つの現在の成分値を前記送信ユニットから取得するようになされた、通信手段、
−  前記少なくとも１つの現在の成分値から、前記ＲＳＶの最後に更新されたベクトル値から、および他の方法で有効に受信されたデータパケットから、紛失したまたは破損したデータパケットを回復するようになされた、回復手段。
【００１２】
送信状況ベクトル（ＴＳＶ）および受信状況ベクトル（ＲＳＶ）は、送信および受信側のそれぞれで最新のものに維持される。新しい出力データパケットが送信をスケジュールされるときには必ず、また新しいエントリーおよび隣接して指標を付けられたデータパケット（その指標が次に期待されるデータパケット指標である）が有効に受信されるときには必ず、ＴＳＶおよびＲＳＶが共通のアルゴリズムに従って更新される。何らかの形で、ＴＳＶおよびＲＳＶは、短縮された形式でではあるが、送信および受信履歴（どの情報バイトが送信および受信されたか）を追跡する。通常は、ＴＳＶおよびＲＳＶは、１つまたは複数のベクトル成分（ベクトル方向に応じた行または列）を備え、各ベクトル成分の長さはデータパケットの長さに一致する。ＴＳＶおよびＲＳＶは、その指標がデータパケット自体の中にコード化された対応するデータパケット指標に一致する、送信および受信の一般に同意された指標である初期状態にリセットされる。それらの指標は必ずしも一致する必要はないが、それらの間の整合対応が必要とされる。
【００１３】
受信データパケットのフロー内の紛失したまたは破損したデータパケットが検出されると直ちに、受信機は送信機との同期をやめ、もはやＲＳＶを更新することができない。要求は次に、現在のＴＳＶの値、すなわち最後に更新されたＴＳＶの値、またはその一部、ならびにその値が対応する送信指標を得るために送信機に送られる。それらの送信状況情報を最後に更新されたＲＳＶの値および他の方法で正確に受信されたデータパケットと結合させることによって、知られていないパラメータとして紛失したまたは破損したデータパケットを構成するデータ記号（ビット、バイトなど）をもつ１セットの方程式を導出する。本明細書にさらに記載されるように、送信および受信状況ベクトルの計算がそれらの方程式が可逆的であるようなものである場合、そのとき紛失したまたは破損したデータ記号は回復されることができ、ＲＳＶの更新が再開されることができる。
【００１４】
本発明は、誤り制御情報が、失われたまたは破損したデータを回復するために必要な正確な範囲まで、オンデマンドでのみ送信されるという点で有利である。本発明はさらに、送信履歴全体が、何らかの形で、再送信のためにデータパケットが保持される対応する送信キャッシュよりも少ない成分をもつ単一状態ベクトルにコンパイルされ、それによって桁違いまで必要メモリを緩和するという点で有利である。最後にではあるが大切なことには、受信機は、そのユーザについて必要なＱｏＥを達成するために、その受信キャッシュおよびその回復方式を形成することができる。送信機は、最悪の場合のシナリオに対応するために１００のパケットを追跡する必要はない。状態ベクトルの次元のみが問題となる：ベクトル成分が多ければ多いほど、回復されることができるデータパケットは多くなり、そして、データ通信システムはより回復力をもつ。
【００１５】
ＴＳＶがその特定の受信機のＲＳＶと一致するＴＳＶのサブセットとして解釈されることになる場合、たとえば受信側でのより少ない計算の複雑性またはより低い回復能力のため、ＲＳＶは実際のＴＳＶのサブセットでもよいことに留意されたい。
【００１６】
さらに、送信および受信状況情報の計算は、通信プロトコル群内の任意のレイヤで実行されることができることにも留意されたい。たとえばレイヤ２（Ｌ２）で、イーサネット（登録商標）ペイロードなどから（そして、イーサネット（登録商標）フレームが何らかの方法で指標を付けられるという条件で）送信および受信状況情報が計算され、一方向のユニキャストまたはマルチキャスト通信があるのと同じ数の状態ベクトルが存在することになる。別法として、送信および受信状況情報の計算は、ある特定のタイプのトラフィックまたはペイロードに限定されることもできる。
【００１７】
本発明による送信ユニットの一例は、ビデオヘッドエンドなどのコード化デバイス、またはマルチメディアサーバ、または、デジタル加入者回線アクセス多重化装置（ＤＳＬＡＭ）もしくは無線／移動基地局などの中間複製ノードであり、本発明による受信ユニットの一例は、セットトップボックス（ＳＴＢ）もしくはモデムもしくはルータなどの加入者ゲートウェイ、または、テレビジョンセットもしくはパーソナルコンピュータもしくは無線／移動端末などの加入者端末、またはデコーディングデバイスである。
【００１８】
本発明による送信ユニットのさらなる一実施形態は、前記通信手段がさらに前記ＴＳＶの現在のベクトル値を前記受信ユニットへ周期的に通告するようになされることを特徴とする。
【００１９】
定期的に現在のＴＳＶの値を通告する（またはブロードキャストする）ことによって、送信ユニットは、時々受信ユニットをそのＲＳＶに再同期させ、それによって未検出のデータ破損による計算の不整合を回避する。正常な動作を再開するためには受信機がその状態ベクトルを送信機と再同期させる必要がある、誤りのあるパケットが多数ある場合にも、それは有用である。
【００２０】
本発明による送信ユニットの代替実施形態は、前記通信手段がさらに、前記受信ユニットの制御の下で前記少なくとも１つのベクトル成分を選択するようになされることを特徴とし、これに相応して、本発明による受信ユニットの代替実施形態は、前記受信ユニットがさらに前記ＴＳＶ内の前記少なくとも１つのベクトル成分を選択するようになされたセレクタを備えることを特徴とする。
【００２１】
受信機は、回復プロセスによって必要とされる送信状況情報の量を厳密に制御する、すなわち、連続データパケットのバーストがインパルス雑音などのために失われた場合よりも、単一データパケットがあちこちで失われた場合により少ないＴＳＶの成分が要求されることになる。誤り制御情報の量は、加入者が経験している具体的なチャネル機能障害に一致し、それによってＦＥＣパラダイム（誤り制御情報がデフォルト設定でありとあらゆる送信ペイロードに付加される）に関して帯域幅使用を緩和し、その帯域幅を他の同時サービスに利用可能にする。
【００２２】
第１の実施形態では、前記少なくとも１つのベクトル成分は、その回復が未解決である、情報の現在の量に依存して選択される。
【００２３】
第２の実施形態では、前記少なくとも１つのベクトル成分は、前記少なくとも１つの現在の成分値の受信時にその回復が未解決であると予期される、情報の予測される量に依存して選択される。
【００２４】
これから先の誤りのあるパケットを予測することによって、初めに要求されたＴＳＶの成分が、増え続ける誤りのあるパケットの数に対してもはや十分でない場合、また、追加のＴＳＶの成分がさらに要求されようとする場合、新しい通信ラウンドを回避する。紛失したまたは破損した情報の予測量は通常は、観測された誤りパターンにおよびＲＴＴ測定結果に基づく。この実施形態は、予測値が悲観的すぎる場合にいくらかの追加のオーバヘッドを代償としてではあるが、より速いデータ回復を達成する。
【００２５】
本発明による送信ユニットおよび受信ユニットのさらに別の実施形態は、前記通信手段がステートレスデータ通信プロトコルを用いて互いに通信するようになされることを特徴とする。
【００２６】
要求されるおよび送信される送信状況情報は現在のものであり、従って、要求クライアントにかかわらず同一である。現在の状態ベクトルの第１の送信が失敗した場合、その後の状態ベクトルの第２の送信が行われることになる。ユーザデータグラムプロトコル（ＵＤＰ）などのステートレス通信プロトコルはそのときに、特に適している。従って、通信コンテキストは送信側で保持される必要はなく、この解決法を高度にスケーラブルにする。この実施形態は特に、マルチキャスト送信について有利である。
【００２７】
本発明はまた、データの損失またはデータの破損に対して受信ユニットへ送信される指標付きデータパケットのフローを保護する方法に関し、それは以下のステップ：
−  新しい出力データパケットが送信をスケジュールされるときに必ず、送信状況ベクトルＴＳＶを更新するステップであって、その指標が次に期待されるデータパケット指標である新しいエントリーデータパケットが有効に受信されるときには必ず前記受信ユニットで同様に更新される対応する受信状況ベクトルＲＳＶにＴＳＶが一致する、ステップ、
−  前記ＲＳＶの最後に更新されたベクトル値および他の方法で有効に受信されたデータパケットが結合されるときに、少なくとも１つの紛失したまたは破損したデータパケットの回復を可能にする、前記受信ユニットからの要求に応じて、前記ＴＳＶの少なくとも１つのベクトル成分のそれぞれに少なくとも１つの現在の成分値を送信するステップを備え、
そして、それに相応して、送信ユニットから受信される指標付きデータパケットのフロー内の紛失したまたは破損したデータパケットを回復する方法に関し、その方法は以下のステップ：
−  その指標が次の期待されたデータパケット指標である新しいエントリーデータパケットが有効に受信されるときには必ず受信状況ベクトルＲＳＶを更新するステップであって、新しい出力データパケットが送信をスケジュールされるときには必ず前記送信ユニットで同様に更新される対応する送信状況ベクトルＴＳＶにＲＳＶが一致する、ステップ、
−  前記ＴＳＶの少なくとも１つのベクトル成分のそれぞれに少なくとも１つの現在の成分値を前記送信ユニットから取得するステップ、
−  前記少なくとも１つの現在の成分値から、前記ＲＳＶの最後に更新されたベクトル値から、および他の方法で有効に受信されたデータパケットから、前記紛失したまたは破損したデータパケットを回復するステップを備える。
【００２８】
本発明による送信ユニットの実施形態は、データの損失またはデータの破損に対して受信ユニットへ送信される指標付きデータパケットのフローを保護するための本発明による方法の実施形態に相当し、本発明による受信ユニットの実施形態は、送信ユニットから受信される指標付きデータパケットのフロー内の紛失したまたは破損したデータパケットを回復するための本発明による方法の実施形態に相当する。
【００２９】
以下の添付の図面と共に実施形態の以下の説明を参照することによって、本発明の前述のおよび他の目的および特徴はさらに明らかとなり、本発明自体が最もよく理解されよう：
【図面の簡単な説明】
【００３０】
【図１】本発明による送信ユニットおよび受信ユニットを表す図である。
【図２】送信ユニットと受信ユニットの間を流れる情報の一例を表す図である。
【発明を実施するための形態】
【００３１】
図１には、以下を備える通信システム１がある：
−  送信ユニット１００、および
−  受信ユニット２００。
【００３２】
送信ユニット１００および受信ユニット２００は、さらに中間ネットワークノード（図示せず）を備えることができ、そして、それを介してデータパケットが送信ユニット１００から受信ユニット２００へ運搬されるデータ経路３１０、および、それを介して誤り制御メッセージが送信ユニット１００と受信ユニット２００の間で交換される誤り制御経路３２０をサポートする、パケット交換通信ネットワークを介して、互いに結合される。
【００３３】
送信ユニット１００および受信ユニット２００はそれぞれ、指標付きデータパケットＤｊ−５、Ｄｊ−４、Ｄｊ−３、Ｄｊ−２、Ｄｊ−１、Ｄｊ、．．．、Ｄｋ−１、Ｄｋ、Ｄｋ＋１、Ｄｋ＋２、．．．のフローを送信および受信し、ｊは失われた特定のデータパケットの指標を示し、ｋは送信ユニット１００による送信のためにスケジュールされるデータパケットの指標を示し、ｊ＜ｋである。
【００３４】
本発明の例示的な一実施形態では、データパケットＤは、複数の受信機（受信ユニット２００を含む）がリッスンする、マルチキャストアドレスに向けられたＲＴＰパケットである。ＲＴＰパケットは、ＲＴＰヘッダ内にコード化された１６ビットのＲＴＰシーケンス番号で指標付けされている。ＴＳＶおよびＲＳＶ値は、ＲＴＰペイロードから計算される。ＲＴＰペイロードは可変長のものでもよく、その場合には、それは知られているビットパターンでパッディングされる。送信されているマルチキャストストリームがあるのと同じ数のＴＳＶのインスタンスが存在し、リッスンされているマルチキャストがあるのと同じ数のＲＳＶのインスタンスが存在する。
【００３５】
送信ユニット１００は、以下の機能ブロック：
−  データパケットＤが送信をスケジュールされる前に保持される、送信キャッシュ１１０、
−  ＴＳＶ  Ｔを計算するための送信状況計算ユニット１２０、および
−  通信ユニット１３０を備える。
【００３６】
送信キャッシュ１１０は、送信状況計算ユニット１２０に結合される。送信状況計算ユニット１２０はさらに、通信ユニット１３０に結合される。
【００３７】
送信状況計算ユニット１２０は、新しい出力データパケット、現在はＤｋ、が送信をスケジュールされるときに必ずＴＳＶ  Ｔの値を更新するようになされている。
【００３８】
例示的な一実施形態として、送信状況計算ユニット１２０は：
−  ＴＳＶ  Ｔの最後に更新された値、現在はＳｋ、が保持される、データリポジトリ１２３と、
−  その値が更新される前に、ＴＳＶ  Ｔの前値、現在はＳｋ−１、をラッチするためのラッチ１２２（またはシフトレジスタもしくは同様のもの）と、
−  ラッチ１２２によってラッチされるものとしてのＴＳＶ  Ｔの前値、現在はＳｋ−ｉ、を第１の変数として、そして送信をスケジュールされた新しいデータパケットのＲＴＰペイロード、現在はＤｋ、を第２の変数として受け入れ、ＴＳＶ  Ｔの新しい値、現在はＳｋ、を出力として生成する、前の値がラッチ１２２によってラッチされる間に新しい値がデータリポジトリ１２３の中にプッシュされる、関数ｆ１２１を備える。
【００３９】
送信状況計算アルゴリズムは、本実施形態のオペレーションを参照して明示される。
【００４０】
通信ユニット１３０は、受信ユニット２００によって選択されるものとしてのＴＳＶの成分の現在の（最後に更新された）値を、その値が対応するデータパケット指標と共に受信ユニット２００に提供するようになされる。
【００４１】
通信ユニット１３０は、ＵＤＰを通信プロトコルとして使用する。
【００４２】
受信ユニット２００は、以下の機能ブロック：
−  有効に受信されたデータパケットＤがさらに処理される前に保持される、受信キャッシュ２１０、
−  ＲＳＶ  Ｒを計算するための受信状況計算ユニット２２０、
−  通信ユニット２３０、
−  回復ユニット２４０、
−  セレクタ２５０を備える。
【００４３】
受信キャッシュ２１０は、受信状況計算ユニット２２０に結合される。回復手段２４０は、受信キャッシュ２１０に、受信状況計算ユニット２２０に、およびセレクタ２５０に結合される。セレクタ２５０はさらに、通信ユニット２３０に結合される。
【００４４】
受信状況計算ユニット２２０は、その指標が次の期待されたデータパケット指標である、新しいエントリーデータパケットが有効に受信されるときには必ず、現在はデータパケットＤｊ−１まで、ＲＳＶ  Ｒの値を更新するようになされる。
【００４５】
受信状況計算ユニット２２０は：
−  ＲＳＶ  Ｒの最後に更新された値、現在はＳｊ−１、が保持される、データリポジトリ２２３と、
−  その値が更新される前に、ＲＳＶ  Ｒの前の値、現在はＳｊ−２、をラッチするためのラッチ２２２と、
−  送信ユニット１００の関数１２１に一致し、第１の引数としてラッチ２２２によってラッチされたものとしてのＲＳＶ  Ｒの前の値、現在はＳｊ−２、を、そして第２の変数として有効に受信されたデータパケットのＲＴＰペイロード、現在はＤｊ−１、を受け入れ、出力としてＲＳＶ  Ｒの新しい値、現在はＳｊ−１、を生成する、前の値がラッチ２２２によってラッチされる間に新しい値がデータリポジトリ２２３の中にプッシュされる、関数ｆ２２１を備える。
【００４６】
受信状況計算アルゴリズムが、実施形態の動作を参照して明示される。
【００４７】
通信ユニット２３０は、送信ユニット２００からのＴＳＶ  Ｔの意図的に選択されたベクトル成分の現在の値、ならびにその値が対応するデータパケット指標を取得するようになされる。現在は、通信ユニット２３０は、ＴＳＶ  Ｔの第ｍの成分の現在の値を要求し、応答として値Ｓｋ，ｍを取得し、ｋはその値が対応するＲＴＰシーケンス番号を示す。
【００４８】
通信ユニット２３０は、通信プロトコルとしてＵＤＰを使用する。
【００４９】
回復ユニット２４０は、紛失したまたは破損したデータパケット、現在はＤｊ、を検出し、その結果スイッチ２４１を介してＲＳＶ  Ｒの更新を中断するようになされる（図１のｏｆｆを参照）。現在、それらの指標のいずれも次の期待されたデータパケット指標、現在は指標ｊ、ではないので、新しいデータパケットＤｊ＋１、．．．、Ｄｋが入ってくる間、ＲＳＶの値はＳｊ−１のままにされている。
【００５０】
回復ユニット２４０はさらに、最後に更新されたＲＳＶ  Ｒの値、現在はＳｊ−１、から、要求された１つまたは複数のＴＳＶ成分の現在の値、現在はＳｋ，ｍ、から、および、他の方法で正確に受信されたデータパケット、現在はＤｊ＋１、．．．、Ｄｋ、から、紛失したまたは破損したデータパケット、現在はＤｊ、を回復するようになされる。回復されたパケットは、さらなる処理のために、受信キャッシュ２１０の中にプッシュされ、ＲＳＶ  Ｒの更新がスイッチ２４１を介して再開される（図１のｏｎを参照）。
【００５１】
回復ユニット２４０はさらに、紛失したまたは破損したデータパケットが検出されるときには必ず（図１のｅｒｒ＿ｉｎｄを参照）、さらにまた紛失したまたは破損したデータパケットが回復されるときには必ず（図１のｒｅｃ＿ｉｎｄを参照）、セレクタ２５０に通知するようになされる。
【００５２】
回復アルゴリズムが、実施形態の動作を参照して明示される。
【００５３】
セレクタ２５０は、１つまたは複数の紛失したまたは破損したデータパケットを回復することができるように、正しいＴＳＶの成分を選択するようになされる。現在、セレクタ２５０は、ＴＳＶ  Ｔの第ｍの成分を選択し、通信ユニット２３０にそれを取得するように要求する（図１のｇｅｔ＿ＴＳＶ＿ｃｍｐｔ（ｍ）を参照）。
【００５４】
ＴＳＶの成分の選択は：
−  もしあれば、既に利用可能な送信状況情報、
−  ＲＳＶ  Ｒの最後に更新された値以降の紛失したまたは破損したデータパケットの現在の値、または別法として、選択されることになるＴＳＶの成分から回復されなければならないことになる紛失したまたは破損したデータパケットの推定数に基づく。
【００５５】
紛失したまたは破損したデータパケットの数の推定は、以下のファクタ：
−  それについてのＲＳＶの値が利用可能であり、対応するＴＳＶの値、現在は指標ｊ−１、と一致することが期待される、最後のデータパケット指標をセレクタ２５０が判定することを可能にする、回復ユニット２４０によって通知されるものとしての誤りおよび回復情報（図１のｅｒｒ＿ｉｎｄおよびｒｅｃ＿ｉｎｄを参照）、
−  それについて選択されることになるＴＳＶの成分が利用可能になる、データパケット指標、現在は指標ｋ、をセレクタ２５０が推定することを可能にする、たとえば通信ユニット２３０などによって実行される、受信機ユニット２００と送信ユニット１００の間のＲＴＴの測定結果（図１のＲＴＴ＿ｍｅａｓを参照）、
−  回復ユニット２４０からまたは下層からの誤り情報に基づきセレクタ２５０などによって実行される、誤り比率測定結果（誤りのあるパケットの予測比）に基づく。
【００５６】
その推定は、追加の誤りタイミング情報（持続期間、頻度、１日のどの時間におよび／または週のどの時間に発生するかなど）で強化されることができる。
【００５７】
データ通信システム１の動作が、以下に続く。
【００５８】
送信ユニット１００から受信ユニット２００に送信されなければならない第ｋのパケット（ｋはＲＴＰシーケンス番号などのパケット指標を示す）をＤｋとする。このパケットは、それに計算（加算、乗算など）が行われることができるＬ記号（ビットまたはバイトなど）に分割される。任意のタイプの記号が使用されることができるが、本実施形態では、加算および乗算はガロア域（ＧＦ）で明確に定義されるので、ガロア域（ＧＦ）の要素を記号として使用することになる。残りの説明では、用語「パケット」をやはり使用するが、そのパケットはＬ記号にセグメント化され、これらの記号（ｌ＝１、．．．、Ｌ）のそれぞれが厳密に同じ方法で並行して取り扱われると暗に仮定する。具体的には、我々が構成することになる誤り訂正情報は、並行して計算される訂正記号の番号Ｍで構成される。すなわち、パケットの各データ記号（ｌ＝１、．．．、Ｌ）に対して、Ｍの訂正記号のベクトルが関連付けられる。これらのＬベクトルに関してＭ訂正パケットが構成されることができる：第ｍの訂正パケットが、ありとあらゆるデータ記号ｌの第ｍの訂正記号（Ｍ記号のベクトルから）を結合させることによって構成される。これは、データパケットと同じサイズの訂正パケットを作る。データパケットが同じサイズではない場合、最大パケットサイズが取られなければならず、より短いパケットはダミー情報を詰め込まれなければならない。
【００５９】
パケットの損失またはパケットの破損からパケットの送信を保護するために、以下の仕組が提案される。送信ユニット１００が指標付きＴＳＶを保持し、その値はＳｋ＝［Ｓｋ，１；Ｓｋ，２；．．．；Ｓｋ，Ｍ］で示される。このＭ次元ＴＳＶは、以下の方程式に従って、各送信パケットＤｋについて更新される：
Ｓｋ＝ｆｋ（Ｄｋ，Ｓｋ−１）（１）
【００６０】
関数ｆｋは、パケットＤｋのペイロードの値および前のパケットＳｋ−１と関連付けられた状態ベクトル値をエントリーとして取り、新しい状態ベクトル値Ｓｋを出力として作り出す、ベクトル関数である。関数ｆｋ自体はｋに依存することに留意されたい。すなわち、一般に各パケットについて、状態ベクトルを計算するための新しいルールが使用されることができる。しかし、我々は、関数ｆｋがｋに依存しない場合に本実施形態を限定し、その関数をｆとして示す。
【００６１】
受信ユニット２００は同様に、ＲＳＶを更新し、その値は送信側で計算されるＴＳＶの対応する値に一致する。送信ユニット１００および受信ユニット２００の両方が、同じ初期状態Ｓ０で開始し、まったく同じ関数ｆを使用する。送信および受信側のかかる状態ベクトルは、互いの正確なコピーである。パケット、たとえばパケットＤｊ、が失われた場合、受信ユニット２００は同期をやめ、送信ユニット１００に送信機の現在の状態ベクトルの適切なサブセットを要求する。この要求が送信ユニット１００に到達する前にいくらかの時間がかかるので、現在のベクトルは今はＳｋであり、ｋ＝ｊ＋ｒ、そしてｒはＲＴＴおよびパケット間時間に依存する何らかの正数である。送信ユニット１００は、現在のシーケンス番号ｋと共に、Ｓｋの要求されたエントリーを受信ユニット２００に送る。この情報が到達するとき、受信ユニット２００は、ほとんどの場合、紛失したパケットを再構成することができる。紛失したパケットが再構成される場合、受信ユニット２００は、送信ユニット１００の状態ベクトルと同期したその状態ベクトルを保つことができる。何らかの理由で紛失したパケットが再構成されることができない場合、受信ユニット２００は、その状態ベクトルが送信ユニット１００の状態ベクトルと同期を保っていることを（十分な訂正情報を要求することによって、または特定のパケット指標で何らかの同意された値に状態ベクトルを再初期化することによって、または送信機から受信機への状態ベクトルＴの周期的な通告に依存することによって）さらに確認しなければならない。
【００６２】
訂正情報が対応するシーケンス番号、すなわちｋ、があるヘッダフィールド内の誤り訂正情報と共にピギーバックすることができると仮定する場合、状態ベクトルの１つのエントリーの送信は、１つのパケットの再送信が必要とするのとまったく同じ容量を必要とすることに留意されたい。
【００６３】
受信側での再構成は、受信機が紛失したデータパケットＤｊがどのように状態ベクトルＳｊ＋ｒ＝Ｓｋに影響を及ぼすかを知っているという事実に基づく。ｊとｊ＋ｒの間（両値を含む）にさらなるパケット損失がない場合、そのとき受信機は、それが受信したＳｊ＋ｒの１つ（または複数）のエントリーを生成するであろうそのパケットＤｊを選択すべきである。関数ｆが適切に選択された場合、本明細書でさらに説明されるように、そのときこの解Ｄｊは一意である。たとえばｊ＋ｓ（ｓ＜ｒ）で、ｊとｊ＋ｒの間（両値を含む）に追加のパケット損失がある場合、受信機はその現在の状態ベクトルの他の適切なエントリーを送信機に求める。従って、我々は、損失期間を：それは、１つのデータパケットの損失（受信機の状態ベクトルが送信機の状態ベクトルとの同期を失うという結果をもつ）で開始し、受信機がその状態ベクトルを送信機の状態ベクトルと再同期させるのに十分な情報を再びもつまで続く（損失期間中のすべてのパケット損失が再構成されることができるため、または、受信機が送信機から完全な状態ベクトルを受信するためのいずれか）と定義する。
【００６４】
これは図２に説明されている。パケットＤ１からＤ１５が、送信ユニット１００（Ｔｘ）から受信ユニット２００（Ｒｘ）へ送信される。パケットＤ３が失われる。結果として、受信ユニット２００がＴＳＶの第１の成分を要求する（データパケットＤ４の受信時の図２のＴＳＶ＿ｒｅｑｕｅｓｔ（１ｓｔ  ｃｏｍｐ．）を参照）。送信ユニット１００がデータパケットＤ１０の送信をスケジュールする間に、要求が到達する。送信ユニット１００が、ＴＳＶの第１の成分の現在の値、現在はＳ１０，１、ならびに、その値が対応する送信指標、現在はｋ＝１０、を送信することによって、その要求に応答する。受信ユニットは次に、ＲＳＶの最後に更新された値、現在はｓ２＝［ｓ２，１；ｓ２，２］、から、他の方法で正確に受信されたデータパケットＤ４、Ｄ５、Ｄ６、Ｄ７、Ｄ８、Ｄ９およびＤ１０から、ならびに、送信機の状態ベクトルの第１の成分の現在の値、現在はＳ１０，１、から損失したデータパケットＤ３を再構成することができる。実際には以下のように書くことができる：
Ｓ１０＝ｆ（Ｄ１０，Ｓ９）＝ｆ（Ｄ１０，ｆ（Ｄ９，ｆ（Ｄ８，ｆ（Ｄ７，ｆ（Ｄ６，ｆ（Ｄ５，ｆ（Ｄ４，ｆ（Ｄ３，Ｓ２））））））））（２）
【００６５】
損失期間は現在、データパケットＤ３で開始し、訂正情報Ｓ１０，１（図２のｌｏｓｓ＿ｐｅｒｉｏｄを参照）の受信時に終了し、従って、データパケットＤ３からＤ１０を含む。
【００６６】
データパケットＤ３が回復された後は、ＲＳＶの更新が再開されることができる。
【００６７】
別のデータパケットが損失した場合、さらなるＴＳＶの成分の新しい要求が発行され、それによって適宜に損失期間を延ばす。
【００６８】
現在の発明では、関数ｆは引数として現在のパケットＤｋを取るのみであるが、変数としていくつかの最も新しいパケット、すなわちＤｋ、Ｄｋ−１、．．．、が想定されることもできるが、これは当然ながら送信キャッシュ１１０のサイズを大きくすることになろう。
【００６９】
損失期間中に紛失したまたは破損したパケットを再構成する方法、および、どの状況でどのような種類の訂正情報が求められるかは、具体的な実施形態による。
【００７０】
第１の実施形態では、記号は２つの要素のＧＦまたはＧＦ（２）の要素、すなわちビット｛０，１｝である。状態ベクトルＳｋは、１つのみのエントリーをもち（Ｍ＝１）、従ってスカラまで減る。関数ｆ（Ｄｋ，Ｓｋ−１）（ｋに依存しないように選択される）は、ＤｋおよびＳｋ−１の２値合計（ＸＯＲ）である：
Ｓｋ＝Ｄｋ＋Ｓｋ−１（３）
【００７１】
時刻パケット内のある瞬間に、Ｄｊ−１が正確に受信され、受信ユニット２００は送信ユニット１００と同期している（両方とも同じ状態Ｓｊ−１をもつ）と仮定する。パケットＤｊが失われた場合、受信ユニット２００は、送信機の現在の状態の形式で訂正情報を要求する。この要求が到達したとき、送信ユニット１００は、状態Ｓｊ＋ｒの値および関連シーケンス番号ｊ＋ｒを返す。この情報が到達するとき、受信ユニット２００は以下の方程式を解かなければならない：
Ｓｊ＋ｒ＝Ｄｊ＋ｒ＋Ｓｊ＋ｒ−１＝Ｄｊ＋ｒ＋Ｄｊ＋ｒ−１＋．．．＋Ｄｊ＋Ｓｊ−１＝Ｃ＋Ｄｊ＋Ｓｊ−１（４）
【００７２】
Ｃは、パケットＤｊ＋１からＤｊ＋ｒが正確に受信されれば、計算することができ、その場合、Ｄｊは直接に続く：
Ｄｊ＝Ｃ＋Ｓｊ＋ｒ＋Ｓｊ−１（５）
【００７３】
パケットのセット｛Ｄｊ＋１，．．．，Ｄｊ＋ｒ｝内でさらなる損失がある場合、パケットＤｊは再構成されることはできない。従って、このシステムは、１つの損失期間内の１つのパケット損失を訂正することができるが、２つ以上のパケット損失を訂正することはできない。
【００７４】
状態Ｓｊ＋ｒの受信の後に、受信機状態が再び送信機状態と同期することに注意されたい（損失期間がｒパケットの後に終わるように）。
【００７５】
受信ユニット２００の要求に応じて送信ユニット１００によって送信された訂正情報が失われた場合（または同等に、その要求自体が失われた場合）、それはタイマが失効するなどの理由で探知可能であり、受信ユニット２００は、それが送信ユニット１００と少なくとも同期したままでいられるように、持続的に新しい更新（ｒを変数にするが、損失期間の持続期間を確率論的にする以外に、これはさらなる帰結をもたない）を要求しなければならない。別法として、受信ユニット２００は、送信ユニット１００が状態ベクトルの現在の値を通告するのを待つこともできる。
【００７６】
第２の実施形態では、記号は、素数ｐ（多くの場合ｐ＝２）およびｑ≧１をもつ、ＧＦ（ｐｑ）の要素である。このＧＦ内にはＱ＝ｐｑ要素がある。かかるフィールドは、０で示される、加算のための一意の中立元、および、１で示される、乗算のための一意の中立元を含む。状態情報はこのＧＦの要素のＭ次元配列であり、ベクトル関数ｆ（Ｄｋ，Ｓｋ−１）（ｋに依存しないように選択される）は以下のように定義される：
Ｓｋ＝ａ・Ｄｋ＋Ａ・Ｓｋ−１（６）
但し、Ａは（ＭｘＭ）行列であり、ａはＧＦ（ｐｑ）内の（Ｍｘ１）行列（ａベクトル）である。本定義で使用される加算および乗算は、ＧＦ（ｐｑ）からのものである。
【００７７】
時間内のある瞬間に、パケットＤｊ−１が正確に受信され、受信ユニット２００は送信ユニット１００と同期している（両方とも同じ状態Ｓｊ−１をもつ）と仮定する。パケットＤｊが失われた場合、受信ユニット２００は送信機の状態ベクトルの第１の成分の形式で訂正情報を要求する。この要求が到達したとき、送信ユニット１００は、状態Ｓｊ＋ｒ，１の値、および関連シーケンス番号ｊ＋ｒを返す。この訂正情報が到達した瞬間に、受信ユニット２００は失われたパケットを再構成しようと試みることができる。パケットのセット｛Ｄｊ＋１，．．．，Ｄｊ＋ｒ｝内にさらなる損失がない場合、そのときそれは直ちにこれを行うことができる（第１の実施形態と非常に似た手順で）。そのセットにさらなる損失がある場合、たとえばパケットＤｊ＋ｓ（ｓ≦ｒ）も失われた場合、そのとき受信ユニット２００は送信機の現在の状態ベクトルの第２の成分の形式で訂正情報を要求する。その結果として、送信ユニット１００は、状態の値Ｓｊ＋ｓ＋ｒ’，２および関連シーケンス番号ｊ＋ｓ＋ｒ’を返す。ｒ’はｒとは（わずかに）異なり得ることに注意されたい。第２の損失の後にさらなる損失ｒ’パケットがない場合、そのとき受信ユニット２００は両方の損失したパケットを再構成するのに十分な情報を原則としてもつ。それがある場合、受信ユニット２００は、送信機の現在の状態ベクトルの第３の成分を要求するなどする。
【００７８】
ある特定の瞬間には、受信ユニット２００がｎ個の訂正情報を受信し、再構成すべき損失したパケットがちょうどｎ個ある。ＧＦの特性を使用することによって、ｎ個の損失したパケットを再構成するために、行列方程式が以下の形式で解かれなければならないことが容易に分かる：
【数１】
0005647991.tif 000002
但し、ｓ１、．．．、ｓｎ−１は、ｎ個の損失したパケットの間の指標オフセットであり、ＢはＡおよびａに依存する（ｎｘｎ）行列であり、ｂは、Ａ、ａ、非損失パケットの値、第１のパケット損失より前の状態ベクトル、および受信訂正情報に依存する（ｎｘ１）行列（ベクトル）である。
【００７９】
行列Ａおよびベクトルａは、行列Ｂが可能な限り多数の損失パターンについて可逆的であるように、適切に選択されなければならない。具体的には、ベクトルａは、０に等しいエントリーをもってはならない。実際、一般性の喪失なしに、ベクトルａはそのすべてのエントリーを１に等しく選択されることができる。行列Ｂが逆数をもつ場合、そのときｎ個の紛失したパケットは再構成されることができ、受信ユニット２００は送信ユニット１００と再同期することができる。行列Ｂが可逆的ではない（願わくは稀な）場合には、ｎ個の紛失したパケットは再構成されることはできず、受信ユニット２００は送信ユニット１００に完全な状態ベクトルの「現在の」バージョンを（持続的に）要求するか、送信ユニット１００がその値を通告するまで待たなければならない。この情報を受信した後、受信ユニット２００は再び同期する（そして、損失期間は終了する）。ｎはＭによって束縛されることに注意されたい。損失期間中にＭ個を超える損失がある場合、受信ユニット２００はそれらを訂正することができず、再び送信機に完全な状態ベクトルの「現在の」バージョンを（持続的に）要求するか、次の通告を待たなければならない。
【００８０】
第３の実施形態は第２の実施形態に似ている。それは、同じＧＦを使用する。加算のための中立元および乗算のための中立元に加えて、かかるフィールドはまた、αで示されるいわゆる基本元を少なくとも１つ含む。この基本元は、すべての０＜ｔ＜Ｑ−１についてαｔ≠１であり、αＱ−１＝１であるという特性をもつ。
【００８１】
第２の実施形態におけるように、状態情報はこのＧＦの要素のＭ次元ベクトルである。ベクトル関数ｆ（Ｄｋ，Ｓｋ−１）（ｋに依存しないように選択される）はエントリーごとに定義される。状態ベクトルの第ｍのエントリーは以下のように定義される：
Ｓｋ，ｍ＝Ｄｋ＋αｍ−１・Ｓｋ−１，ｍ（８）
但し、ｍ＝１，．．．，ＭおよびＭ＜Ｑ−１である。
【００８２】
時間内のある瞬間に、パケットＤｊ−１が正確に受信され、受信ユニット２００は送信ユニット１００と同期している（両方とも同じ状態Ｓｊ−１をもつ）と仮定する。パケットＤｊが失われた場合、受信ユニット２００は送信機の状態ベクトルの第１の成分の形式で訂正情報を要求する。この要求が到達したとき、送信ユニット１００は、状態Ｓｊ＋ｒ，１の値、および関連シーケンス番号ｊ＋ｒを返す。この訂正情報が到達した瞬間に、受信機は失われたパケットを再構成しようと試みることができる。パケットのセット｛Ｄｊ＋１，．．．，Ｄｊ＋ｒ｝内にさらなる損失がない場合、そのときそれはこれを直ちに行うことができる。たとえばパケットＤｊ＋ｓも失われたなど、そのセットにさらなる損失がある場合、次に受信機は送信機の現在の状態ベクトルの最初の２つの成分の形式で訂正情報を要求する。その結果として、送信ユニット１００は、状態の値［Ｓｊ＋ｓ＋ｒ’，１；Ｓｊ＋ｓ＋ｒ’，２］および関連シーケンス番号ｊ＋ｓ＋ｒ’を返す。前のように、ｒ’はｒとは（わずかに）異なり得ることに注意されたい。第２の損失の後にさらなる損失ｒ’パケットがない場合、受信機は両方の紛失したパケットを再構成するのに十分な情報をもつ。それがある場合、受信機は状態ベクトルの最初の３つの成分を要求するなどする。
【００８３】
ある瞬間に、受信ユニット２００が状態ベクトル（１つの特定のパケットに関連付けられた）の最初のｎ個の成分のすべてを正確に受信し、再構成すべきｎ個のみの紛失パケットがある（Ｄｊ，Ｄｊ＋ｓ１，．．．，Ｄｊ＋ｓ１＋．．．＋ｓｎ−１）場合、受信ユニット２００はすべての紛失したパケットを再構成するのに十分な情報（そして、それが送信ユニット１００と再同期することができるようなすべての関連状態ベクトル）をもつ。それを行うために、受信機は以下の形式の連立一次方程式（ａ  ｌｉｎｅａｒ  ｓｅｔ  ｏｆ  ｅｑｕａｔｉｏｎｓ）を解かなければならないことを証明することは、煩雑ではあるが、直接的である：
【数２】
0005647991.tif 000003
但し、ｂは、正確に受信されたパケットおよびαの値、第１のパケット損失より前の状態ベクトルＳｊ−１と、受信された訂正情報とに依存する、（ｎｘ１）行列である。
【００８４】
左側の（ｎｘｎ）行列はバンデルモンド行列であり、この行列の第２の行にあるすべての元が異なる場合、それは可逆的である（従って、連立方程式は一意の解をもつ）。αは基本元であるので、すべてｓ１＋．．．＋ｓｎ−１＜Ｑ−１である場合、これは保証される。その結果として、最大限でもＭ個のパケットが一損失期間中に再構成されることができ、この損失期間はＱ−１パケットよりも小さいままでなければならない。
【００８５】
状態ベクトル（１つの特定のパケットに関連付けられた）の最初のｍ個のエントリーのうち正確に受信されなかったものがある場合（または同等にこの訂正情報の要求が失われた場合）、受信ユニット２００はその要求を再発行しなければならない（またはその間により多くのパケットが失われた場合、その要求を更新しなければならない）。Ｍ個より多いパケットが失われた場合、または損失期間がＱ−１よりも大きくなると直ちに、受信ユニット２００は送信ユニット１００の完全な状態ベクトルを持続的に要求するか、次の通告を待たなければならない。
【００８６】
第２の実施形態と比較して、この第３の実施形態は、より大量の訂正情報を生成するが、それはより多くの失われたパケットを補正することができる。
【００８７】
第４の実施形態は第３の実施形態と同じであるが、その損失特性は、それがおおよそ一定の長さのバーストで損失が生じるという先験的既知数である。この場合、状態ベクトルの次元Ｍは、最も長い期待されるバーストサイズに等しく選択される。パケット損失が検出されるとき、完全な状態ベクトルが直ちに要求される。後は、第３の実施形態にある同じ手順が適用される。
【００８８】
送信ユニット１００は、有利には、通常はエラーが発生しやすい環境（ＤＳＬ回線を介した干渉またはインパルス雑音など）にさらされる、ＤＳＬＡＭまたは無線／移動基地局などの、アクセスノード内に実装されることになろう。これはＲＴＴ、ひいては損失期間の長さを減らし、さらなるＴＳＶの成分の送信をより起こり難くし、もしあれば破損もしくは紛失情報の量の予測値も改善する。
【００８９】
受信ユニット２００は、加入者ゲートウェイまたは端末の部分を形成することができる。受信ユニット２００はまた、デコーディングデバイスの部分を形成することもでき、その場合、受信キャッシュ２１０は、データパケットがさらなるデコーディングおよび展開の前に保持される、デジッタバッファを表す。
【００９０】
特許請求の範囲でも使用される、用語「備える」は、その後に記載される手段に限定されるものとして解釈されるべきではないことに留意されたい。従って、表現「手段ＡおよびＢを備えるデバイス」の範囲は、構成要素ＡおよびＢのみから成るデバイスに限定されるべきではない。それは、本発明に関して、デバイスの関連構成要素がＡおよびＢであることを意味する。
【００９１】
特許請求の範囲でも使用される、用語「結合」は、直接的接続のみに制限されるものとして解釈されるべきではないことにさらに留意されたい。従って、表現「デバイスＢに結合されたデバイスＡ」の範囲は、デバイスＡの出力がデバイスＢのエントリーに直接接続されている、および／またはその逆のデバイスあるいはシステムに制限されるべきではない。それは、他のデバイスまたは手段を含む経路でもよい、Ａの出力とＢのエントリーおよび／またはその逆の間の経路が、存在することを意味する。
【００９２】
本発明の実施形態は、機能ブロックに関して前述されている。前述のこれらのブロックの機能説明から、これらのブロックの実施形態がよく知られている電子素子を使用していかにして製造されることができるかが、電子デバイスを設計する当業者には明らかとなろう。従って、機能ブロックの内容の詳細な構造は与えられていない。
【００９３】
本発明の原理が特定の装置に関して前述されているが、この説明は、例としてのみ行われ、添付の特許請求の範囲に定義されるような、本発明の範囲への制限としてではないことが明らかに理解されよう。
【図１】
0005647991.tif 000004
【図２】
0005647991.tif 000005