(57)【特許請求の範囲】
【請求項１】
印刷を実行する印刷実行部を制御する制御装置であって、
印刷要求を受け入れて前記印刷要求に応じた印刷を前記印刷実行部に実行させる印刷制御処理を、制御ソフトウェアを用いて実行する制御部と、
ネットワークに接続されるとともに、前記ネットワークを介して、更新用の制御ソフトウェアを提供するサーバと通信可能なネットワークインターフェースと、
を備え、
前記制御部は、前記制御ソフトウェアの更新要求に応じて、
前記ネットワークインターフェースを介して前記サーバから前記更新用の制御ソフトウェアを取得する処理と、
前記制御ソフトウェアの更新を保留するとともに、与えられた条件が満たされるタイミングで、前記制御に用いる前記制御ソフトウェアを前記更新用の制御ソフトウェアに更新する処理と、
を含む更新処理を実行し、
前記制御部は、前記更新処理のモードとして、
前記更新要求を受信した時に実行中の印刷制御処理が終了したことに応じて、前記印刷制御処理を実行していない状態で、前記制御に用いる前記制御ソフトウェアを前記更新用の制御ソフトウェアに更新する待機更新モードを有し、
前記制御部は、前記待機更新モードにおいて、
前記制御ソフトウェアの更新要求を受けたことに応じて、前記印刷制御処理を実行中であっても、新たな印刷要求の受け入れを停止する、制御装置。
【請求項２】
請求項１に記載の制御装置であって、
前記制御部は、さらに、前記制御装置の電源のＯＮ／ＯＦＦ状態を制御し、
前記制御部は、前記更新処理のモードとして、
前記ＯＮ／ＯＦＦ状態の切り替え要求に応じて、前記制御に用いる前記制御ソフトウェアを前記更新用の制御ソフトウェアに更新する電源同期更新モードを有し、
前記制御部は、前記更新処理のモードを選択することをユーザに許容する、
制御装置。
【請求項３】
請求項１に記載の制御装置であって、
前記制御部は、さらに、前記制御装置の電源のＯＮ／ＯＦＦ状態を制御し、
前記制御部は、前記更新処理のモードとして、
前記ＯＮ／ＯＦＦ状態の切り替え要求に応じて、前記制御に用いる前記制御ソフトウェアを前記更新用の制御ソフトウェアに更新する電源同期更新モードを有する、
制御装置。
【請求項４】
請求項２または請求項３に記載の制御装置であって、
前記制御部は、前記電源同期更新モードにおいて、
前記制御ソフトウェアの更新要求を受けた後に、前記ＯＮ／ＯＦＦ状態をＯＦＦにする要求を受けたことに応じて、前記ＯＮ／ＯＦＦ状態をＯＦＦにする前に、前記制御に用いる前記制御ソフトウェアを前記更新用の制御ソフトウェアに更新する、
制御装置。
【請求項５】
請求項４に記載の制御装置であって、
前記制御部は、前記ＯＮ／ＯＦＦ状態をＯＦＦにする要求を受けたことに応じて、前記更新処理を実行するか否かを示すフラグを参照し、前記フラグが前記更新処理を実行することを示している場合に、前記更新処理を実行する、制御装置。
【請求項６】
請求項２または請求項３に記載の制御装置であって、
前記制御部は、前記電源同期更新モードにおいて、
前記制御ソフトウェアの更新要求を受けた後に、前記ＯＮ／ＯＦＦ状態をＯＦＦにする要求に応じて前記ＯＮ／ＯＦＦ状態をＯＦＦにし、さらにその後に、前記ＯＮ／ＯＦＦ状態をＯＮにする要求を受けたことに応じて、前記制御に用いる前記制御ソフトウェアを前記更新用の制御ソフトウェアに更新する、
制御装置。
【請求項７】
請求項１ないし６のいずれか一項に記載の制御装置であって、
前記制御ソフトウェアは、サーバ機能を有しており、前記更新処理の状態を、前記ネットワークインターフェースを介して接続された表示装置に表示する、制御装置。
【請求項８】
プリンタシステムであって、
請求項１ないし請求項７のいずれかに記載の制御装置と、
前記印刷実行部と、
を備える、プリンタシステム。
【請求項９】
印刷を実行する印刷実行部を制御する制御装置によって前記制御に用いられる制御ソフトウェアを更新する方法であって、
前記制御装置は、印刷要求を受け入れて前記印刷要求に応じた印刷を前記印刷実行部に実行させる印刷制御処理を、前記制御ソフトウェアを用いて実行可能であるとともに、ネットワークに接続され、前記ネットワークを介して、更新用の制御ソフトウェアを提供するサーバと通信可能であり、
前記更新方法は、
前記制御ソフトウェアの更新要求に応じて、
（Ａ）前記制御装置が、前記サーバから前記更新用の制御ソフトウェアを取得する工程と、
（Ｂ）前記制御装置が、前記制御ソフトウェアの更新を保留するとともに、与えられた条件が満たされるタイミングで、前記制御に用いる前記制御ソフトウェアを前記更新用の制御ソフトウェアに更新する工程と、
を含む更新処理の工程を有し、
前記更新処理の工程は、前記更新処理のモードとして、
前記更新要求を受信した時に実行中の印刷制御処理が終了したことに応じて、前記印刷制御処理を実行していない状態で、前記制御に用いる前記制御ソフトウェアを前記更新用の制御ソフトウェアに更新する待機更新モードを有し、
前記更新処理の工程は、前記待機更新モードにおいて、
前記制御ソフトウェアの更新要求を受けたことに応じて、前記印刷制御処理を実行中であっても、新たな印刷要求の受け入れを停止する工程を含む、更新方法。
【請求項１０】
印刷を実行する印刷実行部を制御するコンピュータによって前記制御に用いられる制御ソフトウェアを更新する処理を前記コンピュータに実行させるためのコンピュータプログラムであって、
前記コンピュータは、印刷要求を受け入れて前記印刷要求に応じた印刷を前記印刷実行部に実行させる印刷制御処理を、前記制御ソフトウェアを用いて実行可能であるとともに、ネットワークに接続され、前記ネットワークを介して、更新用の制御ソフトウェアを提供するサーバと通信可能であり、
前記コンピュータプログラムは、
前記制御ソフトウェアの更新要求に応じて、
（Ａ）前記コンピュータに、前記サーバから前記更新用の制御ソフトウェアを取得させる機能と、
（Ｂ）前記コンピュータに、前記制御ソフトウェアの更新を保留させるとともに、与えられた条件が満たされるタイミングで、前記制御に用いる前記制御ソフトウェアを前記更新用の制御ソフトウェアに更新させる機能と、
を含む更新処理の機能を前記コンピュータに実現させ、
前記更新処理の機能は、前記更新処理のモードとして、
前記更新要求を受信した時に実行中の印刷制御処理が終了したことに応じて、前記印刷制御処理を実行していない状態で、前記制御に用いる前記制御ソフトウェアを前記更新用の制御ソフトウェアに更新する待機更新モードを有し、
前記更新処理の機能は、前記待機更新モードにおいて、
前記制御ソフトウェアの更新要求を受けたことに応じて、前記印刷制御処理を実行中であっても、新たな印刷要求の受け入れを停止させる機能を含む、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリンタシステムの制御ソフトウェアの更新に関するものである。
【背景技術】
【０００２】
従来より、画像を印刷するプリンタシステムが用いられている。プリンタシステムの中には、プリンタシステムの制御に、プロセッサ（中央処理装置とも呼ばれる）を有する制御装置が用いられるものがある。プロセッサは、制御装置内に組み込まれた制御ソフトウェア（コンピュータプログラム）を実行することによってプリンタシステムを制御する。このようなソフトウェアはファームウェアとも呼ばれている。ここで、制御機能を改良するために、ファームウェアの更新が行われ得る。例えば、コンピュータから装置へファームウェアイメージをダウンロードする方法が提案されている。
【０００３】
【特許文献１】特開２０００−１８１７１８号公報
【０００４】
ところで、ファームウェアの更新中には、プロセッサは、プリンタシステムを制御することができない。従って、ファームウェアの更新処理の実行によって印刷の不具合が生じる可能性があった。例えば、印刷が途中で止まる可能性があった。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明は、上記の課題を解決するためになされたものであり、ファームウェアの更新処理によって印刷の不具合が生じることを抑制することのできる技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上述の課題の少なくとも一部を解決するため、本発明の制御装置は、印刷を実行する印刷実行部を制御する制御装置であって、前記印刷実行部の制御を、制御ソフトウェアを用いて行う制御部と、ネットワークに接続されるとともに、前記ネットワークを介して、更新用の制御ソフトウェアを提供するサーバと通信可能なネットワークインターフェースと、を備え、前記制御部は、前記制御ソフトウェアの更新要求に応じて、前記ネットワークインターフェースを介して前記サーバから前記更新用の制御ソフトウェアを取得する処理と、前記制御ソフトウェアの更新を保留するとともに、与えられた条件が満たされるタイミングで、前記制御に用いる前記制御ソフトウェアを前記更新用の制御ソフトウェアに更新する処理と、を含む更新処理を実行する。
【０００７】
この制御装置によれば、ファームウェアの更新要求を受けた場合には、更新が保留され、与えられた条件が満たされるタイミングでファームウェアが更新されるので、ファームウェアの更新処理によって印刷の不具合が生じることを抑制することができる。
【０００８】
上記制御装置において、前記制御部は、印刷要求を受け入れて前記印刷要求に応じた印刷を前記印刷実行部に実行させる印刷制御処理を、前記制御ソフトウェアを用いて実行し、前記制御部は、前記更新処理のモードとして、前記更新要求を受信した時に実行中の印刷制御処理が終了したことに応じて、前記印刷制御処理を実行していない状態で、前記制御に用いる前記制御ソフトウェアを前記更新用の制御ソフトウェアに更新する待機更新モードを有することとしてもよい。
【０００９】
この構成によれば、実行中の印刷制御処理が終了したことに応じて、印刷制御処理を実行していない状態で、ファームウェアが更新されるので、ファームウェアの更新処理によって印刷の不具合が生じることを抑制することができる。
【００１０】
上記制御装置において、前記制御部は、前記待機更新モードにおいて、前記制御ソフトウェアの更新要求を受けたことに応じて、新たな印刷要求の受け入れを停止することが好ましい。
【００１１】
この構成によれば、新たな印刷要求の受け入れが停止されるので、速やかに、印刷制御処理が実行されていない状態で、ファームウェアを更新することができる。
【００１２】
上記制御装置において、前記制御部は、さらに、前記制御装置の電源のＯＮ／ＯＦＦ状態を制御し、前記制御部は、前記更新処理のモードとして、前記ＯＮ／ＯＦＦ状態の切り替え要求に応じて、前記制御に用いる前記制御ソフトウェアを前記更新用の制御ソフトウェアに更新する電源同期更新モードを有し、前記制御部は、前記更新処理のモードを選択することをユーザに許容することが好ましい。
【００１３】
この構成によれば、電源同期更新モードでは、電源のＯＮ／ＯＦＦ状態が切り替えられるときにファームウェアが更新されるので、ファームウェアの更新処理によって印刷の不具合が生じることを抑制することができる。また、更新処理のモードを選択することがユーザに許容されるので、ファームウェアの早急な更新が望まれる場合と、印刷の妨害を避けることが望まれる場合と、のそれぞれの場合において、適切なタイミングでファームウェアの更新を行うことが可能となる。
【００１４】
上記各制御装置において、前記制御部は、さらに、前記制御装置の電源のＯＮ／ＯＦＦ状態を制御し、前記制御部は、前記更新処理のモードとして、前記ＯＮ／ＯＦＦ状態の切り替え要求に応じて、前記制御に用いる前記制御ソフトウェアを前記更新用の制御ソフトウェアに更新する電源同期更新モードを有することとしてもよい。
【００１５】
この構成によれば、電源同期更新モードでは、電源のＯＮ／ＯＦＦ状態が切り替えられるときにファームウェアが更新されるので、ファームウェアの更新処理によって印刷の不具合が生じることを抑制することができる。
【００１６】
上記各制御装置において、前記制御部は、前記電源同期更新モードにおいて、前記制御ソフトウェアの更新要求を受けた後に、前記ＯＮ／ＯＦＦ状態をＯＦＦにする要求を受けたことに応じて、前記ＯＮ／ＯＦＦ状態をＯＦＦにする前に、前記制御に用いる前記制御ソフトウェアを前記更新用の制御ソフトウェアに更新することとしてもよい。
【００１７】
この構成によれば、電源がＯＦＦにされるときにファームウェアが更新されるので、ファームウェアの更新処理によって印刷の不具合が生じることを抑制することができる。
【００１８】
上記各制御装置において、前記制御部は、前記電源同期更新モードにおいて、前記制御ソフトウェアの更新要求を受けた後に、前記ＯＮ／ＯＦＦ状態をＯＦＦにする要求に応じて前記ＯＮ／ＯＦＦ状態をＯＦＦにし、さらにその後に、前記ＯＮ／ＯＦＦ状態をＯＮにする要求を受けたことに応じて、前記制御に用いる前記制御ソフトウェアを前記更新用の制御ソフトウェアに更新することとしてもよい。
【００１９】
この構成によれば、電源がＯＮにされるときにファームウェアが更新されるので、ファームウェアの更新処理によって印刷の不具合が生じることを抑制することができる。
【００２０】
なお、本発明は、種々の形態で実現することが可能であり、例えば、印刷実行部の制御方法および制御装置、制御装置の制御ソフトウェアの更新方法および更新装置、印刷実行部と制御装置とを有するプリンタシステム、プリンタシステムの制御ソフトウェアの更新方法および更新装置、それらの方法または装置の機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体、そのコンピュータプログラムを含み搬送波内に具現化されたデータ信号、等の形態で実現することができる。
【発明を実施するための最良の形態】
【００２１】
次に、この発明の実施の形態を実施例に基づいて以下の順序で説明する。
Ａ．第１実施例：
Ｂ．第２実施例：
Ｃ．第３実施例：
Ｄ．第４実施例：
Ｅ．変形例：
【００２２】
Ａ．第１実施例：
図１は、本発明の実施例としてのネットワークシステムの構成を示す概念図である。このネットワークシステム１０は、プリンタ１００とデジタルテレビ２００とがＬＡＮを介して相互に接続された構成を有している。ＬＡＮは、ＩＥＥＥ８０２．３のような有線ネットワークでも、ＩＥＥＥ８０２．１１ｂ／ｇ／ａなどの無線ネットワークでもよい。また、ＬＡＮにはルータ３００が接続されている。このルータ３００は、ＬＡＮとインターネットＩＮＥＴとを接続する。インターネットＩＮＥＴには、サーバ４００が接続されている。
【００２３】
デジタルテレビ２００は、ＬＡＮを介してＨＴＭＬ（HyperText Markup Language）で記述されたＨＴＭＬデータを取得し、ブラウザ２１０を用いてこのＨＴＭＬデータで表されるＷｅｂページを表示する機能を有している。また、デジタルテレビ２００は、ブラウザ２１０を用いてＸＨＴＭＬ（eXtensible HyperText Markup Language）で記述された印刷用のＸＨＴＭＬデータを作成し、ＬＡＮを介してこのＸＨＴＭＬデータをプリンタ１００に転送して印刷を実行させる機能を有している。ブラウザ２１０の機能は、コンピュータ（図示省略）がプログラムを実行することによって実現されている。なお、このようなＸＨＴＭＬデータを用いた印刷は「ＸＨＴＭＬ−ｐｒｉｎｔ」とも呼ばれている。
【００２４】
プリンタ１００は、制御部１１０と、印刷エンジン１９０と、操作パネル１２６とを有している。制御部１１０は、ＣＰＵ（中央処理装置）１１２と、ＲＡＭ１１４と、ＥＰ−ＲＯＭ１１６と、外部装置制御部１１８と、ネットワーク制御部１２０と、電源制御部１２２と、操作パネル１２６を制御する操作パネル制御部１２４と、を有している。
【００２５】
操作パネル制御部１２４（図１）には、入力手段としての操作パネル１２６が接続されている。ユーザは、操作パネル１２６を用いて種々の指示を入力することができる。ネットワーク制御部１２０は、ネットワークインターフェースとしての機能を有しており、ＬＡＮに接続される。電源制御部１２２は、プリンタ１００の全体の電源のＯＮ／ＯＦＦ状態を制御する。電源制御部１２２の構成としては、リレー回路を用いたものやトランジスタスイッチを用いたもの等の種々の構成を採用可能である。
【００２６】
外部装置制御部１１８は、外部装置とのインターフェースとしての機能を有している。外部装置制御部１１８には、パーソナルコンピュータやデジタルカメラ、メモリ等の種々の外部装置が接続され得る。インターフェースとしては、例えば、ＵＳＢ（Universal Serial Bus）インターフェースを採用可能である。
【００２７】
ＥＰ−ＲＯＭ１１６は、ファームウェア５００ａを格納している。ファームウェア５００ａは、プリンタ１００の制御機能を実現するためのプログラムを含む。ＣＰＵ１１２は、ＥＰ−ＲＯＭ１１６からプログラムを読み、読んだプログラムを実行する。また、ＥＰ−ＲＯＭ１１６は不揮発性メモリであり、プリンタ１００の電源が切られても記憶内容を保持することができる。さらに、ＥＰ−ＲＯＭ１１６においては、データの消去と書き込みとが可能であり、ファームウェア５００ａは更新され得る。このようなＥＰ−ＲＯＭ１１６としては、データの消去と書き込みとが可能な種々の不揮発性メモリを採用可能である。例えば、フラッシュメモリやＥＥＰＲＯＭを採用可能である。
【００２８】
図２は、ＥＰ−ＲＯＭ１１６に格納されたファームウェア５００ａの内部構成を示す概略図である。第１実施例では、ファームウェア５００ａは、印刷モジュール５１０ａと、ＨＴＴＰサーバモジュール５２０ａと、更新モジュール５３０ａと、を含む。印刷モジュール５１０ａは、印刷要求に応じて印刷エンジン１９０（図１）に印刷を実行させる機能を有する。ＨＴＴＰサーバモジュール５２０ａは、プリンタ１００（図１）の動作状況を表示するとともにユーザによる指示入力を許容するＷｅｂページを提供する機能を有する。ＷｅｂページはＨＴＭＬデータで表されている。また、ＨＴＴＰサーバモジュール５２０ａは、ＨＴＴＰ（HyperText Transfer Protocol）に従ってデータ通信を行う。更新モジュール５３０ａは、ＥＰ−ＲＯＭ１１６に格納されているファームウェアを更新する機能を有する。各モジュール５１０ａ、５２０ａ、５３０ａは、ＣＰＵ１１２によって実行されるコンピュータプログラムである。また、各モジュールの機能の詳細については、後述する。
【００２９】
サーバ４００（図１）は、更新用ファームウェア５００ｂを、インターネットＩＮＥＴを介して提供する機能を有している。サーバ４００のＨＴＴＰサーバモジュール４１０は、プリンタ１００の要求に応じて、このファームウェア５００ｂをプリンタ１００に送信する。この際、ＨＴＴＰサーバモジュール４１０は、ＨＴＴＰに従って、データ通信を行う。ただし、他のプロトコル（例えば、ＦＴＰ（File Transfer Protocol））に従ってデータ通信を行うこととしてもよい。ＨＴＴＰサーバモジュール４１０の機能は、コンピュータ（図示省略）がプログラムを実行することによって実現されている。なお、サーバ４００によって提供される更新用のファームウェア５００ｂの構成も、図２に示すファームウェア５００ａの構成と同様である（図示省略）。また、サーバ４００は、このプリンタ１００に限らず、インターネットＩＮＥＴを介して通信可能な他のプリンタ（図示省略）にもファームウェア５００ｂを提供可能である。
【００３０】
印刷エンジン１９０は、制御部１１０によって供給された印刷データに応じて印刷を実行する印刷機構である。本実施例では、デジタルテレビ２００が、ブラウザ２１０を操作するユーザの指示に従って、プリンタ１００に印刷要求を送信する。この印刷要求は、印刷用のＸＨＴＭＬデータを含んでいる。印刷モジュール５１０ａ（図２）は、ＬＡＮを介してデジタルテレビ２００から印刷要求を取得し、取得した印刷要求に含まれるＸＨＴＭＬデータを解釈し、色変換やハーフトーン処理を実行して印刷データを作成し、この印刷データを印刷エンジン１９０に供給する。ただし、印刷モジュール５１０ａ（ＣＰＵ１１２）の代わりに印刷エンジン１９０が色変換やハーフトーン処理の機能を有するように構成することも可能である。
【００３１】
なお、制御部１１０と印刷エンジン１９０との接続形式としては、種々の形式を採用可能である。例えば、制御部１１０のバスを介して接続する形式を採用してもよく、ＵＳＢインターフェースを介して接続する形式を採用してもよい。また、制御部１１０と印刷エンジン１９０とを、個別の装置として構成してもよい。
【００３２】
また、プリンタ１００（印刷モジュール５１０ａ）は、デジタルテレビ２００に限らず、ＬＡＮに接続された他の装置（例えば、パーソナルコンピュータやデジタルカメラ。図示せず。）からも平行して印刷要求を受けることが可能である。換言すれば、プリンタ１００（印刷モジュール５１０ａ）は、プリンタ１００と通信可能な複数の装置のそれぞれから独立に印刷要求を受けることができる。印刷モジュール５１０ａ（図２）は、印刷要求を受信する毎に、受信した印刷要求をＲＡＭ１１４に格納する。ＲＡＭ１１４は、複数の印刷要求を格納することが可能である。また、印刷モジュール５１０ａは、受信済みの印刷要求の中から受信した順番に１つの印刷要求を処理対象として選択するとともに、選択した印刷要求に従って印刷エンジン１９０に印刷させる一連の処理を、処理対象の印刷要求を切り替えつつ順次実行する。ここで、印刷モジュール５１０ａは、印刷が完了した印刷要求を、ＲＡＭ１１４から消去する。以下、１つの印刷要求に応じて実行される一連の印刷処理のことを「印刷ジョブ」とも呼ぶ。
【００３３】
また、印刷要求において印刷画像を表すために用いられるデータとしては、ＸＨＴＭＬデータに限らず、種々のデータを採用可能である。例えば、ＰＤＬ（Page Description Language：ページ記述言語）で記述されたＰＤＬデータを採用してもよい。また、ＪＰＥＧデータやＴＩＦＦデータといった画像データを採用してもよい。
【００３４】
また、印刷要求の形式としては、種々の形式を採用可能である。例えば、プリンタ１００とデジタルテレビ２００とを、ＵＰｎＰ（Universal Plug and Play。UPnPは、UPnP Implementers Corporationの商標）対応のネットワーク装置として構成することも可能である。この場合には、プリンタ１００とデジタルテレビ２００とがＵＰｎＰのプロトコルに従ったメッセージを交換することによって、デジタルテレビ２００がプリンタ１００に印刷を要求することとすればよい。また、デジタルテレビ２００が、ＬＰＲ（Line PRinter daemon protocol）を使用して、印刷要求をプリンタ１００に送信することとしてもよい。
【００３５】
ところで、印刷要求の送信元としては、ＬＡＮに接続された装置に限らず、他の種々の装置を採用可能である。例えば、プリンタ１００が、外部装置制御部１１８に接続された外部装置（例えば、パーソナルコンピュータやデジタルカメラ、メモリ）から、印刷要求を取得することとしてもよい。この場合には、印刷モジュール５１０ａは、外部装置制御部１１８を介して外部装置から印刷要求を取得し、取得した印刷要求を解釈し、色変換やハーフトーン処理を実行して印刷データを作成し、この印刷データを印刷エンジン１９０に供給する。なお、第１実施例では、プリンタ１００は、ＬＡＮに接続された装置と、外部装置制御部１１８に接続された外部装置と、の両方から印刷要求を取得することとする。ただし、プリンタ１００が、いずれか一方に接続された装置のみから印刷要求を取得することとしてもよい。
【００３６】
図３は、ＨＴＴＰサーバモジュール５２０ａ（図２）が提供するＷｅｂページの一例を示す説明図である。以下、ユーザが、デジタルテレビ２００（図１）のブラウザ２１０を操作することによってＷｅｂページを閲覧することとして、説明を行う。なお、ＨＴＴＰサーバモジュール５２０ａは、印刷処理の進行状況に拘わらずに、Ｗｅｂページを提供可能である。さらに、制御部１１０は、印刷処理の進行状況に拘わらずに、Ｗｅｂページを介したユーザの指示を受けることが可能である。
【００３７】
このＷｅｂページＷＰ１は、４つのボタンＢ１０〜Ｂ１３と、ステータス表示領域Ａ１０と、を有している。第１ボタンＢ１１は、印刷デフォルト設定の変更Ｗｅｂページ（図示省略）を表示するためのボタンである。第２ボタンＢ１２は、プリンタのメンテナンスＷｅｂページ（後述）を表示するためのボタンである。第３ボタンＢ１３は、ネットワーク設定Ｗｅｂページ（図示省略）を表示するためのボタンである。第４ボタンＢ１４は、メーカのＷｅｂページ（図示省略）を表示するためのボタンである。また、ステータス表示領域Ａ１０には、インク残量とプリンタ１００のステータスとが表示される。
【００３８】
ユーザが第２ボタンＢ１２を操作すると、ＨＴＴＰサーバモジュール５２０ａは、メンテナンスＷｅｂページを出力する。図４は、メンテナンスＷｅｂページの出力処理の手順を示すフローチャートである。最初のステップＳ１００では、ＨＴＴＰサーバモジュール５２０ａは、ファームウェアを提供するサーバ４００と接続可能か否かを判断する。ＨＴＴＰサーバモジュール５２０ａは、サーバ４００との通信を試み、通信に成功したら接続可能と判断し、通信に失敗したら接続不可能と判断する。なお、ＨＴＴＰサーバモジュール５２０ａは、インターネットＩＮＥＴ上でサーバ４００を特定するための識別子（例えば、ＩＰアドレス）として、所定の値を用いる。
【００３９】
接続可能と判断された場合には、ＨＴＴＰサーバモジュール５２０ａは、メンテナンスＷｅｂページにおけるファームウェアアップデート項目を有効化し（ステップＳ１１０）、有効化後のメンテナンスＷｅｂページ（ユーザインターフェース）を出力する（ステップＳ１３０）。図５は、ファームウェアアップデート項目が有効化されたメンテナンスＷｅｂページの一例を示す説明図である。このＷｅｂページＷＰ２ａは、３つのボタンＢ２１〜Ｂ２３を有している。第１ボタンＢ２１は、プリンタ１００にノズルチェックを実行させるためのボタンである。第２ボタンＢ２２は、プリンタ１００にノズルクリーニングを実行させるためのボタンである。第３ボタンＢ２３は、プリンタ１００にファームウェアのアップデートを実行させるためのボタンである。
【００４０】
一方、接続不可能と判断された場合には、ＨＴＴＰサーバモジュール５２０ａは、ステップＳ１２０で、メンテナンスＷｅｂページにおけるファームウェアアップデート項目を無効化し、ステップＳ１３０で、無効化後のメンテナンスＷｅｂページ（ユーザインターフェース）を出力する。図６は、ファームウェアアップデート項目が無効化されたメンテナンスＷｅｂページの一例を示す説明図である。このＷｅｂページＷＰ２ｂでは、図５に示すＷｅｂページＷＰ２ａと異なり、第３ボタンＢ２３が無効化されている。すなわち、ユーザは、この第３ボタンＢ２３を操作することができない。無効化されていることを示す方法としては、種々の方法を採用可能である。例えば、有効なボタンを有彩色で表し、無効なボタンを無彩色で表す方法を採用可能である。また、無効なボタンを有効なボタンよりも薄い色で表す方法を採用してもよく、無効なボタンをＷｅｂページから消去する方法を採用してもよい。
【００４１】
なお、ステップＳ１００で、ＨＴＴＰサーバモジュール５２０ａが、サーバ４００との接続可能性に加えて、より新しいファームウェアの有無をサーバ４００に確認することとしてもよい。現行のファームウェア５００ａが既に最新のものである場合のように、より新しいファームウェアをサーバ４００が有していない場合には、ＨＴＴＰサーバモジュール５２０ａは、ステップＳ１２０に移行すればよい。より新しいファームウェアをサーバ４００が有している場合には、ＨＴＴＰサーバモジュール５２０ａは、ステップＳ１１０に移行すればよい。なお、より新しいファームウェアの有無の確認方法としては、種々の方法を採用可能である。例えば、まず、ＨＴＴＰサーバモジュール５２０ａが、プリンタ１００の機種情報と、現行のファームウェア５００ａのバージョン情報と、をサーバ４００に送信する。次に、サーバ４００が、その現行バージョンよりも新しく、かつ、その機種に対応したファームウェアの有無の確認結果をＨＴＴＰサーバモジュール５２０ａに返信すればよい。このようなサーバ４００の応答機能は、例えば、ＨＴＴＰサーバモジュール４１０によって実現可能である。また、更新用のファームウェアを特定するための情報としては、機種情報とバージョン情報との組み合わせに限らず種々の情報を採用可能である。例えば、プリンタ１００の仕向地に関する情報を用いてもよい。
【００４２】
ユーザがファームウェアアップデート用の第３ボタンＢ２３（図５）を操作すると、プリンタ１００は、ファームウェアの更新処理を実行する。図７は、ファームウェアの更新処理の概要を示す説明図である。プリンタ１００は、サーバ４００から更新用ファームウェア５００ｂを取得すると、一旦、取得したファームウェア５００ｂをＲＡＭ１１４に格納する。次に、プリンタ１００は、ＥＰ−ＲＯＭ１１６に格納されている古いファームウェア５００ａを消去し、新たなファームウェア５００ｂをＥＰ−ＲＯＭ１１６に書き込む。
【００４３】
図８は、ファームウェアの更新処理の手順を示すフローチャートである。更新モジュール５３０ａは、ユーザがファームウェアアップデート用の第３ボタンＢ２３（図５）を操作することに応じて、図８の更新処理を開始する。この図８のフローチャートに従った更新処理の手順は、本発明における「待機更新モード」での手順に相当する。
【００４４】
ステップＳ２００では、更新モジュール５３０ａ（図２）が、印刷サービス停止要求を発行する。これは、新たな印刷要求の受け入れを停止する処理である。例えば、更新モジュール５３０ａが、操作パネル制御部１２４（図１）に、操作パネル１２６をロックさせてもよい。こうすれば、操作パネル１２６に入力されたユーザの指示による新たな印刷要求の受け入れを止めることができる。また、更新モジュール５３０ａが、外部装置制御部１１８に、外部装置との接続を切断させてもよい。こうすれば、外部装置からの新たな印刷要求の受け入れを止めることができる。また、プリンタ１００が、ＵＰｎＰ対応のネットワーク装置として構成されている場合には、更新モジュール５３０ａは、ネットワーク制御部１２０に、退出する旨をＬＡＮに接続されている他の装置（例えば、デジタルテレビ２００）にアドバタイズさせてもよい。こうすれば、ＬＡＮからの新たな印刷要求の受け入れを止めることができる。なお、第１実施例では、更新モジュール５３０ａは、上述の全ての処理を実行することとする。
【００４５】
次のステップＳ２１０では、更新モジュール５３０ａは、印刷ジョブの実行中か否かを判断する。本実施例では、制御部１１０は、印刷要求と、ファームウェアの更新要求（図５の第３ボタンＢ２３の操作）と、を互いに独立に受けることが可能である。すなわち、制御部１１０（更新モジュール５３０ａ）は、印刷ジョブの実行中に、ファームウェアの更新要求を受けることができる。そこで、更新モジュール５３０ａは、印刷ジョブの実行中である場合、すなわち、印刷モジュール５１０ａと印刷エンジン１９０とが印刷処理を実行している場合には、ファームウェアの更新を保留して、印刷処理の終了を待つ。ここで、更新モジュール５３０ａは、既に受け入れ済みの全ての印刷要求のそれぞれの印刷ジョブが終了することを待つ。
【００４６】
印刷ジョブの実行中ではない場合、すなわち、受け入れ済みの全ての印刷要求が完了している場合には、次のステップＳ２２０で、更新モジュール５３０ａは、より新しいファームウェアの有無をサーバ４００（図１）に確認する。具体的には、更新モジュール５３０ａは、まず、サーバ４００と接続可能か否かを判断する。さらに、接続可能な場合には、更新モジュール５３０ａは、より新しいファームウェアの有無をサーバ４００に確認する。このステップＳ２２０の処理は、図４のステップＳ１００と同様に行われる。
【００４７】
接続不可能と判断された場合には、更新モジュール５３０ａは、次のステップＳ２３５で、ＨＴＴＰサーバモジュール５２０ａに、ファームウェアを更新できない旨を表示するＷｅｂページを出力させて、更新処理を終了する。図９は、ステップＳ２３５で出力されるＷｅｂページの一例を示す説明図である。このＷｅｂページＷＰ３がデジタルテレビ２００（図１）に表示された場合には、ユーザは、ネットワークの設定を確認した後、再度、図３に示すＷｅｂページＷＰ１を閲覧することによって、プリンタ１００にファームウェアの更新処理を実行させることができる。
【００４８】
また、より新しいファームウェアをサーバ４００（図１）が有していない場合も、更新モジュール５３０ａは、ステップＳ２３５に移行する。この場合には、更新モジュール５３０ａは、ＨＴＴＰサーバモジュール５２０ａに、ファームウェアの更新が不要である旨を表示するＷｅｂページ（図示せず）を出力させて、更新処理を終了する。
【００４９】
より新しいファームウェア（図７：更新用ファームウェア５００ｂ）をサーバ４００（図１）が有している場合には、次のステップＳ２３０で、更新モジュール５３０ａは、更新用ファームウェア５００ｂをサーバ４００から取得する。本実施例では、更新モジュール５３０ａは、ＨＴＴＰサーバモジュール４１０に、ＨＴＴＰの「ＧＥＴリクエスト」を送信する。この際、ＵＲＬ（Uniform Resource Locator）としては、ファームウェア５００ｂを特定する所定のＵＲＬが用いられる。この代わりに、更新モジュール５３０ａが、機種とバージョンとに応じたＵＲＬを、サーバ４００から取得することとしてもよい。このようなＵＲＬの取得方法としては、種々の方法を採用可能である。例えば、新しいファームウェアの有無の確認の際に（ステップＳ２２０）、ＨＴＴＰサーバモジュール４１０が更新モジュール５３０ａにＵＲＬを通知する方法を採用可能である。ここで、ＵＲＬが、サーバ４００とは異なる別のサーバ（図示せず）のリソースを示すものであってもよい。なお、ＵＲＬとは、リソース（情報資源）の位置を示す識別子である。
【００５０】
ＨＴＴＰサーバモジュール４１０は、ＧＥＴリクエストに応じてＵＲＬで特定されるファームウェア５００ｂをプリンタ１００に送信する。更新モジュール５３０ａは、ファームウェア５００ｂを受信することに応じて、更新処理の実行中である旨を表示するＷｅｂページを、ＨＴＴＰサーバモジュール５２０ａに出力させる。図１０は、ステップＳ２３０で出力されるＷｅｂページの一例を示す説明図である。ユーザは、デジタルテレビ２００に表示されるこのＷｅｂページＷＰ４を閲覧することによって、更新処理の実行中であることを知ることができる。
【００５１】
次のステップＳ２４０では、更新モジュール５３０ａは、受信したファームウェア５００ｂをＲＡＭ１１４に格納する。
【００５２】
次のステップＳ２５０では、更新モジュール５３０ａは、ファームウェア５００ｂの全てをＲＡＭ１１４に格納したことに応じて、新ファームウェアを有効にする指示を取得するためのＷｅｂページを、ＨＴＴＰサーバモジュール５２０ａに出力させる。図１１は、ステップＳ２５０で出力されるＷｅｂページの一例を示す説明図である。このＷｅｂページＷＰ５は、再起動ボタンＢ５０を有している。
【００５３】
ユーザが再起動ボタンＢ５０（図１１）を操作すると、処理は次のステップＳ２６０に移行する。更新モジュール５３０ａは、再起動ボタンＢ５０の操作に応じて、ＣＰＵ１１２によって実行されるプログラムを、ＥＰ−ＲＯＭ１１６のファームウェア５００ａから、ＲＡＭ１１４のファームウェア５００ｂに切り替える。具体的には、ＣＰＵ１１２は、ファームウェア５００ａに従った制御を終了し、更新用ファームウェア５００ｂに従った制御を開始する。この更新用ファームウェア５００ｂは、更新モジュール５３０ａと同様の更新モジュールを含んでいる（図示せず）。ＣＰＵ１１２は、この更新モジュールに従って、ＥＰ−ＲＯＭ１１６のファームウェア５００ａを消去し、次に、ＲＡＭ１１４のファームウェア５００ｂをＥＰ−ＲＯＭ１１６に書き込む。ＣＰＵ１１２は、既にＲＡＭ１１４のファームウェア５００ｂに従って動作しているので、ＥＰ−ＲＯＭ１１６のファームウェア５００ａが消去されても、ＣＰＵ１１２の動作に支障はない。書き込みが完了したら、ＣＰＵ１１２は、ＲＡＭ１１４のファームウェア５００ｂに従った制御を終了し、ＥＰ−ＲＯＭ１１６のファームウェア５００ｂに従った制御を開始する。この制御切り替えも、ＲＡＭ１１４のファームウェア５００ｂの更新モジュールに従って行われる。
【００５４】
ＥＰ−ＲＯＭ１１６のファームウェアが更新されたことに応じて、ＣＰＵ１１２は、ＥＰ−ＲＯＭ１１６のファームウェアに従って、印刷サービス（印刷要求の受け入れ）を再開する。
【００５５】
なお、更新処理がステップＳ２３０からステップＳ２５０へ移行する間には、ブラウザ２１０（図１）は、プリンタ１００のＨＴＴＰサーバモジュール５２０ａからＷｅｂページを取得する処理を、自動的に繰り返し実行する。このようにブラウザ２１０に自動的にＷｅｂページを取得させる方法としては、種々の方法を採用可能である。例えば、ＨＴＭＬの「Meta Refresh Tag」をＷｅｂページＷＰ４（図１０）に記述する方法を採用可能である。ここで、ＨＴＴＰサーバモジュール５２０ａは、ステップＳ２５０で、デジタルテレビ２００に送信するＷｅｂページをＷｅｂページＷＰ４からＷｅｂページＷＰ５に切り替えればよい。ただし、このようなＷｅｂページ取得（更新）の繰り返しを省略してもよい。
【００５６】
以上のように、第１実施例では、更新モジュール５３０ａは、ネットワーク（ＬＡＮ、ＩＮＥＴ）を介して、直接にサーバ４００から更新用ファームウェア５００ｂを取得する。従って、更新用ファームウェアをサーバ４００から取得するとともに、取得した更新用ファームウェアをプリンタ１００に送信する機能を有する他の装置（例えば、パーソナルコンピュータ）を用いなくても、プリンタ１００のファームウェアの更新が可能である。
【００５７】
また、第１実施例では、更新モジュール５３０ａは、ファームウェアの更新要求（図５の第３ボタンＢ２３の操作）に応じて、新たな印刷要求の受け入れを停止するとともに、受け入れ済みの全ての印刷要求の印刷処理の終了後に更新処理を進行させる（図８：Ｓ２００、Ｓ２１０）。すなわち、ファームウェアの更新は、印刷ジョブが実行されていない状態で行われる。従って、ファームウェアの更新処理によって印刷の不具合（例えば、印刷が途中で終わること）が生じることを抑制できる。特に、複数のユーザが独立に同じプリンタ１００を利用する場合には、ファームウェアの更新を指示するユーザが、他のユーザの印刷状況を知らない場合がある。このような場合であっても、印刷の不具合が生じることを防止できる。
【００５８】
また、更新モジュール５３０ａは、ファームウェアの更新要求を受けたことに応じて、印刷サービス停止要求を発行するので（図８：Ｓ２００）、更新モジュールは、速やかに、印刷ジョブが実行されていない状態で、ファームウェアを更新することができる。
【００５９】
なお、図８に示す「待機更新モード」では、後述する「電源同期更新モード」とは異なり、電源のＯＮ／ＯＦＦ状態の切り替え要求の有無に拘わらずに、ファームウェアが書き換えられる。すなわち、第１実施例では、ファームウェアの更新処理は、電源制御部１２２の動作とは独立に実行される。従って、第１実施例では、制御部１１０から電源制御部１２２を省略してもよい。
【００６０】
Ｂ．第２実施例：
図１２、図１３は、第２実施例におけるファームウェアの更新処理の手順を示すフローチャートである。これらの図１２、図１３のフローチャートに従った手順は、本発明における「電源同期更新モード」での手順に相当する。図８に示す待機更新モードとの差違は、ファームウェアの書き換えが、プリンタ１００の電源が切られるときに実行される点である。ネットワークシステムの構成は、図１に示す第１実施例のネットワークシステム１０と同じである。また、ファームウェアの構成は図２に示す第１実施例のファームウェア５００ａと同じである。
【００６１】
図１２に示す処理は、図８に示す第１実施例と同様に、ユーザがファームウェアアップデート用の第３ボタンＢ２３（図５）を操作することに応じて、更新モジュール５３０ａによって開始される。また、ステップＳ２２０、Ｓ２３５の処理は、図８に示すステップＳ２２０、Ｓ２３５の処理と同じである。
【００６２】
ステップＳ２２０で、より新しいファームウェアをサーバ４００が有していると判断された場合には、次のステップＳ２８０で、更新モジュール５３０ａは、ファームウェアのアップデートフラグを「ＴＲＵＥ」にセットする。このアップデートフラグは、ＲＡＭ１１４に格納されているデータであり、通常は「ＦＡＬＳＥ」に設定されている。このアップデートフラグは、後述するように、電源が切られるときに利用される。アップデートフラグを「ＴＲＵＥ」に設定したら、更新モジュール５３０ａは処理を終了する。
【００６３】
図１３は、プリンタ１００の電源が切られるときに実行される処理の手順を示すフローチャートである。更新モジュール５３０ａ（図２）は、操作パネル１２６（図１）の電源ボタン（図示せず）が押下されたことに応じて、図１３の更新処理を開始する。また、更新モジュール５３０ａは、電源ＯＦＦの指示を受けた場合（図示しない電源ボタンが押下された場合）には、受け入れ済みの全ての印刷要求が完了した後で、図１３の処理を開始する。例えば、更新モジュール５３０ａは、図８のステップ２００、Ｓ２１０と同じ処理を実行した後で、図１３の処理を開始する。
【００６４】
なお、電源のＯＮ／ＯＦＦ状態の切り替え指示としては、操作パネル１２６に入力された指示に限らず、種々の指示を採用可能である。例えば、外部装置制御部１１８に接続された外部装置からの指示や、ＬＡＮに接続された他のネットワーク装置からの指示を採用可能である。これは、後述する他の実施例においても同様である。
【００６５】
最初のステップＳ３００では、更新モジュール５３０ａ（図２）は、アップデートフラグが「ＴＲＵＥ」であるか否かを判断する。アップデートフラグが「ＦＡＬＳＥ」である場合には、更新モジュール５３０ａは、ステップＳ３２０に移行し、電源制御部１２２に電源を切らせて、処理を終了する。
【００６６】
アップデートフラグが「ＴＲＵＥ」である場合には、更新モジュール５３０ａは、ステップＳ３１０に移行し、ファームウェアを更新する旨の通知を行う。例えば、更新モジュール５３０ａは、ＨＴＴＰサーバモジュール５２０ａに通知用のＷｅｂページを出力させることによって、この通知を行う。通知用のＷｅｂページとしては、例えば、図１０に示すＷｅｂページＷＰ４と同じページを採用可能である。また、更新モジュール５３０ａが、操作パネル制御部１２４を制御することによって、操作パネル１２６の表示画面（図示せず）にファームウェアを更新する旨の表示をさせることとしてもよい。
【００６７】
以後、ＣＰＵ１１２（図１）は、ステップＳ３３０〜Ｓ３６０の処理を実行する。これらのステップＳ３３０〜Ｓ３６０の処理は、図８のステップＳ２３０〜Ｓ２６０の処理と、それぞれ同じである。更新用ファームウェアの書き込みが完了したら、ＣＰＵ１１２は、電源制御部１２２に電源を切らせて（Ｓ３７０）、処理を終了する。なお、ステップＳ３７０の段階では、ＣＰＵ１１２は、ＲＡＭ１１４の新しいファームウェアに従って動作している。電源を切る処理は、新しいファームウェアの更新モジュール（図示せず）に従って行われる。
【００６８】
以後、電源が投入された場合には、ＣＰＵ１１２は、ＥＰ−ＲＯＭ１１６に格納されている新しいファームウェアに従って、印刷サービス（印刷要求の受け入れ）を開始する。
【００６９】
以上のように、第２実施例では、更新モジュール５３０ａは、ファームウェアの更新要求（図５の第３ボタンＢ２３の操作）を受けた場合には、電源ＯＦＦ要求を受けたことに応じて、更新処理を開始する（図１３）。このように、プリンタ１００の電源が切られる時にファームウェアが更新されるので、ファームウェアの更新のために印刷サービスが止められて、印刷が出来ない状態となるという不具合が生じることを防止できる。
【００７０】
Ｃ．第３実施例：
図１４は、電源同期更新モードにおける更新処理の別の例の手順を示すフローチャートである。図１２、図１３に示す第２実施例との差違は、ファームウェアの書き換えが、プリンタ１００の電源が入れられるときに実行される点だけである。ネットワークシステムの構成は、図１に示す第１実施例のネットワークシステム１０と同じである。また、ファームウェアの構成は図２に示す第１実施例のファームウェア５００ａと同じである。
【００７１】
第３実施例では、更新モジュール５３０ａは、図１２と同様のフローチャートに従って、アップデートフラグを「ＴＲＵＥ」にセットする。ただし、第３実施例では、アップデートフラグは、不揮発性メモリであるＥＰ−ＲＯＭ１１６に格納される。これは、プリンタ１００の電源が一旦切られ、その後に電源が入れられたときに、更新モジュール５３０ａがアップデートフラグを利用するからである。第３実施例では、図１３に示す第２実施例とは異なり、ＣＰＵ１１２は、アップデートフラグの値が「ＴＲＵＥ」であっても、ファームウェアの書き換えをせずに電源制御部１２２に電源を切らせる。その代わりに、ＣＰＵ１１２は、次に電源が入れられたときに、アップデートフラグの値に応じたファームウェアの更新処理を実行する。
【００７２】
図１４は、プリンタ１００（図１）の電源が入れられるときに実行される処理の手順を示すフローチャートである。電源制御部１２２は、操作パネル１２６（図１）の電源ボタン（図示せず）が押下されたことに応じてプリンタ１００の電源を入れる。ＣＰＵ１１２は、電源が入れられたことに応じて、ＥＰ−ＲＯＭ１１６のファームウェア５００ａ（図２）に従った制御を開始する。まず、更新モジュール５３０ａが、図１４に示す更新処理を開始する。すなわち、更新モジュール５３０ａは、電源ＯＮの指示を受けたことに応じて、更新処理を開始することとなる。
【００７３】
最初のステップＳ４００では、更新モジュール５３０ａ（図２）は、アップデートフラグが「ＴＲＵＥ」であるか否かを判断する。アップデートフラグが「ＦＡＬＳＥ」である場合には、更新モジュール５３０ａは更新処理を終了する。以後、ＣＰＵ１１２は、ＥＰ−ＲＯＭ１１６のファームウェアに従って、印刷サービス（印刷要求の受け入れ）を開始する。
【００７４】
アップデートフラグが「ＴＲＵＥ」である場合には、ＣＰＵ１１２は、Ｓ４１０、Ｓ４４３０〜Ｓ４６０の処理を実行する。これらのステップＳ４１０、Ｓ４３０〜Ｓ４６０の処理は、図１３のステップＳ３１０、Ｓ３３０〜Ｓ３６０の処理と、それぞれ同じである。更新用ファームウェアの書き込みが完了したら、ＣＰＵ１１２は、ＥＰ−ＲＯＭ１１６の更新用ファームウェアに従って、印刷サービス（印刷要求の受け入れ）を開始する。
【００７５】
以上のように、第３実施例では、更新モジュール５３０ａは、ファームウェアの更新要求（図５の第３ボタンＢ２３の操作）を受けた場合には、プリンタ１００の電源が一旦切られ、その後、電源ＯＮ要求を受けたことに応じて、更新処理を開始する（図１４）。このように、プリンタ１００の電源が入れられる時にファームウェアが更新されるので、ファームウェアの更新のために印刷サービスが止められて、印刷が出来ない状態となるという不具合が生じることを抑制できる。
【００７６】
Ｄ．第４実施例：
図１５は、第４実施例におけるファームウェアの更新処理の手順を示すフローチャートである。上述の各実施例との差違は、ファームウェア更新処理のモードが、ユーザの指示に従って決定される点である。第４実施例では、更新モジュール５３０ａは、図８に示す待機更新モードと、図１２、図１３に示す電源同期更新モードと、のそれぞれのモードに従って、ファームウェアの更新処理を進行させることが可能である。また、更新モジュール５３０ａは、更新モードを選択することをユーザに許容する。
【００７７】
更新モジュール５３０ａは、ユーザがファームウェアアップデート用の第３ボタンＢ２３（図５）を操作することに応じて、図１５の処理を開始する。最初のステップＳ５００では、更新モジュール５３０ａは、ＨＴＴＰサーバモジュール５２０ａに、更新モードを選択する指示の入力をユーザに許容するＷｅｂページ（ユーザインターフェース）を出力させる。図１６は、ステップＳ５００で出力されるＷｅｂページの一例を示す説明図である。このＷｅｂページＷＰ６は、「今ボタンＢ６１」と、「後でボタンＢ６２」とを有している。
【００７８】
次のステップＳ５１０では、更新モジュール５３０ａは、２つのボタンＢ６１、Ｂ６２のいずれがユーザによって操作されたかを判断する。「今ボタンＢ６１」が操作された場合には、更新モジュール５３０ａは、ステップＳ５２０に移行し、待機更新モード（図８）で更新処理を進行させる。「後でボタンＢ６２」が操作された場合には、更新モジュール５３０ａは、ステップＳ５３０に移行し、電源同期更新モード（図１２、図１３）で更新処理を進行させる。なお、電源同期更新モードでの更新処理としては、図１４に示す第３実施例での処理を採用してもよい。
【００７９】
以上のように、第４実施例では、ユーザは、印刷ジョブの終了後すぐにファームウェアが更新される待機更新モードと、電源のＯＮ／ＯＦＦ状態が切り替えられるタイミングでファームウェアが更新される電源同期更新モードと、の中から好みの更新モードを選択することができる。その結果、第４実施例では、ファームウェアの早急な更新が望まれる場合と、印刷の妨害を避けることが望まれる場合と、のそれぞれの場合において、適切なタイミングでファームウェアの更新を行うことが可能となる。
【００８０】
Ｅ．変形例：
なお、上記各実施例における構成要素の中の、独立クレームでクレームされた要素以外の要素は、付加的な要素であり、適宜省略可能である。また、この発明は上記の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
【００８１】
変形例１：
上記各実施例において、更新用のファームウェアの取得完了後には、更新モジュール５３０ａが、ファームウェアの書き換え指示の有無に拘わらずに、ＥＰ−ＲＯＭ１１６のファームウェアの書き換え処理を進行させることとしてもよい。例えば、図８の手順からステップＳ２５０を省略してもよい。同様に、図１３の手順からステップＳ３５０を省略してもよく、図１４の手順からステップＳ４５０を省略してもよい。また、この代わりに、更新モジュール５３０ａが、更新用のファームウェアの取得完了後に、再度、ユーザに更新を希望するか否かを問い合わせることとしてもよい。
【００８２】
変形例２：
図１２、図１３に示す電源同期更新モードでの更新処理において、更新モジュール５３０ａが、より新しいファームウェアの有無を確認せずに、アップデートフラグの設定を行うこととしてもよい。例えば、図１２のステップＳ２２０、Ｓ２３５のそれぞれを省略してもよい。ただし、この場合には、更新モジュール５３０ａは、ファームウェアをサーバ４００から取得するときに、より新しいファームウェアの有無を確認することが好ましい。例えば、更新モジュール５３０ａが、図１３のステップＳ３００とステップＳ３１０との間に、図１２のステップＳ２２０の処理を実行すればよい。ここで、更新可能な場合には、更新モジュール５３０ａはステップＳ３１０に移行すればよい。一方、更新できない場合には、更新モジュール５３０ａはステップＳ３２０に移行すればよい。この際、更新モジュール５３０ａは、図１２のステップＳ２３５と同じ処理を実行してもよい。
【００８３】
以上説明した変形例は、図１４に示す更新処理についても同様に適用できる。この場合には、図１４のステップＳ４００とステップＳ４１０との間に、更新モジュール５３０ａが、より新しいファームウェアの有無を確認することが好ましい。
【００８４】
変形例３：
図８に示す実施例において、複数の印刷要求が受け入れ済みである場合に、更新モジュール５３０ａが、一部の印刷要求の印刷ジョブの実行前に、ファームウェアの書き換え処理を進行させることとしてもよい。例えば、更新モジュール５３０ａが、ファームウェアの更新要求を受けたことに応じて、実行中の印刷ジョブの完了後、別の印刷ジョブの実行を保留させて、ファームウェアの書き換え処理を進行させることとしてもよい。この場合には、ファームウェアの更新後に、更新された印刷モジュールが、ＲＡＭ１１４内の保留された印刷要求に応じた印刷ジョブを実行する。
【００８５】
一般に、待機更新モードでの手順としては、更新要求を受信した時に実行中の印刷ジョブが終了したことに応じて、印刷ジョブを実行していない状態で、印刷エンジン１９０の制御に用いられるファームウェアを更新する任意の手順を採用可能である。すなわち、新しいファームウェアを用いた制御開始を保留し、更新要求を受信した時に実行中の印刷ジョブが終了したことに応じて、印刷ジョブを実行していない状態で、新しいファームウェアを用いた制御を開始する任意の手順を採用可能である。ただし、図８に示す実施例のように、新たな印刷要求の受け入れを停止させ、受け入れ済みの印刷要求の全ての印刷ジョブが終了した後に、ファームウェアを書き換える手順を採用することが好ましい。こうすれば、更新後のファームウェアが、受け入れ済みの印刷要求に対応していないことによる印刷の不具合が生じることを防止できる。
【００８６】
変形例４：
電源同期更新モードでの更新処理において、更新モジュール５３０ａが更新用ファームウェアを取得するタイミングとしては、任意のタイミングを採用可能である。例えば、図１２、図１３に示す実施例において、更新モジュール５３０ａが、ファームウェアの更新要求を受けた後の電源ＯＦＦの指示を受ける前に更新用のファームウェアを取得してもよい。具体的には、図１２のステップＳ２２０とステップＳ２８０との間や、ステップＳ２８０の後で、更新モジュール５３０ａが、電源ＯＦＦの指示の有無に拘わらずに、図１３のステップＳ３３０、Ｓ３４０の処理を実行することとしてもよい。
【００８７】
以上説明した変形例は、図１４に示す更新処理についても同様に適用できる。また、図１４に示す実施例のように電源が入れられたときにファームウェアが書き換えられる場合においても、その前の電源が切られるときに、更新モジュール５３０ａが更新用のファームウェアを取得することとしてもよい。ただし、この場合には、更新用のファームウェアは、不揮発性メモリ（例えば、ＥＰ−ＲＯＭ１１６）に格納される。
【００８８】
一般に、電源同期更新モードでの手順としては、制御部１１０の電源のＯＮ／ＯＦＦ状態を切り替える要求を受けたことに応じて、印刷エンジン１９０の制御に用いられるファームウェアを更新する任意の手順を採用可能である。すなわち、新しいファームウェアを用いた制御開始を保留し、制御部１１０の電源のＯＮ／ＯＦＦ状態を切り替える要求を受けたことに応じて、新しいファームウェアを用いた制御を開始する任意の手順を採用可能である。ここで、電源を切る時にファームウェアを書き換える場合には、受け入れ済みの全ての印刷要求が完了した後で、ファームウェアを書き換えることが好ましい。
【００８９】
変形例５：
上記各実施例において、ＥＰ−ＲＯＭ１１６に格納されているファームウェアの一部分のみを更新することとしてもよい。例えば、ファームウェアの更新処理を実行する機能を有するモジュール（ＨＴＴＰサーバモジュール５２０ａと更新モジュール５３０ａ）を更新せずに、印刷モジュール５１０ａのみを更新することとしてもよい。この場合には、ＣＰＵ１１２によって実行されるプログラムを、ＥＰ−ＲＯＭ１１６のファームウェアからＲＡＭ１１４のファームウェアに切り替えずに、ＣＰＵ１１２は更新処理を実行できる。また、この場合には、ＣＰＵ１１２は、サーバ４００から取得した更新用の印刷モジュールを、一旦ＲＡＭ１１４に格納することなく、直接ＥＰ−ＲＯＭ１１６に書き込むこととしてもよい。
【００９０】
変形例６：
上記各実施例において、更新され得るファームウェアに従って制御部１１０が実行する処理としては、印刷エンジン１９０を制御する任意の処理を採用することができる。例えば、色変換処理やハーフトーン処理といった画像処理のみを採用してもよく、また、複数の印刷要求のそれぞれの印刷ジョブの実行スケジュールを決定する処理のみを採用してもよい。
【００９１】
変形例７：
上記各実施例において、印刷エンジン１９０（図１）の電源と、制御部１１０の電源とが、独立に制御されることとしてもよい。例えば、電源制御部１２２が、印刷エンジン１９０の電源のＯＮ／ＯＦＦを制御せずに、制御部１１０のみの電源のＯＮ／ＯＦＦを制御することとしてもよい。いずれの場合も、制御部１１０は、電源同期更新モードでは、制御部１１０の電源のＯＮ／ＯＦＦ状態が切り替えられるタイミングでファームウェアを更新すればよい。こうすれば、ファームウェアの更新のために、制御部１１０による印刷エンジン１９０の制御が止められることを防止できる。
【００９２】
変形例８：
上記各実施例では、ＣＰＵ１１２は、プログラムをＥＰ−ＲＯＭ１１６から直接に読んで実行することとしていたが、この代わりに、ＣＰＵ１１２が、ファームウェアの全体を一旦ＲＡＭ１１４に格納した後、プログラムをＲＡＭ１１４から読んで実行することとしてもよい。さらに、この場合には、ＣＰＵ１１２は、サーバ４００から取得した更新用の印刷モジュールを、一旦ＲＡＭ１１４に格納することなく、直接ＥＰ−ＲＯＭ１１６に書き込むこととしてもよい。
【００９３】
変形例９：
上記各実施例では、更新モジュール５３０ａ（図２）は、ユーザによる種々の指示を、Ｗｅｂページを介して取得することとしていたが、指示の取得方法としては種々の方法を採用できる。例えば、更新モジュール５３０ａが、操作パネル１２６を介して種々の指示を取得することとしてもよい。この場合には、更新モジュール５３０ａ（図２）は、操作パネル制御部１２４を制御することによって、Ｗｅｂページと同様の画面を操作パネル１２６の表示画面（図示せず）に表示させることとすればよい。
【００９４】
変形例１０：
上記各実施例において、プリンタ１００の構成としては、図１に示す構成に限らず、種々の構成を採用可能である。例えば、外部装置制御部１１８を省略してもよい。この場合には、プリンタ１００は、ネットワーク制御部１２０（ＬＡＮ）を介して印刷要求を受信することとすればよい。また、この代わりに、外部装置制御部１１８を介してのみ、印刷要求を受けることとしてもよい。また、操作パネル制御部１２４と操作パネル１２６とを省略してもよい。
【００９５】
変形例１１：
上記各実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部をハードウェアに置き換えるようにしてもよい。例えば、ファームウェアの更新処理を実行するモジュール（例えば、図２のＨＴＴＰサーバモジュール５２０ａと更新モジュール５３０ａ）の機能を、論理回路を有するハードウェア回路によって実現することとしてもよい。
【００９６】
なお、本発明の機能の一部または全部がソフトウェアで実現される場合には、そのソフトウェア（コンピュータプログラム）は、コンピュータ読み取り可能な記録媒体に格納された形で提供することができる。この発明において、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスクやＣＤ−ＲＯＭのような携帯型の記録媒体に限らず、各種のＲＡＭやＲＯＭ等のコンピュータ内の内部記憶装置や、ハードディスク等のコンピュータに固定されている外部記憶装置も含んでいる。
【図面の簡単な説明】
【００９７】
【図１】本発明の実施例としてのネットワークシステムの構成を示す概念図。
【図２】ファームウェア５００ａの内部構成を示す概略図。
【図３】ＨＴＴＰサーバモジュール５２０ａが提供するＷｅｂページの一例を示す説明図。
【図４】メンテナンスＷｅｂページの出力処理の手順を示すフローチャート。
【図５】ファームウェアアップデート項目が有効化されたメンテナンスＷｅｂページの一例を示す説明図。
【図６】ファームウェアアップデート項目が無効化されたメンテナンスＷｅｂページの一例を示す説明図。
【図７】ファームウェアの更新処理の概要を示す説明図。
【図８】ファームウェアの更新処理の手順を示すフローチャート。
【図９】ステップＳ２３５で出力されるＷｅｂページの一例を示す説明図。
【図１０】ステップＳ２３０で出力されるＷｅｂページの一例を示す説明図。
【図１１】ステップＳ２５０で出力されるＷｅｂページの一例を示す説明図。
【図１２】更新処理の手順を示すフローチャート。
【図１３】更新処理の手順を示すフローチャート。
【図１４】電源同期更新モードにおける更新処理の別の例の手順を示すフローチャート。
【図１５】第４実施例におけるファームウェアの更新処理の手順を示すフローチャート。
【図１６】ステップＳ５００で出力されるＷｅｂページの一例を示す説明図。
【符号の説明】
【００９８】
１０...ネットワークシステム
１００...プリンタ
１１０...制御部
１１２...ＣＰＵ
１１４...ＲＡＭ
１１６...ＥＰ−ＲＯＭ
１１８...外部装置制御部
１２０...ネットワーク制御部
１２２...電源制御部
１２４...操作パネル制御部
１２６...操作パネル
１９０...印刷エンジン
２００...デジタルテレビ
２１０...ブラウザ
３００...ルータ
４００...サーバ
４１０...ＨＴＴＰサーバモジュール
５００ａ、５００ｂ...ファームウェア
５１０ａ...印刷モジュール
５２０ａ...ＨＴＴＰサーバモジュール
５３０ａ...更新モジュール
ＩＮＥＴ...インターネット
【図１】
0004577162.tif 000002
【図２】
0004577162.tif 000003
【図３】
0004577162.tif 000004
【図４】
0004577162.tif 000005
【図５】
0004577162.tif 000006
【図６】
0004577162.tif 000007
【図７】
0004577162.tif 000008
【図８】
0004577162.tif 000009
【図９】
0004577162.tif 000010
【図１０】
0004577162.tif 000011
【図１１】
0004577162.tif 000012
【図１２】
0004577162.tif 000013
【図１３】
0004577162.tif 000014
【図１４】
0004577162.tif 000015
【図１５】
0004577162.tif 000016
【図１６】
0004577162.tif 000017