(57)【要約】【課題】システムプログラムを更新する更新プログラムが正常に動作しなくなった場合でも復旧させることを目的とする。【解決手段】記憶部を有する情報処理装置であって、システムプログラムを起動する第１の起動手段と、記憶部に記憶されている、システムプログラムを更新する更新プログラムを起動する第２の起動手段と、更新プログラムが正常でない場合、回復プログラムを起動し、システムプログラムを更新する更新プログラムを含む記憶部のスナップショットイメージが格納された記憶媒体の装着を促すメッセージを出力する制御手段と、を有する。【選択図】図３
2019049907.tif 000002
【特許請求の範囲】
【請求項１】
記憶部を有する情報処理装置であって、
システムプログラムを起動する第１の起動手段と、
前記記憶部に記憶されている、前記システムプログラムを更新する更新プログラムを起動する第２の起動手段と、
前記更新プログラムが正常でない場合、回復プログラムを起動し、システムプログラムを更新する更新プログラムを含む前記記憶部のスナップショットイメージが格納された記憶媒体の装着を促すメッセージを出力する制御手段と、
を有する情報処理装置。
【請求項２】
前記制御手段は、前記記憶媒体が装着されている場合は、前記記憶媒体に格納されている前記スナップショットイメージを前記記憶部に複製する請求項１記載の情報処理装置。
【請求項３】
前記制御手段は、前記複製が完了しない場合、前記記憶部を含む部品の交換を促すメッセージを出力する請求項２記載の情報処理装置。
【請求項４】
前記記憶部は、ｅＭＭＣ（ｅｍｂｅｄｄｅｄ  ＭｕｌｔｉＭｅｄｉａＣａｒｄ）であり、
前記システムプログラムは、前記ｅＭＭＣの第１の記憶領域に記憶され、
前記更新プログラムは、前記ｅＭＭＣの第２の記憶領域に記憶され、
前記制御手段は、前記更新プログラムが正常でない場合、回復プログラムを起動し、システムプログラムを更新する更新プログラムを含む前記第２の記憶領域のスナップショットイメージが格納された記憶媒体の装着を促すメッセージを出力する請求項１乃至３何れか１項記載の情報処理装置。
【請求項５】
前記制御手段は、前記記憶媒体の装着を促すメッセージを操作部に表示する請求項１乃至３何れか１項記載の情報処理装置。
【請求項６】
前記制御手段は、前記部品の交換を促すメッセージを操作部に表示する請求項３記載の情報処理装置。
【請求項７】
前記情報処理装置は、画像形成装置である請求項１乃至６何れか１項記載の情報処理装置。
【請求項８】
記憶部を有する情報処理装置が実行する情報処理方法であって、
システムプログラムを起動する第１の起動工程と、
前記記憶部に記憶されている、前記システムプログラムを更新する更新プログラムを起動する第２の起動工程と、
前記更新プログラムが正常でない場合、回復プログラムを起動し、システムプログラムを更新する更新プログラムを含む前記記憶部のスナップショットイメージが格納された記憶媒体の装着を促すメッセージを出力する制御工程と、
を含む情報処理方法。
【請求項９】
コンピュータを、請求項１乃至７何れか１項記載の情報処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
近年、プリンタやコンピュータのような機器において、ネットワークやＵＳＢといった外部インタフェースからプログラムを更新することが一般的となっている。
停電等によりプログラム更新中に機器への電源供給が停止した場合、プログラムの更新が失敗する可能性がある。
更新前のプログラムのバックアップを作成しておき、更新するプログラムが機器内にすべて格納されていなければ、バックアップした更新前のプログラムにロールバックする機能が知られている（特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−３１５１５７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、システムの起動に必要なプログラムを更新するための更新用のプログラムが正常に起動しなかった場合、特許文献１の技術では、その状態で再起動を繰り返してしまい、復旧できない可能性がある。
【課題を解決するための手段】
【０００５】
本発明は、記憶部を有する情報処理装置であって、システムプログラムを起動する第１の起動手段と、前記記憶部に記憶されている、前記システムプログラムを更新する更新プログラムを起動する第２の起動手段と、前記更新プログラムが正常でない場合、回復プログラムを起動し、システムプログラムを更新する更新プログラムを含む前記記憶部のスナップショットイメージが格納された記憶媒体の装着を促すメッセージを出力する制御手段と、を有する。
【発明の効果】
【０００６】
本発明によれば、システムプログラムを更新する更新プログラムが正常に動作しなくなった場合でも復旧させることができる。
【図面の簡単な説明】
【０００７】
【図１】画像形成装置のハードウェア構成の一例を示す図である。
【図２】ｅＭＭＣのパーティション構成の一例を示す図である。
【図３】復旧方法に関する情報処理の一例を示すフローチャートである。
【発明を実施するための形態】
【０００８】
以下、本発明の実施形態について図面に基づいて説明する。
【０００９】
＜実施形態１＞
図１は、画像形成装置１のハードウェア構成の一例を示す図である。
画像形成装置１は、ハードウェア構成として、コントローラユニット１００、操作部ユニット１１１、プリンタユニット１１２から構成される。
コントローラユニット１００は、各デバイスや各ユニットを制御する。操作部ユニット１１１は、画像形成装置１の操作や表示を行うためのユニットである。プリンタユニット１１２は、デジタル画像を紙デバイスに出力するエンジンである。
コントローラユニット１００は、いわゆる汎用的なＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）システムである。コントローラユニット１００は、ＣＰＵ１０１、ブートロム１０２、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１０３、ＳＲＡＭ１０４、ＲＴＣ（Ｒｅａｌ  Ｔｉｍｅ  Ｃｌｏｃｋ）１０５を含む。また、コントローラユニット１００は、ｅＭＭＣ（ｅｍｂｅｄｄｅｄ  ＭｕｌｔｉＭｅｄｉａＣａｒｄ）１０６、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）１０７、ＵＳＢホストＩ／Ｆ１０８、ＵＳＢデバイスＩ／Ｆ１０９、ネットワークＩ／Ｆ１１０を含む。ｅＭＭＣ１０６は、記憶部の一例である。
ＣＰＵ１０１は、画像形成装置１全体を制御する。ブートロム１０２は、ブートプログラムや回復用プログラムを記憶する。ＲＡＭ１０３は、ブートロム１０２、ｅＭＭＣ１０６等から展開されたプログラムを記憶したり、ＣＰＵ１０１がプログラムに基づき処理を実行する際のデータ等を一時的に記憶したりする。ＳＲＡＭ１０４は、電力供給が遮断された場合でも画像形成装置１を動作させるために必要な設定情報等のデータを保持する。ＲＴＣ１０５は、時計の機能を提供する。ｅＭＭＣ１０６は、プログラムや各種データを格納し、メインストレージとして使用される。ＨＤＤ１０７は、プログラムや各種データを格納し、サブストレージとして使用され、取り外し可能である。ＵＳＢホストＩ／Ｆ１０８は、ＵＳＢメモリやＵＳＢカードリーダー等のＵＳＢデバイスと接続可能なインタフェースである。ＵＳＢデバイスＩ／Ｆ１０９は、外部装置とＵＳＢケーブルで接続可能なインタフェースである。ネットワークＩ／Ｆ１１０は、有線ＬＡＮ及び／又は無線ＬＡＮでコントローラユニット１００（又は画像形成装置１）を外部ネットワークに接続可能なインタフェースである。
図１は説明の簡略化のため、省略したハードウェア構成を示している。
例えば、ＣＰＵ１０１にはチップセット、バスブリッジ、クロックジェネレータ等のＣＰＵ周辺ハードウェアが多数含まれているが、省略してある。
ＣＰＵ１０１がブートロム１０２、ｅＭＭＣ１０６等に記憶されているプログラムに基づき処理を実行することによって画像形成装置１の機能及び後述する図３のフローチャートの処理が実現される。
【００１０】
コントローラユニット１００の動作について、紙デバイスによる画像印刷を例に説明する。
利用者がＰＣやＵＳＢメモリといった外部装置から、各Ｉ／Ｆを介して画像印刷を画像形成装置１に対して指示すると、ＣＰＵ１０１がＲＡＭ１０３にＤＭＡ転送を行い画像データの一時保存を行う。
ＣＰＵ１０１は、画像データがＲＡＭ１０３に一定量又は全て入ったことが確認できると、プリンタユニット１１２に画像出力指示を出す。
ＣＰＵ１０１は、プリンタユニット１１２に対してＲＡＭ１０３の画像データの位置を教え、プリンタユニット１１２からの同期信号に従ってＲＡＭ１０３上の画像データをプリンタユニット１１２に送信する。そしてプリンタユニット１１２にて紙デバイスに画像データが印刷される。
複数部、印刷を行う場合、ＣＰＵ１０１がＲＡＭ１０３の画像データをｅＭＭＣ１０６又はＨＤＤ１０７に保存し、２部目以降は外部装置から画像を要求せずともプリンタユニット１１２に画像を送ることができる。
【００１１】
図２は、ｅＭＭＣ１０６のパーティション構成の一例を示す図である。
ｅＭＭＣ１０６は、画像形成装置１の通常動作を実現するシステム用プログラムを格納しているシステム用プログラム格納領域２０１とシステム用プログラムを更新する更新用プログラムを格納している更新用プログラム格納領域２０２とを含む。システム用プログラム格納領域２０１は、第１の記憶領域の一例である。更新用プログラム格納領域２０２は、第２の記憶領域の一例である。
システム用プログラムと更新用プログラムとは、画像形成装置１の起動時に何れかが起動される。
何れのプログラムを起動するかについては、例えば、利用者が操作部ユニット１１１から起動するプログラムを選択する。又は、ＨＤＤ１０７に新しいバージョンのシステム用プログラムが格納されていることを契機として次回起動時に更新用プログラムが自動で選択される。システム用プログラムは、システムプログラムの一例である。更新用プログラムは、更新プログラムの一例である。
【００１２】
図３は、復旧方法に関する情報処理の一例を示すフローチャートである。
画像形成装置１に電源が投入されると、Ｓ３０１において、ＣＰＵ１０１は、ｅＭＭＣ１０６のシステム用プログラム格納領域２０１からシステム用プログラムをＲＡＭ１０３に展開及び実行する。Ｓ３０１の処理は、第１の起動処理の一例である。
Ｓ３０２において、ＣＰＵ１０１は、システム用プログラムが正常に起動したか否かを判定する。ＣＰＵ１０１は、システム用プログラムが正常に起動していない場合はＳ３０３に遷移し、システム用プログラムが正常に起動した場合は図３に示すフローチャートの処理を終了する。
Ｓ３０３において、ＣＰＵ１０１は、画像形成装置１を再起動させる。
Ｓ３０４において、ＣＰＵ１０１は、ｅＭＭＣ１０６の更新用プログラム格納領域２０２から更新用プログラムをＲＡＭ１０３に展開し、実行する。Ｓ３０４の処理は、第２の起動処理の一例である。
Ｓ３０５において、ＣＰＵ１０１は、更新用プログラムが正常に起動したか否かを判定する。ＣＰＵ１０１は、更新用プログラムが正常に起動していない場合はＳ３０６に遷移し、更新用プログラムが正常に起動した場合はＳ３１１に遷移する。
Ｓ３１１において、ＣＰＵ１０１は、システム用プログラム格納領域をフォーマットする。
Ｓ３１２において、ＣＰＵ１０１は、システム用プログラムを更新する。
そして、Ｓ３１３において、ＣＰＵ１０１は、画像形成装置１を再起動する。
【００１３】
一方、Ｓ３０６において、ＣＰＵ１０１は、画像形成装置１を再起動する。
Ｓ３０７において、ＣＰＵ１０１は、ブートロム１０２に格納されている回復用プログラムを起動する。このときＣＰＵ１０１は、ブートロム１０２内のプログラムを、ＲＡＭ１０３へ展開せず、ブートロム１０２上で実行する。回復用プログラムは、回復プログラムの一例である。
回復用プログラムを起動すると、Ｓ３０８において、ＣＰＵ１０１は、ＵＳＢホストＩ／Ｆ１０８にアクセスし、ＵＳＢメモリが装着されているか判定する。ＣＰＵ１０１は、ＵＳＢメモリが接続されている場合、Ｓ３０９に遷移し、ＵＳＢメモリが接続されていない場合、Ｓ３１０に遷移する。
Ｓ３０９において、ＣＰＵ１０１は、ＵＳＢメモリ内に更新用プログラム格納領域２０２のスナップショットイメージがあるかを判定する。ここで、スナップショットイメージは、更新用プログラムを含んだ更新用プグラム格納領域全体のスナップショットイメージである。ＣＰＵ１０１は、ＵＳＢメモリ内に更新用プログラム格納領域２０２のスナップショットイメージがある場合、Ｓ３１４に遷移し、ＵＳＢメモリ内に更新用プログラム格納領域２０２のスナップショットイメージがない場合、Ｓ３１０に遷移する。ＵＳＢメモリは、スナップショットイメージが格納された記憶媒体の一例である。
Ｓ３１４において、ＣＰＵ１０１は、スナップショットイメージをｅＭＭＣ１０６の更新用プログラム格納領域２０２にコピーする。Ｓ３１４の処理は、記憶媒体に格納されているスナップショットイメージを記憶部に複製する処理の一例である。
Ｓ３１５において、ＣＰＵ１０１は、スナップショットイメージのコピーが完了したか否かを判定する。ＣＰＵ１０１は、スナップショットイメージのコピーが完了した場合、Ｓ３０３に遷移し、スナップショットイメージのコピーが完了しない場合、Ｓ３１６に遷移する。
Ｓ３１６において、ＣＰＵ１０１は、ｅＭＭＣ１０６が故障している可能性があるため、ボード交換警告表示を操作部ユニット１１１に表示する。
一方、Ｓ３１０において、ＣＰＵ１０１は、スナップショットイメージが格納されたＵＳＢメモリの装着を促すメッセージを操作部ユニット１１１に表示する。
【００１４】
ここで、ＣＰＵ１０１は、システム用プログラム及び更新用プログラムが正常か異常かを、例えば、プログラムのチェックサム値や、プログラムを実行した際に実行完了となるログが出力されるか等の論理的判定で確認している。
またその他の論理判定手段として、ＣＰＵ１０１は、一般的なＯＳが備えるファイルシステムチェックを用いて確認することもできる。
これとは別に、操作部ユニット１１１やプリンタユニット１１２がＣＰＵ１０１と物理的に切断されている異常がある。
この場合、ＣＰＵ１０１は、前述のプログラムの正常か否かの判定とは別に配線チェックのエラーコードを操作部ユニット１１１に表示して警告を促すため、本実施形態のプログラムの確認には含まれない。
そのため、本実施形態のようなプリンタ機能のみを有するＳＦＰ（シングルファンクションペリフェラル）であれば、ＣＰＵ１０１は、プリンタの起動までできれば正常に起動したとみなすことができる。また、スキャナ機能とプリンタ機能とを有するＭＦＰ（マルチファンクションペリフェラル）であれば、ＣＰＵ１０１は、スキャナとプリンタとの起動までできれば正常に起動したとみなすことができる。
また本実施形態では、ＣＰＵ１０１が各プログラムの正常起動を確認していたが、システム用プログラム、更新用プログラム、回復用プログラムそれぞれに自身のプログラムが正常に起動したかを確認する起動確認用プログラムが含まれていてもよい。
更に、起動確認用プログラムは、それぞれのプログラムとは独立して起動確認を実行してもよい。
また、本実施形態では、画像形成装置を例にして説明したが、本実施形態の処理は、画像形成装置に限らず、ＰＣ（パーソナルコンピュータ）やスマートフォン等の携帯端末、サーバ等、様々な情報処理装置に適用することができる。
また、ｅＭＭＣは主にオンボード実装であるため、本実施形態ではコントローラボードの交換を促すメッセージを表示しているが、メインストレージが着脱可能であればメインストレージの交換を促すメッセージを表示するようにしてもよい。コントローラボードやメインストレージは、記憶部を含む部品の一例である。
【００１５】
＜その他の実施形態＞
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給する。そして、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読み出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００１６】
以上、本発明の実施形態の一例について詳述したが、本発明は係る特定の実施形態に限定されるものではない。
例えば、画像形成装置１のハードウェア構成として、ＣＰＵは複数存在してもよく、複数のＣＰＵがブートロム、ｅＭＭＣ等に記憶されているプログラムに基づき処理を実行するようにしてもよい。また、画像形成装置１のハードウェア構成として、ＣＰＵの替わりに、ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）を用いてもよい。
【００１７】
以上、上述した各実施形態によれば、システム用プログラムを更新する更新用プログラムが正常に動作しなくなった場合でも再起動を繰り返すことを防止し、復旧させることができる。
【符号の説明】
【００１８】
１００  コントローラユニット
１０１  ＣＰＵ
１０６  ｅＭＭＣ
１１１  操作部ユニット
【図１】
2019049907.tif 000003
【図２】
2019049907.tif 000004
【図３】
2019049907.tif 000005