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

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

▶ トヨタ自動車株式会社の特許一覧 ▶ マツダ株式会社の特許一覧 ▶ 三菱自動車工業株式会社の特許一覧 ▶ スズキ株式会社の特許一覧 ▶ 富士重工業株式会社の特許一覧 ▶ ダイハツ工業株式会社の特許一覧 ▶ 日産自動車株式会社の特許一覧 ▶ 日野自動車株式会社の特許一覧 ▶ いすゞ自動車株式会社の特許一覧 ▶ 本田技研工業株式会社の特許一覧

特開2023-176638情報処理装置、情報処理方法、及び情報処理プログラム
<>
  • 特開-情報処理装置、情報処理方法、及び情報処理プログラム 図1
  • 特開-情報処理装置、情報処理方法、及び情報処理プログラム 図2
  • 特開-情報処理装置、情報処理方法、及び情報処理プログラム 図3
  • 特開-情報処理装置、情報処理方法、及び情報処理プログラム 図4
  • 特開-情報処理装置、情報処理方法、及び情報処理プログラム 図5
  • 特開-情報処理装置、情報処理方法、及び情報処理プログラム 図6
  • 特開-情報処理装置、情報処理方法、及び情報処理プログラム 図7
  • 特開-情報処理装置、情報処理方法、及び情報処理プログラム 図8
  • 特開-情報処理装置、情報処理方法、及び情報処理プログラム 図9
  • 特開-情報処理装置、情報処理方法、及び情報処理プログラム 図10
  • 特開-情報処理装置、情報処理方法、及び情報処理プログラム 図11
  • 特開-情報処理装置、情報処理方法、及び情報処理プログラム 図12
  • 特開-情報処理装置、情報処理方法、及び情報処理プログラム 図13
  • 特開-情報処理装置、情報処理方法、及び情報処理プログラム 図14
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023176638
(43)【公開日】2023-12-13
(54)【発明の名称】情報処理装置、情報処理方法、及び情報処理プログラム
(51)【国際特許分類】
   G06F 12/02 20060101AFI20231206BHJP
   G06F 12/00 20060101ALI20231206BHJP
【FI】
G06F12/02 510M
G06F12/00 571B
【審査請求】有
【請求項の数】13
【出願形態】OL
(21)【出願番号】P 2022089028
(22)【出願日】2022-05-31
(71)【出願人】
【識別番号】000003207
【氏名又は名称】トヨタ自動車株式会社
(71)【出願人】
【識別番号】000003137
【氏名又は名称】マツダ株式会社
(71)【出願人】
【識別番号】000006286
【氏名又は名称】三菱自動車工業株式会社
(71)【出願人】
【識別番号】000002082
【氏名又は名称】スズキ株式会社
(71)【出願人】
【識別番号】000005348
【氏名又は名称】株式会社SUBARU
(71)【出願人】
【識別番号】000002967
【氏名又は名称】ダイハツ工業株式会社
(71)【出願人】
【識別番号】000003997
【氏名又は名称】日産自動車株式会社
(71)【出願人】
【識別番号】000005463
【氏名又は名称】日野自動車株式会社
(71)【出願人】
【識別番号】000000170
【氏名又は名称】いすゞ自動車株式会社
(71)【出願人】
【識別番号】000005326
【氏名又は名称】本田技研工業株式会社
(74)【代理人】
【識別番号】110001519
【氏名又は名称】弁理士法人太陽国際特許事務所
(72)【発明者】
【氏名】河本 典秀
(72)【発明者】
【氏名】坂下 真介
(72)【発明者】
【氏名】佐藤 友昭
(72)【発明者】
【氏名】高田 祐輔
【テーマコード(参考)】
5B160
【Fターム(参考)】
5B160AA12
5B160CD14
(57)【要約】      (修正有)
【課題】車両の特性に配慮しつつ、車両に搭載されたストレージの資源を有効利用できる情報処理装置、情報処理方法、及び情報処理プログラムを提供する。
【解決手段】DCM(Data Communication Module)15がネットワークNに接続され、外部との通信が可能となっている車両10において、統合ECU10のCPUは、複数の機能の中の特定の機能が専用で利用可能な資源が配分される専用領域と、複数の機能が共用で利用可能であって、動的な前記資源の配分が可能な共用領域とを含む車両に搭載されたストレージの記憶領域における複数の機能に対する資源の配分と、を管理する。
【選択図】図1
【特許請求の範囲】
【請求項1】
複数の機能の中の特定の前記機能が専用で利用可能な資源が配分される専用領域と、複数の前記機能が共用で利用可能であって、動的な前記資源の配分が可能な共用領域とを含む車両に搭載されたストレージの記憶領域における複数の前記機能に対する前記資源の配分を管理する管理部を備える、
情報処理装置。
【請求項2】
前記管理部は、
前記資源を利用可能な時間制約を設けた上で、前記機能に対して前記共用領域の前記資源を配分する、
請求項1に記載の情報処理装置。
【請求項3】
前記管理部は、
前記時間制約で定められた時間が経過した場合、前記機能に配分した前記共用領域の前記資源を解放し、解放した前記資源を他の前記機能に利用可能とする、
請求項2に記載の情報処理装置。
【請求項4】
前記管理部は、
前記機能に配分した前記共用領域の前記資源を解放する場合、当該解放する前記資源を一時的に退避させる、
請求項3に記載の情報処理装置。
【請求項5】
前記管理部は、
前記機能に配分した前記共用領域の前記資源の解放を前記機能に予告又は通知する、
請求項3又は4に記載の情報処理装置。
【請求項6】
前記管理部は、
前記共用領域の前記資源に関する資源情報を複数の前記機能に通知する、
請求項1に記載の情報処理装置。
【請求項7】
前記管理部は、
複数の前記機能からの前記記憶領域に対するアクセス権限を管理する、
請求項1に記載の情報処理装置。
【請求項8】
前記管理部は、
前記アクセス権限として、前記記憶領域へのアクセスの優先度合を定めるアクセス優先度を複数の前記機能それぞれに設定する、
請求項7に記載の情報処理装置。
【請求項9】
前記管理部は、
複数の前記機能の数の増減に応じて、前記記憶領域に占める前記共用領域の割合を変更する、
請求項1に記載の情報処理装置。
【請求項10】
前記管理部は、
複数の前記機能それぞれに対して、前記記憶領域の利用上限を設定し、
前記利用上限を超えた前記機能については、前記記憶領域の利用を制限する、
請求項1に記載の情報処理装置。
【請求項11】
前記管理部は、
前記ストレージの寿命に応じて、複数の前記機能に配分する前記資源の量を調整する、
請求項1に記載の情報処理装置。
【請求項12】
複数の機能の中の特定の前記機能が専用で利用可能な資源が配分される専用領域と、複数の前記機能が共用で利用可能であって、動的な前記資源の配分が可能な共用領域とを含む車両に搭載されたストレージの記憶領域における複数の前記機能に対する前記資源の配分を管理する、
処理をコンピュータが実行する情報処理方法。
【請求項13】
コンピュータに、
複数の機能の中の特定の前記機能が専用で利用可能な資源が配分される専用領域と、複数の前記機能が共用で利用可能であって、動的な前記資源の配分が可能な共用領域とを含む車両に搭載されたストレージの記憶領域における複数の前記機能に対する前記資源の配分を管理する、
処理を実行させるための情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、情報処理装置、情報処理方法、及び情報処理プログラムに関する。
【背景技術】
【0002】
特許文献1には、ECUプログラムを更新することなく、車両に対して新たな機能の追加や既存機能の削除を実施できる車両用制御装置が開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2019-159661号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1の技術は、車載ネットワークシステムが備える車両用制御装置のストレージに所定の情報を記憶させるものである。車両では、車両に搭載されたストレージの資源を利用して様々な機能が実行される。この様々な機能には、予め車両に導入されていた機能に加え、新たに車両に追加した機能も含まれる。
【0005】
ここで、上記のストレージの資源は限られているため、複数の機能で利用するためには何らかの工夫をしなければ資源が枯渇するおそれがある。また、資源が限られていても、リアルタイム処理が要求される車両の特性上、例えば、走行性能に関する特定の機能等については、いつでも資源を利用可能にする必要がある。
【0006】
そこで、本開示は、車両の特性に配慮しつつ、車両に搭載されたストレージの資源を有効利用できる情報処理装置、情報処理方法、及び情報処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
請求項1に係る情報処理装置は、複数の機能の中の特定の前記機能が専用で利用可能な資源が配分される専用領域と、複数の前記機能が共用で利用可能であって、動的な前記資源の配分が可能な共用領域とを含む車両に搭載されたストレージの記憶領域における複数の前記機能に対する前記資源の配分を管理する管理部を備える。
【0008】
請求項1に係る情報処理装置では、管理部は、専用領域と共用領域とを含む車両に搭載されたストレージの記憶領域における複数の機能に対する資源の配分を管理する。これにより、当該情報処理装置では、複数の機能で共用領域の資源を共用で利用させるが、特定の機能には専用領域の資源を専用で利用させるため、車両の特性に配慮しつつ、車両に搭載されたストレージの資源を有効利用できる。
【0009】
請求項2に係る情報処理装置は、請求項1において、前記管理部は、前記資源を利用可能な時間制約を設けた上で、前記機能に対して前記共用領域の前記資源を配分する。
【0010】
請求項2に係る情報処理装置では、管理部は、時間制約を設けた上で機能に対して共用領域の資源を配分する。これにより、当該情報処理装置では、一の機能が共用領域の資源を占有し続けることを抑制できる。
【0011】
請求項3に係る情報処理装置は、請求項2において、前記管理部は、前記時間制約で定められた時間が経過した場合、前記機能に配分した前記共用領域の前記資源を解放し、解放した前記資源を他の前記機能に利用可能とする。
【0012】
請求項3に係る情報処理装置では、管理部は、時間制約で定められた時間が経過した場合、機能に配分した共用領域の資源を解放し、解放した資源を他の機能に利用可能とする。これにより、当該情報処理装置では、解放した共用領域の資源を他の機能に配分することができる。
【0013】
請求項4に係る情報処理装置は、請求項3において、前記管理部は、前記機能に配分した前記共用領域の前記資源を解放する場合、当該解放する前記資源を一時的に退避させる。
【0014】
請求項4に係る情報処理装置では、管理部は、機能に配分した共用領域の資源を解放する場合、当該解放する資源を一時的に退避させる。これにより、当該情報処理装置では、時間制約で定められた時間が経過しても即座に資源の解放が行われないため、当該時間の経過後に即座に機能の実行に影響を及ぼすことを抑制できる。
【0015】
請求項5に係る情報処理装置は、請求項3又は4において、前記管理部は、前記機能に配分した前記共用領域の前記資源の解放を前記機能に予告又は通知する。
【0016】
請求項5に係る情報処理装置では、管理部は、機能に配分した共用領域の資源の解放を機能に予告又は通知する。これにより、当該情報処理装置では、共用領域の資源の解放を機能に把握させることができる。
【0017】
請求項6に係る情報処理装置は、請求項1において、前記管理部は、前記共用領域の前記資源に関する資源情報を複数の前記機能に通知する。
【0018】
請求項6に係る情報処理装置では、管理部は、資源情報を複数の前記機能に通知する。これにより、当該情報処理装置では、複数の機能に資源情報を把握させることができる。
【0019】
請求項7に係る情報処理装置は、請求項1において、前記管理部は、複数の前記機能からの前記記憶領域に対するアクセス権限を管理する。
【0020】
請求項7に係る情報処理装置では、管理部は、複数の機能からの記憶領域に対するアクセス権限を管理する。これにより、当該情報処理装置では、複数の機能による記憶領域の不正利用を抑制できる。
【0021】
請求項8に係る情報処理装置は、請求項7において、前記管理部は、前記アクセス権限として、前記記憶領域へのアクセスの優先度合を定めるアクセス優先度を複数の前記機能それぞれに設定する。
【0022】
請求項8に係る情報処理装置では、管理部は、アクセス権限として、記憶領域へのアクセスの優先度合を定めるアクセス優先度を複数の機能それぞれに設定する。これにより、当該情報処理装置では、複数の機能が記憶領域の同じ領域に対してアクセス要求を行った場合に、重要な機能を優先して当該領域にアクセスさせることができる。
【0023】
請求項9に係る情報処理装置は、請求項1において、前記管理部は、複数の前記機能の数の増減に応じて、前記記憶領域に占める前記共用領域の割合を変更する。
【0024】
請求項9に係る情報処理装置では、管理部は、複数の機能の数の増減に応じて、記憶領域に占める共用領域の割合を変更する。これにより、当該情報処理装置では、機能に配分する共用領域の資源の量を、需要に応じて柔軟に調整することができる。
【0025】
請求項10に係る情報処理装置は、請求項1において、前記管理部は、複数の前記機能それぞれに対して、前記記憶領域の利用上限を設定し、前記利用上限を超えた前記機能については、前記記憶領域の利用を制限する。
【0026】
請求項10に係る情報処理装置では、管理部は、複数の機能それぞれに対して、記憶領域の利用上限を設定し、利用上限を超えた機能については、記憶領域の利用を制限する。これにより、当該情報処理装置では、一の機能が車両に搭載されたストレージの寿命を著しく低下させることを抑制できる。
【0027】
請求項11に係る情報処理装置は、請求項1において、前記管理部は、前記ストレージの寿命に応じて、複数の前記機能に配分する前記資源の量を調整する。
【0028】
請求項11に係る情報処理装置では、管理部は、車両に搭載されたストレージの寿命に応じて、複数の機能に配分する資源の量を調整する。これにより、当該情報処理装置では、機能に配分する共用領域の資源の量を、車両に搭載されたストレージの寿命に応じて柔軟に調整することができる。
【0029】
請求項12に係る情報処理方法は、複数の機能の中の特定の前記機能が専用で利用可能な資源が配分される専用領域と、複数の前記機能が共用で利用可能であって、動的な前記資源の配分が可能な共用領域とを含む車両に搭載されたストレージの記憶領域における複数の前記機能に対する前記資源の配分を管理する、処理をコンピュータが実行する。
【0030】
請求項13に係る情報処理プログラムは、コンピュータに、複数の機能の中の特定の前記機能が専用で利用可能な資源が配分される専用領域と、複数の前記機能が共用で利用可能であって、動的な前記資源の配分が可能な共用領域とを含む車両に搭載されたストレージの記憶領域における複数の前記機能に対する前記資源の配分を管理する、処理を実行させる。
【0031】
なお、以下の請求項に係る情報処理装置は、以下に記載の他の態様を採用してもよい。
他の態様として、請求項6に係る情報処理装置は、請求項1から5の何れか1項において、前記管理部は、前記共用領域の前記資源に関する資源情報を複数の前記機能に通知する。
【0032】
他の態様として、請求項7に係る情報処理装置は、請求項1から6の何れか1項において、前記管理部は、複数の前記機能からの前記記憶領域に対するアクセス権限を管理する。
【0033】
他の態様として、請求項9に係る情報処理装置は、請求項1から8の何れか1項において、前記管理部は、複数の前記機能の数の増減に応じて、前記記憶領域に占める前記共用領域の割合を変更する。
【0034】
他の態様として、請求項10に係る情報処理装置は、請求項1から9の何れか1項において、前記管理部は、複数の前記機能それぞれに対して、前記記憶領域の利用上限を設定し、前記利用上限を超えた前記機能については、前記記憶領域の利用を制限する。
【0035】
他の態様として、請求項11に係る情報処理装置は、請求項1から10の何れか1項において、前記管理部は、前記ストレージの寿命に応じて、複数の前記機能に配分する前記資源の量を調整する。
【発明の効果】
【0036】
以上説明したように、本開示に係る情報処理装置、情報処理方法、及び情報処理プログラムでは、車両の特性に配慮しつつ、車両に搭載されたストレージの資源を有効利用できる。
【図面の簡単な説明】
【0037】
図1】本実施形態に係る車両の概略構成を示すブロック図である。
図2】本実施形態に係る統合ECUの概略構成を示すブロック図である。
図3】本実施形態に係る統合ECUの機能構成の例を示すブロック図である。
図4】本実施形態に係る統合ECUのCPUの機能構成の例を示すブロック図である。
図5】本実施形態に係る統合ECUのストレージの構成を示すブロック図である。
図6】本実施形態に係るストレージリソースの配分管理の流れの例を示す第1のシーケンス図である。
図7】本実施形態に係るストレージリソースの配分管理の流れの例を示す第2のシーケンス図である。
図8】本実施形態に係るストレージリソースの解放管理の流れの例を示すシーケンス図である。
図9】本実施形態に係るストレージリソースの情報管理の流れの例を示すシーケンス図である。
図10】本実施形態に係るストレージの寿命管理の流れの例を示すシーケンス図である。
図11】本実施形態に係るストレージの操作管理の流れの例を示すシーケンス図である。
図12】本実施形態に係る権限確認処理の流れの例を示すフローチャートである。
図13】本実施形態に係るストレージへのアクセス管理の流れの例を示す第1のシーケンス図である。
図14】本実施形態に係るストレージへのアクセス管理の流れの例を示す第2のシーケンス図である。
【発明を実施するための形態】
【0038】
以下、図面を参照しつつ、本実施形態に係る車両10について説明する。
図1は、本実施形態に係る車両10の概略構成を示すブロック図である。
【0039】
図1に示すように、車両10は、複数のECU(Electrical Control Unit)20と、DCM(Data Communication Module)15と、を備えている。また、車両10は、ECU20として、統合ECU20Aと、メータECU20Bと、スマートキーECU20Cと、を少なくとも有している。
【0040】
各ECU20及びDCM15は、それぞれ外部バス(通信バス)12を介して接続されている。外部バス12は、統合ECU20A及びDCM15を接続する第1バス12Aと、統合ECU20A、メータECU20B及びスマートキーECU20Cを相互に接続する第2バス12Bと、を有している。外部バス12では、イーサネット(登録商標)による通信が行われている。なお、外部バス12の通信方式はイーサネット(登録商標)に限らず、CAN(Controller Area Network)プロトコル、又はCAN-FD(CAN With Flexible Data Rate)等を適用してもよい。これにより、メータECU20B及びスマートキーECU20Cは、サービス指向通信によって統合ECU20Aへアクセス可能となっている。
【0041】
各ECU20は、車両10の制御に要する、又は車両10を構成する機器類17と接続されている。なお、第2バス12Bを介して統合ECU20Aに接続されるECU20は、メータECU20B及びスマートキーECU20Cに限らず、トランスミッションECU、エンジンECU、ボデーECU、及びスマートキーECU等、各種ECUの接続が可能である。
【0042】
また、DCM15は、ネットワークNに接続され、外部との通信が可能となっている。ネットワークNは、無線通信であって、例えば、5G、LTE、Wi-Fi(登録商標)等の通信規格が用いられる。
【0043】
図2は、本実施形態に係る統合ECU20Aの概略構成を示すブロック図である。
図2に示すように、統合ECU20Aは、CPU(Central Processing Unit)21、ROM(Read Only Memory)22、RAM(Random Access Memory)23、ストレージ24、通信I/F(Inter Face)25及び入出力I/F26を含んで構成されている。CPU21、ROM22、RAM23、ストレージ24、通信I/F25及び入出力I/F26は、内部バス27を介して相互に通信可能に接続されている。
【0044】
CPU21は、中央演算処理ユニットであり、各種プログラムを実行したり、各部を制御したりする。すなわち、CPU21は、ROM22からプログラムを読み出し、RAM23を作業領域としてプログラムを実行する。本実施形態では、ROM22に情報処理プログラム22Aが記憶されている。CPU21は「情報処理装置」の一例である。
【0045】
ROM22は、各種プログラム及び各種データを記憶している。RAM23は、作業領域として一時的にプログラム又はデータを記憶する。
【0046】
ストレージ24は、eMMC(embedded Multi Media Card)又はUFS(Universal Flash Storage)等により構成されたNAND Memoryである。ストレージ24とCPU21とは、eMMC又はUFSインタフェースで接続される。ストレージ24は「車両に搭載されたストレージ」の一例である。
【0047】
ここで、ストレージ24は、車両10内外の複数のアプリケーションによる書き込み、読み出し、及び削除が可能なストレージである。アプリケーションは「機能」の一例である。なお、ストレージ24は、eMMC又はUFS等の1つのストレージデバイスで構成されることに限られず、eMMC及びUFS等の複数のストレージデバイスで構成されていてもよい。
【0048】
また、ROM22及びストレージ24等、統合ECU20Aが備える各部品は、HSM(Hardware Security Module)等の耐タンパ性のある媒体であるのが望ましい。
【0049】
通信I/F25は、DCM15、及び他のECU20と接続するためのインタフェースである。当該インタフェースは、イーサネット(登録商標)による通信規格が用いられる。通信I/F25は、外部バス12に対して接続されている。
【0050】
入出力I/F26は、車両10に搭載される機器類17と通信するためのインタフェースである。
【0051】
図3は、本実施形態に係る統合ECU20Aの機能構成の例を示すブロック図である。各機能構成は、CPU21がROM22に記憶された情報処理プログラム22Aを読み出し、これを実行することによって実現される。
【0052】
図3に示すように、統合ECU20Aは、4つのVM(Virtual Machine:仮想マシン)30及びVM構成部32を有している。VM30は、ボデー制御VM30A、エンジン制御VM30B、自動運転制御VM30C、及びマルチメディアVM30Dを含んでいる。なお、統合ECU20Aにおいて実現されるVM30はこの限りでなく、用途に応じたVM30をさらに含んでいてもよい。
【0053】
VM構成部32は、各VM30を仮想的に構成する機能を有している。このVM構成部32は、いわゆるハイパーバイザーの機能により実現される。VM構成部32は、VM制御部32Aと、状態判定部32Bとをさらに含んでいる。
【0054】
VM制御部32Aは、各VM30の起動又は終了の順序、及びCPU21のリソースの割り当てを制御する機能を有している。
【0055】
状態判定部32Bは、機器類17の情報を基に車両10の状態を判定する機能を有している。車両10の状態には、乗車状態、走行状態、及び運転状態等がある。乗車状態には、機器類17に含まれる車内カメラ及び着座センサ等の情報に基づいて判定される「乗車」及び「空車」の区分がある。走行状態には、機器類17に含まれる車速センサ等の情報に基づいて判定される「走行中」及び「駐車」の区分がある。運転状態には、機器類17に含まれる舵角センサ及びスロットルポジションセンサ等の情報に基づいて判定される「自動運転」及び「手動運転」の区分がある。そして、VM制御部32Aは、状態判定部32Bにより判定された車両10の状態に応じて、各VM30の起動又は終了を制御する。
【0056】
図4は、本実施形態に係る統合ECU20AのCPU21の機能構成の例を示すブロック図である。図4に示すように、CPU21は、管理部21A及び仲介部21Bとして機能する。各機能構成は、CPU21がROM22に記憶された情報処理プログラム22Aを読み出し、これを実行することによって実現される。
【0057】
管理部21Aは、ストレージリソースの配分管理、ストレージリソースの解放管理、ストレージリソースの情報管理、ストレージ24の寿命管理、ストレージ24の操作管理、及びストレージ24へのアクセス管理を行う。ストレージリソースには、一例として、容量及びストレージ24に対する書き換え上限回数が含まれる。ストレージリソースは「資源」の一例である。
【0058】
ストレージリソースの配分管理では、管理部21Aが、車両10に搭載されたストレージ24の記憶領域へアクセス可能な複数のアプリケーションに対するストレージリソースの配分を管理する。具体的には、管理部21Aは、当該アプリケーションに対し、ストレージリソースとして、ストレージ24の記憶領域の一部の容量と、ストレージ24に対する書き換え上限回数とを配分する。
【0059】
ストレージリソースの解放管理では、管理部21Aが、配分されたストレージリソースを他のアプリケーションに利用可能とするストレージリソースの解放を管理する。具体的には、管理部21Aがストレージ24の記憶領域にストレージリソースとして確保された後述するディレクトリを削除させることで、当該削除されたストレージ24の領域を別のアプリケーションが利用可能となる。
【0060】
ストレージリソースの情報管理では、管理部21Aが、ストレージリソースに関するリソース情報を管理する。また、ストレージリソースの情報管理では、管理部21Aが、取得したリソース情報に基づいて、複数のアプリケーションに対して各種の通知を行う。リソース情報は、一例として、データファイル情報、リソース容量情報、及びリソース属性情報を含んで構成されている。データファイル情報は、ストレージリソース内のデータファイルの名称を示すファイル名、データファイルの容量、及びデータファイルに対するアクセス権限等を含む。リソース容量情報は、ストレージ24の総容量、使用済み領域の容量(以下、「使用済み容量」とする)、及び未使用領域の容量(以下、「未使用容量」とする)等を含む。リソース属性情報は、ストレージリソースの名称を示すストレージリソース名、ストレージリソースへアクセスするためのアクセスパス、ストレージリソースに対するアクセス権限、ストレージ24に対する書き換え上限回数、ストレージリソースの確保日時、及びストレージリソースの解放期限等を含む。リソース情報は「資源情報」の一例である。
【0061】
ストレージ24の寿命管理では、管理部21Aが、ストレージ24に対する書き換え上限回数に基づき定められるストレージ24の寿命及びアプリケーション単位の寿命を管理する。一例として、管理部21Aは、アプリケーション単位のストレージ24に対する書き換え回数を計測し、ストレージリソースとして配分された書き換え上限回数に対する書き換え回数の割合を管理する。
【0062】
ストレージ24の操作管理では、管理部21Aが、複数のアプリケーションから受付けたストレージ24内のデータファイルに対する操作要求に基づいて、当該ストレージ24内のデータファイルに対する操作を管理する。具体的には、管理部21Aは、当該ストレージ24内のデータファイルに対する操作として、データファイルへの書き込み、データファイルの読み出し、及びデータファイルの削除を行う。ここで、管理部21Aは、統合ECU20Aとサービス指向通信が可能な他のECU20(図1参照)及び統合ECU20A内でVM構成部32の機能により実現された各VM30(図3参照)等から、上記の操作要求を受け付けることが可能である。
【0063】
ストレージ24へのアクセス管理では、管理部21Aが、複数のアプリケーションからのストレージ24に対するアクセス権限を管理する。具体的には、管理部21Aは、アクセス権限に基づいて、複数のアプリケーションからの各種要求を受け付けるか否かを判断する。また、管理部21Aは、アクセス管理において、当該アクセス権限として、ストレージ24の記憶領域へのアクセスの優先度合を定めるアクセス優先度を複数のアプリケーションそれぞれに設定する。本実施形態では、アクセス優先度として、「低」、「低」より優先度合が高い「中」、及び「中」より優先度合が高い「高」の3段階が設けられている。そして、管理部21Aは、複数のアプリケーションがストレージ24の記憶領域の同じ領域に対してアクセス要求を行った場合、アクセス優先度が高いアプリケーションを優先して当該領域にアクセスさせる。
【0064】
なお、上記の管理部21Aにより行われる各管理の詳細については後述する。
仲介部21Bは、複数のアプリケーション及び管理部21Aと、管理部21A及びストレージ24との間の処理を仲介する。一例として、仲介部21Bは、CPU21のOSの機能の1つとして実現される。また、仲介部21Bは、ストレージ24の状態及びリソース情報を把握している。
【0065】
図5は、本実施形態に係る統合ECU20Aのストレージ24の構成を示すブロック図である。
【0066】
ストレージ24は、ストレージ24の記憶領域を論理的に分割できる機能を少なくとも有している。これにより、一例として、図5に示すように、ストレージ24の記憶領域が専用領域24A、共用領域24B、及び他領域24Cの3つの領域に論理的に分割されている。
【0067】
専用領域24Aは、複数のアプリケーションの中の特定のアプリケーションが専用で利用可能なストレージリソースが配分される領域である。一例として、専用領域24Aのストレージリソースは、特定のアプリケーションの一例である車両10の工場出荷時にバンドルされたアプリケーションに対して配分される。なお、図5では、専用領域として、専用領域24Aのみが図示されているが、車両10の工場出荷時にバンドルされたアプリケーションがそれぞれ専用で利用可能な専用領域が設けられている。
【0068】
共用領域24Bは、複数のアプリケーションが共用で利用可能であって、動的なストレージリソースの配分が可能な領域である。一例として、共用領域24Bのストレージリソースは、車両10の工場出荷時にバンドルされたアプリケーション及び車両10の工場出荷後にインストールされたアプリケーションに対して配分される。
【0069】
他領域24Cは、ストレージ24の記憶領域のうち、専用領域24A及び共用領域24B以外の領域である。
【0070】
ここで、専用領域24A及び共用領域24Bには、以下の相違点がある。
専用領域24Aでは、予め定めたストレージリソースが静的に配分され、動的なストレージリソースの配分は行われない。これに対し、共用領域24Bでは、動的なストレージリソースの配分が可能である。
【0071】
専用領域24Aでは、配分されたストレージリソースの利用期間は恒久である。これに対し、共用領域24Bでは、配分されたストレージリソースを利用可能な時間制約が設けられている。当該時間制約は、ストレージリソースの解放までの所要時間(例:○○時間)である。
【0072】
専用領域24Aでは、ストレージリソースが配分された単一のアプリケーションのみがアクセス可能となる。これに対し、共用領域24Bでは、ストレージリソースが配分された複数のアプリケーションがアクセス可能となる。
【0073】
次に、管理部21Aによる共用領域24Bのストレージリソースの配分管理の流れの例を図6及び図7のシーケンス図で説明する。なお、以下のシーケンス図の説明において、上記の複数のアプリケーションの中の任意のアプリケーションをアプリAPと記載する。
【0074】
図6は、ストレージリソースの配分管理の流れの例を示す第1のシーケンス図である。
図6のステップS10において、CPU21は、管理部21Aの機能として、アプリAPからストレージリソースの確保要求を取得する。一例として、当該確保要求には、要求する共用領域24Bの容量(以下、「要求容量」とする)、ストレージリソースの解放までの所要時間(以下、「解放期限」とする)、及びアプリAPを識別するためのアプリケーション識別子が含まれる。
【0075】
ステップS11において、CPU21は、管理部21Aの機能として、権限確認処理を実行する。なお、権限確認処理の詳細については後述する。
【0076】
ステップS12において、CPU21は、管理部21Aの機能として、仲介部21Bに対してリソース情報を要求する。
【0077】
ステップS13において、CPU21は、仲介部21Bの機能として、管理部21Aに対してリソース情報を送信する。なお、CPU21は、当該ステップS13で取得したリソース情報に基づいて通知の必要があると判断した場合、ストレージリソースの情報管理を行ってアプリAPに対して通知を行う。この詳細については後述する。
【0078】
ステップS14において、CPU21は、管理部21Aの機能として、確保要求を送信したアプリAPが利用可能なストレージリソースを確保できるか否かを判断する。CPU21は、ステップS13で取得したリソース情報に含まれる共用領域24Bの未使用容量が、ステップS10で取得した確保要求に含まれる要求容量より多い場合に確保できると判断し、少ない場合に確保できないと判断する。
【0079】
図7は、ストレージリソースの配分管理の流れの例を示す第2のシーケンス図である。一例として、図7は、図6に示すステップS14において、CPU21によりアプリAPが利用可能な共用領域24Bのストレージリソースを確保できると判断された場合のシーケンス図である。
【0080】
図7のステップS20において、CPU21は、管理部21Aの機能として、ストレージ24に対して共用領域24Bへのディレクトリの作成を要求する。ディレクトリは、アプリAPが利用可能なストレージリソースが確保された共用領域24Bの一部の領域である。なお、ディレクトリの作成要求は、仲介部21Bを経由してストレージ24に送信される。
【0081】
ステップS21において、ディレクトリが、ストレージ24の共用領域24Bに作成される。なお、この場合、CPU21は、仲介部21Bの機能として、共用領域24Bに作成されたディレクトリにリソース情報を追加する。ディレクトリに追加されるリソース情報は、一例として、ストレージリソース名、ストレージリソース属性、確保した共用領域24Bの容量(以下、「確保容量」とする)、確保した共用領域24Bに対する書き換え上限回数、当該ストレージリソースにアクセス可能なアプリケーション識別子、当該ストレージリソースの確保日時、及びストレージリソースの解放期限が含まれる。
【0082】
ステップS22において、CPU21は、仲介部21Bの機能として、管理部21Aに対して共用領域24Bにディレクトリを作成したことを送信する。
【0083】
ステップS23において、CPU21は、管理部21Aの機能として、仲介部21Bに対してリソース情報を要求する。
【0084】
ステップS24において、CPU21は、仲介部21Bの機能として、管理部21Aに対してリソース情報を送信する。なお、CPU21は、当該ステップS24で取得したリソース情報に基づいて通知の必要があると判断した場合、ストレージリソースの情報管理を行ってアプリAPに対して通知を行う。この詳細については後述する。
【0085】
ステップS25において、CPU21は、管理部21Aの機能として、アプリAPに対してストレージリソースの確保が完了したことを通知する。当該通知には、確保したストレージリソースのストレージリソース名、当該ストレージリソースへのアクセスパス、確保容量、及び書き換え上限回数が含まれる。アプリAPは、当該通知を受信すると確保したストレージリソースを利用可能となる。一例として、アプリAPは、当該通知に含まれるストレージリソース名及びアクセスパスを用いて、確保したストレージリソースへアクセスすることができる。
【0086】
なお、図示を省略しているが、図6に示すステップS14において、CPU21によりアプリAPが利用可能な共用領域24Bのストレージリソースを確保できないと判断された場合は、アプリAPに対して以下の通知が行われる。この場合、CPU21は、管理部21Aの機能として、アプリAPに対して共用領域24Bの未使用容量が要求容量より少ないため、ストレージリソースを確保することができないことを通知する。
【0087】
次に、管理部21Aによるストレージリソースの解放管理の流れの例を図8のシーケンス図で説明する。
【0088】
図8は、ストレージリソースの解放管理の流れの例を示すシーケンス図である。ストレージリソースの解放管理では、管理部21Aが、共用領域24Bに作成されたディレクトリを削除させることで、当該削除された領域を別のアプリケーションが利用可能となる。なお、ディレクトリが削除された場合は、当該ディレクトリ内のデータファイル及び当該ディレクトリに対応するリソース情報についても削除される。
【0089】
図8のステップS30において、CPU21は、管理部21Aの機能として、アプリAPからストレージリソースの解放要求を取得する。一例として、ストレージリソースの解放要求には、解放を要求するストレージリソースに対応するストレージリソース名及びアクセスパスが含まれる。
【0090】
ステップS31において、CPU21は、管理部21Aの機能として、権限確認処理を実行する。
【0091】
ステップS32において、CPU21は、管理部21Aの機能として、ストレージ24に対して共用領域24Bにストレージリソースとして確保された所定のディレクトリの削除を要求する。なお、ディレクトリの削除要求は、仲介部21Bを経由してストレージ24に送信される。
【0092】
ステップS33において、解放要求を送信したアプリAP用に共用領域24Bにストレージリソースとして確保されたディレクトリが、ストレージ24の共用領域24Bから削除される。これにより、当該ディレクトリ内のデータファイルについても削除され、共用領域24Bの未使用容量が増加する。
【0093】
ステップS34において、CPU21は、仲介部21Bの機能として、管理部21Aに対して共用領域24Bからディレクトリを削除したことを送信する。
【0094】
ステップS35において、CPU21は、管理部21Aの機能として、仲介部21Bに対してリソース情報を要求する。
【0095】
ステップS36において、CPU21は、仲介部21Bの機能として、管理部21Aに対してリソース情報を送信する。なお、CPU21は、当該ステップS36で取得したリソース情報に基づいて通知の必要があると判断した場合、ストレージリソースの情報管理を行ってアプリAPに対して通知を行う。この詳細については後述する。
【0096】
ステップS37において、CPU21は、管理部21Aの機能として、アプリAPに対してストレージリソースの解放が完了したことを通知する。
【0097】
なお、図示を省略しているが、ストレージリソースの解放管理は、上記のアプリAPからの解放要求を契機に行われる場合の他、管理部21Aが自律的に行う場合が存在する。以下、管理部21Aが自律的にストレージリソースの解放管理を行う場合について説明する。
【0098】
管理部21Aは、アプリAPのストレージリソースの解放期限が到来した場合に、当該アプリAP用に共用領域24Bにストレージリソースとして確保されたディレクトリを削除させる。この場合、管理部21Aは、ディレクトリを削除させる前に、当該ディレクトリを一時的に退避させる。管理部21Aは、ディレクトリの退避として、当該ディレクトリに追加されたリソース情報のストレージリソース属性を、所定の退避属性に変更する。
【0099】
ここで、管理部21Aは、ストレージリソース属性が退避属性となったディレクトリに対しては、アプリAPからの処理を一部制限する。具体的には、管理部21Aは、ストレージリソース属性が退避属性となったディレクトリに対しては、アプリAPからの書き込み処理を禁止し、読み出し処理及び削除処理のみを許可する。そして、管理部21Aは、ディレクトリのストレージリソース属性を退避属性に変更してから一定時間が経過した後、当該ディレクトリを共用領域24Bから削除する。また、管理部21Aは、ディレクトリのストレージリソース属性を退避属性に変更した場合、及び当該ディレクトリを共用領域24Bから削除した場合に、それらの旨をアプリAPに通知する。
【0100】
次に、管理部21Aによるストレージリソースの情報管理の流れの例を図9のシーケンス図で説明する。
【0101】
図9は、ストレージリソースの情報管理の流れの例を示すシーケンス図である。
図9のステップS40において、CPU21は、管理部21Aの機能として、アプリAPからリソース情報の取得要求を取得する。一例として、リソース情報の取得要求には、情報を取得するストレージリソースのストレージリソース名及び当該ストレージリソースへのアクセスパスが含まれる。なお、リソース情報を取得可能なストレージ24の記憶領域は限定されず、専用領域24A、共用領域24B、及び他領域24Cの何れの領域からもリソース情報を取得できる。
【0102】
ステップS41において、CPU21は、管理部21Aの機能として、権限確認処理を実行する。
【0103】
ステップS42において、CPU21は、管理部21Aの機能として、仲介部21Bに対して、ステップS40で取得した取得要求に対応するストレージ24の記憶領域のリソース情報を要求する。
【0104】
ステップS43において、CPU21は、仲介部21Bの機能として、管理部21Aに対してリソース情報を送信する。
【0105】
ステップS44において、CPU21は、管理部21Aの機能として、アプリAPに対してリソース情報を送信する。
【0106】
なお、図示を省略しているが、ストレージリソースの情報管理は、上記のアプリAPからの取得要求を契機に行われる場合の他、管理部21Aが自律的に行う場合が存在する。以下、管理部21Aが自律的にストレージリソースの情報管理を行う場合について説明する。
【0107】
一例として、管理部21Aは、機器類17に含まれるイグニッションスイッチがOFF位置からON位置へ切り替えられた場合、ストレージリソースの配分管理中(図6に示すステップS13及び図7に示すステップS24)、及びストレージリソースの解放管理中(図8に示すステップS36)に、仲介部21Bに対してリソース情報を要求する。そして、管理部21Aは、上記の場合に取得したリソース情報に基づいて通知の必要があると判断した際にアプリAPに対して通知を行う。本実施形態では、一例として、以下の4つの場合において、管理部21Aが自律的にアプリAPに対して通知を行う。
【0108】
管理部21Aは、アプリAPのストレージリソースの解放期限に近付いた場合、アプリAPに対して当該解放期限までの残り時間を段階的に通知する。管理部21Aは、イグニッションスイッチがON位置にある時間及びイグニッションスイッチがON位置からOFF位置へ切り替えられてから、次にOFF位置からON位置へ切り替えられるまでの時間を取得し、双方の合算値を当該解放期限の値から差し引いた時間を当該解放期限までの残り時間として管理する。
【0109】
本実施形態では、一例として、管理部21Aが上記の通知をアプリAPに対して複数回行う。具体的には、管理部21Aは、当該解放期限のN(Nは1以上の自然数)時間前となった場合に1回目の通知を行い、当該解放期限のN-12時間前となった場合に2回目の通知を行い、当該解放期限のN-18時間前となった場合に3回目の通知を行う。
【0110】
なお、管理部21Aは、上記の通知契機が到来した場合にイグニッションスイッチがON位置にあれば即座にアプリAPに対して通知を行うが、上記の通知契機が到来した場合にイグニッションスイッチがOFF位置にあるときは、次にイグニッションスイッチがOFF位置からON位置へ切り替えられた際にアプリAPに対して通知を行う。以下の通知においても同様である。
【0111】
管理部21Aは、アプリAPのストレージリソースの解放期限を超過した場合、配分したストレージリソースの解放期限を超過したことをアプリAPに通知する。そして、管理部21Aは、ストレージリソースの解放管理を行い、当該アプリAP用に共用領域24Bにストレージリソースとして確保されたディレクトリを削除させる。
【0112】
管理部21Aは、アプリAPの要求容量に対する使用済み容量の割合が予め定めた割合以上となった場合、配分したストレージリソースの未使用容量をアプリAPに通知する。本実施形態では、一例として、管理部21Aが当該通知をアプリAPに対して複数回行う。具体的には、管理部21Aは、アプリAPの要求容量に対する使用済み容量の割合がN%以上となった場合に1回目の通知を行い、アプリAPの要求容量に対する使用済み容量の割合がN+10%以上となった場合に2回目の通知を行い、アプリAPの要求容量に対する使用済み容量の割合がN+15%以上となった場合に3回目の通知を行う。
【0113】
管理部21Aは、アプリAPのストレージリソースの使用済み容量が確保容量を超過した場合、配分したストレージリソースの確保容量を超過したことをアプリAPに通知する。このとき、管理部21Aは、確保容量を超過した際に行われていた書き込み処理を中断させ、書き込み中のデータファイルを削除させる。また、管理部21Aは、当該通知をアプリAPに送信した後、予め定めた条件が成立するまで当該ストレージリソースに対するアプリAPからの書き込み処理を禁止する。そして、管理部21Aは、書き込み処理を禁止したことについてもアプリAPに通知する。さらに、管理部21Aは、予め定めた条件が成立するまでアプリAPに対して当該ストレージリソース内のデータファイルを削除することを要求する。本実施形態では、一例として、当該ストレージリソースの未使用容量が一定容量を上回った場合に、上記の予め定めた条件が成立する。
【0114】
なお、アプリAPは、CPU21からの各種通知を取得したことに基づいて、各種処理を実行してもよい。例えば、アプリAPは、CPU21からの各種通知を取得したことに基づいて、通知内容に応じた処理を開始してもよいし、通知内容をアプリAPの利用者であるユーザの端末から報知させて、当該通知内容をユーザに把握させてもよい。
【0115】
次に、管理部21Aによるストレージ24の寿命管理の流れの例を図10のシーケンス図で説明する。
【0116】
図10は、ストレージ24の寿命管理の流れの例を示すシーケンス図である。一例として、管理部21Aは、イグニッションスイッチがOFF位置からON位置へ切り替えられた場合にストレージ24の寿命管理を行う。
【0117】
図10のステップS50において、CPU21は、管理部21Aの機能として、ストレージ24に対してストレージ24の寿命を要求する。なお、ストレージ24の寿命要求は、仲介部21Bを経由してストレージ24に送信される。ストレージ24の寿命要求には、対象のストレージデバイスを示す情報及び当該ストレージデバイスのセル属性が含まれる。
【0118】
ステップS51において、CPU21は、管理部21Aの機能として、ストレージ24からストレージ24の寿命を取得する。なお、ストレージ24の寿命は、仲介部21Bを経由して管理部21Aに送信される。本実施形態では、ストレージ24の寿命として、セル属性単位での書き換え回数及び書き換え上限回数を取得する。
【0119】
ステップS52において、CPU21は、管理部21Aの機能として、アプリAPの寿命を予測する。一例として、管理部21Aは、ステップS51で取得したストレージ24の寿命、アプリAPのストレージリソースの確保容量及び使用済み容量等に基づいて、アプリAPの寿命として、残りどれくらいの利用期間で配分したストレージリソースが枯渇するかを予測する。
【0120】
ステップS53において、CPU21は、管理部21Aの機能として、アプリAPに対して寿命情報を送信する。寿命情報には、ステップS51で取得したストレージ24の寿命及びステップS52で予測したアプリAPの寿命の他、特定の条件下では以下の情報が含まれる。
【0121】
一例として、管理部21Aは、アプリAPの書き換え上限回数に対する書き換え回数の割合が予め定めた割合以上となった場合、寿命情報として、アプリAPに対して書き換え回数を通知する。この場合、管理部21Aは、当該通知をアプリAPに対して複数回行う。具体的には、管理部21Aは、アプリAPの書き換え上限回数に対する書き換え回数の割合がN%以上となった場合に1回目の通知を行い、アプリAPの書き換え上限回数に対する書き換え回数の割合がN+10%以上となった場合に2回目の通知を行い、アプリAPの書き換え上限回数に対する書き換え回数の割合がN+15%以上となった場合に3回目の通知を行う。
【0122】
また、管理部21Aは、アプリAPの書き換え回数が書き換え上限回数を超過した場合、寿命情報として、アプリAPに対して書き換え上限回数を超過したことを通知する。このとき、管理部21Aは、書き換え上限回数を超過した際に行われていた書き込み処理を中断させ、書き込み中のデータファイルを削除させる。また、管理部21Aは、当該通知をアプリAPに送信した後、当該ストレージリソースに対するアプリAPからの書き込み処理を禁止する。そして、管理部21Aは、書き込み処理を禁止したことについてもアプリAPに通知する。
【0123】
次に、管理部21Aによるストレージ24の操作管理の流れの例を図11のシーケンス図で説明する。
【0124】
図11は、ストレージ24の操作管理の流れの例を示すシーケンス図である。
図11のステップS60において、CPU21は、管理部21Aの機能として、当該アプリAP用にストレージ24にストレージリソースとして確保されたディレクトリ内のデータファイルの操作要求を取得する。一例として、データファイルの操作要求には、操作を要求するデータファイルを特定する情報及び当該データファイルに対する操作内容が含まれる。
【0125】
ステップS61において、CPU21は、管理部21Aの機能として、権限確認処理を実行する。
【0126】
ステップS62において、CPU21は、管理部21Aの機能として、ストレージ24に対して、ステップS60で取得した操作要求に対応するデータファイルを開くことを要求する。なお、データファイルを開く要求は、仲介部21Bを経由してストレージ24に送信される。
【0127】
ステップS63において、ステップS62で要求したデータファイルがストレージ24内で開かれる。
【0128】
ステップS64において、CPU21は、仲介部21Bの機能として、管理部21Aに対してストレージ24内で要求したデータファイルが開かれたことを送信する。
【0129】
ステップS65において、CPU21は、管理部21Aの機能として、ストレージ24に対して、ステップS60で取得した操作要求に対応するデータファイルに対する操作内容を指示する。なお、データファイルに対する操作内容は、仲介部21Bを経由してストレージ24に送信される。
【0130】
ステップS66において、ステップS63で開かれたデータファイルが、ステップS65で送信した操作内容で操作される。具体的には、ステップS66では、当該データファイルへの書き込み、当該データファイルの読み出し、又は当該データファイルの削除が行われる。
【0131】
ステップS67において、CPU21は、仲介部21Bの機能として、管理部21Aに対してデータファイルに対する操作が行われたことを送信する。
【0132】
ステップS68において、CPU21は、管理部21Aの機能として、データファイルに対して行われた操作内容のアクセスログを保存する。なお、当該アクセスログは、一例として、ストレージ24の他領域24Cに保存される。
【0133】
ステップS69において、CPU21は、管理部21Aの機能として、ストレージ24に対して、ステップS63で開かれたデータファイルを閉じることを要求する。なお、データファイルを閉じる要求は、仲介部21Bを経由してストレージ24に送信される。
【0134】
ステップS70において、ステップS63で開かれたデータファイルが閉じられる。
ステップS71において、CPU21は、管理部21Aの機能として、アプリAPに対してデータファイルの操作が完了したことを通知する。
【0135】
次に、管理部21Aの機能としてCPU21により実行される権限確認処理の流れの例を図12のフローチャートで説明する。
【0136】
図12は、権限確認処理の流れの例を示すフローチャートである。
図12のステップS75において、CPU21は、要求を送信したアプリケーションがストレージ24に対する権限を有するか否かを判定し、権限を有すると判定した場合(ステップS75:YES)はステップS76に進む。一方、CPU21により要求を送信したアプリケーションがストレージ24に対する権限を有しないと判定された場合(ステップS75:NO)はステップS77に進む。
【0137】
ここで、本実施形態では、各アプリケーションに対するアクセスポリシーが定められており、一例として、当該アクセスポリシーが統合ECU20AのROM22に記憶されている。そして、CPU21は、管理部21Aの機能として、上記のアクセスポリシーを管理し、アプリケーションからの要求を受付ける都度、当該アクセスポリシーに基づいて当該要求に対する権限の有無を判断し、当該要求の可否を決定する。
【0138】
ステップS76において、CPU21は、アプリケーションが送信した要求を許可する。そして、権限確認処理を終了する。
【0139】
ステップS77において、CPU21は、アプリケーションが送信した要求を拒否する。そして、ステップS78に進む。
【0140】
ステップS78において、CPU21は、アプリケーションが送信した要求を拒否したことを当該アプリケーションに通知する。そして、権限確認処理を終了する。
【0141】
次に、管理部21Aによるストレージ24へのアクセス管理の流れの例を図13及び図14のシーケンス図で説明する。
【0142】
図13は、ストレージ24へのアクセス管理の流れの例を示す第1のシーケンス図である。一例として、図13は、当該アクセス管理として、アクセス優先度の操作要求を取得した場合の流れの例を示すシーケンス図である。
【0143】
図13のステップS80において、CPU21は、管理部21Aの機能として、アプリAPからアクセス優先度の操作要求を取得する。一例として、アクセス優先度の操作要求には、要求するアクセス優先度の操作内容及びアプリAPを識別するためのアプリケーション識別子が含まれる。一例として、アクセス優先度の操作内容には、アクセス優先度の追加、編集、及び削除が含まれる。
【0144】
ステップS81において、CPU21は、管理部21Aの機能として、権限確認処理を実行する。
【0145】
ステップS82において、CPU21は、管理部21Aの機能として、ステップS80で操作要求を取得したアプリAPのアクセス優先度を操作する。
【0146】
ステップS83において、CPU21は、管理部21Aの機能として、アプリAPに対してアクセス優先度の操作が完了したことを通知する。
【0147】
図14は、ストレージ24へのアクセス管理の流れの例を示す第2のシーケンス図である。一例として、図14は、当該アクセス管理として、権限の操作要求を取得した場合の流れの例を示すシーケンス図である。
【0148】
図14のステップS90において、CPU21は、管理部21Aの機能として、アプリAPから権限の操作要求を取得する。一例として、権限の操作要求には、要求する権限の操作内容及びアプリAPを識別するためのアプリケーション識別子が含まれる。一例として、権限の操作内容には、権限の追加、編集、及び削除が含まれる。
【0149】
ステップS91において、CPU21は、管理部21Aの機能として、権限確認処理を実行する。
【0150】
ステップS92において、CPU21は、管理部21Aの機能として、ステップS90で操作要求を取得したアプリAPの権限を操作する。
【0151】
ステップS93において、CPU21は、管理部21Aの機能として、ステップS92で操作した権限の操作履歴を保存する。なお、当該操作履歴は、一例として、ストレージ24の他領域24Cに保存される。
【0152】
ステップS94において、CPU21は、管理部21Aの機能として、アプリAPに対して権限の操作が完了したことを通知する。
【0153】
以上説明したように、統合ECU20Aでは、CPU21は、専用領域24Aと共用領域24Bとを含むストレージ24の記憶領域における複数のアプリケーションに対するストレージリソースの配分を管理する。これにより、当該CPU21では、複数のアプリケーションで共用領域24Bのストレージリソースを共用で利用させるが、特定のアプリケーションには専用領域24Aのストレージリソースを専用で利用させる。そのため、当該CPU21では、リアルタイム処理が要求される車両10の特性に配慮して、例えば、走行性能に関する特定のアプリケーションについては、いつでもストレージリソースを利用可能にしつつ、ストレージ24の限られたストレージリソースを有効利用できる。
【0154】
また、統合ECU20Aでは、CPU21は、時間制約を設けた上でアプリケーションに対して共用領域24Bのストレージリソースを配分する。これにより、当該CPU21では、一のアプリケーションが共用領域24Bのストレージリソースを占有し続けることを抑制できる。
【0155】
また、統合ECU20Aでは、CPU21は、時間制約で定められた時間が経過した場合、アプリケーションに配分した共用領域24Bのストレージリソースを解放し、解放したストレージリソースを他のアプリケーションに利用可能とする。これにより、当該CPU21では、解放した共用領域24Bのストレージリソースを他のアプリケーションに配分することができる。
【0156】
また、統合ECU20Aでは、CPU21は、アプリケーションに配分した共用領域24Bのストレージリソースを解放する場合、当該解放するストレージリソースを一時的に退避させる。本実施形態では、ストレージリソースの退避として、共用領域24Bにストレージリソースとして確保されたディレクトリのストレージリソース属性を退避属性に変更する。そして、上記のように、ストレージリソース属性が退避属性となったディレクトリは、アプリAPからの処理が一部制限され、アプリAPからの書き込み処理が禁止され、読み出し処理及び削除処理のみが許可される。これにより、当該CPU21では、時間制約で定められた時間が経過しても即座にストレージリソースの解放が行われないため、当該時間の経過後に即座にアプリケーションの実行に影響を及ぼすことを抑制できる。
【0157】
また、統合ECU20Aでは、CPU21は、アプリケーションに配分した共用領域24Bのストレージリソースの解放をアプリケーションに予告又は通知する。これにより、当該CPU21では、共用領域24Bのストレージリソースの解放をアプリケーションに把握させることができる。
【0158】
また、統合ECU20Aでは、CPU21は、リソース情報を複数のアプリケーションに通知する。これにより、当該CPU21では、複数のアプリケーションにリソース情報を把握させることができる。
【0159】
また、統合ECU20Aでは、CPU21は、複数のアプリケーションからのストレージ24の記憶領域に対するアクセス権限を管理する。これにより、当該CPU21では、複数のアプリケーションによるストレージ24の記憶領域の不正利用を抑制できる。
【0160】
また、統合ECU20Aでは、CPU21は、アクセス権限として、ストレージ24の記憶領域へのアクセスの優先度合を定めるアクセス優先度を複数のアプリケーションそれぞれに設定する。これにより、当該CPU21では、複数のアプリケーションがストレージ24の記憶領域の同じ領域に対してアクセス要求を行った場合に、重要なアプリケーションを優先して当該領域にアクセスさせることができる。
【0161】
また、統合ECU20Aでは、CPU21は、複数のアプリケーションの数の増減に応じて、ストレージ24の記憶領域に占める共用領域24Bの割合を変更する。一例として、CPU21は、複数のアプリケーションの数が増え、ストレージ24のストレージリソースに対する需要が増加した場合、ストレージ24の記憶領域に占める共用領域24Bの割合を高くして、共用領域24Bにおいてより多くのストレージリソースを配分可能とする。また、CPU21は、複数のアプリケーションの数が減り、ストレージ24のストレージリソースに対する需要が減少した場合、ストレージ24の記憶領域に占める共用領域24Bの割合を低くして、共用領域24Bにおいて配分可能なストレージリソースを少なくする。これにより、当該CPU21では、アプリケーションに配分する共用領域24Bのストレージリソースの量を、需要に応じて柔軟に調整することができる。
【0162】
また、統合ECU20Aでは、CPU21は、複数のアプリケーションそれぞれに対して、ストレージ24の記憶領域の利用上限を設定し、利用上限を超えたアプリケーションについては、ストレージ24の記憶領域の利用を制限する。本実施形態では、当該利用上限として、利用可能なストレージ24の記憶領域の容量と、ストレージ24に対する書き換え上限回数とが設定されている。そして、CPU21は、利用上限を超えたアプリケーションについては、ストレージ24の記憶領域に対する書き込み処理の禁止及び機能縮退の少なくとも一方を設定する。当該機能縮退には、一例として、単位時間あたりの書き込み頻度を落とすこと及び書き込み可能な時間帯を限定すること等が含まれる。これにより、当該CPU21では、一のアプリケーションがストレージ24の寿命を著しく低下させることを抑制できる。
【0163】
また、統合ECU20Aでは、CPU21は、ストレージ24の寿命に応じて、複数のアプリケーションに配分するストレージリソースの量を調整する。一例として、CPU21は、ストレージ24の寿命が予め定めた量未満となった場合、複数のアプリケーションに配分しているストレージリソースの一部を回収する。これにより、当該CPU21では、アプリケーションに配分する共用領域24Bのストレージリソースの量を、ストレージ24の寿命に応じて柔軟に調整することができる。
【0164】
(その他)
上記実施形態では、統合ECU20AのCPU21を「情報処理装置」の一例としたが、これに限らず、他のECU20のCPUを「情報処理装置」の一例としてもよい。また、統合ECU20AのCPU21及び他のECU20のCPUを組み合わせて「情報処理装置」の一例としてもよい。この場合、上記実施形態において、図4に示す統合ECU20AのCPU21の各機能構成の少なくとも一部を他のECU20のCPUが行ってもよい。
【0165】
上記実施形態では、共用領域24Bを統合ECU20Aのストレージ24に設けたが、これに限らず、他のECU20のストレージに共用領域24Bを設けてもよいし、統合ECU20Aのストレージ24及び他のECU20のストレージに共用領域24Bを設けてもよい。他のECU20のストレージに共用領域24Bを設ける場合、統合ECU20AのCPU21は、複数のアプリケーションに対して、ストレージ24に設けられた共用領域24Bのストレージリソースに加えて、他のECU20のストレージに設けられた共用領域24Bのストレージリソースの配分も管理する。
【0166】
上記実施形態では、複数のアプリケーションの中の特定のアプリケーションとして、車両10の工場出荷時にバンドルされたアプリケーションに対して専用領域24Aのストレージリソースを配分した。しかし、これに限らず、専用領域24Aのストレージリソースが配分されるアプリケーションは、車両10の工場出荷時にバンドルされたアプリケーションではなく、車両10の工場出荷後にインストールされたアプリケーションであってもよい。
【0167】
上記実施形態では、複数のアプリケーションの中の特定のアプリケーションに対してのみ専用領域24Aのストレージリソースを配分したが、これに限らず、複数のアプリケーション全てに専用領域24Aのストレージリソースを配分してもよい。
【0168】
上記実施形態では、ストレージ24を構成するストレージデバイスをeMMC又はUFSとしたが、これに限らず、ストレージ24を構成するストレージデバイスにSDカードを加えてもよい。これにより、ストレージ24の記憶領域の容量を事後的に追加することができる。ストレージ24の記憶領域の容量が事後的に追加されることで、共用領域24Bにおいて配分可能なストレージリソースが事後的に増加する。
【0169】
上記実施形態において、プログラム及びデータ等の信頼性であるデータ特性に応じて、ストレージ24を構成する1つのストレージデバイス内のセル領域(例:pSLC(pseudo Single Level Cell)、TLC(Triple Level Cell))に配置するデータを異ならせてもよい。
【0170】
上記実施形態では、ストレージリソースには、容量及びストレージ24に対する書き換え上限回数が含まれることとしたが、これに代えて又は加えて、ストレージ24へのアクセススピードをストレージリソースに含めてもよい。
【0171】
上記実施形態において、複数のアプリケーションにストレージリソースとして配分するストレージ24に対する書き換え上限回数は、想定されるストレージ24の運用稼働年数に基づいて設定してもよい。また、当該書き換え上限回数は、年単位、月単位、又は日単位で適宜設定してもよい。
【0172】
上記実施形態では、アプリAPのストレージリソースの解放期限が到来した場合、CPU21は、ディレクトリを削除させる前に、ストレージリソースとして確保された当該ディレクトリを一時的に退避させていた。しかし、これに限らず、アプリAPがストレージリソースを一時的に退避させることを希望している場合にのみ、CPU21は、当該ストレージリソースを一時的に退避させてもよい。この場合、ストレージリソースの一時的な退避の有無は、アプリAPにストレージリソースを配分する際にアプリAPに選択させることが望ましい。また、上記実施形態では、ストレージリソースの退避として、ストレージリソースとして確保されたディレクトリのストレージリソース属性を退避属性に変更することとしたが、ストレージリソースの退避方法はこれに限られない。例えば、ストレージリソースの退避として、ストレージリソースとして確保されたディレクトリにアプリAPが格納していたデータファイルを他領域24Cに移動させてもよい。なお、当該データファイルを他領域24Cに移動させた場合は、上記実施形態と同様に、当該データファイルに対するアプリAPからの処理を一部制限することが望ましい。また、ストレージリソースの退避として、ストレージリソースとして確保されたディレクトリに格納していたデータファイルの属性を退避属性に変更してもよい。
【0173】
上記実施形態では、CPU21は、アプリAPのストレージリソースの解放期限が到来したことに基づいて、当該アプリAP用に共用領域24Bにストレージリソースとして確保されたディレクトリを削除させていた。しかし、これに限らず、CPU21は、アプリAPのストレージリソースの解放期限が到来したことに基づいてアプリAPに対して複数回通知を行い、最後の通知から一定時間が経過した後に当該ディレクトリを削除させてもよい。
【0174】
上記実施形態において、アプリAPからリソース情報の取得要求を取得した場合に当該アプリAPに送信するリソース情報は、要求されたストレージ24の記憶領域の全てのリソース情報でもよいし、要求された一部のリソース情報でもよい。
【0175】
上記実施形態では、ストレージ24の寿命管理において、ストレージ24の寿命として、セル属性単位での書き換え回数及び書き換え上限回数を取得した。しかし、これに限らず、ストレージ24の寿命として、ストレージ24全体の寿命の使用率の範囲(例:△△%以上□□%未満)を取得してもよい。
【0176】
上記実施形態では、ストレージ24の寿命管理において、アプリAPの寿命を予測したが、ストレージ24を構成するストレージデバイスのブロックサイズに応じて、アプリAPの寿命の予測方法を変更してもよい。
【0177】
なお、上記実施形態でCPU21がソフトウェア(プログラム)を読み込んで実行した各処理を、CPU以外の各種のプロセッサが実行してもよい。この場合のプロセッサとしては、FPGA(Field-Programmable Gate Array)等の製造後に回路構成を変更可能なPLD(Programmable Logic Device)、及びASIC(Application Specific Integrated Circuit)等の特定の処理を実行させるために専用に設計された回路構成を有するプロセッサである専用電気回路等が例示される。また、各処理を、これらの各種のプロセッサのうちの1つで実行してもよいし、同種又は異種の2つ以上のプロセッサの組み合わせ(例えば、複数のFPGA、及びCPUとFPGAとの組み合わせ等)で実行してもよい。また、これらの各種のプロセッサのハードウェア的な構造は、より具体的には、半導体素子等の回路素子を組み合わせた電気回路である。
【0178】
また、上記実施形態では、情報処理プログラム22AがROM22に予め記憶(インストール)されている態様を説明したが、これに限定されない。情報処理プログラム22Aは、CD-ROM(Compact Disk Read Only Memory)、DVD-ROM(Digital Versatile Disk Read Only Memory)、及びUSB(Universal Serial Bus)メモリ等の記録媒体に記録された形態で提供されてもよい。また、情報処理プログラム22Aは、ネットワークNを介して外部装置からダウンロードされる形態としてもよい。
【符号の説明】
【0179】
10 車両
21 CPU(情報処理装置)
21A 管理部
24 ストレージ(車両に搭載されたストレージ)
24A 専用領域
24B 共用領域
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14