JP2023119512A - 制御装置、制御方法、制御プログラム、及び車両 - Google Patents

制御装置、制御方法、制御プログラム、及び車両 Download PDF

Info

Publication number
JP2023119512A
JP2023119512A JP2022022461A JP2022022461A JP2023119512A JP 2023119512 A JP2023119512 A JP 2023119512A JP 2022022461 A JP2022022461 A JP 2022022461A JP 2022022461 A JP2022022461 A JP 2022022461A JP 2023119512 A JP2023119512 A JP 2023119512A
Authority
JP
Japan
Prior art keywords
data
storage unit
vehicle
automatic driving
application
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2022022461A
Other languages
English (en)
Inventor
貴之 筬島
Takayuki Osajima
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toyota Motor Corp
Original Assignee
Toyota Motor Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toyota Motor Corp filed Critical Toyota Motor Corp
Priority to JP2022022461A priority Critical patent/JP2023119512A/ja
Priority to US18/165,418 priority patent/US20230259302A1/en
Priority to EP23155267.0A priority patent/EP4231150A1/en
Priority to KR1020230017229A priority patent/KR20230123437A/ko
Priority to CN202310088247.2A priority patent/CN116610603A/zh
Publication of JP2023119512A publication Critical patent/JP2023119512A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30072Arrangements for executing specific machine instructions to perform conditional operations, e.g. using predicates or guards
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R16/00Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
    • B60R16/02Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
    • B60R16/023Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements for transmission of signals between vehicle parts or subsystems
    • B60R16/0231Circuits relating to the driving or the functioning of the vehicle
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • G06F9/30043LOAD or STORE instructions; Clear instruction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification
    • G06F9/30189Instruction operation extension or modification according to execution mode, e.g. mode flag
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • G06F9/4831Task transfer initiation or dispatching by interrupt, e.g. masked with variable priority
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W2050/0001Details of the control system
    • B60W2050/0002Automatic control, details of type of controller or control system architecture
    • B60W2050/0004In digital systems, e.g. discrete-time systems involving sampling
    • B60W2050/0005Processor details or data handling, e.g. memory registers or chip architecture

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Mechanical Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Transportation (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Stored Programmes (AREA)
  • Memory System (AREA)

Abstract

【課題】複数のアプリケーションの各々に関係するデバイスが1つの記憶部へアクセスする場合であっても、デバイス間の競合の発生を抑制する。【解決手段】制御装置22は、複数のアプリケーションから出力されたデータを受け付ける。制御装置22は、所定の条件に基づいて、複数のアプリケーションから出力された複数のデータをストレージ18へ記憶させる順序を調停する。【選択図】図1

Description

本開示は、制御装置、制御方法、制御プログラム、及び車両に関する。
従来、プロセッサの利用効率を向上させる仮想化支援デバイスが知られている(例えば、特許文献1)。特許文献1に開示されているプロセッサは、第1及び第2のアプリケーションからの複数のリクエストに対する複数のアクセラレータの実行順序の調停を実行する。そして、このプロセッサは、調停に基づいて第1及び第2の情報のうち一方の情報を用いて、入出力メモリ管理ユニットの設定を制御し、調停に基づいて複数のリクエストのうち一方のリクエストを、複数のアクセラレータのうち対応する1つ以上に実行させる(例えば、特許文献1の[要約]を参照)。
特開2021‐051420号公報
ところで、複数のアプリケーションソフトウェア(以下、単に「アプリケーション」と称する。)の各々を実行する複数のデバイス(例えば、CPU : Central Processing Unit)が、ほぼ同時にストレージ等の記憶部へアクセスしてデータを記憶させようとした場合、何れのデバイスのデータを優先させて記憶させればよいのか、といった問題が生じるときがある。
特許文献1の技術は、複数のリクエストに対する複数のアクセラレータの実行順序を調停するものであり、複数のアプリケーションの各々のデータをストレージ等の記憶部へ記憶させる際の順序を調停するものではない。
このため、従来技術では、複数のアプリケーションの各々に関係する複数のデバイスがほぼ同時に1つの記憶部へアクセスした際には、複数のデバイス間において競合が発生してしまうときがある、という課題がある。複数のデバイスがほぼ同時に1つの記憶部へアクセスすることにより、例えば、データを更新する際の整合性が失われてしまう場合もある。
本開示は、以上の事実を考慮して成されたもので、複数のアプリケーションに関係する複数のデバイスが1つの記憶部へアクセスする場合であっても、デバイス間の競合の発生を抑制することを目的とする。
上記目的を達成するために本開示の第1態様は、複数のアプリケーションから出力されたデータを受け付ける受付部と、所定の条件に基づいて、複数のアプリケーションから出力された複数の前記データを記憶部へ記憶させる順序を調停する調停部と、を備える制御装置である。
本開示の第1態様の制御装置は、複数のアプリケーションから出力されたデータを受け付ける。制御装置は、所定の条件に基づいて、複数のアプリケーションから出力された複数のデータを記憶部へ記憶させる順序を調停する。これにより、複数のアプリケーションに関係する複数のデバイスが1つの記憶部へアクセスする場合であっても、デバイス間の競合の発生を抑制することができる。
本開示の第2態様の前記所定の条件は、車両状態に応じて予め設定されている条件を表す車両状態条件であり、前記受付部は、前記車両状態を更に受け付け、前記調停部は、前記受付部によって受け付けられた前記車両状態と、前記車両状態条件とに基づいて、前記受付部によって受け付けられた複数の前記データを前記記憶部へ記憶させる順序を調停する。本開示の第2態様によれば、制御装置が搭載されている車両の車両状態に応じて、複数のアプリケーションに関係する複数のデバイスが1つの記憶部へアクセスする場合であっても、デバイス間の競合の発生を抑制することができる。
本開示の第3態様の複数のアプリケーションには、自動運転制御に関するアプリケーションである自動運転アプリケーションと、前記自動運転制御とは異なる車両制御に関するアプリケーションである制御系アプリケーションと、が含まれ、前記車両状態には、車両が自動運転状態であることを表す自動運転モードが含まれ、前記調停部は、前記受付部により受け付けられた前記車両状態が前記自動運転モードである場合、前記自動運転アプリケーションから出力されたデータを、前記制御系アプリケーションから出力されたデータよりも優先させて前記記憶部へ記憶させるようにし、前記受付部により受け付けられた前記車両状態が前記自動運転モードではない場合、前記制御系アプリケーションから出力されたデータを、前記自動運転アプリケーションから出力されたデータよりも優先させて前記記憶部へ記憶させるようにして、複数の前記データを前記記憶部へ記憶させる順序を調停する。本開示の第3態様によれば、車両状態が自動運転モードであるのか否かに応じて、データを記憶部へ記憶させる順序を適切に調停することができる。
本開示の第4態様の複数のアプリケーションには、前記車両において利用されるマルチメディアに関するアプリケーションであるマルチメディア系アプリケーションが更に含まれ、前記調停部は、前記受付部により受け付けられた前記車両状態が前記自動運転モードである場合、前記自動運転アプリケーションから出力されたデータを、前記制御系アプリケーションから出力されるデータ及び前記マルチメディア系アプリケーションから出力されるデータよりも優先させて前記記憶部へ記憶させるようにし、前記受付部により受け付けられた前記車両状態が前記自動運転モードではない場合、前記制御系アプリケーションから出力されるデータ及び前記自動運転アプリケーションから出力されたデータを、前記マルチメディア系アプリケーションから出力されるデータよりも優先させて前記記憶部へ記憶させるようにして、複数の前記データを前記記憶部へ記憶させる順序を調停する。本開示の第4態様によれば、車両状態が自動運転モードであるのか否かとアプリケーションの種類とに応じて、データを記憶部へ記憶させる順序を適切に調停することができる。
本開示の第5態様の前記車両状態には、前記車両が工場内に存在し、かつ前記車両が改良中又は修理中であることを表す車両工場モードが含まれ、前記調停部は、前記受付部により受け付けられた前記車両状態が前記車両工場モードである場合、前記制御系アプリケーションから出力されたデータを、前記自動運転アプリケーションから出力されたデータよりも優先させて前記記憶部へ記憶させるようにして、複数の前記データを前記記憶部へ記憶させる順序を調停する。本開示の第5態様によれば、車両状態が車両工場モードであるのか否かに応じて、データを記憶部へ記憶させる順序を適切に調停することができる。
本開示の第6態様の前記調停部は、前記受付部により受け付けられた前記車両状態が前記車両工場モードである場合、前記アプリケーションから出力されたデータを前記記憶部へ記憶させる処理を、前記記憶部からデータを読み出す処理よりも優先させるようにし、前記受付部により受け付けられた前記車両状態が前記自動運転モードである場合、前記記憶部からデータを読み出す処理を、前記アプリケーションから出力されたデータを前記記憶部へ記憶させる処理よりも優先させるようにして、複数の前記データを前記記憶部へ記憶させる順序と前記記憶部からのデータの読み出しの順序とを更に調停する。本開示の第6態様によれば、データに対する処理の種類に応じて、データを記憶部へ記憶させる処理とデータを記憶部から読み出す処理とを適切に調停することができる。
本開示の第7態様の複数のアプリケーションから出力される前記データには、前記アプリケーションから出力されるデータを暗号化するための鍵データ及び前記アプリケーションを実行する際に利用される実行データが含まれ、前記調停部は、前記所定の条件に基づいて、前記鍵データ及び前記実行データの何れを優先させて前記記憶部へ記憶させるのかを調停する。本開示の第7態様によれば、データの種類に応じて、データを記憶部へ記憶させる処理を適切に調停することができる。
本開示の第8態様の前記所定の条件は、車両状態に応じて予め設定されている条件を表す車両状態条件であり、前記受付部は、前記車両状態を更に受け付け、前記車両状態には、車両が自動運転状態であることを表す自動運転モードと、前記車両が工場内に存在しかつ前記車両が改良中又は修理中であることを表す車両工場モードとが含まれ、前記調停部は、前記受付部により受け付けられた前記車両状態が前記車両工場モードである場合、前記鍵データを前記記憶部へ記憶させる処理を、前記実行データを前記記憶部へ記憶させる処理よりも優先させるようにし、前記受付部により受け付けられた前記車両状態が前記自動運転モードである場合、前記記憶部から前記実行データを読み出す処理を、前記鍵データを前記記憶部へ記憶させる処理よりも優先させるようにして、複数の前記データを前記記憶部へ記憶させる順序と前記記憶部からの前記データの読み出しの順序とを更に調停する。本開示の第8態様によれば、データの種類と処理の種類に応じて、データを記憶部へ記憶させる処理とデータを記憶部から読み出す処理とを適切に調停することができる。
本開示の第9態様は、上記の制御装置を備える車両である。本開示の第9態様によれば、第1態様と同様に、複数のアプリケーションに関係する複数のデバイスが1つの記憶部へアクセスする場合であっても、デバイス間の競合の発生を抑制することができる。
本開示の第10態様の制御方法は、複数のアプリケーションから出力されたデータを受け付け、所定の条件に基づいて、複数のアプリケーションから出力された複数の前記データを記憶部へ記憶させる順序を調停する、処理をコンピュータが実行する制御方法である。本開示の第10態様によれば、第1態様と同様に、複数のアプリケーションに関係する複数のデバイスが1つの記憶部へアクセスする場合であっても、デバイス間の競合の発生を抑制することができる。
本開示の第11態様の制御プログラムは、数のアプリケーションから出力されたデータを受け付け、所定の条件に基づいて、複数のアプリケーションから出力された複数の前記データを記憶部へ記憶させる順序を調停する、処理をコンピュータに実行させるための制御プログラムである。本開示の第11態様によれば、第1態様と同様に、複数のアプリケーションに関係する複数のデバイスが1つの記憶部へアクセスする場合であっても、デバイス間の競合の発生を抑制することができる。
以上説明したように本開示によれば、複数のアプリケーションに関係する複数のデバイスが1つの記憶部へアクセスする場合であっても、デバイス間の競合の発生を抑制することができる、という効果が得られる。
実施形態に係る制御システムの概略構成の一例を示すブロック図である。 デバイスからストレージへのアクセスを説明するための図である。 デバイスからストレージへのアクセスを説明するための図である。 車両状態条件の一例を説明するための図である。 実施形態に係る制御システムで行われる処理の流れの一例を示す図である。 実施形態に係る制御システムで行われる処理の流れの一例を示す図である。 実施形態に係る制御システムで行われる処理の流れの一例を示す図である。
以下、図面を参照して、本開示の実施形態を詳細に説明する。
<実施形態>
図1は、実施形態に係る制御システム10の概略構成の一例を示すブロック図である。制御システム10は、図1に示されるように、複数のCentral Processing Unit(CPU)12-1,12-2,12-3,12-4と、複数のHardware Security Module(HSM)14-1,14-2,14-3と、一時記憶領域としてのメモリ16と、不揮発性の記憶部の一例であるストレージ18と、通信インターフェイスであるイーサネット(登録商標)スイッチ(Eth/SW)19とを備える。制御システム10は、車両(図示省略)に搭載される。
制御システム10は、後述する各種の構成要素が搭載されたハードウェアである。制御システム10は、プロセッサでもある。
複数のCPU12-1,12-2,12-3,12-4と、複数のHSM14-1,14-2,14-3と、メモリ16と、ストレージ18と、Eth/SW19とは、バス(図示省略)を介して通信可能に接続されている。なお、以下では、複数のCPU12-1,12-2,12-3,12-4のうちの何れか1つのCPUを、単にCPU12とも称する。また、以下では、複数のHSM14-1,14-2,14-3のうちの何れか1つのHSMを、単にHSM14とも称する。
HSM14は、データを暗号化又は復号化する際に用いられる鍵データを管理するためのハードウェアである。HSM14は、セキュリティ機能を有しており、耐タンパ性を有している。HSM14は、鍵データの保管、鍵データを用いた暗号化又は復号化の演算、鍵データの生成、及び乱数の生成等を行う。
メモリ16は、プロセッサであるCPU12が直接アクセスすることが可能な記憶装置である。メモリ16には、頻繁に利用されるデータも一時的に格納されるため、記憶部の一例でもある。
ストレージ18は、Hard Disk Drive(HDD)、Solid State Drive(SSD)、フラッシュメモリ等によって実現される。記憶媒体としてのストレージ18には、制御システム10を機能させるためのプログラムが記憶されている。制御システム10を構成する複数のCPU12-1,12-2,12-3,12-4は、各種プログラムをストレージ18から読み出してメモリ16に展開し、プログラムが有するプロセスを順次実行する。
制御システム10の複数のCPU12-1,12-2,12-3,12-4が各種プログラムを順次実行することにより、図1に示される、仮想化機構20、複数の仮想マシン30-1,30-2,30-3,30-4、複数のBasic Software(BSW)40-1,40-2,40-3、セントラルゲートウェイ(G/W)50、制御系アプリケーション60A、自動運転アプリケーション60B、及びマルチメディア系アプリケーション60Cの機能が実現される。
なお、以下では、複数の仮想マシン30-1,30-2,30-3,30-4のうちの何れか1つの仮想マシンを単に仮想マシン30とも称する。また、以下では、複数のBSW40-1,40-2,40-3のうちの何れか1つのBSWを単にBSW40とも称する。また、以下では、制御系アプリケーション60A、自動運転アプリケーション60B、及びマルチメディア系アプリケーション60Cの何れか1つのアプリケーションを、単にアプリケーション60とも称する。
仮想化機構20は、制御システム10上で稼働するソフトウェアによって実現される。仮想化機構20は、制御システム10の物理的な構成である複数のCPU12-1,12-2,12-3,12-4によって実現される。また、仮想化機構20上において仮想マシン30の機能が実現される。
仮想マシン30は、仮想化機構20上において動作する。仮想マシン30は、仮想化されたコンピュータとして動作する。仮想マシン30は、コンピュータの動作を模擬して1台のコンピュータハードウェアのように振る舞うことができる。
BSW40は、仮想マシン30上において動作する。BSW40は、オペレーティングシステムの機能及び通信機能等の基本的な機能を有している。具体的には、BSW40-1は仮想マシン30-2上において動作し、BSW40-2は仮想マシン30-3上において動作し、BSW40-3は仮想マシン30-4上において動作する。
セントラルG/W50は、仮想マシン30上において動作する。セントラルG/W50は、外部から受け付けたデータの中継を行う。
アプリケーション60は、BSW40上において動作する。アプリケーション60は、ある特定の処理を実行するソフトウェアであり、本実施形態では図1に示されるように、自動運転制御とは異なる車両制御に関するアプリケーションである制御系アプリケーション60A、自動運転制御に関するアプリケーションである自動運転アプリケーション60B、及び車両において利用されるマルチメディアに関するアプリケーションであるマルチメディア系アプリケーション60Cが動作する。
具体的には、制御系アプリケーション60AはBSW40-1上において動作し、自動運転アプリケーション60BはBSW40-2上において動作し、マルチメディア系アプリケーション60CはBSW40-3上において動作する。
なお、アプリケーション60から外部へ送信されるデータのうち高いセキュリティ性が要求されるデータは、HSM14によって暗号化された後に、アプリケーション60から外部へ暗号化済みのデータが送信される。また、アプリケーション60が外部から受信したデータのうち暗号化済みのデータは、HSM14によって復号化された後に、アプリケーション60において利用される。
例えば、制御系アプリケーション60Aによって送受信されるデータは、HSM14-1によって暗号化又は復号化がされる。また、自動運転アプリケーション60Bによって送受信されるデータは、HSM14-2によって暗号化又は復号化がされる。また、マルチメディア系アプリケーション60Cによって送受信されるデータは、HSM14-3によって暗号化又は復号化がされる。
図1に示される複数のアプリケーション60が、ある所定時間内においてストレージ18へアクセスした場合、複数のCPU12-1,12-2,12-3,12-4と複数のHSM14-1,14-2,14-3との間において競合が発生し得る。具体的には、図1に示されるアプリケーション60を実行するCPU12と、データに対する暗号化又は復号化処理を実行するHSM14とが、ある所定時間内においてメモリ16又はストレージ18へアクセスした場合、複数のCPU12-1,12-2,12-3,12-4と複数のHSM14-1,14-2,14-3との間において競合が発生し得る。
このような点を考慮して、例えば、あるアプリケーションを他のアプリケーションよりも一律に優先させるといった措置も取り得る。しかし、このような場合には、例えば、優先度の低いアプリケーションが実行されている最中に優先度の高いアプリケーションが実行されたときには、優先度の低いアプリケーションの実行は中断されてしまい、制御システム10は想定外の動作を引き起こす可能性もある。また、アプリケーションに対して優先度が設定された場合には、その優先度が高いアプリケーションに不具合が発生したときには、優先度が高いアプリケーションがストレージ18を占有し続けてしまうということも生じ得る。
そこで、本実施形態の制御システム10は、車両の状態(以下、単に「車両状態」と称する。)に基づいて、複数のアプリケーション60から出力されたデータをストレージ18へ記憶させる順序を調停する。
本実施形態では、仮想化機構20上において動作する制御装置22が、車両状態を受け付ける。そして、制御装置22は、車両状態と、車両状態に応じて予め設定されている条件を表す車両状態条件とに基づいて、複数のデータをストレージ18へ記憶させる順序を調停する。
なお、複数のアプリケーション60から出力されるデータには、アプリケーション60から出力されるデータを暗号化するための鍵データ及びアプリケーション60を実行する際に利用される実行データが含まれている。このため、制御装置22は、車両状態と車両状態条件とに基づいて、鍵データ及び実行データの何れを優先させてストレージ18へ記憶させるのかも調停する。なお、以下では、データをストレージ18へ記憶させる処理を単に「書き込み」とも称する。
図2及び図3に、デバイスからストレージ18へのアクセスを説明するための図を示す。
図2に示されるように、制御系アプリケーション60Aから鍵データKey_Aが出力された場合、HSM14-1は鍵データKey_Aを取得し、自らの記憶部(図示省略)へ鍵データKey_Aを格納する。なお、この鍵データKey_Aは、制御系アプリケーション60Aと外部装置との間において送受信されるデータの暗号化又は復号化に利用される。そして、HSM14-1は鍵データKey_Aを一旦メモリ16へ展開した後に、鍵データKey_Aをストレージ18へ書き込む。
また、図2に示されるように、マルチメディア系アプリケーション60Cから鍵データKey_Cが出力された場合、HSM14-2は鍵データKey_Cを取得し、自らの記憶部(図示省略)へ鍵データKey_Cを格納する。なお、この鍵データKey_Cは、マルチメディア系アプリケーション60Cと外部装置との間において送受信されるデータの暗号化又は復号化に利用される。そして、HSM14-2は鍵データKey_Cを一旦メモリ16へ展開した後に、鍵データKey_Cをストレージ18へ書き込む。
さらに、図2に示されるように、自動運転アプリケーション60Bから自動運転に関する実行データが出力された場合、自動運転アプリケーション60Bを動作させている仮想マシン30に対応するCPU12は、自動運転に関する実行データを一旦メモリ16へ展開した後に、自動運転に関する実行データをストレージ18へ書き込む。また、自動運転アプリケーション60Bを動作させている仮想マシン30に対応するCPU12は、ストレージ18へ既に記憶されている自動運転に関する実行データを読み出し、自動運転アプリケーション60Bへ出力する。
以上のように、各アプリケーションに関係するデバイス(上述の例では、HSM14-1、HSM14-2、及びCPU12)が成り行きでストレージ18へアクセスした場合には、そのデバイスの間において競合が発生し得る。その結果、各種の要求性能要件を満たすことができない状態にもなり得る。
例えば、車両が自動運転モードである場合には、所定時間以内にストレージ18からの実行データの読み出し又は実行データのストレージ18への書き込みが、要求性能要件とされている場合があり得る。また、例えば、車両が車両工場モードである場合には、鍵データを所定時間以内にストレージ18へ書き込むことが、要求性能要件とされている場合もあり得る。
そこで、本実施形態では、図3に示されるように、仮想化機構20上で動作する制御装置22が、車両状態と車両状態条件とデータの種類と処理の種類とに基づいて、データをストレージ18へ記憶させる順序と、ストレージ18からのデータの読み出しの順序とを調停する。
図1に示されるように、制御装置22は、機能的には、受付部24と、条件記憶部25と、調停部26とを備えている。制御装置22はソフトウェアによってその機能が実現される。
受付部24は、制御システム10が搭載されている車両の車両状態と、アプリケーション60から出力されるデータとを受け付ける。
なお、本実施形態では、車両が自動運転状態であることを表す自動運転モードと、車両が工場内に存在しかつ当該車両が改良中又は修理中であることを表す車両工場モードとが車両状態として存在する場合を例に説明する。
条件記憶部25には、車両状態に応じて予め設定されている条件を表す車両状態条件が格納されている。車両状態条件は、所定の条件の一例である。車両状態条件には、車両状態に応じて何れのデータ処理を優先させるかが予め設定されている。
図4に、車両状態条件の一例を示す。図4に示されるように、車両状態条件は、車両状態と各処理の優先順位とが対応付けられている。例えば、図4に示されるように、車両状態が自動運転モードである場合、自動運転アプリケーション60Bの実行データのストレージ18からの読み出し処理の優先度が最も高く、鍵データのストレージ18への書き込み処理の優先度が最も低い。また、図4に示されるように、車両状態が車両工場モードである場合、鍵データのストレージ18への書き込み処理の優先度が最も高く、ストレージ18からの実行データの読み出し処理の優先度が最も低い。
なお、図4に示されるように、車両が故障している状態を表す故障モード及び車載ソフトウェアがアップデートされている状態を表すOver-The-Air(OTA)モードについても各処理の優先度が設定され得る。
調停部26は、受付部24によって受け付けた車両状態と、条件記憶部25に格納されている車両状態条件に基づいて、複数のアプリケーション60から出力された複数のデータをストレージ18へ記憶させる順序を調停する。
具体的には、調停部26は、受付部24によって受け付けた車両状態が自動運転モードである場合には、自動運転アプリケーション60Bから出力された実行データを、制御系アプリケーション60Aから出力される実行データ及びマルチメディア系アプリケーション60Cから出力される実行データよりも優先させてストレージ18へ記憶させるように制御する。なお、調停部26は、受付部24によって受け付けた車両状態が自動運転モードである場合、制御系アプリケーション60Aから出力される実行データを、マルチメディア系アプリケーション60Cから出力される実行データよりも優先させてストレージ18へ記憶させるように制御する。
また、調停部26は、受付部24によって受け付けた車両状態が自動運転モードではない場合、制御系アプリケーション60Aから出力される実行データを、自動運転アプリケーション60Bから出力される実行データ及びマルチメディア系アプリケーション60Cから出力される実行データよりも優先させてストレージ18へ記憶させるように制御する。なお、調停部26は、受付部24によって受け付けた車両状態が自動運転モードではない場合、自動運転アプリケーション60Bから出力される実行データを、マルチメディア系アプリケーション60Cから出力される実行データよりも優先させてストレージ18へ記憶させるように制御する。
また、例えば、調停部26は、受付部24によって受け付けた車両状態が車両工場モードである場合、制御系アプリケーション60Aから出力される実行データを、自動運転アプリケーション60Bから出力される実行データ及びマルチメディア系アプリケーション60Cから出力される実行データよりも優先させてストレージ18へ記憶させるように制御する。また、例えば、調停部26は、受付部24によって受け付けた車両状態が車両工場モードである場合、自動運転アプリケーション60Bから出力される実行データをマルチメディア系アプリケーション60Cから出力される実行データよりも優先させてストレージ18へ記憶させるように制御する。
なお、複数のアプリケーション60から出力されるデータには、アプリケーション60から出力されるデータを暗号化するための鍵データも含まれている。このため、調停部26は、車両状態と車両状態条件とに基づいて、鍵データ及び実行データの何れを優先させてストレージ18へ記憶させるのかも調停する。
調停部26は、受付部24により受け付けられた車両状態が車両工場モードである場合、鍵データをストレージ18へ記憶させる処理を、実行データをストレージ18へ記憶させる処理よりも優先させるように制御する。また、調停部26は、受付部24により受け付けられた車両状態が自動運転モードである場合、ストレージ18からデータを読み出す処理を、鍵データをストレージ18へ記憶させる処理よりも優先させるように制御する。
このようにして、調停部26は、複数のデータをストレージ18へ記憶させる順序とストレージ18からのデータの読み出しの順序とを調停する。
なお、図1に示される例では、4つの仮想マシン30が示され、3つのBSW40が示され、かつ3つのアプリケーション60が示されている。また、図1に示される例では、4つのCPU12、3つのHSM14が示されている。しかし、これら構成要素の数は図1に示されている例に限定されるものではない。
次に、実施形態の制御システム10の作用について説明する。
制御システム10のCPU12によって実現される仮想マシン30がアプリケーション60から出力された要求信号を受け付けると、仮想マシン30を実現させているCPU12は図5に示される制御処理ルーチンを実行する。
ステップS50において、CPU12は、アプリケーション60から出力された要求信号を受け付ける。
ステップS52において、CPU12は、ステップS50で受け付けた要求信号には鍵データの更新要求が含まれているか否かを判定する。要求信号に鍵データの更新要求が含まれている場合には、ステップS54へ進む。一方、要求信号に鍵データの更新要求が含まれていない場合には、ステップS58へ進む。
ステップS54において、CPU12は、鍵データの更新をHSM14へ要求する。
HSM14が、CPU12から出力された更新要求を受け付けると、HSM14は自身の記憶部(図示省略)へ鍵データを格納する。
ステップS56において、CPU12は、鍵データの更新を制御装置22へ要求する。
ステップS58において、CPU12は、ステップS50で受け付けた要求信号にストレージ18へのアクセス要求が含まれているか否かを判定する。要求信号にストレージ18へのアクセス要求が含まれている場合には、ステップS60へ進む。一方、要求信号にストレージ18へのアクセス要求が含まれていない場合には処理を終了する。
ステップS60において、CPU12は、実行データのストレージ18からの読み出し又は実行データのストレージ18への書き込みを制御装置22へ要求する。
上記ステップS56又は上記ステップS60において、制御装置22へ各種処理の要求信号が出力されると、制御装置22に対応するCPU12は、図6及び図7に示す制御処理ルーチンを実行する。
図6のステップS100において、CPU12は、制御装置22の受付部24として、上記ステップS56又は上記ステップS60で出力された要求信号を受け付ける。
ステップS101において、CPU12は、制御装置22の受付部24として、現在の車両状態を受け付ける。
ステップS102において、CPU12は、制御装置22の調停部26として、条件記憶部25から車両状態条件を読み出す。
ステップS103において、CPU12は、制御装置22の調停部26として、ステップS101で受け付けた車両状態が車両工場モードであるか否かを判定する。車両状態が車両工場モードである場合には、ステップS104へ進む。一方、車両状態が車両工場モードではない場合には、図7に示されるステップS110へ進む。
CPU12は、制御装置22の調停部26として、ステップS102で読み出された車両状態条件を参照し、ステップS104~ステップS108の順で各処理を実行する。
ステップS104において、CPU12は、制御装置22の調停部26として、アプリケーション60から出力された鍵データをストレージ18へ書き込む。
ステップS106において、CPU12は、制御装置22の調停部26として、アプリケーション60から出力された実行データをストレージ18へ書き込む。
ステップS108において、CPU12は、制御装置22の調停部26として、アプリケーション60からの要求に応じて、実行データをストレージ18から読み出す。
このように、車両が車両工場モードである場合には、車両に対して改良又は修理等がなされる場面であり、車両に対する各種の設定を円滑にする必要がある。このため、車両が車両工場モードである場合には、各種データのストレージ18への書き込み処理の優先度が高く設定される。特に、鍵データのストレージ18への書き込みの優先度が最も高く設定される。なお、ステップS104~ステップS108の各処理において示されているように、車両が車両工場モードである場合には、アプリケーション60の種類については考慮されない。
次に、図7のステップS110において、CPU12は、制御装置22の調停部26として、ステップS101で受け付けた車両状態が自動運転モードであるか否かを判定する。車両状態が自動運転モードである場合には、ステップS112へ進む。一方、車両状態が自動運転モードではない場合には、ステップS120へ進む。
ステップS112において、CPU12は、制御装置22の調停部26として、自動運転アプリケーション60Bからの要求に応じて実行データをストレージ18から読み出す。そして、CPU12は、制御装置22の調停部26として、読み出した実行データを自動運転アプリケーション60Bへ受け渡す。
ステップS114において、CPU12は、制御装置22の調停部26として、自動運転アプリケーション60Bから出力される実行データをストレージ18へ書き込む。
ステップS116において、CPU12は、制御装置22の調停部26として、制御系アプリケーション60Aからの要求に応じて実行データをストレージ18から読み出す。そして、CPU12は、制御装置22の調停部26として、読み出した実行データを制御系アプリケーション60Aへ受け渡す。
ステップS118において、CPU12は、制御装置22の調停部26として、制御系アプリケーション60Aから出力される実行データをストレージ18へ書き込む。
このように、車両状態が自動運転モードである場合には、自動運転アプリケーション60Bに関するデータに対する各種処理が優先される。
ステップS120において、CPU12は、制御装置22の調停部26として、制御系アプリケーション60Aからの要求に応じて実行データをストレージ18から読み出す。そして、CPU12は、制御装置22の調停部26として、読み出した実行データを制御系アプリケーション60Aへ受け渡す。
ステップS122において、CPU12は、制御装置22の調停部26として、制御系アプリケーション60Aから出力される実行データをストレージ18へ書き込む。
ステップS124において、CPU12は、制御装置22の調停部26として、自動運転アプリケーション60Bからの要求に応じて実行データをストレージ18から読み出す。そして、CPU12は、制御装置22の調停部26として、読み出した実行データを自動運転アプリケーション60Bへ受け渡す。
ステップS126において、CPU12は、制御装置22の調停部26として、自動運転アプリケーション60Bから出力される実行データをストレージ18へ書き込む。
このように、車両が自動運転モードではない場合には、自動運転アプリケーション60Bに関するデータに対する各種処理よりも、制御系アプリケーション60Aに関するデータに対する各種処理が優先される。
ステップS128において、CPU12は、制御装置22の調停部26として、マルチメディア系アプリケーション60Cからの要求に応じて実行データをストレージ18から読み出す。そして、CPU12は、制御装置22の調停部26として、読み出した実行データをマルチメディア系アプリケーション60Cへ受け渡す。
ステップS130において、CPU12は、制御装置22の調停部26として、マルチメディア系アプリケーション60Cから出力される実行データをストレージ18へ書き込む。
このように、車両状態が自動運転モードである場合及び車両状態が自動運転モードではない場合の何れにおいても、制御系アプリケーション60A及び自動運転アプリケーション60Bに関するデータに対する各種処理が、マルチメディア系アプリケーション60Cに関するデータに対する各種処理よりも優先される。
ステップS132において、CPU12は、制御装置22の調停部26として、アプリケーション60から出力された鍵データをストレージ18へ書き込む。
このように、車両状態が車両工場モードではない場合には、アプリケーション60に関するデータに対する各種処理が、鍵データのストレージ18への書き込み処理よりも優先される。
なお、図6及び図7に示される制御処理ルーチンにおいて、制御装置22は、ステップS100で受け付けた要求信号に応じて、ステップS104~ステップS108のうちの何れかの処理を省略する場合もある。また、制御装置22は、ステップS100で受け付けた要求信号に応じて、ステップS112~ステップS132のうちの何れかの処理を省略する場合もある。
例えば、要求信号に鍵データの更新要求が含まれていない場合には、ステップS104及びステップS132の各処理は省略される。また、例えば、要求信号にストレージ18へのアクセス要求が含まれていない場合には、ステップS106~ステップS108及びステップS112~ステップS130の各処理は省略される。
また、要求信号に特定のアプリケーション60に関するデータ処理の要求が含まれていない場合には、そのアプリケーション60に関する処理は省略される。例えば、要求信号に制御系アプリケーション60Aに関するデータ処理の要求が含まれていない場合には、ステップS116~ステップS118及びステップS120~ステップS122の各処理は省略される。
以上説明したように、実施形態に係る制御装置は、複数のアプリケーションから出力されたデータを受け付け、所定の条件に基づいて、複数のアプリケーションから出力された複数のデータをストレージへ記憶させる順序を調停する。これにより、複数のアプリケーションに関係する複数のデバイスが1つの記憶部へアクセスする場合であっても、デバイス間の競合の発生を抑制することができる。
また、上述した車両状態条件は自由に設定可能であるため、各処理の優先度を柔軟に変更することができる。また、本実施形態に係る制御装置によれば、要求性能要件に応じて各処理の優先度を柔軟に設定することもできる。
なお、上記の実施形態における各装置で行われる処理は、プログラムを実行することにより行われるソフトウェア処理として説明したが、ハードウェアで行う処理としてもよい。或いは、ソフトウェア及びハードウェアの双方を組み合わせた処理としてもよい。また、ROMに記憶されるプログラムは、各種記憶媒体に記憶して流通させるようにしてもよい。
さらに、本発明は、上記の実施形態に限定されるものではなく、上記の実施形態以外にも、その主旨を逸脱しない範囲内において種々変形して実施可能である。
本実施形態では、自動運転モードと車両工場モードとが車両状態として存在する場合を例に説明したが、これに限定されるものではない。車両が手動運転状態であることを表す手動運転モード、車両が故障している状態を表す故障モード、及び車載ソフトウェアがアップデートされている状態を表すOver-The-Air(OTA)モードについても各処理の優先度が設定されるようにしてもよい。
また、本実施形態では、複数のアプリケーションとして、制御系アプリケーション60A、自動運転アプリケーション60B、及びマルチメディア系アプリケーション60Cが存在する場合を例に説明したがこれに限定されるものではなく、他のアプリケーションを本実施形態に適用させるようにしてもよい。
10 制御システム
16 メモリ
18 ストレージ
20 仮想化機構
22 制御装置
24 受付部
25 条件記憶部
26 調停部
30 仮想マシン
60 アプリケーション
60A 制御系アプリケーション
60B 自動運転アプリケーション
60C マルチメディア系アプリケーション

Claims (11)

  1. 複数のアプリケーションから出力されたデータを受け付ける受付部と、
    所定の条件に基づいて、複数のアプリケーションから出力された複数の前記データを記憶部へ記憶させる順序を調停する調停部と、
    を備える制御装置。
  2. 前記所定の条件は、車両状態に応じて予め設定されている条件を表す車両状態条件であり、
    前記受付部は、前記車両状態を更に受け付け、
    前記調停部は、前記受付部によって受け付けられた前記車両状態と、前記車両状態条件とに基づいて、前記受付部によって受け付けられた複数の前記データを前記記憶部へ記憶させる順序を調停する、
    請求項1に記載の制御装置。
  3. 複数のアプリケーションには、自動運転制御に関するアプリケーションである自動運転アプリケーションと、前記自動運転制御とは異なる車両制御に関するアプリケーションである制御系アプリケーションと、が含まれ、
    前記車両状態には、車両が自動運転状態であることを表す自動運転モードが含まれ、
    前記調停部は、前記受付部により受け付けられた前記車両状態が前記自動運転モードである場合、前記自動運転アプリケーションから出力されたデータを、前記制御系アプリケーションから出力されたデータよりも優先させて前記記憶部へ記憶させるようにし、
    前記受付部により受け付けられた前記車両状態が前記自動運転モードではない場合、前記制御系アプリケーションから出力されたデータを、前記自動運転アプリケーションから出力されたデータよりも優先させて前記記憶部へ記憶させるようにして、複数の前記データを前記記憶部へ記憶させる順序を調停する、
    請求項2に記載の制御装置。
  4. 複数のアプリケーションには、前記車両において利用されるマルチメディアに関するアプリケーションであるマルチメディア系アプリケーションが更に含まれ、
    前記調停部は、前記受付部により受け付けられた前記車両状態が前記自動運転モードである場合、前記自動運転アプリケーションから出力されたデータを、前記制御系アプリケーションから出力されるデータ及び前記マルチメディア系アプリケーションから出力されるデータよりも優先させて前記記憶部へ記憶させるようにし、
    前記受付部により受け付けられた前記車両状態が前記自動運転モードではない場合、前記制御系アプリケーションから出力されるデータ及び前記自動運転アプリケーションから出力されたデータを、前記マルチメディア系アプリケーションから出力されるデータよりも優先させて前記記憶部へ記憶させるようにして、複数の前記データを前記記憶部へ記憶させる順序を調停する、
    請求項3に記載の制御装置。
  5. 前記車両状態には、前記車両が工場内に存在し、かつ前記車両が改良中又は修理中であることを表す車両工場モードが含まれ、
    前記調停部は、前記受付部により受け付けられた前記車両状態が前記車両工場モードである場合、前記制御系アプリケーションから出力されたデータを、前記自動運転アプリケーションから出力されたデータよりも優先させて前記記憶部へ記憶させるようにして、複数の前記データを前記記憶部へ記憶させる順序を調停する、
    請求項3又は請求項4に記載の制御装置。
  6. 前記調停部は、
    前記受付部により受け付けられた前記車両状態が前記車両工場モードである場合、前記アプリケーションから出力されたデータを前記記憶部へ記憶させる処理を、前記記憶部からデータを読み出す処理よりも優先させるようにし、
    前記受付部により受け付けられた前記車両状態が前記自動運転モードである場合、前記記憶部からデータを読み出す処理を、前記アプリケーションから出力されたデータを前記記憶部へ記憶させる処理よりも優先させるようにして、
    複数の前記データを前記記憶部へ記憶させる順序と前記記憶部からのデータの読み出しの順序とを更に調停する、
    請求項5に記載の制御装置。
  7. 複数のアプリケーションから出力される前記データには、前記アプリケーションから出力されるデータを暗号化するための鍵データ及び前記アプリケーションを実行する際に利用される実行データが含まれ、
    前記調停部は、前記所定の条件に基づいて、前記鍵データ及び前記実行データの何れを優先させて前記記憶部へ記憶させるのかを調停する、
    請求項1~請求項5の何れか1項に記載の制御装置。
  8. 前記所定の条件は、車両状態に応じて予め設定されている条件を表す車両状態条件であり、
    前記受付部は、前記車両状態を更に受け付け、
    前記車両状態には、車両が自動運転状態であることを表す自動運転モードと、前記車両が工場内に存在しかつ前記車両が改良中又は修理中であることを表す車両工場モードとが含まれ、
    前記調停部は、
    前記受付部により受け付けられた前記車両状態が前記車両工場モードである場合、前記鍵データを前記記憶部へ記憶させる処理を、前記実行データを前記記憶部へ記憶させる処理よりも優先させるようにし、
    前記受付部により受け付けられた前記車両状態が前記自動運転モードである場合、前記記憶部から前記実行データを読み出す処理を、前記鍵データを前記記憶部へ記憶させる処理よりも優先させるようにして、
    複数の前記データを前記記憶部へ記憶させる順序と前記記憶部からの前記データの読み出しの順序とを更に調停する、
    請求項7に記載の制御装置。
  9. 請求項1~請求項8の何れか1項に記載の制御装置を備える車両。
  10. 複数のアプリケーションから出力されたデータを受け付け、
    所定の条件に基づいて、複数のアプリケーションから出力された複数の前記データを記憶部へ記憶させる順序を調停する、
    処理をコンピュータが実行する制御方法。
  11. 複数のアプリケーションから出力されたデータを受け付け、
    所定の条件に基づいて、複数のアプリケーションから出力された複数の前記データを記憶部へ記憶させる順序を調停する、
    処理をコンピュータに実行させるための制御プログラム。
JP2022022461A 2022-02-16 2022-02-16 制御装置、制御方法、制御プログラム、及び車両 Pending JP2023119512A (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2022022461A JP2023119512A (ja) 2022-02-16 2022-02-16 制御装置、制御方法、制御プログラム、及び車両
US18/165,418 US20230259302A1 (en) 2022-02-16 2023-02-07 Control device, control method, recording medium in which control program is recorded, and vehicle
EP23155267.0A EP4231150A1 (en) 2022-02-16 2023-02-07 Control device, control method, recording medium in which control program is recorded, and vehicle
KR1020230017229A KR20230123437A (ko) 2022-02-16 2023-02-09 제어 장치, 제어 방법, 제어 프로그램을 기록한 기록 매체 및 차량
CN202310088247.2A CN116610603A (zh) 2022-02-16 2023-02-09 控制装置、控制方法、非临时性的记录介质、以及车辆

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022022461A JP2023119512A (ja) 2022-02-16 2022-02-16 制御装置、制御方法、制御プログラム、及び車両

Publications (1)

Publication Number Publication Date
JP2023119512A true JP2023119512A (ja) 2023-08-28

Family

ID=85199118

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022022461A Pending JP2023119512A (ja) 2022-02-16 2022-02-16 制御装置、制御方法、制御プログラム、及び車両

Country Status (5)

Country Link
US (1) US20230259302A1 (ja)
EP (1) EP4231150A1 (ja)
JP (1) JP2023119512A (ja)
KR (1) KR20230123437A (ja)
CN (1) CN116610603A (ja)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6608630B1 (en) * 1998-11-09 2003-08-19 Broadcom Corporation Graphics display system with line buffer control scheme
US8572296B2 (en) * 2005-06-30 2013-10-29 Freescale Semiconductor, Inc. Device and method for arbitrating between direct memory access task requests
JP7112058B2 (ja) * 2018-02-21 2022-08-03 学校法人関西学院 リアルタイム処理装置及びその作製方法
US11507111B2 (en) * 2018-10-31 2022-11-22 Uber Technologies, Inc. Autonomous vehicle fleet management for improved computational resource usage
JP2021051420A (ja) 2019-09-24 2021-04-01 株式会社東芝 仮想化支援デバイス及び仮想化支援デバイスの制御方法

Also Published As

Publication number Publication date
US20230259302A1 (en) 2023-08-17
EP4231150A1 (en) 2023-08-23
KR20230123437A (ko) 2023-08-23
CN116610603A (zh) 2023-08-18

Similar Documents

Publication Publication Date Title
CA3062336C (en) Apparatus and method for controlling data acceleration
US7277982B2 (en) DRAM access command queuing structure
US9286118B2 (en) System and method for improved job processing to reduce contention for shared resources
US20200319876A1 (en) Processing system, related integrated circuit, device and method
JP5153887B2 (ja) プロセッサから周辺機器へのセキュア動作モードアクセス特権の譲渡のための方法及び装置
WO2004061687A1 (en) Direct memory access controller system
US10649914B1 (en) Scratchpad-based operating system for multi-core embedded systems
US10229077B2 (en) Method for data transfer between real-time tasks using a DMA memory controller
US6665746B1 (en) System and method for prioritized context switching for streaming data memory transfers
US5901328A (en) System for transferring data between main computer multiport memory and external device in parallel system utilizing memory protection scheme and changing memory protection area
CN108292244B (zh) 数据处理装置、数据处理方法及计算机可读取的记录介质
EP1639481B1 (en) Readdressable virtual dma control and status registers
US7130932B1 (en) Method and apparatus for increasing the performance of communications between a host processor and a SATA or ATA device
KR20220035242A (ko) 호스트 컴퓨팅 디바이스와 네트워크 인터페이스 디바이스를 포함하는 프로그래머블 네트워크 인터페이스 디바이스
EP1899827B1 (en) Device and method for executing a dma task
US9104478B2 (en) System and method for improved job processing of a number of jobs belonging to communication streams within a data processor
US6457106B1 (en) Shared memory control system and shared memory control method
JP5289688B2 (ja) プロセッサシステム及びプロセッサシステムを動作させるオペレーティングシステムプログラムの処理方法
US7861104B2 (en) Methods and apparatus for collapsing interrupts
JP2023119512A (ja) 制御装置、制御方法、制御プログラム、及び車両
CN109426562B (zh) 优先级加权轮转调度器
US11269549B2 (en) Storage device and command processing method
US8010802B2 (en) Cryptographic device having session memory bus
JP2005258509A (ja) ストレージ装置
JP4360439B2 (ja) メモリ管理装置及びメモリ管理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20231219