(57)【特許請求の範囲】
【請求項１】
プリンタに周期的にポーリングするために印刷アプリケーションにより用いられる事前設定されたＳＮＭＰ（Simple  Network  Management  Protocol）要求のグループを識別し、前記プリンタがビジーではないとき、前記プリンタの前記ポーリングの開始に応答して前記グループから第１のＳＮＭＰ要求を前記プリンタへ送信し、前記第１のＳＮＭＰ要求に対する前記プリンタからのＳＮＭＰ応答をキャッシュするよう構成される制御部、
を有し、
前記制御部は、前記第１のＳＮＭＰ要求に対する前記プリンタの応答時間を決定し、前記応答時間が閾を超えるかどうかを決定するよう構成され、
前記制御部は、前記応答時間が前記閾を超えると決定することに応答して、前記プリンタへの前記グループからの残りのＳＮＭＰ要求の送信を停止するよう構成され、
前記制御部は、前記応答時間が前記閾を超えないと決定することに応答して、前記プリンタへ前記グループからの前記残りのＳＮＭＰ要求を送信し、前記残りのＳＮＭＰ要求に対する前記プリンタからのＳＮＭＰ応答をキャッシュするよう構成され、
前記制御部は、前記プリンタ宛てのＳＮＭＰ要求を受信し、前記プリンタがビジーであるとき、前記ＳＮＭＰ要求に応答するキャッシュされたＳＮＭＰ応答を識別し、前記プリンタ宛ての前記ＳＮＭＰ要求を受信することに応答して、前記キャッシュされたＳＮＭＰ応答を前記制御部から前記印刷アプリケーションへ送信するよう構成される、
システム。
【請求項２】
前記閾は１０秒である、
請求項１に記載のシステム。
【請求項３】
前記事前設定されたＳＮＭＰ要求のうちの１つは、前記プリンタの用紙トレイの状態についてのクエリを有する、
請求項１に記載のシステム。
【請求項４】
前記事前設定されたＳＮＭＰ要求のうちの１つは、前記プリンタにインストールされたオプションについてのクエリを有する、
請求項１に記載のシステム。
【請求項５】
前記事前設定されたＳＮＭＰ要求のうちの１つは、前記プリンタにおけるエラー状態についてのクエリを有する、
請求項１に記載のシステム。
【請求項６】
制御部が、
プリンタに周期的にポーリングするために印刷アプリケーションにより用いられる事前設定されたＳＮＭＰ（Simple  Network  Management  Protocol）要求のグループを識別するステップと、
前記プリンタがビジーではないとき、前記プリンタの前記ポーリングの開始に応答して前記グループから第１のＳＮＭＰ要求を前記プリンタへ送信するステップと、
前記第１のＳＮＭＰ要求に対する前記プリンタからのＳＮＭＰ応答をキャッシュするステップと、
前記第１のＳＮＭＰ要求に対する前記プリンタの応答時間を決定するステップと、
前記応答時間が閾を超えるかどうかを決定するステップと、
前記応答時間が前記閾を超えると決定することに応答して、
前記プリンタへの前記グループからの残りのＳＮＭＰ要求の送信を停止するステップと、
前記応答時間が前記閾を超えないと決定することに応答して、
前記プリンタへ前記残りのＳＮＭＰ要求を送信するステップと、
前記残りのＳＮＭＰ要求に対する前記プリンタからのＳＮＭＰ応答をキャッシュするステップと、
前記プリンタ宛てのＳＮＭＰ要求を傍受するステップと、
前記プリンタがビジーであるとき、前記ＳＮＭＰ要求に応答するキャッシュされたＳＮＭＰ応答を識別し、前記プリンタ宛ての前記ＳＮＭＰ要求を受信することに応答して、前記キャッシュされたＳＮＭＰ応答を前記制御部から前記印刷アプリケーションへ送信するステップと、
を有する方法。
【請求項７】
前記閾は１０秒である、
請求項６に記載の方法。
【請求項８】
前記事前設定されたＳＮＭＰ要求のうちの１つは、前記プリンタの用紙トレイの状態についてのクエリを有する、
請求項６に記載の方法。
【請求項９】
前記事前設定されたＳＮＭＰ要求のうちの１つは、前記プリンタにインストールされたオプションについてのクエリを有する、
請求項６に記載の方法。
【請求項１０】
前記事前設定されたＳＮＭＰ要求のうちの１つは、前記プリンタにおけるエラー状態についてのクエリを有する、
請求項６に記載の方法。
【請求項１１】
命令を有する非一時的コンピュータ可読媒体であって、前記命令は、プロセッサにより実行されると、前記プロセッサに、
プリンタに周期的にポーリングするために印刷アプリケーションにより用いられる事前設定されたＳＮＭＰ（Simple  Network  Management  Protocol）要求のグループを識別し、
前記プリンタがビジーではないとき、前記プリンタの前記ポーリングの開始に応答して前記グループから第１のＳＮＭＰ要求を前記プリンタへ送信し、
前記第１のＳＮＭＰ要求に対する前記プリンタからのＳＮＭＰ応答をキャッシュし、
前記第１のＳＮＭＰ要求に対する前記プリンタの応答時間を決定し、
前記応答時間が閾を超えるかどうかを決定し、
前記応答時間が前記閾を超えると決定することに応答して、
前記プリンタへの前記グループからの残りのＳＮＭＰ要求の送信を停止し、
前記応答時間が前記閾を超えないと決定することに応答して、
前記プリンタへ前記残りのＳＮＭＰ要求を送信し、
前記残りのＳＮＭＰ要求に対する前記プリンタからのＳＮＭＰ応答をキャッシュし、
前記プリンタ宛てのＳＮＭＰ要求を傍受し、
前記プリンタがビジーであるとき、前記ＳＮＭＰ要求に応答するキャッシュされたＳＮＭＰ応答を識別し、前記プリンタ宛ての前記ＳＮＭＰ要求を受信することに応答して、前記キャッシュされたＳＮＭＰ応答を前記プロセッサから前記印刷アプリケーションへ送信する、
よう指示する、非一時的コンピュータ可読媒体。
【請求項１２】
前記閾は１０秒である、
請求項１１に記載の非一時的コンピュータ可読媒体。
【請求項１３】
前記事前設定されたＳＮＭＰ要求のうちの１つは、前記プリンタの用紙トレイの状態についてのクエリを有する、
請求項１１に記載の非一時的コンピュータ可読媒体。
【請求項１４】
前記事前設定されたＳＮＭＰ要求のうちの１つは、前記プリンタにインストールされたオプションについてのクエリを有する、
請求項１１に記載の非一時的コンピュータ可読媒体。
【請求項１５】
前記事前設定されたＳＮＭＰ要求のうちの１つは、前記プリンタにおけるエラー状態についてのクエリを有する、
請求項１１に記載の非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、プリンタ管理の分野に関し、特に、プリンタに関する情報に対するＳＮＭＰ（Simple  Network  Management  Protocol）要求に応答するプリンタに関する。
【背景技術】
【０００２】
ＳＮＭＰは、ネットワーク装置間で管理情報を交換するための、ＲＦＣ（Request  For  Comments）１５７のＩＡＢ（Internet  Architecture  Board）により定められるアプリケーション層プロトコルである。ＳＮＭＰは、ＴＣＰ／ＩＰ（Transmission  Control  Protocol/Internet  Protocol）スイートの部分である。ＳＮＭＰは、ネットワークに取り付けられる装置を監視するために、ネットワーク管理システムの中で使用される。ＳＮＭＰは、システム構成を記述する被管理システムに関する変数の形式で、管理データを公開する。例えば、ＳＮＭＰ対応プリンタは、プリンタの状態に関する情報についてのＳＮＭＰ要求に応答できる。
【０００３】
印刷処理中にプリンタにおいて生じる進行中のデータ処理のために、ＳＮＭＰ要求に応答することは、二次的考察になる場合が多い。結果として、プリンタは、ＳＮＭＰ要求にゆっくりと応答する場合がある。プリンタがＳＮＭＰ要求にゆっくりと応答するとき、プリンタからのＳＮＭＰ情報に頼るアプリケーションは、フリーズ又はハングしてしまうことがある。これは、アプリケーションのユーザに問題を引き起こし得る。
【発明の概要】
【０００４】
本願明細書に記載の実施形態は、ＳＮＭＰ要求を提供するプリンタの適応型ポーリングを提供する。適応型ポーリングでは、プリンタへ送信されるＳＮＭＰ要求の数は、プリンタがビジーであるとき変化し、プリンタにかかる負荷を軽減する。さらに、プリンタからのＳＮＭＰ要求はキャッシュされる。これは、プリンタからの情報についての後続の要求がキャッシュされたデータを利用できるようにする。
【０００５】
一実施形態は、プリンタに周期的にポーリングするために利用される事前設定されたＳＮＭＰ要求のグループを識別する制御部を有する。制御部は、プリンタのポーリングの開始に応答して、該グループの中から第１のＳＮＭＰ要求をプリンタへ送信し、第１のＳＮＭＰ要求に対するプリンタからのＳＮＭＰ応答をキャッシュし、第１のＳＮＭＰ要求に対するプリンタの応答時間を決定する。制御部は、応答時間が閾を超えるかどうかを決定する。応答時間が閾を超える場合、制御部は、グループからの残りのＳＮＭＰ要求のプリンタへの送信を停止する。応答時間が閾を超えない場合、制御部は、残りのＳＮＭＰ要求をプリンタへ送信し、該残りのＳＮＭＰ要求に対するプリンタからのＳＮＭＰ応答をキャッシュする。
【０００６】
別の実施形態は、ＳＮＭＰ要求を提供するプリンタの適応型ポーリングの方法を有する。方法は、プリンタの周期的ポーリングのために利用される事前設定されたＳＮＭＰ要求のグループを識別するステップと、プリンタのポーリングの開始に応答して、プリンタへ該グループから第１のＳＮＭＰ要求を送信するステップと、を有する。方法は、第１のＳＮＭＰ要求に対するプリンタからのＳＮＭＰ応答をキャッシュするステップと、第１のＳＮＭＰ要求に対するプリンタの応答時間を決定するステップと、応答時間が閾を超えるかどうかを決定するステップと、を更に有する。応答時間が閾を超える場合、方法は、グループからの残りのＳＮＭＰ要求のプリンタへの送信を停止するステップを更に有する。応答時間が閾を超えない場合、方法は、残りのＳＮＭＰ要求をプリンタへ送信するステップと、該残りのＳＮＭＰ要求に対するプリンタからのＳＮＭＰ応答をキャッシュするステップと、を更に有する。
【０００７】
別の実施形態は、命令を有する非一時的コンピュータ可読媒体であって、前記命令は、プロセッサにより実行されると、プロセッサに、プリンタを周期的にポーリングするために用いられる事前設定されたＳＮＭＰ要求のグループを識別するよう指示する、非一時的コンピュータ可読媒体を有する。命令は、プロセッサにさらに、プリンタのポーリングの開始に応答して、該グループの中から第１のＳＮＭＰ要求をプリンタへ送信し、第１のＳＮＭＰ要求に対するプリンタからのＳＮＭＰ応答をキャッシュし、第１のＳＮＭＰ要求に対するプリンタの応答時間を決定するよう指示する。命令は、プロセッサにさらに、応答時間が閾を超えるかどうかを決定するよう指示する。応答時間が閾を超えることに応答して、命令は、プロセッサにさらに、グループからの残りのＳＮＭＰ要求のプリンタへの送信を停止するよう指示する。応答時間が閾を超えない場合、命令は、プロセッサにさらに、残りのＳＮＭＰ要求をプリンタへ送信し、該残りのＳＮＭＰ要求に対するプリンタからのＳＮＭＰ応答をキャッシュするよう指示する。
【０００８】
上述の概要は、本願明細書の幾つかの態様の基本的な理解を提供する。この概要は、本願明細書の広範囲に及ぶ概略ではない。本願明細書の主要な又は重要な要素を特定することも、本願明細書の特定の実施形態の範囲若しくは特許請求の範囲を描くことも意図していない。この概要の唯一の目的は、本願明細書の幾つかの概念を後述する更なる詳細な説明の前置きとして簡略化した形式で表すことである。
【図面の簡単な説明】
【０００９】
以下に幾つかの実施形態が、単に例として、添付の図面を参照して、記載される。全図を通じて、同じ参照符号は同じ要素又は同種の要素を表す。
【図１】例示的な実施形態における印刷システムのブロック図である。
【図２】例示的な実施形態における、ＳＮＭＰ要求を提供するプリンタを適応型ポーリングする方法のフローチャートである。
【図３】例示的な実施形態における、プリンタに対する状態要求を傍受する方法のフローチャートである。
【図４】コンピュータ可読媒体が例示的な実施形態における図１の制御部の本願明細書に開示の機能のうちの任意のものを実行する命令を提供するコンピューティングシステムを示す。
【発明を実施するための形態】
【００１０】
図面及び以下の説明は、特定の例示的な実施形態を示す。従って、当業者は種々のアレンジを考案できることが理解される。これらのアレンジは、本願明細書に明示的に記載又は示されないが実施形態の原理を具現化し実施形態の範囲に包含される。さらに、本願明細書に記載の例は、実施形態の原理を理解するのを助けることを意図しており、特定の記載された例及び条件等に限定されるものではない。結果として、本発明の概念は、以下に記載の特定の実施形態又は例に限定されず、請求の範囲及びそれらの等価物によって定められる。
【００１１】
図１は、例示的な実施形態における印刷システム１００のブロック図である。本実施形態では、印刷システム１００は、制御部１０２を有する。制御部１０２は、ＳＮＭＰ要求を提供するプリンタを適応してポーリングでき及びプリンタからのＳＮＭＰ応答をキャッシュできる任意のコンポーネント、システム、又は装置を有する。プリンタ１０４は、印刷データに基づく印刷出力を生成できる。プリンタ１０４は、紙のような印刷媒体の連続的なウェブ若しくはロールに印刷出力を生成する連続紙プリンタを有しても良い。プリンタ１０４は、カット紙プリンタも有しても良い。
【００１２】
本実施形態では、印刷アプリケーション１０８は、パーソナルコンピュータ（ＰＣ）１０６において実行し、ユーザがプリンタ１０４を制御し及び監視できるようにする。例えば、印刷アプリケーション１０８は、ユーザがプリンタ１０４の状態を制御し及び／又は監視できるようにするインタフェース（図示しない）をユーザに提供しても良い。印刷アプリケーション１０８は、プリンタ１０４にある用紙トレイの状態、プリンタ１０４における印刷ジョブの状態、プリンタ１０４に存在し得るエラーの状態、等に関する情報をユーザに提供しても良い。ユーザに情報を提供するために、印刷アプリケーション１０８は、プリンタ１０４からのＳＮＭＰ情報を利用する。例えば、印刷アプリケーション１０８は、ＪＭＦ（Job  Message  Format）でプリンタ１０４に対する状態要求を生成しても良い。この状態要求は、プロトコルコンバータ１０９によりプリンタ１０４に対する１又は複数のＳＮＭＰ要求に変換される。プリンタ１０４がビジーではない場合、プリンタ１０４からのＳＮＭＰ情報は、素早く得られる（例えば、数十ミリ秒〜数秒）。応答の際のこの種の適時性は、印刷アプリケーション１０８がユーザに情報を素早く提供することを可能にする。例えば、ユーザは、プリンタ１０４において印刷しているジョブの現在の状態を要求するために、印刷アプリケーション１０８を利用しても良い。本例では、印刷アプリケーション１０８は、情報についての１又は複数の状態要求を発行する。これらの状態要求は、プロトコルコンバータ１０９により、プリンタ１０４に対する１又は複数のＳＮＭＰ要求に変換される。情報に対してプリンタ１０４による適時応答が生じるとき、印刷アプリケーション１０８のユーザは素早く情報を提供される。
【００１３】
プリンタ１０４がビジーである場合、ＳＮＭＰ要求を適時に提供する際に問題が生じ得る。例えば、プリンタ１０４がジョブをラスタライズしている場合、プリンタ１０４において生じる複雑なデータ処理は、ＳＮＭＰ要求に適時に応答するために十分に自由な処理能力を提供できない。この場合、プリンタ１０４は、ＳＮＭＰ要求に非常にゆっくりと応答することがある（例えば、数十秒、又は場合によっては数分）。応答の際の適時性におけるこの欠点は、印刷アプリケーション１０８がユーザに情報を素早く提供することを妨げる。例えば、ユーザがプリンタ１０４における印刷中ジョブの現在状態を要求するために印刷アプリケーション１０８を利用する場合、状態情報を回復するための１又は複数の状態に対するプリンタ１０４からの適時応答の欠如は、印刷アプリケーション１０８をフリーズさせ、又はユーザに情報を提供できない場合がある。この種の問題は、印刷アプリケーション１０８との相互作用の間にユーザ経験に弊害をもたらし得る。
【００１４】
本実施形態では、制御部１０２は、プリンタ１０４のための適応型ポーリングメカニズム及び印刷アプリケーション１０８のためのＳＮＭＰ応答キャッシュの両方を利用して、プリンタ１０４からの遅いＳＮＭＰ応答時間に関連する問題を緩和する。適応型ポーリングメカニズムは、制御部１０２に、プリンタ１０４がビジーであるとき、プリンタ１０４へ送信されるＳＮＭＰ要求の数を調整させる。ＳＮＭＰキャッシュメカニズムは、制御部１０２に、プリンタ１０４に宛てて印刷アプリケーション１０８により送信される状態要求を傍受させ、プリンタ１０４からの予め復元されたキャッシュされたＳＮＭＰ応答を用いて状態要求に応答させる。
【００１５】
本実施形態では、制御部１０２は、プリンタ１０４、印刷アプリケーション１０８、及びプロトコルコンバータ１０９とは別個に図示される。しかし、他の実施形態では、制御部１０２及び／又は制御部１０２の本願明細書に記載の機能は、設計選択事項として、ＰＣ１０６、プロトコルコンバータ１０９、印刷アプリケーション１０８、及び／又はプリンタ１０４の一部であっても良い。例えば、一実施形態では、制御部１０２及び／又は制御部１０２の本願明細書に記載の機能は、プリンタ１０４の部分であっても良い。本実施形態では、制御部１０２は、プリンタ１０４におけるネットワークトラフィックを傍受し、プリンタ１０４からの予め復元されたキャッシュされたＳＮＭＰ応答を用いて、プリンタ１０４により受信されるＳＮＭＰ要求に応答しても良い。
【００１６】
別の実施形態では、制御部１０２及び／又は制御部１０２の本願明細書に記載の機能は、プリンタ１０４のネットワークインタフェースをＰＣ１０６のネットワークインタフェースに、通信可能に結合しても良い。本実施形態では、制御部１０２は、プリンタ１０４のネットワークトラフィックを傍受し、プリンタ１０４からの予め復元されたキャッシュされたＳＮＭＰ応答を用いて、プリンタ１０４に対するＳＮＭＰ要求に応答しても良い。
【００１７】
別の実施形態では、制御部１０２及び／又は制御部１０２の本願明細書に記載の機能は、ソフトウェアの実施形態、ハードウェアの実施形態、又はソフトウェア及びハードウェアの実施形態の両者の組合せとして、ＰＣ１０６の部分として動作しても良い。本実施形態では、制御部１０２は、プリンタ１０４宛のネットワークトラフィックを傍受し、プリンタ１０４からのキャッシュされたＳＮＭＰ応答を用いて、プリンタ１０４に対するＳＮＭＰ要求に応答しても良い。本実施形態では、制御部１０２は、（例えば）ＳＮＭＰトラップサービス又はアプリケーションとして動作することにより、純粋にソフトウェアの実施形態を有しても良い。この純粋にソフトウェアの実施形態では、ＳＮＭＰトラップサービス又はアプリケーションは、プリンタ１０４宛てのＳＮＭＰ要求を傍受し、適応型ポーリング及びＳＮＭＰ応答キャッシング能力を提供する。
【００１８】
制御部１０２の特定のハードウェア実装は設計選択の影響を受けるが、１つの特定の実施形態は、メモリ１１２に結合される１又は複数のプロセッサ１１０を有しても良い。プロセッサ１１０は、機能を実行できる任意の電子回路及び／又は光回路を有する。例えば、プロセッサ１１０は、制御部１０２について本願明細書に記載される任意の機能を実行しても良い。プロセッサ１１０は、１又は複数のＣＰＵ（Central  Processing  Unit）、マイクロプロセッサ、ＤＳＰ（Digital  Signal  Processor）、ＡＳＩＣ（Application−specific  Integrated  Circuit）、ＰＬＤ（Programmable  Logic  Device）、制御回路、等を有しても良い。プロセッサの幾つかの例は、Ｉｎｔｅｌ（登録商標）Ｃｏｒｅ（商標）プロセッサ、Ａｄｖａｎｃｅｄ  ＲＩＳＣ（Reduced  Instruction  Set  Computing）Ｍａｃｈｉｎｅｓ（ＡＲＭ（登録商標））プロセッサ、等を有する。
【００１９】
メモリ１１２は、機能を実行できる任意の電子回路及び／又は光回路及び／又は磁気回路を有する。例えば、メモリ１１２は、プリンタ１０４に対する事前設定ＳＮＭＰ要求１１６を格納するために用いられても良い。これらの事前設定ＳＮＭＰ要求１１６は、プリンタ１０４に関する情報を復元するために、制御部１０２によりプリンタ１０４へ周期的に送信される。ＳＮＭＰ要求１１６は、プリンタ１０４のためにプロトコルコンバータ１０９により生成され得るＳＮＭＰ要求のうちの一部又は全部を有しても良い。例えば、ＳＮＭＰ要求１１６は、プリンタ１０４の用紙トレイの状態に対するクエリ、プリンタ１０４にインストールされたオプションに対するクエリ、プリンタ１０４におけるエラー状態に対するクエリ、等を有しても良い。
【００２０】
メモリ１１２は、プリンタ１０４からのキャッシュされたＳＮＭＰ応答１１４を格納するためにも用いられても良い。このキャッシュされたＳＮＭＰ応答１１４は、プリンタ１０４へ送信されるＳＮＭＰ要求１１６を用いてプリンタ１０４から復元されたデータに対応する。例えば、キャッシュされたＳＮＭＰ応答１１４は、プリンタ１０４の用紙トレイの状態、プリンタ１０４にインストールされたオプション、プリンタ１０４におけるエラー状態、等であっても良い。メモリ１１２は、１又は複数の揮発性又は不揮発性ＤＲＡＭ（Dynamic  Random  Access  Memory）素子、ＦＬＡＳＨ素子、揮発性又は不揮発性ＳＲＡＭ（Static  Random  Access  Memory）素子、磁気ディスクドライブ、ＳＳＤ（Solid  State  Disk）等を有しても良い。不揮発性ＤＲＡＭ及びＳＲＡＭの幾つかの例は、バッテリバックアップされたＤＲＡＭ及びバッテリバックアップされたＳＲＡＭを有する。
【００２１】
印刷システム１００が動作中であり、制御部１０２がプリンタ１０４の適応型ポーリングの処理、及びプリンタ１０４のＳＮＭＰ要求のキャッシングを開始する準備が整っているとする。図２は、例示的な実施形態における、ＳＮＭＰ要求を提供するプリンタを適応型ポーリングする方法２００のフローチャートである。方法２００は図示しない他のシステムにより実行されても良いが、方法２００は図１の印刷システム１００に関して議論される。本願明細書に記載のフローチャートのステップは、図示しない他のステップを有しても良い。また、本願明細書に記載するフローチャートのステップは、代替の順序で実行されても良い。
【００２２】
制御部１０２のプロセッサ１１０は、メモリ１１２に格納される事前設定ＳＮＭＰ要求１１６のグループを識別する（ステップ２０２を参照）。事前設定ＳＮＭＰ要求１１６は、制御部１０２において定められたもので、プリンタ１０４が応答可能なＳＮＭＰ要求に対応する。例えば、プリンタ１０４が１５個の異なるＳＮＭＰ要求を認識し応答できる場合、メモリ１１２に格納されるＳＮＭＰ要求１１６は、ＳＮＭＰ要求の１５個のエントリを有しても良い。
【００２３】
ＳＮＭＰプロトコルは、７個のＰＤＵ（Protocol  Data  Unit）種類を定める。このうち、３個はＳＮＭＰ要求であり、１個はＳＮＭＰ応答である。ＳＮＭＰ  ＧｅｔＲｅｑｕｅｓｔ  ＰＤＵは、プリンタ１０４に格納される変数の値又は変数のリストを読み出すために使用されるメッセージである。所望の変数は、変数バインディングの中で指定される。ＧｅｔＲｅｑｕｅｓｔ  ＰＤＵに対するプリンタ１０４からの応答は、変数の値である。ＳＮＭＰ  ＧｅｔＮｅｘｔＲｅｑｕｅｓｔは、プリンタ１０４に格納される利用可能な変数及びそれらの値を発見するために用いられるメッセージである。ＧｅｔＮｅｘｔＲｅｑｕｅｓｔは、ＳＮＭＰ  ＧｅｔＮｅｘｔＲｅｑｕｅｓｔメッセージをプリンタ１０４へ繰り返し送信することにより、プリンタ１０４に格納される変数を１つずつ検証するために、制御部１０２により使用され得る。ＳＮＭＰ  ＧｅｔＢｕｌｋＲｅｑｕｅｓｔメッセージは、ＧｅｔＮｅｘｔＲｅｑｕｅｓｔメッセージの最適化バージョンであり、プリンタ１０４からのＧｅｔＮｅｘｔＲｅｑｕｅｓｔの複数の反復を要求するために制御部１０２により使用される。ＧｅｔＢｕｌｋＲｅｑｕｅｓｔメッセージの中には、プリンタ１０４がＧｅｔＢｕｌｋＲｅｑｕｅｓｔにどのように応答するかを制御するために用いられるＰＤＵ固有非反復及び最大反復フィールドがある。プリンタ１０４からのＳＮＭＰ応答は、制御部１０２に変数を返す。
【００２４】
プロセッサ１１０は、プリンタ１０４のポーリングが開始すべきかどうかを決定する（ステップ２０４）。概して、プリンタ１０４のポーリングは、ポーリング間隔に基づき周期的に開始する。例えば、プリンタ１０４のポーリング間隔が２分である場合、プロセッサ１１０は、プリンタ１０４に対するポーリング処理を２分毎に開始する。ポーリング間隔は可変であり、どれだけ頻繁にキャッシュされたＳＮＭＰ応答１１４を更新することが望ましいかに基づき調整されても良い。ポーリング間隔が長いほど、プリンタ１０４がＳＮＭＰ要求に応答するために要求される処理は減少する。しかし、その結果、キャッシュがあまり頻繁に更新されないので、キャッシュされたＳＮＭＰ応答１１４は一層「古く」なる。
【００２５】
ポーリングが開始する場合、プロセッサ１１０は、ＳＮＭＰ要求（例えば、ＳＮＭＰ要求１１６−１）をプリンタ１０４へ送信する（ステップ２０６を参照）。ＳＮＭＰ要求は、例えば、プリンタ１０４がビジーでないとき応答するためにプリンタ１０４がどれだけ長く要すべきかを決定するために、印刷システム１００により予め特徴付けられた要求であっても良い。例えば、プリンタ１０４がビジーでないとき、プリンタ１０４はＳＮＭＰ要求１１６−１に数秒以内に応答可能であることが予め特徴付けられても良い。一方で、プリンタ１０４は、プリンタ１０４がビジーであるとき、ＳＮＭＰ要求１１６−１にもっとゆっくりと応答しても良い（例えば、数十秒又は数分）。プロセッサ１１０は、第１のＳＮＭＰ要求に対する、プリンタ１０４からのＳＮＭＰ応答（例えば、キャッシュされたＳＮＭＰ応答１１４−１）をキャッシュする（ステップ２０８を参照）。プリンタ１０４からのＳＮＭＰ応答をキャッシュすることは、プリンタ１０４に対するＳＮＭＰ要求に素早く応答するために、後にプロセッサ１１０により使用され得る。
【００２６】
プロセッサ１１０は、ＳＮＭＰ要求に対するプリンタ１０４の応答時間を決定し（ステップ２１０を参照）、応答時間が閾を超えるかどうかを決定する（ステップ２１２を参照）。閾は、例えば、１０秒であっても良い。プリンタ１０４がＳＮＭＰ要求に応答するのに１０秒より長くかかる場合、これは、プリンタ１０４がビジーであることを示しても良い。プリンタ１０４が１０秒より短時間しかかからない場合、これは、プリンタ１０４がビジーではないことを示しても良い。
【００２７】
応答時間が閾を超える場合、プロセッサ１１０は、残りのＳＮＭＰ要求１１６（例えば、ＳＮＭＰ要求１１６−２から１１６−ｎ）のプリンタ１０４への送信を停止する（ステップ２１４を参照）。応答時間が閾を超えない場合、プロセッサ１１０は、残りのＳＮＭＰ要求１１６（例えば、ＳＮＭＰ要求１１６−２から１１６−ｎ）をプリンタ１０４へ送信し（ステップ２１６を参照）、プリンタ１０４からのＳＮＭＰ応答（例えば、キャッシュされたＳＮＭＰ応答１１４−２から１１４−ｎ）をキャッシュする（ステップ２１８を参照）。プリンタ１０４からのＳＮＭＰ応答１１４をキャッシュすることは、プリンタ１０４に対するＳＮＭＰ要求に素早く応答するために、後にプロセッサ１１０により使用され得る。
【００２８】
図３は、例示的な実施形態における、プリンタに対するＳＮＭＰ要求を傍受する方法３００のフローチャートである。方法３００は図示しない他のシステムにより実行されても良いが、方法３００は図１の印刷システム１００に関して議論される。印刷アプリケーション１０８は、プリンタ１０４に対する状態要求を生成しているとする。例えば、印刷アプリケーション１０８は、ＪＭＦフォーマット化された状態要求を生成していても良い。このＪＭＦフォーマット化された状態要求は、プロトコルコンバータ１０９によりプリンタに対する１又は複数のＳＮＭＰ要求に変換される。プロトコルコンバータ１０９は、印刷アプリケーション１０８からのＪＭＦフォーマット化された状態要求に応答するために、プリンタ１０４に対する１又は複数のＳＮＭＰ要求を発行しても良い。プロセッサ１１０は、プリンタ１０４宛てのＳＮＭＰ要求を傍受する（ステップ３０２を参照）。プロセッサ１１０は、傍受したＳＮＭＰ要求を検討し、ＳＮＭＰ要求に対応するキャッシュされたＳＮＭＰ応答１１４を識別する（ステップ３０４を参照）。例えば、傍受したＳＮＭＰ要求がＳＮＭＰ要求１１６−１に対応する場合、対応するＳＮＭＰ応答は、メモリ１１２に格納されたキャッシュされたＳＮＭＰ応答１１４−１であっても良い。プロセッサ１１０は、キャッシュされたＳＮＭＰ応答を用いてＳＮＭＰ要求に応答する（ステップ３０６を参照）。例えば、プロセッサ１１０は、キャッシュされたＳＮＭＰ応答１１４−１をプロトコルコンバータ１０９へ返送しても良い。次に、プロトコルコンバータ１０９は、ＪＭＦフォーマット化された状態要求に対する印刷アプリケーション１０８への応答を組み立てる。
【００２９】
キャッシュされたＳＮＭＰ応答１１４を利用して、プロセッサ１１０は、プリンタ１０４に対するＳＮＭＰ要求に素早く応答できる。これは、印刷アプリケーション１０８がプリンタ１０４に関する情報を要求するときに生じ得る遅延を短縮し又は除去する。印刷アプリケーション１０８は、もはや、プリンタ１０４に関するＳＮＭＰ情報を待機している間、フリーズ又はハングアップの影響を受けない。これは、プリンタ１０４がビジーであるとき、しばらくの間を要し得る。これは、印刷アプリケーション１０８を利用するとき、ユーザ経験を向上する。
【００３０】
図示の又は本願明細書に記載の種々の要素のうちの任意のものは、ハードウェア、ソフトウェア、ファームウェア、又はこれらの何らかの組合せとして実装されても良い。例えば、ある要素は、専用ハードウェアとして実装されても良い。専用ハードウェア要素は、「プロセッサ」、「制御部」、又は何らかの同様の用語として参照されても良い。プロセッサにより提供されるとき、機能は、単一の専用プロセッサにより、単一の共有プロセッサにより、又はいくつかが共有され得る複数の個々のプロセッサにより、提供されても良い。さらに、用語「プロセッサ」又は「制御部」の明示的な使用は、ソフトウェアを実行可能なハードウェアを排他的に表すと考えられるべきではなく、ＤＳＰ（digital  signal  processor）ハードウェア、ネットワークプロセッサ、ＡＳＩＣ（application  specific  integrated  circuit）又は他の回路、ＦＰＧＡ（field  programmable  gate  array）、ソフトウェアを格納するＲＯＭ（read−only  memory）、ＲＡＭ（random  access  memory）、不揮発性記憶装置、ロジック、又は何らかの他の物理的ハードウェアコンポーネント若しくはモジュールを黙示的に包含するがこれらに限定されない。
【００３１】
また、要素は、該要素の機能を実行するために、プロセッサ又はコンピュータにより実行可能な命令として実装されても良い。命令の幾つかの例は、ソフトウェア、プログラムコード、及びファームウェアである。命令は、プロセッサにより実行されると、要素の機能を実行するようプロセッサに指示するよう動作する。命令は、プロセッサにより読み取り可能な記憶装置に格納されても良い。記憶装置の幾つかの例は、例えば、デジタル又は固体メモリ、磁気ディスク及び磁気テープのような磁気記憶媒体、ハードドライブ、又は光学可読デジタルデータ記憶媒体であっても良い。
【００３２】
一実施形態では、本発明は、ファームウェア、常駐ソフトウェア、マイクロコード等を含むがこれらに限定されないソフトウェアで実装されても良い。図４は、コンピュータ可読媒体４０６が制御部１０２の本願明細書に開示の機能のうちの任意のものを実行する命令を提供するコンピューティングシステム４００を示す。
【００３３】
さらに、本発明は、プロセッサ又は任意の命令実行システムにより又はそれと関連して使用するためのプログラムコードを提供するコンピュータ可読媒体４０６からアクセス可能なコンピュータプログラムプロダクトの形式を取り得る。本開示の目的のために、コンピュータ可読記憶媒体４０６は、コンピュータシステム４００を含む、命令実行システム、機器又は装置により使用するためのプログラムを有形に格納することが可能な任意の機器であっても良い。
【００３４】
コンピュータ可読媒体４０６は、電子、磁気、光、電磁気、赤外線、又は半導体システム（又は装置若しくは素子）であっても良い。コンピュータ可読記憶媒体４０６の例は、半導体若しくは固体メモリ、磁気テープ、取り外し可能コンピュータディスク、RAM（random  access  memory）、ROM（read−only  memory）、固定磁気ディスク、光ディスクを含む。光ディスクの現在の幾つかの例は、コンパクトディスク、CD−ROM（compact  disk−read  only  memory）、ＣＤ−Ｒ／Ｗ（compact  disk−read/write）、ＤＶＤを含む。
【００３５】
プログラムコードを格納し及び／又は実行するのに適するコンピュータシステム４００は、システムバス４１０を通じてメモリ４０８に直接又は間接に結合される１又は複数のプロセッサ４０２を有し得る。メモリ４０８は、プログラムコードの実際の実行中に用いられるローカルメモリ、大容量記憶装置、及び実行中にコードが大容量記憶装置から読み出される回数を低減するために少なくとも特定のプログラムコードの一時的記憶を提供するキャッシュメモリを含み得る。入力／出力又はＩ／Ｏ装置４０４（キーボード、ディスプレイ、ポインティングデバイス等を含むがこれらに限定されない）は、直接に又は介入するＩ／Ｏ制御部を通じてシステムに結合され得る。ネットワークアダプタも、コンピューティングシステム４００を、ホストシステムインタフェース４１２を通じて他のデータ処理システムに、又は介在する私設若しくは公衆ネットワークを通じて遠隔プリンタ若しくは記憶装置に結合するために、システムに結合されても良い。モデム、ケーブルモデム及びEthernet（登録商標）カードは、現在利用可能な種類のネットワークアダプタのうちの少数の例に過ぎない。
本願明細書は特定の実施形態を説明したが、本発明の範囲はこれらの特定の実施形態に限定されない。むしろ、本発明の範囲は、以下の請求の範囲およびその等価物により定められる。
【符号の説明】
【００３６】
１００  印刷システム
１０２  制御部
１０４  プリンタ
１０６  ＰＣ
１０８  印刷アプリケーション
１０９  プロトコルコンバータ
１１０  プロセッサ
１１２  メモリ
１１４  キャッシュされたＳＮＭＰ応答
１１６  ＳＮＭＰ要求
【図１】
0006269751.tif 000002
【図２】
0006269751.tif 000003
【図３】
0006269751.tif 000004
【図４】
0006269751.tif 000005