(57)【要約】【課題】  デバイスに問合せを行うための問合せ方法を、必要に応じて選択できる方法およびシステムを提供する。【解決手段】  デバイス４１４に問合せを行うためのポリシー駆動型システム４００である。システム４００は、デバイス４１４に対する問合せを供給するためのインターフェースを有するクライアント４０２と、クライアント４０２から問合せを受け取るためのインターフェースと、問合せを送り出すためのインターフェースとを有するマネージャ４０６とを備える。マネージャ４０６は、問合せポリシー４１０ａ〜４１０ｎを選択し、選択された問合せポリシーに応じた方法を用いて問合せを送り出す。【選択図】  図２
2005078631.tif 000002
【特許請求の範囲】
【請求項１】
デバイスを有するシステムにおけるポリシー駆動型問合せ方法であって、
クライアントから、デバイスに対する問合せを受け付けるステップと、
問合せポリシーを選択するステップと、
上記選択された問合せポリシーに応じた方法を用いて、上記問合せをエージェントに送り出すステップとを含むことを特徴とするポリシー駆動型の問合せ方法。
【請求項２】
上記エージェントから問合せ結果を受け取るステップと、
上記選択された問合せポリシーに応じた方法を用いて、上記問合せ結果をクライアントに送り出すステップとをさらに含むことを特徴とする請求項１に記載のポリシー駆動型の問合せ方法。
【請求項３】
上記選択された問合せポリシーに応じて、複数の問合せ結果を併合するステップをさらに含んでおり、
上記問合せ結果をクライアントに送り出すステップは、併合された問合せ結果をクライアントに送り出すステップを含んでいることを特徴とする請求項２に記載のポリシー駆動型の問合せ方法。
【請求項４】
上記問合せポリシーを選択するステップは、マルチモード問合せポリシーを選択するステップを含んでおり、
上記問合せをエージェントに送り出すステップは、問合せを複数のエージェントに送り出すステップを含んでおり、
上記エージェントから問合せ結果を受け取るステップは、複数の問合せ結果を、対応する複数のエージェントから受け取るステップを含んでおり、
上記複数の問合せ結果を併合するステップは、複数のエージェントからの複数の問合せ結果を併合するステップを含んでいることを特徴とする請求項３に記載のポリシー駆動型の問合せ方法。
【請求項５】
上記問合せポリシーを選択するステップは、予め構成された選択基準、手動の選択基準、および自動的な選択基準を含むグループの中から選択基準を使用するステップを含むことを特徴とする請求項２に記載のポリシー駆動型の問合せ方法。
【請求項６】
上記選択基準を使用するステップは、上記自動的な選択基準を使用するステップであり、
上記自動的な選択基準を使用するステップは、静的な基準、ヒューリスティックな基準、および適応型の基準を含むグループの中から自動的な選択基準を使用するステップを含むことを特徴とする請求項５に記載のポリシー駆動型の問合せ方法。
【請求項７】
上記問合せポリシーを選択するステップは、問合せにて要求された情報とは無関係であるグローバルな問合せポリシーを選択するステップを含むことを特徴とする請求項４に記載のポリシー駆動型の問合せ方法。
【請求項８】
上記問合せポリシーを選択するステップは、情報タイプの問合せポリシーを選択するステップを含んでおり、
上記問合せを複数のエージェントに送り出すステップは、各エージェントに対して、上記問合せにて要求された情報に対応する方法を用いるステップを含むことを特徴とする請求項４に記載のポリシー駆動型の問合せ方法。
【請求項９】
上記問合せポリシーを選択するステップは、要素タイプの問合せポリシーを選択するステップを含んでおり、
与えられた問合せに関連した各タイプのエージェントを特定するステップをさらに含んでおり、
上記問合せを複数のエージェントに送り出すステップは、各エージェントに対して、上記特定されたエージェントのタイプに対応する方法を用いるステップを含むことを特徴とする請求項４に記載のポリシー駆動型の問合せ方法。
【請求項１０】
上記問合せポリシーを選択するステップは、応答時間ポリシーおよび信頼性ポリシーを含むグループの中からポリシーを選択するステップを含むことを特徴とする請求項４に記載のポリシー駆動型の問合せ方法。
【請求項１１】
上記問合せポリシーを選択するステップは、応答時間ポリシーを選択するステップを含んでおり、
各エージェントの問合せ結果に関連のある推定時間をランク付けするステップをさらに含んでおり、
上記問合せを複数のエージェントに送り出すステップは、上記推定時間に応じた階層順序で問合せを送り出すステップを含むことを特徴とする請求項４に記載のポリシー駆動型の問合せ方法。
【請求項１２】
上記問合せポリシーを選択するステップは、信頼性ポリシーを選択するステップを含んでおり、
各エージェントの問合せ結果に関連のある推定信頼性をランク付けするステップをさらに含んでおり、
上記問合せを複数のエージェントに送り出すステップは、推定信頼性に応じた階層順序で問合せを送り出すステップを含むことを特徴とする請求項４に記載のポリシー駆動型の問合せ方法。
【請求項１３】
上記問合せポリシーを選択するステップは、正確度ポリシーを選択するステップを含んでおり、
各エージェントの問合せ方法に関係のある推定正確度をランク付けするステップをさらに含んでおり、
上記問合せをエージェントに送り出すステップは、複数の問合せ方法を用いて問合せをエージェントに送り出すステップを含んでおり、
上記エージェントから問合せ結果を受け取るステップは、上記複数の問合せ方法に対応する複数の結果を受け取るステップを含んでおり、
上記複数の問合せ結果を併合するステップは、最も正確であると予想される結果を選択するステップを含むことを特徴とする請求項３に記載のポリシー駆動型の問合せ方法。
【請求項１４】
上記クライアントからデバイスに対する問合せを受け付けるステップは、デバイスの通信ポート情報、ネットワーク情報、通信検査、機能要求、および、状態の更新に関する情報に対する問合せを受け付けるステップを含んでおり、
上記選択された問合せポリシーに応じた方法を用いて問合せ結果をクライアントに送り出すステップは、デバイスの通信ポート情報、ネットワーク情報、通信検査、機能要求、および、状態の更新に関する情報に対する問合せ結果を送り出すステップを含むことを特徴とする請求項１に記載のポリシー駆動型の問合せ方法。
【請求項１５】
上記選択された問合せポリシーに応じた方法を用いて問合せをエージェントに送り出すステップは、スプーラアプリケーションプログラミングインターフェース、簡易ネットワーク管理プロトコル、プリンタデータベース、独自プロトコル、ウインドウズ２Ｋディレクトリサービス、サービスロケーションプロトコル、プリンタジョブ言語、ＵＳＴＡＴＵＳ、ＢＭＬｉｎｋＳ問合せ、ハイパーテキスト転送プロトコルを用いた組込み型デバイスウェブページに関する問合せ、および、その他の業界標準の方法を含むグループの中から選択された方法を用いるステップを含むことを特徴とする請求項１に記載のポリシー駆動型の問合せ方法。
【請求項１６】
上記複数の問合せ結果を併合するステップは、問合せ結果をフィルタリングするプロセス、複数の結果を単一の結果にグループ化するプロセス、および、上記複数の結果に重み付けを行うプロセスを含むグループの中から選択されたプロセスを用いて問合せ結果を併合するステップを含むことを特徴とする請求項３に記載のポリシー駆動型の問合せ方法。
【請求項１７】
デバイス情報をキャッシュするステップをさらに含んでおり、
上記問合せ結果をエージェントから受け取るステップは、キャッシュされたデバイス情報を上記問合せ結果として受け取るステップを含むことを特徴とする請求項１に記載のポリシー駆動型の問合せ方法。
【請求項１８】
上記クライアントからデバイスに対する問合せを受け付けるステップは、ローカル接続されたクライアント、遠隔接続されたクライアント、および、ネットワーク接続されたクライアントを含むループの中から選択されたクライアントから問合せを受け付けるステップを含むことを特徴とする請求項１に記載のポリシー駆動型の問合せ方法。
【請求項１９】
上記選択された問合せポリシーに応じた方法を用いて問合せをエージェントに送り出すステップは、ローカル接続性、遠隔接続性、および、ネットワーク接続性を含むグループの中から選択されたデバイスとの接続性を有するエージェントに問合せを送り出すステップを含むことを特徴とする請求項１に記載のポリシー駆動型の問合せ方法。
【請求項２０】
上記クライアントからデバイスに対する問合せを受け付けるステップは、プリンタ、ファックス、スキャナ、多機能周辺機器、および、コピー機を含むグループの中から選択されたイメージングデバイスに対する問合せを受け取るステップを含むことを特徴とする請求項１に記載のポリシー駆動型の問合せ方法。
【請求項２１】
上記選択された問合せポリシーに応じた方法を用いて問合せをエージェントに送り出すステップは、問合せの主体である上記デバイスと、上記デバイスと通信するサービスを含むマイクロプロセッサドライバコンピュータとを含むグループの中から選択されたエージェントに問合せを送り出すステップを含むことを特徴とする請求項１に記載のポリシー駆動型の問合せ方法。
【請求項２２】
上記クライアントからデバイスに対する問合せを受け付けるステップは、第１デバイスに対する問合せを受け付けるステップを含んでおり、
上記選択された問合せポリシーに応じた方法を用いて問合せをエージェントに送り出すステップは、第１デバイスの固定情報を含むエージェントのキャッシュに問合せを送り出すステップを含んでおり、
上記エージェントから問合せ結果を受け取るステップは、上記エージェントのキャッシュから第１デバイスの固定情報を受け取るステップを含むことを特徴とする請求項２に記載のポリシー駆動型の問合せ方法。
【請求項２３】
上記エージェントのキャッシュにデバイス情報をキャッシュするステップをさらに含んでおり、
上記エージェントから問合せ結果を受け取るステップは、固定のデバイス情報およびキャッシュされたデバイス情報を含むグループの中から選択された上記エージェントのキャッシュから問合せ結果を受け取るステップを含むことを特徴とする請求項２２に記載のポリシー駆動型の問合せ方法。
【請求項２４】
上記エージェントのキャッシュにデバイス情報をキャッシュするステップは、パワーアップサイクル間で変化しない準固定情報と、パワーアップサイクル間で変化する非固定データとをキャッシュするステップを含むことを特徴とする請求項２３に記載のポリシー駆動型の問合せ方法。
【請求項２５】
デバイスに問合せを行うポリシー駆動型システムであって、
デバイスに対する問合せを供給するためのインターフェースを有するクライアントと、
上記クライアントから問合せを受け取るためのインターフェースと、問合せを送り出すためのインターフェースとを有するマネージャとを備えており、
上記マネージャは、問合せポリシーを選択し、選択された問合せポリシーに応じた方法を用いて問合せを送り出すことを特徴とするポリシー駆動型システム。
【請求項２６】
上記マネージャから問合せを受け取って上記マネージャに問合せ結果を送り出すためのインターフェースを有するエージェントをさらに備えており、
上記マネージャが、上記エージェントから受け取った問合せ結果を、上記選択された問合せポリシーに応じた方法を用いてクライアントに送り出すことを特徴とする請求項２５に記載のポリシー駆動型システム。
【請求項２７】
上記エージェントは、問合せを中継するためのインターフェースを有しており、
上記エージェントから中継された問合せを受け取って上記エージェントに問合せ結果を供給するためのインターフェースを有するデバイスをさらに備えることを特徴とする請求項２６に記載のポリシー駆動型システム。
【請求項２８】
上記マネージャは、選択された問合せポリシーに応じて複数の問合せ結果を併合し、併合した問合せ結果を上記クライアントに送り出すことを特徴とする請求項２６に記載のポリシー駆動型システム。
【請求項２９】
上記マネージャは、マルチモード問合せポリシーを選択し、複数のエージェントに問合せを送信し、複数の問合せ結果を、対応する複数のエージェントから受け取り、上記複数の問合せ結果を併合することを特徴とする請求項２８に記載のポリシー駆動型システム。
【請求項３０】
上記マネージャは、予め構成された選択基準、手動の選択基準、および自動的な選択基準を含むグループからの基準に応じてポリシーを選択することを特徴とする請求項２６に記載のポリシー駆動型システム。
【請求項３１】
上記マネージャは、静的なポリシーヒューリスティックなポリシー、および適応型のポリシーを含むグループの中から自動的なポリシー選択基準を使用することを特徴とする請求項３０に記載のポリシー駆動型システム。
【請求項３２】
上記マネージャは、上記問合せにて要求された情報とは無関係であるグローバルな問合せポリシーを選択することを特徴とする請求項２６に記載のポリシー駆動型システム。
【請求項３３】
上記マネージャは、情報タイプの問合せポリシーを選択し、上記問合せにて要求された情報に対応する問合せを送り出すことを特徴とする請求項２６に記載のポリシー駆動型システム。
【請求項３４】
上記マネージャは、要素タイプの問合せポリシーを選択し、与えられた問合せに関連のある各タイプのエージェントを特定し、上記特定されたエージェントのタイプに対応する方法を用いて問合せを送り出すことを特徴とする請求項２６に記載のポリシー駆動型システム。
【請求項３５】
上記マネージャは、応答時間ポリシーを選択し、各エージェントの問合せ結果に関連のある推定時間をランク付けし、上記推定時間に応じた階層順序で問合せを送り出すことを特徴とする請求項２６に記載のポリシー駆動型システム。
【請求項３６】
上記マネージャは、信頼性ポリシーを選択し、各エージェントの問合せ結果に関連のある推定信頼性をランク付けし、上記推定信頼性に応じた階層順序で問合せを送り出すことを特徴とする請求項２６に記載のポリシー駆動型システム。
【請求項３７】
上記マネージャは、正確度ポリシーを選択し、各エージェントの問合せ結果に関連のある推定正確度をランク付けし、複数の方法を用いて問合せをエージェントに送信し、複数の問合せ方法に対応する複数の結果を受け取り、かつ、最も正確であると予想される結果を選択することにより上記複数の問合せ結果を併合することを特徴とする請求項２８に記載のポリシー駆動型システム。
【請求項３８】
上記マネージャは、デバイスの通信ポート情報、ネットワーク情報、通信検査、機能要求、または、状態の更新に関する情報に対する問合せをクライアントから受け付け、デバイスの通信ポート情報、ネットワーク情報、通信検査、機能要求、または、状態の更新に関する情報に対する問合せ結果をクライアントに送り出すことを特徴とする請求項２６に記載のポリシー駆動型システム。
【請求項３９】
上記マネージャは、スプーラＡＰＩ、簡易ネットワーク管理プロトコル、プリンタデータベース、独自プロトコル、ウインドウズ２Ｋディレクトリサービス、サービスロケーションプロトコル、ＰＪＬ  ＵＳＴＡＴＵＳ、ＢＭＬｉｎｋＳ問合せ、ハイパーテキスト転送プロトコルを用いた組込み型のデバイスウェブページに関する問合せ、および、その他の業界標準を含むグループの中から選択された方法を用いて、問合せを上記エージェントに送り出すことを特徴とする請求項２６に記載のポリシー駆動型システム。
【請求項４０】
上記マネージャは、問合せ結果をフィルタリングするプロセス、複数の結果を単一の結果にグループ化するプロセス、および上記複数の結果に重み付けを行うプロセスを含むグループの中から選択されたプロセスを用いて、問合せ結果を併合することを特徴とする請求項２８に記載のポリシー駆動型システム。
【請求項４１】
上記エージェントは、デバイス情報を格納するためのキャッシュを含んでおり、
上記マネージャは、選択された問合せポリシーに応じて、キャッシュされた問合せ結果を上記エージェントから受け取ることを特徴とする請求項２６に記載のポリシー駆動型システム。
【請求項４２】
上記クライアントは、上記マネージャとの関連性を有するものであり、該関連性は、ローカル接続性、遠隔接続性、およびネットワーク接続性を含むグループの中から選択されたものであることを特徴とする請求項２６に記載のポリシー駆動型システム。
【請求項４３】
上記デバイスは、上記マネージャとの関連性を有するものであり、該関連性は、ローカル接続性、遠隔接続性、ネットワーク接続性を含むグループの中から選択されたものであることを特徴とする請求項２７に記載のポリシー駆動型システム。
【請求項４４】
上記デバイスは、プリンタ、ファックス、スキャナ、多機能周辺機器、およびコピー機を含むグループの中から選択されたものであることを特徴とする請求項２７に記載のポリシー駆動型システム。
【請求項４５】
上記エージェントは、上記問合せの主体であるデバイスと、上記デバイスと通信するサービスを含んだマイクロプロセッサドライバコンピュータとを含むグループの中から選択されたものであることを特徴とする請求項２７に記載のポリシー駆動型システム。
【請求項４６】
上記エージェントは、第１デバイスの固定情報および準固定情報を有するキャッシュを含み、該準固定情報は、パワーアップサイクル間で変化しないものであり、
上記エージェントは、第１デバイスに関する問合せに応じて、問合せ結果を上記キャッシュから戻すことを特徴とする請求項２６に記載のポリシー駆動型システム。
【請求項４７】
上記エージェントのキャッシュは、パワーアップサイクル間で変化する非固定の第１デバイス情報を含んでおり、
上記エージェントは、固定情報、準固定情報、および非固定情報を含むグループの中から選択されたデバイス情報を有する問合せ結果を戻すことを特徴とする請求項２６に記載のポリシー駆動型システム。
【請求項４８】
請求項１ないし２４の何れか１項に記載のポリシー駆動型問合せ方法における各ステップをコンピュータに実行させることを特徴とするポリシー駆動型問合せプログラム。
【請求項４９】
請求項４８に記載のポリシー駆動型問合せプログラムを記録したことを特徴とするコンピュータ読取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般には、デバイスに問合せを行うプロセスに関するものであり、より具体的には、ローカル接続、遠隔接続、またはネットワーク接続されたデバイスの問合せを行うポリシー駆動型システムおよび方法に関するものである。
【背景技術】
【０００２】
クライアントは、ローカル接続、ネットワーク接続、遠隔接続、または、これらの接続の組合せを介して、他のデバイスに接続することができる。例えば、パーソナルコンピュータ（ＰＣ）は、パラレルポート用ケーブルのようなローカル接続を介して、プリンタに接続することができる。この場合、ＰＣは、デバイス（プリンタ）の識別情報、デバイスのネットワーク情報、デバイスの機能、および／または、デバイスの状態のような主体について、プリンタに問合せを求めることができる。通常、問合せを行う様々な方法がある。例えば、プリンタの状態を検査するために、プリンタ、または、プリンタ用のジョブを待ち行列に入れるローカルスプーラに、問合せを直接送り出すことが可能である。問合せの方法は、戻りの情報の種類、正確度、または信頼性によって相違してもよい。最適な問合せの方法でデバイスを決定したり、予めプログラミングを行ったりすることは困難である。
【０００３】
従来、デバイスから情報を取得する幾つかの方法がある。或る方法では、ホストが、デバイスとピアツーピア接続を確立し、簡易ネットワーク管理プロトコル（ＳＮＭＰ）のような単一の方法を用いて、デバイスからの情報を直接要求する（例えば、特許文献１を参照）。この例では、ホストは、ＳＮＭＰクライアントとして機能できるアプリケーションを実行する。一方、デバイスは、ＳＮＭＰエージェントとして取り扱われる。このアプリケーションは、様々なカテゴリの問合せに対応している。このカテゴリの例としては、ポート情報、ネットワーク情報（ＩＰアドレス）、Ｐｉｎｇ（ＩＰアドレスのアクセス可能性）のような通信、機能、および状態が挙げられる。
【０００４】
図９は、ＳＮＭＰによる問合せの方法（従来例）を示す概略ブロック図である。この方法では、情報の要求は、ＳＮＭＰ  ＯＩＤフェッチのような適当なフォーマットで作成される。上記方法には、以下のような問題点が存在する。すなわち、上記デバイスは、上記単一の方法に対応していて、かつ応答している必要がある。また、上記方法に対する問合せのマッピング（map）が可能である必要がある。また、デバイスにて実行される上記方法が、上記要求に対応している必要がある。また、上記方法によっては、結果が信頼できない可能性がある。また、上記方法によっては、ネットワーク上のトラフィックの負荷および経過時間が最適ではない可能性がある。そして、重複した要求に対して不揮発な情報のキャッシュが行われない。
【０００５】
図１０は、ハードウェア上でコード化された（hard-coded）複数の問合せの方法（従来例）を示す概略ブロック図である。この方法では、ホストの有するアプリケーションが、デバイスに問合せを行う複数の方法に対応しているが、該方法の何れを選択するかとか、複数の応答をどのように併合するかとかは、ハードウェア上でコード化されている。シャープ株式会社製のＥＺ  Ｃｌｕｓｔｅｒ（登録商標）を用いて上記の方法を例示する。ＥＺ  Ｃｌｕｓｔｅｒ（登録商標）では、上述のような様々な情報カテゴリを要求することが可能である。各カテゴリに対して、ＥＺ  Ｃｌｕｓｔｅｒ（登録商標）は、デバイスに問合せを行う所定の方法セットと、複数の応答を併合する所定の方法とを有している。例えば、ユーザがプリンタデバイスにて印刷するジョブの数を知りたい場合、ホストは、ローカル／遠隔スプーラに対し、それぞれのクライアント／サーバにおいて待ち行列に入れられたジョブに関する問合せを行うか、プリンタに対し、ＳＮＭＰを用いて待ち行列に入れられたジョブに関する問合せを行う。プリンタが両面印刷機能（duplex capability）を有するか否かをユーザが知りたい場合、ホストは、デバイスに対し、ＳＮＭＰを用いて問合せを行い、内蔵のプリンタデータベースに対し、プリンタモデルごとの基本構成に関する問合せを行う。そして、ＥＺ  Ｃｌｕｓｔｅｒ（登録商標）は、問合せの方法に基づく応答の信頼性をランク付けるルールがハードウェア上でコード化されたシステムを有しているので、最も信頼できる結果が戻される。
【０００６】
上記の複数の問合せの方法には以下のような問題点が未だ存在する。すなわち、上記の方法は、特定のデバイスに対して最適ではない（速度が遅い）可能性がある。また、上記の方法は、特定のデバイス、ネットワーク、または、ホストに対して重複している（信頼性が同じ）可能性がある。また、上記応答を併合する方法は、特定のデバイスに対して信頼できない可能性がある。そして、重複した要求に対して不揮発な情報のキャッシュが行われない。
【特許文献１】特開２００３−３００６８（２００３年１月３１日公開）
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上述のように、複数の問合せを行う方法には、未だ種々の問題点が存在する。ところで、もし、必要に応じて、或る問合せの方法を用いたり、或いは、問合せの結果を戻すことが最も予想される複数の方法を用いたりできるならば、有益である。また、もし、速度または正確度のような結果志向の基準に応じて、問合せの方法を選択できるならば、有益である。また、もし、複数の問合せに対する結果を併合（merge）できるならば、有益である。
【０００８】
本発明は、上記の問題点に鑑みてなされたものであり、その目的は、デバイスに問合せを行うための問合せ方法を、必要に応じて選択できる方法およびシステムを提供することにある。
【課題を解決するための手段】
【０００９】
本発明は、１または複数のデバイスから情報を取得することの問題点に対し、複数の問合せ方法を選択的に用いることによって対応するものである。より具体的には、本発明は、デバイスに問合せを行う方法のセットを選択し、複数の問合せ方法からの応答を単一の結果に併合することの問題点を解決するものである。
【００１０】
すなわち、本発明は、デバイスを有するシステムにおいて問合せを行うためのポリシー駆動型方法を提示するものである。本発明の方法は、クライアントから、デバイスに対する問合せを受け付けるステップと、問合せポリシーを選択するステップと、上記選択された問合せポリシーに応じた方法を用いて、上記問合せをエージェントに送り出すステップとを含んでいる。上記問合せは、デバイスの通信ポート情報、ネットワーク情報、通信検査（Ｐｉｎｇ）、機能要求、または状態の更新に関連する場合がある。本願で用いるように、用語「問合せポリシー」とは、問合せ方法を含む１または複数のグループのことであり、各グループは、複数の問合せ方法を含んでいてもよい。
【００１１】
上記の方法によると、デバイスに対する問合せをクライアントから受け付けると、問合せポリシーを選択し、選択された問合せポリシーに応じた方法を用いて、上記問合せをエージェントに送り出している。これにより、問合せポリシーに含まれる問合せ方法を選択して用いることができ、複数の問合せ方法の中から必要に応じて問合せ方法を選択して問合せを行うことができる。
【００１２】
上記問合せ方法としては、スプーラアプリケーションプログラムインターフェース（ＡＰＩ）、簡易ネットワーク管理プロトコル（ＳＮＭＰ）、プリンタデータベース、独自プロトコル（proprietary protocol）、ウインドウズ２Ｋディレクトリサービス、サービスロケーションプロトコル（ＳＬＰ）、プリンタジョブ言語（ＰＪＬ）ＵＳＴＡＴＵＳ、ハイパーテキスト転送プロトコル（ＨＴＴＰ）を用いた組込み型デバイスウェブページに関する問合せと同様に、ＢＭＬｉｎｋＳ問合せ、および、他の業界標準の方法が挙げられる。
【００１３】
さらに、本発明の方法は、エージェントから問合せ結果を受け取るステップと、上記選択された問合せポリシーに応じた方法を用いて、上記問合せ結果をクライアントに送り出すステップとを含んでいる。また、上記選択された問合せポリシーに応じて複数の問合せ結果を併合するステップが追加される場合もある。この場合、併合された問合せ結果が上記クライアントに送り出される。
【００１４】
また、マルチモード問合せポリシーを選択できる場合がある。この場合、問合せが複数のエージェントに送り出され、複数の問合せ結果が併合される。或いは、予め構成されたポリシー、手動で選択されるポリシー、または自動的に選択されるポリシーを使用できる。他には、情報タイプの問合せポリシーを選択できる場合がある。この場合、各エージェントに対して、上記問合せにて要求された情報に対応する方法が使用される。
【００１５】
また、要素タイプの問合せポリシーを選択する場合もある。この場合、本発明の方法は、さらに、与えられた問合せに関連した各タイプのエージェントを特定するステップを含んでいる。そして、各エージェントに対して、特定されたエージェントのタイプに対応する方法を使用する。また、上記ポリシーを、問合せ結果時間または信頼性の何れかに応じて選択する場合もある。正確度ポリシーを選択する場合には、本発明の方法は、さらに、各エージェントの問合せ方法に関する推定正確度をランク付けするステップと、複数の方法を用いてエージェントに問合せを送り出すステップとを含んでいる。そして、最も正確であると予想される結果を選択することにより、問合せ結果を併合する。
【００１６】
なお、上記本発明の方法における各ステップを、ポリシー駆動型プログラムによりコンピュータ上で実行させることができる。さらに、上記ポリシー駆動型プログラムをコンピュータ読取り可能な記録媒体に記憶させることにより、任意のコンピュータ上で上記ポリシー駆動型プログラムを実行させることができる。
【００１７】
上述の方法と、デバイスに問合せを行うポリシー駆動型システムとのさらなる詳細を以下に示す。
【発明の効果】
【００１８】
以上のように、本発明に係るポリシー駆動型問合せ方法は、問合せポリシーに含まれる問合せ方法を選択して用いることができるので、複数の問合せ方法の中から必要に応じて問合せ方法を選択して問合せを行うことができるという効果を奏する。
【発明を実施するための最良の形態】
【００１９】
本発明の一実施形態について図１ないし図８に基づいて説明すると以下の通りである。すなわち、図１は、発見再使用（Discover Reuse）ダイナミックリンクライブラリ（ＤＬＬ）による問合せ方法を示している。この発見再使用ＤＬＬの方法は、図１０に示される方法の改良を示すものである。また、上記発見再使用ＤＬＬは、新たなコンセプトにも対応している。すなわち、プリンタ機能のような不揮発性の情報が重複要求される場合のためのキャッシュと、新たにインストールされたプリンタ、または、新たに利用可能となったプリンタオプションのような、キャッシュの価値の無い情報を検知するための方法と、応答の信頼性の決定とが、併合ユニットから独立しているということである。例えば、応答の信頼性を決定するためのルールは、併合ユニットにおいてハードウェア上でコード化されるのではなく、応答を生成する方法に還元される。
【００２０】
上記の方法には以下のような問題点が未だ存在する。すなわち、方法の選択を構築することが不可能である場合のように、方法の選択が、デバイスまたは要求に対して最適ではない可能性がある。また、誤り処理のように、所望の方法を選択して結果を生成できない場合には、他の方法の選択を特定することができない。そして、特定のデバイスからの応答の信頼性を決定する方法が、正確ではない可能性がある。
【００２１】
図２は、ポリシーを駆動して、デバイスに問合せを行う本発明のシステムを示す概略ブロック図である。このシステム（ポリシー駆動型システム）４００は、クライアント４０２を備えており、該クライアント４０２は、デバイスに向けて問合せを送出（supply）するために配線４０４とのインターフェースを有している。マネージャ４０６（すなわちホスト）は、クライアント４０２からの問合せを受け取るために配線４０４に接続したインターフェースを有し、かつ、問合せを送り出すために配線４０８に接続したインターフェースを有している。マネージャ４０６は、問合せポリシーを選択し、選択した問合せポリシーに対応する方法を用いて、問合せを送り出す。問合せポリシーフォルダ４１０ａ〜４１０ｎは、複数の利用可能なポリシーを表している。
【００２２】
クライアント４０２は、マネージャ４０６と関連性を有する構成要素であり、この関連性は配線４０４によって表され、この配線４０４は、ローカル接続性、遠隔接続性、または、ネットワーク接続性によって示されることができる。ここで用いられるように、デバイスがインターフェース用ユニットと共に存在する場合、デバイスはローカル接続される。ローカル接続される場合、マネージャは、クライアントと同じプロセスに存在してもよく、この場合、配線４０４はプロセス内通信を表すことになる。または、マネージャは、クライアントと別のプロセス内に存在してもよく、この場合、配線４０４はプロセス間通信を表すことになる。ネットワーク接続性は、ローカルエリアネットワークＬＡＮのように、ネットワークの中で比較的明確に規定された接続性である。遠隔接続性は、おそらく複数のネットワークを介したインターフェースを伴うので、ネットワーク接続形態が比較的明瞭ではない。
【００２３】
マネージャ４０６は、デバイスの通信ポート情報、ネットワーク情報、通信検査（Ｐｉｎｇ）、機能の要求、または、状態の更新といった情報に導く問合せをクライアント４０２から受け付けてもよい。同様に、マネージャ４０６は、デバイスの通信ポート情報、ネットワーク情報、通信検査（Ｐｉｎｇ）、機能の要求、または、状態の更新といった主体を導く問合せ結果をクライアント４０２に送り出す。このことは、可能性のある全ての問合せを網羅したリストとは限らない。具体的なクライアント、デバイス、エージェント、およびマネージャの詳細が初めに規定されない場合には、問合せの明確なリストを規定することは困難である。
【００２４】
エージェント４１２は、マネージャ４０６から問合せを受信し、問合せ結果をマネージャ４０６に送り出すために配線４０８とのインターフェースを有している。エージェント４１２は、（以下に示す）デバイスへの問合せを中継するために配線４１５とのインターフェースを有する場合もある。或いは、エージェント４１２は、予め構成された情報、または、メモリに保存された情報に基づく問合せ結果を戻す場合もある。また、エージェント４１２は、問合せの主体であるデバイスであってもよい。この場合、エージェント４１２は、デバイスと共に配置されるか、または、上述のように、デバイスとのローカル接続性を享受している。或いは、エージェント４１２は、デバイスと通信するためにマイクロプロセッサドライバコンピュータ（microprocessor-driver computer）に組み込まれたサービスであってもよい。例えば、エージェント４１２は、ネットワークサーバと関連付けられることもできる。また、エージェント４１２は、例えばローカルスプーラのように、マネージャ４０６にローカル接続されている場合もある。
【００２５】
ローカルスプーラは、全ての問合せをプリンタ（デバイス）に送付（delivery）しない場合があり、かつ、プリンタ（デバイス）から問合せ結果を受け取らない場合があるエージェントの１例である。ローカルスプーラは、ジョブをデバイスにスプールしないが、その他の場合には、限定的な方法（manner）でデバイスとの通信を行うプロセスまたはアプリケーションである。その代わり、ローカルスプーラは、デバイスに間接的に関係している情報を自身に関する情報として有している。この間接的な情報を、プリンタ（デバイス）の問合せ結果として戻してもよい。例えば、ローカルスプーラは、プリンタに送信されるために待機している（が未だ送信されていない）少なくとも１つのジョブを有するローカルプリント待ち行列を有している場合、スプーラは、プリンタが使用中である（か、使用中となるであろう）ことを推測できる。この推測は、プリンタに対する特定の問合せのためになされる。
【００２６】
マネージャ４０６は、スプーラＡＰＩ、簡易ネットワーク管理プロトコル（ＳＮＭＰ）、プリンタデータベース、独自プロトコル、ウインドウズ２Ｋディレクトリサービス、サービスロケーションプロトコル（ＳＬＰ）、ＰＪＬ  ＵＳＴＡＴＵＳ、またはＢＭＬｉｎｋＳ問合せを含むグループの中から選択された方法を用いて、エージェント４１２に問合せを送り出す。この問合せは、ハイパーテキスト転送プロトコル（ＨＴＴＰ）を用いた組込み型デバイスウェブページに関係してもよいし、または、従来の他の不特定の業界標準（industry standard）に由来するものであってもよい。なお、問合せ方法を網羅したリストに留意すべきである。この場合も同様に、方法のリストをより完全にするには、具体的なシステム要素およびシステム接続を明確にする必要がある。
【００２７】
また、マネージャ４０６は、エージェント４１２から受信した問合せ結果を、選択された問合せポリシーに応じた方法を用いてクライアント４０２に送り出す。留意すべきは、問合せを送り出すために選択されたポリシーが、問合せ結果を送り出すために用いらるポリシーと同じである必要はないということである。また、システム４００によっては、種々の組のポリシー（図示せず）が、問合せおよび問合せ結果の送信に用いられる場合もある。
【００２８】
また、デバイス４１４は、エージェントから問合せを受け取って、配線４１５に沿ってエージェントに問合せ結果を供給するためのインターフェースを有している。このデバイス４１４は、上述したように、マネージャに対して、ローカル接続性、遠隔接続性、または、ネットワーク接続性を有するデバイスである。システム４００によっては、デバイス４１４は、プリンタ、ファックス、スキャナ、多機能周辺機器（ＭＦＰ）、または、コピー機のようなイメージングデバイスである場合もある。しかし、本発明は、デバイスの種類を特に限定するものではない。
【００２９】
マネージャ４０６が、１つのデバイスに関する問合せを複数個送信してもよい場合がある。例えば、プリンタ型デバイスに関して、ローカルスプーラと同様に、個別の問合せをプリンタに直接送り出すことができる。この場合のシステム４００では、マネージャ４０６は、選択された問合せポリシーに応じて複数の問合せ結果を併合し、併合した問合せ結果をクライアント４０２に送信してもよい。
【００３０】
また、マネージャ４０６は、種々のプロセスを用いて問合せ結果を併合してもよい。問合せ結果をグループにしてもよい場合もある。例えば、新しい結果を、結果のグループの中から得てもよい。他に、問合せ結果に重みをつける場合もある。選択されたポリシーは、重み係数を含んでいてもよい。例えば、スプーラ方法より大きな重みをＳＮＭＰ方法に与えてもよい。さらには、結果をフィルタするか、または、分類する場合もある。例えば、問合せ結果がエラー状態に関係する場合には、最も高いエラー状態の値を有する問合せ結果をクライアントに戻してもよい。或いは、或る結果を、結果のグループの中から抜き出すこともできる。
【００３１】
また、上記ポリシーを、多数の異なる種類の選択基準を介して編成してもよい。異なるポリシーを選択できるとともに、ポリシーを選択するために異なる手段を使用できることが理解される。また、マネージャ４０６は、予め構成されたポリシー、手動の選択基準、または自動の選択基準に応じたポリシーを選択する場合もある。予め構成されたポリシーとは、常に用いられるポリシーであり、例えば、特定のクライアント、情報の種類、またはデバイスに対応して常に用いられるポリシーである。手動の選択基準は、実行時に、ユーザすなわちアドミニストレータ（administrator）によって選択された基準であってもよい。自動的にポリシーを選択基準は、静的な、ヒューリスティックな（heuristic）、または適応型のポリシーを含んでいてもよい。静的な基準は、例えば、システムの現在の状態を反映するものである。ヒューリスティックな基準は、システムの過去の状態に対応し得るものであり、適応型基準は、システムの変更に対応し得るものである。
【００３２】
上述したように、マネージャ４０６は、マルチモード問合せポリシーを選択して、複数のエージェントに問合せを送信してもよい。図２に示されるように、問合せをエージェント４１２・４１６に送り出す。マネージャ４０６は、複数の問合せ結果を、対応する複数の（この例では２つの）エージェントから受け取り、複数の問合せ結果を併合する。
【００３３】
別の実施例として、マネージャ４０６は、問合せにて要求された情報とは関係のないグローバルな問合せポリシーを選択できる。或いは、マネージャ４０６は、情報型（非グローバルな）問合せポリシーを選択し、問合せにて要求された情報に対応する問合せを送り出す。
【００３４】
他に、マネージャ４０６は、要素タイプの問合せポリシーを選択する場合がある。この場合、マネージャ（または、関連するアプリケーション（図示せず））は、指示された（directed）問合せに関連のあるエージェントの種類をそれぞれ識別するタスクを有している。マネージャ４０６は、識別されたエージェントの種類に対応する方法を用いて問合せを送り出す。例えば、エージェント４１２・４１６の種類が異なる場合、マネージャ４０６は、異なる問合せ方法をエージェント４１２・４１６のそれぞれに送信してもよい。
【００３５】
また、或るシステム４００では、マネージャ４０６は、応答時間ポリシーを選択する。マネージャ４０６（または、関連するアプリケーション）は、各エージェントの問合せ結果に関する推定時間（probable time）のランク付けする。このとき、マネージャ４０６は、推定応答時間に対応する階層順序で問合せを送り出す。例えば、マネージャ４０６は、エージェント４１２からの問合せ結果が、エージェント４１６からの問合せ結果よりも前に戻ると判断した場合、エージェント４１２に問合せを送信し得る。
【００３６】
また、マネージャ４０６は、信頼性ポリシーを選択してもよい。この場合、マネージャ４０６は、各エージェントの問合せ結果に関する推定信頼性（probable reliability）をランク付けし、推定信頼性に対応する階層順序で問合せを送り出す。他に、マネージャ４０６が、正確度ポリシーを選択して、各エージェントの問合せ方法に関する推定正確度（probable accuracy）を分類する場合がある。この場合、マネージャ４０６は、複数の方法を用いてエージェント（例えばエージェント４１２）に問合せを送信し、複数の問合せ方法に応じた複数の結果を受け取る。そして、マネージャ４０６は、非常に正確と思われる複数の問合せ結果を選択することにより、該複数の問合せ結果を併合する。
【００３７】
システム４００によっては、エージェント４１２がキャッシュ４１８（つまり、キャッシュメモリー）を含む場合がある。或る例では、マネージャ４０６は、選択された問合せポリシーに対応するエージェント４１２から、キャッシュされた問合せ結果を受け取る。エージェント４１２がデバイス４１４と通信できない場合、または、デバイスの情報が特に変動しやすいわけではない場合には、上記キャッシュされた問合せ結果を用いてもよい。或いは、キャッシュされた問合せ結果を用いてシステム資源をセーブしてもよい。
【００３８】
別の場合には、エージェント４１２のキャッシュ４１８は、予めプログラムされた情報、または、第１デバイスの固定情報（first device permanent information）を含んでいてもよい。エージェント４１２は、第１デバイスに関する問合せに応じた問合せ結果として、第１デバイスの固定情報を戻してもよい。例えば、第１デバイスが特定のプリンタモデルであり、エージェントがプリンタモデルデータベース（ＰＭＤＢ）であってもよい。このＰＭＤＢは、具体的なプリンタモデルに関するデータをキャッシュするデータベースである。上記データベースは、何れのプリンタとも接続していないか、或いは接続していたとしても、何れのプリンタとも通信していない。クライアント４０２は、何らかの手段によって、プリンタの種類を知得する。例えば、別のエージェントからの問合せ結果において、プリンタモデルナンバーを戻してもよい。マネージャ４０６は、問合せにおいてプリンタの種類をＰＭＤＢに送り、ＰＭＤＢ（エージェント）は、問合せ結果において固定情報を戻す。
【００３９】
別の場合では、エージェント４１２は、キャッシュされた非固定のデバイス情報を含む問合せ結果を戻してもよい。この非固定のデバイス情報は、デバイスの状態のように、デバイスをパワーアップする間に変化し得る情報である。上述したように、キャッシュ４１８は、製造業者による構成（configuration）のように、デバイスに対して固定である情報を含んでいてもよい。さらに、キャッシュ４１８は、デバイスに最適な器機を設置するようなパワーアップの間にのみ変化可能である準固定情報を含んでいてもよい。
【００４０】
デバイスへの問合せに応じた準固定情報をパワーアップ時に収集してもよい。非固定情報はパワーアップサイクルの間で変化し得るので、パワーアップサイクルの間にキャッシュ４１８をリフレッシュすることが有効な場合も多い。キャッシュメモリーのリフレッシュを、周期的に、または、所定のイベントに応じて実行してもよい。また、エージェント４１２は、固定の、準固定の、または非固定のデバイス情報を用いて、問合せ結果を戻してもよい。なお、固定の、半固定の、または非固定の情報のキャッシュは、特定のメモリの種類に限定されるものではない。
【００４１】
〔機能的説明〕
本発明は、従来の問合せ方法に関する多くの問題を解決する。本発明では、デバイスへの問合せ方法は、要求される情報とは無関係である。つまり、これらの方法は、ハードウェア上でコード化される必要はない。情報をキャッシュしたり、キャッシュから情報を検索したりすることは、要求される情報と同様に、問合せ方法とは無関係に行うことができる。複数の問合せ結果を、問合せ方法とは無関係である単一の問合せ結果に併合することができる。方法（つまりポリシー）を複数のグループに分けて、問合せのときに選択してもよい。
【００４２】
上述したように、ポリシーは、情報のグループ化のため、または特定の種類の情報に対する問合せのために、グローバルに適用されてもよい。また、ポリシーは、例えばユーザによって静的に構成したり、或いは動的に構成したり、システム環境における変化に応じて構成してもよい。
【００４３】
上記システムは、ローカル環境、遠隔環境、またはネットワーク環境に接続された１つまたは複数のデバイスと、該デバイスからデバイス情報を要求できる１つまたは複数のクライアントコンピューティングデバイスとを備える構成である。例えば、クライアントの代わりにマネージャまたはホストとして機能するサーバーコンピューティングデバイスが、デバイスエージェントを介してデバイスに問合せすることができる。
【００４４】
上記クライアントコンピューティングデバイスは、１つまたは複数のデバイスの情報を含むデバイス問合せを開始する。この問合せは、１つまたは複数の情報ビットからなる。上記マネージャアプリケーションは、上記問合せを処理して、クライアントに情報を戻す。ＭＦＰまたはプリンタを典型的なデバイスとして詳述するが、本発明は、より広範な種類のデバイスに適用することができる。
【００４５】
図３（ａ）〜（ｃ）および図４（ａ）〜（ｃ）は、典型的なポリシーの適用を示す図である。デバイスへの問合せ方法は求められる（sought）情報とは無関係であり、方法の選択は、図３（ａ）でブラックボックス（マネージャ）によって示されるように、方法とは無関係である。
【００４６】
図３（ｂ）は、複数の方法による複数の結果を、問合せおよび方法とは無関係な単一の結果に併合するポリシーを示す図である。
【００４７】
図３（ｃ）は、プログラム可能なポリシー選択の例を示す図である。この場合、ブラックボックス（マネージャ）において、方法の選択と複数の結果の併合とをプログラム化することができる。
【００４８】
図４（ａ）は、ポリシー選択の他のプログラミングの例を示す図である。プログラムユニットの出力は、ブラックボックス（マネージャ）が、どの方法を選択するか、および、どのように結果を併合するかを決定するために用いるプログラムである。プログラムユニットは、マネージャの構成要素であるか、または、マネージャと通信するアプリケーションであり、１つまたは複数のポリシーを生成できる。複数のポリシーを規定する場合、特定のポリシーの適用を、ユーザ／アドミニストレータによる事前の構成、実行時間での手動の仕様、または、自動選択を含む多数の方法によって決定してもよい。
【００４９】
後者の場合、自動選択は、静的状態（システムの現在の状態）、ヒューリスティックな状態（システムの過去の状態）、または、（ポリシーが適用される時のシステムにおける変化に応じる）適応性状態に基づいて行われてもよい。
【００５０】
図４（ｂ）は、ポリシー選択の例を示す図である。特定のポリシーを複数のポリシーから選択することができる。
【００５１】
図４（ｃ）は、ポリシー間の典型的な関係を示す図である。ポリシーをサブプログラムユニットとして構成してもよい。この場合、或るポリシーが別のポリシーを呼び出し、別のポリシーがさらに別のポリシーを呼び出してもよい。一例では、このポリシー呼出しは、プログラム可能であってもよい。
【００５２】
図５は、グローバルポリシーへの適用を示す図である。本発明の一例では、ポリシーは、問合せられる情報にグローバルに適用される。つまり、利用可能なポリシーとポリシーの選択方法とは、要求される情報とは無関係である。
【００５３】
図６は、情報に基づくポリシー選択を示す図である。この場合、ポリシーは、特に、問い合せられる情報に適用される。つまり、利用可能なポリシーとポリシーの選択方法とは、要求される情報に関係がある。例えば、デバイスが通信しているか否かを判断するための利用可能なポリシーは、デバイスの状態を判断するために用いられるポリシーの組とは異なっていてもよい。
【００５４】
図７は、本発明のシステムにおけるキャッシュの例を示す図である。この場合、従来の問合せに対する結果をキャッシュすることにより、システムの性能を改善することができる。また、キャッシュを用いて、過去の問合せの間と同様に、現在の問合せにおける複数の方法の間で性能を改善することができる。例えば、プリンタ状態と同様に、プリンタが通信しているか否かの問合せが行われる場合、問合せは、通信および状態の判断を個別のポリシーを用いて行うことができる。この例では、プリンタが通信していないと判断した場合、対応するポリシーは、結果をキャッシュしてもよい。プリンタの状態を判断するポリシーは、キャッシュから非通信状態を検索し、デバイスへの問合せを短絡し、キャッシュされた結果、またはキャッシュされた結果の解釈を送信してもよい。なお、上記状態を判断するポリシーは、非通信状態を種々に解釈することができる。また、上記ポリシーは、ローカルスプーラまたは遠隔スプーラのような他のソースから状態情報を取得し続けてもよい。
【００５５】
キャッシュ情報のリフレッシュは、ポリシーとは無関係であってもよく、ポリシーによって駆動されてもよく、或いはそれらの両方であってもよい。例えば、標準的な方法を用いて、キャッシュの情報をリフレッシュする時を判断してもよい。しかしながら、標準的なアルゴリズムを無視してリフレッシュを強制するようにポリシー自身が選択し、それ以外ではリフレッシュが生じないようにしてもよい。
【００５６】
また、デバイス情報を、以下のように分類できる。つまり、不揮発性固定データ（変化しない情報）、不揮発性準固定データ（パワーアップサイクル間で変化しない情報）、および揮発性非固定データ（パワーアップ後に変化可能な情報）である。
【００５７】
典型的なデバイスであるプリンタを用いた場合、固定データは、以下のものを含み得る。すなわち、
１．デバイスモデル名、
２．性能仕様、
ａ．プリンタまたはスキャナにおける１分間当りのページ数、
ｂ．Ｉ／Ｏ帯域幅、
ｃ．プリンタまたはスキャナにおける１インチ当りのドット数（ＤＰＩ）、
ｄ．プリンタのトナー容量、
ｅ．製造業者提案のメンテナンス周期、
３．デバイスモデルの基本構成、
ａ．トレイ、
１．プリンタの入力／出力トレイ、
２．プリンタのフェースアップ（face up）出力トレイ、
３．スキャナの複数ページ入力（文書フィーダ、ページ数）、
４．プリンタの出力部でのミックスページストック（mix page stock）、
ｂ．シートアセンブリ、
１．プリンタのコレーション機能（collation）、
２．プリンタのコピー機能、
３．プリンタまたはスキャナの両面機能、
４．プリンタの印刷順序機能、
５．プリンタのブックレット機能（Booklet）、
６．プリンタのＮ−ｕｐ機能、
ｃ．Ｉ／Ｏ、
１．プリンタのＰＤＬインタプリタ、
２．スキャナの出力フォーマット、
３．プリンタまたはスキャナでのカラー機能対白黒機能、
ｄ．記憶ユニット、
１．プリンタのハードディスク容量、
２．プリンタまたはスキャナのＲＡＭ容量。
【００５８】
また、準固定データの例は、以下のものを含み得る。すなわち、
１．デバイス名、
２．デバイスのネットワークアドレス、
３．デバイスモデルのオプション構成、
ａ．トレイ、
ｉ．プリンタでの追加の入力／出力トレイ、
ｉｉ．プリンタのメール箱（Mail bins）、
ｉｉｉ．プリンタまたはスキャナの入力容量、
ｉｖ．プリンタの出力容量、
ｂ．フィニッシャ（Finisher）、
ｉ．ステープル、
ｉｉ．サドルステッチ（Saddle Stitch）、
ｉｉｉ．穴あけ器、
ｉｖ．折畳み（Fold）、
ｖ．スタック（Stack）、
ｖｉ．ソータ、
ｃ．Ｉ／Ｏ、
ｉ．プリンタでの追加のＰＤＬインタプリタ、
ｉｉ．プリンタのフォーム、
ｉｉｉ．プリンタまたはスキャナのカラーマッチング、
ｄ．記憶ユニット、
ｉ．プリンタでの追加のハードディスク容量、
ｉｉ．プリンタまたはスキャナでの追加のＲＡＭ容量。
【００５９】
また、非固定データの例は、以下のものを含み得る。すなわち、
１．デバイスの状態、
ａ．活動停止中（レディー、ウォーミングアップ、またはパワーセーブ）、
ｂ．使用中（印刷中またはスキャン中）、
ｃ．エラー（ユーザ介入、または要求されるメンテナンス）、
ｄ．オフラインまたは非通信、
２．消耗品、
ａ．プリンタのメディアストック、
ｂ．プリンタのトナーレベル、
ｃ．プリンタのステープルストック。
【００６０】
一般に、情報を上述の分類に分割することは、デバイスに依存する。例えば、両面ユニットが、或るプリンタモデルでは標準装備であったり、別のプリンタモデルではオプション装備であったりしてもよい。以下に、情報を上述の分類に分割するための方法を幾つか示す。しかし、本発明は、用いられる方法に限定されることはない。
【００６１】
一般に、デバイスの状態および消耗品は、揮発性である。基本構成／オプション構成をデバイスモデルデータベースから取得してもよいし、特定のプロトコルを用いてデバイスから取得してもよい。デバイス問合せ用の典型的なプロトコルとしては、ＳＮＭＰ、ＩＰＰ、ＮＪＲ（Sharp Notify Job Return）が挙げられる。
【００６２】
〔キャッシュからの不揮発性固定データ〕
エージェント（または、エージェントを介して動作するマネージャ）は、固定データに関する問合せを各デバイスに１度だけ行って、対応する情報をキャッシュしてもよい。上記エージェントは、発見（discovery）プロトコルを介して情報をリフレッシュすることを選択してもよい。また、プラグアンドプレイ方法を用いることができる。この場合、エージェントには、デバイスの追加が自動的に通知される。クライアントが情報についての要求を行う場合、マネージャまたはエージェントの何れかは、上記要求の分割および分類を行ってもよい。固定情報についての要求は、キャッシュから取得されてもよい。或いは、エージェントは、同じデバイスが特定のネットワークアドレスで存在し続けることを、自動的にまたは手動で再検査してもよい。例えば、デバイスを他のデバイスと交換してもよい。この場合、新たなデバイスが上記ネットワークアドレスで存在していることをエージェントが検知すると、デバイスからキャッシュされた全ての情報は無効化される。そして、エージェントは、固定データに関する問合せを上記新たなデバイスに行って、対応する新たな情報をキャッシュする。
【００６３】
〔パワーサイクルの間でのキャッシュからの不揮発性準固定データ〕
エージェントは、準固定データに関する問合せをパワーアップサイクルごとに１度だけ各デバイスに行って、対応する情報をキャッシュする。一般に、エージェント（または、エージェントを介して動作するマネージャ）は、周期的ポーリングまたはイベントトラップの何れかを介して問合せを開始できる。デバイスをポーリングする場合、エージェントは、デバイスが最後にポーリングされてからパワーサイクルを行った（リブートされた）ことを示す情報を探索する。例えば、デバイスがＳＮＭＰを利用可能である場合、エージェントは、システムが利用可能となってからの経過時間（ｓｙｓＵｐＴｉｍｅ）をデバイスのＭＩＢから検索してもよい。このタイムスタンプを以前のタイムスタンプと比較し、上記経過時間を用いて、デバイスがパワーサイクルを行ったか否かを判定することができる。
【００６４】
一方、エージェントがイベントトラップを使用する場合、エージェントがパワーアップイベントの受取りを所望することをデバイスに通知できる。一般に、エージェントは、固定データの一度検索する間に、上記イベントトラップを登録する（register）。一度登録されると、デバイスは、パワーサイクルを行う時ごとに、パワーサイクルイベントのメッセージをエージェントに送り出す。
【００６５】
さらに、エージェントは、キャッシュされた情報が無効化された場合、準固定データに関する問合せをデバイスに行って、対応する情報をキャッシュする。クライアントが、デバイスからの情報の要求を行う場合、マネージャは、該要求の区分および分類を行う。準固定のデバイス情報の要求は、キャッシュから取得されて、クライアントに戻される。
【００６６】
〔キャッシュから取り出された揮発性データ−イベントトラップ〕
エージェント（または、エージェントを介して動作するマネージャ）は、イベントトラップを用いて、非固定のデバイス情報をキャッシュしてもよい。クライアントがデバイスからのデバイス情報の要求を行うとき、エージェントは、このデバイスからの情報をトラップしているか否かを判断する。トラップしていない場合には、イベントトラップを上記デバイスに登録する。そして、エージェントは、現在の情報を取得するためにデバイスに問合せを行う。上記イベントをすでにデバイスに登録している場合、問合せ結果は、キャッシュから情報を戻すであろう。上記イベントをデバイスに登録していない場合、問合せ結果は、エージェント（またはマネージャ）から情報を戻すであろう。
【００６７】
なお、性能の点から、エージェントは、全てのイベントを全てのデバイスに登録する必要はない。むしろ、以前に少なくとも一度要求されたイベントトラップのみを登録することにより、最適なトラッピング（つまり最少数のイベントトラップ）を設定することができる。或いは、それぞれのクライアントが非関与になる（disengages）場合に、イベントトラップの登録解除（unregister）を行うことにより、デバイスのイベントトラッピングを最適化することができる。上記非関与には、デバイスまたはイベントをもはや監視していないというメッセージをクライアントがマネージャに送り出すことを含んでいる。或いは、マネージャが、オンライン状態およびシステムアップタイムのためにクライアントを周期的にポーリング（つまり、オフラインまたは再ブートを検出）してもよい。本発明をさらに例示するため、幾つかの典型的なポリシーの例が以下に提供される。例えば、ネットワークプリンタへの問合せ（例えば、ネットワークサーバに対する印刷待ち行列）を行うために利用可能な方法は、ＳＮＭＰ、ローカルスプーラ、および、ネットワークスプーラであると仮定することができる。この方法の内容において、可能性のあるポリシーの例としては、最速応答、最大信頼性、最大正確度、またはデバイス特性が挙げられる。
【００６８】
最速応答のポリシーは、信頼性に関係なく、結果を受け取るまで、最速の結果時間から最遅の結果時間に階層順に方法を実行するものである。上記の例では、最初にローカルスプーラに問合せを行うと予想される。ローカルスプーラから応答を受け取らない場合には、次にネットワークスプーラに問合せを行うと予想される。最後に、ネットワークスプーラから応答を受け取らない場合には、デバイスに対してＳＮＭＰ問合せを直接行う。
【００６９】
例えば、状態に関する問合せの場合、ローカルスプーラによって報告された状態は信頼できない可能性がある。例えば、ローカルプリンタは、印刷するための印刷ジョブを待ち行列に入れ、状態を使用中と報告する可能性がある。このとき、プリンタにジャムが発生したにもかかわらず、この状態がローカルスプーラに報告されない可能性がある。その逆もまた然りである。プリンタは、印刷可能状態であるが、ネットワークプリンタでの印刷待ち行列がオフラインである可能性もある。この場合、印刷ジョブを印刷待ち行列を介して送り出すときには、プリンタにてジョブを印刷できない。しかし、ローカルスプーラの状態に応じて、ジョブをピアツーピアで送り出すときには、ジョブを印刷できる。
【００７０】
最大信頼性のポリシーは、応答時間に関係なく、結果を受け取るまで最も信頼できるものから最も信頼できないものに方法を実行するものである。信頼性は、正確である場合が最も多い応答として規定できる。この場合、最初にＳＮＭＰ問合せを行うと予想される。結果を受け取らない場合、次にネットワークスプーラに問合せを行うことができる。最後に、ネットワークスプーラから応答を受け取らない場合には、ローカルスプーラに問合せを行う。
【００７１】
最大正確度のポリシーは、利用可能な全ての方法を実行して結果を併合するものである。なお、上記の方法を、順番にまたは平行して呼び出し（invoke）てもよい。また、上記ポリシーは、プリンタの印刷能力を最も正確に反映する１つの応答に併合する方法を規定できる。
【００７２】
要素特性（element specific）のポリシーは、要素特性の方法を包含するものであり、ここで、要素は、マネージャから問合せを受け取るエージェントとして規定される。例えば、標準的なＳＮＭＰ  ＭＩＢは、製造業者の特性オプションを記述していない。一般に、製造業者は、この情報のために拡張ＭＩＢを提供しており、該拡張ＭＩＢは、デバイス独自のものである。特に（specific）知られたデバイスについては、上記ポリシーは、拡張ＭＩＢ以外の手段によって情報を検索するように決定できる。例えば、エージェントおよびプリンタが同じ要素であると仮定すると、デジタルイメージングプリンタの各モデル系列は、異なる拡張ＭＩＢを有している。拡張ＭＩＢからの情報の検索をサポートするため、拡張ＭＩＢのそれぞれを、ＳＮＭＰ方法にコード化する必要がある。その一方で、幾つかのモデル系列は、共通する独自の通信プロトコル（シャープＮＪＲ）を共有しており、この通信プロトコルによって同じ情報が提供される。この例では、上記デバイスが上記モデル系列のうちの１つによるものであることが知られている場合、ポリシーは、独自の（ＮＪＲ）プロトコルを好ましい手段として使用できる。
【００７３】
複数の応答を受け取る場合、単一の結果にするためにマネージャと関係のある併合ユニットに、応答を伝える。一般に、併合ユニットは、結果のグループから単一の結果を選択するか、或いは、結果のグループから導かれる新しい結果を生成する。
【００７４】
結果を選択または併合する１つの方法は、結果に重み付けを行うものである。重み付けを、ポリシーまたはこの方法によって設定してもよい。例えばＳＮＭＰ方法に、ローカルスプーラ方法よりも大きな重み付けを与えてもよい。一方、ポリシーは、ローカルスプーラがより信頼でき／正確であるということを想定する理由があって、ローカルスプーラの結果に対しより大きな重み付けを与えてもよい。
【００７５】
結果を選択または併合する別の方法は、問い合せられる情報に対しフィルタまたは分類を行うものである。このような分類は、最も高い値、最も低い値、および、ビット上での（bit-wise）論理和を含んでいてもよい。例えば、応答がエラー状態を表す場合に最も高い値を使用することができる。このとき、最も高いエラー状態を戻す。結果がプリンタトナーレベルを表す場合に最も低い値を使用できる。このとき、最も低いトナーレベルを戻す。結果が互いに排他的なビット値としてエラー状態を表す場合、応答に対しビット上での論理和を取って新しい値にすることができる。
【００７６】
図８は、複数のデバイスを有するシステムにおいて問合せを行う本発明のポリシー駆動型の方法を示すフローチャートである。分かりやすくするために、上記方法を、番号を付与した一連のステップとして示しているが、明示しない場合には、番号付けから順序を察するべきではない。これらのステップのうちの幾つかを省略したり、並行して実施したり、または、順序を厳密に守る必要なく実行してもよいということが、理解されるべきである。この方法は、ステップ９００から開始する。
【００７７】
ステップ９０２は、デバイスに対する問合せをクライアントから受け付ける。ステップ９０４は、問合せポリシーを選択する。ステップ９０６は、選択された問合せポリシーに応じた方法を用いて、上記問合せをエージェントに送り出す。ステップ９０８は、問合せ結果をエージェントから受け取る。ステップ９１０は、選択された問合せポリシーに応じた方法を用いて、問合せ結果をクライアントに送り出す。
【００７８】
ステップ９０２にて問合せを受け付け、ステップ９１０にて問合せ結果を送り出すステップは、デバイスの通信ポート情報、ネットワーク情報、通信検査（Ｐｉｎｇ）、機能要求、または、状態の更新に関する情報に対して、問合せを受け付けて問合せ結果を送り出すステップを含んでいる。ステップ９０６にて問合せをエージェントに送り出す場合に用いられる方法としては、スプーラＡＰＩ、簡易ネットワーク管理プロトコル（ＳＮＭＰ）、プリンタデータベース、独自プロトコル、ウインドウズ２Ｋディレクトリサービス、サービスロケーションプロトコル（ＳＬＰ）、ＰＪＬ  ＵＳＴＡＴＵＳ、ＢＭＬｉｎｋＳ問合せ、ハイパーテキスト転送プロトコル（ＨＴＴＰ）を用いて組み込まれたデバイスウェブページに関する問合せ、および、その他の業界標準の方法が挙げられる。しかし、本発明は、特定の方法または特定の一組の方法に限定されない。
【００７９】
さらに、問合せを受け付けるステップ９０２は、ローカル接続、遠隔接続、または、ネットワーク接続がなされたクライアントから問合せを受け付けるステップを含んでいてもよい。他の例では、ステップ９０２は、プリンタ、ファックス、スキャナ、ＭＦＰ、または、コピー機のようなイメージングデバイスに対する問合せを受け付ける。
【００８０】
同様に、問合せをエージェントに送り出すステップ９０６は、デバイスとの間でローカル接続性、遠隔接続性、またはネットワーク接続性を有するエージェントに問合せを送り出すステップを含んでいる。他には、ステップ９０６は、問合せを、問合せの主体であるデバイスであるエージェント（エージェントおよびデバイスは、共に配置されているか、または、ローカル接続されている）に送り出す。または、ステップ９０６は、デバイスと通信するサービスを含んだマイクロプロセッサドライバコンピュータに問合せを送り出す。
【００８１】
この方法には、問合せ結果をキャッシュする他のステップ（ステップ９０９ａ）が含まれる場合もある。そして、ステップ９０８は、選択された問合せポリシーに応じて、キャッシュされた問合せ結果を受け取るステップを含んでいてもよい。或いは、ステップ９０２は、第１デバイスに対する問合せを受け付けてもよい。ステップ９０６は、問合せをエージェントのキャッシュに送信し、ステップ９０８は、固定である（予めプログラムされた）第１デバイス情報の問合せ結果を上記エージェントのキャッシュから受け取る。他には、ステップ９０９ａは、上記エージェントのキャッシュにデバイス情報を、固定のデバイス情報に加えてキャッシュする。このキャッシュされた情報は、パワーアップサイクル間で変化しない準固定情報、および／または、パワーアップサイクル間で変化する、または変化してもよい非固定データであってもよい。そして、ステップ９０８で受け取った問合せ結果は、非固定、準固定、または固定のデバイス情報であってもよい。
【００８２】
さらに、上記の方法は、ステップ９０９ｂを含んでいる場合もある。ステップ９０９ｂは、選択された問合せポリシーに応じて複数の問合せ結果を併合する。そして、問合せ結果をクライアントに送り出すステップ９１０は、併合した問合せ結果をクライアントに送り出す。ステップ９０９ｂは、上述したように、問合せ結果をフィルタし、複数の結果を単一の結果にグループ化し、または、複数の結果に重み付けを行うようなプロセスを用いて、問合せ結果を併合してもよい。
【００８３】
ステップ９０４は、マルチモード問合せポリシーを選択する場合もある。この場合、問合せをエージェントに送り出すステップ９０６は、問合せを複数のエージェントに送り出すステップを含んでいる。また、問合せ結果をエージェントから受け取るステップ９０８は、複数の問合せ結果を、対応する複数のエージェントから受け取るステップを含んでいる。そして、ステップ９０９ｂは、複数のエージェントからの複数の問合せ結果を併合する。
【００８４】
他には、問合せポリシーを選択するステップ９０４は、図２に明示しているように、予め構成された、手動の、または自動的な選択基準のような選択基準を用いるステップを含む場合がある。上述したように、静的な、ヒューリスティックな、および適応型の自動的な選択基準がある。
【００８５】
他には、ステップ９０４は、問合せにて要求された情報とは無関係であるグローバルな問合せポリシーを選択する場合がある。或いは、ステップ９０４は、情報タイプの問合せポリシーを選択してもよい。このとき、問合せを複数のエージェントに送り出すステップ９０６は、各エージェントに対して、問合せにて要求された情報に応じた方法を用いるステップを含んでいる。他には、ステップ９０４は、要素タイプの問合せポリシーを選択する場合もある。この場合、さらなるステップ９０５ａは、与えられた問合せと関連のある各タイプのエージェントを特定し、ステップ９０６は、各エージェントに対して、特定されたエージェントのタイプに応じた方法を使用する。
【００８６】
上記の方法では、ステップ９０４が応答時間ポリシーを選択する場合がある。この場合、ステップ９０５ｂが、各エージェントの問合せ結果と関連のある推定時間をランク付けし、ステップ９０６が、上記推定時間に応じた階層順序で問合せを送り出す。他には、ステップ９０４が信頼性ポリシーを選択する場合がある。この場合、ステップ９０５ｃが、各エージェントの問合せ結果と関連のある推定信頼性をランク付けし、ステップ９０６が、推定信頼性に応じた階層順序で問合せを送り出す。
【００８７】
また、ステップ９０４が正確度ポリシーを選択する場合がある。この場合、ステップ９０５ｄは、各エージェントの問合せ方法に関連のある推定正確度をランク付けする。問合せをエージェントに送り出すステップ９０６は、複数の方法を用いて問合せをエージェントに送り出すステップを含んでいる。問合せ結果をエージェントから受け取るステップ９０８は、複数の問合せ方法に対応する複数の結果を受け取るステップを含んでいる。そして、複数の問合せ結果を併合するステップ９０９ｂは、最も正確であると予想される結果を選択するステップを含んでいる。
【００８８】
クライアントとプリンタのようなデバイスとの間で、問合せを指示し、問合せ結果を受け取って併合するポリシー駆動型のシステムおよび方法を提示してきた。本発明の使用態様を例示するために、デバイス、方法、およびポリシーにおける幾つかの実施例を提供してきたが、本発明は、それらの実施例のみに限定されることはない。
【００８９】
本発明は、マイクロソフトウインドウズオペレーティングシステム、アップルマッキントッシュオペレーティングシステム、リナックスオペレーティングシステム、システムＶユニックスオペレーティングシステム、ＢＳＤユニックスオペレーティングシステム、ＯＳＦユニックスオペレーティングシステム、サンソラリスオペレーティングシステム、ＨＰ／ＵＸオペレーティングシステム、または、ＩＢＭメインフレームＭＶＳオペレーティングシステムの印刷サブシステムに組み込んでもよい。その他の実施形態としては、ＳＬＰ、プリンタデータベース、インストールされたプリンタ構成、ＬＤＡＰのようなデバイスディレクトリサービス、および、ウェブページのスクラッピング（scraping）のような、デバイス問合せ／発見方法が挙げられる。その他の変形および実施形態は、当業者によって想到されるであろう。
【００９０】
本発明は上述した実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能である。すなわち、請求項に示した範囲で適宜変更した技術的手段を組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【産業上の利用可能性】
【００９１】
以上のように、本発明に係るポリシー駆動型システムは、問合せポリシーに含まれる問合せ方法を選択して用いることによって、複数の問合せ方法の中から必要に応じて問合せ方法を選択して問合せを行うことができるので、プリンタなどのイメージングデバイス以外にも、デジタル家電製品などの各種情報処理デバイスから該デバイスに関する情報を取得する用途にも適用できる。
【図面の簡単な説明】
【００９２】
【図１】発見再使用ＤＬＬ問合せ方法を示す概略ブロック図である。
【図２】デバイスに問合せを行う本発明のポリシー駆動型システムを示す概略ブロック図である。
【図３】典型的なポリシーの適用を示す図であり、同図（ａ）は、デバイスへの問合せ方法が、求められる情報とは無関係であることを示しており、同図（ｂ）は、複数の方法による複数の結果を、問合せおよび方法とは無関係な単一の結果に併合するポリシーを示しており、同図（ｃ）は、プログラム可能なポリシー選択の例を示している。
【図４】典型的なポリシーの適用を示す図であり、同図（ａ）は、ポリシー選択の他のプログラミングの例を示しており、同図（ｂ）は、ポリシー選択の別の例を示しており、同図（ｃ）は、ポリシー間の典型的な関係を示している。
【図５】グローバルポリシーの適用を示す概略ブロック図である。
【図６】情報に基づいたポリシー選択を示す概略ブロック図である。
【図７】本発明のシステムをキャッシュの観点から示す図である。
【図８】デバイスを有するシステムにて問合せを行うための本発明のポリシー駆動型方法を示すフローチャートである。
【図９】従来例である、ＳＮＭＰによる問合せの方法を示す概略ブロック図である。
【図１０】従来例である、ハードウェア上でコード化された複数の問合せの方法を示す概略ブロック図である。
【符号の説明】
【００９３】
４００    システム（ポリシー駆動型システム）
４０２    クライアント
４０６    マネージャ
４１０ａ〜４１０ｎ    ポリシー
４１２・４１６    エージェント
４１４    デバイス
４１８    キャッシュ
【図１】
2005078631.tif 000003
【図２】
2005078631.tif 000004
【図３】
2005078631.tif 000005
【図４】
2005078631.tif 000006
【図５】
2005078631.tif 000007
【図６】
2005078631.tif 000008
【図７】
2005078631.tif 000009
【図８】
2005078631.tif 000010
【図９】
2005078631.tif 000011
【図１０】
2005078631.tif 000012