(57)【要約】【課題】プリンタの動作障害等でアップデートが中断した場合やデータが破損した場合に、速やかに効率よくアップデータ復旧を行う。【解決手段】サーバは、複数のコンポーネントファイルがバージョンごとに纏まって１つのファームウェアを形成したアップデータを有する。プリンタはサーバからアップデータを取得してコンポーネント機能ごとにアップデートを行い、その処理毎の処理結果を保存する。アップデートが中断された場合、再起動し、保存した処理結果を参照してアップデート処理が終了していないコンポーネント機能についてのアップデートを行う。データ破損等でアップデート処理が行えないコンポーネント機能がある場合、プリンタは処理結果をサーバに送信し、処理が終了しなかったコンポーネント機能のアップデータを取得し、そのデータをもとに該当するコンポーネント機能の再処理を行う。【選択図】図５
2011186588.tif 000002
【特許請求の範囲】
【請求項１】
１又は複数のコンポーネント機能を含む１又は複数のアップデータを有するサーバ装置とネットワークを介して接続可能に配設されたプリンタ装置であって、
前記サーバ装置から前記アップデータを取得する取得手段と、
前記取得したアップデータに基づき、前記アップデータが含む１又は複数のコンポーネント機能ごとにアップデート処理を行うアップデート処理手段と、
前記アップデート処理手段が行ったコンポーネント機能ごとのアップデート処理結果を記憶するアップデート処理結果記憶手段と、
前記アップデート処理手段が行うアップデート処理が中断したか否かを判断する中断判断手段と、
前記中断判断手段の判断結果に基づき、再起動を行う再起動手段と、
を備え、
前記再起動手段が再起動を行った場合、前記アップデート処理手段は、前記アップデート処理結果記憶手段が記憶したアップデート処理結果に基づき、アップデート処理結果が記憶されていないコンポーネント機能のアップデート処理を行うことを特徴とするプリンタ装置。
【請求項２】
前記再起動手段が再起動を行った場合、前記アップデート処理手段が行ったアップデート処理が、全ての前記コンポーネント機能に対して正常に終了したか否かを判断する正常終了判断手段と、
前記正常終了判断手段の判断結果に基づき、前記アップデート処理結果記憶手段が記憶したアップデート処理結果を前記サーバ装置に送信する送信手段と、
を更に備え、
前記取得手段は、前記サーバ装置から、前記アップデート処理結果に基づき作成される再アップデータを取得し、
前記アップデート処理手段は、前記取得手段が取得した再アップデータに基づき、前記再アップデータが含む１又は複数のコンポーネント機能ごとにアップデート処理を行うことを特徴とする請求項１に記載のプリンタ装置。
【請求項３】
プリンタ装置とネットワークを介して接続可能に配設されたサーバ装置であって、
前記プリンタ装置に対応する１又は複数のコンポーネント機能を含む１又は複数のアップデータを記憶する記憶手段と、
前記プリンタ装置へ前記アップデータを送信する送信手段と、
前記プリンタ装置から、当該プリンタ装置が行ったアップデートの処理結果が記憶されたアップデート処理結果を取得する取得手段と、
前記取得手段が取得したアップデート処理結果と、前記送信手段が送信したアップデータとを比較する比較手段と、
前記比較手段の比較結果に基づき、再アップデータを作成する作成手段と、
を備え、
前記送信手段は、前記取得手段が前記アップデート処理結果を取得した場合、前記作成手段が作成した再アップデータを前記プリンタ装置へ送信することを特徴とするサーバ装置。
【請求項４】
請求項１又は請求項２に記載のプリンタ装置と、請求項３に記載のサーバ装置とを有するアップデートシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、プリンタ装置、サーバ装置、及びアップデートシステムに関し、より詳しくは、ファームウェアをアップデートする際に各コンポーネント機能ごとにまとまったアップデータを使用するプリンタ装置、サーバ装置、及びアップデートシステムに関する。
【背景技術】
【０００２】
近年、プリンタにおいて、機能追加や不具合対策をいくつか施した１つのファームウェアのアップデートをする場合、プリンタ専門の保守員が該当するプリンタにアップデータを送信してファームウェアのアップデートを行っている。このように、プリンタ自身がサーバにアップデータを要求し、当該要求することで受信したアップデータを用いてアップデートする方法は、既に知られている。
しかし、従来のファームウェアのアップデート方法では、該当するプリンタのアップデート最中に当該プリンタの動作障害などによりアップデートができなくなった場合、アップデートが途中まで終了している機能においても再び最初からアップデートをやり直す必要があり、その結果、時間と手間が掛かってコストが増えるという問題があった。
【０００３】
特許文献１（特開２００９−１４６１１９号公報）には、特定のファームウェアに起因して障害が発生した場合に、ファームウェアの差し替えを適正に行うことで画像形成装置を復旧することを目的として、ファームウェア適用後の障害を検知し、障害の起因となるファームウェアの種類を特定して、その種類のファームウェアの差し替えを行う技術について記載されており、その差し替えの際、ファームウェアのバージョンの組み合わせと適用順を考慮したうえで、関連するファームウェアの差し替えを行うことが記載されている。
【０００４】
特許文献２（特開２００６−１８９９７３号公報）には、アップデータを一旦バックアップしたうえでアップデート処理を行う技術について記載されており、アップデートの中断によりアップデートができなくなったとしても、不揮発性のメモリにバックアップしてあるアップデートプログラムを読み出すことでアップデートを実行することが記載されている。
特許文献３（特開２００８−８４２９１号公報）には、アップデート中の障害発生時に、有効なファームウェアを判定して再開する技術について記載されており、アップデート可能なファームウェアを判定し、その判定内容に応じた起動方法でアップデートの再開を行うことが記載されている。
【０００５】
また、特許文献４（特開２００９−４８５５７号公報）には、ソフトウェアの書き込み領域を区画で区切り、電源断からの復帰時に当該区画で区切られた区画情報を利用してアップデートを再開する技術について記載されている。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、上述したような、利用上の様々な点を鑑みて考慮された従来技術においても、以下のような問題が解消できていない。
特許文献１の技術では、アップデート最中に発生した障害によってアップデートが中断した場合に、アップデートを途中から復旧させることはできていない。
特許文献２及び特許文献３では、アップデート途中からアップデートを復旧する技術については記載されているが、アップデートが中断した箇所からアップデートの再開を可能にする方法として、コンポーネント単位でアップデートを再開する方法については記載されていない。
また、特許文献４では、電源断によって自己のプリンタ内に保存されているアップデータが破損した場合については記載がない。
【０００７】
そこで、本発明は、各コンポーネント機能ごとにまとまったアップデータを使用することで、動作障害などでアップデートが中断した場合であっても、当該アップデートが途中まで終了しているコンポーネント機能のがあれば、再度最初からアップデートをやり直すことなく、途中までアップデートが終了しているコンポーネント機能のアップデートを引き続き行うことで復旧に係る時間を短縮及び手間を低減し、その結果、コストを削減することができるプリンタ装置、サーバ装置、及びアップデートシステムを提供することを目的とする。
また、本発明は、プリンタ装置内に保存しているアップデータが破損している場合は、サーバから必要なコンポーネント機能部分（すなわち、いくつかのコンポーネント機能のうち、アップデータが破損している部分）に関するアップデータを取得することで、アップデートに係るデータが破損した場合であっても、ファームウェアのアップデートを継続可能にするプリンタ装置、サーバ装置、及びアップデートシステムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、請求項１記載の発明では、１又は複数のコンポーネント機能を含む１又は複数のアップデータを有するサーバ装置とネットワークを介して接続可能に配設されたプリンタ装置であって、前記サーバ装置から前記アップデータを取得する取得手段と、前記取得したアップデータに基づき、前記アップデータが含む１又は複数のコンポーネント機能ごとにアップデート処理を行うアップデート処理手段と、前記アップデート処理手段が行ったコンポーネント機能ごとのアップデート処理結果を記憶するアップデート処理結果記憶手段と、前記アップデート処理手段が行うアップデート処理が中断したか否かを判断する中断判断手段と、前記中断判断手段の判断結果に基づき、再起動を行う再起動手段と、を備え、前記再起動手段が再起動を行った場合、前記アップデート処理手段は、前記アップデート処理結果記憶手段が記憶したアップデート処理結果に基づき、アップデート処理結果が記憶されていないコンポーネント機能のアップデート処理を行うことを特徴とするプリンタ装置を提供する。
請求項２記載の発明では、請求項１に記載のプリンタ装置において、前記再起動手段が再起動を行った場合、前記アップデート処理手段が行ったアップデート処理が、全ての前記コンポーネント機能に対して正常に終了したか否かを判断する正常終了判断手段と、前記正常終了判断手段の判断結果に基づき、前記アップデート処理結果記憶手段が記憶したアップデート処理結果を前記サーバ装置に送信する送信手段と、を更に備え、前記取得手段は、前記サーバ装置から、前記アップデート処理結果に基づき作成される再アップデータを取得し、前記アップデート処理手段は、前記取得手段が取得した再アップデータに基づき、前記再アップデータが含む１又は複数のコンポーネント機能ごとにアップデート処理を行うことを特徴とする。
また、請求項３記載の発明では、プリンタ装置とネットワークを介して接続可能に配設されたサーバ装置であって、前記プリンタ装置に対応する１又は複数のコンポーネント機能を含む１又は複数のアップデータを記憶する記憶手段と、前記プリンタ装置へ前記アップデータを送信する送信手段と、前記プリンタ装置から、当該プリンタ装置が行ったアップデートの処理結果が記憶されたアップデート処理結果を取得する取得手段と、前記取得手段が取得したアップデート処理結果と、前記送信手段が送信したアップデータとを比較する比較手段と、前記比較手段の比較結果に基づき、再アップデータを作成する作成手段と、を備え、前記送信手段は、前記取得手段が前記アップデート処理結果を取得した場合、前記作成手段が作成した再アップデータを前記プリンタ装置へ送信することを特徴とするサーバ装置を提供する。
さらに、請求項４記載の発明では、請求項１又は請求項２に記載のプリンタ装置と、請求項３に記載のサーバ装置とを有するアップデートシステムを提供する。
【発明の効果】
【０００９】
本発明は、アップデートが中断しても、速やかにアップデート復旧を行うプリンタ装置、サーバ装置、及びアップデートシステムを提供する。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施形態に係るアップデートシステムの概略図である。
【図２】本発明の実施形態に係るプリンタ制御部のハードウェア的な構成の一例を示した図である。
【図３】本発明の実施形態に係るアップデータテーブル表の構成の一例を示した図である。
【図４】本発明の実施形態に係るアップデート実行表の構成の一例を示した図である。
【図５】本発明の実施形態に係るプリンタ制御部が行うアップデートを説明するフローチャートである。
【図６】本発明の実施形態に係るプリンタ制御部が処理Ａを行う動作を説明するフローチャートである。
【図７】本発明の実施形態に係るプリンタ制御部が処理Ａを行う動作を説明するフローチャートである。
【図８】本発明の実施形態に係るプリンタ制御部が処理Ｂを行う動作を説明するフローチャートである。
【図９】本発明の実施形態に係るプリンタ制御部が処理Ｃを行う動作を説明するフローチャートである。
【発明を実施するための形態】
【００１１】
（実施形態の概要）
本発明に係る実施形態では、アップデート最中に障害が発生した場合に再アップデートによって行う復旧処理に際して、以下の特徴を有する。
追加機能又は不具合対策を施した各々のコンポーネントファイル（コンポーネント機能ごとのファイル）があり、サーバは、その複数のコンポーネントファイルが１つにまとまってファームウェアの１つのアップデータとして形成されているアップデータを有している。
本実施形態に係るプリンタは、上述のように形成されたアップデータをサーバから取得し、当該アップデータを用いてコンポーネント機能ごとにアップデートを行う。
そのアップデートの際には、当該コンポーネント機能の処理ごとにその処理結果（後述する、アップデート実行表）を保存する。
プリンタ動作障害などが発生してアップデートが途中までしか実行されなかった（中断された）場合、本実施形態に係るプリンタは、再起動し、保存していた処理結果を参照して、アップデート処理が終了していないコンポーネント機能についてのアップデートを実行する（再アップデート、すなわち復旧処理を行う）。
また、再アップデートの際にアップデータが破損するなどしてアップデート処理が実行できないコンポーネント機能がある場合は、本実施形態に係るプリンタは、処理結果（アップデート実行表）をサーバに送信し、アップデートが終了しなかったコンポーネント機能についてのアップデータを取得し、当該取得したデータをもとに該当するコンポーネント機能の再アップデートを行う。
なお、本実施形態におけるコンポーネント機能とは、複数のコンポーネント機能が、単一のＮＶＲＡＭ（Ｎｏｎ  Ｖｏｌａｔｉｌｅ  ＲＡＭ）等に複数記憶されるものを指す。
【００１２】
（実施形態の詳細）
本発明の好適な実施形態について、図１から図９を用いて詳細に説明する。
図１は、本発明の実施形態に係るシステムの概略図であり、サーバ１、プリンタ２、プリンタ３、及びプリンタ４が、ネットワーク５を介して接続されている。
サーバ１は、各種ファームウェアのアップデータ、及び、後述するアップデータテーブル表１００（図３）を所持（記憶）しているサーバである。
プリンタ２、プリンタ３、及びプリンタ４は、同一のローカルエリアネットワーク６に接続されたプリンタである。なお、プリンタ２、プリンタ３、及びプリンタ３は互いに同等の構成要素であり、同等の機能を有する。また、いずれのプリンタ２、プリンタ３、及びプリンタ４も本実施形態に係るアップデート処理を行うプリンタ制御部２１を備えている。
本実施形態では、サーバ１は、ローカルエリアネットワーク６とは異なるエリアに設置されているものとし、以降、サーバ１とプリンタ２とを用いて動作工程を説明する。
【００１３】
図２は、本発明の実施形態に係るプリンタ２のプリンタ制御部２１のハードウェア的な構成の一例を示した図である。
本発明の実施形態に係るプリンタ制御部２１は、操作パネル１１、記憶装置１２、メモリ１３、ファームウェアアップデート部１４、アップデータ管理部１５、状態管理部１６、通信制御部１７、バックアップ／リストア制御部１８、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ／ハードディスクドライブ）１９、及びネットワークＩ／Ｆ（Ｉｎｔｅｒｆａｃｅ／インターフェース）２０、などから構成される。
操作パネル１１は、当該プリンタを操作する操作員が各種設定を行ったり、その設定結果を表示するための装置である。
記憶装置１２は、例えばＥＥＰＲＯＭ（Ｅｌｅｃｔｒｏｎｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  ａｎｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）などで構成され、プリンタ２を起動するための起動プログラムや制御プログラムなどといった様々なデータやプログラムがバックアップされている装置である。
メモリ１３は、例えば、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などで構成され、記憶装置１２のデータを展開する領域である。例えば、プリンタ２の利用者（ユーザ）がプログラムを起動してデータの加工などを行なう際に、呼び出し用（スペース／領域）として使われる。
ファームウェアアップデート部１４は、例えば、チップセットなどで構成され、ファームウェアのアップデートを行う際に、後述するアップデート実行表２００（図４）を作成したり、ファームウェア制御用プログラムによって自動でアップデートするための処理を行う。このように、本実施形態のアップデートを行うためのファームウェアアップデートプログラムを格納している。
アップデータ管理部１５は、ファームウェアアップデータの受信処理を行い、ＨＤＤ１９に保存されているアップデータの有無情報を確認処理する。
状態管理部１６は、プリンタ２の状態を監視し、アップデート中に障害などがあれば操作パネル１１にその旨を表示させる処理を行う。
通信制御部１７は、ネットワークＩ／Ｆ２０を介してサーバ１との通信をネットワークで繋ぎ、相互認識を行う。
バックアップ／リストア制御部１８は、ファームウェアアップデート部１４で作成されたアップデート実行表２００や、ＨＤＤ１９に保存されている起動プログラムと制御プログラムを、記憶装置１２にバックアップしたり、それらのデータを再びＨＤＤ１９にリストア処理したりなどを行う。
ＨＤＤ１９は、サーバ１から送信されてきたファームウェアのアップデータを保存する（アップデータ格納）。また、プリンタ２を起動するための起動プログラム、及び、プリンタ２の各種制御を行うための制御プログラムを格納している。
【００１４】
図３は、本発明に係る実施形態のサーバ１が記憶する、アップデータテーブル表１００の構成の一例を示した図である。
アップデータテーブル表１００は、本発明の実施形態に係るアップデータに関する各バージョン１０１と、当該各バージョン１０１ごとに追加される機能や不具合の対策を施したコンポーネント機能１０２（Ａ、Ｂ、Ｃ、Ｄ、…）などで構成される。
本発明に係る実施形態のサーバ１は、このアップデータテーブル表１００をもとに、プリンタ２から受信する要求に応じたバージョン１０１のアップデータや、また、コンポーネント機能１０２（コンポーネント機能Ａ、コンポーネント機能Ｂ、コンポーネント機能Ｃ、コンポーネント機能Ｄ、又はコンポーネント機能Ｅなど）ごとのアップデータを、プリンタ２へ送信する。
【００１５】
図４の（ａ）及び（ｂ）は、本発明に係る実施形態のプリンタ２のプリンタ制御部２１のファームウェアアップデート部１４が作成したアップデート実行表２００の構成の一例を示した図である。
本発明に係る実施形態のプリンタ２のプリンタ制御部２１は、ファームウェアのアップデートを実行する際に、こうしたアップデート実行表２００を作成する。なお、図４に示すアップデート実行表２００は、バージョン１０１のうち、一例としてバージョン「Ｔ００９」についてのアップデート実行表である。
コンポーネント終了状態欄２０２には、バージョン「Ｔ００９」の各コンポーネント機能Ａ、Ｂ、・・・Ｅなどについての各々のアップデートが行われたか否か、及び、行われた場合は各々のアップデートが正常に終了したか否かが、「○」、「空欄」（すなわち、チェック無し）、又は「×」といった記号情報などを用いて記憶（記録）される。
例えば、図４（ａ）を参照すると、各コンポーネント機能（Ａ、Ｂ、・・・Ｅなど）のうち、未だアップデートが実行されていないコンポーネント機能（例えば、コンポーネント機能Ｃ〜Ｅ）のコンポーネント終了状態欄２０２は空欄のままであり、一方、アップデートが正常に終了した各コンポーネント機能（例えば、コンポーネント機能Ａ及びＢ）に対応するコンポーネント終了状態欄２０２には、正常終了したことを示す「○」が記録されている。このように、プリンタ２のプリンタ制御部２１は、当該「○」情報をもって、当該「○」が付されたコンポーネント終了状態欄２０２に対応するコンポーネント機能（この場合、コンポーネント機能Ａ及びＢ）は、アップデートが正常終了したことを判断でき、そして、当該「空欄」情報をもって、当該「空欄」であるコンポーネント終了状態欄２０２に対応するコンポーネント機能（この場合、コンポーネント機能Ｃ〜Ｅ）が、アップデートが未だ実行されていないということを判断できる。
また一方、図４（ｂ）を参照すると、アップデートを一通り行った上で、何らかの理由で当該アップデート処理が正常終了しなかった場合は、当該正常に終了しなかったコンポーネント機能（例えば、コンポーネント機能Ｃ〜Ｅ）に該当するコンポーネント終了状態欄２０２には、「×」が反映（記憶）されている。このように、プリンタ２のプリンタ制御部２１は、当該「×」をもって、当該「×」が付されたコンポーネント終了状態欄２０２に対応するコンポーネント機能（この場合、コンポーネント機能Ｃ〜Ｅ）が、アップデートが正常終了していないことを判断できる。
【００１６】
最終終了状態欄２０１には、最終的に全てのコンポーネント機能１０２（Ａ、Ｂ、・・・Ｅ）が正常にアップデート終了した時点で、バージョン「Ｔ００９」に該当するアップデートすべてが正常終了したことを示す「○」情報が記入される。
【００１７】
なお、本実施形態では、上述したように、「○」チェックが記憶されたことでアップデートが正常終了した旨を、そして、「×」チェックが記憶されることでアップデートが正常終了しなかった旨をそれぞれ表しているが、これに限られることはない。
例えば、２ビットを用いるなどして、アップデートが正常終了しなかったコンポーネント機能に該当するコンポーネント終了状態欄２０２に、正常終了時は「００」、非正常終了時は「０１」、など記憶するように構成してもよい。
【００１８】
次に、図５から図９を用いて、本発明の実施形態に係る動作を詳細に説明する。
図５は、本発明の実施形態に係るプリンタ２のプリンタ制御部２１が行うアップデートを説明するフローチャートであり、より詳しくは、プリンタ２のプリンタ制御部２１が、サーバ１が所持（記憶）するファームウェアアップデータを取得し、自動で自己のファームウェアアップデートを行う（処理Ａ）途中で障害が発生した場合に、プリンタ２を再起動する（処理Ｂ）ことによって、引き続きアップデートを行う（処理Ｃ）動作について詳細に説明するフローチャートである。
図６及び図７は、本発明の実施形態に係るプリンタ２のプリンタ制御部２１が処理Ａを行う動作を説明するフローチャートであり、より詳しくは、プリンタ２のプリンタ制御部２１がコンポーネント機能ごとに行うアップデート処理を説明するフローチャートである。
図８は、本発明の実施形態に係るプリンタ２のプリンタ制御部２１が処理Ｂを行う動作を説明するフローチャートである。より詳しくは、プリンタ２のプリンタ制御部２１がアップデート中の障害により再起動を行う場合の動作を説明するフローチャートである。
図９は、本発明の実施形態に係るプリンタ２のプリンタ制御部２１が処理Ｃを行う動作を説明するフローチャートである。より詳しくは、プリンタ２のプリンタ制御部２１が、アップデートの処理中にアップデートできない（すなわち、正常終了していない）コンポーネント機能があった場合に、該当するアップデータ取得を行う動作を説明するフローチャートである。
【００１９】
はじめに、本発明の実施形態に係るアップデートの概要を図５を用いて説明する。
まず、本発明に係るプリンタ２のプリンタ制御部２１の通信制御部１７（図２）は、ネットワークＩ／Ｆ２０を介してサーバ１とネットワーク通信を行う（Ｓ３００）。そして、サーバ１に対してアップデータの送信を要求する（Ｓ３０１）。
ここで、本実施形態では、プリンタ２のプリンタ制御部２１の通信制御部１７は、一例として「Ｔ００９」というバージョンのアップデータを要求している。
当該送信要求を受けたサーバ１は、アップデータテーブル表１００（図３）をもとに、アップデータのうちバージョン「Ｔ００９」に該当するアップデータを、プリンタ２に送信する（Ｓ３０２）。
本実施形態に係るプリンタ２のプリンタ制御部２１のアップデータ管理部１５（図２）は、当該プリンタ２が、サーバ１から送信されたバージョン「Ｔ００９」のアップデータを受信し、かつ、ＨＤＤ１９（図２）に当該アップデータを格納したか否かを確認する（Ｓ３０３）。
【００２０】
ここで、プリンタ２が当該アップデータを受信してない場合（Ｓ３０３；Ｎ）、プリンタ２のプリンタ制御部２１のアップデータ管理部１５は、再度、サーバ１に当該アップデータの送信を要求する（Ｓ３０１）。
一方、アップデータ管理部１５が、バージョン「Ｔ００９」のアップデータを受信し、かつ、当該アップデータをＨＤＤ１９に格納したことを確認した場合（Ｓ３０３；Ｙ）、プリンタ２のプリンタ制御部２１のファームウェアアップデート部１４（図２）は、バージョン「Ｔ００９」のアップデータのアップデート処理を行う（Ｓ３０４）。
またこの際、プリンタ２のプリンタ制御部２１のファームウェアアップデート部１４は、アップデート実行表２００（図４）を作成する（Ｓ３０５）。なお、このアップデート実行表２００は記憶装置１２に保存される。
また、この処理の開始時に、プリンタ２のプリンタ制御部２１のバックアップ／リストア制御部１８（図２）は、ＨＤＤ１９に格納している起動プログラムと制御プログラムとを、記憶装置１２にバックアップし（Ｓ３０６）、アップデート処理（処理Ａ）を行う（Ｓ４００）。
アップデート処理（処理Ａ）の詳細については、後ほど説明する。
【００２１】
アップデート処理（処理Ａ）を一通り終えると、本発明の実施形態に係るプリンタ２のプリンタ制御部２１の状態管理部１６（図２）は、当該アップデート処理中に障害などが発生してアップデートが中断したか否かを判断する（Ｓ３０７）。より詳しくは、状態管理部１６は、アップデート処理（処理Ａ）の最中に、逐次、並行（独立）して状態をチェックしており、電源断もしくは当該処理の異常による処理中断などの障害発生の有無を判断し、そうした障害が発生した場合には割り込みが掛かり、処理Ａを抜けて次のステップに移行するように構成されている。
プリンタ２のプリンタ制御部２１の状態管理部１６が、アップデート処理が中断したと判断しなかった場合は（Ｓ３０７；Ｎ）、プリンタ２のプリンタ制御部２１は、アップデート実行表２００の最終終了状態欄２０１にチェックがあるか否かを確認する（Ｓ３１０）。
一方、プリンタ２のプリンタ制御部２１の状態管理部１６が、アップデート処理中に、当該アップデート中のプリンタ２の動作障害などでアップデート処理ができなくなった（中断した）と判断した場合（Ｓ３０７；Ｙ）、プリンタ２のプリンタ制御部２１は処理Ｂを行う（Ｓ５００）。
処理Ｂについては、後ほど説明する。
【００２２】
処理Ｂを終えると、まず、本実施形態に係るプリンタ２のプリンタ制御部２１のファームウェアアップデート部１４は、アップデート実行表２００を参照し、各コンポーネント終了状態欄２０２においてチェック無しの欄（すなわち、「○」も「×」も記憶されてない空欄）は無いかを確認する（Ｓ３０８）。
チェックが何も無いコンポーネント機能がある場合（Ｓ３０８；有り）、プリンタ２のプリンタ制御部２１のファームウェアアップデート部１４は、Ｓ４００へ戻り、一連の作業を繰り返す。
一方、チェックが何も無いコンポーネント機能がない場合（Ｓ３０８；無し）は、プリンタ２のプリンタ制御部２１は、コンポーネント終了状態欄２０２に「×」チェックのある欄はないかを確認する（Ｓ３０９）。
【００２３】
次に、本実施形態に係るプリンタ２のプリンタ制御部２１のファームウェアアップデート部１４は、コンポーネント終了状態欄２０２に「×」チェックのある欄がある場合（Ｓ３０９；有り）、処理Ｃを行う（Ｓ６００）。処理Ｃの詳細については、後ほど説明する。
一方、本実施形態に係るプリンタ２のプリンタ制御部２１のファームウェアアップデート部１４は、コンポーネント終了状態欄２０２に「×」チェックのある欄がない場合（Ｓ３０９；無し）、アップデート実行表２００の最終終了状態欄２０１にチェックがあるか否かを確認する（Ｓ３１０）。
【００２４】
アップデート実行表２００の最終終了状態欄２０１にチェック（例えば、「○」）がある場合（Ｓ３１０；Ｙ）、プリンタ２のプリンタ制御部２１は、一連のアップデート処理を終了する。
一方、アップデート実行表２００の最終終了状態欄２０１にチェックがない場合（Ｓ３１０；Ｎ）、本実施形態に係るプリンタ２のプリンタ制御部２１のファームウェアアップデート部１４は、各コンポーネント終了状態欄２０２がチェックが全て「○」か否かを確認する（Ｓ３１１）。各コンポーネント終了状態欄２０２が全て「○」であることを確認した場合（Ｓ３１１；Ｙ）、プリンタ２のプリンタ制御部２１は一連のアップデート処理を終了する。
一方、各コンポーネント終了状態欄２０２が全て「○」であることを確認できない場合（Ｓ３１１；Ｎ）、プリンタ２のプリンタ制御部２１は再度Ｓ４００に戻り一連の作業を繰り返す。
【００２５】
（ｉ）処理Ａ
次に、処理Ａについて、図６及び図７を用いて説明する。
プリンタ２のプリンタ制御部２１は、アップデートの処理が開始される（Ｓ３０４）と、サーバ１から圧縮されて送信された、追加される機能や不具合の対策を施した複数のコンポーネント機能などで構成されたアップデータを解凍し、当該解凍後のアップデータを用いて、コンポーネント機能ごとにアップデートの処理を開始する（Ｓ４０１）。
【００２６】
（コンポーネント機能Ａのアップデート）
まず、プリンタ２のプリンタ制御部２１のファームウェアアップデート部１４は、アップデート実行表２００（図４）の、コンポーネント機能Ａについてのコンポーネント終了状態欄２０２に、チェック（「○」又は「×」）があるか否かを確認する（Ｓ４０２）。
チェックがない場合（Ｓ４０２；Ｙ）、プリンタ２のプリンタ制御部２１のファームウェアアップデート部１４は、コンポーネント機能Ａをアップデートする（Ｓ４０３）。
一方、チェックがある場合（Ｓ４０２；Ｎ）、プリンタ２のプリンタ制御部２１のファームウェアアップデート部１４は、コンポーネント機能Ａについての処理を終了し、コンポーネント機能Ｂについての処理へと進む（Ｓ４０８）。
次に、プリンタ２のプリンタ制御部２１のファームウェアアップデート部１４は、コンポーネント機能Ａを正常にアップデートできたか否かを確認する（Ｓ４０４）。
プリンタ２のプリンタ制御部２１のファームウェアアップデート部１４は、コンポーネント機能Ａを正常にアップデートできたことを確認すると（Ｓ４０４；Ｙ）、アップデート実行表２００のコンポーネント機能Ａに対応するコンポーネント終了状態欄２０２に、「○」チェックを記録（記憶）する（Ｓ４０５）。
【００２７】
一方、コンポーネント機能Ａを正常にアップデートできたことを確認できない場合（Ｓ４０４；Ｎ）は、プリンタ２のプリンタ制御部２１のファームウェアアップデート部１４は、アップデート実行表２００のコンポーネント機能Ａに対応するコンポーネント終了状態欄２０２に、「×」チェックを記憶する（Ｓ４０６）。
このように、アップデート処理を行ったコンポーネント機能に対応するコンポーネント終了状態欄２０２に「○」又は「×」のチェックを記憶するという処理を行うことで、プリンタ２のプリンタ制御部２１のファームウェアアップデート部１４は、後に当該アップデート実行表２００を参照した場合に、該当するアップデータ（すなわち、コンポーネント機能Ａのデータ）をアップデート処理したのか否か、そして、処理した場合は当該処理が正常に終了したのか、あるいはアップデータ（すなわち、コンポーネント機能Ａ）に不具合があり、当該コンポーネント機能Ａをアップデートできなかった（正常終了しなかった）のか、とを判断することができる。
【００２８】
ここで、本実施形態では、正常にアップデートできたことを確認できないコンポーネント機能のコンポーネント終了状態欄２０２に対して「×」を記憶する構成にしたが、これに限ることはない。たとえば、該当するアップデートができなかったコンポーネント機能のコンポーネント終了状態欄２０２に、２ビットを使用して、正常終了時は「００」、非正常終了時は「０１」を記憶する等のように構成してもよい。
【００２９】
そして、プリンタ２のプリンタ制御部２１のファームウェアアップデート部１４は、当該アップデート実行表２００を記憶装置１２にバックアップする処理を行い（Ｓ４０７）、続けて、次のコンポーネント機能Ｂのアップデート処理に移る。
【００３０】
（コンポーネント機能Ｂのアップデート）
同じように、コンポーネント機能Ｂについて以下の処理がなされる。
プリンタ２のプリンタ制御部２１のファームウェアアップデート部１４は、コンポーネント機能Ａについての処理を終えた後のアップデート実行表２００を記憶装置１２にバックアップする（Ｓ４０７）と、続いて、アップデート実行表２００の、コンポーネント機能Ｂについてのコンポーネント終了状態欄２０２に、「○」又は「×」などのチェックが有るか無いかを確認する（Ｓ４０８）。
コンポーネント機能Ｂについてのコンポーネント終了状態欄２０２にチェックがない場合（Ｓ４０８；Ｙ）、プリンタ２のプリンタ制御部２１のファームウェアアップデート部１４は、上述した、サーバ１から受信した圧縮アップデータの解凍後のアップデータを用いてコンポーネント機能Ｂをアップデートする（Ｓ４０９）。
一方、コンポーネント機能Ｂについてのコンポーネント終了状態欄２０２にチェックがある場合（Ｓ４０８；Ｎ）、プリンタ２のプリンタ制御部２１のファームウェアアップデート部１４はコンポーネント機能Ｂについての処理を終了し、コンポーネント機能Ｃについての処理へと進む（Ｓ４１４）。
【００３１】
次に、プリンタ２のプリンタ制御部２１のファームウェアアップデート部１４は、コンポーネント機能Ｂを正常にアップデートできたか否かを確認する（Ｓ４１０）。
プリンタ２のプリンタ制御部２１のファームウェアアップデート部１４は、コンポーネント機能Ｂを正常にアップデートできたことを確認すると（Ｓ４１０；Ｙ）、アップデート実行表２００のコンポーネント機能Ｂに対応するコンポーネント終了状態欄２０２に「○」チェックを記憶し、当該アップデート実行表２００を記憶装置１２にバックアップする処理を行う（Ｓ４１３）。
一方、コンポーネント機能Ｂを正常にアップデートできたことを確認できない場合（Ｓ４１０；Ｎ）、プリンタ２のプリンタ制御部２１のファームウェアアップデート部１４は、該当するアップデータ（すなわち、コンポーネント機能Ｂのデータ）に不具合があり当該コンポーネント機能Ｂをアップデートできなかったと判断し、コンポーネント機能Ｂのコンポーネント終了状態欄２０２には「×」を記憶（記録）する（Ｓ４１２）。
【００３２】
そして、プリンタ２のプリンタ制御部２１のファームウェアアップデート部１４は、当該アップデート実行表２００を記憶装置１２にバックアップする処理を行い（Ｓ４１３）、続けて、次のコンポーネント機能Ｃのアップデート処理を行う（Ｓ４１４）。
【００３３】
プリンタ２のプリンタ制御部２１のファームウェアアップデート部１４は、上述したコンポーネント機能Ａ及びコンポーネント機能Ｂと同様の処理を、コンポーネント機能Ｃ、コンポーネント機能Ｄ、及びコンポーネント機能Ｅに対して行う（Ｓ４１４〜Ｓ４３１）。
なお、本実施形態に係るプリンタ２のプリンタ制御部２１のファームウェアアップデート部１４は、最初にコンポーネント機能Ａ、次にコンポーネント機能Ｂ、・・・最後にコンポーネント機能Ｅという順でアップデート処理を行っているが、この順序に限られることはない。例えば、コンポーネント機能のうち、データ容量の軽いコンポーネント機能からアップデータを行うように構成しても良いし、あるいは、重要度の高いコンポーネント機能からアップデートを行うように構成する等しても良い。
【００３４】
そして、プリンタ２のプリンタ制御部２１のファームウェアアップデート部１４は、本実施形態における最後のコンポーネント機能であるコンポーネント機能Ｅのコンポーネント終了状態欄２０２に「○」又は「×」チェックを記憶したアップデート実行表２００を記憶装置１２にバックアップすると（Ｓ４３１）、続いて、アップデート実行表２００の全てのコンポーネント機能について、各コンポーネント終了状態欄２０２にチェック（「○」又は「×」）が有るか無いかを確認する（Ｓ４３２）。
アップデート実行表２００の全てのコンポーネント終了状態欄２０２にチェックが記憶されてない場合（Ｓ４３２；Ｎ）、プリンタ２のプリンタ制御部２１のファームウェアアップデート部１４は、Ｓ４０２に戻って一連の処理を繰り返す。
一方、アップデート実行表２００の全てのコンポーネント終了状態欄２０２に、「○」又は「×」いずれかのチェックが記憶されている場合（Ｓ４３２；Ｙ）、プリンタ２のプリンタ制御部２１のファームウェアアップデート部１４は、バージョン「Ｔ００９」に対するバージョン最終終了状態欄２０１にチェックを記憶する処理を行い（Ｓ４３３）、処理Ａを終了する。
【００３５】
（ｉｉ）処理Ｂ
次に、図８を用いて処理Ｂについて説明する。
本発明の実施形態に係るプリンタ２のプリンタ制御部２１の状態管理部１６（図２）が、アップデート処理中に障害などが発生して当該処理中のアップデートが中断したと判断した場合（Ｓ３０７；Ｙ）、プリンタ２のプリンタ制御部２１のＨＤＤ１９の起動プログラムは再起動を行う（Ｓ５０１）。
プリンタ２が再起動を行うと、プリンタ２のプリンタ制御部２１の状態管理部１６は、プリンタ２が正常に再起動したか否かを判断する（Ｓ５０２）。
プリンタ２が正常に再起動したと判断した場合（Ｓ５０２；Ｙ）、プリンタ２のプリンタ制御部２１は処理Ｂを終了する。
【００３６】
一方、プリンタ２のプリンタ制御部２１の状態管理部１６が、プリンタ２が正常に再起動していないと判断した場合（Ｓ５０２；Ｎ）、プリンタ２のプリンタ制御部２１のＨＤＤ１９の起動プログラムは、記憶装置１２にバックアップしている起動プログラムと制御プログラムとを読み出す処理を開始する（Ｓ５０３）。
そして、ＨＤＤ１９の起動プログラムは、起動プログラムをメモリ１３に読み出して展開し（Ｓ５０４）、さらに、制御プログラムをメモリ１３に読み出し（Ｓ５０５）、そしてプリンタ２の起動を行う（Ｓ５０６）。
正常にプリンタ２が起動すると、バックアップ／リストア制御部１８は、記憶装置１２にバックアップしてある起動プログラムと制御プログラムとを、プリンタ２のプリンタ制御部２１のＨＤＤ１９にリストアする処理を行う（Ｓ５０７）。これにより、次回再起動するときはＨＤＤ１９から起動することが可能になる。
つまり、本実施形態では、ＨＤＤ１９がメイン、記憶装置１２がサブ（バックアップ）として構成されており、プリンタ２が正常に再起動しない場合は、ＨＤＤ１９内の起動プログラム及び制御プログラムに欠陥がある可能性があるということなので、予め起動プログラム及び制御プログラムをバックアップしていた記憶装置１２からリカバリすることができる。
上述したリストア処理（Ｓ５０７）を行うと、プリンタ２のプリンタ制御部２１は、処理Ｂを終了する。
【００３７】
（ｉｉｉ）処理Ｃ
次に、図９を用いて処理Ｃについて説明する。
本発明の実施形態に係るプリンタ２のプリンタ制御部２１のファームウェアアップデート部１４は、コンポーネント終了状態欄２０２に「×」チェックがあるコンポーネント機能がある場合（Ｓ３０９；有り）、処理Ｃを行う（Ｓ６００）。
ここで、本実施形態では、一例として、コンポーネント機能Ｃ、コンポーネント機能Ｄ、及びコンポーネント機能Ｅのコンポーネント終了状態欄２０２に「×」チェックがある場合を説明する。すなわち、処理Ａにおいて、当該コンポーネント機能Ｃ、コンポーネント機能Ｄ、及びコンポーネント機能Ｅの各データに不具合があるなどの理由から、各コンポーネント機能のうちコンポーネント機能Ｃ〜Ｅのアップデート処理が正常に終了していない場合である。
【００３８】
まず、プリンタ２のプリンタ制御部２１の通信制御部１７は、ネットワークＩ／Ｆ２０及びネットワーク５を介して、サーバ１とネットワーク通信を行い（Ｓ６０１）、ネットワークが繋がると、プリンタ２のプリンタ制御部２１は、記憶装置１２に保存しているアップデート実行表２００をサーバ１に送信する（Ｓ６０２）。
サーバ１はアップデート実行表２００を受信すると、サーバ１自身が有するアップデータテーブル表１００と、受信したアップデート実行表２００とを照合する（Ｓ６０３）。
次に、サーバ１は、受信したアップデート実行表２００のバージョン（この場合は「Ｔ００９」）と、自身が有するアップデータテーブル表１００内のバーションとを照合し、アップデータテーブル表１００のバージョン（「Ｔ００９」）を確認して、アップデート実行表２００のコンポーネント終了状態欄２０２に「×」チェックがある各コンポーネント機能のアップデータを、プリンタ２に送信する処理を行う（Ｓ６０４）。本実施形態では、上述したように、コンポーネント機能Ｃ１０３、コンポーネント機能Ｄ１０４、及びコンポーネント機能Ｅ１０５（全て図３）のアップデータがプリンタ２に送信されるアップデータに該当する。
そして、プリンタ２のプリンタ制御部２１のアップデータ管理部１５は、サーバ１からコンポーネント機能Ｃ１０３、コンポーネント機能Ｄ１０４、及びコンポーネント機能Ｅ１０５のアップデータを受信したか確認する（Ｓ６０５）。
当該受信を確認できない場合（Ｓ６０５；Ｎ）、プリンタ２のプリンタ制御部２１は、Ｓ６０３に戻り一連の作業を繰り返す。
一方、当該受信を確認した場合（Ｓ６０５；Ｙ）、プリンタ２のプリンタ制御部２１のアップデータ管理部１５は、アップデート実行表２００の更新処理を行う（Ｓ６０６）。なお、本実施形態では、この更新処理は、アップデート実行表２００上の「×」データをリセットする。
プリンタ２のプリンタ制御部２１は、上述した更新処理を行った後、処理Ｃを終了して処理Ａ（Ｓ４００）へ移行し、一連の作業を行う。
【００３９】
このように、本発明に係る実施形態では、サーバ１は、追加機能又は不具合対策を施した各々のコンポーネントファイルを有し、さらに、その各々のコンポーネントファイルが１つにまとまって１つのファームウェアのアップデータを形成し、そうしたバージョンごとのアップデータを複数有している。
プリンタ２のプリンタ制御部２１は、当該複数のアップデータのうち、必要なバージョンのアップデータをサーバ１から取得し、当該取得したアップデータを用いて、当該アップデータに含まれるコンポーネント機能ごとにアップデートを行うことができる。
また、プリンタ２のプリンタ制御部２１はそのアップデート処理ごとの処理結果をアップデート実行表２００として記憶装置に保存しているので、アップデート中に何らかのプリンタ動作障害が発生し、アップデートを途中までしか終了できなかった場合であっても、再起動し、保存した処理結果を参照してアップデート処理が終了していないコンポーネント機能についてのアップデートを行うことができる。
また、データ破損等でアップデート処理が行えないコンポーネント機能がある場合、プリンタ２のプリンタ制御部２１は保存していた処理結果（アップデート実行表２００）をサーバ１に送信し、処理が終了しなかったコンポーネント機能のアップデータを取得して、そのデータをもとに該当するコンポーネント機能についての再アップデート処理を行うことができる。
【００４０】
上述した構成により、本発明の実施形態に係るプリンタは、全ての追加機能又は不具合対策のアップデートを最初から行うことなく、アップデートに失敗したコンポーネント機能のみをアップデートすることができる。つまり、各コンポーネント機能ごとにまとまったアップデータを使用するので、アップデートしている最中に動作障害などでアップデートができなくなった場合でも、途中まで終了している時点のアップデート実行表２００を利用して、終了しているコンポーネント機能の部分があれば、引き続いてアップデートが終了していないコンポーネント機能のアップデートを行うことができる。
【符号の説明】
【００４１】
１  サーバ
２  プリンタ
３  プリンタ
４  プリンタ
５  ネットワーク
６  ローカルエリアネットワーク
１１  操作パネル
１２  記憶装置
１３  メモリ
１４  ファームウェアアップデート部
１５  アップデータ管理部
１６  状態管理部
１７  通信制御部
１８  バックアップ／リストア制御部
１９  ハードディスクドライブ
２０  ネットワークＩ／Ｆ
２１  プリンタ制御部
１００  アップデータテーブル表
１０１  バージョン
１０２  コンポーネント機能
１０３  コンポーネント機能Ｃ
１０４  コンポーネント機能Ｄ
１０５  コンポーネント機能Ｅ
２００  アップデート実行表
２０１  最終終了状態欄
２０２  コンポーネント終了状態欄
【先行技術文献】
【特許文献】
【００４２】
【特許文献１】特開２００９−１４６１１９号公報
【特許文献２】特開２００６−１８９９７３号公報
【特許文献３】特開２００８−８４２９１号公報
【特許文献４】特開２００９−４８５５７号公報
【図１】
2011186588.tif 000003
【図２】
2011186588.tif 000004
【図３】
2011186588.tif 000005
【図４】
2011186588.tif 000006
【図５】
2011186588.tif 000007
【図６】
2011186588.tif 000008
【図７】
2011186588.tif 000009
【図８】
2011186588.tif 000010
【図９】
2011186588.tif 000011