(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-06-05
(45)【発行日】2024-06-13
(54)【発明の名称】通信装置及び通信方法
(51)【国際特許分類】
H04L 69/324 20220101AFI20240606BHJP
H04L 69/00 20220101ALI20240606BHJP
【FI】
H04L69/324
H04L69/00
(21)【出願番号】P 2020014072
(22)【出願日】2020-01-30
【審査請求日】2023-01-11
(73)【特許権者】
【識別番号】515130201
【氏名又は名称】株式会社Preferred Networks
(73)【特許権者】
【識別番号】000003207
【氏名又は名称】トヨタ自動車株式会社
(74)【代理人】
【識別番号】100091487
【氏名又は名称】中村 行孝
(74)【代理人】
【識別番号】100105153
【氏名又は名称】朝倉 悟
(74)【代理人】
【識別番号】100118876
【氏名又は名称】鈴木 順生
(72)【発明者】
【氏名】浅井 大史
(72)【発明者】
【氏名】土井 裕介
(72)【発明者】
【氏名】石山 政浩
(72)【発明者】
【氏名】大西 亮吉
【審査官】和平 悠希
(56)【参考文献】
【文献】特開2015-133648(JP,A)
【文献】国際公開第2016/181461(WO,A1)
【文献】特開2015-201687(JP,A)
【文献】特開2010-119098(JP,A)
【文献】国際公開第2019/189681(WO,A1)
【文献】特開2017-224875(JP,A)
【文献】特開2017-011534(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/00-12/66
H04L 41/00-101/695
(57)【特許請求の範囲】
【請求項1】
データを取得する複数のデータ取得部と、
前記複数のデータ取得部によって取得された複数の前記データに割り当てる第2シーケンス番号を前記データ取得部ごとに決定し、
第1ヘッダと、第2ヘッダと、前記データと、を含む
複数の第1パケット
を生成する、パケット生成部
であって、
前記第1ヘッダは、前記複数の第1パケットに割り当てられた複数の第1シーケンス番号のうちの1つを含み、
前記第2ヘッダは、前記データに割り当てられた前記第2シーケンス番号と、少なくとも前記データが取得された前記データ取得部又は前記データに対応するアプリケーションのいずれかを特定可能な識別子とを含む、パケット生成部と、
前記複数の
第1パケットを送信する送信部と、
前記データの再送要求を受信する情報通信部とを備え、
前記パケット生成部は、前記第1ヘッダと、前記第2ヘッダと、前記再送要求にかかる前記データとを含む第2パケットを生成し、前記第2パケットの前記第2ヘッダの前記第2シーケンス番号及び前記識別子は、前記再送要求に係る前記データを含む前記第1パケットの前記第2ヘッダの前記第2シーケンス番号及び前記識別子と同じであり、前記第2パケットの前記第1ヘッダの前記第1シーケンス番号は、前記再送要求に係る前記データを含む前記第1パケットの前記第1ヘッダの前記第1シーケンス番号と異なり、
前記送信部は、前記第2パケットを送信する、
通信装置。
【請求項2】
前記第1ヘッダは、前記
第1パケットの送信時刻を表す第1タイムスタンプを含む
請求項
1に記載の通信装置。
【請求項3】
前記複数のデータ取得部によって取得された複数の前記データをバッファリングする複数の送信バッファ部と、
前記パケット生成部は、前記
複数の送信バッファ部から前記データを読み出し、読み出した前記データと前記第1
ヘッダと前記第2ヘッダとを含む前記
第1パケットを生成し、
前記
複数の送信バッファ部にバッファリングされている複数の前記データの送信の時間制約に基づき、前記パケット生成部を制御する送信制御部と、を備えた、
請求項1又は2に記載の通信装置。
【請求項4】
前記
複数の送信バッファ部が第1データと前記第1データより時間制約が短い第2データを
それぞれバッファリングしている場合、前記送信制御部は、前記第2データが前記第1データより先に読み出されるように前記パケット生成部を制御する、
請求項
3に記載の通信装置。
【請求項5】
前記送信制御部は、前記複数の
第1パケットの受信装置から
、前記複数の
第1パケットが送信された通信路の通信品質を表す情報を受信し、前記情報に基づき、前記パケット生成部を制御する
請求項
3又は
4に記載の通信装置。
【請求項6】
前記パケット生成部は、前記情報が前記通信品質が低いことを表す場合は、前記送信バッファ部から読み出した前記データを複製し
、前記データと前記第1ヘッダと前記第2ヘッダとを含む第3パケットと、複製した前記データと前記第1ヘッダと前記第2ヘッダとを含む第4パケットを生成し、
前記第3パケットと前記第4パケットの前記第1ヘッダの前記第1シーケンス番号は異なり、前記第3パケットと前記第4パケットの前記第2ヘッダの前記第2シーケンス番号は同じであり、
前記送信部は、前記
第3パケットと
前記第4パケットと、を送信する
請求項
5に記載の通信装置。
【請求項7】
前記送信部は、第1送信部と第2送信部を含み、
前記第1送信部及び前記第2送信部のうちの一方は、前記
第3パケットを送信し、
前記第1送信部及び前記第2送信部のうちの他方は、前記
第4パケットを送信する
請求項
6に記載の通信装置。
【請求項8】
前記
第1パケットは、
前記第2ヘッダと前記データとの組を複数含み、
複数の前記組のうちの1つの前記第2ヘッダに含まれる前記識別子は、複数の前記組のうちの別の1つの前記第2ヘッダに含まれる前記識別子と異なる
請求項
1~7のいずれか1項に記載の通信装置。
【請求項9】
前記第1ヘッダの通信プロトコル及び前記第2ヘッダの通信プロトコルは、IP又はUDPよりも上位のプロトコルである
請求項
1~8のいずれか1項に記載の通信装置。
【請求項10】
前記複数のデータ取得部は、複数のセンサから前記データを生成する
請求項1~
9のいずれか一項に記載の通信装置。
【請求項11】
前記センサは、車両に搭載されている
請求項
10に記載の通信装置。
【請求項12】
前記センサは、少なくとも、カメラ、GPS、走行情報の検知センサ、自動車の制御データの検出センサ、ブレーキの検出センサ又は障害物の検出センサのいずれか1つである
請求項
11に記載の通信装置。
【請求項13】
前記アプリケーションは、少なくとも、地図を生成するアプリケーション、車両制御に用いられるモデルを生成するアプリケーション又は道路の安全情報を生成するアプリケーションのいずれか1つである
請求項1~
12のいずれか一項に記載の通信装置。
【請求項14】
前記複数のデータ取得部によって第1データと前記第1データより時間制約が短い第2データとが取得された場合、前記送信部は、前記第2データを含む前記
第1パケットを送信した後、前記第1データを含む前記
第1パケットを送信する、
請求項1~13のいずれか一項に記載の通信装置。
【請求項15】
データを処理する複数のデータ処理部と、
第1シーケンス番号を含む第1ヘッダと、前記
データと、前記複数のデータ処理部のうちの1つを特定可能な識別子
と前記識別子ごとに前記データに対して割り当てられる第2シーケンス番号とを含む第2ヘッダと、を含む
複数のパケット
を受信する受信部と、
前記パケットの欠損を検出するデータフロー分離部と、
前記欠損に基づく情報を前記複数のパケットの送信元の装置に送信する情報通信部と、
前記パケットの前記第2ヘッダに含まれる前記識別子により特定される前記データ処理部に、前記パケットに含まれる前記データを提供するデータ提供部と、
を備え、
前記受信部が受信する前記複数のパケットは、第1パケットと、前記第1パケットより後に受信される第2パケットとを含み、前記第2パケットの前記第1シーケンス番号は、前記第1パケットの前記第1シーケンス番号より遅い番号であり、前記第2パケットは、前記第1パケットに含まれる前記識別子とは異なる前記識別子を少なくとも含み、
前記情報通信部は、前記データフロー分離部によって前記第1パケットの欠損が検出された場合に、前記第1パケットに含まれていた前記データの再送要求を、前記複数のパケットの送信元の装置に送信し、
前記データ提供部は、前記第1パケットの欠損が検出されて前記第1パケットに含まれていた前記データの前記再送要求に対する再送パケットが受信されていなくても、前記第2パケット内の前記異なる前記識別子により特定される前記データ処理部に渡す前記データについて欠損が検出されない場合は、前記第2パケット内の前記データを前記異なる前記識別子により特定される前記データ処理部に提供する、
通信装置。
【請求項16】
前記複数のデータ処理部に対応し、格納しているデータを対応する前記データ処理部に出力する複数の受信バッファ部をさらに備え、
前記データ提供部は、前記第2パケット内の前記データを前記識別子により特定される前記データ処理部に対応する前記受信バッファ部に提供する、
請求項15に記載の通信装置。
【請求項17】
前記パケットの前記第1ヘッダは、前記パケットの送信時刻を表す第1タイムスタンプを含み、
前記データフロー分離部は、前記第1タイムスタンプと前記パケットの受信時刻とに基づき、前記複数のパケットの通信品質情報を生成し、
前記情報通信部は、前記通信品質情報を前記複数のパケットの送信元の装置に送信する
請求項
15又は16に記載の通信装置。
【請求項18】
前記データ処理部は、対応するアプリケーションを実行する
請求項
15~17のいずれか一項6に記載の通信装置。
【請求項19】
前記アプリケーションは、少なくとも、地図を生成するアプリケーション、車両制御に用いられるモデルを生成するアプリケーション又は道路の安全情報を生成するアプリケーションのいずれか1つである
請求項
18に記載の通信装置。
【請求項20】
通信装置によって実行される通信方法であって、
データを取得する複数のデータ取得部によって取得された複数のデータに割り当てる第2シーケンス番号を前記データ取得部ごとに決定し、
第1ヘッダと、第2ヘッダと、前記データと、を含む複数の第1パケットを生成し、前記第1ヘッダは、前記複数の第1パケットに割り当てられた複数の第1シーケンス番号のうちの1つを含み、前記第2ヘッダは、前記データに割り当てられた前記第2シーケンス番号と、少なくとも前記データが取得された前記データ取得部又は前記データに対応するアプリケーションのいずれかを特定可能な識別子とを含み、
前記複数の第1パケットを送信し、
前記データの再送要求を受信し、
前記第1ヘッダと、前記第2ヘッダと、前記再送要求にかかる前記データとを含む第2パケットを生成し、前記第2パケットの前記第2ヘッダの前記第2シーケンス番号及び前記識別子は、前記再送要求に係る前記データを含む前記第1パケットの前記第2ヘッダの前記第2シーケンス番号及び前記識別子と同じであり、前記第2パケットの前記第1ヘッダの前記第1シーケンス番号は、前記再送要求に係る前記データを含む前記第1パケットの前記第1ヘッダの前記第1シーケンス番号と異なり、
前記第2パケットを送信する、
通信方法。
【請求項21】
通信装置によって実行される通信方法であって、
第1シーケンス番号を含む第1ヘッダと、データと、複数のデータ処理部のうちの1つを特定可能な識別子と前記識別子ごとに前記データに対して割り当てられる第2シーケンス番号とを含む第2ヘッダと、を含む複数のパケットを受信し、
前記パケットの欠損を検出し、
前記欠損に基づく情報を前記複数のパケットの送信元の装置に送信し、
前記パケットの前記第2ヘッダに含まれる前記識別子により特定される前記データ処理部に、前記パケットに含まれる前記データを提供し、
受信される前記複数のパケットは、第1パケットと、前記第1パケットより後に受信される第2パケットとを含み、前記第2パケットの前記第1シーケンス番号は、前記第1パケットの前記第1シーケンス番号より遅い番号であり、前記第2パケットは、前記第1パケットに含まれる前記識別子とは異なる前記識別子を少なくとも含み、
前記第1パケットの欠損が検出された場合に、前記第1パケットに含まれていた前記データの再送要求を、前記複数のパケットの送信元の装置に送信し、
前記第1パケットの欠損が検出されて前記第1パケットに含まれていた前記データの前記再送要求に対する再送パケットが受信されていなくても、前記第2パケット内の前記異なる前記識別子により特定される前記データ処理部に渡す前記データについて欠損が検出されない場合は、前記第2パケット内の前記データを前記異なる前記識別子により特定される前記データ処理部に提供する、
通信方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、通信装置及び通信方法に関する。
【背景技術】
【0002】
自動車の安全、快適で効率的な走行、及び自動運転を実現するには、自動車に備えられた各種センサからデータを収集することが必要不可欠である。収集したデータは、例えば、自動運転車の走行状況を遠隔監視するのに用いられる。また、カメラ映像から自動運転などに用いる高精細地図(HD Map: High Definition Map)を生成する利用例も議論されている。さらに、収集したデータを処理することで、路上の異変や危険を検出し、異常として他の自動車に通知するようなV2C2V(Vehicle-to-Cloud-to-Vehicle)アプリケーションもある。
【0003】
このように自動車からデータを収集することが重要となっている一方、データを利用するアプリケーションも多様化しており、収集するデータが実際に必要とされるタイミングがアプリケーションにより大きく異なる。現在のインターネットで一般的に用いられているベストエフォートの通信原理では、HD Map用のカメラ映像のように時間制約が緩い大容量データの転送により輻輳が発生すると、遠隔監視のように時間制約の厳しいデータ転送が影響を受けることがある。例えば、再送やキューイングによる通信遅延の増大や、パケットロスによるデータ消失といった影響がある。
【先行技術文献】
【非特許文献】
【0004】
【文献】Network Working Group, “Requirements for Internet Hosts- - communication layers”, [Online], October 1989, IETF, [令和2年1月27日検索], インターネット<URL:https://tools.ietf.org/html/rfc1122>
【文献】SIGCOMM '17: Proceedings of the Conference of the ACM Special Interest Group on Data Communication, , [Online], August 2017, Pages 183-196, IETF, [令和2年1月27日検索],インターネット<URL:https://dl.acm.org/doi/abs/10.1145/3098822.3098842>
【発明の概要】
【発明が解決しようとする課題】
【0005】
本発明の実施形態は、複数のデータの送信を適切に管理する通信装置及び通信方法を提供する。
【課題を解決するための手段】
【0006】
本実施形態に係る通信装置は、データを取得する複数のデータ取得部と、前記複数のデータ取得部によって取得された複数の前記データに対して連続する第1シーケンス番号を決定し、前記データと、前記データに対して決定された前記第1シーケンス番号とを含む複数のパケットを生成する、パケット生成部と、前記複数のパケットを送信する送信部とを備える。
【図面の簡単な説明】
【0007】
【
図1】第1実施形態に係るデータ送信システムのブロック図。
【
図3】DFCPパケットのフォーマット例を示す図。
【
図4】DFMPパケットのフォーマット例を示す図。
【
図5】データリンク層パケットのフォーマット例を示す図。
【
図6】第1実施形態に係る送信装置の動作の具体例を示す図。
【
図9】第1実施形態に係る送信装置の動作の一例のフローチャート。
【
図10】第1実施形態に係る受信装置の動作の一例のフローチャート。
【
図11】2つのDFCPパケットを1つのDFMPパケットに集約した例を示す図。
【
図12】複数のDFCPパケットが集約されたDFMPパケットに各種ヘッダを付加した例を示す図。
【
図13】ペイロード長が短いDFCPパケットを冗長化して送信する例を示す図。
【
図14】送信装置又は受信装置のハードウェア構成の一例を示すブロック図。
【発明を実施するための形態】
【0008】
以下、図面を参照して、本開示の実施形態について説明する。図面は、本開示の実施形態を一例として模式的に示すものであり、本開示の実施形態は、図面に開示された形態に限定されるものではない。
【0009】
(第1実施形態)
図1は、本実施形態に係るデータ送信システムのブロック図である。
図1のデータ送信システムは、送信装置10を搭載した複数の移動体Mと、受信装置20とを備える。送信装置10及び受信装置20は、本実施形態に係る通信装置又無線通信装置の一例に相当する。
【0010】
移動体Mは、自動車、ロボット、船舶、ドローン、モバイル端末(スマートフォン、タブレット端末等)、又は電車など、任意の移動体である。本実施形態では送信装置10は移動体に搭載されているが、送信装置10は固定設置された端末又はマシンに搭載されてもよい。本実施形態では移動体Mは自動車である場合を想定する。自動車は、例えば、ユーザの運転を支援する機能を有する自動車、又は自律的に判断して走行する自動運転車である。
【0011】
移動体Mの送信装置10は、通信ネットワーク30に接続されている。通信ネットワーク30は、一例として、モバイルネットワーク又は無線LAN(Local Area Network)等である。モバイルネットワークの例として、3Gネットワーク,LTEネットワーク、次世代(5G)ネットワークなどがあるが、ネットワークの種類は何でもよい。通信ネットワーク30は、無線であることに限定されず、有線のネットワークでもよい。通信ネットワーク30は、複数種類のネットワークを含んでいてもよい。この場合、送信装置10が、通信に用いるネットワークを複数種類のネットワークから選択してもよい。本実施形態では送信装置10は無線通信を行うが、有線通信を行う構成も排除されない。
【0012】
送信装置10は、移動体Mに設けられた複数のセンサからデータを取得する。複数のセンサは、複数のアプリケーションに提供するデータを検出する。送信装置10は、アプリケーション毎のデータを含むパケットを生成し、生成したパケットを受信装置20に送信する。複数のセンサの例は、カメラ、GPS、走行情報の検知センサ(LiDAR(Light Detecting And Ranging)、速度センサ、加速度センサなど)、自動車の制御データ(エンジン回転状態、アクセルの踏み込み状態など)の検出センサ、急ブレーキの検出センサ、障害物(落下物、前方車両)の検出センサなどを含む。各センサから断続的又は特定のタイミングで出力されるデータが、各々1つのデータフローとなる。
【0013】
受信装置20は、通信ネットワーク30に接続されている。一例として、受信装置20はモバイルネットワークに配置されており、受信装置20は、モバイルネットワークのエッジコントローラでもよい。受信装置20は、移動体Mから複数のアプリケーションに対するデータを含む複数のパケットを受信する。受信装置20は、移動体Mから受信したデータを処理する複数のアプリケーションを備えていている。受信装置20は移動体Mから受信したパケットからデータを取得し、取得したデータをそれぞれ対応するアプリケーションに渡す。複数のアプリケーションの例は、高精細度地図を生成するアプリケーション、エンジン制御の最適化モデルを生成するアプリケーション、道路安全情報を生成するアプリケーションなどがある。一例として、高精細度地図を生成するアプリケーション、エンジン制御の最適化モデルを生成するアプリケーションに対するデータ送信の時間制約は長く(1分、1時間、1日など)、道路安全情報を生成するアプリケーションに対するデータ送信の時間制約は短い(例えば10秒以下)。このような送信の時間制約の情報は、予め送信装置10と受信装置20間で共有されていてもよい。
【0014】
受信装置20が中継装置として機能する場合、受信装置20が複数のアプリケーションを備えていなくてもよい。この場合、中継装置としての受信装置20が、移動体Mの送信装置10から受信したデータを、複数のアプリケーションを備える別のサーバに送信する。
【0015】
移動体Mの送信装置10及び受信装置20は、一例として基地局を介して通信する。この場合、送信装置10は、所定の接続プロセスを実行することにより、近傍の基地局と無線接続する。移動体Mの送信装置10は、接続した基地局を介して、受信装置20と通信する。受信装置20は、基地局と無線又は有線で接続されている。受信装置20は、複数の基地局と接続されていてもよいし、基地局と1対1で接続されていてもよい。送信装置10及び受信装置20間の伝送路には、基地局を含む1つ以上のパケット中継装置が存在してもよい。
【0016】
本実施形態では、受信装置20が様々な時間制約を有する各アプリケーションに対するデータを移動体Mから取得する場合に、各アプリケーションの時間制約を満たすように移動体Mからデータを送信する仕組みを実現する。本実施形態では、移動体Mの送信装置10が、複数のセンサから取得した複数のアプリケーションのデータを別々のデータフローとしてではなく、同一のデータフローとして受信装置20に送信するプロトコルとして、データフロー管理用のプロトコル(データフロー管理プロトコル(DFMP))と、データフロー制御用のプロトコル(データフロー制御プロトコル(DFCP))を導入する。DFMPはDFCPの下位層である。
【0017】
DFCPの処理では、各アプリケーションのデータにアプリケーションに固有の特定のID(フローIDと呼ぶ)を含むDFCPヘッダを付加し、DFCPパケットとする。そして、これら複数のアプリケーションのDFCPパケットに、これらのDFCPパケットの送信順序に応じて、連続するシーケンス番号(グローバルシーケンス番号と呼ぶ)を決定する。決定したシーケンス番号を含むDFMPヘッダをDFCPパケットに付加して、DFMPパケットとする。つまり、DFMPでは、アプリケーションごとに別々にシーケンス番号を割り当てるのではなく、複数のアプリケーションのDFCPパケットにこれらのDFCPパケットの送信順序に応じて連続するシーケンス番号(グローバルシーケンス番号)を割り当てる。また、DFMPヘッダにはDFMPパケットの送信時刻(タイムスタンプ)を含めてもよい。
【0018】
受信装置20では、送信装置10から送信されるDFMPパケットを受信し、DFMPヘッダに含まれるグローバルシーケンス番号に基づき、パケットのロス(欠損)を検出する。パケットロスには、電磁気学的なノイズに起因するビットエラーやパケットの消失の他、パケットが途中の装置で転送される際に、パケット中継装置のバッファが溢れることにより起こりうるパケットの消失もある。また、受信装置20は、DFMPヘッダのタイムスタンプとDFMPパケットの受信時刻との差分に基づき、パケット到着の遅延時間の揺らぎを検出する。受信装置20は、これらの検出結果に基づき、パケットの受信品質に関する情報を、送信装置10にフィードバック情報として送信する。また、受信装置20では、DFMPパケットからDFMPヘッダを除去してDFCPパケットを取得し、DFCPパケットのペイロードに含まれるデータを、DFCPヘッダのフローIDに対応するアプリケーションに渡す。
【0019】
送信装置10では、フィードバック情報と各アプリケーションの時間制約とに基づき、各アプリケーションに対するデータの送信制御を行う。一例として、パケットロス率が閾値以上の場合は、時間制約の短いアプリケーションのデータ(急ブレーキのイベントデータなど)を冗長して又は優先的に送信するようにする。データを冗長して送信する例として、同じデータを複数のDFCPパケットで送信することや、さらに、これら複数のDFCPパケットを別々の伝送路(例えば5GとLTE)で送信することがある。これにより、複数のデータのうちの1つが消失したとしても、別のデータが受信装置20に届くことで、時間制約の短いデータを受信装置20に確実に届ける可能性を高めることができる。また、時間制約の短いデータを優先的に送信する例として、例えば時間制約の長いアプリケーションのデータ(映像データなど)の送信レートを下げることもある。これにより伝送路を送信されるパケット数が減るため、パケットロスの低下が期待できる。このように複数のアプリケーションのデータを同一のデータフローとして管理することで、アプリケーションごとのデータ送信を個別に制御して、時間制約の短いアプリケーション及び時間制約の長いアプリケーションのいずれの時間制約を満たすようにすることを実現する。以下、このような本実施形態に係るデータ送信システムについて詳細に説明する。
【0020】
図2は、送信装置10のブロック図である。送信装置10は、本実施形態に係る通信装置又は無線通信装置の一例に相当する。
【0021】
送信装置10は、複数のデータ取得部101A、101B、複数の送信バッファ部102A、102B、データフロー合成部(パケット生成部)103、送信制御部104、送信部105A、105B、情報通信部106及びアンテナ107A、107Bを備えている。
【0022】
図2の例では、データ取得部は2つであるが、3つ以上でもよい。同様に送信バッファ部は2つであるが、3つ以上でもよい。送信部は2つであるが、1つ又は3つ以上でもよい。
【0023】
データ取得部101A、101Bを特に区別しないときはデータ取得部101と記載する。送信バッファ部102A、102Bを特に区別しないときは送信バッファ部102と記載する。送信部105A、105Bを特に区別しないときは送信部105と記載する。アンテナ107A、107Bを特に区別しないときはアンテナ107と記載する。
【0024】
データ取得部101A、101Bはそれぞれセンサ1A、1Bに接続されている。センサ1Aは、アプリケーションAに提供するデータを出力する。センサ1Bは、アプリケーションBに提供するデータを出力する。
図2の例ではセンサは2つであるが、3つ以上でもよい。センサ1A、1Bを特に区別しないときはセンサ1と記載する。
【0025】
複数のセンサの例は、カメラ、GPS、走行情報の検知センサ(LiDAR(Light Detecting And Ranging)、速度センサ、加速度センサなど)、自動車の制御データ(エンジン回転状態、アクセルの踏み込み状態など)の検出センサ、急ブレーキの検出センサ、障害物(落下物、前方車両)の検出センサなどを含む。センサは、時系列に一定間隔でデータを出力するものでも、イベントが発生したタイミングなど、特定のタイミングでデータを出力するものでもよい。センサの例は上記のものに限定されない。例えば、センサは、自動車の搭乗者等のユーザから操作部を介して入力されるデータを検出するものでもよい。
【0026】
各センサから一定間隔又は特定のタイミングで出力されるデータが、各々1つのデータフローとなる。
【0027】
データ取得部101A、101Bは、センサ1A、1Bで検出されたデータを取得する。データ取得部101A、101Bは、取得したデータを、送信バッファ部102A、102Bに提供する。センサで検出されたデータは、例えばセンサの属性情報、検出時刻及びデータ本体を含む。
【0028】
なお、データ取得部101は、センサ1から取得したデータに所定の演算(例えば平均値の計算)を行い、演算後のデータを送信バッファ部102に提供してもよい。また、データ取得部101は、2つ以上のセンサから取得したデータに基づく所定の演算(例えば四則演算)を行い、演算後のデータを送信バッファ部102に提供してもよい。
【0029】
送信バッファ部102A、102Bは、データ取得部101A、101Bからデータを受け取り、受け取ったデータを内部の記憶領域に格納する。すなわち、送信バッファ部102A、102Bは、データ取得部101A、101Bから取得したデータをバッファリングする。送信バッファ部102A、102Bは、データを受け取った順序を管理しており、受け取った順序でデータを出力する。送信バッファ部102A、102Bは、所定サイズの記憶領域を有する記憶装置であり、一例として、メモリ又はハードディスクなどの記録媒体により構成される。
【0030】
送信制御部104は、送信バッファ部102A、102Bのバッファリングの状態を監視し、送信バッファ部102A、102Bからのデータの読み出し及び送信を制御する。例えば、データ送信の時間制約が短いアプリケーションのデータ(例えばデータを検出してから1秒以内でアプリケーションに伝送する場合)については、当該データが格納されている送信バッファ部からデータを即時に読み出すように制御する。一方、データ送信の時間制約が長いアプリケーションのデータ(例えばデータを検出してから24時間以内にアプリケーションに伝送する場合)については、時間制約が短いアプリケーションのデータを格納する送信バッファ部内にデータが格納されていないときに読み出すように制御する。また、通信ネットワーク30で使用する伝送路の帯域を確認し、帯域に余裕があるときにのみ、データ送信の時間制約が長いアプリケーションのデータを読み出すよう制御してもよい。他の方法でデータの読み出しを制御してもよい。例えば、送信制御部104は、データ送信の時間制約に応じたレートで各送信バッファ部からデータを読み出すようにしてもよい。
【0031】
時間制約が短いか長いかは、例えばアプリケーションごとに予め時間制約が短いか長いかを定めておき、送信装置10及び受信装置20間で時間制約に関する情報を共有していてもよい。または、時間制約が短いか長いかを、閾値との比較により判断してもよい。この場合、時間制約が閾値未満であれば、時間制約が短いと判断し、閾値以上であれば、時間制約が長いと判断する。他の方法で、時間制約が短いか長いかを判断してもよい。
【0032】
データフロー合成部(パケット生成部)103は、送信制御部104の制御に基づき、送信バッファ部102A、102Bからデータを読み出す。データフロー合成部103は、読み出したデータをデータフロー制御プロトコル(DFCP)及びデータフロー管理プロトコル(DFMP)に従って処理することによりDFMPパケットを生成する。データフロー合成部103は、DFCP及びDFMPに従ってDFMPパケットを生成するパケット生成部を備える。
【0033】
まず、データフロー合成部103は、読み出したデータに、データフロー制御プロトコル(DFCP)のヘッダであるDFCPヘッダを付加し、DFCPパケット(第2パケット)とする。
【0034】
より詳細には、データが読み出された送信バッファ部に応じて(あるいは、読み出したデータに対応するアプリケーションに応じて)、アプリケーション毎のシーケンス番号(ローカルシーケンス番号と呼ぶ)を、読み出されたデータに対して決定する。また時計からデータの送信時刻(第2タイムスタンプ)を取得する。ローカルシーケンス番号と、送信時刻(第2タイムスタンプ)と、フローIDと、を含むDFCPヘッダを生成する。生成したDFCPヘッダを、読み出したデータに付加する。これにより、DFCPパケットを得る。フローIDはデータ取得部又はアプリケーションを特定する識別子である。同じフローIDに対応するデータは、同じセンサから取得されたデータ、同じ送信バッファから読み出されたデータ、あるいは同じアプリケーションに提供するデータに相当する。ローカルシーケンス番号は、本実施形態に係る第2シーケンス番号に対応する。
【0035】
図3に、DFCPパケットのフォーマット例を示す。DFCPパケットは、DFCPヘッダとペイロード部とを含む。ペイロード部には、送信バッファ部102から読み出されたデータが格納される。DFCPヘッダには、フローID、ローカルシーケンス番号、送信時刻(第2タイムスタンプ)等が含まれる。図のTSは、送信時刻(第2タイムスタンプ)を表す。DFCPヘッダには、その他のフィールドが含まれてもよい。例えば、DFCPパケットのペイロードに含まれるデータが、映像データなどのストリームデータなのか、イベントデータなどの非ストリームデータなのかを示すタイプフィールドがあってもよい。非ストリームデータの場合、DFCPヘッダにシーケンス番号を含めない構成も可能である。また、誤り検出用のチェックサムのフィールドがあってもよい。その他、一般的なプロトコルのヘッダが備える各種フィールド(バージョン、ヘッダ長、ペイロード長、リザーブなどのフィールド)が含まれていてもよい。
【0036】
続けて、データフロー合成部103は、DFMPの処理により、生成したDFCPパケットにさらにDFMPヘッダを付加して、DFMPパケットとする。より詳細には、まずDFCPパケットを生成するごとに、連続するシーケンス番号(グローバルシーケンス番号と呼ぶ)を決定する。ここで決定するシーケンス番号は、DFCPパケットのヘッダに含められるローカルシーケンス番号(第2シーケンス番号)とは独立したシーケンス番号である。グローバルシーケンス番号は、本実施形態に係る第1シーケンス番号に対応する。連続するシーケンス番号は、DFMPパケットの連続性を示すことができる限り、どのようなルールで決定してもよい。例えばシーケンス番号は一定値(例えば1)ずつ増加する番号でもよいし、一定値ずつ減少する番号でもよい。一定のルールでシーケンス番号が変化し、当該ルールが送信側と受信側で共有されていれば、途中でシーケンス番号が欠落した場合に、DFMPパケットの連続性が途切れたことを検出できる。
【0037】
また、データフロー合成部103は、時計から送信時刻(第1タイムスタンプ)を取得する。グローバルシーケンス番号(第1シーケンス番号)と、送信時刻(第1タイムスタンプ)とを含むDFMPヘッダを生成する。データフロー合成部103は、DFMPヘッダをDFCPパケットに付加することにより、DFMPパケットとする。DFMPヘッダに含まれる送信時刻として、DFCPヘッダに含まれる送信時刻と同じ値を用いてもよい。
【0038】
このように、データフロー合成部103は、送信バッファ部102A、102Bからデータを読み出すごとに、データにDFCPヘッダを付加し、さらにDFMPヘッダを付加することでDFMPパケットを生成する。DFCPヘッダにはアプリケーションごとのローカルシーケンス番号と、アプリケーションごとに一定のフローID等が含まれる。DFMPヘッダには複数のアプリケーション全体に適用されるグローバルシーケンス番号等が含められる。
【0039】
図4に、DFMPパケットのフォーマット例を示す。DFMPパケットは、DFMPヘッダとペイロード部とを含む。ペイロード部にはDFCPパケットが格納される。DFMPヘッダには、前述したように、グローバルシーケンス番号(第1シーケンス番号)、送信時刻(第1タイムスタンプ)が含まれる。図のTSは、送信時刻(第1タイムスタンプ)を表す。DFMPヘッダには、その他のフィールドが含まれてもよい。例えば、バージョン、ヘッダ長、ペイロード長、リザーブなどのフィールドが含まれていてもよい。
【0040】
送信部105A、105Bは、それぞれ異なる通信プロトコルを用いて、受信装置20と通信する。一例として、一方の通信部は5Gモバイル規格のプトロコルの通信を行い、他方の通信部は4G(LTE)モバイル規格のプロトコルの通信を行う。5Gモバイル規格及び4Gモバイル規格は、通信プロトコルの一例であり、無線LANなど、他のプロトコルでもよい。
【0041】
データフロー合成部103は、送信制御部104の制御の元、生成したDFMPパケットを送信部105A、105Bの少なくとも一方に提供する。一例として初期状態として、送信部105A及び105Bのうちの予め定められた一方に提供してもよい。送信部105A及び105Bは、データフロー合成部103から提供されたDFMPパケットに、トランスポート層のヘッダ、ネットワーク層のヘッダ、データリンク層のヘッダを付加してデータリンク層パケットとする。トランスポート層の例は、UDP(User Datagram Protocol)及びDTLS(Datagram Transport Layer Security)を含む。ネットワーク層の例は、IP(Internet Protocol)を含む。データリンク層の例は、イーサネット(登録商標)又はIEEE802.11のプロトコルを含む。なお、これらの層の全てが必須ではなく、例えばトランスポート層など、一部の層が存在しなくてもよい。
【0042】
図5は、データリンク層パケットのフォーマット例を示す。この例では、イーサーネットヘッダ、IPヘッダ、UDPヘッダ、DTLS Recordヘッダ、DTLS HMAC、DFMPヘッダ、DFCPヘッダ、ペイロード部、イーサネットFCS(Frame Check Sequence)を含む。ペイロード部には、DFCPパケットのペイロード部のデータ(センサで検出されたデータ)が格納される。DFMP及びDFCPは、IP(インターネットプロトコル)よりも上位のプロトコルであり、UDPよりも上位のプロトコルである。
【0043】
送信部105は、データリンク層パケットにさらに物理層のヘッダを付加して物理パケットとする。送信部105は、物理パケットを、アンテナ107を介して送信する。より詳細には、送信部105は、物理パケットを変調及びDA変換してアナログ信号を生成し、アナログ信号から所望帯域の信号の抽出、及び抽出した信号の無線周波数へアップコンバートする。送信部105は、無線周波数の信号をアンプで増幅等し、増幅された無線周波数の信号を、アンテナ107を介して送信する。
【0044】
情報通信部106は、受信装置20からDFMPパケットの受信に関するフィードバック情報を受信する。フィードバック情報は、一例として、DFMPパケットの受信品質に関する通信品質情報、DFCPパケットの再送要求、アプリケーションの時間制約の変更情報などを含む。通信品質情報の例は、パケットロス率、及びパケットの到着の遅延時間の揺らぎ情報などを含む。
【0045】
送信制御部104は、情報通信部106からフィードバック情報を受け取り、フィードバック情報に基づき、送信バッファ部102A、102Bからのデータ読み出し及びデータ送信を制御する。一例として、パケットロス率、又は遅延時間の揺らぎ情報が閾値以上の場合は、時間制約の短い(例えば1秒)のアプリケーションのデータ(急ブレーキのイベントデータ、車両の制御データなど)を冗長して又は優先的に送信するようにする。
【0046】
時間制約の短いアプリケーションのデータを冗長して送信する例として、同じデータを重複して複数のパケットで送信することがある。さらに、当該複数のパケットを別々の送信部で送信すること(例えば5Gと、4Gとの両方で同じデータを含む複数のパケットを送信)がある。
【0047】
また、時間制約の短いアプリケーションのデータを優先的に送信する例として、例えば時間制約の長い(例えば10分、1日などの)アプリケーションのデータの送信レートを下げることがある。送信レートを下げることで、送信装置10から送信される全体のパケット数が低減するため、伝送の途中で輻輳等に起因するパケットの消失を低減することが期待される。
【0048】
このようにすることで、時間制約の短いアプリケーションのデータ及び時間制約の長いアプリケーションのデータのいずれも時間制約を満たすようにする。
【0049】
また送信制御部104は、フィードバック情報として再送要求を受信した場合、再送要求に係るローカルシーケンス番号のDFCPパケットの再送を行うよう制御する。また、アプリケーションの時間制約の変更情報を受信した場合は、該当するアプリケーションの時間制約を変更する。
【0050】
図6は、送信装置10の動作の具体例を示す図である。送信バッファ部102Aには、データ送信の時間制約の短いアプリケーションAに関するデータとしてデータ1が格納されている。続けて、データ取得部101Aからデータ2が格納されるころである。アプリケーションAのフローIDは1であるとする。
【0051】
一方、送信バッファ部102Bには、データ送信の時間制約の長いアプリケーションBに関するデータとして、データ11、12、13、14がこの順で格納されている。アプリケーションBのフローIDは2であるとする。
【0052】
データフロー合成部103は、送信バッファ部102Aにデータがバッファリングされているときは、送信制御部104の制御の元、即時にデータ(この例ではデータ1)を読み出す。この後、送信バッファ部102Aにはデータが存在しないため、次に送信バッファ部102Bからデータ11を読み出す。データ11を読み出した直後に、送信バッファ部102Aに時間制約の短いデータ2がバッファリングされたとする。このため、データフロー合成部103は、データ12に先立ち、データ2を読み出す。この後、送信バッファ部102Aにはデータが存在しないため、送信バッファ部102Bからデータ12、13、14を読み出す。
【0053】
データフロー合成部103は、データを読み出した順に、読み出したデータにアプリケーションごとのフローIDを含むDFCPヘッダを付加して、DFCPパケットとする。そして、さらにグローバルシーケンス番号を含むDFMPヘッダを付加して、DFMPパケットとする。DFCPヘッダのローカルシーケンス番号はフローIDごと(すなわちアプリケーションごと)に連続している。DFMPヘッダのグローバルシーケンス番号はフローIDに関係なく連続している。すなわち複数のアプリケーションで共通の体系のシーケンス番号が用いられる。
【0054】
図の例では、「FID:1」が入っているDFCPヘッダは、フローIDが1のDFCPヘッダであり、「FID:2」が入っているDFCPヘッダは、フローIDが2のDFCPヘッダである。「Seq:XXX」はDFMPヘッダのグローバルシーケンス番号がXXXであることを意味している。DFCPヘッダのローカルシーケンス番号の図示は省略している。その他、DFCPヘッダ及びDFMPヘッダの少なくとも一方にタイムスタンプ等が入っていてもよい。
【0055】
グローバルシーケンス番号XXXのDFMPパケットを、DFMPパケットXXXと記載すると、DFMPパケット001、DFMPパケット002、DFMPパケット003、DFMPパケット004、DFMPパケット005、DFMPパケット006の順に、送信部105AにDFMPパケットが出力されている。送信部105Aはデータフロー合成部103から入力された各DFMPパケットにIPヘッダ等を付加して物理パケットとする。送信部105Aは、物理パケットを、アンテナ107Aを介して受信装置20に送信する。
【0056】
DFMPパケット001~006が送信された後、送信装置10の情報通信部106が、受信装置20からフィードバック情報(通信品質情報)を受信したとする。送信制御部104はフィードバック情報からパケットロス率が閾値を超えていると判断したとする。送信制御部104は、一例として、データ送信の時間制約の短いアプリケーションAのデータを冗長化して送信するようデータフロー合成部103に指示する。データフロー合成部103は、アプリケーションAのデータを複製(コピー)し、2つの送信部105A、105Bを用いて送信することを決定する。
【0057】
図7は、冗長化の具体例を示す。DFMPパケット001~006が送信された後、送信バッファ部102Aに、アプリケーションAに関する時間制約の短いデータ3が格納されたとする。データフロー合成部103は、即時にデータ3を送信バッファ部102Aから読み出し、データ3をコピーして、データ3を含むDFCPパケットと、データ3と同じデータを含むDFCPパケットとを生成する。そして、それぞれ異なるグローバルシーケンス番号007、008を決定し、グローバルシーケンス番号007、008を含むDFMPヘッダを、生成した2つのDFCPパケットにそれぞれ付加して、DFMPパケット007、008とする。DFMPパケット007を送信部105Aに提供し、DFMPパケット008を送信部105Bに提供する。送信部105AはDFMPパケット007を送信し、送信部105BはDFMPパケット008を送信する。DFMPパケット007,008はそれぞれ異なる伝送路で受信装置20へ送信される。いずれか一方のDFMPパケットが受信装置20に到着すれば他方のDFMPパケットがパケットロスしたとしても、受信装置20側ではデータ3を含むDFCPパケットの欠損は発生しなかったと判断される。
【0058】
図7の例では、時間制約の短いアプリケーションAのデータを冗長化したが、別の例として、時間制約の長いアプリケーションBのデータのレートを低下させることで、送信部105Aの伝送路の使用帯域を低減させてもよい。これにより、送信部105Aの伝送路で送信するパケット数が低減するため、アプリケーションAのDFMPパケットが通信ネットワークの途中でパケットロスする可能性を低減できる。特に、通信ネットワークに接続されている送信装置10が多数存在する場合に、各送信装置10で同様の処理を行った場合、パケットロスの可能性をより一層低減できる。
【0059】
図8は、受信装置20のブロック図である。受信装置20は、データ処理部(アプリケーション)201A、201B、受信バッファ部202A、202B、データフロー分離部(データ提供部)203、受信部205A、205B、情報通信部206及びアンテナ207A、207Bを備えている。データフロー分離部203は、検出部211を備えている。受信装置20は、本実施形態に係る無線通信装置又は通信装置の一例に相当する。本実施形態では受信装置20は無線通信を行うが、有線通信を行う構成も排除されない。
【0060】
図8の例では、データ処理部は2つであるが、3つ以上でもよい。同様に受信バッファ部は2つであるが、3つ以上でもよい。また、受信部は2つであるが、1つでも、3つ以上でもよい。
【0061】
データ処理部201A、201Bを特に区別しないときはデータ処理部201と記載する。受信バッファ部202A、202Bを特に区別しないときは受信バッファ部202と記載する。受信部205A、205Bを特に区別しないときは受信部205と記載する。アンテナ207A、207Bを特に区別しないときはアンテナ207と記載する。
【0062】
受信部205A、205Bは、通信ネットワーク30を介して、送信装置10から送信されたDFMPパケットを受信する。より詳細には、受信部205A、205Bは、アンテナ207A、207Bを介して無線信号を受信し、受信した信号を増幅し、ベースバンド周波数へダウンコンバートする。ダウンコンバートされた信号から所望帯域の信号を抽出し、抽出した信号をAD変換する。デジタル信号を復調し、物理パケットを取得する。受信部205A、205Bは、物理パケットの各種ヘッダの処理及び除去を行って、DFMPパケットを取得する。受信部205A、205Bは、DFMPパケットをデータフロー分離部203に提供する。
【0063】
データフロー分離部203は、DFMPパケットのヘッダに基づき、パケットロスの検出を行う検出部211を備えている。検出部211は、DFMPパケットのヘッダに含まれるグローバルシーケンス番号に基づき、欠損しているグローバルシーケンス番号を特定する。例えば、グローバルシーケンス番号001、002、004、005を検出したが、003のグローバルシーケンス番号を検出しない場合、グローバルシーケンス番号003を欠損しているグローバルシーケンス番号とする。この場合、データフロー分離部203は、グローバルシーケンス番号003のDFMPパケットのパケットロスが発生したと判断する。
【0064】
なお、パケットロスは、DFMPパケットが通信ネットワーク30の経路の途中で消失して受信装置20に届かなかった場合の他、DFMPの下位層のプロトコルで誤り検出された場合、又は誤り訂正でパケットが回復できなかった場合も含む。なお、下位層のプロトコルが自動再送制御を備えており、再送によりパケットが正しく受信された場合は、パケットロスとは見なされない。
【0065】
検出部211は、パケットロス率を計算する。パケットロス率は、送信装置10から送信されたDFMPパケットのうち受信装置20で受信されなったDFMPパケットの比率である。パケットロスが検出されたDFMPパケットの個数をDFMPパケットの個数で除算することで、パケットロス率を計算できる。送信装置10との通信の開始後、一定期間ごとに、各期間に送信されたDFMPパケットを対象にパケットロス率を計算してもよい。あるいは、一定のグローバルシーケンス番号範囲ごとに、各範囲に属するDFMPパケットを対象にパケットロス率を計算してもよい。他の方法でパケットロス率を計算してもよい。パケットロス率の平均又は移動平均など、パケットロス率の統計情報を計算してもよい。
【0066】
また、検出部211は、DFMPパケットのヘッダに含まれる送信時刻(第1タイムスタンプ)と、DFMPパケットの受信時刻との時刻差に基づき、遅延時間の揺らぎ情報を算出する。受信時刻は、時計の時刻を読み出すことで取得する。揺らぎ情報は、遅延時間の変動の大きさ又は程度を表す。一例として、揺らぎ情報は、時刻差の標準偏差でもよい。また、時間差の平均値と、時間差の最小値又は最大値との差分を、揺らぎ情報としてもよい。その他の方法で遅延時間の揺らぎ情報を算出してもよい。また、揺らぎ情報の統計情報を算出してもよい。
【0067】
データフロー分離部203は、フィードバック情報の一例として、DFMPパケットの受信品質に関する通信品質情報を生成し、生成した通信品質情報を情報通信部206に提供する。通信品質情報は、一例として、パケットロスが発生したグローバルシーケンス番号(第1シーケンス番号)の情報、パケットロス率、及び遅延時間の揺らぎ情報のうちの少なくとも1つを含む。また、通信品質情報は、パケットロス率等の統計情報を含んでもよい。情報通信部206は、通信品質情報を、通信ネットワーク30を介して送信装置10に送信する。情報通信部206がフィードバック情報の送信に用いる通信のプロトコルは、5Gモバイル通信規格、4Gモバイル通信規格、無線LAN規格、その他の通信規格など、何でもよい。
【0068】
データフロー分離部(データ提供部)203は、受信したDFMPパケットからDFMPヘッダを除去することにより、DFCPパケットを取得する。データフロー分離部203は、DFCPパケットのヘッダに含まれるフローIDに基づき、DFCPパケットのペイロードに含まれるデータを渡すべきアプリケーションを特定する。特定したアプリケーションに対応する受信バッファ部202に、DFCPパケットのペイロードに含まれるデータを提供する。
【0069】
また、データフロー分離部203は、DFCPパケットのペイロードのデータがストリームデータの場合でかつ、データの完全性が要求される場合には、DFCPヘッダのローカルシーケンス番号を検査する。欠損しているローカルシーケンス番号があるときは、データフロー分離部203は、フィードバック情報として、DFCPパケットの再送要求を生成する。また、DFCPヘッダにチェックサムが入っている場合に、DFCPパケットの誤り検出処理を行い、誤りが検出された場合も、DFCPパケットの再送要求を生成する。情報通信部206は、生成した再送要求をフィードバック情報として、通信ネットワーク30を介して送信装置10に送信する。なお、DFCPパケットのペイロードのデータが、データの完全性を要求しないデータタイプの場合は、再送要求を送信する必要はない。
【0070】
またデータフロー分離部203は、複数のアプリケーションのうちデータ送信の時間制約(優先度)が変更されたアプリケーションが存在する場合は、当該アプリケーションに対するデータ送信の時間制約の変更情報を生成する。情報通信部206は、変更情報をフィードバック情報として、通信ネットワーク30を介して送信装置10に送信する。
【0071】
例えば、データフロー分離部203は、データ処理部201からデータ送信の時間制約の変更要求があった場合に、変更情報を生成する。例えばある地点について障害物のデータが蓄積されたため、その地点に存在する自動者からの障害物検知のデータの収集の必要性が低下した場合は、その地点に存在する自動車に対してデータ送信の時間制約を長くする。
【0072】
受信バッファ部202A、202Bは、データフロー分離部203から提供されたデータを内部の記憶領域に格納する。すなわち、受信バッファ部202A、202Bは、データフロー分離部203から提供されたデータをバッファリングする。受信バッファ部202A、202Bは、バッファリングしているデータを、データフロー分離部203から受け取った順序で出力する。出力するデータの種類に応じて、受信バッファ部からデータを出力する方式が異なってもよい。一例として、受信バッファ部202A、202Bは、データ処理部201A、201Bからの要求に応じてデータを出力してもよい。あるいは、受信バッファ部202A、202Bは、データが入力されると直ちにデータを出力してもよい。あるいは、バッファリングしているデータを一定の時間間隔で出力してもよい。受信バッファ部202A、202Bは、所定サイズの記憶領域を有する記憶装置である。受信バッファ部202A、202Bは、一例として、メモリ又はハードディスクなどの記録媒体により構成される。
【0073】
データ処理部201A、201Bは、各々アプリケーションを実行することにより、受信バッファ部202A、202Bから提供されたデータを処理するアプリケーション実行部である。一例として、データ処理部201Aは、アプリケーションAとCPUとを備えており、CPUがアプリケーションAを実行する。データ処理部201Bは、一例としてアプリケーションBとCPUとを備えており、CPUがアプリケーションBを実行する。アプリケーションの例として、高精細度地図の生成、エンジン制御の最適化モデルの生成、道路安全情報の生成などがあるが、これらは一例に過ぎず、他にも様々なアプリケーションがある。
【0074】
図9は、本実施形態に係る送信装置10の動作の一例のフローチャートである。
図9に示すステップの順序は一例であり、一部のステップの位置が入れ替わってもよい。例えばステップS107、S108がステップS101の前に位置してもよい。
【0075】
データ取得部101A、101Bが、センサ1A、1Bで検出されたデータを取得する(S101)。
【0076】
送信バッファ部102A、102Bが、データ取得部101A、101Bにより取得されたデータをバッファリングする(S102)。
【0077】
送信制御部104が、データフロー合成部103による送信バッファ部102A、102Bからのデータの読み出し及び当該データの送信を制御する(S103)。この制御は、アプリケーションごとのデータ送信の時間制約、及び、受信装置20から受信されるフィードバック情報の少なくとも一方に基づいて行う。例えば、パケットロス率が閾値以上である場合又は遅延時間の揺らぎの大きさが閾値以上の場合、時間制約の短いアプリケーションに対するデータを冗長化して送信するようデータフロー合成部103に指示信号を出力する。例えば、時間制約が短いデータをコピーし、それぞれ別の送信部を用いて送信するよう指示する。あるいは、時間制約が長いアプリケーションに対するデータの送信レートを下げる(一時的に送信を停止する場合も含む)ことを指示する信号を出力することで、伝送路の帯域使用率を低下させ、パケットの欠損を低減させてもよい。あるいは、時間制約の短いデータを複数の送信部で分散して送信することを指示してもよい。時間制約に関係なく、全てのアプリケーションのデータを複数の送信部で分散して送信することを指示してもよい。
【0078】
データフロー合成部103は、送信制御部104の制御の元、送信バッファ部102A、102Bからデータ読み出しを行う(S104)。読み出したデータに、該当するアプリケーションに係るフローIDを含むDFCPヘッダを付加することにより、DFCPパケットとする(同S104)。DFCPヘッダは、フローIDの他、ローカルシーケンス番号(第2シーケンス番号)、送信時刻(第2タイムスンプ)、チェックサムなど他のフィールドをさらに含んでもよい。
【0079】
データフロー合成部103は、DFCPパケットに、さらに、グローバルシーケンス番号(第1シーケンス番号)を含むDFMPヘッダを付加することにより、DFMPパケットとする(S105)。DFMPヘッダには、送信時刻(第1タイムスタンプ)など、他のフィールドをさらに含めてもよい。
【0080】
データフロー合成部103は、送信制御部104の制御の元、DFMPパケットを送信部105A及び105Bの少なくとも一方に提供する。送信部105A及び105Bの少なくとも一方は、DFMPパケットを、アンテナ107A又は107Bを介して受信装置20に送信する(S106)。より詳細には、DFMPパケットに各種下位層のヘッダを付加した物理パケットを送信する。
【0081】
DFMPパケットの送信後、情報通信部106で受信装置20からフィードバック情報(通信品質情報、再送要求、時間制約の変更情報等)を受信したかを判断する(S107)。フィードバック情報を受信した場合、情報通信部106はフィードバック情報を送信制御部104に提供する(S108)。送信制御部104は、フィードバック情報として再送要求を受信した場合は、要求されたDFCPパケットを再送し、アプリケーションのデータ送信の時間制約の変更情報を受信した場合は、該当するアプリケーションの時間制約を変更する。この後、ステップS109に進む。フィードバック情報を受信していない場合も、ステップS109に進む。
【0082】
終了条件が成立したかを判断する(S109)。終了条件が成立していない場合は(NO)、ステップS101に戻る。終了条件が成立した場合は(YES)、本動作を終了する。終了条件の例としては、自動車のエンジンを停止させた場合、又は送信装置10を停止させた場合などがある。
【0083】
図10は、本実施形態に係る受信装置20の動作の一例のフローチャートである。
図10に示すステップの順序は一例であり、一部のステップの位置が入れ替わってもよい。例えばステップS205がステップS203の前に位置してもよい。
【0084】
受信部205A、205Bの少なくとも一方は、通信ネットワーク30を介して、送信装置10から送信されたDFMPパケットを受信する(S201)。より詳細には、受信部205A、205Bの少なくとも一方は、物理パケットを受信し、物理パケットの各種ヘッダの処理及び除去を行って、DFMPパケットを取得する。
【0085】
データフロー分離部203は、DFMPパケットのヘッダ(グローバルシーケンス番号、送信時刻等)に基づき、DFMPパケットの受信に関する情報を算出する(S202)。例えば、パケットロス率、及び時間遅延の揺らぎ情報の少なくとも一方を含む通信品質情報を算出する。データフロー分離部203は、通信品質情報をフィードバック情報として、情報通信部206に提供する。
【0086】
データフロー分離部203は、DFMPパケットのヘッダを除去してDFCPパケットとする。そして、DFCPパケットのヘッダに基づき、ローカルシーケンス番号(第2シーケンス番号)の欠損チェックや、チェックサムに基づく誤り検出処理等を行う(S203)。ローカルシーケンス番号の欠落があった場合又は誤りが検出された場合、当該ローカルシーケンス番号のDFCPパケットの再送要求を生成する。データフロー分離部203は、再送要求をフィードバック情報として情報通信部206に提供する。なお、DFCPパケット内のデータが再送の不要なタイプのデータの場合、再送要求を生成する必要はない。またデータフロー分離部203はアプリケーションの時間制約の変更があった場合は、時間制約の変更情報を生成し、情報通信部206にフィードバック情報として提供してもよい。
【0087】
データフロー分離部203は、取得したDFCPパケット内のデータを、DFCPヘッダ内のフローIDに対応する受信バッファ部に提供し、データをバッファリングさせる(S204)。
【0088】
情報通信部206は、データフロー分離部203から提供されたフィードバック情報(通信品質情報、再送要求、時間制約の変更情報の少なくとも1つ等)を、通信ネットワーク30を介して送信装置10に送信する(S205)。
【0089】
データ処理部201A、201Bは、受信バッファ部202A、202Bにバッファリングされているデータを読み出し、データ処理を実行する(S206)。データ処理部201A、201Bは、アプリケーションA、Bを実行するアプリケーション実行部である。
【0090】
終了条件が成立したかを判断する(S207)。終了条件が成立していない場合は(NO)、ステップS201に戻る。終了条件が成立した場合は(YES)、本動作を終了する。終了条件の例としては、管理者が受信装置20の電源を停止させる場合などがある。
【0091】
以上、本実施形態によれば、送信装置において、受信側のアプリケーションに提供するデータに、フローIDを含むDFCPヘッダを付加し、さらにグローバルシーケンス番号を含むDFMPヘッダを付加する。これにより、複数のアプリケーションに提供するデータを同一のデータフローとして管理することができる。そして、同一のフローとして受信されるDFMPパケットの受信に関するフィードバック情報を送信側にフィードバックし、フィードバック情報を送信装置側で各アプリケーションに対するデータの送信制御に反映させる。これにより、複数のアプリケーションに対するデータが混在して送信される状況においても、各アプリケーションのデータの送信制御を個別に行い、各アプリケーションの時間制約を満たすことが可能になる。比較例として、通常のインターネットプロトコル(TCP/UDP)を用いた場合、サーバが移動体から各種アプリケーションのデータを収集する場合、サーバはアプリケーションのデータに対して各々独立にフロー制御を行うため、複数のアプリケーション間でデータの帯域調停を自律的に行うことは困難である。これに対して、本実施形態では複数のアプリケーションのデータを同一のデータフローとして管理することができるため、複数のアプリケーション間でデータの帯域調停を容易に行うことができる。よって、複数のデータの送信を適切に管理することができる。
【0092】
(第2実施形態)
第2実施形態は、1つのDFMPパケットに、フローIDが異なる2つ以上のDFCPパケットを集約することを特徴とする。サイズが小さいデータ(例えば制御データ)を単独でパケット化すると、各種ヘッダ(IPヘッダ、DFMPヘッダ)のサイズの割合が大きくなり通信効率が低下する。そこで、サイズの小さいデータを含むDFCPパケットを他のDFCPパケットと統合することで、1パケットに占めるヘッダの割合を小さくし、通信効率を高める。本実施形態のブロック図は、第1実施形態の
図6及び
図8と同じである。各ブロックの構成及び動作について、第1実施形態との違いを中心に説明し、第1実施形態と同じ説明は省略する。
【0093】
図11は、あるアプリケーションに対するデータを含むDFCPパケット1と、別のアプリケーションに対するデータを含むDFCPパケット2とを1つのDFMPパケットに統合した例を示す。DFCPパケット1のフローID及びDFCPパケット2のフローIDは互いに異なる。パケットの統合はデータフロー合成部103が行う。データフロー合成部103は、パケットの最大サイズ(例えばIPパケットの最大サイズ長)に収まるように、複数のDFCPパケットを1つのDFMPパケットに統合する。これにより、データごとにDFMP及びその下位のプロトコルのヘッダを付加する場合に比べて、ヘッダのオーバーヘッドを低減できる。
図11の例では、結合されるDFCPパケット同士のフローIDは異なるが、結合されるDFCPパケット同士のフローIDが同じ場合も可能である。また、
図11の例では、DFCPパケットの統合数は2であるが、3以上でもよい。
【0094】
図12は、結合された複数のDFCPパケットを含むDFMPパケットに、IPヘッダ等の各種ヘッダを付加したパケットの一例を示す。DFMPパケットのペイロード部において、2つ以上のDFCPパケットが結合されている。各DFCPパケットのフローIDは異なる。DFMP以下の下位層のヘッダ数が多いほど、パケット統合の効果が大きくなる。
【0095】
DFCPパケットの結合は、送信装置10のデータフロー合成部103によって行われる。データフロー合成部103は、生成した2つの以上のDFCPパケットを前後に結合し、結合したパケットにDFMPヘッダを付加する。DFMPヘッダには、第1実施形態と同様、グローバルシーケンス番号(第1シーケンス番号)、送信時刻(第1タイムスタンプ)などを含める。
【0096】
パケット結合の例として、ペイロード長が短いDFCPパケットを、ペイロード長の長いDFCPパケットに結合する。これによって、ペイロード長が短いDFCPパケットを単独で送信する場合に比べて、ヘッダのオーバーヘッドを大きく削減できる。ペイロード長が短いデータの例として制御データ又はイベントデータなどがある。データを受信側でFEC(Forward Error Correction)処理する場合に、当該データとは別にパケットとしてFEC用のデータを送信する場合に、当該FEC用のデータを結合の対象としてもよい。ペイロード長が短いDFCPパケットをコピーし、別々のDFCPパケットと結合して、冗長化してもよい。
【0097】
図13は、ペイロード長が短いDFCPパケットを、ペイロード長の長いDFCPパケットに結合する具体例を示す。受信装置20からのフィードバック情報(通信品質情報)に基づき制御データ等を含むDFCPパケット(フローID=1)を冗長して送信する例を想定している。DFCPパケット2をコピーして、2つのDFCPパケット2としている。一方のDFCPパケット2をDFCPパケット1(フローID=2)に結合してDFMPパケット1とする。他方のDFCPパケット2をDFCPパケット3(フローID=2)に結合してDFMPパケット2とする。DFCPパケット1,3は、一例として、映像データ等のペイロード長が長いデータを含んでいる。なお、DFMPパケット1、2を別々の送信部を用いて送信する場合、同じ送信部を用いて送信する場合のいずれもあり得る。
【0098】
送信制御部104は、受信装置20からフィードバック情報(通信品質情報)に基づき、データフロー合成部103におけるパケット結合を制御する。一例として、通信品質情報が示すパケットロス率が閾値以上の場合は、データ送信の時間制約が短く、かつデータ長の短いアプリケーションのDFCPパケットを冗長化する。例えば、DFCPパケットをコピーし、一方のDFCPパケットを第1の他のアプリケーションのDFCPパケットと結合し、他方のDFCPパケットを第2の他のアプリケーションのDFCPパケットと結合することを決定する。第1及び第2の他のアプリケーションは同じアプリケーション(すなわち同じフローID)でもよいし、異なるアプリケーション(すなわち異なるフローID)でもよい。送信制御部104は、決定した結合方法を指示する信号をデータフロー合成部103に出力する。データフロー合成部103は、送信制御部104の指示に従ってパケット結合を行う。
【0099】
送信制御部104は、第1実施形態と同様、DFMPパケットの送信に用いる送信部を決定し、決定した送信部を用いるようデータフロー合成部103に指示してもよい。例えば同じDFCPパケット(冗長化されたDFCPパケット)を含む複数のDFMPパケットの送信にそれぞれ異なる送信部を指定してもよい。これにより、複数の送信部のいずれかに対応する伝送路で輻輳等が発生しているためにパケットロスが発生した場合であっても、他方の伝送路でパケットを正しく伝送できれば、受信装置側でパケットロスと判断されない。
【0100】
受信装置20のデータフロー分離部203は、受信部205を介してDFMPパケットを受信し、DFMPパケットに含まれる1つ又は2つ以上のDFCPパケットをすべて特定する。特定したDFCPパケットのヘッダからフローIDを特定し、フローIDに対応する受信バッファ部202に、DFCPパケットのペイロード部に含まれるデータを提供する。
【0101】
なお、DFMPパケットに複数のDFCPパケットを集約する場合に、送信装置のデータフロー合成部103で、集約されるDFCPパケットのヘッダに、後続するDFCPパケットが存在するかの情報を含めてもよい。例えばDFCPパケットX、DFCPパケットY、DFCPパケットZをこの順に結合する場合に、DFCPパケットXのヘッダに、DFCPパケットXにDFCPパケットYが後続することを示す情報を含めてもよい。同様に、DFCPパケットYのヘッダに、DFCPパケットYにDFCPパケットZが後続することを示す情報を含めてもよい。これにより、データフロー分離部203はDFMPパケットに集約されている複数のDFCPパケットを容易に特定することができる。
【0102】
また、データフロー分離部203は、第1実施形態と同様に、DFMPパケットの受信品質に関する通信品質情報を算出し、算出した情報をフィードバック情報として、情報通信部206に提供する。情報通信部206はフィードバック情報を送信装置10に送信する。その他、第1実施形態と同様に、DFCPパケットの再送要求、又はアプリケーションの時間制約の変更情報を、フィードバック情報として送信装置10に送信してもよい。
【0103】
以上、本実施形態によれば、複数のアプリケーションに関する複数のDFCPパケットを1つのDFMPパケットに集約することにより、ヘッダのオーバーヘッドを低減できる。例えば、1つのDFMPパケットに複数のDFCPパケットを詰め込むことで、DFMPより下位レイヤのヘッダの冗長性を減らすことができる。これにより、最大パケットサイズと比較して小さいデータのヘッダ損を減らすことができ、効率的にデータを配送できる。
【0104】
具体例として、制御データのように遅延に対する制約により再送が好ましくなく、かつサイズが小さいデータを含むDFCPパケットを、他のアプリケーションのデータ(例えばソフトウェアアップデートのデータ)を含むDFCPと1つのUDPパケットに詰め込むことで、ヘッダによる通信効率低下を軽減できる。当該制御データの欠損を保証する冗長データ(制御データをコピーしたデータ、又はFEC用のデータ)を別のパケットで同時に送信する際にも、他のDFCPパケットと冗長データを含むDFCPパケットとをUDPパケットに詰め込むことで、通信効率の低下の軽減と、冗長化により信頼性向上とを図ることができる。
【0105】
一般的に、バッファ溢れに起因するパケットの消失率はパケット数に比例し、パケットサイズに依存しないパケット中継装置(基地局、ルータ等)も多い。このため、小さなパケットを大きなパケットと結合することで、下位レイヤのヘッダ損を減らす効果が大きいと考えられる。
【0106】
さらに、遅延制約又はデータ完全性制約が異なるデータを1つのパケットに集約することで、これら複数のデータの制約を協調させながらデータごとの優先制御又は冗長化の制御ができる。また、複数の伝送路(複数の送信部)が存在する場合には、冗長度(例えばデータのコピー数)を伝送路ごとに制御してもよい、これにより、より効率的になることが見込める。
【0107】
(第3実施形態)
前述した実施形態における各装置(送信装置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)等の回路に実装されることにより、情報処理がハードウェアにより実行されてもよい。
【0108】
ソフトウェアを収納する記憶媒体の種類は限定されるものではない。記憶媒体は、磁気ディスク、又は光ディスク等の着脱可能なものに限定されず、ハードディスク、又はメモリ等の固定型の記憶媒体であってもよい。また、記憶媒体は、コンピュータ内部に備えられてもよいし、コンピュータ外部に備えられてもよい。
【0109】
図14は、前述した実施形態における各装置(送信装置10、又は受信装置20)のハードウェア構成の一例を示すブロック図である。各装置は、一例として、プロセッサ91と、主記憶装置92(メモリ)と、補助記憶装置93(メモリ)と、ネットワークインタフェース94と、デバイスインタフェース95と、を備え、これらがバス96を介して接続されたコンピュータ90として実現されてもよい。
【0110】
図14のコンピュータ90は、各構成要素を一つ備えているが、同じ構成要素を複数備えていてもよい。また、
図14では、1台のコンピュータ90が示されているが、ソフトウェアが複数台のコンピュータにインストールされて、当該複数台のコンピュータそれぞれがソフトウェアの同一の又は異なる一部の処理を実行してもよい。この場合、コンピュータそれぞれがネットワークインタフェース94等を介して通信して処理を実行する分散コンピューティングの形態であってもよい。つまり、前述した実施形態における各装置(送信装置10、又は受信装置20)は、1又は複数の記憶装置に記憶された命令を1台又は複数台のコンピュータが実行することで機能を実現するシステムとして構成されてもよい。また、端末から送信された情報をクラウド上に設けられた1台又は複数台のコンピュータで処理し、この処理結果を端末に送信するような構成であってもよい。
【0111】
前述した実施形態における各装置(送信装置10、又は受信装置20)の各種演算は、1又は複数のプロセッサを用いて、又は、ネットワークを介した複数台のコンピュータを用いて、並列処理で実行されてもよい。また、各種演算が、プロセッサ内に複数ある演算コアに振り分けられて、並列処理で実行されてもよい。また、本開示の処理、手段等の一部又は全部は、ネットワークを介してコンピュータ90と通信可能なクラウド上に設けられたプロセッサ及び記憶装置の少なくとも一方により実行されてもよい。このように、前述した実施形態における各装置は、1台又は複数台のコンピュータによる並列コンピューティングの形態であってもよい。
【0112】
プロセッサ91は、コンピュータの制御装置及び演算装置を含む電子回路(処理回路、Processing circuit、Processing circuitry、CPU、GPU、FPGA、又はASIC等)であってもよい。また、プロセッサ91は、専用の処理回路を含む半導体装置等であってもよい。プロセッサ91は、電子論理素子を用いた電子回路に限定されるものではなく、光論理素子を用いた光回路により実現されてもよい。また、プロセッサ91は、量子コンピューティングに基づく演算機能を含むものであってもよい。
【0113】
プロセッサ91は、コンピュータ90の内部構成の各装置等から入力されたデータやソフトウェア(プログラム)に基づいて演算処理を行い、演算結果や制御信号を各装置等に出力することができる。プロセッサ91は、コンピュータ90のOS(Operating System)や、アプリケーション等を実行することにより、コンピュータ90を構成する各構成要素を制御してもよい。
【0114】
前述した実施形態における各装置(送信装置10、又は受信装置20)は、1又は複数のプロセッサ91により実現されてもよい。ここで、プロセッサ91は、1チップ上に配置された1又は複数の電子回路を指してもよいし、2つ以上のチップあるいは2つ以上のデバイス上に配置された1又は複数の電子回路を指してもよい。複数の電子回路を用いる場合、各電子回路は有線又は無線により通信してもよい。
【0115】
主記憶装置92は、プロセッサ91が実行する命令及び各種データ等を記憶する記憶装置であり、主記憶装置92に記憶された情報がプロセッサ91により読み出される。補助記憶装置93は、主記憶装置92以外の記憶装置である。なお、これらの記憶装置は、電子情報を格納可能な任意の電子部品を意味するものとし、半導体のメモリでもよい。半導体のメモリは、揮発性メモリ、不揮発性メモリのいずれでもよい。前述した実施形態における各装置(送信装置10、又は受信装置20)において各種データを保存するための記憶装置は、主記憶装置92又は補助記憶装置93により実現されてもよく、プロセッサ91に内蔵される内蔵メモリにより実現されてもよい。例えば、前述した実施形態における送信バッファ部102及び受信バッファ部202は、主記憶装置92又は補助記憶装置93により実現されてもよい。
【0116】
記憶装置(メモリ)1つに対して、複数のプロセッサが接続(結合)されてもよいし、単数のプロセッサが接続されてもよい。プロセッサ1つに対して、複数の記憶装置(メモリ)が接続(結合)されてもよい。前述した実施形態における各装置(送信装置10、又は受信装置20)が、少なくとも1つの記憶装置(メモリ)とこの少なくとも1つの記憶装置(メモリ)に接続(結合)される複数のプロセッサで構成される場合、複数のプロセッサのうち少なくとも1つのプロセッサが、少なくとも1つの記憶装置(メモリ)に接続(結合)される構成を含んでもよい。また、複数台のコンピュータに含まれる記憶装置(メモリ))とプロセッサによって、この構成が実現されてもよい。さらに、記憶装置(メモリ)がプロセッサと一体になっている構成(例えば、L1キャッシュ、L2キャッシュを含むキャッシュメモリ)を含んでもよい。
【0117】
ネットワークインタフェース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)等がある。
【0118】
デバイスインタフェース95は、外部装置98Bと直接接続するUSB等のインタフェースである。
【0119】
外部装置98Aはコンピュータ90とネットワークを介して接続されている装置である。外部装置98Bはコンピュータ90と直接接続されている装置である。
【0120】
外部装置98A又は外部装置98Bは、一例として、入力装置であってもよい。入力装置は、例えば、カメラ、マイクロフォン、モーションキャプチャ、各種センサ、キーボード、マウス、又はタッチパネル等のデバイスであり、取得した情報をコンピュータ90に与える。また、パーソナルコンピュータ、タブレット端末、又はスマートフォン等の入力部とメモリとプロセッサを備えるデバイスであってもよい。
【0121】
また、外部装置98A又は外部装置98Bは、一例として、出力装置でもよい。出力装置は、例えば、LCD(Liquid Crystal Display)、CRT(Cathode Ray Tube)、PDP(Plasma Display Panel)、又は有機EL(Electro Luminescence)パネル等の表示装置であってもよいし、音声等を出力するスピーカ等であってもよい。また、パーソナルコンピュータ、タブレット端末、又はスマートフォン等の出力部とメモリとプロセッサを備えるデバイスであってもよい。
【0122】
また、外部装置98Aまた外部装置98Bは、記憶装置(メモリ)であってもよい。例えば、外部装置98Aはネットワークストレージ等であってもよく、外部装置98BはHDD等のストレージであってもよい。
【0123】
また、外部装置98A又は外部装置98Bは、前述した実施形態における各装置(送信装置10、又は受信装置20)の構成要素の一部の機能を有する装置でもよい。つまり、コンピュータ90は、外部装置98A又は外部装置98Bの処理結果の一部又は全部を送信又は受信してもよい。
【0124】
本明細書(請求項を含む)において、「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)以外の他の要素を加えることも含む。
【0125】
本明細書(請求項を含む)において、「データを入力として/データに基づいて/に従って/に応じて」等の表現(同様な表現を含む)が用いられる場合は、特に断りがない場合、各種データそのものを入力として用いる場合や、各種データに何らかの処理を行ったもの(例えば、ノイズ加算したもの、正規化したもの、各種データの中間表現等)を入力として用いる場合を含む。また「データに基づいて/に従って/に応じて」何らかの結果が得られる旨が記載されている場合、当該データのみに基づいて当該結果が得られる場合を含むとともに、当該データ以外の他のデータ、要因、条件、及び/又は状態等にも影響を受けて当該結果が得られる場合をも含み得る。また、「データを出力する」旨が記載されている場合、特に断りがない場合、各種データそのものを出力として用いる場合や、各種データに何らかの処理を行ったもの(例えば、ノイズ加算したもの、正規化したもの、各種データの中間表現等)を出力とする場合も含む。
【0126】
本明細書(請求項を含む)において、「接続される(connected)」及び「結合される(coupled)」との用語が用いられる場合は、直接的な接続/結合、間接的な接続/結合、電気的(electrically)な接続/結合、通信的(communicatively)な接続/結合、機能的(operatively)な接続/結合、物理的(physically)な接続/結合等のいずれをも含む非限定的な用語として意図される。当該用語は、当該用語が用いられた文脈に応じて適宜解釈されるべきであるが、意図的に或いは当然に排除されるのではない接続/結合形態は、当該用語に含まれるものして非限定的に解釈されるべきである。
【0127】
本明細書(請求項を含む)において、「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)されていればよい。
【0128】
本明細書(請求項を含む)において、含有又は所有を意味する用語(例えば、「含む(comprising/including)」及び有する「(having)等)」が用いられる場合は、当該用語の目的語により示される対象物以外の物を含有又は所有する場合を含む、open-endedな用語として意図される。これらの含有又は所有を意味する用語の目的語が数量を指定しない又は単数を示唆する表現(a又はanを冠詞とする表現)である場合は、当該表現は特定の数に限定されないものとして解釈されるべきである。
【0129】
本明細書(請求項を含む)において、ある箇所において「1つ又は複数(one or more)」又は「少なくとも1つ(at least one)」等の表現が用いられ、他の箇所において数量を指定しない又は単数を示唆する表現(a又はanを冠詞とする表現)が用いられているとしても、後者の表現が「1つ」を意味することを意図しない。一般に、数量を指定しない又は単数を示唆する表現(a又はanを冠詞とする表現)は、必ずしも特定の数に限定されないものとして解釈されるべきである。
【0130】
本明細書において、ある実施例の有する特定の構成について特定の効果(advantage/result)が得られる旨が記載されている場合、別段の理由がない限り、当該構成を有する他の1つ又は複数の実施例についても当該効果が得られると理解されるべきである。但し当該効果の有無は、一般に種々の要因、条件、及び/又は状態等に依存し、当該構成により必ず当該効果が得られるものではないと理解されるべきである。当該効果は、種々の要因、条件、及び/又は状態等が満たされたときに実施例に記載の当該構成により得られるものに過ぎず、当該構成又は類似の構成を規定したクレームに係る発明において、当該効果が必ずしも得られるものではない。
【0131】
本明細書(請求項を含む)において、「最大化(maximize)」等の用語が用いられる場合は、グローバルな最大値を求めること、グローバルな最大値の近似値を求めること、ローカルな最大値を求めること、及びローカルな最大値の近似値を求めることを含み、当該用語が用いられた文脈に応じて適宜解釈されるべきである。また、これら最大値の近似値を確率的又はヒューリスティックに求めることを含む。同様に、「最小化(minimize)」等の用語が用いられる場合は、グローバルな最小値を求めること、グローバルな最小値の近似値を求めること、ローカルな最小値を求めること、及びローカルな最小値の近似値を求めることを含み、当該用語が用いられた文脈に応じて適宜解釈されるべきである。また、これら最小値の近似値を確率的又はヒューリスティックに求めることを含む。同様に、「最適化(optimize)」等の用語が用いられる場合は、グローバルな最適値を求めること、グローバルな最適値の近似値を求めること、ローカルな最適値を求めること、及びローカルな最適値の近似値を求めることを含み、当該用語が用いられた文脈に応じて適宜解釈されるべきである。また、これら最適値の近似値を確率的又はヒューリスティックに求めることを含む。
【0132】
本明細書(請求項を含む)において、複数のハードウェアが所定の処理を行う場合、各ハードウェアが協働して所定の処理を行ってもよいし、一部のハードウェアが所定の処理の全てを行ってもよい。また、一部のハードウェアが所定の処理の一部を行い、別のハードウェアが所定の処理の残りを行ってもよい。本明細書(請求項を含む)において、「1又は複数のハードウェアが第1の処理を行い、前記1又は複数のハードウェアが第2の処理を行う」等の表現が用いられている場合、第1の処理を行うハードウェアと第2の処理を行うハードウェアは同じものであってもよいし、異なるものであってもよい。つまり、第1の処理を行うハードウェア及び第2の処理を行うハードウェアが、前記1又は複数のハードウェアに含まれていればよい。なお、ハードウェアは、電子回路、又は電子回路を含む装置等を含んでよい。
【0133】
本明細書(請求項を含む)において、複数の記憶装置(メモリ)がデータの記憶を行う場合、複数の記憶装置(メモリ)のうち個々の記憶装置(メモリ)は、データの一部のみを記憶してもよいし、データの全体を記憶してもよい。
【0134】
以上、本開示の実施形態について詳述したが、本開示は上記した個々の実施形態に限定されるものではない。特許請求の範囲に規定された内容及びその均等物から導き出される本発明の概念的な思想と趣旨を逸脱しない範囲において種々の追加、変更、置き換え及び部分的削除等が可能である。例えば、前述した全ての実施形態において、数値又は数式を説明に用いている場合は、一例として示したものであり、これらに限られるものではない。また、実施形態における各動作の順序は、一例として示したものであり、これらに限られるものではない。
【符号の説明】
【0135】
M:移動体
10:送信装置
20:受信装置
30:通信ネットワーク
101A、101B:データ取得部
102A、102B:送信バッファ部
103:データフロー合成部(パケット生成部)
104:送信制御部
105A、105B:送信部
106:情報通信部
107A、107B:アンテナ
201A、201B:データ処理部(アプリケーション)
202A、202B:受信バッファ部
203:データフロー分離部(データ提供部)
211:検出部
205A、205B:受信部
206:情報通信部
207A、207B:アンテナ