JP7461755B2 - 情報処理装置、プログラム更新システム、及びプログラム更新方法 - Google Patents

情報処理装置、プログラム更新システム、及びプログラム更新方法 Download PDF

Info

Publication number
JP7461755B2
JP7461755B2 JP2020028467A JP2020028467A JP7461755B2 JP 7461755 B2 JP7461755 B2 JP 7461755B2 JP 2020028467 A JP2020028467 A JP 2020028467A JP 2020028467 A JP2020028467 A JP 2020028467A JP 7461755 B2 JP7461755 B2 JP 7461755B2
Authority
JP
Japan
Prior art keywords
program
area
unit
information processing
processing device
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.)
Active
Application number
JP2020028467A
Other languages
English (en)
Other versions
JP2021135514A (ja
Inventor
伸義 森田
正 矢野
幹雄 片岡
周平 金子
晃啓 野村
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.)
Hitachi Astemo Ltd
Original Assignee
Hitachi Astemo Ltd
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 Hitachi Astemo Ltd filed Critical Hitachi Astemo Ltd
Priority to JP2020028467A priority Critical patent/JP7461755B2/ja
Priority to PCT/JP2021/003367 priority patent/WO2021166603A1/ja
Priority to CN202180014026.XA priority patent/CN115244505A/zh
Priority to US17/800,690 priority patent/US20230070879A1/en
Priority to EP21756677.7A priority patent/EP4109238A4/en
Publication of JP2021135514A publication Critical patent/JP2021135514A/ja
Application granted granted Critical
Publication of JP7461755B2 publication Critical patent/JP7461755B2/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
    • 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

Description

本発明は、情報処理装置や制御装置に関し、特に、プログラム更新方法に関する。
プログラム更新の失敗時におけるリカバリー対策として、同じ種類のプログラムを保持可能な二つの記憶領域(起動領域、待機領域)を備える装置を対象に、一方の記憶領域(待機領域)のプログラムのみを更新するプログラム更新技術が検討されている。このようなプログラム更新技術では、万一プログラムの更新に失敗した場合、更新対象ではない起動領域で起動する。特に、可能な限り最新のバージョンで復旧させるために、プログラムの更新対象となる待機領域は、直近に起動している領域ではなく、待機している領域とすることが好ましい。例えば、特許文献1(特開平10-63497号公報)には、実行中のプログラムを更新するとき、当該プログラムが格納されたメモリ領域とは異なるメモリ領域に更新後の前記プログラムを格納し、前記プログラムを次に実行するときには、複数の前記メモリ領域に格納された前記プログラムのうちの最新のプログラムを選択し、これを実行するようにしたことを特徴とするプログラム更新方法が記載されている。
特許文献1に記載された技術によれば、実行中のプログラムが格納されたメモリ領域とは異なるメモリ領域を更新対象として特定することは可能である。
特開平10-63497号公報
2つのメモリ領域を持つ装置では、メモリ領域ごとにアドレス値が異なる等の影響によって更新用プログラムが完全には一致しない場合がある。このような場合、特許文献1の技術では、プログラムの更新作業者は、更新対象領域を事前に確認できないため、プログラム更新時に更新対象領域を確認し、当該更新対象領域に適した更新プログラムを選定する処理が必要になってしまう。
本発明は、以上の問題に鑑みなされたものであり、制御プログラムの実行中にも、待機中の領域のプログラム更新可能な装置において、プログラム更新時に必要となる一時的なメモリ領域の使用量を削減しつつ、プログラムの更新作業者の運用負荷を低減することを目的とする。
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、プログラムを実行する情報処理装置であって、書換え可能なプログラムを格納する複数の領域を含む記憶部と、前記記憶部に格納されたプログラムを実行する演算部とを備え、前記演算部がプログラムを実行中の起動領域を前記複数の領域から特定する起動領域特定部と、前記特定された起動領域の情報に基づいて、プログラムが書き換え可能な書換対象領域を特定するルール更新部と、前記書換対象領域に格納される書換プログラムを選択的に受信する受信選択部とを有し、前記ルール更新部は、前記起動領域の情報と、前記プログラムを書き換えるべき領域の情報を参照して、受信する書換プログラムを定めることを特徴とする。
本発明によれば、更新プログラムの一時保管用メモリの使用量を低減できる。前述した以外の課題、構成及び効果は、以下の実施例の説明によって明らかにされる。
本発明の実施例1の情報処理装置の構成を示す図である。 本発明の実施例1の情報処理装置がプログラムを更新する処理のフローチャートである。 本発明の実施例1のプログラム更新対象フラグ情報のデータ構造の例を示す図である。 本発明の実施例1の起動領域情報のデータ構造の例を示す図である。 本発明の実施例1のパッケージ構造情報のデータ構造の例を示す図である。 本発明の実施例1の受信ルールのデータ構造の例を示す図である。 本発明の実施例1の検証期待値組合せ情報のデータ構造の例を示す図である。 本発明の実施例1の更新対象となる検証期待値組合せ情報による受信ルールのデータ構造の例を示す図である。 本発明の実施例2のプログラム更新システムの構成を示す図である。 本発明の実施例2のプログラム更新システムにおける更新処理シーケンス図である。
以下、本発明の実施例について、図面を参照しながら詳細に説明する。
<実施例1>
本発明の実施例として、車載ネットワークに接続された情報処理装置(例えば、車両を制御するElectric Control Unit)を対象としたプログラム更新方法の例を説明する。但し、本発明の技術的思想は、この例に限定されるものではない。例えば、車載制御装置(ECU)ではなく、起動中領域と待機中領域の2面構成を有し、プログラムを更新する情報処理装置であれば、車両制御装置以外にも本発明を適用可能である。
図1は、本発明の実施例1の情報処理装置1の構成を示す図である。情報処理装置1は、通信バス2を介して他の情報処理装置3に接続されている。但し、通信バス2は物理的には複数の通信バスで構成されてもよく、これらの通信バスの規格は同一でもよいし異なってもよい。これら通信バスの規格は、CAN(登録商標)、LIN(登録商標)、FlexRay(登録商標)、イーサネット(登録商標)などを用いることができる。以下、情報処理装置1について説明するが、情報処理装置3も同じ構成を有する。
情報処理装置1は、不図示のCPU、不図示のROM、及び不図示のRAMを有し、ROMに格納されたプログラムをCPUがRAMに展開して実行することによって以下の機能を実現する。すなわち、情報処理装置1は、その機能として、プログラム更新対象フラグ検証部12、起動領域特定部13、プログラム更新範囲特定部14、受信ルール更新部15、受信フィルタ部16、検証期待値検証部17、及びプログラム更新部18を有する。また、情報処理装置1は、不揮発性の記憶装置である記憶部19、及び通信インタフェースであり通信に必要な演算を行う通信部11を有する。
情報処理装置1は、物理的に複数の計算機装置に分かれて構成されており、各装置で使用する記憶部19の記憶領域が異なっている。なお、情報処理装置1は、論理的に複数の計算機装置に分かれて構成されており、各装置で使用する記憶部19の記憶領域が異なっているものでもよい。
通信部11は、通信バス2を介して他の情報処理装置3から送信されたメッセージを受信し、通信バス2を介して他の情報処理装置3にメッセージを送信する。前述のとおり通信バス2は物理的に複数の通信バスから構成されてもよい。情報処理装置1は、通信部11を用いてプログラム更新に必要な情報を送受信する。プログラム更新対象フラグ検証部12は、複数の情報処理装置3のうち、記憶部19に格納された、プログラムを更新すべき装置を示すプログラム更新対象フラグに基づいて、プログラムの更新対象となる装置を特定する。なお、プログラムの更新対象となる装置は、Microcopmuter、通信スイッチ、HSM(Hardware Security Module)等のプログラム更新可能なメモリを有する装置であればよい。
起動領域特定部13は、同種のプログラムを異なる領域に分けて管理可能な記憶領域において、起動時に実行されるプログラムが保持される記憶領域と実行されないプログラムが保持される記憶領域のうち、実行されるプログラムが保持される記憶領域を起動領域、実行されないプログラムが保持される記憶領域を待機領域として特定する。プログラム更新範囲特定部14は、更新用プログラムパッケージのうち、前記待機領域に関連するパッケージの範囲を特定する。受信ルール更新部15は、受信する範囲を定義する受信ルール193を、プログラム更新範囲特定部14が特定したパッケージの範囲を選択的に受信するルールに更新する。
受信フィルタ部16は、受信ルール193に従って該当する箇所の更新用プログラムパッケージを選択的に受信する。検証期待値検証部17は、受信した更新用プログラムパッケージに含まれる検証期待値を用いて、更新用プログラムパッケージの真偽を検証する。例えば、更新用プログラムパッケージの一部が欠落、或いは改ざんされた場合、更新用プログラムパッケージに含まれる検証期待値と、受信した更新用プログラムデータから算出された検証期待値とは異なる値になり、更新用プログラムパッケージの完全性が欠如していることが分かる。検証期待値検証部17による検証結果が正しいと判断された場合、プログラム更新部18は、検証された更新用プログラムで前記待機領域となる記憶領域を更新する。
記憶部19は、起動時に実行されるプログラムが保持される領域を示す起動領域情報191、プログラム更新時に情報処理装置が受信する更新用プログラムパッケージの構造を示す更新パッケージ構造情報192、更新用プログラムパッケージから受信フィルタ部16が受信するデータの範囲を定義する受信ルール193を記憶する。なお、一つの情報処理装置1が複数の計算機装置に分かれて構成されている場合には、各計算機装置に対応する記憶部19の記憶領域は異なるが、装置起動領域情報191、更新パッケージ構造情報192及び受信ルール193は、各計算機装置に対応する記憶領域に格納されていなくても、一つの記憶領域に記憶されてれおり、当該計算機装置がこれらの情報191~193をまとめて管理してもよい。
図2は、情報処理装置1がプログラムを更新する処理のフローチャートである。以下に説明する各ステップの実行主体は、情報処理装置1の不図示のCPUである。
ステップ201では、情報処理装置1は通信部11を用いてプログラム更新依頼を含む通信メッセージを受信する。
ステップ202では、情報処理装置1は通信部11を用いてプログラム更新対象フラグ情報を受信し、プログラム更新対象フラグ検証部12はプログラム更新対象フラグに基づいて、更新対象となる装置を特定する。
図3に、ステップ202においてプログラム更新対象フラグ検証部12が更新対象となる装置を特定するために参照するプログラム更新対象フラグ情報の例を示す。プログラム更新対象フラグ情報は、プログラムを更新すべき装置に対応する記憶領域301と、該当又は非該当を示す識別子302を含む。例えば、領域301の「領域1」の値が「1」なのでプログラムの更新対象領域に該当し、「領域2」の値が「0」なのでプログラムの更新対象領域に該当しない。
ステップ203では、起動領域特定部13は、起動領域情報191を用いて、各領域の起動領域及び待機領域を特定する。なお、ステップ203の処理はステップ201又はステップ202の前に実行してもよい。
図4に、ステップ203において記憶部19の各領域が起動領域であるかを起動領域特定部13が特定するために参照する起動領域情報191の例を示す。起動領域情報191は、プログラムを更新すべき装置に対応する記憶領域401と、起動領域と待機領域を示す識別子402を含む。例えば、各記憶領域の起動領域を「A面」、待機領域を「B面」と定義し、領域401の「領域1」の値が「A面」であれば、領域1の起動領域がA面であることを示し、「領域1」の値が「B面」であれば、領域1の起動領域がB面であることを示す。なお、図示した様に起動領域の情報を識別子402に登録しても、これとは異なり待機領域の情報を識別子402に登録しても、各領域が起動領域であるか待機領域であるかを示す情報を識別子502に登録してもよい。また、各領域が起動領域であることは、情報処理装置1が起動した際に登録されるとよいが、他のタイミングで各記憶領域の起動領域を登録してもよく、例えば、プログラム更新依頼の受信時に登録してもよい。
ステップ204では、プログラム更新範囲特定部14は、ステップ202で特定された更新対象領域とステップ203で特定された起動領域に基づいて、プログラム更新範囲を特定する。例えば、プログラム更新範囲特定部14は、ステップ202で、プログラム更新対象フラグ情報を参照して「領域1」と「領域3」がプログラム更新対象領域として特定され、起動領域情報191を参照してプログラム更新対象領域における領域1の待機領域を「B面」、領域3の待機領域を「B面」と特定し、「領域1/B面」、「領域3/B面」をプログラム更新範囲として特定する。
ステップ205では、受信ルール更新部15は、前記ステップ204で特定したプログラム更新範囲に基づいて、更新用プログラムパッケージにおける「領域1/B面」、「領域3/B面」に該当するデータを選択的に受信するように受信ルール193を更新する。
図6に、ステップ205において、受信ルール更新部15が更新する受信ルール193の例を示す。受信ルール193は、更新用プログラムパッケージにおける受信対象領域及び検証期待値を示す識別子である受信対象領域601と、受信するか否かを示す識別子602を含む。例えば、受信対象領域601の「領域1/A面」の値が「1」であれば、当該記憶領域「領域1/A面」を受信対象とし、「領域1/A面」の値が「0」であれば、当該記憶領域「領域1/A面」を受信対象外とする。
ステップ206では、受信フィルタ部16は、ステップ205で更新された受信ルール193に該当するデータを受信する。受信データは、通信部11の受信バッファに一旦格納された後、揮発性のRAM又は不揮発メモリに設けられる一時保管メモリに格納され、記憶部19に設けられるプログラム格納領域に格納される。本実施例において、該当データを選択的に受信する方法は、不要な受信データを受信バッファ又は一時メモリのいずれかに格納しない又は破棄することで実現できる。具体的には、該当箇所以外を受信せず、受信バッファに格納しなくてもよく、受信バッファにおいて該当箇所以外のデータを該当箇所のデータで上書きしてもよく、該当箇所かを問わずに受信データを受信バッファに格納して該当箇所を選択的にRAMに設けられる一時保管メモリに格納してもよく、該当箇所かを問わずに受信データを受信バッファに格納して該当箇所を選択的に不揮発メモリに設けられる一時保管メモリに格納してもよく、最終的に該当箇所が選択的に格納されていれば、いかなる方法でもよい。
ステップ207では、検証期待値検証部17は、ステップ206で受信ルール193に基づいて受信した更新用プログラムデータと、当該更新用プログラムデータを対象とした検証期待値を用いて、更新用プログラムデータが正しいデータであるかを検証する。更新用プログラムデータを用いた演算処理結果と検証期待値が一致する場合は(ステップ208でyes)、ステップ209に進み、演算処理結果と検証期待値が一致しない場合は(ステップ208でno)、ステップ210に進む。ここで、ステップ207の検証期待値検証処理で使用される検証期待値は、共通鍵を用いたMAC(Message Authentication Code)による検証処理でもよく、公開鍵を用いたRSA、ECDSA等でもよく、ハッシュやチェックサムでもよい。
ステップ209では、プログラム更新部18は、所定の手順に基づいて該当記憶領域のプログラムを、受信した更新用プログラムデータで更新する。
ステップ210では、情報処理装置1は、ステップ208で検証期待値の検証失敗となった場合の所定の手順に従ってエラー処理を実行し、本処理を終了する。
以上のステップによって、車載ネットワークに接続された情報処理装置1のプログラムを更新できる。
本実施例では、更新パッケージ構造情報192における検証期待値を、対象領域ごとに有する例を説明した。その他の方法として、更新パッケージ構造情報192における検証期待値として、対象領域の組み合わせごとに生成した検証期待値を有する例を図7に示す。図5に図示する更新パッケージ構造情報192は、対象領域501において、対象領域の組み合わせ数に合わせた検証期待値と、そのデータサイズ502を含む。図示した更新パッケージ構造情報192が示す更新用プログラムパッケージは、記憶領域(領域1のA面から領域nのB面)に格納される更新用プログラムデータと、各更新用プログラムデータの全ての組み合わせの検証期待値を含む。更新用プログラムパッケージは、各更新用プログラムデータの最新性情報(例えば、タイムスタンプ、カウンタ値など)を含んでもよい。
例えば、ステップ205では、受信ルール更新部15は、前記ステップ204で特定されたプログラム更新範囲に基づいて、図8に示す通り、更新用プログラムパッケージにおける「領域1/B面」の検証期待値と、「領域3/B面」の検証期待値に加えて、「領域1/B面」と「領域3/B面」の両方を合わせた検証期待値である「検証期待値(領域1/B面&領域3/B面)」を選択的に受信するルールに、受信ルール193を更新する。
これにより、受信する検証期待値のデータ量を低減し、検証期待値検証処理の回数を低減できる。
以上に説明したように、実施例1によれば、プログラムの更新依頼を受信した場合に、起動中の記憶領域と待機中の記憶領域の情報に基づいて、全領域のプログラムデータを含む更新用プログラムパッケージから、待機中の記憶領域に該当する更新用プログラムに限定して受信できる。また、情報処理装置1はプログラムを更新する領域を自ら判断できる。これにより、情報処理装置1の更新対象領域となる記憶領域を更新用プログラムで更新する際に、情報処理装置1が使用する一時保管用メモリ量を低減し、プログラムの更新作業者の運用負荷の低減が期待できる。
<実施例2>
実施例2では、車載ネットワークに接続された情報処理装置1が、車載ネットワークに接続された他の制御装置4のプログラムを更新するプログラム更新システムの例を示す。以下では、実施例1との差異を中心に実施例2について説明し、実施例1と同じ機能及び構成には同じ符号を付し、それらの説明は省略する。
図9は、実施例2のプログラム更新システムの構成を示す図である。実施例2のプログラム更新システムでは、情報処理装置1は、通信バス2を介して制御装置4、車外通信装置5、及び診断装置6に接続されている。但し、通信バス2は物理的には複数の通信バスで構成されてもよく、これらの通信バスの規格は同一でもよいし異なってもよい。これら通信バスの規格は、CAN(登録商標)、LIN(登録商標)、FlexRay(登録商標)、イーサネット(登録商標)などを用いることができる。また、制御装置4は、車の走行を制御する機能を有する車両制御装置(ECU)、又は走行以外のアクチュエータを制御する機能を有する車両制御装置(ECU)である。また、車外通信装置5は、3G/LTEやWi-Fi通信等の無線通信を介して車外の装置との通信を制御する装置である。また、診断装置6は、車載システムと有線を介して接続され、情報処理装置1及び制御装置4の状態を確認する診断機能やプログラム更新機能を有する装置である。
情報処理装置1は、実施例1の図1で示した情報処理装置1の構成要素のうち、通信部11、プログラム更新対象フラグ検証部12、プログラム更新範囲特定部14、受信ルール更新部15、及び受信フィルタ部16を有する。情報処理装置1は、不図示のCPU、不図示のROM、及び不図示のRAMを有し、ROMに格納されたプログラムをCPUがRAMに展開して実行することによって上記機能を実現する。また、情報処理装置1は、実施例1の図1で示した情報処理装置1の記憶部19のうち、更新パッケージ構造情報192、及び受信ルール193が記憶部19に記憶される。制御装置4は、実施例1の図1で示した情報処理装置1の構成要素のうち、通信部11、起動領域特定部13、検証期待値検証部17、及びプログラム更新部18を有する。制御装置4は、不図示のCPU、不図示のROM、及び不図示のRAMを有し、ROMに格納されたプログラムをCPUがRAMに展開して実行することによって上記機能を実現する。また、制御装置4は、実施例1の図1で示した情報処理装置1の記憶部19のうち、起動領域情報191が記憶部19に記憶される。
図10は、プログラム更新システムにおいて、情報処理装置1が制御装置4のプログラムを更新する処理のシーケンス図である。なお、図10において、実施例1の図2に記載した処理と同じ処理には、同じ符号を付し、重複した説明は省略する。
ステップ203は、実施例1と同じく、起動領域特定部13は、起動領域情報191を用いて、各領域の起動領域及び待機領域を特定する。なお、ステップ203の処理は、制御装置4の起動時などの任意のタイミングや、情報処理装置1からの要求に応じて実行してもよい。
ステップ101では、起動領域特定部13は、ステップ203で特定された制御装置4の起動領域を通信部11を介して情報処理装置1に通知する。
ステップ201では、情報処理装置1の通信部11はプログラム更新依頼を受信する。プログラム更新依頼は、車外通信装置5から受信する場合と、診断装置6による診断結果によってプログラムの更新が必要と判定され、診断装置6から受信する場合がある。
ステップ202からステップ206までは、実施例1と同一の処理である。
ステップ102では、情報処理装置1は、ステップ206で通信部11を介して受信した該当データを制御装置4に送信する。なお、ステップ102の処理は、情報処理装置1が任意のタイミングで送信してもよく、制御装置4が特定の状態(例えば、プログラムの更新が可能な状態)になったことを確認した後に送信してもよく、制御装置4又は他の装置からの所定の通信を受信したときに送信してもよい。
ステップ207からステップ210までは、実施例1と同一の処理である。なお、ステップ207の検証期待値検証処理は、情報処理装置1で実行してもよい。
以上のステップによって、車載ネットワークに接続された情報処理装置1が制御装置4のプログラムを更新できる。
以上に説明したように、実施例2によれば、制御装置4は所定のタイミングで起動領域を確認し、情報処理装置1は前記制御装置4から起動領域情報191を受信し、プログラムの更新依頼を受信した場合に、起動中の記憶領域と待機中の記憶領域の情報に基づいて、全領域のプログラムデータを含む更新用プログラムパッケージから、待機中の記憶領域に該当する更新用プログラムを選択的に受信できる。これにより、制御装置4の更新対象領域となる記憶領域を更新用プログラムで更新する際に、情報処理装置1が使用する一時保管用メモリ量を低減し、プログラムの更新作業者の運用負荷の低減が期待できる。
以上に説明したように、本発明の実施例1の情報処理装置1は、書換え可能なプログラムを格納する複数の記憶領域を含む記憶部19と、記憶部19に格納されたプログラムを実行する演算部(CPU)とを備え、演算部がプログラムを実行中の起動領域を複数の記憶領域から特定する起動領域特定部13と、特定された起動領域の情報に基づいて、プログラムが書き換え可能な書換対象領域を特定する受信ルール更新部15と、書換対象領域に格納される書換プログラムを選択的に受信する受信選択部(受信フィルタ部16)とを有するので、プログラム更新対象である情報処理装置1が全ての更新プログラムを含む更新用プログラムパッケージから自律的に必要な更新用プログラムを取得して、一時保管用メモリの使用量を低減でき、プログラムの更新時の運用負荷を低減できる。また、更新用プログラムパッケージを送信するサーバ側では、情報処理装置1の個々の状態を把握する必要がなく(例えば、起動面確認処理を実行しなくてよい)、全ての更新用プログラムを一括して送信すればよく、サーバ側の処理の複雑さや負荷を軽減できる。さらに、従来のリプロベースの診断機を改修しなくてもよい。
また、受信した書換プログラムを前記書換対象領域に格納するプログラム更新部18を有するので、一時保管用メモリの使用量を低減しつつ、プログラムを更新できる。
また、書換プログラムは、記憶部19の各領域に格納されるプログラムデータと、プログラムデータの検証期待値を含む更新用プログラムパッケージとして配信され、情報処理装置1は、更新用プログラムパッケージに含まれる検証期待値を用いてプログラムデータを検証する検証期待値検証部17を有するので、通信経路上で生じるデータの改変を検出でき、不正なプログラムに対する耐性を向上できる。
また、更新用プログラムパッケージは、当該更新用プログラムパッケージに含まれるプログラムデータの複数の組み合わせに対応する複数の検証期待値を含み、検証期待値検証部17は、起動領域の情報と、前記プログラムを書き換えるべき領域の情報を参照して、前記パッケージに含まれる複数の検証期待値から、受信した書換プログラムの検証期待値を特定するので、情報処理装置1の側の状態によって必要な検証期待値を提供できる。
また、受信ルール更新部15は、起動領域の情報と、プログラムを書き換えるべき領域の情報を参照して、受信する書換プログラムを定めるので、更新すべきプログラムを正確に決定できる。
また、本発明の実施例2のプログラム更新システムは、プログラムを実行する制御装置4と、制御装置4のプログラムの書き換えを制御する情報処理装置1とを備え、制御装置4は、書換え可能なプログラムを格納する複数の記憶領域を含む記憶部19と、記憶部19に格納されたプログラムを実行する演算部(CPU)とを有し、情報処理装置1は、制御装置4において演算部(CPU)がプログラムを実行中の起動領域の情報に基づいて、プログラムが書き換え可能な書換対象領域を特定する受信ルール更新部15と、書換対象領域に格納される書換プログラムを選択的に受信する受信選択部(受信フィルタ部16)とを有するので、情報処理装置1が全ての更新プログラムを含む更新用プログラムパッケージから制御装置4に必要な更新用プログラムを取得して、一時保管用メモリの使用量を低減でき、プログラムの更新時の運用負荷を低減できる。
なお、本発明は前述した実施例に限定されるものではなく、添付した特許請求の範囲の趣旨内における様々な変形例及び同等の構成が含まれる。例えば、前述した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに本発明は限定されない。また、ある実施例の構成の一部を他の実施例の構成に置き換えてもよい。また、ある実施例の構成に他の実施例の構成を加えてもよい。また、各実施例の構成の一部について、他の構成の追加・削除・置換をしてもよい。
また、前述した各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等により、ハードウェアで実現してもよく、プロセッサがそれぞれの機能を実現するプログラムを解釈し実行することにより、ソフトウェアで実現してもよい。
各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、SSD(Solid State Drive)等の記憶装置、又は、ICカード、SDカード、DVD、BD等の記録媒体に格納することができる。
また、制御線や情報線は説明上必要と考えられるものを示しており、実装上必要な全ての制御線や情報線を示しているとは限らない。実際には、ほとんど全ての構成が相互に接続されていると考えてよい。
1、3 情報処理装置
2 通信バス
11 通信部
12 プログラム更新対象フラグ検証部
13 起動領域特定部
14 プログラム更新範囲特定部
15 受信ルール更新部
16 受信フィルタ部
17 検証期待値検証部
18 プログラム更新部
19 記憶部

Claims (6)

  1. プログラムを実行する情報処理装置であって、
    書換え可能なプログラムを格納する複数の領域を含む記憶部と、
    前記記憶部に格納されたプログラムを実行する演算部とを備え、
    前記演算部がプログラムを実行中の起動領域を前記複数の領域から特定する起動領域特定部と、
    前記特定された起動領域の情報に基づいて、プログラムが書き換え可能な書換対象領域を特定するルール更新部と、
    前記書換対象領域に格納される書換プログラムを選択的に受信する受信選択部とを有し、
    前記ルール更新部は、前記起動領域の情報と、前記プログラムを書き換えるべき領域の情報を参照して、受信する書換プログラムを定めることを特徴とする情報処理装置。
  2. 請求項1に記載の情報処理装置であって、
    受信したデータを受信バッファに一時的に格納する通信部を有し、
    前記通信部は、当該書換プログラム以外のデータを前記受信バッファに格納しない、前記受信バッファに格納された当該書換プログラム以外のデータを後続のデータで上書きする、又は前記受信バッファに格納された当該書換プログラム以外のデータを前記受信選択部へ転送しない、のいずれかによって、前記受信選択部が前記書換プログラムを選択的に受信することを特徴とする情報処理装置。
  3. 請求項1に記載の情報処理装置であって、
    前記受信した書換プログラムを前記書換対象領域に格納する更新部を有することを特徴とする情報処理装置。
  4. プログラムを実行する情報処理装置であって、
    書換え可能なプログラムを格納する複数の領域を含む記憶部と、
    前記記憶部に格納されたプログラムを実行する演算部とを備え、
    前記演算部がプログラムを実行中の起動領域を前記複数の領域から特定する起動領域特定部と、
    前記特定された起動領域の情報に基づいて、プログラムが書き換え可能な書換対象領域を特定するルール更新部と、
    前記書換対象領域に格納される書換プログラムを選択的に受信する受信選択部と、
    検証期待値を用いてプログラムデータを検証する検証部を有し、
    前記書換プログラムは、前記記憶部の各領域に格納されるプログラムデータと、前記プログラムデータの複数の組み合わせに対応する複数の検証期待値を含むパッケージとして配信され、
    前記検証部は、前記起動領域の情報と、前記プログラムを書き換えるべき領域の情報を参照して、前記パッケージに含まれる複数の検証期待値から、前記受信した書換プログラムの検証期待値を特定することを特徴とする情報処理装置。
  5. プログラムを実行する制御装置と、
    前記制御装置のプログラムの書き換えを制御する情報処理装置とを備えるプログラム更新システムであって、
    前記制御装置は、書換え可能なプログラムを格納する複数の領域を含む記憶部と、前記記憶部に格納されたプログラムを実行する演算部とを有し、
    前記情報処理装置は、
    前記制御装置において前記演算部がプログラムを実行中の起動領域の情報に基づいて、プログラムが書き換え可能な書換対象領域を特定するルール更新部と、
    前記書換対象領域に格納される書換プログラムを選択的に受信する受信選択部とを有することを特徴とするプログラム更新システム。
  6. プログラムを実行する情報処理装置のプログラムを更新するプログラム更新方法であって、
    前記情報処理装置は、書換え可能なプログラムを格納する複数の領域を含む記憶部と、前記記憶部に格納されたプログラムを実行する演算部とを有し、
    前記プログラム更新方法は、
    前記情報処理装置が、前記演算部がプログラムを実行中の起動領域を前記複数の領域から特定する起動領域特定手順と、
    前記情報処理装置が、前記特定された起動領域の情報に基づいて、プログラムが書き換え可能な書換対象領域を特定するルール更新手順と、
    前記情報処理装置が、前記書換対象領域に格納される書換プログラムを選択的に受信する受信選択手順とを含み、
    前記ルール更新手順では、前記起動領域の情報と、前記プログラムを書き換えるべき領域の情報を参照して、受信する書換プログラムを定めることを特徴とするプログラム更新方法。
JP2020028467A 2020-02-21 2020-02-21 情報処理装置、プログラム更新システム、及びプログラム更新方法 Active JP7461755B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2020028467A JP7461755B2 (ja) 2020-02-21 2020-02-21 情報処理装置、プログラム更新システム、及びプログラム更新方法
PCT/JP2021/003367 WO2021166603A1 (ja) 2020-02-21 2021-01-29 情報処理装置、プログラム更新システム、及びプログラム更新方法
CN202180014026.XA CN115244505A (zh) 2020-02-21 2021-01-29 信息处理装置、程序更新系统以及程序更新方法
US17/800,690 US20230070879A1 (en) 2020-02-21 2021-01-29 Information Processing Device, Program Update System, and Program Update Method
EP21756677.7A EP4109238A4 (en) 2020-02-21 2021-01-29 INFORMATION PROCESSING APPARATUS, PROGRAM UPDATE SYSTEM AND PROGRAM UPDATE METHOD

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020028467A JP7461755B2 (ja) 2020-02-21 2020-02-21 情報処理装置、プログラム更新システム、及びプログラム更新方法

Publications (2)

Publication Number Publication Date
JP2021135514A JP2021135514A (ja) 2021-09-13
JP7461755B2 true JP7461755B2 (ja) 2024-04-04

Family

ID=77390889

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020028467A Active JP7461755B2 (ja) 2020-02-21 2020-02-21 情報処理装置、プログラム更新システム、及びプログラム更新方法

Country Status (5)

Country Link
US (1) US20230070879A1 (ja)
EP (1) EP4109238A4 (ja)
JP (1) JP7461755B2 (ja)
CN (1) CN115244505A (ja)
WO (1) WO2021166603A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001043087A (ja) 1999-08-02 2001-02-16 Nippon Telegr & Teleph Corp <Ntt> 無線通信端末のソフトウェア変更方法及び無線通信端末
JP2004355310A (ja) 2003-05-29 2004-12-16 Konica Minolta Business Technologies Inc 画像処理装置
JP2005001218A (ja) 2003-06-11 2005-01-06 Fuji Xerox Co Ltd プリンタ装置およびその制御方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3648747B2 (ja) * 1992-01-21 2005-05-18 株式会社デンソー 自動車用制御装置
JPH1063497A (ja) 1996-08-16 1998-03-06 Fuji Electric Co Ltd プログラム更新方法
CN1275150C (zh) * 2001-07-26 2006-09-13 基奥赛拉无线公司 在无线通信设备中现场升级系统软件的设备及方法
EP3575954B1 (en) * 2017-01-25 2023-08-02 Hitachi Astemo, Ltd. Vehicle control device and program updating system
US10936236B2 (en) * 2017-04-12 2021-03-02 Yazaki Corporation Rewriting system, rewriting device and computer
JP2019096200A (ja) * 2017-11-27 2019-06-20 株式会社デンソーテン 書き換え確認装置、書き換え確認方法及び書き換え確認コンピュータプログラム
JP7013918B2 (ja) * 2018-02-16 2022-02-01 トヨタ自動車株式会社 車両制御装置、プログラム更新方法およびプログラム
WO2020032120A1 (ja) * 2018-08-10 2020-02-13 株式会社デンソー 電子制御装置、リトライポイントの特定方法及びリトライポイントの特定プログラム
JP7193271B2 (ja) 2018-08-23 2022-12-20 周 中村 脊椎経皮的内視鏡下手術用の屈曲鉗子
US11281454B2 (en) * 2020-01-31 2022-03-22 Dell Products L.P. Microcode update system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001043087A (ja) 1999-08-02 2001-02-16 Nippon Telegr & Teleph Corp <Ntt> 無線通信端末のソフトウェア変更方法及び無線通信端末
JP2004355310A (ja) 2003-05-29 2004-12-16 Konica Minolta Business Technologies Inc 画像処理装置
JP2005001218A (ja) 2003-06-11 2005-01-06 Fuji Xerox Co Ltd プリンタ装置およびその制御方法

Also Published As

Publication number Publication date
US20230070879A1 (en) 2023-03-09
JP2021135514A (ja) 2021-09-13
EP4109238A1 (en) 2022-12-28
EP4109238A4 (en) 2024-02-14
CN115244505A (zh) 2022-10-25
WO2021166603A1 (ja) 2021-08-26

Similar Documents

Publication Publication Date Title
JP6675271B2 (ja) ゲートウェイ装置、車載ネットワークシステム及びファームウェア更新方法
JP7280412B2 (ja) ゲートウェイ装置、車載ネットワークシステム及びファームウェア更新方法
JP4980064B2 (ja) 携帯端末内に格納されたデータを第1のデータバージョンから更新データバージョンに差分的に更新する方法、携帯端末及びコンピュータプログラム
JP6585019B2 (ja) ネットワーク監視装置、ネットワークシステムおよびプログラム
US9205809B2 (en) Vehicle unit and method for operating the vehicle unit
JP2001331327A (ja) 電子機器
CN109375953B (zh) 一种操作系统启动方法及装置
JP7461755B2 (ja) 情報処理装置、プログラム更新システム、及びプログラム更新方法
EP3734445A1 (en) Secure and reliable remote update of a control device in an elevator
US20220391194A1 (en) Ota master, system, method, non-transitory storage medium, and vehicle
CN113935011A (zh) 用于执行控制设备的安全启动序列的方法
JP6935694B2 (ja) 電子制御装置
JP7477990B2 (ja) 情報処理装置、及びプログラム起動方法
WO2020090418A1 (ja) 電子制御装置、電子制御装置のリプログラミング方法
CN111079194A (zh) 计算装置和用于该计算装置的运行方法
CN112905218B (zh) 一种固件升级方法、装置及设备
US20220391193A1 (en) Ota master, system, method, non-transitory storage medium, and vehicle
JP7341376B2 (ja) 情報処理装置、情報処理方法、及び、情報処理プログラム
WO2023243212A1 (ja) 情報処理装置
US20230185564A1 (en) Control device and management method
WO2023042426A1 (ja) 車載装置及びプログラム更新システム
US20220405087A1 (en) Vehicle control device and vehicle control system
CN117944592A (zh) 通过车辆的控制设备执行应用程序的方法和控制设备
CN113935012A (zh) 用于执行控制设备的安全启动序列的方法
JP2022051127A (ja) 情報処理装置および更新処理方法

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20220602

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20220603

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230220

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231212

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240209

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240227

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240325

R150 Certificate of patent or registration of utility model

Ref document number: 7461755

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150