(57)【特許請求の範囲】
【請求項１】
実行権をもったタスクが自ら実行権を放棄しない限り実行権を保持し続けるノンプリエンティブのマルチタスクＯＳで動作する複数台の電子機器と、状態に関する情報取得専用のチャネルを備えるプリンタとが接続された印刷システムにおいて、
前記電子機器は、
前記チャネルを専有して前記プリンタの状態に関する情報を取得するタスクとして機能する情報取得手段であって、
実行権を取得して前記プリンタのチャネルを専有した際に、状態に関する情報を取得できない場合であっても、所定の時間が経過した場合には、当該専有状態を解除して、他の電子機器による前記チャネルの専有を可能とし、実行権を放棄する情報取得手段を備えることを特徴とする印刷システム。
【請求項２】
実行権をもったタスクが自ら実行権を放棄しない限り実行権を保持し続けるノンプリエンティブのマルチタスクＯＳで動作するコンピュータで実行されるプログラムを記録した記録媒体であって、
前記プログラムは、
複数台のコンピュータ接続可能で、状態に関する情報取得専用のチャネルを備えるプリンタと通信するための処理と、
前記チャネルを専有して前記プリンタの状態に関する情報を取得するタスクとして機能するための処理と、
前記タスクが実行権を取得して前記プリンタのチャネルを専有した際に、状態に関する情報を取得できない場合であっても、所定の時間が経過した場合には、当該専有状態を解除して、他のコンピュータによる前記チャネルの専有を可能とし、実行権を放棄する処理とをコンピュータに実行させることを特徴とする記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、プリンタと接続されるマルチタスクＯＳで動作する電子機器に関する技術に係り、特に当該電子機器がプリンタのステータス情報を取得する際のタスク実行権の制御技術に関する。
【０００２】
【従来の技術】
ＬＡＮなどのネットワークに接続されているプリンタは、同一ネットワーク上の複数のホストコンピュータ（以下、単に「ホスト」と称する。）などの電子機器が利用することができる。各ホストは、そのプリンタへ印刷データを送信して、印刷を実行するほかに、プリンタの状態を示すステータス情報を取得する。このとき、ホストとプリンタはそれぞれ、印刷データの送受信専用チャネル（チャネルＡ）と、ステータス情報送受信専用のチャネル（チャネルＢ）とを備える。ここで、プリンタは、各チャネルに１つのホストがログインしている間、他のホストがログインする「多重ログイン」ができないように排他制御している。
【０００３】
ホストがプリンタからステータス情報を取得する場合は、チャネルＢへログインし、プリンタのステータス情報を取得したら、ログアウトする。しかしながら、プリンタが印刷処理を実行している間など、ステータス情報を直ちに取得することができない場合がある。かかる場合は、ホストはステータス情報を取得するまで、当該チャネルにログインし、専有したままの状態になる。
【０００４】
【発明が解決しようとする課題】
このとき、チャネルＢにログインしたホストが、マルチタスクＯＳの下で動作している場合には問題が生じる。すなわち、ステータス情報取得用のタスクがチャネルＢにログインしたままの状態で、他のタスクにタスク実行権が移ってしまうと、再びステータス情報取得用タスクがタスク実行権を取得するまでの間、当該ホストはチャネルＢにログインしたままになり、他のホストがチャネルＢにログインできない。
【０００５】
上記ホストがノンプリエンプティブＯＳによって動作している場合には、その問題は特に深刻である。すなわち、ノンプリエンプティブＯＳでは、タスク実行権を持ったタスクは、自らタスク実行権を放棄しない限り、長時間にわたってタスク実行権を保持しつづけることができる。このため、ステータス情報取得用タスクが、再びタスク実行権を取得するまでに、かなりの長い時間を要することもある。その間、当該ホストはチャネルＢからログアウトすることもできず、ログインした状態のままになり、他のホストはプリンタからステータス情報を取得することができない。
【０００６】
上記問題点に鑑み、本発明は、他の電子機器がプリンタのステータス情報を取得しようとしたときに、妨げとならないような電子機器を提供することを目的とする。
【０００７】
【課題を解決するための手段】
前記目的を達成するため、本発明の第一の態様によれば、
状態に関する情報取得専用のチャネルを備えるプリンタと接続され、前記チャネルを専有して前記プリンタの状態に関する情報を取得する電子機器において、前記チャネルを専有する状態が、予め定めた所定時間経過する前に、前記チャネルを解放することを特徴とする電子機器が提供される。
【０００８】
本発明によれば、電子機器がプリンタの状態に関する情報を取得するために、長時間、情報取得専用チャネルを専有することなく、他の電子機器も状態に関する情報の取得が可能となる。
【０００９】
また、上記態様の電子機器において、当該電子機器は、ノンプリエンプティブＯＳによって動作するものであり、
当該ＯＳの制御下において、前記チャネルを専有して、前記状態に関する情報を取得する状態情報取得タスクを含む二以上のタスクが動作可能であって、
前記状態情報取得タスクは、
タスク処理を実行する権利であるタスク実行権を取得して、前記チャネルを専有した場合、前記タスク実行権を放棄する前に前記チャネルを解放するように構成しても良い。
【００１０】
かかる構成により、ノンプリエンプティブＯＳの制御下にある電子機器では、情報取得専用チャネルを専有したまま、状態情報取得タスクから他のタスクに、タスク実行権が移ってしまうことが無くなる。
【００１１】
本発明の第２の態様によれば、状態に関する情報取得専用のチャネルを備えるプリンタと接続され、前記チャネルを専有して前記プリンタの状態に関する情報を取得する電子機器において、
前記チャネルを専有して、前記状態に関する情報を前記プリンタから取得したときは、前記チャネルを解放し、
前記チャネルを専有して、前記状態に関する情報を前記プリンタから取得する前に、予め定めた所定時間が経過したときは、前記チャネルを解放することを特徴とする電子機器が提供される。
【００１２】
上記態様により、電子機器がプリンタの状態に関する情報取得専用チャネルを専有する時間は、予め定めた所定時間を超えることはなく、かつ、状態に関する情報が取得できたときは、その後チャネルを解放するので、所定時間よりも短くなる。
【００１３】
また、上記態様の電子機器において、状態に関する情報取得専用のチャネルを備えるプリンタと接続され、ノンプリエンプティブＯＳによって動作し、当該ＯＳの制御下において、前記チャネルを専有して前記プリンタの状態に関する情報を取得する電子機器において、
前記チャネルを専有して、前記状態に関する情報を取得する状態情報取得タスクを含む二以上のタスクが動作可能であって、
前記状態情報取得タスクは、
タスク処理を実行する権利であるタスク実行権を取得し、前記チャネルを専有して、
前記状態に関する情報を前記プリンタから取得したときは、前記チャネルを解放してから前記タスク実行権を放棄し、
前記状態に関する情報を前記プリンタから取得する前に、予め定めた所定時間が経過したときは、前記チャネルを解放してから前記タスク実行権を放棄するように構成してもよい。
【００１４】
かかる構成により、ノンプリエンプティブＯＳの制御下にある電子機器においても、電子機器がプリンタの状態に関する情報取得専用チャネルを専有する時間は、予め定めた所定時間か、または、それ以下の時間となる。
【００１５】
本発明の第３の態様によれば、ステータス情報取得専用チャネルを備えるプリンタと接続され、前記チャネルを専有して前記プリンタのステータス情報を取得する印刷制御装置において、
前記チャネルを専有する状態が、予め定めた所定時間以上経過したときに、前記チャネルの専有を解放することを特徴とする印刷制御装置が提供される。
【００１６】
上記態様によれば、印刷制御装置がプリンタの状態に関する情報を取得するために、長時間、情報取得専用チャネルを専有することなく、他の電子機器も状態に関する情報の取得が可能となる。
【００１７】
本発明の第４の態様によれば、状態に関する情報取得専用のチャネルを有するプリンタから、当該プリンタの状態に関する情報を取得する処理を、コンピュータに実現させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記プリンタにログインする段階と、
前記プリンタに対して、前記状態に関する情報の送信を要求するステップと、前記プリンタから、前記状態に関する情報を受信したときに、前記プリンタからログアウトする段階と、
前記プリンタから、前記状態に関する情報を受信する前に、前記プリンタにログインしてから予め定められた所定時間が経過したときは、前記プリンタからログアウトする段階と、
を含む機能をコンピュータに実現させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体が提供される。
【００１８】
上記態様の記録媒体に記録されたプログラムを、コンピュータに実行させることにより、当該コンピュータがプリンタの状態に関する情報取得専用チャネルを専有する時間は、予め定めた所定時間を超えることはなく、かつ、状態に関する情報が取得できたときは、その後チャネルを解放するので、所定時間よりも短くなる。
【００１９】
【発明の実施の形態】
以下、本発明の実施形態について、図面を用いて説明する。
【００２０】
本実施形態のプリントシステムは、図１に示すように、印刷制御装置であるホストコンピュータ１と、このホスト１から出力されたイメージデータ等を印刷する印刷装置であるプリンタ６とを備え、これらはバス９を介して接続されている。
【００２１】
ホスト１は、ホスト本体１１と、ディスプレイ装置１２と、キーボード１３とを備えている。ホスト本体１１は、各種プログラム等を実行するＣＰＵ２０と、各種データや各種プログラム等が記憶されているＲＯＭ２１と、各種データや各種プログラムが一時的に記憶されるＲＡＭ２２と、ディスプレイ装置１２を制御するディスプレイコントローラ２３と、キーボード１３を制御するキーボードコントローラ２４と、フロッピーディスクドライブ２５と、ハードディスクドライブ２６と、ＣＤ―ＲＯＭドライブ２７と、プリンタインタフェース２８と、ネットインタフェース２９と、を有している。
【００２２】
プリンタ６は、例えばカラー印刷が可能なインクジェットプリンタであり、ホスト１から印刷データを受信したときに、所定の印刷プロセスを実行して印刷用紙に画像を形成するものである。このプリンタ６は、各種操作を行うためのモニタ６７と、実際に印刷を行う印刷機構６８と、これらを制御する印刷制御部６１と、を有している。印刷制御部６１は、各種プログラム等を実行するＣＰＵ６２と、各種データや各種プログラム等が記憶されているＲＯＭ６３と、各種データや各種プログラムが一時的に記憶されるＲＡＭ６４と、モニタ６７を制御するモニタコントローラ６５と、インタフェース６６と、を有している。
【００２３】
ホスト１およびプリンタ６の機能構成を図２に示す。ホスト１には、アプリケーション４０と、プリンタドライバ５０と、通信制御部３０とを備える。プリンタドライバ５０はさらに、印刷管理部５１と、スプールファイル記憶部５２と、表示制御部５３と、ステータス情報取得制御部５４と、計時部５５と、を有している。
【００２４】
印刷管理部５１は、アプリケーション４０やキーボード１３からの印刷要求に基づく印刷データをイメージ展開する。展開後のデータをプリンタ６が解読可能な形態の制御コードに変換した後、スプールファイルとしてスプールファイル記憶部５２に保存する。印刷管理部５１は、通常、プリントマネージャと呼ばれるものである。
【００２５】
表示制御部５３は、印刷指示を受け付ける印刷指示画面、および、インク残量等のプリンタのステータス情報を表示するステータス画面等をディスプレイ装置１２に表示する。ステータス画面９０は、例えば、図５に示すように、各色ごとのインク残量の表示領域９１と、更新ボタン９２を備える。
【００２６】
ステータス情報取得制御部５４は、ステータス情報の取得に関するコマンドを受信して、通信制御部３０に対してコマンドの発行等を行う。例えば、ステータス画面９０の更新ボタン９２が押されると、これを検出した表示制御部５３がステータス情報取得制御部５４に対して、ステータス情報取得要求を送信する。これを受信したステータス情報取得制御部５４は、プリンタ６へのloginコマンドと、プリンタ６のステータス情報を取得するreadコマンドと、プリンタ６からのlogoutコマンドとを、それぞれ生成し、プリンタステータス情報取得のための処理を制御する。
【００２７】
計時部５５は、loginコマンドを送信してからログインが許可されるまでの待ち時間や、readコマンドを送信してからステータス情報を受信するまでの待ち時間を計測する。
【００２８】
プリンタドライバ５０は、印刷制御プログラムをＣＰＵ２０が実行することによって実現される。上記印刷制御プログラムは、通常、フレキシブルディスクやＣＤ−ＲＯＭに、ホストコンピュータ１が読み敢リ可能な形態で記録されて流通し、プリンタ６を使用する際に、フロッピーディスクドライブ２５やＣＤ−ＲＯＭドライブ２６、あるいはネットワークインターフェース２９を通じてホストコンピュータ１にインストールされるものである。
【００２９】
印刷制御部６１は、印刷機構制御部７１と、ステータス情報管理部７２と、ステータス情報記憶部７３と、通信制御部７４と、を有する。
【００３０】
印刷機構制御部７１は印刷機構６８の制御を行う。ステータス情報管理部７２は、ステータス情報記憶部７３記憶されている情報の入出力管理等を行う。ステータス情報記憶部７３は、プリンタ６のステータスに関する情報、例えば、現在のインク残量を各色ごとに記憶するインク残量テーブル等を保有している。
【００３１】
図３は、本実施形態にかかるプリントシステムにおけるデータの流れを示す説明図である。ホスト１、２は、バス９を介してプリンタ６と接続されている。なお、ホスト２は上で説明したホスト１と同様の構成を有するものである。
【００３２】
ホスト１、２およびプリンタ６には、バス９とのインターフェース用のチャネルが２つ用意されている。チャネルＡはホスト１、２からプリンタ６へ印刷データを送受信する専用チャネルである。チャネルＢは、ホスト１、２がプリンタ６のステータス情報を取得する専用のチャネルである。プリンタ６の各チャネルは、１つのホストのみがログインすることが可能であり、複数のホストが同時にログインする多重ログインはサポートしていない。
【００３３】
各ホストが印刷を行うときは、各ホストのチャネルＡからプリンタ６のチャネルＡにログインし、ログインしたホストのスプールファイル記憶部５２から、バス９を介して、プリンタ６の印刷機構制御部７１に印刷データが送信され、印刷機構６８で印刷が実行される。
【００３４】
各ホストがプリンタ６のステータス情報を取得するときは、まず、各ホストのチャネルＢからプリンタのチャネルＢにログインする。そして、ログインしたホストのステータス情報取得制御部５３が、プリンタ６のステータス情報管理部を介して、ステータス情報記憶部７３に記憶されているステータス情報を取得する。ステータス情報を取得したら、直ちにログアウトし、プリンタのチャネルＢを解放する。
【００３５】
なお、ホスト１、２のＯＳ（Operating system）は、ノンプリエンプティブＯＳである。ノンプリエンプティブＯＳとは、特定のタスクがＣＰＵ２０を専有しているときに、強制的に、ＣＰＵ２０の明渡しをさせないＯＳである。すなわち、プロセッサを専有しているタスクが、自らの処理の中でＣＰＵ２０を解放するまで、プロセッサの専有状態が続くことになる。本実施形態では、アプリケーション４０、プリンタドライバ５０、および、通信制御部３０は、いずれもこのノンプリエンプティブＯＳの制御下で動作するタスクである。また、アプリケーション４０、プリンタドライバ５０、および、通信制御部３０は、さらに、それぞれ複数のタスクから構成される。
【００３６】
つぎに、ステータス情報取得処理の詳細な手順について、図４を用いて具体的に説明する。
【００３７】
ディスプレイ装置１２に表示されているステータス画面９０の更新ボタン９２が押されると、表示制御部５３からステータス情報取得制御部５４に対して、ステータス情報取得要求が送信される。これを受信したステータス情報取得制御部５４は、まず、リトライ回数をカウントするための図示しないカウンタをゼロにクリアする（Ｓ１０１）。そして、ステータス情報取得制御部５４は、loginコマンドを生成し、ホスト１のチャネルＢから、プリンタ６のチャネルＢに対して、このコマンドを送信する（Ｓ１０２）。Loginコマンドを送信したときに、計時部５５は、ログイン待ち時間の計測を開始する（Ｓ１０３）。所定時間以内、たとえば100ミリ秒以内に、ログイン完了の通知がこないときは、ログインエラーとして処理を終了し、表示制御部５３に通知する（Ｓ１１１、１１２）。表示制御部５３では、ステータス情報が取得できなかったことを、ディスプレイ装置１２に表示する。
【００３８】
所定時間以内にログインが完了すると、ステータス情報取得制御部５４は、readコマンドを生成し、プリンタ６に送信する（Ｓ１０４、１０５）。readコマンドを送信したときに、計時部５５は、ステータス情報取得待ち時間の計測を開始する（Ｓ１０６）。ここで、所定時間以内、たとえば100ミリ秒以内に、プリンタ６からステータス情報が通知されてくると、そのステータス情報を表示制御部５３へ通知し、表示制御部５３は、ステータス画面９０を更新する（Ｓ１０７、１０８）。そして、ステータス情報取得制御部５４はlogoutコマンドを生成し、プリンタ６に対して送信して、この処理を正常終了する（Ｓ１０９）。
【００３９】
一方、所定時間以内に、プリンタ６からステータス情報が通知されてこないときは、logoutコマンドをプリンタ６に対して送信し、チャネルＢからログアウトする（Ｓ１２１、１２２）。そして、リトライ回数を示すカウンタの値が５以上のときは、ステータス情報取得エラーとして終了する（Ｓ１２３、１２８）。ここで、カウンタの値が５以上の時にエラーとしているのは、リトライ回数を５回としているからである。リトライ回数を何回に設定するかは任意であり、リトライ回数に応じて、エラーとすべきカウンタの値も変動する。
【００４０】
カウンタの値が５以上でないときは、カウンタの値を１だけカウントアップする（Ｓ１２４）。計時部５５は、ログアウトしている時間の計測を開始する（Ｓ１２６）。ステータス情報取得制御部５４は、タスク実行権を放棄する（Ｓ１２７）。タスク実行権を放棄することによって、ステータス情報取得制御部５４は、待機状態になり、タスク実行権取得待ちの他のＡＰは、タスク実行権を取得して、処理を行うことができる。
【００４１】
ステータス情報取得制御部５４が、再びタスク実行権を取得すると、ログアウトしている時間を監視するＳ１２７から処理が再開される。処理が再開されたとき、ログアウトしてから所定時間、例えば100ミリ秒が経過したら、Ｓ１０２へ戻り、処理を行う。所定時間が経過していない場合は、経過するまでさらに待機する。
【００４２】
以上説明したように、本実施形態により、ホスト１がプリンタのチャネルＢからログアウトせず、チャネルＢを専有したまま、他のアプリケーションにタスク実行権を渡してしまうことはないので、他のホストはチャネルＢにログインして、プリンタのステータス情報を取得することができる。
【００４３】
【発明の効果】
本発明によれば、他の電子機器がプリンタのステータス情報を取得しようとしたときに、妨げとならないような電子機器が提供される。
【図面の簡単な説明】
【図１】本発明に係る実施形態におけるプリントシステムのハードウェア構成図である。
【図２】本発明に係る実施形態におけるプリントシステムの機能構成図である。
【図３】本発明に係る実施形態におけるプリントシステムの情報の流れを示す説明図である。
【図４】本発明に係る実施形態におけるプリンタのステータス情報の取得処理を示すフローチャートである。
【図５】本発明に係る実施形態におけるプリンタのステータス画面の説明図である。
【符号の説明】
１、２…ホストコンピュータ、６…プリンタ、９…バス、１１…プリンタ本体、１２…ディスプレイ装置、２０…ＣＰＵ、３０…通信制御部、４０…ＡＰ、５０…プリンタドライバ、６１…印刷制御部、６８…印刷機構、７１…印刷機構制御部、７２…ステータス情報管理部、７３…ステータス情報記憶部、９０…ステータス画面。
【図１】
0003788183.tif 000002
【図２】
0003788183.tif 000003
【図３】
0003788183.tif 000004
【図４】
0003788183.tif 000005
【図５】
0003788183.tif 000006