(57)【要約】【課題】  受信側でデータパケットが欠損した場合でも、データパケットを復元できるようにパケットを送信すると共に、誤り訂正符号の冗長度を低減した誤り訂正装置およびパケット中継方法を提供すること。【解決手段】  複数のデータパケットＰ１０〜Ｐ８９をマトリクス状に配置し、マトリクスに基づいて水平パリティパケットＨＰ１〜ＨＰ８および垂直パリティパケットＶＰ０〜ＶＰ９を生成する。そして、水平パリティパケットにおいては、たとえばＨＰ１とＨＰ５とから新たに水平パリティパケットＨＰ１’を生成する。また、垂直パリティパケットにおいては、たとえばＶＰ０とＶＰ５とから新たに垂直パリティパケットＶＰ０’を生成する。したがって、誤り訂正符号の冗長度を低減することが可能となる。【選択図】        図４
2005323171.tif 000002
【特許請求の範囲】
【請求項１】
パケット単位でデータおよび誤り訂正符号を送信する送信装置であって、
複数のデータパケットをマトリクス状に配置し、該マトリクスに基づいて少なくとも水平方向または垂直方向のパリティパケットを生成し、生成された複数のパリティパケットから新たなパリティパケットを生成するためのパリティパケット生成手段と、
前記データパケットおよび前記パリティパケット生成手段によって生成された新たなパリティパケットを送信するための送信手段とを含む、送信装置。
【請求項２】
前記パリティパケット生成手段は、複数の水平方向のパリティパケットまたは複数の垂直方向のパリティパケットから新たなパリティパケットを生成する、請求項１記載の送信装置。
【請求項３】
前記送信手段は、データパケット、該データパケットから生成されたパリティパケットおよび複数のパリティパケットから生成された新たなパリティパケットに対し、パケット破棄に関する優先度を付加して送信する、請求項１または２記載の送信装置。
【請求項４】
パケット単位でデータおよび誤り訂正符号を受信する誤り訂正装置であって、
パケットを受信するための受信手段と、
前記受信手段によって受信されたデータパケットにビット誤りが発生した場合には、当該データパケットを破棄し、前記受信手段によって受信された少なくとも水平方向または垂直方向のパリティパケットと、破棄したデータパケット以外のデータパケットとに基づいて欠損したデータパケットを復元するための復元手段とを含む、誤り訂正装置。
【請求項５】
前記復元手段は、前記受信手段によって受信されたデータパケットをマトリクス状に配置し、該マトリクスの水平方向および垂直方向におけるデータパケットの欠損数を生成するためのマトリクス生成手段と、
前記マトリクス生成手段によって生成されたマトリクスにおけるパケット欠損数が１となっている行の組または列の組の対応するパリティパケットに基づいてパリティを計算し、パケット欠損数を更新しながら欠損したデータパケットを復元するためのパリティ計算手段とを含む、請求項４記載の誤り訂正装置。
【請求項６】
データパケット、該データパケットから生成されたパリティパケットおよび複数のパリティパケットから生成された新たなパリティパケットに優先度を付けて中継するネットワーク接続装置であって、
パケットを受信するための受信手段と、
前記受信手段によって受信されたパケット量に応じて、通信路のトラフィックを判定するためのトラフィック判定手段と、
前記トラフィック判定手段による判定結果に応じて優先度が低いパケットを破棄するか否かを判定し、破棄するパケット以外のパケットを出力するパケット処理手段と、
前記パケット処理手段から出力されたパケットを送信するための送信手段とを含む、ネットワーク接続装置。
【請求項７】
データパケット、該データパケットから生成されたパリティパケットおよび複数のパリティパケットから生成された新たなパリティパケットに優先度を付けて中継するパケット中継方法であって、
パケットを受信するステップと、
前記受信されたパケット量に応じて、通信路のトラフィックを判定するステップと、
前記判定結果に応じて優先度が低いパケットを破棄するか否かを判定し、破棄するパケット以外のパケットを送信するステップとを含む、パケット中継方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信における誤り訂正技術に関し、特に、パケット全体が消失した場合であっても復元が可能なようにパケットを送信する送信装置、消失したパケットを復元する誤り訂正装置、誤り訂正符号を含んだパケットを中継するネットワーク接続装置およびパケット中継方法に関する。
【背景技術】
【０００２】
近年、インターネットが広く普及しており、利用者は世界各地で運営されているサイトの様々な情報にアクセスし、その情報を入手することが可能である。それに伴って、ＡＤＳＬ（Asymmetric Digital Subscriber Line）、ＦＴＴＨ（Fiber To The Home）などのブロードバンドアクセスに対する要望も急速に高まってきている。
【０００３】
このような通信において、パケットのビット誤りに対してはリードソロモン符号やハミング符号などでビット誤りを訂正し、パケット全体の消失に対しては再送などによってパケットの復元が行なわれていた。これに関連する技術として、特開２０００−３０７４３８号公報に開示された発明がある。
【０００４】
この特開２０００−３０７４３８号公報に開示された誤り訂正符号化・復号化方法においては、データを横方向で並列状態のマトリクスに並べ替え、このマトリクスの各横列ブロックおよび各縦列ブロックに対して、それぞれチェックビットを付加してブロック符号を生成することにより、情報ビットについて２重に符号化を行なうものである。
【特許文献１】特開２０００−３０７４３８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上述した特開２０００−３０７４３８号公報に開示された誤り訂正符号化・復号化方法を用いた場合、ビット誤り訂正の能力を向上させることができる。しかし、パケット全体が消失した場合には、これを復元することができず、パケットの再送によってこれに対応しなければならない。したがって、パケットの伝送速度が低下するといった問題点があった。
【０００６】
また、受信専用の装置においては、再送要求を送ることができず、パケットの復元が不可能であるといった問題点もあった。
【０００７】
本発明は、上記問題点を解決するためになされたものであり、第１の目的は、受信側でデータパケットが欠損した場合でも、データパケットを復元できるようにパケットを送信すると共に、誤り訂正符号の冗長度を低減した送信装置を提供することである。
【０００８】
第２の目的は、受信したデータパケットが欠損した場合でも、データパケットを復元することが可能な誤り訂正装置を提供することである。
【０００９】
第３の目的は、パケットを中継すると共に、誤り訂正符号による冗長度の増加によって輻輳が悪化するのを防止したネットワーク接続装置およびパケット中継方法を提供することである。
【課題を解決するための手段】
【００１０】
本発明のある局面に従えば、パケット単位でデータおよび誤り訂正符号を送信する送信装置であって、複数のデータパケットをマトリクス状に配置し、マトリクスに基づいて少なくとも水平方向または垂直方向のパリティパケットを生成し、生成された複数のパリティパケットから新たなパリティパケットを生成するためのパリティパケット生成手段と、データパケットおよびパリティパケット生成手段によって生成された新たなパリティパケットを送信するための送信手段とを含む。
【００１１】
好ましくは、パリティパケット生成手段は、複数の水平方向のパリティパケットまたは複数の垂直方向のパリティパケットから新たなパリティパケットを生成する。
【００１２】
好ましくは、送信手段は、データパケット、データパケットから生成されたパリティパケットおよび複数のパリティパケットから生成された新たなパリティパケットに対し、パケット破棄に関する優先度を付加して送信する。
【００１３】
本発明の別の局面に従えば、パケット単位でデータおよび誤り訂正符号を受信する誤り訂正装置であって、パケットを受信するための受信手段と、受信手段によって受信されたデータパケットにビット誤りが発生した場合には、当該データパケットを破棄し、受信手段によって受信された少なくとも水平方向または垂直方向のパリティパケットと、破棄したデータパケット以外のデータパケットとに基づいて欠損したデータパケットを復元するための復元手段とを含む。
【００１４】
好ましくは、復元手段は、受信手段によって受信されたデータパケットをマトリクス状に配置し、マトリクスの水平方向および垂直方向におけるデータパケットの欠損数を生成するためのマトリクス生成手段と、マトリクス生成手段によって生成されたマトリクスにおけるパケット欠損数が１となっている行の組または列の組の対応するパリティパケットに基づいてパリティを計算し、パケット欠損数を更新しながら欠損したデータパケットを復元するためのパリティ計算手段とを含む。
【００１５】
本発明のさらに別の局面に従えば、データパケット、データパケットから生成されたパリティパケットおよび複数のパリティパケットから生成された新たなパリティパケットに優先度を付けて中継するネットワーク接続装置であって、パケットを受信するための受信手段と、受信手段によって受信されたパケット量に応じて、通信路のトラフィックを判定するためのトラフィック判定手段と、トラフィック判定手段による判定結果に応じて優先度が低いパケットを破棄するか否かを判定し、破棄するパケット以外のパケットを出力するパケット処理手段と、パケット処理手段から出力されたパケットを送信するための送信手段とを含む。
【００１６】
本発明のさらに別の局面に従えば、データパケット、データパケットから生成されたパリティパケットおよび複数のパリティパケットから生成された新たなパリティパケットに優先度を付けて中継するパケット中継方法であって、パケットを受信するステップと、受信されたパケット量に応じて、通信路のトラフィックを判定するステップと、判定結果に応じて優先度が低いパケットを破棄するか否かを判定し、破棄するパケット以外のパケットを送信するステップとを含む。
【発明の効果】
【００１７】
本発明のある局面によれば、パリティパケット生成手段が、生成された複数のパリティパケットから新たなパリティパケットを生成するので、誤り訂正符号の冗長度を低減することが可能となった。
【００１８】
また、パリティパケット生成手段は、複数の水平方向のパリティパケットまたは複数の垂直方向のパリティパケットから新たなパリティパケットを生成するので、誤り訂正符号の冗長度をより適切に低減することが可能となった。
【００１９】
また、送信手段が、データパケット、データパケットから生成されたパリティパケットおよび複数のパリティパケットから生成された新たなパリティパケットに対し、パケット破棄に関する優先度を付加して送信するので、受信側で優先度に応じてパケットを破棄することにより、誤り訂正符号による冗長度の増加によって輻輳が悪化するのを防止することが可能となった。
【００２０】
本発明の別の局面によれば、受信手段によって受信されたデータパケットにビット誤りが発生した場合には、復元手段が、当該データパケットを破棄し、受信手段によって受信された少なくとも水平方向または垂直方向のパリティパケットと、破棄したデータパケット以外のデータパケットとに基づいて欠損したデータパケットを復元するので、冗長度を低減した誤り訂正符号を用いてパケットを復元することが可能となった。
【００２１】
また、パリティ計算手段は、マトリクス生成手段によって生成されたマトリクスにおけるパケット欠損数が１となっている行の組または列の組の対応するパリティパケットに基づいてパリティを計算し、パケット欠損数を更新しながら欠損したデータパケットを復元するので、欠損したデータパケットを容易に復元することが可能となった。
【００２２】
本発明のさらに別の局面によれば、パケット処理手段が、トラフィック判定手段による判定結果に応じて優先度が低いパケットを破棄するか否かを判定し、破棄するパケット以外のパケットを出力するので、誤り訂正符号による冗長度の増加によって輻輳が悪化するのを防止することが可能となった。
【発明を実施するための最良の形態】
【００２３】
（第１の実施の形態）
本発明の第１の実施の形態における誤り訂正装置は、本出願人が出願した特願２００３−５９８１２号に記載の誤り訂正方法を利用するものである。まず、この文献に記載の誤り訂正方法について簡単に説明する。なお、詳細はこの文献を参照されたい。
【００２４】
図１は、特願２００３−５９８１２号に開示したパリティパケットの生成方法を概念的に示す図である。ｎ個のパケット１〜ｎは、水平方向にｍ個、垂直方向にｋ個のマトリクス状に並べられる。そして、水平方向に並べられた各パケット内の対応するビットのパリティ（以下、水平パリティと呼ぶ。）が計算され、対応するビットに格納したパリティパケットが生成される。たとえば、パケット１〜ｍの各パケットの対応するビットのパリティが計算され、それらのパリティが格納されたパリティパケットＨＰ１が生成される。水平パリティパケットは、行数に対応してｋ個だけ生成される。
【００２５】
また、垂直方向に並べられた各パケット内の対応するビットのパリティ（以下、垂直パリティと呼ぶ。）が計算され、対応するビットに格納したパリティパケットが生成される。たとえば、パケットｍ，２ｍ，３ｍ，…，ｎの各パケットの対応するビットのパリティが計算され、それらのパリティが格納されたパリティパケットＶＰｍが生成される。垂直パリティパケットは、列数に対応してｍ個だけ生成される。
【００２６】
図２は、パケットの復元方法を概念的に説明するための図である。図２においては、９個のパケット(1)〜(9)から、水平パリティパケットＨＰ１〜ＨＰ３および垂直パリティパケットＶＰ１〜ＶＰ３が生成された場合を示している。たとえば、パケット(1)が欠損した場合でも、パケット(2)、(3)および水平パリティパケットＨＰ１の対応するビットのパリティ（排他的論理和（以下、ＥＸ−ＯＲとも呼ぶ。））を計算することによって、パケット(1)を復元することができる。
【００２７】
また、パケット(1)〜(3)が全て欠損した場合でも、パケット(4)、(7)および垂直パリティパケットＶＰ１の対応するビットのパリティ（ＥＸ−ＯＲ）を計算することによって、パケット(1)を復元することができる。同様にして、パケット(5)、(8)および垂直パリティパケットＶＰ２によってパケット(2)が復元でき、パケット(6)、(9)および垂直パリティパケットＶＰ３によってパケット(3)が復元できる。
【００２８】
このように、バースト欠損が発生した場合でも、連続的に欠損したパケットがｍ個以下であれば、復元できることが分かる。
【００２９】
図３は、図１を用いて説明したデータパケットから生成された水平パリティパケットおよび垂直パリティパケットの一例を示す図である。図３においては、データパケットＰ１０〜Ｐ８９から８個の水平パリティパケットＨＰ１〜ＨＰ８と、１０個の垂直パリティパケットＶＰ０〜ＶＰ９とが生成された場合を示している。ここで、水平パリティパケットおよび垂直パリティパケットは次式によって表わすことができる。なお、ｉ＝１，…，８とし、ｊ＝０，…，９とする。
【００３０】
【数１】
2005323171.tif 000003
【００３１】
図３に示す誤り訂正符号の冗長度は、（８＋１０）／８０×１００％＝２２．５％となる。
【００３２】
図４は、本発明の第１の実施の形態における誤り訂正装置のパリティパケットの冗長度を低減する方法の一例を説明するための図である。水平パリティパケットにおいては、４のｍｏｄ（余り）が同じ値の水平パリティパケットのＥＸ−ＯＲを計算して新たな水平パリティパケットとする。また、垂直パリティパケットにおいては、５のｍｏｄが同じ値の垂直パリティパケットのＥＸ−ＯＲを計算して新たな垂直パリティパケットとする。すなわち、新たな水平パリティパケットＨＰ１’〜ＨＰ４’は次式によって表わされる。
【００３３】
【数２】
2005323171.tif 000004
【００３４】
また、新たな垂直パリティパケットＶＰ０’〜ＶＰ４’は次式によって表わされる。
【００３５】
【数３】
2005323171.tif 000005
【００３６】
水平パリティパケットの組合わせまたは垂直パリティパケットの組合わせは、図４に示す組合わせに限定されるものではないが、バースト的な欠損に有利となるようにｍｏｄが同じ値のパリティパケットから新たなパリティパケットを生成している。
【００３７】
このように、２つの水平パリティパケットのＥＸ−ＯＲを計算して１つの水平パリティパケットとし、２つの垂直パリティパケットのＥＸ−ＯＲを計算して１つの垂直パリティパケットとすることによって、誤り訂正符号の冗長度は、（４＋５）／８０×１００％＝１１．２５％となる。
【００３８】
なお、３つ以上の水平パリティパケットのＥＸ−ＯＲを計算して１つの水平パリティパケットとし、３つ以上の垂直パリティパケットのＥＸ−ＯＲを計算して１つの垂直パリティパケットとしてもよい。この場合は、さらに訂正符号の冗長度を低減させることができるが、誤り訂正能力が低下することになる。
【００３９】
図５は、本発明の第１の実施の形態における誤り訂正装置（送信側）の機能的構成を示すブロック図である。この誤り訂正装置は、送信すべきデータパケットを生成するデータパケット生成部１１と、水平パリティおよび垂直パリティを計算した後、複数の水平パリティまたは複数の垂直パリティから新たな水平パリティまたは垂直パリティを計算するパリティ計算部１２と、パケットのヘッダ部を生成するヘッダ生成部１３と、ＩＰ（Internet Protocol）パケットを生成するＩＰパケット生成部１４と、イーサネット（登録商標）パケットを生成するイーサネット（登録商標）パケット生成部１５と、イーサネット（登録商標）パケット生成部１５によって生成されたパケットを送信する送信部１６と、計算中の水平パリティを一時的に格納する水平パリティレジスタ１７−１〜１７−ｋと、計算中の垂直パリティを一時的に格納する垂直パリティレジスタ１８−１〜１８−ｍとを含む。
【００４０】
データパケット生成部１１は、アプリケーションレベルにおけるデータパケットの生成を行なう。したがって、本実施の形態における誤り訂正装置は、データパケット生成部１１がなくてもよい。その場合は、アプリケーションプログラムから直接パリティ計算部１２にデータパケットが入力されることになる。
【００４１】
パリティ計算部１２は、シーケンス番号の順番にデータパケットを入力し、ｋ個の水平パリティおよびｍ個の垂直パリティを計算する。算出されたｋ個の水平パリティはそれぞれ水平パリティレジスタ１７−１〜１７−ｋに格納され、ｍ個の垂直パリティはそれぞれ垂直パリティレジスタ１８−１〜１８−ｍに格納される。さらに、パリティ計算部１２は、水平パリティレジスタ１７−１〜１７−ｋに格納された複数の水平パリティから新たな水平パリティを計算し、垂直パリティレジスタ１８−１〜１８−ｍに格納された複数の垂直パリティから新たな垂直パリティを計算する。
【００４２】
図６は、イーサネット（登録商標）パケットの構成例を示す図である。イーサネット（登録商標）パケットは、ヘッダとデータ（ＩＰパケット）とを含む。また、ＩＰパケットは、ＩＰヘッダと、データとを含む。さらには、ＩＰパケット内のデータは、ヘッダ（シーケンス番号を含む）と、データとを含む。
【００４３】
ヘッダ生成部１３は、図６に示すＩＰパケット内のデータ（シーケンス番号、データ）を生成する。また、ＩＰパケット生成部１４は、図６に示すＩＰパケットを生成する。また、イーサネット（登録商標）パケット生成部１５は、図６に示すイーサネット（登録商標）パケットを生成する。
【００４４】
図７は、本発明の第１の実施の形態における誤り訂正装置（送信側）の処理手順を説明するためのフローチャートである。まず、データパケット生成部１１は、送信すべきデータパケットを生成する（Ｓ１１）。
【００４５】
次に、パリティ計算部１２は、水平パリティレジスタ１７−１〜１７−ｋのうち対応する水平パリティレジスタに格納される値と、データパケット生成部１１によって生成されたデータパケットとの対応するビットのＥＸ−ＯＲを計算し、水平パリティレジスタの対応するビットに順次格納する。また、パリティ計算部１２は、垂直パリティレジスタ１８−１〜１８−ｍのうち対応する垂直パリティレジスタに格納される値と、データパケット生成部１１によって生成されたデータパケットとの対応するビットのＥＸ−ＯＲを計算し、垂直パリティレジスタの対応するビットに順次格納する（Ｓ１２）。なお、水平パリティレジスタ１７−１〜１７−ｋおよび垂直パリティレジスタ１８−１〜１８−ｍは、初期値として０が設定されているものとする。
【００４６】
次に、ヘッダ生成部１３、ＩＰパケット生成部１４およびイーサネット（登録商標）パケット生成部１５は、データパケット生成部１１によって生成されたデータパケットに対応したイーサネット（登録商標）パケットを生成する。そして、送信部１６は、そのイーサネット（登録商標）パケットを送信先へ送信する（Ｓ１３）。
【００４７】
次に、パリティ計算部１２は、水平パリティの計算が終了したか否かを判定する（Ｓ１４）。たとえば、図４に示す水平パリティＨＰ１’を計算する場合、水平パリティＨＰ１およびＨＰ４の計算が終了して水平パリティレジスタ１７−１および１７−４にその計算結果を格納したときに、水平パリティの計算が終了したと判定される。
【００４８】
水平パリティの計算が終了していれば（Ｓ１４，Ｙｅｓ）、パリティ計算部１２は計算が終了した２つの水平パリティ、たとえばＨＰ１およびＨＰ４から新たな水平パリティＨＰ１’を計算する。そして、ヘッダ生成部１３、ＩＰパケット生成部１４およびイーサネット（登録商標）パケット生成部１５は、パリティ計算部１２によって計算された新たな水平パリティに対応したイーサネット（登録商標）パケットを生成する。そして、送信部１６は、その水平パリティパケットを送信先へ送信し（Ｓ１５）、ステップＳ１６へ処理が進む。また、水平パリティの計算が終了していないと判定されれば（Ｓ１４，Ｎｏ）、そのままステップＳ１６へ進む。
【００４９】
次に、パリティ計算部１２は、垂直パリティの計算が終了したか否かを判定する（Ｓ１６）。たとえば、図４に示す垂直パリティＶＰ０’を計算する場合、垂直パリティＶＰ０およびＶＰ５の計算が終了して垂直パリティレジスタ１８−１および１８−６にその計算結果を格納したときに、垂直パリティの計算が終了したと判定される。
【００５０】
垂直パリティの計算が終了していれば（Ｓ１６，Ｙｅｓ）、パリティ計算部１２は計算が終了した２つの垂直パリティ、たとえばＶＰ０およびＶＰ５から新たな垂直パリティＶＰ０’を計算する。そして、ヘッダ生成部１３、ＩＰパケット生成部１４およびイーサネット（登録商標）パケット生成部１５は、パリティ計算部１２によって計算された新たな垂直パリティに対応したイーサネット（登録商標）パケットを生成する。そして、送信部１６は、その垂直パリティパケットを送信先へ送信し（Ｓ１７）、ステップＳ１８へ処理が進む。また、垂直パリティの計算が終了していないと判定されれば（Ｓ１６，Ｎｏ）、そのままステップＳ１８へ進む。
【００５１】
最後に、全てのパケットの送信が終了したか否かが判定される（Ｓ１８）。未だ送信されていないパケットがあれば（Ｓ１８，Ｎｏ）、ステップＳ１１に戻って以降の処理を繰返す。また、未だ送信されていないパケットがなければ（Ｓ１８，Ｙｅｓ）、処理を終了する。
【００５２】
図８は、本発明の第１の実施の形態における誤り訂正装置（受信側）の機能的構成を示すブロック図である。この誤り訂正装置は、イーサネット（登録商標）パケット（データパケット、パリティパケット）を受信する受信部２１と、受信部２１によって受信されたデータパケットからパケットの欠損数を示すマトリクスを生成するマトリクス生成部２２と、マトリクス生成部２２によって生成されたマトリクスを参照してパリティを計算するパリティ計算部２３と、マトリクス生成部２２によって生成されたマトリクスを参照してパケットの欠損数を判定すると共に、パケットの欠損数を更新する欠損数判定部２４とを含む。
【００５３】
図９は、マトリクス生成部２２によって生成されたマトリクスの一例を示す図である。このマトリクスは図３および図４に対応しており、８０個のデータパケットのうちどのパケットが欠損しているか、１行のうち幾つデータパケットが欠損しているか、および１列のうち幾つデータパケットが欠損しているかを示している。たとえば、第１行、第３列のパケットなどの３つのパケットが欠損していることを示している。また、第１行においては２つのデータパケットが欠損し、第３列においては１つのデータパケットが欠損していることを示している。
【００５４】
たとえば、図９のパケットＰ１２の欠損は、第１行のデータパケットが２つ欠損しているので水平パリティパケットを用いて復元することはできないが、第２列のデータパケットの欠損数と第７列のデータパケットの欠損数との合計が１つであるので、第２列の他のデータパケット、第７列のデータパケットおよび垂直パリティパケットＶＰ２’によって復元が可能である。
【００５５】
図１０は、本発明の第１の実施の形態における誤り訂正装置（受信側）の処理手順を説明するためのフローチャートである。なお、このフローチャートは、誤り訂正の一例として図４に示す方法によって水平パリティパケットおよび垂直パリティパケットが生成された場合についてのものである。
【００５６】
まず、受信部２１は、イーサネット（登録商標）パケット（データパケット、パリティパケット）を受信する（Ｓ２１）。受信したパケットは、図示しないＲＡＭ（Random Access Memory）などに格納される。
【００５７】
次に、マトリクス生成部２２は、受信部２１によって受信されたデータパケットに基づいて、図９に示すマトリクスを生成する（Ｓ２２）。そして、変数ｉおよびｊのそれぞれに初期値として１および０が設定される（Ｓ２３）。
【００５８】
次に、欠損数判定部２４は、第ｉ行のパケット欠損数と第ｉ＋４行のパケット欠損数との合計が１つであるか否かを判定する（Ｓ２４）。パケット欠損数の合計が１つでない場合には（Ｓ２４，Ｎｏ）、ステップＳ２６へ処理が進む。また、パケット欠損数の合計が１つの場合には（Ｓ２４，Ｙｅｓ）、パリティ計算部２３は、第ｉ行と第ｉ＋４行との他のデータパケットおよび水平パリティパケットＨＰｉ’の対応するビットのパリティを計算し、欠損したデータパケットの対応するビットを復元することにより、欠損したデータパケット全体を復元する。そして、復元したデータパケットに対応するマトリクスの情報（当該パケットが欠損していることを示す情報）を更新すると共に、当該データパケットに対応する行および列の欠損数をそれぞれデクリメントする（Ｓ２５）。
【００５９】
次に、変数ｉが行の総数の１／２である４と等しいか否かが判定される（Ｓ２６）。変数ｉが４と等しくなければ（Ｓ２６，Ｎｏ）、変数ｉをインクリメントし（Ｓ２７）、ステップＳ２４に戻って以降の処理を繰返す。また、変数ｉが４と等しければ（Ｓ２６，Ｙｅｓ）、ステップＳ２８へ進む。
【００６０】
次に、欠損数判定部２４は、第ｊ列のパケット欠損数と第ｊ＋５列のパケット欠損数との合計が１であるか否かを判定する（Ｓ２８）。パケット欠損数の合計が１でない場合には（Ｓ２８，Ｎｏ）、ステップＳ３０に処理が進む。また、パケット欠損数の合計が１の場合には（Ｓ２８，Ｙｅｓ）、パリティ計算部２３は、第ｊ列と第ｊ＋５列との他のデータパケットおよび垂直パリティパケットＶＰｊ’の対応するビットのパリティを計算し、欠損したデータパケットの対応するビットを復元することにより、欠損したデータパケット全体を復元する。そして、復元したデータパケットに対応するマトリクスの情報（当該パケットが欠損していることを示す情報）を更新すると共に、当該データパケットに対応する行および列の欠損数をそれぞれデクリメントする（Ｓ２９）。
【００６１】
次に、変数ｊが（列の総数の１／２−１）である４と等しいか否かが判定される（Ｓ３０）。変数ｊが４と等しくなければ（Ｓ３０，Ｎｏ）、変数ｊをインクリメントし（Ｓ３１）、ステップＳ２８に戻って以降の処理を繰返す。また、変数ｊが４と等しければ（Ｓ３０，Ｙｅｓ）、欠損数判定部２４は、パケットの欠損数の合計が１である行の組または列の組があるか否かを判定する（Ｓ３２）。
【００６２】
パケットの欠損数の合計が１の行の組または列の組がある場合には、変数ｉおよびｊをそれぞれ１および０に初期化し（Ｓ２３）、ステップＳ２４以降の処理を繰返す。また、パケットの欠損数の合計が１の行の組または列の組がない場合には、処理を終了する。なお、第ｉ行の欠損数と第ｉ＋４行の欠損数との合計が２以上である場合、または第ｊ列の欠損数と第ｊ＋５列の欠損数との合計が２以上である場合には、復元できないパケットが存在することになる。
【００６３】
以上説明したように、本実施の形態における誤り訂正装置によれば、データパケットに対応した水平パリティパケットおよび垂直パリティパケットを生成した後、複数の水平パリティパケットまたは垂直パリティパケットから新たな水平パリティパケットまたは新たな垂直パリティパケットを生成して送信するようにしたので、受信側においてデータパケットの欠損が発生した場合でも、当該データパケットを復元することができると共に、誤り訂正符号の冗長度を低減することが可能となった。
【００６４】
また、本発明の実施の形態における誤り訂正装置によれば、データパケットの欠損が発生した場合には、当該データパケットを破棄した後、水平パリティパケットおよび垂直パリティパケットを用いて欠損したデータパケットを復元するようにしたので、簡単な構成でデータパケットの復元が可能になると共に、連続的に発生するバースト欠損が発生した場合でもデータパケットを復元することが可能となった。
【００６５】
（第２の実施の形態）
図１１は、本発明の第２の実施の形態におけるネットワーク接続装置の処理の概略を説明するための図である。このネットワーク接続装置３０は、第１の実施の形態において説明した誤り訂正装置から送信されたパケットを端末装置などに中継するものである。なお、ルータやブリッジなどのデータを中継する装置を総称して、ネットワーク接続装置と呼ぶことにする。
【００６６】
第１の実施の形態において説明したデータパケットＰ１０〜Ｐ８９を優先度１とし、２つの水平パリティパケットから生成された水平パリティパケットＨＰ１’〜ＨＰ４’および２つの垂直パリティパケットから生成された垂直パリティパケットＶＰ０’〜ＶＰ４’を優先度２とし、元の水平パリティパケットＨＰ１〜ＨＰ４（またはＨＰ５〜ＨＰ８）および元の垂直パリティパケットＶＰ０〜ＶＰ４（またはＶＰ５〜ＶＰ９）を優先度３とする。
【００６７】
通常状態において、ネットワーク接続装置３０は、優先度１〜３の全てのパケットを中継する。ネットワーク接続装置３０は、受信するパケット量に基づいてトラフィックを算出し、通信路の許容帯域とトラフィックとを比較することによって輻輳が発生しているか否かを判定する。輻輳が発生している場合には、ネットワーク接続装置３０が優先度３のパケットを破棄することにより輻輳の軽減を図る。なお、通常状態においては優先度１〜３のパケットが中継されるので、誤り訂正能力を高く維持することができる。一方、輻輳状態においては優先度１〜２のパケットのみが中継されるので誤り訂正能力は低下するが、許容帯域に応じた誤り訂正が可能となる。
【００６８】
図１２は、本発明の第２の実施の形態におけるネットワーク接続装置３０の概略構成を示すブロック図である。このネットワーク接続装置３０は、インターネットに接続され、物理層を制御するＰＨＹ（PHYsical layer device）部３１と、ＰＨＹ部３１を介して受信したパケット量からトラフィックを判定するトラフィック判定部３２と、トラフィック判定部３２による判定結果に応じてパケットを処理するパケット処理部３３と、端末装置との間におけるフレーム転送を制御するＭＡＣ（Media Access Control）部３４とを含む。
【００６９】
トラフィック判定部３２は、ＰＨＹ部３１を介して受信したパケット量に基づいてトラフィックを算出し、通信路の許容帯域とトラフィックとを比較することによって輻輳が発生しているか否かを判定する。トラフィック判定部３２によって輻輳が発生していないと判定された場合、パケット処理部３３は優先度１〜３の全てのパケットをＭＡＣ部３４を介して端末へ送信する。
【００７０】
また、トラフィック判定部３２によって輻輳が発生していると判定された場合、パケット処理部３３は優先度１〜２のパケットのみをＭＡＣ部３４を介して端末へ送信する。
【００７１】
以上の説明においては、優先度を１〜３としたが、３つ以上の水平パリティパケットから生成された新たな水平パリティパケットおよび３つ以上の垂直パリティパケットから生成された新たな垂直パリティパケットをデータパケットの次の優先度とし、パケットを４つ以上の優先度に分けて輻輳の状態に応じて優先度の低いパケットを破棄するようにしてもよい。
【００７２】
以上説明したように、本実施の形態におけるネットワーク接続装置においては、第１の実施の形態において説明したパケットを複数の優先度に分け、輻輳状態に応じて優先度の低いパケットを破棄するようにしたので、誤り訂正符号による冗長度の増加によって輻輳が悪化するのを防止することが可能となった。
【００７３】
また、異なる種類のパリティパケットに同じ優先度を設定しないように、すなわち、パリティパケットの種類に応じて異なる優先度を設定することにより、誤り訂正機能を低下させることなく、パケットの破棄をより効率的に行なうことが可能となる。
【００７４】
今回開示された実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【００７５】
【図１】特願２００３−５９８１２号に開示したパリティパケットの生成方法を概念的に示す図である。
【図２】パケットの復元方法を概念的に説明するための図である。
【図３】図１を用いて説明したデータパケットから生成された水平パリティパケットおよび垂直パリティパケットの一例を示す図である。
【図４】本発明の第１の実施の形態における誤り訂正装置のパリティパケットの冗長度を低減する方法の一例を説明するための図である。
【図５】本発明の第１の実施の形態における誤り訂正装置（送信側）の機能的構成を示すブロック図である。
【図６】イーサネット（登録商標）パケットの構成例を示す図である。
【図７】本発明の第１の実施の形態における誤り訂正装置（送信側）の処理手順を説明するためのフローチャートである。
【図８】本発明の第１の実施の形態における誤り訂正装置（受信側）の機能的構成を示すブロック図である。
【図９】マトリクス生成部２２によって生成されたマトリクスの一例を示す図である。
【図１０】本発明の第１の実施の形態における誤り訂正装置（受信側）の処理手順を説明するためのフローチャートである。
【図１１】本発明の第２の実施の形態におけるネットワーク接続装置の処理の概略を説明するための図である。
【図１２】本発明の第２の実施の形態におけるネットワーク接続装置３０の概略構成を示すブロック図である。
【符号の説明】
【００７６】
１１  データパケット生成部、１２  パリティ計算部、１３  ヘッダ生成部、１４  ＩＰパケット生成部、１５  イーサネット（登録商標）パケット生成部、１６  送信部、１７−１〜１７−ｋ  水平パリティレジスタ、１８−１〜１８−ｍ  垂直パリティレジスタ、２１  受信部、２２  マトリクス生成部、２３  パリティ計算部、２４  欠損数判定部、３０  ネットワーク接続装置、３１  ＰＨＹ部、３２  トラフィック判定部、３３  パケット処理部、３４  ＭＡＣ部。
【図１】
2005323171.tif 000006
【図２】
2005323171.tif 000007
【図３】
2005323171.tif 000008
【図４】
2005323171.tif 000009
【図５】
2005323171.tif 000010
【図６】
2005323171.tif 000011
【図７】
2005323171.tif 000012
【図８】
2005323171.tif 000013
【図９】
2005323171.tif 000014
【図１０】
2005323171.tif 000015
【図１１】
2005323171.tif 000016
【図１２】
2005323171.tif 000017