(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024071504
(43)【公開日】2024-05-24
(54)【発明の名称】情報処理装置
(51)【国際特許分類】
G06F 8/656 20180101AFI20240517BHJP
G06F 8/654 20180101ALI20240517BHJP
B60R 16/02 20060101ALI20240517BHJP
【FI】
G06F8/656
G06F8/654
B60R16/02 660U
【審査請求】有
【請求項の数】3
【出願形態】OL
(21)【出願番号】P 2024047480
(22)【出願日】2024-03-25
(62)【分割の表示】P 2020028467の分割
【原出願日】2020-02-21
(71)【出願人】
【識別番号】509186579
【氏名又は名称】日立Astemo株式会社
(74)【代理人】
【識別番号】110001678
【氏名又は名称】藤央弁理士法人
(72)【発明者】
【氏名】森田 伸義
(72)【発明者】
【氏名】矢野 正
(72)【発明者】
【氏名】片岡 幹雄
(72)【発明者】
【氏名】金子 周平
(72)【発明者】
【氏名】野村 晃啓
(57)【要約】
【課題】プログラム更新時の運用負荷を低減する。
【解決手段】プログラムを実行する情報処理装置であって、書換え可能なプログラムを格納する複数の領域を含む記憶部と、前記記憶部に格納されたプログラムを実行する演算部とを備え、前記演算部がプログラムを実行中の起動領域を前記複数の領域から特定する起動領域特定部と、前記特定された起動領域の情報に基づいて、プログラムが書き換え可能な書換対象領域を特定するルール更新部と、前記書換対象領域に格納される書換プログラムを選択的に受信する受信選択部とを有する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
プログラムを実行する情報処理装置であって、
書換え可能なプログラムを格納する複数の領域を含む記憶部と、
前記記憶部に格納されたプログラムを実行する演算部とを備え、
前記演算部がプログラムを実行中の起動領域を前記複数の領域から特定する起動領域特定部と、
前記特定された起動領域の情報に基づいて、プログラムが書き換え可能な書換対象領域を特定するルール更新部と、
前記書換対象領域に格納される書換プログラムを選択的に受信する受信選択部とを有することを特徴とする情報処理装置。
【請求項2】
請求項1に記載の情報処理装置であって、
受信したデータを受信バッファに一時的に格納する通信部を有し、
前記通信部は、当該書換プログラム以外のデータを前記受信バッファに格納しない、前記受信バッファに格納された当該書換プログラム以外のデータを後続のデータで上書きする、又は前記受信バッファに格納された当該書換プログラム以外のデータを前記受信選択部へ転送しない、のいずれかによって、前記受信選択部が前記書換プログラムを選択的に受信することを特徴とする情報処理装置。
【請求項3】
請求項1に記載の情報処理装置であって、
前記受信した書換プログラムを前記書換対象領域に格納する更新部を有することを特徴とする情報処理装置。
【請求項4】
請求項1に記載の情報処理装置であって、
前記書換プログラムは、前記記憶部の各領域に格納されるプログラムデータと、当該プログラムデータの検証期待値を含むパッケージとして配信され、
前記情報処理装置は、前記パッケージに含まれる検証期待値を用いて前記プログラムデータを検証する検証部を有することを特徴とする情報処理装置。
【請求項5】
請求項4に記載の情報処理装置であって、
前記パッケージは、当該パッケージに含まれるプログラムデータの複数の組み合わせに対応する複数の検証期待値を含み、
前記検証部は、前記起動領域の情報と、前記プログラムを書き換えるべき領域の情報を参照して、前記パッケージに含まれる複数の検証期待値から、前記受信した書換プログラムの検証期待値を特定することを特徴とする情報処理装置。
【請求項6】
請求項1に記載の情報処理装置であって、
前記ルール更新部は、前記起動領域の情報と、前記プログラムを書き換えるべき領域の情報を参照して、受信する書換プログラムを定めることを特徴とする情報処理装置。
【請求項7】
プログラムを実行する制御装置と、
前記制御装置のプログラムの書き換えを制御する情報処理装置とを備えるプログラム更新システムであって、
前記制御装置は、書換え可能なプログラムを格納する複数の領域を含む記憶部と、前記記憶部に格納されたプログラムを実行する演算部とを有し、
前記情報処理装置は、
前記制御装置において前記演算部がプログラムを実行中の起動領域の情報に基づいて、プログラムが書き換え可能な書換対象領域を特定するルール更新部と、
前記書換対象領域に格納される書換プログラムを選択的に受信する受信選択部とを有することを特徴とするプログラム更新システム。
【請求項8】
プログラムを実行する情報処理装置のプログラムを更新するプログラム更新方法であって、
前記情報処理装置は、書換え可能なプログラムを格納する複数の領域を含む記憶部と、前記記憶部に格納されたプログラムを実行する演算部とを有し、
前記プログラム更新方法は、
前記情報処理装置が、前記演算部がプログラムを実行中の起動領域を前記複数の領域から特定する起動領域特定手順と、
前記情報処理装置が、前記特定された起動領域の情報に基づいて、プログラムが書き換え可能な書換対象領域を特定するルール更新手順と、
前記情報処理装置が、前記書換対象領域に格納される書換プログラムを選択的に受信する受信選択手順とを含むことを特徴とするプログラム更新方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置や制御装置に関し、特に、プログラム更新方法に関する。
【背景技術】
【0002】
プログラム更新の失敗時におけるリカバリー対策として、同じ種類のプログラムを保持可能な二つの記憶領域(起動領域、待機領域)を備える装置を対象に、一方の記憶領域(待機領域)のプログラムのみを更新するプログラム更新技術が検討されている。このようなプログラム更新技術では、万一プログラムの更新に失敗した場合、更新対象ではない起動領域で起動する。特に、可能な限り最新のバージョンで復旧させるために、プログラムの更新対象となる待機領域は、直近に起動している領域ではなく、待機している領域とすることが好ましい。例えば、特許文献1(特開平10-63497号公報)には、実行中のプログラムを更新するとき、当該プログラムが格納されたメモリ領域とは異なるメモリ領域に更新後の前記プログラムを格納し、前記プログラムを次に実行するときには、複数の前記メモリ領域に格納された前記プログラムのうちの最新のプログラムを選択し、これを実行するようにしたことを特徴とするプログラム更新方法が記載されている。
【0003】
特許文献1に記載された技術によれば、実行中のプログラムが格納されたメモリ領域とは異なるメモリ領域を更新対象として特定することは可能である。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
2つのメモリ領域を持つ装置では、メモリ領域ごとにアドレス値が異なる等の影響によって更新用プログラムが完全には一致しない場合がある。このような場合、特許文献1の技術では、プログラムの更新作業者は、更新対象領域を事前に確認できないため、プログラム更新時に更新対象領域を確認し、当該更新対象領域に適した更新プログラムを選定する処理が必要になってしまう。
【0006】
本発明は、以上の問題に鑑みなされたものであり、制御プログラムの実行中にも、待機中の領域のプログラム更新可能な装置において、プログラム更新時に必要となる一時的なメモリ領域の使用量を削減しつつ、プログラムの更新作業者の運用負荷を低減することを目的とする。
【課題を解決するための手段】
【0007】
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、プログラムを実行する情報処理装置であって、書換え可能なプログラムを格納する複数の領域を含む記憶部と、前記記憶部に格納されたプログラムを実行する演算部とを備え、前記演算部がプログラムを実行中の起動領域を前記複数の領域から特定する起動領域特定部と、前記特定された起動領域の情報に基づいて、プログラムが書き換え可能な書換対象領域を特定するルール更新部と、前記書換対象領域に格納される書換プログラムを選択的に受信する受信選択部とを有することを特徴とする。
【発明の効果】
【0008】
本発明によれば、更新プログラムの一時保管用メモリの使用量を低減できる。前述した以外の課題、構成及び効果は、以下の実施例の説明によって明らかにされる。
【図面の簡単な説明】
【0009】
【
図1】本発明の実施例1の情報処理装置の構成を示す図である。
【
図2】本発明の実施例1の情報処理装置がプログラムを更新する処理のフローチャートである。
【
図3】本発明の実施例1のプログラム更新対象フラグ情報のデータ構造の例を示す図である。
【
図4】本発明の実施例1の起動領域情報のデータ構造の例を示す図である。
【
図5】本発明の実施例1のパッケージ構造情報のデータ構造の例を示す図である。
【
図6】本発明の実施例1の受信ルールのデータ構造の例を示す図である。
【
図7】本発明の実施例1の検証期待値組合せ情報のデータ構造の例を示す図である。
【
図8】本発明の実施例1の更新対象となる検証期待値組合せ情報による受信ルールのデータ構造の例を示す図である。
【
図9】本発明の実施例2のプログラム更新システムの構成を示す図である。
【
図10】本発明の実施例2のプログラム更新システムにおける更新処理シーケンス図である。
【発明を実施するための形態】
【0010】
以下、本発明の実施例について、図面を参照しながら詳細に説明する。
【0011】
<実施例1>
本発明の実施例として、車載ネットワークに接続された情報処理装置(例えば、車両を制御するElectric Control Unit)を対象としたプログラム更新方法の例を説明する。但し、本発明の技術的思想は、この例に限定されるものではない。例えば、車載制御装置(ECU)ではなく、起動領域と待機領域の2面構成を有し、プログラムを更新する情報処理装置であれば、車両制御装置以外にも本発明を適用可能である。
【0012】
図1は、本発明の実施例1の情報処理装置1の構成を示す図である。情報処理装置1は、通信バス2を介して他の情報処理装置3に接続されている。但し、通信バス2は物理的には複数の通信バスで構成されてもよく、これらの通信バスの規格は同一でもよいし異なってもよい。これら通信バスの規格は、CAN(登録商標)、LIN(登録商標)、FlexRay(登録商標)、イーサネット(登録商標)などを用いることができる。以下、情報処理装置1について説明するが、情報処理装置3も同じ構成を有する。
【0013】
情報処理装置1は、不図示のCPU、不図示のROM、及び不図示のRAMを有し、ROMに格納されたプログラムをCPUがRAMに展開して実行することによって以下の機能を実現する。すなわち、情報処理装置1は、その機能として、プログラム更新対象フラグ検証部12、起動領域特定部13、プログラム更新範囲特定部14、受信ルール更新部15、受信フィルタ部16、検証期待値検証部17、及びプログラム更新部18を有する。また、情報処理装置1は、不揮発性の記憶装置である記憶部19、及び通信インタフェースであり通信に必要な演算を行う通信部11を有する。
【0014】
情報処理装置1は、物理的に複数の計算機装置に分かれて構成されており、各装置で使用する記憶部19の記憶領域が異なっている。なお、情報処理装置1は、論理的に複数の計算機装置に分かれて構成されており、各装置で使用する記憶部19の記憶領域が異なっているものでもよい。
【0015】
通信部11は、通信バス2を介して他の情報処理装置3から送信されたメッセージを受信し、通信バス2を介して他の情報処理装置3にメッセージを送信する。前述のとおり通信バス2は物理的に複数の通信バスから構成されてもよい。情報処理装置1は、通信部11を用いてプログラム更新に必要な情報を送受信する。プログラム更新対象フラグ検証部12は、複数の情報処理装置3のうち、記憶部19に格納された、プログラムを更新すべき装置を示すプログラム更新対象フラグに基づいて、プログラムの更新対象となる装置を特定する。なお、プログラムの更新対象となる装置は、Microcopmuter、通信スイッチ、HSM(Hardware Security Module)等のプログラム更新可能なメモリを有する装置であればよい。
【0016】
起動領域特定部13は、同種のプログラムを異なる領域に分けて管理可能な記憶領域において、起動時に実行されるプログラムが保持される記憶領域と実行されないプログラムが保持される記憶領域のうち、実行されるプログラムが保持される記憶領域を起動領域、実行されないプログラムが保持される記憶領域を待機領域として特定する。プログラム更新範囲特定部14は、更新用プログラムパッケージのうち、前記待機領域に関連するパッケージの範囲を特定する。受信ルール更新部15は、受信する範囲を定義する受信ルール193を、プログラム更新範囲特定部14が特定したパッケージの範囲を選択的に受信するルールに更新する。
【0017】
受信フィルタ部16は、受信ルール193に従って該当する箇所の更新用プログラムパッケージを選択的に受信する。検証期待値検証部17は、受信した更新用プログラムパッケージに含まれる検証期待値を用いて、更新用プログラムパッケージの真偽を検証する。例えば、更新用プログラムパッケージの一部が欠落、或いは改ざんされた場合、更新用プログラムパッケージに含まれる検証期待値と、受信した更新用プログラムデータから算出された検証期待値とは異なる値になり、更新用プログラムパッケージの完全性が欠如していることが分かる。検証期待値検証部17による検証結果が正しいと判断された場合、プログラム更新部18は、検証された更新用プログラムで前記待機領域となる記憶領域を更新する。
【0018】
記憶部19は、起動時に実行されるプログラムが保持される領域を示す起動領域情報191、プログラム更新時に情報処理装置が受信する更新用プログラムパッケージの構造を示す更新パッケージ構造情報192、更新用プログラムパッケージから受信フィルタ部16が受信するデータの範囲を定義する受信ルール193を記憶する。なお、一つの情報処理装置1が複数の計算機装置に分かれて構成されている場合には、各計算機装置に対応する記憶部19の記憶領域は異なるが、起動領域情報191、更新パッケージ構造情報192及び受信ルール193は、各計算機装置に対応する記憶領域に格納されていなくても、一つの記憶領域に記憶されてれおり、当該計算機装置がこれらの情報191~193をまとめて管理してもよい。
【0019】
図2は、情報処理装置1がプログラムを更新する処理のフローチャートである。以下に説明する各ステップの実行主体は、情報処理装置1の不図示のCPUである。
【0020】
ステップ201では、情報処理装置1は通信部11を用いてプログラム更新依頼を含む通信メッセージを受信する。
【0021】
ステップ202では、情報処理装置1は通信部11を用いてプログラム更新対象フラグ情報を受信し、プログラム更新対象フラグ検証部12はプログラム更新対象フラグに基づいて、更新対象となる装置を特定する。
【0022】
図3に、ステップ202においてプログラム更新対象フラグ検証部12が更新対象となる装置を特定するために参照するプログラム更新対象フラグ情報の例を示す。プログラム更新対象フラグ情報は、プログラムを更新すべき装置に対応する記憶領域301と、該当又は非該当を示す識別子302を含む。例えば、領域301の「領域1」の値が「1」なのでプログラムの更新対象領域に該当し、「領域2」の値が「0」なのでプログラムの更新対象領域に該当しない。
【0023】
ステップ203では、起動領域特定部13は、起動領域情報191を用いて、各領域の起動領域及び待機領域を特定する。なお、ステップ203の処理はステップ201又はステップ202の前に実行してもよい。
【0024】
図4に、ステップ203において記憶部19の各領域が起動領域であるかを起動領域特定部13が特定するために参照する起動領域情報191の例を示す。起動領域情報191は、プログラムを更新すべき装置に対応する記憶領域401と、起動領域と待機領域を示す識別子402を含む。例えば、各記憶領域の起動領域を「A面」、待機領域を「B面」と定義し、領域401の「領域1」の値が「A面」であれば、領域1の起動領域がA面であることを示し、「領域1」の値が「B面」であれば、領域1の起動領域がB面であることを示す。なお、図示した様に起動領域の情報を識別子402に登録しても、これとは異なり待機領域の情報を識別子402に登録しても、各領域が起動領域であるか待機領域であるかを示す情報を識別子402に登録してもよい。また、各領域が起動領域であることは、情報処理装置1が起動した際に登録されるとよいが、他のタイミングで各記憶領域の起動領域を登録してもよく、例えば、プログラム更新依頼の受信時に登録してもよい。
【0025】
ステップ204では、プログラム更新範囲特定部14は、ステップ202で特定された更新対象領域とステップ203で特定された起動領域に基づいて、プログラム更新範囲を特定する。例えば、プログラム更新範囲特定部14は、ステップ202で、プログラム更新対象フラグ情報を参照して「領域1」と「領域3」がプログラム更新対象領域として特定され、起動領域情報191を参照してプログラム更新対象領域における領域1の待機領域を「B面」、領域3の待機領域を「B面」と特定し、「領域1/B面」、「領域3/B面」をプログラム更新範囲として特定する。
【0026】
ステップ205では、受信ルール更新部15は、前記ステップ204で特定したプログラム更新範囲に基づいて、更新用プログラムパッケージにおける「領域1/B面」、「領域3/B面」に該当するデータを選択的に受信するように受信ルール193を更新する。
【0027】
図6に、ステップ205において、受信ルール更新部15が更新する受信ルール193の例を示す。受信ルール193は、更新用プログラムパッケージにおける受信対象領域及び検証期待値を示す識別子である受信対象領域601と、受信するか否かを示す識別子602を含む。例えば、受信対象領域601の「領域1/A面」の値が「1」であれば、当該記憶領域「領域1/A面」を受信対象とし、「領域1/A面」の値が「0」であれば、当該記憶領域「領域1/A面」を受信対象外とする。
【0028】
ステップ206では、受信フィルタ部16は、ステップ205で更新された受信ルール193に該当するデータを受信する。受信データは、通信部11の受信バッファに一旦格納された後、揮発性のRAM又は不揮発メモリに設けられる一時保管メモリに格納され、記憶部19に設けられるプログラム格納領域に格納される。本実施例において、該当データを選択的に受信する方法は、不要な受信データを受信バッファ又は一時メモリのいずれかに格納しない又は破棄することで実現できる。具体的には、該当箇所以外を受信せず、受信バッファに格納しなくてもよく、受信バッファにおいて該当箇所以外のデータを該当箇所のデータで上書きしてもよく、該当箇所かを問わずに受信データを受信バッファに格納して該当箇所を選択的にRAMに設けられる一時保管メモリに格納してもよく、該当箇所かを問わずに受信データを受信バッファに格納して該当箇所を選択的に不揮発メモリに設けられる一時保管メモリに格納してもよく、最終的に該当箇所が選択的に格納されていれば、いかなる方法でもよい。
【0029】
ステップ207では、検証期待値検証部17は、ステップ206で受信ルール193に基づいて受信した更新用プログラムデータと、当該更新用プログラムデータを対象とした検証期待値を用いて、更新用プログラムデータが正しいデータであるかを検証する。更新用プログラムデータを用いた演算処理結果と検証期待値が一致する場合は(ステップ208でyes)、ステップ209に進み、演算処理結果と検証期待値が一致しない場合は(ステップ208でno)、ステップ210に進む。ここで、ステップ207の検証期待値検証処理で使用される検証期待値は、共通鍵を用いたMAC(Message Authentication Code)による検証処理でもよく、公開鍵を用いたRSA、ECDSA等でもよく、ハッシュやチェックサムでもよい。
【0030】
ステップ209では、プログラム更新部18は、所定の手順に基づいて該当記憶領域のプログラムを、受信した更新用プログラムデータで更新する。
【0031】
ステップ210では、情報処理装置1は、ステップ208で検証期待値の検証失敗となった場合の所定の手順に従ってエラー処理を実行し、本処理を終了する。
【0032】
以上のステップによって、車載ネットワークに接続された情報処理装置1のプログラムを更新できる。
【0033】
本実施例では、更新パッケージ構造情報192における検証期待値を、対象領域ごとに有する例を説明した。その他の方法として、更新パッケージ構造情報192における検証期待値として、対象領域の組み合わせごとに生成した検証期待値を有する例を
図7に示す。
図5に図示する更新パッケージ構造情報192は、対象領域501において、対象領域の組み合わせ数に合わせた検証期待値と、そのデータサイズ502を含む。図示した更新パッケージ構造情報192が示す更新用プログラムパッケージは、記憶領域(領域1のA面から領域nのB面)に格納される更新用プログラムデータと、各更新用プログラムデータの全ての組み合わせの検証期待値を含む。更新用プログラムパッケージは、各更新用プログラムデータの最新性情報(例えば、タイムスタンプ、カウンタ値など)を含んでもよい。
【0034】
例えば、ステップ205では、受信ルール更新部15は、前記ステップ204で特定されたプログラム更新範囲に基づいて、
図8に示す通り、更新用プログラムパッケージにおける「領域1/B面」の検証期待値と、「領域3/B面」の検証期待値に加えて、「領域1/B面」と「領域3/B面」の両方を合わせた検証期待値である「検証期待値(領域1/B面&領域3/B面)」を選択的に受信するルールに、受信ルール193を更新する。
【0035】
これにより、受信する検証期待値のデータ量を低減し、検証期待値検証処理の回数を低減できる。
【0036】
以上に説明したように、実施例1によれば、プログラムの更新依頼を受信した場合に、起動中の記憶領域と待機中の記憶領域の情報に基づいて、全領域のプログラムデータを含む更新用プログラムパッケージから、待機中の記憶領域に該当する更新用プログラムに限定して受信できる。また、情報処理装置1はプログラムを更新する領域を自ら判断できる。これにより、情報処理装置1の更新対象領域となる記憶領域を更新用プログラムで更新する際に、情報処理装置1が使用する一時保管用メモリ量を低減し、プログラムの更新作業者の運用負荷の低減が期待できる。
【0037】
<実施例2>
実施例2では、車載ネットワークに接続された情報処理装置1が、車載ネットワークに接続された他の制御装置4のプログラムを更新するプログラム更新システムの例を示す。以下では、実施例1との差異を中心に実施例2について説明し、実施例1と同じ機能及び構成には同じ符号を付し、それらの説明は省略する。
【0038】
図9は、実施例2のプログラム更新システムの構成を示す図である。実施例2のプログラム更新システムでは、情報処理装置1は、通信バス2を介して制御装置4、車外通信装置5、及び診断装置6に接続されている。但し、通信バス2は物理的には複数の通信バスで構成されてもよく、これらの通信バスの規格は同一でもよいし異なってもよい。これら通信バスの規格は、CAN(登録商標)、LIN(登録商標)、FlexRay(登録商標)、イーサネット(登録商標)などを用いることができる。また、制御装置4は、車の走行を制御する機能を有する車両制御装置(ECU)、又は走行以外のアクチュエータを制御する機能を有する車両制御装置(ECU)である。また、車外通信装置5は、3G/LTEやWi-Fi通信等の無線通信を介して車外の装置との通信を制御する装置である。また、診断装置6は、車載システムと有線を介して接続され、情報処理装置1及び制御装置4の状態を確認する診断機能やプログラム更新機能を有する装置である。
【0039】
情報処理装置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に記憶される。
【0040】
図10は、プログラム更新システムにおいて、情報処理装置1が制御装置4のプログラムを更新する処理のシーケンス図である。なお、
図10において、実施例1の
図2に記載した処理と同じ処理には、同じ符号を付し、重複した説明は省略する。
【0041】
ステップ203は、実施例1と同じく、起動領域特定部13は、起動領域情報191を用いて、各領域の起動領域及び待機領域を特定する。なお、ステップ203の処理は、制御装置4の起動時などの任意のタイミングや、情報処理装置1からの要求に応じて実行してもよい。
【0042】
ステップ101では、起動領域特定部13は、ステップ203で特定された制御装置4の起動領域を通信部11を介して情報処理装置1に通知する。
【0043】
ステップ201では、情報処理装置1の通信部11はプログラム更新依頼を受信する。プログラム更新依頼は、車外通信装置5から受信する場合と、診断装置6による診断結果によってプログラムの更新が必要と判定され、診断装置6から受信する場合がある。
【0044】
ステップ202からステップ206までは、実施例1と同一の処理である。
【0045】
ステップ102では、情報処理装置1は、ステップ206で通信部11を介して受信した該当データを制御装置4に送信する。なお、ステップ102の処理は、情報処理装置1が任意のタイミングで送信してもよく、制御装置4が特定の状態(例えば、プログラムの更新が可能な状態)になったことを確認した後に送信してもよく、制御装置4又は他の装置からの所定の通信を受信したときに送信してもよい。
【0046】
ステップ207からステップ210までは、実施例1と同一の処理である。なお、ステップ207の検証期待値検証処理は、情報処理装置1で実行してもよい。
【0047】
以上のステップによって、車載ネットワークに接続された情報処理装置1が制御装置4のプログラムを更新できる。
【0048】
以上に説明したように、実施例2によれば、制御装置4は所定のタイミングで起動領域を確認し、情報処理装置1は前記制御装置4から起動領域情報191を受信し、プログラムの更新依頼を受信した場合に、起動中の記憶領域と待機中の記憶領域の情報に基づいて、全領域のプログラムデータを含む更新用プログラムパッケージから、待機中の記憶領域に該当する更新用プログラムを選択的に受信できる。これにより、制御装置4の更新対象領域となる記憶領域を更新用プログラムで更新する際に、情報処理装置1が使用する一時保管用メモリ量を低減し、プログラムの更新作業者の運用負荷の低減が期待できる。
【0049】
以上に説明したように、本発明の実施例1の情報処理装置1は、書換え可能なプログラムを格納する複数の記憶領域を含む記憶部19と、記憶部19に格納されたプログラムを実行する演算部(CPU)とを備え、演算部がプログラムを実行中の起動領域を複数の記憶領域から特定する起動領域特定部13と、特定された起動領域の情報に基づいて、プログラムが書き換え可能な書換対象領域を特定する受信ルール更新部15と、書換対象領域に格納される書換プログラムを選択的に受信する受信選択部(受信フィルタ部16)とを有するので、プログラム更新対象である情報処理装置1が全ての更新プログラムを含む更新用プログラムパッケージから自律的に必要な更新用プログラムを取得して、一時保管用メモリの使用量を低減でき、プログラムの更新時の運用負荷を低減できる。また、更新用プログラムパッケージを送信するサーバ側では、情報処理装置1の個々の状態を把握する必要がなく(例えば、起動面確認処理を実行しなくてよい)、全ての更新用プログラムを一括して送信すればよく、サーバ側の処理の複雑さや負荷を軽減できる。さらに、従来のリプロベースの診断機を改修しなくてもよい。
【0050】
また、受信した書換プログラムを前記書換対象領域に格納するプログラム更新部18を有するので、一時保管用メモリの使用量を低減しつつ、プログラムを更新できる。
【0051】
また、書換プログラムは、記憶部19の各領域に格納されるプログラムデータと、プログラムデータの検証期待値を含む更新用プログラムパッケージとして配信され、情報処理装置1は、更新用プログラムパッケージに含まれる検証期待値を用いてプログラムデータを検証する検証期待値検証部17を有するので、通信経路上で生じるデータの改変を検出でき、不正なプログラムに対する耐性を向上できる。
【0052】
また、更新用プログラムパッケージは、当該更新用プログラムパッケージに含まれるプログラムデータの複数の組み合わせに対応する複数の検証期待値を含み、検証期待値検証部17は、起動領域の情報と、前記プログラムを書き換えるべき領域の情報を参照して、前記パッケージに含まれる複数の検証期待値から、受信した書換プログラムの検証期待値を特定するので、情報処理装置1の側の状態によって必要な検証期待値を提供できる。
【0053】
また、受信ルール更新部15は、起動領域の情報と、プログラムを書き換えるべき領域の情報を参照して、受信する書換プログラムを定めるので、更新すべきプログラムを正確に決定できる。
【0054】
また、本発明の実施例2のプログラム更新システムは、プログラムを実行する制御装置4と、制御装置4のプログラムの書き換えを制御する情報処理装置1とを備え、制御装置4は、書換え可能なプログラムを格納する複数の記憶領域を含む記憶部19と、記憶部19に格納されたプログラムを実行する演算部(CPU)とを有し、情報処理装置1は、制御装置4において演算部(CPU)がプログラムを実行中の起動領域の情報に基づいて、プログラムが書き換え可能な書換対象領域を特定する受信ルール更新部15と、書換対象領域に格納される書換プログラムを選択的に受信する受信選択部(受信フィルタ部16)とを有するので、情報処理装置1が全ての更新プログラムを含む更新用プログラムパッケージから制御装置4に必要な更新用プログラムを取得して、一時保管用メモリの使用量を低減でき、プログラムの更新時の運用負荷を低減できる。
【0055】
特許請求の範囲に記載した以外の本発明の観点として、以下のものがあげられる。
(1)プログラムを実行する情報処理装置であって、
書換え可能なプログラムを格納する複数の領域を含む記憶部と、
前記記憶部に格納されたプログラムを実行する演算部とを備え、
前記演算部がプログラムを実行中の起動領域を前記複数の領域から特定する起動領域特定部と、
前記特定された起動領域の情報に基づいて、プログラムが書き換え可能な書換対象領域を特定するルール更新部と、
前記書換対象領域に格納される書換プログラムを選択的に受信する受信選択部とを有することを特徴とする情報処理装置。
【0056】
(2)上記(1)に記載の情報処理装置であって、
受信したデータを受信バッファに一時的に格納する通信部を有し、
前記通信部は、当該書換プログラム以外のデータを前記受信バッファに格納しない、前記受信バッファに格納された当該書換プログラム以外のデータを後続のデータで上書きする、又は前記受信バッファに格納された当該書換プログラム以外のデータを前記受信選択部へ転送しない、のいずれかによって、前記受信選択部が前記書換プログラムを選択的に受信することを特徴とする情報処理装置。
【0057】
(3)上記(1)に記載の情報処理装置であって、
前記受信した書換プログラムを前記書換対象領域に格納する更新部を有することを特徴とする情報処理装置。
【0058】
(4)上記(1)に記載の情報処理装置であって、
前記書換プログラムは、前記記憶部の各領域に格納されるプログラムデータと、当該プログラムデータの検証期待値を含むパッケージとして配信され、
前記情報処理装置は、前記パッケージに含まれる検証期待値を用いて前記プログラムデータを検証する検証部を有することを特徴とする情報処理装置。
【0059】
(5)上記(4)に記載の情報処理装置であって、
前記パッケージは、当該パッケージに含まれるプログラムデータの複数の組み合わせに対応する複数の検証期待値を含み、
前記検証部は、前記起動領域の情報と、前記プログラムを書き換えるべき領域の情報を参照して、前記パッケージに含まれる複数の検証期待値から、前記受信した書換プログラムの検証期待値を特定することを特徴とする情報処理装置。
【0060】
(6)上記(1)に記載の情報処理装置であって、
前記ルール更新部は、前記起動領域の情報と、前記プログラムを書き換えるべき領域の情報を参照して、受信する書換プログラムを定めることを特徴とする情報処理装置。
【0061】
(7)プログラムを実行する制御装置と、
前記制御装置のプログラムの書き換えを制御する情報処理装置とを備えるプログラム更新システムであって、
前記制御装置は、書換え可能なプログラムを格納する複数の領域を含む記憶部と、前記記憶部に格納されたプログラムを実行する演算部とを有し、
前記情報処理装置は、
前記制御装置において前記演算部がプログラムを実行中の起動領域の情報に基づいて、プログラムが書き換え可能な書換対象領域を特定するルール更新部と、
前記書換対象領域に格納される書換プログラムを選択的に受信する受信選択部とを有することを特徴とするプログラム更新システム。
【0062】
(8)プログラムを実行する情報処理装置のプログラムを更新するプログラム更新方法であって、
前記情報処理装置は、書換え可能なプログラムを格納する複数の領域を含む記憶部と、前記記憶部に格納されたプログラムを実行する演算部とを有し、
前記プログラム更新方法は、
前記情報処理装置が、前記演算部がプログラムを実行中の起動領域を前記複数の領域から特定する起動領域特定手順と、
前記情報処理装置が、前記特定された起動領域の情報に基づいて、プログラムが書き換え可能な書換対象領域を特定するルール更新手順と、
前記情報処理装置が、前記書換対象領域に格納される書換プログラムを選択的に受信する受信選択手順とを含むことを特徴とするプログラム更新方法。
【0063】
なお、本発明は前述した実施例に限定されるものではなく、添付した特許請求の範囲の趣旨内における様々な変形例及び同等の構成が含まれる。例えば、前述した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに本発明は限定されない。また、ある実施例の構成の一部を他の実施例の構成に置き換えてもよい。また、ある実施例の構成に他の実施例の構成を加えてもよい。また、各実施例の構成の一部について、他の構成の追加・削除・置換をしてもよい。
【0064】
また、前述した各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等により、ハードウェアで実現してもよく、プロセッサがそれぞれの機能を実現するプログラムを解釈し実行することにより、ソフトウェアで実現してもよい。
【0065】
各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、SSD(Solid State Drive)等の記憶装置、又は、ICカード、SDカード、DVD、BD等の記録媒体に格納することができる。
【0066】
また、制御線や情報線は説明上必要と考えられるものを示しており、実装上必要な全ての制御線や情報線を示しているとは限らない。実際には、ほとんど全ての構成が相互に接続されていると考えてよい。
【符号の説明】
【0067】
1、3 情報処理装置
2 通信バス
11 通信部
12 プログラム更新対象フラグ検証部
13 起動領域特定部
14 プログラム更新範囲特定部
15 受信ルール更新部
16 受信フィルタ部
17 検証期待値検証部
18 プログラム更新部
19 記憶部
【手続補正書】
【提出日】2024-03-25
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
処理を実行するプロセッサと、前記プロセッサがアクセスする記憶部を備え、
前記プロセッサが、演算部により実行されているプログラムが格納される起動中の起動領域の情報と前記演算部により実行されていないプログラムが格納される待機中の待機領域の情報とに基づいて、更新用プログラムパッケージから前記待機領域に該当する更新用プログラムを選択的に受信する受信選択部を備える、
ことを特徴とする情報処理装置。
【請求項2】
請求項1に記載の情報処理装置であって、
前記記憶部は、起動時またはプログラム更新依頼の受信時に前記起動領域の情報が登録される、
ことを特徴とする情報処理装置。
【請求項3】
請求項1に記載の情報処理装置であって、
前記受信選択部は、プログラムの更新対象となる制御装置から受信した前記起動領域の情報により特定された前記起動領域および前記待機領域に基づき、前記更新用プログラムを選択的に受信する、
ことを特徴とする情報処理装置。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0007
【補正方法】変更
【補正の内容】
【0007】
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、処理を実行するプロセッサと、前記プロセッサがアクセスする記憶部を備え、前記プロセッサが、演算部により実行されているプログラムが格納される起動中の起動領域の情報と前記演算部により実行されていないプログラムが格納される待機中の待機領域の情報とに基づいて、更新用プログラムパッケージから前記待機領域に該当する更新用プログラムを選択的に受信する受信選択部を備える、ことを特徴とする情報処理装置。