(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-15
(45)【発行日】2024-10-23
(54)【発明の名称】モビリティサービス提供システム、モビリティサービス提供サーバ、車両データ提供方法、プログラム
(51)【国際特許分類】
G08G 1/00 20060101AFI20241016BHJP
G08G 1/09 20060101ALI20241016BHJP
G08G 1/13 20060101ALI20241016BHJP
G06Q 50/10 20120101ALI20241016BHJP
G16Y 10/40 20200101ALI20241016BHJP
【FI】
G08G1/00 D
G08G1/09 F
G08G1/13
G06Q50/10
G16Y10/40
(21)【出願番号】P 2023531991
(86)(22)【出願日】2022-06-28
(86)【国際出願番号】 JP2022025812
(87)【国際公開番号】W WO2023277032
(87)【国際公開日】2023-01-05
【審査請求日】2023-11-17
(31)【優先権主張番号】P 2021110905
(32)【優先日】2021-07-02
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】000004260
【氏名又は名称】株式会社デンソー
(74)【代理人】
【識別番号】110000578
【氏名又は名称】名古屋国際弁理士法人
(72)【発明者】
【氏名】小見山 正俊
(72)【発明者】
【氏名】滝 顕匠
(72)【発明者】
【氏名】謝 凌非
(72)【発明者】
【氏名】梶岡 繁
(72)【発明者】
【氏名】田内 真紀子
【審査官】▲高▼木 真顕
(56)【参考文献】
【文献】特開2020-013557(JP,A)
【文献】米国特許出願公開第2017/0078472(US,A1)
【文献】米国特許出願公開第2017/0124871(US,A1)
【文献】特表2019-530917(JP,A)
【文献】特開2020-184322(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G08G 1/00 - 99/00
G07C 5/00 - 5/12
G06Q 10/00 - 10/30
G06Q 30/00 - 30/08
G06Q 50/00 - 50/20
G06Q 50/26 - 99/00
G16Y 10/00 - 40/60
G16Z 99/00
(57)【特許請求の範囲】
【請求項1】
車両に搭載され前記車両から取得されるデータである車両データを収集するように構成された車載機(2)と、
前記車載機との無線通信を行うように構成されたモビリティサービス提供サーバ(3)と、
を備え、
前記車載機は、繰り返し前記車両データを前記モビリティサービス提供サーバに自発的に送信すると共に、前記モビリティサービス提供サーバからの要求に応じて前記車両データを前記モビリティサービス提供サーバに送信するように構成され、
前記モビリティサービス提供サーバは、
前記無線通信により前記車載機から取得した所定時点ごとの前記車両データを記憶するように構成された記憶部(113,125)と、
外部からの第1アクセス要求および第2アクセス要求を受け付けるように構成されたインタフェース部(122)と、
前記インタフェース部が前記第1アクセス要求を受け付けた場合、前記記憶部から前記車両データを取得し、前記インタフェース部を介して要求元に提供するように構成された第1制御部(119,127)と、
前記インタフェース部が前記第2アクセス要求を受け付けた場合、前記車載機にアクセスすることで該車載機から前記車両データを含むアクセス結果を取得し、前記インタフェース部を介して要求元に提供するように構成された第2制御部(130)と、
を備えるモビリティサービス提供システム。
【請求項2】
請求項1に記載のモビリティサービス提供システムであって、
前記第2制御部は、前記車両データを前記車載機から取得するため前記車載機に送信する取得要求と共に、前記車載機に予め割り当てられた車両認証情報を送信するように構成され、
前記車載機は、前記車両認証情報による認証に成功した場合に、前記取得要求によって要求された前記車両データを前記モビリティサービス提供サーバに送信するように構成された、
モビリティサービス提供システム。
【請求項3】
請求項1に記載のモビリティサービス提供システムであって、
前記モビリティサービス提供サーバを利用したモビリティサービスの提供元毎に、前記第2アクセス要求によるアクセス可能な範囲を規定するサービス別認可情報を記憶するように構成されたサーバ側記憶部(142)と、
前記第2アクセス要求を受け付けた場合、前記サービス別認可情報を参照して、前記モビリティサービスの提供元が、前記第2アクセス要求に示されたアクセス対象となる車両である対象車両へのアクセス権限を有するか否かを判定し、前記アクセス権限を有すると判定された場合に、前記対象車両に搭載された前記車載機へのアクセスを認可するように構成されたサーバ側認可部(144)と、
を更に備え、
前記車載機は、
前記対象車両へのアクセスを要求する可能性がある車両ユーザ毎に、前記第2アクセス要求によるアクセス可能な範囲を規定するユーザ別認可情報を記憶するように構成された車側記憶部(14,25)と、
前記モビリティサービス提供サーバから前記第2アクセス要求を受け付けた場合、前記ユーザ別認可情報を参照して、前記第2アクセス要求を要求した車両ユーザが、前記第2アクセス要求に示されたアクセス対象に対する前記アクセス権限を有するか否かを判定し、前記アクセス権限を有すると判定された場合に、前記アクセス対象へのアクセスを認可するように構成された車側認可部(107)と、
を更に備える、
モビリティサービス提供システム。
【請求項4】
請求項1に記載のモビリティサービス提供システムであって、
前記車載機は、
前記第2アクセス要求に示されたアクセス対象となる車両である対象車両へのアクセスを要求する可能性がある車両ユーザ毎に、前記第2アクセス要求によるアクセス可能な範囲を規定するユーザ別認可情報を記憶するように構成された車側記憶部(14,25)と、
前記モビリティサービス提供サーバから前記第2アクセス要求を受け付けた場合、前記ユーザ別認可情報を参照して、前記第2アクセス要求を要求した車両ユーザが、前記第2アクセス要求に示されたアクセス対象に対するアクセス権限を有するか否かを判定し、前記アクセス権限を有すると判定された場合に、前記アクセス対象へのアクセスを認可するように構成された車側認可部(107)と、
を更に備える、
モビリティサービス提供システム。
【請求項5】
請求項1から請求項4までのいずれか1項に記載のモビリティサービス提供システムであって、
前記車載機が送信する前記車両データには、前記車両から取得されるローデータを加工した加工データが含まれ、前記モビリティサービス提供サーバからの要求に応じて前記車載機が送信する前記車両データには、加工される前の前記ローデータが含まれる
モビリティサービス提供システム。
【請求項6】
車両に搭載された車載機から提供される車両データを記憶するように構成された記憶部と、
外部から第1アクセス要求および第2アクセス要求を受け付けるように構成されたインタフェース部と、
前記インタフェース部が前記第1アクセス要求を受け付けた場合、前記記憶部から前記車両データを取得し、前記インタフェース部を介して要求元に提供するように構成された第1制御部と、
前記インタフェース部が前記第2アクセス要求を受け付けた場合、前記車載機にアクセスすることで該車載機から前記車両データを含むアクセス結果を取得し、前記インタフェース部を介して要求元に提供するように構成された第2制御部と、
を備えるモビリティサービス提供サーバ。
【請求項7】
請求項6に記載のモビリティサービス提供サーバであって、
前記第1アクセス要求および前記第2アクセス要求には、当該モビリティサービス提供サーバを利用したサービスを提供するサービスユーザを識別するユーザ識別情報が含まれ、
前記インタフェース部は、
前記ユーザ識別情報を、取得可能な前記車両データの範囲を表す認可クラスに対応づけて記憶する認可情報記憶部(142)と、
前記第1アクセス要求および前記第2アクセス要求に示された前記ユーザ識別情報に基づいて、前記認可情報記憶部から取得される前記認可クラスに従って、前記第1アクセス要求および前記第2アクセス要求に示された取得の対象となる前記車両データが、該認可クラスによって認可された権限の範囲外である場合に、取得要求の受け付けを拒否する認可部(144)と、
を更に備えるモビリティサービス提供サーバ。
【請求項8】
請求項6または請求項7に記載のモビリティサービス提供サーバであって、
前記記憶部は、
前記車載機から自発的に送信され、同時刻における前記車載機を搭載した前記車両の状態を表す前記車両データの一群をシャドウとし、該シャドウが生成された時間を表す情報をシャドウバージョンとして記憶するように構成された第1データベース(113)と、
前記第1データベースに蓄積された前記シャドウのそれぞれに対応して生成されるインデックスを記憶するように構成された第2データベース(125)と、
を備え、
前記インデックスは、前記シャドウに属する前記車両データの提供元となった前記車両を提供元車両として、前記シャドウから抽出される前記提供元車両を特定する車両識別情報と、前記提供元車両の位置情報と、前記シャドウバージョンとを含み、
前記第1制御部は、前記第1アクセス要求に示された取得条件に該当する前記インデックスを、前記第2データベースから抽出し、抽出された前記インデックスから特定される前記シャドウを前記第1データベースから取得するように構成された、
モビリティサービス提供サーバ。
【請求項9】
請求項8に記載のモビリティサービス提供サーバであって、
前記第1制御部は、前記取得条件に時刻または時間範囲を指定する時間指定情報が含まれる場合、前記シャドウバージョンが前記時間指定情報に該当する前記インデックスを、前記第2データベースから抽出するように構成された
モビリティサービス提供サーバ。
【請求項10】
請求項
8に記載のモビリティサービス提供サーバであって、
前記第1制御部は、前記取得条件に地理的領域を指定するエリア指定情報が含まれる場合、前記位置情報が前記エリア指定情報で指定されたエリア内を示す前記インデックスを、前記第2データベースから抽出するように構成された
モビリティサービス提供サーバ。
【請求項11】
請求項6
または請求項7に記載のモビリティサービス提供サーバであって、
前記第2制御部は、
前記インタフェース部が前記第2アクセス要求を受け付けた場合、暗号情報を生成して、前記第2アクセス要求で指定された通知先に、前記暗号情報を用いて生成された暗号文の復号に用いる鍵を送信する暗号情報生成部(S210~S220)と、
前記第2アクセス要求に従って、前記車載機に要求することで取得した前記車両データを、前記暗号情報生成部にて生成された前記暗号情報を用いて暗号化して前記インタフェース部を介して要求元に提供する暗号化部(S250~S260)と、
を備える
モビリティサービス提供サーバ。
【請求項12】
車両に搭載された車載機から提供される車両データを記憶するように構成された記憶部と、外部から第1アクセス要求および第2アクセス要求を受け付けるように構成されたインタフェース部と、を備えるモビリティサービス提供サーバにおける車両データ提供方法であって、
前記インタフェース部が前記第1アクセス要求を受け付けた場合、前記記憶部から前記車両データを取得し、前記インタフェース部を介して要求元に提供し、
前記インタフェース部が前記第2アクセス要求を受け付けた場合、前記車載機にアクセスすることで該車載機から前記車両データを含むアクセス結果を取得し、前記インタフェース部を介して要求元に提供する
車両データ提供方法。
【請求項13】
車両に搭載され前記車両から取得されるデータである車両データを収集するように構成された車載機と、前記車載機との無線通信を行うように構成されたモビリティサービス提供サーバと、を備えたモビリティサービス提供システムにおける車両データ提供方法であって、
前記車載機は、繰り返し前記車両データを前記モビリティサービス提供サーバに自発的に送信すると共に、前記モビリティサービス提供サーバからの要求に応じて前記車両データを前記モビリティサービス提供サーバに送信し、
前記モビリティサービス提供サーバは、
前記無線通信により前記車載機から取得した所定時点ごとの前記車両データを記憶部に記憶し、
外部からの第1アクセス要求および第2アクセス要求を受け付けるように構成されたインタフェース部が、前記第1アクセス要求を受け付けた場合、前記記憶部から前記車両データを取得し、前記インタフェース部を介して要求元に提供し、
前記インタフェース部が前記第2アクセス要求を受け付けた場合、前記車載機にアクセスすることで該車載機から前記車両データを含むアクセス結果を取得し、前記インタフェース部を介して要求元に提供する
車両データ提供方法。
【請求項14】
車両に搭載された車載機から提供される車両データを記憶するように構成された記憶部、および外部から第1アクセス要求および第2アクセス要求を受け付けるように構成されたインタフェース部と共にモビリティサービス提供サーバを構成するコンピュータを、
前記インタフェース部が前記第1アクセス要求を受け付けた場合、前記記憶部から前記車両データを取得し、前記インタフェース部を介して要求元に提供する第1制御部、
前記インタフェース部が前記第2アクセス要求を受け付けた場合、前記車載機にアクセスすることで該車載機から前記車両データを含むアクセス結果を取得し、前記インタフェース部を介して要求元に提供する第2制御部
として機能させるためのプログラム。
【発明の詳細な説明】
【関連出願の相互参照】
【0001】
本国際出願は、2021年7月2日に日本国特許庁に出願された日本国特許出願第2021-110905号に基づく優先権を主張するものであり、日本国特許出願第2021-110905号の全内容を本国際出願に参照により援用する。
【技術分野】
【0002】
本開示は、モビリティサービスを提供する技術に関する。
【背景技術】
【0003】
特許文献1には、車両から車両データを収集することによって現実世界の車両の状態を仮想空間で再現するデジタルツインシミュレーションが記載されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【0005】
モビリティサービスの広がりを受け、例えば、GPS情報等の車両データを、管理対象車両から定期的に収集して管理対象車両の位置をブラウザの地図画面上に表示させることで、サービス管理者が管理対象車両を一元管理するフリートサービスが提供されている。
【0006】
車両データを取得する際に、実車両から直接データを取得する方法とデジタルツインなどの仮想環境を用いてクラウド上のシャドウからデータを取得することで、クラウド内で完結させる場合と大きく二通りある。
【0007】
実車両から直接取得する場合、車両のローデータを扱うことができる一方、電源オフ等の車両状態によっては、取得できなかったり、扱いやすい形式に正規化されていなかったりするため、扱いが困難である。
【0008】
クラウド内で完結させる場合、車両状態の影響を受けないが、正規化された車両データしか扱えない。
【0009】
本開示は、モビリティサービス提供システムにおいて、用途に応じたデータ提供を実現する技術を提供する。
【0010】
本開示の一態様は、モビリティサービス提供システムであって、車載機と、モビリティサービス提供サーバと、を備える。車載機は、車両に搭載され車両から取得されるデータである車両データを収集するように構成される。モビリティサービス提供サーバは、車載機との無線通信を行うように構成される。車載機は、繰り返し車両データをモビリティサービス提供サーバに自発的に送信すると共に、モビリティサービス提供サーバからの要求に応じて車両データをモビリティサービス提供サーバに送信するように構成される。
【0011】
モビリティサービス提供サーバは、記憶部と、インタフェース部と、第1制御部と、第2制御部と、を備える。記憶部は、無線通信により車載機から取得した所定時点ごとの車両データを記憶するように構成される。インタフェース部は、外部からの第1アクセス要求および第2アクセス要求を受け付けるように構成される。第1制御部は、インタフェース部が第1アクセス要求を受け付けた場合、記憶部から車両データを取得し、インタフェース部を介して要求元に提供するように構成される。第2制御部は、インタフェース部が第2アクセス要求を受け付けた場合、車載機にアクセスすることで車載機から車両データを含むアクセス結果を取得し、インタフェース部を介して要求元に提供するように構成される。
【0012】
このような構成によれば、モビリティサービス提供サーバのインタフェース部を利用することで、車載機を搭載した車両から取得され、モビリティサービス提供サーバの記憶部に記憶された車両データ、および車載機を搭載した車両が有する車両データをいずれも取得することができる。
【0013】
本開示の一態様は、モビリティサービス提供サーバであって、記憶部と、インタフェース部と、第1制御部と、第2制御部と、を備える。記憶部は、車両に搭載された車載機から提供される車両データを記憶するように構成される。インタフェース部は、外部から第1アクセス要求および第2アクセス要求を受け付けるように構成される。第1制御部は、インタフェース部が第1アクセス要求を受け付けた場合、記憶部から車両データを取得し、インタフェース部を介して要求元に提供するように構成される。第2制御部は、インタフェース部が第2アクセス要求を受け付けた場合、車載機にアクセスすることで車載機から車両データを含むアクセス結果を取得し、インタフェース部を介して要求元に提供するように構成される。
【0014】
このような構成によれば、上記効果を有するモビリティサービス提供システムを構築できる。
【0015】
本開示の一態様は、車両データ提供方法である。車両データ提供方法が適用されるモビリティサービス提供サーバは、記憶部と、インタフェース部と、を備える。
【0016】
車両データ提供方法では、インタフェース部が第1アクセス要求を受け付けた場合、記憶部から車両データを取得し、インタフェース部を介して要求元に提供する。また、インタフェース部が第2アクセス要求を受け付けた場合、車載機にアクセスすることで車載機から車両データを含むアクセス結果を取得し、インタフェース部を介して要求元に提供する。
【0017】
本開示の一態様は、プログラムである。プログラムを実行するコンピュータは、記憶部、インタフェース部と共にモビリティサービス提供サーバを構成する。
【0018】
プログラムは、コンピュータを、第1制御部、第2制御部として機能させる。第1制御部は、インタフェース部が第1アクセス要求を受け付けた場合、記憶部から車両データを取得し、インタフェース部を介して要求元に提供する。第2制御部は、インタフェース部が第2アクセス要求を受け付けた場合、車載機にアクセスすることで車載機から車両データを含むアクセス結果を取得し、インタフェース部を介して要求元に提供する。
【図面の簡単な説明】
【0019】
【
図1】モビリティIoTシステムの構成を示すブロック図である。
【
図3】エッジ装置の機能的な構成を示す機能ブロック図である。
【
図5】車両データ変換テーブルの構成を示す図である。
【
図6】標準化車両データの第1階層と、データフォーマットとを示す図である。
【
図8】標準化車両データの作成手順を示すシーケンス図である。
【
図9】データ送信タイミングを示すタイミングチャートである。
【
図10】管理センターの構成を示すブロック図である。
【
図11】管理センターの機能的な構成を示す機能ブロック図である。
【
図12】モビリティGWおよびデータ管理部の機能的な構成を示す機能ブロック図である。
【
図16】認可情報記憶部が有する認可オブジェクトデータベースの構成を示す図である。
【
図17】認可情報記憶部が有する認可クラスデータベースの構成を示す図である。
【
図18】API提供部の動作を示すシーケンス図である。
【
図19】第1データ取得要求の指定情報およびシャドウアクセス要求の構成を示す図である。
【
図21】インデックス取得部が実行するシャドウリスト生成処理のフローチャートである。
【
図22】オープンAPIである第1データ取得APIを利用したデータ取得の手順を示すシーケンス図である。
【
図23】第2データ取得要求の指定情報の構成を示す図である。
【
図24】車両制御部が実行する車両データ取得処理のフローチャートである。
【
図25】クローズAPIである第2データ取得APIを利用したデータ取得の手順を示すシーケンス図である。
【
図26】車両に搭載されるECUの接続状態を示すブロック図である。
【
図27】第2実施形態において管理センターが有するサーバ側認可データベースの構成を示す図である。
【
図28】第2実施形態におけるエッジ装置の機能的な構成を示すブロック図である。
【
図29】第2実施形態においてエッジ装置が有する車側認可データベースの構成を示す図である。
【
図30】管理センターおよびエッジ装置の双方で認可処理を実行する2段階認可の手順を示すシーケンス図である。
【
図31】エッジ装置側でのみ認可処理を実行する車側単独認可の手順を示すシーケンス図である。
【発明を実施するための形態】
【0020】
以下に本開示の実施形態を図面とともに説明する。
【0021】
[1.第1実施形態]
[1-1.システム概要]
本実施形態のモビリティIoTシステム1は、
図1に示すように、複数のエッジ装置2と、管理センター3と、サービス提供サーバ4とを備える。IoTは、Internet of Thingsの略である。
【0022】
エッジ装置2は、車両に搭載され、広域無線通信網NWを介して、管理センター3とデータ通信を行う機能を有する。
【0023】
管理センター3は、モビリティIoTシステム1を管理する装置である。管理センター3は、広域無線通信網NWを介して、複数のエッジ装置2およびサービス提供サーバ4との間でデータ通信を行う機能を有する。
【0024】
サービス提供サーバ4は、例えば、車両の運行を管理するサービスを提供するために設置されたサーバである。なお、モビリティIoTシステム1は、サービス内容が互いに異なる複数のサービス提供サーバ4を備えてもよい。サービス提供サーバ4は、オンプレミスで構成されてもよいし、クラウドで構成されてもよい。また、サービス提供サーバ4は、管理センター3と物理的に同じサーバとして構成されていてもよい。
【0025】
[1-2.エッジ装置]
[1-2-1.装置構成]
エッジ装置2は、
図2に示すように、マイクロコンピュータ11と、車両インタフェース(以下、車両I/F)12と、通信部13と、記憶部14とを備える。
【0026】
マイクロコンピュータ11は、第1コア21と、第2コア22と、ROM23と、RAM24と、フラッシュメモリ25と、入出力部26と、バス27とを備える。
【0027】
マイクロコンピュータ11の各種機能は、第1コア21および第2コア22が非遷移的実体的記録媒体に格納されたプログラムを実行することにより実現される。この例では、ROM23が、プログラムを格納した非遷移的実体的記録媒体に該当する。また、このプログラムの実行により、プログラムに対応する方法が実行される。
【0028】
なお、第1コア21および第2コア22が実行する機能の一部または全部を、一つあるいは複数のIC等によりハードウェア的に構成してもよい。
【0029】
フラッシュメモリ25は、データ書き換え可能な不揮発性メモリである。フラッシュメモリ25は、後述する標準化車両データを格納する標準化車両データ格納部25aを備える。
【0030】
入出力部26は、マイクロコンピュータ11の外部と第1コア21および第2コア22との間でデータの入出力を行わせるための回路である。
【0031】
バス27は、第1コア21、第2コア22、ROM23、RAM24、フラッシュメモリ25および入出力部26を、互いにデータ入出力可能に接続する。
【0032】
車両I/F12は、車両に搭載された電子制御装置およびセンサ等との間で信号の入出力を行わせるための入出力回路である。
【0033】
車両I/F12は、電源電圧入力ポート、汎用入出力ポート、CAN通信ポートおよびイーサネット通信ポートなどを備える。CAN通信ポートは、CAN通信プロトコルに従ってデータの送受信を行うためのポートである。イーサネット通信ポートは、イーサネット通信プロトコルに基づいてデータの送受信を行うためのポートである。CANは、Controller Area Networkの略である。CANは登録商標である。イーサネットは登録商標である。
【0034】
CAN通信ポートおよびイーサネット通信ポートには、車両に搭載された他の電子制御装置が接続される。エッジ装置2は、他の電子制御装置との間で通信フレームの送受信を行うことができる。
【0035】
通信部13は、広域無線通信網NWを介して、管理センター3とデータ通信を行う。
【0036】
記憶部14は、各種データを記憶するための記憶装置である。
【0037】
図26に示すように、車両には、一つのECU210と、複数のECU220と、複数のECU230と、車外通信装置240と、車内通信網250とが搭載される。ECUは、Electronic Control Unitの略である。
【0038】
ECU210は、複数のECU220を統括することにより、車両全体として連携がとれた制御を実現する。
【0039】
ECU220は、車両における機能によって区分けしたドメイン毎に設けられ、主として、そのドメイン内に存在する複数のECU230の制御を実行する。各ECU220は、それぞれ個別に設けられた下層ネットワーク(例えば、CAN)を介して配下のECU230と接続される。ECU220は、配下のECU230に対するアクセス権限などを一元的に管理し利用者の認証等を行う機能を有する。ドメインは、例えば、パワートレーン、ボデー、シャシおよびコックピット等である。
【0040】
パワートレーンのドメインに属するECU220に接続されるECU230は、例えば、エンジンを制御するECU230、モータを制御するECU230、および、バッテリを制御するECU230等を含む。
【0041】
ボデーのドメインに属するECU220に接続されるECU230は、例えば、エアコンを制御するECU230、および、ドアを制御するECU230等を含む。
【0042】
シャシドメインに属するECU220に接続されるECU230は、例えば、ブレーキを制御するECU230、および、ステアリングを制御するECU230等を含む。
【0043】
コックピットのドメインに属するECU220に接続されるECU230は、例えば、メータおよびナビゲーションの表示を制御するECU230、および、車両の乗員によって操作される入力装置を制御するECU230等を含む。
【0044】
車外通信装置240は、広域無線通信網NWを介して、車両外の通信装置(例えば、クラウドサーバ)との間でデータ通信を行う。
【0045】
車内通信網250は、CAN FDとイーサネットとを備える。CAN FDは、CAN with Flexible Data Rateの略である。CAN FDは、ECU210と各ECU220および車外通信装置240とをバス接続する。イーサネットは、ECU210と各ECU220および車外通信装置240との間を個別に接続する。
【0046】
ECU210は、CPU210a、ROM210bおよびRAM210c等を備えたマイクロコンピュータを中心に構成された電子制御装置である。マイクロコンピュータの各種機能は、CPU210aが非遷移的実体的記録媒体に格納されたプログラムを実行することにより実現される。この例では、ROM210bが、プログラムを格納した非遷移的実体的記録媒体に該当する。また、このプログラムの実行により、プログラムに対応する方法が実行される。なお、CPU210aが実行する機能の一部または全部を、一つあるいは複数のIC等によりハードウェア的に構成してもよい。また、ECU210を構成するマイクロコンピュータの数は1つでも複数でもよい。
【0047】
ECU220、ECU230および車外通信装置240は、いずれも、ECU210と同様に、CPU、ROMおよびRAM等を備えたマイクロコンピュータを中心に構成された電子制御装置である。また、ECU220、ECU230および車外通信装置240を構成するマイクロコンピュータの数は1つでも複数でもよい。ECU220は、1以上のECU230を統括するECUであり、ECU210は、1以上のECU220を統括する、または車外通信装置240を含む車両全体のECU220,230を統括するECUである。
【0048】
エッジ装置2は、ECU210との間でデータ通信可能となるようにECU210に接続される。すなわち、エッジ装置2は、ECU210を介して、ECU210,220,230の情報を受信する。またエッジ装置2は、車両制御に関する要求を、ECU210へ送信したり、ECU210を介してECU220,230へ送信したりする。
【0049】
[1-2-2.機能構成]
エッジ装置2は、ROM23に格納されたプログラムを第1コア21が実行することにより実現される機能ブロックとして、
図3に示すように、第1ユニット101を備える。エッジ装置2は、ROM23に格納されたプログラムを第2コア22が実行することにより実現される機能ブロックとして、第2ユニット102を備える。
【0050】
第1ユニット101は、リアルタイムオペレーティングシステム(以下、RTOS)103と、第1アプリケーション104とを備える。
【0051】
第1アプリケーション104は、車両を制御するための各種処理を実行する。第1アプリケーション104は、車両を制御するための各種処理を実行するために、フラッシュメモリ25の標準化車両データ格納部25aにアクセスして標準化車両データを参照することが可能に構成されている。
【0052】
RTOS103は、第1アプリケーション104による処理のリアルタイム性を確保することができるように、第1アプリケーション104を管理する。
【0053】
第2ユニット102は、汎用オペレーティングシステム(以下、GPOS)105と、第2アプリケーション106とを備える。
【0054】
第2アプリケーション106は、サービス提供サーバ4により提供されるサービスに関連した処理を実行する。第2アプリケーション106は、サービスに関連した処理を実行するために、フラッシュメモリ25の標準化車両データ格納部25aにアクセスして標準化車両データを参照することが可能に構成されている。
【0055】
GPOS105は、各種アプリケーションを動作させるためにエッジ装置2に搭載された基本ソフトウェアであり、第2アプリケーション106を管理する。
【0056】
[1-2-3.データ収集処理]
エッジ装置2が車両データを収集して自発的に管理センター3に送信する一連の処理について説明する。
【0057】
まず、車両I/F12が実行する処理を説明する。
【0058】
車両I/F12は、通信フレームを受信すると、通信フレームを受信した通信ポートに基づいて、通信フレームの通信プロトコルを判定する。具体的には、車両I/F12は、例えば、CAN通信ポートで通信フレームを受信した場合には、受信した通信フレームの通信プロトコルはCAN通信プロトコルであると判定する。また車両I/F12は、例えば、イーサネット通信ポートで通信フレームを受信した場合には、受信した通信フレームの通信プロトコルはイーサネット通信プロトコルであると判定する。
【0059】
そして車両I/F12は、通信フレームの識別情報に基づいて、エッジ装置2での処理対象となる通信フレームであるか否かを判定し、処理対象となる通信フレームであると判定した場合に、受信した通信フレームを第1ユニット101へ出力する。
【0060】
CANフレームは、
図4に示すように、スタートオブフレーム、アービトレーションフィールド、コントロールフィールド、データフィールド、CRCフィールド、ACKフィールドおよびエンドオブフレームにより構成されている。なお、アービトレーションフィールドは、11ビットまたは29ビットのアイデンティファイア(すなわち、ID)と1ビットのRTRビットで構成される。
【0061】
また、CAN通信で使用する11ビットのアイデンティファイアをCANIDという。CANIDは、CANフレームに含まれるデータの内容、CANフレームの送信元、およびCANフレームの送信先等に基づいて予め設定されている。
【0062】
データフィールドは、それぞれ8ビット(すなわち1バイト)の第1データ、第2データ、第3データ、第4データ、第5データ、第6データ、第7データおよび第8データで構成される。以下、データフィールドの第1~8データのそれぞれをCANデータともいう。
【0063】
このため、車両I/F12は、CANフレームを受信した場合には、CANIDに基づいて、処理対象であるか否かを判定する。
【0064】
次に、第1ユニット101が実行する処理を説明する。
【0065】
第1ユニット101は、車両I/F12から出力された通信フレームを取得すると、通信フレームから、識別情報とデータとを抽出し、識別情報とデータとで構成される標準フォーマットデータを作成する。第1ユニット101は、作成した標準フォーマットデータをフラッシュメモリ25に記憶する。例えば、第1ユニット101は、CANフレームを取得した場合には、CANIDと第1~8データとで構成される標準フォーマットデータを作成する。
【0066】
なお、第1ユニット101は、作成した標準フォーマットデータと同一の識別情報を含む標準フォーマットデータが既にフラッシュメモリ25に記憶されている場合、その標準フォーマットデータに上書きすることによって、標準フォーマットデータを更新する。
【0067】
次に、第2ユニット102が実行する処理を説明する。
【0068】
第2コア22は、標準フォーマットデータをフラッシュメモリ25から取得する。
【0069】
そして第2コア22は、取得した標準フォーマットデータに含まれるデータを分割する。例えば、CANフレームから生成された標準フォーマットデータは、CANIDと、第1~8データとで構成されているため、第2コア22は、第1~8データを1バイト毎に分割し、8つのCANデータを抽出する。なお、第1ユニット101および第2ユニット102による標準フォーマットデータの書込みおよび読出しは、フラッシュメモリ25でなくRAM24を用いても良い。
【0070】
さらに第2コア22は、ROM23に格納された車両データ変換テーブル23aを参照して、分割された各抽出データを、制御ラベルおよび車両データに変換する。
【0071】
車両データ変換テーブル23aは、正規化情報と、意味化情報とを備える。
【0072】
正規化情報は、車種および車両製造企業に関わらず同一の物理量が同一の値になるように抽出データを正規化するための情報である。
【0073】
意味化情報とは、正規化された車両データを用いて、意味のある車両データに変換するための情報である。以下では、正規化および意味化された車両データを加工データ、正規化および意味化される前の車両データをローデータともいう。ローデータは、例えばCANフレームのデータフィールドで示されるデータを指す。
【0074】
車両データ変換テーブル23aの正規化情報は、
図5に示すように、設定項目として、例えば「CANID」、「ECU」、「ポジション」、「DLC」、「ユニークラベル」、「解像度」、「オフセット」および「単位」を備える。
【0075】
「ECU」は、CANフレームの送信元のECUを示す情報である。例えば、「ENG」は、エンジンECUであることを示す。
【0076】
「ポジション」は、データフィールド内におけるCANデータの位置を示す情報である。「DLC」は、データ長を示す情報である。DLCは、Data Length Codeの略である。
【0077】
「ユニークラベル」は、制御ラベルを示す情報である。例えば、「ETHA」は吸気温を示し、「NE1」はエンジン回転数を示す。「解像度」は、1ビット当たりの数値を示す情報である。
【0078】
したがって、「CANID」、「ECU」、「ポジション」、「DLC」および「ユニークラベル」によって、標準フォーマットデータから、「ユニークラベル」に対応するデータが抽出される。さらに抽出データは、「解像度」および「オフセット」により、「単位」で表される値に換算された、車両データに変換される。
【0079】
また、車両データ変換テーブル23aの意味化情報は、例えば、
図5に示すように、制御ラベルが「SSA」である「操舵移動角度」から、制御ラベルが「SSAZ」である「操舵ゼロ点」を減算することにより「操舵角」に変換する変換式を含む。この変換式により、「操舵移動角度」を表す車両データと、「操舵ゼロ点」を表す車両データとから、「基準位置からの操舵量」という意味を有する「操舵角」を表す車両データに変換される。
【0080】
第2コア22は、変換された車両データを階層化してフラッシュメモリ25に記憶する。具体的には、第2コア22は、変換された車両データを、フラッシュメモリ25に設けられた標準化車両データ格納部25aの対応領域に格納する。
【0081】
標準化車両データ格納部25aは、車両データを階層化して構成される標準化車両データを格納する。
【0082】
標準化車両データは、車両毎(すなわち、エッジ装置2毎)に作成され、複数の階層構造を有している。標準化車両データでは、複数の階層のそれぞれに対して、1または複数の項目が設定されている。例えば、
図6に示すように、標準化車両データは、最上位の第1階層に設定される項目として、「属性情報」、「パワトレ」、「エネルギー」、「ADAS/AD」、「ボデー」、「マルチメディア」および「その他」を備える。ADASは、Advanced Driver Assistance Systemの略である。ADは、Autonomous Drivingの略である。「属性情報」、「パワトレ」および「エネルギー」等はカテゴリに相当する。
【0083】
また各車両データは、項目として、「ユニークラベル」、「ECU」、「データ型」、「データサイズ」、「データ値」および「データ単位」を備える。「ユニークラベル」および「ECU」は、前述の通りである。「データ型」、「データサイズ」および「データ単位」は、「データ値」で示される数値に関する型、サイズ、単位を示す。
【0084】
図7に示すように、標準化車両データは、第1階層に加えて、少なくとも第2階層および第3階層を備える。第2階層は第1階層の直下の階層であり、第3階層は第2階層の直下の階層である。標準化車両データは、前述した正規化および意味化の処理において設定された項目である。標準化車両データは、階層化されたデータ構造を有する。
【0085】
例えば、第1階層の項目である「属性情報」は、第2階層の項目として、「車両識別情報」、「車両属性」、「トランスミッション構成」および「ファームウェアバージョン」等を備える。「車両識別情報」は、車両を一意に識別できる情報を示すカテゴリ名である。「車両属性」は、車両の種類を示すカテゴリ名である。「トランスミッション構成」は、トランスミッションに関する情報を示すカテゴリ名である。「ファームウェアバージョン」は、車両のファームウェアに関する情報を示すカテゴリ名である。
【0086】
また、第1階層の項目である「パワトレ」は、パワートレーンに関する情報を示すカテゴリ名である。「パワトレ」は、第2階層の項目として、「アクセルペダル」、「エンジン」および「エンジンオイル」等を備える。「アクセルペダル」には、アクセルペダルの状態、開度など1以上の車両データが含まれる。「エンジン」には、エンジンの状態、回転数など1以上の個々の車両データが含まれる。第2階層の項目もカテゴリに相当する。他の第1階層の項目についても同様である。
【0087】
また、第1階層の項目である「エネルギー」は、エネルギーに関する情報を示すカテゴリ名である。「エネルギー」は、第2階層の項目として、「バッテリ状態」、「バッテリ構成」および「燃料」等を備える。
【0088】
また、第2階層の項目である「車両識別情報」は、第3階層の項目として、「車両識別番号」、「車体番号」および「ナンバープレート」を備える。第3階層の項目は、1以上の個々の車両データであり、アイテムとも言う。つまり、標準化車両データの階層構造において、最下層の項目をアイテム、最下層以外の項目(すなわち、下位階層を有する項目)をカテゴリという。
【0089】
また、第2階層の項目である「車両属性」は、第3階層の項目として、「ブランド名」、「モデル」および「製造年」等を備える。
【0090】
また、第2階層の項目である「トランスミッション構成」は、第3階層の項目として、「トランスミッション種別」を備える。
【0091】
例えば、第2コア22は、変換された車両データの制御ラベルが「車両識別情報」である場合には、標準化車両データ格納部25aにおいて第1階層が「属性情報」であり且つ第2階層が「車両識別情報」であり且つ第3階層が「車両識別番号」である格納領域に、変換された車両データを格納する。
【0092】
「その他」には、例えば、車両に搭載されたGPS装置から車両I/F12を介して取得される位置情報、すなわち、緯度、経度、高度が含まれてもよい。
【0093】
次に、
図8に示すシーケンス図を用いて、エッジ装置2が標準化車両データを作成する手順を説明する。
【0094】
矢印L11で示すように、車両I/F12が車両から車両データを取得すると、車両I/F12は、矢印L12で示すように、通信プロトコル判定を行う。さらに車両I/F12は、矢印L13で示すように不要な車両データをフィルタリングし、矢印L14で示すように、必要な車両データを第1ユニット101へ出力する。
【0095】
第1ユニット101は、車両I/F12から車両データを取得すると、矢印L15で示すように、車両データを標準フォーマットに変換し、矢印L16で示すように、標準フォーマットに変換された車両データをフラッシュメモリ25に記憶する。
【0096】
第2ユニット102は、矢印L17で示すように、標準フォーマットに変換された車両データをフラッシュメモリ25から取得すると、矢印L18で示すように、取得した車両データを変換する。さらに第2ユニット102は、矢印L19で示すように、変換したデータを構造化して標準化車両データを作成する。
【0097】
次に、エッジ装置2が実行するデータ送信処理の手順を説明する。
【0098】
標準化車両データに属する各車両データには、管理センター3にデータを送信するタイミングを表すタイミング情報が、それぞれ設定される。タイミング情報は、データが変化する度合いやデータの重要度等に応じて、頻繁に変化するデータほど、重要度が高いデータほど周期が短くなるように設定される。タイミング情報は、例えば、500ms周期、2s周期、4s周期、30s周期、300s周期、12時間周期等である。
【0099】
第2コア22は、送信単位時間(例えば250ms)周期で送信処理を実行する。
【0100】
図9に示すように、500ms周期で送信する車両データである第1頻度データを、2グループに分けて、送信タイミング毎に交互に送信する。同様に、1s周期で送信する車両データである第2頻度データを、2グループまたは4グループに分けて各グループのデータを異なる送信タイミング送信する。つまり、各車両データを、あらかじめ設定された送信スケジュールに従って送信することにより、同じ送信タイミングに多くの車両データの送信が集中することを抑制する。また、各車両データを、その特性に応じた頻度で送信することにより、効率の良い送信を実現する。
【0101】
[1-3.管理センター]
[1-3―1.装置構成]
管理センター3は、
図10に示すように、制御部31と、通信部32と、記憶部33とを備える。
【0102】
制御部31は、CPU41、ROM42およびRAM43等を備えたマイクロコンピュータを中心に構成された電子制御装置である。マイクロコンピュータの各種機能は、CPU41が非遷移的実体的記録媒体に格納されたプログラムを実行することにより実現される。この例では、ROM42が、プログラムを格納した非遷移的実体的記録媒体に該当する。また、このプログラムの実行により、プログラムに対応する方法が実行される。なお、CPU41が実行する機能の一部または全部を、一つあるいは複数のIC等によりハードウェア的に構成してもよい。また、制御部31を構成するマイクロコンピュータの数は1つでも複数でもよい。
【0103】
通信部32は、広域無線通信網NWを介して、複数のエッジ装置2およびサービス提供サーバ4との間でデータ通信を行う。なお、エッジ装置2との通信には、パブリッシュ/サブスクライブ型のシンプルで軽量なプロトコルであるMQTTが用いられる。MQTTは、Message Queue Telemetry Transportの略である。
【0104】
記憶部33は、各種データを記憶するための記憶装置である。
【0105】
[1-3-2.機能構成]
管理センター3は、ROM42に格納されたプログラムをCPU41が実行することにより実現される機能ブロックとして、
図11に示すように、車両側ユニット110と、サービス側ユニット120とを備える。車両へのアクセスに近い側の機能ブロックが車両側ユニット110であり、サービス提供サーバ4からのアクセスに近い側の機能ブロックがサービス側ユニット120である。これら2つの機能ブロックは、疎結合に構成される。
【0106】
管理センター3を構成するこれらの要素を実現する手法はソフトウェアに限るものではなく、その一部または全部の要素について、一つあるいは複数のハードウェアを用いて実現してもよい。例えば、上記機能がハードウェアである電子回路によって実現される場合、その電子回路は多数の論理回路を含むデジタル回路、またはアナログ回路、あるいはこれらの組合せによって実現してもよい。
【0107】
車両側ユニット110は、車両へのアクセスおよび車両から受信したデータを管理する機能を有する。車両側ユニット110は、モビリティゲートウェイ(以下、モビリティGW)111を備える。モビリティGW111は、車両へのアクセス要求を車両へ中継する機能の他、車両から受信したデータを管理する機能を有する。
【0108】
そしてモビリティGW111は、シャドウ管理部112と、車両制御部130とを備える。シャドウ管理部112は、エッジ装置2を搭載する車両毎に設けられた車両データを収容するシャドウ114を管理する機能を備える。シャドウ114は、ある車両の車両データ群を示す。シャドウ114は、エッジ装置2から送信される標準化車両データに基づいて生成される。車両制御部130は、サービス提供サーバ4からの指示に従って、エッジ装置2を介して、該エッジ装置2を搭載している車両を制御する機能を備える。
【0109】
サービス側ユニット120は、サービス提供サーバ4からの要求を受け付けるとともに、車両データの提供を行う。サービス側ユニット120は、データ管理部121と、API提供部122とを備える。APIは、Application Programming Interfaceの略である。
【0110】
データ管理部121は、車両の接続状態の変化に依存しない車両アクセスを提供するための仮想空間であるデジタルツイン123を管理する機能を備える。データ管理部121は、車両側ユニット110で管理する車両データへのアクセスに必要なデータを管理する。
【0111】
API提供部122は、サービス提供サーバ4がモビリティGW111およびデータ管理部121へアクセスするための標準インタフェースである。API提供部122は、サービス提供サーバ4に対し、車両へのアクセスや車両データを取得するためのAPIを提供する。
【0112】
[1-3-2-1.データ蓄積機能]
図12に示すように、シャドウ管理部112は、エッジ装置2から取得した車両データを蓄積する機能を実現する構成として、シャドウ作成部115と、シャドウ記憶部113と、最新インデックス作成部116と、最新インデックス記憶部117とを備える。
【0113】
シャドウ作成部115は、エッジ装置2から構造化された標準化車両データを受信する。シャドウ作成部115は、エッジ装置2から車両データが送信される毎に、送信された車両データを、構造化された標準化車両データの該当領域に上書きすることにより、標準化車両データを更新する。シャドウ作成部115は、構造化された標準化車両データの一部を受信してもよい。シャドウ作成部115は、更新された標準化車両データを用いて、新たなシャドウ114を作成する。シャドウ作成部115は、作成したシャドウ114をシャドウ記憶部113に蓄積する。シャドウ作成部115は、更新された標準化車両データを用いて新たなシャドウ114を作成する際、通し番号など任意の情報を付与してシャドウ記憶部113に記憶してもよい。シャドウ記憶部113には、車両毎に、時系列的に作成された複数のシャドウ114が記憶される。つまり、シャドウ114は、エッジ装置2を搭載した車両のある時刻における状態をコピーしたものとみなすことができる。
【0114】
一つのシャドウ114は、ある車両の所定時刻の車両データ群であり、
図13に示す標準化されたデータ構造で表される車両データ群を含む。なお、通信部32を介してシャドウ作成部115が構造化された標準化車両データを受信するタイミングは、車両によって異なる。新たなシャドウ114の作成は、全ての車両に対して同じタイミングで行ってもよい。シャドウ作成部115は、新たなシャドウ114の作成を、全ての車両に対して一定周期で行ってもよい。シャドウ記憶部113には、車両毎に、過去のシャドウ114が蓄積されている。一定期間経過したシャドウ114は順次削除されてもよい。
【0115】
図13に示すように、シャドウ114は、車両データ格納部114aと、デバイスデータ格納部114bとを備える。
【0116】
車両データ格納部114aは、エッジ装置2を搭載している車両に関するデータとして、「object-id」、「Shadow_version」および「mobility-data」を格納する。
【0117】
「object-id」は、エッジ装置2を搭載している車両を識別する文字列であり、パーティションキーとして機能する。
【0118】
「Shadow_version」は、シャドウ114のバージョンを示す数値であり、シャドウ114が作成される毎に、作成された時刻を示すタイムスタンプが設定される。
【0119】
「mobility-data」は、上記の標準化車両データである。
【0120】
デバイスデータ格納部114bは、エッジ装置2に搭載されているハードウェア、ソフトウェア、および状態に関するデータとして、「object-id」、「update_time」、「version」、「power_status」、「power_status_timestamp」、「notify_reason」を格納する。「version」、「power_status」等のデータは、値に変化が生じた際に、上記標準化車両データとは別で、エッジ装置2から送信される。
【0121】
「object-id」は、車両データ格納部114aにて説明したものと同じである。
【0122】
「update_time」は、更新時刻を示す数値である。
【0123】
「version」は、エッジ装置2のハードウェアおよびソフトウェアのバージョンを示す文字列である。
【0124】
「power_status」は、エッジ装置2のシステム状態を示す文字列である。具体的には、全ての機能を利用可能なウェイクアップ状態、一部の機能を停止した低消費電力のスリープ状態がある。
【0125】
「power_status_timestamp」は、システム状態の通知時刻を示す数値である。
【0126】
「notify_reason」は、通知理由を示す文字列である。
【0127】
このようにシャドウ114は、車両データ群に加え、エッジ装置2の情報を含む。なお、デバイスデータ格納部114bは、エッジ装置2の情報をシャドウ114に含めず別でROM42等に記憶してもよい。デバイスデータ格納部114bは、エッジ装置2の情報を、タイムスタンプ毎に過去のデータを蓄積するのではなく、最新のデータのみをROM42等に記憶してもよい。
【0128】
上記デバイスデータ格納部114bに格納される「version」「power_status」「notify_reason」等は、上記の標準化車両データとは別で、変化が生じたときにエッジ装置2から通知される。
【0129】
最新インデックス作成部116は、シャドウ記憶部113から車両毎に最新のシャドウ114を取得し、取得したシャドウ114を用いて最新インデックス118を作成する。そして最新インデックス作成部116は、作成した最新インデックス118を最新インデックス記憶部117に記憶する。最新インデックス記憶部117には、車両毎(すなわち、object-id毎)に1つの最新インデックス118が記憶される。
【0130】
図14に示すように、最新インデックス118は、「gateway-id」、「object-id」、「shadow-version」、「vin」、「location-lon」、「location-lat」および「location-alt」を格納する。
【0131】
「object-id」、「shadow-version」は、シャドウ114にて説明したものと同様である。
【0132】
「gateway-id」は、モビリティGW111を識別する情報である。管理センター3が、例えば、国別に設けられる等して複数存在する場合に、これらを識別する情報である。
【0133】
「vin」は、エッジ装置2を搭載している車両固有の登録番号である。
【0134】
「location-lon」は、エッジ装置2を搭載している車両が存在する緯度を示す情報である。
【0135】
「location-lat」は、エッジ装置2を搭載している車両が存在する経度を示す情報である。
【0136】
「location-alt」は、エッジ装置2を搭載している車両が存在する高度を示す情報である。
【0137】
図12に示すように、データ管理部121は、シャドウ管理部112から取得された最新インデックス118をインデックス126として蓄積する機能を実現する構成として、インデックス作成部124と、インデックス記憶部125とを備える。
【0138】
インデックス作成部124は、最新インデックス記憶部117から予め設定された取得スケジュールに従って最新インデックス118を取得し、取得した最新インデックス118を用いてデジタルツイン123用のインデックス126を作成する。そしてインデックス作成部124は、作成したインデックス126をインデックス記憶部125に順次記憶する。インデックス記憶部125には、車両毎に、時系列的に作成された複数のインデックス126が記憶される。つまり、インデックス記憶部125に記憶されたインデックス126のそれぞれが、仮想的な時空間であるデジタルツイン123上に存在する車両を表す。
【0139】
図15に示すように、インデックス126は、「timestamp」、「schedule-type」、「gateway-id」、「object-id」、「shadow-version」、「vin」、「location」および「alt」を格納する。
【0140】
「timestamp」は、インデックス126が作成された時刻をミリ秒単位で示すタイムスタンプである。
【0141】
「schedule-type」は、データ作成元のスケジューラが定期であるかイベントであるかを示す。定期である場合には「schedule-type」は「Repeat」に設定され、イベントである場合には「schedule-type」は「Event」に設定される。
【0142】
「gateway-id」、「object-id」「shadow-version」、「vin」は、最新インデックス118から引き継いだ情報である。
【0143】
「location」は、最新インデックス118の「location-lon」、「location-lat」から引き継いだ情報であり、「alt」は、最新インデックス118の「location-alt」から引き継いだ情報である。
【0144】
ここで、シャドウ管理部112は、最新インデックス作成部116および最新インデックス記憶部117を省略した構成としてもよい。この場合、インデックス作成部124は、シャドウ記憶部113に記憶されているシャドウ114を取得してインデックス126を生成してもよい。望ましくは、インデックス作成部124は、最新インデックス記憶部117から取得した最新インデックス118を用いてインデックス126を生成する。これは、モビリティGW111とデータ管理部121とを疎結合とする構成の一つである。
【0145】
さらに、データ管理部121は、インデックス作成部124およびインデックス記憶部125を省略した構成としてもよい。この場合、例えば、インデックス取得部127は、API提供部122を介して指定されたobject-idとタイムスタンプ(すなわち、shadow-version)を用いて、データ取得部119に指定された車両データの取得を要求してもよい。
【0146】
[1-3-2-2.サービス提供機能]
図5および
図12に示すように、サービス側ユニット120は、API提供部122を備える。API提供部122は、管理センター3が有する機能を、サービス提供サーバ4等の外部のサービス提供者に利用させるために用意されたインタフェースである。以下では、API提供部122等を利用するモビリティIoTシステム1のユーザをサービスユーザという。サービスユーザは、例えば車両トランクへの宅配を行うサービス事業者である。
【0147】
API提供部122は、
図12に示すように、認証情報記憶部141と、認可情報記憶部142と、車両識別情報記憶部143と、認証処理部144とを備える。また、サービスユーザに提供するAPIの種類として、ログインAPI145と、第1データ取得API146と、第2データ取得API147と、車両制御API148とを備える。
【0148】
ログインAPI145は、サービスユーザの認証を行うために提供されるAPIである。第1データ取得API146および第2データ取得API147は、いずれも、サービスユーザがデータを取得するために提供されるAPIである。車両制御API148は、サービスユーザが車両に対する制御を行うために提供されるAPIである。
【0149】
認証情報記憶部141は、「サービスユーザID」に対応づけて「認証情報」を記憶する。「サービスユーザID」は、サービスユーザを一意に識別する識別情報である。「認証情報」は、サービスユーザ本人であることを認証するための情報であり、例えば、あらかじめ設定されたパスワードである。
【0150】
認可情報記憶部142は、認可オブジェクトデータベース(以下、認可オブジェクトDB)と、認可クラスDBとを備える。
【0151】
図16に示すように、認可オブジェクトDBは、「サービスユーザID」に対応づけて、「認可クラス」「認可オブジェクト」「有効期限」を記憶する。「認可クラス」は、サービスユーザに対して認可された権限の範囲を表す情報である。「認可オブジェクト」は、サービスユーザによるアクセスが許可された車両の「object-id」のリストである。「有効期限」は、登録内容が有効な期間の開始年月日および終了年月日である。つまり、認可オブジェクトDBは、モビリティIoTシステム1に対する各サービスユーザの権限についての登録内容を示すデータベースである。認可オブジェクトDBには、「認可オブジェクト」が異なっているか、または、「有効期限」が重複していなければ、1のサービスユーザについて複数の登録がされてもよい。
【0152】
図17に示すように、認可クラスDBは、「認可クラス」に対応づけて「API情報」「取得権限」「有効期限」を記憶する。認可クラスDBは、「認可クラス」の具体的な内容を表すデータベースである。
【0153】
「認可クラス」は、認可を与えるデータ範囲を表す複数のクラスを識別する情報であり、例えば、認可クラスの低い順に「open」「Class0」「class1」「class2」「class3」「Full」の6クラスが存在してもよい。「認可クラス」は、データに対し読み出しや書き込みができるデータ範囲のクラス分けに限定されず、動作を制御できる動作制御範囲のクラス分け等であってもよい。
【0154】
「API情報」は、対応する「認可クラス」のサービスユーザに提供するAPIのurlである。urlは、Uniform Resource Locatorの略である。
【0155】
「取得権限」は、対応する「認可クラス」のサービスユーザに対して許可された取得可能なデータのリストである。認可クラスが「open」である場合、「取得権限」に含まれるデータは、誰もが自由にアクセスできる情報に限られ、例えば、車両の位置情報、高度情報が含まれてもよい。認可クラスが「Full」である場合、「取得権限」に含まれるデータは、管理センター3が管理する全ての情報、およびエッジ装置2を搭載する車両から取得可能な全ての情報が含まれる。認可クラスが「Class0」~「Class3」の場合、クラスが0~3に上がるに従って、アクセス可能なデータの数が増加するように設定されてもよいし、クラス毎に、アクセス可能なデータの種類が異なるように設定されてもよい。
【0156】
ここでは取得権限として、取得可能なデータが列挙されているが、取得可能なデータの代わりに、または、取得可能なデータに加えて、利用可能な機能、例えば、エッジ装置2を搭載した車両に対する制御の種類等が列挙されてもよい。取得可能なデータとしては、例えば
図7に示すデータ項目の中から列挙される。
【0157】
「有効期限」が重複していなければ、1の「認可クラス」に複数の設定が存在してもよい。
【0158】
車両識別情報記憶部143は、エッジ装置2が搭載された車両に一意に割り当てられた「object-id」と、その車両の「vin」とを対応づけたテーブル情報を記憶する。
【0159】
認証処理部144は、ログインAPI145を介して認証要求が行われた場合に、認証処理を実行し、第1データ取得API146、第2データ取得API147、車両制御API148を介してアクセス要求が行われた場合に、認可処理を実行する。認証処理および認可処理いついては後述する。
【0160】
API提供部122を介したアクセス要求に関わる手順を、
図18を用いて説明する。
【0161】
ログインAPI145は、サービスユーザがモビリティIoTシステム1にログインする際に用いられる。
【0162】
矢印L21で示すように、ログインAPI145がサービスユーザからの認証要求を受け付けると、認証処理部144が認証処理を実行する。認証処理では、ログインAPI145により入力された「サービスユーザID」「認証情報」を、認証情報記憶部141の登録内容と照合する。照合の結果、情報が一致した場合、すなわち、認証に成功した場合は、矢印L22で示すように、認証結果として、モビリティIoTシステム1へのアクセスを許可する証明書となるデータであるトークンを返す。
【0163】
第1データ取得API146は、機密性の低い情報等へのアクセスに用いるオープンAPIの一つである。第2データ取得API147は、機密性の高い情報等へのアクセス際に用いるクローズAPIの一つである。車両制御API148は、エッジ装置2が搭載された車両を制御する際に用いるクローズAPIの一つである。
【0164】
クラウドからのデータの取得に関し、機密性が高いデータの取得をクローズAPIで提供し、機密性が低いデータの取得をオープンAPIで提供してもよい。車両からのデータ取得に関し、機密性が高いデータの取得をクローズAPIで提供し、機密性が低いデータの取得をオープンAPIで提供してもよい。車両制御に関し、車両の走行に関わる制御をクローズAPIで提供し、車両の走行に関わらない制御をオープンAPIで提供してもよい。
【0165】
ここでは、
図11中の矢印L1に示すように、管理センター3に蓄積された車両データ(すなわち、インデックス126およびシャドウ114)へのアクセスには、オープンAPIである第1データ取得API146が用いられる。また、
図11中の矢印L2に示すように、エッジ装置2が搭載された車両へのアクセスには、クローズAPIである第2データ取得API147および車両制御API148が用いられる。但し、管理センター3に蓄積された車両データの一部(すなわち、機密性の高い情報等)に対してクローズAPIを用いてもよい。
【0166】
以下では、第1データ取得API146、および第2データ取得API147、車両制御API148を、総称してアクセスAPIという。
図18中の矢印L23で示すように、アクセスAPIは、サービスユーザからのアクセス要求を受け付けると、認証処理部144が認可処理を実行する。
【0167】
認可処理が実行されると、認証処理部144は、アクセス要求に付加された「トークン」から「サービスユーザID」を特定する。次に、認証処理部144は、認可情報記憶部142の認可オブジェクトDBを検索することで、特定された「サービスユーザID」の「認可クラス」「認可オブジェクト」を特定する。更に、認証処理部144は、アクセス要求に示されたアクセス対象の車両が、「認可オブジェクト」に示されているか否か、すなわち、サービスユーザが指定した車両へのアクセスが許可されているか否かを判定する。また、認証処理部144は、認可クラスDBを参照して、アクセス要求に用いられたアクセスAPIが、指定された「認可クラス」の「API情報」に含まれるか否か、すなわち、サービスユーザが指定したAPIの利用が許可されているか否かを判定する。また、認証処理部144は、認可クラスDBを参照して、アクセス要求に示された指示内容が、特定された「認可クラス」の「取得権限」の範囲内であるか否か、すなわち、サービスユーザが要求する指示内容に対しアクセスが許可されているか否かを判定する。そして、アクセス対象の車両が「認可オブジェクト」に示されない場合、アクセスAPIが「API情報」に含まれない場合、または指示内容が「取得権限」の範囲外である場合、認証処理部144は不認可と判定する。不認可と判定した場合、認証処理部144は、矢印L24で示すように、アクセスAPIを介して、サービスユーザにアクセス拒否を通知する。アクセス対象の車両が「認可オブジェクト」に示され、かつ、アクセスAPIが「API情報」に含まれ、かつ、指示内容が「取得権限」の範囲内にある場合、認証処理部144は認可と判定する。認可と判定した場合、認証処理部144は、矢印L25で示すように、アクセス要求を、アクセス対象へ転送する。具体的には、アクセスAPIが、第1データ取得API146のようなオープンAPIの場合、アクセス要求を、アクセス対象であるシャドウ114へ転送する。アクセスAPIが、第2データ取得API147および車両制御API148のようなクローズAPIの場合、アクセス要求を、アクセス対象である実車両へ転送する。その後、矢印L26で示すように、アクセス対象から返送されるアクセス結果は、アクセスAPIを介して、サービスユーザに提供される。
【0168】
なお、アクセスAPIでは、車両を特定する情報として、「object-id」および「vin」のいずれを用いてもよく、「vin」が用いられている場合は、車両識別情報記憶部143を参照し、「vin」を「object-id」に変換してもよい。
【0169】
図12に示すように、管理センター3は、アクセスAPIを介したアクセス要求を実現するための構成として、インデックス取得部127と、データ取得部119と、車両制御部130とを備える。インデックス取得部127は、インデックス記憶部125に蓄積されたインデックス126からデータを取得する機能を実現する。データ取得部119は、シャドウ記憶部113に蓄積されたシャドウ114からデータを取得する機能を実現する。車両制御部130は、エッジ装置2との通信機能を利用して、エッジ装置2を搭載する車両にアクセスする機能を実現する。
【0170】
つまり、オープンAPIである第1データ取得API146を介して入力されるアクセス要求(以下、第1データ取得要求)は、インデックス取得部127にて処理される。また、クローズAPIである第2データ取得API147を介して入力されるアクセス要求(以下、第2データ取得要求)、および車両制御API148を介して入力されるアクセス要求(以下、車両制御要求)は、車両制御部130にて処理される。
【0171】
[1-3-3.第1データ取得処理]
第1データ取得API146が第1データ取得要求を受け付けた場合に実行される一連の処理である第1データ取得処理について説明する。具体的には、
図18において認証処理および認可処理が行われた後、アクセスAPIからアクセス対象へアクセス要求が送信されたときの第1データ取得処理である。第1データ取得処理は、第1データ取得API146を用いて、管理センター3内で管理されるシャドウ114から指定したデータを取得する処理である。
【0172】
まず、第1データ取得要求に含まれる指定情報について説明する。指定情報は、サービスユーザによって設定される。
【0173】
図19に示すように、指定情報は、車両指定情報と、時間指定情報と、データ指定情報とを含む。
【0174】
車両指定情報は、データ取得の対象となる車両(以下、対象車両)を指定するための情報である。車両指定情報は、対象車両の車両ID(すなわち、object-idまたはvin)をリスト形式で列挙する方法と、対象車両が存在する地理的領域を指定(以下、エリア指定)する方法とがある。他にも、車種や型式等により、対象車両を指定してもよい。
【0175】
エリア指定する方法は、
図20に示すように、矩形指定、および多角形指定、近傍指定の3種類が存在する。矩形指定は、矩形の地理的領域を、左上隅座標、右下隅座標によって指定する方法である。座標は、緯度、経度を用いて表される。多角形指定は、多角形の地理的領域を、多角形が有するn個の頂点の各座標によって指定する方法である。近傍指定は、円形の地理的領域を、中心座標と中心座標からの距離によって指定する方法である。
【0176】
図19に戻り、時間指定情報は、データが生成されたタイミングを指定する情報である。時間指定情報は、起点となる時刻、およびレンジによって表される。レンジは、例えば、最新インデックス118の生成周期を単位時間として、時間幅を1以上の整数で表した値である。
【0177】
データ指定情報は、取得するデータを指定する情報である。データ指定情報は、標準化車両データに示されたデータのアイテム名をリスト形式で表してもよいし、標準化車両データに示されたカテゴリ名を指定することで表してもよい。カテゴリ名を指定した場合、そのカテゴリに属するすべてのアイテムが指定されたことになる。また、アイテム名およびカテゴリ名がいずれも指定されていない場合は、全アイテムが指定されたことになる。また、アイテム名によって指定可能なデータには、標準化車両データには含まれないローデータが含まれてもよい。例えば、データ指定情報には、ローデータに対応づけられたCANフレームのCANIDが含まれてもよい。
【0178】
なお、ここで示した車両指定情報、時間指定情報、データ指定情報の設定の仕方は一例であり、上記方法に限定されるものではない。
【0179】
次に、第1データ取得API146が第1データ取得要求を受け付けた場合に、インデックス取得部127が実行するシャドウリスト生成処理を、
図21のフローチャートを用いて説明する。
【0180】
S110では、インデックス取得部127は、第1データ取得要求に示された車両指定情報を参照し、指定情報が車両IDリストであれば、処理をS120に移行し、指定情報がエリア指定であれば、処理をS130に移行する。
【0181】
S120では、インデックス取得部127は、インデックス記憶部125を参照して、車両IDリストに示された「object-id」を有し、かつ、時間指定情報に示された時間範囲内の「timestamp」を有する全てのインデックス126を抽出して、処理をS150に進める。
【0182】
S130では、インデックス取得部127は、指定情報に示されたエリア指定に従って、対象車両を探索する探索エリアを設定する。
【0183】
続くS140では、インデックス取得部127は、インデックス記憶部125を参照して、S130で設定された探索エリア内の「location」を有し、且つ、時間指定情報に示された時間範囲内の「timestamp」を有する全てのインデックス126を抽出して、処理をS150に進める。
【0184】
S150では、インデックス取得部127は、S120またはS140で抽出されたインデックス126のそれぞれについて、インデックス126に示された「object-id」と「shadow_ersion」とを組み合わせたシャドウ特定情報を生成する。生成されたシャドウ特定情報は、シャドウ特定情報を列挙したシャドウ特定情報リスト(以下、シャドウリスト)の構成要素となる。
【0185】
続くS160では、インデックス取得部127は、S150にて生成されたシャドウリストに、第1データ取得要求に示されたデータ指定情報を付加したシャドウアクセス要求を、シャドウ管理部112のデータ取得部119に出力して、処理を終了する。
【0186】
図22に示すように、インデックス取得部127は、矢印L31で示すように、第1データ取得API146から第1データ取得要求を受け取ると、シャドウリストを生成する。シャドウリストは、第1データ取得要求に示された車両指定情報および時間指定情報を取得条件とし、この取得条件に従って生成される。また、インデックス取得部127は、矢印L32で示すように、生成したシャドウリストとデータ指定情報とを組み合わせたシャドウアクセス要求をデータ取得部119に出力する。
【0187】
データ取得部119は、インデックス取得部127からのシャドウアクセス要求が入力されると、シャドウ記憶部113を参照して、シャドウアクセス要求のシャドウリストに示された各シャドウ特定情報に対応するシャドウ114を抽出する。さらに、データ取得部119は、抽出されたシャドウ114のそれぞれから、シャドウアクセス要求のデータ指定情報に示されたデータである指定データを抽出する。データ取得部119は、矢印L33で示すように、抽出した指定データをアクセス結果として、要求元となった第1データ取得API146に返送する。
【0188】
[1-3-4.第2データ取得処理]
第2データ取得API147がデータ取得要求(以下、第2データ取得要求)を受け付けた場合に実行される一連の処理である第2データ取得処理について説明する。具体的には、
図18において認証処理および認可処理が行われた後、アクセスAPIからアクセス対象へアクセス要求が送信されたときの第2データ取得処理である。第2データ取得処理は、車両を指定して、その指定した車両から指定したデータを取得する処理である。
【0189】
まず、第2データ取得要求に含まれる指定情報について説明する。
【0190】
図23に示すように、指定情報は、車両指定情報と、車両認証情報と、通知先情報と、データ指定情報とを含む。
【0191】
車両指定情報には、一つの車両IDが示される。
【0192】
車両認証情報は、エッジ装置2を搭載する車両を認証するための情報であり、車両所有者に割り当てられたオーナIDと車両パスワードとで構成される。車両認証情報は、車両が保持すると共に、その車両へのアクセスが許可されたサービスユーザも保持する。
【0193】
通知先情報は、暗号化されたアクセス結果(すなわち、暗号文)の復号に用いる暗号情報の通知先を示すアドレス情報(例えばurl)である。
【0194】
データ指定情報は、第1データ取得要求に含まれる指定情報にて説明したものと同様である。但し、アイテム名によって指定可能なデータには、標準化車両データには含まれないローデータが含まれてもよい。例えば、データ指定情報には、ローデータに対応づけられたCANフレームのCANIDが含まれてもよい。
【0195】
次に、第2データ取得API147が第2データ取得要求を受け付けた場合に、車両制御部130が実行する車両データ取得処理を、
図24のフローチャートを用いて説明する。
【0196】
S210では、車両制御部130は、データの暗号化および暗号化されたデータの復号に用いる暗号情報を生成する。暗号情報は、暗号化と復号とで同じ鍵(すなわち、共通鍵)を用いてもよいし、異なる鍵(すなわち、暗号鍵と復号鍵)を用いてもよい。
【0197】
続くS220では、車両制御部130は、第2データ取得要求の通知先情報に示された通知先(例えば、第2データ取得要求の発信元であるサービスユーザが指定するurl)に、S210で生成された暗号情報、特に復号に用いる鍵(すなわち、共通鍵または復号鍵)を送信する。
【0198】
続くS230では、車両制御部130は、第2データ取得要求の指定情報から通知先情報を除いた車両アクセス要求を生成し、車両指定情報に示された車両IDを有する車両である対象車両に対して、通信部32を介して車両アクセス要求を送信する。
【0199】
続くS240では、車両制御部130は、通信部32を介して対象車両から車両アクセス要求に対する応答があったか否かを判定し、応答がなければ、同ステップを繰り返すことで待機し、応答があれば、処理をS250に移行する。ここでの車両アクセス要求は、車両からのデータ取得要求であり、車両においてエッジ装置2にて処理される。エッジ装置2は、認証処理を行った後、自身または車両I/F12を介して接続されたECU210,220,230等から、データ指定情報に該当する車両データを取得する。エッジ装置2は、取得した車両データを、通信部13を介して管理センター3へ送信する。なお、ECU210,220,230等から車両データを取得できなかった場合、エラーを管理センター3へ送信する。車両制御部130は、これらを車両からの応答として受信する。
【0200】
S250では、車両制御部130は、車両からの応答内容を、S210で生成された暗号に用いる鍵(すなわち、共通鍵または暗号鍵)によって暗号化し、暗号化された応答内容を、要求元となった第2データ取得API147に返信して処理を終了する。なお、車両からの応答内容には、例えば、データ指定情報にて指定されたデータ、および車両での認証に失敗した旨の通知などが含まれてもよい。
【0201】
図25に示すように、車両制御部130は、矢印L41で示すように、第2データ取得API147から第2データ取得要求が入力されると、暗号情報を生成する。そして、車両制御部130は、矢印L42で示すように、第2データ取得要求に示された通知先に、生成した復号用の鍵を送信する。これと共に、車両制御部130は、矢印L43で示すように、第2データ取得要求の指定情報から通知先情報を除いた車両アクセス要求を、車両に向けて送信する。すなわち、車両制御部130は、車両アクセス要求を車両に向けて送信する段階で、復号用の鍵を通知先に送信しておく。
【0202】
車両指定情報に示された車両IDを有する車両に搭載されたエッジ装置2が、車両アクセス要求を受信すると、車両アクセス要求に示された車両認証情報と、自車両が有する車両認証情報とを照合して認証を行う。
【0203】
認証に失敗した場合、エッジ装置2は、その旨を表す通知を含んだ応答を管理センター3に送信する。
【0204】
認証に成功した場合、エッジ装置2は、矢印L44で示すように、データ指定情報に示された指定データを車両から取得して、取得した指定データを含んだ応答を管理センター3に送信する。指定データは、エッジ装置2が有するデータの場合もあれば、車両I/F12を介して他の電子制御装置から取得するデータの場合もある。なお、エッジ装置2は、指定データを取得できなかった場合、取得失敗を表す通知を含んだ応答を管理センター3に送信する。
【0205】
応答を受信した車両制御部130は、矢印L45で示すように、応答内容を暗号化して第2データ取得API147に返送する。
【0206】
第2データ取得要求を行ったサービスユーザは、第2データ取得API147を介して取得する暗号化された応答内容を、通知先に送られた復号用の鍵を用いて復号することで、応答内容を知ることができる。ここで、復号用の鍵を送付する通知先は、第2データ取得API147自身であってもよい。また、車両制御部130は、通知先に対して暗号化した応答内容を送信するようにしてもよい。
【0207】
車両制御API148では、データ指定情報の代わりに制御指定情報を用いることで、第2データ取得API147による一連の処理と同様の処理で、エッジ装置2を介して車両を制御できる。制御指定情報は、車両のアクチュエータ等を制御するための情報で、どのアクチュエータをどのように制御するかが指定される。例えば、エッジ装置の車両I/Fを介してドアロックを制御する電子制御装置に指示を送信することで、ドアをロックまたはアンロックすることができる。エッジ装置2は、通信部13を介して車両アクセス要求を受信すると、認証処理を行う。その後、エッジ装置2は、車両I/F12を介して接続されたECU210,220,230等から、実行完了または実行失敗を通知されると、それらを表す通知を含んだ応答を管理センター3に送信する。
【0208】
[1-4.用語の対応]
以上説明した実施形態において、モビリティIoTシステム1はモビリティサービス提供システムに相当し、管理センター3はモビリティサービス提供サーバに相当し、エッジ装置2は車載機に相当する。シャドウ記憶部113は第1データベースに相当し、インデックス記憶部125は第2データベースに相当する。API提供部122はインタフェース部に相当する。サービスユーザIDおよびトークンはユーザ識別情報に相当する。認証処理部144において認可処理を実施する機能が認可部に相当する。S210~S220の処理は暗号情報生成部に相当し、S250~S260の処理は暗号化部に相当する。第1データ取得要求が第1アクセス要求に相当し、第2データ取得要求および車両制御要求が第2アクセス要求に相当する。
【0209】
[1-5.効果]
以上詳述した実施形態によれば、以下の効果を奏する。
【0210】
(1a)モビリティIoTシステム1によれば、サービスユーザは、オープンAPIである第1データ取得API146を利用して、データ取得の対象となる対象車両の車両データを、対象車両のシャドウ114から取得できる。つまり、対象車両の状態に関わらず、標準化車両データに属する任意の車両データを取得できる。また、サービスユーザは、クローズAPIである第2データ取得API147を利用して、対象車両から直接、対象車両が有する車両データを取得できる。この場合、標準化車両データに属する車両データだけでなく、標準化車両データに含まれないローデータも取得できる。また、シャドウ114が記憶する過去のデータではなく、リアルタイムなデータを取得できる。従って、サービスユーザの要求に応じた柔軟な情報提供を実現できる。
【0211】
(1b)クローズAPI147,148では、アクセス先からの応答が暗号化してサービスユーザに提供されると共に、復号用の鍵が、サービスユーザによって指定された送信先に送信される。従って、クローズAPI147,148を利用することで、機密性の高い情報を安全に取得すること、および対象車両の制御を安全に実行することができる。
【0212】
(1c)アクセスAPI146~148では、サービスユーザのアクセス権限(すなわち、認可クラス,認可オブジェクト)を確認し、権限外のアクセスを拒否する。従って、サービスユーザに応じた、柔軟なサービスの提供を実現できる。
【0213】
(1d)第1データ取得API146を用いてシャドウ114からデータを取得する際に、車両指定情報と時間指定情報を用いてデジタルツイン123を検索することで抽出されたインデックス126から、シャドウ特定情報を生成する。従って、特定車両の現在から過去に渡る任意の車両データや、指定時刻に指定エリアに存在した車両の車両データ等を、簡易に取得できる。その結果、第1データ取得API146によって取得される車両データは、例えば、交通量の解析や予測を行うサービス等に用いることができる。
【0214】
[2.第2実施形態]
[2-1.第1実施形態との相違点]
第2実施形態は、基本的な構成は第1実施形態と同様であるため、相違点について以下に説明する。なお、第1実施形態と同じ符号は、同一の構成を示すものであって、先行する説明を参照する。
【0215】
前述した第1実施形態では、APIを用いたアクセス要求に対する認可を、管理センター3側で処理する仕組みを説明した。これに対し、第2実施形態では、APIを用いた車両へのアクセス要求(すなわち、第2データ取得要求および車両制御要求)に対する認可を、管理センター3およびエッジ装置2のうち少なくとも一方で処理する仕組みについて説明する。
【0216】
[2-2.管理センター]
管理センター3は、認可オブジェクトDBおよび認可クラスDBの代わりにサーバ側認可DBを備える。サーバ側認可DBは、例えば、
図12に示した認可情報記憶部142に設けられる。
【0217】
図27に示すように、サーバ側認可DBは、「サービスユーザID」に対応づけて、「認可オブジェクト」「アクセス権限」を記憶する。「サービスユーザID」および「認可オブジェクト」は、認可オブジェクトDBでの説明と同様である。「アクセス権限」は、「認可オブジェクト」で特定される車両について、「サービスユーザID」で特定されるサービスユーザに対してアクセスが許可されたアクセス対象のリストである。「アクセス権限」には、例えば、「Door」「Trunk」「ALL」等が含まれる。「Door」は、ドアの解錠、施錠についてアクセス権限があることを示す。「Trunk」は、トランクの開閉についてアクセス権限があることを示す。「ALL」は、車両が提供可能なすべてのアクセス対象についてアクセス権限があることを示す。
【0218】
サーバ側認可DBでは、モビリティサービスの提供元となるサービスユーザ毎に、車両アクセス要求についてサービスユーザが有するアクセス権限、すなわち、車両アクセス要求によってアクセス可能な範囲を規定する情報が設定される。
【0219】
[2-3.エッジ装置]
図28に示すように、第2実施形態では、エッジ装置2の第2ユニット102が、GPOS105および第2アプリケーション106に加えて、車両アクセスAPI107を備える。
【0220】
車両アクセスAPI107は、管理センター3からの車両アクセス要求を受け付けて、車両側での認可処理(以下、車側認可処理)を実行する。また、エッジ装置2は、車側認可処理に用いる車側認可DBを備える。車側認可DBは、例えば、
図2に示した記憶部14またはフラッシュメモリ25に設けられる。
【0221】
図29に示すように、車側認可DBは、「サービスユーザID」に対応づけて、「認可ユーザ」「アクセス権限」を記憶する。「認可ユーザ」には、実際に車両を利用する可能性のある車両ユーザのID(以下、車両ユーザID)が列挙される。つまり、ひとつの「サービスユーザID」に対して複数の「認可ユーザ」が対応づけられてもよい。「アクセス権限」は、サーバ側認可DBでの説明と同様である。「アクセス権限」は、「認可ユーザ」毎に設定される。
【0222】
車側認可DBでは、サービスユーザが提供する対象サービスにおいて、対象サービスのユーザとして登録された車両ユーザ毎に、車両アクセス要求について車両ユーザが有するアクセス権限、すなわち、車両アクセス要求によってアクセス可能な範囲を規定する情報が設定される。
【0223】
[2-4.2段階認可]
管理センター3による認可処理(以下、サーバ側認可処理)およびエッジ装置2による認可処理(すなわち、車側認可処理)をいずれも実行する2段階認可の手順を、
図30のシーケンス図を用いて説明する。
【0224】
ここでは、要求者が、サービス提供サーバ4が提供するサービスを利用して、車両へのアクセス要求を行った場合を例にして説明する。要求者は、例えば、車両を使用する車両ユーザである。車両ユーザは、車両のオーナでもよいし、車両のレンタルを受けるユーザでもよい。要求者は車両ユーザIDによって識別される。サービス提供サーバ4が提供するサービスは、サービスユーザIDによって識別される。
【0225】
サービス提供サーバ4は、要求者からの車両アクセス要求を受け付けると、管理センター3のAPI提供部122が提供するログインAPI145にアクセスして認証処理を実行する。認証処理の手順は、矢印L21,L22で示すように、第1実施形態の場合と同様である。
【0226】
サービス提供サーバ4は、認証処理に成功すると、矢印L51で示すように、API提供部122が提供するアクセスAPIを用いて、要求者からの要求に応じた車両アクセス要求(すなわち、第2データ取得要求または車両制御要求)を、管理センター3に対して出力する。車両アクセス要求には、認証処理によって付与されるトークンと、車両ユーザIDと、車両指定情報と、データ指定情報または制御指定情報とが含まれる。車両指定情報は、アクセスの対象となる車両(以下、指定車両)を指定するための情報である。データ指定情報または制御指定情報は、具体的な、アクセス対象を特定するための情報である。アクセス対象には、車両データおよび種々の車載機器が含まれる。
【0227】
管理センター3は、サービス提供サーバ4からの車両アクセス要求を受け付けると、認証処理部144が認可処理を実行する。
【0228】
認可処理が実行されると、認証処理部144は、車両アクセス要求に付加された「トークン」から「サービスユーザID」を特定する。次に、認証処理部144は、認可情報記憶部142のサーバ側認可DBを検索することで、特定された「サービスユーザID」に対応づけられた「認可オブジェクト」「アクセス権限」を抽出する。更に、認証処理部144は、抽出された「認可オブジェクト」に、車両アクセス要求に示された指定車両が含まれるか否か、すなわち、サービスユーザが提供するサービスにおいて、指定車両へのアクセスが許可されているか否かを判定する。また、認証処理部144は、抽出された「アクセス権限」に、車両アクセス要求に示されたアクセス対象が含まれるか否か、すなわち、サービスユーザが提供するサービスにおいて、アクセス対象へのアクセスが許可されているか否かを判定する。
【0229】
指定車両が「認可オブジェクト」に含まれない場合、または、アクセス対象が「アクセス権限」に含まれない場合、認証処理部144は不認可と判定する。不認可と判定した場合、認証処理部144は、矢印L52で示すように、アクセスAPIおよびサービス提供サーバ4を介して要求者に、サービスユーザの権限外を理由とするアクセス拒否を通知する。
【0230】
指定車両が「認可オブジェクト」に含まれ、かつ、アクセス対象が「アクセス権限」に含まれる場合は、認可と判定し、矢印L53で示すように、車両アクセス要求を、車両制御部130を介して指定車両に送信する。
【0231】
指定車両に搭載されたエッジ装置2の車両アクセスAPI107は、管理センター3からの車両アクセス要求を受け付けると、車側認可処理を実行する。
【0232】
車側認可処理が実行されると、第2ユニット102は、車側認可DBを参照して、車両アクセス要求に示された「サービスユーザID」に対応づけられる「認可ユーザ」「アクセス権限」を抽出する。次に、第2ユニット102は、抽出された「認可ユーザ」に、アクセス要求に示された要求者の車両ユーザIDが含まれるか否か、すなわち、要求者による指定車両へのアクセスが許可されているか否かを判定する。また、第2ユニット102は、抽出された「アクセス権限」に、アクセス要求に示されたアクセス対象が含まれるか否か、すなわち、要求者によるアクセス対象へのアクセスが許可されているか否かを判定する。
【0233】
要求者の車両ユーザIDが「認可ユーザ」に含まれない場合、または、アクセス対象が「アクセス権限」に含まれない場合、第2ユニット102は、不認可と判定する。不認可と判定した場合、第2ユニット102は、矢印L54で示すように、車両アクセスAPI107を介して管理センター3に、要求者の権限外を理由とするアクセス拒否を送信する。アクセス拒否を受信した管理センター3は、矢印L55で示すように、アクセスAPIおよびサービス提供サーバ4を介して要求者に、アクセス拒否を通知する。
【0234】
要求者の車両ユーザIDが「認可ユーザ」に含まれ、かつ、アクセス対象が「アクセス権限」に含まれる場合、第2ユニット102は、認可と判定する。認可と判定した場合、第2ユニット102は、矢印L56で示すように、アクセス対象に対して制御指示を送信し、矢印L57で示すように、アクセス対象からアクセス結果を受信する。更に、第2ユニット102は、矢印L58で示すように、車両アクセスAPI107を介して管理センター3にアクセス結果を送信する。アクセス結果を受信した管理センター3は、矢印L59で示すように、アクセスAPIおよびサービス提供サーバ4を介して要求者にアクセス結果を通知する。アクセス結果の通知は、第1実施形態での説明と同様に、暗号化してもよい。
【0235】
[2-5.車側単独認可]
認可処理をエッジ装置2でのみ実行する車側単独認可の手順を、
図31のシーケンス図を用いて説明する。
【0236】
ここでは、2段階認可の場合と同様に、要求者が、サービス提供サーバ4が提供するサービスを利用して、車両へのアクセス要求を行った場合を例にして説明する。
【0237】
サービス提供サーバ4は、要求者からの車両アクセス要求を受け付けると、管理センター3のAPI提供部122が提供するログインAPI145にアクセスして認証処理を実行する。認証処理の手順は、矢印L21,L22で示すように、第1実施形態の場合と同様である。
【0238】
サービス提供サーバ4は、認証処理に成功すると、矢印L51で示すように、API提供部122が提供するアクセスAPIを用いて、要求者からの要求に応じた車両アクセス要求を、管理センター3に対して出力する。
【0239】
管理センター3は、サービス提供サーバ4からのアクセス要求を受け付けると、センター側認可処理を実行することなく、矢印L53で示すように、車両制御部130を介して車両アクセス要求を指定車両に送信する。
【0240】
指定車両に搭載されたエッジ装置2の車両アクセスAPI107は、管理センター3からのアクセス要求を受け付けると、車側認可処理を実行する。車側認可処理の結果を管理センター3に送信する以降の手順は、矢印L54~L59で示すように、前述の2段階認可で説明した手順と同様である。
【0241】
[2-6.センター側単独認可]
認可処理をエッジ装置2でのみ実行するセンター側単独認可の手順について説明する。
【0242】
センター側単独認可では、センター側単独認可では、指定車両に搭載されたエッジ装置2の車両アクセスAPI107が、管理センター3から車両アクセス要求を受け付けた場合、車側認可処理が省略される点以外は、2段階認可の手順と同様である。つまり、センター側単独認可では、
図30に示したシーケンスにおいて、車側認可処理が省略されると共に、車側認可処理で不認可と判定される場合の一連のシーケンスが省略される。
【0243】
[2-7.用語の対応]
以上説明した実施形態において、サーバ側認可DBが設けられる認可情報記憶部142がサーバ側記憶部に相当し、サーバ側認可処理を実行する認証処理部144がサーバ側認可部に相当する。車側認可DBが設けられる記憶部14又はフラッシュメモリ25が車側記憶部に相当し、車側認可処理を実行する車両API107が車側認可部に相当する。サーバ側認可DBの内容がサービス別認可情報に相当し、車側認可DBの内容がユーザ別認可情報に相当する。
【0244】
[2-8.効果]
以上詳述した第2実施形態によれば、前述した第1実施形態の効果(1a)を奏し、さらに、以下の効果を奏する。
【0245】
(2a)第2実施形態では、車両アクセス要求に対して、管理センター3では、サービスユーザ単位で認可処理(すなわち、サーバ側認可処理)を行い、エッジ装置2では、車両ユーザ単位で認可処理(すなわち、車側認可処理)を行う。そして、サーバ側認可処理および車側認可処理をいずれも行う2段階認可を適用した場合、車側認可処理でアクセス拒否されること、ひいては、管理センター3とエッジ装置2との通信量を抑制できる。車側単独認可を適用した場合、管理センター3の処理負荷を軽減できる。センター側単独認可を適用した場合、エッジ装置2の処理負荷を軽減できる。
【0246】
[3.他の実施形態]
以上、本開示の一実施形態について説明したが、本開示は上記実施形態に限定されるものではなく、種々変形して実施することができる。
【0247】
(3a)第2実施形態では、2段階認可、車側単独認可、センター側単独認可の3つの手順について説明したが、サーバ側認可DBの設定によって、センター側単独認可、および車側単独認可のいずれかを選択できるように構成されてもよい。具体的には、
図27に示すサーバ側認可DBの「アクセス権限」の欄を利用し、「アクセス権限」に「ALL」および「ANY」のいずれかを設定する。そして「ALL」の場合は、すべてのアクセス対象に対してアクセス権限を有するため、管理センター3だけで認可処理を行い、「ANY」の場合は、管理センター3での認可処理を省略し、エッジ装置2での認可処理のみを行う。この場合、サービスユーザは、自身が提供するサービスに適した認可方法を柔軟に選択できる。
【0248】
(3b)本実施形態に記載の制御部31およびその手法は、コンピュータプログラムにより具体化された一つ乃至は複数の機能を実行するようにプログラムされたプロセッサおよびメモリを構成することによって提供された専用コンピュータにより、実現されてもよい。あるいは、本実施形態に記載の制御部31およびその手法は、一つ以上の専用ハードウェア論理回路によってプロセッサを構成することによって提供された専用コンピュータにより、実現されてもよい。もしくは、本実施形態に記載の制御部31およびその手法は、一つ乃至は複数の機能を実行するようにプログラムされたプロセッサおよびメモリと一つ以上のハードウェア論理回路によって構成されたプロセッサとの組み合わせにより構成された一つ以上の専用コンピュータにより、実現されてもよい。また、コンピュータプログラムは、コンピュータにより実行されるインストラクションとして、コンピュータ読み取り可能な非遷移有形記録媒体に記憶されてもよい。制御部31に含まれる各部の機能を実現する手法には、必ずしもソフトウェアが含まれている必要はなく、その全部の機能が、一つあるいは複数のハードウェアを用いて実現されてもよい。
【0249】
(3c)上記実施形態における1つの構成要素が有する複数の機能を、複数の構成要素によって実現したり、1つの構成要素が有する1つの機能を、複数の構成要素によって実現したりしてもよい。また、複数の構成要素が有する複数の機能を、1つの構成要素によって実現したり、複数の構成要素によって実現される1つの機能を、1つの構成要素によって実現したりしてもよい。また、上記実施形態の構成の一部を省略してもよい。また、上記実施形態の構成の少なくとも一部を、他の上記実施形態の構成に対して付加または置換してもよい。
【0250】
(3d)上述した管理センター3の他、当該管理センター3を構成要素とするシステム、当該管理センター3としてコンピュータを機能させるためのプログラム、このプログラムを記録した半導体メモリ等の非遷移的実体的記録媒体、車両データ提供方法など、種々の形態で本開示を実現することもできる。