(57)【要約】【課題】複数のファームウェアの利用が可能な装置であって，ジョブに応じて好適なファームウェアでの画像処理が期待できる技術を提供すること。【解決手段】ＭＦＰ１００は，第１のファームウェア５１と，第２のファームウェア５２と，を記憶する。ＭＦＰ１００は，受信したジョブが，実行中の第１のファームウェア５１で処理可能であれば，ジョブを実行する。第１のファームウェア５１で処理不可であっても，第２のファームウェアで処理可能であれば，起動設定５４に第２のファームウェア５２を実行する第２設定を記憶し，再起動する。ＭＦＰ１００は，再起動後，第２のファームウェア５２でジョブを実行する。そして，ＭＦＰ１００は，第２のファームウェア５２でジョブを実行した後は，起動設定５４に第１のファームウェア５１を実行する第１設定を記憶し，再起動する。【選択図】            図９
2016175314.tif 000002
【特許請求の範囲】
【請求項１】
シートに画像を印刷する印刷部と，
外部装置と通信する通信部と，
制御部と，
揮発性のメモリである第１記憶部と，
不揮発性のメモリである第２記憶部と，
起動時に前記制御部に最初に実行されるブートローダと，第１のファームウェアと，第２のファームウェアと，を記憶するファーム記憶部と，
前記第１のファームウェアを実行する第１設定と前記第２のファームウェアを実行する第２設定とのいずれかを示す起動設定を記憶する設定記憶部と，
を備える印刷装置であって，
前記制御部は，
前記ブートローダを実行している場合，
前記設定記憶部から前記起動設定を読み出す起動設定読出処理と，
前記起動設定読出処理にて読み出された前記起動設定が，前記第１設定である場合は前記第１のファームウェアを起動し，前記第２設定である場合は前記第２のファームウェアを起動するファームウェア起動処理と，
を実行し，
前記第１のファームウェアを実行している場合，
印刷を伴うジョブを前記通信部を介して受信して当該ジョブを前記第１記憶部に記憶させる受信処理と，
前記受信処理にて受信したジョブである受信ジョブが，前記第１のファームウェアで処理可能か否か，前記第１のファームウェアで処理可能でなければ，前記第２のファームウェアで処理可能か否か，を判断する判断処理と，
前記判断処理にて前記第１のファームウェアで処理可能と判断された場合には，前記受信ジョブに基づく画像を，前記印刷部に印刷させる第１印刷処理と，
前記判断処理にて前記第２のファームウェアで処理可能と判断された場合には，
前記受信ジョブを前記第２記憶部に記憶させるジョブ記憶処理と，
前記設定記憶部に前記起動設定として前記第２設定を記憶させる第１設定記憶処理と，
前記ブートローダを実行する第１起動処理と，
を実行し，
前記第２のファームウェアを実行している場合，
前記第２記憶部から前記受信ジョブを前記第１記憶部に読み出し，読み出された前記受信ジョブ基づく画像を，前記印刷部に印刷させる第２印刷処理と，
前記第２印刷処理の実行終了後，前記設定記憶部に前記起動設定として前記第１設定を記憶させる第２設定記憶処理と，
前記ブートローダを実行する第２起動処理と，
を実行することを特徴とする印刷装置。
【請求項２】
請求項１に記載する印刷装置において，
前記印刷部は，
トナーを収容する収容部と，
トナー像を形成する形成部と，
トナー像をシートに転写する転写部と，
トナー像をシートに定着させる定着部と，
を備え，
前記制御部は，
前記第１のファームウェアの起動時は，前記収容部内のトナーを撹拌する撹拌動作と，前記定着部のウォームアップ動作との両方を実施し，
前記第２のファームウェアの起動時は，前記撹拌動作と前記ウォームアップ動作との少なくとも一方を実施しないことを特徴とする印刷装置。
【請求項３】
請求項１または請求項２に記載する印刷装置において，
前記制御部は，
前記第１のファームウェアの実行中に，前記外部装置から能力の通知要求を前記通信部を介して受信する能力受信処理と，
前記能力受信処理にて前記通知要求を受信した場合に，前記通知要求にて指定された処理を，前記第１のファームウェアと前記第２のファームウェアとの少なくとも一方で可能であれば，処理可能である旨の信号を，前記通信部を介して前記外部装置に応答し，前記第１のファームウェアと前記第２のファームウェアとのどちらも不可であれば，処理不可である旨の信号を，前記通信部を介して前記外部装置に応答する能力応答処理と，
を実行することを特徴とする印刷装置。
【請求項４】
請求項１から請求項３のいずれか１つに記載する印刷装置において，
前記第２のファームウェアの処理可能な能力の情報である能力情報を記憶する能力記憶部を備え，
前記制御部は，
前記判断処理では，前記第１のファームウェアの実行中に，前記能力記憶部から前記能力情報を読み出し，前記能力情報に基づいて，前記第２のファームウェアで処理可能か否かを判断することを特徴とする印刷装置。
【請求項５】
請求項１から請求項４のいずれか１つに記載する印刷装置において，
前記制御部は，
前記判断処理にて前記第１のファームウェアでも前記第２のファームウェアでも処理不可と判断された場合には，エラーを通知することを特徴とする印刷装置。
【請求項６】
原稿の画像を読み取る読取部と，
外部装置と通信する通信部と，
制御部と，
揮発性のメモリである第１記憶部と，
不揮発性のメモリである第２記憶部と，
起動時に前記制御部に最初に実行されるブートローダと，第１のファームウェアと，第２のファームウェアと，を記憶するファーム記憶部と，
前記第１のファームウェアを実行する第１設定と前記第２のファームウェアを実行する第２設定とのいずれかを示す起動設定を記憶する設定記憶部と，
を備える読取装置であって，
前記制御部は，
前記ブートローダを実行している場合，
前記設定記憶部から前記起動設定を読み出す起動設定読出処理と，
前記起動設定読出処理にて読み出された前記起動設定が，前記第１設定である場合は前記第１のファームウェアを起動し，前記第２設定である場合は前記第２のファームウェアを起動するファームウェア起動処理と，
を実行し，
前記第１のファームウェアを実行している場合，
読み取りを伴うジョブを前記通信部を介して受信して当該ジョブを前記第１記憶部に記憶させる受信処理と，
前記受信処理にて受信したジョブである受信ジョブが，前記第１のファームウェアで処理可能か否か，前記第１のファームウェアで処理可能でなければ，前記第２のファームウェアで処理可能か否か，を判断する判断処理と，
前記判断処理にて前記第１のファームウェアで処理可能と判断された場合には，前記受信ジョブに基づいて，前記読取部に原稿の画像を読み取らせる第１読取処理と，
前記判断処理にて前記第２のファームウェアで処理可能と判断された場合には，
前記受信ジョブを前記第２記憶部に記憶させるジョブ記憶処理と，
前記設定記憶部に前記起動設定として前記第２設定を記憶させる第１設定記憶処理と，
前記ブートローダを実行する第１起動処理と，
を実行し，
前記第２のファームウェアを実行している場合，
前記第２記憶部から前記受信ジョブを前記第１記憶部に読み出し，読み出された前記受信ジョブに基づいて，前記読取部に原稿の画像を読み取らせる第２読取処理と，
前記第２読取処理の実行終了後，前記設定記憶部に前記起動設定として前記第１設定を記憶させる第２設定記憶処理と，
前記ブートローダを実行する第２起動処理と，
を実行することを特徴とする読取装置。
【請求項７】
起動時に最初に実行されるブートローダと，第１のファームウェアと，第２のファームウェアと，前記第１のファームウェアを実行する第１設定と前記第２のファームウェアを実行する第２設定とのいずれかを示す起動設定と，を記憶する印刷装置の印刷方法であって，
前記ブートローダを実行している場合のステップとして，
前記起動設定が，前記第１設定である場合は前記第１のファームウェアを起動し，前記第２設定である場合は前記第２のファームウェアを起動するファームウェア起動ステップを含み，
前記第１のファームウェアを実行している場合のステップとして，
印刷を伴うジョブを前記通信部を介して受信して当該ジョブを揮発性の第１記憶部に記憶させる受信ステップと，
前記受信ステップにて受信したジョブである受信ジョブが，前記第１のファームウェアで処理可能か否か，前記第１のファームウェアで処理可能でなければ，前記第２のファームウェアで処理可能か否か，を判断する判断ステップと，
前記判断ステップにて前記第１のファームウェアで処理可能と判断された場合に，前記受信ジョブに基づく画像を印刷する第１印刷ステップと，
前記判断ステップにて前記第２のファームウェアで処理可能と判断された場合に，
前記受信ジョブを不揮発性の第２記憶部に記憶させるジョブ記憶ステップと，
前記起動設定に前記第２設定を記憶する第１設定記憶ステップと，
前記ブートローダを実行する第１起動ステップと，
を含み，
前記第２のファームウェアを実行している場合のステップとして，
前記第２記憶部から前記受信ジョブを前記第１記憶部に読み出し，読み出された前記受信ジョブ基づく画像を印刷する第２印刷ステップと，
前記第２印刷ステップの終了後，前記起動設定に前記第１設定を記憶する第２設定記憶ステップと，
前記ブートローダを実行する第２起動ステップと，
を含むことを特徴とする印刷方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，印刷装置，読取装置，および印刷方法に関する。さらに詳細には，装置の各構成要素を制御するファームウェアの切り換えに関するものである。
【背景技術】
【０００２】
従来から，ファームウェアを切り換えて，印刷を行う印刷装置が知られている。例えば，特許文献１には，ファームウェアの更新が可能な印刷装置であって，新たなファームウェアを受信した際，揮発性のメモリに画像データが記憶されている場合には当該画像データを不揮発性のメモリに記憶させ，その後に再起動を行い，当該画像データを不揮発性のメモリから読み出して揮発性のメモリに再度記憶させる構成が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４−１４８６１２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら，前記した従来の技術には，次のような問題があった。すなわち，新たなファームウェアに更新した後に，更新前のファームウェアを再利用する構成は開示されていない。更新前のファームウェアと更新後のファームウェアでは，例えば，印刷の色味や実行可能な機能が異なる場合がある。この場合，ファームウェアの更新によって更新前のファームウェアでの印刷ができなくなると，更新前のファームウェアを利用するユーザの不満を生じさせる。
【０００５】
本発明は，前記した従来の技術が有する問題点を解決するためになされたものである。すなわちその課題とするところは，複数のファームウェアの利用が可能な装置であって，ジョブに応じて好適なファームウェアでの画像処理が期待できる技術を提供することにある。
【課題を解決するための手段】
【０００６】
この課題の解決を目的としてなされた印刷装置は，シートに画像を印刷する印刷部と，外部装置と通信する通信部と，制御部と，揮発性のメモリである第１記憶部と，不揮発性のメモリである第２記憶部と，起動時に前記制御部に最初に実行されるブートローダと，第１のファームウェアと，第２のファームウェアと，を記憶するファーム記憶部と，前記第１のファームウェアを実行する第１設定と前記第２のファームウェアを実行する第２設定とのいずれかを示す起動設定を記憶する設定記憶部と，を備える印刷装置であって，前記制御部は，前記ブートローダを実行している場合，前記設定記憶部から前記起動設定を読み出す起動設定読出処理と，前記起動設定読出処理にて読み出された前記起動設定が，前記第１設定である場合は前記第１のファームウェアを起動し，前記第２設定である場合は前記第２のファームウェアを起動するファームウェア起動処理と，を実行し，前記第１のファームウェアを実行している場合，印刷を伴うジョブを前記通信部を介して受信して当該ジョブを前記第１記憶部に記憶させる受信処理と，前記受信処理にて受信したジョブである受信ジョブが，前記第１のファームウェアで処理可能か否か，前記第１のファームウェアで処理可能でなければ，前記第２のファームウェアで処理可能か否か，を判断する判断処理と，前記判断処理にて前記第１のファームウェアで処理可能と判断された場合には，前記受信ジョブに基づく画像を，前記印刷部に印刷させる第１印刷処理と，前記判断処理にて前記第２のファームウェアで処理可能と判断された場合には，前記受信ジョブを前記第２記憶部に記憶させるジョブ記憶処理と，前記設定記憶部に前記起動設定として前記第２設定を記憶させる第１設定記憶処理と，前記ブートローダを実行する第１起動処理と，を実行し，前記第２のファームウェアを実行している場合，前記第２記憶部から前記受信ジョブを前記第１記憶部に読み出し，読み出された前記受信ジョブ基づく画像を，前記印刷部に印刷させる第２印刷処理と，前記第２印刷処理の実行終了後，前記設定記憶部に前記起動設定として前記第１設定を記憶させる第２設定記憶処理と，前記ブートローダを実行する第２起動処理と，を実行することを特徴としている。
【０００７】
本明細書に開示される印刷装置は，第１のファームウェアと，第２のファームウェアとの，２つのファームウェアを記憶し，第１のファームウェアを実行している状態でジョブの受信を待機する。印刷装置は，ジョブを受信した場合，受信したジョブが実行中の第１のファームウェアで処理可能か，実行中でない第２のファームウェアで処理可能か，を判別する。印刷装置は，受信したジョブが第１のファームウェアで処理可能であると判別した場合はそのまま受信したジョブを処理し，第１のファームウェアで処理不可能であるけれども第２のファームウェアで処理可能であると判別した場合は第２のファームウェアに切り換えてジョブを処理する。これにより，印刷装置に第２のファームウェアでジョブを処理させたいユーザは，印刷装置にジョブを送信するだけで印刷装置にそのジョブを第２のファームウェアで処理させることができる。つまり，印刷装置に第２のファームウェアでジョブを処理させたいユーザは，第１のファームウェアから第２のファームウェアに切り換える手間がかからない。
【０００８】
また，本明細書に開示される印刷装置は，第２のファームウェアに切り換えてジョブを処理した場合，そのジョブの処理が終了した後に，第１のファームウェアを実行している状態に戻る。これにより，印刷装置が第２のファームウェアを実行している状態のまま放置されることがなくなるため，印刷装置に第１のファームウェアでジョブを処理させたいユーザは，第２のファームウェアから第１のファームウェアに戻す手間がかからない。
【０００９】
また，前記印刷部は，トナーを収容する収容部と，トナー像を形成する形成部と，トナー像をシートに転写する転写部と，トナー像をシートに定着させる定着部と，を備え，前記制御部は，前記第１のファームウェアの起動時は，前記収容部内のトナーを撹拌する撹拌動作と，前記定着部のウォームアップ動作との両方を実施し，前記第２のファームウェアの起動時は，前記撹拌動作と前記ウォームアップ動作との少なくとも一方を実施しないとよい。第１のファームウェアの起動時に，トナーの撹拌動作および定着のウォームアップ動作は実施されるため，第１のファームウェアの動作中は，これらの準備動作が完了済みである。そのため，第２のファームウェアに切り換える際の起動時には，これらの準備動作を省略でき，消耗品の劣化を抑制できる。
【００１０】
また，前記制御部は，前記第１のファームウェアの実行中に，前記外部装置から能力の通知要求を前記通信部を介して受信する能力受信処理と，前記能力受信処理にて前記通知要求を受信した場合に，前記通知要求にて指定された処理を，前記第１のファームウェアと前記第２のファームウェアとの少なくとも一方で可能であれば，処理可能である旨の信号を，前記通信部を介して前記外部装置に応答し，前記第１のファームウェアと前記第２のファームウェアとのどちらも不可であれば，処理不可である旨の信号を，前記通信部を介して前記外部装置に応答する能力応答処理と，を実行するとよい。第１のファームウェアと第２のファームウェアとの少なくとも一方で処理可能な場合に処理可能を応答することで，外部装置から印刷の実行対象として選択される可能性が高まる。すなわち，実行中の第１のファームウェアで処理可能な場合にのみ処理可能を応答する場合と比較して，ユーザの選択肢が広がる。
【００１１】
また，本明細書に開示される印刷装置では，前記第２のファームウェアの処理可能な能力の情報である能力情報を記憶する能力記憶部を備え，前記制御部は，前記判断処理では，前記第１のファームウェアの実行中に，前記能力記憶部から前記能力情報を読み出し，前記能力情報に基づいて，前記第２のファームウェアで処理可能か否かを判断するとよい。能力情報を自装置に記憶することで，外部装置に問い合わせて取得する場合と比較して，早期に能力情報を取得できる。
【００１２】
また，前記制御部は，前記判断処理にて前記第１のファームウェアでも前記第２のファームウェアでも処理不可と判断された場合には，エラーを通知するとよい。どちらのファームウェアでも処理不可の場合は，受信ジョブを実行できないため，ユーザに通知する方が好ましい。
【００１３】
上記画像形成装置の機能を実現するための制御方法，コンピュータプログラム，および当該コンピュータプログラムを格納するコンピュータ読取可能な記憶媒体も，新規で有用である。
【発明の効果】
【００１４】
本発明によれば，複数のファームウェアの利用が可能な装置であって，ジョブに応じて好適なファームウェアでの画像処理が期待できる技術が実現される。
【図面の簡単な説明】
【００１５】
【図１】実施の形態にかかる複合機（ＭＦＰ）および印刷システムの構成を示すブロック図である。
【図２】実施の形態にかかるＭＦＰの，印刷部の構成を示す図である。
【図３】実施の形態にかかるＭＦＰの，ファームウェアの構成を示す図である。
【図４】実施の形態にかかる印刷システムの印刷のシーケンスを示す図である。
【図５】モバイル装置が実行する印刷指示入力処理の手順を示すフローチャートである。
【図６】サーバが実行するプリンタ検索処理の手順を示すフローチャートである。
【図７】サーバが実行するジョブ送信処理の手順を示すフローチャートである。
【図８】ＭＦＰが実行する能力応答処理の手順を示すフローチャートである。
【図９】ＭＦＰが実行する受信ジョブ印刷処理の手順を示すフローチャートである。
【図１０】ＭＦＰが実行する起動処理の手順を示すフローチャートである。
【図１１】ＭＦＰが実行するファーム起動処理の手順を示すフローチャートである。
【発明を実施するための形態】
【００１６】
以下，本発明にかかる印刷装置を具体化した実施の形態について，添付図面を参照しつつ詳細に説明する。本形態は，印刷対象のデータを画像データに変換するクラウドサーバを有するクラウド印刷システムに接続する複合機（ＭＦＰ：MultiFunction Peripheral）に本発明を適用したものである。なお，クラウドサーバとは，クラウドコンピューティングの概念において，クラウドの先にある仮想化サーバであり，クラウドの中にパケットを通過させ，ＷＥＢブラウザで操作ができるサーバである。
【００１７】
［印刷システムの全体構成］
本形態の印刷システム９００は，図１に示すように，印刷機能および読取機能を有するＭＦＰ１００と，モバイル装置２００と，クラウドサーバ３００とを備えている。ＭＦＰ１００，モバイル装置２００，およびクラウドサーバ３００は，インターネットを介して接続される。ＭＦＰ１００は，印刷装置および読取装置の一例である。
【００１８】
モバイル装置２００としては，例えば，スマートフォンや，タブレット型のパーソナルコンピュータ（ＰＣ）が該当する。モバイル装置２００は，インターネットを介して接続されるクラウドサーバ３００に対して印刷ジョブないし読取ジョブを送信する。クラウドサーバ３００は，受信したジョブを，当該ジョブで指定されたデバイスに送信する。例えば，ジョブの送信先としてＭＦＰ１００が選択された場合，モバイル装置２００から送信されたジョブは，クラウドサーバ３００を介して，ＭＦＰ１００に送信される。
【００１９】
なお，クラウドサーバ３００に接続する印刷装置ないし読取装置は，ＭＦＰ１００に限るものではないが，図１では説明の簡略化のため，ＭＦＰ１００のみを図示する。また，クラウドサーバ３００に接続するデバイスも，モバイル装置２００に限るものではないが，図１では説明の簡略化のため，モバイル装置２００のみを図示する。また，クラウドサーバ３００は，１台のコンピュータによって実現されるものに限らず，複数台のコンピュータによって実現されるものであってもよい。
【００２０】
［ＭＦＰの構成］
続いて，本形態の印刷システム９００に含まれるＭＦＰ１００の概略構成について説明する。ＭＦＰ１００は，図１に示したように，ＣＰＵ３１と，ＲＯＭ３２と，ＲＡＭ３３と，ＮＶＲＡＭ（Non Volatile RAM）３４とを備えるコントローラ３０を有している。なお，図１中のコントローラ３０は，ＣＰＵ３１等，ＭＦＰ１００の制御に利用されるハードウェアを纏めた総称であって，実際にＭＦＰ１００に存在する単一のハードウェアと表すとは限らない。
【００２１】
ＲＯＭ３２には，ＭＦＰ１００を制御するための制御プログラムであるファームウェア，ファームウェアを起動するプログラムであるブートローダ，各種設定等が記憶されている。ＲＡＭ３３およびＮＶＲＡＭ３４は，各種制御プログラムが読み出される作業領域として，あるいはデータを一時的に記憶する記憶領域として利用される。ＲＯＭ３２は，ファーム記憶部の一例である。ＲＡＭ３３は，第１記憶部の一例である。ＮＶＲＡＭ３４は，第２記憶部および設定記憶部の一例である。
【００２２】
ＣＰＵ３１は，ＲＯＭ３２から読み出した制御プログラムや各種センサから送られる信号に従って，その処理結果をＲＡＭ３３またはＮＶＲＡＭ３４に記憶させながら，ＭＦＰ１００の各構成要素を制御する。ＣＰＵ３１は，制御部の一例である。なお，コントローラ３０が制御部の一例であってもよい。
【００２３】
また，ＭＦＰ１００は，シートに画像を印刷する印刷部１０と，原稿の画像を読み取る読取部２０と，表示機能と入力機能とを兼ねる操作パネル４０と，ネットワークインターフェース（ネットワークＩＦ）３６とを有し，これらがＣＰＵ３１によって制御される。
【００２４】
図２は，本形態の印刷部１０の概略構成を示している。印刷部１０は，電子写真方式によってトナー像を形成し，そのトナー像をシートに転写するプロセス部５０と，プロセス部５０に光を照射する露光装置５３と，シート上の未定着のトナーを定着させる定着装置８と，プロセス部５０の転写位置にシートを搬送する搬送ベルト７とを備えている。印刷部１０は，印刷部の一例である。定着装置８は，定着部の一例である。また，印刷部１０は，給紙ローラ２１，レジストローラ２２，および排紙ローラ２６を備え，シートが，給紙ローラ２１，レジストローラ２２，プロセス部５０，定着装置８を通り，排紙ローラ２６を介して排出されるように，搬送路１１（図２中の一点鎖線）が設けられている。
【００２５】
プロセス部５０は，カラー画像の形成が可能であり，シアン（Ｃ），マゼンタ（Ｍ），イエロー（Ｙ），ブラック（Ｋ）の各色に対応するプロセス部を並列に配置している。具体的には，Ｃ色の画像を形成するプロセス部５０Ｃと，Ｍ色の画像を形成するプロセス部５０Ｍと，Ｙ色の画像を形成するプロセス部５０Ｙと，Ｋ色の画像を形成するプロセス部５０Ｋとを備えている。そして，シートの搬送方向において，下流側からプロセス部５０Ｃ，５０Ｍ，５０Ｙ，５０Ｋの順に等間隔に配置されている。なお，プロセス部の順番はこれに限定するものではない。
【００２６】
プロセス部５０Ｋは，ドラム状の感光体１と，感光体１の表面を一様に帯電する帯電装置２と，感光体１上の静電潜像に対してトナーによる現像を行う現像装置４と，感光体１上のトナー像をシートあるいは搬送ベルト７に転写させる転写装置５と，を有している。現像装置４は，収容部および形成部の一例である。転写装置５は，転写部の一例である。他のプロセス部５０Ｃ，５０Ｍ，５０Ｙについても，プロセス部５０Ｋと同様の構成である。
【００２７】
各プロセス部５０Ｃ，５０Ｍ，５０Ｙ，５０Ｋでは，感光体１の表面が帯電装置２によって一様に帯電される。その後，露光装置５３からの光により露光され，形成すべき画像の静電潜像が感光体１上に形成される。次いで，現像装置４を介してトナーが感光体１に供給される。これにより，感光体１上の静電潜像は，トナー像として可視像化される。
【００２８】
印刷部１０は，給紙ローラ２１によってシートを１枚ずつ取り出し，そのシートを搬送ベルト７上に搬送する。そして，プロセス部５０にて形成されたトナー像をそのシートに転写する。このとき，カラー印刷では，各プロセス部５０Ｃ，５０Ｍ，５０Ｙ，５０Ｋにてトナー像が形成され，シート上で各トナー像が重ね合わせられる。一方，モノクロ印刷では，プロセス部５０Ｋのみでトナー像が形成され，シートに転写される。その後は，トナー像が転写されたシートを定着装置８に搬送し，トナー像をそのシートに熱定着させる。そして，定着後のシートを排紙ローラ２６によって排出する。
【００２９】
ネットワークＩＦ３６は，インターネット等のネットワークに接続し，ＩＥＥＥの８０２．３の規格およびそれに準ずる規格に基づいて，イーサネット（登録商標）方式の通信を可能にするハードウェアである。なお，ネットワークＩＦ３６は，ＷｉＦｉ等の無線通信を介してインターネットに接続する構成であってもよい。ＭＦＰ１００は，ネットワークＩＦ３６を介して，クラウドサーバ３００からデータを受信し，クラウドサーバ３００にデータを送信する。ネットワークＩＦ３６は，通信部の一例である。
【００３０】
操作パネル４０は，ＭＦＰ１００の外装に設けられ，ユーザ入力を受け付ける各種のボタン群と，メッセージや各種の設定を表示するタッチパネルとを有している。各種のボタンとしては，例えば，テンキー，矢印キー，ＯＫボタン，キャンセルボタンがある。また，タッチパネルは，ユーザがタッチ操作することによっても入力が可能であり，例えば，各種の設定やユーザ情報がタッチパネルから入力される。
【００３１】
また，ＭＦＰ１００のＲＯＭ３２は，図３に示すように，２種類のファームウェア５１，５２と，ブートローダ５３と，を記憶している。本形態では，一方のファームウェアを第１のファームウェア５１とし，他方のファームウェアを第２のファームウェア５２とする。例えば，第１のファームウェア５１を最新のバージョンのファームウェアとし，第２のファームウェア５２を旧バージョンのファームウェアとする。また，第１のファームウェア５１を標準のファームウェアとし，第２のファームウェア５２を特殊な機能に特化したカスタムバージョンのファームウェアとしてもよい。ユーザは，旧バージョンの印刷の色味を好む場合や，特殊な機能を利用する場合があり，ＭＦＰ１００では，標準のファームウェアである第１のファームウェア５１の他に，標準のファームウェアと異なる印刷が可能な第２のファームウェア５２を記憶している。
【００３２】
ブートローダ５３は，ＭＦＰ１００のＣＰＵ３１が実行可能なプログラムである。ＭＦＰ１００のＣＰＵ３１は，起動時にブートローダ５３を読み出して実行する。その後，ＣＰＵ３１は，ブートローダ５３を実行することによって第１のファームウェア５１と第２のファームウェア５２とのいずれか一方を読み出し，その読み出したファームウェアを実行することによってハードウェアの制御を行う。また，各ファームウェア５１，５２は，ＭＦＰ１００のＣＰＵ３１が実行可能なプログラムである。ＣＰＵ３１は，ファームウェア５１または５２を実行することにより，印刷部１０，読取部２０，操作パネル４０等，各種のハードウェアの制御を行う。ＣＰＵ３１は，一方のファームウェアを実行中に他方のファームウェアに切り換える場合には，ＣＰＵ３１自身の再起動，すなわちブートローダ５３を読み出して実行することからのやり直しを必要とする。
【００３３】
ＭＦＰ１００は，ＮＶＲＡＭ３４に，第１のファームウェア５１を実行する第１設定と第２のファームウェア５２を実行する第２設定とのいずれかを示す起動設定５４を記憶している。そして，ＭＦＰ１００のＣＰＵ３１は，起動時に，ブートローダ５３を実行することによって起動設定５４を読み出し，起動するファームウェアを決定する。起動するファームウェアの設定は，ユーザ選択が可能であってもよく，その場合，選択されたファームウェアに従って第１設定と第２設定とのいずれかを起動設定５４に記憶する。
【００３４】
本形態では，ＣＰＵ３１が第１のファームウェア５１を実行している場合と第２のファームウェア５２を実行している場合とで，ＭＦＰ１００が処理可能な画像フォーマットが異なる。ＭＦＰ１００は，ＣＰＵ３１が第１のファームウェア５１を実行している場合に処理可能な画像フォーマットを，機能情報テーブル５１１に記憶している。具体的に機能情報テーブル５１１は，例えば第１のファームウェア５１の先頭から０ｘ１０００バイト〜０ｘ２０００バイトまでのアドレスに記憶される。ＭＦＰ１００は，ＣＰＵ３１が第２のファームウェア５２を実行している場合に処理可能なフォーマットも，機能情報テーブル５１１とは別に，機能情報テーブル５２１に記憶している。具体的に機能情報テーブル５２１は，例えば第２のファームウェア５２の先頭から０ｘ１０００バイト〜０ｘ２０００バイトまでのアドレスに記憶される。機能情報テーブル５１１と機能情報テーブル５２１とは，能力記憶部の一例である。
【００３５】
ＭＦＰ１００は，例えばＣＰＵ３１が第１のファームウェア５１を実行している場合に機能情報テーブル５２１を参照することで，第２のファームウェアで処理可能な画像フォーマットの情報を読み出すことができる。一方，ＣＰＵ３１が第２のファームウェア５２を実行している場合に機能情報テーブル５１１を参照することで，第１のファームウェアで処理可能な画像フォーマットの情報を読み出すことができる。なお，機能情報テーブル５１１，５２１には，画像フォーマットに限らず，他の情報を記憶してもよい。例えば，ファームウェアのバージョン情報や，処理可能な機能の情報を記憶してもよい。
【００３６】
［クラウド印刷の動作概要］
続いて，モバイル装置２００からクラウドサーバ３００に印刷ジョブを送信し，ＭＦＰ１００がクラウドサーバ３００から印刷ジョブを受け付けて印刷する印刷動作であるクラウド印刷の動作概要について，図４を参照しつつ説明する。なお，クラウド印刷を実現するには，あらかじめ，モバイル装置２００がクラウドサーバ３００にログインする必要があるが，以下の説明は，ログインが成功したものとして，ログインの動作については省略している。
【００３７】
始めに，モバイル装置２００では，ユーザからの指示に応じて，印刷ジョブを投入するアプリケーションプログラム（以下，「アプリ」とする）を起動する。そして，当該アプリを介して印刷指示がモバイル装置２００に入力されると，モバイル装置２００は，印刷対象の画像データの画像フォーマットに対応可能なプリンタの検索結果を要求するプリンタ検索要求を，クラウドサーバ３００に送信する。
【００３８】
クラウドサーバ３００は，プリンタ検索要求を受信すると，要求された画像フォーマット，あるいはクラウドサーバ３００が当該画像フォーマットを別の画像フォーマットに変換可能であればその変換後の画像フォーマット，に対応可能か否かの回答を要求する能力通知要求を，モバイル装置２００のログインユーザが使用可能なプリンタ全てに対して送信する。能力通知要求を受信したＭＦＰ１００は，要求された画像フォーマットに対応可能か否かを応答する。クラウドサーバ３００は，各プリンタからの応答に基づいて，要求された画像フォーマットに対応可能なプリンタの一覧を作成し，当該一覧をモバイル装置２００に応答する。
【００３９】
モバイル装置２００は，クラウドサーバ３００からプリンタの一覧を受信すると，その中から印刷を行わせるプリンタの，ユーザによる選択を受け付ける。さらに，モバイル装置２００は，ユーザによる印刷実行指示を受け付ける。印刷実行指示を受け付けると，モバイル装置２００は，印刷ジョブをクラウドサーバ３００に送信する。印刷ジョブには，選択されたプリンタの情報および印刷対象となる画像データの他，カラー設定，両面印刷設定，倍率設定等，各種の印刷設定が含まれる。なお，以下の説明では，印刷を行わせるプリンタとしてＭＦＰ１００が選択されたものとする。
【００４０】
クラウドサーバ３００は，印刷ジョブを受信すると，モバイル装置２００にて選択されたプリンタであるＭＦＰ１００に対して，能力通知要求を送信する。能力通知要求の応答の有無によってＭＦＰ１００が稼働中であるか否かを確認する。
【００４１】
そして，クラウドサーバ３００は，ＭＦＰ１００から能力通知要求に対する応答を受信すると，必要に応じて印刷対象の画像データに対して加工処理を行う。例えば，印刷対象の画像データの画像フォーマットを，能力通知要求を行った画像フォーマットに変換する。また，ＭＦＰ１００にて，ウォータマーク等，特定の加工処理ができない場合であって，当該特定の加工処理が設定されている場合に，クラウドサーバ３００が当該特定の加工処理を行ってもよい。クラウドサーバ３００は，加工後の画像データを含む印刷ジョブ，あるいは加工が必要なければモバイル装置２００から受信した印刷ジョブを，ＭＦＰ１００に送信する。
【００４２】
印刷ジョブを受信したＭＦＰ１００は，印刷ジョブに含まれる画像データの画像に基づく印刷を行う。そして，ＭＦＰ１００は，印刷の結果をクラウドサーバ３００に送信する。クラウドサーバ３００は，ＭＦＰ１００から印刷の結果を受信すると，当該印刷の結果をモバイル装置２００に送信する。
【００４３】
［モバイル装置の動作］
続いて，前記したクラウド印刷の動作を実現する各デバイスの動作について説明する。始めに，モバイル装置２００が実行する印刷指示入力処理について，図５のフローチャートを参照しつつ説明する。印刷指示入力処理は，印刷ジョブを投入するアプリが起動されたことを契機に，モバイル装置２００によって実行される。
【００４４】
印刷指示入力処理では，モバイル装置２００は先ず，アプリを介してユーザが印刷対象の画像データを選択した状態で，当該画像データに対する印刷指示の入力を受け付ける（Ｓ１０１）。Ｓ１０１の後，モバイル装置２００は，クラウドサーバ３００に対して，所定の画像フォーマットに対応可能なプリンタを検索するプリンタ検索要求を送信する（Ｓ１０２）。所定の画像フォーマットは，アプリを介してユーザが選択した印刷対象の画像データの画像フォーマットである。
【００４５】
Ｓ１０２の後，モバイル装置２００は，クラウドサーバ３００からプリンタの一覧を受信したか否かを判断する（Ｓ１０３）。プリンタの一覧を受信していない場合（Ｓ１０３：ＮＯ），モバイル装置２００は，プリンタ検索要求を送信してからの経過時間が所定時間を超えたか，すなわちタイムアウトになったか否かを判断する（Ｓ１０４）。
【００４６】
タイムアウトになった場合（Ｓ１０４：ＹＥＳ），モバイル装置２００は，タイムアウトになった旨のエラーを報知する（Ｓ１３１）。タイムアウトになっていない場合（Ｓ１０４：ＮＯ），Ｓ１０３に戻り，モバイル装置２００は，プリンタの一覧の受信，あるいはタイムアウトになるのを待つ。
【００４７】
一方，プリンタの一覧を受信した場合（Ｓ１０３：ＹＥＳ），モバイル装置２００は，受信したプリンタの一覧に基づいて，選択可能なプリンタの一覧を，アプリを介して表示し（Ｓ１１１），ユーザによるプリンタの選択を受け付ける（Ｓ１１２）。さらに，モバイル装置２００は，印刷実行指示の入力を受け付ける（Ｓ１１３）。Ｓ１１３の後，モバイル装置２００は，Ｓ１１２にて選択されたプリンタを，印刷対象の画像データの画像を印刷するプリンタとする印刷ジョブを，クラウドサーバ３００に送信する（Ｓ１１４）。
【００４８】
Ｓ１１４の後，モバイル装置２００は，クラウドサーバ３００から印刷ジョブの実行結果を受信したか否かを判断する（Ｓ１１５）。実行結果を受信していない場合（Ｓ１１５：ＮＯ），モバイル装置２００は，印刷ジョブを送信してからの経過時間が所定時間を超えたか，すなわちタイムアウトになったか否かを判断する（Ｓ１１６）。
【００４９】
タイムアウトになった場合（Ｓ１１６：ＹＥＳ），モバイル装置２００は，タイムアウトになった旨のエラーを報知する（Ｓ１３１）。タイムアウトになっていない場合（Ｓ１１６：ＮＯ），Ｓ１１５に戻り，モバイル装置２００は，印刷ジョブの実行結果の受信，あるいはタイムアウトになるのを待つ。
【００５０】
一方，印刷ジョブの実行結果を受信した場合（Ｓ１１４：ＹＥＳ），モバイル装置２００は，実行結果が正常完了か否かを判断する（Ｓ１２１）。正常完了でなければ（Ｓ１２１：ＮＯ），モバイル装置２００は，正常完了しなかった旨のエラーを報知する（Ｓ１３１）。正常完了であれば（Ｓ１２１：ＹＥＳ），あるいはＳ１３１の後は，印刷指示入力処理を終了する。
【００５１】
［クラウドサーバの動作］
続いて，クラウドサーバ３００が実行するプリンタ検索処理について，図６のフローチャートを参照しつつ説明する。プリンタ検索処理は，プリンタ検索要求を受信したことを契機に，クラウドサーバ３００によって実行される。
【００５２】
プリンタ検索処理では，クラウドサーバ３００は先ず，クラウドサーバ３００が管理しているプリンタのうち，プリンタ検索要求の送信元のユーザないしデバイスで使用可能な全プリンタに対して，プリンタ検索要求によって指定される画像フォーマットについて対応可能か否かを問い合わせる能力通知要求を送信する（Ｓ２０１）。
【００５３】
Ｓ２０１の後，クラウドサーバ３００は，送信先のプリンタから能力通知要求に対する応答が有ったか否かを判断する（Ｓ２０２）。能力通知要求に対する応答が有った場合（Ｓ２０２：ＹＥＳ），クラウドサーバ３００は，応答結果が対応可能か否かを判断する（Ｓ２１１）。対応可能であれば（Ｓ２１２：ＹＥＳ），クラウドサーバ３００は，応答用に確保したプリンタの一覧リストに，応答したプリンタを登録する（Ｓ２１２）。
【００５４】
Ｓ２１２の後，あるいは対応不可の場合（Ｓ２１２：ＮＯ），あるいは能力通知要求に対する応答が無い場合（Ｓ２０２：ＮＯ），クラウドサーバ３００は，Ｓ２０１にて能力通知要求を送信してからの経過時間が所定時間を経過していることと，能力通知要求を送信した全てのプリンタから応答が有ったこととの，いずれか一方を満たすか否かを判断する（Ｓ２０３）。いずれの条件も満たさない場合には（Ｓ２０３：ＮＯ），Ｓ２０２に戻り，Ｓ２０２の判断とＳ２０３の判断とを繰り返す。
【００５５】
Ｓ２０３のいずれか一方の条件を満たす場合（Ｓ２０３：ＹＥＳ），クラウドサーバ３００は，処理可能なプリンタが登録されているプリンタの一覧リストをプリンタ検索要求の送信元のデバイスに送信する（Ｓ２２１）。Ｓ２２１の後は，プリンタ検索処理を終了する。
【００５６】
続いて，クラウドサーバ３００が実行するジョブ送信処理について，図７のフローチャートを参照しつつ説明する。ジョブ送信処理は，印刷ジョブを受信したことを契機に，クラウドサーバ３００によって実行される。なお，以下の説明では，モバイル装置２００から印刷ジョブを受信し，印刷を実行するプリンタとしてＭＦＰ１００が選択されているものとする。
【００５７】
ジョブ送信処理では，クラウドサーバ３００は先ず，印刷を実行するプリンタとして選択されているＭＦＰ１００に対して，印刷ジョブに含まれる画像データの画像フォーマットについて対応可能か否かを問い合わせる能力通知要求を送信する（Ｓ２４１）。クラウドサーバ３０は，Ｓ２４１にて能力通知要求を送信することで，送信先のプリンタが稼働中であるか否かを確認できる。
【００５８】
Ｓ２４１の後，クラウドサーバ３００は，ＭＦＰ１００から能力通知要求の応答を受信したか否かを判断する（Ｓ２４２）。能力通知要求の応答を受信していない場合（Ｓ２４２：ＮＯ），クラウドサーバ３００は，能力通知要求を送信してからの経過時間が所定時間を超えたか，すなわちタイムアウトになったか否かを判断する（Ｓ２４３）。
【００５９】
タイムアウトになった場合（Ｓ２４３：ＹＥＳ），クラウドサーバ３００は，タイムアウトになった旨のエラー信号を，印刷ジョブの送信元であるモバイル装置２００に送信する（Ｓ２９１）。タイムアウトになっていない場合（Ｓ２４３：ＮＯ），Ｓ２４２に戻り，クラウドサーバ３００は，能力通知要求の応答の受信，あるいはタイムアウトになるのを待つ。
【００６０】
能力通知要求の応答を受信した場合（Ｓ２４２：ＹＥＳ），クラウドサーバ３００は，応答結果が対応可能か否かを判断する（Ｓ２５１）。対応不可であった場合（Ｓ２５１：ＮＯ），クラウドサーバ３００は，対応不可の画像フォーマットである旨のエラー信号を，モバイル装置２００に送信する（Ｓ２９１）。対応可能であった場合（Ｓ２５１：ＹＥＳ），クラウドサーバ３００は，必要に応じて印刷対象の画像データを加工する（Ｓ２５２）。そして，クラウドサーバ３００は，印刷ジョブをＭＦＰ１００に送信する（Ｓ２５３）。
【００６１】
Ｓ２５３の後，クラウドサーバ３００は，ＭＦＰ１００から印刷ジョブの実行結果を受信したか否かを判断する（Ｓ２５４）。実行結果を受信していない場合（Ｓ２５４：ＮＯ），クラウドサーバ３００は，印刷ジョブを送信してからの経過時間が所定時間を超えたか，すなわちタイムアウトになったか否かを判断する（Ｓ２５５）。
【００６２】
タイムアウトになった場合（Ｓ２５５：ＹＥＳ），クラウドサーバ３００は，タイムアウトになった旨のエラー信号を，モバイル装置２００に送信する（Ｓ２９１）。タイムアウトになっていない場合（Ｓ２５５：ＮＯ），Ｓ２５４に戻り，クラウドサーバ３００は，印刷ジョブの実行結果の受信，あるいはタイムアウトになるのを待つ。
【００６３】
一方，印刷ジョブの実行結果を受信した場合（Ｓ２５４：ＹＥＳ），クラウドサーバ３００は，実行結果が正常完了か否かを判断する（Ｓ２６１）。正常完了でなければ（Ｓ２６１：ＮＯ），クラウドサーバ３００は，印刷が正常完了しなかった旨のエラー信号を，モバイル装置２００に送信する（Ｓ２９１）。正常完了であれば（Ｓ２６１：ＹＥＳ），印刷が正常完了した旨の完了応答信号を，モバイル装置２００に送信する（Ｓ２６２）。Ｓ２６２あるいはＳ２９１の後は，ジョブ送信処理を終了する。
【００６４】
［ＭＦＰの動作］
続いて，ＭＦＰ１００のＣＰＵ３１が実行する能力応答処理について，図８のフローチャートを参照しつつ説明する。能力応答処理は，ネットワークＩＦ３６を介して能力通知要求を受信したことを契機に，ＭＦＰ１００のＣＰＵ３１によって実行される。この能力応答処理の開始条件となる能力通知要求を受信する処理は，能力受信処理の一例である。なお，以下の説明では，第１のファームウェア５１がＣＰＵ３１によって実行されているものとする。
【００６５】
能力応答処理では，ＭＦＰ１００のＣＰＵ３１は先ず，第１のファームウェア５１の処理能力を取得する（Ｓ３０１）。具体的には，機能情報テーブル５１１を参照し，処理可能な画像フォーマットの一覧を含む処理能力を取得する。
【００６６】
Ｓ３０１の後，ＭＦＰ１００のＣＰＵ３１は，能力通知要求で指定された画像フォーマットに第１のファームウェア５１が対応可能か否かを判断する（Ｓ３０２）。ＭＦＰ１００のＣＰＵ３１は，能力通知要求で指定された画像フォーマットが，Ｓ３０１で取得した画像フォーマットの一覧に含まれていれば対応可能と判断し，含まれていなければ対応不可と判断する。
【００６７】
第１のファームウェア５１が対応可能な場合（Ｓ３０２：ＹＥＳ），ＭＦＰ１００のＣＰＵ３１は，対応可能である旨の信号を，ネットワークＩＦ３６を介して，能力通知要求の要求元であるクラウドサーバ３００に応答する（Ｓ３０３）。
【００６８】
一方，第１のファームウェア５１が対応不可の場合（Ｓ３０２：ＮＯ），ＭＦＰ１００のＣＰＵ３１は，第２のファームウェア５２の処理能力を取得する（Ｓ３１１）。具体的には，機能情報テーブル５２１を参照し，処理可能な画像フォーマットの一覧を含む処理能力を取得する。
【００６９】
Ｓ３１１の後，ＭＦＰ１００のＣＰＵ３１は，能力通知要求で要求された画像フォーマットに第２のファームウェア５２が対応可能か否かを判断する（Ｓ３１２）。すなわち，ＭＦＰ１００は，能力通知要求で指定された画像フォーマットが，Ｓ３１１で取得した画像フォーマットの一覧に含まれていれば対応可能と判断し，含まれていなければ対応不可と判断する。
【００７０】
第２のファームウェア５２が対応可能な場合（Ｓ３１２：ＹＥＳ），ＭＦＰ１００のＣＰＵ３１は，対応可能である旨の信号を，ネットワークＩＦ３６を介して，クラウドサーバ３００に応答する（Ｓ３０３）。第２のファームウェア５２が対応不可の場合（Ｓ３１２：ＮＯ），ＭＦＰ１００のＣＰＵ３１は，対応不可である旨の信号を，ネットワークＩＦ３６を介して，クラウドサーバ３００に応答する（Ｓ３２１）。Ｓ３０３およびＳ３２１は，能力応答処理の一例である。Ｓ３０３あるいはＳ３２１の後，能力応答処理を終了する。
【００７１】
続いて，ＭＦＰ１００のＣＰＵ３１が実行する受信ジョブ印刷処理について，図９のフローチャートを参照しつつ説明する。受信ジョブ印刷処理は，ネットワークＩＦ３６を介して印刷ジョブを受信したことを契機に，ＭＦＰ１００のＣＰＵ３１によって実行される。この受信ジョブ印刷処理の開始条件となる印刷ジョブを受信する処理は，受信処理の一例である。なお，以下の説明では，第１のファームウェア５１がＣＰＵ３１によって実行されているものとする。
【００７２】
受信ジョブ印刷処理では，ＭＦＰ１００のＣＰＵ３１は先ず，印刷ジョブに含まれるジョブ情報を取得する（Ｓ３４１）。ジョブ情報には，例えば，印刷対象の画像データ，印刷設定，が該当する。また，ＭＦＰ１００のＣＰＵ３１は，第１のファームウェア５１の処理能力を取得する（Ｓ３４２）。具体的には，Ｓ３０１と同様に，機能情報テーブル５１１を参照し，第１のファームウェア５１にて処理可能な画像フォーマットの一覧を取得する。
【００７３】
Ｓ３４２の後，ＭＦＰ１００のＣＰＵ３１は，Ｓ３０２と同様に，Ｓ３４１にて取得したジョブ情報に含まれる画像データの画像フォーマットに第１のファームウェア５１が対応可能か否かを判断する（Ｓ３４３）。Ｓ３４３は，判断処理の一例である。
【００７４】
第１のファームウェア５１が対応可能な場合（Ｓ３４３：ＹＥＳ），ＭＦＰ１００のＣＰＵ３１は，第１のファームウェア５１を実行して印刷部１０を制御しながら，印刷対象の画像データの画像の印刷を印刷部１０に行わせる（Ｓ３４４）。Ｓ３４４は，第１印刷処理の一例である。そして，ＭＦＰ１００のＣＰＵ３１は，印刷の結果を，ネットワークＩＦ３６を介して，クラウドサーバ３００に送信する（Ｓ３４５）。
【００７５】
一方，第１のファームウェア５１が対応不可の場合（Ｓ３４３：ＮＯ），ＭＦＰ１００のＣＰＵ３１は，第２のファームウェア５２の処理能力を取得する（Ｓ３５１）。具体的には，Ｓ３１１と同様に，機能情報テーブル５２１を参照し，第２のファームウェア５２にて処理可能な画像フォーマットの一覧を取得する。
【００７６】
Ｓ３５１の後，ＭＦＰ１００のＣＰＵ３１は，Ｓ３１２と同様に，Ｓ３４１にて取得したジョブ情報に含まれる画像データの画像フォーマットに第２のファームウェア５２が対応可能か否かを判断する（Ｓ３５２）。第２のファームウェア５２が対応不可の場合（Ｓ３５２：ＮＯ），ＭＦＰ１００のＣＰＵ３１は，実行不可である旨のエラー信号を，ネットワークＩＦ３６を介して，クラウドサーバ３００に応答する（Ｓ３６１）。
【００７７】
第２のファームウェア５２が対応可能な場合（Ｓ３５２：ＹＥＳ），ＭＦＰ１００のＣＰＵ３１は，受信した印刷ジョブの保存のため，ＮＶＲＡＭ３４に記憶領域を確保し，当該印刷ジョブを当該記憶領域に記憶する（Ｓ３５３）。Ｓ３５３は，ジョブ記憶処理の一例である。そして，ＭＦＰ１００のＣＰＵ３１は，起動設定５４に第２設定を記憶する（Ｓ３５４）。Ｓ３５４は，第１設定記憶処理の一例である。そして，ＭＦＰ１００のＣＰＵ３１は，自身を再起動させる（Ｓ３５５）。Ｓ３５５は，第１起動処理の一例である。Ｓ３４５，Ｓ３５５，あるいはＳ３６１の後，受信ジョブ印刷処理を終了する。
【００７８】
続いて，ＭＦＰ１００のＣＰＵ３１が実行する起動処理について，図１０のフローチャートを参照しつつ説明する。起動処理は，ＭＦＰ１００の起動を契機に，ＭＦＰ１００のＣＰＵ３１によって実行される。ＭＦＰ１００の起動条件は，電源オンであってもよいし，自動的な再起動であってもよい。
【００７９】
起動処理では，ＭＦＰ１００のＣＰＵ３１は先ず，ブートローダ５３を読み出して実行する（Ｓ３８０）。さらには，ＭＦＰ１００のＣＰＵ３１は，ブートローダ５３を実行することによって，起動設定５４を読み出す（Ｓ３８１）。Ｓ３８１は，起動設定読出処理の一例である。そして，ＭＦＰ１００は，読み出された起動設定５４が第２設定か否かを判断する（Ｓ３８２）。
【００８０】
起動設定５４が第２設定でない，すなわち第１設定の場合（Ｓ３８２：ＮＯ），ＭＦＰ１００のＣＰＵ３１は，ブートローダ５３を実行することによって，第１のファームウェア５１を読み出して実行する（Ｓ３８４）。Ｓ３８４は，ファームウェア起動処理の一例である。一方，起動設定５４が第２設定である場合（Ｓ３８２：ＹＥＳ），ＭＦＰ１００のＣＰＵ３１は，ブートローダ５３を実行することによって，第２のファームウェア５２を読み出して実行する（Ｓ３８３）。Ｓ３８３は，ファームウェア起動処理の一例である。Ｓ３８３あるいはＳ３８４の後，起動処理を終了する。起動処理の終了後は，読み出されたファームウェアに処理を移行する。
【００８１】
続いて，ＭＦＰ１００のＣＰＵ３１が実行するファーム起動処理について，図１１のフローチャートを参照しつつ説明する。ファーム起動処理は，図１０の起動処理の終了に引き続いて，ＭＦＰ１００のＣＰＵ３１によって実行される。なお，ファーム起動処理は，第１のファームウェア５１が実行された場合であっても第２のファームウェア５２が実行された場合であっても実行される処理である。
【００８２】
ファーム起動処理では，ＭＦＰ１００のＣＰＵ３１は先ず，ＮＶＲＡＭ３４に保存されている印刷ジョブが有るか否かを判断する（Ｓ３９１）。Ｓ３９１では，今回の起動が受信ジョブ印刷処理のＳ３５５に基づくものであれば印刷ジョブが有ると判断され，そうではない場合には印刷ジョブが無いと判断される。
【００８３】
印刷ジョブが無い場合（Ｓ３９１：ＮＯ），ＭＦＰ１００のＣＰＵ３１は，起動処理にて起動されたファームウェアによって，印刷部１０に初期動作を行わせる（Ｓ３９８）。初期動作としては，例えば，現像装置４に収容されるトナーの撹拌動作や，定着装置８の加熱源のウォームアップ動作が含まれる。この他，読取部２０の構成要素や，操作パネル４０の構成要素でも，適宜，初期動作が行われる。
【００８４】
Ｓ３９８の後，ＭＦＰ１００のＣＰＵ３１は，ファームウェア５１または５２の実行中であって，指示の入力を待つモードである待機モードに移行し（Ｓ３９９），ファーム起動処理を終了する。なお，待機モード中，例えば能力通知要求を受信した場合，ＭＦＰ１００のＣＰＵ３１は，図８に示した能力応答処理を実行し，例えば印刷ジョブを受信した場合，ＭＦＰ１００のＣＰＵ３１は，図９に示した受信ジョブ印刷処理を実行する。
【００８５】
一方，印刷ジョブが有る場合（Ｓ３９１：ＹＥＳ），ＭＦＰ１００のＣＰＵ３１は，初期動作を行わせない。例えば，第１のファームウェア５１が実行された状態で前述した受信ジョブ印刷処理のＳ３５５にて再起動された場合，既に第１のファームウェア５１の起動時に初期動作が行われている。そのため，Ｓ３５５での再起動によって第２のファームウェア５２が実行された際には初期動作を省略する。初期動作を省略することで，消耗品の劣化を抑制できる。
【００８６】
ＭＦＰ１００のＣＰＵ３１は，印刷ジョブがＮＶＲＡＭ３４に有ることから，当該印刷ジョブをＲＡＭ３３に読み出す（Ｓ３９２）。そして，ＭＦＰ１００のＣＰＵ３１は，起動処理にて起動されたファームウェアによって印刷部１０を制御しながら，当該印刷ジョブに含まれる画像データの画像の印刷を印刷部１０に行わせる（Ｓ３９３）。Ｓ３９３は，第２印刷処理の一例である。そして，ＭＦＰ１００のＣＰＵ３１は，印刷の結果を，ネットワークＩＦ３６を介して，クラウドサーバ３００に送信する（Ｓ３９４）。印刷後は，当該印刷ジョブ用に確保されたＮＶＲＡＭ３４およびＲＡＭ３３の記憶領域を解放する（Ｓ３９５）。
【００８７】
Ｓ３９５の後，ＭＦＰ１００のＣＰＵ３１は，起動設定５４を，現在実行されているファームウェアとは別のファームウェアを起動させる設定に変更する（Ｓ３９６）。具体的には，第２のファームウェア５２が実行されている場合には第１設定を記憶し，第１のファームウェア５２が実行されている場合には第２設定を記憶する。Ｓ３９６は，第２設定記憶処理の一例である。そして，ＭＦＰ１００のＣＰＵ３１は，自身を再起動させる（Ｓ３９７）。すなわち，ＣＰＵ３１は，図１０の起動処理を実行し，ブートローダ５３を読み出して，Ｓ３９６の設定に従ってファームウェアを起動する。Ｓ３９７は，第２起動処理の一例である。Ｓ３９７の後は，ファーム起動処理を終了する。
【００８８】
以上詳細に説明したようにＭＦＰ１００は，第１のファームウェア５１と，第２のファームウェア５２との，２つのファームウェアを記憶し，第１のファームウェア５１を実行している状態でジョブの受信を待機する。ＭＦＰ１００は，ジョブを受信した場合，受信したジョブが実行中の第１のファームウェア５１で処理可能か，実行中でない第２のファームウェア５２で処理可能か，を判別する。ＭＦＰ１００は，受信したジョブが第１のファームウェア５１で処理可能であると判別した場合はそのまま受信したジョブを処理し，第１のファームウェア５１で処理不可能であるけれども第２のファームウェア５２で処理可能であると判別した場合は第２のファームウェア５２に切り換えてジョブを処理する。これにより，ＭＦＰ１００に第２のファームウェア５２でジョブを処理させたいユーザは，ＭＦＰ１００にジョブを送信するだけでＭＦＰ１００にそのジョブを第２のファームウェア５２で処理させることができる。つまり，ＭＦＰ１００に第２のファームウェア５２でジョブを処理させたいユーザは，第１のファームウェア５１から第２のファームウェア５２に切り換える手間がかからない。
【００８９】
また，ＭＦＰ１００は，第２のファームウェア５２に切り換えてジョブを処理した場合，そのジョブの処理が終了した後に，第１のファームウェア５１を実行している状態に戻る。これにより，ＭＦＰ１００が第２のファームウェア５２を実行している状態のまま放置されることがなくなるため，ＭＦＰ１００に第１のファームウェア５１でジョブを処理させたいユーザは，第２のファームウェア５２から第１のファームウェア５１に戻す手間がかからない。すなわち，ファームウェアが自動的に切り換えられるため，ユーザの手間が少ない。
【００９０】
なお，本実施の形態は単なる例示にすぎず，本発明を何ら限定するものではない。したがって本発明は当然に，その要旨を逸脱しない範囲内で種々の改良，変形が可能である。例えば，印刷装置は，ＭＦＰに限るものではなく，プリンタ，ＦＡＸ装置，複写機等，印刷機能を備えるものであれば適用可能である。
【００９１】
また，実施の形態の印刷部１０は，電子写真方式によって画像を形成し，カラー印刷が可能な構成であるが，インクジェット方式によって画像を形成してもよい。また，モノクロ印刷のみが可能な構成であってもよい。
【００９２】
また，実施の形態では，各ファームウェア５１，５２および各機能情報テーブル５１１，５２１をＲＯＭ３２に記憶しているが，ＮＶＲＡＭ３４に記憶してもよい。また，実施の形態では，１つのＲＯＭ３２に２つのファームウェア５１，５２を記憶しているが，ＲＯＭを２つ用意し，それぞれ別のＲＯＭに記憶してもよい。この場合，２つのＲＯＭともにファーム記憶部の一例となる。
【００９３】
また，実施の形態では，２つのファームウェア５１，５２を記憶しているが，記憶されるファームウェアの数は２つに限らず，３つ以上であってもよい。この場合であっても，起動設定５４に記憶されるファームウェアは１つであり，現在実行中のファームウェアで処理不可の印刷ジョブであった場合に，処理可能なファームウェアを検索し，起動設定５４に，処理可能なファームウェアを実行する設定を記憶し，再起動によって処理可能な他のファームウェアに切り換える。そして，印刷ジョブの処理後は，元のファームウェアを実行する設定を記憶し，再起動によって元のファームウェアに戻せばよい。
【００９４】
また，実施の形態では，受信ジョブ印刷処理での再起動によって第２のファームウェア５２が起動された場合に，印刷部１０の初期動作を省略しているが，初期動作を実行してもよい。また，印刷部１０の初期動作を省略する場合も，全ての動作を省略する必要は無く，例えば，現像装置４に収容されるトナーの撹拌動作と，定着装置８の加熱源のウォームアップ動作との，いずれか一方を省略し，他方を実行する構成であってもよい。
【００９５】
また，実施の形態では，印刷ジョブで指定された画像フォーマットの種類に基づいて，各ファームウェアで処理可能か否かを判断しているが，処理可能か否かの判断対象は，画像フォーマットの種類に限るものではない。例えば，集約，倍率変更，カラー設定，ウォータマーク等の画像処理設定によっても判断できる。また，ファームウェアのバージョンによって処理可能な機能が異なる場合には，バージョンを判断対象としてもよい。
【００９６】
また，実施の形態では，特定の能力についての問い合わせに応じて，対応可能か否かを応答しているが，例えば，対応可能な能力全般について問い合わせられた場合には，第１のファームウェア５１と第２のファームウェア５２との少なくとも一方で処理可能な能力を，機能情報テーブル５１１，５２１を参照して検索し，検索された１ないし複数の能力を応答するとよい。
【００９７】
また，実施の形態では，印刷ジョブを受信した場合に，必要に応じてファームウェアを切り換えているが，読取ジョブを受信した場合であっても，本発明を適用できる。例えば，第１の機能に対応する読み取り方式を採用する第１のファームウェアと，第２の機能に対応する読み取り方式を採用する第２のファームウェアとを記憶する読取装置であって，第２の機能を利用する読取ジョブを受信した場合に，第１のファームウェアから第２のファームウェアに切り換えて当該読取ジョブを実行する構成であってもよい。
【００９８】
また，実施の形態に開示されている処理は，単一のＣＰＵ，複数のＣＰＵ，ＡＳＩＣなどのハードウェア，またはそれらの組み合わせで実行されてもよい。また，実施の形態に開示されている処理は，その処理を実行するためのプログラムを記録した記録媒体，または方法等の種々の態様で実現することができる。
【符号の説明】
【００９９】
１０    印刷部
３２    ＲＯＭ
３３    ＲＡＭ
３４    ＮＶＲＡＭ
５１    第１のファームウェア
５２    第２のファームウェア
５３    ブートローダ
５４    起動設定
１００  ＭＦＰ
２００  モバイル装置
３００  クラウドサーバ
９００  印刷システム
【図１】
2016175314.tif 000003
【図２】
2016175314.tif 000004
【図３】
2016175314.tif 000005
【図４】
2016175314.tif 000006
【図５】
2016175314.tif 000007
【図６】
2016175314.tif 000008
【図７】
2016175314.tif 000009
【図８】
2016175314.tif 000010
【図９】
2016175314.tif 000011
【図１０】
2016175314.tif 000012
【図１１】
2016175314.tif 000013