(57)【要約】【課題】動作プログラムを更新した場合に、情報処理装置が利用不能となることを容易に回避する。【解決手段】情報処理装置１００を動作させるための動作プログラムの更新に必要な更新データを取得するインタフェース部１１０と、インタフェース部１１０が取得した更新データを実行し、その更新データを実行した結果が正常である場合、その更新データを、情報処理装置１００の再起動後に動作プログラムを実行させるためのメモリエリア１３０に書き込み、情報処理装置１００を再起動させる制御部１２０とを有する。【選択図】図１
2018106251.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置であって、
当該情報処理装置を動作させるための動作プログラムの更新に必要な更新データを取得する第１のインタフェース部と、
前記第１のインタフェース部が取得した更新データを実行し、該更新データを実行した結果が正常である場合、前記更新データを、当該情報処理装置の再起動後に前記動作プログラムを実行させるためのメモリエリアに書き込み、当該情報処理装置を再起動させる制御部とを有する情報処理装置。
【請求項２】
請求項１に記載の情報処理装置において、
前記制御部は、当該情報処理装置を起動した際、前記メモリエリアに格納されている起動プログラムを実行し、該起動プログラムの手順に従って、前記第１のインタフェース部に対して、前記更新データの取得を指示し、前記取得した更新データを実行し、該更新データを実行した結果が正常である場合、前記更新データを前記メモリエリアに書き込み、当該情報処理装置を再起動させる情報処理装置。
【請求項３】
請求項２に記載の情報処理装置において、
前記第１のインタフェース部は、前記制御部が実行した結果を出力し、
前記制御部は、前記第１のインタフェース部が出力した結果に対して該結果が正常である旨を示す第１の入力を前記第１のインタフェース部が受け付けた場合、前記更新データを前記メモリエリアに書き込む情報処理装置。
【請求項４】
請求項３に記載の情報処理装置において、
前記制御部は、前記起動プログラムの手順に従って、前記第１のインタフェース部に対して、前記制御部が実行した結果の出力を指示する情報処理装置。
【請求項５】
請求項２から４のいずれか１項に記載の情報処理装置において、
前記制御部は、前記起動プログラムを実行した後、前記動作プログラムの更新要求を示す第２の入力を前記第１のインタフェース部が受け付けた場合、前記第１のインタフェース部に対して、前記更新データの取得を指示する情報処理装置。
【請求項６】
請求項２から５のいずれか１項に記載の情報処理装置において、
前記制御部の指示に基づいて所定の通知信号を送信する第２のインタフェース部を有し、
前記制御部は、前記更新データを実行した結果が正常である場合、前記通知信号を送信するように前記第２のインタフェース部へ指示し、前記第２のインタフェース部が、前記通知信号に対する応答信号を受信した場合、該応答信号を送信してきた装置に対して、前記更新データを送信するように第２のインタフェース部へ指示し、
前記第２のインタフェース部は、前記制御部の指示に基づいて前記更新データを送信する情報処理装置。
【請求項７】
請求項６に記載の情報処理装置において、
前記第２のインタフェース部は、前記通知信号を送信してから所定の時間が経過しても前記応答信号を受信しない場合、該通知信号を再送する情報処理装置。
【請求項８】
請求項１から７のいずれか１項に記載の情報処理装置において、
前記メモリエリアは不揮発性メモリの領域である情報処理装置。
【請求項９】
情報処理装置を動作させるための動作プログラムの更新に必要な更新データを取得する処理と、
前記取得した更新データを実行する処理と、
前記実行した結果が正常である場合、前記更新データを、前記情報処理装置の再起動後に前記動作プログラムを実行させるためのメモリエリアに書き込む処理と、
前記情報処理装置を再起動させる処理とを行う動作プログラムの更新方法。
【請求項１０】
コンピュータに、
情報処理装置を動作させるための動作プログラムの更新に必要な更新データを取得する手順と、
前記取得した更新データを実行する手順と、
前記実行した結果が正常である場合、前記更新データを、前記情報処理装置の再起動後に前記動作プログラムを実行させるためのメモリエリアに書き込む手順と、
前記情報処理装置を再起動させる手順とを実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、動作プログラムの更新方法およびプログラムに関する。
【背景技術】
【０００２】
一般的に、通信機器等の情報処理装置は、装置の電源が投入されると、ブートローダプログラムを用いて起動する。ブートローダプログラムは、情報処理装置を初期化し、情報処理装置の使用を可能とするものである。このブートローダプログラムは、情報処理装置に搭載されたデータ読み出し専用電子部品であるＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）に格納され、装置の電源投入時にＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）によってＲＯＭから読み出され実行される。
ブートローダプログラムの機能強化や動作不具合等の問題解決などを目的として、ブートローダプログラムを更新する必要が生じる場合がある。ブートローダプログラムの更新を容易にするため、近年、通常はデータの読み出し専用に使用されるが、特別な操作をしたときに記憶内容が書き換え可能となるプログラマブルＲＯＭ（例えば、フラッシュＲＯＭ）が利用されている。ブートローダプログラムを更新する必要が生じた場合、ブートローダプログラム中の書き換え機能を利用し、プログラマブルＲＯＭ中のブートローダプログラムが更新される。
しかしながら、ブートローダプログラムの更新には、更新したブートローダプログラムの実装に問題があった場合、ブートローダプログラムを更新後、ブートローダプログラムを動作させた場合、情報処理装置が利用不能となってしまう。
そこで、ブートローダプログラムをプログラマブルＲＯＭ中に２つ格納しておき、一方のブートローダプログラムが利用不能となった場合であっても、他方のブートローダプログラムを利用することで、情報処理装置が利用不能となることを回避する方法が提案されている（例えば、特許文献１，２参照。）。
また、更新用のファームウェアを更新前のファームウェアとは別の不揮発性メモリ領域に格納し、更新用のファームウェアを用いて再起動して正常性の確認を行った後、再度、自装置を再起動する技術が考えられている（例えば、特許文献３参照。）。
また、ブートローダプログラムを２つのプログラマブルＲＯＭそれぞれの中に格納しておき、一方のプログラマブルＲＯＭに格納されたブートローダプログラムが利用不能となった場合であっても、他方のプログラマブルＲＯＭに格納されたブートローダプログラムを利用することで、情報処理装置が利用不能となることを回避する方法が提案されている（例えば、特許文献４，５参照。）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−１５６８２３号公報
【特許文献２】国際公開第２０１２／０７７６０４号
【特許文献３】特開２０１５−０５５９１７号公報
【特許文献４】特開２００７−１９３５９６号公報
【特許文献５】特開平１１−３２１３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１，２に記載された技術においては、ブートローダプログラムをプログラマブルＲＯＭ中に２つ格納しておく必要がある。そのため、使用するプログラマブルＲＯＭ容量がより多く必要となってしまうという問題点がある。
特許文献３に記載された技術では、更新用のファームウェアと更新前のファームウェアとを不揮発性メモリに格納しておく必要がある。そのため、使用するプログラマブルＲＯＭ容量がより多く必要となってしまうという問題点がある。
特許文献４，５に記載された技術には、ブートローダプログラムを格納するためのプログラマブルＲＯＭを情報処理装置に２つ搭載する必要がある。そのため、情報処理装置の価格が高騰し、情報処理装置の構成も複雑になってしまうという問題点がある。
【０００５】
本発明の目的は、上記課題を解決する情報処理装置、動作プログラムの更新方法およびプログラムを提供することにある。
【課題を解決するための手段】
【０００６】
本発明の情報処理装置は、
当該情報処理装置を動作させるための動作プログラムの更新に必要な更新データを取得する第１のインタフェース部と、
前記第１のインタフェース部が取得した更新データを実行し、該更新データを実行した結果が正常である場合、前記更新データを、当該情報処理装置の再起動後に前記動作プログラムを実行させるためのメモリエリアに書き込み、当該情報処理装置を再起動させる制御部とを有する。
また、本発明の動作プログラムの更新方法は、
情報処理装置を動作させるための動作プログラムの更新に必要な更新データを取得する処理と、
前記取得した更新データを実行する処理と、
前記実行した結果が正常である場合、前記更新データを、前記情報処理装置の再起動後に前記動作プログラムを実行させるためのメモリエリアに書き込む処理と、
前記情報処理装置を再起動させる処理とを行う。
また、本発明のプログラムは、
コンピュータに実行させるためのプログラムであって、
情報処理装置を動作させるための動作プログラムの更新に必要な更新データを取得する手順と、
前記取得した更新データを実行する手順と、
前記実行した結果が正常である場合、前記更新データを、前記情報処理装置の再起動後に前記動作プログラムを実行させるためのメモリエリアに書き込む手順と、
前記情報処理装置を再起動させる手順とを実行させる。
【発明の効果】
【０００７】
以上説明したように、本発明においては、動作プログラムを更新した場合に、情報処理装置が利用不能となることを容易に回避することができる。
【図面の簡単な説明】
【０００８】
【図１】本発明の情報処理装置の第１の実施の形態を示す図である。
【図２】図１に示した情報処理装置における動作プログラムの更新方法の一例を説明するためのフローチャートである。
【図３】本発明の情報処理装置の第２の実施の形態を示す図である。
【図４】図３に示したプログラマブルＲＯＭの内部構造（メモリエリアの配置）の一例を示す図である。
【図５】図３に示した情報処理装置における動作プログラムの更新方法の一例を説明するためのフローチャートである。
【図６】本発明の情報処理装置の第３の実施の形態を示す図である。
【図７】図６に示した有線インタフェース部が送受信する信号のフレーム構成の一例を示す図である。
【図８】図７に示したタイプに格納される値の一例を示す図である。
【図９Ａ】図６に示した形態における動作プログラムの更新方法のうち、更新通知を送信する場合の処理の一例を説明するためのフローチャートである。
【図９Ｂ】図６に示した形態における動作プログラムの更新方法のうち、更新通知を送信する場合の処理の一例を説明するためのフローチャートである。
【図１０Ａ】図６に示した形態における動作プログラムの更新方法のうち、更新通知を受信する場合の処理の一例を説明するためのフローチャートである。
【図１０Ｂ】図６に示した形態における動作プログラムの更新方法のうち、更新通知を受信する場合の処理の一例を説明するためのフローチャートである。
【発明を実施するための形態】
【０００９】
以下に本発明の実施の形態について図面を参照して説明する。
（第１の実施の形態）
【００１０】
図１は、本発明の情報処理装置の第１の実施の形態を示す図である。
本形態における情報処理装置１００は図１に示すように、インタフェース部１１０と、制御部１２０と、メモリエリア１３０とを有する。なお、図１には、本発明の情報処理装置１００が具備する構成要素のうち、本実施の形態に関わる主要な構成要素の一例を示す。
【００１１】
インタフェース部１１０は、情報処理装置１００を動作させるための動作プログラムの更新に必要な更新データを取得する第１のインタフェース部である。
制御部１２０は、インタフェース部１１０が取得した更新データを実行する。制御部１２０は、更新データを実行した結果が正常である場合、その更新データを、情報処理装置１００の再起動後に動作プログラムを実行させるためのメモリエリア１３０に書き込み、情報処理装置１００を再起動させる。
【００１２】
以下に、図１に示した情報処理装置１００における動作プログラムの更新方法について説明する。図２は、図１に示した情報処理装置１００における動作プログラムの更新方法の一例を説明するためのフローチャートである。
まず、インタフェース部１１０が、情報処理装置１００を動作させるための動作プログラムの更新に必要な更新データを取得する（ステップＳ１）。すると、制御部１２０が、インタフェース部１１０が取得した更新データを実行する（ステップＳ２）。続いて、制御部１２０は、更新データを実行した結果が正常であるかどうかを判定する（ステップＳ３）。更新データを実行した結果が正常である場合、制御部１２０は、動作プログラムを実行させるためのメモリエリア１３０にその更新データを書き込み（ステップＳ４）、情報処理装置１００を再起動させる（ステップＳ５）。
【００１３】
このように、情報処理装置１００が、動作プログラムの更新に必要な更新データを取得し、取得した更新データを実行し、実行の結果が正常である場合に、動作プログラムを実行させるためのメモリエリア１３０にその更新データを書き込み、再起動する。そのため、動作プログラムを更新した場合に、情報処理装置が利用不能となることを容易に回避することができる。
（第２の実施の形態）
【００１４】
図３は、本発明の情報処理装置の第２の実施の形態を示す図である。
本形態における情報処理装置１０１は図１に示すように、ＰＣ２０１と通信を行う機能を有する通信機器である。ＰＣ２０１は、一般的なＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）等の情報処理装置である。
情報処理装置１０１は、ＵＡＲＴ（Ｕｎｉｖｅｒｓａｌ  Ａｓｙｎｃｈｒｏｎｏｕｓ  Ｒｅｃｅｉｖｅｒ  Ｔｒａｎｓｍｉｔｔｅｒ）１１１と、ＣＰＵ１２１と、プログラマブルＲＯＭ１３１と、ＲＡＭ１４１とを有する。なお、図３には、本発明の情報処理装置１０１が具備する構成要素のうち、本実施の形態に関わる主要な構成要素の一例を示す。
ＵＡＲＴ１１１は、シリアル通信用インタフェース機能を有し、ＣＰＵ１２１からの指示でＰＣ２０１との間で双方向シリアル通信を行う第１のインタフェース部である。ＵＡＲＴ１１１は、情報処理装置１０１を動作させるための動作プログラムの更新に必要な更新データをＰＣ２０１から取得する。また、ＵＡＲＴ１１１は、ＣＰＵ１２１からの指示で、ＣＰＵ１２１が更新データを実行した結果を出力するものであっても良い。
ＣＰＵ１２１は、ＵＡＲＴ１１１が取得した更新データを実行する制御部である。ＣＰＵ１２１は、更新データを実行した結果が正常である場合、更新データをプログラマブルＲＯＭ１３１に書き込み、情報処理装置１０１を再起動させる。ＣＰＵ１２１は、情報処理装置１０１を起動した際、プログラマブルＲＯＭ１３１に格納されている起動プログラム（ブートローダプログラム）を実行する。ＣＰＵ１２１は、実行した起動プログラムの手順に従って、ＵＡＲＴ１１１に対して、更新データの取得を指示する。ＣＰＵ１２１は、ＵＡＲＴ１１１が取得した更新データを、起動プログラムの手順に従って実行する。また、ＣＰＵ１２１は、起動プログラムの手順に従って、ＵＡＲＴ１１１に対して、ＣＰＵ１２１が実行した結果の出力を指示するものであっても良い。このとき、ＣＰＵ１２１は、ＵＡＲＴ１１１が出力した結果に対して、結果が正常である旨を示す第１の入力をＵＡＲＴ１１１が受け付けた場合、起動プログラムの手順に従って、更新データをプログラマブルＲＯＭ１３１のメモリエリアに書き込むものであっても良い。ＣＰＵ１２１は、起動プログラムを実行した後、動作プログラムの更新要求を示す第２の入力をＵＡＲＴ１１１が受け付けた場合、ＵＡＲＴ１１１に対して、更新データの取得を指示するものであっても良い。
プログラマブルＲＯＭ１３１は、ブロック単位で消去、書き換え動作が可能な不揮発性メモリ（ＲＯＭ：Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）である。プログラマブルＲＯＭ１３１は、起動プログラムおよび動作プログラムの２つのブートローダプログラム、ならびにシステムプログラムを格納する。
ＲＡＭ１４１は、自由に読み書きが行われるメモリ（ＲＡＭ：Ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）である。ＲＡＭ１４１は、起動プログラムおよび動作プログラムの２つのブートローダプログラム、ならびにシステムプログラムが動作する際に利用される。
【００１５】
図４は、図３に示したプログラマブルＲＯＭ１３１の内部構造（メモリエリアの配置）の一例を示す図である。
図３に示したプログラマブルＲＯＭ１３１は図４に示すように、起動プログラムであるブートローダプログラム３０１を格納する領域と、動作プログラムであるブートローダプログラム３０２を格納する領域と、システムプログラム３０３を格納する領域との３つのメモリエリアを有する。
【００１６】
プログラマブルＲＯＭ１３１に格納されたブートローダプログラム３０２を更新する場合、ＣＰＵ１２１は、起動したブートローダプログラム３０１の手順に従って、ＵＡＲＴ１１１を介して接続されているＰＣ２０１から転送されるブートローダプログラム３０２の更新データを取得し、ＲＡＭ１４１に格納する。ＣＰＵ１２１は、ブートローダプログラム３０１の手順に従って、プログラマブルＲＯＭ１３１に格納されているブートローダプログラム３０２を、ＲＡＭ１４１に格納したブートローダプログラム３０２の更新データを用いて更新する。ブートローダプログラム３０１は、情報処理装置１０１の電源投入時、ＣＰＵ１２１によって、プログラマブルＲＯＭ１３１から読み出され実行される。ブートローダプログラム３０１は、ＣＰＵ１２１によって実行されることで、ブートローダプログラム３０２の書き換え機能、プログラマブルＲＯＭ１３１、ＲＡＭ１４１等の初期設定機能、ブートローダプログラム３０２をＲＡＭ１４１へ展開し、実行する機能を有する。ブートローダプログラム３０１については、ブートローダプログラム３０１およびブートローダプログラム３０２の書き換え途中の情報処理装置１０１の電源断などの失敗で、情報処理装置１０１が利用不能となってしまうことを防止するため、読み出し専用とし、書き換えは行われない。ブートローダプログラム３０２は、ＣＰＵ１２１によって実行されることで、システムプログラム３０３をＲＡＭ１４１へ展開し、実行する機能を有する。システムプログラム３０３は、ＲＡＭ１４１上で実行され、情報処理装置１０１として必要な機能を実現する。
【００１７】
以下に、図３に示した情報処理装置１０１における動作プログラムの更新方法について説明する。図５は、図３に示した情報処理装置１０１における動作プログラムの更新方法の一例を説明するためのフローチャートである。
【００１８】
利用者が、情報処理装置１０１の電源を投入すると（ステップＳ１１）、ＣＰＵ１２１はプログラマブルＲＯＭ１３１からブートローダプログラム３０１を読み出し、実行（起動）する（ステップＳ１２）。その後、ＣＰＵ１２１は、起動したブートローダプログラム３０１の手順に従って以下の処理を実行する。ＣＰＵ１２１は、ブートローダプログラム３０２の更新の要求があるかどうかを判定する（ステップＳ１３）。例えば、ＣＰＵ１２１は、ブートローダプログラム３０１を実行した後、ブートローダプログラム３０２の更新要求を示す所定の入力をＵＡＲＴ１１１が受け付けた場合、ブートローダプログラム３０２の更新の要求があったと判定するものであっても良い。この所定の入力は、利用者が行うＰＣ２０１へのコマンド入力であっても良い。
ＣＰＵ１２１は、ブートローダプログラム３０２の更新の要求があったと判定した場合、ブートローダプログラム３０２の更新処理を実行する。この更新処理について、具体的に説明する。ＣＰＵ１２１は、ＵＡＲＴ１１１を介して、ＰＣ２０１からブートローダプログラム３０２の更新に必要なデータ（以下、更新データと称する）を受信し、ＲＡＭ１４１に取得する（ステップＳ１４）。ＣＰＵ１２１は、ＲＡＭ１４１に取得したブートローダプログラム３０２の更新データを実行する（ステップＳ１５）。
【００１９】
ＣＰＵ１２１は、更新データ実行後、更新データが正常に実行完了したかどうかを判定する（ステップＳ１６）。例えば、ＣＰＵ１２１は、ＵＡＲＴ１１１に対して、ＣＰＵ１２１が実行した結果の出力を指示し、ＵＡＲＴ１１１が出力した結果に対して、結果が正常である旨を示す所定の入力をＵＡＲＴ１１１が受け付けた場合、更新データが正常に実行完了したと判定するものであっても良い。この所定の入力は、利用者が行うＰＣ２０１へのコマンド入力であっても良い。
ＣＰＵ１２１は、更新データが正常に実行完了したと判定した場合、プログラマブルＲＯＭ１３１のブートローダプログラム３０２用のメモリエリアに格納されたデータを消去する（ステップＳ１７）。続いて、ＣＰＵ１２１は、ＲＡＭ１４１に取得済みのブートローダプログラム３０２の更新データを、プログラマブルＲＯＭ１３１のブートローダプログラム３０２用のメモリエリアへ書き込む（ステップＳ１８）。その後、ＣＰＵ１２１が情報処理装置１０１を再起動させる（ステップＳ１９）。これにより、ＣＰＵ１２１は、プログラマブルＲＯＭ１３１に書き込まれた更新データで情報処理装置１０１を動作させる。
【００２０】
一方、ステップＳ１６にて、ＣＰＵ１２１が、更新データが正常に実行完了しなかったと判定した場合、ＣＰＵ１２１は、ブートローダプログラム３０２の更新処理は実施せずに、情報処理装置１０１を再起動させる。
【００２１】
また、ステップＳ１３にて、ＣＰＵ１２１は、ブートローダプログラム３０２の更新の要求がないと判定した場合、ＣＰＵ１２１は、ブートローダプログラム３０２の起動処理を実施する（ステップＳ２０）。具体的には、ＣＰＵ１２１は、通常動作時と同様に、ブートローダプログラム３０２をＲＡＭ１４１上へ展開して実行する。続いて、ＣＰＵ１２１は、システムプログラム３０３の起動処理を実施し（ステップＳ２１）、処理を実行する（ステップＳ２２）。具体的には、ＣＰＵ１２１は、システムプログラム３０３をＲＡＭ１４１上へ展開して実行する。その後、システムプログラム３０３の処理実行が継続される。
【００２２】
なお、本実施例ではブートローダプログラム３０２の更新時の動作について説明を行ったが、システムプログラム３０３の更新時の動作についても適応可能である。
【００２３】
以上説明したように、本形態においては、動作プログラムの更新データをＲＡＭ上で実行し、正常に完了した場合に、動作プログラムを実行させるためのＲＯＭのメモリエリアに書き込んで、装置を再起動する。つまり、装置の電源投入後、ソフトウェア起動途中でソフトウェア更新データを取得する。プログラマブルＲＯＭに記憶されているソフトウェアを更新せず、更新データを実行する。実行された更新データが正常動作したことを確認後、プログラマブルＲＯＭに記憶されているソフトウェアを更新する。そのため、以下に示す効果を奏する。
第１の効果は、ブートローダプログラム３０２の更新データを、動作確認後にプログラマブルＲＯＭ１３１へ書き込むことで、ブートローダプログラム３０２の書き換え後、ブートローダプログラム３０２の起動が完了しないことを防止することができる。
第２の効果は、ブートローダプログラム３０２の書き換え失敗に備えるための、リカバリ用ブートローダプログラムをプログラマブルＲＯＭ１３１中に格納しておく必要が無くなり、プログラマブルＲＯＭ１３１の容量を効率的に利用することができる。
第３の効果は、ブートローダプログラム３０２の書き換え失敗に備えるための、リカバリ用ブートローダプログラムを格納するためのプログラマブルＲＯＭ１３１を情報処理装置１０１中に具備する必要が無くなり、情報処理装置１０１の価格上昇を抑え、情報処理装置１０１の構成も簡略化することができる。
（第３の実施の形態）
【００２４】
図６は、本発明の情報処理装置の第３の実施の形態を示す図である。
本形態における情報処理装置１０２−１〜１０２−３それぞれは図６に示すように、互いに有線ネットワーク１６２を介して接続され、相互通信が可能である通信機器である。また、情報処理装置１０２−１〜１０２−３それぞれは、ＰＣ２０２−１〜２０２−３それぞれと通信を行う機能を有する。ＰＣ２０２−１〜２０２−３それぞれは、一般的なＰＣ等の情報処理装置である。なお、図６には、情報処理装置およびＰＣがそれぞれ３つずつである場合を例に挙げて示しているが、この数は限定しない。また、有線ネットワーク１６２は、イーサネット（登録商標）等の通信ネットワークである。また、図６に示した形態では、情報処理装置１０２−１〜１０２−３が有線ネットワーク１６２を介して接続されているが、無線ネットワークを介して接続されているものであっても良い。
【００２５】
情報処理装置１０２−１は、ＵＡＲＴ１１２−１と、ＣＰＵ１２２−１と、プログラマブルＲＯＭ１３２−１と、ＲＡＭ１４２−１と、有線インタフェース部１５２−１とを有する。また、同様に、情報処理装置１０２−２は、ＵＡＲＴ１１２−２と、ＣＰＵ１２２−２と、プログラマブルＲＯＭ１３２−２と、ＲＡＭ１４２−２と、有線インタフェース部１５２−２とを有する。また、同様に、情報処理装置１０２−３は、ＵＡＲＴ１１２−３と、ＣＰＵ１２２−３と、プログラマブルＲＯＭ１３２−３と、ＲＡＭ１４２−３と、有線インタフェース部１５２−３とを有する。なお、図６には、本発明の情報処理装置１０２−１〜１０２−３が具備する構成要素のうち、本実施の形態に関わる主要な構成要素の一例を示す。
【００２６】
図６に示したＵＡＲＴ１１２−１〜１１２−３、プログラマブルＲＯＭ１３２−１〜１３２−３およびＲＡＭ１４２−１〜１４２−３それぞれは、図３に示したＵＡＲＴ１１１、プログラマブルＲＯＭ１３１およびＲＡＭ１４１と同じ機能を有する。また、プログラマブルＲＯＭ１３２−１〜１３２−３の内部構造（メモリエリアの配置）については、図４に示したものと同じである。
図６に示した有線インタフェース部１５２−１〜１５２−３それぞれは、更新データを実行した結果が正常である場合、その旨を示す通知信号を有線ネットワーク１６２上へ送信する第２のインタフェース部である。例えば、更新データを実行した結果が正常である旨を示す第１の入力をＵＡＲＴ１１２−１〜１１２−３が受け付けた場合、有線インタフェース部１５２−１〜１５２−３それぞれは、その旨を示す通知信号を有線ネットワーク１６２上へ送信するものであっても良い。また、有線インタフェース部１５２−１〜１５２−３それぞれは、通知信号を送信してから所定の時間が経過しても応答信号を受信しない場合、通知信号を再送する。
図６に示したＣＰＵ１２２−１〜１２２−３それぞれは、図３に示したＣＰＵ１２１が具備する機能に加えて、以下の機能を有する。ＣＰＵ１２２−１〜１２２−３それぞれは、更新データを実行した結果が正常である場合、その旨を示す通知信号を有線ネットワーク１６２上へ送信するように有線インタフェース部１５２−１〜１５２−３に指示する。ＣＰＵ１２２−１〜１２２−３それぞれは、ＵＡＲＴ１１２−１〜１１２−３が第１の入力を受け付けた場合、第１の入力を受け付けた旨を示す通知信号を送信するように有線インタフェース部１５２−１〜１５２−３へ指示する。ＣＰＵ１２２−１〜１２２−３それぞれは、有線インタフェース部１５２−１〜１５２−３が、通知信号に対する応答信号を受信した場合、応答信号を送信してきた装置に対して更新データを送信するように有線インタフェース部１５２−１〜１５２−３へ指示する。
【００２７】
図７は、図６に示した有線インタフェース部１５２−１〜１５２−３が送受信する信号のフレーム構成の一例を示す図である。
図６に示した有線インタフェース部１５２−１〜１５２−３が送受信する信号のフレーム構成は図７に示すように、宛先ＭＡＣアドレス４００と、送信元ＭＡＣアドレス４１０と、タイプ４２０と、データ４３０と、ＦＣＳ４４０とから構成される。
宛先ＭＡＣアドレス４００は、フレームの送信相手となる宛先のコンピュータのＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレスの情報を格納する。宛先ＭＡＣアドレス４００のサイズは、６ｂｙｔｅｓである。送信元ＭＡＣアドレス４１０は、フレームを送信する情報処理装置のＭＡＣアドレスの情報を格納する。送信元ＭＡＣアドレス４１０のサイズは、６ｂｙｔｅｓである。タイプ４２０は、次に続くデータ４３０に格納する上位層プロトコルを識別する値を格納する。タイプ４２０のサイズは、２ｂｙｔｅｓである。データ４３０は、ユーザデータを格納する。データ４３０のサイズは、４６〜１５００ｂｙｔｅｓである。ＦＣＳ４４０は、受信したフレームに誤りがないかどうかを調べるために付加されるデータである。ＦＣＳ４４０のサイズは、４ｂｙｔｅｓである。
【００２８】
図８は、図７に示したタイプ４２０に格納される値の一例を示す図である。
図７に示したタイプ４２０には図８に示すように、フレーム種別に応じた値が格納される。例えば、フレーム種別がブートローダプログラム３０２の更新通知フレームである場合、「０ｘ０００１」（ｘは１６進数を示す）がフレームタイプ値としてタイプ４２０に格納される。また、フレーム種別がブートローダプログラム３０２の更新応答フレームである場合、「０ｘ０００２」（ｘは１６進数を示す）がフレームタイプ値としてタイプ４２０に格納される。また、フレーム種別がブートローダプログラム３０２の更新データフレームである場合、「０ｘ０００３」（ｘは１６進数を示す）がフレームタイプ値としてタイプ４２０に格納される。
【００２９】
例えば、情報処理装置１０２−１が送信するフレームが、ブートローダプログラム３０２の更新通知フレームである場合、接続されている情報処理装置１０２−２，１０２−３すべてへフレームを送信するため、宛先ＭＡＣアドレス４００には、ブロードキャストＭＡＣアドレス（ＦＦ：ＦＦ：ＦＦ：ＦＦ：ＦＦ：ＦＦ）が設定される。送信元ＭＡＣアドレス４１０には、情報処理装置１０２−１のＭＡＣアドレスが設定される。タイプ４２０には、ブートローダプログラム３０２の更新通知フレームであることを示すため、０ｘ０００１が格納される。データ４３０は、サイズは４６ｂｙｔｅｓとし、ここでは任意の値とする。
また、情報処理装置１０２−２が情報処理装置１０２−１へ送信するフレームが、ブートローダプログラム３０２の更新応答フレームである場合、宛先ＭＡＣアドレス４００には、情報処理装置１０２−１のＭＡＣアドレスが設定される。送信元ＭＡＣアドレス４１０には、フレームを送信する情報処理装置１０２−２のＭＡＣアドレスが設定される。タイプ４２０には、ブートローダプログラム３０２の更新応答フレームであることを示すため、０ｘ０００２が格納される。データ４３０は、サイズは４６ｂｙｔｅｓとし、ここでは任意の値とする。
また、情報処理装置１０２−１が送信するフレームが、ブートローダプログラム３０２の更新データフレームである場合、宛先ＭＡＣアドレス４００には、ブートローダプログラム３０２の更新応答フレームを送信した情報処理装置の送信元ＭＡＣアドレスが設定される。送信元ＭＡＣアドレス４１０には、情報処理装置１０２−１のＭＡＣアドレスが設定される。タイプ４２０には、ブートローダプログラム３０２の更新データフレームであることを示すため、０ｘ０００３が格納される。データ４３０には、ブートローダプログラム３０２の更新データが格納される。ブートローダプログラム３０２の更新データのサイズが、データ４３０の最大サイズである１５００ｂｙｔｅｓよりも大きな場合、情報処理装置１０２−１は、ブートローダプログラム３０２の更新データを複数のブートローダプログラム３０２の更新データフレームに分割し、ブートローダプログラム３０２の更新データを送信する。
【００３０】
以下に、図６に示した形態における動作プログラムの更新方法について説明する。まずは、更新通知を送信する場合の処理について説明する。図９Ａ，９Ｂは、図６に示した形態における動作プログラムの更新方法のうち、更新通知を送信する場合の処理の一例を説明するためのフローチャートである。ここでは、図６に示した情報処理装置１０２−１がブートローダプログラム３０２の更新通知を送信する処理について説明する。
【００３１】
利用者が、情報処理装置１０２−１の電源を投入すると（ステップＳ３１）、ＣＰＵ１２２−１はプログラマブルＲＯＭ１３２−１からブートローダプログラム３０１を読み出し、実行（起動）する（ステップＳ３２）。その後、ＣＰＵ１２２−１は、起動したブートローダプログラム３０１の手順に従って以下の処理を実行する。ＣＰＵ１２２−１は、ブートローダプログラム３０２の更新の要求があるかどうかを判定する（ステップＳ３３）。例えば、ＣＰＵ１２２−１は、ブートローダプログラム３０１を実行した後、ブートローダプログラム３０２の更新要求を示す所定の入力をＵＡＲＴ１１２−１が受け付けた場合、ブートローダプログラム３０２の更新の要求があったと判定するものであっても良い。この所定の入力は、利用者が行うＰＣ２０２−１へのコマンド入力であっても良い。
【００３２】
ＣＰＵ１２２−１は、ブートローダプログラム３０２の更新の要求があったと判定した場合、ブートローダプログラム３０２の更新処理を実行する。この更新処理について、具体的に説明する。ＣＰＵ１２２−１は、ＵＡＲＴ１１２−１を介して、ＰＣ２０２−１からブートローダプログラム３０２の更新に必要な更新データを受信し、ＲＡＭ１４２−１に取得する（ステップＳ３４）。ＣＰＵ１２２−１は、ＲＡＭ１４２−１に取得したブートローダプログラム３０２の更新データを実行する（ステップＳ３５）。
【００３３】
ＣＰＵ１２２−１は、更新データ実行後、更新データが正常に実行完了したかどうかを判定する（ステップＳ３６）。例えば、ＣＰＵ１２２−１は、ＵＡＲＴ１１２−１に対して、ＣＰＵ１２２−１が実行した結果の出力を指示し、ＵＡＲＴ１１２−１が出力した結果に対して、結果が正常である旨を示す所定の入力をＵＡＲＴ１１２−１が受け付けた場合、更新データが正常に実行完了したと判定するものであっても良い。この所定の入力は、利用者が行うＰＣ２０２−１へのコマンド入力であっても良い。
ＣＰＵ１２２−１は、更新データが正常に実行完了したと判定した場合、情報処理装置１０２−１内に具備されたカウンタｔ１（不図示）に「０」の値を代入する（ステップＳ３７）。続いて、ＣＰＵ１２２−１は、有線インタフェース部１５２−１を用いて、有線ネットワーク１６２上へブートローダプログラム３０２の更新通知フレームを送信する（ステップＳ３８）。情報処理装置１０２−１がブートローダプログラム３０２の更新通知フレームを送信することにより、有線ネットワーク１６２と接続されている情報処理装置１０２−２，１０２−３へブートローダプログラム３０２を更新することを通知する。
【００３４】
それから所定の時間が経過した後、ＣＰＵ１２２−１は、有線ネットワーク１６２と接続されている情報処理装置１０２−２，１０２−３から、有線インタフェース部１５２−１がブートローダプログラム３０２の更新応答フレームを受信したかどうかを判定する（ステップＳ３９）。
有線インタフェース部１５２−１がブートローダプログラム３０２の更新応答フレームを受信した場合、ＣＰＵ１２２−１は、ブートローダプログラム３０２の更新応答フレームを送信元した送信元の情報処理装置へ、ステップＳ３４にてＲＡＭ１４２−１に取得したブートローダプログラム３０２の更新データを、有線インタフェース部１５２−１を介して送信する（ステップＳ４０）。続いて、ＣＰＵ１２２−１は、プログラマブルＲＯＭ１３２−１のブートローダプログラム３０２用のメモリエリアに格納されたデータを消去する（ステップＳ４１）。ＣＰＵ１２２−１は、ＲＡＭ１４２−１に取得済みのブートローダプログラム３０２の更新データを、プログラマブルＲＯＭ１３２−１のブートローダプログラム３０２用のメモリエリアへ書き込む（ステップＳ４２）。その後、ＣＰＵ１２２−１が情報処理装置１０２−１を再起動させる（ステップＳ４３）。これにより、ＣＰＵ１２２−１は、プログラマブルＲＯＭ１３２−１に書き込まれた更新データを用いて情報処理装置１０２−１を動作させる。
【００３５】
一方、ステップＳ３３にて、ＣＰＵ１２２−１は、ブートローダプログラム３０２の更新の要求がないと判定した場合、ＣＰＵ１２２−１は、ブートローダプログラム３０２の起動処理を実施する（ステップＳ４４）。具体的には、ＣＰＵ１２２−１は、通常動作時と同様に、ブートローダプログラム３０２をＲＡＭ１４２−１上へ展開して実行する。続いて、ＣＰＵ１２２−１は、システムプログラム３０３の起動処理を実施し（ステップＳ４５）、処理を実行する（ステップＳ４６）。具体的には、ＣＰＵ１２２−１は、システムプログラム３０３をＲＡＭ１４２−１上へ展開して実行する。その後、システムプログラム３０３の処理実行が継続される。
【００３６】
また、ステップＳ３６にて、ＣＰＵ１２２−１が、更新データが正常に実行完了しなかったと判定した場合、ＣＰＵ１２２−１は、ブートローダプログラム３０２の更新処理は実施せずに、情報処理装置１０２−１を再起動させる。
【００３７】
また、ステップＳ３９にて、有線インタフェース部１５２−１がブートローダプログラム３０２の更新応答フレームを受信しなかった場合、ＣＰＵ１２２−１は、カウンタｔ１の値をインクリメント（値に１を加算）する（ステップＳ４７）。そして、ＣＰＵ１２２−１は、そのカウンタｔ１の値があらかじめ設定された閾値を超えたかどうかを判定する（ステップＳ４８）。この閾値は、事前に行われた実験等の結果に基づいて定められた値である。
ＣＰＵ１２２−１は、カウンタｔ１の値が閾値を超えたと判定した場合、ステップＳ４１の処理を行う。一方、ＣＰＵ１２２−１は、カウンタｔ１の値が閾値を超えていないと判定した場合、ステップＳ３８の処理を行う。
【００３８】
なお、以上ではブートローダプログラム３０２の更新時の動作について説明を行ったが、システムプログラム３０３の更新時の動作についても適応可能である。
【００３９】
以下に、更新通知を受信する場合の処理について説明する。図１０Ａ，１０Ｂは、図６に示した形態における動作プログラムの更新方法のうち、更新通知を受信する場合の処理の一例を説明するためのフローチャートである。ここでは、図６に示した情報処理装置１０２−１がブートローダプログラム３０２の更新通知を送信し、情報処理装置１０２−２が更新通知を受信する処理について説明する。図６に示した情報処理装置１０２−１がブートローダプログラム３０２の更新通知を送信し、情報処理装置１０２−３が更新通知を受信する処理についても同様である。
【００４０】
まず、利用者が、情報処理装置１０２−２の電源を投入すると（ステップＳ５１）、情報処理装置１０２−２は、通常、システムプログラム３０３が実行された状態で動作している（ステップＳ５２）。システムプログラム３０３を実行時、ＣＰＵ１２２−２は、有線インタフェース部１５２−２がブートローダプログラム３０２の更新通知フレームを受信したかどうかを判定する（ステップＳ５３）。ＣＰＵ１２２−２は、ブートローダプログラム３０２の更新通知フレームを受信していないと判定した場合、システムプログラム３０３の実行を継続する。
【００４１】
一方、ＣＰＵ１２２−２は、ブートローダプログラム３０２の更新通知フレームを受信したと判定した場合、情報処理装置１０２−２を再起動させる（ステップＳ５４）。すると、ＣＰＵ１２２−２は、プログラマブルＲＯＭ１３２−２からブートローダプログラム３０１を読み出し、実行（起動）する（ステップＳ５５）。その後、ＣＰＵ１２２−２は、有線インタフェース部１５２−２が、ブートローダプログラム３０２の更新通知フレームを受信したかどうかを判定する（ステップＳ５６）。ＣＰＵ１２２−２は、ブートローダプログラム３０２の更新通知フレームを受信していないと判定した場合、ブートローダプログラム３０２の起動処理を実施する（ステップＳ５７）。具体的には、ＣＰＵ１２２−２は、通常動作時と同様に、ブートローダプログラム３０２をＲＡＭ１４２−２上へ展開して実行する。続いて、ＣＰＵ１２２−２は、システムプログラム３０３の起動処理を実施し（ステップＳ５８）、処理を実行する（ステップＳ５９）。具体的には、ＣＰＵ１２２−２は、システムプログラム３０３をＲＡＭ１４２−２上へ展開して実行する。その後、システムプログラム３０３の処理実行が継続される。
【００４２】
一方、ステップＳ５６にて、ＣＰＵ１２２−２は、ブートローダプログラム３０２の更新通知フレームを受信したと判定した場合、ブートローダプログラム３０２の更新通知フレーム内の送信元ＭＡＣアドレスを宛先ＭＡＣアドレスとして、有線インタフェース部１５２−２を用いてブートローダプログラム３０２の更新応答フレームを送信する（ステップＳ６０）。ＣＰＵ１２２−２がブートローダプログラム３０２の更新応答フレームを送信することにより、有線ネットワーク１６２と接続されている情報処理装置１０２−１へブートローダプログラム３０２を更新することを通知する。通知を受信した情報処理装置１０２−１は、有線インタフェース部１５２−１を介して、有線ネットワーク１６２と接続されているブートローダプログラム３０２の更新応答フレームの送信元の情報処理装置１０２−２へ、ステップＳ３４にてＲＡＭ１４２−１に取得したブートローダプログラム３０２の更新データを、ブートローダプログラム３０２の更新データフレームを用いて送信する。ブートローダプログラム３０２の更新応答フレームの送信元の情報処理装置１０２−２のＣＰＵ１２２−２は、有線ネットワーク１６２を介して情報処理装置１０２−１から送信されてきたブートローダプログラム３０２の更新データをＲＡＭ１４２−２に取得する（ステップＳ６１）。ＣＰＵ１２２−２は、ＲＡＭ１４２−２に取得したブートローダプログラム３０２の更新データを実行する（ステップＳ６２）。
【００４３】
ＣＰＵ１２２−２は、更新データ実行後、更新データが正常に実行完了したかどうかを判定する（ステップＳ６３）。例えば、ＣＰＵ１２２−２は、ＵＡＲＴ１１２−２に対して、ＣＰＵ１２２−２が実行した結果の出力を指示し、ＵＡＲＴ１１２−２が出力した結果に対して、結果が正常である旨を示す所定の入力をＵＡＲＴ１１２−２が受け付けた場合、更新データが正常に実行完了したと判定するものであっても良い。この所定の入力は、利用者が行うＰＣ２０２−２へのコマンド入力であっても良い。
ＣＰＵ１２２−２は、更新データが正常に実行完了したと判定した場合、プログラマブルＲＯＭ１３２−２のブートローダプログラム３０２用のメモリエリアに格納されたデータを消去する（ステップＳ６４）。続いて、ＣＰＵ１２２−２は、ＲＡＭ１４２−２に取得済みのブートローダプログラム３０２の更新データを、プログラマブルＲＯＭ１３２−２のブートローダプログラム３０２用のメモリエリアへ書き込む（ステップＳ６５）。その後、ＣＰＵ１２２−２が情報処理装置１０２−２を再起動させる（ステップＳ６６）。これにより、ＣＰＵ１２２−２は、プログラマブルＲＯＭ１３２−２に書き込まれた更新データを用いて情報処理装置１０２−２を動作させる。
【００４４】
一方、ステップＳ６３にて、ＣＰＵ１２２−２が、更新データが正常に実行完了しなかったと判定した場合、ＣＰＵ１２２−２は、ブートローダプログラム３０２の更新処理は実施せずに、情報処理装置１０２−２を再起動させる。
【００４５】
このように、複数の情報処理装置がネットワークを用いて接続された場合、１つの情報処理装置から他の情報処理装置へ、動作プログラムの更新通知を行い、その更新通知に応答した情報処理装置に対して、更新データを送信する。更新データを受信した情報処理装置は、第１および第２の実施の形態と同様に、更新データをＲＡＭ上で実行し、その実行結果が正常である場合、その更新データをプログラマブルＲＯＭへ書き込んでソフトウェアの更新を行う。これにより、複数の情報処理装置間で、更新データのやり取りが可能となり、各情報処理装置においては、更新データの正常動作を確認してからソフトウェアの更新を行うことができる。
【００４６】
以上、各構成要素に各機能（処理）それぞれを分担させて説明したが、この割り当ては上述したものに限定しない。また、構成要素の構成についても、上述した形態はあくまでも例であって、これに限定しない。
【００４７】
上述した情報処理装置１００，１０１，１０２−１〜１０２−３それぞれに設けられた各構成要素が行う処理は、目的に応じてそれぞれ作製された論理回路で行うようにしても良い。また、処理内容を手順として記述したコンピュータプログラム（以下、プログラムと称する）を情報処理装置１００，１０１，１０２−１〜１０２−３それぞれにて読取可能な記録媒体に記録し、この記録媒体に記録されたプログラムを情報処理装置１００，１０１，１０２−１〜１０２−３それぞれに読み込ませ、実行するものであっても良い。情報処理装置１００，１０１，１０２−１〜１０２−３それぞれにて読取可能な記録媒体とは、フロッピー（登録商標）ディスク、光磁気ディスク、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）、ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ）、Ｂｌｕ−ｒａｙ（登録商標）  Ｄｉｓｃなどの移設可能な記録媒体の他、情報処理装置１００，１０１，１０２−１〜１０２−３それぞれに内蔵されたＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等のメモリやＨＤＤ（Ｈａｒｄ  Ｄｉｓｃ  Ｄｒｉｖｅ）等を指す。この記録媒体に記録されたプログラムは、情報処理装置１００，１０１，１０２−１〜１０２−３それぞれに設けられたＣＰＵにて読み込まれ、ＣＰＵの制御によって、上述したものと同様の処理が行われる。ここで、ＣＰＵは、プログラムが記録された記録媒体から読み込まれたプログラムを実行するコンピュータとして動作するものである。
【００４８】
上記の実施の形態の一部または全部は、以下の付記のようにも記載され得るが、以下には限られない。
（付記１）情報処理装置であって、
当該情報処理装置を動作させるための動作プログラムの更新に必要な更新データを取得する第１のインタフェース部と、
前記第１のインタフェース部が取得した更新データを実行し、該更新データを実行した結果が正常である場合、前記更新データを、当該情報処理装置の再起動後に前記動作プログラムを実行させるためのメモリエリアに書き込み、当該情報処理装置を再起動させる制御部とを有する情報処理装置。
（付記２）前記制御部は、当該情報処理装置を起動した際、前記メモリエリアに格納されている起動プログラムを実行し、該起動プログラムの手順に従って、前記第１のインタフェース部に対して、前記更新データの取得を指示し、前記取得した更新データを実行し、該更新データを実行した結果が正常である場合、前記更新データを前記メモリエリアに書き込み、当該情報処理装置を再起動させる、付記１に記載の情報処理装置。
（付記３）前記第１のインタフェース部は、前記制御部が実行した結果を出力し、
前記制御部は、前記第１のインタフェース部が出力した結果に対して該結果が正常である旨を示す第１の入力を前記第１のインタフェース部が受け付けた場合、前記更新データを前記メモリエリアに書き込む、付記２に記載の情報処理装置。
（付記４）前記制御部は、前記起動プログラムの手順に従って、前記第１のインタフェース部に対して、前記制御部が実行した結果の出力を指示する、付記３に記載の情報処理装置。
（付記５）前記制御部は、前記起動プログラムを実行した後、前記動作プログラムの更新要求を示す第２の入力を前記第１のインタフェース部が受け付けた場合、前記第１のインタフェース部に対して、前記更新データの取得を指示する、付記２から４のいずれか１項に記載の情報処理装置。
（付記６）前記制御部の指示に基づいて所定の通知信号を送信する第２のインタフェース部を有し、
前記制御部は、前記更新データを実行した結果が正常である場合、前記通知信号を送信するように前記第２のインタフェース部へ指示し、前記第２のインタフェース部が、前記通知信号に対する応答信号を受信した場合、該応答信号を送信してきた装置に対して、前記更新データを送信するように第２のインタフェース部へ指示し、
前記第２のインタフェース部は、前記制御部の指示に基づいて前記更新データを送信する、付記から５のいずれか１項に記載の情報処理装置。
（付記７）前記第２のインタフェース部は、前記通知信号を送信してから所定の時間が経過しても前記応答信号を受信しない場合、該通知信号を再送する、付記６に記載の情報処理装置。
（付記８）前記メモリエリアは不揮発性メモリの領域である、付記１から７のいずれか１項に記載の情報処理装置。
（付記９）情報処理装置を動作させるための動作プログラムの更新に必要な更新データを取得する処理と、
前記取得した更新データを実行する処理と、
前記実行した結果が正常である場合、前記更新データを、前記情報処理装置の再起動後に前記動作プログラムを実行させるためのメモリエリアに書き込む処理と、
前記情報処理装置を再起動させる処理とを行う動作プログラムの更新方法。
（付記１０）コンピュータに、
情報処理装置を動作させるための動作プログラムの更新に必要な更新データを取得する手順と、
前記取得した更新データを実行する手順と、
前記実行した結果が正常である場合、前記更新データを、前記情報処理装置の再起動後に前記動作プログラムを実行させるためのメモリエリアに書き込む手順と、
前記情報処理装置を再起動させる手順とを実行させるためのプログラム。
【符号の説明】
【００４９】
１００，１０１，１０２−１〜１０２−３    情報処理装置
１１０    インタフェース部
１１１，１１２−１〜１１２−３    ＵＡＲＴ
１２０    制御部
１２１，１２２−１〜１２２−３    ＣＰＵ
１３０    メモリエリア
１３１，１３２−１〜１３２−３    プログラマブルＲＯＭ
１４１，１４２−１〜１４２−３    ＲＡＭ
１５２−１〜１５２−３    有線インタフェース部
１６２    有線ネットワーク
２０１，２０２−１〜２０２−３    ＰＣ
３０１，３０２    ブートローダプログラム
３０３    システムプログラム
４００    宛先ＭＡＣアドレス
４１０    送信元ＭＡＣアドレス
４２０    タイプ
４３０    データ
４４０    ＦＣＳ
【図１】
2018106251.tif 000003
【図２】
2018106251.tif 000004
【図３】
2018106251.tif 000005
【図４】
2018106251.tif 000006
【図５】
2018106251.tif 000007
【図６】
2018106251.tif 000008
【図７】
2018106251.tif 000009
【図８】
2018106251.tif 000010
【図９Ａ】
2018106251.tif 000011
【図９Ｂ】
2018106251.tif 000012
【図１０Ａ】
2018106251.tif 000013
【図１０Ｂ】
2018106251.tif 000014