(57)【要約】【課題】  ＳＮＭＰ通信を介したプリンタＭＩＢ情報によるプリント情報の取得はデバイスごとに実装形態が異なることが特徴である。最新のジョブ情報を取得しようとするとき、ＭＩＢの実装形態より次のことが問題となる。最新のジョブを判断するため、保存されているジョブ数を毎回検索しなければならない。複数ユーザや大量印刷が頻繁に行われる場合、情報取得時に再度検索しなければならない。【解決手段】  ＳＮＭＰによって通信する回数をいかに少なくするかを課題とした探索手法を提案する。提案する手法は複数ありこれらを使い分けることでより効率のよい探索手段を確立する。【選択図】  図１
2007026076.tif 000002
【特許請求の範囲】
【請求項１】
公知であるSNMP(Simple Network Management Protocol)通信技術のMIB(Management Information Base)情報を利用した、画像形成装置の情報取得において、所望の情報を取得するまでに有効なMIB情報検索手段とMIB情報検索手段を複数もちあわせることによりMIB情報取得の使い分けを行う手段と、画像形成装置から情報を取得するさいにMIB情報を利用する通信手段におけるMIB情報検索手段と、上記画像形成装置からデータ処理を行う情報処理装置上で動作する印刷システムが前記MIB情報検索手段を用いることを特徴としたMIB情報検索機能をもつ装置。
【請求項２】
公知であるSNMP通信技術のMIB情報を利用した、画像形成装置の情報取得において、所望の情報を取得するまでに有効なMIB情報検索方法手段とMIB情報検索手段を複数もちあわせることによりMIB情報取得の使い分けを行う手段と、画像形成装置から情報を取得するさいにMIB情報を利用する通信手段におけるMIB情報検索機能をもつ装置。
【請求項３】
画像形成装置から情報を取得する際にMIB情報を利用する通信手段におけるMIB情報検索手段と、上記画像形成装置からデータ処理を行う情報処理装置上で動作する印刷システムが前記MIB情報検索手段を用いることを特徴としたMIB情報検索機能をもつ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、SNMP通信技術のMIB情報を利用した装置、またはプリンタ、スキャナ、ファクシミリ、複写機等、およびこれらの複合機の機能を有する画像形成装置、制御方法、制御プログラムに関するものである。
【背景技術】
【０００２】
従来から、公知であるSNMP通信技術を利用し、MIB情報を参照することでプリンタ（印刷装置）、スキャナ、複写機、または、それらを統合したマルチファンクション機器（ＭＦＰ）などの画像形成装置、または、その他多くの情報機器の情報を取得することが可能であった。しかし前記のMIB情報を利用した情報取得手段では使用者がそれらの情報の指標であるOIDを把握していることが望ましい形態であった。この情報取得の指標であるOIDは情報機器製造メーカによって公開されているもの（公開MIB）と公開されていないもの（非公開MIB）が存在し、公開されていないものについては使用者が推測するしか手段がなかった。
【０００３】
またこの情報機器の情報を取得できる特徴を利用し、画像形成装置に記録される情報を取得し管理する印刷システム（例えば、特許文献２、特許文献３参照）などで画像形成装置から情報を取得する際にMIBを使用する形態がある。
【０００４】
この形態は前記印刷システムが、情報を取得しようとする画像形成装置のプロトコル規格が利用できない場合に、特に有効であり、このような場合従来では公開されている情報しか利用できなかったため（非公開のMIB情報を取得するのが困難である）取得情報が限られるという問題点があった。
【特許文献１】特開平06-078094号公報
【特許文献２】特開2001-282475号公報
【特許文献３】特開2002-116899号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
前記の非公開のMIB情報を取得しようとした場合の問題点を解決する手法を提案し、それらを応用することで公開情報取得プロセスの見直し、効率的な探索手法を提案する。
【課題を解決するための手段】
【０００６】
上述した課題・問題点を解決するために、本発明は、SNMPによって通信する回数をいかに少なくするかを課題とした探索手法を提案する。提案する手法は複数ありこれらを使い分けることでより効率のよい探索手段を確立する。
【発明の効果】
【０００７】
本発明によって非公開MIB探索に対する通信回数の減少を実現し、非公開MIBだけでなく公開MIBにおいても所望の情報取得の効率化を図ることができる。また一実施形態として、前記印刷システムにおける画像形成装置からのMIBを利用した情報取得の通信負荷減少効果をあげることができる。
【発明を実施するための最良の形態】
【０００８】
（実施例１）
以下、図面を用いて、本発明の実施例を詳細に説明する。実施例１では前記印刷システムに本発明を利用した場合における、情報取得プロセスを説明する。
【０００９】
図１は、本発明を利用する印刷システム（NetSpot Accountant）全体の基本的な構成図である。１１０及び１２０は、クライアントコンピュータである。１３０は、サーバコンピュータである。それぞれクライアントコンピュータ及びサーバコンピュータは、図２のような制御構成になっている。１４０はプリンタである。プリンタ１４０は、印刷履歴を保持する機能（印刷履歴保持機能）を備えている。１５０はＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｉｒｎｔｅｒ）である。ＭＦＰ１５０は、プリンタ機能、コピー機能、スキャナ機能、印刷履歴保持機能を備えている。プリンタ１４０及びＭＦＰ１５０は、図３のような制御構成になっている。１６０は、従来のプリンタ（従来プリンタ）である。従来プリンタ１６０は、印刷履歴保持機能を備えていないものとする。１１０、１２０、１３０、１４０、１５０、１６０の装置は、ネットワークを介して他の装置と通信を行なうことができる。クライアントコンピュータ１１０において、アプリケーション１１１がＧＤＩ１１２を呼び出すことにより、ＧＤＩ１１２は、アプリケーションからの指示に応じて印刷データを生成し、その印刷データをスプーラ１１３に送信する。ジョブアカウントクライアントアプリケーション１１４は、アプリケーションがＧＤＩを呼び出すのを監視（フック）して、その印刷データに係るジョブの情報を蓄積する。スプーラ１１３は、ネットワークを介して周辺機器（プリンタ１４０、ＭＦＰ１５０、従来プリンタ１６０）と通信し、周辺機器がレディ状態であれば印刷データを送信する。また、クライアントコンピュータ１２０がプリントサーバとして機能している場合には、ＧＤＩ１１２が生成した印刷データはスプーラ１２３に送信される。ジョブアカウントクライアントアプリケーション１１４は、ジョブアカウントサーバアプリケーション１３１に、定期的に蓄積したジョブ情報を送信する。クライアントコンピュータ１２０において、アプリケーション１２１、ＧＤＩ１２２、スプーラ１２３は、それぞれアプリケーション１１０、ＧＤＩ１１２、スプーラ１１３と同じ動きをする。ジョブアカウントクライアントアプリケーション１２４は、定期的にスプーラ１２３を監視する。スプーラ１２３にスプールされている印刷ジョブがあれば、ジョブアカウントクライアントコンピュータ１２４はＡＰＩを用いてその印刷ジョブの情報を取得する。具体的には、印刷ジョブの排紙枚数やページ数を取得する。そして、ジョブアカウントクライアントコンピュータ１２４は、蓄積したジョブ情報をジョブアカウントサーバアプリケーション１３１に送信する。ジョブアカウントクライアントアプリケーション１２４が定期的にスプーラ１２３を監視しなくても、ＯＳがスプーラ１２３の状態が変化したことを他のアプリケーションに伝える機能を備えていればよい。印刷ジョブがスプーラ１２３にスプールされたことをＯＳがジョブアカウントクライアントアプリケーション１２４に伝えればよい。サーバコンピュータ１３０において、ジョブアカウントサーバアプリケーション１３１は、ジョブアカウントクライアントアプリケーション１１４及び１２４からジョブ情報を受信し、図２のＨＤ２０６などの不揮発性記憶装置にジョブ情��を格納する。更に、ジョブアカウントサーバアプリケーション１３１は、ネットワークに接続された周辺機器それぞれがジョブ履歴保持機能を有しているかを調査する。そして、ジョブ履歴保持機能を有する周辺機器からジョブ履歴（ジョブ情報）を取得する。
【００１０】
図２は、クライアントコンピュータ１０１０、クライアントコンピュータ１０２０、サーバコンピュータ１０３０の制御構成を示す図である。２０１は、ＣＰＵ（中央処理装置）である。ＣＰＵ２０１は、このコンピュータ装置全体の制御、演算処理などを行なう。２０２は、ＲＯＭ（読み出し専用メモリ）である。ＲＯＭ２０２は、システム起動プログラムの情報などが格納されている記憶領域となっている。２０３は、ＲＡＭ（ランダムアクセスメモリ）である。ＲＡＭ２０３は、使用制限のないデータ記憶領域となっている。オペレーティングシステム（ＯＳ）、アプリケーションプログラム、デバイスドライバ（プリンタドライバ）、通信制御用のプログラムなどはＲＡＭ２０３にロードされて、ＣＰＵ２０１によって実行される。
【００１１】
２０４は、ＫＢＣ（キーボード制御部）である。ＫＢＣ２０４は、コンピュータに付属のキーボードから入力データを受け取り、ＣＰＵ２０１へ入力データを伝達する。２０５は、ＣＲＴ（ディスプレイ制御部）であり、ディスプレイ装置に対する表示制御を行なう。２０６は、ＨＤ（ハードディスク装置）である。なお、ＨＤ２０６は、他にも、ＦＤ（フレキシブルディスク装置）、ＳＲＡＭ（不揮発性記憶メモリ）などの外部記憶装置に代替可能である。ＨＤ２０６はプログラム及びデータを記憶し、これらプログラム及びデータは必要に応じてＲＡＭへロードされる。２０７は、通信部で、ネットワーク通信を制御する。この通信部２０７により、コンピュータは、ネットワークに接続されている他のコンピュータや周辺機器と通信することが可能となる。２０８は、システムバスである。上記の構成要素間でやり取りされるデータは、このシステムバス２０８を通る。
【００１２】
図３は、本発明に係るプログラムがＲＡＭ２０３にロードされ、ＣＰＵ２０１により実行可能となった状態でのメモリマップを示す図である。３１は、基本Ｉ／Ｏプログラムである。３０２は、ウィンドウシステムなどのオペレーティングシステムである。３０３は、本発明に係るプログラムである。３０４は、関連データである。３０５は、ＣＰＵ２０１がプログラムを実行するときに使用するワークエリアである。また、本発明に係るプログラム及び関連データは、フレキシブルディスク（ＦＤ）やＣＤ−ＲＯＭ中に記憶され、そこからコンピュータに供給される。図４は、本発明に係るプログラム及び関連データがＦＤやＣＤ−ＲＯＭに格納されている状態でのメモリマップを示す図である。ＦＤやＣＤ−ＲＯＭの記憶領域４００は、ボリューム情報４０１、ディレクトリ情報４０２、本発明に係るプログラムの実行ファイル４０３、ジョブアカウントの関連データファイル４０４から構成される。
【００１３】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウエア（制御プログラム）のプログラムコードを記録した記憶媒体（図４）を、図５に示すようにコンピュータに供給し、そのコンピュータの装置（ＣＰＵ２０１）が記憶媒体に格納されたプログラムコードを読出し実行することによって達成される。図４に示すプログラムやデータをコンピュータに供給する方法として図５に示すようにフレキシブルディスクＦＤ５００に記憶させてコンピュータ本体５０２に（フレキシブルディスクドライブ５０１を介して）供給する方法が一般的である。この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスクやハードディスク以外にも，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，磁気テープ，不揮発性のメモリカード，ＲＯＭなどを用いることができる。また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００１４】
図６は、周辺機器の制御構成を示す図である。６０５は、周辺機器全体を制御するコントローラ部である。コントローラ部６０５は、ＣＰＵ６０１，ＲＯＭ６０２、ＲＡＭ６０３、ＨＤ６０４から構成されている。ＣＰＵ６０１は、コントローラ部及び周辺機器全体の制御、演算処理などを行なう。ＲＯＭ６０２は、読み出し専用メモリで、システム起動プログラムなどを記憶する記憶領域である。ＲＡＭ６０３は、ランダムアクセスメモリで、データ記憶領域である。ＨＤ６０４は、ハードディスクであり、ＳＲＡＭなどの他の不揮発性記憶装置に代替可能である。ジョブ履歴保持機能を有する周辺機器は、ジョブ履歴をＲＡＭ６０３或いはＨＤ６０４に格納している。また、オペレーティングシステム、通信制御用のプログラム、エンジン制御用のプログラムは、ＲＡＭ６０３にロードされて、ＣＰＵ６０１によって実行される。６０６は、周辺機器のエンジン部であり、コントローラ部の制御の下、印刷動作や画像読み取り動作を行なう。エンジン部は、具体的には、プリンタエンジンやスキャナエンジン、或いはその両方から構成される。６０７は、通信部であり、ネットワーク通信を制御するものである。この通信部６０７によって、周辺機器はクライアントコンピュータやサーバコンピュータと通信が可能となる。６０８はシステムバスである。上記の構成要素間でやり取りされるデータは、このシステムバス６０８を通る。
【００１５】
図７が、ジョブアカウントサーバアプリケーションの機能構成を示す図である。ジョブ情報受信部７０１は、ジョブアカウントクライアントアプリケーション１１４及び１２４、ジョブ履歴保持機能を有する周辺機器１４０及び１５０から、ネットワークを介してジョブ情報を取得する。ジョブ情報登録部７０２は、ジョブ情報受信部７０１が受信したジョブ情報をジョブ履歴データベース７０３に登録する。本ジョブアカウントシステムでは、ジョブ履歴データベース７０３のデータを参照することにより、いつ、誰が、どの周辺機器で、どれくらいの量の（ページ数、排紙枚数、用紙タイプ）ジョブを実行したかが判別され、詳細なジョブアカウントが行なわれる。
【００１６】
図８はジョブアカウントサーバアプリケーション（印刷システム）の予想される運用図である。８０１は印刷システムをあらわし、８０２は印刷システムならびに周辺機器が利用するネットワークである。同一ネットワーク上に８０３、８０４、８０５のプリンタＡ、プリンタＢ、プリンタＣが存在し、８０３はＭＩＢを利用して情報を取得するプリンタ、８０４、８０５は自社プロトコル（ＣＰＣＡ）を利用して情報を取得するプリンタである。このように１つのネットワーク上に複数の種類のプリンタがあり、それを１つの印刷システムにて管理する形態が本発明の有用かつ一般的な運用形態である。（しかしながら図８以外にも様々な運用が可能であることは言うまでもない）
本発明はＭＩＢを利用した情報探索手法をもちいるが、主に拡張ＭＩＢ領域（プライベートＭＩＢ領域）探索に有効な手法である。図８の構成を持つ印刷システムで、８０３に示したＭＩＢを利用しないと情報取得が行えないデバイスのＭＡＣアドレスが必要だと仮定する。この場合、ＭＡＣアドレスが格納されている領域は通常公開ＭＩＢ領域である。ＳＮＭＰでは、ＳＮＭＰリクエストが属性の値に関する情報を取得（GET）または属性の値を変更（SET）できその管理属性を「オブジェクト」と呼びます。MIB 内の各オブジェクトには、オブジェクト識別子（ＯＩＤ）があり、このＯＩＤを要求することでオブジェクトの情報を操作／閲覧することができる。ＯＩＤは、ＯＩＤツリーと呼ばれるツリー構造を通じて管理対象オブジェクトへのパスを定義することによって、オブジェクトを個別に識別するように設定された値です。よってＭＡＣアドレスが知りたい情報であればＯＩＤツリーを移動して値を探します。ただし前述の公開ＭＩＢ領域であればこのＯＩＤが公開されているので、ＯＩＤの値を指定し取得処理（GET）を行えば値を取得することができる。
【００１７】
つまり図８の実施例の場合、必要な情報がＭＡＣアドレスであれば既存の処理で取得することが可能である。しかしながら印刷ジョブのように変動するような値は本発明の手法を生かすことができる。ここではその一例として図８の８０３プリンタから最新のジョブ情報を取得する場合を説明する。
【００１８】
図９は印刷システムで図８の８０３プリンタから最新の印刷ジョブ情報を取得するまでの処理フローである。まずステップ９０１にてプリンタのジョブログ保存数を取得します。
【００１９】
この情報取得はＭＩＢによるものではなく、あらかじめ定義された値などを用います。（例えばプリンタのマニュアルからIniファイル形式のデータとして保持して参照するなど）
ステップ９０１でこの値を判別するのは、あまりにジョブ保存数が極端に少ない場合など（１０個程度）本提案手法の効果を最大限に発揮することができないからである。ただし一般的なプリンタの場合は１００以上の値を持つことが多く、そのような場合に本提案手法は有効に機能する。ステップ９０１での判断の結果極端に少ない場合はステップ９０２に進み他の検索手法を用いる。
【００２０】
ステップ９０３ではＭＩＢ情報を取得処理（GETNEXT）を行う。このGETNEXTコマンドはＳＮＭＰからのＭＩＢ情報取得において利用される一般的な手法である。GETNEXTを行うことで指定したＯＩＤに設定されている値の次の値を取得することができる。指定するＯＩＤは前記拡張ＭＩＢ領域である。次にステップ９０４にてステップ９０３での結果を判別する。ステップ９０３で行ったGETNEXTは指定ＯＩＤの次の値とそのＯＩＤを探索することができるコマンドである。この特性から指定ＯＩＤとかけ離れた値が取得された場合、指定ＯＩＤがそのツリー（ここでは印刷ジョブ情報）の最下層であると判断できる。これはＭＩＢ情報がツリー構造をもつためであり、例外なく探索ＯＩＤの最終値を迎えた場合にＯＩＤ値が大きく変動する特徴をもつからである。ステップ９０３での結果、隣接したＯＩＤを示した場合印刷ジョブ情報はさらに下層に繋がっていることを示し、所望のジョブ情報が得られていないと判定することができる。（ＯＩＤはかならずしも隣接するとは限らない、プリンタによってはＯＩＤ最終桁＋２や＋３の値で実装されていることがある。しかしながら一般的にはＯＩＤは隣接しているのでここではそれを前提とし話をすすめる）隣接したＯＩＤが得られた場合、ステップ９０５へ、隣接せずに指定値とかけ離れたＯＩＤが取得された場合はステップ９０７へと進む。
【００２１】
ステップ９０５ここではステップ９０３のGETNEXTコマンドからさらに最下層に印刷ジョブ情報が格納されていることが予想されたため、ステップ９０３で指定したＯＩＤの最終桁に＋１をしたＯＩＤで再度GETNEXTコマンドを行う。
【００２２】
ステップ９０６はステップ９０４同様にステップ９０５で取得されたＯＩＤ情報を判別する。隣接したＯＩＤが得られた場合、ステップ９０８へ、隣接せずに指定値とかけ離れたＯＩＤが取得された場合はステップ９０９へと進む。
【００２３】
ステップ９０７ではステップ９０３で指定したＯＩＤ以降には印刷ジョブ情報がないと判断しそのままステップ９０９へと進む。
【００２４】
ステップ９０８はステップ９０６の結果より、ステップ９０５で指定したＯＩＤの最終桁に＋１をしたものを新たな既定値として保持し、ステップ９０３へと帰結する。
【００２５】
ステップ９０９は現在保持されているＯＩＤが取得するべき印刷ジョブ情報であると確定しフローを終了する。
【００２６】
以上のように、ＭＩＢ情報取得を行うプリンタの場合にＯＩＤを探索することで、同一ツリーに多くの情報をもつＯＩＤ内の情報を検索することができる。これにより印刷システムは所定の情報を得ることができる。
【００２７】
（実施例２）
実施例１では印刷システムの概要と、本発明を利用するもっとも一般的と思われる事例を提案した。実施例２では実施例１とは異なる形態として、複数の検索手法による印刷システムの処理軽減という視点で本発明の有効性を示す。図１から図８までの印刷システムを示す説明は実施例１と同じなため割愛する。
【００２８】
図１０はＭＩＢ通信機における複数検索手法の実施例の１つである。１００１は前記印刷システムで１００２は前記印刷システムの集計対象であるＭＩＢ通信機プリンタ、１００３は前記印刷システムの集計対象であるＣＰＣＡ機プリンタである。（他にネットワークを介し集計対象プリンタがあるのは言うまでもない）１００３、１００４、１００５はＭＩＢ検索手法である。印刷システム１００１から１００３へと印刷集計処理が行われる際に、プリンタ１００３のＭＩＢ情報取得手法を複数設けることによって、通信負荷の軽減や情報取得の高速化を図ることができる。
【００２９】
図１１はどのように検索手法をつかいわけるかを明記したフローチャートである。ステップ１１０１においてＭＩＢ情報取得を行うプリンタの場合は、１１０２に進む。ステップ１１０２で印刷システムからの第一要求を判断する。印刷システムとプリンタ間の情報取得にかかる通信量を減らし、通信負荷軽減を行いたいのであればステップ１１０６に進み２分岐検索を行う。（印刷システムからの第一要求は数多く考えられるが、ここではその１例として通信負荷軽減とした。複数のプリンタを管理する印刷システムでは定期的な処理や、非同期処理なのでネットワークにあたえる影響がしばしば問題視されるからである）ステップ１１０３では印刷システムからの第二要求を判別する。前記と同様にここではプリンタの保持ログ数により、処理を高速化させたいかどうかを例として用いる。高速化させたいのであればステップ１１０４に進み、そうでなければステップ１１０５へと進む。ステップ１１０４では既定値飛び検索を行い、ステップ１１０５では昇順検索方法を用いる。では次に個々の検索手法を説明する。
【００３０】
昇順検索は実施例１で説明した図９と同様である。
【００３１】
図１２は既定値飛び検索手法である。この検索方法は利用者が使用するプリンタに合わせて、規定の値を設定し、その値幅分だけ前記ＯＩＤの値を変化させていく手法である。規定値によって処理が非常に高速かされることが特徴である。まずステップ１２０１にてプリンタのジョブログ保存数を取得しその数が１００以下であればステップ１２０２へと進み他の検索方法を用いる。この情報取得はＭＩＢによるものではなく、あらかじめ定義された値などを用います。（例えばプリンタのマニュアルからIniファイル形式のデータとして保持して参照するなど。ただし１００以下の場合でも既定値飛び検索手法を用いることは可能である）
ステップ１２０１でジョブログ保存数が１００以上であった場合、ステップ１２０３に進む。ステップ１２０３ではＭＩＢ情報を取得処理（GETNEXT）を行う。このGETNEXTコマンドはＳＮＭＰからのＭＩＢ情報取得において利用される一般的な手法である。GETNEXTを行うことで指定したＯＩＤに設定されている値の次の値を取得することができる。指定するＯＩＤは前記拡張ＭＩＢ領域である。次にステップ１２０４にてステップ１２０３での結果を判別する。ステップ１２０３で行ったGETNEXTは指定ＯＩＤの次の値とそのＯＩＤを探索することができるコマンドである。（この動作は図９と同様である）ステップ１２０３での結果、隣接したＯＩＤを示した場合、印刷ジョブ情報はさらに下層に繋がっていることを示し、所望のジョブ情報が得られていないと判定することができる。隣接したＯＩＤが得られた場合、ステップ１２０５へ、隣接せずに指定値とかけ離れたＯＩＤが取得された場合はステップ１２０６へと進む。
【００３２】
ステップ１２０５ここではステップ１２０３のGETNEXTコマンドからさらに最下層に印刷ジョブ情報が格納されていることが予想されたため、ステップ１２０３で指定したＯＩＤの最終桁に＋１０をしたＯＩＤで再度GETNEXTコマンドを行う。この＋１０という値が既定値飛びの"既定値"に相当する。今回の例では１００以下の場合を想定しているので、１０という値を用いる。（例えば１０００以下を想定したならば既定値"100"を用いてもよい）
ステップ１２０６ではステップ１２０３で指定したＯＩＤ以降には印刷ジョブ情報がないと判断しそのままステップ１２０９へと進む。
【００３３】
ステップ１２０７はステップ１２０４同様にステップ１２０５で取得されたＯＩＤ情報を判別する。隣接したＯＩＤが得られた場合、ステップ１２０８へ、隣接せずに指定値とかけ離れたＯＩＤが取得された場合はステップ１２０９へと進む。
【００３４】
ステップ１２０８はステップ１２０５の結果より、ステップ１２０３で指定したＯＩＤの最終桁に＋１をしたものを新たなＯＩＤとして保持し、ステップ１２０３へと帰結する。
【００３５】
ステップ１２０９は現在保持されているＯＩＤが取得するべき印刷ジョブ情報であると確定しフローを終了する。
【００３６】
以上のように、ステップ１２０５で既定の値を加えＭＩＢ情報取得を行うことで、多くのジョブ情報をもつプリンタの場合図９の検索手法より少ない回数（すなわち短時間）で印刷システムは所定の情報を得ることができる。
【００３７】
図１３は２分岐検索手法である。この検索方法は利用者が使用するプリンタに合わせて、ＯＩＤの最終桁＋印刷ジョブ保存数の半分の値を基底値として用いることで２分岐探索を行う手法である。昇順検索や既定値飛び検索より処理回数が少なく、通信負荷を減らせることが特徴である。まずステップ１３０１にて印刷ジョブ情報のＯＩＤ＋基底値を用いＭＩＢ情報を取得する。（取得に関するプロセスは図８の昇順検索方法と同様）次にステップ１３０２において処理結果を判定する。ステップ１３０１の結果隣接するＯＩＤを取得した場合はステップ１３０３へと進む。そうでない場合はステップ１３０４へと進む。
【００３８】
ステップ１３０３ではステップ１３０１でのＯＩＤの値を変更し保持する。この変更方法は利用者が選択できるものが望ましい。原則としてもとのＯＩＤの２倍かそれ以上に増える処理を用いる。（つまりステップ１３０１のＯＩＤ×２やステップ１３０１のＯＩＤの二乗である。ここではステップ１３０１のＯＩＤ×２を用いる）このステップ１３０１のＯＩＤ×２の値を最大基数ＯＩＤとして保持しステップ１３０１へと帰結する。
【００３９】
ステップ１３０４では最大基数ＯＩＤから最小基数ＯＩＤを減算した結果が１になるかどうかを判定する。ここでいう最小基数ＯＩＤとは印刷ジョブ情報ＯＩＤの最も若い値である。結果が１であればステップ１３０９へ、そうでない場合はステップ１３０５へと進む。
【００４０】
ステップ１３０５では前記最大基数ＯＩＤに最小基数ＯＩＤを加え、２で除算した値のＯＩＤで情報取得を行う。次にステップ１３０６でステップ１３０５で行った処理結果を判定する。隣接するＯＩＤを取得した場合はステップ１３０８へと進む。そうでない場合はステップ１３０７へと進む。ステップ１３０７では最大基数ＯＩＤに最小基数ＯＩＤを加え、２で除算した値を最大基数として再設定し保持しステップ１３０４へと帰結する。またその反対にステップ１３０７では最大基数ＯＩＤに最小基数ＯＩＤを加え、２で除算した値を最小基数として再設定し保持しステップ１３０４へと帰結する。
【００４１】
ステップ１３０９は現在保持されているＯＩＤが取得するべき印刷ジョブ情報であると確定しフローを終了する。
【００４２】
以上のように、最大基数と最小基数を定め２分岐検索しＭＩＢ情報取得を行うことで、多くのジョブ情報をもつプリンタの場合検索回数（すなわち通信回数）を減少させることができる。
【００４３】
（実施例３）
実施例２では検索手法の使い分けの有効性を提案した。実施例１、２は最新の印刷ジョブ情報の取得処理においての提案例であったので、実施例３では印刷ジョブ情報をポーリングし取得する場合に応用例について示す。
【００４４】
図１４はＭＩＢ通信機プリンタにパソコンから印刷ジョブを投入し、ログ情報がプリンタに追加される仕組み図である。
【００４５】
１４０１はＭＩＢ通信機プリンタをあらわし、１４０２は前記１４０１内部のログ情報格納領域の概略図である。（この情報をＯＩＤを指定し取得しているとする）１４０３は１４０１と通信ができるパソコンでユーザＡが使用していると仮定する。１４０４は１４０１と通信ができるパソコンでユーザＢが使用していると仮定する。１４０５は１４０１と通信ができるパソコンでユーザＣが使用していると仮定する。（ユーザの数は特定できないことはいうまでもない）１４０６は前記１４０１内部のログ情報格納領域１４０２のさらに詳細なジョブ群を表す。ここにはジョブ番号やユーザ名、印刷時間などの情報が保持されているとする。１４０７は前記１４０３から投入されたジョブ、１４０８は前記１４０４から投入されたジョブ、１４０９は前記１４０５から投入されたジョブを表し、１４１０はある特定の時間a分と仮定する。（すなわちa分の時点では５個のジョブ情報が保持されている）
前記図１４をユーザＡのみの視点に絞ったのが図１５である。
【００４６】
１５０１はＭＩＢ通信機プリンタをあらわし、１５０２は１５０１と通信ができるパソコンでユーザＡが使用している。１５０３は前記１５０１内部のログ情報格納領域のさらに詳細なジョブ群を表す。ここにはジョブ番号やユーザ名、印刷時間などの情報が保持されているとする。１５０４は前記１５０２から投入されたジョブを表す。
【００４７】
今１５０７に示すある特定時間a分にジョブ情報の取得を行い、次にジョブ情報取得を行うのが１５０８に示す特定時間b分だとする。このときa分の時点では１５０５に示すx分に前記１５０２のパソコンから投入されたジョブが最新のジョブ情報である。一般的運用ではa分からb分の間にかけて、複数のジョブが投入されることが予想される。このジョブ取得ポーリング間隔（a分〜b分）のジョブ情報を取得するさいに、本提案の実施例１、実勢例２に示した検索手法が有効に活用される例である。１５０７のa分の時点での最新ジョブ情報を既定ＯＩＤもしくは最小基数ＯＩＤとし各種検索を行うことで１５０８のb分時の最新ジョブ情報１５０６取得までの通信回数と処理時間を効率化することができる。
【図面の簡単な説明】
【００４８】
【図１】本発明を適用したジョブアカウントシステム全体の基本的な構成図である。
【図２】クライアントコンピュータ及びサーバコンピュータの制御構成を示す図である。
【図３】本発明に係るプログラムがＲＡＭにロードされ、ＣＰＵにより実行可能となった状態でのメモリマップを示す図である。
【図４】本発明に係るプログラム及び関連データがＦＤやＣＤ−ＲＯＭに格納されている状態でのメモリマップを示す図である。
【図５】プログラム及び関連データの供給方法を示す図である。
【図６】周辺機器の制御構成を示す図である。
【図７】ジョブアカウントサーバアプリケーションの機能構成を示す図である。
【図８】印刷システム（ジョブアカウントサーバアプリケーション）の運用形態を示す図である。
【図９】ジョブアカウントサーバアプリケーションがデバイスの情報取得のために行うフローを示す図である。
【図１０】印刷システム（ジョブアカウントサーバアプリケーション）の運用形態を示す図である。
【図１１】ジョブアカウントサーバアプリケーションがデバイスの情報取得方法の選択を行うためのフローを示す図である。
【図１２】ジョブアカウントサーバアプリケーションがデバイスの情報取得のために行うフローを示す図である。
【図１３】ジョブアカウントサーバアプリケーションがデバイスの情報取得のために行うフローを示す図である。
【図１４】画像形成装置上のジョブ情報を前記検索方法を用いて行う場合の有効な概要図である。
【図１５】画像形成装置上のジョブ情報を前記検索方法を用いて行う場合の有効な概要図である。
【符号の説明】
【００４９】
９０１〜９０９  デバイスの情報取得のために行うフローステップ
１１０１〜１１０５  印刷システムが検索手法を選択するために行うフローステップ
１２０１〜１２０９  デバイスの情報取得のために行うフローステップ
１３０１〜１３０９  デバイスの情報取得のために行うフローステップ
【図１】
2007026076.tif 000003
【図２】
2007026076.tif 000004
【図３】
2007026076.tif 000005
【図４】
2007026076.tif 000006
【図５】
2007026076.tif 000007
【図６】
2007026076.tif 000008
【図７】
2007026076.tif 000009
【図８】
2007026076.tif 000010
【図９】
2007026076.tif 000011
【図１０】
2007026076.tif 000012
【図１１】
2007026076.tif 000013
【図１２】
2007026076.tif 000014
【図１３】
2007026076.tif 000015
【図１４】
2007026076.tif 000016
【図１５】
2007026076.tif 000017