(57)【要約】【課題】印刷装置がインターネット等のネットワークに直接に接続されない環境でも、ネットワークを利用した情報提供サービスを活用する。【解決手段】ネットワーク２１０に接続された少なくとも一つのホストコンピュータ１９０と通信可能な印刷装置１００であって、ホストコンピュータ１９０から印刷ジョブを受信すると、ホストコンピュータ１９０へコマンドを送信するコマンド送信手段２４４と、ホストコンピュータ１９０を経由してネットワーク２１０上のサーバ２００からコマンドに応じた情報を取得する情報取得手段２４５と、を有する。【選択図】  図２
2020131659.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに接続された少なくとも一つのホストコンピュータと通信可能な印刷装置であって、
前記ホストコンピュータから印刷ジョブを受信すると、前記ホストコンピュータへコマンドを送信するコマンド送信手段と、
前記ホストコンピュータを経由して前記ネットワーク上のサーバから前記コマンドに応じた情報を取得する情報取得手段と、を有することを特徴とする印刷装置。
【請求項２】
請求項１に記載の印刷装置において、
前記サーバから取得した前記情報に基づいて、ファームウェアのアップデートの要否を判定する判定手段と、
前記判定手段の判定結果を出力する出力手段と、をさらに有することを特徴とする印刷装置。
【請求項３】
請求項２に記載の印刷装置において、
入力操作に応じた操作信号を出力する操作部と、
前記操作部から前記ファームウェアのアップデートの承認を示す操作信号を受け付け、前記アップデートを実行するアップデート手段と、をさらに有することを特徴とする印刷装置。
【請求項４】
請求項３に記載の印刷装置において、
前記アップデート手段は、前記承認を示す操作信号の受け付け後に、印刷ジョブを受信したタイミングで、該印刷ジョブの送信元であるホストコンピュータを経由して前記サーバから前記アップデートを行うための更新用のファームウェアをダウンロードすることを特徴とする印刷装置。
【請求項５】
請求項４に記載の印刷装置において、
前記アップデート手段は、前記操作部への入力操作が行われない所定の状態を検出し、該所定の状態の期間に、前記更新用のファームウェアに基づくアップデート処理を実行することを特徴とする印刷装置。
【請求項６】
請求項５に記載の印刷装置において、
前記所定の状態が、通常電力モードよりも消費電力の低い省電力モードであることを特徴とする印刷装置。
【請求項７】
請求項１乃至６のいずれか一項に記載の印刷装置において、
前記コマンド送信手段は、前記ネットワークに接続された複数のホストコンピュータに前記コマンドを送信し、
前記情報取得手段は、前記ホストコンピュータ毎に前記サーバから前記情報を取得することを特徴とする印刷装置。
【請求項８】
請求項４乃至６のいずれか一項に記載の印刷装置において、
前記コマンド送信手段は、前記ネットワークに接続された複数のホストコンピュータに前記コマンドを送信し、
前記情報取得手段は、前記ホストコンピュータ毎に前記サーバから前記情報を取得し、
前記アップデート手段は、前記ホストコンピュータ毎に前記サーバから前記更新用のファームウェアをダウンロードし、該ダウンロードした更新用のファームウェアのいずれか一つを用いて前記アップデート処理を実行することを特徴とする印刷装置。
【請求項９】
請求項７または８に記載の印刷装置において、
前記コマンドの送信先であるホストコンピュータの台数が予め設定されていることを特徴とする印刷装置。
【請求項１０】
ネットワークに接続された少なくとも一つのホストコンピュータからの印刷ジョブを受信し、
前記印刷ジョブの受信をトリガとして、前記ホストコンピュータへコマンドを送信し、
前記ホストコンピュータを経由して前記ネットワーク上のサーバから前記コマンドに応じた情報を取得する、情報処理方法。
【請求項１１】
コンピュータに、
ネットワークに接続された少なくとも一つのホストコンピュータからの印刷ジョブを受信する手順と、
前記印刷ジョブの受信をトリガとして、前記ホストコンピュータへコマンドを送信する手順と、
前記ホストコンピュータを経由して前記ネットワーク上のサーバから前記コマンドに応じた情報を取得する手順と、を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ホストコンピュータと通信可能な印刷装置に関する。
【背景技術】
【０００２】
一般に、印刷装置は、インターネット等のネットワークに接続するための通信機能を備えている。この通信機能を用いれば、印刷装置は、インターネット上のサーバにアクセスすることができる。サーバは、印刷装置に関連する情報、例えば、最新のファームウェアや製品情報などを管理しており、これらの情報をインターネット経由で印刷装置に提供することができる。
特許文献１には、印刷装置と、サーバと、ホストコンピュータとが、インターネット等のネットワークを介して相互に通信可能に接続されたシステムが記載されている。サーバは、印刷装置のための置き換え用ファームウェア群を管理する。ホストコンピュータには、印刷装置を動作させるためのドライバがインストールされている。印刷装置は、ホストコンピュータからの印刷ジョブに従って印刷を行う。
上記システムでは、印刷装置は、サーバで管理されているファームウェア群から最適なファームウェアを選択してダウンロードすることができる。
【０００３】
ところで、印刷装置は、インターネットへの接続が可能な通信機能を備えているにも拘らず、セキュアな環境で使用されることもある。このようなセキュアな環境では、印刷装置は、インターネットに直接に接続されないため、インターネットを利用したファームウェア等の情報提供サービスを活用し難いというのが現状である。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−２５９２２４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載のシステムでは、印刷装置をインターネット等のネットワークに直接に接続する必要がある。このため、上述したような印刷装置がネットワークに直接に接続されない環境では、ネットワークを利用したファームウェア等の情報提供サービスを活用することができないという問題が生じる。
【０００６】
本発明の目的は、印刷装置がインターネット等のネットワークに直接に接続されない環境でも、ネットワークを利用した情報提供サービスを活用することにある。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、本発明の印刷装置は、ネットワークに接続された少なくとも一つのホストコンピュータと通信可能な印刷装置であって、前記ホストコンピュータから印刷ジョブを受信すると、前記ホストコンピュータへコマンドを送信するコマンド送信手段と、前記ホストコンピュータを経由して前記ネットワーク上のサーバから前記コマンドに応じた情報を取得する情報取得手段と、を有することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、印刷装置がインターネット等のネットワークに直接に接続されない環境でも、ネットワークを利用した情報提供サービスを活用することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の第１の実施形態に係る印刷装置の概略構成を示すブロック図である。
【図２】本発明の第１の実施形態に係る印刷装置を含む情報処理システムを示すブロック図である。
【図３】本発明の第１の実施形態に係る印刷装置のファームウェアのアップデートの手順を説明するためのシーケンス図である。
【図４】管理情報を記述した管理表の一例を示す図である。
【図５】本発明の第２の実施形態に係る印刷装置のファームウェアのアップデートの手順を説明するためのシーケンス図である。
【発明を実施するための形態】
【００１０】
以下、図面を参照して、本発明の実施形態を詳細に説明する。ただし、以下の実施形態に記載されている構成要素の相対配置、装置形状等は、あくまで例示であり、本発明の範囲をそれらのみに限定する趣旨のものではない。また、本明細書において、「印刷装置」は、印刷機能に特化した専用機に限らず、原稿上の画像を読取って印刷する機能とその他の機能を複合した複合機や、記録媒体上に画像やパターンを形成する画像形成装置等も含む。なお、同一の部材については同一の参照番号を付し、重複する説明は適宜に省略する。なお、上述したセキュアな環境で使用される印刷装置として、大判プリンタが一例として挙げられる。大判プリンタは、ロール紙から給紙された紙に印刷して、カッタを使ってロール紙を切断することで、ユーザが所望とする印刷物を出力する。
【００１１】
（実施形態１）
図１は、本発明の第１の実施形態に係る印刷装置の概略構成を示すブロック図である。
図１に示すように、印刷装置１００は、ネットワーク１９１を介してホストコンピュータ１９０と通信可能である。ホストコンピュータ１９０は、インターネット等のネットワークに接続され、該ネットワーク上のサーバにアクセスすることができる。
印刷装置１００は、コントローラ１２０、プリンタエンジン１５０、ＨＤＤ（Hard Disk Drive）１６１及び入出力装置１６２を有する。プリンタエンジン１５０には、シートを積載するスタックトレイを備えたスタッカを接続可能である。
【００１２】
コントローラ１２０は、Ｉ／Ｆ１２１、１２２、１２５、１２７、１２９、フラッシュＲＯＭ１２３、ＲＡＭ１２６、メモリコントローラ１２６、ＣＰＵ１２８及び画像処理部１３０を有する。ＣＰＵは「Central Processing Unit」の略称であり、ＲＯＭは「Read Only Memory」の略称である。ＲＡＭは、「Random Access Memory」の略称であり、ＨＤＤは、「Hard Disk Drive」の略称である。「Ｉ／Ｆ」はインターフェースを意味する。
Ｉ／Ｆ１２１、１２２、１２５、１２７、１２９、メモリコントローラ１２６、ＣＰＵ１２８及び画像処理部１３０はそれぞれ、システムバス１３２に接続されている。ＨＤＤ１６１はＩ／Ｆ１２１を介して、入出力装置１６２はＩ／Ｆ１２２を介して、フラッシュＲＯＭ１２３はＩ／Ｆ１２５を介して、それぞれシステムバス１３２に接続されている。
【００１３】
ＣＰＵ１２８は、マイクロプロセッサ（マイクロコンピュータ）形態の中央演算処理部である。ＣＰＵ１２８は、プログラムの実行やハードウェアの起動により、印刷装置１００全体の動作を制御する。フラッシュＲＯＭ１２３は、ＣＰＵ１２８が実行するためのプログラムや印刷装置１００の各種動作に必要な固定データを格納する。ＲＡＭ１２４は、ＣＰＵ１２８のワークエリアとして用いられたり、種々の受信データの一時格納領域として用いられたりする。また、ＲＡＭ１２４には、各種設定データを記憶させることもできる。
画像処理部１３１は、各種画像処理を行う。例えば、画像処理部１３１は、印刷装置１００で扱う印刷データ（例えば、ページ記述言語で表されたデータ）を画像データ（例えば、ビットマップ画像データ）へ展開（変換）する処理や、その他の画像処理を行う。また、画像処理部１３１は、入力された印刷データに含まれる画像データの色空間（例えば、ＹＣｂＣｒ）を、標準的なＲＧＢ色空間（例えば、ｓＲＧＢ）に変換する。さらに、画像処理部１３１は、画像データに対し、有効な画素数（印刷装置１００が印刷処理可能な画素数）への解像度変換、画像解析、画像補正等、様々な画像処理を必要に応じて実行する。これらの画像処理によって得られた画像データは、ＲＡＭ１２４又はＨＤＤ１６１に格納される。
【００１４】
プリンタエンジン１５０は、印刷ヘッド１５１、カッタユニット１５２、搬送モータ１５３、Ｉ／Ｆ１５４及び巻き取りモータ１５５を備える。これらは、システムバス１５６に接続されている。Ｉ／Ｆ１５４は、コントローラ１２０のＩ／Ｆ１２９と接続されている。
印刷ヘッド１５１は、画像の印刷を行う印刷部であり、画像データに基づいて印刷メディア上に画像を印刷する。印刷ヘッド１５１は、例えば、複数色の独立したインクジェットヘッドを備える。各インクジェットヘッドはインクを吐出する複数の吐出口を備えている。印刷メディアの搬送動作に同期して各インクジェットヘッドが各色のインクを吐出することで、印刷メディア上に画像を形成する。
なお、本実施形態では、記録剤としてインクを用いたインクジェット方式のプリンタを例に挙げて説明するが、これに限定されるものではない。
本発明は、サーマルプリンタ（昇華型、熱転写型など）、ドットインパクトプリンタ、ＬＥＤプリンタ、レーザープリンタ等の電子写真方式のプリンタなど、様々な印刷方式のプリンタに適用可能である。ＬＥＤは、「Light Emitting Diode」の略称である。
【００１５】
カッタユニット１５２は、印刷メディアを切断する機構である。カッタユニット１５２は、例えば、画像印刷後の印刷メディアを所定の長さにカットする。搬送モータ１５３は、印刷メディアを搬送させる搬送ローラを回転させるためのモータである。搬送モータ１５３の駆動は、ＣＰＵ１２８によって制御される。巻き取りモータ１５５は、スタッカにあたる巻き取り機構の軸棒を回転させるためのモータである。巻き取りモータ１５５の駆動は、ＣＰＵ１２８によって制御される。
入出力装置１６２は、ユーザが種々の操作を行うためのハードキーやタッチパネル、またユーザに種々の情報を提示（通知）するための表示部を含む。入出力装置１６２は、ユーザへ情報を提示するための音声発生器を有していても良い。音声発生器は、音響情報に基づく音響（ブザー、音声等）を出力する。表示部及び音声発生器は、出力手段の一例である。
【００１６】
ＨＤＤ１６１には、ハードディスクが内蔵されている。ＨＤＤ１６１では、ＣＰＵ１２８が実行するためのプログラム、印刷データ、印刷装置１００の各種動作に必要な設定情報をハードディスクに記憶させたり、ハードディスクから読み出したりすることが可能である。
本実施形態では、後述するジョブキューがＨＤＤ１６１に設けられる。このジョブキューには、印刷実行中や印刷処理前の印刷ジョブが保持される。なお、ＨＤＤ１６１に代えて、他の大容量記憶装置が用いられても良い。
なお、本実施形態では、入出力装置１６２が印刷装置１００に設けられているが、これに限定されない。入出力装置１６２は、印刷装置１００の外部に設けられていても良い。この場合、入出力装置１６２と印刷装置１００とが無線通信等により接続されても良い。
【００１７】
また、ホストコンピュータ１９０が入出力装置１６２を兼ねても良い。さらに、印刷装置１００は、入出力装置１６２の他に、ネットワーク等を介して他の入出力装置と接続可能に構成されても良い。
ホストコンピュータ１９０は、例えば、印刷データの供給源となる外部装置である。なお、印刷装置１００には、ホストコンピュータ１９０の代わりに、例えば、画像読取用のリーダ、デジタルカメラ、スマートフォンなどの他の印刷データの供給源となるものが接続されていても良い。
以上が、印刷装置１００の概略構成の説明である。
【００１８】
次に、印刷装置１００を含む情報処理システムについて説明する。
図２は、印刷装置１００を含む情報処理システムの概略構成を示すブロック図である。図２に示すように、情報処理システムは、印刷装置１００、ホストコンピュータ１９０及びサーバ２００を有する。印刷装置１００とホストコンピュータ１９０は、ＬＡＮ（Local Area Network）２３０を介して相互に通信可能に接続されている。ホストコンピュータ１９０及びサーバ２００はそれぞれ、インターネット等のネットワーク２１０に接続可能である。なお、印刷装置１００に接続されるホストコンピュータ１９０の台数は１又は複数である。
サーバ２００は、ファームウェア２０２及びそのメタデータであるファームウェア情報２０１を管理する。ファームウェア２０２は、印刷装置１００のファームウェアをアップデートするための更新用のファームウェアである。ホストコンピュータ１９０には、印刷装置１００を用いた印刷に必要なドライバ２２１がインストールされている。印刷装置１００は、ホストコンピュータ１９０から印刷ジョブなどのデータを受信する。印刷装置１００は、印刷ジョブに従って印刷を行う。なお、印刷ジョブには、上述した印刷データと、印刷に使用される印刷設定情報が含まれていても良い。
【００１９】
印刷装置１００は、ファームウェア２４１、ファームウェア情報２４２、操作部２４３、コマンド送信手段２４４、情報取得手段２４５、判定手段２４６、出力手段２４７及びアップデート手段２４８を有する。コマンド送信手段２４４、情報取得手段２４５、判定手段２４６及びアップデート手段２４８は、例えば、図１に示したＣＰＵ１２８によって提供される機能であっても良く、ＡＳＩＣ等の回路で構成されても良い。ここで、ＡＳＩＣは「Application Specific Integrated Circuit」の略称である。操作部２４３及び出力手段２４７は、例えば、図１に示した入出力装置１６２によって構成されても良い。
ファームウェア２４１は、印刷装置１００を制御するためのソフトウェアであって、例えば、図１に示したＨＤＤ１６１に格納される。ＨＤＤ１６１の別の領域には、ファームウェア２４１のメタデータである現在のファームウェア情報２４２も保持される。
【００２０】
コマンド送信手段２４４は、ホストコンピュータ１９０から印刷ジョブを受信すると、ホストコンピュータ１９０へコマンドを送信する。情報取得手段２４５は、ホストコンピュータ１９０を経由してネットワーク２１０上のサーバ２００からコマンドに応じた情報を取得する。判定手段２４６は、サーバ２００から取得した情報に基づいて、ファームウェア２４１のアップデートの要否を判定する。出力手段２４７は、判定手段２４６の判定結果を出力する。操作部２４３は、入力操作に応じた操作信号を出力する。アップデート手段２４８は、操作部２４３からファームウェア２４１のアップデートの承認を示す操作信号を受け付け、ファームウェア２４１のアップデートを実行する。
ホストコンピュータ１９０は、印刷装置１００に印刷ジョブを送信し、該印刷ジョブに応じて印刷装置１００が送信したコマンド又は要求（依頼）を受信する機能を有する。さらに、ホストコンピュータ１９０は、ネットワーク２１０上のサーバ２００から印刷装置１００が送信したコマンド又は要求（依頼）に応じた情報を取得し、その取得した情報を印刷装置１００に送信する機能を有する。これらの機能は、ＣＰＵがプログラムを実行することで提供されても良く、また、ＡＳＩＣ等の回路で構成されても良い。
【００２１】
図３は、図２に示した情報処理システムにて行われるファームウェアのアップデートの手順を示すシーケンス図である。以下では、図３を参照して、図２に示した印刷装置１００、ホストコンピュータ１９０及びサーバ２００が行う通信の内容を、順を追って説明する。なお、図３の印刷装置１００の処理は、ＣＰＵ１２８が印刷装置の処理に関係するプログラムを読み出して実行することで実現される。
【００２２】
まず、ホストコンピュータ１９０が、印刷ジョブを印刷装置１００に送信する（ステップ３０４）。印刷装置１００は、印刷ジョブに従って印刷を行い、この印刷動作と並行して、情報取得要否を判断する（ステップ３０５）。なお、ステップ３０５以降の処理は、印刷動作と並行して行われることになる。情報取得要否の判断において、例えば、前回の情報取得から所定の日数が経過したか否かを判定し、経過している場合は、情報を取得する必要があると判断しても良い。ここで、取得する情報は、例えば、最新のファームウェアの情報である。所定の日数は、新しいバージョンのファームウェアがリリースされる間隔に応じて、サーバの処理負荷や通信量を適切に制御するために定めることができる。なお、情報取得要否の判断は、例えば、情報取得手段２４５又は図１に示したＣＰＵ１２８によって実現される他の機能によって行われる。
情報を取得する必要があると判断した場合、印刷装置１００は、ホストコンピュータ１９０へファームウェアの情報取得依頼を行う（ステップ３０６）。この情報取得依頼は、例えば、コマンド送信手段２３３がホストコンピュータ１９０へコマンドを送信することで行われる。
【００２３】
ホストコンピュータ１９０は、印刷装置１００から情報取得依頼を受け付け、サーバ２００へファームウェアの情報取得依頼を行う（ステップ３０７）。サーバ２００は、情報取得依頼を受け付け、ファームウェア情報２０１をホストコンピュータ１９０に送信する（ステップ３０８）。ホストコンピュータ１９０は、サーバ２００からのファームウェア情報２０１を印刷装置１００に送信する（ステップ３０９）。このように、印刷装置１００では、情報取得手段２４５が、ホストコンピュータ１９０を経由してネットワーク２１０上のサーバ２００からコマンドに応じた情報であるファームウェア情報２０１を取得する。
上記のステップ３０４〜３０９の処理はごく短時間で完了するため、これらの処理は、基本的に同期処理で実施されるが、これに限定されない。ステップ３０４〜３０９の処理は、通信環境に応じて非同期処理で行われても良い。なお、ファームウェア情報２０１を取得中に、通信の接続が切れるなどのトラブルが発生した場合には、処理を中断して、フローを終了する。
【００２４】
印刷装置１００は、ファームウェア情報２０１を取得すると、情報取得日時をそのファームウェア情報２０１を取得した時点の日時に更新し、アップデートの要否を判定する（ステップ３１０）。例えば、印刷装置１００は、現在のファームウェア情報２４２に記載されているファームウェアバージョンと、ファームウェア情報２０１に記載されている最新のファームウェアバージョンとを比較する。最新のファームウェアバージョンが現在のファームウェアバージョンよりも新しい場合は、新しいファームウェアバージョンがサーバ２００からリリースされているため、印刷装置１００は、ファームウェア２４１をアップデートする必要があると判断する。このアップデートの要否判定は、判定手段２４６によって行われる。
ファームウェア２４１をアップデートする必要があると判断した場合、印刷装置１００は、ユーザ３０３に対してアップデートが必要である旨を通知する（ステップ３１１）。このアップデートの通知は、出力手段２４７によって行われる。出力手段２４７は、ステップ３１０の判定が行われる度に、毎回、判定結果を通知しても良いが、これに限定されない。出力手段２４７による通知は行わずに、自動的にアップデートを行うように、印刷装置１００を設定することも可能である。
【００２５】
ユーザ３０３は、出力手段２４７による通知を確認し、操作部２４３を用いて、アップデートを承認する旨の入力を行う（ステップ３１２）。操作部２４３は、アップデートを承認する旨の操作信号を出力する。操作信号の出力後（アップデートの承認後）、印刷装置１００は、アップデートを開始するためのトリガとなる、ホストコンピュータ１９０からの次回の印刷ジョブの受信待ちの状態となる。
ホストコンピュータ１９０が、印刷ジョブを印刷装置１００に送信する（ステップ３１３）。印刷装置１００は、印刷ジョブに従って印刷を行うとともに、ホストコンピュータ１９０へファームウェア本体ダウンロード依頼を行う（ステップ３１４）。このダウンロード依頼は、アップデート手段２４８によって行われる。
【００２６】
ホストコンピュータ１９０は、印刷装置１００からのダウンロード依頼を受け付け、サーバ２００へファームウェア本体ダウンロード依頼を行う（ステップ３１５）。サーバ２００は、ダウンロード依頼を受け付け、ファームウェア本体である更新用のファームウェア２０２をホストコンピュータ１９０に送信する（ステップ３１６）。ホストコンピュータ１９０は、サーバ２００からのファームウェア２０２を印刷装置１００に送信する（ステップ３１７）。このように、印刷装置１００では、アップデート手段２４８が、ホストコンピュータ１９０を経由してネットワーク２１０上のサーバ２００から更新用のファームウェア２０２を取得する。
ファームウェア２０２のダウンロードは、ある程度の時間を要する。このため、ステップ３１３〜３１７の処理は、基本的には、非同期処理で実施される。仮に、ダウンロード中に通信の接続が切れるなどのトラブルが発生した場合には、ダウンロード処理を中断する。そして、印刷装置１００を再起動した時や、印刷装置１００の動作モードが省電力モードから通常動作モードに復帰した時など、動作の切り替わり時に、ダウンロード処理を再実行する。ここで、省電力モードは、通常電力モードよりも消費電力の低いモードである。例えば、動作モードが省電力モードである状態で入力操作が行われると、通常動作モードに復帰する。換言すると、省電力モードの期間は、ユーザによる入力操作が行われない期間と言える。
【００２７】
ファームウェア２０２のダウンロード後、印刷装置１００は、所定の単位ごとに、本体ストレージにファームウェア２０２を保存し、ダウンロードした日時も記録する（ステップ３１８）。本体ストレージは、例えば、図１に示したＨＤＤ１６１である。このステップ３１８の処理は、アップデート手段２４８によって行われる。
ステップ３１８の処理後、印刷装置１００は、操作部２４３への入力操作が行われない所定の状態を検出する（ステップ３１９）。例えば、印刷装置１００は、省電力モードへの移行条件等に基づいて、一定時間に亘ってユーザ操作が行われない状態を検知する。このステップ３１９の処理は、アップデート手段２４８によって行われる。
【００２８】
次に、印刷装置１００は、ステップ３１９で検出した所定の状態の期間に、ダウンロードしたファームウェア２０２に基づくアップデート処理を実行する（ステップ３２０）。このステップ３２０のアップデート処理は、アップデート手段２４８によって行われる。ファームウェアのアップデート処理には再起動を伴うケースが多く、印刷処理などの本来の処理に影響を与える可能性が高い。このため、ステップ３１９、３２０では、ユーザ操作が行われないタイミングで、アップデート処理を実行している。なお、ステップ３１９、３２０の処理に代えて、ファームウェア２０２のダウンロード直後に、ファームウェアのアップデート処理を実行しても良い。
最後に、印刷装置１００は、ファームウェアのアップデートの完了後に、ユーザ３０３へアップデートが完了した旨の通知を行う（ステップ３２１）。このアップデート完了通知は、出力手段２４７によって行われる。
【００２９】
本実施形態によれば、印刷装置１００が直接にインターネット等のネットワーク２１０に接続されていなくても、ネットワーク２１０に接続されたホストコンピュータ１９０を介して、サーバ２００の情報提供サービスを活用することができる。具体的には、インターネットに接続せずに印刷装置１００を使用しているユーザに対して、印刷装置１００に関連する情報、例えば、新しいバージョンのファームウェアがリリースされたことを通知することができる。さらに、印刷装置１００のファームウェアのダウンロードおよびアップデートを実施することができる。
なお、印刷装置１００が稼働中であっても、ホストコンピュータ１９０が動作しているとは限らない。ホストコンピュータ１９０が動作していない状態では、サーバ２００の情報提供サービスを活用することは困難である。本実施形態では、ホストコンピュータ１９０からの印刷ジョブをトリガとして用いる。これにより、ホストコンピュータ１９０が確実に動作している状態で、ファームウェア情報の取得やファームウェアのダウンロードを行うことが可能となっている。
【００３０】
（実施形態２）
本発明の第２の実施形態に係る印刷装置は、図１及び図２に示した印刷装置１００と同様の構成を有するが、複数のホストコンピュータを介してファームウェアのアップデートを行う点で、第１の実施形態のものと異なる。
３台のホストコンピュータ５０１〜５０３がネットワーク２３０を介して本実施形態の印刷装置５００に接続されている。ホストコンピュータ５０１〜５０３はいずれも、第１の実施形態で説明したホストコンピュータ１９０と同じ構成であり、ネットワーク２１０に接続されている。
【００３１】
図４は、本実施形態の印刷装置５００にて用いる管理情報を記述した管理表の一例を示す。図４に示す管理表は、レコード番号４００、ホストコンピュータの識別情報４０１、ファームウェアの情報取得日時４０２、ファームウェアのダウンロード日時４０３及びバージョン４０４、本体ストレージへの保存状態４０５を含む。図４の例では、印刷装置５００が通信するホストコンピュータの数は２に設定されている。
管理表は、図１に示したＲＡＭ１２６又はＨＤＤ１６１に格納される。ＣＰＵ１２８は、管理表の管理情報を以下のライフサイクルで管理する。なお、ＣＰＵ１２８によって実現される複数の機能（例えば、情報取得手段２４５やアップデート手段２４８など）が管理表を管理することができる。
【００３２】
まず、印刷ジョブを受信した時点で、ＣＰＵ１２８が、管理表にホストコンピュータの識別情報を新規に登録するか否かを判断する。印刷ジョブには、送信元のホストコンピュータの識別情報が含まれている。
ホストコンピュータの識別情報が既に管理表に登録済みである場合は、ＣＰＵ１２８は、新規登録は行わず、既に登録されている管理情報を参照する。そして、ＣＰＵ１２８は、情報取得日時４０２に基づいて、ファームウェアの情報取得要否を判断する。この判断以降の処理は、非同期的な処理となるため、ＣＰＵ１２８は、ホストコンピュータごとの進捗に応じて、残りの項目を記録していく。ただし、本体ストレージ（例えば、ＨＤＤ１６１）内には、常に、更新すべき最新のファームウェアが一つ保存されていれば良い。
【００３３】
本体ストレージへの保存状態４０５の取り得る値は、未保存、保存済及び削除済のいずれかである。ただし、管理表において、保存済となるホストコンピュータは常に一つである。よって、いずれかのホストコンピュータの保存状態４０５が保存済である場合、残りのホストコンピュータの保存状態４０５は、必ず、未保存か、削除済となる。保存状態４０５が削除済であるホストコンピュータについては、一連の通信フローは完了しているので、そのレコードは空き状態と見做すことができる。
保存状態４０５が削除済であるホストコンピュータと同じホストコンピュータから印刷ジョブを受信した場合は、ＣＰＵ１２８は、必要に応じて情報取得日時４０２を更新し、ダウンロード日時４０３、バージョン４０４及び保存状態４０５を消去する。一方、保存状態４０５が削除済であるホストコンピュータとは異なるホストコンピュータから印刷ジョブを受信した場合は、ＣＰＵ１２８は、識別情報４０１、情報取得日時４０２、ダウンロード日時４０３、バージョン４０４及び保存状態４０５を消去する。そして、ＣＰＵ１２８は、空き状態と見做したレコードについて、新たに管理情報の記録を始める。
【００３４】
図４の例では、ホストコンピュータ１のファームウェアがダウンロードされた後に、より新しいバージョンのファームウェアがホストコンピュータ２からダウンロードされたことで、本体ストレージに保存されたファームウェアが置き換わっている。この状態で、ホストコンピュータ３から印刷ジョブを受信した場合、レコード番号１の領域にホストコンピュータ３を登録することが可能である。また、空きの領域がない状態で、登録されていないホストコンピュータから印刷ジョブを受信した場合には、管理表への登録はせずに、ファームウェア情報の取得も行わない。
【００３５】
次に、ファームウェアのアップデートの手順を詳細に説明する。
図５は、本実施形態の印刷装置５００を含む情報処理システムにて行われるファームウェアのアップデートの手順を示すシーケンス図である。図５には、アップデートのために印刷装置５００と通信できるホストコンピュータの最大数は２に設定されており、この状態で、３台のホストコンピュータから次々に印刷ジョブを受信した場合の動作が示されている。なお、図５の印刷装置１００の処理は、ＣＰＵ１２８が印刷装置の処理に関係するプログラムを読み出して実行することで実現される。
【００３６】
以下、図５を参照して、印刷装置５００、ホストコンピュータ５０１〜５０３及びサーバ２００が行う通信の内容を、順を追って説明する。
まず、ステップ５０６〜５１４の処理が行われる。ステップ５０６〜５１４は、第１の実施形態で説明したステップ３０４〜３１２と同じであるので、ここでは、その説明を省略する。
ステップ５１４のアップデート承認後に、ホストコンピュータ５０２が印刷ジョブを印刷装置５００に送信する（ステップ５１５）。印刷装置５００は、受信した印刷ジョブに従って印刷を行い、この印刷動作と並行して、ホストコンピュータ５０２の識別情報（ホストコンピュータ２）の管理表への新規登録の要否を判断する。管理表において、レコード１には、ホストコンピュータ５０１の識別情報及びファームウェア情報の取得日時が登録されているが、レコード２には、未だ何も管理情報は登録されていない。よって、印刷装置５００は、ホストコンピュータ５０２の識別情報（ホストコンピュータ２）を管理表のレコード２に登録して情報取得要否を判断する（ステップ５１６）。
【００３７】
ステップ５１６で、印刷装置５００は、情報を取得する必要があると判断する。印刷装置５００は、ホストコンピュータ５０２へファームウェアの情報取得依頼を行う（ステップ５１７）。ホストコンピュータ５０２は、印刷装置５００からの情報取得依頼を受け付け、サーバ２００へファームウェアの情報取得依頼を行う（ステップ５１８）。サーバ２００は、ホストコンピュータ５０２からの情報取得依頼を受け付け、ファームウェア情報２０１をホストコンピュータ５０２に送信する（ステップ５１９）。ホストコンピュータ５０２は、サーバ２００から受信したファームウェア情報２０１を印刷装置５００に送信する（ステップ５２０）。印刷装置５００は、ファームウェア情報２０１を取得すると、情報取得日時をそのファームウェア情報２０１を取得した時点の日時に更新し、アップデートの要否を判定する（ステップ５２１）。
ステップ５２１で、アップデートが必要であると判断されるが、既に、ステップ５１３で、アップデートが必要な旨が通知されている。よって、印刷装置５００は、ユーザ３０３への通知は行わない。
【００３８】
ステップ５２１の判定後、ホストコンピュータ５０３が印刷ジョブを印刷装置５００に送信する（ステップ５２２）。印刷装置５００は、受信した印刷ジョブに従って印刷を行い、この印刷動作と並行して、ホストコンピュータ５０３の識別情報（ホストコンピュータ３）の管理表への新規登録の要否を判断する。管理表において、レコード１、２には、それぞれホストコンピュータ５０１、５０２の識別情報及びファームウェア情報の取得日時が登録されている。よって、印刷装置５００は、ホストコンピュータ５０３の識別情報（ホストコンピュータ３）の管理表への登録は行わずに、情報取得要否を判断する（ステップ５２３）。このステップ５２３では、管理テーブルに空きがないため、印刷装置５００は、情報を取得する必要はないと判断する。なお、この時点では、すでにユーザのアップデート承諾が得られた状態である。
ステップ５２３の後、ホストコンピュータ５０１が、印刷ジョブを印刷装置５００に送信する（ステップ５２４）。印刷装置５００は、受信した印刷ジョブに従って印刷を行うとともに、ホストコンピュータ５０１へファームウェア本体ダウンロード依頼を行う（ステップ５２５）。ホストコンピュータ５０１は、印刷装置５００からのダウンロード依頼を受け付け、サーバ２００へファームウェア本体ダウンロード依頼を行う（ステップ５２６）。
【００３９】
ステップ５２６の後、ホストコンピュータ５０２が、印刷ジョブを印刷装置５００に送信する（ステップ５２７）。印刷装置５００は、受信した印刷ジョブに従って印刷を行うとともに、ホストコンピュータ５０２へファームウェア本体ダウンロード依頼を行う（ステップ５２８）。ホストコンピュータ５０２は、印刷装置５００からのダウンロード依頼を受け付け、サーバ２００へファームウェア本体ダウンロード依頼を行う（ステップ５２９）。
ステップ５２９の後、サーバ２００は、ホストコンピュータ５０１からのダウンロード依頼に応じて、ファームウェア本体である更新用のファームウェア２０２をホストコンピュータ５０１に送信する（ステップ５３０）。ホストコンピュータ５０１は、サーバ２００からのファームウェア２０２を印刷装置５００に送信する（ステップ５３１）。印刷装置５００は、所定の単位ごとに、本体ストレージにファームウェア２０２を保存し、管理表のレコード１にダウンロード日時及びバージョンを記録する（ステップ５３２）。
【００４０】
ステップ５３２の後、サーバ２００は、ホストコンピュータ５０２からのダウンロード依頼に応じて、ファームウェア本体である更新用のファームウェア２０２をホストコンピュータ５０２に送信する（ステップ５３３）。ホストコンピュータ５０２は、サーバ２００からのファームウェア２０２を印刷装置５００に送信する（ステップ５３４）。
ここでは、ホストコンピュータ５０１、５０２を介したファームウェア本体のダウンロード依頼は短時間で行われる。このため、ステップ５３４でホストコンピュータ５０２から受信したファームウェア２０２のバージョンは、ステップ５３１でホストコンピュータ５０２から受信したファームウェア２０２のバージョンと同じである。よって、印刷装置５００は、ホストコンピュータ５０２から受信したファームウェア２０２の本体ストレージへの保存は行わず、管理表のレコード２にダウンロード日時及びバージョンを記録する。
ステップ５３４の後、ステップ５３５〜５３７の処理が行われる。ステップ５３５〜５３７は、第１の実施形態で説明したステップ３１９〜３２１と同じであるので、ここでは、その説明を省略する。
【００４１】
以上の処理において、ホストコンピュータ５０１、５０２への情報取得依頼は、コマンド送信手段２４４により実行されても良い。この場合、ホストコンピュータ５０１、５０２は、コマンドの送信先である。
ホストコンピュータ５０１、５０２経由でのファームウェア情報２０１の取得及び管理表の更新は、情報取得手段２４５により実行されても良い。情報取得手段２４５は、コマンドの送信先となるホストコンピュータ毎に、ファームウェア情報２０１を取得することができる。
ファームウェア情報２０１に基づくアップデートの要否判定は、判断手段２４６により実行されても良い。ファームウェア本体のダウンロード依頼、ホストコンピュータ５０１、５０２経由でのファームウェア本体のダウンロード及び管理表の更新は、アップデート手段２４８により実行されても良い。アップデート手段２４８は、コマンドの送信先となるホストコンピュータ毎に、ファームウェア本体をダウンロードすることができる。
【００４２】
本実施形態の印刷装置５００においても、第１の実施形態と同様の作用効果を得られる。
加えて、本実施形態の印刷装置５００によれば、以下のような作用効果も得られる。
ファームウェアのアップデート処理は、印刷処理や他の処理と並行して実行される上に、ホストコンピュータ側の稼働状態にも依存する。このため、ファームウェアのアップデート処理を完了するまでには、ある程度の時間あるいは期間を要する。
本実施形態の印刷装置５００では、複数のホストコンピュータを介してファームウェアのアップデートを行うので、１台のホストコンピュータを介してアップデートを行う場合と比較して、ファームウェアの情報取得及びダウンロードが成功し易い。よって、ファームウェアのアップデート処理を完了するまでに要する時間あるいは期間を短縮することができる。
【００４３】
なお、印刷装置５００が通信するホストコンピュータの数を多くすると、サーバ２００や印刷装置５００の処理負荷が増大する場合がある。よって、ホストコンピュータの数は、サーバ２００や印刷装置５００の処理負荷等を考慮して適切に設定する必要がある。本実施形態の印刷装置５００では、図４に示した管理表を用いることで、印刷装置５００が通信するホストコンピュータの数を制限することができる。よって、サーバ２００や印刷装置５００の処理負荷等を考慮し、ホストコンピュータの数を適切に設定することができる。
【００４４】
本発明は、上述した第１及び第２の実施形態に記載した構成に限定されるものではない。第１及び第２の実施形態で説明した構成は一例であり、適宜に変更可能である。例えば、サーバの情報提供サービスは、ファームウェアのアップデート処理に限定されるものではなく、他の処理に適用してもよい。他の処理への適用例としては、印刷装置が管理するメディア情報のアップデート処理等がある。
また、新製品情報の通知など、サーバから取得したデータをユーザに提示する処理のみが行われても良い。例えば、第１の実施形態において、コマンド送信手段２４４が、ホストコンピュータ１９０から印刷ジョブを受信すると、ホストコンピュータ１９０へコマンドを送信する。情報取得手段２４５が、ホストコンピュータ１９０を経由してネットワーク２１０上のサーバ２００からコマンドに応じた情報（新製品情報）を取得する。そして、出力手段２４７が、その情報（新製品情報）を出力する。これらの処理は、図３に示したステップ３０４〜３１１の処理で実現することができる。
本発明は、上述した第１又は第２の実施形態の１以上の機能を実現するプログラムを、１つ以上のプロセッサーが実行することで実現されても良く、また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）を用いて実現されても良い。プログラムは、ネットワーク又は記憶媒体を介してシステム又は装置に供給されても良い。
【符号の説明】
【００４５】
１００  印刷装置
１９０  ホストコンピュータ
２００  サーバ
２１０  ネットワーク
２４４  コマンド送信手段
２４５  情報取得手段
【図１】
2020131659.tif 000003
【図２】
2020131659.tif 000004
【図３】
2020131659.tif 000005
【図４】
2020131659.tif 000006
【図５】
2020131659.tif 000007