JP2023113489A - 通信装置、通信方法、及び通信プログラム - Google Patents

通信装置、通信方法、及び通信プログラム Download PDF

Info

Publication number
JP2023113489A
JP2023113489A JP2022015901A JP2022015901A JP2023113489A JP 2023113489 A JP2023113489 A JP 2023113489A JP 2022015901 A JP2022015901 A JP 2022015901A JP 2022015901 A JP2022015901 A JP 2022015901A JP 2023113489 A JP2023113489 A JP 2023113489A
Authority
JP
Japan
Prior art keywords
communication
packet
chunk
packets
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2022015901A
Other languages
English (en)
Inventor
諭史 吉永
Satoshi Yoshinaga
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Denso Corp
Original Assignee
Denso Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Denso Corp filed Critical Denso Corp
Priority to JP2022015901A priority Critical patent/JP2023113489A/ja
Priority to PCT/JP2022/042853 priority patent/WO2023149052A1/ja
Publication of JP2023113489A publication Critical patent/JP2023113489A/ja
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】複数の回線を用いてパケットを送信する場合であって未送信データの送信完了までに要する時間が最短になるように通信回線の割当てを行う場合、受信装置の側では必ずしもデータがより早く利用できるわけではない。【解決手段】第1の装置10から受信したパケットを複数の通信回線を用いて第2の装置20に送信する通信装置100であり、パケットを受信する受信部101と、パケットが属する、上位レイヤにおけるデータ単位であるチャンクを識別するパケット識別部102と、複数の通信回線の通信性能を取得する通信性能取得部105と、通信性能に基づき、チャンク毎に、チャンクに属する複数のパケットの第2の装置への到達時刻が最も早くなるように、複数のパケットのそれぞれをいずれかの通信回線に割当てる送信制御部106と、割当てに基づき複数の通信回線を用いて第2の装置に送信する送信部107と、を有する。【選択図】図1

Description

本発明は、受信したパケットを複数の通信回線を用いて送信する通信装置、通信方法、及び通信プログラムに関する。
複数の通信回線を持つマルチキャリア通信装置においては、ぞれぞれの通信回線の通信性能が異なる場合、いずれの通信回線を用いてパケットを送信するかによって通信時間が異なる。そこで、各通信回線の通信性能に応じて送信するパケットを適宜いずれかの通信回線に振り分けることにより、通信時間を短縮することができる。
特許文献1には、複数の通信回線の通信性能、及び未送信データの量や送信先からの受信応答が未達である未応答データの量である通信状況に応じて、複数の通信回線のそれぞれで送信する通信負荷量を分散させることが開示されている。
特開2017-73689号公報
ここで、本発明者は、以下の課題を見出した。
特許文献1では、送信するパケットに対し、未送信データの送信完了までに要する時間が最短になるように通信回線の割当てを行っており、上位レイヤにおけるデータ単位であるチャンクの視点で通信回線の割当てを行っているわけではない。その結果、パケットを受信した受信装置の側では、必ずしもデータがより早く利用できるとは限らない。
そこで、本発明は、受信装置の側でデータをより早く利用するために、効率的なデータ送信を行うことができる通信装置等を実現することを目的とする。
本開示の通信装置(100)は、第1の装置(10)から受信したパケットを複数の通信回線(21、22、23)のいずれかを用いて第2の装置(15、20)に送信する通信装置(100)であって、
前記第1の装置から前記パケットを受信する受信部(101)と、
前記パケットが属する、上位レイヤにおけるデータ単位であるチャンクを識別するパケット識別部(102)と、
前記パケットを格納するバッファ(104)と、
複数の前記通信回線のそれぞれの通信性能を取得する通信性能取得部(105)と、
前記通信性能に基づき、前記チャンク毎に、前記チャンクに属する複数の前記パケットの前記第2の装置への到達時刻が最も早くなるように、複数の前記パケットのそれぞれを複数の前記通信回線のいずれかに割当てる送信制御部(106)と、
前記バッファから前記パケットを読み出し、前記送信制御部における割当てに基づき、複数の前記通信回線のいずれかを用いて前記第2の装置に送信する送信部(107)と、
を有する。
なお、特許請求の範囲、及び本項に記載した発明の構成要件に付した括弧内の番号は、本発明と後述の実施形態との対応関係を示すものであり、本発明を限定する趣旨ではない。
本開示の通信装置等は、チャンク毎に、当該チャンクに属する複数のパケットのそれぞれを複数の通信回線のいずれかに割当てて送信するので、受信装置の側でデータをより早く利用することができるような効率的なデータ送信を行うことができる。
実施形態1の通信装置の構成を示す構成図 実施形態1の通信装置のパケット情報保存部に保存されているパケット情報を示す説明図 実施形態1の通信装置のパケット識別部の具体的な動作例1を示す説明図 実施形態1の通信装置のパケット識別部の具体的な動作例2を示す説明図 実施形態1の通信装置のパケット識別部の具体的な動作例3を示す説明図 実施形態1の通信装置の送信制御部の具体的な動作例1を示す説明図 実施形態1の通信装置の送信制御部の具体的な動作例2を示す説明図 実施形態1の通信装置の送信制御部の具体的な動作例2を示す説明図 実施形態1の通信装置の動作を示すフロー図 実施形態1の変形例の通信装置の構成を示す構成図 実施形態2の通信装置の構成を示す構成図 実施形態2の通信装置のパケット識別部の具体的な動作例を示す説明図 実施形態2の通信装置のパケット情報保存部に保存されているパケット情報を示す説明図 送信元端末装置、実施形態1等の通信装置、及び宛先端末装置の組み合わせの具体例を示す説明図
以下、本発明の実施形態について、図面を参照して説明する。
なお、本発明とは、特許請求の範囲又は課題を解決するための手段の項に記載された発明を意味するものであり、以下の実施形態に限定されるものではない。また、少なくともかぎ括弧内の語句は、特許請求の範囲又は課題を解決するための手段の項に記載された語句を意味し、同じく以下の実施形態に限定されるものではない。
特許請求の範囲の従属項に記載の構成及び方法は、特許請求の範囲の独立項に記載の発明において任意の構成及び方法である。従属項に記載の構成及び方法に対応する実施形態の構成及び方法、並びに特許請求の範囲に記載がなく実施形態のみに記載の構成及び方法は、本発明において任意の構成及び方法である。特許請求の範囲の記載が実施形態の記載よりも広い場合における実施形態に記載の構成及び方法も、本発明の構成及び方法の例示であるという意味で、本発明において任意の構成及び方法である。いずれの場合も、特許請求の範囲の独立項に記載することで、本発明の必須の構成及び方法となる。
実施形態に記載した効果は、本発明の例示としての実施形態の構成を有する場合の効果であり、必ずしも本発明が有する効果ではない。
複数の実施形態(変形例を含む。)がある場合、各実施形態に開示の構成は各実施形態のみで閉じるものではなく、実施形態をまたいで組み合わせることが可能である。例えば一の実施形態に開示の構成を、他の実施形態に組み合わせてもよい。また、複数の実施形態それぞれに開示の構成を集めて組み合わせてもよい。
発明が解決しようとする課題に記載した課題は公知の課題ではなく、本発明者が独自に知見したものであり、本発明の構成及び方法と共に発明の進歩性を肯定する事実である。
1.実施形態1
(1)本実施形態の通信装置100の全体構成
図1を用いて、実施形態1の通信装置100の構成を説明する。通信装置100は、受信部101、パケット識別部102、パケット情報保存部103、バッファ104、通信性能取得部105、送信制御部106、送信部107を有する。
通信装置100は、汎用のCPU(Central Processing Unit)、RAM等の揮発性メモリ、ROM、フラッシュメモリ、又はハードディスク等の不揮発性メモリ、各種インターフェース、及びこれらを接続する内部バスで構成することができる。そして、これらのハードウェア上でソフトウェアを実行することにより、図1に記載の各機能ブロックの機能を発揮させるように構成することができる。
もちろん、通信装置100を、LSI等の専用のハードウェアで実現してもよい。
以上は、他の実施形態の通信装置においても同様である。
通信装置100は、本実施形態では半完成品としての電子制御装置(ECU(Electric Control Unit)、以下ECUと略する。)の形態を想定しているが、これに限らない。例えば、部品の形態としては、半導体回路や半導体モジュール、半完成品の形態としては、電子制御装置、電子制御ユニット、システムボード、完成品の形態としては、サーバ、ワークステーション、パーソナルコンピュータ(PC)、タブレット、モバイルルータ、スマートフォン、携帯電話、ナビゲーションシステムが挙げられる。
なお、通信装置100は、単一のECUの他、複数のECUで構成されてもよい。例えば、通信装置100は、テレマティクス制御ユニット(TCU(Telematics Control Unit))としてもよい。
以上は、他の実施形態の通信装置においても同様である。
受信部101は、送信元端末装置10(「第1の装置」に相当)から、送信元端末装置10で生成された「パケット」を受信する。パケットは、例えば送信元端末装置10で実行している送信元アプリケーションで生成されたデータを、送信元端末装置10の図示しない制御部等で実行されるパケタイズやフラグメントにより、複数のパケットに分割されて送信されたものである。
ここで、「パケット」とは、情報通信における伝送単位のデータのかたまりをいい、狭義のパケットの他、フレーム、セグメント等、その名称を問わない。
送信元アプリケーションはデータを生成する任意のアプリケーションである。例えば送信元端末装置10に接続されたカメラで撮像された画像データを例えばH.264/MPEG4 AVC規格に基づき、Iフレーム、Pフレーム、及びBフレームデータに圧縮して、宛先端末装置20の宛先アプリケーションに送信する映像伝送アプリケーションが挙げられる。このとき、圧縮された各フレームデータは、送信元端末装置10のネットワークカード(NIC:Network Interface Card)でフラグメントされることにより、NICのMTU(Maximum Transmission Unit)サイズのパケットに分割されて送信される。
送信元端末装置10と通信装置100とは、通信回線11を介して接続されている。
通信回線11は、無線通信回線、有線通信回線のいずれであってもよい。
無線通信回線の例として、移動通信システムに基づく通信回線が挙げられ、例えば、W-CDMA(Wideband Code Division Multiple Access)、HSPA(High Speed Packet Access)、LTE(Long Term Evolution)、LTE-A(Long Term Evolution Advanced)、4G、又は5G等の無線通信方式からなる通信回線を用いることができる。この他、例えば、IEEE802.11(Wi―Fi(登録商標))、IEEE802.16(WiMAX(登録商標))、Bluetooth(登録商標)、UWB(Ultra Wide Band)、又はDSRC(Dedicated Short Range Communication)等の無線通信方式からなる通信回線を用いることもできる。
有線通信回線の例として、イーサネット(登録商標)等のLAN(Local Area Network)、光回線、又は固定電話回線を用いることができる。車載装置の場合は、例えば車載ネットワークであるCAN(Controller Area Network)、又はLIN(Local Interconnect Network)を用いることができる。
この他、無線通信回線と有線通信回線とを組み合わせた通信回線であってもよい。
送信元端末装置10も、通信装置100と同様、その形態は部品、半完成品、完成品のいずれであってもよい。送信元端末装置10の具体的な態様は後述する。
パケット識別部102は、受信部101で受信したパケットを分析することによりパケットに関する情報であるパケット情報を収集し、収集したパケット情報をパケット情報保存部103に保存する。
特に本実施形態においては、パケット識別部102は、受信部101で受信したパケットが属するチャンクを識別する。チャンクとは、上位レイヤにおけるデータ単位をいう。上位レイヤとは、例えばパケットがOSI参照モデルのネットワーク層(レイヤ3)の通信で使われる場合、トランスポート層(レイヤ4)以上をいう。
チャンクの例として、送信元端末装置10の送信元アプリケーションが映像伝送アプリケーションである場合、圧縮されたフレームデータ(Iフレーム、Pフレーム、又はBフレーム)が挙げられる。
この他、本実施形態では、パケット識別部102は、パケットを分析することにより、受信したパケットのパケットサイズ、チャンクサイズ、及び重要度情報、を収集する。
パケット識別部102で実行される具体的なチャンクの識別方法、及びチャンク番号の付与方法は後述する。
パケット情報保存部103は、パケット識別部102で収集したパケット情報を保存する。具体的には、パケット識別部102から入力されたパケット情報を入力順に保存している。パケット情報保存部103は、不揮発性メモリ又は揮発性メモリのいずれで構成してもよい。
図2は、パケット情報保存部103で保存されているパケット情報を示している。
パケット番号は、受信部101で受信するパケット毎に、受信部101で受信した順にパケット識別部102が付与したシリアル番号である。
チャンク番号は、受信部101で受信した各パケットを分析することで、パケット識別部102が付与する各パケットが属するチャンクを識別するためのシリアル番号である。
パケットサイズは、受信部101で受信するパケット毎に、パケット識別部102がパケットのサイズを収集したものである。パケットサイズは、IPヘッダ等の識別情報に記載されている場合はその識別情報を記録すればよい。固定長のパケットの場合は、予め定まった固定長のパケットサイズを記録すればよい。
チャンクサイズは、パケット識別部102で識別したチャンクのサイズである。チャンクサイズは、例えば同一のチャンク番号が付与されたパケットのパケットサイズを合計することにより求めることができる。具体的には、以下のように求めている。
図2の例では、パケット#1(チャンク番号#1)が入力された時点では、チャンク番号#1が付与されたパケットはまだ1つだけなので、パケットサイズと同じ1500Bがパケット#1のチャンクサイズに記録される。
次にパケット#2(チャンク番号#1)が入力された時点では、チャンク番号#1が付与されたパケットは2つになるので、先のチャンクサイズ1500Bにパケット#2のパケットサイズ1500Bを加えた3000Bがパケット#1及びパケット#2のチャンクサイズに記録される。
さらにパケット#3(チャンク番号#1)が入力された時点では、チャンク番号#1が付与されたパケットは3つになるので、先のチャンクサイズ3000Bにパケット#3のパケットサイズ1150Bを加えた4150Bがパケット#1乃至パケット#3のチャンクサイズに記録される。
パケット#4(チャンク番号#2)が入力された時点では、パケット#4のチャンク番号は先に受信したパケット#1乃至パケット#3のチャンク番号と異なるので、パケットサイズと同じ1500Bがパケット#4のチャンクサイズに記録される。
以下、同様の計算でパケットが入力される毎にチャンクサイズが記録される。
重要度情報は、パケットの重要度を示す情報である。具体的には、送信元端末装置10でパケット毎に付与された情報や、パケットのペイロードデータの内容に基づきパケット識別部102がパケットの分析の結果付与した情報である。パケットの重要度は、送信元アプリケーションの目的や通信装置100の設置目的に応じて定義することができる。例えば、パケットが動画の画像データの場合、Iフレームが欠損するとPフレームやBフレームの復号ができなくなるので、Iフレームを構成するパケットの重要度を他の種類のフレームを構成するパケットの重要度よりも上げるようにしてもよい。あるいは、通信装置100が自動車に搭載される車載装置を構成する場合、速度や加速度のような走行状態を直接示す情報の重要度を他の情報の重要度よりも上げるようにしてもよい。図2の場合は、重要度情報を2値、すなわちフラグで示しているが、3段階以上で定義してもよい。
パケット情報保存部103に保存されるパケット情報は、後述のバッファ104に格納しているパケットに合わせて更新される。例えば、バッファ104にパケットが格納された場合は、格納されたパケットのパケット情報がパケット情報保存部103に記録される。バッファ104からパケットが破棄された場合は、破棄されたパケットのパケット情報がパケット情報保存部103から削除される。送信部107がバッファ104からパケットを読み出して送信した場合は、読み出されたパケットのパケット情報がパケット情報保存部103から削除される。
バッファ104は、受信部101で受信し、パケット識別部102でチャンクが識別されたパケットを格納する「バッファ」である。具体的には、受信部101で受信したパケットを、破棄されるものを除き受信順に格納する。バッファ104も、パケット情報保存部103と同様、不揮発性メモリ又は揮発性メモリのいずれで構成してもよい。
ここで、「バッファ」とは、パケットを格納する領域をいい、格納順や読み出し順は任意である。また、バッファには、キューやスタックも含まれる。
本実施形態では、バッファ104は入力順に格納し入力順に出力するFIFO(First In First Out)の動作をベースとしており、キューとも呼ばれる。もっとも、本実施形態では、出力順は必ずしも入力順とはならない場合もある。
送信部107は、バッファ104からパケットを読み出し、後述の送信制御部106における割当てに基づき、複数の通信回線である通信回線21、通信回線22、及び通信回線23のいずれかを用いて、サーバ装置15(「第2の装置」に相当)、又はサーバ装置15を介して宛先端末装置20(「第2の装置」に相当)に送信する。パケットの読み出し順はバッファ104の入力順と原則同じであるが、本実施形態では必ずしも入力順とはならない場合もある。送信されたパケットは、宛先端末装置20の宛先アプリケーションで利用される。
宛先アプリケーションは、パケットに格納されたデータを利用するアプリケーションである。例えば、圧縮された画像データを復号して再生する画像再生ソフトが挙げられる。
宛先端末装置20も、通信装置100と同様、その形態は部品、半完成品、完成品のいずれであってもよい。宛先端末装置20の具体的な態様は後述する。
通信装置100とサーバ装置15とは、複数の通信回線である通信回線21、通信回線22、及び通信回線23を介して接続されている。もっとも、サーバ装置15は、必ずしも直接複数の通信回線で接続されている必要はなく、各通信回線に接続された基地局装置やゲートウェイ装置等を介してインターネット等に接続されていればよい。
通信回線21、通信回線22、及び通信回線23は、無線通信回線、有線通信回線のいずれであってもよい。無線通信回線の例及び有線通信回線の例は、通信回線11の例として説明した内容と同様である。また、無線通信回線と有線通信回線とを組み合わせた通信回線であってもよいことも同様である。例えば、サーバ装置15がインターネットに接続されたサーバ装置である場合、通信装置100と基地局装置との間は4Gや5Gの無線通信方式、基地局装置とサーバ装置15との間は光回線からなる有線通信方式、を用いることができる。
本実施形態では、例えば通信回線21を5G、通信回線22をLTE、通信回線23をWi-Fiとすることができる。本実施形態では、複数の通信回線は3本の例を挙げているが、2つ又は4つ以上でもよい。また、複数の通信回線の全部又は一部は同一の通信方式であってもよい。
なお、宛先端末装置20が複数の通信回線で接続可能である場合は、送信部107は読み出したパケットを、サーバ装置15を介することなく直接宛先端末装置20に送信してもよい。
サーバ装置15は、通信装置100から受信したパケットを並べ直し、宛先端末装置20に送信する。パケットの並べ直しは、例えば受信したパケットのパケット番号の順に従って並べ直すことができる。
通信性能取得部105は、複数の通信回線である通信回線21、通信回線22、及び通信回線23のそれぞれの「通信性能」を取得する。
ここで、「通信性能」とは、通信回線が有する通信の性能をいい、通信回線自体に起因する場合の他、通信回線での通信を実現するために用いる各種装置に起因する場合も含む。
本実施形態では、通信性能として、通信で用いることができる帯域である可用帯域、送信から受信に要した時間である回線遅延を取得する。この他、通信性能として、通信速度(ビットレート)や往復遅延時間(RTT(Round Trip Time))を用いるようにしてもよい。
これらの通信性能の取得方法は、公知の技術を用いることができる。
送信制御部106は、バッファ104に格納された各チャンクについて、複数の通信回線のうちどの通信回線からチャンクに属する複数のパケットのうちどれだけのパケットを送信するかを決定する。本実施形態では、通信性能取得部105で取得した通信性能に基づき、チャンク毎に、チャンクに属する複数のパケットのサーバ装置15又は宛先端末装置20(いずれかが「第2の装置」に相当。)への「到達時刻が最も早くなるように」、複数のパケットのそれぞれを通信回線21、通信回線22、及び通信回線23のいずれかに割当てる。
ここで、「到達時刻が最も早くなるように」とは、時刻を基準として到達時刻が最も早くなる場合はもちろん、送信完了や受信完了までの時間が最も短くなるようにした結果、到達時刻が最も早くなる場合も含む。
送信制御部106で実行される具体的なパケットの通信回線への割当て方法については後述する。
なお、送信制御部106での割当てに際し、通信性能に加えて、送信対象となっているチャンクの未送信データ量、各通信回線で送信中又は送信予定であり「第2の装置」への到達が完了していないデータ量であるインフライト(inflight)データ量の少なくとも1つを用いてもよい。これらの量は、パケット情報保存部103に保存されているパケット情報に基づき求めることができる。
(2)本実施形態の通信装置100のパケット識別部102の詳細
パケット識別部102で実行される具体的なチャンク識別方法、及びチャンク番号の付与方法の例を、図3~図5を用いて説明する。
(a)パケットの受信間隔に基づきチャンクを識別する例
図3を用いて、パケットの受信間隔に基づきチャンクを識別する例を説明する。
パケット識別部102は、受信部101で受信するパケットの受信間隔に基づき、チャンクを識別する。
例えば、送信元端末装置10の映像伝送アプリケーションで画像を圧縮してフレームを送信する場合、図3のようにフレーム毎に単数又は複数個のパケットに分割して送信する。フレームレートが30FPS(Frames per second)であれば各フレームは1/30s=33ms毎に複数のパケットに分割されて送信される。1つのフレーム中のパケットは連続してバースト的に送信されるので、パケット間の送信間隔は極めて小さい。これに対して、フレームをまたがる場合は、先のフレームの最後のパケットが送信されてから次のフレームの最初のパケットが送信されるまでの時間(Δx)はある程度の送信間隔が生じる。Iフレームのデータ量はPフレームやBフレームのデータ量よりも大きいので、Iフレームと他のフレームとの送信間隔やIフレームが連続する場合の送信間隔はより小さくなる。
そこで、Iフレームが連続する場合にも正しい判定ができるようにするため、例えば5msを基準として、Δxが5msより小さければ同一フレームに属するパケット、Δxが5ms以上であれば異なるフレームに属するパケットであると判定できる。そして、各フレームを1つのチャンクと識別し、フレーム毎にチャンク番号をインクリメントして付与する。図3の例では、受信順にチャンク番号として#1、#2、・・・#mを付与している。このチャンク番号により、パケットがどのチャンクに属するかを識別することができる。
ここでは、H.264/MPEG4 AVC規格を用いた動画圧縮を例として挙げたが、静止画圧縮(例えばJPEG規格)を用いる場合も同様である。
(b)パケットのIPヘッダに基づきチャンクを識別する例
図4を用いて、パケットのIPヘッダに基づきチャンクを識別する例を説明する。
パケット識別部102は、パケットのIPヘッダに含まれる識別子に基づき、チャンクを識別する。
図4で示すIPヘッダには、パケットに関する情報が格納されている。ここでは、IPヘッダの識別子に着目する。例えば送信元端末装置10がサイズの大きなフレームデータを1パケットで送信しようとした場合、NICでフラグメントが発生しフレームデータは複数のパケットに分割される。このとき、同じフレームに由来する各パケットには同じ内容の識別子が付与されることになる。
すなわち、送信元端末装置10で送信されるフレームをチャンクと定義した場合、IPヘッダの識別子に基づけば、パケットがどのチャンクに属しているかを識別することができる。本実施形態では、IPヘッダの識別子毎にチャンク番号をインクリメントして付与している。
(c)パケットのペイロードデータに基づきチャンクを識別する例
図5を用いて、パケットのTCP/UDPペイロードに基づきチャンクを識別する例を説明する。
パケット識別部102は、パケットのTCP/UDPペイロードに含まれる識別情報に基づき、チャンクを識別する。
大きなサイズのデータを送信元アプリケーションで小サイズのパケットにパケタイズした場合、送信元アプリケーションはTCP/UDPペイロードの先頭に、分割前のデータを示す識別情報を格納する。
すなわち、送信元端末装置10で送信されるデータをチャンクと定義した場合、TCP/UDPペイロードの識別情報に基づけば、パケットがどのチャンクに属しているかを識別することができる。本実施形態では、TCP/UDPペイロードの識別情報毎にチャンク番号をインクリメントして付与している。
(d)その他のチャンクを識別する例
これらの他、バッファ104に格納された際のタイムスタンプからチャンクを識別するようにしてもよい。
あるいは、動画圧縮の場合であって、Iフレーム、Pフレーム、Bフレームの情報がパケットに記録されている場合は、これらの情報に基づきチャンクを識別するようにしてもよい。
(3)本実施形態の通信装置100の送信制御部106の詳細
送信制御部106で実行される具体的なパケットの通信回線への割当方法の例を図6~8を用いて説明する。
(a)従来例との比較
図6を用いて、従来例の割当方法の概要と本実施形態の送信制御部106の割当方法の概要とを比較して説明する。
図6(a)は、従来のパケットの割当方法である。なお、従来はチャンクの視点でもってパケットの通信回線への割当ては行っていないが、本実施形態との比較で本実施形態における効果を説明するために、従来の例においてもチャンクという語を使用している。
バッファ104には、チャンク1(図面においてはC1:以下同様)及びチャンク2に対応するパケットが既に格納されている。これを、通信回線L1及び通信回線L2に振り分けて送信する場合を想定する。なお、単純化のため、図6では通信回線L1と通信回線L2の可用帯域や回線遅延は同じとしている。
図6(a)のように、パケットが属するチャンクの区別をすることなく通信回線L1及び通信回線L2に振り分けて送信した場合、チャンク1に属するパケットの到達完了時刻とチャンク2に属するパケットの到達完了時刻は共にt6である。すなわち、宛先端末装置20でチャンク1のデータ及びチャンク2のデータを宛先アプリケーションで利用することができるのはt6以降である。
図6(b)は、本実施形態のパケットの割当方法である。送信制御部106は、チャンク毎に、それぞれのチャンクに属する複数の前記パケットの宛先端末装置20への到達時刻が最も早くなるように、複数のパケットのそれぞれを通信回線L1及び通信回線L2のいずれかに割当てている。図6(b)では、チャンク1に属するパケットを3パケットずつ、通信回線L1と通信回線L2に割当てている。また、チャンク2に属するパケットを2パケットずつ、通信回線L1と通信回線L2に割当てている。この結果、チャンク2に属するパケットの到達完了時刻はt6であり、図6(a)の従来例と変わらないが、チャンク1に属するパケットの到達時刻はt4であり、図6(a)の従来例よりも早く到達している。すなわち、宛先端末装置20でチャンク1のデータを宛先アプリケーションで利用することができるのはt4以降であり、従来例よりも早く利用することができる。これは、特にリアルタイム性を有するデータに対して有効である。つまり、宛先アプリケーションが、リアルタイム性を重視するアプリケーションである場合に有効である。
このように、本実施形態によれば、チャンク毎に、チャンクに属する複数のパケットの到達時刻が最も早くなるように各通信回線に割当てるので、チャンク単位で到達完了時刻を最適にすることができる。
なお、図6(a)の割当方法に変えて、バッファ104からラウンドロビンでパケットを読み出して割当てる従来方法もあるが、単純なラウンドロビンでは各回線の通信性能が異なる場合、各チャンクの伝達完了までに要する時間は、低速な回線(例えば可用帯域が狭い回線や回線遅延が大きい回線)の性能に律速されてしまう。また、例えばバッファ104の残りサイズと可用帯域と回線遅延に基づいて重み付きラウンドロビンによるパケット読み出しを実施した場合でも、バッファ104に格納されている全てのパケットを最短時間で送信することができるにすぎず、必ずしもチャンク毎に最短時間で送信することができるわけではない。かかる不都合は、単純ラウンドロビンの場合と同様に、各回線の通信性能が異なる場合、特に他の回線と比べ通信性能が著しく低い回線が存在する場合に顕著に現れる。
(b)本実施形態の具体例1
図7を用いて、本実施形態の送信制御部106の割当方法の一例を説明する。
図7は、3つの通信回線、すなわち通信回線L1、通信回線L2、及び通信回線L3を用いてパケットを送信する場合である。図7では単純化のため、各通信回線の通信性能については、通信回線L1の可用帯域が100Mbps、通信回線L2の可用帯域が50Mbps、通信回線L3の可用帯域が10Mbpsであり、各通信回線の回線遅延が通信回線間で同じである場合を例に説明する。
送信制御部106は、まずチャンク1に属する6つパケットの宛先端末装置20への到達時刻が最も早くなるように、複数のパケットのそれぞれをいずれかの通信回線に割当てる。各通信回線の可用帯域の差又は可用帯域の比を考慮すると、通信回線L1に4つのパケット、通信回線L2に2つのパケットを割当てることにより、チャンク1に属するパケットの宛先端末装置20への到達時刻がt5となり、到達時刻が最も早くなる。なお、通信回線L3にはチャンク1に属するパケットは割当てていない。これは、通信回線L3の可用帯域が小さいため、仮に通信回線L3にパケットを割当てた場合、チャンク1に属するパケットの宛先端末装置20への到達時刻がt11となり、到達時刻が最も早くならないからである。
次に、送信制御部106は、チャンク2に属する3つのパケットの宛先端末装置20への到達時刻が最も早くなるように、複数のパケットのそれぞれをいずれかの通信回線に割当てる。既に割当て済のチャンク1に属するパケットの送達に要する時間、及び各通信回線の可用帯域の差又は可用帯域の比を考慮すると、通信回線L1に2つのパケット、通信回線L2に1つのパケットを割当てることにより、チャンク2に属するパケットの宛先端末装置20への到達時刻がt7となり、到達時刻が最も早くなる。ここでも、通信回線L3にはチャンク2に属するパケットは割当てていない。これは、通信回線L3の可用帯域が小さいため、仮に通信回線L3にパケットを割当てた場合、チャンク1に属するパケットの宛先端末装置20への到達時刻がt11となり、到達時刻が最も早くならないからである。
さらに、送信制御部106は、チャンク3に属する7つのパケットの宛先端末装置20への到達時刻が最も早くなるように、複数のパケットのそれぞれをいずれかの通信回線に割当てる。既に割当て済のチャンク1及びチャンク2に属するパケットの送達に要する時間、及び各通信回線の可用帯域の差又は可用帯域の比を考慮すると、通信回線L1に4つのパケット、通信回線L2に2つのパケット、通信回線L3に1つのパケットを割当てることにより、チャンク3に属するパケットの宛先端末装置20への到達時刻がt11となり、到達時刻が最も早くなる。
なお、本実施形態では、チャンク毎に各通信回線から送信するデータサイズを定めれば足り、各パケットの送信に利用する通信回線までを特定する必要はない。バッファに格納されているパケットが固定長パケットの場合、チャンク毎に各回線から送信するパケット数を定めることと等しい。したがって、図7のように、チャンク1に属するパケットをバッファから取り出した順に、L1、L1、L1、L1、L2、L2と同一の回線から連続的に送信してもよいし、重み付きラウンドロビンのようにL1、L1、L2、L1、L1、L2や、L2、L1、L1、L2、L1、L1の順に各回線から交互に送信するようにしてもよい。
可変長のパケットの場合は、各パケットのサイズを考慮して各通信回線に割当てる。
また、チャンク3に属するパケットのうち、通信回線L3に割当てられたパケットは、チャンク1及びチャンク2のパケットの送信中から送信を開始することが望ましい。よって、送信部107は、先に「第2の装置」に到達完了すべきチャンクであるチャンク1及びチャンク2(「先行チャンク」に相当)のパケット(「先行パケット」に相当)が割当てられておらず、かつ、チャンク1及びチャンク2より後に「第2の装置」に到達完了すべきチャンクであるチャンク3(「後続チャンク」に相当)のパケット(「後続パケット」に相当)が割当てられている通信回線L3からチャンク3のパケットを送信する場合、バッファ104の先頭からオフセットした位置からパケットを読み出すようにしてもよい。図7では、チャンク3のうち最もバッファの先頭から遠い位置にあるパケットを読み出している。
さらに、図8のように、バッファ104に格納されたパケットが必ずしもチャンク順に並んでいない場合は、送信制御部106は、パケット情報保存部103のチャンク番号を参照して、チャンク番号順にバッファ104から読み出すよう指示してもよい。この場合も、バッファ104はFIFO(First In First Out)ではなく、適宜オフセットを設定して所望の位置から読み出すようにすればよい。
(c)本実施形態の具体例2
本実施形態の具体例1では、通信性能として、各通信回線の可用帯域及び各通信回線の遅延時間である回線遅延を用いたが、その他の通信性能を用いるようにしてもよい。例えば、各通信回線における通信速度(ビットレート)を用いてもよい。また、通信制御部106は、通信性能に加えて、送信対象となっているチャンクの未送信データ量、インフライトデータ量の少なくとも1つを用いてもよい。これらのパラメータを用いた場合の送信制御部106の割当方法の例を説明する。
まず、通信制御部106は、複数の通信回線毎に、単一回線で送信対象チャンクのデータの送信を完了するために要する時間を、各通信回線の可用帯域、各通信回線の回線遅延、送信対象となっているチャンクの未送信データ量、及び各通信回線のインフライトデータ量を用いて算出する。ここで、単一回線で送信対象チャンクのデータの送信を完了するために要する時間が短い順に、高速な回線であると評価する。
次に、通信制御部106は、高速な通信回線から順にチャンクのデータの送信に使用する通信回線の数を増やした場合において、チャンクのデータの送信を完了するために要する時間を、各通信回線の可用帯域、各通信回線の回線遅延、送信対象となっているチャンクの未送信データ量、及び各通信回線のインフライトデータ量を用いて算出し、送信を完了するまでに要する時間が最短になるときの時間である最短時間(shortest)及び最短時間を達成するときに使用する使用回線数(usage)を算出する。
そして、通信制御部106は、高速な通信回線から順に使用回線数(usage)分の各通信回線について、最短時間(shortest)、各通信回線の可用帯域、各通信回線の回線遅延、各通信回線のインフライト量に基づいて、各通信回線で送信するデータ量を算出する。なお、使用回線数(usage)に含まれない通信回線からは、送信対象のチャンクのデータは送信しない。
通信制御部106は、この演算を、チャンク毎に繰り返す。ただし、後続チャンクにおける演算では、先行チャンクに対する各通信回線からの送信データ量算出結果に基づき、各通信回線への割当てが決定しているが未だ送信されていないデータ量についても、インフライト量に加味して演算を行う。そして、先行チャンクに対する各通信回線からの送信データ量算出時に使用回線数(usage)に含まれなかった、つまり先行チャンクのデータ送信に利用しなかった通信回線を後続チャンクのデータ送信に用いる場合は、送信部107は、後続チャンクに属する後続パケットを、バッファ104の先頭からオフセットした位置から読み出す。
(d)小括
以上、送信制御部106の割当方法を説明した。
回線遅延は、片道遅延時間又はRTTを用いることができる。また、確認応答が全ての通信回線を用いて送信される場合は、対象となる通信回線における上り通信に要する遅延時間に、下り通信に要する遅延時間が最も短い通信回線の下り通信遅延時間を加えた値を回線遅延としてもよい。
また、送信部107からのパケットの送信においては、BBR等の輻輳制御や、フロー制御を適宜行ってもよい。
なお、具体例1に記載の制御方法の一部を具体例2に適用してもよい。
(4)本実施形態の通信装置100の動作
図9を用いて本実施形態の通信装置100の動作について説明する。
なお、以下の動作は、通信装置100における通信方法を示すだけでなく、通信装置100で実行される通信プログラムの処理手順を示すものである。そして、これらの処理は、図9で示した順序には限定されない。すなわち、あるステップでその前段のステップの結果を利用する関係にある等の制約がない限り、順序を入れ替えてもよい。
以上、本実施形態だけでなく、他の実施形態においても同様である。
通信装置100の受信部101は、送信元端末装置10(「第1の装置」に相当)から、送信元端末装置10で生成された「パケット」を受信する(S101)。
通信装置100のパケット識別部102は、受信部101で受信したパケットが属するチャンクを識別する(S102)。
通信装置100のバッファ104は、受信部101で受信したパケットを格納する(S103)。
通信装置100の通信性能取得部105は、複数の前記通信回線のそれぞれの通信性能を取得する(S104)。
通信装置100の送信制御部106は、通信性能取得部105で取得した通信性能に基づき、チャンク毎に、チャンクに属する複数のパケットの全てが第2の装置へ到達するまでに要する時間が最も短くなるように、複数のパケットのそれぞれを複数の通信回線のいずれかに割当てる(S105)。
通信装置100の送信部107は、バッファ104からパケットを読み出し、送信制御部106の割当てに基づき、複数の通信回線のいずれかを用いて宛先端末装置20(「第2の装置」に相当)に送信する(S106)。
以上、本実施形態によれば、チャンク毎に、当該チャンクに属する複数のパケットのそれぞれを複数の通信回線のいずれかに割当てて送信するので、宛先端末装置20やサーバ装置15の側でデータをより早く利用することができるような効率的なデータ送信を行うことができる。
2.実施形態1の変形例
(1)変形例1
実施形態1では、チャンク毎に、チャンクに属する複数のパケットを通信回線に割当てている。もっとも、バッファ104のオーバーフロー等によりバッファ104にチャンクに属する全てのパケットが格納されない場合もある。そこで、本変形例では、チャンクを単位としてパケットのバッファへの格納及びバッファからの破棄を制御している。
図10を用いて、実施形態1の変形例1の通信装置110の構成を説明する。通信装置110は、図1に示す実施形態1の通信装置100の構成に加え、バッファ制御部111を有する。
なお、実施形態1と同様の機能の場合は図1と同じ図番を用い、実施形態1の説明を引用する。
バッファ制御部111は、パケットのバッファ104への格納や、パケットのバッファ104からの破棄を制御する。具体的には、バッファ制御部111は、バッファ104のオーバーフロー等が発生する場合において、パケット情報保存部103に保存されたパケット情報に基づき、古いチャンクに属する全パケットを削除したり、オーバーフロー発生時にチャンクに属する全てのパケットのうち一部しか格納されていない当該一部のパケットをバッファ104から削除したりすることで、「チャンクを単位として」、パケットの格納及び破棄を制御する。
ここで、「チャンクを単位として」とは、バッファへの格納やバッファからの破棄が結果としてチャンク単位であればよく、バッファへ格納する時に同一のチャンクに属する全てのパケットを同時に格納する必要はなく、またバッファから破棄するときに同一チャンクに属する全てのパケットを同時に破棄する必要はない。
以上、本実施形態によれば、バッファに格納されるパケットはチャンク単位で格納及び破棄するので、パケットが欠損したチャンクに属するパケットを送信することを防ぐことができ、ひいては効率的なデータ送信を行うことができる。
3.実施形態2
実施形態1では、接続されている送信元端末装置10や宛先端末装置20の区別、あるいはそれぞれの装置に搭載されている送信元アプリケーションや宛先アプリケーションの区別をすることなくチャンクの識別を行った。しかし、送信元端末装置10や宛先端末装置20が複数台接続されているような場合は、同じソフトウェアを使用している場合でもそれぞれのチャンク同士は異なるチャンクとして扱う必要がある。また、送信元端末装置10や宛先端末装置20で複数の送信元アプリケーションや複数の宛先アプリケーションが実行されている場合も、アプリケーション毎にチャンクを区別する必要がある。
そこで、本実施形態では、接続されている送信元端末装置10や宛先端末装置20が複数台の場合、あるいはそれぞれの装置に搭載されている送信元アプリケーションや宛先アプリケーションが複数の場合について、図11を用いて説明する。
なお、実施形態1と同様の機能の場合は図1と同じ図番を用い、実施形態1の説明を引用する。
図11を用いて、実施形態2の通信装置200の構成を説明する。通信装置200は、受信部101、パケット識別部202、パケット情報保存部203、バッファ104、通信性能取得部105、送信制御部206、送信部107を有する。
通信装置200には、複数の送信元端末装置である送信元端末装置A及び送信元端末装置Bが接続されている。また、複数の宛先端末装置である宛先端末装置P及び宛先端末装置Qが接続されている。
送信元端末装置Aには、送信元アプリケーションaが搭載され実行されている。送信元端末装置Bには、送信元アプリケーションb及び送信元アプリケーションcが搭載され実行されている。宛先端末装置Pには、宛先アプリケーションp及び宛先アプリケーションqが搭載され実行されている。宛先端末装置Qには、宛先アプリケーションrが搭載され実行されている。
なお、送信元端末装置や宛先端末装置は3台以上接続されていてもよい。また、送信元アプリケーションや宛先アプリケーションも一つの装置に3つ以上搭載され実行されていてもよい。
パケット識別部202は、実施形態1で説明したチャンクを識別することに加え、さらにパケットの送信元又は/及び宛先に基づき、パケットが属する通信フローを識別する。
通信フローは、例えば送信元を特定する情報と宛先を特定する情報で示すことができる。例えば、送信元端末装置Aの送信元アプリケーションaから宛先端末装置Pの宛先アプリケーションqにパケットが送信される場合、通信フローはAaPqと表現することができる。
通信装置200に接続されている送信元端末装置又は宛先端末装置のうちいずれかが1台の場合は、送信元端末装置又は宛先端末装置を特定する情報は省略することができる。例えば、通信装置200に接続されている送信元端末装置が送信元端末装置Bのみであれば、送信元端末装置Bの送信元アプリケーションbから宛先端末装置Pの宛先アプリケーションqにパケットが送信される場合、通信フローはbPqと表現することができる。
送信元端末装置に搭載されている送信元アプリケーションや宛先端末装置に搭載されている宛先アプリケーションのうちいずれかが1つの場合は、送信元アプリケーション又は宛先アプリケーションを特定する情報は省略することができる。例えば、通信装置200に接続されている送信元端末装置が送信元端末装置Aのみであり、送信端末装置Aに搭載されている送信元アプリケーションが送信元アプリケーションaのみであれば、送信元端末装置Aの送信元アプリケーションaから宛先端末装置Pの宛先アプリケーションqにパケットが送信される場合、通信フローはPqと表現することができる。
送信元や宛先を特定するためには、IPヘッダやTCP/UDPヘッダに格納された情報を利用することができる。
図4に示す通り、IPヘッダには、送信元アドレスや宛先アドレスが格納されているので、これらに基づき送信元端末装置や宛先端末装置を特定することができる。また、IPヘッダには、プロトコルが格納されているので、これに基づき送信元アプリケーションや宛先アプリケーションが使用するプロトコル情報を特定することができる。
図12に示す通り、TCPヘッダやUDPヘッダには、送信先ポートや宛先ポートが格納されているので、これらに基づき送信元アプリケーションや宛先アプリケーションを特定することができる。
図13は、パケット情報保存部203で保存されているパケット情報を示している。
パケット情報保存部203は、図13に示す通り、実施形態1で説明したパケット情報に加え、通信フロー情報を保存する。通信フローの表現方法は上述の通りである。
パケット情報保存部203は、図13に示す情報に加え、さらにパケットの受信間隔に基づいて各フローのチャンクを識別する場合のために、フロー毎にパケットの最終受信時刻を保存するようにしてもよい。
送信制御部206は、バッファ104に格納されたパケットを、複数の通信回線のうちどの通信回線を用いて送信するかを決定する。本実施形態では、通信性能取得部105で取得した通信性能に基づき、通信フローかつチャンク毎に、チャンクに属する複数のパケットのサーバ装置15又は宛先端末装置20(いずれかが「第2の装置」に相当。)への「到達時刻が最も早くなるように」、複数のパケットのそれぞれを通信回線21、通信回線22、及び通信回線23のいずれかに割当てる。例えば、図13において、通信フローAaPqと通信フローBbQrは、同じチャンク番号#1であっても異なるチャンクとして、それぞれのチャンクに属するパケットについて通信回線への割当て量を決定する。
以上、本実施形態によれば、実施形態1の構成に加え、通信フロー毎かつチャンク毎に当該チャンクに属する複数のパケットのそれぞれを複数の通信回線のいずれかに割当てて送信するので、宛先端末装置20やサーバ装置15の側でデータをより早く利用することができるような効率的なデータ送信を行うことができる。
4.その他の実施形態
実施形態1の通信装置100、実施形態1の変形例の通信装置110、及び実施形態2の通信装置200の送信部107は、パケットを送信する際、パケットに含めて、又はパケットとは別に、当該パケットが属するチャンクを特定するチャンク識別情報を送信する。例えば、図2のチャンク番号や、図13のチャンク番号及び通信フロー情報を送信する。
チャンク識別情報を送信することにより、サーバ装置15や宛先端末装置20の側で、受信したパケットが属するチャンクを特定することができる。特に、サーバ装置15や宛先端末装置20の側で、新たなチャンクが到達したことを検出することができる。
実施形態1の通信装置100、実施形態1の変形例の通信装置110、及び実施形態2の通信装置200の送信部107は、パケットを送信する際、パケットに含めて、又はパケットとは別に、当該パケットが属するチャンクのサイズを示すチャンクサイズ情報を送信する。例えば、図2や図13のチャンクサイズを送信する。
チャンクサイズ情報を送信することにより、サーバ装置15や宛先端末装置20の側で、チャンクに属するパケットが全て受信できたかどうかを検出することができる、また、サーバ装置15や宛先端末装置20の側で、新たなチャンクが到達したことを検出することができる。
なお、特定チャンク識別情報やチャンクサイズ情報に基づき、サーバ装置15や宛先端末装置20の側で、通信装置100等がチャンクに属するパケットを破棄したり送信を中止したりしたことを検出することもできる。
5.送信元端末装置、通信装置、及び宛先端末装置の組み合わせの具体例
送信元端末装置10、通信装置100(110、200)、及び宛先端末装置20の具体的な組み合わせとして、いくつかの例を挙げる。
図14(a)のように、スマートフォンで撮影した動画をWi-Fiでルータに送信し、ルータから4G回線、5G回線、及びDSRCを用いてサーバ装置にアップロードする場合は、スマートフォンが送信元端末装置10(「第1の装置」に相当)、ルータが通信装置100(110、200)、サーバ装置が宛先端末装置20(「第2の装置」に相当)となる。
通信装置100(110、200)は「移動体」に「搭載」されてもよい。
図14(b)のように、車載ネットワークに接続されたECUや各種センサからのデータが通信ECUを介して無線通信方式でデータセンタに送信される場合、ナビECU、車載ECU、及び各種センサが送信元端末装置10(「第1の装置」に相当)、通信ECUが通信装置100(110、200)、データセンタが宛先端末装置20(「第2の装置」に相当)となる。
あるいは、図14(c)のように、車載ネットワークに接続された各種センサからのデータが統合ECUの通信機能を介して無線通信方式でデータセンタに送信される場合、各種センサが送信元端末装置10(「第1の装置」に相当)、統合ECUが通信装置100(110、200)、データセンタが宛先端末装置20(「第2の装置」に相当)となる。
ここで、
「移動体」とは、移動可能な物体をいい、移動速度は任意である。また移動体が停止している場合も当然含む。例えば、自動車、自動二輪車、自転車、歩行者、船舶、航空機、及びこれらに搭載される物を含み、またこれらに限らない。
「搭載」される、とは、移動体に直接固定されている場合の他、移動体に固定されていないが移動体と共に移動する場合も含む。例えば、移動体に乗った人が所持している場合、移動体に載置された積荷に搭載されている場合、が挙げられる。
6.総括
以上、本発明の各実施形態における通信装置等の特徴について説明した。
各実施形態で使用した用語は例示であるので、同義の用語、あるいは同義の機能を含む用語に置き換えてもよい。
実施形態の説明に用いたブロック図は、装置の構成を機能毎に分類及び整理したものである。それぞれの機能を示すブロックは、ハードウェア又はソフトウェアの任意の組み合わせで実現される。また、機能を示したものであることから、かかるブロック図は方法の発明、及び当該方法を実現するプログラムの発明の開示としても把握できるものである。
各実施形態に記載した処理、フロー、及び方法として把握できるブロック、については、一のステップでその前段の他のステップの結果を利用する関係にある等の制約がない限り、順序を入れ替えてもよい。
本発明の通信装置は、特許請求の範囲で特に限定する場合を除き、車両用途でもよいし、車両用途以外の専用又は汎用の通信装置も含むものである。
また、本発明の通信装置の形態の例として、半導体素子、電子回路、通信モジュール、マイクロコンピュータが挙げられる。
半完成品の形態として、電子制御装置(ECU(Electric Control Unit))、システムボードが挙げられる。
完成品の形態として、モバイルルータ、携帯電話、スマートフォン、タブレット、パーソナルコンピュータ(PC)、ワークステーション、サーバが挙げられる。
その他、通信機能を有するデバイス等を含み、例えば、カーナビゲーションシステムが挙げられる。
本発明の通信装置は、各種サービスの提供を目的とするために用いられることが想定される。かかるサービスの提供に伴い、本発明の通信装置が使用され、本発明の通信方法が使用され、又は/及び本発明の通信プログラムが実行されることになる。
加えて、本発明は、各実施形態で説明した構成及び機能を有する専用のハードウェアで実現できるだけでなく、メモリやハードディスク等の記録媒体に記録した本発明を実現するためのプログラム、及びこれを実行可能な専用又は汎用CPU及びメモリ等を有する汎用のハードウェアとの組み合わせとしても実現できる。
本発明の通信装置のためのプログラムであって、専用や汎用のハードウェアの非遷移的実体的記録媒体(例えば、外部記憶装置(ハードディスク、USBメモリ、CD/BD等)、又は内部記憶装置(RAM、ROM等))に格納されるプログラムは、記録媒体を介して、あるいは記録媒体を介さずにサーバから通信回線を経由して、専用又は汎用のハードウェアに提供することもできる。これにより、プログラムのアップグレードを通じて常に最新の機能を提供することができる。
本発明の通信装置は、車載用途にも車載用途以外にも用いることができる。さらに、中継装置にも適用が可能である。
100 通信装置、101 受信部、102 パケット識別部、103 パケット情報保存部、104 バッファ、105 通信性能取得部、106 送信制御部、107 送信部、21・22・23 通信回線、10 送信元端末装置(「第1の装置」に相当)、15 サーバ装置(「第2の装置」に相当)、20 宛先端末装置(「第2の装置」に相当)

Claims (15)

  1. 第1の装置(10)から受信したパケットを複数の通信回線(21、22、23)のいずれかを用いて第2の装置(15、20)に送信する通信装置(100)であって、
    前記第1の装置から前記パケットを受信する受信部(101)と、
    前記パケットが属する、上位レイヤにおけるデータ単位であるチャンクを識別するパケット識別部(102)と、
    前記パケットを格納するバッファ(104)と、
    複数の前記通信回線のそれぞれの通信性能を取得する通信性能取得部(105)と、
    前記通信性能に基づき、前記チャンク毎に、前記チャンクに属する複数の前記パケットの前記第2の装置への到達時刻が最も早くなるように、複数の前記パケットのそれぞれを複数の前記通信回線のいずれかに割当てる送信制御部(106)と、
    前記バッファから前記パケットを読み出し、前記送信制御部における割当てに基づき、複数の前記通信回線のいずれかを用いて前記第2の装置に送信する送信部(107)と、を有する、
    通信装置(100)。
  2. 前記パケット識別部は、前記受信部で受信する前記パケットの受信間隔に基づき、前記チャンクを識別する、
    請求項1記載の通信装置。
  3. 前記チャンクは、動画の圧縮により生成されたフレームである、
    請求項2記載の通信装置。
  4. 前記パケット識別部は、前記パケットのIPヘッダに含まれる識別子に基づき、前記チャンクを識別する、
    請求項1記載の通信装置。
  5. 前記パケット識別部は、前記パケットのTCP/UDPペイロードに含まれる識別情報に基づき、前記チャンクを識別する、
    請求項1記載の通信装置。
  6. 前記送信制御部は、各通信回線の可用帯域、及び各通信回線の遅延時間、の少なくとも1つを用いて割当てを行う、
    請求項1記載の通信装置。
  7. 前記送信制御部は、前記通信性能に加え、送信対象となっている前記チャンクの未送信データ量、及び各通信回線で送信中又は送信予定であり前記第2の装置に到達していないデータ量であるインフライトデータ量、の少なくとも1つを用いて割当てを行う、
    請求項1又は6記載の通信装置。
  8. 前記送信部は、先に前記第2の装置に到達が完了すべきチャンクである先行チャンクの前記パケットである先行パケットが割当てられておらず、かつ、前記先行チャンクの後に前記第2の装置に到達が完了すべきチャンクである後続チャンクの前記パケットである後続パケットが割当てられている前記通信回線で前記後続パケットを送信する場合、前記バッファの先頭からオフセットした位置から前記後続パケットを読み出す、
    請求項1記載の通信装置。
  9. さらに、前記チャンクを単位として、前記パケットの前記バッファへの格納及び前記パケットの前記バッファからの破棄を制御するバッファ制御部(111)、を有する、
    請求項1記載の通信装置(110)。
  10. 前記パケット識別部は、さらに前記パケットの送信元又は/及び宛先に基づき、前記パケットが属する通信フローを識別し、
    前記送信制御部は、前記通信フロー毎かつ前記チャンク毎に、前記チャンクに属する複数の前記パケットの前記第2の装置への到達時刻が最も早くなるように、複数の前記パケットのそれぞれを複数の前記通信回線のいずれかに割当てる、
    請求項1記載の通信装置(200)。
  11. 前記送信部は、前記パケットが属する前記チャンクを特定するチャンク識別情報を送信する、
    請求項1、9、10のいずれかに記載の通信装置。
  12. 前記送信部は、前記パケットが属する前記チャンクのサイズを示すチャンクサイズ情報を送信する、
    請求項1、9、10のいずれかに記載の通信装置。
  13. 当該通信装置は、移動体に搭載されている、
    請求項1~12記載の通信装置。
  14. 第1の装置(10)から受信したパケットを複数の通信回線(21、22、23)のいずれかを用いて第2の装置(15、20)に送信する、通信装置(100)で実行する通信方法であって、
    前記第1の装置から前記パケットを受信し(S101)、
    前記パケットが属する、上位レイヤにおけるデータ単位であるチャンクを識別し(S102)、
    前記パケットをバッファに格納し(S103)、
    複数の前記通信回線のそれぞれの通信性能を取得し(S104)、
    前記通信性能に基づき、前記チャンク毎に、前記チャンクに属する複数の前記パケットの前記第2の装置への到達時刻が最も早くなるように、複数の前記パケットのそれぞれを複数の前記通信回線のいずれかに割当て(S105)、
    前記バッファから前記パケットを読み出し、前記割当てに基づき、複数の前記通信回線のいずれかを用いて前記第2の装置に送信する(S106)、
    通信方法。
  15. 第1の装置(10)から受信したパケットを複数の通信回線(21、22、23)のいずれかを用いて第2の装置(15、20)に送信する、通信装置(100)で実行可能な通信プログラムであって、
    前記第1の装置から前記パケットを受信し(S101)、
    前記パケットが属する、上位レイヤにおけるデータ単位であるチャンクを識別し(S102)、
    前記パケットをバッファに格納し(S103)、
    複数の前記通信回線のそれぞれの通信性能を取得し(S104)、
    前記通信性能に基づき、前記チャンク毎に、前記チャンクに属する複数の前記パケットの前記第2の装置への到達時刻が最も早くなるように、複数の前記パケットのそれぞれを複数の前記通信回線のいずれかに割当て(S105)、
    前記バッファから前記パケットを読み出し、前記割当てに基づき、複数の前記通信回線のいずれかを用いて前記第2の装置に送信する(S106)、
    通信プログラム。
JP2022015901A 2022-02-03 2022-02-03 通信装置、通信方法、及び通信プログラム Pending JP2023113489A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2022015901A JP2023113489A (ja) 2022-02-03 2022-02-03 通信装置、通信方法、及び通信プログラム
PCT/JP2022/042853 WO2023149052A1 (ja) 2022-02-03 2022-11-18 通信装置、通信方法、及び通信プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022015901A JP2023113489A (ja) 2022-02-03 2022-02-03 通信装置、通信方法、及び通信プログラム

Publications (1)

Publication Number Publication Date
JP2023113489A true JP2023113489A (ja) 2023-08-16

Family

ID=87552078

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022015901A Pending JP2023113489A (ja) 2022-02-03 2022-02-03 通信装置、通信方法、及び通信プログラム

Country Status (2)

Country Link
JP (1) JP2023113489A (ja)
WO (1) WO2023149052A1 (ja)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6242089B2 (ja) * 2013-06-11 2017-12-06 キヤノン株式会社 送信装置、送信方法及びプログラム
US11146991B2 (en) * 2017-06-29 2021-10-12 Sony Corporation Communication system and transmission apparatus

Also Published As

Publication number Publication date
WO2023149052A1 (ja) 2023-08-10

Similar Documents

Publication Publication Date Title
CN109314662B (zh) 数据传输方法及装置
US10986029B2 (en) Device, system, and method of data transport with selective utilization of a single link or multiple links
CN108259383B (zh) 一种数据的传输方法和网络设备
EP2057813B1 (en) Inclusion of quality of service indication in header compression channel
JP7211765B2 (ja) パケット転送装置、方法、及びプログラム
US9973438B2 (en) Downlink flow management
WO2020026983A1 (ja) パケット転送装置、方法、及びプログラム
EP2817931B1 (en) Sub flow based queueing management
WO2023149052A1 (ja) 通信装置、通信方法、及び通信プログラム
EP3086520B1 (en) Large receive offload allocation method and network device
CN111740919B (zh) 一种报负载分担方法及网络设备
US20230019547A1 (en) Uplink data transmission scheduling
US20180183719A1 (en) Method and device for data transmission
WO2023149051A1 (ja) 通信装置、通信方法、及び通信プログラム
CN114531399B (zh) 一种内存阻塞平衡方法、装置、电子设备和存储介质
KR101915885B1 (ko) 실시간 비디오 스트리밍을 위한 우선 순위 대기열을 갖는 효율적인 mac 레이어 패킷 단편화 방법 및 시스템
CN109510779B (zh) 车载装置、信息处理单元、信息处理方法以及存储介质
CN114640639B (zh) 帧传输方法和电子设备
Shin et al. An efficient MAC layer packet fragmentation scheme with priority queuing for real-time video streaming
CN112585914B (zh) 报文转发方法、装置以及电子设备
US20230216805A1 (en) Method of Managing Data Transmission for Ensuring Per-Flow Fair Bandwidth Sharing
CN114363434A (zh) 一种视频帧发送方法和网络设备
CN116233024A (zh) 数据包确定方法、装置及存储介质
WO2008070338A2 (en) Method and system for data traffic integration using dynamic data packet fragmentation

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240110