(57)【要約】【課題】  ソフトウェアの更新中に異常が発生した場合であっても、異常を解消し、ソフトウェアを更新可能とする。【解決手段】  一実施形態に係る情報処理システムは、前記第１の情報処理装置は、ソフトウェアの更新処理を実行する更新処理部と、前記第１の情報処理装置のシャットダウン処理を実行する第１のシャットダウン処理部と、を備え、前記第２の情報処理装置は、前記更新処理部に前記更新処理の実行を依頼する更新依頼部と、前記更新処理の実行中に発生した異常を検知する異常検知部と、前記第２の情報処理装置のシャットダウン処理を実行する第２のシャットダウン処理部と、前記異常が検知された場合、前記第１のシャットダウン処理部及び前記第２のシャットダウン処理部に前記シャットダウン処理の実行を要求するシャットダウン要求部と、前記第２の情報処理装置のシャットダウン後、所定のタイミングで前記第２の情報処理装置を起動させる起動部と、を備える。【選択図】  図４
2018106409.tif 000002
【特許請求の範囲】
【請求項１】
第１の情報処理装置と、前記第１の情報処理装置に接続された第２の情報処理装置と、備える情報処理システムであって、
前記第１の情報処理装置は、
ソフトウェアの更新処理を実行する更新処理部と、
前記第１の情報処理装置のシャットダウン処理を実行する第１のシャットダウン処理部と、
を備え、
前記第２の情報処理装置は、
前記更新処理部に前記更新処理の実行を依頼する更新依頼部と、
前記更新処理の実行中に発生した異常を検知する異常検知部と、
前記第２の情報処理装置のシャットダウン処理を実行する第２のシャットダウン処理部と、
前記異常が検知された場合、前記第１のシャットダウン処理部及び前記第２のシャットダウン処理部に前記シャットダウン処理の実行を要求するシャットダウン要求部と、
前記第２の情報処理装置のシャットダウン後、所定のタイミングで前記第２の情報処理装置を起動させる起動部と、
を備える
情報処理システム。
【請求項２】
前記更新依頼部は、前記更新処理の実行を依頼する際、前記更新処理を実行中であることを示すフラグをセットし、前記更新処理が終了すると、前記フラグをクリアする
請求項１に記載の情報処理システム。
【請求項３】
前記更新依頼部は、前記第２の情報処理装置の起動後、前記フラグがセットされているか否かを確認し、前記フラグがセットされている場合、前記更新処理部に前記更新処理の実行を依頼する
請求項２に記載の情報処理システム。
【請求項４】
前記異常検知部は、前記更新処理部に定期的に前記更新処理の進捗を問い合せ、当該問い合わせに対する応答が得られない場合、及び所定時間以上前記更新処理が進捗していない場合、の少なくとも一方の場合に、前記異常が発生したと判断する
請求項１乃至請求項３のいずれか１項に記載の情報処理システム。
【請求項５】
前記第１の情報処理装置は、前記第１のシャットダウン処理部による前記シャットダウン処理の開始後、所定のタイミングで前記第１の情報処理装置をシャットダウンする電源切断部を更に備える
請求項１乃至請求項４のいずれか１項に記載の情報処理システム。
【請求項６】
前記更新依頼部は、前記更新処理の実行を連続して依頼した依頼回数が所定回数以上である場合、前記更新処理の実行を依頼しない
請求項１乃至請求項５のいずれか１項に記載の情報処理システム。
【請求項７】
第１の情報処理装置と接続された第２の情報処理装置が実行する情報処理方法であって、
前記第１の情報処理装置にソフトウェアの更新処理の実行を依頼する更新依頼工程と、
前記更新処理の実行中に発生した異常を検知する異常検知工程と、
前記異常が検知された場合、前記第１の情報処理装置にシャットダウン処理の実行を要求するシャットダウン要求工程と、
前記第２の情報処理装置のシャットダウン処理を実行する第２のシャットダウン処理工程と、
前記第２の情報処理装置のシャットダウン後、所定のタイミングで前記第２の情報処理装置を起動させる起動工程と、
を含む情報処理方法。
【請求項８】
第１の情報処理装置と接続された第２の情報処理装置に、
前記第１の情報処理装置にソフトウェアの更新処理の実行を依頼する更新依頼工程と、
前記更新処理の実行中に発生した異常を検知する異常検知工程と、
前記異常が検知された場合、前記第１の情報処理装置にシャットダウン処理の実行を要求するシャットダウン要求工程と、
前記第２の情報処理装置のシャットダウン処理を実行する第２のシャットダウン処理工程と、
前記第２の情報処理装置のシャットダウン後、所定のタイミングで前記第２の情報処理装置を起動させる起動工程と、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
従来、ＭＦＰ（Multi-Function Peripheral）のファームウェアをリモートから更新する方法が知られている。この方法では、ファームウェアの更新中に異常（エラー）が発生した場合、その場に作業者がいないため、異常を解消できず、ＭＦＰを長時間使用できなくなる恐れがある。このような問題を解消する方法として、ファームウェアの更新中に異常が発生した場合、更新中のファームウェアを元のファームウェアに戻すことにより、更新の失敗をリカバリする方法が提案されている。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
しかしながら、上記従来の方法によれば、ファームウェアの更新中に発生した異常は解消できるものの、結果的にファームウェアを更新できないという問題があった。
【０００４】
本発明は、上記の課題に鑑みてなされたものであり、ソフトウェアの更新中に異常が発生した場合であっても、異常を解消し、ソフトウェアを更新可能とすることを目的とする。
【課題を解決するための手段】
【０００５】
一実施形態に係る情報処理システムは、第１の情報処理装置と、前記第１の情報処理装置に接続された第２の情報処理装置と、備える情報処理システムであって、前記第１の情報処理装置は、ソフトウェアの更新処理を実行する更新処理部と、前記第１の情報処理装置のシャットダウン処理を実行する第１のシャットダウン処理部と、を備え、前記第２の情報処理装置は、前記更新処理部に前記更新処理の実行を依頼する更新依頼部と、前記更新処理の実行中に発生した異常を検知する異常検知部と、前記第２の情報処理装置のシャットダウン処理を実行する第２のシャットダウン処理部と、前記異常が検知された場合、前記第１のシャットダウン処理部及び前記第２のシャットダウン処理部に前記シャットダウン処理の実行を要求するシャットダウン要求部と、前記第２の情報処理装置のシャットダウン後、所定のタイミングで前記第２の情報処理装置を起動させる起動部と、を備える。
【発明の効果】
【０００６】
本発明の各実施形態によれば、ソフトウェアの更新中に異常が発生した場合であっても、異常を解消し、ソフトウェアを更新することができる。
【図面の簡単な説明】
【０００７】
【図１】第１実施形態に係るＭＦＰのシステム構成の一例を示す図。
【図２】第１実施形態に係る操作パネルのハードウェア構成の一例を示す図。
【図３】第１実施形態に係るコントローラのハードウェア構成の一例を示す図。
【図４】第１実施形態に係るＭＦＰの機能構成の一例を示す図。
【図５】操作パネルの表示装置に表示される画面の一例を示す図。
【図６】ファームウェアの更新中に異常が発生しない場合の処理の一例を示すシーケンス図。
【図７】ファームウェアの更新中に異常が発生する場合の処理の一例を示すシーケンス図。
【図８】第２実施形態に係る操作パネルのハードウェア構成の一例を示す図。
【図９】第２実施形態に係るＭＦＰの機能構成の一例を示す図。
【図１０】ファームウェアの更新中に異常が発生する場合の処理の一例を示すシーケンス図。
【図１１】第３実施形態に係るコントローラの処理の一例を示すフローチャート。
【発明を実施するための形態】
【０００８】
以下、本発明の各実施形態について、添付の図面を参照しながら説明する。なお、各実施形態に係る明細書及び図面の記載に関して、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重畳した説明を省略する。
【０００９】
＜第１実施形態＞
第１実施形態に係る情報処理システムについて、図１〜図７を参照して説明する。本実施形態に係る情報処理システムは、接続された２つの情報処理装置を備える任意のシステムであり得る。情報処理システムは、例えば、ＭＦＰ、印刷装置、スキャナ装置、ファックス装置、電子情報ボード、プロジェクタ装置又はデジタルカメラであるが、これに限られない。以下では、情報処理システムがＭＦＰである場合を例に説明する。
【００１０】
まず、本実施形態に係るＭＦＰの構成について説明する。図１は、本実施形態に係るＭＦＰのシステム構成の一例を示す図である。図１のＭＦＰは、操作パネル１と、コントローラ２と、を備える。
【００１１】
操作パネル１（第１の情報処理装置）は、ＭＦＰの入出力装置であり、ユーザがＭＦＰを操作するためのＵＩ（User Interface）を提供する。操作パネル１は、ＰＣＩｅｘｐｒｅｓｓやＵＳＢ（Universal Serial Bus）などのバスにより、コントローラ２と通信可能に接続される。
【００１２】
コントローラ２（第２の情報処理装置）は、ＭＦＰの全体を制御する制御装置であり、ＰＣＩｅｘｐｒｅｓｓやＵＳＢなどのバスにより、操作パネル１と通信可能に接続される。図１の例では、コントローラ２には、操作パネル１だけが接続されているが、ＭＦＰの他の構成（印刷装置、スキャナ装置及び搬送装置など）が接続されてもよい。
【００１３】
次に、本実施形態に係るＭＦＰのハードウェア構成について説明する。図２は、本実施形態に係る操作パネル１のハードウェア構成の一例を示す図である。図２の操作パネル１は、ＣＰＵ（Central Processing Unit）１０１と、ＲＯＭ（Read Only Memory）１０２と、ＲＡＭ（Random Access Memory）１０３と、ＰＭＣ（Power Management Controller）１０４と、を備える。また、操作パネル１は、入力装置１０５と、表示装置１０６と、接続Ｉ／Ｆ（Interface）１０７と、バス１０８と、を備える。
【００１４】
ＣＰＵ１０１は、プログラムを実行することにより、操作パネル１の各構成を制御し、操作パネル１の機能を実現する。ＲＯＭ１０２は、ＣＰＵ１０１が実行するプログラムや設定値を含む各種のデータを記憶する。ＲＯＭ１０２は、データを書き換え可能なＲＯＭ（フラッシュメモリなど）であり、操作パネル１のファームウェア、当該ファームウェアを更新するためのプログラム、及び操作パネル１のＯＳ（Operating System）を記憶する。ＲＡＭ１０３は、ＣＰＵ１０１に作業領域を提供する。ＰＭＣ１０４は、操作パネル１の電源を管理するマイコンである。入力装置１０５は、ユーザの操作を受け付け、操作パネル１に各種の情報を入力する。入力装置１０５は、例えば、マウス、キーボード、タッチパネル、ハードウェアキーなどである。表示装置１０６は、操作パネル１が保持している各種の情報を表示する。表示装置１０６は、例えば、液晶ディスプレイや有機ＥＬ（Electro Luminescence）ディスプレイなどである。接続Ｉ／Ｆ１０７は、操作パネル１をＰＣＩｅｘｐｒｅｓｓやＵＳＢなどのバスによりコントローラ２に接続するためのインタフェースである。操作パネル１は、接続Ｉ／Ｆ１０７を介して、コントローラ２と通信する。バス１０８は、ＣＰＵ１０１、ＲＯＭ１０２、ＲＡＭ１０３、ＰＭＣ１０４、入力装置１０５、表示装置１０６及び接続Ｉ／Ｆ１０７を接続する。
【００１５】
図３は、コントローラ２のハードウェア構成の一例を示す図である。図３のコントローラ２は、ＣＰＵ２０１と、ＲＯＭ２０２と、ＲＡＭ２０３と、ＰＭＣ２０４と、ＲＴＣ（Real Time Clock）２０５と、接続Ｉ／Ｆ２０６と、通信Ｉ／Ｆ２０７と、バス２０８と、を備える。
【００１６】
ＣＰＵ２０１は、プログラムを実行することにより、コントローラ２の各構成を制御し、コントローラ２の機能を実現する。ＲＯＭ２０２は、ＣＰＵ２０１が実行するプログラムや設定値を含む各種のデータを記憶する。ＲＯＭ２０２は、コントローラ２のＯＳや、操作パネル１のファームウェアを更新するためのプログラムを記憶する。ＲＡＭ２０３は、ＣＰＵ２０１に作業領域を提供する。ＰＭＣ２０４は、コントローラ２の電源を管理するマイコンである。ＲＴＣ２０５は、時間を計測するＩＣ（Integrated Circuit）であり、常時動作する。ＲＴＣ２０５は、コントローラ２の電源がオフの間、内蔵バッテリにより動作する。接続Ｉ／Ｆ２０６は、コントローラ２をＰＣＩｅｘｐｒｅｓｓやＵＳＢなどのバスにより操作パネル１に接続するためのインタフェースである。コントローラ２は、接続Ｉ／Ｆ２０６を介して、コントローラ２と通信する。通信Ｉ／Ｆ２０７は、コントローラ２をＬＡＮ（Local Area Network）やインターネットなどのネットワークに接続するためのインタフェースである。コントローラ２は、通信Ｉ／Ｆ２０７を介して外部装置と通信する。例えば、コントローラ２は、通信Ｉ／Ｆ２０７を介して、ＭＦＰの管理サーバから操作パネル１の新たなファームウェアを受信する。バス２０８は、ＣＰＵ２０１、ＲＯＭ２０２、ＲＡＭ２０３、ＰＭＣ２０４、ＲＴＣ２０５、接続Ｉ／Ｆ２０６及び通信Ｉ／Ｆ２０７を接続する。
【００１７】
次に、本実施形態に係るＭＦＰの機能構成について説明する。図４は、本実施形態に係るＭＦＰの機能構成の一例を示す図である。以下、操作パネル１及びコントローラ２の機能構成についてそれぞれ説明する。
【００１８】
まず、操作パネル１の機能構成について説明する。図４の操作パネル１は、更新処理部１１と、表示部１２と、シャットダウン処理部１３と、電源管理部１４と、を備える。
【００１９】
更新処理部１１は、操作パネル１のソフトウェアの更新処理を実行する。本実施形態では、更新処理部１１が操作パネル１のファームウェアを更新する場合を例に説明するが、更新処理部１１は、操作パネル１のＯＳやアプリケーションを更新してもよい。更新処理部１１の機能は、ＣＰＵ１０１がプログラムを実行することにより実現される。
【００２０】
表示部１２は、表示装置１０６にホーム画面や設定画面などの画面を表示する。ホーム画面は、ユーザが利用するＭＦＰの機能（プリンタ機能やスキャナ機能）を選択するための画面である。設定画面は、ユーザが機能を利用する際に適用される設定値を設定するための画面である。また、表示部１２は、操作パネル１のファームウェアの更新中に、ファームウェアの更新中であることをユーザに通知するためのメッセージを表示装置１０６に表示する。
【００２１】
ここで、図５は、表示装置１０６に表示される画面の一例を示す図である。図５の画面には、「ファームウェアを更新中です。電源を切らないでください。」というメッセージが表示されている。このような画面を表示することにより、ファームウェアの更新中にユーザがＭＦＰの電源を切断することを防ぐことができる。表示部１２が表示する表示部１２の機能は、ＣＰＵ１０１がプログラムを実行することにより実現される。
【００２２】
シャットダウン処理部１３（第１のシャットダウン処理部）は、コントローラ２からの要求に応じて、操作パネル１のシャットダウン処理を実行する。シャットダウン処理部１３の機能は、ＣＰＵ１０１が操作パネル１のＯＳを実行することにより実現される。
【００２３】
電源管理部１４は、操作パネル１の電源を管理する。すなわち、電源管理部１４は、操作パネル１への電源の投入（ＯＮ）及び操作パネル１の電源の切断（ＯＦＦ）を管理する。電源管理部１４の機能は、ＰＭＣ１０４により実現される。
【００２４】
次に、コントローラ２の機能構成について説明する。図４のコントローラ２は、更新依頼部２１と、異常検知部２２と、シャットダウン要求部２３と、シャットダウン処理部２４と、起動部２５と、電源管理部２６と、を備える。
【００２５】
更新依頼部２１は、サーバなどの外部装置から、操作パネル１の新たなファームウェアを受信すると、当該ファームウェアを操作パネル１に渡し、更新処理部１１にファームの更新処理の実行を依頼する。更新依頼部２１は、新たなファームウェアの代わりに、元のファームウェアとの差分を受信してもよい。更新依頼部２１の機能は、ＣＰＵ２０１がプログラムを実行することにより実現される。
【００２６】
異常検知部２２は、操作パネル１のファームウェアの更新が開始されると、更新処理が正常に行われているか監視し、更新処理の実行中に操作パネル１において発生した異常を検知する。異常の検知方法として、既存の任意の方法を利用できる。例えば、異常検知部２２は、更新処理部１１から異常が発生したことを通知されてもよい。また、異常検知部２２は、更新処理部１１に定期的に更新処理の進捗を問い合わせてもよい。この場合、異常検知部２２は、問い合わせに対する応答が得られない場合や、予め設定された第１待機時間（例えば、３０分）以上更新処理が進捗していない場合に、ファームウェアの更新中（更新処理の実行中）に異常が発生したと判断すればよい。第１待機時間は、任意に設定可能であるが、更新処理に要する時間以上の時間に設定されるのが好ましい。これは、更新処理が一時的に滞っている場合に、異常が発生したと誤って判断することを防ぐためである。このように第１待機時間を設定することにより、異常検知部２２は、ファームウェアの更新中に発生した異常を正確に検知することができる。異常検知部２２の機能は、ＣＰＵ２０１がプログラムを実行することにより実現される。
【００２７】
シャットダウン要求部２３は、ファームウェアの更新中に発生した異常が異常検知部２２により検知された場合、シャットダウン処理部１３に操作パネル１のシャットダウン処理の実行を要求する。また、シャットダウン要求部２３は、ファームウェアの更新中に発生した異常が異常検知部２２により検知された場合、シャットダウン処理部２４にコントローラ２のシャットダウン処理の実行を要求する。すなわち、本実施形態では、ファームウェアの更新中に異常が検知されると、操作パネル１及びコントローラ２がいずれもシャットダウンされる。シャットダウン要求部２３の機能は、ＣＰＵ２０１がプログラムを実行することにより実現される。
【００２８】
シャットダウン処理部２４（第２のシャットダウン処理部）は、シャットダウン要求部２３からの要求に応じて、コントローラ２のシャットダウン処理を実行する。シャットダウン処理部２４の機能は、ＣＰＵ２０１がコントローラ２のＯＳを実行することにより実現される。
【００２９】
起動部２５は、コントローラ２のシャットダウン後、所定のタイミングでコントローラ２を起動させる。起動部２５の機能は、ＲＴＣ２０５により実現される。コントローラ２は、起動すると、操作パネル１を起動させる。本実施形態では、このような方法でＭＦＰを再起動することにより、更新処理のエラーを解消することを意図している。ＭＦＰをこのように再起動する理由は、以下の通りである。
【００３０】
ＭＦＰをＯＳが実行する通常の再起動処理により再起動する場合、コントローラ２は、操作パネル１に対して再起動処理に特有の準備処理（例えば、再起動時の起動時間を短縮するための処理など）を要求する必要がある。しかしながら、準備処理を要求した時点で、操作パネル１には何らかの異常が発生しているため、コントローラ２は、要求に対する応答を得られない恐れがある。また、準備処理の要求に対して、操作パネル１が予期しない動作を実行する恐れもある。さらに、通常の再起動処理では、操作パネル１及びコントローラ２のＲＡＭ１０３，２０３がクリアされないため、ＲＡＭ１０３，２０３に、異常の原因となったデータが残る恐れがある。
【００３１】
いずれの場合も、ＭＦＰの再起動による異常の解消に支障をきたす恐れがあるため、本実施形態では、通常の再起動処理ではなく、上記のような方法でＭＦＰを再起動する。本実施形態に係る再起動方法でＭＦＰを再起動することにより、操作パネル１の応答の遅延や余計な処理を抑制することができる。また、操作パネル１及びコントローラ２のＲＡＭ１０３，２０３がクリアされるため、余計なデータがＲＡＭ１０３，２０３に残ることを防ぐことができる。
【００３２】
電源管理部２６は、コントローラ２の電源を管理する。すなわち、電源管理部２６は、コントローラ２への電源の投入及びコントローラ２の電源の切断を管理する。電源管理部２６の機能は、ＰＭＣ２０４により実現される。
【００３３】
次に、本実施形態におけるファームウェアの更新処理について説明する。図６は、ファームウェアの更新中に異常が発生しない場合の処理の一例を示すシーケンス図である。図６の処理は、更新依頼部２１が外部のサーバから操作パネル１の新たなファームウェアを受信すると開始する。
【００３４】
まず、更新依頼部２１は、新たなファームウェアを更新処理部１１に渡し、更新処理部１１にファームウェアの更新を依頼する（ステップＳ１０１）。また、更新依頼部２１は、更新処理を実行中であることを示す更新中フラグをセットする（ステップＳ１０２）。更新中フラグは、ＲＯＭ１０２に設けられる。さらに、更新依頼部２１は、ファームウェアの更新開始を異常検知部２２に通知する（ステップＳ１０３）。
【００３５】
更新処理部１１は、ファームウェアの更新を依頼されると、ファームウェアの更新処理を開始する（ステップＳ１０４）。また、更新処理部１１は、表示部１２にファームウェアの更新開始を通知する（ステップＳ１０５）。表示部１２は、ファームウェアの更新開始を通知されると、ファームウェアを更新中であることを示すメッセージを表示装置１０６に表示する（ステップＳ１０６）。これにより、表示装置１０６に図５のような画面が表示される。
【００３６】
一方、異常検知部２２は、ファームウェアの更新開始を通知されると、更新処理の監視を開始する（ステップＳ１０７）。まず、異常検知部２２は、更新処理部１１に更新処理の進捗を問い合せる（ステップＳ１０８）。進捗を問い合わされた更新処理部１１は、更新処理の現在の進捗を異常検知部２２に応答する（ステップＳ１０９）。異常検知部２２は、この応答を確認し、更新処理が正常に行われているか判断する。異常検知部２２は、更新処理の監視中、上記の処理を定期的に実行する。
【００３７】
その後、更新処理部１１は、ファームウェアの更新処理が終了すると（ステップＳ１１０）、ファームウェアの更新終了を更新依頼部２１及び異常検知部２２に通知する（ステップＳ１１１）。更新依頼部２１は、ファームウェアの更新終了を通知されると、更新中フラグをクリアする（ステップＳ１１２）。また、異常検知部２２は、更新処理の監視を終了する（ステップＳ１１３）。以上の処理により、ＭＦＰは、操作パネル１のファームウェアを更新することができる。
【００３８】
図７は、ファームウェアの更新中に異常が発生する場合の処理の一例を示すシーケンス図である。図７の処理は、その開始時点でファームウェアの更新処理が実行中である。
【００３９】
ファームウェアの更新中に異常が発生すると（ステップＳ２０１）、更新処理部１１は、異常検知部２２からの問い合わせに対して、応答できなくなることが考えられる。更新処理部１１からの応答が得られない場合、異常検知部２２は、ファームウェアの更新中に異常が発生したと判断する。すなわち、異常検知部２２は、更新処理の異常を検知する（ステップＳ２０２）。なお、上述の通り、異常検知部２２は、第１待機時間以上更新処理が進捗しない場合に、ファームウェアの更新中に異常が発生したと判断してもよい。異常検知部２２は、異常を検知すると、ファームウェアの更新中に異常が発生したことをシャットダウン要求部２３に通知する（ステップＳ２０３）。
【００４０】
シャットダウン要求部２３は、異常の発生を通知されると、操作パネル１のシャットダウン処理部１３にシャットダウン処理の実行を要求する（ステップＳ２０４）。シャットダウン処理部１３は、シャットダウンを要求されると、操作パネル１のシャットダウン処理を実行する（ステップＳ２０５）。シャットダウン処理には、ＲＯＭ１０２へのデータの退避などが含まれる。
【００４１】
シャットダウン処理部１３は、シャットダウン処理が終了し、安全に操作パネル１の電源を切断可能になると、電源管理部１４に操作パネル１の電源の切断を要求する（ステップＳ２０７）。電源管理部１４は、電源の切断を要求されると、操作パネル１の電源を切断する（ステップＳ２０７）。これにより、操作パネル１がシャットダウンされる。
【００４２】
一方、シャットダウン要求部２３は、異常の発生を通知されると、コントローラ２のシャットダウン処理部２４に第２待機時間（例えば、５分）を通知し、シャットダウン処理部２４にシャットダウン処理の実行を要求する（ステップＳ２０８）。第２待機時間は、起動部２５が計測を開始してから、コントローラ２を起動させるまでの時間である。第２待機時間は、任意に設定可能であるが、コントローラ２のシャットダウン処理に要する時間以上の時間に設定されるのが好ましい。これにより、コントローラ２を確実にシャットダウンすることができる。
【００４３】
シャットダウン処理部２４は、シャットダウンを要求されると、シャットダウン要求部２３から通知された第２待機時間を起動部２５に設定し、起動部２５に第２待機時間の計測開始を要求する（ステップＳ２０９）。起動部２５は、計測開始を要求されると、第２待機時間の計測を開始する（ステップＳ２１０）。
【００４４】
また、シャットダウン処理部２４は、シャットダウンを要求されると、コントローラ２のシャットダウン処理を実行する（ステップＳ２１１）。シャットダウン処理には、ＲＯＭ２０２へのデータの退避などが含まれる。
【００４５】
シャットダウン処理部２４は、シャットダウン処理が終了し、安全にコントローラ２の電源を切断可能になると、電源管理部２６にコントローラ２の電源の切断を要求する（ステップＳ２１２）。電源管理部２６は、電源の切断を要求されると、コントローラ２の電源を切断する（ステップＳ２１３）。これにより、コントローラ２がシャットダウンされる。コントローラ２のシャットダウン後も、起動部２５は、第２待機時間の計測を続ける。
【００４６】
第２待機時間の計測を開始してから第２待機時間が経過し、起動部２５が第２待機時間の計測を終了すると（ステップＳ２１４）、起動部２５は、電源管理部２６にコントローラ２の起動を要求する（ステップＳ２１５）。電源管理部２６は、コントローラ２の起動を要求されると、コントローラ２に電源を投入し（ステップＳ２１６）、コントローラ２を起動する。
【００４７】
また、電源管理部２６は、コントローラ２に電源を投入すると、電源管理部１４に操作パネル１の起動を要求する（ステップＳ２１７）。電源管理部１４は、操作パネル１の起動を要求されると、操作パネル１に電源を投入し（ステップＳ２１８）、操作パネル１を起動する。
【００４８】
コントローラ２が起動すると、更新依頼部２１は、更新中フラグの状態、すなわち、更新中フラグがセットされているか否かを確認する（ステップＳ２１９）。ファームウェアの更新中に異常が発生し、ＭＦＰが再起動された場合、更新中フラグはセットされ、それ以外の場合、更新中フラグはクリアされている。したがって、更新依頼部２１は、更新中フラグの状態を確認することにより、ファームウェアの更新が失敗したか否か判断することができる。
【００４９】
図７の例では、更新中フラグはセットされているため、更新依頼部２１は、ファームウェアの更新が失敗したと判断する。そして、更新依頼部２１は、ファームウェアの更新処理を再度実行するために、新たなファームウェアを更新処理部１１に渡し、更新処理部１１にファームウェアの更新を依頼する（ステップＳ２２０）。また、更新依頼部２１は、ファームウェアの更新開始を異常検知部２２に通知する（ステップＳ２２１）。以降の処理は、図６のステップＳ１０４以降と同様である。
【００５０】
以上説明した通り、本実施形態によれば、操作パネル１のファームウェアの更新中に異常が発生した場合、ＭＦＰを再起動し、改めてファームウェアの更新処理を実行する。したがって、ファームウェアの更新中に発生した異常が、ＭＦＰの再起動により解消可能なものである場合、自動的に当該異常を解消し、ファームウェアを更新することができる。本実施形態に係るＭＦＰは、作業者がいなくても、操作パネル１の異常を解消することができるため、ファームウェアをリモートから更新するＭＦＰとして好適に利用可能である。
【００５１】
＜第２実施形態＞
第２実施形態に係るＭＦＰについて、図８〜図１０を参照して説明する。ファームウェアの更新中に異常が発生した場合、当該異常が原因となって、シャットダウン処理部１３が操作パネル１のシャットダウン処理を実行できないことが考えられる。第１実施形態に係るＭＦＰでは、操作パネル１のシャットダウン処理が実行されないと、操作パネル１をシャットダウンできないため、結果的にファームウェアを更新することができない。そこで、本実施形態では、シャットダウン処理部１３が操作パネル１のシャットダウン処理を実行できない場合であっても、ファームウェアを更新することができるＭＦＰについて説明する。なお、本実施形態において、コントローラ２の構成は、第１実施形態と同様である。
【００５２】
まず、本実施形態に係る操作パネル１のハードウェア構成について説明する。図８は、本実施形態に係る操作パネル１のハードウェア構成の一例を示す図である。図８の操作パネル１は、ＷＤＴ（Watch Dog Timer）１０９を備える。操作パネル１の他の構成は、第１実施形態と同様である。
【００５３】
ＷＤＴ１０９は、時間を計測するＩＣである。図８の例では、ＷＤＴ１０９は、ＰＭＣ１０４に搭載されているが、ＰＭＣ１０４とは独立して設けられてもよい。
【００５４】
次に、本実施形態に係る操作パネル１の機能構成について説明する。図９は、本実施形態に係る操作パネル１の機能構成の一例を示す図である。図９の操作パネル１は、電源切断部１５を備える。操作パネル１の他の構成は第１実施形態と同様である。
【００５５】
電源切断部１５は、シャットダウン処理部１３による操作パネル１のシャットダウン処理の開始後、シャットダウン処理が終了しているか否かにかかわらず、所定のタイミングで操作パネル１をシャットダウンする。電源切断部１５の機能は、ＷＤＴ１０９により実現される。
【００５６】
次に、本実施形態におけるファームウェアの更新処理について説明する。図１０は、ファームウェアの更新中に異常が発生する場合の処理の一例を示すシーケンス図である。図１０のシーケンスは、図７のシーケンス図にステップＳ２２２〜Ｓ２２７を追加したものである。ただし、図１０では、操作パネル１のシャットダウン処理部１３によるシャットダウン処理（ステップＳ２０５）が行われない場合を想定しているため、ステップＳ２０５〜Ｓ２０７が省略されている。以下、ステップＳ２２２〜Ｓ２２７について説明する。
【００５７】
本実施形態において、シャットダウン処理部２４は、シャットダウンを要求されると、コントローラ２の電源管理部１４に第３待機時間を通知し、電源切断部１５に対する第３待機時間の設定を要求する。第３待機時間は、電源切断部１５が計測を開始してから、操作パネル１の電源を切断するまでの時間である。第３待機時間は、任意に設定可能であるが、操作パネル１のシャットダウン処理に要する時間以上の時間に設定されるのが好ましい。これにより、シャットダウン処理部１３がシャットダウン処理を実行可能な場合、操作パネル１を確実にシャットダウンすることができる。
【００５８】
電源管理部１４は、第３待機時間の設定を要求されると、電源切断部１５に第３待機時間を設定し、第３待機時間の計測開始を要求する（ステップＳ２２３）。なお、本実施形態では、ＷＤＴ１０９がＰＭＣ１０４に搭載されている場合を想定しているため、シャットダウン処理部２４は、電源管理部１４を介して電源切断部１５に第３待機時間を設定している。しかしながら、ＷＤＴ１０９がＰＭＣ１０４とは独立して設けられている場合には、シャットダウン処理部２４は、電源切断部１５に直接的に第３待機時間を設定し、第３待機時間の計測開始を要求してもよい。
【００５９】
電源切断部１５は、計測開始を要求されると、第３待機時間の計測を開始する（ステップＳ２２４）。第３待機時間の計測を開始してから第３待機時間が経過し、電源切断部１５が第３待機時間の計測を終了すると（ステップＳ２２２５）、電源切断部１５は、電源管理部１４に操作パネル１の電源の切断を要求する（ステップＳ２２６）。電源管理部１４は、電源の切断を要求されると、操作パネル１の電源を切断する（ステップＳ２２７）。これにより、操作パネル１がシャットダウンされる。
【００６０】
以上説明した通り、本実施形態によれば、操作パネル１のシャットダウン処理部１３がシャットダウン処理を実行できない場合であっても、操作パネル１をシャットダウンすることができる。したがって、第１実施形態と同様に、ファームウェアの更新中に発生した異常が、ＭＦＰの再起動により解消可能なものである場合、自動的に当該異常を解消し、ファームウェアを更新することができる。
【００６１】
＜第３実施形態＞
第３実施形態に係るＭＦＰについて、図１１を参照して説明する。本実施形態では、ファームウェアの更新の依頼回数に上限回数Ｉが設定されているＭＦＰについて説明する。本実施形態に係る操作パネル１及びコントローラ２の構成は第１実施形態と同様である。
【００６２】
図１１は、本実施形態に係るコントローラ２の処理の一例を示すフローチャートである。図１１の処理は、更新依頼部２１が外部のサーバから操作パネル１の新たなファームウェアを受信すると開始する。
【００６３】
まず、更新依頼部２１は、更新の依頼回数ｉを０に設定し（ステップＳ３０１）、新たなファームウェアを更新処理部１１に渡し、更新処理部１１にファームウェアの更新を依頼し（ステップＳ３０２）、依頼回数ｉを１増加させる（ステップＳ３０３）。以降、図６のステップＳ１０２〜Ｓ１０９の処理が実行される。
【００６４】
更新中に異常が発生せず、異常検知部２２が異常を検知しなかった場合（ステップＳ３０４のＮＯ）、図６のステップＳ１１０〜Ｓ１１３の処理が実行され、処理が終了する。この結果、ファームウェアは正常に更新される。
【００６５】
一方、更新中に異常が発生し、異常検知部２２が異常を検知した場合（ステップＳ３０４のＹＥＳ）、図７のステップＳ２０３〜Ｓ２１８の処理が実行され、ＭＦＰが再起動される（ステップＳ３０５）。ＭＦＰが第２実施形態と同様の構成を備える場合には、図１０のステップＳ２０３〜Ｓ２１８，Ｓ２２２〜Ｓ２２７の処理が実行されてもよい。
【００６６】
ＭＦＰが再起動すると、更新依頼部２１は、ファームウェアの更新の依頼回数ｉが、予め設定された上限回数Ｉ以上であるか判定する（ステップＳ３０６）。上限回数Ｉは任意に設定可能である。
【００６７】
依頼回数ｉが上限回数Ｉ未満である場合（ステップＳ３０６のＹＥＳ）、処理はステップＳ３０２に戻り、図７のステップＳ２１９以降の処理が実行される。
【００６８】
一方、依頼回数ｉが上限回数Ｉ以上である場合（ステップＳ３０６のＮＯ）、処理は終了する。この場合、操作パネル１のファームウェアは更新されない。
【００６９】
以上説明した通り、本実施形態によれば、更新依頼部２１が、更新処理部１１にファームウェアの更新を連続して依頼する依頼回数ｉをカウントすることにより、依頼回数ｉを上限回数Ｉ以下に制限することができる。これにより、ファームウェアの更新中に発生した異常が、ＭＦＰの再起動により解消できないものである場合に、ＭＦＰの再起動回数を制限することができる。この結果、ＭＦＰの再起動が原因でユーザがＭＦＰを使用できない期間を短縮することができる。
【００７０】
なお、上記実施形態に挙げた構成等に、その他の要素との組み合わせなど、ここで示した構成に本発明が限定されるものではない。これらの点に関しては、本発明の趣旨を逸脱しない範囲で変更することが可能であり、その応用形態に応じて適切に定めることができる。
【符号の説明】
【００７１】
１：操作パネル
２：コントローラ
１１：更新処理部
１２：表示部
１３：シャットダウン処理部
１４：電源管理部
１５：電源切断部
２１：更新依頼部
２２：異常検知部
２３：シャットダウン要求部
２４：シャットダウン処理部
２５：起動部
２６：電源管理部
【先行技術文献】
【特許文献】
【００７２】
【特許文献１】特開２０１６−５３８３９号公報
【図１】
2018106409.tif 000003
【図２】
2018106409.tif 000004
【図３】
2018106409.tif 000005
【図４】
2018106409.tif 000006
【図５】
2018106409.tif 000007
【図６】
2018106409.tif 000008
【図７】
2018106409.tif 000009
【図８】
2018106409.tif 000010
【図９】
2018106409.tif 000011
【図１０】
2018106409.tif 000012
【図１１】
2018106409.tif 000013