(57)【特許請求の範囲】
【請求項１】
複数のネットワークに接続した送信端末及び受信端末を備え、上位層からのデータの伝送要求に対して前記データをトランスポート層における１つ以上のデータパケットに格納して前記１つ以上のデータパケットを前記複数のネットワークの何れかのネットワークを介して前記送信端末から前記受信端末に転送するトランスポート層におけるデータ伝送制御システムであって、
前記複数のネットワークを介してハートビート・パケットを定期的に送信するハートビート送信手段と、
前記複数のネットワークを介してハートビート・パケットを受信するハートビート受信手段と、
前記ハートビート受信手段で受信するハートビート・パケットの受信状況に基づき前記複数のネットワークの品質劣化を検出し、現在データパケットの送信先となっているネットワークの品質劣化を検出すると品質劣化が生じていないネットワークの中からデータパケットの送信先ネットワークを選択し、データパケットの送信先ネットワークを前記選択したネットワークに切り替えるデータパケット送信手段を備えた
ことを特徴とするデータ伝送制御システム。
【請求項２】
前記データパケット送信手段は、あるネットワークを介したハートビート・パケットが所定の個数以上届かない場合には当該ネットワークに品質劣化が生じたと判定する
ことを特徴とする請求項１記載のデータ伝送制御システム。
【請求項３】
前記ハートビート送信手段を前記受信端末に設け、前記ハートビート受信手段を前記送信端末に設けた
ことを特徴とする請求項１又は２記載のデータ伝送制御システム。
【請求項４】
前記送信端末及び受信端末間の各ネットワークの遅延を測定する遅延測定手段を備え、
前記データパケット送信手段は、品質劣化が生じていないネットワークの中から、前記遅延測定手段で測定した遅延が最も小さいネットワークをデータパケットの送信先ネットワークとして選択する
ことを特徴とする請求項１乃至３何れか１項記載のデータ伝送制御システム。
【請求項５】
前記送信端末は、前記受信端末に送信したデータパケットを格納するデータパケット格納手段を備え、
前記データパケット送信手段は、データパケットの送信先ネットワークの切り替えを行うと、前記受信端末からデータパケット受領確認を受領していないデータパケットをデータパケット格納手段から取得して切り替え後のネットワークを介して前記受信端末に再送する
ことを特徴とする請求項１乃至４何れか１項記載のデータ伝送制御システム。
【請求項６】
前記データパケット送信手段による前記再送処理を、前記受信端末からのデータパケット再送要求とは独立して実施する
ことを特徴とする請求項５記載のデータ伝送制御システム。
【請求項７】
複数のネットワークに接続した送信端末及び受信端末を備え、上位層からのデータの伝送要求に対して前記データをトランスポート層における１つ以上のデータパケットに格納して前記１つ以上のデータパケットを前記複数のネットワークの何れかのネットワークを介して前記送信端末から前記受信端末に転送するトランスポート層におけるデータ伝送制御方法であって、
ハートビート送信手段が、前記複数のネットワークを介してハートビート・パケットを定期的に送信するステップと、
ハートビート受信手段が、前記複数のネットワークを介してハートビート・パケットを受信するステップと、
データパケット送信手段が、前記ハートビート受信手段で受信するハートビート・パケットの受信状況に基づき各ネットワークの品質劣化を検出し、現在データパケットの送信先となっているネットワークの品質劣化を検出すると品質劣化が生じていないネットワークの中からデータパケットの送信先ネットワークを選択し、データパケットの送信先ネットワークを前記選択したネットワークに切り替えるステップとを備えた
ことを特徴とするデータ伝送制御方法。
【請求項８】
コンピュータを請求項１乃至６の何れか１項に記載のデータ伝送制御システムの各部として機能させる
ことを特徴とするデータ伝送制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、トランスポート層におけるデータ伝送制御の技術に関する。
【背景技術】
【０００２】
従来、ＰＣ（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月
【発明の概要】
【発明が解決しようとする課題】
【０００５】
近年、ロボットの遠隔制御や道路交通システムが将来の通信ネットワークのユースケースとして議論されており、ネットワークに対する要求は、広帯域化だけでなく、低遅延化が求められている。
【０００６】
このような要求に対して、複数のネットワークを同時に利用し、データ転送の効率化を図るＭｕｌｔｉｐａｔｈＴＣＰは有効な手段として考えられる。Ｍｕｌｔｉｐａｔｈ  ＴＣＰでは、最もＲＴＴ（Round Trip Time）が小さいパスを優先的に使用するスケジューラが採用されている。
【０００７】
通常のネットワークでは前述のスケジューラにより低遅延の通信が実現できるが、無線ＬＡＮ（Local Area Network）等を使用している場合、無線エリアの端においては、電波強度が弱くなるため、ネットワーク環境としては、伝送遅延は小さいが、パケットロスが発生する。このような環境では、遅延が小さいため、前述のスケジューラにより無線ＬＡＮを優先的に使用することになるが、パケットロスが発生するため、ＴＣＰの再送制御により、トランスポートレイヤにおける遅延の増加が起き、結果として、低遅延通信が実現できない課題がある。
【０００８】
本発明の目的は、複数のネットワークを同時に使用する環境において、無線ＬＡＮのような通信エリアの境界部分でパケットロスが発生するネットワークを使用している場合に、ネットワークの品質劣化を検出し、品質の良いネットワークのパスに直ちに切り替えることで、アプリケーションに対して、安定して低遅延な通信路を提供することである。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、本願発明は、複数のネットワークに接続した送信端末及び受信端末を備え、上位層からのデータの伝送要求に対して前記データをトランスポート層における１つ以上のデータパケットに格納して前記１つ以上のデータパケットを前記複数のネットワークの何れかのネットワークを介して前記送信端末から前記受信端末に転送するトランスポート層におけるデータ伝送制御システムであって、前記複数のネットワークを介してハートビート・パケットを定期的に送信するハートビート送信手段と、前記複数のネットワークを介してハートビート・パケットを受信するハートビート受信手段と、前記ハートビート受信手段で受信するハートビート・パケットの受信状況に基づき前記複数のネットワークの品質劣化を検出し、現在データパケットの送信先となっているネットワークの品質劣化を検出すると品質劣化が生じていないネットワークの中からデータパケットの送信先ネットワークを選択し、データパケットの送信先ネットワークを前記選択したネットワークに切り替えるデータパケット送信手段を備えたことを特徴とする。
【発明の効果】
【００１０】
本発明によれば、複数のネットワークを同時に利用する環境において、無線エリアの端においてパケットロスが発生し、再送による遅延増加が起こる場合であっても、ネットワークの品質劣化をハートビート・パケットにより直ちに検出することができる。これにより、高速なパス切替を実現することができる。
【図面の簡単な説明】
【００１１】
【図１】本願発明の基本的概念を説明する図
【図２】データ伝送制御システムの構成図
【図３】マルチパスデータ送信部の構成図
【図４】パケットデータ格納部のデータ構造の一例
【図５】ネットワーク品質情報格納部のデータ構造の一例
【図６】マルチパスデータ受信部の構成図
【図７】ＭｕｌｔｉｐａｔｈＴＣＰを説明する図
【発明を実施するための形態】
【００１２】
まず、本願発明の基本概念について図１を参照して説明する。本願発明は、図１に示すように、送信端末１００と受信端末２００が複数のパケット型のネットワーク３００を介して接続されている環境を前提とする。
【００１３】
なお、本明細書では、説明の簡単のため、送信端末１００と受信端末２００とをそれぞれ別端末として分けて記載しているが、一つの端末が送信端末１００と受信端末２００の機能を持つ形態においても本発明は実現可能であることに留意されたい。
【００１４】
また、本明細書では、複数のネットワークを総括して記載する場合には単にネットワーク３００と表記し、それぞれのネットワークを特定する場合及び図面においては各ネットワークの参照符号３００の後ろに枝番１，２，…，Ｎ（Ｎは自然数）を付して表記する。また、必要に応じて、ネットワーク３００だけでなく他の構成要素についても同様の表記方法をとる。
【００１５】
また、本発明はトランスポート層におけるデータ伝送制御に関するものであり、本明細書では特に断りが無い限り「パケット」はトランスポート層におけるパケットを意味し、伝送対象の「データ」はトランスポート層より上位層（通常アプリケーション層）から渡されたデータを意味する。
【００１６】
本願発明に係るデータ伝送制御システムは、図１に示すように、ＯＳＩ（Open Systems Interconnection）参照モデルのトランスポート層において、送信端末１００・受信端末２００間でのハートビート送信によるネットワーク３００の品質劣化の検出と、品質劣化が検出された際に、他のパスに切り替えると共に、既に送信済みのパケットで且つ受信確認ができていないパケットを直ちに再送することで、高速なパス切替と再送による遅延増加を抑制することを特徴とする。
【００１７】
ハートビートの送信は、受信端末２００から、一定間隔で送信端末１００にハートビート・パケットを送信することにより行う。送信端末１００は、ハートビート・パケットが一定間隔で到着することを期待するが、予め決められた個数以上届かない場合は、ネットワーク３００が品質劣化したと判断する。なお、ハートビート・パケットは、送信端末１００から送信し、受信端末２００がネットワークの品質劣化を検出し、送信端末１００に通知することも可能である。但し、この場合、通知にパケット転送が伴い、時間を要するため、高速にパス切替を行う観点では、受信端末２００からハートビート・パケットを送信する形態が望ましい。
【００１８】
ネットワークの品質劣化が検出された場合、送信端末１００は、品質劣化が起きていないパスの中で、最も遅延が短いパスに切り替える。各パスの遅延は、送信端末１００・受信端末２００間で定期的に遅延測定を行うことで計測されるものとする。
【００１９】
送信端末１００は、パケットの転送において、各パケットにシーケンス番号を付与し、受信端末２００において欠番を発見した場合には、受信端末２００が送信端末１００に再送要求を出し、送信端末１００がパケットの再送を行う。正常に受信できたパケットは、到達確認を送信端末１００に送信する。
【００２０】
ネットワーク３００の品質劣化によりパス切替を行った場合、送信端末１００は受信確認ができていないパケットについて、切り替えたパスを使用して、すべて受信端末２００に再送を行う。これはネットワーク３００の品質劣化によって、送信したパケットがネットワーク３００で損失したとみなし、再送要求を待たずに前もって再送を行うものである。これにより、再送により発生する遅延時間を抑制することができる。
【００２１】
このように、本発明では、複数のネットワーク３００を同時に利用する環境において、無線エリアの端においてパケットロスが発生し、再送による遅延増加が起こる場合であっても、ネットワーク３００の品質劣化をハートビート・パケットにより直ちに検出することができる。これにより、高速なパス切替を実現することができる。さらに、パケットの再送要求を待たずに切替後のパスを使用して再送を行うことで、ネットワーク３００の品質劣化により再送が必要なパケットに対して、高速な再送を実現することができる。これにより、パケットの転送遅延を短縮することができる。
【００２２】
以下、本実施の形態に係るデータ伝送制御システムについて図２を参照してより詳細に説明する。図２はデータ伝送制御システムの構成図である。
【００２３】
送信端末１００は、図２に示すように、マルチパスデータ送信部１１０と、それぞれネットワーク３００−１〜３００−Ｎに接続するネットワークＩ／Ｆ（Interface）部１２０−１〜１２０−Ｎとを備えている。また、受信端末２００は、マルチパスデータ受信部２１０と、それぞれネットワーク３００−１〜３００−Ｎに接続するネットワークＩ／Ｆ部２２０−１〜２２０−Ｎとを備えている。マルチパスデータ送信部１１０及びマルチパスデータ受信部２１０は、トランスポート層の処理機能部に相当する。またネットワークＩ／Ｆ部１２０，２２０は、データリンク層以下の処理機能部に相当する。なお、マルチパスデータ送信部１１０及びマルチパスデータ受信部２１０と、ネットワークＩ／Ｆ部１２０，２２０との間には、ネットワーク層の処理機能部が介在しているが本願発明の要旨とは関連しないので、ここでは記載を省略する。
【００２４】
前述の冗長データ転送機能は、送信端末１００のマルチパスデータ送信部１１０と受信端末２００のマルチパスデータ受信部２１０にて行われる。すなわち、送信端末１００のアプリケーション１３０からのデータは、マルチパスデータ送信部１１０にて処理され、各ネットワーク３００に接続されているネットワークＩ／Ｆ部１２０を介して、データパケットと冗長パケットが送信される。データパケットと冗長パケットは受信端末２００のネットワークＩ／Ｆ部２２０にて受信され、マルチパスデータ受信部２１０にて処理され、アプリケーション２３０に渡される。冗長データ転送機能の詳細については後述する。
【００２５】
前述のネットワーク品質測定機能についても、送信端末１００のマルチパスデータ送信部１１０と受信端末２００のマルチパスデータ受信部２１０にて行われる。ネットワーク品質測定機能の詳細についても後述する。
【００２６】
送信端末１００のマルチパスデータ送信部１１０は、図３に示すように、ネットワークＩ／Ｆ部１２０にパケットを送信するパケット送受信部１１１と、アプリケーションからのデータパケットをパケット送受信部１１１に送るデータパケット送信部１１２と、受信端末２００からのハートビート・パケットを受信するハートビート受信部１１３と、送信端末１００・受信端末２００の遅延測定を行う遅延測定部１１４と、後述する再送処理用にデータパケットを格納しておくデータパケット格納部１１５と、ネットワーク品質情報を格納するネットワーク品質情報格納部１１６とを備えている。
【００２７】
データパケット格納部１１５に格納するデータパケットの一例を図４に示す。図４の例に示すデータパケットは、パケットのシーケンス番号と、当該パケットのデータを含む。シーケンス番号は、データパケット送信部１１２で送信するデータパケットを特定可能な情報である。
【００２８】
ネットワーク品質情報格納部１１６に格納されているネットワーク品質情報の一例を図５に示す。ネットワーク品質情報格納部１１６は、ネットワーク３００毎にネットワーク品質を格納する。図５の例に示すネットワーク品質報は、ネットワーク３００の遅延差と状態情報を含む。ネットワーク３００の状態情報は、ネットワーク３００の品質を示す情報であり、本実施の形態では「正常」と「劣化」の２つの値をとるものとする。
【００２９】
受信端末２００のマルチパスデータ受信部２１０は、図６に示すように、ネットワークＩ／Ｆ部２２０からパケットを受信するパケット送受信部２１１と、パケット送受信部２１１で受信したデータパケットをアプリーションに送るデータパケット受信部２１２と、送信端末１００に対してハートビート・パケットを送信するハートビート送信部２１３と、送信端末１００・受信端末２００の遅延測定を行う遅延測定部２１４とを備えている。
【００３０】
なお、送信端末１００及び受信端末２００の各部の実装形態は不問であり、それぞれハードウェアによって実装して所定の機能を発揮させるようにしてもよいし、各部のプログラムをインストールして所定の機能を発揮させるようにしてもよい。
【００３１】
次に、本実施の形態に係るデータ伝送制御システムの動作について説明する。
【００３２】
まず、送信端末１００の遅延測定部１１４及び受信端末２００の遅延測定部２１４におけるネットワーク３００の遅延測定機能について説明する。
【００３３】
送信端末１００の遅延測定部１１４は、一定間隔で遅延測定用のパケットをパケット送受信部１１１を介して送信する。遅延測定用パケットは、接続している各ネットワーク３００−１〜３００−Ｎに対して同時に送信される。
【００３４】
受信端末２００は、データパケット送受信部２１１にて、遅延測定用パケットを識別し、遅延測定部２１４に渡す。遅延測定部２１４では、各ネットワーク３００−１〜３００−Ｎから到着する遅延測定用パケットについて、最も到着時刻の早いパケットの時刻を基準として、それより後に届いたパケットの到着時刻差を計算する。例えば、ネットワーク１＝０ｍｓ、ネットワーク２＝２０ｍｓというものである。
【００３５】
計算結果は、パケット送受信部２１１を介して、送信端末１００に送られ、送信端末１００の遅延測定部１１４にて、計算結果をネットワーク品質情報格納部１１６に遅延差として記録する。
【００３６】
次に、データパケットの送信処理について説明する。
【００３７】
送信端末１００は、アプリケーションからのデータをデータパケット送信部１１２にて受け取り、データパケット格納部１１５にシーケンス番号を付与してデータパケットとして格納する。
【００３８】
次にデータパケット送信部１１２は、ネットワーク品質情報格納部１１６から状態が「正常」であり、遅延差が最も小さいネットワーク３００を選択し、前述のデータパケットをパケット送受信部１１１を介して受信端末２００に送信する。
【００３９】
受信端末２００は、パケット送受信部２１１にて、データパケットを識別し、データパケット受信部２１２に渡す。データパケット受信部２１２は、データパケットのシーケンス番号から、既に受信しているパケットに対して、番号飛び（欠番）が発生していないかを確認する。欠番が発生している場合は、パケットロスが発生したとみなし、送信端末１００に対して、シーケンス番号を指定してデータパケットの再送要求を送信する。欠番が発生していない場合は、送信端末１００に対して、受信確認を送信する。
【００４０】
送信端末１００は、パケット送受信部１１１にて、パケットの再送要求／受信確認のパケットを識別し、データパケット送信部１１２に渡す。データパケット送信部１１２は、パケットの再送要求の場合は、指定されたシーケンス番号のパケットをデータパケット格納部１１５から読み出し、前述のデータパケット送信と同じ手順にて再送を行う。受信確認の場合、データパケット格納部１１５の該当パケットのデータを削除する。
【００４１】
次に、ネットワーク品質劣化の検出処理について説明する。
【００４２】
受信端末２００のハートビート送信部２１３は、ハートビート・パケットをパケット送受信部２１１を介して送信する。ハートビート・パケットは、予め決められた間隔で、接続している各ネットワーク３００−１〜３００−Ｎに対して送信される。
【００４３】
送信端末１００は、パケット送受信部１１１にて、ハートビート・パケットを識別し、ハートビート受信部１１３に渡す。
【００４４】
ハートビート受信部１１３は、タイマー（図示省略）を保持し、ハートビート・パケットの送信間隔と同じ間隔でタイマー処理を行い、ハートビート・パケットが到着しているかの判定を行う。ハートビート・パケットが予め決められた個数連続して到着した場合は、ネットワーク品質情報格納部１１６の該当するネットワークの状態を「正常」に設定する。
【００４５】
一方、ハートビート・パケットが予め決められた個数連続して到着しない場合、ネットワークに品質劣化が発生したと判断し、ネットワーク品質情報格納部１１６の該当するネットワークの状態を「劣化」に設定する。次に、受信確認が取れていないパケットを再送するために、データパケット格納部１１５に記録されているパケットをすべてデータパケット送信部１１２から送信する。前述したように、データパケット送信部１１２は、ネットワーク品質情報格納部１１６で、状態が「正常」であり、且つ最も遅延差が小さいネットワークを送信先ネットワークとして選択するため、前述のネットワーク品質劣化検出時に「劣化」と設定されているネットワークは使用されず、他の「正常」と設定されているネットワークを用いて、パケットは再送される。
【００４６】
以上、本発明の一実施の形態について詳述したが、本発明はこれに限定されるものではない。例えば、上記実施の形態では、送信端末１００と受信端末２００によりネットワーク３００の品質測定処理を行っていたが、他の装置がネットワーク３００の品質を測定するようにしてもよい。
【符号の説明】
【００４７】
１００…送信端末
１１０…マルチパスデータ送信部
１１１…パケット送受信部
１１２…データパケット送信部
１１３…ハートビート受信部
１１４…遅延測定部
１１５…データパケット格納部
１１６…ネットワーク品質情報格納部
２００…受信端末
２１０…マルチパスデータ受信部
２１１…パケット送受信部
２１２…データパケット受信部
２１３…ハートビート送信部
２１４…遅延測定部
【図１】
0006468566.tif 000002
【図２】
0006468566.tif 000003
【図３】
0006468566.tif 000004
【図４】
0006468566.tif 000005
【図５】
0006468566.tif 000006
【図６】
0006468566.tif 000007
【図７】
0006468566.tif 000008