IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社Preferred Networksの特許一覧

(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024022698
(43)【公開日】2024-02-21
(54)【発明の名称】通信装置及び通信方法
(51)【国際特許分類】
   H04L 13/00 20060101AFI20240214BHJP
   H04L 1/22 20060101ALI20240214BHJP
   H04W 28/04 20090101ALI20240214BHJP
【FI】
H04L13/00 307Z
H04L1/22
H04W28/04
【審査請求】未請求
【請求項の数】21
【出願形態】OL
(21)【出願番号】P 2020182967
(22)【出願日】2020-10-30
(71)【出願人】
【識別番号】515130201
【氏名又は名称】株式会社Preferred Networks
(74)【代理人】
【識別番号】100091487
【弁理士】
【氏名又は名称】中村 行孝
(74)【代理人】
【識別番号】100105153
【弁理士】
【氏名又は名称】朝倉 悟
(74)【代理人】
【識別番号】100118876
【弁理士】
【氏名又は名称】鈴木 順生
(72)【発明者】
【氏名】浅井 大史
【テーマコード(参考)】
5K014
5K034
5K067
【Fターム(参考)】
5K014DA06
5K034AA06
5K034DD01
5K034HH09
5K034KK28
5K034MM01
5K067EE02
5K067EE06
5K067EE10
5K067HH26
(57)【要約】      (修正有)
【課題】通信の品質の低下を抑制する通信装置及び通信方法を提供する。
【解決手段】送信装置は、第1データ(TCP)を送信し、第2データ(UDP)を送信する送信処理部と、第1データの送信状況(帯域使用状況)に応じて、送信処理部から送信される第2データを冗長化する制御部とを備える。
【選択図】図2
【特許請求の範囲】
【請求項1】
第1データを送信し、第2データを送信する送信処理部と、
前記第1データの送信状況に応じて、前記第2データを冗長化する制御部と
を備えた通信装置。
【請求項2】
前記制御部は、前記第1データの送信頻度に応じて、前記第2データを冗長化する
請求項1に記載の通信装置。
【請求項3】
前記制御部は、前記第1データの送信頻度が高いほど、前記第2データの冗長度を高くする
請求項2に記載の通信装置。
【請求項4】
前記制御部は、前記第1データの送信の開始を検知した場合に、前記第2データを冗長化する
請求項1~3のいずれか一項に記載の通信装置。
【請求項5】
前記送信処理部は、前記第1データを、輻輳制御アルゴリズムを有する通信プトロコルに基づき送信する
請求項1~4のいずれか一項に記載の通信装置。
【請求項6】
前記制御部は、前記第1データを送信可能な個数を定めた輻輳ウィンドウの値に基づき前記第2データを冗長化する
請求項5に記載の通信装置。
【請求項7】
前記制御部は、前記第2データを繰り返し送信する回数を増やすことにより前記第2データを冗長化する
請求項1~6のいずれか一項に記載の通信装置。
【請求項8】
前記送信処理部は、前記第2データを符号化し、符号化した前記第2データを送信し、
前記制御部は、前記第2データの符号化率を小さくすることにより前記第2データを冗長化する
請求項1~6のいずれか一項に記載の通信装置。
【請求項9】
前記送信処理部は、前記第1データを送信する第1送信部と、前記第2データを送信する第2送信部とを含む
請求項1~8のいずれか一項に記載の通信装置。
【請求項10】
第1データを受信し、第2データを受信する受信処理部と、
前記第1データの受信状況に基づき、前記第2データを冗長化する制御情報を送信する制御部と
を備えた通信装置。
【請求項11】
前記受信処理部は、前記制御情報に応じて冗長化された第2データを受信し、前記冗長化された第2データに基づき、前記第2データを復元する
請求項10に記載の通信装置。
【請求項12】
前記制御部は、前記第1データの受信頻度に応じて、前記第2データを冗長化する前記制御情報を送信する
請求項10又は11に記載の通信装置。
【請求項13】
前記受信処理部は、前記第1データを、輻輳制御アルゴリズムを有する通信プロトコルに基づき受信し、
前記制御部は、前記通信プロトコルによる通信が開始されたことを検知した場合に、前記制御情報を送信する
請求項10~12のいずれか一項に記載の通信装置。
【請求項14】
第1装置宛の第1データを受信し、第2装置宛の第2データを受信する第1受信処理部と、
前記第1データを前記第1装置宛に送信し、前記第2データを前記第2装置宛に送信する第1送信処理部と、
前記第1データの受信状況に基づき、前記第2データを冗長化する制御情報を前記第2データの送信元の第3装置宛に送信する、第2送信処理部と、
通信装置。
【請求項15】
前記第2データに応答するメッセージを受信する第2受信処理部を備え、
前記第2送信処理部は、前記制御情報と前記メッセージとを含む第3データを前記第3装置宛に送信する
請求項14に記載の通信装置。
【請求項16】
第1装置宛の第1データを受信し、第2装置宛の第2データを受信する受信処理部と、
前記第1データを前記第1装置宛に送信し、前記第2データを前記第2装置宛に送信する送信処理部と、を備え、
前記送信処理部は、前記第1データの受信状況に基づき、前記第2装置に前記第2データの送信元の第3装置から送信される前記第2データの冗長化を要求する要求情報を送信する
通信装置。
【請求項17】
前記送信処理部は、前記要求情報と前記第2データとを含む第3データを前記第2装置宛に送信する
請求項16に記載の通信装置。
【請求項18】
第1データを送信し、第2データを送信し、
前記第1データの送信状況に応じて、前記第2データを冗長化する
通信方法。
【請求項19】
第1データを受信し、第2データを受信し、
前記第1データの受信状況に基づき、前記第2データを冗長化する制御情報を送信する
通信方法。
【請求項20】
第1装置宛の第1データを受信し、第2装置宛の第2データを受信し、
前記第1データを前記第1装置宛に送信し、前記第2データを前記第2装置宛に送信し、
前記第1データの受信状況に基づき、前記第2データを冗長化する制御情報を前記第2データの送信元の第3装置宛に送信する、
通信方法。
【請求項21】
第1装置宛の第1データを受信し、第2装置宛の第2データを受信し、
前記第1データを前記第1装置宛に送信し、前記第2データを前記第2装置宛に送信し、
前記第1データの受信状況に基づき、前記第2装置に前記第2データの送信元の第3装置から送信される前記第2データの冗長化を要求する要求情報を送信する、
通信方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、通信装置及び通信方法に関する。
【背景技術】
【0002】
ネットワークを介して行うパケット交換方式の通信では、TCP(Transmission Control Protocol)が広く用いられている。QUIC(Quick UDP Internet Connections)と呼ばれる新しいプロトコルも広く用いられるようになってきている。TCPやQUICの輻輳制御アルゴリズムは、ネットワークの実効帯域に応じてパケットの送信レートを制御する。実効帯域が小さく、回線の帯域に余裕がある場合は、輻輳ウィンドウを徐々に上昇させて、パケットの送信レートを高くする。ネットワークの実効帯域が回線の帯域に達し、回線の帯域に余裕がなくなると、パケットロスの発生や遅延が増加し、輻輳を検知される。輻輳が検出された場合、輻輳ウィンドウが減少し、パケットの送信レートが下げられる。ロスしたパケットについてはTCPの再送アルゴリズムにより再送を行う。回線の帯域に余裕がなくなると、TCPと並行して行われている他の通信、例えばUDPを用いた映像通信でも、パケットロスが発生する可能性が高くなる。他の通信が優先度の高い通信の場合など、他の通信の品質が低下することを抑制する仕組みが必要である。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】M. Nagy et al., “Congestion Control using FEC for Conversational Multimedia Communication,” ACM MMSys’14, 2014
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明の実施形態は、通信の品質の低下を抑制する通信装置及び通信方法を提供する。
【課題を解決するための手段】
【0005】
本実施形態に係る通信装置は、第1データを送信し、第2データを送信する送信処理部と、前記第1データの送信状況に応じて、前記第2データを冗長化する制御部とを備える。
【0006】
本実施形態に係る通信装置は、第1データを受信し、第2データを受信する受信処理部と、前記第1データの受信状況に基づき、前記第2データを冗長化する制御情報を送信する制御部とを備える。
【0007】
本実施形態に係る通信装置は、第1装置宛の第1データを受信し、第2装置宛の第2データを受信する第1受信処理部と、前記第1データを前記第1装置宛に送信し、前記第2データを前記第2装置宛に送信する第1送信処理部と、前記第1データの受信状況に基づき、前記第2データを冗長化する制御情報を前記第2データの送信元の第3装置宛に送信する、第2送信処理部と、を備える。
【0008】
本実施形態に係る通信装置は、第1装置宛の第1データを受信し、第2装置宛の第2データを受信する受信処理部と、前記第1データを前記第1装置宛に送信し、前記第2データを前記第2装置宛に送信する送信処理部と、を備え、前記送信処理部は、前記第1データの受信状況に基づき、前記第2装置に前記第2データの送信元の第3装置から送信される前記第2データの冗長化を要求する要求情報を送信する。
【図面の簡単な説明】
【0009】
図1】本実施形態に係るデータ通信システムのブロック図。
図2】本実施形態に係る送信装置のブロック図。
図3】DFCPパケットのフォーマット例を示す図。
図4】DFMPパケットのフォーマット例を示す図。
図5】データリンク層パケットのフォーマット例を示す図。
図6】データフロー合成部におけるデータフロー合成の具体例を示す図。
図7】第1実施形態に係る受信装置のブロック図。
図8】冗長化の具体例を示す図。
図9】本実施形態に係る送信装置から送信するパケットの冗長度の制御に関わる動作の一例のフローチャート。
図10】本実施形態の比較例としてパケットを冗長化しない例を示す図。
図11】本実施形態に従って送信部から送信するパケットを冗長化する例を示す図。
図12】DFMPパケットに複数のDFCPパケットを集約した例を示す図。
図13】変形例5に係る受信装置のブロック図。
図14】第2実施形態に係る通信システムのブロック図。
図15】第2実施形態に係る送信装置のブロック図。
図16】第2実施形態に係る送信装置のブロック図。
図17】第2実施形態に係る受信装置のブロック図。
図18】第2実施形態に係る通信シーケンスの一例を示す図。
図19】第2実施形態に係る受信装置の動作の一例のフローチャート。
図20】第3実施形態に係る通信システムのブロック図。
図21】第3実施形態に係る受信装置のブロック図。
図22】第3実施形態に係る受信装置のブロック図。
図23】第3実施形態に係る中継装置のブロック図。
図24】第3実施形態に係る通信シーケンスの一例を示す図。
図25】第3実施形態に係る中継装置の動作の一例のフローチャート。
図26】第4実施形態に係る受信装置のブロック図。
図27】第4実施形態に係る通信シーケンスの一例を示す図。
図28】第4実施形態に係る中継装置の動作の一例のフローチャート。
図29】各実施形態における各装置のハードウェア構成の一例を示すブロック図。
【発明を実施するための形態】
【0010】
以下、図面を参照して、本開示の実施形態について説明する。図面は、本開示の実施形態を一例として模式的に示すものであり、本開示の実施形態は、図面に開示された形態に限定されるものではない。複数の図において同一の要素には同一の符号を付し、説明済みの要素の説明は適宜省略する。
【0011】
(第1実施形態)
図1は、本実施形態に係る通信システムのブロック図である。図1の通信システムは、送信装置10を搭載した複数の移動体Mと、受信装置20とを備える。送信装置10及び受信装置20は、本実施形態に係る通信装置又無線通信装置の一例に相当する。
【0012】
移動体Mは、自動車、ロボット、船舶、ドローン、モバイル端末(スマートフォン、タブレット端末、ノートPC等)、又は電車など、任意の移動体である。本実施形態では送信装置10は移動体に搭載されているが、送信装置10は固定設置された端末又はマシンに搭載されてもよい。本実施形態では移動体Mが自動車である場合を想定する。自動車は、ユーザの運転を支援する機能を有する自動車、及び自律的に判断して走行する自動運転車のいずれでもよい。
【0013】
送信装置10は、通信ネットワーク30に接続されている。通信ネットワーク30は、一例として、モバイルネットワーク又は無線LAN(Local Area Network)等のネットワークである。モバイルネットワークの例として、3Gネットワーク,LTEネットワーク、次世代(5G)ネットワークなどがあるが、ネットワークの種類は何でもよい。また、通信ネットワーク30は、無線ネットワークでも、有線ネットワークでもよい。通信ネットワーク30は、複数種類のネットワークを含んでいてもよい。この場合、送信装置10が、受信装置20との通信に用いるネットワークを複数種類のネットワークから選択してもよい。本実施形態では送信装置10は無線通信を行うが、有線通信を行う構成でもよい。通信ネットワーク30には、データ又はパケットを中継する1台以上の中継装置が含まれていてもよい。この場合、中堅装置は、本実施形態に係る通信装置又無線通信装置の一例に相当する。なお、パケットは情報の伝送単位を一般的に表現したものであり、特定のプロトコルの情報伝送単位に限定されるものではない。例えば、パケットは、フレーム、データグラム、セグメントなどの他の用語に置き換えることも可能である。
【0014】
送信装置10は、移動体Mに設けられた1つ又は複数のセンサからデータを取得する。1つ又は複数のセンサは、受信装置における1つ又は複数のアプリケーションに提供するデータを検出する。各センサにより検出されるデータは、互いに異なるデータフローに属する。送信装置10は、各センサにより検出されるデータを、受信装置20に送信する。より詳細には、送信装置10は、データを含むパケットを生成し、生成したパケットを受信装置20に送信する。複数のセンサの例は、カメラ、GPS、LiDAR(Light Detecting And Ranging)、速度センサ、加速度センサ、自動車の制御情報(エンジン回転状態、アクセルの踏み込み状態など)の検出センサ、急ブレーキの検出センサ、障害物(落下物、前方車両)の検出センサなどを含む。
【0015】
受信装置20は、通信ネットワーク30に有線又は無線により接続されている。受信装置20は例えばモバイルネットワークに配置されている。受信装置20は、モバイルネットワークのエッジコントローラでもよい。受信装置20は、移動体Mから1つ又は複数のアプリケーションに対するデータ、より詳細には、データを含むパケットを受信する。受信装置20は、移動体Mから送信されたデータを処理する1つ又は複数のアプリケーションを備えている。受信装置20は移動体Mから取得したデータを、それぞれ対応するアプリケーションに渡す。
【0016】
複数のアプリケーションの例は、高精細度地図を生成するアプリケーション、エンジン制御の最適化モデルを生成するアプリケーション、道路安全情報を生成するアプリケーションなどを含む。アプリケーションによって、データ送信の時間制約が異なってもよい。一例として、高精細度地図を生成するアプリケーション、及びエンジン制御の最適化モデルを生成するアプリケーションでは、データ送信の時間制約は長い(1時間、1日など)。一方、道路安全情報を生成するアプリケーションでは、データ送信の時間制約が短い(例えば10秒以下など)。一例として、時間制約の短いデータは、優先度の高いデータに対応し、時間制約の長いデータは、優先度の低いデータに対応する。
【0017】
受信装置20が中継装置として機能してもよい。この場合、受信装置20が、移動体Mの送信装置10から受信したデータを、1つ又は複数のアプリケーションを備える別の装置(例えばサーバ)に送信してもよい。
【0018】
移動体Mの送信装置10及び受信装置20は、基地局又はルータ等の中継装置を介して、互いに通信してもよい。例えば送信装置10は、所定の接続プロセスを実行することにより、近傍の基地局と無線接続する。移動体Mの送信装置10は、接続した基地局を介して、受信装置20と通信する。基地局と受信装置20との間の1台以上のルータが配置されていてもよい。受信装置20は、基地局と無線又は有線で接続されていてもよい。受信装置20は、複数の基地局と接続されていてもよいし、基地局と1対1で接続されていてもよい。
【0019】
図2は、送信装置10のブロック図である。送信装置10は、本実施形態に係る通信装置又は無線通信装置の一例に相当する。
【0020】
送信装置10は、複数のデータ取得部101A、101B、複数の送信バッファ部102A、102B、送信処理部11、情報通信部106、アンテナ107A及びアンテナ107Bを備えている。送信処理部11は、データフロー合成部103、制御部104、送信部105A及び送信部105Bを備えている。送信部105A及び送信部105Bは物理的に同一の回路であっても、別々の回路であってもよい。
【0021】
図2の例では、データ取得部は2つ設けられているが、3つ以上設けられてもよい。同様に送信バッファ部は2つ設けられているが、3つ以上設けられてもよい。送信部は2つ設けられているが、3つ以上設けられてもよい。アンテナは2つ設けられているが、1つでもよいし、3つ以上設けられてもよい。
【0022】
データ取得部101A、101Bはそれぞれセンサ1A、1Bに接続されている。センサ1Aは、アプリケーションAに提供するデータを出力する。センサ1Bは、アプリケーションBに提供するデータを出力する。図2の例ではセンサは2つであるが、3つ以上でもよい。
【0023】
複数のセンサの例は、カメラ、GPS、自動車の走行情報の検知センサ(LiDAR(Light Detecting And Ranging)、速度センサ、加速度センサなど)、自動車の制御情報(エンジン回転状態、アクセルの踏み込み状態など)の検出センサ、急ブレーキの検出センサ、障害物(落下物、前方車両)の検出センサなどを含む。センサは、時系列に一定間隔でデータを出力するものでも、イベントが発生したタイミングなど、特定のタイミングでデータを出力するものでもよい。センサの例は上記のものに限定されない。例えば、センサは、自動車の搭乗者等のユーザから操作部を介して入力されるデータを検出するものでもよい。
【0024】
各センサから一定間隔又は特定のタイミングで出力されるデータが、各々1つのデータフローとなる。
【0025】
データ取得部101A、101Bは、センサ1A、1Bで検出されたデータを取得する。データ取得部101A、101Bは、取得したデータを、送信バッファ部102A、102Bに提供する。センサで検出されたデータは、例えばセンサの属性情報、検出時刻及びデータ本体を含む。
【0026】
なお、データ取得部101A、101Bは、センサ1A、1Bから取得したデータに所定の演算(例えば平均値の計算)を行い、演算後のデータを送信バッファ部102A、102Bに提供してもよい。また、データ取得部101A、101Bは、2つ以上のセンサから取得したデータに基づき所定の演算(例えば四則演算)を行い、演算後のデータを送信バッファ部102A、102Bに提供してもよい。
【0027】
送信バッファ部102A、102Bは、データ取得部101A、101Bからデータを受け取り、受け取ったデータを内部の記憶領域に格納する。すなわち、送信バッファ部102A、102Bは、データ取得部101A、101Bから取得したデータをバッファリングする。送信バッファ部102A、102Bは、データを受け取った順序を管理しており、受け取った順序でデータを出力する。送信バッファ部102A、102Bは、所定サイズの記憶領域を有する記憶装置であり、一例として、メモリ又はハードディスクなどの記録媒体により構成される。
【0028】
制御部104は、送信バッファ部102A、102Bからのデータの読み出し及び送信を制御する。制御部104は、アプリケーションの時間制約に応じて、送信バッファ部102A、102Bからデータの読み出しを制御する。また、制御部104は、送信部105AにおけるTCPの輻輳ウィンドウの値に応じた送信レートでデータを送信するように、送信バッファ部102Aからのデータ読み出しを制御する。また、制御部104は、送信部105Aにおけるデータの送信状況に応じて、送信部105Bから送信するデータを冗長化する。制御部104の動作の詳細は後述する。
【0029】
送信処理部11は、制御部104の制御の下、送信バッファ部102A、102Bからデータを読み出し、読み出したデータを送信する。送信処理部11は、データフロー合成部103、送信部105A及び送信部105Bを備えている。送信バッファ部102Aから読み出して送信するデータは一例として受信装置20に送信する第1データ、送信バッファ部102Bから読み出して送信するデータは一例として受信装置20に送信する第2データに対応する。
【0030】
データフロー合成部103は、制御部104の制御の下、送信バッファ部102A、102Bからデータを読み出す。データフロー合成部103は、読み出したデータを、データフロー制御プロトコル(DFCP:Data Flow Control Protocol)及びデータフロー多重化プロトコル(DFMP:Data Flow Multiplexing Protocol)に従って処理することによりDFMPパケットを生成する。以下、DFMPパケットを生成する動作の詳細を説明する。
【0031】
まず、データフロー合成部103は、送信バッファ部(102A又は102B)から読み出したデータに、データフロー制御プロトコル(DFCP)のヘッダであるDFCPヘッダを付加することにより、DFCPパケットを生成する。より詳細には、送信バッファ部から読み出したデータに対して、シーケンス番号(ローカルシーケンス番号と呼ぶ)を付与する。ローカルシーケンス番号は、例えばDFCPパケットごとに一定値(例えば1)ずつ増加する番号である。また送信装置10の内部又は外部の時計から時刻(タイムスタンプ)を取得し、取得した時刻を、データ又はDFCPパケットの送信時刻とする。ローカルシーケンス番号と、送信時刻と、フローIDと、を含むDFCPヘッダを生成する。生成したDFCPヘッダを、送信バッファ部から読み出したデータに付加し、これにより、DFCPパケットを生成する。フローIDは、データフローを識別する識別子である。同じフローIDに対応するデータは、同じセンサから取得されたデータ、同じ送信バッファ部から読み出されたデータ、あるいは同じアプリケーションに提供するデータである。
【0032】
図3は、DFCPパケットのフォーマット例を示す。DFCPパケットは、DFCPヘッダとペイロード部とを含む。ペイロード部には、送信バッファ部から読み出されたデータが格納される。DFCPヘッダには、フローID、ローカルシーケンス番号、送信時刻等が含まれる。図のTS(タイムスタンプ)は、送信時刻を表す。DFCPヘッダには、その他のフィールドが含まれてもよい。例えば、DFCPパケットのペイロード部に含まれるデータの優先度に関する情報を含むフィールドがあってもよい。あるいは、ペイロード部に含まれるデータが、映像データなどのストリームデータなのか、イベントデータなどの非ストリームデータなのかを示すタイプフィールドがあってもよい。また、誤り検出用のチェックサムのフィールドがあってもよい。その他、バージョン、ヘッダ長、ペイロード長、リザーブなどのフィールドが含まれていてもよい。
【0033】
データフロー合成部103は、DFCPパケットに対してDFMPヘッダを付加することで、DFMPパケットを生成する。より詳細には、データフロー合成部103は、DFCPパケットに付与するシーケンス番号(グローバルシーケンス番号と呼ぶ)を決定する。グローバルシーケンス番号は、ローカルシーケンス番号とは独立したシーケンス番号である。データフロー合成部103は、データの読み出し元が送信バッファ部102A、102Bのいずれであるかに関わらず、DFCPパケットを生成するごとに、連続するシーケンス番号を決定する。DFMPのシーケンス番号は、例えば一定値(例えば1)ずつ増加する番号である。ローカルシーケンス番号はアプリケーションごとに独立したシーケンス番号であるが、グローバルシーケンス番号は複数のアプリケーションに共通のシーケンス番号である。複数のアプリケーション(すなわち複数のデータフロー)に対して共通のグローバルシーケンス番号を用いることにより、複数のデータフローを合成することが可能となる。
【0034】
また、データフロー合成部103は、送信装置10の内部又は外部の時計から時刻(タイムスタンプ)を取得し、取得した時刻を、データ又はDFMPパケットの送信時刻とする。データフロー合成部103は、グローバルシーケンス番号と、送信時刻とを含むDFMPヘッダを生成し、DFMPヘッダをDFCPパケットに付加することにより、DFMPパケットとする。DFMPヘッダに含める送信時刻として、DFCPヘッダに含めた送信時刻と同じ時刻を用いてもよい。
【0035】
このように、データフロー合成部103は、送信バッファ部102A、102Bからデータを読み出すごとに、読み出したデータにローカルシーケンス番号を含むDFCPヘッダを付加し、さらにグローバルシーケンス番号を含むDFMPヘッダを付加する。これにより、DFMPパケットを生成する。
【0036】
図4は、DFMPパケットのフォーマット例を示す。DFMPパケットは、DFMPヘッダとペイロード部とを含む。ペイロード部にはDFCPパケットが格納される。DFMPヘッダには、前述したように、グローバルシーケンス番号、送信時刻が含まれる。図のTSは、送信時刻を表す。DFMPヘッダには、その他のフィールドが含まれてもよい。例えば、バージョン、ヘッダ長、ペイロード長、リザーブなどのフィールドが含まれていてもよい。
【0037】
送信部105A、105Bは、通信ネットワーク30を介して、受信装置20と通信する。送信部105Aは輻輳制御アルゴリズムを有する通信プロトコルを用いて、受信装置20と通信する。以下、輻輳制御アルゴリズムを有する通信プロトコルにより行われる通信を、輻輳制御付き通信と称する。送信部105Bは輻輳制御アルゴリズムを有さない通信プロトコルを用いて、受信装置20と通信する。本実施形態では、送信部105AはTCPを用い、送信部105BはUDPを用いる場合を想定する。
【0038】
データフロー合成部103は、生成したDFMPパケットを送信部105A又は送信部105Bに提供する。具体的には、データフロー合成部103は、送信バッファ部102Aから読み出したデータ(例えば高精細度地図生成用の時間制約が厳しくない優先度の低いデータ)に基づき生成したDFMPパケットを送信部105Aに提供する。送信バッファ部102Bから読み出したデータ(例えばリアルタイムの交通状況を通知する時間制約が厳しい優先度の高いデータ)に基づき生成したDFMPパケットを、送信部105Bに提供する。
【0039】
送信部105A及び送信部105Bは、データフロー合成部103から提供されたDFMPパケットに、トランスポート層のヘッダ、ネットワーク層のヘッダ、データリンク層のヘッダを付加してデータリンク層パケットとする。本例では、送信部105Aはトランスポート層としてTCPを用い、送信部105BはUDPを用いる。トランスポート層にTCP又はUDP以外に、暗号化用のプロトコルがさらに含まれていてもよい。ネットワーク層は、一例として、IP(Internet Protocol)を含む。データリンク層は、一例として、イーサネット(登録商標)又はIEEE802.11のプロトコルを含む。なお、これらの層の全てが必須ではない。
【0040】
図5は、データリンク層パケットのフォーマット例を示す。この例では、イーサーネットヘッダ、IPヘッダ、UDPヘッダ又はTCPヘッダ、DFMPヘッダ、DFCPヘッダ、ペイロード部、イーサネットFCS(Frame Check Sequence)を含む。ペイロード部には、センサで検出されたデータ(すなわち、DFCPパケットのペイロード部のデータ)が格納される。DFMP及びDFCPは、IP(インターネットプロトコル)よりも上位のプロトコルであり、かつ、UDP又はTCPよりも上位のプロトコルである。
【0041】
送信部105Aは、データフロー合成部103から提供されたデータリンク層パケットに物理層の処理を行い、物理層のヘッダを付加する。送信部105Aは、物理層のヘッダが付加されたパケットを、アンテナ107Aを介して送信する。より詳細には、送信部105Aは、当該パケットを変調及びDA変換してアナログ信号とし、所望帯域の信号の抽出、及び抽出した信号の無線周波数へのアップコンバートを行う。送信部105Aは、無線周波数の信号をアンプで増幅等し、増幅された無線周波数の信号を、アンテナ107Aを介して送信する。送信部105Aは、トランスポート層、ネットワーク層、データリンク層及び物理層の少なくとも一方において、符号化を行ってもよい。送信部105Aから送信するパケットは一例として受信装置20に送信する第1データに対応する。
【0042】
符号化に用いる符号の例として、消失訂正符号、及び消失訂正符号以外の誤り訂正符号がある。消失訂正符号の例は、RS符号、レートレス符号、BCH符号、噴水符号、Tornado符号、LT(Luby Transform)符号、Raptor符号、RaptorQ符号、Zigzag decodable code、ZD噴水符号またはXOR符号などを含む。消失訂正符号以外の誤り訂正符号の例は、畳み込み符号、ターボ符号、LDPC符号、Polar符号などを含む。
【0043】
送信部105Bは、データフロー合成部103から提供されたデータリンク層パケットに物理層の処理を行い、物理層のパケットを生成する。送信部105Bは、物理層のパケットを、アンテナ107Bを介して送信する。より詳細には、送信部105Bは、当該パケットを変調及びDA変換してアナログ信号とし、所望帯域の信号の抽出、及び抽出した信号の無線周波数へのアップコンバートを行う。送信部105Bは、無線周波数の信号をアンプで増幅等し、増幅された無線周波数の信号を、アンテナ107Bを介して送信する。送信部105Bは、トランスポート層、ネットワーク層、データリンク層及び物理層の少なくとも1つにおいて符号化を行ってもよい。符号化に用いる符号の例は、送信部105Aの場合と同様である。送信部105Bから送信するパケットは一例として受信装置20に送信する第2データに対応する。
【0044】
情報通信部106は、受信装置20からDFMPパケット又はDFCPパケットの受信に関するフィードバック情報を含む応答パケットを受信する。フィードバック情報は、例えばDFMPメッセージ又はDFCPメッセージである。フィードバック情報の例として、DFMPパケットの通信品質情報又はDFCPパケットの再送要求などがある。
【0045】
制御部104は、情報通信部106からフィードバック情報を受け取り、フィードバック情報に基づき、送信バッファ部102A、102Bからのデータ読み出しを制御する。一例としてDFCPパケットの再送要求を受信した場合は、再送要求されたローカルシーケンス番号に係るデータの読み出しを行い、同一のローカルシーケンス番号のDFCPパケットの再送を行う。またDFMPパケットの通信品質情報として通信品質が低い(例えばパケットロス率が閾値以上、パケット到着の遅延時間の揺らぎが閾値以上など)との通知を受信した場合、優先度の低いアプリケーションのデータの送信レートを下げる制御を行ってもよい。
【0046】
図6は、データフロー合成部103において行われるデータフロー合成の具体例を示す図である。送信バッファ部102Aには、アプリケーションAに関するデータとしてデータ3~6がこの順で格納されている。アプリケーションAのフローIDは“1”であるとする。アプリケーションAのデータは、送信部105AにおけるTCPの輻輳制御(例えば輻輳ウィンドウ)に応じた送信レートで送信される。
【0047】
送信バッファ部102Bには、アプリケーションBに関するデータとして、データ53、52、54がこの順で格納されている。アプリケーションBのフローIDは“2”であるとする。アプリケーションBのデータは、例えば一定の送信レートで送信される。
【0048】
データフロー合成部103は、送信バッファ部102A、102Bからそれぞれの送信レートに応じてデータを読み出す。データフロー合成部103は、データを読み出した順に、読み出したデータにアプリケーションごとのフローIDを含むDFCPヘッダを付加して、DFCPパケットとする。そして、さらにグローバルシーケンス番号を含むDFMPヘッダを付加して、DFMPパケットとする。DFCPヘッダのローカルシーケンス番号はフローIDごと(すなわちアプリケーションごと)に連続している。DFMPヘッダのグローバルシーケンス番号はフローIDに関係なく、生成されるDFMPパケットごとに連続している。
【0049】
図の例では、「FID:1」が入っているDFCPヘッダは、フローIDが1のDFCPヘッダであり、「FID:2」が入っているDFCPヘッダは、フローIDが2のDFCPヘッダである。「Seq:XXX」はDFMPヘッダのグローバルシーケンス番号がXXXであることを意味している。DFCPヘッダのローカルシーケンス番号の図示は省略している。その他、DFCPヘッダ及びDFMPヘッダの少なくとも一方にタイムスタンプ等が入っていてもよい。
【0050】
グローバルシーケンス番号XXXのDFMPパケットを、DFMPパケットXXXと記載すると、DFMPパケット001、DFMPパケット002、DFMPパケット003、DFMPパケット004の順に、データフロー合成部103から出力されている。DFMPパケット001は送信バッファ部102Aから読み出したデータ1を含み、送信部105Aへ送られる。DFMPパケット002は送信バッファ部102Bから読み出したデータ51を含み、送信部105Bへ送られる。DFMPパケット003は、送信バッファ部102Aから読み出したデータ2を含み、送信部105Aへ送られる。DFMPパケット004は、送信バッファ部102Bから読み出したデータ52を含み、送信部105Bへ送られる。送信部105Aはデータフロー合成部103から入力された各DFMPパケットに各種ヘッダ等を付加して物理層のパケットとし、アンテナ107Aを介して受信装置20に送信する。送信部105Bはデータフロー合成部103から入力された各DFMPパケットに各種ヘッダ等を付加して物理層のパケットとし、アンテナ107Bを介して受信装置20に送信する。
【0051】
図7は、受信装置20のブロック図である。受信装置20は、データ処理部(アプリケーション)201A、201B、受信バッファ部202A、202B、データフロー分離部203、受信部205A、205B、情報通信部206及びアンテナ207A、207Bを備えている。受信装置20は、本実施形態に係る無線通信装置又は通信装置の一例に相当する。本実施形態では受信装置20は無線通信を行うが、有線通信を行う構成も排除されない。
【0052】
図7の例では、データ処理部は2つであるが、3つ以上でもよい。同様に受信バッファ部は2つであるが、3つ以上でもよい。また、受信部は2つであるが、3つ以上でもよい。
【0053】
受信部205A、205Bは、通信ネットワーク30を介して、送信装置10から送信されたDFMPパケットを受信する。より詳細には、受信部205A、205Bは、アンテナ207A、207Bを介して無線信号を受信し、受信した信号を増幅し、ベースバンド周波数へダウンコンバートする。ダウンコンバートされた信号から所望帯域の信号を抽出し、抽出した信号をAD変換する。AD変換により得たデジタル信号を復調する。受信部205A、205Bは、復調されたパケット(物理層のパケット)に対して各種ヘッダの処理及び除去を行って、DFMPパケットを取得する。受信部205A、205Bは、取得したDFMPパケットをデータフロー分離部203に提供する。
【0054】
データフロー分離部203は、DFMPパケットのヘッダに基づき、パケットロスの検出を行う。データフロー分離部203は、DFMPパケットのヘッダに含まれるグローバルシーケンス番号に基づき、欠損しているグローバルシーケンス番号を特定する。例えば、グローバルシーケンス番号001、003、004、005を検出したが、002のグローバルシーケンス番号を一定期間の間に検出しない場合、グローバルシーケンス番号002を欠損しているグローバルシーケンス番号とする。この場合、データフロー分離部203は、グローバルシーケンス番号002のDFMPパケットのパケットロスが発生したと判断する。
【0055】
なお、パケットロスは、DFMPパケットが通信ネットワーク30の経路の途中で消失して受信装置20に届かなかった場合の他、DFMPの下位層のプロトコルで誤り検出された場合、又は誤り訂正でパケットが回復できなかった場合も含む。なお、下位層のプロトコルが自動再送制御を備えており、再送によりパケットが正しく受信された場合は、パケットロスとは見なされない。
【0056】
データフロー分離部203は、DFMPパケットの受信状況に基づき、DFMPパケットの通信品質情報を生成する。一例として、DFMPパケットのパケットロス率又はパケット到着の時間遅延の揺らぎ情報を計算する。情報通信部206は、DFMPパケットの通信品質情報を含むフィードバック情報を含む応答パケットを、通信ネットワーク30を介して送信装置10に送信する。フィードバック情報の送信に用いる通信プロトコルは、5Gモバイル通信規格、4Gモバイル通信規格、無線LAN規格、その他の通信規格など、何でもよい。
【0057】
データフロー分離部203は、DFMPパケットからDFMPヘッダを除去することにより、DFCPパケットを取得する。データフロー分離部203は、DFCPパケットのヘッダに含まれるフローIDに基づき、DFCPパケットのペイロードに含まれるデータを渡すべきアプリケーションを特定する。データフロー分離部203は、特定したアプリケーションに対応する受信バッファ部202に、DFCPパケットのペイロードに含まれるデータを提供する。
【0058】
また、データフロー分離部203は、DFCPヘッダのローカルシーケンス番号を検査する。欠損しているローカルシーケンス番号があるときは、データフロー分離部203は、当該ローカルシーケンス番号を対象とするDFCPパケットの再送要求を生成する。また、DFCPヘッダにチェックサムが入っている場合に、DFCPパケットの誤り検出処理を行い、誤りが検出された場合に、DFCPパケットの再送要求を生成してもよい。情報通信部206は、生成された再送要求をフィードバック情報として含む応答パケットを、通信ネットワーク30を介して送信装置10に送信する。なお、DFCPパケットのペイロードのデータが、データの完全性を要求しないタイプのデータの場合は、再送要求を送信しない構成も可能である。
【0059】
受信バッファ部202A、202Bは、データフロー分離部203から提供されたデータを内部の記憶領域に格納する。すなわち、受信バッファ部202A、202Bは、データフロー分離部203から提供されたデータをバッファリングする。受信バッファ部202A、202Bは、バッファリングしているデータを、データフロー分離部203から受け取った順序で出力する。出力するデータの種類に応じて、受信バッファ部からデータを出力する方式が異なってもよい。一例として、受信バッファ部202A、202Bは、データ処理部201A、201Bからの要求に応じてデータを出力してもよい。あるいは、受信バッファ部202A、202Bは、データが入力されると直ちにデータを出力してもよい。あるいは、受信バッファ部202A、202Bは、バッファリングしているデータを一定の時間間隔で出力してもよい。受信バッファ部202A、202Bは、所定サイズの記憶領域を有する記憶装置である。受信バッファ部202A、202Bは、一例として、メモリ又はハードディスクなどの記録媒体により構成される。
【0060】
データ処理部201A、201Bは、各々アプリケーションを実行することにより、受信バッファ部202A、202Bから提供されたデータを処理するアプリケーション実行部である。一例として、データ処理部201Aは、アプリケーションAとCPUとを備えており、CPUがアプリケーションAを実行する。データ処理部201Bは、一例としてアプリケーションBとCPUとを備えており、CPUがアプリケーションBを実行する。アプリケーションの例として、高精細度地図の生成、エンジン制御の最適化モデルの生成、道路安全情報の生成などがあるが、これらは一例に過ぎず、他にも様々なアプリケーションがある。
【0061】
ここで送信装置10における送信部105Aで行われるTCPの輻輳制御について説明する。輻輳制御アルゴリズムにはパケットロスに基づくもの、遅延に基づくもの、およびその組み合わせに依るものがあるが、ここではパケットロスに基づく輻輳制御アルゴリズムを例とする。TCPの輻輳制御では、スロースタートとして通信開始時には輻輳ウィンドウを小さい値に設定し、パケットを送信する。輻輳ウィンドウは連続して送信可能なパケットの個数を定めている。例えば輻輳ウィンドウの値がXであれば、X個のパケットを送信する。送信部105Aは、受信先からACKを受信すると、輻輳ウィンドウを徐々に広げていき、送信可能なパケット数を増やしていく。これにより、通信ネットワーク30の帯域に余裕がある場合は、徐々に送信レートを高くしていくことができ、ベストエフォートの通信を実現する。通信ネットワーク30の使用帯域幅(実効帯域)が上限に達し、通信ネットワーク30の帯域に余裕がなくなるとパケットロスが発生する。パケットロスが検出された場合に、TCPは輻輳ウィンドウを減少させ、パケットの送信レートを下げていく。ロスしたパケットについては再送を行う。パケットロスが発生すると、TCPと同時に行われている送信部105Bの通信(本例ではUDP通信)でも、パケットロスが発生し、通信の品質が低くなる可能性がある。特に、送信部105Bで優先度の高いデータの通信を行っている場合には、パケットロスを抑制し、通信の品質を劣化させないことが必要である。制御部104は、送信部105Aの輻輳制御に起因して送信部105Bの通信の品質が低下することを抑制する動作を行う。
【0062】
具体的には、制御部104は、送信部105Aにおけるパケット(例えばTCPパケット)の送信状況を監視し、送信状況に応じて、送信部105Bから送信するパケットを冗長化する。例えば、制御部104は、送信部105Aにおけるパケットの送信頻度(例えば送信レート)を監視し、送信レートに応じて、送信部105Bから送信するパケットの冗長度を制御する。すなわち、制御部104は、送信部105Aにおけるパケットの送信レートの上昇に応じて、送信部105Bから送信するパケットの冗長度を高くする。送信部105Aの送信レートが上昇した場合(例えば輻輳ウィンドウが拡大した場合)、今後、送信部105Bの通信でパケットロスが発生し、通信の品質が低下することが予見される。そこで、送信部105Bから送信するパケットの冗長度を予め高くしておくことで、今後パケットロスが発生しても、データが正しく受信装置20で受信される可能性を高くする。送信レートが閾値以上になった場合に、パケットの冗長度を高くしてもよい。冗長度は、閾値に関連付けて事前に定めておく。閾値を複数設け、段階的に冗長度を変更してもよい。制御部104は、送信部105Aにおけるパケットの送信頻度が低い場合は、送信部105Bにおけるパケットの冗長化を行わない(冗長度を高めない)ことを決定してもよい。
【0063】
制御部104は、送信部105Aにおける送信レート又は送信頻度を表す値として、TCPの輻輳ウィンドウの値を用いてもよい。この場合、制御部104は、送信部105Aから輻輳ウィンドウの値を取得する。輻輳ウィンドウの値の取得は一定時間間隔でもよいし、輻輳ウィンドウの値が変更されるごとに取得してもよい。制御部104は、輻輳ウィンドウの値が大きいほど、冗長度を高くしてもよい。輻輳ウィンドウの値が閾値以上になった場合に、冗長度を高くしてもよい。この場合、冗長度は、閾値に関連付けて事前に定めておく。閾値を複数設け、段階的に冗長度を変更してもよい。
【0064】
制御部104は、TCPより下位のプロトコル層において送信頻度(例えば送信レート)を測定している場合には、当該下位のプロトコル層から送信頻度の値を取得し、TCPのパケットの送信頻度の代わりに、取得した送信頻度を用いてもよい。例えばデータリンク層でMACフレームの送信頻度を測定している場合に、MACフレームの送信頻度を用いてもよい。
【0065】
制御部104は、送信部105Bの通信が、送信部105Aよりも先に開始されている場合に、送信部105Aの通信(例えばTCP通信)の開始を検知した時点、すなわち輻輳制御の開始を検知した時点で、送信部105Bから送信するパケットの冗長度を高くしてもよい。例えば、通信の開始を検知した後、冗長度を一定の傾きで上昇させ、一定時間経過後又は冗長度が所定値に達した後は、冗長度を一定としてもよい。これによりパケットを早期に冗長化することができ、送信部105Bの通信品質の低下をより確実に抑制できる。
【0066】
パケットの冗長度を高くする方法として、同じデータ(同じローカルシーケンス番号のDFCPパケット)を繰り返し送信してもよい。すなわち同じデータを複数回送信する。一部のパケットがロスしても、他のパケットが無事届けば、受信装置20でデータを正しく取得できるため、通信の品質の低下を抑制できる。冗長度を、冗長化後の送信パケット数と冗長化前の送信パケット数の比と定義した場合、冗長度が2であれば、すべてのデータ(DFCPパケット)をそれぞれ2回送信し、冗長度が1.5であれば、2つに1個の割合で、同じデータを2回送信する。同じデータを複数回送信する際、同じデータを含む各DFCPパケットで、互いに異なるグローバルシーケンス番号を用いるとする。但し、各DFCPパケットに対して同じ値のグローバルシーケンス番号を用いることも排除されない。
【0067】
図8は、冗長化の具体例を示す。データフロー合成部103が送信部105Bに提供するパケットを冗長化する例を示す。図の例では、データフロー合成部103がデータ52を送信バッファ部102Bから読み出し、データ52をコピーする。データ52を含むDFCPパケットと、コピーしたデータを含むDFCPパケットとを生成する。各DFCPパケットのローカルシーケンス番号は同じ005である。ここではデータ52をコピーしたが、データ52を含むDFCPパケットを生成した後、DFCPパケットをコピーしてもよい。
【0068】
データフロー合成部103は、各DFCPパケットに互いに異なるグローバルシーケンス番号007、008を決定し、グローバルシーケンス番号007を含むDFMPヘッダを一方のDFCPパケットに付加してDFMPパケット007とする。同様に、グローバルシーケンス番号008を含むDFMPヘッダをもう一方のDFCPパケットに付加して、DFMPパケット008とする。DFMPパケット007、008を通信部108Bに提供する。送信部105Bは、DFMPパケット007、008にそれぞれトラスポート層、IP層、データリンク層、物理層の処理を行って、無線周波数の信号を生成し、生成した信号をそれぞれ、アンテナを介して送信する。送信した2つのDFMPパケットのうち、いずれか一方のDFMPパケットがパケットロスしたとしても、もう一方のDFMPパケットが受信装置20に正しく受信されることで、パケットロスによる通信品質の低下を補償することができる。
【0069】
図8の例では、同じデータを複数回送信する際、データをすべて送信部105Bから送信しているが、一部のデータを送信部105Bから送信し、残りの一部のデータを他の送信部から送信してもよい。この際、送信部105Bがモバイル回線を用い、他の送信部がモバイル回線とは異なる通信方式、例えば無線LANを用いるなど、異なる通信方式を用いることも可能である。受信装置20側でも、当該他の送信部に対応する受信部を備えている必要がある。
【0070】
パケットの冗長度を変更する方法は、データを送信する回数を変更することに限定されない。例えば送信部105Bにおいてパケットを消失訂正符号化している場合に、消失訂正符号の符号化率を変更してもよい。例えば、送信部105Aにおけるパケットの送信レートが高くなった場合には、送信部105Bにおける符号化率を小さくしてもよい。すなわち、消失訂正符号化により生成する冗長パケット(又はパリティパケット)の個数を多くする。生成した冗長パケットのうち、符号化率に応じた規定個数以上の冗長パケットが受信装置20に届けば、受信装置20でパケットを正しく復号できるため、冗長化によりデータを受信装置20に正しく届けることができる。消失訂正符号化を行うプロトコル層は、トランスポート層、IP層、データリンク層及び物理層のいずれでもよい。あるいは、DFMP及びDFCPの少なくとも一方で消失訂正符号化を行うことや、アプリケーション層で消失訂正符号化を行うことも排除されない。畳み込み符号等の誤り訂正符号の符号化を行っている場合には、当該誤り訂正符号の符号化率を変更することも可能である。
【0071】
パケットを冗長化した場合、受信装置20の受信部205B又はデータフロー分離部203では、冗長化されたパケットから元のパケット又は元のデータを復元し、復元したデータを出力する。復元の方法は、パケットの冗長化の方式に応じたものを用いればよい。
【0072】
図9は、本実施形態に係る送信装置10の送信部105Bから送信するパケットの冗長度の制御に関わる動作の一例のフローチャートである。制御部104は、送信部105Aによる輻輳制御付き通信(第1通信)におけるパケットの送信状況を監視する(S101)。例えばパケットの送信頻度を監視し、送信部105AからTCPの輻輳ウィンドウの値を取得する。
【0073】
制御部104は、送信部105Aにおけるパケットの送信状況(例えば監視しているパケットの送信頻度)に応じて、送信部105Bの通信(第2通信)におけるパケットの冗長度を決定する(S102)。一例として、輻輳ウィンドウの値が大きいほど、高い冗長度を決定する。また、輻輳ウィンドウの値が小さいほど、低い冗長度を決定する。制御部104は、送信部105Aによる第1通信が開始されたことを検知した時点で、パケットの冗長度を高くすることを決定してもよい。制御部104は、送信部105Aにおけるパケットの送信頻度が低い場合は、送信部105Bにおけるパケットの冗長化を行わない(冗長度を高めない)ことを決定してもよい。制御部104は、第1通信が終了したことを検知した場合に、パケットの冗長化を停止することを決定してもよい。制御部104は、決定した冗長度で、DFCPパケットを生成するよう、データフロー合成部103に指示情報を出力する(同S102)。
【0074】
データフロー合成部103は、制御部104から受けた指示情報に従って、DFCPパケットを冗長化する(S103)。例えば冗長度が2の場合、送信バッファ部102Bからデータを読み出すごとに、当該データを含むDFCPパケット(同じローカルシーケンス番号のDFCPパケット)を2つ生成する。データフロー合成部103は、各DFCPパケットにDFMPヘッダを付加してDFMPパケットとし、DFMPパケットを送信部105Bに提供する(同S103)。送信部105Bはデータフロー合成部103から提供されるDFMPパケットに各種下位層の処理を行って物理層のパケットとする。DFCPパケットが冗長化されることで、TCPパケットも冗長化される。送信部105Bは、物理層のパケットに、必要に応じて符号化処理を行った後、変調処理、DA変換、アナログ処理等を行って、アナログの無線周波数信号を生成し、生成した無線周波数信号を送信する。
【0075】
図10及び図11を用いて、本実施形態の効果について説明する。
【0076】
図10は、本実施形態の比較例として送信部105Bから送信するパケットを冗長化しない例を示す。送信部105Bは、時刻0より前から、DFCPパケットを含む物理層のパケットを一定のレートで送信している。パケットの冗長化は行っていない。このときの送信部105Bの通信の使用帯域幅は、グラフG2で示すように、帯域幅BW1である。
【0077】
時刻0で送信部105AのTCP通信が開始する。TCPの輻輳制御により、輻輳ウィンドウの値が徐々に大きくなることにより、パケットの送信レートが徐々に上昇する。送信レートの上昇に応じて、グラフG1で示すように、送信部105Aの使用帯域幅も上昇する。
【0078】
グラフG3で示す送信部105Aと送信部105Bとの合計使用帯域幅が、グラフG4で示す通信ネットワークの利用可能帯域幅に達すると、送信部105Aの通信及び送信部105Bの通信の少なくとも一方でパケットロスが発生する(図の破線の丸を参照)。
【0079】
送信部105Aの通信でパケットロスが発生すると、受信装置20からACKが届かないことにより、輻輳ウィンドウの値が小さくなり、送信部105Aの送信レートが低下する。以降、輻輳ウィンドウの値の上昇と、パケットロスと、輻輳ウィンドウの値の低下が繰り返されることにより、送信部105Aの送信レートが上昇又は低下し、送信部105Aの通信が行われる。
【0080】
送信部105Bの通信でパケットロスが発生すると、DFCPの再送が発生し、遅延が生じる。送信部105Bでは、例えば短い時間間隔でデータを送信する優先度の高い通信が行われており、遅延は極力避けることが望まれる。しかしながら、TCPの輻輳制御に起因して、送信部105Bの通信でパケットのロスが発生してしまい、通信品質が低下する。
【0081】
図11は、本実施形態に従って送信部105Bから送信するパケットを冗長化する例を示す。送信部105Bは、時刻0より前から、DFCPパケットを含む物理層のパケットを一定のレートで送信している。パケットの冗長化は行っていない。このとき送信部105Bの通信の使用帯域幅は、グラフG12で示すように、帯域幅BW1である。
【0082】
時刻t11で送信部105Aの通信が開始され、TCPの輻輳制御により、輻輳ウィンドウの値が徐々に大きくなることによりパケットの送信レートが徐々に上昇する。送信レートの上昇に応じて、グラフG11で示すように、送信部105Aの使用帯域幅も上昇する。
【0083】
制御部104は、輻輳ウィンドウの値に基づき、送信部105Bから送信するパケットを冗長化する。具体的には、輻輳ウィンドウの値の上昇に応じて、送信部105Bから送信するパケット冗長度を高くする。一例として、送信部105Aの通信の開始を検知した時点で、冗長度を高くしていき、所定値に達すると、送信部105Aの通信が終了するまで、所定値を維持する。グラフG12で示すように、時刻t11から送信部105Bの送信するパケット(冗長パケットを含む)の送信レートが上昇し、送信部105Bの使用帯域幅も上昇する。
【0084】
グラフG13で示す送信部105Aと送信部105Bとの合計使用帯域幅が、グラフG14で示す通信ネットワークの利用可能帯域幅に達すると、送信部105Aの通信及び送信部105Bの通信の少なくとも一方でパケットロスが発生する(図の破線の丸を参照)。
【0085】
送信部105Aの通信でパケットロスが発生すると、受信装置20からACKが届かないことにより、輻輳ウィンドウの値が小さくなり、送信部105Aの送信レートが低下する。輻輳ウィンドウの値の上昇と、パケットロス、輻輳ウィンドウの値の低下が繰り返されながら、送信部105Aの送信レートが上昇又は低下し、時刻t12で送信部105Aの通信は終了する。送信部105Aの通信が終了すると、送信部105Bのパケットの冗長度が徐々に低下し、時刻t13で送信部105Bの通信の冗長化は停止される(例えば冗長度が1になる)。
【0086】
送信部105Bの通信でパケットロスが発生した場合も、送信部105Bの通信は冗長化されている。このため、冗長化されたパケットの一部がロスしても、受信装置20で正しくデータが取得される。これにより、再送の機会は低減され、送信部105Bの通信の品質の低下は抑制される。
【0087】
以上、本実施形態によれば、送信部105Aにおけるデータの送信状況(例えばデータの送信レート)に応じて、送信部105Bの通信におけるデータを冗長化する。これにより、送信部105Aの送信レートが上昇した場合に、送信部105Bにおける通信の品質が低下することを抑制できる。
【0088】
(変形例1)
第1実施形態では送信部105Bは輻輳制御付き通信を行っていなかったが、送信部105Bが送信部105Aと同様に、輻輳制御付き通信を行ってもよい。この場合も、第1実施形態と同様の効果を得ることができる。
【0089】
(変形例2)
第1実施形態では、送信部105Aの通信にDFMP及びDFCPを用いていたが、送信部105Aの通信でDFCP及びDFCPを用いなくてもよい。この場合、送信部105Aが送信バッファ部102Aから直接、データを読み出せばよい。
【0090】
(変形例3)
第1実施形態では、送信部105A及び送信部105Bの通信にDFMP及びDFCPを用いていたが、送信部105A及び送信部105Bの通信にDFMPを用いず、DFCPのみを用いてもよい。
【0091】
(変形例4)
第1実施形態では1つのDFMPパケットにDFCPパケットを1つ含めていたが、2以上のDFCPパケットを集約してもよい。
【0092】
図12は、DFMPパケットに複数のDFCPパケット(本例ではDFCPパケット1、DFCPパケット2)を集約した例を示す。DFCPパケット1のフローID及びDFCPパケット2のフローIDは互いに異なる。但し、各DFCPパケットのフローIDが同じとすることも可能である。パケットの集約はデータフロー合成部103が行う。データフロー合成部103は、これにより、個々のDFCPパケットにDFMPヘッダ及びその下位のプロトコルのヘッダを付加する場合に比べて、ヘッダのオーバーヘッドを低減できる。図12の例では、DFCPパケットの集約は2であるが、3以上でもよい。
【0093】
(変形例5)
受信装置20が、受信装置20の受信部205Aにおけるパケットの受信状況(例えば受信レート又は受信頻度)に応じて、送信装置10の送信部105Bにおけるパケットの冗長度を決定する。受信装置20は、決定した冗長度を指示する制御情報(決定した冗長度でパケットを冗長化する制御情報)を送信装置10に送信する。受信部205Aにおける受信レートが高くなるほど、送信装置10の送信部105Aにおける送信レートが高いと推定できる。そこで、受信装置20は、受信部205Aにおける受信レートが高くなるほど、送信部105Bに対して高い冗長度を決定する。
【0094】
図13は、変形例5に係る受信装置20のブロック図である。受信装置20のデータフロー分離部203は、受信部205Aにおけるパケットの受信頻度(受信レート)を監視する制御部211を備えている。データフロー分離部203、受信部205A及び受信部205Bは受信処理部21を構成する。制御部211は、一例として、受信部205Aから受信するDFMPパケットの受信レートを測定し、受信レートが大きいほど、送信装置10の送信部105Bに対して高い冗長度を決定する。DFMPパケットの受信レートが大きいほど、受信部205Aにおけるパケット(例えばTCPパケット)の受信レートが大きい、すなわち送信部105Aのパケットの送信レートが大きいと推定できる。
【0095】
制御部211は、受信部205AからTCPパケットの受信レートに関する情報を取得し、取得した情報に基づき、冗長度を決定してもよい。TCPパケットの受信レートの関する情報は、送信部105Aから受信したパケットに対するACKの返送状況に基づいて算出されてもよい。あるいは、TCPパケットを一時的にメモリ等のバッファに格納する場合には、バッファにおけるTCPパケットの格納状況に基づいて算出されてもよい。
【0096】
制御部211は、受信部205Aにおいて送信装置10の送信部105Aと輻輳制御付き通信が開始されたことを検知した場合に、冗長度を高くすることを決定してもよい。第1実施形態と同様に、輻輳制御付き通信の開始から一定の傾きで冗長度を高くし、冗長度が所定値に達したら、通信が終了するまで冗長度を所定値に維持してもよい。
【0097】
制御部211は、冗長化を指示する制御情報を、情報通信部206を介して、送信装置10に送信する。制御情報を応答パケットに含めてもよい。送信装置10の制御部104は、情報通信部106を介して制御情報を受信し、受信した制御情報に基づき、送信部105Bから送信するパケットを冗長化する。
【0098】
制御部211は、輻輳制御付き通信の開始を検知した場合に、輻輳制御付き通信の開始を通知するデータ(輻輳制御付き通信の開始データ)を送信装置10に送信してもよい。開始データを応答パケットに含めてもよい。制御部211は、輻輳制御付き通信が終了した場合は、通信を通知するデータ(輻輳制御付き通信の終了データ)を送信装置10に送信してもよい。終了データを応答パケットに含めてもよい。送信装置10の送信部105Bは開始データを受信すると、第1実施形態と同様にして、送信部105Bにおけるパケットを冗長化する。送信部105Bは終了データを受信すると、冗長度の制御を停止する。
【0099】
(変形例5)
上述した実施形態では輻輳制御アルゴリズムを有するプロトコルとしてTCPを用いたが、QUIC(Quick UDP Internet Connections)など、他のプロトコルを用いてもよい。
【0100】
(第2実施形態)
第2実施形態では、受信装置20が複数の送信装置と同時に通信する。受信装置20は、1つの送信装置とはDFMP及びDFCPを用いずにTCPにより通信し、他の送信装置(本実施形態に係る送信装置)とはDFMP及びDFCPを用いて、UDP又はTCPにより通信する。受信装置20は1つの送信装置とのTCPにおけるパケットの受信状況(例えば受信頻度又は受信レート等)に応じて、他の送信装置から送信されるパケットの冗長化を決定する。1つの送信装置から受信するパケットは一例として当該1つの送信装置から受信する第1データに対応し、他の送信装置から受信するパケットは一例として当該他の送信装置から受信する第2データに対応する。受信装置20は、一例として1つの送信装置とのTCPの通信の開始(輻輳制御の開始)を検知すると、他の送信装置から送信するパケットを冗長化することを決定してもよい。受信装置20は、冗長化を指示する制御情報を、他の送信装置に送信する。以下、本実施形態について詳細に説明する。
【0101】
図14は、第2実施形態に係る通信システムのブロック図である。DFMP及びDFCPを用いずにTCPにより通信を行う送信装置50と、本実施形態に係る送信装置10とが、中継装置40を介して、受信装置20と接続されている。中継装置40は、図1の通信ネットワーク30に含まれる。図では1台の中継装置40が示されるが、中継装置40の台数は2以上でもよい。本例では、送信装置50が1台の場合を想定するが、送信装置50が2台以上でもよい。
【0102】
図15は、送信装置50のブロック図である。送信装置50は、データ取得部101A、送信バッファ部102A、送信部105A、アンテナ107Aを備えている。データ取得部101Aはセンサ1Aに接続されている。送信部105Aは送信バッファ部102Aに接続されている。DFCP及びDFMPに関する処理を行うデータフロー合成部103は設けられていない。図15の各要素の動作は、第1実施形態における図2と同一名称の要素と同じである。
【0103】
図16は、送信装置10のブロック図である。送信装置10は、データ取得部101B、送信バッファ部102B、データフロー合成部103、制御部104、送信部105B、情報通信部106、アンテナ107Aを備えている。データ取得部101Bはセンサ1Bに接続されている。図16の各要素の動作は、第1実施形態における図2と同一名称の要素と同じである。図16の例では1つのデータフローの処理を行う構成(センサ1B、データ取得部101B、送信バッファ部102B)のみ示されているが、第1実施形態と同様に2以上のデータフローの処理を行う構成を備えていてもよい(図2参照)。
【0104】
図17は、受信装置20のブロック図である。第1実施形態の変形例5(図13参照)と同様の構成を有するが、受信バッファ部202Aは受信部205Aに直接、接続されている。受信バッファ部202Aは、受信部205AからアプリケーションA用のデータを取得し、取得したデータを内部のバッファに格納する。データフロー分離部203は、受信部205AからはDFMPパケットを受信しない。以下では、変形例5との差分を中心に説明する。
【0105】
受信装置20のデータフロー分離部203は、受信部205Aにおけるパケットの受信状況(例えば受信頻度又は受信レート)を監視する制御部211を備えている。制御部211は、一例として、受信部205Aにおけるパケット(例えばTCPパケット)の受信レートを測定し、受信レートが大きいほど、送信装置10の送信部105Bに対して高い冗長度を決定する。TCPパケットの受信レートが大きいほど、送信部105Aの送信レートが大きいと推定できる。
【0106】
制御部211は、受信部205AからTCPパケットの受信レートに関する情報を取得し、取得した情報に基づき、冗長度を決定してもよい。TCPパケットの受信レートの関する情報は、送信部105Aから受信したパケットに対するACKの返送の状況に基づいて算出されてもよい。あるいは、TCPパケットを一時的にメモリ等のバッファに格納する場合には、バッファにおけるTCPパケットの格納状況に基づいて算出されてもよい。
【0107】
制御部211は、受信部205Aにおいて送信装置10の送信部105Aと輻輳制御付き通信が開始されたことを検知した場合に、冗長度を高くすることを決定してもよい。例えば、輻輳制御付き通信の開始から一定の傾きで冗長度を高くし、冗長度が所定値に達したら、当該通信が終了するまで冗長度を所定値に維持してもよい。
【0108】
制御部211は、冗長度を指示する制御情報を、情報通信部206を介して、送信装置10に送信する。制御情報を応答パケットに含めてもよい。送信装置10の制御部104は、情報通信部106を介して制御情報を受信し、受信した制御情報に基づき、送信部105Bにおけるパケットを冗長化する。
【0109】
制御部211は、受信部205Aにおける輻輳制御付き通信の開始を検知した場合に、輻輳制御付き通信の開始を通知するデータ(輻輳制御付き通信の開始データ)を送信装置10に送信してもよい。開始データを応答パケットに含めてもよい。制御部211は、輻輳制御付き通信が終了した場合は、通信を通知するデータ(輻輳制御付き通信の終了データ)を送信装置10に送信してもよい。終了データを応答パケットに含めてもよい。送信装置10の制御部104は開始データを受信すると、第1実施形態と同様にして、送信部105Bにおけるパケットを冗長化する。送信装置10の制御部104は終了データを受信すると、冗長化の制御を停止する。
【0110】
図18は、第2実施形態に係る通信シーケンスの一例を示す。受信装置20が送信装置10と通信を開始する。例えば一定の短い間隔でアプリケーションBに提供する優先度の高いデータの通信(例えばUDP通信又はTCP通信等)を開始する(S111)。
【0111】
受信装置20は、送信装置10との通信の開始後、送信装置50と輻輳制御付き通信(例えばTCP通信)を開始する(S112)。受信装置20は、送信装置50と輻輳制御付き通信が開始されたこと通知するデータ(輻輳制御付き通信の開始データ)を、送信装置10に送信する(S113)。この開始データは、冗長化を指示する制御情報の一例に相当する。送信装置10は開始データを受信すると、受信装置20に送信するデータを冗長化する(冗長度を高くする)。すなわち、送信装置10は送信するパケットの冗長度を上昇させ、冗長化されたパケットを送信する(S113A)。
【0112】
受信装置20は、送信装置50と輻輳制御付き通信を終了すると(S114)、送信装置10に、送信装置50との輻輳制御付き通信が終了されたこと通知するデータ(輻輳制御付き通信の終了データ)を、送信装置10に送信する(S115)。この終了データは、冗長化の終了を指示する制御情報の一例に相当する。送信装置10は終了データを受信すると、受信装置20に送信するデータの冗長化を終了する(例えば冗長度を、冗長化を行わない初期値に戻す)。
【0113】
図18の例では、受信装置20は輻輳制御付き通信の開始及び終了を制御情報として送信したが、受信装置20は冗長度を指示した制御情報を送信してもよい。
【0114】
図19は、第2実施形態に係る受信装置20の動作の一例のフローチャートである。受信処理部21の受信部205Aは、輻輳制御アルゴリズムを有する通信プロトコル(TCP等)に基づき、送信装置10の送信部105Aからデータを含むパケット(TCPパケット等)を受信する(S121)。受信部205Aは、受信したパケットに含まれるデータを受信バッファ部202Aに送る。受信装置20の制御部211は、受信部205Aにおけるデータ(パケット)の受信状況に応じて、送信装置10の送信部105Bにおけるパケットの冗長化を指示する制御情報を生成する(S122)。例えば、受信装置20の制御部211は、受信装置20の受信部205AにおけるTCPによる通信が開始されたことを検知した場合に、制御情報を生成する(S122)。制御部211は、情報通信部206を介して、生成した制御情報を送信装置10に送信する(S123)。送信装置10の制御部104は、情報通信部106を介して制御情報を受信し、送信部105Bから送信するパケットを冗長化する。
【0115】
以上、本実施形態によれば、受信装置20において受信部205Aにおけるデータの受信状況(例えばデータの受信レート)に応じて、送信装置10の送信部105Bにおけるデータを冗長化する。これにより、送信装置10の送信部105Aの送信レートが上昇した場合に、送信装置10の送信部105Bにおける通信の品質が低下することを抑制できる。
【0116】
(第3実施形態)
第3実施形態では、送信装置10(図16参照)及び受信装置20間の通信を中継する中継装置40が、送信装置10から送信するデータを冗長化することを制御する。中継装置40は、輻輳制御付き通信を行う送信装置50(図15参照)と当該送信装置50からデータを受信する受信装置間の通信を中継し、かつ、送信装置10と受信装置20間の通信を中継する。中継装置40は、輻輳制御付き通信で中継するデータの受信状況に応じて、送信装置10から送信されるデータの冗長化を制御する。以下、本実施形態について詳細に説明する。
【0117】
図20は、第3実施形態に係る通信システムのブロック図である。DFMP及びDFCPを用いずにTCPにより通信を行う送信装置50と、送信装置50と通信を行う受信装置60とが、中継装置40を介して接続されている。また本実施形態に係る送信装置10と、本実施形態に係る受信装置20とが、中継装置40を介して、接続されている。中継装置40は、図1の通信ネットワーク30に含まれる。図では1台の中継装置40が示されるが、中継装置40の台数は2以上でもよい。本例では、送信装置50及び受信装置60がそれぞれ1台の場合を想定するが、送信装置50及び受信装置60が2台以上でもよい。
【0118】
送信装置50のブロック図は、前述した図15と同じである。送信装置50の動作は図15と同じであるため、説明を省略する。
【0119】
図21は、受信装置60のブロック図である。受信装置60は、アンテナ207A、受信部205A、受信バッファ部202A及びデータ処理部201Aを備えている。DFCP及びDFMPに関する処理を行うデータフロー分離部は設けられていない。図21の各要素の動作は、図17の同一名称の要素と同じであるため、説明を省略する。
【0120】
送信装置10のブロック図は、前述した図16と同じである。送信装置10の動作は図16と同じであるため、説明を省略する。
【0121】
図22は、受信装置20のブロック図である。受信装置20の構成は、第1実施形態における図7の受信装置20から、アンテナ207A、受信部205A、受信バッファ部202A、データ処理部201Aを除いた構成と同様である。図22の受信装置20は、1つのフローのデータを受信する場合の構成を有する。但し、本実施形態に係る受信装置20が、図7と同じ構成(複数のフローのデータを受信する構成)を備えていてもよい。
【0122】
図23は、中継装置40のブロック図である。中継装置40は、受信処理部301(第1受信処理部)と、送信処理部302(第1送信処理部)と、受信処理部303(第2受信処理部)と、送信処理部304(第2送信処理部)と、中継処理部310とを備えている。中継処理部310は制御部311を含む。受信処理部301、受信処理部303、送信処理部302及び送信処理部304は、通信ネットワーク30に接続されている。
【0123】
受信処理部301は、送信装置50(図15参照)、及び送信装置10(図16参照)からパケットを受信し、受信したパケットに物理層及びデータリンク層の処理を行った後、中継処理部310に渡す。送信装置50から受信するパケットは一例として送信装置50から受信する第1データに対応し、送信装置10から受信するパケットは一例として送信装置10から受信する第2データに対応する。送信装置10から受信するパケットはDFMP、DFCP等の処理を経たパケットである。送信装置50から受信するパケットは輻輳制御アルゴリズムを有する通信プロトコル(例えばTCP)等の処理を経たパケットである。中継処理部310は、受信処理部301から渡されたパケットにIPヘッダの処理を行い、ルーティングテーブルに基づきパケットの転送先(パケットを出力するポート)を決定する。送信処理部302は、中継処理部310により転送先が決定されたパケットにデータリンク層及び物理層の処理を行って、処理後のパケットを、決定された転送先に送信する。本例では、送信装置10から受信装置20宛のパケットが受信され、パケットは中継処理部310で決定された転送先に応じて、送信処理部302から送信される。送信されたパケットは、必要に応じて他の中継装置を経たのち、受信装置20に受信される。また、送信装置50から受信装置60宛のパケットが受信され、パケットは中継処理部310で決定された転送先に応じて、送信処理部302から送信される。送信されたパケットは、必要に応じて他の中継装置を経たのち、受信装置60に受信される。
【0124】
受信装置60(図21参照)の受信部205Aは、中継装置40により中継された送信装置50からのパケットを、アンテナ207Aを介して受信する。受信部205Aは、パケットに含まれるデータを、受信バッファ部202Aを介して、データ処理部201Aに提供する。
【0125】
受信装置20(図22参照)の受信部205Bは、中継装置40により中継された送信装置10からのパケットを、アンテナ207Bを介して受信する。データフロー分離部203は、受信されたパケットに対してDFMP及びDFCPの処理を行った後、パケットに含まれるデータを、受信バッファ部202Bを介して、データ処理部201Bに提供する。データフロー分離部203は、DFMP又はDFCPに関するフィードバック情報を含む、送信装置10を宛先とする応答パケットを送信する。フィードバック情報として、DFMP又はDFCPのACKを送信してもよい。応答パケットにはACK以外に、DFMPの通信品質情報を含めてもよい。
【0126】
中継装置40(図21参照)の受信処理部303は、受信装置20からの応答パケットを受信し、物理層及びデータリンク層の処理を行った後、処理後の応答パケットを中継処理部310に提供する。中継処理部310は、応答パケットのIPヘッダに基づき応答パケットの転送先を決定する。送信処理部304は、応答パケットを、決定された転送先に応じて送信する。送信された応答パケットは、必要に応じて他の中継装置を介して、送信装置10(図16参照)で受信される。送信装置10の制御部104は、情報通信部106を介して応答パケットを受信し、応答パケットに含まれるフィードバック情報に基づきDFMP又はDFCPに関する処理を行う(例えばDFCPパケットの再送等)。
【0127】
中継装置40において中継処理部310の制御部311は、送信装置50と受信装置60間の通信(輻輳制御付き通信)に関して、受信処理部301におけるパケットの受信状況を監視している。制御部311は、受信状況に応じて、送信装置10から送信されるパケットの冗長度を決定、あるいは、冗長化処理の開始又は終了を決定する。制御部311は、冗長度、あるいは冗長化処理の開始又は終了を含む制御情報を生成する。制御部311は、生成した制御情報を、受信処理部303を介して受信する受信装置20からの応答パケットに含める。例えば応答パケットのDFMPヘッダの所定フィールドに制御情報を格納する。例えば制御情報が冗長化処理の開始を示す場合、所定フィールドに、例えば冗長化のオンのビット“1”を格納する。制御情報が冗長化処理の終了を示す場合、所定フィールドにオフのビット“0”を格納する。所定フィールドの初期値は“0”とする。制御情報が冗長度を示す場合、所定フィールドに、冗長度の値を格納する。
【0128】
中継処理部310は、制御情報が格納された応答パケットのIPヘッダに基づき、応答パケットの転送先を決定する。送信処理部304は、制御情報が格納された応答パケットを、決定された転送先に応じて送信する。制御情報が格納された応答パケットは、制御情報と受信装置20からの応答メッセージとを含むデータの一例である。応答パケットは、必要に応じて他の中継装置を経由した後、送信装置10で受信される。
【0129】
送信装置10(図16参照)の制御部104は、情報通信部106を介して応答パケットを受信し、応答パケットに含まれる制御情報に基づき、送信部105Bから送信するデータ(パケット)を冗長化する。冗長化の制御の詳細は、第1又は第2実施形態と同様である。
【0130】
図24は、第3実施形態に係る通信シーケンスの一例を示す。受信装置20が送信装置10と通信を開始する。受信装置20は、例えば一定の短い間隔でアプリケーションBに提供する優先度の高いデータの通信(例えばUDP通信又はTCP通信等)を開始する(S131)。
【0131】
その後、受信装置60が、送信装置50と輻輳制御付き通信(例えばTCP通信)を開始する(S132)。中継装置40は、送信装置50が輻輳制御付き通信を開始したことを検知する。中継装置40は、受信装置20から応答パケットを受信し(S133)、輻輳制御付き通信の開始を通知するデータ(輻輳制御付き通信の開始データ)を応答パケットに含める(S134)。中継装置40は、応答パケットを送信装置10に送信する(同S134)。開始データは、輻輳制御の検知を示す制御情報又、冗長化を明示又は黙示に指示する制御情報の一例に相当する。明示的に冗長化を指示しなくとも、輻輳制御の検知を送信装置10に通知して、送信装置10が輻輳制御の検知の通知を受信した場合には冗長化を開始するものであれば、黙示に冗長化を指示しているといえる。冗長化を明示又は黙示に指示する制御情報は、輻輳制御の検知を示すフラグでもよい。送信装置10は開始データを受信すると、受信装置20に送信するデータの冗長化を制御する(冗長度を高くする)。すなわち、送信装置10は送信するパケットの冗長度を上昇させ、冗長化されたパケットを送信する(S134A)。
【0132】
受信装置60は、送信装置50と輻輳制御付き通信を終了すると(S135)、中継装置40は、送信装置50が輻輳制御付き通信が終了したことを検知する。中継装置40は、受信装置20から応答パケットを受信し(S136)、輻輳制御付き通信の終了を通知するデータ(輻輳制御付き通信の終了データ)を、応答パケットに含める(S137)。中継装置40は、応答パケットを送信装置10に送信する(同S137)。この終了データは、輻輳制御の終了の検知を示す制御情報、又は冗長化の終了を明示又は黙示に指示する制御情報の一例に相当する。送信装置10は終了データを受信すると、受信装置20に送信するデータの冗長度の制御を終了する。
【0133】
図24の例では、中継装置40は輻輳制御付き通信の開始及び終了を制御情報として送信したが、中継装置40は冗長度を指示した制御情報を送信してもよい。
【0134】
また図24の例では中継装置40は制御情報を応答パケットに含めたが、応答パケットとは別のパケットによって制御情報を送信してもよい。この場合、応答パケットから送信装置10のIPアドレス等、各種ヘッダの作成に必要な情報を取得してもよい。
【0135】
図25は、第3実施形態に係る中継装置40の動作の一例のフローチャートである。中継装置40の中継処理部310における制御部311は、送信装置50と受信装置60間で行われる輻輳制御付き通信(第1通信)のデータ(パケット)の受信状況を監視する(S141)。制御部311は、データ(パケット)の受信状況に応じて、送信装置10の通信(第2通信)で送信されるパケットの冗長化を指示する制御情報を生成する(S142)。例えば、制御部311は、送信装置50及び受信装置60間でTCPによる通信が開始されたことを検知した場合に、当該輻輳制御付き通信の開始を通知する制御情報を生成する。制御部311は、生成した制御情報を、受信装置20から受信する応答パケットに含め、応答パケットを送信装置10に送信する(S143)。送信装置10の制御部104は、情報通信部106を介して制御情報を受信し、送信部105Bから送信するパケットを冗長化する。
【0136】
以上、本実施形態によれば、中継装置40が、送信装置50及び受信装置60間で行われる輻輳制御付き通信におけるデータの受信状況を監視し、当該データの受信状況に応じて、送信装置10から送信するデータの冗長化を制御する。これにより、輻輳制御に起因して送信装置50の送信レートが上昇した場合に、送信装置10の通信の品質が低下することを抑制できる。
【0137】
(第4実施形態)
第4実施形態では、中継装置40が送信装置50からのパケットの受信状況に応じて、受信装置20に送信装置10におけるデータの冗長化を要求する要求情報を送信する。例えば中継装置40は、受信装置20宛に中継するパケットに要求情報を含める。受信装置20は要求情報に基づき、パケットの冗長化を指示する制御情報(例えば輻輳制御の開始の検知を示す情報)を生成し、制御情報を送信装置10に送信する。例えば受信装置20は、制御情報を含む応答パケットを送信装置10宛に送信する。
【0138】
第4実施形態の通信システムのブロック図は、第3実施形態と同じ図20である。送信装置50のブロック図は、第3実施形態と同じ図15である。送信装置10(第3装置)のブロック図は第3実施形態と同じ図16である。受信装置60(第1装置)のブロック図は、第3実施形態と同じ図21である。
【0139】
中継装置40のブロック図は、第3実施形態と同じ図23である。制御部311の動作が異なる。
【0140】
図26は、受信装置20(第2装置)のブロック図である。第3実施形態の受信装置20のブロック図(図22)に制御部212が追加されている。制御部212以外の動作は第3実施形態と同じである。
【0141】
以下、第3実施形態との差分を説明する。中継装置40において中継処理部310の制御部311は、送信装置50と受信装置60間の通信(輻輳制御付き通信)に関して、受信処理部301におけるパケットの受信状況を監視している。送信装置50から受信するパケットは一例として送信装置50から受信する第1データに対応する。制御部311は、受信状況に応じて、送信装置10から送信するパケットの冗長度を決定、あるいは、冗長化処理の開始又は終了を決定する。制御部311は、冗長度、あるいは冗長化処理の開始又は終了を含む制御情報を送信装置10に送信することを受信装置20に要求する要求情報を生成する。要求情報は、受信装置20に送信装置10から送信するパケットの冗長化の制御を要求する情報である。制御部311は、生成した要求情報を、受信装置20に中継するパケットに含める。例えば中継するパケットのDFMPヘッダの所定フィールドに要求情報を格納する。中継するパケットは、送信装置10から受信したパケットのデータ(第2データ)と、要求情報とを含む。中継するパケットは一例として、受信装置20に中継する第3データに対応する。
【0142】
中継処理部310は、要求情報が格納されたパケットを、送信処理部304を介して受信装置20に送信する。送信されたパケットは、必要に応じて他の中継装置を経由した後、受信装置20で受信される。
【0143】
受信装置20の制御部212は、送信装置10からのパケットから要求情報を検出し、要求情報に従って、送信装置10から送信されるパケットの冗長化を指示する制御情報を生成する。制御部212は、応答パケットに制御情報を含め、制御情報を含む応答パケットを、情報通信部206を介して送信する。送信した応答パケットは、中継装置40を介して、送信装置10で受信される。送信装置10の制御部104は、情報通信部106を介して制御情報を受信し、受信した制御情報に基づき、送信部105Bから送信するパケットを冗長化する。
【0144】
図27は、第4実施形態に係る通信シーケンスの一例を示す。受信装置20が送信装置10と通信を開始する。例えば一定の短い間隔でアプリケーションBに提供する優先度の高いデータの通信(例えばUDP通信又はTCP通信等)を開始する(S151)。
【0145】
その後、受信装置60が、送信装置50と輻輳制御付き通信(例えばTCP通信)を開始する(S152)。中継装置40は、送信装置50が輻輳制御付き通信を開始したことを検知する。中継装置40は、送信装置10から受信するパケットに、冗長化を制御することを受信装置20に要求する要求情報を格納し、要求情報を格納したパケットを受信装置20に転送する(S153)。受信装置20は、送信装置10に送信する応答パケットの冗長化を制御する制御情報を格納し、制御情報を格納した応答パケットを送信する(S154)。制御情報は、一例として輻輳制御付き通信の開始を通知するデータ(輻輳制御付き通信の開始データ)である。応答パケットは中継装置40を介して送信装置10で受信される。送信装置10は送信するパケットの冗長度を上昇させ、冗長化されたパケットを送信する(S156)。
【0146】
受信装置60は、送信装置50と輻輳制御付き通信を終了すると(S157)、中継装置40は、送信装置50が輻輳制御付き通信が終了したことを検知する。中継装置40は、送信装置10から受信するパケットに、送信装置10から送信されるパケットの冗長度を低下又は冗長化を停止させることを受信装置20に要求する要求情報を格納し、要求情報を格納したパケットを受信装置20に転送する(S158)。受信装置20は、送信装置10に送信する応答パケットに制御情報を格納し、制御情報を格納した応答パケットを送信する(S159)。制御情報は、一例として輻輳制御付き通信の終了を通知するデータ(輻輳制御付き通信の終了データ)である。応答パケットは中継装置40を介して送信装置10で受信される。送信装置10は終了データを受信すると、受信装置20に送信するデータの冗長度の制御を終了する。
【0147】
図27の例では、受信装置20は輻輳制御付き通信の開始及び終了を制御情報として送信したが、受信装置20は冗長度を指示した制御情報を送信してもよい。
【0148】
また図27の例では中継装置40は制御情報を応答パケットに含めたが、応答パケットとは別のパケットによって制御情報を送信してもよい。
【0149】
図28は、第4実施形態に係る中継装置40の動作の一例のフローチャートである。中継装置40の中継処理部310における制御部311は、送信装置50と受信装置60間で行われる輻輳制御付き通信(第1通信)のデータ(パケット)の受信状況を監視する(S161)。制御部311は、データ(パケット)の受信状況に応じて、送信装置10の通信(第2通信)で送信されるパケットの冗長化を要求する要求情報を生成する(S162)。例えば、制御部311は、送信装置50及び受信装置60間でTCPによる通信が開始されたことを検知した場合に、当該通信の開始を通知する制御情報を送信装置10に送信することを受信装置20に要求する要求情報を生成する。制御部311は、生成した要求情報を、受信装置20へ中継するパケットに含め、要求情報を含むパケットを受信装置20に送信する(S163)。受信装置20の制御部212は、パケットに含まれる要求情報に従って、パケットの冗長化を指示する制御情報(例えば輻輳制御の開始の検知を示す情報)を含む応答パケットを生成する。制御部212は、応答パケットを、情報通信部206を介して送信装置10に送信する。送信装置10の制御部104は、情報通信部106を介して制御情報を受信する。制御部104は、制御情報に基づき、送信部105Bから送信するパケットの冗長度を制御する。
【0150】
以上、本実施形態によれば、中継装置40が、送信装置50及び受信装置60間で行われる輻輳制御付き通信におけるデータの受信状況を監視する。中継装置40は、当該データの受信状況に応じて、送信装置10から送信するデータの冗長化を制御することを要求する要求情報を受信装置20に送信する。受信装置20は要求情報に従って、送信装置10から送信するデータの冗長化を指示する制御情報を送信装置10に送信する。これにより、輻輳制御により送信装置50の送信レートが上昇した場合に、送信装置10の通信の品質が低下することを抑制できる。
【0151】
(第5実施形態)
前述した実施形態における各装置(送信装置10、又は受信装置20)の一部又は全部は、ハードウェアで構成されていてもよいし、CPU(Central Processing Unit)、又はGPU(Graphics Processing Unit)等が実行するソフトウェア(プログラム)の情報処理で構成されてもよい。ソフトウェアの情報処理で構成される場合には、前述した実施形態における各装置の少なくとも一部の機能を実現するソフトウェアを、フレキシブルディスク、CD-ROM(Compact Disc-Read Only Memory)、又はUSB(Universal Serial Bus)メモリ等の非一時的な記憶媒体(非一時的なコンピュータ可読媒体)に収納し、コンピュータに読み込ませることにより、ソフトウェアの情報処理を実行してもよい。また、通信ネットワークを介して当該ソフトウェアがダウンロードされてもよい。さらに、ソフトウェアがASIC(Application Specific Integrated Circuit)、又はFPGA(Field Programmable Gate Array)等の回路に実装されることにより、情報処理がハードウェアにより実行されてもよい。
【0152】
ソフトウェアを収納する記憶媒体の種類は限定されるものではない。記憶媒体は、磁気ディスク、又は光ディスク等の着脱可能なものに限定されず、ハードディスク、又はメモリ等の固定型の記憶媒体であってもよい。また、記憶媒体は、コンピュータ内部に備えられてもよいし、コンピュータ外部に備えられてもよい。
【0153】
図29は、前述した実施形態における各装置(送信装置10、又は受信装置20)のハードウェア構成の一例を示すブロック図である。各装置は、一例として、プロセッサ91と、主記憶装置92(メモリ)と、補助記憶装置93(メモリ)と、ネットワークインタフェース94と、デバイスインタフェース95と、を備え、これらがバス96を介して接続されたコンピュータ90として実現されてもよい。
【0154】
図29のコンピュータ90は、各構成要素を一つ備えているが、同じ構成要素を複数備えていてもよい。また、図29では、1台のコンピュータ90が示されているが、ソフトウェアが複数台のコンピュータにインストールされて、当該複数台のコンピュータそれぞれがソフトウェアの同一の又は異なる一部の処理を実行してもよい。この場合、コンピュータそれぞれがネットワークインタフェース94等を介して通信して処理を実行する分散コンピューティングの形態であってもよい。つまり、前述した実施形態における各装置(送信装置10、又は受信装置20)は、1又は複数の記憶装置に記憶された命令を1台又は複数台のコンピュータが実行することで機能を実現するシステムとして構成されてもよい。また、端末から送信された情報をクラウド上に設けられた1台又は複数台のコンピュータで処理し、この処理結果を端末に送信するような構成であってもよい。
【0155】
前述した実施形態における各装置(送信装置10又は受信装置20)の各種演算は、1又は複数のプロセッサを用いて、又は、ネットワークを介した複数台のコンピュータを用いて、並列処理で実行されてもよい。また、各種演算が、プロセッサ内に複数ある演算コアに振り分けられて、並列処理で実行されてもよい。また、本開示の処理、手段等の一部又は全部は、ネットワークを介してコンピュータ90と通信可能なクラウド上に設けられたプロセッサ及び記憶装置の少なくとも一方により実行されてもよい。このように、前述した実施形態における各装置は、1台又は複数台のコンピュータによる並列コンピューティングの形態であってもよい。
【0156】
プロセッサ91は、コンピュータの制御装置及び演算装置を含む電子回路(処理回路、Processing circuit、Processing circuitry、CPU、GPU、FPGA、又はASIC等)であってもよい。また、プロセッサ91は、専用の処理回路を含む半導体装置等であってもよい。プロセッサ91は、電子論理素子を用いた電子回路に限定されるものではなく、光論理素子を用いた光回路により実現されてもよい。また、プロセッサ91は、量子コンピューティングに基づく演算機能を含むものであってもよい。
【0157】
プロセッサ91は、コンピュータ90の内部構成の各装置等から入力されたデータやソフトウェア(プログラム)に基づいて演算処理を行い、演算結果や制御信号を各装置等に出力することができる。プロセッサ91は、コンピュータ90のOS(Operating System)や、アプリケーション等を実行することにより、コンピュータ90を構成する各構成要素を制御してもよい。
【0158】
前述した実施形態における各装置(送信装置10、又は受信装置20)は、1又は複数のプロセッサ91により実現されてもよい。ここで、プロセッサ91は、1チップ上に配置された1又は複数の電子回路を指してもよいし、2つ以上のチップあるいは2つ以上のデバイス上に配置された1又は複数の電子回路を指してもよい。複数の電子回路を用いる場合、各電子回路は有線又は無線により通信してもよい。
【0159】
主記憶装置92は、プロセッサ91が実行する命令及び各種データ等を記憶する記憶装置であり、主記憶装置92に記憶された情報がプロセッサ91により読み出される。補助記憶装置93は、主記憶装置92以外の記憶装置である。なお、これらの記憶装置は、電子情報を格納可能な任意の電子部品を意味するものとし、半導体のメモリでもよい。半導体のメモリは、揮発性メモリ、不揮発性メモリのいずれでもよい。前述した実施形態における各装置(送信装置10、又は受信装置20)において各種データを保存するための記憶装置は、主記憶装置92又は補助記憶装置93により実現されてもよく、プロセッサ91に内蔵される内蔵メモリにより実現されてもよい。例えば、前述した実施形態における一時記憶部140、240は、主記憶装置92又は補助記憶装置93により実現されてもよい。
【0160】
記憶装置(メモリ)1つに対して、複数のプロセッサが接続(結合)されてもよいし、単数のプロセッサが接続されてもよい。プロセッサ1つに対して、複数の記憶装置(メモリ)が接続(結合)されてもよい。前述した実施形態における各装置(送信装置10、又は受信装置20)が、少なくとも1つの記憶装置(メモリ)とこの少なくとも1つの記憶装置(メモリ)に接続(結合)される複数のプロセッサで構成される場合、複数のプロセッサのうち少なくとも1つのプロセッサが、少なくとも1つの記憶装置(メモリ)に接続(結合)される構成を含んでもよい。また、複数台のコンピュータに含まれる記憶装置(メモリ))とプロセッサによって、この構成が実現されてもよい。さらに、記憶装置(メモリ)がプロセッサと一体になっている構成(例えば、L1キャッシュ、L2キャッシュを含むキャッシュメモリ)を含んでもよい。
【0161】
ネットワークインタフェース94は、無線又は有線により、通信ネットワーク97に接続するためのインタフェースである。ネットワークインタフェース94は、既存の通信規格に適合したもの等、適切なインタフェースを用いればよい。ネットワークインタフェース94により、通信ネットワーク97を介して接続された外部装置98Aと情報のやり取りが行われてもよい。なお、通信ネットワーク97は、WAN(Wide Area Network)、LAN(Local Area Network)、PAN(Personal Area Network)等の何れか、又は、それらの組み合わせであってよく、コンピュータ90と外部装置98Aとの間で情報のやり取りが行われるものであればよい。WANの一例としてインターネット等があり、LANの一例としてIEEE802.11やイーサネット(登録商標)等があり、PANの一例としてBluetooth(登録商標)やNFC(Near Field Communication)等がある。
【0162】
デバイスインタフェース95は、外部装置98Bと直接接続するUSB等のインタフェースである。
【0163】
外部装置98Aはコンピュータ90とネットワークを介して接続されている装置である。外部装置98Bはコンピュータ90と直接接続されている装置である。
【0164】
外部装置98A又は外部装置98Bは、一例として、入力装置であってもよい。入力装置は、例えば、カメラ、マイクロフォン、モーションキャプチャ、各種センサ、キーボード、マウス、又はタッチパネル等のデバイスであり、取得した情報をコンピュータ90に与える。また、パーソナルコンピュータ、タブレット端末、又はスマートフォン等の入力部とメモリとプロセッサを備えるデバイスであってもよい。
【0165】
また、外部装置98A又は外部装置98Bは、一例として、出力装置でもよい。出力装置は、例えば、LCD(Liquid Crystal Display)、CRT(Cathode Ray Tube)、PDP(Plasma Display Panel)、又は有機EL(Electro Luminescence)パネル等の表示装置であってもよいし、音声等を出力するスピーカ等であってもよい。また、パーソナルコンピュータ、タブレット端末、又はスマートフォン等の出力部とメモリとプロセッサを備えるデバイスであってもよい。
【0166】
また、外部装置98Aまた外部装置98Bは、記憶装置(メモリ)であってもよい。例えば、外部装置98Aはネットワークストレージ等であってもよく、外部装置98BはHDD等のストレージであってもよい。
【0167】
また、外部装置98A又は外部装置98Bは、前述した実施形態における各装置(送信装置10、又は受信装置20)の構成要素の一部の機能を有する装置でもよい。つまり、コンピュータ90は、外部装置98A又は外部装置98Bの処理結果の一部又は全部を送信又は受信してもよい。
【0168】
本明細書(請求項を含む)において、「a、b及びcの少なくとも1つ(一方)」又は「a、b又はcの少なくとも1つ(一方)」の表現(同様な表現を含む)が用いられる場合は、a、b、c、a-b、a-c、b-c、又はa-b-cのいずれかを含む。また、a-a、a-b-b、a-a-b-b-c-c等のように、いずれかの要素について複数のインスタンスを含んでもよい。さらに、a-b-c-dのようにdを有する等、列挙された要素(a、b及びc)以外の他の要素を加えることも含む。
【0169】
本明細書(請求項を含む)において、「データを入力として/データに基づいて/に従って/に応じて」等の表現(同様な表現を含む)が用いられる場合は、特に断りがない場合、各種データそのものを入力として用いる場合や、各種データに何らかの処理を行ったもの(例えば、ノイズ加算したもの、正規化したもの、各種データの中間表現等)を入力として用いる場合を含む。また「データに基づいて/に従って/に応じて」何らかの結果が得られる旨が記載されている場合、当該データのみに基づいて当該結果が得られる場合を含むとともに、当該データ以外の他のデータ、要因、条件、及び/又は状態等にも影響を受けて当該結果が得られる場合をも含み得る。また、「データを出力する」旨が記載されている場合、特に断りがない場合、各種データそのものを出力として用いる場合や、各種データに何らかの処理を行ったもの(例えば、ノイズ加算したもの、正規化したもの、各種データの中間表現等)を出力とする場合も含む。
【0170】
本明細書(請求項を含む)において、「接続される(connected)」及び「結合される(coupled)」との用語が用いられる場合は、直接的な接続/結合、間接的な接続/結合、電気的(electrically)な接続/結合、通信的(communicatively)な接続/結合、機能的(operatively)な接続/結合、物理的(physically)な接続/結合等のいずれをも含む非限定的な用語として意図される。当該用語は、当該用語が用いられた文脈に応じて適宜解釈されるべきであるが、意図的に或いは当然に排除されるのではない接続/結合形態は、当該用語に含まれるものして非限定的に解釈されるべきである。
【0171】
本明細書(請求項を含む)において、「AがBするよう構成される(A configured to B)」との表現が用いられる場合は、要素Aの物理的構造が、動作Bを実行可能な構成を有するとともに、要素Aの恒常的(permanent)又は一時的(temporary)な設定(setting/configuration)が、動作Bを実際に実行するように設定(configured/set)されていることを含んでよい。例えば、要素Aが汎用プロセッサである場合、当該プロセッサが動作Bを実行可能なハードウェア構成を有するとともに、恒常的(permanent)又は一時的(temporary)なプログラム(命令)の設定により、動作Bを実際に実行するように設定(configured)されていればよい。また、要素Aが専用プロセッサ又は専用演算回路等である場合、制御用命令及びデータが実際に付属しているか否かとは無関係に、当該プロセッサの回路的構造が動作Bを実際に実行するように構築(implemented)されていればよい。
【0172】
本明細書(請求項を含む)において、含有又は所有を意味する用語(例えば、「含む(comprising/including)」及び有する「(having)等)」が用いられる場合は、当該用語の目的語により示される対象物以外の物を含有又は所有する場合を含む、open-endedな用語として意図される。これらの含有又は所有を意味する用語の目的語が数量を指定しない又は単数を示唆する表現(a又はanを冠詞とする表現)である場合は、当該表現は特定の数に限定されないものとして解釈されるべきである。
【0173】
本明細書(請求項を含む)において、ある箇所において「1つ又は複数(one or more)」又は「少なくとも1つ(at least one)」等の表現が用いられ、他の箇所において数量を指定しない又は単数を示唆する表現(a又はanを冠詞とする表現)が用いられているとしても、後者の表現が「1つ」を意味することを意図しない。一般に、数量を指定しない又は単数を示唆する表現(a又はanを冠詞とする表現)は、必ずしも特定の数に限定されないものとして解釈されるべきである。
【0174】
本明細書において、ある実施例の有する特定の構成について特定の効果(advantage/result)が得られる旨が記載されている場合、別段の理由がない限り、当該構成を有する他の1つ又は複数の実施例についても当該効果が得られると理解されるべきである。但し当該効果の有無は、一般に種々の要因、条件、及び/又は状態等に依存し、当該構成により必ず当該効果が得られるものではないと理解されるべきである。当該効果は、種々の要因、条件、及び/又は状態等が満たされたときに実施例に記載の当該構成により得られるものに過ぎず、当該構成又は類似の構成を規定したクレームに係る発明において、当該効果が必ずしも得られるものではない。
【0175】
本明細書(請求項を含む)において、「最大化(maximize)」等の用語が用いられる場合は、グローバルな最大値を求めること、グローバルな最大値の近似値を求めること、ローカルな最大値を求めること、及びローカルな最大値の近似値を求めることを含み、当該用語が用いられた文脈に応じて適宜解釈されるべきである。また、これら最大値の近似値を確率的又はヒューリスティックに求めることを含む。同様に、「最小化(minimize)」等の用語が用いられる場合は、グローバルな最小値を求めること、グローバルな最小値の近似値を求めること、ローカルな最小値を求めること、及びローカルな最小値の近似値を求めることを含み、当該用語が用いられた文脈に応じて適宜解釈されるべきである。また、これら最小値の近似値を確率的又はヒューリスティックに求めることを含む。同様に、「最適化(optimize)」等の用語が用いられる場合は、グローバルな最適値を求めること、グローバルな最適値の近似値を求めること、ローカルな最適値を求めること、及びローカルな最適値の近似値を求めることを含み、当該用語が用いられた文脈に応じて適宜解釈されるべきである。また、これら最適値の近似値を確率的又はヒューリスティックに求めることを含む。
【0176】
本明細書(請求項を含む)において、複数のハードウェアが所定の処理を行う場合、各ハードウェアが協働して所定の処理を行ってもよいし、一部のハードウェアが所定の処理の全てを行ってもよい。また、一部のハードウェアが所定の処理の一部を行い、別のハードウェアが所定の処理の残りを行ってもよい。本明細書(請求項を含む)において、「1又は複数のハードウェアが第1の処理を行い、前記1又は複数のハードウェアが第2の処理を行う」等の表現が用いられている場合、第1の処理を行うハードウェアと第2の処理を行うハードウェアは同じものであってもよいし、異なるものであってもよい。つまり、第1の処理を行うハードウェア及び第2の処理を行うハードウェアが、前記1又は複数のハードウェアに含まれていればよい。なお、ハードウェアは、電子回路、又は電子回路を含む装置等を含んでよい。
【0177】
本明細書(請求項を含む)において、複数の記憶装置(メモリ)がデータの記憶を行う場合、複数の記憶装置(メモリ)のうち個々の記憶装置(メモリ)は、データの一部のみを記憶してもよいし、データの全体を記憶してもよい。
【0178】
以上、本開示の実施形態について詳述したが、本開示は上記した個々の実施形態に限定されるものではない。特許請求の範囲に規定された内容及びその均等物から導き出される本発明の概念的な思想と趣旨を逸脱しない範囲において種々の追加、変更、置き換え及び部分的削除等が可能である。例えば、前述した全ての実施形態において、数値又は数式を説明に用いている場合は、一例として示したものであり、これらに限られるものではない。また、実施形態における各動作の順序は、一例として示したものであり、これらに限られるものではない。
【符号の説明】
【0179】
1A センサ、1B センサ、10 送信装置、11 送信処理部、20 受信装置、21 受信処理部、30 通信ネットワーク、40 中継装置、50 送信装置、60 受信装置、90 コンピュータ、91 プロセッサ、92 主記憶装置、93 補助記憶装置、94 ネットワークインタフェース、95 デバイスインタフェース、96 バス、97 通信ネットワーク、98A 外部装置、98B 外部装置、101A データ取得部、101B データ取得部、102A 送信バッファ部、102B 送信バッファ部、103 データフロー合成部、104 制御部、105A 送信部、105B 送信部、106 情報通信部、107A アンテナ、107B アンテナ、108B 通信部、140 一時記憶部、201A データ処理部、201B データ処理部、202A 受信バッファ部、202B 受信バッファ部、203 データフロー分離部、205A 受信部、205B 受信部、206 情報通信部、207A アンテナ、207B アンテナ、211 制御部、212 制御部、301 受信処理部、302 送信処理部、303 受信処理部、304 送信処理部、310 中継処理部、311 制御部、
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24
図25
図26
図27
図28
図29