(57)【要約】【課題】プリンタの各種メンテナンスおよび設定を行うプリンタユーティリティープログラムは、ホストコンピュータのＯＳに依存することから、プリンタの機種ごとおよびホストコンピュータのＯＳごとに作成する必要がある。本発明では、機種追加・ＯＳ追加の際に効率的な開発の可能なプリンタユーティリティー装置を提供することを目的とする。【解決手段】機種に依存しＯＳには依存しないＵＩ制御部と、ＯＳに依存し機種には依存しない通信部の組み合わせによってユーティリティープログラムを構成することにより、機種追加の際は機種数だけのＵＩ制御部を、対応ＯＳ追加の際にはＯＳ数だけの通信部を作ることで対応でき、効率的に開発を行うことができる。したがって、ユーティリティープログラムの開発は“ＯＳ数＋機種数”だけで済ませることが可能となり、現状の手法で必要となる“ＯＳ数×機種数”と比較して、効率の良い開発を実現することができる。【選択図】        図１
2004310176.tif 000002
【特許請求の範囲】
【請求項１】
プリンタに接続されたホストコンピュータから、プリンタの各種メンテナンスおよび設定を行うプリンタユーティリティー装置であって、
操作を指示するためのユーザーインターフェースを、種々のオペレーティングシステムで動作するホストコンピュータ上に表示することのできるＵＩ制御部と、前記ＵＩ制御部の表示するユーザーインターフェース上で指示された操作を行うための命令をプリンタに伝えるための通信部とを有し、
前記ＵＩ制御部と前記通信部の間はネットワーク通信のプロトコルを用いて通信することを特徴とするプリンタユーティリティー装置。
【請求項２】
前記ＵＩ制御部と前記通信部との間のデータ通信に、ＴＣＰ／ＩＰプロトコルを用いることを特徴とする請求項１に記載のプリンタユーティリティー装置。
【請求項３】
前記ＵＩ制御部を、プリンタの接続されたホストコンピュータとネットワーク越しの別のコンピュータにおくことで、ネットワーク越しにユーティリティーを使用した操作を行うことが可能であることを特徴とする請求項１または２に記載のプリンタユーティリティー装置。
【請求項４】
前記通信部は、接続されているプリンタの状態を表すプリンタステータスを取得し、取得したプリンタの状態を前記ＵＩ制御部に送信し、
前記ＵＩ制御部は前記通信部から送信されたプリンタステータスをユーザーインターフェース上に表示することを特徴とする請求項１、２、３のいずれかに記載のプリンタユーティリティー装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、プリンタの設定、メンテナンスなどを行うプリンタユーティリティー装置に関するものである。
【０００２】
【従来の技術】
多くのプリンタには、プリンタの本体の各種メンテナンスを行うための機能が備えられている。メンテナンス操作の例としては、ヘッドのクリーニング、ローラーのクリーニング、テストプリントなどが挙げられる。これらの機能は、プリンタ本体にメンテナンス操作用のパネルを設け、パネル上で操作をしたり、各メンテナンス項目ごとのボタンをプリンタ本体に設け、それらのボタンを押すことで実行していた。ところが、近年ではこれらのメンテナンス機能に加えて、プリンタのヘッド位置の微調整や、プリンタの電源を自動的にオフにする自動電源オフ設定など、プリンタ本体のさまざまな設定をする機能も求められるようになり、その機能が複雑化してきた。
【０００３】
このように機能が多様化すると、プリンタ本体の操作パネルから直接操作を行う方法ではプリンタ上の操作パネルが複雑になりすぎるという問題が生じた。また、プリンタがホストコンピュータから離れている場合には、プリンタの設置場所まで移動して、プリンタ上の操作パネルからメンテナンスを行う必要があり、操作性が悪いという問題点もあった。そのため、近年のプリンタでは、これらのメンテナンスや設定を行うためのユーティリティープログラムを、プリンタを接続しているホストコンピュータ内に持たせ、ホストコンピュータ側で操作を行うという手法が一般的になっている。
【０００４】
図１はこのようなシステムの例を示す図である。ホストコンピュータ１０２内にはユーティリティープログラムが格納されており、ユーティリティープログラムの表示する設定画面１０３で、メンテナンス・設定などの操作項目を指示する。処理内容を指示されると、その命令がホストコンピュータとプリンタをつなぐ所定のインターフェース１０４を介してプリンタ１０１へ送られる。プリンタ１０１側では、ホストコンピュータ１０２からプリンタ制御命令が送られてくると、その命令を解釈し、プリンタ１０１のメンテナンス・設定などの各種操作を行う。
【０００５】
【発明が解決しようとする課題】
しかしながら、上記ユーティリティープログラムはホストコンピュータ内で動作するため、その構造がホストコンピュータのシステムに大きく依存する。
【０００６】
例えば、同じ内容の設定画面のユーザーインターフェース（以下、ＵＩ）を表示する場合にも、実際に表示される画面はホストコンピュータのオペレーティングシステム（以下、ＯＳ）ごとに異なることからも分かるように、ＵＩの表示・制御などはＯＳに依存する処理である。また、ＵＩで指示された操作をプリンタ側で実行するための命令コマンドをプリンタに送信する際の送信方法、すなわち、プリンタとデータの通信を行う処理は、多くの部分をシステムに依存する。
【０００７】
このように、プリンタ本体で直接メンテナンス操作を行う方法とは異なり、ホストコンピュータ側で操作を行うことにより、ユーティリティープログラムの動作はホストコンピュータのＯＳに依存するようになった。一方で、実行可能な操作の種類、設定項目およびその内容などはプリンタの機種ごとに異なるため、表示すべきＵＩやさまざまな操作毎の処理の内容は機種に依存する。
【０００８】
このため、上記手法によるユーティリティープログラムは、プリンタ機種ごと、ＯＳごとに開発することが必要になっている。従って、プリンタの新機種を開発する際には、新機種が対応するすべてのＯＳについて個別にユーティリティープログラムを開発する必要がある。また、新たに対応すべきＯＳが追加された場合には、新規対応ＯＳ用のユーティリティープログラムを、すべての機種について開発することが必要になる。
【０００９】
以上のように、ホストコンピュータ側からユーティリティープログラムによって各種メンテナンスおよび設定を行う手法では、ＯＳごと・機種ごとのユーティリティープログラム開発が必要であるため、“ＯＳ数×機種数”の開発が必要とされている。特に新規に対応するＯＳが増えた場合など、既存のすべての機種ごとに開発を行うのでは効率が悪く、対応ＯＳが増えた場合の開発が困難になると考えられる。本発明は上記問題点に鑑みてなされたものであり、機種追加・ＯＳ追加の際に効率的な開発を行うことのできるユーティリティー装置を提供することを目的とする。
【００１０】
【課題を解決するための手段】
本発明は、上記目的を達成するため、
操作を指示するためのユーザーインターフェースを、種々のオペレーティングシステムで動作するホストコンピュータ上に表示することのできるＵＩ制御部と、前記ＵＩ制御部の表示するユーザーインターフェース上で指示された操作を行うための命令をプリンタに伝えるための通信部とを有し、前記ＵＩ制御部と前記通信部の間はネットワーク通信のプロトコルを用いて通信することを特徴とする。
【００１１】
なお、さらに詳細に説明すれば、本発明は下記の構成によって前記課題を解決できた。
【００１２】
（１）プリンタに接続されたホストコンピュータから、プリンタの各種メンテナンスおよび設定を行うプリンタユーティリティー装置であって、操作を指示するためのユーザーインターフェースを、種々のオペレーティングシステムで動作するホストコンピュータ上に表示することのできるＵＩ制御部と、前記ＵＩ制御部の表示するユーザーインターフェース上で指示された操作を行うための命令をプリンタに伝えるための通信部とを有し、前記ＵＩ制御部と前記通信部の間はネットワーク通信のプロトコルを用いて通信することを特徴とするプリンタユーティリティー装置。
【００１３】
（２）前記ＵＩ制御部と前記通信部との間のデータ通信に、ＴＣＰ／ＩＰプロトコルを用いることを特徴とする前記（１）に記載のプリンタユーティリティー装置。
【００１４】
（３）前記ＵＩ制御部を、プリンタの接続されたホストコンピュータとネットワーク越しの別のコンピュータにおくことで、ネットワーク越しにユーティリティーを使用した操作を行うことが可能であることを特徴とする前記（１）または（２）に記載のプリンタユーティリティー装置。
【００１５】
（４）前記通信部は、接続されているプリンタの状態を表すプリンタステータスを取得し、取得したプリンタの状態を前記ＵＩ制御部に送信し、前記ＵＩ制御部は前記通信部から送信されたプリンタステータスをユーザーインターフェース上に表示することを特徴とする前記（１）、（２）、（３）のいずれかに記載のプリンタユーティリティー装置。
【００１６】
【作用】
プリンタ機種にのみ依存しＯＳには依存しない構成のＵＩ制御部と、ホストコンピュータのＯＳにのみ依存し機種には依存しない構成の通信部の組み合わせによってユーティリティープログラムを構成することにより、新たな機種が追加されたときには新機種用のＵＩ制御部を作ることで、新たなＯＳに対応する場合には新規ＯＳ用の通信部を作ることで、それぞれ既存の通信部、ＵＩ制御部との組み合わせによって、全機種・全ＯＳのユーティリティープログラムを構成することができるため、効率的な開発が可能となる。したがって、複数のＯＳおよび機種に対応したユーティリティープログラムを作ろうとしたとき、開発数は“ＯＳ数＋機種数”だけで済ませることが可能となり、現状の手法で必要となる“ＯＳ数×機種数”と比較して、効率の良い開発を実現することができる。
【００１７】
【発明の実施の形態】
以下、図面を参照して本発明の実施例を詳細に説明する。
【００１８】
【実施例１】
図２は本発明に係る第１の実施例におけるユーティリティープログラム２０１の構成と、その使用例を表すブロック図である。図に示すように、本実施例のユーティリティープログラムはＵＩ制御部２０２と通信部２０３から成っており、ＵＩ制御部２０２は機種にのみ依存し、通信部２０３はＯＳにのみ依存する構成にする。そして、プリンタ１０１の接続されているホストコンピュータ１０２上でユーティリティープログラム２０１が動作し、ユーティリティープログラム２０１の表示するＵＩ上でホストコンピュータ１０２から操作を行う。
【００１９】
ＵＩ制御部２０２と通信部２０３をそれぞれ機種、ＯＳにのみ依存する構成にするために、ユーティリティーを構成する要素を、ＯＳに依存する要素と機種に依存する要素に切り分けている。そして、機種に依存する要素は全てＵＩ制御部２０２に、ＯＳに依存する要素は全て通信部２０３に吸収させるようにする。ＯＳに依存する要素としては、ＵＩの表示・制御の方法およびプリンタとのデータ通信方法が挙げられる。一方、機種に依存する要素としては、ＵＩに表示すべき内容および各操作に対して行うべき処理内容などが挙げられる。このように、ＵＩの制御はＯＳに依存し、その表示内容は機種に依存しているが、表示すべき項目や処理の内容は、機種ごとの特性に応じて変化させる必要があり、全てを機種共通にするのは困難である。そこで、ＵＩの表示・制御を行う部分を機種にのみ依存しＯＳには依存しないようにすることで、機種依存部分とＯＳ依存部分を切り分けた。
【００２０】
ＵＩ制御部２０２をＯＳ非依存にするためには、ＵＩを表示・制御することが可能であり、さまざまなＯＳで同じプログラムを仕様できる高い移植性が求められる。これらの条件を満たすために、本実施例におけるＵＩ制御部２０２はＪａｖａ（Ｒ）を用いて開発している。そして、通信部２０３を機種非依存にするために、機種に依存する要素は全てＵＩ制御部２０２で吸収する。例えば、プリンタに実際の処理を行わせるために機種ごとに異なる命令コマンドの作成する場合には、これらの命令コマンドの作成はＵＩ制御部２０２で行う。
【００２１】
一方、通信部２０３は機種に依存しない構成にするため、ＵＩ制御部２０２から送られたデータ（命令コマンド）をプリンタに送信するという、単純なデータ通信のみを行う。プリンタとの通信を行うためには、プリンタポートの指定やプリンタとの接続デバイスの状態のチェックなど低レベルの処理が必要になるため、低レベル入出力などの処理に強い言語で開発する必要がある。本実施例においてはＣ言語を用いた。
【００２２】
また、さまざまなＯＳ上でＵＩ制御部２０２を使用するためには、ＵＩ制御部２０２と通信部２０３の間のインターフェースもＯＳに依存しないものである必要がある。本実施例では、ネットワークプロトコルであるＴＣＰ／ＩＰを使用した通信によりデータのやり取りを行っている。これにより、ＴＣＰ／ＩＰをサポートしている環境であれば、ＯＳに依存せずに使用可能となる。
【００２３】
以下、上記のＵＩ制御部２０２と通信部２０３によるユーティリティープログラム２０１を実際に使用する際の処理の流れを説明する。
【００２４】
ユーザーは、ＵＩ制御部２０２が表示する設定画面のＧＵＩから、ボタンを押すなどの操作によりメンテナンスや設定の内容を指示する。ＵＩ制御部２０２はユーザーの指示した処理をプリンタ１０１に行わせるために必要な命令コマンドを作成し、ＴＣＰ／ＩＰによる通信プロトコルに従って上記コマンドを通信部２０３へ送る。
【００２５】
通信部２０３はＵＩ制御部２０２から命令コマンドが届くと、それをそのままの形で、所定のインターフェース１０４を通してプリンタ１０１へ送る。
【００２６】
以上のようにしてプリンタ１０１にコマンドが届くと、ユーザーの指示した処理が実行される。その後、インターフェース１０４で双方向通信が可能であれば、プリンタ１０１から通信部２０３へ実行結果のメッセージ等を送り、通信部２０３は受け取ったメッセージをＵＩ制御部２０２へ伝えるという処理を行う。
また、両者のインターフェースをネットワーク通信とすることにより、単一のマシン上での操作に加え、図３に示すように、通信部とＵＩ制御部を別々のマシン上に置いてネットワーク越しに操作を行うことも可能になる。
【００２７】
なお、本実施例においてはＵＩ制御部の開発にＪａｖａ（Ｒ）を、通信部の開発にはＣ言語を用いたが、それぞれＵＩ制御部と通信部に求められる条件を満たすことのできる開発ツールであれば、上記に限定されるものではない。同様に、ＵＩ制御部と通信部の間のデータ通信の方法も、ＯＳに依存せずにデータ通信可能であるという条件を満たすものであれば、ＴＣＰ／ＩＰに限定されるものではない。
【００２８】
【実施例２】
図４は本発明に係る第２の実施例におけるユーティリティープログラムの処理の流れを表すブロック図である。本実施例では、セントロニクスインターフェースなどの双方向インターフェースを介して接続されるプリンタとの双方向通信を可能にし、プリンタの状態を常にユーザーに知らせるために、プリンタの状態を表すプリンタステータスをＵＩ上に表示している。さらに、プリンタステータスを取得することにより、プリンタの状態に応じてＵＩの表示項目を変化させている。例えば、紙やインクがない状態ではテストプリントを行うことはできないので、プリンタステータスがこれらの状態を表していたら、ＵＩ上でテストプリントを選択できないようにするなど、機種ごとにプリンタのさまざまなステータスに応じてＵＩの表示や処理の内容を変化させる。
【００２９】
本実施例では、一定間隔ごとに自動的にステータスの取得およびホストコンピュータ画面上への表示を行うことで、プリンタがどのような状態にあるかを常にユーザーに示す。そして、プリンタの状態に応じてＵＩの表示内容を変化させる。また、メンテナンス、設定などの各種操作を実行する前にプリンタのステータスをチェックすることで、確実に操作を実行することが可能となる。
【００３０】
以下、図４を参照してプリンタステータス取得の流れを詳細に説明する。
【００３１】
ＵＩ制御部２０２は、ステータスを取得するタイミングを決定し、ステータス取得を指示する際には、プリンタのステータスを要求する命令コマンドを作成し、通信部２０３へ送る。通信部２０３は、ＵＩ制御部２０２から送られたコマンドをそのままの形でプリンタ１０１へ送信する。そして、ステータスを要求するコマンドに対する応答として、プリンタステータスを表す応答コマンドがプリンタ１０１から返されたら、上記応答コマンドをＵＩ制御部２０２へ送る。ＵＩ制御部２０２は、通信部２０３から応答コマンドを受け取ったら、コマンドを解釈してホストコンピュータ１０２上に表示し、プリンタが現在どのような状態であるかを示す。さらに、プリンタの状態に応じてユーティリティーのＵＩに表示する項目や設定可能値などを変化させる。
【００３２】
以上により、プリンタのステータスを取得し、その情報をＵＩに反映させる。また、ステータスの取得以外の処理については、第１の実施例と同様の処理を行う。
【００３３】
【発明の効果】
以上説明してきたように、本発明のユーティリティー装置によれば、プリンタの機種に依存しＯＳには依存しないＵＩ制御部と、ホストコンピュータのＯＳに依存し機種には依存しない通信部の組み合わせによってユーティリティープログラムを構成することにより、機種追加の際は機種数だけのＵＩ制御部を、対応ＯＳ追加の際にはＯＳ数だけの通信部を作ることで対応することが可能となり、効率的に開発を行うことができる。したがって、ユーティリティープログラムの開発は“ＯＳ数＋機種数”だけで済ませることが可能となり、現状の手法で必要となる“ＯＳ数×機種数”と比較して、効率の良い開発を実現することができる。
【図面の簡単な説明】
【図１】ホストコンピュータから設定を行うプリンタユーティリティーを表す図
【図２】第１の実施例におけるのプリンタユーティリティーを表すブロック図
【図３】ネットワーク越しに操作を行う場合の使用例を表すブロック図
【図４】第２の実施例におけるプリンタステータス取得の処理の流れを表すブロック図
【符号の説明】
１０１  プリンタ
１０２  ホストコンピュータ
１０３  設定画面
１０４  接続ケーブル
２０１  ユーティリティープログラム
３０１  コンピュータ
３０２  ネットワークケーブル
【図１】
2004310176.tif 000003
【図２】
2004310176.tif 000004
【図３】
2004310176.tif 000005
【図４】
2004310176.tif 000006