JP2022085703A - 電子制御装置、ソフトウェア更新方法、ソフトウェア更新プログラム、及び電子制御システム - Google Patents

電子制御装置、ソフトウェア更新方法、ソフトウェア更新プログラム、及び電子制御システム Download PDF

Info

Publication number
JP2022085703A
JP2022085703A JP2020197510A JP2020197510A JP2022085703A JP 2022085703 A JP2022085703 A JP 2022085703A JP 2020197510 A JP2020197510 A JP 2020197510A JP 2020197510 A JP2020197510 A JP 2020197510A JP 2022085703 A JP2022085703 A JP 2022085703A
Authority
JP
Japan
Prior art keywords
virtual machine
update
attribute information
electronic control
unit
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.)
Granted
Application number
JP2020197510A
Other languages
English (en)
Other versions
JP7494712B2 (ja
Inventor
史英 後藤
Fumihide Goto
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.)
Denso Corp
Original Assignee
Denso 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 Denso Corp filed Critical Denso Corp
Priority to JP2020197510A priority Critical patent/JP7494712B2/ja
Priority claimed from JP2020197510A external-priority patent/JP7494712B2/ja
Priority to DE102021130896.8A priority patent/DE102021130896A1/de
Publication of JP2022085703A publication Critical patent/JP2022085703A/ja
Application granted granted Critical
Publication of JP7494712B2 publication Critical patent/JP7494712B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45575Starting, stopping, suspending or resuming virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】仮想マシンにおける更新管理機能の起動を制御する車両用の電子制御装置を提供する。【解決手段】電子制御システム1において、第1の仮想マシン130を有する電子制御装置10は、ソフトウェアを更新するための更新ファイルを当該電子制御装置の外部から取得するファイル取得部と、第1の仮想マシンの属性情報である第1の属性情報を、第1の仮想マシンに接続された第2の仮想マシン150、160、230に送信する送信部、第2の仮想マシンの属性情報である第2の属性情報を、第2の仮想マシンから受信する受信部、第1及び第2の属性情報に基づき、第1及び第2の仮想マシンのソフトウェア更新のための更新管理機能を起動するか否かを決定する起動決定部及び起動決定部が更新管理機能を起動すると決定した場合に、ファイル取得部から転送された更新ファイルを用いた更新を第2の仮想マシンに指示する更新指示部を有する更新管理部と、を備える。【選択図】図1

Description

本発明は、電子制御装置に関するものであり、主として車両用の電子制御装置、電子制御装置で実現する方法、電子制御装置で実行可能なプログラム、及び複数の電子制御装置からなる電子制御システムに関する。
自動車においては、車載ネットワークで接続された様々な電子制御装置が搭載されている。近年の自動運転技術の発展に伴い自動車に求められる機能が複雑になりつつあり、自動車に搭載される電子制御装置の数は増加しつつある。
電子制御装置の数が増加すると、電子制御装置のソフトウェアの更新が必要となった場合、それぞれの電子制御装置のソフトウェアを更新する工程も複雑になる。
例えば、特許文献1には、車載装置において、ゲートウェイである車載更新装置を設け、車載更新装置が各車載ECUに更新プログラムを配信することが開示されている。
また、特許文献2には、通信装置同士が衝突しないように、マスタ機器とスレーブ機器を決定する処理が開示されている。
特開2020-142565号公報 特開2007-215240号公報
ここで、本発明者は、以下の課題を見出した。
車両に搭載される電子制御装置を、仮想化技術を用いた仮想マシン上で実現する場合、ソフトウェアを更新するファイルの配信・管理を行う更新管理機能をどこに置くかの自由度は高くなる。しかし、自由度が高くなると、複数の更新管理機能が設定される可能性がある。複数の更新管理機能が設定された場合、ソフトウェア更新状態の管理ができなくなったり、ファイル更新が複数回実行されてしまうという問題が生じる可能性がある。
そこで、本発明は、仮想マシンにおける更新管理機能の起動を制御することを目的とする。
本開示の一態様による電子制御装置は、
第1の仮想マシン(130)を有する電子制御装置(10)であって、
ソフトウェアを更新するための更新ファイルを当該電子制御装置の外部から取得するファイル取得部(131)と、
前記第1の仮想マシンの属性情報である第1の属性情報を、前記第1の仮想マシンに接続された第2の仮想マシン(150,160,230)に送信する送信部(135)と、
前記第2の仮想マシンの属性情報である第2の属性情報を、前記第2の仮想マシンから受信する受信部(136)と、
前記第1の属性情報及び前記第2の属性情報に基づき、前記第1の仮想マシン及び前記第2の仮想マシンのソフトウェア更新のための更新管理機能を起動するか否かを決定する起動決定部(137))と、
前記起動決定部が前記更新管理機能を起動すると決定した場合に、前記ファイル取得部から転送された前記更新ファイルを用いた更新を前記第2の仮想マシンに指示する更新指示部(138)と、を有する。
本開示の他の態様による電子制御装置は、
第1の仮想マシン(130)を有する電子制御装置(10)であって、
ソフトウェアを更新するための更新ファイルを当該電子制御装置の外部から取得するファイル取得部(131)と、
前記第1の仮想マシンの属性情報である第1の属性情報を、前記ファイル取得部に送信する送信部(135)と、
前記第1の属性情報、及び前記第1の仮想マシンに接続された第2の仮想マシン(150,160,230)の属性情報である第2の属性情報を受信した前記ファイル取得部が、前記第1の属性情報及び前記第2の属性情報に基づき生成した、前記第1の仮想マシン及び前記第2の仮想マシンのソフトウェア更新のための更新管理機能を起動する起動命令を受信する受信部(136)と、
前記受信部が前記起動命令を受信した場合、前記ファイル取得部から転送された前記更新ファイルを用いた更新を前記第2の仮想マシンに指示する更新指示部(138)と、を有する。
なお、特許請求の範囲、及び本項に記載した発明の構成要件に付した括弧内の番号は、本発明と後述の実施形態との対応関係を示すものであり、本発明を限定する趣旨ではない。
本開示の電子制御装置、ソフトウェア更新方法、ソフトウェア更新プログラム、及び電子制御システムによれば、仮想マシンにおける更新管理機能の起動を制御することが可能となる。
より具体的には、電子制御装置又は電子制御システムにおいて、設定される更新管理機能を1つに限定することにより、更新管理機能同士が抵触することを防止することができる。
実施形態1、2の電子制御装置、及び当該電子制御装置を備える電子制御システムを説明する図 実施形態1、2の電子制御装置の更新管理部132の構成を説明する図 実施形態1の電子制御システム全体の動作を説明する図 実施形態1の電子制御装置の動作を説明する図 実施形態2の電子制御システム全体の動作を説明する図 実施形態2の電子制御装置の動作を説明する図
以下、本発明の実施形態について、図面を参照して説明する。
なお、本発明とは、特許請求の範囲又は課題を解決するための手段の項に記載された発明を意味するものであり、以下の実施形態に限定されるものではない。また、少なくともかぎ括弧内の語句は、特許請求の範囲又は課題を解決するための手段の項に記載された語句を意味し、同じく以下の実施形態に限定されるものではない。
特許請求の範囲の従属項に記載の構成及び方法は、特許請求の範囲の独立項に記載の発明において任意の構成及び方法である。従属項に記載の構成及び方法に対応する実施形態の構成及び方法、並びに特許請求の範囲に記載がなく実施形態のみに記載の構成及び方法は、本発明において任意の構成及び方法である。特許請求の範囲の記載が実施形態の記載よりも広い場合における実施形態に記載の構成及び方法も、本発明の構成及び方法の例示であるという意味で、本発明において任意の構成及び方法である。いずれの場合も、特許請求の範囲の独立項に記載することで、本発明の必須の構成及び方法となる。
実施形態に記載した効果は、本発明の例示としての実施形態の構成を有する場合の効果であり、必ずしも本発明が有する効果ではない。
複数の実施形態がある場合、各実施形態に開示の構成は各実施形態のみで閉じるものではなく、実施形態をまたいで組み合わせることが可能である。例えば一の実施形態に開示の構成を、他の実施形態に組み合わせても良い。また、複数の実施形態それぞれに開示の構成を集めて組み合わせても良い。
発明が解決しようとする課題に記載した課題は公知の課題ではなく、本発明者が独自に知見したものであり、本発明の構成及び方法と共に発明の進歩性を肯定する事実である。
1.各実施形態に共通する構成
図1及び図2を用いて、各実施形態の電子制御装置、及び当該電子制御装置を備える電子制御システムを説明する。各実施形態の電子制御装置及び電子制御システムは、「移動体」である車両に「搭載されている」車載装置及び車載システムを想定しているが、これらに限定されるものではない。
ここで、「移動体」とは、移動可能な物体をいい、移動速度は任意である。また移動体が停止している場合も当然含む。例えば、自動車、自動二輪車、自転車、歩行者、船舶、航空機、及びこれらに搭載される物を含み、またこれらに限らない。
また、「搭載されている」、とは、移動体に直接固定されている場合の他、移動体に固定されていないが移動体と共に移動する場合も含む。例えば、移動体に乗った人が所持している場合、移動体に載置された積荷に搭載されている場合、が挙げられる。
電子制御システム1は、複数の「電子制御装置」(以下、ECU:Electronic Control Unit)から構成されるシステムである。図1は、2つのECU(ECU10、ECU20)を備える電子制御システム1を示しているが、任意の数のECUから構成される。ECU10及びECU20は、例えば、CAN(Controller Area Network)やLIN(Local Interconnect Network)といった車載ネットワーク、イーサネット(登録商標)、又は無線通信ネットワークを介して接続されている。
ここで、「電子制御装置」は、例えば、主に半導体装置で構成され、CPU(Central Processing Unit)、およびRAM(Random Access Memory)等の揮発性記憶部を有する、いわゆる情報処理装置として構成されていてもよい。この場合、情報処理装置はさらに、フラッシュメモリ等の不揮発性記憶部、通信ネットワーク等に接続されるネットワークインターフェース部等を有していてもよい。さらに、このような情報処理装置はパッケージ化された半導体装置(素子)であっても、配線基板において各半導体装置が配線接続された構成であってもよい。
ECU10は例えば、Adaptive Platform(AP)と呼ばれる、動的な機能の拡張が可能なプラットフォームをベースとしたECUである。APは主に、自動運転用のECUに適したプラットフォームである。また、ECU20は例えば、Classic Platform(CP)と呼ばれる、静的な機能を最適化したプラットフォームをベースとしたECUである。CPは主に、車両制御用のECUに適したプラットフォームである。
電子制御システム1を構成するECU10、ECU20はいずれも、ハイパーバイザによって管理される1以上の仮想マシン(図面上は、VM(Virtual Machine)と略する。)を有する。以下に、ECU10、ECU20、及び各ECUに搭載される仮想マシンの構成を説明する。
(1)ECU10について
ECU10(「電子制御装置」又は「第1の電子制御装置」に相当)は、ハイパーバイザ(HV)110、ハイパーバイザ110によって管理される複数の仮想マシン(130、150、160)、並びにハードウェアである実ストレージ120を備える。
ハイパーバイザ110は、ECU10を仮想化するソフトウェアである。図1の例では、仮想マシン130、仮想マシン150、仮想マシン160はハイパーバイザ110上に構築されている。ハイパーバイザ上に構築された仮想マシン同士はそれぞれ仮想的に接続されている。また、後述のECU20に搭載された仮想マシン230とも接続されている。
実ストレージ120は、ハードウェアのメモリであり、SRAMやDRAMといった揮発性メモリ、ROM、フラッシュメモリ、又はハードディスク等の不揮発性メモリである。後述する仮想マシン130、仮想マシン150、及び仮想マシン160の仮想ストレージは、実ストレージ120の保存領域を仮想化して実現される。実ストレージ120は、ECU10のハイパーバイザ110が管理する保存領域である。
(i)仮想マシン130について
ハイパーバイザ110によって管理される仮想マシン130(「第1の仮想マシン」に相当)は、ファイル取得部131、更新管理部132、更新部133、及び仮想ストレージ134を有する。
ファイル取得部131は、車両制御システム1の外部に設けられたサーバ装置からOTA(over the Air)又は有線通信を用いてファイルを取得する。ファイル取得部131が取得するファイルは、仮想マシンのソフトウェアを更新するための更新ファイルを含み、例えば、複数の仮想マシンを更新するための複数の更新ファイルを含む更新ファイル群であってもよい。ファイルはさらに、ソフトウェアを更新すべき対象の仮想マシンを特定する情報を含んでもよい。ファイル取得部131は、取得した更新ファイル群を更新管理部132に転送する。ファイル取得部131は、OTAクライアントとも称される。
更新管理部132は、ファイル取得部131から転送されたファイルを更新対象の仮想マシンに配信するために必要な一連の処理を行う。更新管理部132は、図2に示す通り、送信部135、受信部136、起動決定部137、更新指示部138、配信部139、及び休止制御部140を実現する。更新管理部132は、UCM(Update and Configuration Management)マスタとも称される。
送信部135は、更新管理部132の外部に、仮想マシン130の「属性情報」(「第1の属性情報」に相当)を送信する。送信先は、後述の実施形態1では、仮想マシン130に「接続」された仮想マシン150、仮想マシン160、及び仮想マシン230(以上、それぞれ「第2の仮想マシン」に相当)である。後述の実施形態2では、ファイル取得部131である。属性情報の例として、仮想マシンやそれに含まるデバイスの識別情報、仮想マシンやそれに含まれるデバイスのIPアドレス、プロセッサの種類や性能及び稼働率、搭載するメモリの性能や容量、接続されているインターフェースの種類や数、電源供給状態、などが挙げられる。また、属性情報にソフトウェアの更新の要否の情報である更新要否情報を含めるようにしてもよい。
ここで、「属性情報」とは、「第1の仮想マシン」又は「第2の仮想マシン」を特定する情報の他、「第1の仮想マシン」又は「第2の仮想マシン」が有する性質、特徴、又は状態を示す情報をいう。
また、「接続」とは、仮想マシン同士でデータのやり取りが可能な状態をいい、同一のハードウェア上で実現された仮想マシン同士が仮想的に接続されている場合の他、異なるハードウェア上で実現された仮想マシン同士がネットワーク等を介して接続されている場合も含む。また、データのやり取りが可能な状態とは、必ずしも実際にデータのやり取りが可能である必要はない。例えば、一方の仮想マシンが何らかのトラブルで一時的に停止していたり、スリープ状態にある場合であってもデータのやり取りが可能な状態である。
受信部136は、更新管理部132の外部から、情報又は命令を受信する。後述の実施形態1では、仮想マシン150、仮想マシン160、及び仮想マシン230から、それぞれの「属性情報」(「第2の属性情報」に相当)を受信する。後述の実施形態2では、ファイル取得部131から起動命令を受信する。詳細は各実施形態で説明する。
起動決定部137は、仮想マシン130の属性情報、並びに仮想マシン150、仮想マシン160、及び仮想マシン230のそれぞれの属性情報に基づき、仮想マシン130、仮想マシン150、仮想マシン160、及び仮想マシン230のソフトウェア更新のための更新管理機能を起動するか否かを決定する。更新管理機能とは、本実施形態では、更新指示部138、及び配信部139をいう。なお、実施形態2では、起動決定部137は必ずしも必要ではない。
更新指示部138は、ソフトウェアの更新対象の各仮想マシンに対して仮想マシンのソフトウェアの更新を指示する。各仮想マシンが更新対象かどうかは、ファイル取得部131から転送された更新ファイル群に含まれる、更新対象の仮想マシンを特定する情報に基づいて判定することができる。あるいは、特定の条件を満たす仮想マシンを更新対象とすることができる。
更新指示部138の更新指示は、更新ファイルの保存先を示すアドレスを示すものであってもよい。例えば、更新指示が、更新ファイルの保存先のアドレスを示すことにより、更新ファイルを用いて仮想マシンのソフトウェアを更新することを間接的に指示することができる。また、更新指示が、更新ファイルを保存した実ストレージ120のアドレスを示すことにより、実ストレージ120にアクセスすることにより実ストレージ120に保存されている更新ファイルを用いて仮想マシンのソフトウェアを更新することを間接的に指示することができる。更新指示はさらに、仮想マシンに更新ファイルを配信するかどうかを示す情報を含んでもよい。
配信部139は、ファイル取得部131から転送された更新ファイルを、仮想マシン150、仮想マシン160、及び仮想マシン230に配信する。すなわち、更新ファイルを通信やメモリ間転送を用いて送信する。後述の実施形態1では、起動決定部137がファイル管理機能を起動すると決定した場合に配信する。後述の実施形態2では、受信部136がファイル取得部131から受信した起動命令に基づき配信する。詳細は各実施形態で説明する。
休止制御部140は、更新管理機能である更新指示部138及び配信部139を「休止」させる。又は、休止制御部140は、他の仮想マシンの更新管理機能である更新指示部及び配信部を「休止」させる。後述の実施形態1では、起動決定部137が更新管理機能を起動しないと決定した場合に、休止制御部140は仮想マシン130の更新管理機能である更新指示部138及び配信部139を「休止」させる。後述の実施形態2では、休止制御部140は、仮想マシン150、仮想マシン160、又は仮想マシン230の更新管理機能を「休止」させる休止命令を生成し、配信部139から配信する。詳細は各実施形態で説明する。
ここで、「休止」とは、少なくとも更新管理機能が動作しない状態であればよい。例えば、アイドル状態、スリープ状態、などと表現されることもある。
更新部133は、更新指示部138からの指示に基づき、更新ファイルを用いて仮想マシン130のソフトウェアを更新する。更新部133は、仮想マシン130のソフトウェアの更新処理が完了すると、更新管理部133に更新が完了したことを通知する。更新部133及び後述する他の仮想マシンの更新部152、162、232は、UCMサブオーディネイトとも称される。
仮想ストレージ134は、実ストレージ120の保存領域を仮想化することで、仮想マシン130に仮想的に設けられた保存領域である。そのため、仮想ストレージ134に保存されたファイルは、実ストレージ120に保存されたファイルであるとも観念される。以下に説明する仮想マシン150の仮想ストレージ153、仮想マシン160の仮想ストレージ163についても同様である。
(ii)仮想マシン150、仮想マシン160について
仮想マシン150及び仮想マシン160(それぞれ「第2の仮想マシン」に相当)は、仮想マシン130と同様、ハイパーバイザ110によって管理される仮想マシンである。仮想マシン150は、更新管理部151、更新部152、及び仮想ストレージ153を有する。仮想マシン160は、更新管理部161、更新部162、及び仮想ストレージ163を有する。
更新管理部151及び更新管理部161は、更新管理部132と同様の構成を有している。更新管理部151及び更新管理部161は、後述の実施形態1では、これらが有する起動決定部が更新管理機能を起動しないと決定した場合に休止制御部が更新管理機能を休止させるので、更新管理部151及び更新管理部161は休止している。後述の実施形態2では、仮想マシン130から配信された休止命令により、更新管理部151及び更新管理部161は休止している。
更新部152及び更新部162は、それぞれ更新管理部151及び更新管理部161が休止しているので、仮想マシン130の更新指示部138からの更新指示に基づいて、それぞれの仮想マシンのソフトウェアの更新を行う。更新部152及び更新部162は、ソフトウェアの更新処理が完了すると、第1の仮想マシン130の更新管理部132に更新が完了したことを通知する。
仮想ストレージ153及び仮想ストレージ163は、仮想マシン150及び仮想マシン160にそれぞれ仮想的に設けられた保存領域である。仮想マシン130の配信部139から更新ファイルが配信される場合、更新ファイルはそれぞれの仮想ストレージ153及び仮想ストレージ163に保存される。
(2)ECU20について
ECU20(「第2の電子制御装置」に相当)は、ハイパーバイザ210、ハードウェアである実ストレージ220、及びハイパーバイザ210によって管理される仮想マシン230(「第2の仮想マシン」に相当)を備える。
ECU10とECU20とは、例えば車載ネットワークで接続されており、ECU10が有する仮想マシン130と、ECU20が有する仮想マシン230とは、車載ネットワークを介して仮想的に接続されている。
ハイパーバイザ210は、ECU20を仮想化するソフトウェアである。仮想マシン230はハイパーバイザ210上に構築される。
実ストレージ220は、ECU10の実ストレージ120と同様、ハードウェアのメモリであり、SRAMやDRAMといった揮発性メモリ、ROM、フラッシュメモリ、又はハードディスク等の不揮発性メモリである。
ECU20が有する仮想マシン230は、上述した仮想マシン150及び仮想マシン160と同様、更新管理部231、更新部232、及び仮想ストレージ233を有する。なお、本実施形態では、ECU20の仮想マシン230が更新管理機能を有する例を示しているが、更新管理部231を有しないように構成してもよい。
更新管理部231は、更新管理部132と同様の構成を有している。後述の実施形態1では、更新管理部231が有する起動決定部が更新管理機能を起動しないと決定した場合に休止制御部が更新管理機能を休止させるので、更新管理部231は休止している。後述の実施形態2では、仮想マシン130から配信された休止命令により、更新管理部231は休止している。
更新部232は、更新管理部231が休止しているので、仮想マシン130の更新指示部138からの更新指示に基づいて仮想マシン230のソフトウェアの更新を行い、ソフトウェアの更新処理が完了すると仮想マシン130の更新管理部132に更新が完了したことを通知する。
仮想ストレージ233は、実ストレージ220に仮想的に設けられた保存領域である。配信部139から更新ファイルが配信された場合、更新ファイルを仮想ストレージ233に保存してもよい。
(3)小括
以上、実施形態1、2に共通する電子制御装置、及び電子システムの構成を説明した。
なお、図1は、ECU10が1つのハイパーバイザ110を有する例を示しているが、複数のハイパーバイザを有していてもよい。また、ハイパーバイザ上に構築される仮想マシンの数についても任意である。
2.実施形態1
本実施形態は、ECU10である電子制御装置、又はECU10及びECU20からなる電子制御システム1において、各仮想マシンの更新管理部同士で調停を行うことにより、同時に稼働する更新管理機能を1つに限定するものである。すなわち、各仮想マシンが属性情報を交換し合い、各仮想マシンが自身で更新管理機能を起動するか否かを決定するものである。
以下、図3及び図4を用いて説明する。図3は電子制御システム1全体の動作を示す図である。図4は、仮想マシン130の更新管理部132の動作を示す図である。図3に示す符号と、図4に示す符号はそれぞれ対応しており、同じ符号は同じ処理を示している。
なお、図4に示す更新管理部132の動作とは、ECU10の動作であるとも観念できる。また、ECU10の動作は、電子制御装置で実行されるソフトウェア更新方法を示すだけでなく、電子制御装置で実行可能なソフトウェア更新プログラムの処理手順を示すものである。そして、これらの処理は、図3及び図4で示した順序には限定されない。すなわち、あるステップでその前段のステップの結果を利用する関係にある等の制約がない限り、順序を入れ替えてもよい。実施形態2の図5及び図6についても同様である。
仮想マシン130の更新管理部132の送信部135は、仮想マシン130の属性情報を、仮想マシン130に接続された仮想マシン150、仮想マシン160、及び仮想マシン230に送信する(S101)。送信部135の送信方法は、送信先を指定したユニキャスト送信/マルチキャスト送信、送信先を指定しないブロードキャスト送信、のいずれでもよい。
仮想マシン130の更新管理部132の受信部136は、仮想マシン150、仮想マシン160、及び仮想マシン230から送信されたそれぞれの仮想マシンの属性情報を受信する(S102)。
すなわち、それぞれの仮想マシンは、自らの属性情報を他の仮想マシンに送信するとともに、他の仮想マシンから属性情報を受信しているので、それぞれの仮想マシンは接続されている全ての仮想マシンの属性情報を取得していることになる。
仮想マシン130の更新管理部132の起動決定部137は、仮想マシン130の属性情報、並びに仮想マシン150、仮想マシン160、及び仮想マシン230のそれぞれの属性情報に基づき、仮想マシン130のソフトウェア更新のための更新管理機能を起動するか否かを決定する(S103)。
起動決定部137の決定方法として、以下の例が挙げられる。
・各更新管理部のIDが最大/最小
・各更新管理部のIPアドレスが最大/最小
・各仮想マシンに割り当てられたハードウェアの性能(マシンマニュフェストとも称される。)例えば、以下の通り。
プロセッサの種類や性能及び稼働率
搭載するメモリの性能や容量
接続されているインターフェースの種類及び数
・各更新管理部の機能安全度
・電源供給状態
仮想マシン130の属性情報にソフトウェアの更新の要否の情報である更新要否情報が含まれている場合であって、仮想マシンのソフトウェアの更新が不要であることを「示している」場合は、起動決定部137は、仮想マシン130のソフトウェア更新のための更新管理機能を起動しないと決定してもよい。このような決定をすることにより、自装置のソフトウェア更新が不要な仮想マシンが更新管理機能を起動することを防止することができ、ひいては起動する電子制御装置や仮想マシンの数を削減することができる。
ここで、「示している」とは、更新の要否を直接示している場合の他、更新の要否が特定できるような間接事実が示されている場合も含む。
図3においては、仮想マシン130の起動決定部137が、更新管理機能を起動すると決定している。これに対し、仮想マシン150、仮想マシン160、及び仮想マシン230の起動決定部は、更新管理機能を起動しないと決定している。
更新管理機能の起動を決定した仮想マシン130の送信部135は、仮想マシン130の更新管理機能が起動したことを示す起動通知をファイル取得部131に送信する(S104)。
これに対し、更新管理機能を起動しないことを決定した仮想マシン150、仮想マシン160、及び仮想マシン230の休止制御部は、それぞれの更新管理機能を休止させる(S105)。例えば、仮想マシン150、仮想マシン160、及び仮想マシン230のそれぞれの更新指示部及び配信部を休止させる。
更新管理機能の起動を決定した仮想マシン130の受信部136は、ファイル取得部131から転送されたファイル更新リクエスト及び更新ファイルを受信する(S106)。
更新管理機能の起動を決定した仮想マシン130の更新指示部138は、更新管理機能を休止した仮想マシン150、仮想マシン160、及び仮想マシン230に対し、更新指示を送信する(S107)。この際、仮想マシン130の更新部133にも更新指示を送信してもよい。また、仮想マシン130の配信部139は、仮想マシン150、仮想マシン160、及び仮想マシン230に対し、更新ファイルを配信する(S108)。
なお、S104で、仮想マシン130がファイル取得部131に対し起動通知を送信することにより、ファイル取得部131において更新管理機能を起動している仮想マシンを認識することとなるが、これに代えて、ファイル取得部131が、仮想マシン130、仮想マシン150、仮想マシン160、及び仮想マシン230に更新管理機能が起動していることを問い合わせる検索信号を送信し、これに対する応答信号を送信した仮想マシンを更新管理機能が起動している仮想マシンと認識するようにしてもよい。
以上、本実施形態によれば、仮想マシンの更新管理部同士が調停を行うことにより、起動する更新管理機能を1つに制限することができるので、更新管理機能同士の抵触を防止し、ソフトウェアの更新管理を正確かつ効率よく実行することができる。
3.実施形態2
本実施形態は、ECU10である電子制御装置、又はECU10及びECU20からなる電子制御システム1において、ファイル取得部131が更新管理機能を起動する仮想マシンを決定することにより、同時に稼働する更新管理機能を1つに限定するものである。すなわち、ファイル取得部131が各仮想マシンの属性情報を取得し、どの仮想マシンの更新管理機能を起動するかを決定するものである。
以下、図5及び図6を用いて説明する。図5は電子制御システム1全体の動作を示す図である。図6は、仮想マシン130の更新管理部132の動作を示す図である。図5に示す符号と、図6に示す符号はそれぞれ対応しており、同じ符号は同じ処理を示している。
仮想マシン130の更新管理部132の送信部135は、仮想マシン130の属性情報を、ファイル取得部131に送信する(S201)。送信部135の送信方法は、送信先を指定したユニキャスト送信/マルチキャスト送信、送信先を指定しないブロードキャスト送信、のいずれでもよい。ブロードキャスト送信の場合は、仮想マシン130の属性情報はファイル取得部131だけでなく、仮想マシン130と接続された仮想マシン150、仮想マシン160、及び仮想マシン230にも送信されるので、実施形態1と実質的に同じとなる。
仮想マシン150、仮想マシン160、及び仮想マシン230の送信部も同様に、それぞれの属性情報をファイル取得部131に送信する(S201)。
ファイル取得部131は、仮想マシン130の属性情報、並びに仮想マシン150、仮想マシン160、及び仮想マシン230の属性情報に基づき、ソフトウェア更新のための更新管理機能を起動する起動命令を生成する(S202)。起動命令には、どの仮想マシンを起動するかの情報を含めてもよい。この場合は、起動命令を、送信先を特定しないブロードキャスト送信で送信することができる。どの仮想マシンを起動するかは、実施形態1の起動決定部137の決定方法と同じ方法を用いることができる。本実施形態では、仮想マシン130を起動すると決定したとする。
仮想マシン130の更新管理部132の受信部136は、ファイル取得部131から送信された起動命令を受信する(S203)。
起動命令を受信した仮想マシン130の更新管理部132の休止制御部140は、仮想マシン150、仮想マシン160、及び仮想マシン230の更新管理機能を休止させる休止命令を生成する(S204)。そして、配信部139は、休止命令を仮想マシン150、仮想マシン160、及び仮想マシン230に配信する(S205)。
休止命令を受信した仮想マシン150、仮想マシン160、及び仮想マシン230の休止制御部は、それぞれの更新管理機能を休止させる(S206)。
仮想マシン130の受信部136は、ファイル取得部131から転送されたファイル更新リクエスト及び更新ファイルを受信する(S207)。
仮想マシン130の更新指示部138は、更新管理機能を休止した仮想マシン150、仮想マシン160、及び仮想マシン230に対し、更新指示を送信する(S208)。この際、仮想マシン130の更新部133にも更新指示を送信してもよい。また、仮想マシン130の配信部139は、仮想マシン150、仮想マシン160、及び仮想マシン230に対し、更新ファイルを配信する(S209)。
なお、S205で、休止命令は配信部139から配信したが、これに代えて、休止命令をファイル取得部131から配信するようにしてもよい。
以上、本実施形態によれば、ファイル取得部131が更新管理機能を起動する仮想マシンを決定することにより、起動する更新管理機能を1つに制限することができるので、更新管理機能同士の抵触を防止し、ソフトウェアの更新管理を正確かつ効率よく実行することができる。
4.総括
以上、本発明の各実施形態における電子制御装置、及び当該電子制御装置を備える電子制御システムの特徴について説明した。
各実施形態で使用した用語は例示であるので、同義の用語、あるいは同義の機能を含む用語に置き換えてもよい。
実施形態の説明に用いたブロック図は、装置の構成を機能毎に分類及び整理したものである。それぞれの機能を示すブロックは、ハードウェア又はソフトウェアの任意の組み合わせで実現される。また、機能を示したものであることから、かかるブロック図は方法の発明、及び当該方法を実現するプログラムの発明の開示としても把握できるものである。
各実施形態に記載した処理、フロー、及び方法として把握できる機能ブロック、については、一のステップでその前段の他のステップの結果を利用する関係にある等の制約がない限り、順序を入れ替えてもよい。
各実施形態、及び特許請求の範囲で使用する、第1、第2、乃至、第N(Nは整数)、の用語は、同種の2以上の構成や方法を区別するために使用しており、順序や優劣を限定するものではない。
各実施形態の電子制御装置は、車両に搭載される車載装置を構成する電子制御装置であることを前提としているが、本発明の電子制御装置は、特許請求の範囲で特に限定する場合を除き、任意の電子制御システムに適用される。
また、本発明の装置の形態の例として、以下のものが挙げられる。
部品の形態として、半導体素子、電子回路、モジュール、マイクロコンピュータが挙げられる。
半完成品の形態として、電子制御装置(ECU(Electric Control Unit))、システムボードが挙げられる。
完成品の形態として、携帯電話、スマートフォン、タブレット、パーソナルコンピュータ(PC)、ワークステーション、サーバが挙げられる。
その他、通信機能を有するデバイス等を含み、例えばビデオカメラ、スチルカメラ、カーナビゲーションシステムが挙げられる。
また各装置に、アンテナや通信用インターフェースなど、必要な機能を追加してもよい。
加えて、本発明は、各実施形態で説明した構成及び機能を有する専用のハードウェアで実現できるだけでなく、メモリやハードディスク等の記録媒体に記録した本発明を実現するためのプログラム、及びこれを実行可能な専用又は汎用CPU及びメモリ等を有する汎用のハードウェアとの組み合わせとしても実現できる。
専用や汎用のハードウェアの非遷移的実体的記録媒体(例えば、外部記憶装置(ハードディスク、USBメモリ、CD/BD等)、又は内部記憶装置(RAM、ROM等))に格納されるプログラムは、記録媒体を介して、あるいは記録媒体を介さずにサーバから通信回線を経由して、専用又は汎用のハードウェアに提供することもできる。これにより、プログラムのアップグレードを通じて常に最新の機能を提供することができる。
本発明の電子制御装置は、主として自動車に搭載される車載用電子制御装置として説明したが、自動二輪車、船舶、鉄道、航空機等、移動する移動体全般に適用することが可能である。また、移動体に限らず、マイクロコンピュータを包含する製品全般に適用可能である。
1 電子制御システム、10,20 電子制御装置、130 第1の仮想マシン、131 ファイル取得部、133,232 更新部、135 送信部、136 受信部、137 起動決定部、139 配信部、140 休止制御部、150,160,230 第2の仮想マシン

Claims (13)

  1. 第1の仮想マシン(130)を有する電子制御装置であって、
    ソフトウェアを更新するための更新ファイルを当該電子制御装置の外部から取得するファイル取得部(131)と、
    前記第1の仮想マシンの属性情報である第1の属性情報を、前記第1の仮想マシンに接続された第2の仮想マシン(150,160,230)に送信する送信部(135)と、
    前記第2の仮想マシンの属性情報である第2の属性情報を、前記第2の仮想マシンから受信する受信部(136)と、
    前記第1の属性情報及び前記第2の属性情報に基づき、前記第1の仮想マシン及び前記第2の仮想マシンのソフトウェア更新のための更新管理機能を起動するか否かを決定する起動決定部(137)と、
    前記起動決定部が前記更新管理機能を起動すると決定した場合に、前記ファイル取得部から転送された前記更新ファイルを用いた更新を前記第2の仮想マシンに指示する更新指示部(138)と、を有する、
    電子制御装置(10)。
  2. さらに、前記起動決定部が前記更新管理機能を起動しないと決定した場合に、前記更新管理機能を休止させる休止制御部(140)を有する、
    請求項1記載の電子制御装置。
  3. さらに、前記更新ファイルを用いて前記第1の仮想マシンのソフトウェアを更新する更新部(133)を有する、
    請求項1記載の電子制御装置。
  4. 前記第1の属性情報には、前記第1の仮想マシンのソフトウェアの更新の要否を示す更新要否情報が含まれており、
    前記更新要否情報が前記第1の仮想マシンのソフトウェアの更新が不要であることを示している場合、前記起動決定部は前記更新管理機能を起動しないと決定する、
    請求項1記載の電子制御装置。
  5. 第1の仮想マシン(130)を有する電子制御装置であって、
    ソフトウェアを更新するための更新ファイルを当該電子制御装置の外部から取得するファイル取得部(131)と、
    前記第1の仮想マシンの属性情報である第1の属性情報を、前記ファイル取得部に送信する送信部(135)と、
    前記第1の属性情報、及び前記第1の仮想マシンに接続された第2の仮想マシン(150,160,230)の属性情報である第2の属性情報を受信した前記ファイル取得部が、前記第1の属性情報及び前記第2の属性情報に基づき生成した、前記第1の仮想マシン及び前記第2の仮想マシンのソフトウェア更新のための更新管理機能を起動する起動命令を受信する受信部(136)と、
    前記受信部が前記起動命令を受信した場合、前記ファイル取得部から転送された前記更新ファイルを用いた更新を前記第2の仮想マシンに指示する更新指示部(138)と、を有する、
    電子制御装置(10)。
  6. さらに、前記受信部が前記起動命令を受信した場合、前記第2の仮想マシンの更新管理機能を休止させる休止命令を生成する休止制御部(140)を有し、
    前記配信部は、前記休止命令を前記第2の仮想マシンに配信する、
    請求項5記載の電子制御装置。
  7. 当該電子制御装置は移動体に搭載されている、
    請求項1~6記載の電子制御装置。
  8. 第1の仮想マシンを有する電子制御装置で実行されるソフトウェア更新方法あって、
    前記電子制御装置は、
    ソフトウェアを更新するための更新ファイルを当該電子制御装置の外部から取得するファイル取得部(131)を有し、
    前記第1の仮想マシンの属性情報である第1の属性情報を、前記第1の仮想マシンに接続された第2の仮想マシンに送信し(S101)、
    前記第2の仮想マシンの属性情報である第2の属性情報を、前記第2の仮想マシンから受信し(S102)、
    前記第1の属性情報及び前記第2の属性情報に基づき、前記第1の仮想マシン及び前記第2の仮想マシンのソフトウェア更新のための更新管理機能を起動するか否かを決定し(S103)、
    前記更新管理機能を起動すると決定した場合に、前記ファイル取得部から転送された前記更新ファイルを用いた更新を前記第2の仮想マシンに指示する(S107)、
    ソフトウェア更新方法。
  9. 第1の仮想マシンを有する電子制御装置で実行されるソフトウェア更新方法であって、
    前記電子制御装置は、
    ソフトウェアを更新するための更新ファイルを当該電子制御装置の外部から取得するファイル取得部(131)を有し、
    前記第1の仮想マシンの属性情報である第1の属性情報を、前記ファイル取得部に送信し(S201)、
    前記第1の属性情報、及び前記第1の仮想マシンに接続された第2の仮想マシンの属性情報である第2の属性情報を受信した前記ファイル取得部が、前記第1の属性情報及び前記第2の属性情報に基づき生成した、前記第1の仮想マシン及び前記第2の仮想マシンのソフトウェア更新のための更新管理機能を起動する起動命令を受信し(S203)、
    前記起動命令を受信した場合、前記ファイル取得部から転送された前記更新ファイルを用いた更新を前記第2の仮想マシンに指示する(S208)、
    ソフトウェア更新方法。
  10. 第1の仮想マシンを有する電子制御装置で実行可能なソフトウェア更新プログラムあって、
    前記電子制御装置は、
    ソフトウェアを更新するための更新ファイルを当該電子制御装置の外部から取得するファイル取得部(131)を有し、
    前記第1の仮想マシンの属性情報である第1の属性情報を、前記第1の仮想マシンに接続された第2の仮想マシンに送信し(S101)、
    前記第2の仮想マシンの属性情報である第2の属性情報を、前記第2の仮想マシンから受信し(S102)、
    前記第1の属性情報及び前記第2の属性情報に基づき、前記第1の仮想マシン及び前記第2の仮想マシンのソフトウェア更新のための更新管理機能を起動するか否かを決定し(S103)、
    前記更新管理機能を起動すると決定した場合に、前記ファイル取得部から転送された前記更新ファイルを用いた更新を前記第2の仮想マシンに指示する(S107)、
    ソフトウェア更新プログラム。
  11. 第1の仮想マシンを有する電子制御装置で実行可能なソフトウェア更新プログラムであって、
    前記電子制御装置は、
    ソフトウェアを更新するための更新ファイルを当該電子制御装置の外部から取得するファイル取得部(131)を有し、
    前記第1の仮想マシンの属性情報である第1の属性情報を、前記ファイル取得部に送信し(S201)、
    前記第1の属性情報、及び前記第1の仮想マシンに接続された第2の仮想マシンの属性情報である第2の属性情報を受信した前記ファイル取得部が、前記第1の属性情報及び前記第2の属性情報に基づき生成した、前記第1の仮想マシン及び前記第2の仮想マシンのソフトウェア更新のための更新管理機能を起動する起動命令を受信し(S203)、
    前記起動命令を受信した場合、前記ファイル取得部から転送された前記更新ファイルを用いた更新を前記第2の仮想マシンに指示する(S208)、
    ソフトウェア更新プログラム。
  12. 第1の仮想マシンを有する第1の電子制御装置(10)と、第2の仮想マシンを有する第2の電子制御装置(20)とを有する電子制御システムであって、
    前記第1の仮想マシンは、
    ソフトウェアを更新するための更新ファイルを当該電子制御装置の外部から取得するファイル取得部(131)と、
    前記第1の仮想マシンの属性情報である第1の属性情報を、前記第1の仮想マシンに接続された第2の仮想マシンに送信する送信部(135)と、
    前記第2の仮想マシンの属性情報である第2の属性情報を、前記第2の仮想マシンから受信する受信部(136)と、
    前記第1の属性情報及び前記第2の属性情報に基づき、前記第1の仮想マシン及び前記第2の仮想マシンのソフトウェア更新のための更新管理機能を起動するか否かを決定する起動決定部(137)と、
    前記起動決定部が前記更新管理機能を起動すると決定した場合に、前記ファイル取得部から転送された前記更新ファイルを用いた更新を前記第2の仮想マシンに指示する更新指示部(138)と、を有し、
    第2の仮想マシンは、
    前記第1の仮想マシンから指示された前記更新ファイルを用いてソフトウェアの更新を行う更新部(232)を有する、
    電子制御システム(1)。
  13. 第1の仮想マシンを有する第1の電子制御装置と、第2の仮想マシンを有する第2の電子制御装置とを有する電子制御システムであって、
    前記第1の仮想マシンは、
    ソフトウェアを更新するための更新ファイルを当該電子制御装置の外部から取得するファイル取得部(131)と、
    前記第1の仮想マシンの属性情報である第1の属性情報を、前記ファイル取得部に送信する送信部(135)と、
    前記第1の属性情報、及び前記第1の仮想マシンに接続された前記第2の仮想マシンの属性情報である第2の属性情報を受信した前記ファイル取得部が、前記第1の属性情報及び前記第2の属性情報に基づき生成した、前記第1の仮想マシン及び前記第2の仮想マシンのソフトウェア更新のための更新管理機能を起動する起動命令を受信する受信部(136)と、
    前記受信部が前記起動命令を受信した場合、前記ファイル取得部から転送された前記更新ファイルを用いた更新を前記第2の仮想マシンに指示する更新指示部(138)と、を有し、
    第2の仮想マシンは、
    前記第1の仮想マシンから指示された前記更新ファイルを用いてソフトウェアの更新を行う更新部(232)を有する、
    電子制御システム(1)。
JP2020197510A 2020-11-27 2020-11-27 電子制御装置、ソフトウェア更新方法、ソフトウェア更新プログラム、及び電子制御システム Active JP7494712B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2020197510A JP7494712B2 (ja) 2020-11-27 電子制御装置、ソフトウェア更新方法、ソフトウェア更新プログラム、及び電子制御システム
DE102021130896.8A DE102021130896A1 (de) 2020-11-27 2021-11-25 Elektronische steuerungseinheit, zeitinformationsbereitstellungsverfahren, zeitinformationsbereitstellungsprogramm und elektronisches steuerungssystem

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020197510A JP7494712B2 (ja) 2020-11-27 電子制御装置、ソフトウェア更新方法、ソフトウェア更新プログラム、及び電子制御システム

Publications (2)

Publication Number Publication Date
JP2022085703A true JP2022085703A (ja) 2022-06-08
JP7494712B2 JP7494712B2 (ja) 2024-06-04

Family

ID=

Also Published As

Publication number Publication date
DE102021130896A1 (de) 2022-06-02

Similar Documents

Publication Publication Date Title
US20080028402A1 (en) Method of setting operation environment and computer system
US20220100550A1 (en) Accelerator Loading Method, System, and Apparatus
EP3240238B1 (en) System and method for reducing management ports of a multiple node chassis system
US20140137091A1 (en) Automobile open system architecture(autosar)-based electronic control unit (ecu) and method for updating ecu
JP6165243B2 (ja) コンピュータネットワークにおいて車両搭載可能コントローラを動作させるための方法、車両搭載可能コントローラおよびデバイス
US11836475B2 (en) Electronic control unit, software update method, software update program product and electronic control system
CN114945028B (zh) 基于物联网设备的信息处理方法、相关设备及存储介质
CN111224867B (zh) 一种基于多核异构硬件虚拟化的智能网关方法
CN106021149B (zh) 蓝牙低功耗设备的多个连接管理
US11416267B2 (en) Dynamic hardware accelerator selection and loading based on acceleration requirements
JP6902722B2 (ja) プログラム更新システム、制御システム、移動体、プログラム更新方法及びプログラム
KR101821016B1 (ko) 제어 시스템의 구성요소에 식별자를 할당하는 장치, 시스템 및 방법
JP2020173561A (ja) 車載コンピュータ、車載通信システム、コンピュータ実行方法及びコンピュータプログラム
KR102109125B1 (ko) Autosar 기반 차량 ecu 상태 관리 방법
JP2023170662A (ja) 電子制御装置、ソフトウェア更新方法、ソフトウェア更新プログラム、及び電子制御システム
JP2022085703A (ja) 電子制御装置、ソフトウェア更新方法、ソフトウェア更新プログラム、及び電子制御システム
JP7494712B2 (ja) 電子制御装置、ソフトウェア更新方法、ソフトウェア更新プログラム、及び電子制御システム
JP7124660B2 (ja) 車載システム
JP7220397B2 (ja) 情報処理装置および情報処理方法
JP2023170887A (ja) 電子制御装置、ソフトウェア更新方法、及びソフトウェア更新プログラム
JP2022085863A (ja) 電子制御装置、ソフトウェア更新方法、ソフトウェア更新プログラム、及び電子制御システム
JP2022085862A (ja) 電子制御装置、ソフトウェア更新方法、ソフトウェア更新プログラム、及び電子制御システム
CN110874256B (zh) 一种计算集群更新系统、方法及装置
JP2022085861A (ja) 電子制御装置、ソフトウェア更新方法、ソフトウェア更新プログラム、及び電子制御システム
US20220171613A1 (en) Electronic control unit, software update method, software update program product and electronic control system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230215

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20240205

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240213

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240226

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240423

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240506