(57)【要約】【課題】  ドライバの検出および複合機との関連付けを手動で管理する必要性を削減または排除可能な複合機の管理方法およびシステムを提供する。【解決手段】  ＭＦＰを検出するステップと、検出したＭＦＰに関連するデータを含むＭＦＰデータベースを生成するステップと、ドライバを検出するステップと、ドライバが適用可能な少なくとも１つのＭＦＰを識別するデータを含むドライバデータベースを生成するステップと、各許容可能な組み合わせのための関連付けられたＭＦＰ／ドライバのレコードを含む関係データベースを生成するステップとを含む、ネットワークに接続されているＭＦＰを管理する方法およびシステムを提供する。【選択図】  図１
2005267650.tif 000002
【特許請求の範囲】
【請求項１】
複合機を検出するステップと、
検出した複合機に関するデータを含む複合機データベースを生成するステップと、
ドライバを検出するステップと、
各ドライバが適用可能な少なくとも１つの複合機を識別するデータを含むドライバ・データベースを生成するステップと、
各許容可能な組み合わせのための関連付けられた複合機／ドライバのレコードを含む関係データベースを生成するステップとを含む、ネットワークと接続されている複合機の管理方法。
【請求項２】
上記複合機を検出するステップが、複合機を突き止め、識別するために、ＳＮＭＰプロトコルを使用するステップを含む、請求項１に記載の複合機の管理方法。
【請求項３】
上記複合機データベースを生成するステップが、標準プリンタ管理情報ベースデータを構文解析するステップを含む、請求項１に記載の複合機の管理方法。
【請求項４】
上記ドライバを検出するステップが、ドライバ・レポジトリの範囲内にあるメタデータを含むドライバファイルを突き止めるステップを含む、請求項１に記載の複合機の管理方法。
【請求項５】
上記メタデータが、ＸＭＬメタデータである、請求項４の複合機の管理方法。
【請求項６】
上記メタデータが、各ドライバに関連付けることのできる各複合機を識別する、請求項４に記載の複合機の管理方法。
【請求項７】
上記ドライバ・データベースを生成するステップが、上記メタデータを構文解析するステップを含む、請求項６に記載の複合機の管理方法。
【請求項８】
上記関係データベースを生成するステップは、複合機のモデルとドライバのモデルの互換性とに基づいて、複合機／ドライバ関係の各許容可能な組み合わせについて、上記複合機データベースの主キーを上記ドライバ・データベースの主キーにリンクする多対多の関係を有する関係データベースを作成するステップを含む、請求項７に記載の複合機の管理方法。
【請求項９】
上記ドライバを検出する前に、上記ドライバを条件付けするステップをさらに含む、請求項１に記載の複合機の管理方法。
【請求項１０】
上記ドライバを検出した後、ドライバ・データベースを生成する前に、ドライバを条件付けするステップをさらに含む、請求項１に記載の複合機の管理方法。
【請求項１１】
上記関係データベースを生成する前に、関連付けられた複合機／ドライバ組み合わせを条件付けするステップをさらに含む、請求項１に記載の複合機の管理方法。
【請求項１２】
各複合機のためのＳＮＭＰ標準プリンタ管理情報ベースデータを使用して、複合機を検出し、複合機データベースを生成するステップと、
ネットワークに位置するドライバを検出するステップと、
各ドライバに関連付けられたＸＭＬデータを構文解析して、ドライバ・データベースを生成するステップと、
各許容可能な組み合わせのための関連付けられた複合機／ドライバのレコードを生成するために、各ドライバに対して互換性のある複合機を識別するための各ドライバ用ＸＭＬメタデータを使用して、複合機データベースとドライバ・データベースとを多対多の関係に結合するステップとを含む、複合機の管理方法。
【請求項１３】
上記ネットワークに位置するドライバを検出する前に、ドライバを条件付けするステップをさらに含む、請求項１２に記載の複合機の管理方法。
【請求項１４】
ドライバを検出した後、ドライバ・データベースを生成する前に、ドライバを条件付けするステップをさらに含む、請求項１２に記載の複合機の管理方法。
【請求項１５】
複合機データベースとドライバ・データベースとを多対多の関係に結合する前に、関連付けられた複合機／ドライバのレコードの許容可能な組み合わせを条件付けるステップをさらに含む、請求項１２に記載の複合機の管理方法。
【請求項１６】
利用可能な複合機を利用可能なドライバに関連付けるための複合機の管理システムにおいて、
ネットワークと接続するように適合されており、データをプロセスするための汎用のコンピュータ手段と、
ネットワークと接続されている複合機を検出するための第１手段と、
複合機データを含む複合機データベースを生成するための第２手段と、
ドライバを検出するための第３手段と、
ドライバ・データベースを生成するための第４手段と、
複合機データベースをドライバ・データベースに多対多の関係に結合するための第５手段とを備える、複合機の管理システム。
【請求項１７】
複合機をドライバに関連付けるための、コンピュータプログラムで符号化された、コンピュータ読み込み可能な記録媒体において、
複合機を検出するための第１ソフトウェアルーチンと、
検出した複合機に関するデータを含む複合機データベースを生成するための第２ソフトウェアルーチンと、
ドライバを検出するための第３ソフトウェアルーチンと、
ドライバが適合可能な少なくとも１つの複合機を識別するデータを含むドライバ・データベースを生成するための第４ソフトウェアルーチンと、
各許容可能な組み合わせのための関連付けられた複合機／ドライバのレコードを含む関係データベースを生成するための第５ソフトウェアルーチンとを含む記録媒体。
【請求項１８】
複合機を検出する複合機検出手段と、
検出した複合機に関するデータを含む複合機データベースを生成する複合機データベース生成手段と、
ドライバを検出するドライバ検出手段と、
各ドライバが適用可能な少なくとも１つの複合機を識別するデータを含むドライバ・データベースを生成するドライバデータベース生成手段と、
各許容可能な組み合わせのための関連付けられた複合機／ドライバのレコードを含む関係データベースを生成する関係付け手段とを含む、ネットワークと接続されている複合機の管理システム。
【請求項１９】
ネットワークと接続されている複合機を検出するステップと、
検出した複合機に関するデータを含む複合機データベースを生成するステップと、
ドライバを検出するステップと、
各ドライバが適用可能な少なくとも１つの複合機を識別するデータを含むドライバ・データベースを生成するステップと、
各許容可能な組み合わせのための関連付けられた複合機／ドライバのレコードを含む関係データベースを生成するステップとを、コンピュータに実行させるプログラム。
【請求項２０】
請求項１９記載のプログラムが記録されている記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク化された環境にある複合機（ＭＦＰ;Multi Function Peripheral）およびドライバの管理（managing）に関するものである。
【背景技術】
【０００２】
現在、新しいＭＦＰまたはドライバをネットワークに加える場合、使用者または管理者（administrator）は、ＭＦＰを、１つ以上のドライバに手動で関連付ける。例えば、マイクロソフト（登録商標）ウインドウズ（登録商標）ネットワーク環境では、プリンタドライバを、印刷待ち行列（print queue ）に手動で関連付ける。この印刷待ち行列は、プリンタに手動で関連付けられている。プリントサーバのない環境では、各ドライバを、ＭＦＰに手動で関連付ける。
【０００３】
また、後述の特許文献１では、以下のようなシステムが記載されている。すなわち、プリンタは、ＨＴＴＰ通信モジュールによりクライアントＰＣからのリクエストを受信すると、そのリクエストに付加された環境変数からクライアントＰＣで用いられているＯＳをＯＳ判別モジュールにより判別する。ドライバ所在検索モジュールは、判別したＯＳに対応するプリンタドライバの所在アドレスをドライバ所在データベースから検索する。ＨＴＭＬ生成モジュールは、この所在アドレスへのリンクを記述したＷｅｂページを生成してクライアントＰＣにＨＴＴＰ通信モジュールを介してレスポンスとして通知する。
【０００４】
これにより、デバイスを制御するデバイス制御ソフトウェアのダウンロードを容易に行う。
【０００５】
また、後述する特許文献２では、以下のようなシステムが記載されている。すなわち、使用する周辺機器を選択し、選択した周辺機器に対応するデバイスドライバに複数のバージョンがある場合、その周辺機器におけるコントローラのバージョン情報を取得し、複数のバージョンのデバイスドライバから、取得したバージョン情報に対応したデバイスドライバを組み込む。
【０００６】
これにより、ある周辺機器に対し、バージョンが相異なる複数のデバイスドライバが存在するような場合でも、インストールすべきバージョンのデバイスドライバが自動的に正しく選択され、デバイスドライバの組み込み作業にかかるユーザの負担を軽減させることができる。
【特許文献１】特開２００４−０３８６８６号公報（公開日：2004年２月５日）
【特許文献２】特開２００４−０９４７９４号公報（公開日：2004年３月２５日）
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記各従来技術では、ＭＦＰおよびドライバがそれぞれ複数あるようなシステムについては考慮されておらず、手動で管理しようとすると、より大きな組織では、ＭＦＰおよびドライバの数が増えるにつれて、ＭＦＰとドライバとの関連付けを手動で管理することは、時間がかかるようになる可能性がある。
【０００８】
この問題は、アップデートされたドライバがリリースされると、より複雑化する可能性がある。つまり、これらのアップデートされたドライバを、複数のＭＦＰに関連付ける必要性が出てくるかもしれない。なお、複数のＭＦＰは、モデル（model;型）が異なっている可能性さえある。
【０００９】
本発明は、上記の問題点に鑑みてなされたものであり、その目的は、ドライバの検出および複合機との関連付けを手動で管理する必要性を削減または排除可能な複合機の管理方法を実現することにある。
【課題を解決するための手段】
【００１０】
本発明に係る複合機の管理方法は、上記課題を解決するために、複合機を検出するステップと、検出した複合機に関するデータを含む複合機データベースを生成するステップと、ドライバを検出するステップと、各ドライバが適用可能な少なくとも１つの複合機を識別するデータを含むドライバ・データベースを生成するステップと、各許容可能な組み合わせのための関連付けられた複合機／ドライバのレコードを含む関係データベースを生成するステップとを含む、ネットワークと接続されていることを特徴としている。
【００１１】
また、上記構成に加えて、上記複合機を検出するステップが、複合機を突き止め、識別するために、ＳＮＭＰプロトコルを使用するステップを含んでいてもよい。
【００１２】
さらに、上記構成に加えて、上記複合機データベースを生成するステップが、標準プリンタ管理情報ベースデータを構文解析するステップを含んでいてもよい。
【００１３】
また、上記構成に加えて、上記ドライバを検出するステップが、ドライバ・レポジトリの範囲内にあるメタデータを含むドライバファイルを突き止めるステップを含んでいてもよい。
【００１４】
さらに、上記構成に加えて、上記メタデータが、ＸＭＬメタデータであってもよい。また、上記メタデータが、各ドライバに関連付けることのできる各複合機を識別するものであってもよい。
【００１５】
また、上記構成に加えて、上記ドライバ・データベースを生成するステップが、上記メタデータを構文解析するステップを含んでいてもよい。
【００１６】
さらに、上記構成に加えて、上記関係データベースを生成するステップは、複合機のモデルとドライバのモデルの互換性とに基づいて、複合機／ドライバ関係の各許容可能な組み合わせについて、上記複合機データベースの主キーを上記ドライバ・データベースの主キーにリンクする多対多の関係を有する関係データベースを作成するステップを含んでいてもよい。
【００１７】
また、上記ドライバを検出する前に、上記ドライバを条件付けするステップをさらに含んでいてもよい。さらに、上記構成に加えて、上記ドライバを検出した後、ドライバ・データベースを生成する前に、ドライバを条件付けするステップをさらに含んでいてもよい。また、上記関係データベースを生成する前に、関連付けられた複合機／ドライバ組み合わせを条件付けするステップをさらに含んでいてもよい。
【００１８】
一方、本発明に係る複合機の管理方法は、上記課題を解決するために、各複合機のためのＳＮＭＰ標準プリンタ管理情報ベースデータを使用して、複合機を検出し、複合機データベースを生成するステップと、ネットワークに位置するドライバを検出するステップと、各ドライバに関連付けられたＸＭＬデータを構文解析して、ドライバ・データベースを生成するステップと、各許容可能な組み合わせのための関連付けられた複合機／ドライバのレコードを生成するために、各ドライバに対して互換性のある複合機を識別するための各ドライバ用ＸＭＬメタデータを使用して、複合機データベースとドライバ・データベースとを多対多の関係に結合するステップとを含んでいてもよい。
【００１９】
また、上記構成に加えて、上記ネットワークに位置するドライバを検出する前に、ドライバを条件付けするステップをさらに含んでいてもよい。さらに、上記構成に加えて、ドライバを検出した後、ドライバ・データベースを生成する前に、ドライバを条件付けするステップをさらに含んでいてもよい。また、上記構成に加えて、複合機データベースとドライバ・データベースとを多対多の関係に結合する前に、関連付けられた複合機／ドライバのレコードの許容可能な組み合わせを条件付けるステップをさらに含んでいてもよい。
【００２０】
一方、本発明に係る複合機の管理システムは、上記課題を解決するために、利用可能な複合機を利用可能なドライバに関連付けるための複合機の管理システムにおいて、ネットワークと接続するように適合されており、データをプロセスするための汎用のコンピュータ手段と、ネットワークと接続されている複合機を検出するための第１手段と、複合機データを含む複合機データベースを生成するための第２手段と、ドライバを検出するための第３手段と、ドライバ・データベースを生成するための第４手段と、複合機データベースをドライバ・データベースに多対多の関係に結合するための第５手段とを備えていることを特徴としている。
【００２１】
また、本発明に係る記録媒体は、上記課題を解決するために、複合機をドライバに関連付けるための、コンピュータプログラムで符号化された、コンピュータ読み込み可能な記録媒体において、複合機を検出するための第１ソフトウェアルーチンと、検出した複合機に関するデータを含む複合機データベースを生成するための第２ソフトウェアルーチンと、ドライバを検出するための第３ソフトウェアルーチンと、ドライバが適合可能な少なくとも１つの複合機を識別するデータを含むドライバ・データベースを生成するための第４ソフトウェアルーチンと、各許容可能な組み合わせのための関連付けられた複合機／ドライバのレコードを含む関係データベースを生成するための第５ソフトウェアルーチンとを含んでいることを特徴としている。
【００２２】
また、本発明に係る複合機の管理システムは、上記課題を解決するために、複合機を検出する複合機検出手段と、検出した複合機に関するデータを含む複合機データベースを生成する複合機データベース生成手段と、ドライバを検出するドライバ検出手段と、各ドライバが適用可能な少なくとも１つの複合機を識別するデータを含むドライバ・データベースを生成するドライバデータベース生成手段と、各許容可能な組み合わせのための関連付けられた複合機／ドライバのレコードを含む関係データベースを生成する関係付け手段とを含む、ネットワークと接続されていることを特徴としている。
【００２３】
さらに、本発明に係るプログラムは、上記課題を解決するために、ネットワークと接続されている複合機を検出するステップと、検出した複合機に関するデータを含む複合機データベースを生成するステップと、ドライバを検出するステップと、各ドライバが適用可能な少なくとも１つの複合機を識別するデータを含むドライバ・データベースを生成するステップと、各許容可能な組み合わせのための関連付けられた複合機／ドライバのレコードを含む関係データベースを生成するステップとを、コンピュータに実行させることを特徴としている。また、本発明に係る記録媒体には、当該プログラムが記録されており、コンピュータは、当該プログラムを実行することによって、上述した複合機の管理方法を実行できる。
【発明の効果】
【００２４】
本発明によれば、複合機を検出し、検出した複合機に関するデータを含む複合機データベースを生成し、ドライバを検出し、各ドライバが適用可能な少なくとも１つの複合機を識別するデータを含むドライバ・データベースを生成すると共に、各許容可能な組み合わせのための関連付けられた複合機／ドライバのレコードを含む関係データベースを生成する。したがって、ネットワークと接続されている複合機を管理する際、ドライバの検出および複合機との関連付けを手動で管理する必要性を削減または排除でき、種々のネットワークシステムに好適に使用できる。
【発明を実施するための最良の形態】
【００２５】
本発明の実施形態は、多対多の関連構造を有する関係データベースを使用して、ＭＦＰ（複合機）、および、そのドライバを検出し、それらを相互に自動的に関連付ける手順（Process）を提供する。
【００２６】
図１は、サーバ装置３０およびクライアント装置１２に加えて、ネットワークと接続されている複数のＭＦＰ１４を有するネットワーク１０を示す。クライアント装置１２は、ＭＦＰ１４または仮想ＭＦＰ２０にアクセスしてもよい。クライアント装置１２は、サーバ装置３０にもアクセスしてもよい。サーバ装置３０の例としては、Ｗｉｎｄｏｗｓ（登録商標）サーバ、Ｎｏｖｅｌ（登録商標）サーバ、Ｕｎｉｘ（登録商標）サーバまたはＬｉｎｕｘ（登録商標）サーバが挙げられる。図１の例では、ネットワーク１０がサーバ装置３０を含んでいるが、これは必須なものではない。
【００２７】
さらに、ネットワーク１０には、プリンタ管理ユーティリティー機能を有するＰＡＵサーバ装置１００が含まれている。当該ＰＡＵサーバ装置１００を、サーバ装置３０に組み込むこともできるが、ＰＡＵサーバ装置１００を、ネットワーク１０における別個のサーバとして保持することもできる。当業者にはよく認識されているように、図示していない、他の多くのクライアント装置、サーバ装置、または、デバイスが、ネットワーク１０と接続されていてもよい。
【００２８】
上記用語「ＭＦＰ」は、複合周辺機器（Multi-Function Peripheral；複合機）、場合によっては、複合プリンタ（Multi-Function Printer）、または、複合製品（Multi-Function Product）を意味する。ここで使用した用語「ＭＦＰ」は、プリンタ、複写機、スキャナおよびファックス機、または、これらの機能の１つ以上を有する周辺機器に該当する。また、ここで使用する用語「ＭＦＰ」は、これらの周辺機器、および、これらの機能をシミュレートするソフトウェア、並びに、コンピュータが、そのソフトウェアを実行することによって実現される機能ブロックにも該当する。このソフトウェアあるいは機能ブロックは、仮想ＭＦＰと呼ばれることもある。仮想ＭＦＰの例としては、アドビ（登録商標）ＰＤＦＷｒｉｔｅｒ、アドビ（登録商標）ＰＤＦＤｉｓｔｉｌｌｅｒ、シャープデスク（登録商標）コンポーザー、または、ＭＦＰとしての取り扱いが可能なデスクトップファックスアプリケーションが挙げられる。仮想ＭＦＰ２０は、印刷される出力を電子フォーマットで置換するアプリケーションである傾向がある。仮想ＭＦＰ２０は、実際のＭＦＰ１４がそうであるのと全く同様に、ドキュメントワークフローの発信元（origins）または送信先(endpoints )である。
【００２９】
クライアント装置１２は、直接、または他の演算装置を介して間接的に、ネットワークと接続できる任意の演算装置である。したがって、クライアント装置１２は、パーソナルコンピュータ、作業端末、ミニコンピュータ、本体、スーパーコンピュータ、携帯用情報機器（personal digital assistants;ＰＤＡ）、多機能電話機（例えば、テレビ電話）または任意の他の適切な演算装置でもよい。
【００３０】
ネットワーク１０は、ローカルエリアネットワーク、広域ネットワーク（wide area network）、または、クライアント装置１２とネットワークのどこか他にある周辺機器とを接続できる任意の他の形態のネットワークである。クライアント装置１０が、ネットワークに接続されている周辺機器へアクセスできれば、ネットワーク１０は、グローバル通信ネットワークを含んでいてもよい。クライアント装置１２は、有線接続または無線接続のどちらかによってＭＦＰ１４・２０と接続されている。
【００３１】
図２は、プリンタ管理ユーティリティー（ＰＡＵ）処理部１１０の実施形態の概観を示す。ＰＡＵ処理部１１０は、プリンタ管理操作を補助するように設計されたユーティリティーの処理部である。ＰＡＵ処理部１１０は、コンピュータがソフトウェアルーチンを実行することによって実現される機能ブロックを含んでいる。なお、これらのソフトウェアルーチンは、汎用のコンピュータで実行するように適合されたソフトウェアに含まれているか、または、ハードウェアに組み込まれて（embedded）いる。また、複合機管理手段としてのＰＡＵ処理部１１０が、特許請求の範囲に記載の第１〜第５手段、複合機検出手段、複合機データベース生成手段、ドライバ検出手段、ドライバデータベース生成手段および関連付け手段に対応し、上記コンピュータが特許請求の範囲に記載のコンピュータ手段に対応している。
【００３２】
ＰＡＵ処理部１１０は、ネットワーク１０と接続されている、主ネットワークサーバ（primary network server）の一部であってもよいし、別個のサーバの一部、または、充分なサーバ能力を有するＭＦＰの一部でさえあってもよい。本実施形態の一態様では、ＰＡＵ処理部１１０は、ウェブインターフェースを使用して、ウェブサーバに実装されて(implemented)いる。本実施形態の他の態様では、サーバ機能（例えばウェブサーバ）を有するＭＦＰが、ＰＡＵ処理部１１０を含む。
【００３３】
上記ＰＡＵ処理部１１０は、ドライバ・レポジトリ（driver repository；ドライバ収納庫）１１２と接続されている。ドライバ・レポジトリ１１２は、ＰＡＵ処理部１１０を含むサーバに関連付けられていてもよい。図２では、一例として、ローカルドライバ・レポジトリ１１２Ａを、ＰＡＵ処理部１１０と同じＰＡＵサーバ装置１００に論理的に含まれているものとして示している。また、図２では、ドライバ・レポジトリ１１２の他の選択肢として、遠隔ドライバ・レポジトリ１１２Ｂを、ネットワーク１０を介して、ＰＡＵ処理部１１０と接続されているものとして示している。ドライバ・レポジトリ１１２Ｂは、ローカルネットワーク、広域ネットワークまたはグローバルネットワーク（global network）上に設置されて（located）いてもよい。なお、これらのネットワークの一例として、例えば、インターネットが挙げられる。
【００３４】
上記ＰＡＵ処理部１１０は、ネットワーク１０に設置されているＭＦＰ１４・２０を検出し、例えば、当該検出されたＭＦＰ１４・２０のレコードを含むデータベースなどとして、ＭＦＰデータベース１１４を作成できる。ＰＡＵ処理部１１０は、ローカルドライバ・レポジトリ１１２Ａまたは遠隔ドライバ・レポジトリ１１２Ｂのどちらかに置かれたドライバを検出できる。どちらのドライバ・レポジトリ１１２Ａ・１１２Ｂも、コンパクトディスク、ＤＶＤ、フロッピー（登録商標）、メモリーカード、媒体ジュークボックス、ハードドライブ、または、任意の他の適切なデータ保存媒体を用いて実装できる。一旦、ドライバが検出されたら、ＰＡＵ処理部１１０は、例えば、検出されたドライバのレコードを含むデータベースなどとして、ドライバ・データベース１１６を生成できる。一旦、ドライバ・データベース１１６およびＭＦＰデータベース１１４が生成されたら、ＰＡＵ処理部１１０は、ドライバを互換性のあるＭＦＰに関連付けるための多対多関係を作成し、ＭＦＰ／ドライバ関係データベース１１８を生成する。
【００３５】
図３は、ＰＡＵ処理部１１０によって採用されたデータの関係を示す。ＰＡＵ処理部１１０は、ネットワーク１０と接続された各ＭＦＰ１４・２０に対して一意的なＭＦＰ主キー２１０を有するＭＦＰデータベース１１４を生成する。図３、および、以下の説明では、説明の便宜上、これらのＭＦＰ主キーの値を番号で示す。主キーは、ＭＦＰを一意的に識別できる任意の一片のデータでもよい。例えば、主キーは、ＭＦＰのＭＡＣアドレスであってもよいし、または、ＭＦＰのＩＰアドレスを加えたＭＡＣアドレスであってもよい。
【００３６】
上記ＭＦＰデータベース１１４は、さらに、属性を含んでいる。属性は、各ＭＦＰ１４・２０のモデルを指すフィールド２１２と、概して属性２１８で示す任意の数の他の属性とを含んでいる。図３に示す例では、各モデルを識別するために、各ＭＦＰ１４・２０のモデル名を使用しているが、他のモデルの識別子（例えば、モデル番号、シリアル番号またはシリアル番号の一部）を使用してもよい。
【００３７】
ドライバ・データベース１１６は、概して３１８で識別する複数の属性と共に、ドライバ主キー３１０を有している。図３、および、以下の説明では、説明の便宜上、これらのドライバ主キー３１０の値を、アルファベットで示している。本手順の態様では、ドライバ主キー３１０は、ＰＡＵ処理部１１０によって生成された一意的な値である。本手順の他の態様では、ドライバ主キー３１０は、少なくとも部分的に、一般的にドライバを一意的に識別するＯＳ／ＰＤＬ／版（Version、バージョン）に基づいている。ドライバ・データベース１１６とＭＦＰデータベース１１４との間の関係は、図中、２５０で示すように、多対多の関係である。多対多の関係を、ＭＦＰ主キー２６０とドライバ主キー２７０との間の関係を示す外部キーテーブル２５２によって表現してもよい。
【００３８】
また、上記ＰＡＵ処理部１１０は、上記検出されたドライバに関連付けられているＸＭＬメタデータを構文解析(解析；parse )することによって、ドライバ・データベース１１６を生成する。ＸＭＬメタデータ構造の概観を、以下に例示する。
【００３９】
ＸＭＬメタデータ例
<?xml version="1.0" encoding="UTF-8" ?>
<CDLAYOUT>
<!-- List all models supported-->
<FAMILY>
<MODELLIST>
<MODEL>SHARP AR-M160</MODEL>
<MODEL> SHARP AR-M205</MODEL>
<MODEL> SHARP AR-5220</MODEL>
</MODELLIST>
<FAMILYNAME> SHARP-13</FAMILYNAME>
<!-- List all languages supported-->
<LANGUAGE>
<LANGNAME>DANISH</LANGNAME>
<!-- List all operating systems supported-->
<OS>
<OSNAME>WIN2K</OSNAME>
<!-- List all PDLS supported-->
<PDL>
<PDLNAME> PCL6 </PDLNAME>
<!-- relative path of the driver files for the Danish/Win2K/PCL6-->
<PATH> /Drivers/Printer/Danish/PCL6/2kxp/ </PATH> 
<!-- inf fileName of the driver files for the Danish/Win2K/PCL6-->
<INFFILENAME> SE2EJDAN.INF</INFFILENAME>
<!-- version of the driver flies for the Danish/Win2K/PCL6-->
<VERSION> 01.00.00.00</VERSION>
<!-- version of the driver files for the Danish/Win2K/PCL6-->
<!-- Note: "MODEL" will be replaced with the MODEL NAME of the MFP when building the driver database-->
<DRIVERNAME>MODEL PCL6</DRIVERNAME>
<DRIVERDESC>SHARP PCL6 Printer Driver Disk</DRIVERDESC>
<MODULE_UPDATES />
</PDL>
<PDL>
<PDLNAME> PS </PDLNAME>
<PATH > /Drivers/Printer/Danish/PS/2kxp/</PATH>
<INFFILENAME>se2HJDAN.INF</INFFILENAME>
<VERSION>01.00.00.00</VERSION>
<DRIVERNAME>MODEL PS </DRIVERNAME>
<DRIVERDESC>SHARP PS Printer Driver Disk</DRIVERDESC>
<MODULE_UPDATES />
</PDL>
</OS>
<OS>
<OSNAME>WINXP</OSNAME>
<PDL>
<PDLNAME>PCL5e</PDLNAME>
<PATH>/Drivers/Printer/Danish/PCL5e/2kxp/</PATH >
<INFFILENAME>SE2DJDAN.INF</INFFILENAME>
<VERSION>01.00.00.00</VERSION> 
<DRIVERNAME>MODEL PCL5e</DRIVERNAME>
<DRIVERDESC>SHAR-PCL5e Printer Driver Disk</DRIVERDESC>
<MODULE_UPDATES />
</PDL>
<PDL>
<PDLNAME>PS</PDLNAME> 
<PATH>/Drivers/Printer/Danish/PS/2kxp/</PATH>
<INFFILENAME>se2HJDAN.INF</INFFILENAME>
<VERSION>01.00.00.00</VERSION>
<DRIVERNAME>MODEL PS </DRIVERNAME>
<DRIVERDESC>SHARP PS Printer Driver Disk</DRIVERDESC>
<MODULE_UPDATES />
</PDL>
</OS>
</LANGUAGE>
</FAMILY>
</CDLAYOUT>
当該ＸＭＬメタデータ例では、ＸＭＬは、ドライバのルートセクション（例えば、ルート要素）から始まる。例えば、上記では、ドライバルートセクションは、＜ＣＤＬＡＹＯＵＴ＞によって示されている。ドライバルートセクション内には、ＭＦＰのファミリを識別するファミリセクションが含まれている。各ファミリセクションは、その特定製品ファミリの範囲内のモデルのリストを示すモデルリストセクションと、ファミリ名を示すファミリ名セクションとを含んでいる。上記では、モデルリストセクションには、そのファミリに含まれるモデルを識別するためのモデルセクションが含まれている。なお、この例では、モデルを識別するために、モデル名が使用されており、各モデルセクションの内容は、モデル名である。各ファミリセクション内には、人間の言語（例えば、英語、日本語、チェコ語など）を識別する少なくとも１つの言語セクション（section ）がネスト（nest; 入れ子に）されている。各言語セクションには、少なくとも１つのオペレーティングシステム（ＯＳ）セクションがネストされている。ＯＳセクションは、機械のオペレーティングシステム（例えば、マイクロソフト（登録商標）  Ｗｉｎｄｏｗｓ（登録商標）、ＵＮＩＸ（登録商標）、ＬＩＮＵＸ（登録商標）、ＭＡＣ（登録商標）ＯＳＸまたは他のオペレーティングシステム）を識別する。ＯＳセクション内には、少なくとも１つのページ記述言語（ＰＤＬ）セクションがネストされている。ＰＤＬセクションは、ページ記述言語（例えば、ＰＣＬ５、ＰＣＬ６、ポストスクリプト、ＤＶＩ、ＰＤＦ、シャープデスクコンポーザーフォーマット、適切なファックスフォーマットまたは他の適切なドライバフォーマット）に関連している。ＰＤＬセクションは、そのページ記述言語用の各ドライバのキー属性の多くを含む。例えば、上記の例では、そのページ記述言語の名前を示すＰＤＬ名セクション、そのページ記述言語用のドライバの格納場所を示すパスセクション、そのドライバ用の情報ファイルを示すＩＮＦファイル名セクション、そのドライバの版を示す版セクションなどが含まれている。上記の例では、特定の順序のネスティング（ファミリ／言語／ＯＳ／ＰＤＬ）を示したが、本プロセスは、この順序に限定されず、例えば、ネスティング順序として、ファミリ／ＯＳ／言語／ＰＤＬを使用することもできる。
【００４０】
同じく図３を参照すると、ＰＡＵ処理部１１０は、ＸＭＬデータを構文解析し、各ドライバと互換性のあるモデルを識別することによって、多対多の関係を、外部キーデータベース２５２に形成している。各ＭＦＰ１４・２０のモデルは、各言語、各ＯＳおよび各ＰＤＬ毎に異なるドライバを有していてもよい。
【００４１】
説明のために、例えば、ある多国籍大組織において、１７言語がサポートされており、３つのオペレーティングシステム、および、３つのＰＤＬが使用されていると仮定すると、各ＭＦＰは、１５３個の異なるドライバに関連付けられる可能性がある。これが、複数のＭＦＰのモデルをサポートしている環境でさらに複雑化されると、ドライバと、個々のＭＦＰに対するドライバの関係とを手動で操作管理することの困難さが明確となる。さらに、各ドライバは、複数のＭＦＰと関連付けられることもある。常に望ましいわけではないが、ある組織では、全ての可能性のあるドライバを提供することが困難なので、管理者は、任意の使用者が利用できるドライバを限定する必要がある場合もある。
【００４２】
図４は、現在の手順の実施形態の一態様の基本的ステップを示す。ステップ４１０では、ＰＡＵ処理部１１０は、ＭＦＰ１４・２０を検出する。ＭＦＰ１４・２０の検出を限定するのは、ＰＡＵ処理部１１０およびネットワーク１０の接続性だけである。本手順の実施形態では、ＰＡＵ処理部１１０は、ＳＮＭＰプロトコル（Simple Network Management Protocol）を、ネットワーク１０と接続されたＭＦＰ１４・２０を検出するために使用する。
【００４３】
ステップ４２０では、ＰＡＵ処理部１１０が、ＭＦＰデータベース１１４を生成する。本手順の実施形態では、ＳＮＭＰ標準プリンタ管理情報ベース（ＭＩＢ）データを、ＭＦＰデータベース１１４を生成するために使用する。
【００４４】
ステップ４３０では、ＰＡＵ処理部１１０が、プリンタドライバを検出する。プリンタドライバは、上述のように、任意のドライバ・レポジトリに配置されていてもよい。検出されたドライバの位置（格納場所）は、ＰＡＵ処理部１１０の接続性によってのみ制限されている。
【００４５】
ステップ４４０では、ＰＡＵ処理部１１０が、ドライバ・データベース１１６を生成する。本手順の実施形態では、検出したドライバの各々に関連付けられているＸＭＬメタデータを構文解析して、検出された各ドライバの属性を確定させ、確定されたドライバの属性の内容を示す属性３１８を有するレコードが含まれたドライバ・データベース１１６を生成する。
【００４６】
ステップ４５０では、ＰＡＵ処理部１１０が、各許容可能なＭＦＰ／ドライバの組み合わせのための多対多の関係を作成するために、ＭＦＰデータベース１１４とドライバ・データベース１１６とを分析する。本手順の実施形態では、ＭＦＰ／ドライバの関係を、多対多の関係を有する関係データベースを使用して生成する。本手順の実施形態では、ドライバ・データベース１１６が、例えば、属性３１８などとして、各ドライバの適しているＭＦＰの全てのモデルの情報を含んでいる。したがって、ＰＡＵ処理部１１０は、このモデル情報を、各ドライバを全ての許容可能なＭＦＰに関連付けるために使用し、これによって、許容可能な組み合わせを形成する。
【００４７】
一例として、ドライバ・データベース１１６において、モデル名”Ｓｈａｒｐ  ＡＲ−Ｃ２７０”を示す属性３１８が含まれたレコードが、３つ存在し、それぞれのドライバ主キー３１０が、図中、Ａ、Ｂ、Ｃで示す値であったとする。また、上記ドライバ・データベース１１６において、ドライバ主キー３１０が図中Ａで示される値のレコードには、モデル名を示す属性３１８が複数（例えば、”Ｓｈａｒｐ  ＡＲ−Ｍ４５０Ｎ”、”Ｓｈａｒｐ  ＡＲ−５０７”および”Ｓｈａｒｐ  ＡＲ−Ｃ２７０”の３つ）含まれていたとする。この場合、ＰＡＵ処理部１１０は、例えば、ＭＦＰデータベース１１４のモデルを示す属性（図３の例では、フィールド２１２）と、ドライバ・データベース１１６のモデルを示す属性３１８とに対して、両者が同一であるという条件を指定して、両データベース１１４・１１６を結合し、ドライバ主キー３１０と、ＭＦＰ主キー２１０とからなるテーブルを作成するなどして、許容可能な組み合わせを示す外部キーテーブル２５２を生成できる。この場合は、上記のレコードが３つなので、生成された外部キーテーブル２５２には、ＭＦＰ主キー２６０が”１”で示されるレコードは、３つ含まれている。また、上記の属性３１８が３つ含まれているので、生成された外部キーテーブル２５２には、ドライバ主キー２７０が”Ａ”で示されるレコードは、３つ含まれている。このように、上記外部キーテーブル２５２では、多対多の関係が表現されている。
【００４８】
図５は、本手順の実施形態の他の態様を示す。インストール（導入；installation）のためには、利用可能なドライバを少なくすることが望ましいこともある。この場合、ＰＡＵ処理部１１０は、ステップ４２５に示すように、ドライバを、検出の前に条件付しておく（constrained ）。ドライバを、言語、ＯＳ、モデル、ＰＤＬまたは改訂版（revision version）などによって条件付けしてもよい。さらに、ＰＡＵ処理部１１０は、ステップ４３０において、条件を満たすこれらのドライバだけを検出する。
【００４９】
当該実施形態の態様では、ＰＡＵ処理部１１０は、許容可能な組み合わせを、ステップ４４５で条件付け（制約）する。ドライバ・データベース１１６が生成された後でさえ、許容可能な組み合わせを条件付けすることが好ましいこともある。ＭＦＰ／ドライバ関係を、言語、ＯＳ、モデル、ＰＤＬまたは改訂版などによって条件付けてもよい。ステップ４４５の条件は、ステップ４２５で確立された条件によって条件付けされたドライバ・データベース１１６を、さらに条件付けできる。したがって、ドライバを条件付けせず、ステップ４５０で関係データベースを生成する前に、ステップ４４５で条件付けを実施することが望ましい実施形態もある。ＰＡＵ処理部１１０は、条件付けを、別々にまたは組み合わせて行うことができる。
【００５０】
図６は、本手順の実施形態の他の態様を示す。インストールのためには、利用可能なドライバを少なくすることが望ましいこともある。ステップ４３５に示すように、ＰＡＵ処理部１１０は、ドライバを、検出後、ドライバ・データベース１１６を生成する前に、条件付けする。ＰＡＵ処理部１１０は、ドライバを、言語、ＯＳ、モデル、ＰＤＬまたは改訂版などによって条件付けしてもよい。ＰＡＵ処理部１１０は、ステップ４４０では、条件を満たすこれらのドライバだけを、ドライバ・データベース１１６に含める。上記のように、ＰＡＵ処理部１１０は、ステップ４４５で示すように、ＭＦＰ／ドライバの関係を、さらに条件付けすることもできる。ＰＡＵ処理部１１０は、条件付けを別々にまたは組み合わせて行える。
【００５１】
ＭＦＰまたはドライバが削除されると、ＰＡＵ処理部１１０は、カスケード削除（cascading deletes）を実施することにより参照整合性（referential integrity）を維持する。本発明の様々な実施形態は、ドライバデータベース自動構成方法および手段に関係するものであり、ドライバの検出およびＭＦＰとの関連付けを、これらのリソース（resource；資源）を手動で管理する必要性を削減または排除するために、自動化する手段を提供するが、実施形態のある態様では、追加、補正または削除を、手動で行ってもよい。このことにより、たとえドライバまたはＭＦＰを自動的に発見できないとしても、あるいは、構文解析に必要なデータであって、ドライバまたはＭＦＰがＭＦＰデータベース１１４またはドライバ・データベース１１６のどちらかの範囲内にレコードを生成するために必要なデータを欠いていたとしても、ＰＡＵ処理部１１０は、このドライバまたはＭＦＰを管理できる。当該態様では、たとえ個々のＭＦＰまたはドライバを手動で入力したとしても、依然として、ＰＡＵ処理部１１０がＭＦＰ／ドライバの関係データベースを生成できる。
【００５２】
ただし、この説明および関連する請求項では、ＭＰＦを検出し、ＭＦＰデータベースを、ドライバの検出前に生成することについて説明してきた。このやり方が好ましい実施形態もあるが、ドライバを検出してから、ＭＰＦを検出する前に、ドライバ・データベースを生成することも全く可能である。同様に、ＭＦＰデータベースまたはドライバ・データベースを生成する前に、ＭＦＰを検出し、ドライバを検出することも出来る。ＭＦＰとドライバとを並行して検出し、データベースを同時形成することも望ましいこともある。
【００５３】
さらに、上記ＰＡＵ処理部１１０は、ＭＦＰ／ドライバ関係データベース１１８を生成した後、当該ＭＦＰ／ドライバ関係データベース１１８に基づいて、予め定められた優先順位に従って、各ＭＦＰに対応するプリンタドライバを決定し、当該プリンタドライバを、各ＭＦＰに対応する印刷待ち行列（print queue ）、または、ＭＦＰに関連付けてもよい。
【００５４】
また、本実施形態に係るＰＡＵ処理部１１０としてコンピュータを動作させるプログラムを格納する、コンピュータ読み込み可能な媒体は、ソフトウェアルーチン（プログラム）を保存するために使用する任意の物理的な媒体であればよく、これは、ファームウェアに埋め込まれているもの、および、ソフトウェアルーチンを通信する任意の通信媒体（有線または無線のネットワーク通信およびその信号を含む）を含んでいる。
【００５５】
好ましい実施形態および他の実施形態について上記で説明してきたが、これらの特定の実施形態に範囲が制限されているわけではなく、請求項が、本発明の範囲を規定するものである。構成要素の順序だけでは、限定するものではない。なぜなら、ステップを異なる順序で実施してもよく、依然として本手順およびその関連する請求項の範囲内だからである。
【産業上の利用可能性】
【００５６】
本発明によれば、複合機を検出し、検出した複合機に関するデータを含む複合機データベースを生成し、ドライバを検出し、各ドライバが適用可能な少なくとも１つの複合機を識別するデータを含むドライバ・データベースを生成すると共に、各許容可能な組み合わせのための関連付けられた複合機／ドライバのレコードを含む関係データベースを生成する。したがって、ネットワークと接続されている複合機を管理する際、ドライバの検出および複合機との関連付けを手動で管理する必要性を削減または排除でき、種々のネットワークシステムに好適に使用できる。
【図面の簡単な説明】
【００５７】
【図１】ネットワークと接続されたＭＦＰの図である。
【図２】管理ユーティリティーの図である。
【図３】データベースの図である。
【図４】プロセスフローチャートである。
【図５】プロセスフローチャートである。
【図６】プロセスフローチャートである。
【符号の説明】
【００５８】
１４    ＭＦＰ（複合機）
２０    仮想ＭＦＰ（複合機）
１１０    ＰＦＵ処理部（第１〜第５手段、複合機検出手段、複合機データベース生成手段、ドライバ検出手段、ドライバデータベース生成手段、関連付け手段）
１１４    複合機データベース
１１６    ドライバ・データベース
１１２Ａ・１１２Ｂ  ドライバ・レポジトリ
【図１】
2005267650.tif 000003
【図２】
2005267650.tif 000004
【図３】
2005267650.tif 000005
【図４】
2005267650.tif 000006
【図５】
2005267650.tif 000007
【図６】
2005267650.tif 000008