(57)【要約】  送信するデータに前方誤り訂正（ＦＥＣ：Ｆｏｗａｒｄ  Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｏｎ）符号を付与して伝送する装置において，回線状態に合わせて冗長度を変更し，過去と現在の設定を比較しながら最適な冗長度を設定することができる装置、システム、および方法を提供する。  通信装置１０１は受信したパケットから回線品質情報を計測し、回線の情報に基づいた冗長度変更指示を生成する。通信装置１０１は２回目以降に回線品質情報を取得した場合において、過去の冗長度変更指示および過去の回線品質情報と、現在の回線品質情報とを比較して冗長度を設定することで、輻輳を抑えつつ回線品質の目標値を満たすことができ、かつ冗長度が最小となる条件を探索することができる。
2016092686.tif 000002
【特許請求の範囲】
【請求項１】
通信装置であって、
前記通信装置は送信部と受信部より構成され、
前記受信部は誤り訂正復号化部と、回線品質計測部と、フィードバックデータ生成部と、受信側ヘッダ処理部と、フィードバックデータ抽出部から構成され、
前記誤り訂正符号化部は、受信したパケットの誤り訂正ヘッダに含まれる冗長度設定を有する情報に基づき、受信パケットの欠損を修復し、
前記回線品質計測部は受信したパケットの欠損状況、および前記誤り訂正復号化部によって修復された後のパケットの欠損状況から、それぞれパケット欠損率、パケット欠損が連続した数、パケットの欠損が連続で生じる頻度を有する回線品質情報を計測し、
前記フィードバックデータ生成部は前記回線品質情報計測部で時刻ｔ１に抽出された回線品質情報と、時刻ｔ２に計測された回線品質情報（但し、時刻ｔ２は時刻ｔ１よりも後の時刻）と、時刻ｔ１に生成したフィードバックデータの情報に基づき、時刻ｔ２における新たなフィードバックデータを生成し、
前記受信側ヘッダ処理部は前記誤り訂正復号化部から出力された各パケットのデータ部分を抽出するとともに、誤り訂正ヘッダに含まれる情報を前記フィードバックデータ抽出部へと伝送し、
前記フィードバックデータ抽出部は前記誤り訂正ヘッダの情報から、フィードバックデータを抽出し、
また前記送信部は誤り訂正符号化部と、送信側ヘッダ処理部から構成され、
前記誤り訂正符号化部は、前記フィードバックデータ抽出部が抽出したフィードバックデータの値に応じて、入力パケットに対して生成される誤り訂正符号パケットの比ｋを、ｍからｎの範囲で変更することができるものであって（ｍ、ｎは予め定められた０以上の実数で、ｍ≦ｋ≦ｎ）、
前記送信ヘッダ処理部は、前記誤り訂正符号化部で符号化されたパケットの符号化パラメータ、および前記フィードバックデータ生成部で生成されたフィードバックデータを、誤り訂正ヘッダとして送信するパケットに付与する送信ヘッダ処理部とから構成されることを特徴とする通信装置。
【請求項２】
請求項１に記載の通信装置であって、
前記フィードバックデータ生成部は、前記フィードバックデータ抽出部から入力パケットと誤り訂正符号パケットの数の比ｋを取得し、
前記回線品質計測部からの回線品質情報の取得が初回で、得られた通信品質が予め定められた通信品質の目標値を下回った場合、ｋ＜ｎの場合は誤り訂正符号量の比ｋを増加させるようフィードバックデータを生成し、ｋ＝ｎの場合は誤り訂正符号量の比ｋを減少させるようフィードバックデータを生成し、
前記回線品質計測部からの回線品質情報の取得が初回で、得られた通信品質が予め定められた通信品質の目標値を上回る品質であった場合、前記フィードバックデータ生成部は、ｍ＜ｋの場合は誤り訂正符号量の比ｋを減少させるようフィードバックデータを生成し、ｍ＝ｋの場合は誤り訂正符号量の比ｋを増加させるようフィードバックデータを生成する
ことを特徴とする通信装置。
【請求項３】
請求項１に記載の通信装置であって、
前記回線品質計測部からの回線品質情報の取得が２回目以降で、取得した回線品質情報が予め定められた目標値を下回る品質であった場合、前記フィードバックデータ生成部は、
前回のフィードバックデータが誤り訂正符号量の比ｋを増加させるもので、前回の回線品質情報と新しく取得した回線品質情報を比較して回線品質が改善していると判断された場合、さらに誤り訂正符号量の比ｋを増加させるようフィードバックデータを生成し、
前回のフィードバックデータが誤り訂正符号量の比ｋを増加させるもので、前回の回線品質情報と新しく取得した回線品質情報を比較して回線品質が劣化していると判断された場合、誤り訂正符号量の比ｋを減少させるようフィードバックデータを生成し、
前回のフィードバックデータが誤り訂正符号量の比ｋを減少させるもので、前回の回線品質情報と新しく取得した回線品質情報を比較して回線品質が改善していると判断された場合、さらに誤り訂正符号量の比ｋを減少させるようフィードバックデータを生成し、
前回のフィードバックデータが誤り訂正符号量の比ｋを減少させるもので、前回の回線品質情報と新しく取得した回線品質情報を比較して回線品質が劣化していると判断された場合、誤り訂正符号量の比ｋを増加させるようフィードバックデータを生成する
ことを特徴とする通信装置。
【請求項４】
請求項３に記載の通信装置において、
前回のフィードバックデータが冗長度を上げるもので、前回の回線品質情報と新しく取得した回線品質情報を比較して回線品質が改善していると判断された場合であって、これ以上誤り訂正符号量の比ｋを増加させることができないと判断される場合（ｋ＝ｎ）、または、
前回のフィードバックデータが誤り訂正符号量の比ｋを減少させるもので、前回の回線品質情報と新しく取得した回線品質情報を比較して回線品質が改善していると判断された場合であって、これ以上誤り訂正符号量の比ｋを減少させることができないと判断される場合（ｍ＝ｋ）において、
前記通信装置に入力される符号化前の通信がＴＣＰプロトコルである場合、
前記フィードバックデータ生成部は、ＡＣＫパケット、またはＡＣＫパケットを元に計算された誤り訂正符号パケットに付与するフィードバックデータとして、任意のフラグを前記誤り訂正ヘッダの一部に記載して送信し、
前記フラグを受け取った通信装置は、前記ＡＣＫの伝送の代わりに再送要求を送信するとともに、再送されたデータに対しては直ちに前記ＡＣＫを返送することを特徴とする通信装置。
【請求項５】
請求項１に記載の通信装置において、
回線品質情報計測部が時間Ｔｃ、またはパケット数Ｎｃを受信する毎に回線品質情報を計測するものであって、
前記回線品質情報の取得が２回目以降で、取得した回線品質情報が予め定められた目標値を上回る品質であった場合は時間Ｔｃ、またはパケット数Ｎｃを増加させ、
前記回線品質情報の取得が２回目以降で、取得した回線品質情報が予め定められた目標値を下回る品質であった場合は時間Ｔｃ、またはパケット数Ｎｃを減少させる
ことを特徴とする通信装置。
【請求項６】
請求項１に記載の通信装置において、
回線品質情報計測部が時間Ｔｃ、またはパケット数Ｎｃを受信する毎に回線品質情報を計測するものであって、
前記回線品質情報の取得が２回目以降で、取得した回線品質情報が予め定められた目標値を上回る品質であった場合は時間Ｔｃ、またはパケット数Ｎｃを増加させ、
前記回線品質情報の取得が２回目以降で、取得した回線品質情報が予め定められた目標値を下回る品質であった場合は時間Ｔｃ、またはパケット数Ｎｃを規定の値に初期化することを特徴とする通信装置。
【請求項７】
請求項２に記載の通信装置において、
前記回線品質情報計測部からの回線品質情報、および予め定める回線品質の目標値として、パケットロス率、パケットロスが連続して発生するバーストロスの発生頻度、またはバーストロスしたパケットの数を用いることを特徴とする通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置、通信装置システム及び通信方法に関し、特に、遠隔医療や遠隔監視制御システム等に適用することができる通信装置、通信装置システム及び通信方法に関する。
【背景技術】
【０００２】
近年、人の立ち入りが難しい過酷な環境下での作業のため、遠隔地の映像や音声情報を取得するとともに、現場の装置を制御する遠隔監視制御システムへの要求が高まっている。この際、例えば、遠隔地との通信には通信インフラとして発達しているインターネットなどの広域網（ＷＡＮ：Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）を利用することが考えられる。【０００３】
現在、ＷＡＮを介して通信する主な通信プロトコルとしては、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）、及びＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）が用いられている。ＴＣＰはある端末から別の端末へとデータを伝送する際、データ列の順序を保証するとともに、欠損したデータについては再送を行うことで信頼性の高い通信を実現している。一方高信頼なサービスを必要としないアプリケーションでは、信頼性よりも通信の低遅延を重視した通信プロトコルであるＵＤＰが用いられている。ＵＤＰは再送を行わず、データ列の順序も保証されないかわりに高速で低遅延な伝送が可能となっている。【０００４】
一方、映像や音声などのストリームデータをリアルタイムに配送するためのプロトコルとして、ＲＴＰ（Ｒｅａｌ−ｔｉｍｅ  Ｔｒａｎｓｐｏｒｔ  Ｐｒｏｔｏｃｏｌ）がある。ＲＴＰはリアルタイムストリームを伝送するためのプロトコルとして標準化されている方式で、送信するパケットデータに時間情報を付加することで、受信端末側でデータの時間関係の把握が可能となっている。映像や音声のデータは、データの一部が欠けていても再生が可能であるため、受信側ではロスしたパケットや到着の遅れたパケットは無視し、受信側が期待する時間に到着したパケットだけを利用してデータの再生を行うことができる。ＲＴＰはＴＣＰ、ＵＤＰどちらとも組み合わせることは可能であるが、ＴＣＰでは再送によるデータ列の順序保証が行われることから、ほとんどの場合、ＲＴＰはＵＤＰと組み合わせて利用される。【０００５】
しかしながら、上記ＲＴＰだけではネットワークを経由する際に生じるデータパケットの損失（パケットロス）を回避することはできず、特に回線の通信品質が比較的悪い環境では高品質なストリームデータの再生ができない場合があるという課題がある。【０００６】
そこでデータ伝送の信頼性を向上させる手法として、送るデータに前方誤り訂正（ＦＥＣ：Ｆｏｗａｒｄ  Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｏｎ）符号を付与して伝送する方式が提案されている。ＦＥＣ符号を付与して伝送することで、受信側単独でデータパケットのロスを復元することができるため、回線の通信品質が比較的悪い場合においても、低遅延で高信頼な通信を実現できる。パケット伝送におけるＦＥＣ方式は複数個のパケット単位で誤り訂正符号を計算する。ＦＥＣ符号としてはパリティ符号、リードソロモン符号などが用いられる。【０００７】
通常ＦＥＣパケットはＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）パケットとして、データとともに伝送される。インターネットなどの一般広域網では、自身が送信したパケットに加え、他者のパケットも同一伝送路で送られる。このため、データパケットの総量に対するデータとＦＥＣパケットの総量の比を冗長度としたとき、最大伝送レートが制限される環境において冗長度の設定を高くしすぎると、伝送路の容量を超え、輻輳が発生する。輻輳が発生した場合、パケットの欠損が連続で生じるバーストロスが発生する恐れがある。また、輻輳が発生してもＦＥＣによりデータが復元される場合、末端の端末からは輻輳が発生したことを検出できず、適切な処置を行うことができない。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２０１３−２２５７６１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
特許文献1には、ネットワーク通信におけるパケット到着間隔のゆらぎが大きくなった場合、パケットの分割数を増やしてパケットサイズを小さくし、さらに誤り訂正符号を付加することで、ネットワークのゆらぎを低減しつつ、ロス率を抑える方法について記述されている。
一般にネットワークで輻輳が発生した際もパケット到着間隔のゆらぎが増加し、パケットロス率が上昇する。このとき、パケットの分割数を増やして冗長度を上げてしまうと、輻輳を助長する結果となり、ゆらぎやロス率がさらに上昇することから、輻輳発生時に好適な冗長度を設定することが困難であるという課題がある。
【課題を解決するための手段】
【００１０】
本発明の第１の解決手段によると、
互いに通信を行う２地点にそれぞれ挿入される通信装置、または通信システムであって、
ＷＡＮ側からのパケットを受信してＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）側へと出力するパケット受信部と、ＬＡＮ側からのパケットを取り込みＷＡＮ側へと送信するパケット送信部とを有し、
前記パケット受信部は、
受信したパケットのヘッダ情報に基づき、所定の誤り訂正符号（ＦＥＣ）で符号化されたパケットかどうかを判定する受信パケット種別判定部と、
受信したパケットが所定のＦＥＣで符号化されたパケットであった場合に、データパケット、およびＦＥＣパケットからデータパケットの欠損を復元するＦＥＣ復号化部と、
受信したパケットの欠損状況からバーストロス数、バーストロスの頻度、パケットロス率等の回線品質情報を計算する回線品質計測部と、
前記回線品質情報計測部で計測された回線品質情報に基づきフィードバックデータを生成するフィードバックデータ生成部と、
ＦＥＣ復号化部から渡されたパケットのヘッダ情報を操作する受信側ＦＥＣヘッダ処理部と、
受信側ヘッダ処理部で取得されたヘッダ情報からフィードバックデータを抽出するフィードバックデータ抽出部と、
復号化されたパケットをＬＡＮ側に出力する受信パケット出力部と、
を備え、
前記パケット送信部は、
ＬＡＮ側から入力されたデータパケットのヘッダ情報に基づき、ＦＥＣ符号化の対象かどうかを判定する送信パケット種別判定部と、
ＬＡＮ側から入力されたデータがＦＥＣ符号化の対象パケットであった場合に、前記パケット受信部のフィードバックデータ抽出部からの符号化パラメータに基づきＦＥＣパケットの量を制御するＦＥＣ符号化部と、
前記パケット受信部のフィードバックデータ生成部からのパラメータを、冗長度等の符号化パラメータとともにＦＥＣヘッダ内に格納する送信側ＦＥＣヘッダ処理部と、
符号化されたパケットをＷＡＮ側に送信するパケット送信部と、
を備え、
前記パケット受信部のフィードバックデータ生成部は、
前記回線品質計測部で時刻ｔ１に計測された回線品質情報と、時刻ｔ２に計測された回線品質情報（但し、時刻ｔ２は時刻ｔ１よりも後の時刻である）と、時刻ｔ１に生成したフィードバックデータの情報に基づき、時刻ｔ２における新たなフィードバックデータを生成する
ことを特徴とする通信装置、または通信システムが提供される。
【発明の効果】
【００１１】
本発明によれば、輻輳によるパケット損失が発生する可能性のある回線において、輻輳を抑えつつ、最も小さい冗長度で目標のパケットロス率を達成できる。
【図面の簡単な説明】
【００１２】
【図１】本発明の第１の実施形態に係る通信システムの構成を示す図である。
【図２】本発明の第１の実施形態に係る通信装置の構成を示した図である。
【図３】本発明の第１の実施形態に係る、送信側ヘッダ処理の例を示した図である
【図４】本発明の第１の実施形態に係る、ＦＥＣヘッダの構成例を示した図である。
【図５】本発明の第１の実施形態に係る、受信側ヘッダ処理の例を示した図である。
【図６】本発明の第１の実施形態に係る、フィードバックデータ生成部の動作フローを示した図である。
【図７】本発明の第１の実施形態に係る、フィードバックデータ生成部の状態を説明する図である。
【図８】本発明の第２の実施形態に係る、フィードバックデータ生成部の動作フローを示した図である。
【図９】本発明の第２の実施形態に係る、ＴＣＰ通信のフローを示した図である。
【図１０】本発明の第２の実施形態に係る、フィードバックデータ生成部の動作フローを示した図である。
【発明を実施するための形態】
【００１３】
［概要］
図１は本発明の第１の実施形態にかかる通信システムの構成を示した図である。例えばインターネットや携帯電話網など、ＷＡＮを介した通信ネットワークでは、しばしばパケットロスやパケットの順序入れ替え、またパケットが複数連続してロスするバーストロスといった現象が発生する。本実施形態の通信装置はこれらパケットの欠損を効果的に抑制するのに適した例である。
【００１４】
本実施例による通信装置は、送信側と受信側それぞれに配置され、双方向の通信を行う装置である。それぞれ送信部と受信部を持ち、前方誤り訂正（ＦＥＣ）符号化、及び復号化により消失したパケットを復元する機能を持ったソフトウェア、又はハードウェアとして実現される。
【００１５】
通信装置の受信部は、送られてくるパケットのヘッダ情報に基づき、ＦＥＣの復号化が必要なパケットかどうかを判定する受信パケット種別判定部を備える。ＦＥＣは符号化の際に、特定の宛先ＩＰアドレス、ポート番号を持つパケットに対して独自のＦＥＣヘッダをパケット中に埋め込む操作を行うことから、受信側ではこれらの情報を元に復号化が必要なパケットかどうかを判断することができる。ＦＥＣの復号処理が不要と判断される通常パケットについては、復号処理を行わずにパケットをそのまま出力し、ＦＥＣ復号処理が必要と判断されたパケットはＦＥＣ復号化部へと伝送される。
【００１６】
ＦＥＣ復号化部はＦＥＣヘッダ内に含まれる符号化パラメータに基づいて復号化を行い、パケットの欠損を修復する。このとき、回線品質計測部は欠損したパケットの状況を調査し、通信回線でどの程度のパケットロスが発生しているのかを調査する。このとき、例えばバーストロス数、バーストロスの頻度、パケットロス率、パケットの順序入れ替え等の情報も取得できる。これらの回線品質情報はフィードバックデータ生成部に渡される。受信側ＦＥＣヘッダ処理部は、復元されたデータから不要なヘッダ部分を取り除くとともに、データ部分は受信パケット出力部に、またＦＥＣヘッダ部をフィードバックデータ抽出部へと伝達する。フィードバックデータ抽出部はヘッダ情報に記載されたフィードバックデータを抽出して送信部に伝達し、受信パケット出力部は受け取ったデータを受信パケットとして出力する。またフィードバックデータ生成部は、回線品質情報部から取得した回線品質情報と、フィードバックデータ抽出部から得られた誤り訂正符号量の情報を元にフィードバックデータを生成し、送信部に伝達する。
【００１７】
通信装置の送信部は、特定の通信相手、又は特定のアプリケーションからの通信を判定する送信パケット種別判定部を備え、ＦＥＣ符号化が不要と判断されたパケットはそのままＷＡＮ側へと出力し、ＦＥＣ符号化が必要と判断された場合にはＦＥＣ符号化部へとデータを伝送する。誤り訂正の要否の判断は宛先ＩＰアドレス、ポート番号等の情報に基づいて行うことができる。
【００１８】
ＦＥＣ符号化が必要と判断されたパケットについて、ＦＥＣ符号化部では、受信部のフィードバックデータ抽出部から得られたフィードバックデータに基づいて符号化パラメータを更新し、ＦＥＣ符号化処理を行う。この符号化処理によってデータパケットと、そのデータパケットに対応するＦＥＣパケットが生成され、生成されたパケットは送信側ヘッダ処理部へと伝送される。送信側ヘッダ処理部では、ＦＥＣ符号化部で符号化の際に用いられた符号化パラメータとともに、受信部のフィードバックデータ生成部からの情報をヘッダに埋め込む。その後パケットはパケット送信部に送られ、パケット送信部からＷＡＮ側に出力される。
【実施例１】
【００１９】
[全体構成]
図１に示す実施例は、端末１０４−１、１０４−２が通信を行う際の構成を示している。端末１０４とＧＷ（ゲートウェイ）１０５の間に通信装置１０１が接続され、それぞれの装置間はイーサネット（登録商標）などの通信線（無線を含む）１０６で接続される。通信線１０６は有線であっても良いし、無線であっても良い。通信装置１０１は送信部１０２と受信部１０３を備える。例えば通信装置１０１はＰＣ（パーソナルコンピュータ）で構成されてもよい。また端末１０４はＰＣなどの装置であってもよく、端末１０４に接続された複数の機器を制御するために本システムが適用されても良い。【００２０】
端末１０４−１からデータパケットが送信されたとき、通信装置１０１−１はデータパケットを受け取り、送信部１０２−１へと入力する。送信部１０２−１ではＦＥＣ計算などの符号化処理を行い、ＧＷ１０５−１側に符号化処理されたパケットを出力する。通信装置１０１−１からデータパケットを受け取ったＧＷ１０５−１はＧＷ１０５−２宛てにＷＡＮを介してパケットを送信する。ＷＡＮ側からデータを受け取ったＧＷ１０５−２は、通信装置１０１−２へとデータパケットを転送する。ＧＷ１０５−２からのデータを受け取った通信装置１０１−２は受信部１０３−２へとパケットを入力する。受信部１０３−２は符号化されたパケットを復号化し、誤り訂正を行った後、データパケットを通信端末１０４−２へと伝送する。また受信したパケットのヘッダにフィードバック情報が含まれる場合、受信部１０３−２はフィードバック情報を送信部１０２−２へと伝達する経路１０７を有する。【００２１】
端末１０４−２が端末１０４−１宛てにパケットを伝送する場合も同様の処理が行われる。このように、通信装置１０１は端末１０４側から入力されたパケットに対して送信部１０２でパケットの符号化処理を行い、ＧＷ１０５側から届いたパケットに対しては受信部１０３によって復号化処理を行う。本構成によれば、通常端末１０４とＧＷ１０５が直接接続されている経路に通信装置１０１をブリッジとして挿入すればよく、既存の通信システムに変更を加えることなくデータパケットにＦＥＣ計算処理を行うことができる。またＧＷ１０５と通信装置１０１の間、又は通信装置１０１と端末１０４の間にネットワークルータやハブを接続してもよい。
[通信装置１０１]
図２に、通信装置１０１の構成図を示す。通信装置１０１−１は通信装置１０１−２と対で配置され、各通信装置１０１は送信部１０２と受信部１０３を備える。端末側（ＬＡＮ側）から入力された送信パケット入力２０１−１は送信部１０２−１に入力され、送信パケット種別判定部２０２−１へと送られる。送信パケット種別判定部２０２−１は予め設定された特定の通信相手、又は特定のアプリケーションからの通信であるかどうかを判別する。このとき、送信パケット種別判定部２０２−１は、送信パケット入力２０１−１のヘッダに記載されているＩＰアドレス、ポート番号、通信プロトコルなどのヘッダ情報と、予め設定されたそれらの情報とを比較して、ＦＥＣの付与を行うべき対象かどうかを判断することができる。ＦＥＣの対象と判断されたパケットはＦＥＣ符号化部２０３−１へと伝送され、対象外と判断されたパケットは送信パケット出力２０６−１へと伝送される。送信パケット種別判定部２０２−１の判定条件であるＩＰアドレスやポート番号、通信プロトコルは、予め複数の組み合わせを設定しておくことができる。例えばＩＰアドレスとポート番号の設定に従い、ＦＥＣを計算すべきパケットかどうかの判別を行う場合、通信プロトコルはＴＣＰ、ＵＤＰ、ＲＴＰなどにかかわらず、ＦＥＣ符号化の対象となり得る。【００２２】
ＦＥＣ符号化部２０３−１では、受信部１０３−１のフィードバックデータ抽出部２１０−１によって取得された通信装置１０１−２からのフィードバックデータに基づき、ＦＥＣ符号化を行う。但し、フィードバックデータ取得部２１０−１が回線品質情報を保持していない場合や、回線品質情報が古い場合等には予め設定された値に従いＦＥＣ符号化を行うことができる。ＦＥＣ符号化部２０３−１における符号化処理の詳細については後に述べる。【００２３】
ＦＥＣ符号化部２０３−１に入力されたデータパケットと、ＦＥＣ符号化部２０３−１で新たに計算されたＦＥＣパケットは送信側ＦＥＣヘッダ処理部２０４−１へと送られる。送信側ＦＥＣヘッダ処理部２０４−１では、ＦＥＣ符号化部で符号化が行われた際の符号化パラメータを記したＦＥＣヘッダをそれぞれのパケットに付与してパケット送信部２０５−１へと伝送する。このとき、送信側ＦＥＣヘッダ処理部２０４−１は、受信部１０３−１のフィードバックデータ生成部２１３−１が生成した通信経路２１６−２の回線品質情報を、通信装置１０１−２へのフィードバック情報としてＦＥＣヘッダに格納する。送信側ＦＥＣヘッダ処理部２０４−１からのデータを受け取ったパケット送信部２０５−１は、送信パケット出力２０６−１としてＷＡＮ側にデータ送信を行う。【００２４】
一方、通信装置１０１−２がＧＷ側（ＷＡＮ側）から受信パケット入力２０７−２を受け取ると、通信装置１０１−２は受信パケット種別判定部２０８−２へとパケットを伝送する。受信パケット種別判定部２０８−２は受信パケット入力２０７−２のＩＰヘッダ、ＴＣＰ、ＵＤＰヘッダ、ＦＥＣヘッダ等の情報を読み取り、ＦＥＣの復号処理が必要なパケットかどうかを判断する。ＦＥＣの復号処理が不要と判断されたパケットについては受信パケット出力２１５−２としてパケットを出力し、復号化処理が必要と判断されたパケットはＦＥＣ復号化部２０９−２に送られ、ＦＥＣ復号化部２０９−２はＦＥＣヘッダの情報に基づきパケットの復号処理を行う。このとき、回線品質計測部２１０−２はパケットロスの発生状況から、例えばバーストロス数、バーストロスの頻度、パケットロス率等の回線品質情報を計測し、フィードバックデータ生成部２１１は、受け取ったデータを通信回線２１６−１の回線品質情報として、送信部１０２−２の送信側ＦＥＣヘッダ処理部２０４−２に伝達する。ＦＥＣ復号化部２０９−２でパケットロスの訂正処理が行われたパケットは、受信側ＦＥＣヘッダ処理部２０９−２へと送られ、ＩＰマスカレードやポートフォワーディングに対応したヘッダ処理が行われる。またフィードバックデータ抽出部２１３は、ＦＥＣヘッダに含まれるフィードバックデータを取得し、送信部１０２−２のＦＥＣ符号化部２０３−２へと伝達する。受信側ＦＥＣヘッダ処理部２０９−２で復号処理を完了したデータパケットは受信パケット出力部２１４−２から受信パケット出力２１５−２として出力される。通信装置１０１−２から通信装置１０１−１に対する通信では、通信装置１０１−１の受信部１０２−１で同様の処理が行われる。【００２５】
なお、本装置、またはシステムで用いる誤り訂正符号として、パリティ符号やリードソロモン符号など、冗長度を変更可能な任意の誤り訂正符号を利用することができる。なお、ここで言う冗長度とは、送信パケット入力２０１から入力されたデータパケットの数に対して、ＦＥＣパケットとデータパケットの数の和がどれだけかを示すものである。
[ＦＥＣ符号化部２０３]
ＦＥＣ符号化部２０３は、入力されたデータパケットに対してＦＥＣパケットを生成し、前記データパケットとＦＥＣパケットを出力する。入力パケットに対する現在の誤り訂正符号パケットの量の比をｋとしたとき、ｋはｍからｎの範囲で変更可能であるとする（ｋ，ｍ、ｎは０以上の実数で、ｍ≦ｎ）。【００２６】
このとき、フィードバックデータ抽出部２１０から出力されたフィードバックデータがｋを増加させるよう指示するものであれば入力データパケットに対するＦＥＣパケットの比を増加させ、フィードバックデータ抽出部２１０から抽出されたフィードバックデータがｋを減少させるよう指示するものであれば入力データパケットに対するＦＥＣパケットの比を減少させるよう、符号化パラメータを変更する。フィードバックデータ抽出部がフィードバックデータを持たない場合は符号化パラメータの変更を行わない。ＦＥＣ符号化部２０２は前記符号化パラメータに基づいてＦＥＣパケットを生成し、データパケットとＦＥＣパケットを送信側ＦＥＣヘッダ処理部２０４へと伝送する。
[送信側ＦＥＣヘッダ処理部２０４]
図３に、送信側ＦＥＣヘッダ処理部２０４のヘッダ処理の実施例を示す。まず、データパケットについて、送信側ＦＥＣヘッダ処理部２０４が受け取るデータパケットは複数のプロトコルを含む可能性があることから、送信ヘッダ処理部２０４では、到来したデータパケットを新たにＵＤＰ／ＩＰヘッダに包み、旧データパケットは新たなＵＤＰパケットのデータ部としてカプセル化する。この際、新たなＩＰヘッダのプロトコル部はＵＤＰとなり、ＩＰヘッダの送信元ＩＰアドレス、宛先ＩＰアドレス、及びＵＤＰヘッダの送信元ポート、宛先ポートは旧データパケットの情報をコピーして生成される（３０２）。【００２７】
また、通信装置１０１がブリッジとして動作する場合、ＭＡＣヘッダの情報もコピーされる（３０３）。さらに、新たなＵＤＰデータ部の先頭にはＦＥＣ符号化の詳細を記載したＦＥＣヘッダが付与される。【００２８】
一方、ＦＥＣ符号化部２０３で生成されたＦＥＣパケットについては、直前のデータパケットに記載されたヘッダ情報をそのままコピーして利用する（３０４）。このとき、ＩＰヘッダの識別子については適宜インクリメントする。またＩＰヘッダでパケットの分割（フラグメント）が行われる場合、分割したパケットの前半部と同様のＩＰヘッダ情報を後半部のパケットにコピーし、分割が生じたことをＩＰヘッダのフラグとしてＩＰヘッダ上に記載する。
[ＦＥＣヘッダ３０１]
図４に、ＦＥＣヘッダ３０１の構成例を示す。ヘッダ識別子は符号化されたパケットであることの認識に利用する。データフラグはＦＥＣヘッダに続くデータがデータパケットであるのか、ＦＥＣパケットであるのかを識別するために用いられる。ＦＥＣＩＤは、ＦＥＣ符号化部２０３において、ＦＥＣを計算するごとにインクリメントされる値である。符号化パラメータはＦＥＣ符号化部２０３で符号化処理を行った際に用いられたパラメータを格納する。復号の際に必要な情報はすべて符号化パラメータとしてＦＥＣヘッダ３０１に記載される必要がある。フィードバック情報には受信部で取得された回線品質情報を元に生成されたフィードバックデータが記載される。例えば冗長度を0.2上げる、0.1下げるといった冗長度制御指示や、パケットロス、バーストロスの頻度などの情報が直接記載されてもよい。またＦＥＣヘッダにＦＥＣヘッダ長の情報を記載することで、ＦＥＣヘッダを可変長とすることもできる。
[ＦＥＣ復号化部２０９]
ＦＥＣ復号化部２０９はＦＥＣヘッダ３０１に記載された符号化パラメータの情報を元に、パケットの欠損を修復する。ＦＥＣ復号化部２０９は任意のバッファ時間Ｔを有し、欠損したパケットについて、バッファ時間Ｔの中で修復可能なパケットを復元し、受信側ＦＥＣヘッダ処理部２１２へと伝送する。バッファ時間を過ぎても復元できなかったパケットについては、パケットロスとして扱う。ここでＴは予め設定された任意の値であり、装置の利用者が回線の状況に応じて適宜変更することができる。バッファ時間Ｔを過ぎた後に過去のＦＥＣＩＤを持つパケットが届いた場合、当該パケットを廃棄する。また、別の方法によれば、バッファ時間Ｔを過ぎた後に過去のＦＥＣＩＤを持つパケットが届いた場合、ＦＥＣ復号化部２０９によって当該パケットが復元されていた場合はパケットを廃棄し、当該パケットが復元されていなかった場合は受信側ＦＥＣヘッダ処理部２１２にパケット伝達することができる。
[回線品質計測部２１０]
回線品質計測部２１０は、予め定められた任意の時間Ｔｃ毎が経過するか、若しくは一定数のパケットＮｃを受信するたびに、ＦＥＣ復号化部２０９に入力された復号前のパケットのロス数と、復号後のロス数、バーストロスの発生頻度、パケットロス率、バーストロス時間等を計測し、フィードバックデータ生成部２１１へと伝達される。
[フィードバックデータ生成部２１１]
図６にフィードバックデータ生成のフローを示す。Ｓ６０１は、受信部においてパケットの受信が開始された状態である。Ｓ６０２では、ＦＥＣ復号化部２０９による復号化処理が行われる。このとき、一定時間Ｔｃが経過するか、一定数のパケットＮｃを受信するたびに、回線品質情報計測部２１０は解析した回線品質情報をフィードバックデータ生成部２１１に送信する（Ｓ６０３−６０４）。フィードバックデータ生成部２１１は、受け取った回線品質情報が初回の場合であって、前記回線品質情報が予め定められた目標値を下回る値（例えばパケットロス率が閾値以上）であり、かつ入力パケットに対する現在の誤り訂正符号パケットの量の比をｋ（ｍ≦ｋ≦ｎ、ｋ，ｍ、ｎは０以上の実数）としたとき、ｍ＜ｋである場合はさらに冗長度を下げる（ｋをｍに近づける）よう、フィードバック指示を生成する（Ｓ６０５（Ｙ）−Ｓ６０６（Ｙ）−Ｓ６１０（Ｎ）−Ｓ６１１−Ｓ６１２）。【００２９】
Ｓ６１０において、冗長度がすでに最小（ｍ＝ｋ）であった場合は冗長度を上げる（ｋをｎに近づける）ようフィードバック指示を生成する（Ｓ６１０（Ｙ）−Ｓ６０８−Ｓ６０９）。一方、受け取った回線品質情報が初回で、パケットロス率が目標値を上回っていた場合、冗長度が最大（ｋ＝ｎ）でなければ冗長度を上げる（ｋをｎに近づける）ように指示を生成する（Ｓ６０５（Ｙ）−Ｓ６０６（Ｎ）−Ｓ６０７（Ｎ）−Ｓ６０８−Ｓ６０９）。Ｓ６０７において、冗長度がすでに最大であった場合は冗長度を下げる（ｋをｍに近づける）ようフィードバック指示を生成する（Ｓ６０７（Ｙ）−Ｓ６１１−Ｓ６１２）。【００３０】
回線品質情報の取得が２回目以降の場合であって、復号後のパケットロス率が予め定められた目標値を下回っている場合、フィードバックデータ生成部２１１は送信側ＦＥＣヘッダ処理部２０４に対し、さらに冗長度を下げるよう指示を出すことができる（Ｓ６１３（Ｙ）−Ｓ６１１−Ｓ６１２）。図７に冗長度とパケットロス率の関係を場合分けした図を示す。図７（７０５）に示すように、復号後のパケットロス率が目標値を下回っている場合は、ネットワークの負荷を軽減するため、いずれの場合でもさらに冗長度を下げることができる。【００３１】
回線品質情報の取得が２回目以降の場合であって、復号後のパケットロス率が目標値を上回っている場合、前回の冗長度変更指示と回線品質情報を、改めて算出された新しい回線品質情報と比較し、新たな冗長度変更指示を生成する。例えば前回冗長度変更指示が冗長度を上げる指示で、前回と比べてパケットロス率が減少している場合（Ｓ６１４（Ｙ）−Ｓ６１５（Ｙ））、 これは図７（７０２）に相当し、さらに冗長度を上げることでパケットロス率を低減できる可能性がある。このためフィードバックデータ生成部２１１は、送信側ＦＥＣヘッダ処理部２０４に対し、さらに冗長度を上げるようフィードバック指示を生成する（Ｓ６０８−Ｓ６０９）。また前回の指示が冗長度を上げるものであって、前回と比べてロス率が増加した場合（Ｓ６１４（Ｙ）−Ｓ６１５（Ｎ））、これは図７（７０３）に相当し、冗長度を下げることでパケットロス率が低減される見込みがあることから、フィードバックデータ生成部２１１は冗長度を下げるよう、フィードバック指示を生成する（Ｓ６１１−６１２）。【００３２】
一方、前回の指示が冗長度を下げるものであって、前回と比べてパケットロス率が増加した場合（Ｓ６１４（Ｎ）−Ｓ６１６（Ｎ））、これは図７（７０１）の状態に相当し、冗長度を上げたほうが、パケットロス率が低減される見込みがある。このため、フィードバックデータ生成部２１１は、送信側ＦＥＣヘッダ処理部２０４に対し、冗長度を上げるように指示する（Ｓ６０８−Ｓ６０９）。また、前回の指示が冗長度を下げるものであって、前回と比べてパケットロス率が減少した場合（Ｓ６１４（Ｎ）−Ｓ６１６（Ｙ））、これは図７（７０４）に相当し、冗長度を下げることでパケットロス率が低減される見込みがあることから、フィードバックデータ生成部２１１は冗長度を下げるように指示を生成する（Ｓ６１１−６１２）。【００３３】
動作例では回線品質情報、および目標値としてパケットロス率を基準とした動作を示したが、パケットロス率の代わりにパケットロスが連続して発生するバーストロスの発生頻度、またはバーストロスしたパケットの数等を基準として用いても良い。またＳ６０６、Ｓ６１３において、目標値との比較を行う際、複数回の回線品質情報の統計値と目標値とを比較しても良い。
[受信側ＦＥＣヘッダ処理部２１２]
図５に、受信側ＦＥＣヘッダ処理部２１２におけるヘッダ処理の実施例を示す。受信されたパケットはＵＤＰ／ＩＰヘッダで元のデータパケットがカプセル化された構造となっているため、受信側ＦＥＣヘッダ処理部２１２は、ＵＤＰパケットのデータ部分から旧データパケット部を取りだす。送信側、又は受信側のＧＷでＮＡＴ（Ｎｅｔｗｏｒｋ  Ａｄｄｒｅｓｓ  Ｔｒａｎｓｌａｔｉｏｎ）が行われている場合、受信パケットの送信元ＩＰアドレス、宛先ＩＰアドレス、送信元ポート番号が変換されることから、受信側ＦＥＣヘッダ処理部２１２は、抽出した旧データパケット部に、これらの情報を上書きする（５０１）。また、受信側ＦＥＣヘッダ処理部２１２は、ＭＡＣヘッダについてもコピーを生成する（５０２）。これによって、ＩＰマスカレードやポートフォワーディングにも対応したパケット伝送が可能となる。以上のヘッダ操作を実施した後、受信側ＦＥＣヘッダ処理部２１２は受信パケット出力部２１４にデータパケットを伝送する。またＦＥＣヘッダ４０１内にフィードバックデータが記載されていた場合、その情報をフィードバックデータ取得部２１３へと伝送する。
[フィードバックデータ取得部２１３]
フィードバックデータ取得部２１３は、受信側ＦＥＣヘッダ処理部２１２より、ＦＥＣヘッダ４０１内のフィードバックデータを取得する。フィードバックデータは冗長度変更の指示であり、フィードバックデータ取得部２１３は取得した冗長度変更指示をＦＥＣ符号化部２０３へと伝達する。
【実施例２】
【００３４】
実施例２では、フィードバックデータ生成部２１１が図８のフローで動作する。これは実施例１の図６のフローにＳ８０１−Ｓ８０４の状態を追加したものである。復号後のロス率が目標値を上回っているとき、冗長度を上げることでロス率が下がる状態にあって、これ以上冗長度を上げられない場合（Ｓ６１４(Ｙ)−Ｓ６１５（Ｙ）−Ｓ８０１（Ｙ））や、冗長度を下げることでロス率が下がる状態にあって、これ以上冗長度を下げられない場合（Ｓ６１４(Ｎ)−Ｓ６１６（Ｙ）−Ｓ８０２（Ｙ））において、通信装置１０１に入力される送信パケット入力２０１としてＴＣＰプロトコルが用いられている場合、データ伝送帯域が許容量を超えている可能性があることから、ＴＣＰのウィンドウサイズを下げるよう、送信側に要求を通知することができる（Ｓ８０３−８０４）。Ｓ８０４の、ＴＣＰのウィンドウサイズを制御するための実施形態を図９に示す。例えば端末１０４−２から端末１０４−１にＴＣＰでデータ通信が行われる場合、端末１０４−２において、ウィンドウサイズが4パケット分に設定されているとする。このとき、端末１０４−２からは４つのパケットが連続で通信装置１０２−２に送られる。通信装置１０１−２では入力された４つのパケットに対し、ＦＥＣパケットを追加してＷＡＮ側に出力する。【００３５】
ＷＡＮ側からのデータを受信した通信装置１０１−１は、復号処理を行い、復号化されたデータを端末１０４−１に伝達する。端末１０４−１は受け取ったデータに対してＡＣＫ９０１を返信するが、このとき、通信装置１０１−１が前記Ｓ８０１（Ｙ）やＳ８０２−Ｙの状態にあった場合、ＡＣＫ９０１、またはＡＣＫ９０１に対するＦＥＣパケット、またはその両方のＦＥＣヘッダ３０１内のフィードバックデータ部に、ＴＣＰのウィンドウサイズ制御要求を入れて、通信装置１０１−２に通知することができる。【００３６】
ウィンドウサイズ制御要求とＡＣＫ９０１を受け取った通信装置１０１−２は、ＡＣＫ９０１の伝達を保留し、端末１０４−２に再送要求９０３を伝達する。これはＴＣＰのＦａｓｔＲｅｔｒａｎｓｍｉｓｓｉｏｎ機能を利用し、ＡＣＫ９０１よりシーケンス番号が若いＡＣＫを３回連続で伝達するものである。再送要求を受け取った端末１０４−２は、輻輳が発生したものと判断し、データの再送を行うとともにウィンドウサイズを減少させる。図９の例では輻輳発生時にウィンドウサイズが半分になった例を示している。ここで、通信装置１０１−２はＡＣＫ９０１を受け取っていることから、ＡＣＫ９０１のシーケンス番号より前のシーケンス番号まで、パケットの受信が完了していることを知っている状態にある。このため、端末１０４−２からのデータの再送に対し、直ちにＡＣＫ９０１を返信することができる。これにより、再送による遅延を最小に抑えつつ、通信装置１０１側から端末１０４側のＴＣＰのウィンドウサイズを制御することが可能となる。
【実施例３】
【００３７】
実施例３では、フィードバックデータ生成部２１１の動作として、図１０のフローを示す。これは実施例１の図６のフローにＳ１００１、Ｓ１００２の状態が追加されたものである。パケットロス率が目標値以下である場合、回線品質が良好であると判断し、回線品質情報の取得周期であるＴｃ、またはパケット数による周期であるＮｃを、より大きく設定し、パケットロス率が目標値を満たさない場合、回線品質が劣化しているものと判断し、フィードバックデータの送信周期を早めることができる。別の方法として、パケットロス率が目標値を満たさない場合、フィードバックデータの送信周期であるＴｃ、Ｎｃを予め定められた初期値に戻すように動作してもよい。これによってフィードバックデータの送信頻繁が減り、頻繁に冗長度が変更されることを抑えるとともに、通信品質が安定した状態を長く保つことができる。
[付記]
上記の実施例において、各実施例の構成の一部を他の実施例の構成と追加、または置換することが可能である。また上記各構成、機能、処理部、処理手段は、それらの一部または全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するためのプログラムを解釈し、実行することで、ソフトウェアとして実現してもよい。【００３８】
本発明の通信方法又は通信装置・システムは、その各手順をコンピュータに実行させるための通信プログラム、通信プログラムを記録したコンピュータが読み取り可能な記憶媒体、通信プログラムを含みコンピュータの内部メモリにロード可能なプログラム製品、そのプログラムを含むサーバ等のコンピュータ、等により提供されることができる。
【符号の説明】
【００３９】
１０１  通信措置
１０２  送信部
１０３  受信部
１０４  端末
１０５  ＧＷ（ゲートウェイ）
１０６  通信線（有線、無線）
２０１  送信部１０２へのパケット入力
２０２  送信パケット種別判定部
２０３  ＦＥＣ符号化部
２０４  送信側ＦＥＣヘッダ処理部
２０５  パケット送信部
２０６  送信部１０２からのパケット出力
２０７  受信部１０３へのパケット入力
２０８  受信パケット種別判定部
２０９  ＦＥＣ復号化部
２１０  回線品質計測部
２１１  フィードバックデータ生成部
２１２  受信側ＦＥＣヘッダ処理部
２１３  フィードバックデータ抽出部
２１４  パケット出力部
２１５  受信部１０３からのパケット出力
３０１  ＦＥＣヘッダ
９０１  ＴＣＰ通信におけるＡＣＫパケット
【図１】
2016092686.tif 000003
【図２】
2016092686.tif 000004
【図３】
2016092686.tif 000005
【図４】
2016092686.tif 000006
【図５】
2016092686.tif 000007
【図６】
2016092686.tif 000008
【図７】
2016092686.tif 000009
【図８】
2016092686.tif 000010
【図９】
2016092686.tif 000011
【図１０】
2016092686.tif 000012
【国際調査報告】
2016092686.tif 000013
2016092686.tif 000014
2016092686.tif 000015
2016092686.tif 000016