説明

画像形成装置、画像形成装置のデータ処理方法、プログラム及びプログラムが記憶された記憶媒体

【課題】機器情報を要求されたデバイスが立ち上がっていない場合でもタイムアウトしない画像形成装置、画像形成装置のデータ処理方法、プログラム及びプログラムが記憶された記憶媒体を提供すること。
【解決手段】ネットワークを介して接続されたコンピュータよりコマンドを受信するデータ受信部32と、データ受信部32により受信したコマンドを処理するコマンド処理部22と、コマンド処理部22が取得した機器情報をコンピュータに送信するデータ送信部33とを有する画像形成装置において、コマンド処理部22は、コマンド処理部22が機器情報を取得するデバイスの立ち上がり完了を待たずに、コマンドを解釈するコマンド解釈部21にコマンドの解釈を要求する、ことを特徴とする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像形成装置、画像形成装置のデータ処理方法及びプログラムに関し、特にネットワーク介して接続されたコンピュータから送信されるコマンドを処理する画像形成装置、画像形成装置のデータ処理方法及びプログラムに関する。
【背景技術】
【0002】
図1は、ネットワーク13を介して接続された画像形成装置12とコンピュータ11とからなる印刷システムの構成図を示す。コンピュータ11はCPU、記憶装置、補助記憶装置、ドライブ装置、表示装置、及び、通信装置等を有する周知のコンピュータである。また、画像形成装置12は、少なくともプリンタ機能を有するものであるが、ファクシミリ、スキャナ装置などの機能を有する複合機であってもよい。
【0003】
図1のような印刷システムでは、画像形成装置12を用いて印刷する以外にも、コンピュータ11が画像形成装置12から情報を取得したり操作する場合がある。コンピュータ11は画像形成装置12に搭載された用紙トレイのサイズを取得したり画像形成装置12に環境変数を設定することができる(例えば、特許文献1参照。)。
【0004】
特許文献1記載の画像形成装置は、コンピュータ11からの要求に応じて、出力単価情報 、装置の機能、能力等に関する情報 および装置内の情報 を示すプリンタ状態をコンピュータ11へ送信する。コンピュータ11は複数の画像形成装置12からかかるプリンタ状態の情報を取得し、プリントコストの低い画像形成装置12に印刷を依頼することができる。
【特許文献1】特開2001−229001号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
ところで、画像形成装置12は印刷データや設定情報等を保持するために種々のデバイス(ハードディスク装置(以下、HDDという)等)を備えることが多い。通常、デバイスは動作を継続しているが、いわゆる省エネモードのように一定期間ユーザが操作しないような場合は動作を停止して、消費電力の削減を図っている。
【0006】
図2はデバイスを備える画像形成装置において、指定された機器情報をデバイスから取得するシーケンス図を示す。図2において画像形成装置12は、コンピュータ11から送信されたコマンドを処理するコマンド処理部22、コマンドを解釈するコマンド解釈部21、及び、デバイスを制御するデバイス制御部23を有する。
【0007】
コマンド処理部22がコンピュータ11からコマンドを受信すると(S1)、コマンド処理部22は機器情報を有するデバイスをデバイス制御部23に通知する。デバイス制御部23は指定された機器情報を有するデバイスが立ち上がっていない場合、デバイスを立ち上げる(S2)。デバイス制御部23はHDDを立ち上げ、数秒から十数秒経過後にHDDが立ち上がるとHDDの立ち上がりをコマンド処理部22へ通知する(S3)。コマンド処理部22はコマンド解釈部21へコマンドの解釈を要求することで(S4)、コマンドを受け付けることになる。
【0008】
コマンド解釈部21は、コマンドを解釈し解釈結果に応じたコマンド処理要求をコマンド処理部22へ送出する(S5)。そして、コマンド処理部22は、コマンド処理要求に応じて機器情報をHDDから取得する(コマンドに応じた処理を行う)。
【0009】
しかしながら、図2のようなシーケンスでは、コマンド処理部22がコンピュータ11からコマンドを受信してから、コマンド解釈部21がコマンド解釈要求されるまで数秒から十数秒程度経過してしまうため、コマンド処理部22又はコマンド解釈部21がタイムアウトしてしまうという問題があった。
【0010】
本発明は、上記問題に鑑み、機器情報を要求されたデバイスが立ち上がっていない場合でもタイムアウトしない画像形成装置、画像形成装置のデータ処理方法、プログラム及びプログラムが記憶された記憶媒体を提供することを目的とする。
【課題を解決するための手段】
【0011】
上記課題を解決するため本発明は、ネットワークを介して接続されたコンピュータよりコマンドを受信するデータ受信部と、データ受信部により受信したコマンドを処理するコマンド処理部と、コマンド処理部が取得した機器情報をコンピュータに送信するデータ送信部とを有する画像形成装置において、コマンド処理部は、コマンド処理部が機器情報を取得するデバイスの立ち上がり完了を待たずに、コマンドを解釈するコマンド解釈部にコマンドの解釈を要求する、ことを特徴とする。
【0012】
本発明によれば、デバイスが立ち上がっていない場合、該デバイスの立ち上がり完了を待たずにコマンドの解釈を要求することで、機器情報を要求されたデバイスが立ち上がっていない場合でもタイムアウトを防止できる。
【0013】
また、本発明の画像形成装置の一形態において、コマンド処理部は、コマンド解釈部からコマンドの解釈結果を受け取る前に、デバイスを制御するデバイス制御部にデバイスの立ち上げを依頼する、ことを特徴とする。
【0014】
本発明によれば、コマンドにデバイスが対応づけられる前にデバイスの立ち上げが開始されるので、そのデバイスの機器情報を取得することになった場合に、データ処理の開始までにかかる時間を短縮できる。
【0015】
また、本発明の画像形成装置の一形態において、コマンド解釈部は、コマンドに対応づけてデバイスを登録したデバイステーブル、を有し、コマンド解釈部は、デバイステーブルを参照してコマンドに対応づけられたデバイスを抽出し、コマンド処理部は、デバイスを制御するデバイス制御部に、コマンド解釈部により抽出されたデバイスの立ち上げを要求する、ことを特徴とする。
【0016】
本発明によれば、コマンドに対応づけられたデバイスのみをスリープモードから復帰させ(立ち上げ)るので、不必要にデバイスを立ち上げることがなく、消費電力を低減できる。
【0017】
また、本発明は、ネットワークを介して接続されたコンピュータよりコマンドを受信するデータ受信部と、データ受信部により受信したコマンドを処理するコマンド処理部と、コマンド処理部が取得した機器情報をコンピュータに送信するデータ送信部とを有する画像形成装置において、コマンド処理部が機器情報を取得するデバイスがネットワークに接続されている場合、コマンド処理部は、デバイスにアクセスする前に、コマンドを解釈するコマンド解釈部にコマンドの解釈を要求することを特徴とする。
【0018】
本発明によれば、デバイスがネットワークを介して接続されている場合に、デバイスまでのアクセスが混雑していても、アクセスを待たずにデバイスに対する処理要求を受け付けるので、タイムアウトを防止できる。
【0019】
また、本発明の画像形成装置の一形態において、複数のデバイスがネットワークに接続されている場合、コマンド処理部は、デバイスを制御するデバイス制御部に第1のデバイスへのアクセスを依頼し、デバイス制御部が第1のデバイスと所定時間以上アクセスできない場合、デバイス制御部は第2のデバイスへのアクセスを依頼する、ことを特徴とする。
【0020】
本発明によれば、ネットワークに接続されたデバイスにアクセスが困難な場合、別のデバイスにアクセスできるため、機器情報を取得するまでの時間を短縮できる。
【0021】
また、本発明の画像形成装置の一形態において、デバイスが有する機器情報をキャッシュするキャッシュ手段を有し、データ処理部は、デバイスがスリープモードに入る場合、又は、所定時間毎に、機器情報をキャッシュ手段にキャッシュする、ことを特徴とする。
【0022】
本発明によれば、スリープモードに入る直前に機器情報がキャッシュでき、また、スリープモードに入らない場合でも所定時間毎に機器情報をキャッシュできる。
【0023】
また、本発明の画像形成装置の一形態において、コマンド解釈部は、コマンドにより取得される機器情報をキャッシュ手段から取得する、ことを特徴とする。
【0024】
本発明によればデバイスが休止状態でもキャッシュ手段から機器情報を取得でき、タイムアウトすることがない。
【0025】
また、本発明の画像形成装置の一形態において、機器情報をキャッシュ手段から取得するか否かを規定したキャッシュ使用可否判定テーブルを有し、コマンド処理部は、キャッシュ使用可否判定テーブルを参照して機器情報をキャッシュ手段から取得するかデバイスから取得するかを判定する、ことを特徴とする。
【0026】
本発明によれば、キャッシュ使用可否判定テーブルによりキャッシュ手段又はデバイスのいずれから情報を取得すべきが適切に判断できる。
【0027】
また、本発明の画像形成装置の一形態において、キャッシュ使用可否判定テーブルは、該デバイスに固有の機器情報をキャッシュ手段から取得するように規定している、ことを特徴とする。
【0028】
本発明によれば、デバイスからすぐに機器情報を取得できない状態であっても、固有の情報であれば変化しないのでキャッシュ手段から機器情報を取得でき、タイムアウトを防止できる。
【0029】
また、本発明の画像形成装置の一形態において、キャッシュ使用可否判定テーブルは、機器情報を直ちに取得する必要のあるコマンドの発信元を規定している、ことを特徴とする。
【0030】
本発明によれば、コマンドの発信元が直ちに機器情報を取得する必要がある場合には、キャッシュ手段から機器情報を取得し、それ以外はその都度デバイスから取得した機器情報を返すので、コマンドの発信元別に機器情報を取得する手段を変化させることができる。
【0031】
また、本発明の画像形成装置の一形態において、キャッシュ使用可否判定テーブルは、機器情報を直ちに取得する必要のある前記コマンドを規定している、ことを特徴とする。
【0032】
本発明によれば、コマンドが直ちに機器情報を取得する必要がある場合には、キャッシュ手段から機器情報を取得し、それ以外はその都度デバイスから取得した機器情報を返すので、コマンド別に機器情報を取得する手段を変化させることができる。
【0033】
また、本発明の画像形成装置の一形態において、キャッシュ使用可否判定テーブルは、正確な機器情報を取得する必要のあるコマンドの発信元を規定している、ことを特徴とする。
【0034】
本発明によれば、コマンドの発信元が正確な機器情報を取得する必要がある場合には、デバイス手段から機器情報を取得し、それ以外はキャッシュ手段から取得した機器情報を返すので、コマンドの発信元別に機器情報を取得する手段を変化させることができる。
【0035】
また、本発明の画像形成装置の一形態において、キャッシュ使用可否判定テーブルは、正確な機器情報を取得する必要のあるコマンドを規定していることを特徴とする。
【0036】
本発明によれば、コマンドが正確な機器情報を取得する必要がある場合には、デバイス手段から機器情報を取得し、それ以外はキャッシュ手段から取得した機器情報を返すので、コマンド別に機器情報を取得する手段を変化させることができる。
【0037】
また、本発明の画像形成装置の一形態において、キャッシュ使用可否判定テーブルは、正確な機器情報を直ちに取得する必要のあるコマンドの発信元を規定し、コマンドの発信元が、キャッシュ使用可否判定テーブルに規定されている場合であって、待ち時間が経過してもデバイスから機器情報が取得できない場合、コマンド解釈部は機器情報をキャッシュ手段から取得することを特徴とする。
【0038】
本発明によれば、コマンドの発信元が正確な情報を直ちに取得する必要がある場合には、デバイスから機器情報の取得を試みるが、すぐに機器情報を取得できない場合、キャッシュ手段から機器情報を返すことができるので、コマンドの発信元別に機器情報を取得する手段を変化させることができる。
【0039】
また、本発明の画像形成装置の一形態において、キャッシュ使用可否判定テーブルは、正確な機器情報を直ちに取得する必要のあるコマンドを規定し、コマンドが、キャッシュ使用可否判定テーブルに規定されている場合であって、待ち時間が経過してもデバイスから機器情報が取得できない場合、コマンド解釈部は機器情報をキャッシュ手段から取得することを特徴とする。
【0040】
本発明によれば、コマンドが正確な情報を直ちに取得する必要がある場合には、デバイスから機器情報の取得を試みるが、すぐに機器情報を取得できない場合、キャッシュ手段から機器情報を返すことができるので、コマンド別に機器情報を取得する手段を変化させることができる。
【0041】
また、本発明の画像形成装置の一形態において、待ち時間は、ユーザにより設定可能で あることを特徴とする。
【0042】
本発明によれば、キャッシュ手段から機器情報を返すか、デバイスから機器情報を返すかを判断する基準となる待ち時間をユーザの好みで設定可能となる。
【発明の効果】
【0043】
機器情報を要求されたデバイスが立ち上がっていない場合でもタイムアウトしない画像形成装置、画像形成装置のデータ処理方法、プログラム及びプログラムが記憶された記憶媒体を提供できる。
【発明を実施するための最良の形態】
【0044】
以下、本発明を実施するための最良の形態を、図面を参照しながら実施例を挙げて説明する。図3は、本実施の形態の画像形成装置12のハードウェア構成を示すブロック図である。画像形成装置12は、操作パネル101、コントローラ102及びエンジン部103を有するように構成される。
【0045】
コントローラ102は、ホストI/F111、ROM112、HDD113、パネルI/F114、CPU115、RAM116、NV−RAM(Non−volatile RAM)117、エンジンI/F118及びオプションRAM119を有する。
【0046】
ROM112にはCPU115が実行するプログラムが予め格納されており、CPU115は電源オンされるとプログラムをロードして、以降はCPU115によりコントローラ102は制御される。後述するようにROM112には、CPU115により各種の機能を実現するためのプログラムが格納されている。
【0047】
RAM116、オプションRAM119はプログラムを実行するためのワークメモリであり、CPU115の指示を受け印刷データや原稿をスキャンした場合には画像データを一時的に保存する。
【0048】
NV−RAM117は不揮発メモリであり、画像形成装置固有の情報、例えば、コピー枚数のカウンタ値、製造番号、管理人の認証情報等が格納されている。
【0049】
HDD113は磁性体を塗布または蒸着した金属のディスクをモータで回転させて磁気ヘッドを近づけてデータを読み書きする磁気記憶装置である。HDD113には画像データを蓄積したり、ファイルが格納されている。
【0050】
操作パネル101は、操作のためのボタンやタッチパネル、機器状態表示のためのインジケーター(LEDやLCD等の表示器)、液晶などの表示部、スピーカー等、ユーザとのマンマシンインターフェース部である。操作パネル101は、コントローラ102のパネルI/F114と接続されており、ユーザが操作パネル101を操作すると、パネルI/F114はユーザの操作内容を判別し、操作内容に応じた制御信号をCPU115送出する。
【0051】
また、コントローラ102は、ネットワークに接続されたコンピュータ11から印刷するための印刷データを受信するホストI/F111を有する。ホストI/F111は、例えば、イーサネット(登録商標)対応のNIC(Network Interface Card)を介しコンピュータ11と接続される。なお、コンピュータ11との接続はローカル接続であってもよく、また、有線、無線の別を問わない。
【0052】
エンジン部103は印刷データを画像として形成する画像形成部である。エンジン部103はエンジンI/F118に接続される。エンジンI/F118は、コンピュータ11から送信された印刷データをエンジン部103に送出し、エンジン部103は、レーザービームを用いた電子写真プロセスを使って、感光ドラム等にトナー画像として形成し用紙に転写し、定着装置により熱と圧力により定着して出力する。なお、エンジン部103の画像形成方法は、LED方式、インクジェット方式等、どのような方式であってもよい。 なお、エンジン部103は、印刷に関するエンジンだけでなく、スキャナに関するエンジン、ファクシミリに関するエンジンを有していてもよい。
【0053】
なお、画像形成装置12は、リムーバブルメディア5を装着するためのメディアI/F(不図示)を有し、SDカード、MMC(マルチメディアカード)等のリムーバブルメディア(不揮発性記録媒体)を装着可能である。
【0054】
図4は画像形成装置12の機能構成図を示す。図4の各機能はCPU115がプログラムを実行して実現するものであり、データ送信部33、データ受信部32、データ処理部34、デバイス制御部35を有するように構成される。データ受信部32はコンピュータ11から送信された印刷データやコマンドを受信してデータ処理部34へ送出するものである。データ処理部34はコマンド解釈部21及びコマンド処理部22を有する。
【0055】
コマンド処理部22は、コンピュータ11から送信されたコマンドを処理する。コマンドの処理とは、印刷の実行や画像形成装置12のデバイス36から指定された機器情報を取得することをいう。
【0056】
コマンド処理部22は、データ受信部32からコマンドを受信しコマンドを取り出すと、コマンドの解釈をコマンド解釈部21に要求する。このコマンド解釈要求により、画像形成装置12がコマンドを受け付けたこととなる。
【0057】
コマンド解釈部21はコマンドを解釈する。コマンド解釈部21が解釈するコマンドは例えばPJL(Printer Job Language)であり、PJLのコマンドが登録されたコマンドテーブルがROM112が格納されている。コマンド解釈部21は、コマンドの解釈の結果、コマンドの処理にデバイス36が必要であればデバイス36の種別やその内容をコマンド処理部22にコマンド処理要求として送出する。
【0058】
コマンド処理部22は、コマンド解釈部21からコマンド処理要求を受け取ると、デバイス制御部23にデバイス36の制御を要求する。デバイス36の制御とは、例えば、デバイス36から指定された機器情報を取得することをいう。
【0059】
コマンド処理部22は、デバイス制御部23から機器情報を受け取りデータ送信部33に送出する。データ送信部33がコンピュータ11に機器情報を送信するとコマンドに基づく処理が終了する。
【0060】
デバイス36は例えば、HDD113、リムーバブルメディア、RAM116、エンジンボード(給紙トレイ、排紙トレイ、トナーカートリッジを含む)等である。また、コンピュータから受信するコマンドは、印刷、機器情報の取得コマンド等である。機器情報の取得コマンドでは、プリンタ名称、ソフトウェアバージョン、用紙残量、サポート用紙サイズ・種類、排紙先の状態(印刷された紙があるかないか、満杯状態か等)、トナー残量、フォント、などがコマンドにより指定される。
【0061】
デバイス制御部35は、コマンドに応じてこれらのデバイス36の初期化、デバイス36からの機器情報の抽出などを行う。画像形成装置12が省エネモードになるとデバイス36はスリープモードに入る場合がある、例えばHDD113では回転速度を停止したり、RAM116ではリフレッシュレートを下げる。スリープモードの状態のデバイスを使用した処理が必要になるとデバイス制御部23はデバイス36の全て又は一部を立ち上げる。
【0062】
画像形成装置12の各機能を実現するプログラムは、はじめからプリンタに備えるROM112、NV−RAM117あるいはHDD113等の記憶手段に格納されているか、記録媒体120であるCD−ROMあるいはフレキシブルディスク,SRAM,EEPROM,メモリカード等の不揮発性記録媒体(メモリ)に記録して提供される。なお、コンピュータ11からネットワーク13を介してダウンロードしてもよい。記録媒体120に記憶されたプログラムは、ドライブ装置やカードリーダ(不図示)により画像形成装置12に読み込まれる。
【0063】
記録媒体120に記録されたプログラムは画像形成装置12にインストールされCPU113に実行されることにより、実施例において後述する各手順を画像形成装置12に実行させることができる。
【実施例1】
【0064】
以上の構成を用いて、画像形成装置12がコンピュータ11から送信されたコマンドを処理する流れについて説明する。本実施例の画像形成装置12は、デバイス36の立ち上げが必要な場合でもタイムアウトを生じさせないでコマンドの処理を行う。
【0065】
タイムアウトを生じさせないコマンドの処理について、図5のシーケンス図に基づき説明する。
【0066】
コンピュータ11からコマンドを含むデータをデータ受信部32が受信し、データ受信部32からコマンド受信通知がコマンド処理部22に送出される(S11)。なおデータとはコマンドや印刷データなどを含む意味であるが、本実施の形態では単にコマンドと称す。コマンド処理部22は、コマンド受信通知を受けるとヘッダ等を取り除きコマンドを抽出する。
【0067】
ついで、コマンド処理部22はデバイス制御部23にデバイス36の立ち上げを依頼する(S12)。すなわち、デバイス36を使用する処理か否か又は立ち上げの必要なデバイスか否かを判定する前に、デバイス36の立ち上げが開始される(S17)。
【0068】
ついで、コマンド処理部22は、コマンド解釈要求をコマンド解釈部21に送出する(S13)。コマンド解釈部21がコマンド解釈要求を通知されるとコマンドが受け付けられたことになる。したがって、デバイス36の立ち上げを待たずにコマンド解釈部21にコマンド解釈要求が送出されるのでタイムアウトが検出されることがない。
【0069】
ついで、コマンド解釈部21は、コマンド解釈要求のあったコマンドを解釈する(S14)。コマンドの解釈とは、コマンドの内容及び対象となるデバイス36を解析すること、また、デバイス36がスリープモードになりうるかどうかを解析するものである。
【0070】
図6は、コマンド解釈部21がコマンドを解釈した結果に応じて、コマンド処理部22が処理を行う概念を示す一例である。すなわち、コマンド処理部22はコマンドに応じて処理1〜nまでの処理を行うことができる。
【0071】
コマンド解釈部21は、コマンドとデバイス36の対応付けを図7に示すコマンドとデバイス36を対応づけたデバイステーブルを参照して行う。図7では、一例として「フォント取得コマンド」がHDD113に、「用紙残量取得コマンド」が給紙トレイに対応づけられている。デバイステーブルはROM112やNV−RAM117に格納されている。なお、コマンドがデバイス36を必要としないものである場合、デバイス36は対応づけられない。
【0072】
また、デバイス36を使用する処理であっても、デバイス36がスリープモードに入らない場合は立ち上げる必要がない。図8はデバイス毎にスリープモードになりうるかどうかを対応づけたデバイス立ち上げテーブルの一例を示す。図8ではスリープモードになりうるデバイス36を「True」、スリープモードにならないデバイス36を「False」とした。したがって、「True」のデバイス36から機器情報を取得するコマンドの場合、コマンド解釈部21はデバイス36が立ち上がるまで処理を待機することとなる。
【0073】
図5に戻り、コマンド解釈部21は図7のデバイステーブル及び図8のデバイス立ち上げテーブルの一例を参照し、当該コマンドの処理に「デバイスが必要かつスリープモードになりうるか?」を判定する。判定結果はNV−RAM117に記憶される。
【0074】
ついで、コマンド解釈部21はコマンド処理要求をコマンド処理部22に送出する(S15)。コマンド処理要求は、コマンドの解釈結果に応じて種々の内容になる。本実施例のコマンドは、HDD113から機器情報を取得するものである。
【0075】
コマンド処理部22は、HDDが立ち上がっているか否かを判定し(S16)、立ち上がっていればコマンドの処理を行う。この場合、HDD113から情報取得を試みるがHDD113から立ち上がり完了通知が受信されないので、機器情報の取得に失敗した旨の情報取得の結果通知をコマンド解釈部21へ送出する(S18)。
【0076】
コマンド解釈部21とコマンド処理部22の間では、HDD113が立ち上がるまでコマンド処理要求と情報取得の結果通知の応答を繰り返す(S15’、S18’)。すなわち、コマンド解釈部21は、HDD113が立ち上がるまでコマンド処理部22に立ち上がったか否かを問い合わせる。
【0077】
そして、HDD133が立ち上がると、コマンド処理部22がデバイス制御部23からHDD133の立ち上がりを通知される(S20)。コマンド処理部22は、HDD113が立ち上がったことを記憶する(S21)。
【0078】
コマンド処理部22は、HDD133の立ち上がりの通知があった以降にコマンド解釈部21からコマンド処理要求があると(S15)、コマンドに応じた処理を実行する。本実施例ではHDD113から機器情報を取得するコマンドであるので、デバイス制御部23に機器情報の取得を要求する(S22)。デバイス制御部23は、例えば、HDD113からフォントを取得し(S23)、取得した機器情報をコマンド処理部22へ送出する(S24)。
【0079】
ついで、コマンド処理部22は、取得した機器情報と共に取得に成功した旨の結果通知をコマンド解釈部21へ送出する(S25)。コマンド解釈部21は、コマンドの処理結果及び取得した機器情報をデータ送信部33へ送出する(S26)。データ送信部33はHDD113から取得した機器情報をコンピュータ11へ送信する。なお、コマンド解釈部21は、所定の後処理を実行して図5のシーケンスに基づく処理が終了する。
【0080】
以上のように本実施例のコマンド処理では、デバイス36(図5ではHDD113)の立ち上がりを待たずにコマンド処理部22がコマンド解釈部21に処理要求を送出するので、タイムアウトすることがない。また、デバイス36を使用しない場合やデバイス36の立ち上げが必要ない場合はコマンド受信後早急に処理がなされるので、どのコマンドでもデバイス36の立ち上がり時間を一律に待機するような処理の遅延も回避されている。
【0081】
続いて、コマンド解釈部21、コマンド処理部22及びデバイス制御部23のそれぞれの処理手順を図9〜12のフローチャート図に基づき説明する。なお、図5と図9〜12において、同一ステップには同じ符号を付した。
【0082】
図9は、コマンド解釈部21の処理手順を示すフローチャート図である。まず、コマンド解釈部21は、コマンド処理部22からコマンド解釈要求を受け取る(S13)。そして、コマンド解釈部21はコマンドを解釈する(S14)。
【0083】
コマンド解釈部21は、コマンドの解釈結果及び図8のデバイステーブルに基づき、コマンドの処理にデバイス(この場合はHDD)が必要か否かを判定する(S14)。判定の結果、コマンド処理にHDD113が必要な場合、コマンド処理にHDD113が必要であることをNV−RAM117に記憶する(S14)。
【0084】
ついで、コマンド解釈部21は、コマンドの処理をコマンド処理部22に要求する(S15)。コマンド解釈部21は、情報取得の結果通知を受け取る(S18)。そして、コマンド処理にHDD113が必要か否かを再度判定し(S19)、コマンド処理にHDD113が必要な場合、HDD113から機器情報を取得できたか否か判定する(S19)。
【0085】
機器情報が取得できない場合、コマンド処理の要求(S15)とコマンド処理結果の受け取り(S18)を繰り返す。
【0086】
コマンド処理にHDD113が必要ない場合、又は、HDD113から機器情報を取得できた場合、コマンド解釈部21はコマンド処理結果の送信をデータ送信部33に要求する(S26)。ついで、コマンド解釈部21は、後処理としてNV−RAM117に記憶した、コマンド処理にHDD113が必要であるとの記憶内容を破棄する(S27)。
【0087】
図10は、デバイスの立ち上げが必要な場合のコマンド処理部22の処理手順を示すフローチャート図である。まず、コマンド処理部22は、データ受信部32からコマンド受信通知を受け取る(S11)。ついで、コマンド処理部22はデバイス制御部23にデバイス36(HDD)の立ち上げを要求する(S12)。そして、コマンド処理部22は、コマンド解釈要求をコマンド解釈部21に要求する(S13)。
【0088】
コマンド処理部22は、コマンド解釈部21からコマンド処理要求を受け取る(S15)。コマンド処理部22は、HDD113が立ち上がっているか否かを判定する(S16)。HDD113が立ち上がっていない場合(S16のNo)、HDD113が立ち上がっておらず情報取得に失敗したことをコマンド処理結果としてコマンド解釈部21に通知する(S18)。コマンド処理部22は、HDD113が立ち上がるまで情報取得の結果通知をコマンド解釈部21に送出する。
【0089】
コマンド処理部22は、デバイス制御部23からHDD113の立ち上がり完了通知を受け取ると、HDD113が立ち上がったと判定する(S16のYes)。コマンド処理部22は、HDD113が立ち上がったことを記憶する(S21)。そして、コマンド処理部22はデバイス制御部23に情報取得を要求する(S22)。デバイス制御部23から機器情報を通知されると、情報取得に成功したこと、及び、取得した機器情報をコマンド解釈部21に送出する(S25)。
【0090】
図11は、デバイスの立ち上げが必要ない場合のコマンド処理部22の処理手順を示すフローチャート図である。
【0091】
コマンド処理部22は、データ受信部32からコマンド受信通知を受け取る(S11)。ついで、コマンド処理部22はデバイス制御部23に機器情報の取得を要求する(S22)。デバイス制御部23から機器情報を受け取ると(S24)、取得した機器情報をコマンド解釈部21に送出する(S25)。
【0092】
図12は、デバイス制御部23の処理手順を示すフローチャート図である。コマンドの処理にHDD113の立ち上げが必要な場合、まず、デバイス制御部23はHDD113の立ち上げ要求を受け取る(S12)。ついで、デバイス制御部23は、HDD113を立ち上げを開始する(S17)。そして、HDD113が立ち上がるとHDD113が立ち上がったことをコマンド処理部22に通知する(S20)。
【0093】
ついで、デバイス制御部23はコマンド処理部22から情報取得要求を受け取る(S22)。なお、コマンドの処理にHDD113の立ち上げが必要でない場合、ステップS12のHDD113の立ち上げ要求を受け取らずに、デバイス制御部23はコマンド処理部22から情報取得要求を受け取る(S22)。
【0094】
デバイス制御部23は、HDD113から機器情報(例えばフォント)を取得し、コマンド処理部22に取得した機器情報を通知する(S24)。
【0095】
以上のようにして、画像形成装置がタイムアウトを生じさせずにコマンドを処理することができる。
【0096】
ところで、図5、図9〜12の処理ではコマンド解釈の要求(S13)の前にデバイス36を立ち上げたが、デバイス36の立ち上げはコマンド解釈の後でもよい。
【0097】
図13は、図10のフローチャート図においてコマンド解釈の後にデバイス36を立ち上げるフローチャート図の一例を示す。なお、図13において図10と同一ステップには同一の符号を付した。
【0098】
図13では、コマンド処理部22がコマンド受信通知をうけると(S11)、コマンド処理部22はコマンド解釈部21にコマンド解釈要求を送出する(S13)。
【0099】
コマンド解釈部21がコマンドを解釈すると共に、必要なデバイス36を特定し、また、デバイス36がスリープモードになりうるかどうかを解析する。コマンド処理部22はコマンド処理要求を受け取ると(S15)、コマンド処理部22は、当該コマンドの処理に「デバイスが必要かつスリープモードになりうるか?」を判定する(S30)。
【0100】
コマンドの処理にデバイス36が必要でなくかつスリープモードにならない場合(S30のNo)、コマンド処理部22はデバイス制御部23に情報取得を要求する(S22)。デバイス制御部23から機器情報を通知されると(S24)、情報取得に成功したこと、及び、取得した機器情報をコマンド解釈部21に送出する(S25)。
【0101】
コマンドの処理にデバイス36が必要か又はスリープモードになる場合(S30のNo)、コマンド処理部22は、デバイス制御部23にデバイス36(HDD)の立ち上げを要求する(S12)。
【0102】
ついで、コマンド処理部22は、HDD113が立ち上がっているか否かを判定する(S16)。HDD113が立ち上がっていない場合(S16のNo)、HDD113が立ち上がっておらず情報取得に失敗したことをコマンド処理結果としてコマンド解釈部21に通知する(S18)。コマンド処理部22は、HDD113が立ち上がるまで情報取得の結果通知をコマンド解釈部21に送出する。
【0103】
コマンド処理部22は、デバイス制御部23からHDD113の立ち上がり完了通知を受け取ると、HDD113が立ち上がったと判定する(S16のYes)。コマンド処理部22は、HDD113が立ち上がったことを記憶する(S21)。そして、コマンド処理部22はデバイス制御部23に情報取得を要求する(S22)。デバイス制御部23から機器情報を通知されると(S24)、情報取得に成功したこと、及び、取得した機器情報をコマンド解釈部21に送出する(S25)。
【0104】
したがって、図13の処理では、デバイス36の立ち上げが必要な場合のみにデバイス36を立ち上げるので、デバイス36を使用しないコマンドではデバイス36を立ち上げることがなくなり、消費電力を低減できる。なお、コマンド解釈部21の処理手順は図9と同様であり、デバイス制御部23の処理手順は図12と同様であるので説明は省略する。
【実施例2】
【0105】
実施例1では画像形成装置12が有するHDD113をデバイス36としたが、本実施例ではネットワークにHDD113が接続されている場合について説明する。図14は、ネットワーク13を介して画像形成装置12、コンピュータ11及びHDD113とが接続された印刷システムの構成図を示す。図14はHDD113がネットワーク13に接続されている点で図1と異なる。なお、ハードウェア構成を示すブロック図は図3と機能構成図は図4と同様である。
【0106】
図14の構成では、デバイス(HDD113)と画像形成装置12との通信が滞っている場合がある。このような場合、受信したコマンドに応じた処理を行なう際に、デバイス36を使用すると判定された場合は、デバイス36との通信が復帰するまで待機し、デバイス36が不要な場合は、デバイス36との通信が復帰することを待たずに処理を開始する。
【0107】
図15はネットワーク13に接続されたデバイス36を使用して、コマンド処理部22がコマンドを処理するフローチャート図を示す。
【0108】
まず、コマンド処理部22は、データ受信部32からコマンド受信通知を受け取る。(S31)。
【0109】
ついで、コマンド処理部22はデバイス制御部23にデバイス36へのアクセスを要求する(S32)。すなわち、ネットワーク13に接続されたデバイス36を使用する処理か否か又は立ち上げの必要なデバイス36か否かを判定する前に、デバイス36へのアクセスが開始される。
【0110】
そして、コマンド処理部22は、コマンド解釈要求をコマンド解釈部21に送出する(S33)。したがって、デバイス36を使用するか否かにかかわらずコマンド解釈部21にコマンド解釈要求が送出されるのでタイムアウトが検出されることがない。
【0111】
ついで、コマンド解釈部21は、コマンド解釈要求のあったコマンドを解析する。図16は本実施例のデバイステーブルを示す。図16では、「フォント取得コマンド」に「外付けHDD」が、「用紙残量取得コマンド」に「給紙トレイ」が、「トナー残量取得コマンド」に「トナー」が登録されている。
【0112】
なお、ネットワーク13に接続されたデバイス36は通常、スリープモードになることがないので本実施例ではデバイス立ち上げテーブルは格納されていないが、実施例1と同様にデバイス立ち上げテーブルに基づき判定してもよい。
【0113】
コマンド解釈部21は、コマンドとデバイス36の対応付けをデバイステーブルを参照して行う。
【0114】
図15に戻り、コマンド解釈部21のコマンドの解釈結果に応じて、コマンド処理部22は当該コマンドの処理にネットワーク13に接続されたデバイス36が必要か否かを判定する(S34)。
【0115】
そして、デバイス36が必要でない場合(S34のNo)、コマンド処理部22はデバイス制御部23に情報取得を要求する(S38)。デバイス制御部23から機器情報を通知されると(S39)、情報取得に成功したこと、及び、取得した機器情報をコマンド解釈部21に送出する(S40)。
【0116】
デバイス36が必要であった場合(S34のYes)、コマンド処理部22はネットワークを介して接続されたデバイス36へのアクセス状況をチェックする(S35)。アクセスが完了しない場合(S35のNo)、デバイス36が立ち上がっておらず情報取得に失敗したことを情報取得の結果としてコマンド解釈部21に通知する(S36)。コマンド処理部22は、デバイス36が立ち上がるまで情報取得の結果通知をコマンド解釈部21に送出する。
【0117】
コマンド処理部22は、デバイス制御部23からデバイス36へのアクセス通知を受け取ると、デバイスにアクセスできた(デバイス36が立ち上がった)と判定する(S35のYes)。コマンド処理部22は、デバイス36が立ち上がったことを記憶する(S37)。そして、コマンド処理部22はデバイス制御部23に情報取得を要求する(S38)。デバイス制御部23から機器情報を通知されると(S39)、情報取得に成功したこと、及び、取得した機器情報をコマンド解釈部21に送出する(S40)。
【0118】
以上のように、本実施例によれば、ネットワーク13に接続されたデバイス36を使用した処理であっても、タイムアウトを防止してコマンド処理できる。なお、図15では、ネットワークに接続されたデバイス36を使用するか否かを判定する前にアクセスを開始したが、ネットワークに接続されたデバイス36を使用すると判定された後にデバイス36へのアクセスを開始してもよい。
【実施例3】
【0119】
本実施例ではネットワーク13に複数のデバイス36が接続されている場合について説明する。図17は、ネットワーク13を介して画像形成装置12、コンピュータ11及びHDD113A〜Cとが接続された印刷システムの構成図を示す。図17は複数のHDD113A〜Cがネットワーク13に接続されている点で図14と異なる。なお、ハードウェア構成を示すブロック図は図3と機能構成図は図4と同様である。
【0120】
HDD113A〜Cには同じ機器情報が格納されている。このため、図17の構成によれば、HDD113A〜Cのいずれかと画像形成装置12との通信が滞っている場合があっても、通信の滞っていないHDD113A〜Cのいずれかにアクセスすることで早期の処理が可能となる。
【0121】
図18はネットワーク13に接続された複数のデバイス36を使用して、コマンド処理部22がコマンド処理するフローチャート図を示す。なお、図18において図15と同一ステップには同一の符号を付した。
【0122】
まず、コマンド処理部22は、データ受信部32からコマンド受信通知を受け取る。(S31)。
【0123】
ついで、コマンド処理部22はデバイス制御部23にデバイス36へのアクセスを要求する(S32)。すなわち、ネットワーク13に接続されたデバイス36を使用する処理か否か又は立ち上げの必要なデバイス36か否かを判定する前に、デバイス36へのアクセスが開始される。
【0124】
そして、コマンド処理部22は、コマンド解釈要求をコマンド解釈部21に送出する(S33)。したがって、デバイス36を使用するか否かにかかわらずコマンド解釈部21にコマンド解釈要求が送出されるのでタイムアウトが検出されることがない。
【0125】
ついで、コマンド解釈部21は、コマンド解釈要求のあったコマンドを解析する。なお、コマンド解釈部21が参照するコマンドテーブルは図16と同様である。
【0126】
コマンド解釈部21のコマンドの解釈結果に応じて、コマンド処理部22は当該コマンドの処理にネットワーク13に接続されたデバイス36が必要か否かを判定する(S34)。
【0127】
そして、デバイス36が必要でない場合(S34のNo)、コマンド処理部22はデバイス制御部23に情報取得を要求する(S38)。デバイス制御部23から機器情報を通知されると(S39)、情報取得に成功したこと、及び、取得した機器情報をコマンド解釈部21に送出する(S40)。
【0128】
デバイス36が必要であった場合(S34のYes)、コマンド処理部22はネットワークを介して接続されたデバイス36へのアクセス状況をチェックする(S35)。アクセスが完了しない場合(S35のNo)、デバイス36が立ち上がっておらず情報取得に失敗したことを情報取得の結果としてコマンド解釈部21に通知する(S36)。
【0129】
ついで、コマンド処理部22はデバイス36へのアクセス回数が所定数nより大きいか否か、すなわち、予め定められた回数チェックを行ったか否かを判定する(S41)。アクセス回数によりアクセス完了までの時間が検出できることとなり、回線が混雑しているか否かの判定の目安となる。
【0130】
チェック回数が所定以下の場合(S41のNo)、アクセスチェックを繰り返すと共に(S35)、デバイス36が立ち上がっておらず情報取得に失敗したことを情報取得の結果としてコマンド解釈部21に通知する(S36)。そして、コマンド処理部22は、デバイス36が立ち上がるまで情報取得の結果通知をコマンド解釈部21に送出する。
【0131】
アクセスのチェック回数がnより大きい場合(S41のYes)、コマンド処理部22はアクセスするデバイス36の変更をデバイス制御部23に要求する(S42)。
【0132】
ステップS35に戻り、コマンド処理部22は変更されたデバイス36のアクセス状況をチェックし(S35)、デバイス36へアクセスできたか否かを同様に判定する。
【0133】
コマンド処理部22は、デバイス制御部23からデバイス36へのアクセス通知を受け取ると、デバイスにアクセスできた(デバイス36が立ち上がった)と判定する(S35のYes)。コマンド処理部22は、デバイス36が立ち上がったことを記憶する(S37)。そして、コマンド処理部22はデバイス制御部23に情報取得を要求する(S38)。デバイス制御部23から機器情報を通知されると(S39)、情報取得に成功したこと、及び、取得した機器情報をコマンド解釈部21に送出する(S40)。
【0134】
以上のように、本実施例では、ネットワーク13に接続されたデバイス36を使用した処理であっても、タイムアウトを防止してコマンド処理できる。ネットワーク13に接続された複数のデバイス36からアクセスが混雑していないデバイス36を選択できるため、早期の処理が可能となる。
【実施例4】
【0135】
実施例1〜3ではデバイス36から直接、コマンドの処理に必要な機器情報を取得したが、コマンドの処理に必要な機器情報はキャッシュしておいてもよい。キャッシュしておけば、デバイス36を立ち上げる時間、待機することやネットワーク13を介してアクセスすることなく、コマンド処理に必要な機器情報をキャッシュから取得できる。
【0136】
本実施例の構成は図1,図14又は図17のいずれでもよい。すなわち、画像形成装置12がデバイス36を保持していてもよいし、ネットワーク13に単数又は複数のデバイス36が接続されていてもよい。本実施例では、画像形成装置12がデバイス36を有する図1の構成に基づき説明する。
【0137】
図19(a)はデバイス制御部23が機器情報をキャッシュする処理のフローチャート図を示す。デバイス36がスリープモードに入ることは、タイマや画像形成装置の制御により検出できるものであるため、スリープモードに入る直前にデバイス36の機器情報をキャッシュすればよい。
【0138】
デバイス制御部23は、デバイス36をスリープモード状態に制御する場合、状態変化通知をコマンド処理部22に通知する(S51)。これにより、コマンド処理部22は当該デバイスがスリープモードに入ったことを検出する。
【0139】
ついで、デバイス制御部23はデバイス36に格納されている機器情報を抽出し、機器情報をキャッシュする。キャッシュする記憶装置は、RAM116、オプションRAM119又はNV−RAM117等である。
【0140】
キャッシュするとデバイス制御部23は当該デバイス36をスリープモードに移行する(S53)。したがって、機器情報がキャッシュされている場合、キャッシュから機器情報を取得することで画像形成装置12はタイムアウトすることなくコマンドの処理が可能になる。
【0141】
図19(b)はデバイス制御部23が機器情報をキャッシュする処理の別の形態のフローチャート図を示す。図19(b)はデバイス36がスリープモードに入るか否かにかかわらず、機器情報をキャッシュしておく制御を示す。
【0142】
デバイス制御部23はデバイス36にアクセスを終了した直後から時間の計測を開始する(S55)。そして、一定時間が経過したか否かを判定し(S56)、一定時間が経過すると、デバイス制御部23がデバイス36から機器情報を抽出しRAM116等にキャッシュする(S57)。
【0143】
図19(b)のようにキャッシュすることで、一定時間毎に最新の機器情報がキャッシュされることとなり、デバイス36へアクセスする機会を低減できる。
【0144】
図19(a)又は(b)のいずれの場合でも、全ての機器情報をキャッシュしておいてもよいし、一部の機器情報をキャッシュしておいてもよい。本実施例では、一部の機器情報がキャッシュされるものとする。
【0145】
図20は機器情報がキャッシュされている場合にコマンド処理部22がコマンド処理を行うフローチャート図の一例を示す。
【0146】
まず、コマンド処理部22は、データ受信部32からコマンド受信通知を受け取る(S61)。ついで、コマンド処理部22は、キャッシュされている機器情報に基づきコマンドを処理するか否かを判定する(S62)。ステップS62の判定は、コマンドに対応づけてキャッシュの機器情報を返すか否かを規定したキャッシュ使用可否判定テーブルを使用する。
【0147】
図21は、キャッシュ使用可否判定テーブルの一例を示す。図21のキャッシュ使用可否判定テーブルでは、「False」がデバイス36から直接機器情報を返すことを、「True」がキャッシュから機器情報を返すことを示す。キャッシュ使用可否判定テーブルは、例えばNV−RAM117に格納されている。したがって、コマンド処理部22は、「フォント取得」コマンドであればデバイス36から機器情報を取得し、「用紙残量取得」コマンドであればキャッシュから機器情報を取得する。
【0148】
キャッシュ使用可否判定テーブルは、例えば容量の少ない機器情報をキャッシュしておくなど予め固定されていてもよいし、デバイス36の機器情報とキャッシュされた機器情報との整合性が保証されている場合に「True」と設定することとしてもよい。キャッシュ手段の更新は、デバイス制御部23がデバイスにアクセスする度に行うことが好適である。例えば、古いキャッシュ情報(アクセスのないデバイス)はキャッシュ手段から排除され、新しいキャッシュ情報がキャッシュ手段に格納される(LRU(Least Least Recently Us))。
【0149】
キャッシュから機器情報を取得する場合(S62のYes)、コマンド処理部22はデバイス制御部23に情報取得を要求する(S68)。デバイス制御部23はキャッシュから機器情報を取得しコマンド処理部22に機器情報を通知する(S69)。また、コマンド処理部22は、情報取得に成功したこと、及び、取得した機器情報をコマンド解釈部21に送出する(S70)。このように、キャッシュしてある機器情報を使用できる場合、デバイス36がスリープモードに入っていてもタイムアウトすることがない。
【0150】
キャッシュから機器情報を取得しない場合(S62のNo)、コマンド処理部22はデバイス制御部23にデバイス36(例えばHDD)の立ち上げを要求する(S63)。すなわち、デバイス36を使用する処理か否か又は立ち上げの必要なデバイス36か否かを判定する前に、デバイス36の立ち上げが開始される。
【0151】
コマンド処理部22は、コマンド解釈要求をコマンド解釈部21に要求する(S64)。コマンド解釈部21は、コマンド処理に必要なデバイスとそのデバイスがスリープモードになりうるか否かを解釈する。コマンド処理部22は、コマンド解釈部21からコマンド処理要求を受け取る(S65)。
【0152】
ついで、コマンド処理部22は、コマンドの処理にデバイス36が必要かつスリープモードになるか否かを判定する(S66)。デバイス36が必要でないか又はスリープモードにならない場合(S66のNo)、コマンド処理部22はデバイス制御部23に情報取得を要求する(S68)。デバイス制御部23はキャッシュから機器情報を取得しコマンド処理部22に機器情報を通知する(S69)。また、コマンド処理部22は、情報取得に成功したこと、及び、取得した機器情報をコマンド解釈部21に送出する(S70)。
【0153】
デバイス36が必要でかつスリープモードになりうる場合(S66のYes)、コマンド解釈部21はデバイス36(HDD)が立ち上がったか否かを判定する(S67)。
【0154】
立ち上がっていない場合(S67のNo),コマンド解釈部21は立ち上がるまでチェックを繰り返す。立ち上がった場合(S67のYes)、コマンド処理部22はデバイス制御部23に情報取得を要求する(S68)。デバイス制御部23はHDDからから機器情報を取得しコマンド処理部22に機器情報を通知する(S69)。また、コマンド処理部22は、情報取得に成功したこと、及び、取得した機器情報をコマンド解釈部21に送出する(S70)。
【0155】
本実施例によれば、キャッシュされた機器情報を使用してコマンド処理を行う場合にはタイムアウトすることがなく、デバイス36の機器情報を使用してコマンド処理を行う場合には立ち上がりを待たずにコマンド解釈部21に処理要求を送出するのでタイムアウトすることがない。
【実施例5】
【0156】
実施例4ではコマンドに対応づけてキャッシュの機器情報を返すか否かを規定したキャッシュ使用可否判定テーブルに基づきキャッシュの機器情報を使用するか否かを判定したが、本実施例ではコマンドに指定された機器情報が不変か否かに基づきキャッシュされた機器情報を使用するか否かを判定する。なお、本実施例の印刷システムの構成は実施例4と同様である。
【0157】
図22は機器情報がキャッシュされている場合にコマンド処理部22がコマンド処理を行うフローチャート図の一例を示す。
【0158】
まず、コマンド処理部22は、データ受信部32からコマンド受信通知を受け取る(S71)。ついで、コマンド処理部22は、コマンドが使用する機器情報が不変か否かに基づき、キャッシュされている情報から機器情報を取得するか否かを判定する(S72)。
【0159】
図23は、キャッシュの機器情報を返すか否かを規定した本実施例のキャッシュ使用可否判定テーブルを示す。図23には画像形成装置12において不変な機器情報がキャッシュから取得する機器情報として登録されている。不変な機器情報とは、用紙残量のように変化するものでなく、機器名称やファームウェアのバージョンなど、少なくとも一度電源を入れたら変更されない機器情報である。図23では、一例として「機器名称取得」コマンドと「バージョン取得」コマンドが規定されている。
【0160】
以降の処理は図20と同様である。
不変な機器情報を取得する場合(S72のYes)、コマンド処理部22はデバイス制御部23に情報取得を要求する(S68)。デバイス制御部23はキャッシュから機器情報を取得しコマンド処理部22に機器情報を通知する(S69)。また、コマンド処理部22は、情報取得に成功したこと、及び、取得した機器情報をコマンド解釈部21に送出する(S70)。このように、キャッシュしてある機器情報を使用できる場合、デバイス36がスリープモードに入っていてもタイムアウトすることがない。
【0161】
不変な機器情報を取得しない場合(S72のNo)、コマンド処理部22はデバイス制御部23にデバイス36(例えばHDD)の立ち上げを要求する(S63)。すなわち、デバイス36を使用する処理か否か又は立ち上げの必要なデバイス36か否かを判定する前に、デバイス36の立ち上げが開始される。
【0162】
コマンド処理部22は、コマンド解釈要求をコマンド解釈部21に要求する(S64)。コマンド解釈部21は、コマンド処理に必要なデバイスとそのデバイスがスリープモードになりうるか否かを解釈する。コマンド処理部22は、コマンド解釈部21からコマンド処理要求を受け取る(S65)。
【0163】
ついで、コマンド処理部22は、コマンドの処理にデバイス36が必要かつスリープモードになるか否かを判定する(S66)。デバイス36が必要でないか又はスリープモードにならない場合(S66のNo)、コマンド処理部22はデバイス制御部23に情報取得を要求する(S68)。デバイス制御部23はキャッシュから機器情報を取得しコマンド処理部22に機器情報を通知する(S69)。また、コマンド処理部22は、情報取得に成功したこと、及び、取得した機器情報をコマンド解釈部21に送出する(S70)。
【0164】
デバイス36が必要でかつスリープモードになりうる場合(S66のYes)、コマンド解釈部21はデバイス36(HDD)が立ち上がったか否かを判定する(S67)。
【0165】
立ち上がっていない場合(S67のNo),コマンド解釈部21は立ち上がるまでチェックを繰り返す。立ち上がった場合(S67のYes)、コマンド処理部22はデバイス制御部23に情報取得を要求する(S68)。デバイス制御部23はHDDからから機器情報を取得しコマンド処理部22に機器情報を通知する(S69)。また、コマンド処理部22は、情報取得に成功したこと、及び、取得した機器情報をコマンド解釈部21に送出する(S70)。
【0166】
本実施例によれば、不変な機器情報を取得する場合にはキャッシュされた機器情報を取得するためタイムアウトすることがなく、デバイス36の機器情報を使用してコマンド処理を行う場合には立ち上がりを待たずにコマンド解釈部21に処理要求を送出するのでタイムアウトすることがない。
【実施例6】
【0167】
実施例5ではコマンドが使用する機器情報が不変か否かに基づきキャッシュの機器情報を使用するか否かを判定したが、本実施例ではコマンドの発信元に基づきキャッシュされた機器情報を使用するか否かを判定する。なお、本実施例の印刷システムの構成は実施例4と同様である。
【0168】
図24は機器情報がキャッシュされている場合にコマンド処理部22がコマンド処理を行うフローチャート図の一例を示す。
【0169】
まず、コマンド処理部22は、データ受信部32からコマンド受信通知を受け取る(S81)。ついで、コマンド処理部22は、コマンドの発信元のコンピュータ11が直ちにコマンド処理による機器情報を取得する必要のある発信元か否かを判定する(S82)。
【0170】
図25は、ただちに機器情報を取得する発信元を記録した本実施例のキャッシュ使用可否判定テーブルを示す。図25にはIP(Internet Protocol)アドレスが登録されている。図25のIPアドレスは、コマンド処理を発した場合、可能な限り直ちに機器情報を取得するコマンドの発信元として登録されている。したがって、図25に示すように、「133.139.aaa.aaa」等からコマンドが送信されると直ちに機器情報を送信するためキャッシュされている機器情報を使用する。なお、IPアドレスはコンピュータから送信されるコマンドのヘッダに含まれている。
【0171】
以降の処理は図20と同様である。
ただちに機器情報の取得を要求する発信元からコマンドを受信した場合(S82のYes)、コマンド処理部22はデバイス制御部23に情報取得を要求する(S68)。デバイス制御部23はキャッシュから機器情報を取得しコマンド処理部22に機器情報を通知する(S69)。また、コマンド処理部22は、情報取得に成功したこと、及び、取得した機器情報をコマンド解釈部21に送出する(S70)。このように、キャッシュしてある機器情報を使用できる場合、デバイス36がスリープモードに入っていてもタイムアウトすることがない。
【0172】
ただちに機器情報の取得を要求する発信元からコマンドを受信しない場合(S82のNo)、コマンド処理部22はデバイス制御部23にデバイス36(例えばHDD)の立ち上げを要求する(S63)。すなわち、デバイス36を使用する処理か否か又は立ち上げの必要なデバイス36か否かを判定する前に、デバイス36の立ち上げが開始される。
【0173】
コマンド処理部22は、コマンド解釈要求をコマンド解釈部21に要求する(S64)。コマンド解釈部21は、コマンド処理に必要なデバイスとそのデバイスがスリープモードになりうるか否かを解釈する。コマンド処理部22は、コマンド解釈部21からコマンド処理要求を受け取る(S65)。
【0174】
ついで、コマンド処理部22は、コマンドの処理にデバイス36が必要かつスリープモードになるか否かを判定する(S66)。デバイス36が必要でないか又はスリープモードにならない場合(S66のNo)、コマンド処理部22はデバイス制御部23に情報取得を要求する(S68)。デバイス制御部23はキャッシュから機器情報を取得しコマンド処理部22に機器情報を通知する(S69)。また、コマンド処理部22は、情報取得に成功したこと、及び、取得した機器情報をコマンド解釈部21に送出する(S70)。
【0175】
デバイス36が必要でかつスリープモードになりうる場合(S66のYes)、コマンド解釈部21はデバイス36(HDD)が立ち上がったか否かを判定する(S67)。
【0176】
立ち上がっていない場合(S67のNo),コマンド解釈部21は立ち上がるまでチェックを繰り返す。立ち上がった場合(S67のYes)、コマンド処理部22はデバイス制御部23に情報取得を要求する(S68)。デバイス制御部23はHDDからから機器情報を取得しコマンド処理部22に機器情報を通知する(S69)。また、コマンド処理部22は、情報取得に成功したこと、及び、取得した機器情報をコマンド解釈部21に送出する(S70)。
【0177】
本実施例によれば、コマンドの発信元に基づきキャッシュの機器情報を使用するか否かを判定して、キャッシュの機器情報を使用する場合にはデバイス36を立ち上げる必要がないので、タイムアウトを防止できる。また、デバイス36の機器情報を使用してコマンド処理を行う場合には立ち上がりを待たずにコマンド解釈部21に処理要求を送出するのでタイムアウトすることがない。
【実施例7】
【0178】
実施例6ではコマンドの発信元に基づきキャッシュされた機器情報を使用するか否かを判定したが、本実施例では直ちに機器情報を取得するコマンドか否かに基づきャッシュされた機器情報を使用するか否かを判定する。なお、本実施例の印刷システムの構成は実施例4と同様である。
【0179】
図26は機器情報がキャッシュされている場合にコマンド処理部22がコマンド処理を行うフローチャート図の一例を示す。
【0180】
まず、コマンド処理部22は、データ受信部32からコマンド受信通知を受け取る(S91)。ついで、コマンド処理部22は、直ちに機器情報を取得するコマンドか否かを判定する(S92)。
【0181】
図27は、直ちに機器情報を取得するコマンドを記録した本実施例のキャッシュ使用可否判定テーブルを示す。図27には、直ちに機器情報を取得するコマンドとして「機器名称の取得」、「バージョン情報」等が登録されている。図27のコマンドは、不変な機器情報を取得するもののうちから、緊急性の高い機器情報として登録されるものである。したがって、図27に示すように、コンピュータ11から「機器名称の取得」コマンドが送信された場合、画像形成装置12は直ちに機器情報を送信するためキャッシュされている機器情報を使用する。
【0182】
以降の処理は図20と同様である。
直ちに機器情報を取得する必要のあるコマンドの場合(S92のYes)、コマンド処理部22はデバイス制御部23に情報取得を要求する(S68)。デバイス制御部23はキャッシュから機器情報を取得しコマンド処理部22に機器情報を通知する(S69)。また、コマンド処理部22は、情報取得に成功したこと、及び、取得した機器情報をコマンド解釈部21に送出する(S70)。このように、キャッシュしてある機器情報を使用できる場合、デバイス36がスリープモードに入っていてもタイムアウトすることがない。
【0183】
直ちに機器情報を取得する必要のあるコマンドでない場合(S92のNo)、コマンド処理部22はデバイス制御部23にデバイス36(例えばHDD)の立ち上げを要求する(S63)。すなわち、デバイス36を使用する処理か否か又は立ち上げの必要なデバイス36か否かを判定する前に、デバイス36の立ち上げが開始される。
【0184】
コマンド処理部22は、コマンド解釈要求をコマンド解釈部21に要求する(S64)。コマンド解釈部21は、コマンド処理に必要なデバイスとそのデバイスがスリープモードになりうるか否かを解釈する。コマンド処理部22は、コマンド解釈部21からコマンド処理要求を受け取る(S65)。
【0185】
ついで、コマンド処理部22は、コマンドの処理にデバイス36が必要かつスリープモードになるか否かを判定する(S66)。デバイス36が必要でないか又はスリープモードにならない場合(S66のNo)、コマンド処理部22はデバイス制御部23に情報取得を要求する(S68)。デバイス制御部23はキャッシュから機器情報を取得しコマンド処理部22に機器情報を通知する(S69)。また、コマンド処理部22は、情報取得に成功したこと、及び、取得した機器情報をコマンド解釈部21に送出する(S70)。
【0186】
デバイス36が必要でかつスリープモードになりうる場合(S66のYes)、コマンド解釈部21はデバイス36(HDD)が立ち上がったか否かを判定する(S67)。
【0187】
立ち上がっていない場合(S67のNo),コマンド解釈部21は立ち上がるまでチェックを繰り返す。立ち上がった場合(S67のYes)、コマンド処理部22はデバイス制御部23に情報取得を要求する(S68)。デバイス制御部23はHDDからから機器情報を取得しコマンド処理部22に機器情報を通知する(S69)。また、コマンド処理部22は、情報取得に成功したこと、及び、取得した機器情報をコマンド解釈部21に送出する(S70)。
【0188】
本実施例によれば、コマンドに基づきキャッシュの機器情報を使用するか否かを判定して、キャッシュの機器情報を使用する場合にはデバイス36を立ち上げる必要がないので、タイムアウトを防止できる。また、デバイス36の機器情報を使用してコマンド処理を行う場合には立ち上がりを待たずにコマンド解釈部21に処理要求を送出するのでタイムアウトすることがない。
【実施例8】
【0189】
実施例6ではコマンドの発信元に基づきキャッシュされた機器情報を使用するか否かを判定したが、本実施例ではコマンドの発信元が正確な機器情報を取得する必要のあるコマンドの発信元か否かに基づきャッシュされた機器情報を使用するか否かを判定する。なお、本実施例の印刷システムの構成は実施例4と同様である。
【0190】
図28は機器情報がキャッシュされている場合にコマンド処理部22がコマンド処理を行うフローチャート図の一例を示す。
【0191】
まず、コマンド処理部22は、データ受信部32からコマンド受信通知を受け取る(S101)。ついで、コマンド処理部22は、コマンドの発信元のコンピュータ11が正確な機器情報を取得する必要のある発信元か否かを判定する(S102)。
【0192】
図29は正確な機器情報を取得する必要のある発信元を記録した本実施例のキャッシュ使用可否判定テーブルを示す。図29には、正確な機器情報を取得する必要のある発信元としてIPアドレスが登録されている。したがって、図29に示すように、「133.139.aaa.bbb」等からコマンドが送信されると、正確な機器情報を送信するためデバイス36から直接取得した機器情報を使用する。
【0193】
以降の処理は図20と同様である。
正確な機器情報を取得する必要のある発信元からコマンドを受信した場合(S102のYes)、コマンド処理部22はデバイス制御部23に情報取得を要求する(S68)。デバイス制御部23はキャッシュから機器情報を取得しコマンド処理部22に機器情報を通知する(S69)。また、コマンド処理部22は、情報取得に成功したこと、及び、取得した機器情報をコマンド解釈部21に送出する(S70)。このように、キャッシュしてある機器情報を使用できる場合、デバイス36がスリープモードに入っていてもタイムアウトすることがない。
【0194】
正確な機器情報を取得する必要のある発信元からコマンドを受信していない場合(S102のNo)、コマンド処理部22はデバイス制御部23にデバイス36(例えばHDD)の立ち上げを要求する(S63)。すなわち、デバイス36を使用する処理か否か又は立ち上げの必要なデバイス36か否かを判定する前に、デバイス36の立ち上げが開始される。
【0195】
コマンド処理部22は、コマンド解釈要求をコマンド解釈部21に要求する(S64)。コマンド解釈部21は、コマンド処理に必要なデバイスとそのデバイスがスリープモードになりうるか否かを解釈する。コマンド処理部22は、コマンド解釈部21からコマンド処理要求を受け取る(S65)。
【0196】
ついで、コマンド処理部22は、コマンドの処理にデバイス36が必要かつスリープモードになるか否かを判定する(S66)。デバイス36が必要でないか又はスリープモードにならない場合(S66のNo)、コマンド処理部22はデバイス制御部23に情報取得を要求する(S68)。デバイス制御部23はキャッシュから機器情報を取得しコマンド処理部22に機器情報を通知する(S69)。また、コマンド処理部22は、情報取得に成功したこと、及び、取得した機器情報をコマンド解釈部21に送出する(S70)。
【0197】
デバイス36が必要でかつスリープモードになりうる場合(S66のYes)、コマンド解釈部21はデバイス36(HDD)が立ち上がったか否かを判定する(S67)。
【0198】
立ち上がっていない場合(S67のNo),コマンド解釈部21は立ち上がるまでチェックを繰り返す。立ち上がった場合(S67のYes)、コマンド処理部22はデバイス制御部23に情報取得を要求する(S68)。デバイス制御部23はHDDからから機器情報を取得しコマンド処理部22に機器情報を通知する(S69)。また、コマンド処理部22は、情報取得に成功したこと、及び、取得した機器情報をコマンド解釈部21に送出する(S70)。
【0199】
本実施例によれば、コマンドの発信元に基づき、それほど正確な機器情報を必要としないコマンドの発信元であれば、キャッシュの機器情報を使用するためデバイス36を立ち上げる必要がないので、タイムアウトを防止できる。また、正確な機器情報を必要とするコマンドの発信元の場合デバイス36の機器情報を使用してコマンド処理を行うが、立ち上がりを待たずにコマンド解釈部21に処理要求を送出するのでタイムアウトすることがない。
【実施例9】
【0200】
実施例8ではコマンドの発信元が正確な機器情報を取得する必要のあるコマンドの発信元か否かに基づきキャッシュされた機器情報を使用するか否かを判定したが、本実施例ではコマンドが正確な機器情報を必要とするコマンドか否かに基づきキャッシュされた機器情報を使用するか否かを判定する。なお、本実施例の印刷システムの構成は実施例4と同様である。
【0201】
図30は機器情報がキャッシュされている場合にコマンド処理部22がコマンド処理を行うフローチャート図の一例を示す。
【0202】
まず、コマンド処理部22は、データ受信部32からコマンド受信通知を受け取る(S111)。ついで、コマンド処理部22は、コマンドが正確な機器情報を取得する必要のあるコマンドか否かを判定する(S112)。
【0203】
図31は、正確な機器情報を必要とするコマンドを記録した本実施例のキャッシュ使用可否判定テーブルを示す。図31には、正確な機器情報を取得する必要のあるコマンドとして「用紙サイズ情報取得」、「用紙種類情報取得」等のコマンドが登録されている。したがって、図31に示すように、「用紙サイズ情報取得」のコマンドが送信されると、正確な機器情報を送信するためデバイス36から直接取得した機器情報を使用する。
【0204】
以降の処理は図20と同様である。
コマンドが正確な機器情報を取得する必要でないコマンドの場合(S112のNo)、コマンド処理部22はデバイス制御部23に情報取得を要求する(S68)。デバイス制御部23はキャッシュから機器情報を取得しコマンド処理部22に機器情報を通知する(S69)。また、コマンド処理部22は、情報取得に成功したこと、及び、取得した機器情報をコマンド解釈部21に送出する(S70)。このように、キャッシュしてある機器情報を使用できる場合、デバイス36がスリープモードに入っていてもタイムアウトすることがない。
【0205】
コマンドが正確な機器情報を取得する必要のあるコマンドでない場合(S112のYes)、コマンド処理部22はデバイス制御部23にデバイス36(例えばHDD)の立ち上げを要求する(S63)。すなわち、デバイス36を使用する処理か否か又は立ち上げの必要なデバイス36か否かを判定する前に、デバイス36の立ち上げが開始される。
【0206】
コマンド処理部22は、コマンド解釈要求をコマンド解釈部21に要求する(S64)。コマンド解釈部21は、コマンド処理に必要なデバイスとそのデバイスがスリープモードになりうるか否かを解釈する。コマンド処理部22は、コマンド解釈部21からコマンド処理要求を受け取る(S65)。
【0207】
ついで、コマンド処理部22は、コマンドの処理にデバイス36が必要かつスリープモードになるか否かを判定する(S66)。デバイス36が必要でないか又はスリープモードにならない場合(S66のNo)、コマンド処理部22はデバイス制御部23に情報取得を要求する(S68)。デバイス制御部23はキャッシュから機器情報を取得しコマンド処理部22に機器情報を通知する(S69)。また、コマンド処理部22は、情報取得に成功したこと、及び、取得した機器情報をコマンド解釈部21に送出する(S70)。
【0208】
デバイス36が必要でかつスリープモードになりうる場合(S66のYes)、コマンド解釈部21はデバイス36(HDD)が立ち上がったか否かを判定する(S67)。
【0209】
立ち上がっていない場合(S67のNo),コマンド解釈部21は立ち上がるまでチェックを繰り返す。立ち上がった場合(S67のYes)、コマンド処理部22はデバイス制御部23に情報取得を要求する(S68)。デバイス制御部23はHDDからから機器情報を取得しコマンド処理部22に機器情報を通知する(S69)。また、コマンド処理部22は、情報取得に成功したこと、及び、取得した機器情報をコマンド解釈部21に送出する(S70)。
【0210】
本実施例によれば、コマンドに基づき、それほど正確な機器情報を必要としないコマンドであればキャッシュの機器情報を使用するためデバイス36を立ち上げる必要がないので、タイムアウトを防止できる。また、正確な機器情報を必要とするコマンドの場合デバイス36の機器情報を使用してコマンド処理を行うが、立ち上がりを待たずにコマンド解釈部21に処理要求を送出するのでタイムアウトすることがない。
【実施例10】
【0211】
実施例9ではコマンドが正確な機器情報を必要とするコマンドか否かに基づきキャッシュされた機器情報を使用するか否かを判定したが、本実施例ではコマンドの発信元が正確な機器情報を直ちに取得する必要のある発信元か否かに基づきキャッシュされた機器情報を使用するか否かを判定する。なお、本実施例の印刷システムの構成は実施例4と同様である。
【0212】
図32は機器情報がキャッシュされている場合にコマンド処理部22がコマンド処理を行うフローチャート図の一例を示す。図32のフローチャート図は、コマンド処理部22からコマンド解釈部21への処理要求がない点で実施例1〜9と異なる。
【0213】
まず、コマンド処理部22は、データ受信部32からコマンド受信通知を受け取る(S121)。ついで、コマンド処理部22は、コマンドの発信元が正確な機器情報を直ちに取得する必要のある発信元か否かを判定する(S122)。
【0214】
図33(a)は、発信元が正確な機器情報を直ちに取得する必要のある発信元を記録した本実施例のキャッシュ使用可否判定テーブルを示す。図33(a)には、正確な機器情報を直ちに取得する必要のある発信元としてIPアドレスが登録されている。したがって、図33(a)に示すように、「133.139.aaa.ccc」からコマンドが送信されると、正確な機器情報を直ちに送信するため、一定時間内にデバイス36又はキャッシュから取得した機器情報を使用して発信元に機器情報を送信する。
【0215】
コマンドの発信元が正確な機器情報を直ちに取得する必要のある発信元でない場合(S122のNo)、コマンド処理部22はデバイス制御部23に情報取得を要求する(S129)。デバイス制御部23はキャッシュから機器情報を取得しコマンド処理部22に機器情報を通知する(S130)。また、コマンド処理部22は、情報取得に成功したこと、及び、取得した機器情報をコマンド解釈部21に送出する(S131)。このように、キャッシュしてある機器情報を使用できる場合、デバイス36がスリープモードに入っていてもタイムアウトすることがない。
【0216】
正確な機器情報を直ちに取得する必要のある発信元の場合(S122のYes)、コマンド処理部22はデバイス制御部23にデバイス36(例えばHDD)の立ち上げを要求する(S123)。すなわち、デバイス36を使用する処理か否か又は立ち上げの必要なデバイス36か否かを判定する前に、デバイス36の立ち上げが開始される。
【0217】
ついで、コマンド処理部22は、コマンド解釈要求をコマンド解釈部21に要求する(S124)。コマンド解釈部21は、コマンド処理に必要なデバイスとそのデバイスがスリープモードになりうるか否かを解釈する。コマンド処理部22は、コマンド解釈部21からコマンド処理要求を受け取る(S125)。
【0218】
ついで、コマンド処理部22は、コマンドの処理にデバイス36が必要かつスリープモードになるか否かを判定する(S126)。デバイス36が必要でないか又はスリープモードにならない場合(S126のNo)、コマンド処理部22はデバイス制御部23に情報取得を要求する(S129)。デバイス制御部23はキャッシュから機器情報を取得しコマンド処理部22に機器情報を通知する(S130)。また、コマンド処理部22は、情報取得に成功したこと、及び、取得した機器情報をコマンド解釈部21に送出する(S131)。
【0219】
デバイス36が必要でかつスリープモードになりうる場合(S126のYes)、コマンド解釈部21はデバイス36(HDD)が立ち上がったか否かを判定する(S127)。
【0220】
HDDが立ち上がっていない場合(S127のNo)、コマンド処理部22はコマンド受信通知から予め定めた一定時間が経過したか否かを判定する(S128)。一定時間とは、コマンド解釈部21がタイムアウトしない時間内であって、さらに、「直ちに」を満たす程度の時間である。一定時間が経過していない場合(S128のYes)、デバイス36が立ち上がったか否かの判定を繰り返す(S127)。
【0221】
一定時間が経過した場合(S128のNo)、コマンド処理部22は、デバイス制御部23に情報取得を要求する(S129)。デバイス制御部23はキャッシュから機器情報を取得しコマンド処理部22に機器情報を通知する(S130)。また、コマンド処理部22は、情報取得に成功したこと、及び、取得した機器情報をコマンド解釈部21に送出する(S131)。
【0222】
すなわち、本実施例では発信元が直ちに機器情報を取得するため、一定時間が経過したらデバイス36の立ち上がりを待たずに、キャッシュから機器情報を取得する。これにより、「直ちに」の要求を満たすと共に、タイムアウトを防止できる。
【0223】
本実施例によれば、コマンドの発信元が正確な機器情報を直ちに取得する発信元である場合、デバイス36から機器情報の取得を試みるが、一定時間内にデバイス36が立ち上がらない場合はキャッシュから機器情報を取得するので、タイムアウトを防止できる。
【0224】
ところで、本実施例ではデバイス36の立ち上がりを待つ時間を一定時間としたが、デバイス36の立ち上がりを待つ時間をコマンドの発信元毎に変えてもよい。図33(b)は発信元に対応づけて、デバイス36の立ち上がりを待つ時間を登録したキャッシュ使用可否判定テーブルを示す。図33(b)のようなキャッシュ使用可否判定テーブルであれば、発信元に応じてデバイス36の立ち上がりを待つ時間を変更できる。
【0225】
図33(b)のキャッシュ使用可否判定テーブルは、予めNV−RAM117等に格納されていてもよいし、ユーザにより設定されてもよい。ユーザは操作パネル101や画像形成装置12からコンピュータ11に提供されるWebアプリにより、キャッシュ使用可否判定テーブルの立ち上がりを待ち時間を設定できる。
【0226】
なお、ユーザが好みの待ち時間を設定する場合には、タイムアウトを防止するため、所定のタイミングで(例えば、S122とS123の間)コマンド処理部22からコマンド解釈部21へ処理要求を送る処理を行うことが好適である。
【実施例11】
【0227】
実施例10ではコマンドの発信元が正確な機器情報を直ちに取得する必要のある発信元か否かに基づきキャッシュされた機器情報を使用するか否かを判定したが、本実施例ではコマンドが正確な機器情報を直ちに取得する必要のあるコマンドか否かに基づきキャッシュされた機器情報を使用するか否かを判定する。なお、本実施例の印刷システムの構成は実施例4と同様である。
【0228】
図34は機器情報がキャッシュされている場合にコマンド処理部22がコマンド処理を行うフローチャート図の一例を示す。図34のフローチャート図において、図32と同一ステップには同一の符号を付した。
【0229】
まず、コマンド処理部22は、データ受信部32からコマンド受信通知を受け取る(S131)。ついで、コマンド処理部22は、コマンドの発信元が正確な機器情報を直ちに取得する必要のある発信元か否かを判定する(S132)。
【0230】
図35(a)は、正確な機器情報を直ちに取得する必要のあるコマンドを記録した本実施例のキャッシュ使用可否判定テーブルを示す。図35(a)には、正確な機器情報を直ちに取得する必要のあるコマンドとして「用紙残量取得」や「トナー残量取得」等が登録されている。したがって、図35(a)に示すように、「用紙残量取得」のコマンドが送信されると、正確な機器情報を直ちに送信するため、一定時間内にデバイス36又はキャッシュから取得した機器情報を使用して発信元に機器情報を送信する。
【0231】
コマンドが正確な機器情報を直ちに取得する必要のあるコマンドでない場合(S122のNo)、コマンド処理部22はデバイス制御部23に情報取得を要求する(S129)。デバイス制御部23はキャッシュから機器情報を取得しコマンド処理部22に機器情報を通知する(S130)。また、コマンド処理部22は、情報取得に成功したこと、及び、取得した機器情報をコマンド解釈部21に送出する(S131)。このように、キャッシュしてある機器情報を使用できる場合、デバイス36がスリープモードに入っていてもタイムアウトすることがない。
【0232】
コマンドが正確な機器情報を直ちに取得する必要のあるコマンドの場合(S132のYes)、コマンド処理部22はデバイス制御部23にデバイス36(例えばHDD)の立ち上げを要求する(S123)。すなわち、デバイス36を使用する処理か否か又は立ち上げの必要なデバイス36か否かを判定する前に、デバイス36の立ち上げが開始される。
【0233】
ついで、コマンド処理部22は、コマンド解釈要求をコマンド解釈部21に要求する(S124)。コマンド解釈部21は、コマンド処理に必要なデバイスとそのデバイスがスリープモードになりうるか否かを解釈する。コマンド処理部22は、コマンド解釈部21からコマンド処理要求を受け取る(S125)。
【0234】
ついで、コマンド処理部22は、コマンドの処理にデバイス36が必要かつスリープモードになるか否かを判定する(S126)。デバイス36が必要でないか又はスリープモードにならない場合(S126のNo)、コマンド処理部22はデバイス制御部23に情報取得を要求する(S129)。デバイス制御部23はキャッシュから機器情報を取得しコマンド処理部22に機器情報を通知する(S130)。また、コマンド処理部22は、情報取得に成功したこと、及び、取得した機器情報をコマンド解釈部21に送出する(S131)。
【0235】
デバイス36が必要でかつスリープモードになりうる場合(S126のYes)、コマンド解釈部21はデバイス36(HDD)が立ち上がったか否かを判定する(S127)。
【0236】
HDDが立ち上がっていない場合(S127のNo)、コマンド処理部22はコマンド受信通知から予め定めた一定時間が経過したか否かを判定する(S128)。一定時間とは、コマンド解釈部21がタイムアウトしない時間内であって、さらに、「直ちに」を満たす程度の時間である。一定時間が経過していない場合(S128のYes)、デバイス36が立ち上がったか否かの判定を繰り返す(S127)。
【0237】
一定時間が経過した場合(S128のNo)、コマンド処理部22は、デバイス制御部23に情報取得を要求する(S129)。デバイス制御部23はキャッシュから機器情報を取得しコマンド処理部22に機器情報を通知する(S130)。また、コマンド処理部22は、情報取得に成功したこと、及び、取得した機器情報をコマンド解釈部21に送出する(S131)。
【0238】
すなわち、本実施例では発信元が直ちに機器情報を取得するため、一定時間が経過したらデバイス36の立ち上がりを待たずに、キャッシュから機器情報を取得する。これにより、「直ちに」の要求を満たすと共に、タイムアウトを防止できる。
【0239】
本実施例によれば、コマンドが正確な機器情報を直ちに取得するコマンドである場合デバイス36から機器情報の取得を試みるが、一定時間内にデバイス36が立ち上がらない場合はキャッシュから機器情報を取得するので、タイムアウトを防止できる。
【0240】
ところで、本実施例ではデバイス36の立ち上がりを待つ時間を一定時間としたが、デバイス36の立ち上がりを待つ時間をコマンド毎に変えてもよい。図35(b)はコマンドに対応づけて、デバイス36の立ち上がりを待つ時間を登録したキャッシュ使用可否判定テーブルを示す。図35(b)のようなキャッシュ使用可否判定テーブルであれば、コマンドに応じてデバイス36の立ち上がりを待つ時間を変更できる。
【0241】
図35(b)のキャッシュ使用可否判定テーブルは、予めNV−RAM117等に格納されていてもよいし、ユーザにより設定されてもよい。ユーザは操作パネル101や画像形成装置12からコンピュータ11に提供されるWebアプリにより、キャッシュ使用可否判定テーブルの立ち上がりを待ち時間を設定できる。
【0242】
なお、ユーザが好みの待ち時間を設定する場合には、所定のタイミングで(例えば、S122とS123の間)コマンド処理部22からコマンド解釈部21への処理要求を送る処理を行うことが好適である。
【0243】
以上説明したように、本実施の形態の画像形成装置12は、機器情報を要求されたデバイスが立ち上がっていない場合でもタイムアウトすることがない。
【図面の簡単な説明】
【0244】
【図1】ネットワークを介して接続された画像形成装置とコンピュータとからなる印刷システムの構成図である。
【図2】コマンドに指定された機器情報をデバイスから取得するシーケンス図である。
【図3】画像形成装置のハードウェア構成を示すブロック図である。
【図4】画像形成装置の機能構成図である。
【図5】画像形成装置がタイムアウトを生じさせずにコマンドを処理する制御のシーケンス図である。
【図6】コマンド解釈部がコマンドを解釈した結果に応じて、コマンド処理部が処理を行う概念を示す一例である。
【図7】デバイステーブルの一例である。
【図8】デバイス立ち上げテーブルの一例である。
【図9】コマンド解釈部の処理手順を示すフローチャート図である。
【図10】デバイスの立ち上げが必要な場合のコマンド処理部の処理手順を示すフローチャート図である。
【図11】デバイスの立ち上げが必要ない場合のコマンド処理部の処理手順を示すフローチャート図である。
【図12】デバイス制御部の処理手順を示すフローチャート図である。
【図13】コマンド解釈の後にデバイス36を立ち上げるコマンド処理部の処理手順を示すフローチャート図の一例を示す。
【図14】ネットワークを介して画像形成装置、コンピュータ及びHDDとが接続された印刷システムの構成図である。
【図15】コマンド処理部22がネットワークに接続されたデバイスから情報を取得する処理手順のフローチャート図である。
【図16】実施例2のデバイステーブルの一例である
【図17】実施例3の印刷システムの構成図である。
【図18】コマンド処理部がネットワークに接続された複数のデバイスから情報を取得する処理手順のフローチャート図である。
【図19】デバイス制御部が機器情報をキャッシュする処理のフローチャート図である。
【図20】実施例4における機器情報がキャッシュされている場合にコマンド処理部がコマンドを処理する制御のフローチャート図である。
【図21】実施例4におけるキャッシュ使用可否判定テーブルの一例である。
【図22】実施例5におけるコマンド処理部がコマンドを処理する制御のフローチャート図である。
【図23】実施例5におけるキャッシュ使用可否判定テーブルである。
【図24】実施例6におけるコマンド処理部がコマンドを処理する制御のフローチャート図である。
【図25】実施例6におけるキャッシュ使用可否判定テーブルである。
【図26】実施例7におけるコマンド処理部がコマンドを処理する制御のフローチャート図である。
【図27】実施例7におけるキャッシュ使用可否判定テーブルである。
【図28】実施例8におけるコマンド処理部がコマンドを処理する制御のフローチャート図である。
【図29】実施例8におけるキャッシュ使用可否判定テーブルである。
【図30】実施例9におけるコマンド処理部がコマンドを処理する制御のフローチャート図である。
【図31】実施例9におけるキャッシュ使用可否判定テーブルである。
【図32】実施例10におけるコマンド処理部がコマンドを処理する制御のフローチャート図である。
【図33】実施例10におけるキャッシュ使用可否判定テーブルである。
【図34】実施例11におけるコマンド処理部がコマンドを処理する制御のフローチャート図である。
【図35】実施例11におけるキャッシュ使用可否判定テーブルである。
【符号の説明】
【0245】
11 コンピュータ
12 画像形成装置
13 ネットワーク
21 コマンド解釈部
22 コマンド処理部
23 デバイス制御部
32 データ受信部
33 データ送信部
34 データ処理部
36 デバイス

【特許請求の範囲】
【請求項1】
ネットワークを介して接続されたコンピュータよりコマンドを受信するデータ受信部と、前記データ受信部により受信した前記コマンドを処理するコマンド処理部と、前記コマンド処理部が取得した機器情報を前記コンピュータに送信するデータ送信部とを有する画像形成装置において、
前記コマンド処理部は、前記コマンド処理部が前記機器情報を取得するデバイスの立ち上がり完了を待たずに、前記コマンドを解釈するコマンド解釈部に前記コマンドの解釈を要求する、
ことを特徴とする画像形成装置。
【請求項2】
前記コマンド処理部は、前記コマンド解釈部から前記コマンドの解釈結果を受け取る前に、前記デバイスを制御するデバイス制御部に前記デバイスの立ち上げを依頼する、
ことを特徴とする請求項1記載の画像形成装置。
【請求項3】
前記コマンド解釈部は、前記コマンドに対応づけて前記デバイスを登録したデバイステーブル、を有し、
前記コマンド解釈部は、前記デバイステーブルを参照して前記コマンドに対応づけられた前記デバイスを抽出し、
前記コマンド処理部は、前記デバイスを制御する前記デバイス制御部に、前記コマンド解釈部により抽出された前記デバイスの立ち上げを要求する、
ことを特徴とする請求項1記載の画像形成装置。
【請求項4】
ネットワークを介して接続されたコンピュータよりコマンドを受信するデータ受信部と、前記データ受信部により受信した前記コマンドを処理するコマンド処理部と、前記コマンド処理部が取得した機器情報を前記コンピュータに送信するデータ送信部とを有する画像形成装置において、
前記コマンド処理部が前記機器情報を取得するデバイスが前記ネットワークに接続されている場合、
前記コマンド処理部は、前記デバイスにアクセスする前に、前記コマンドを解釈するコマンド解釈部に前記コマンドの解釈を要求する、
ことを特徴とする画像形成装置。
【請求項5】
複数の前記デバイスが前記ネットワークに接続されている場合、
前記コマンド処理部は、前記デバイスを制御するデバイス制御部に第1の前記デバイスへのアクセスを依頼し、
前記デバイス制御部が第1の前記デバイスと所定時間以上アクセスできない場合、前記デバイス制御部は第2の前記デバイスへのアクセスを依頼する、
ことを特徴とする請求項4記載の画像形成装置。
【請求項6】
前記デバイスが有する前記機器情報をキャッシュするキャッシュ手段を有し、
前記デバイス制御部は、前記デバイスがスリープモードに入る場合、又は、所定時間毎に、前記機器情報を前記キャッシュ手段にキャッシュする、
ことを特徴とする請求項1ないし5いずれか記載の画像形成装置。
【請求項7】
前記コマンド処理部は、前記機器情報を前記キャッシュ手段から取得する、
ことを特徴とする請求項6記載の画像形成装置。
【請求項8】
前記機器情報を前記キャッシュ手段から取得するか否かを規定したキャッシュ使用可否判定テーブルを有し、
前記コマンド処理部は、前記キャッシュ使用可否判定テーブルを参照して前記機器情報を前記キャッシュ手段から取得するか前記デバイスから取得するかを判定する、
ことを特徴とする請求項7記載の画像形成装置。
【請求項9】
前記キャッシュ使用可否判定テーブルは、前記デバイスに固有の前記機器情報を前記キャッシュ手段から取得するように規定している、
ことを特徴とする請求項8記載の画像形成装置。
【請求項10】
前記キャッシュ使用可否判定テーブルは、前記機器情報を直ちに取得する必要のある前記コマンドの発信元を規定している、
ことを特徴とする請求項8記載の画像形成装置。
【請求項11】
前記キャッシュ使用可否判定テーブルは、前記機器情報を直ちに取得する必要のある前記コマンドを規定している、
ことを特徴とする請求項8記載の画像形成装置。
【請求項12】
前記キャッシュ使用可否判定テーブルは、正確な前記機器情報を取得する必要のある前記コマンドの発信元を規定している、
ことを特徴とする請求項8記載の画像形成装置。
【請求項13】
前記キャッシュ使用可否判定テーブルは、正確な前記機器情報を取得する必要のある前記コマンドを規定している、
ことを特徴とする請求項8記載の画像形成装置。
【請求項14】
前記キャッシュ使用可否判定テーブルは、正確な前記機器情報を直ちに取得する必要のある前記コマンドの発信元を規定し、
前記コマンドの発信元が、前記キャッシュ使用可否判定テーブルに規定されている場合であって、待ち時間が経過しても前記デバイスから前記機器情報が取得できない場合、
前記コマンド処理部は、前記機器情報を前記キャッシュ手段から取得する、
ことを特徴とする請求項8記載の画像形成装置。
【請求項15】
前記キャッシュ使用可否判定テーブルは、正確な前記機器情報を直ちに取得する必要のある前記コマンドを規定し、
前記コマンドが、前記キャッシュ使用可否判定テーブルに規定されている場合であって、待ち時間が経過しても前記デバイスから前記機器情報が取得できない場合、
前記コマンド処理部は、前記機器情報を前記キャッシュ手段から取得する、
ことを特徴とする請求項8記載の画像形成装置。
【請求項16】
前記待ち時間は、ユーザにより設定可能であることを特徴とする請求項14又は15記載の画像形成装置。
【請求項17】
ネットワークを介して接続されたコンピュータよりコマンドを受信するデータ受信部と、前記データ受信部により受信した前記コマンドを処理するコマンド処理部と、前記コマンド処理部が取得した機器情報を前記コンピュータに送信するデータ送信部とを有する画像形成装置のデータ処理方法において、
前記コマンド処理部は、前記コマンド処理部が前記機器情報を取得するデバイスの立ち上がり完了を待たずに、前記コマンドを解釈するコマンド解釈部に前記コマンドの解釈を要求する、
ことを特徴とするデータ処理方法。
【請求項18】
ネットワークを介して接続された第1のコンピュータよりコマンドを受信するステップと、
前記コマンドに基づき取得される前記機器情報を有するデバイスの立ち上がり完了を待たずに、前記コマンドの解釈を要求するステップと、
前記コマンドの解釈結果に応じた処理をするステップと、
前記処理の結果が取得された前記機器情報を前記第1のコンピュータに送信するステップと、
を第2のコンピュータに実行させるためのプログラム。
【請求項19】
請求項18記載のプログラムが記憶されたコンピュータ読み取り可能な記憶媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図30】
image rotate

【図31】
image rotate

【図32】
image rotate

【図33】
image rotate

【図34】
image rotate

【図35】
image rotate


【公開番号】特開2007−203529(P2007−203529A)
【公開日】平成19年8月16日(2007.8.16)
【国際特許分類】
【出願番号】特願2006−23045(P2006−23045)
【出願日】平成18年1月31日(2006.1.31)
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】