(57)【要約】【課題】複数のネットワークが同時使用できる環境において、トランスポートレイヤとして低遅延な通信路を上位層に提供する。【解決手段】トランスポート層におけるデータ伝送制御システムであって、送信端末１００及び受信端末２００間の各ネットワーク３００の品質を測定する品質測定手段１０１，２０１と、冗長度及びパケット送信比率を決定し、決定した冗長度及びパケット送信比率に基づき各ネットワーク３００にデータパケット及び冗長パケットを送信する冗長パケット送信手段１０２と、受信したデータパケット及び冗長パケットから未到達のデータパケットを復元するデータパケット復元手段２０２とを備えた。【選択図】図１
2017092692.tif 000002
【特許請求の範囲】
【請求項１】
複数のネットワークに接続した送信端末及び受信端末を備え、上位層からのデータの伝送要求に対して前記データをトランスポート層における１つ以上のデータパケットに格納して前記１つ以上のデータパケットを前記送信端末から前記受信端末に転送するトランスポート層におけるデータ伝送制御システムであって、
前記送信端末及び受信端末間の各ネットワークの品質を測定する品質測定手段と、
ネットワーク品質測定結果に基づき各ネットワークで伝送するデータパケットの冗長度及び各ネットワークへ送信するデータパケットの比率を決定し、決定した冗長度及びパケット送信比率に基づき各ネットワークにデータパケットを振り分けて送信するとともに各ネットワークに冗長パケットを送信する冗長パケット送信手段と、
前記データパケットと冗長パケットを受信するとともに、未到達のデータパケットがある場合には受信したデータパケット及び冗長パケットから未到達のデータパケットを復元するデータパケット復元手段とを備えた
ことを特徴とするデータ伝送制御システム。
【請求項２】
前記冗長パケット送信手段は、前記送信端末及び受信端末間の往復遅延時間未満で転送可能なパケット数に基づき前記冗長度を決定する
ことを特徴とする請求項１記載のデータ伝送制御システム。
【請求項３】
前記冗長パケット送信手段は、前記上位層から指定された遅延許容時間に基づき前記冗長度を決定する
ことを特徴とする請求項１記載のデータ伝送制御システム。
【請求項４】
前記冗長パケット送信手段は、前記送信端末及び受信端末間の各ネットワークの帯域、パケットロス率、冗長度から実効帯域を算出し、実効帯域と前記送信端末及び受信端末間の各ネットワークの遅延時間から各ネットワークに送信するパケット比率を決定する
ことを特徴とする請求項１乃至３の何れか１項に記載のデータ伝送制御システム。
【請求項５】
複数のネットワークに接続した送信端末及び受信端末を備え、上位層からのデータの伝送要求に対して前記データをトランスポート層における１つ以上のデータパケットに格納して前記１つ以上のデータパケットを前記送信端末から前記受信端末に転送するトランスポート層におけるデータ伝送制御方法であって、
前記送信端末及び受信端末間の各ネットワークの品質を測定するステップと、
ネットワーク品質測定結果に基づき各ネットワークで伝送するデータパケットの冗長度及び各ネットワークへ送信するデータパケットの比率を決定し、決定した冗長度及びパケット送信比率に基づき各ネットワークにデータパケットを振り分けて送信するとともに各ネットワークに冗長パケットを送信するステップと、
前記データパケットと冗長パケットを受信するとともに、未到達のデータパケットがある場合には受信したデータパケット及び冗長パケットから未到達のデータパケットを復元するステップとを備えた
ことを特徴とするデータ伝送制御方法。
【請求項６】
コンピュータを請求項１乃至４の何れか１項に記載のデータ伝送制御システムの各部として機能させる
ことを特徴とするデータ伝送制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、トランスポート層におけるデータ伝送制御の技術に関する。
【背景技術】
【０００２】
従来、ＰＣ（Personal Computer）や携帯電話等の端末はある特定のネットワークを介して、インターネットや社内ネットワーク等に接続することが一般的であったが、近年の技術進歩により、端末が複数のネットワークに同時に接続することが可能になっている。例としては、スマートフォン等の端末がＬＴＥ（Long Term Evolution）やＷｉＦｉ（登録商標）等の通信技術を用いて、モバイル網と固定網に同時接続することが可能になっている。
【０００３】
そして、このような複数のネットワークに同時接続可能な通信環境を前提に、複数のネットワークを同時使用することで、データ転送を効率化させるトランスポートレイヤの通信方式として、ＭｕｌｔｉｐａｔｈＴＣＰ（Multipath Transmission Control Protocol）が提案されている（非特許文献１参照）。図１１にＭｕｌｔｉｐａｔｈＴＣＰによるデータ伝送の例を示す。図１１の例では、端末１とサーバ４との間には、モバイル網２ａ及びインターネット３を経路とする第１のＴＣＰコネクション５ａと、固定網２ｂ及びインターネット３を経路とする第２のＴＣＰコネクション５ｂとが形成されている。トランスポート層における端末１・サーバ４間のデータ伝送は、第１のＴＣＰコネクション５ａと第２のＴＣＰコネクション５ｂとを同時に利用して行われる。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】A. Ford、他２名、"TCP Extensions for Multipath Operation with Multiple Addresses"、 RFC6824、Internet Engineering Task Force (IETF)、2013年1月
【発明の概要】
【発明が解決しようとする課題】
【０００５】
近年、ロボットの遠隔制御や道路交通システムが将来の通信ネットワークのユースケースとして議論されており、アプリケーションの要求条件として、ネットワーク帯域だけでなく、低遅延化が求められている。
【０００６】
このようなアプリケーション要求に対して、複数のネットワークを同時に利用し、データ転送の低遅延化を図ることが有効な手段として考えられる。しかし、例えばＭｕｌｔｉｐａｔｈＴＣＰでは、複数ネットワークの同時利用によるデータ転送効率の向上を目的としているものの、通信の低遅延化を目的としていないため、使用するネットワークの品質によっては、単一のネットワークを利用する場合よりも遅延が大きくなることや、品質に応じたネットワークの使い分けをしていないために遅延が小さくならない場合がある。
【０００７】
特に、ネットワークの品質に基づいて、遅延を最小にする観点でパケット送信時に適切なネットワークの選択ができていないこと、及び、ＭｕｌｔｉｐａｔｈＴＣＰでは下位レイヤにＴＣＰを用いるため、ネットワークにてパケットロスが発生した場合、ＴＣＰの再送により遅延が増加してしまうという問題がある。
【０００８】
本発明の目的は、これら従来技術の課題を解決し、複数のネットワークが同時使用できる環境において、トランスポートレイヤとして低遅延な通信路を上位層に提供することである。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、本願発明は、複数のネットワークに接続した送信端末及び受信端末を備え、上位層からのデータの伝送要求に対して前記データをトランスポート層における１つ以上のデータパケットに格納して前記１つ以上のデータパケットを前記送信端末から前記受信端末に転送するトランスポート層におけるデータ伝送制御システムであって、前記送信端末及び受信端末間の各ネットワークの品質を測定する品質測定手段と、ネットワーク品質測定結果に基づき各ネットワークで伝送するデータパケットの冗長度及び各ネットワークへ送信するデータパケットの比率を決定し、決定した冗長度及びパケット送信比率に基づき各ネットワークにデータパケットを振り分けて送信するとともに各ネットワークに冗長パケットを送信する冗長パケット送信手段と、前記データパケットと冗長パケットを受信するとともに、未到達のデータパケットがある場合には受信したデータパケット及び冗長パケットから未到達のデータパケットを復元するデータパケット復元手段とを備えたことを特徴とする。
【発明の効果】
【００１０】
本発明によれば、複数のネットワークを同時に利用する環境において、ネットワーク品質に基づいた各ネットワークへのパケット送信比率の決定とデータ冗長化を行うことで、端末間のデータ転送時間を最小にすることができる。また、ＴＣＰのような再送制御を行う通信プロトコルに比べて、データ冗長化により、パケットロス時においても再送遅延を発生させない効果がある。
【図面の簡単な説明】
【００１１】
【図１】本願発明の基本的概念を説明する図
【図２】データ伝送制御システムの構成図
【図３】マルチパスデータ送信部の構成図
【図４】品質測定情報の一例
【図５】マルチパスデータ受信部の構成図
【図６】冗長データ転送を説明する図
【図７】冗長度の決定方法を説明する図
【図８】ネットワークが２つの場合の冗長データ転送の様子を説明する図
【図９】冗長データ転送処理を説明するフローチャート
【図１０】データパケット復号処理を説明するフローチャート
【図１１】ＭｕｌｔｉｐａｔｈＴＣＰを説明する図
【発明を実施するための形態】
【００１２】
まず、本願発明の基本概念について図１を参照して説明する。本願発明は、図１に示すように、送信端末１００と受信端末２００が複数のパケット型のネットワーク３００を介して接続されている環境を前提とする。
【００１３】
なお本明細書では、複数のネットワークを総括して記載する場合には単にネットワーク３００と表記し、それぞれのネットワークを特定する場合及び図面においては各ネットワークの参照符号３００の後ろに枝番１，２，…，Ｎ（Ｎは自然数）を付して表記する。また、必要に応じて、ネットワーク３００だけでなく他の構成要素についても同様の表記方法をとる。
【００１４】
本願発明に係るデータ伝送制御システムは、ＯＳＩ（Open Systems Interconnection）参照モデルのトランスポート層において、各ネットワーク３００の品質を測定し、測定結果である品質情報に基づき各ネットワーク３００において冗長的なデータ伝送を行う。そこで本願発明の一実施形態では、図１に示すように、ネットワーク品質測定機能として、受信端末２００へ測定データを送信する送信機能１０１を送信端末１００に設けるとともに、受信した測定データに基づきネットワーク品質を測定する品質測定機能２０１を受信端末２００に設けた。また、冗長データ転送機能として、冗長データ送信機能１０２を送信端末１００に設けるとともに、冗長データ受信機能２０２を受信端末２００に設けた。
【００１５】
なお、本実施形態では、ネットワーク品質測定機能を送信端末１００と受信端末２００に実装しているが、ネットワーク品質測定機能の実装形態は不問であり、送信端末１００及び受信端末２００以外の装置がネットワーク品質を測定して直接又は受信端末２００など他の装置を介して送信端末１００に提供するようにしてもよい。また、一つの端末が送信端末１００と受信端末２００の機能を持つ形態においても本発明は実現可能である。
【００１６】
また、本発明は前述したようにトランスポート層におけるデータ伝送制御に関するものであり、本明細書では特に断りが無い限り「パケット」はトランスポート層におけるパケットを意味し、伝送対象の「データ」はトランスポート層より上位層（通常アプリケーション層）から渡されたデータを意味する。
【００１７】
以下、本実施の形態に係るデータ伝送制御システムについて図２を参照してより詳細に説明する。図２はデータ伝送制御システムの構成図である。
【００１８】
送信端末１００は、図２に示すように、マルチパスデータ送信部１１０と、それぞれネットワーク３００−１〜３００−Ｎに接続するネットワークＩ／Ｆ（Interface）部１２０−１〜１２０−Ｎとを備えている。また、受信端末２００は、マルチパスデータ受信部２１０と、それぞれネットワーク３００−１〜３００−Ｎに接続するネットワークＩ／Ｆ部２２０−１〜２２０−Ｎとを備えている。マルチパスデータ送信部１１０及びマルチパスデータ受信部２１０は、トランスポート層の処理機能部に相当する。またネットワークＩ／Ｆ部１２０，２２０は、データリンク層以下の処理機能部に相当する。なお、マルチパスデータ送信部１１０及びマルチパスデータ受信部２１０と、ネットワークＩ／Ｆ部１２０，２２０との間には、ネットワーク層の処理機能部が介在しているが本願発明の要旨とは関連しないので、ここでは記載を省略する。
【００１９】
前述の冗長データ転送機能は、送信端末１００のマルチパスデータ送信部１１０と受信端末２００のマルチパスデータ受信部２１０にて行われる。すなわち、送信端末１００のアプリケーション１３０からのデータは、マルチパスデータ送信部１１０にて処理され、各ネットワーク３００に接続されているネットワークＩ／Ｆ部１２０を介して、データパケットと冗長パケットが送信される。データパケットと冗長パケットは受信端末２００のネットワークＩ／Ｆ部２２０にて受信され、マルチパスデータ受信部２１０にて処理され、アプリケーション２３０に渡される。冗長データ転送機能の詳細については後述する。
【００２０】
前述のネットワーク品質測定機能についても、送信端末１００のマルチパスデータ送信部１１０と受信端末２００のマルチパスデータ受信部２１０にて行われる。ネットワーク品質測定機能の詳細についても後述する。
【００２１】
送信端末１００のマルチパスデータ送信部１１０は、図３に示すように、ネットワークＩ／Ｆ部１２０にパケットを送信するパケット送受信部１１１と、品質測定データを送信する品質測定データ送信部１１２と、品質測定結果を受信する品質測定結果受信部１１３と、品質測定結果である品質測定情報を格納する品質測定情報格納部１１４と、冗長パケットを生成する冗長パケット生成部１１５とを備えている。
【００２２】
品質測定情報格納部１１４に格納されている品質測定情報の一例を図４に示す。品質測定情報格納部１１４は、ネットワーク３００毎に品質測定情報を格納する。図４の例に示す品質測定情報は、ネットワーク３００の識別情報、帯域情報、遅延情報、パケットロス率情報を含む。
【００２３】
受信端末２００のマルチパスデータ受信部２１０は、図５に示すように、ネットワークＩ／Ｆ部２２０からパケットを受信するパケット送受信部２１１と、送信端末１００から受信した品質測定データに基づきネットワーク３００の品質を測定する品質測定部２１２と、品質測定結果を送信端末１００に送信する品質測定結果送信部２１３と、送信端末１００から受信したデータパケットからデータを復号するデータパケット復号部２１４とを備えている。
【００２４】
なお、送信端末１００及び受信端末２００の各部の実装形態は不問であり、それぞれハードウェアによって実装して所定の機能を発揮させるようにしてもよいし、各部のプログラムをインストールして所定の機能を発揮させるようにしてもよい。
【００２５】
次に、本実施の形態に係るデータ伝送制御システムの動作について説明する。
【００２６】
まず、上述したネットワーク品質測定機能について説明する。本実施の形態ではネットワーク品質測定機能は、ネットワーク３００毎に、遅延Ｄを測定する遅延測定機能と、パケットロス率Ｌを測定するパケットロス率測定機能と、帯域Ｂを測定する帯域測定機能とを含む。以下、各機能について説明する。
【００２７】
［遅延測定機能］
遅延測定は、以下の方法により実施する。
【００２８】
まず、送信端末１００の品質測定データ送信部１１２から、パケット送受信部１１１を介して、送信端末１００に接続されている各ネットワーク３００用のネットワークＩ／Ｆ部１２０のそれぞれに品質測定用パケットを同時に送信する。受信端末２００のパケット送受信部２１１は、受信したパケットに到着時刻の情報を付けて、品質測定部２１２に渡す。
【００２９】
次に、受信端末２００の品質測定部２１２では、最も到着時刻の早い品質測定用パケットの時刻を基準として、それより後に届いた品質測定用パケットの到着時刻差を記録し、品質測定結果送信部２１３に渡す。品質測定結果の一例としては、例えば３つの品質測定用パケットＡ，Ｂ，Ｃを受信した場合、「パケットＡ＝０ｍｓ、パケットＢ＝１０ｍｓ、パケットＣ＝２０ｍｓ」というものである。なお、パケットＡについて０ｍｓであるのは、先行するパケットが存在しないためである。
【００３０】
品質測定結果送信部２１３は、品質測定結果をデータパケットにし、パケット送受信部２１１を介して、送信端末１００に送る。この時、品質測定結果に係るパケット送信に使用するネットワーク３００は、複数のネットワーク３００のうちの１つでよい。
【００３１】
送信端末１００は、品質測定結果に係るパケットを品質測定結果受信部１１３に渡し、品質測定結果受信部１１３は、品質測定結果を品質測定情報格納部１１４に記録する。
【００３２】
［パケットロス率測定機能］
パケットロス率測定は、以下２つの方法のいずれかで実施する。
【００３３】
＜方法（１）品質測定用パケットにて算出する方法＞
【００３４】
まず、送信端末１００の品質測定データ送信部１１２から、パケット送受信部１１１を介して、送信端末１００に接続されている各ネットワーク３００用のネットワークＩ／Ｆ部１２０のそれぞれに品質測定用パケットを複数個送信する。送信するパケット数は、測定精度に依存し、例えば、パケットロス率０．１％の精度で測定する場合は、ネットワーク３００毎に１０００個以上の品質測定用パケットを送信する。送信するパケットにはネットワーク３００毎に通し番号を付ける。
【００３５】
次に、受信端末２００のパケット送受信部２１１は、受信したパケットを品質測定部２１２に渡す。
【００３６】
品質測定部２１２では、ネットワーク３００毎にパケットの通し番号を確認し、欠番の数をパケットロス数としてカウントとし、ネットワーク３００毎にパケットロス率を以下のように算出する。
パケットロス率Ｌ＝パケットロス数／品質測定用パケットの総送信数
【００３７】
次に、品質測定部２１２は、ネットワーク３００毎のパケットロス率Ｌを品質測定結果送信部２１３に渡す。
【００３８】
品質測定結果送信部２１３は、品質測定結果をデータパケットにし、パケット送受信部２１１を介して、送信端末１００に送る。この時、品質測定結果に係るパケット送信に使用するネットワーク３００は、複数のネットワーク３００のうちの１つでよい。
【００３９】
送信端末１００は、品質測定結果に係るパケットを品質測定結果受信部１１３に渡し、品質測定結果受信部１１３は、品質測定結果を品質測定情報格納部１１４に記録する。
【００４０】
＜方法（２）データパケットにて算出する方法＞
【００４１】
送信端末１００のアプリケーション１３０からのデータは、冗長パケット生成部１１５からパケット送受信部１１１に送られる。
【００４２】
パケット送受信部１１１は、各パケットに通し番号を付けて、送信端末１００に接続されている各ネットワーク３００用のネットワークＩ／Ｆ部１２０の何れかに送信する。ここで、パケットの送信に用いられるネットワーク３００は、後述する冗長パケット生成部１１５による冗長データ転送処理が行われていることを前提とし、当該冗長データ転送処理により決定されたネットワーク３００である。
【００４３】
次に、受信端末２００のパケット送受信部２１１は、受信したパケットを品質測定部２１２に渡す。
【００４４】
品質測定部２１２では、ネットワーク３００毎にパケットの通し番号を確認し、欠番の数をパケットロス数としてカウントとし、前記方法（１）と同様に、ネットワーク３００毎にパケットロス率Ｌを算出し、送信端末１００に結果を通知する。
【００４５】
［帯域測定］
帯域測定は、以下２つの方法のいずれかで実施する。
【００４６】
＜方法（１）品質測定用パケットにて算出する方法＞
【００４７】
まず、送信端末１００の品質測定データ送信部１１２から、パケット送受信部１１１を介して、送信端末１００に接続されている各ネットワーク３００用のネットワークＩ／Ｆ部１２０のそれぞれに品質測定用パケットを複数個送信する。
【００４８】
次に、受信端末２００のパケット送受信部２１１は、受信したパケットを品質測定部２１２に渡す。
【００４９】
品質測定部２１２では、受信した一定のパケット数に対して、最初のパケットと最後のパケットの到着時間差と受信したパケットの総データ量から帯域Ｂを下記のように算出する。
帯域Ｂ＝パケットの総データ量／到着時間差
【００５０】
次に、品質測定部２１２は、ネットワーク３００毎の帯域Ｂを品質測定結果送信部２１３に渡す。
【００５１】
品質測定結果送信部２１３は、品質測定結果をデータパケットにし、パケット送受信部２１１を介して、送信端末１００に送る。この時、品質測定結果に係るパケット送信に使用するネットワーク３００は、複数のネットワーク３００のうちの１つでよい。
【００５２】
送信端末１００は、品質測定結果に係るパケットを品質測定結果受信部１１３に渡し、品質測定結果受信部１１３は、品質測定結果を品質測定情報格納部１１４に記録する。
【００５３】
＜方法（２）データパケットにて算出する方法＞
【００５４】
送信端末１００のアプリケーション１３０からのデータは、冗長パケット生成部１１５からパケット送受信部１１１経由で、各ネットワーク３００に送信される。ここで、パケットの送信に用いられるネットワーク３００は、後述する冗長パケット生成部１１５による冗長データ転送処理が行われていることを前提とし、当該冗長データ転送処理により決定されたネットワーク３００である。
【００５５】
次に、受信端末２００のパケット送受信部２１１は、受信したパケットを品質測定部２１２に渡す。
【００５６】
品質測定部２１２は、前記方法（１）と同様に、ネットワーク３００毎に帯域Ｂを算出し、送信端末１００に結果を通知する。
【００５７】
次に、上述した冗長データ転送機能について説明する。
【００５８】
［遅延許容時間の決定］
冗長データ転送では、ＦＥＣ（Forward Error Correction）により、ネットワーク３００にてパケットロスが発生した場合、受信端末２００にてＦＥＣの冗長データから損失パケットの復旧を試みる。ただし、冗長データは、データパケットにパリティパケットを付加することで実現され、損失パケットの復旧にはパリティパケットの到着を待つ必要がある。このため、アプリケーション１３０から冗長パケット生成部１１５に、ＦＥＣによるパケット復旧として許容できる時間を遅延許容時間として通知する。なお、遅延許容時間の通知は任意であり、予め定めた規定値を用いても良く、遅延許容時間を設定しなくても良い。
【００５９】
［冗長データ転送］
本実施の形態では冗長データ転送機能は、冗長度の決定機能、タイムアウト再送による遅延増加の抑制機能、パケット送信比率の決定機能、パケット送信機能、パケット受信機能を含む。なお、送信端末１００及び受信端末２００は、前提として、それぞれ単一のネットワーク３００を介した端末間における、すなわち単一のネットワーク経路における、端末間の接続制御、パケット再送制御、上位層からのデータの１つ以上のデータパケットへの処理、データパケットの送受信、データパケットからデータの復号化などトランスポート層における基本的な機能を備えているものとする。以下、本発明に係る各機能について説明する。
【００６０】
＜冗長度の決定機能＞
本発明では、図６に示すように、Ｎ個のデータパケットのＸＯＲ演算の結果を１個のパリティパケット（冗長パケット）として付加することでデータの冗長化を実現する。この方式では、Ｎ−１個のデータパケットとパリティパケットから、残りのデータパケットを復旧させることができる。ここで「Ｎ個のデータパケット」とは、上位層であるアプリケーション１３０から伝送対象として渡された１つのデータをＮ個にパケット化したものである。
【００６１】
冗長度は、品質測定情報格納部１１４に格納されている品質測定結果に基づき、ネットワーク３００のパケットロス率Ｌから求める。本発明は、後述するようにパケットロスが生じた場合には全てパリティパケットを用いて復旧させるため、パケットロスが発生する頻度と同じだけパリティパケットを付加する必要があり、冗長度Ｎは以下の式で求まる。
データパケット数Ｎ＝１／Ｌ
【００６２】
ただし、図７のようなパターンではパリティの冗長度を変える必要がある。図７は、Ｎ＝３の例であるが、３つのデータパケット＋パリティパケットの転送時間Ｔ１とパリティを用いない再送方式での転送時間Ｔ２の関係が、Ｔ１＞Ｔ２となっており、パリティパケットの冗長化で再送による遅延増加を抑制する目的が達成できていない。
【００６３】
このようなケースでは、例えば次式のように、往復遅延時間未満で転送可能なパケット数Ｎに冗長度を変える必要がある。
データパケット数Ｎ ＜ Ｂ・２Ｄ／Ｓ  （Ｂ：帯域、Ｄ：遅延、Ｓ：平均パケット長）
【００６４】
また、遅延許容時間が通知されている場合も、例えば次式のように、上記と同様に冗長度を変える必要がある。
データパケット数Ｎ ＜ Ｂ・Ｃ／Ｓ  （Ｂ：帯域、Ｃ：遅延許容時間  Ｓ：平均パケット長）
【００６５】
＜タイムアウト再送による遅延増加の抑制機能＞
パケットロスの検出は、パケットの通し番号から、欠番を損失パケットと見なすことで検出するが、送信したパケット群が全てネットワークで損失した場合は、受信端末２００ではパケットが送られたことも分からないため、パケットロスの検出はできない。この場合、送信端末１００は一定時間、受信端末２００から受信確認が来ない場合に、再度パケットを送信することで対応する（タイムアウト再送）。ＴＣＰでは、このタイムアウトの時間が１００ｍｓ以上に設定されている場合が多く、遅延を増加させる一要因となっている。
【００６６】
タイムアウト再送は、送信パケットが全て損失した場合に起こるため、送信するパケット数が少ない場合に、発生頻度が大きくなる。このため、本発明では、タイムアウト再送を抑制するために、送信パケット数が少ない場合に、下記の（１）の方法に加えて、下記（２）又は（３）の方法の何れか一方又は双方を用いることにより、パケット数を増やし、タイムアウト再送が発生する確率を低減させることができる。なお、下記（２）又は（３）の方法を用いることは任意である。
【００６７】
（１）パリティパケットの追加
これは本発明の通常の冗長データ転送方式であり、パリティパケットの付加により、パケット数を増加させるものである。例えば、データパケット１個だけの場合、パリティパケットを１個追加することで、送信するパケット数は２倍になり、全てのパケットが損失する可能性は小さくなる。
【００６８】
（２）パケット分割
送信データ量が１パケットに収まる場合でも複数パケットに分割することで、パケットの全損失の可能性を小さくさせるものである。
【００６９】
（３）ダミーパケット送信
通常の冗長データ送信の後に、通し番号を付加したダミーパケットを短い間隔で定期的に送信し、パケットロスが発生した場合でも受信端末２００がダミーパケットの通し番号をチェックし、欠番が発生していることを確認することで、タイムアウトを待たずに早期にパケットロスを発見することができるものである。
【００７０】
＜パケット送信比率の決定機能＞
各ネットワーク３００にパケットを送信する上での冗長度Ｎは、前述した方法で決められる。各ネットワーク３００の実効帯域Ｚは、パケットロス率Ｌと冗長パケットにより減少する。ここで図８に示すように、ネットワーク３００が２つ場合、それぞれ帯域をＢ１，Ｂ２、パケットロス率をＬ１，Ｌ２、冗長度をＮ１，Ｎ２とすると、実効帯域Ｚ１，Ｚ２は次式により求められる。
ネットワーク１の実効帯域Ｚ１＝Ｂ１・（１−Ｌ１）・（１−１／Ｎ１）
ネットワーク２の実効帯域Ｚ２＝Ｂ２・（１−Ｌ２）・（１−１／Ｎ２）
【００７１】
ここで、各ネットワーク３００の帯域Ｂ及びパケットロス率はＬ品質測定情報格納部１１４に格納されているものを用いる。また、ネットワーク３００の冗長度Ｎは前述した方法により算出される。
【００７２】
本発明は、複数のネットワーク３００を効率的に使い、データの転送時間を最小にすることを目的としている。このため、各ネットワーク３００へのパケットの送信比率は、各ネットワーク３００の実効帯域Ｚの比率で算出し、更にネットワーク３００の遅延差を考慮し、遅延時間の短いネットワーク３００により多くのパケットを送信する。例えば、２つのネットワーク３００に２０ｍｓの遅延差がある場合、遅延が大きいネットワーク３００の最終パケット送信時刻から、２０ｍｓ後まで遅延の小さいネットワークにパケットを送信しても、受信端末２００が２つのネットワーク３００から受け取るパケットの最終到着時刻は同じになるためである。
【００７３】
上記の考え方から、２つのネットワーク３００を用いる場合、パケットの送信比率を式にすると次のようになる。
【００７４】
【数１】
2017092692.tif 000003
ただし、２つのネットワークの遅延は、Ｄ２＞Ｄ１である。また、Ｘは上位層から渡された伝送対象であるデータのデータ量である。
【００７５】
＜パケット送信機能＞
前述したように、冗長度の決定、及びパケット送信比率の決定は、品質測定情報格納部１１４の情報に基づき、冗長パケット生成部１１５にて行われる。冗長パケット生成部１１５では、上記に基づいて、アプリケーション１３０からのデータをパケット化し、冗長パケットを生成し、算出された送信比率に従い、パケット送受信部１１１から各ネットワーク３００にパケットを送信する。送信するパケットには通し番号を振る。なお、通し番号は、ネットワーク３００毎ではなく全体の通し番号である。
【００７６】
＜パケット受信機能＞
受信端末２００では、パケット送受信部２１１で受信したパケットは、品質測定部２１２を介して、データパケット復号部２１４に送られる。データパケット復号部２１４では、パケットの通し番号から、欠番を損失パケットとして検出し、パケットロスがある場合にはＮ−１個のデータパケットとパリティパケットから、ＸＯＲ演算にて損失パケットを復旧させる。そして、データパケット復号部２１４は、復旧したパケットを含めて、元のデータに復元し、アプリケーションに渡す。
【００７７】
以上のように冗長データ転送機能を実施するための冗長パケット生成部１１５及びデータパケット復号部２１４の動作について図９及び図１０を参照して説明する。図９は冗長データ転送処理を説明するフローチャート、図１０はデータパケット復号処理を説明するフローチャートである。
【００７８】
冗長パケット生成部１１５は、図９に示すように、アプリケーション１３０から伝送対象のデータと遅延許容時間を受信する（ステップＳ１）。なおアプリケーション１３０からの遅延許容時間の受信は任意である。
【００７９】
次に、冗長パケット生成部１１５は、品質測定情報格納部１１４からネットワーク品質情報（帯域、遅延、パケットロス率）を取得する（ステップＳ２）。次に、冗長パケット生成部１１５は、各ネットワーク３００の冗長度Ｎを決定する（ステップＳ３）。次に、各ネットワーク３００のパケット送信比率を決定する（ステップＳ４）。
【００８０】
冗長パケット生成部１１５は、決定した送信比率に基づきデータパケットを各ネットワーク３００に振り分けて送信する（ステップＳ５）。ここで、冗長パケット生成部１１５は、各ネットワーク３００にデータパケットとともにパリティパケットも送信する。
【００８１】
データパケット復号部２１４は、図１０に示すように、各ネットワーク３００からＮ個のデータパケット＋パリティパケット群を受信する（ステップＳ１１）。データパケット復号部２１４は、受信した各データパケットの通し番号を参照し、データパケットに欠番を検出すると（ステップＳ１２）、残りのＮ−１個のデータパケットとパリティパケットがある場合には（ステップＳ１３）、当該パケット群から欠損パケットを復元する（ステップ１４）。一方、データパケット復号部２１４は、データパケットに欠番を検出したが（ステップＳ１２）、残りのＮ−１個のデータパケットとパリティパケットの何れかがない場合には（ステップＳ１３）、すなわちパケット復元に必要なパケット群がそろっていない場合には、送信端末１００に対して欠損パケットの再送を要求する（ステップＳ１５）。データパケット復号部２１４は、データパケットに欠番がない場合には、データパケットからデータを組み立てて上位層であるアプリケーション１３０に渡す（ステップＳ１６）。
【００８２】
以上のように本実施の形態に係るデータ伝送制御システムによれば、複数のネットワーク３００が接続されている環境において各ネットワーク３００の品質に応じた送信比率で各ネットワーク３００を用いたパケット転送が行われるので伝送効率が向上する。また、当該パケット転送処理では、データパケットとともにパリティパケットを送信するので、パケット転送時にパケットの欠損があった場合でも再送処理を行うことなくデータの復号化ができる。これにより伝送効率が向上する。
【００８３】
以上、本発明の一実施の形態について説明したが、本発明はこれに限定されるものではない。例えば、上記実施の形態では、送信端末１００と受信端末２００によりネットワーク３００の品質測定処理を行っていたが、他の装置がネットワーク３００の品質を測定するようにしてもよい。
【符号の説明】
【００８４】
１００…送信端末
１１０…マルチパスデータ送信部
１１１…パケット送受信部
１１２…品質測定データ送信部
１１３…品質測定結果受信部
１１４…品質測定情報格納部
１１５…冗長パケット生成部
２００…受信端末
２１０…マルチパスデータ受信部
２１１…パケット送受信部
２１２…品質測定部
２１３…品質測定結果送信部
２１４…データパケット復号部
【図１】
2017092692.tif 000004
【図２】
2017092692.tif 000005
【図３】
2017092692.tif 000006
【図４】
2017092692.tif 000007
【図５】
2017092692.tif 000008
【図６】
2017092692.tif 000009
【図７】
2017092692.tif 000010
【図８】
2017092692.tif 000011
【図９】
2017092692.tif 000012
【図１０】
2017092692.tif 000013
【図１１】
2017092692.tif 000014