(57)【特許請求の範囲】
【請求項１】
コンピュータに実行させるための情報処理プログラムであって、
ジョブを実行するジョブ実行装置が有する各機能に関する第一の機能情報を、前記第一の機能情報を含む機種情報を複数種類のジョブ実行装置について記憶した機種情報記憶手段から取得する第一の機能情報取得ステップと、
前記コンピュータと接続中のジョブ実行装置から、該接続中のジョブ実行装置が有する機能に係る第二の機能情報を取得する第二の機能情報取得ステップと、を含み、
前記第一の機能情報及び前記第二の機能情報は、前記ジョブの実行に必須の機能を示す基本機能情報と、その他の機能を示す応用機能情報とを有し、
前記第一の機能情報に含まれる前記基本機能情報と、前記第二の機能情報に含まれる前記基本機能情報とを夫々比較し、前記接続中のジョブ実行装置と前記基本機能情報が適合するジョブ実行装置を前記複数種類のジョブ実行装置から特定する特定ステップと、
特定された複数種類の前記ジョブ実行装置を、前記第一の機能情報に含まれる応用機能情報と前記第二の機能情報に含まれる応用機能情報との一致個数に基づいて順位付けする順位付けステップと、
前記特定された複数種類の前記ジョブ実行装置を前記順位に基づき並べ替えたリストを表示するリスト表示ステップと、
前記リストから選択されたジョブ実行装置に係る機能情報を読み込む機能情報読込ステップと、
を前記コンピュータに実行させるための情報処理プログラム。
【請求項２】
前記機種情報記憶手段には、前記第一の機能情報に含まれる前記各機能に係る制御コマンドが記憶されていることを特徴とする請求項１に記載の情報処理プログラム。
【請求項３】
前記機能情報読込ステップは、前記特定ステップにおいて前記接続中のジョブ実行装置と前記基本機能情報が適合するジョブ実行装置が前記複数種類のジョブ実行装置から特定されなかった場合に、予め定められた機種に係るジョブ実行装置の機能情報を読み込むことを特徴とする請求項１に記載の情報処理プログラム。
【請求項４】
ジョブを実行するジョブ実行装置が有する各機能に関する第一の機能情報を、前記第一の機能情報を含む機種情報を複数種類のジョブ実行装置について記憶した機種情報記憶手段から取得する第一の機能情報取得手段と、
接続中のジョブ実行装置から、該接続中のジョブ実行装置が有する機能に係る第二の機能情報を取得する第二の機能情報取得手段と、を備え、
前記第一の機能情報及び前記第二の機能情報は、前記ジョブの実行に必須の機能を示す基本機能情報と、その他の機能を示す応用機能情報とを有し、
前記第一の機能情報に含まれる前記基本機能情報と、前記第二の機能情報に含まれる前記基本機能情報とを夫々比較し、前記接続中のジョブ実行装置と前記基本機能情報が適合するジョブ実行装置を前記複数種類のジョブ実行装置から特定する特定手段と、
特定された複数種類の前記ジョブ実行装置を、前記第一の機能情報に含まれる応用機能情報と前記第二の機能情報に含まれる応用機能情報との一致個数に基づいて順位付けする順位付け手段と、
前記特定された複数種類の前記ジョブ実行装置を前記順位に基づき並べ替えたリストを表示するリスト表示手段と、
前記リストから選択されたジョブ実行装置に係る機能情報を読み込む機能情報読込手段と、を備えたことを特徴とする情報処理装置。
【請求項５】
前記機種情報記憶手段には、前記第一の機能情報に含まれる前記各機能に係る制御コマンドが記憶されていることを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記機能情報読込手段は、前記特定手段によって前記接続中のジョブ実行装置と前記基本機能情報が適合するジョブ実行装置が前記複数種類のジョブ実行装置から特定されなかった場合に、予め定められた機種に係るジョブ実行装置の機能情報を読み込むことを特徴とする請求項５に記載の情報処理装置。
【請求項７】
コンピュータに実行させるための情報処理プログラムと、ジョブを実行するジョブ実行装置とを備えるジョブ実行システムであって、
前記情報処理プログラムは、
ジョブを実行するジョブ実行装置が有する各機能に関する第一の機能情報を、前記第一の機能情報を含む機種情報を複数種類のジョブ実行装置について記憶した機種情報記憶手段から取得する第一の機能情報取得ステップと、
前記コンピュータと接続中のジョブ実行装置から、該接続中のジョブ実行装置が有する機能に係る第二の機能情報を取得する第二の機能情報取得ステップと、を含み、
前記第一の機能情報及び前記第二の機能情報は、前記ジョブの実行に必須の機能を示す基本機能情報と、その他の機能を示す応用機能情報とを有し、
前記第一の機能情報に含まれる前記基本機能情報と、前記第二の機能情報に含まれる前記基本機能情報とを夫々比較し、前記接続中のジョブ実行装置と前記基本機能情報が適合するジョブ実行装置を前記複数種類のジョブ実行装置から特定する特定ステップと、
特定された複数種類の前記ジョブ実行装置を、前記第一の機能情報に含まれる応用機能情報と前記第二の機能情報に含まれる応用機能情報との一致個数に基づいて順位付けする順位付けステップと、
前記特定された複数種類の前記ジョブ実行装置を前記順位に基づき並べ替えたリストを表示するリスト表示ステップと、
前記リストから選択されたジョブ実行装置に係る機能情報を読み込む機能情報読込ステップと、を前記コンピュータに実行させるプログラムであり、
前記ジョブ実行装置は、読み込まれた前記機種情報中の前記第一の機能情報に含まれる各機能に係る制御コマンドに従ってジョブを実行する
ことを特徴とするジョブ実行システム。
【請求項８】
ジョブを実行するジョブ実行装置が有する各機能に関する第一の機能情報を、前記第一の機能情報を含む機種情報を複数種類のジョブ実行装置について記憶した機種情報記憶手段から取得する第一の機能情報取得ステップと、
接続中のジョブ実行装置から、該接続中のジョブ実行装置が有する機能に係る第二の機能情報を取得する第二の機能情報取得ステップと、を含み、
前記第一の機能情報及び前記第二の機能情報は、前記ジョブの実行に必須の機能を示す基本機能情報と、その他の機能を示す応用機能情報とを有し、
前記第一の機能情報に含まれる前記基本機能情報と、前記第二の機能情報に含まれる前記基本機能情報とを夫々比較し、前記接続中のジョブ実行装置と前記基本機能情報が適合するジョブ実行装置を前記複数種類のジョブ実行装置から特定する特定ステップと、
特定された複数種類の前記ジョブ実行装置を、前記第一の機能情報に含まれる応用機能情報と前記第二の機能情報に含まれる応用機能情報との一致個数に基づいて順位付けする順位付けステップと、
前記特定された複数種類の前記ジョブ実行装置を前記順位に基づき並べ替えたリストを表示するリスト表示ステップと、
前記リストから選択されたジョブ実行装置に係る機能情報を読み込む機能情報読込ステップと、を含むことを特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理プログラム、情報処理装置、ジョブ実行システム、及び情報処理方法に関する。
【背景技術】
【０００２】
１つのプリンタドライバで複数種類のプリンタを制御できるプリンタドライバが知られている。上記プリンタドライバは、共通ドライバやユニバーサルドライバ等と呼ばれており、プリンタの種類（機種）に応じた印刷実行命令を送信するために複数種類のプリンタの情報を保持している。
また、プリンタドライバのインストール後に新しい機種のプリンタに関する情報を追加して、追加した機種のプリンタを使用可能にするプリンタドライバも知られている。特許文献１には、プリンタの制御機能を示す複数の論理プリンタを有し、各論理プリンタによる制御機能の提供先となるプリンタの機種情報（機種対応情報）を後から追加し、論理プリンタに対応付けるプリンタドライバが記載されている。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
従来のプリンタドライバでは対応できない未知のプリンタがコンピュータ等の情報処理装置に接続された場合、ユーザはGenericモード（Generic Model）を選択するか、又は適当な機種を選択する必要があった。
ここでGenericモードとは、機種共通の機能として何れのプリンタに送信しても印刷エラーが発生しない機能のみを選択できるようにしたモードである。Genericモードを選択すると、プリンタが有する機能のうち、プリンタドライバで設定不可能な機能が多く発生してしまい、ユーザの満足する印刷結果を得ることができないという問題があった。
また、後者のように、ユーザが適当な機種を選択した場合、選択されたプリンタと接続中のプリンタとの間に機能の不一致があると、エラーが発生して印刷できない場合があるという問題があった。
【０００４】
本発明は上述の事情に鑑みてなされたものであり、情報処理装置に未知のプリンタ等のジョブ実行装置が接続された場合であっても、より多くの機能を利用してジョブを実行できるようにすることを目的とする。
【課題を解決するための手段】
【０００５】
上記の課題を解決するために、請求項１に記載の発明は、コンピュータに実行させるための情報処理プログラムであって、ジョブを実行するジョブ実行装置が有する各機能に関する第一の機能情報を、前記第一の機能情報を含む機種情報を複数種類のジョブ実行装置について記憶した機種情報記憶手段から取得する第一の機能情報取得ステップと、前記コンピュータと接続中のジョブ実行装置から、該接続中のジョブ実行装置が有する機能に係る第二の機能情報を取得する第二の機能情報取得ステップと、を含み、前記第一の機能情報及び前記第二の機能情報は、前記ジョブの実行に必須の機能を示す基本機能情報と、その他の機能を示す応用機能情報とを有し、前記第一の機能情報に含まれる前記基本機能情報と、前記第二の機能情報に含まれる前記基本機能情報とを夫々比較し、前記接続中のジョブ実行装置と前記基本機能情報が適合するジョブ実行装置を前記複数種類のジョブ実行装置から特定する特定ステップと、特定された複数種類の前記ジョブ実行装置を、前記第一の機能情報に含まれる応用機能情報と前記第二の機能情報に含まれる応用機能情報との一致個数に基づいて順位付けする順位付けステップと、前記特定された複数種類の前記ジョブ実行装置を前記順位に基づき並べ替えたリストを表示するリスト表示ステップと、前記リストから選択されたジョブ実行装置に係る機能情報を読み込む機能情報読込ステップと、を前記コンピュータに実行させる情報処理プログラムである。
【発明の効果】
【０００６】
本発明によれば、情報処理装置に未知のジョブ実行装置が接続された場合であっても、より多くの機能を利用してジョブを実行できる。
【図面の簡単な説明】
【０００７】
【図１】本発明の一実施形態に係る印刷システムの構成を示す図である。
【図２】クライアントＰＣのハードウェア構成図である。
【図３】プリンタのハードウェア構成図である。
【図４】クライアントＰＣに搭載されるプリンタドライバの機能構成を示す図である。
【図５】プリンタドライバが保有する機種情報の一例を示す図である。
【図６】ＵＩ部によるプリンタの保有機能の表示例を示す図である。
【図７】プリンタドライバが接続プリンタから取得した搭載機能情報の一例を示す図である。
【図８】基本機能の比較判定処理について説明する図である。
【図９】応用機能の比較判定処理について説明する図である。
【図１０】表２に示すプリンタテーブルに基づいて利用可能なプリンタの機種名を表示するプリンタ選択画面の一例を示す図である。
【図１１】利用機能設定データの一例を示す図である。
【図１２】本発明の一実施形態に係るプリンタ選択処理の一例を示すフローチャートである。
【発明を実施するための形態】
【０００８】
本発明の実施の形態を説明する。この実施形態に記載される構成要素、種類、組み合わせ、形状、その相対配置などは特定的な記載がない限り、この発明の範囲をそれのみに限定する主旨ではなく単なる説明例に過ぎない。
【０００９】
本発明は、クライアントＰＣに未知のプリンタが接続された場合に、複数の機種情報を保持する所謂共通ドライバであるプリンタドライバが、自身の保持する機種情報の中から最適な機種のプリンタの機種情報を決定する処理に特徴がある。
具体的には、プリンタドライバは未知のプリンタが接続された場合に、接続中のプリンタから当該プリンタが保有する機能を示す搭載機能情報を取得する。また、プリンタドライバが保持する複数のプリンタの機種情報から、各プリンタが保有する機能を示す登録機能情報を取得する。プリンタドライバは、搭載機能情報と各登録機能情報とを比較することで、接続中のプリンタで利用可能なプリンタの機種情報を抽出する。特に、プリンタドライバは、接続中のプリンタと基本的な機能が適合するプリンタの機種情報を抽出し、接続中のプリンタと応用的な機能が一致する個数に基づいてプリンタの機種情報を順位づけする。この処理により、クライアントＰＣに未知のプリンタが接続された場合であっても、接続されたプリンタにてより多くの機能を利用できるようになり、エラーを発生させることなくジョブを実行することができる。
【００１０】
〔印刷システム〕
図１は、本発明の一実施形態に係る印刷システムの構成を示す図である。
印刷システム１（ジョブ実行システム）は、少なくとも１台のクライアントＰＣ（Personal Computer）２００（情報処理装置）と、接続プリンタＰ（ジョブ実行装置）を含んで構成される。クライアントＰＣ２００と接続プリンタＰとは、ＬＡＮ（Local Area Network）やＷＡＮ（Wide Area Network）等のネットワークＮを介して、有線又は無線により互いに通信可能に接続されている。なお、クライアントＰＣ２００と接続プリンタＰとは、シリアル・パラレル、ＵＳＢ（Universal Serial Bus）、ＩＥＥＥ１３９４等の各種のバスを介して接続されてもよい。
クライアントＰＣ２００はネットワークＮを介して、接続プリンタＰに対して印刷実行命令（描画データと制御コマンド）を送信したり、接続プリンタＰから接続プリンタＰの搭載機能情報（第二の機能情報）を取得する。
接続プリンタＰは、クライアントＰＣ２００から投入された印刷ジョブを実行すると共に、クライアントＰＣ２００からのリクエストに応じて搭載機能情報をクライアントＰＣ２００に対して送信する。
【００１１】
〔クライアントＰＣのハードウェア構成〕
図２は、クライアントＰＣのハードウェア構成図である。
本実施形態に係るクライアントＰＣ２００は、ＣＰＵ（Central Processing Unit）２０１、ＲＡＭ（Random Access Memory）２０２、ＲＯＭ（Read Only Memory）２０３、ＨＤＤ（Hard Disk Drive）２０４、及びＩ／Ｆ２０５がバス２０８を介して接続された構成を有する。
また、Ｉ／Ｆ２０５にはＬＣＤ（Liquid Crystal Display）２０６及び操作部２０７が接続されている。
【００１２】
ＣＰＵ２０１は演算手段であり、クライアントＰＣ２００全体の動作を制御する。
ＲＡＭ２０２は、情報の高速な読み書きが可能な揮発性の記憶媒体であり、ＣＰＵ２０１が情報を処理する際の作業領域として用いられる。
ＲＯＭ２０３は、読み出し専用の不揮発性記憶媒体であり、ファームウェア等のプログラムが格納されている。
ＨＤＤ２０４は、情報の読み書きが可能な不揮発性の記憶媒体であり、ＯＳ（Operating System）や各種の制御プログラム、アプリケーション・プログラム等が格納されている。
Ｉ／Ｆ２０５は、バス２０８と各種のハードウェアやネットワーク等を接続し制御する。
ＬＣＤ２０６は、ユーザがクライアントＰＣ２００の状態を確認するための視覚的ユーザインタフェースである。
操作部２０７は、キーボードやマウス等、ユーザがクライアントＰＣ２００に情報を入力するためのユーザインタフェースである。
【００１３】
〔プリンタのハードウェア構成〕
図３は、プリンタのハードウェア構成図である。図には、接続プリンタＰの一例としてＭＦＰ（Multifunction Peripheral）のハードウェア構成を示している。
このＭＦＰ１００は、コントローラ１０とエンジン部（Engine）６０とをＰＣＩ（Peripheral Component Interface）バスで接続した構成となる。
コントローラ１０は、ＭＦＰ１００全体の制御と描画、通信、操作部からの入力を制御するコントローラである。
エンジン部６０は、ＰＣＩバスに接続可能なプリンタエンジンなどであり、たとえば白黒プロッタ、１ドラムカラープロッタ、４ドラムカラープロッタ、スキャナまたはファックスユニットなどである。なお、このエンジン部６０には、プロッタなどのいわゆるエンジン部分に加えて、誤差拡散やガンマ変換などの画像処理部分が含まれる。
【００１４】
コントローラ１０は、ＣＰＵ１１と、ノースブリッジ（ＮＢ）１３と、システムメモリ（ＭＥＭ−Ｐ）１２と、サウスブリッジ（ＳＢ）１４と、ローカルメモリ（ＭＥＭ−Ｃ）１７と、ＡＳＩＣ（Application Specific Integrated Circuit）１６と、ハードディスクドライブ（ＨＤＤ）１０３とを有し、ノースブリッジ（ＮＢ）１３とＡＳＩＣ１６との間をＡＧＰ（Accelerated Graphics Port）バス１５で接続した構成となる。
また、ＭＥＭ−Ｐ１２は、ＲＯＭ（Read Only Memory）１２ａと、ＲＡＭ（Random Access Memory）１２ｂと、をさらに有する。
【００１５】
ＣＰＵ１１は、ＭＦＰ１００の全体制御をおこなうものであり、ＮＢ１３、ＭＥＭ−Ｐ１２およびＳＢ１４からなるチップセットを有し、このチップセットを介して他の機器と接続される。
ＮＢ１３は、ＣＰＵ１１とＭＥＭ−Ｐ１２、ＳＢ１４、ＡＧＰバス１５とを接続するためのブリッジであり、ＭＥＭ−Ｐ１２に対する読み書きなどを制御するメモリコントローラと、ＰＣＩマスタおよびＡＧＰターゲットとを有する。
【００１６】
ＭＥＭ−Ｐ１２は、プログラムやデータの格納用メモリ、プログラムやデータの展開用メモリ、プリンタの描画用メモリなどとして用いるシステムメモリであり、ＲＯＭ１２ａとＲＡＭ１２ｂとからなる。
ＲＯＭ１２ａは、プログラムやデータの格納用メモリとして用いる読み出し専用のメモリであり、ＲＡＭ１２ｂは、プログラムやデータの展開用メモリ、プリンタの描画用メモリなどとして用いる書き込みおよび読み出し可能なメモリである。
ＳＢ１４は、ＮＢ１３とＰＣＩデバイス、周辺デバイスとを接続するためのブリッジである。
このＳＢ１４は、ＰＣＩバスを介してＮＢ１３と接続されており、このＰＣＩバスには、ネットワークインターフェース（Ｉ／Ｆ）部なども接続される。
【００１７】
ＡＳＩＣ１６は、画像処理用のハードウェア要素を有する画像処理用途向けのＩＣ（Integrated Circuit）であり、ＡＧＰバス１５、ＰＣＩバス、ＨＤＤ１０３およびＭＥＭ−Ｃ１７をそれぞれ接続するブリッジの役割を有する。
このＡＳＩＣ１６は、ＰＣＩターゲットおよびＡＧＰマスタと、ＡＳＩＣ１６の中核をなすアービタ（ＡＲＢ）と、ＭＥＭ−Ｃ１７を制御するメモリコントローラと、ハードウェアロジックなどにより画像データの回転などをおこなう複数のＤＭＡＣ（Direct Memory Access Controller）と、エンジン部６０との間でＰＣＩバスを介したデータ転送をおこなうＰＣＩユニットとからなる。
このＡＳＩＣ１６には、ＰＣＩバスを介してＦＣＵ（Facsimile Control Unit）３０、ＵＳＢ（Universal Serial Bus）４０、ＩＥＥＥ１３９４（the Institute of Electrical and Electronics Engineers 1394）インターフェース５０が接続される。
操作表示部２２０はＡＳＩＣ１６に直接接続されている。
ＭＥＭ−Ｃ１７は、コピー用画像バッファ、符号バッファとして用いるローカルメモリである。
【００１８】
ＨＤＤ１０３は、画像データの蓄積、プログラムの蓄積、フォントデータの蓄積、フォームの蓄積を行うためのストレージである。
また、ＨＤＤ１０３は、ＭＦＰ１００で実行されるアプリケーションのライセンスファイルを保存する。
ＡＧＰバス１５は、グラフィック処理を高速化するために提案されたグラフィックスアクセラレーターカード用のバスインターフェースであり、ＭＥＭ−Ｐ１２に高スループットで直接アクセスすることにより、グラフィックスアクセラレーターカードを高速にするものである。
【００１９】
〔プリンタドライバの機能構成〕
図４は、クライアントＰＣに搭載されるプリンタドライバの機能構成を示す図である。
プリンタドライバ４００は、ＵＩ（User Interface）部４０１、描画部４０２、通信部４０３（第二の機能情報取得手段）、機種情報管理部４０４（第一の機能情報取得手段）、機種情報記憶部４０５（機種情報記憶手段）、及び、機能判定部４０６（機能判定手段）を備える。また、機能判定部４０６は、基本機能判定部４０７（基本機能判定手段）と、応用機能判定部４０８（応用機能判定手段）とを備える。
【００２０】
ＵＩ部４０１は、クライアントＰＣ２００とユーザとの間での情報をやりとりするためのインターフェースである。例えば、ＵＩ部４０１は、クライアントＰＣに接続されている接続プリンタＰの設定に必要な印刷設定画面をＬＣＤ２０６を介してユーザに提供する。ＵＩ部４０１が提供する印刷設定画面等の画面は、ユーザの操作や設定を受け付ける操作部や、ユーザに情報を提示する表示部等を含んでおり、ＵＩ部４０１は操作受付手段や情報の提示手段（表示手段）として機能する。
描画部４０２は、アプリケーションから受け取った印刷データを接続プリンタＰが解釈可能な描画データに変換すると共に、印刷の設定に関する設定値を制御コマンドに変換する。
通信部４０３は、接続プリンタＰとの間でデータの送受信を行う部位である。通信部４０３は、接続プリンタＰに対して、描画データと制御コマンドとを含む印刷実行命令を送信することで、接続プリンタＰによる印刷を実現する。また、通信部４０３は、プリンタに対して各種の情報の取得リクエストを送信し、プリンタから各種の情報を受信する。
【００２１】
機種情報管理部４０４は、機種情報記憶部４０５に格納されているプリンタの機種情報を管理する。
機種情報記憶部４０５は、複数種類のプリンタの機種情報をプリンタの機種ごと（又は種別ごと）に記憶する部位であり、ＰＣ２００のＨＤＤ２０４等の記憶手段によって実現される。ここで、機種情報は、機種情報に関連付けられたプリンタがサポートしている機能についての情報（登録機能情報：第一の機能情報）と、そのプリンタがサポートしている機能に対応する制御コマンド（制御コマンド群）とを含んで構成されている。
なお、機種情報記憶部４０５は、各プリンタの登録機能情報と各機能の制御コマンド（制御コマンド群）とを別々に記憶してもよい。この場合、各プリンタの機種情報には、各プリンタの登録機能情報と各プリンタがサポートしている機能に対応する制御コマンドの対応付け情報とが含まれる。
機種情報記憶部４０５に格納されている各プリンタの機種情報は、クライアントＰＣ２００に接続されたプリンタから適宜取得される搭載機能情報とは異なり、クライアントＰＣ２００へプリンタドライバ４００をインストールする時に、プリンタドライバの構成ファイルの一つとして格納されるものである。このため、プリンタドライバ４００のインストール後においては、機種情報記憶部４０５に記憶されている各プリンタの機種情報の内容を変更することはできない。
【００２２】
機能判定部４０６は、クライアントＰＣ２００に接続されている接続プリンタＰから通信部４０３を介して取得された搭載機能情報と、機種情報管理部４０４を介して機種情報記憶部４０５から取得された機種情報中の登録機能情報とを比較する。また、機能判定部４０６は、搭載機能情報と登録機能情報との比較結果をＵＩ部４０１に通知する。
機能判定部４０６の基本機能判定部４０７は、搭載機能情報に含まれる基本機能情報のみを、登録機能情報に含まれる基本機能情報と比較判定する。基本機能判定部４０７は、接続プリンタＰとの間で基本機能が適合する種類のプリンタを抽出する。基本機能が適合しないプリンタについては、その後の比較判定処理から除外される。
応用機能判定部４０８は、搭載機能情報に含まれる応用機能情報（追加機能情報とオプション機能情報を含む）を、登録機能情報に含まれる応用機能情報（追加機能情報とオプション機能情報を含む）と比較判定する。応用機能判定部４０８は、搭載機能情報との間で一致する応用機能の個数に基づいてプリンタを順位付けし、順位付けした結果をＵＩ部４０１に通知する。ＵＩ部４０１は、通知された結果を表示する。
【００２３】
プリンタドライバ４００が提供する上記各機能部は、クライアントＰＣ２００のＣＰＵ２０１がＨＤＤ２０４等に格納されたプリンタドライバのプログラム（情報処理プログラム）を読み出してＲＡＭ２０２に展開して実行することにより実現される。上記プログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録して提供されるか、又は、サーバからネットワークを介してダウンロードされることによって配布される。
なお、上記各機能部は、その全部が必ずしも１つの装置内に含まれている必要はなく、各機能部が異なる装置に含まれていてもよい。
【００２４】
〔プリンタの機種情報〕
図５は、プリンタドライバが保有する機種情報の一例を示す図である。なお、本図には、各プリンタの登録機能情報のみを記し、制御コマンドについては図示していない。
機種情報には、各種類のプリンタが保有する機能の一覧がプリンタごとに記述されている。機種情報には、プリンタドライバ４００がサポートする全種類のプリンタの情報が含まれる。
機種情報には、夫々のプリンタが保有する機能が「基本機能」、「追加機能」、「オプション機能」の各カテゴリに分けられて記述されている。また、機種情報には、プリンタが有する各機能を発揮させるための制御コマンドが各機能に対応付けて記憶されている。
【００２５】
「基本機能」は、印刷処理の実行に必須となるプリンタの機能を示している。基本機能の項目には、印刷解像度、カラー／モノクロ印刷の別、対応する用紙サイズの情報等を含む。基本機能は、プリンタが有する基本的なハードウェア構成に依存して決まる能力に関する情報である。例えば、カラー印刷を実行可能な機種の場合、機種情報管理部４０４は、当該機種のプリンタがカラー印刷機能を有している旨の情報と、プリンタにカラー印刷を実行させるための制御コマンドとを対応づけて管理している。
「追加機能」は、各プリンタに対応してプリンタドライバがサポートする機能の情報を示す。追加機能には、集約印刷、製本印刷、表紙印刷等の各機能の有無に関する情報を含む。
「オプション機能」は、後処理装置等、当該機種のプリンタに付加できる機能の情報を示す。たとえば、両面機能「あり」の場合は、当該機種のプリンタに両面ユニットをオプション装置として付加することができるため、機種情報記憶部４０５には、当該機種のプリンタに対して両面印刷を実行させるための制御コマンドが格納されている。
【００２６】
ＵＩ部４０１は、これらの機種情報を必要に応じて機種情報管理部４０４から取得してユーザに表示する。図６は、ＵＩ部によるプリンタの保有機能（本例では解像度）の表示例を示す図である。例えば、図６のプリンタＣが選択された場合、ＵＩ部４０１はプリンタＣがサポートする解像度の一覧をセレクトボックスに表示する。
なお、プリンタドライバは、Generic Modelと呼ばれる架空のプリンタに関する機種情報も保持している。Generic Modelとは、機種共通の機能として何れのプリンタに送信しても印刷エラーが発生しない機能のみを選択できるようにしたものであり、全てのプリンタにおいて利用可能な基本機能に対応する制御コマンド群を有する機種情報である。
【００２７】
〔接続プリンタの搭載機能情報〕
図７は、プリンタドライバが接続プリンタから取得した搭載機能情報の一例を示す図である。
プリンタドライバ４００は、接続プリンタＰから双方向通信により搭載機能情報を取得する。搭載機能の記述には、ＭＩＢ（Management Information Base）や、ＰＪＬ（Printer Job Language）等のデータ形式が、クライアントＰＣ２００と接続プリンタＰとの接続形式に応じて用いられる。
本例に示す搭載機能情報には「プリンタ名」（プリンタの機種名）の他、接続プリンタＰに搭載された機能が「基本機能」、「追加機能」、「オプション機能」の各カテゴリに分けて記述されている。本例の搭載機能情報は、プリンタドライバ４００が保有する機種情報中の登録機能情報と同一の記述フォーマットにて記述されている。しかし、搭載機能情報は必ずしも登録機能情報と同一の記述フォーマットをとらなくてもよい。少なくとも、プリンタドライバ４００が接続プリンタの能力を把握できれば、搭載機能情報には何れの形式の記述フォーマットが用いられてもよい。
【００２８】
〔基本機能の比較判定処理〕
図８は、基本機能の比較判定処理について説明する図である。
プリンタドライバ４００の基本機能判定部４０７は、搭載機能情報（図７）中の「基本機能」と、管理されている全てのプリンタの機種情報（図５）中の「基本機能」とを夫々比較し、接続プリンタＰの基本機能に適合する基本機能を有するプリンタの機種情報を機種情報記憶部４０５から抽出する。
ここで、接続プリンタのプリンタ名（機種名）を「プリンタＸ」とする。基本機能の比較判定処理が実行される前に機種情報管理部４０４は、まず「プリンタＸ」という機種のプリンタに関する情報が機種情報記憶部４０５に含まれているか否かを判定する。本例の機種情報記憶部４０５には「プリンタＸ」の情報が含まれていないため、基本機能判定部４０７はプリンタＸに適合する基本機能を有するプリンタを登録されているプリンタの中から抽出する基本機能の比較判定処理を実行することになる。即ち、基本機能判定部４０７は、基本機能である解像度、カラー／モノクロ印刷の別、用紙サイズが適合するプリンタを抽出する。
ここで、基本機能の比較判定処理によって抽出されるプリンタは、接続プリンタで正常な印刷を実行可能な制御コマンド群を有する機種である必要がある。このため、基本機能判定部４０７は、接続プリンタが有する基本機能と同一の基本機能を有するプリンタか、少なくとも接続プリンタよりも低い能力を有するプリンタを抽出する。
【００２９】
先ず、プリンタＡについて検討する。プリンタＡは、解像度の項目にプリンタＸにはない「３００ｄｐｉ」という選択肢があるため、ここでは抽出対象外のプリンタとなる。仮にプリンタＡが選択され、且つ「３００ｄｐｉ」の解像度が設定された場合、プリンタドライバから「３００ｄｐｉ」の解像度に対応する制御コマンドがプリンタＸに送信されることになるが、プリンタＸは「３００ｄｐｉ」の解像度に対応していないため、正常な印刷ができなくなる。
次に、プリンタＢについて検討する。プリンタＢで指定可能な解像度「６００ｄｐｉ」について、プリンタＸは対応している。また、プリンタＢはカラー印刷には対応していないが、カラー印刷が可能なプリンタＸならばモノクロ印刷が可能であるから、プリンタＢを選択することに問題はない。同様に、プリンタＢは用紙サイズＡ４までしか対応していないが、用紙サイズＡ３対応するプリンタＸでＡ４サイズの用紙に印刷することは可能である。従って、プリンタＢはプリンタＸと基本機能が適合するプリンタとして抽出対象となる。
基本機能判定部４０７は、同様の比較をプリンタＣとプリンタＤについても行い、プリンタＣを抽出対象と判定し、プリンタＤを抽出対象外と判定する。
【００３０】
基本機能判定部４０７は、上述の比較判定処理で抽出されたプリンタの情報を含んだプリンタテーブルを生成する。表１は、プリンタテーブルの一例である。
【００３１】
【表１】
0006627461.tif 000002
【００３２】
ここでは、プリンタＢ、Ｃ、Ｆ、Ｈ、Ｊが基本機能の比較判定処理において抽出されている。
プリンタテーブルには、プリンタの機種名と、各プリンタの機能ポイントが記述されている。ここで、機能ポイントは応用機能（追加機能とオプション機能）において、プリンタＸが有する機能と、テーブル中のプリンタが有する機能が一致する個数に応じて加算されるポイントである。機能ポイントは、基本機能の判定処理の終了直後である初期状態では「０」である。
【００３３】
〔応用機能の比較判定処理〕
プリンタドライバ４００の応用機能判定部４０８による応用機能の比較判定処理について説明する。図９は、応用機能の比較判定処理について説明する図である。
応用機能判定部４０８は、プリンタＸの搭載機能情報中の「追加機能」及び「オプション機能」と、プリンタテーブルに含まれるプリンタの登録機能情報中の「追加機能」及び「オプション機能」とを夫々比較する処理を実行する。応用機能判定部４０８は、夫々のプリンタについて接続プリンタＰとの間で一致する機能の個数を計数し、計数結果を機能ポイントとしてプリンタテーブルの夫々のプリンタ名に対応付けて登録する。
ここで「プリンタＸ」の搭載機能情報にある「スピード印刷」は、プリンタテーブル中の何れのプリンタにも存在しない機能である。本例では「スピード印刷」はプリンタドライバ自身がサポートしていない機能であり、プリンタドライバは「スピード印刷」の制御コマンドを保持していない。このようにプリンタドライバ自体が対応していない機能や、抽出されたプリンタが有していない機能については、機能ポイントのカウント対象外となる。
【００３４】
表２は、応用機能判定部４０８による比較の結果、更新されたプリンタテーブルの一例である。
【００３５】
【表２】
0006627461.tif 000003
【００３６】
〔プリンタ選択画面〕
図１０は、表２に示すプリンタテーブルに基づいて利用可能なプリンタの機種名を表示するプリンタ選択画面の一例を示す図である。
ＵＩ部４０１は、表２のように更新されたプリンタテーブルに基づいて、機能ポイントの高い順にプリンタを並べ替えてプリンタ選択画面中のリストボックスに表示する。また、この画面には「プリンタ情報の取得」ボタンが表示されている。このボタンを押下することで、基本機能判定部４０７と応用機能判定部４０８による機能の判定処理が実行され、リストボックス内の情報が再構成される。リストボックスから１つのプリンタを選択して「ＯＫ」ボタンを押下することにより、選択したプリンタのデフォルト設定が印刷設定画面（ドキュメントプロパティの画面）に反映される。
【００３７】
〔利用機能設定〕
ユーザは、プリンタドライバがサポートする応用機能の夫々について、ユーザが利用する機能であるか否かを、ＵＩ部４０１を介して予め登録しておくことができる。
図１１は、利用機能設定データの一例を示す図である。
利用機能設定データの中で「利用する」に設定されている機能については、応用機能判定部４０８による応用機能の比較判定処理において機能ポイントの加算対象となる。一方で「利用しない」に設定されている機能については、機能ポイントの加算対象外となる。このように、ユーザが利用する機能を予め登録しておくことにより、利用する機能が多く搭載された機種のプリンタを優先的にプリンタ選択画面に表示することができるようになる。
なお、利用機能設定データは、クライアントＰＣ２００のＨＤＤ２０４等によって実現される記憶手段に格納され、応用機能の比較判定処理の実行時に必要に応じて応用機能判定部４０８によって読み出される。
【００３８】
〔フローチャート〕
以上説明した本発明の実施形態について、フローチャートに基づいて説明する。
図１２は、本発明の一実施形態に係るプリンタ選択処理の一例を示すフローチャートである。
ステップＳ１において、通信部４０３は、接続プリンタＰから搭載機能情報を取得する。
ステップＳ３において、機種情報管理部４０４は、機種情報記憶部４０５に記憶されているプリンタの中に、接続プリンタＰと同一の機種名のプリンタが存在するか否かを確認する。該当するプリンタが存在する場合は判定結果をＵＩ部４０１に通知し（ステップＳ３にてｙｅｓ）、ＵＩ部４０１は、そのプリンタを選択する（ステップＳ５）。該当するプリンタが存在しない場合（ステップＳ３にてｎｏ）、ステップＳ７が実行される。
ステップＳ７において、機能判定部４０６は、機種情報記憶部４０５に記憶されている全てのプリンタの機種情報のうちの登録機能情報を、機種情報管理部４０４を介して取得する。
ステップＳ９において、基本機能判定部４０７は、接続プリンタＰと、機種情報記憶部４０５に記憶されているプリンタとの間で基本機能を比較する。
【００３９】
ステップＳ１１において、基本機能判定部４０７は、接続プリンタＰと基本機能が適合する機種のプリンタが存在するか否かを確認する。存在しない場合（ステップＳ１１にてｎｏ）、基本機能判定部４０７は判定結果をＵＩ部４０１に通知し、ＵＩ部４０１はGeneric Modelを選択する（ステップＳ１３）。存在する場合（ステップＳ１１にてｙｅｓ）、ステップＳ１５を実行する。
ステップＳ１５において、基本機能判定部４０７は、接続プリンタＰと基本機能が適合するプリンタを抽出したプリンタテーブルを作成する。
ステップＳ１７において、応用機能判定部４０８は、接続プリンタＰとプリンタテーブル中のプリンタとの間で応用機能を比較し、機能ポイントをカウントする。
ステップＳ１９において、応用機能判定部４０８は、機能ポイントのカウント結果に基づいてプリンタテーブルを更新する。これにより、プリンタテーブル中のプリンタは順位付けされる。応用機能判定部４０８は、処理結果をＵＩ部４０１に通知する。
【００４０】
ステップＳ２１において、ＵＩ部４０１は、機能ポイントの高い順にプリンタを並べ替えて、図１０に示すプリンタ選択画面中のリストボックスに表示する。
ステップＳ２３において、ＵＩ部４０１は、ユーザによって一つのプリンタが選択されたか否かを確認する。選択された場合（ステップＳ２３にてｙｅｓ）、ステップＳ２５の処理を実行する。
ステップＳ２５において、ＵＩ部４０１は、選択されたプリンタの機能情報を読み込んで、印刷設定画面に当該プリンタのデフォルト設定を表示する。このステップにおいてＵＩ部４０１は、印刷設定画面を介してユーザからの印刷に関わる設定値の変更を受け付ける。
ステップＳ２７において、ＵＩ部４０１は、印刷ボタンが押下されたか否かを確認する。押下された場合（ステップＳ２７にてｙｅｓ）、ステップＳ２９の処理が実行される。
ステップＳ２９において、描画部４０２は、アプリケーションから受け取った印刷データを接続プリンタＰが解釈可能な描画データに変換すると共に、印刷の設定に関する設定値を機種情報に基づいて制御コマンドに変換する。
通信部４０３は、描画データと制御コマンドを含む印刷実行命令をプリンタＰに送信する。プリンタＰは、制御コマンドに従って描画データの印刷を実行する。
【００４１】
〔本発明の実施態様例と作用、効果のまとめ〕
＜第一の実施態様＞
本態様に係る情報処理装置（クライアントＰＣ２００）は、ジョブを実行するジョブ実行装置（プリンタ）が有する各機能に関する第一の機能情報（登録機能情報）を、第一の機能情報を含む機種情報を複数種類のジョブ実行装置について記憶した機種情報記憶手段（機種情報記憶部４０５）から取得する第一の機能情報取得手段（機種情報管理部４０４）と、接続中のジョブ実行装置（接続プリンタＰ）から、該接続中のジョブ実行装置が有する機能に係る第二の機能情報（搭載機能情報）を取得する第二の機能情報取得手段（通信部４０３）と、各第一の機能情報と第二の機能情報とを比較し、比較結果に基づいて機種情報記憶手段に記憶されている機種情報の中から接続中のジョブ実行装置に適合する機能を有するジョブ実行装置に係る機種情報を抽出する機能判定手段（機能判定部４０６）と、を備えたことを特徴とする。
本態様において、機種情報記憶手段には複数種類のジョブ実行装置の機種情報が記憶されている。機種情報には、ジョブ実行装置が有する各機能の情報（第一の機能情報）が含まれている。ジョブ実行装置を制御する制御コマンドは機種情報記憶手段に記憶されており、夫々のジョブ実行装置は上記各機能に対応した制御コマンドに基づいて制御されることにより、上記各機能を実現する。
【００４２】
ところで、共通ドライバにとって未知のジョブ実行装置が接続された場合に、そのジョブ実行装置は、当該ジョブ実行装置がサポートしている機能に係る制御コマンドにて制御される必要があり、そうでなければエラーが発生する。仮に何れのプリンタに送信しても印刷エラーが発生しない機能のみを選択できるようにしたGenericモード（Generic Model）を利用すると、エラーが発生しない代わりに利用できる機能に制限が多いため、ユーザの満足する印刷結果を得ることができないという問題がある。
本態様においては、接続中のジョブ実行装置と機種情報記憶手段に記憶されているジョブ実行装置との間で機能を比較し、比較結果に基づいて接続中のジョブ実行装置に適合する機能を有するジョブ実行装置の機種情報を抽出する。接続中のジョブ実行装置の制御には、抽出されたジョブ実行装置が有する機能に係る制御コマンド群を用いることができるので、情報処理装置に未知のジョブ実行装置が接続された場合であっても、より多くの機能を利用してジョブを実行できる。
【００４３】
＜第二の実施態様＞
本態様において機種情報記憶手段（機種情報記憶部４０５）には、第一の機能情報（登録機能情報）に含まれる各機能に係る制御コマンドが記憶されていることを特徴とする。
機種情報記憶手段から抽出されたジョブ実行装置は、接続中のジョブ実行装置（接続プリンタＰ）に適合する機能を有するジョブ実行装置である。抽出されたジョブ実行装置が有する機能に係る制御コマンド群を用いることで、情報処理装置に未知のジョブ実行装置が接続された場合であっても、より多くの機能を利用してジョブを実行できる。
【００４４】
＜第三の実施態様＞
本態様に係る情報処理装置（クライアントＰＣ２００）において、機能判定手段（機能判定部４０６の応用機能判定部４０８）は、抽出したジョブ実行装置の機種情報を、接続中のジョブ実行装置（接続プリンタＰ）が有する機能に一致する機能の個数に基づいて順位づけすることを特徴とする。
機能判定手段（機能判定部４０６）が抽出したジョブ実行装置の機種情報を、接続中のジョブ実行装置と適合する機能の数に基づいて順位付けすることによって、より多くの機能が適合するジョブ実行装置をユーザに対して提示することができる。ユーザはジョブ実行装置にジョブを実行させるに当たり、多くの機能を利用することができる。
【００４５】
＜第四の実施態様＞
本態様に係る情報処理装置（クライアントＰＣ２００）において第一及び第二の機能情報は、ジョブの実行に必須の機能を示す基本機能情報と、その他の機能を示す応用機能情報とを含み、機能判定手段（機能判定部４０６の基本機能判定部４０７）は、各第一の機能情報に含まれる各基本機能情報と、第二の機能情報に含まれる基本機能情報とを夫々比較し、接続中のジョブ実行装置に適合する機能を有するジョブ実行装置に係る機種情報を抽出することを特徴とする。
ここで、基本機能において接続中のジョブ実行装置に適合するとは、ジョブの実行に必須の基本機能が一致するか、接続中のジョブ実行装置よりも基本機能面において低い能力を有することである。仮に、高い基本機能を有するジョブ実行装置の機種情報を抽出した場合、当該機種情報には、接続中のジョブ実行装置では使用できない制御コマンドが含まれることになり、ジョブの実行時にエラーが発生するという問題がある。
本態様によれば、基本機能が適合するジョブ実行装置の機種情報を抽出するので、エラーを発生させることなくジョブを実行することができる。
【００４６】
＜第五の実施態様＞
本態様に係るジョブ実行システム（印刷システム１）は、ジョブを実行するジョブ実行装置（プリンタ）が有する各機能に関する第一の機能情報（登録機能情報）を、第一の機能情報を含む機種情報を複数種類のジョブ実行装置について記憶した機種情報記憶手段（機種情報記憶部４０５）から取得するステップと、コンピュータと接続中のジョブ実行装置（接続プリンタＰ）から、該接続中のジョブ実行装置が有する機能に係る第二の機能情報（搭載機能情報）を取得するステップと、各第一の機能情報と第二の機能情報とを比較し、比較結果に基づいて機種情報記憶手段に記憶されている機種情報の中から接続中のジョブ実行装置に適合する機能を有するジョブ実行装置に係る機種情報を抽出するステップと、をコンピュータ（クライアントＰＣ２００）に実行させる情報処理プログラム（プリンタドライバ４００）と、抽出された機種情報中の第一の機能情報に含まれる各機能に係る制御コマンドに従ってジョブを実行するジョブ実行装置と、を備えることを特徴とする。
本態様によれば、接続中のジョブ実行装置を制御する制御コマンドを含む機種情報を抽出し、この制御コマンドに従ってジョブ実行装置を制御する。従って、情報処理装置に未知のジョブ実行装置が接続された場合であっても、より多くの機能を利用してジョブを実行できる。
【符号の説明】
【００４７】
１…印刷システム（ジョブ実行システム）、Ｐ…接続プリンタ、２００…クライアントＰＣ（情報処理装置）、４００…プリンタドライバ（情報処理プログラム）、４０１…ＵＩ部、４０２…描画部、４０３…通信部（第二の機能情報取得手段）、４０４…機種情報管理部（第一の機能情報取得手段）、４０５…機種情報記憶部（機種情報記憶手段）、４０６…機能判定部（機能判定手段）、４０７…基本機能判定部（基本機能判定手段）、４０８…応用機能判定部（応用機能判定手段）
【先行技術文献】
【特許文献】
【００４８】
【特許文献１】特開２０１５−６０２９１公報
【図１】
0006627461.tif 000004
【図２】
0006627461.tif 000005
【図３】
0006627461.tif 000006
【図４】
0006627461.tif 000007
【図５】
0006627461.tif 000008
【図６】
0006627461.tif 000009
【図７】
0006627461.tif 000010
【図８】
0006627461.tif 000011
【図９】
0006627461.tif 000012
【図１０】
0006627461.tif 000013
【図１１】
0006627461.tif 000014
【図１２】
0006627461.tif 000015