(57)【要約】【課題】情報処理装置に搭載されたプリンタドライバに定義されていない機能であっても、当該機能の設定値を印刷設定に反映できるようにする情報処理システムを提供する。【解決手段】情報処理システムは、画像処理装置の機種を示す機種情報と該画像処理装置の機能に関する機能情報を記憶する記憶手段と、前記記憶手段を用いて、情報処理装置から送信されてきた設定値を反映させた印刷設定画面を生成する印刷設定画面生成手段を有する外部装置と、画像処理装置から機能の設定値を取得する取得手段と、前記取得手段によって取得された設定値を前記外部装置に送信する送信手段を有する情報処理装置を有する。【選択図】図１
2020154497.tif 000002
【特許請求の範囲】
【請求項１】
画像処理装置の機種を示す機種情報と該画像処理装置の機能に関する機能情報を記憶する記憶手段と、
前記記憶手段を用いて、情報処理装置から送信されてきた設定値を反映させた印刷設定画面を生成する印刷設定画面生成手段
を有する外部装置と、
画像処理装置から機能の設定値を取得する取得手段と、
前記取得手段によって取得された設定値を前記外部装置に送信する送信手段
を有する情報処理装置
を有する情報処理システム。
【請求項２】
前記外部装置は、
前記印刷設定画面生成手段によって生成された印刷設定画面を前記情報処理装置に送信する第１送信手段と、
前記情報処理装置から、前記印刷設定画面を用いて設定された印刷設定値を受信する第１受信手段と、
前記印刷設定値に基づく印刷情報を生成し、前記情報処理装置に送信する第２送信手段
をさらに有し、
前記情報処理装置は、
前記外部装置から送信された印刷設定画面を受信する第２受信手段と、
前記印刷設定画面を用いて、操作者の設定による印刷設定値を受け付ける受付手段と、
前記受付手段によって受け付けられた印刷設定値を、前記外部装置に送信する第３送信手段と、
前記外部装置から送信された印刷情報を受信する第３受信手段と、
前記第３受信手段によって受信された印刷情報を用いて、前記画像処理装置に印刷を行わせるように制御する制御手段
をさらに有する請求項１に記載の情報処理システム。
【請求項３】
前記情報処理装置は、
前記画像処理装置から取得した機種を示す機種情報を前記外部装置に送信する第４送信手段
をさらに有し、
前記外部装置は、
前記情報処理装置から受信した機種情報に対応している機種情報内の格納場所を、前記情報処理装置に送信する第５送信手段
をさらに有し、
前記情報処理装置の前記取得手段は、
前記外部装置から前記格納場所を受信し、前記画像処理装置の該格納場所に格納されている設定値を取得する、
請求項１又は２に記載の情報処理システム。
【請求項４】
前記情報処理装置は、
未定義である機能情報の前記画像処理装置における格納場所を予め記憶しておき、
前記情報処理装置の前記取得手段は、
前記画像処理装置の前記格納場所に格納されている設定値を取得する、
請求項１又は２に記載の情報処理システム。
【請求項５】
前記外部装置の前記印刷設定画面生成手段は、
前記情報処理装置で生成される印刷設定画面内の機能とは異なる機能に関する印刷設定画面を生成する、
請求項１、２、３、４のいずれか一項に記載の情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システムに関する。
【背景技術】
【０００２】
特許文献１には、プリンタで印刷する際、そのプリンタに対応するバージョンのプリンタドライバに更新しなくても、既にインストールされているプリンタドライバによって上記プリンタに特有の機能を可能な限り利用して印刷できるようにすることを課題とし、ＰＣの機種依存ファイル管理ツールは、自装置に既にインストールされているプリンタドライバのバージョンが新しく印刷させるプリンタに対応するプリンタドライバのバージョンと一致しないと判断した場合、ユーザーにプリンタドライバによってプリンタに印刷させるか否かを選択させ、プリンタドライバによってプリンタに印刷させることが選択された場合、プリンタドライバが対応するプリンタの機能のみでプリンタに印刷を実行させることが開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−１９００５７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
機種共通プリンタドライバのように不特定の機種を対象とするプリンタドライバが搭載された情報処理装置では、新機種に備わる新機能等の、プリンタドライバに定義されていない機能の設定値を印刷設定に反映させることができない。
本発明は、情報処理装置に搭載されたプリンタドライバに定義されていない機能であっても、当該機能の設定値を印刷設定に反映できるようにする情報処理システムを提供することを目的としている。
【課題を解決するための手段】
【０００５】
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
請求項１の発明は、画像処理装置の機種を示す機種情報と該画像処理装置の機能に関する機能情報を記憶する記憶手段と、前記記憶手段を用いて、情報処理装置から送信されてきた設定値を反映させた印刷設定画面を生成する印刷設定画面生成手段を有する外部装置と、画像処理装置から機能の設定値を取得する取得手段と、前記取得手段によって取得された設定値を前記外部装置に送信する送信手段を有する情報処理装置を有する情報処理システムである。
【０００６】
請求項２の発明は、前記外部装置は、前記印刷設定画面生成手段によって生成された印刷設定画面を前記情報処理装置に送信する第１送信手段と、前記情報処理装置から、前記印刷設定画面を用いて設定された印刷設定値を受信する第１受信手段と、前記印刷設定値に基づく印刷情報を生成し、前記情報処理装置に送信する第２送信手段をさらに有し、前記情報処理装置は、前記外部装置から送信された印刷設定画面を受信する第２受信手段と、前記印刷設定画面を用いて、操作者の設定による印刷設定値を受け付ける受付手段と、前記受付手段によって受け付けられた印刷設定値を、前記外部装置に送信する第３送信手段と、前記外部装置から送信された印刷情報を受信する第３受信手段と、前記第３受信手段によって受信された印刷情報を用いて、前記画像処理装置に印刷を行わせるように制御する制御手段をさらに有する請求項１に記載の情報処理システムである。
【０００７】
請求項３の発明は、前記情報処理装置は、前記画像処理装置から取得した機種を示す機種情報を前記外部装置に送信する第４送信手段をさらに有し、前記外部装置は、前記情報処理装置から受信した機種情報に対応している機種情報内の格納場所を、前記情報処理装置に送信する第５送信手段をさらに有し、前記情報処理装置の前記取得手段は、前記外部装置から前記格納場所を受信し、前記画像処理装置の該格納場所に格納されている設定値を取得する、請求項１又は２に記載の情報処理システムである。
【０００８】
請求項４の発明は、前記情報処理装置は、未定義である機能情報の前記画像処理装置における格納場所を予め記憶しておき、前記情報処理装置の前記取得手段は、前記画像処理装置の前記格納場所に格納されている設定値を取得する、請求項１又は２に記載の情報処理システムである。
【０００９】
請求項５の発明は、前記外部装置の前記印刷設定画面生成手段は、前記情報処理装置で生成される印刷設定画面内の機能とは異なる機能に関する印刷設定画面を生成する、請求項１、２、３、４のいずれか一項に記載の情報処理システムである。
【発明の効果】
【００１０】
請求項１の情報処理システムによれば、情報処理装置に搭載されたプリンタドライバに定義されていない機能であっても、当該機能の設定値を印刷設定に反映できる。
【００１１】
請求項２の情報処理システムによれば、プリンタドライバに定義されていない機能についての印刷設定値について、情報処理装置は、外部装置から送信された印刷設定画面を用いて、印刷設定値を受け付けることができる。
【００１２】
請求項３の情報処理システムによれば、プリンタドライバに定義されていない機能についての格納場所について、情報処理装置は、外部装置から受信した格納場所を用いて、画像処理装置のその格納場所に格納されている設定値を取得することができる。
【００１３】
請求項４の情報処理システムによれば、情報処理装置は、未定義である機能情報の画像処理装置における格納場所を予め記憶しておくことができる。
【００１４】
請求項５の情報処理システムによれば、情報処理装置で生成される印刷設定画面内の機能とは異なる機能に関する印刷設定画面を生成することができる。
【図面の簡単な説明】
【００１５】
【図１】本実施の形態の構成例についての概念的なモジュール構成図である。
【図２】本実施の形態を利用したシステム構成例を示す説明図である。
【図３】本実施の形態を利用しない場合であって、専用プリンタドライバを用いた印刷処理例を示す説明図である。
【図４】本実施の形態を利用しない場合であって、共通プリンタドライバを用いた印刷処理例を示す説明図である。
【図５】共通プリンタドライバを用いた場合であって、未定義の新機能を取得できない例を示す説明図である。
【図６】従来技術であるＶ４プリンタドライバを用いた場合の具体的なモジュール構成図である。
【図７】本実施の形態であるＶ４プリンタドライバ、外部装置を用いた場合の具体的なモジュール構成図である。
【図８Ａ】本実施の形態による処理例を示すフローチャートである。
【図８Ｂ】本実施の形態による処理例を示すフローチャートである。
【図９】本実施の形態による処理例を示す説明図である。
【図１０】本実施の形態による処理例を示す説明図である。
【図１１】機種依存情報のデータ構造例を示す説明図である。
【図１２】本実施の形態による印刷設定画面の表示例を示す説明図である。
【図１３】本実施の形態による印刷設定画面の表示例を示す説明図である。
【図１４】本実施の形態による処理例を示す説明図である。
【図１５】本実施の形態を実現するコンピュータのハードウェア構成例を示すブロック図である。
【発明を実施するための形態】
【００１６】
以下、図面に基づき本発明を実現するにあたっての好適な一実施の形態の例を説明する。
図１は、本実施の形態の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア（「ソフトウェア」の解釈として、コンピュータ・プログラムを含む）、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、それらのモジュールとして機能させるためのコンピュータ・プログラム（例えば、コンピュータにそれぞれの手順を実行させるためのプログラム、コンピュータをそれぞれの手段として機能させるためのプログラム、コンピュータにそれぞれの機能を実現させるためのプログラム）、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するという意味である。また、モジュールは機能に一対一に対応していてもよいが、実装においては、１モジュールを１プログラムで構成してもよいし、複数モジュールを１プログラムで構成してもよく、逆に１モジュールを複数プログラムで構成してもよい。また、複数モジュールは１コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって１モジュールが複数コンピュータで実行されてもよい。なお、１つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続（例えば、データの授受、指示、データ間の参照関係、ログイン等）の場合にも用いる。「予め定められた」とは、対象としている処理の前に定まっていることをいい、本実施の形態による処理が始まる前はもちろんのこと、本実施の形態による処理が始まった後であっても、対象としている処理の前であれば、そのときの状況・状態にしたがって、又はそれまでの状況・状態にしたがって定まることの意を含めて用いる。「予め定められた値」が複数ある場合は、それぞれ異なった値であってもよいし、２以上の値（「２以上の値」には、もちろんのことながら、全ての値も含む）が同じであってもよい。また、「Ａである場合、Ｂをする」という記載は、「Ａであるか否かを判断し、Ａであると判断した場合はＢをする」の意味で用いる。ただし、Ａであるか否かの判断が不要である場合を除く。また、「Ａ、Ｂ、Ｃ」等のように事物を列挙した場合は、断りがない限り例示列挙であり、その１つのみを選んでいる場合（例えば、Ａのみ）を含む。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク（「ネットワーク」には、一対一対応の通信接続を含む）等の通信手段で接続されて構成されるほか、１つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。もちろんのことながら、「システム」には、人為的な取り決めである社会的な「仕組み」（つまり、社会システム）にすぎないものは含まない。
また、各モジュールによる処理毎に又はモジュール内で複数の処理を行う場合はその処理毎に、対象となる情報を記憶装置から読み込み、その処理を行った後に、処理結果を記憶装置に書き出すものである。したがって、処理前の記憶装置からの読み込み、処理後の記憶装置への書き出しについては、説明を省略する場合がある。なお、ここでの記憶装置としては、ハードディスクドライブ、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙの略）、外部記憶媒体、通信回線を介した記憶装置、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔの略）内のレジスタ等を含んでいてもよい。
【００１７】
本実施の形態である情報処理装置１００と外部装置１５０と画像処理装置１８０による情報処理システムは、印刷機能を有している。
情報処理装置１００は、画像処理装置１８０を利用することができる。ただし、その情報処理装置１００には、画像処理装置１８０を利用するためのプログラム（例えば、プリンタドライバ等が該当し、以下、例示して説明する場合はプリンタドライバを用いる）が搭載されているが、画像処理装置１８０の全ての機能を利用できるようになっているわけではない。例えば、プリンタドライバが機種共通プリンタドライバであり、その機種共通プリンタドライバではサポートされていない機能を画像処理装置１８０が有している場合等が該当する。具体的には、その機種共通プリンタドライバをインストールした後に発売された画像処理装置１８０であって、機種共通プリンタドライバがサポートしていない新機能を有している場合が該当する。このような場合であっても、外部装置１５０が生成した印刷設定画面を用いて、プリンタドライバに定義されていない機能の印刷の設定値を取得して、画像処理装置１８０におけるその機能を利用できるようにしている。
なお、情報処理装置１００と外部装置１５０とは、通信回線を介して接続されている。情報処理装置１００と画像処理装置１８０とは、通信回線を介して接続されている。また、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓの略）等の周辺機器との接続のためのインタフェースによって接続してもよい。
【００１８】
外部装置１５０は、通信モジュール１５５、記憶モジュール１６０、印刷設定画面生成モジュール１６５、印刷情報生成モジュール１７０を有している。外部装置１５０は、画像処理装置１８０についての機能情報を有しており、情報処理装置１００に搭載されているプリンタドライバではサポートされていない機能を用いるための印刷設定画面を生成し、その機能を用いるための印刷情報を生成して、情報処理装置１００にその印刷情報を送信して、情報処理装置１００にその機能を用いた印刷を画像処理装置１８０にさせるようにできる。
なお、外部装置１５０が対象とする画像処理装置１８０は、少なくとも情報処理装置１００が利用している画像処理装置１８０であるが、全ての画像処理装置１８０であってもよい。特に、外部装置１５０が、画像処理装置１８０の製造元のメーカーによって管理されている場合は、製造された全ての画像処理装置１８０に関する機能情報を管理していてもよい。
【００１９】
通信モジュール１５５は、印刷設定画面生成モジュール１６５、印刷情報生成モジュール１７０、情報処理装置１００の通信モジュール１０５と接続されている。通信モジュール１５５は、情報処理装置１００との通信を行う。通信モジュール１５５は、情報処理装置１００から送信された情報を受信して、印刷設定画面生成モジュール１６５、印刷情報生成モジュール１７０に渡す。また、印刷設定画面生成モジュール１６５、印刷情報生成モジュール１７０から渡された情報を、情報処理装置１００に送信する。
記憶モジュール１６０は、印刷設定画面生成モジュール１６５と接続されている。記憶モジュール１６０は、画像処理装置１８０の機種を示す機種情報とその画像処理装置１８０の機能に関する機能情報を記憶する。
【００２０】
印刷設定画面生成モジュール１６５は、通信モジュール１５５、記憶モジュール１６０と接続されている。印刷設定画面生成モジュール１６５は、記憶モジュール１６０を用いて、情報処理装置１００から送信されてきた設定値を反映させた印刷設定画面を生成する。そして、印刷設定画面生成モジュール１６５は、生成した印刷設定画面を、通信モジュール１５５を介して情報処理装置１００に送信する。なお、設定値は、画像処理装置１８０が有している機能を用いるにあたって必要な情報である。例えば、設定値として、対象の機能を用いるか否かを示す情報、その機能を用いるにあたって複数の選択肢がある場合におけるその選択肢である。具体例として、ステープラーの機能である場合には、そのステープラーを用いるか否かの情報、ステープルの位置、数等が該当する。
また、印刷設定画面生成モジュール１６５は、通信モジュール１５５を介して、情報処理装置１００から受信した機種情報に対応している機種情報内の格納場所を、その情報処理装置１００に送信するようにしてもよい。記憶モジュール１６０は、機種情報に対応している機種情報内の格納場所を記憶しており、印刷設定画面生成モジュール１６５は、記憶モジュール１６０を用いて、機種情報から、機種情報内の格納場所を検索すればよい。
また、印刷設定画面生成モジュール１６５は、情報処理装置１００で生成される印刷設定画面内の機能とは異なる機能に関する印刷設定画面を生成するようにしてもよい。
【００２１】
印刷情報生成モジュール１７０は、通信モジュール１５５と接続されている。印刷情報生成モジュール１７０は、通信モジュール１５５を介して、情報処理装置１００から、印刷設定画面を用いて設定された印刷設定値を受信する。そして、印刷情報生成モジュール１７０は、その印刷設定値に基づく印刷情報を生成し、情報処理装置１００に送信する。
【００２２】
情報処理装置１００は、通信モジュール１０５、画像処理装置通信モジュール１１０、取得モジュール１１５、ユーザーインタフェースモジュール１２０、制御モジュール１３０を有している。
【００２３】
通信モジュール１０５は、取得モジュール１１５、ユーザーインタフェースモジュール１２０、制御モジュール１３０、外部装置１５０の通信モジュール１５５と接続されている。通信モジュール１０５は、外部装置１５０との通信を行う。通信モジュール１０５は、外部装置１５０から送信された情報を受信して、取得モジュール１１５、ユーザーインタフェースモジュール１２０、制御モジュール１３０に渡す。また、通信モジュール１０５は、取得モジュール１１５、ユーザーインタフェースモジュール１２０、制御モジュール１３０から渡された情報を、外部装置１５０に送信する。例えば、通信モジュール１０５は、取得モジュール１１５によって取得された設定値を外部装置１５０に送信する。
画像処理装置通信モジュール１１０は、取得モジュール１１５、画像処理装置１８０と接続されている。画像処理装置通信モジュール１１０は、画像処理装置１８０との通信を行う。画像処理装置通信モジュール１１０は、画像処理装置１８０から送信された情報を受信して、取得モジュール１１５に渡す。また、画像処理装置通信モジュール１１０は、取得モジュール１１５から渡された情報を、画像処理装置１８０に送信する。
【００２４】
取得モジュール１１５は、通信モジュール１０５、画像処理装置通信モジュール１１０と接続されている。取得モジュール１１５は、画像処理装置１８０から機能の設定値を取得する。
また、取得モジュール１１５は、画像処理装置１８０から取得した機種を示す機種情報を、通信モジュール１０５を介して外部装置１５０に送信するようにしてもよい。
また、取得モジュール１１５は、通信モジュール１０５を介して、外部装置１５０から格納場所を受信し、画像処理装置１８０のその格納場所に格納されている設定値を取得するようにしてもよい。
【００２５】
また、取得モジュール１１５は、未定義である機能情報の画像処理装置１８０における格納場所を予め記憶しておいてもよい。そして、取得モジュール１１５は、画像処理装置１８０のその格納場所に格納されている設定値を取得するようにしてもよい。なお、もちろんのことながら、画像処理装置１８０は、未定義である機能情報を、その格納場所に格納している。
【００２６】
ユーザーインタフェースモジュール１２０は、表示モジュール１２２、受付モジュール１２４を有しており、通信モジュール１０５と接続されている。ユーザーインタフェースモジュール１２０は、情報処理装置１００におけるユーザーインタフェースの機能を有している。つまり、操作者に対して、印刷設定画面、メッセージ等を表示し、その操作者による操作を受け付ける。
表示モジュール１２２は、通信モジュール１０５を介して、外部装置１５０から送信された印刷設定画面を受信する。そして、表示モジュール１２２は、その印刷設定画面を、情報処理装置１００の表示装置に表示する。表示装置として、例えば、液晶ディスプレイ、有機ＥＬ（Ｅｌｅｃｔｒｏ−Ｌｕｍｉｎｅｓｃｅｎｃｅの略）ディスプレイ等があり、タッチパネルの機能を有していてもよい。
受付モジュール１２４は、表示モジュール１２２が表示した印刷設定画面を用いて、操作者の設定による印刷設定値を受け付ける。例えば、タッチパネル上での操作、マウス、キーボード、カメラ、マイク等を用いたユーザーの操作（視線、ジェスチャ、音声等も含む）を受け付けるようにしてもよい。
そして、受付モジュール１２４は、印刷設定画面を用いて受け付けられた印刷設定値を、通信モジュール１０５を介して、外部装置１５０に送信する。
【００２７】
制御モジュール１３０は、通信モジュール１０５と接続されている。制御モジュール１３０は、通信モジュール１０５を介して、外部装置１５０から送信された印刷情報を受信する。
そして、制御モジュール１３０は、受信した印刷情報を用いて、画像処理装置１８０に印刷を行わせるように制御する。
【００２８】
画像処理装置１８０は、情報処理装置１００の画像処理装置通信モジュール１１０と接続されている。画像処理装置１８０は、情報処理装置１００の印刷指示にしたがって印刷を行う。画像処理装置１８０は、デバイスともいわれる場合があり、例えば、印刷装置、プリンタ、複合機（複合機とは、スキャナ、プリンタ、複写機、ファックス等のいずれか２つ以上の機能を有している画像処理装置）等である。
【００２９】
図２は、本実施の形態を利用したシステム構成例を示す説明図である。
情報処理装置１００Ａ、情報処理装置１００Ｂ、情報処理装置１００Ｃ、外部装置１５０、画像処理装置１８０Ａは、通信回線２９０を介してそれぞれ接続されている。情報処理装置１００Ｃは、画像処理装置１８０Ｃと接続されている。通信回線２９０は、無線、有線、これらの組み合わせであってもよく、例えば、通信インフラとしてのインターネット、イントラネット等であってもよい。また、外部装置１５０による機能は、クラウドサービスとして実現してもよい。
情報処理装置１００は、ユーザー２５０によって用いられる端末であって、例えば、パーソナルコンピュータ、携帯情報通信機器（携帯情報通信機器として、携帯電話、スマートフォン、モバイル機器、ウェアラブルコンピュータ等を含む）等である。ユーザー２５０は、情報処理装置１００を用いて、画像処理装置１８０で文書を印刷する。例えば、ユーザー２５０Ａ、ユーザー２５０Ｂは、それぞれ情報処理装置１００Ａ、情報処理装置１００Ｂを用いて、画像処理装置１８０Ａで文書を印刷する。ユーザー２５０Ｃは、情報処理装置１００Ｃを用いて、画像処理装置１８０Ｃで文書を印刷する。
【００３０】
例えば、情報処理装置１００に、複数の機種の画像処理装置１８０に対応する共通プリンタドライバがインストールされている。その共通プリンタドライバが対応している画像処理装置１８０であれば、画像処理装置１８０の全ての機能を利用することができる。しかし、その共通プリンタドライバがインストールされた後に発表された画像処理装置１８０を用いる場合、画像処理装置１８０がバージョンアップされて新しい機能が搭載された場合、画像処理装置１８０にステープラー等の後処理装置が付加された場合等のように、その共通プリンタドライバではサポートされていない機能が、画像処理装置１８０にある場合がある。このような場合、その機能をサポートした新しい共通プリンタドライバを開発し、各情報処理装置１００にインストールする必要が生じる。
【００３１】
本実施の形態では、共通プリンタドライバではサポートされていない機能に対応する外部装置１５０を用意し、情報処理装置１００は以前の共通プリンタドライバを用いたままで、画像処理装置１８０の新しい機能を利用することができるようにする。つまり、画像処理装置１８０の新しい機能を利用するために、新しい共通プリンタドライバをインストールする必要がなくなる。
【００３２】
図３〜図５の例を用いて、本実施の形態を利用しない場合であって、プリンタドライバを用いた印刷処理例を示す説明図である。いわゆる従来技術における印刷処理について説明する。
Ｂｉｄｉ（Ｂｉｄｉｒｅｃｔｉｏｎａｌ  Ｃｏｍｍｕｎｉｃａｔｉｏｎの略）は、プリンタドライバ（図３の例では、専用プリンタドライバ３００）と画像処理装置（図３の例では、画像処理装置３８０）との間での双方向通信をサポートすることで、プリンタドライバが画像処理装置の構成情報を取得する手段である。
例えば、ステープラーユニットをオプションとして装着可能な画像処理装置があるとする。初期状態にステープラーユニットを未装着である画像処理装置では、プリンタドライバがステープラーユニットを検知することはない。ステープラーユニットを装着した際、Ｂｉｄｉの利用によってプリンタドライバがステープラーユニットの設定を検知することができる。
Ｂｉｄｉの接続方法としてＵＳＢ、ＷＳＤ、ＴＣＰ／ＩＰ（ＳＮＭＰ）等があり、画像処理装置側で定義されている構成情報（例えば、ＭＩＢ値）と対応付く値をプリンタドライバ側で定義する必要がある。そのため、機種ごとに開発される機種専用プリンタドライバは、非サポートの新たなオプション（例えば、画像処理装置に装着可能なユニット等）に関する情報を備えた機種のリリースに伴い、画像処理装置側の構成情報に合わせてプリンタドライバ側を修正することでＢｉｄｉを実現している。
また、機種共通プリンタドライバも機種専用プリンタドライバと同様な修正を加えなければ、正確な画像処理装置情報、オプション情報を取得することができない。新ユニットのオプション情報は、画像処理装置の新しい格納場所に定義されているため、プリンタドライバ側の定義がなければプリンタドライバは、画像処理装置に新ユニットが装着されているかどうかも検知できない。つまり、機種共通プリンタドライバは、多機種に対応するにも拘らず非サポートのオプション情報を取得するために開発し、インストールし直さなければならないことになる。
このことは、従来のプリンタドライバ、新アーキテクチャであるＶ４プリンタドライバが共に起こりえることである。Ｂｉｄｉの仕組みは変わりなく従来のプリンタドライバは、プログラム内で内部的にＢｉｄｉを実現し、Ｖ４プリンタドライバは、Ｂｉｄｉ拡張ファイル（ＸＭＬ、ＪａｖａＳｃｒｉｐｔ（登録商標）形式）として明示的に定義、活用することでＢｉｄｉを実現している。以降、Ｖ４プリンタドライバを例に説明する。
【００３３】
図３、図４に示す例では、新ユニットである「針無しステープラー」の設定を印刷設定画面に反映するために、専用プリンタドライバ３００と共通プリンタドライバ４００が新ユニットの装着有無を、画像処理装置３８０から取得する例を示している。
図３は、本実施の形態を利用しない場合であって、専用プリンタドライバ３００でのＢｉｄｉを利用した印刷処理例を示す説明図である。
専用プリンタドライバ３００は、Ｂｉｄｉ拡張ファイル３０２を記憶しており、Ｂｉｄｉ拡張ファイル３０２は、ＸＭＬファイル３０４、Ｊａｖａｓｃｒｉｐｔファイル３０６を有している。Ｂｉｄｉ拡張ファイル３０２では、「針無しステープラー」の定義がある。
画像処理装置３８０は、構成情報３８２を記憶しており、構成情報３８２は、ＤｅｖｉｃｅＩｎｆｏ３８４、オプション情報３８６を有している。構成情報３８２として、例えば、ＭＩＢ値などがある。ＤｅｖｉｃｅＩｎｆｏ３８４として、モデル名、製造元などがある。オプション情報３８６は、画像処理装置３８０に「針無しステープラー」が装着されている状態を示している。なお、ＤｅｖｉｃｅＩｎｆｏ３８４は、機種情報の一例である。オプション情報３８６は、機能情報の一例である。
専用プリンタドライバ３００と画像処理装置３８０は、Ｂｉｄｉを利用して、ステップＳ３５２、ステップＳ３５４の処理を行う。
ステップＳ３５２では、専用プリンタドライバ３００は、画像処理装置３８０に対して、構成情報３８２の取得を要求する。
ステップＳ３５４では、画像処理装置３８０は、専用プリンタドライバ３００に対して、構成情報３８２を送信する。
これによって、専用プリンタドライバ３００による取得情報３６０として、ＤｅｖｉｃｅＩｎｆｏ３８４、オプション情報３８６がある。
つまり、専用プリンタドライバ３００は、画像処理装置３８０ごとに開発されているため、画像処理装置３８０の保持する情報を正確に取得できる。
【００３４】
図４は、本実施の形態を利用しない場合であって、共通プリンタドライバ４００でのＢｉｄｉを利用した印刷処理例を示す説明図である。
共通プリンタドライバ４００は、Ｂｉｄｉ拡張ファイル４０２を記憶しており、Ｂｉｄｉ拡張ファイル４０２は、ＸＭＬファイル４０４、Ｊａｖａｓｃｒｉｐｔファイル４０６を有している。
図３に示す例と同様に、共通プリンタドライバ４００と画像処理装置３８０は、Ｂｉｄｉを利用して、ステップＳ４５２、ステップＳ４５４の処理を行う。
ステップＳ４５２では、共通プリンタドライバ４００は、画像処理装置３８０に対して、構成情報３８２の取得を要求する。
ステップＳ４５４では、画像処理装置３８０は、共通プリンタドライバ４００に対して、構成情報３８２を送信する。
Ｂｉｄｉ拡張ファイル４０２には、「針無しステープラー」の定義がされていない状態であるので、共通プリンタドライバ４００による取得情報４６０として、ＤｅｖｉｃｅＩｎｆｏ３８４のみがあり、「針無しステープラー」に関するオプション情報３８６を取得できていない。
【００３５】
図５の例を用いて、共通プリンタドライバ４００が取得できるオプション情報３８６と取得できないオプション情報３８６について説明する。
図５は、共通プリンタドライバ４００を用いた場合であって、未定義の新機能を取得できない例を示す説明図である。
定義情報５００は、共通プリンタドライバ４００側の定義を示しており、Ｂｉｄｉ拡張ファイル４０２内の一部である。
定義情報５００は、ユニット名欄５１０、格納場所欄５２０を有している。ユニット名欄５１０は、ユニット名を記憶している。格納場所欄５２０は、格納場所（ＭＩＢ値など）を記憶している。
定義情報５５０は、画像処理装置３８０側の定義を示しており、オプション情報３８６の一部である。
定義情報５５０は、格納場所欄５６０、ユニット名欄５７０、設定値欄５８０を有している。格納場所欄５６０は、格納場所（ＭＩＢ値など）を記憶している。ユニット名欄５７０は、ユニット名を記憶している。設定値欄５８０は、設定値を記憶している。設定値として、例えば、その機能を利用できるか否かを示す情報が該当する。
定義情報５５０の１行目〜３行目までの情報は、定義情報５００でも定義されている。つまり、共通プリンタドライバ４００は、Ｕｎｉｔ１、Ｕｎｉｔ２、Ｕｎｉｔ３の格納場所に設定されている値（具体的には、定義情報５５０の設定値欄５８０内の値）を取得することは可能である。
しかし、定義情報５５０の４行目に定義されている「針無しステープラー」に対応する定義を、定義情報５００では有していない。つまり、共通プリンタドライバ４００で未定義なため、「針無しステープラー」のユニットを検知できない。
【００３６】
図３の例に示す専用プリンタドライバ３００は、開発段階で画像処理装置３８０の定義（「針無しステープラー」）における格納場所を明らかにするため、新ユニットである「針無しステープラー」のオプション情報３８６を取得できる。
一方、図４の例に示す既存の共通プリンタドライバ４００で未定義である新ユニットである「針無しステープラー」のオプション情報３８６を取得することはできない。
そのため、共通プリンタドライバ４００も新ユニットのオプション情報を取得するためには、Ｂｉｄｉ拡張ファイル４０２を専用プリンタドライバ３００におけるＢｉｄｉ拡張ファイル３０２と同様に変更（いわゆるバージョンアップ）しなければならないことになる。
【００３７】
図６は、従来技術であるＶ４プリンタドライバ６１０を用いた場合の具体的なモジュール構成図である。
Ｖ４プリンタドライバ６１０は、標準的なプリンタドライバ（具体的には、Ｗｉｎｄｏｗｓ（登録商標）アーキテクチャ形式）であり、印刷実行（具体的には、印刷データの生成）を行う。標準的な構成では、Ｃｏｎｆｉｇｕｒａｔｉｏｎモジュール６１３、ユーザーインタフェース提供モジュール６１１、Ｒｅｎｄｅｒｉｎｇモジュール６１２、Ｃｏｎｎｅｃｔｉｏｎモジュール６１４を有する。プリンタドライバとしてのＣｏｒｅ部分と拡張処理を行うアプリケーション部分を連動させて動作させる。
【００３８】
ユーザーインタフェース提供モジュール６１１は、プリンタドライバの印刷設定画面を表示し、その印刷設定画面に対するユーザーの操作を受け付ける。
Ｒｅｎｄｅｒｉｎｇモジュール６１２は、画像処理装置６４０が処理可能な印刷データを生成する。いわゆるレンダリング処理を行う。
【００３９】
Ｃｏｎｆｉｇｕｒａｔｉｏｎモジュール６１３は、設定項目／禁則記憶モジュール６１３ａを有しており、Ｃｏｎｎｅｃｔｉｏｎモジュール６１４と接続されている。Ｃｏｎｆｉｇｕｒａｔｉｏｎモジュール６１３は、プリンタドライバが備える設定項目や禁則定義の情報を保持し、印刷設定（ＰｒｉｎｔＴｉｃｋｅｔ）や構成情報（ＰｒｉｎｔＣａｐａｂｉｌｉｔｉｅｓ）の応答を行う。
設定項目／禁則記憶モジュール６１３ａは、例えば、ＧＰＤ／ＰＰＤを記憶している。
【００４０】
Ｃｏｎｎｅｃｔｉｏｎモジュール６１４は、Ｂｉｄｉ拡張ファイル記憶モジュール６１４ａを有しており、Ｃｏｎｆｉｇｕｒａｔｉｏｎモジュール６１３、Ｂｉｄｉ拡張ＡＰＩ６２０と接続されている。Ｃｏｎｎｅｃｔｉｏｎモジュール６１４は、プリンタとの双方向通信を制御する。プリンタの状態を問い合わせるためのＡＰＩを呼び出し、取得した情報をＣｏｎｆｉｇｕｒａｔｉｏｎモジュール６１３に伝達する。また、デバイス情報、オプション情報を取得するための指示が定義されているＢｉｄｉ拡張ファイルを保持している。なお、Ｖ４プリンタドライバ以前のプリンタドライバでは、明示的なファイルはない。
Ｂｉｄｉ拡張ファイル記憶モジュール６１４ａは、例えば、ＸＭＬ／ＪａｖａＳｃｒｉｐｔ（図３の例に示したＸＭＬファイル３０４、Ｊａｖａｓｃｒｉｐｔファイル３０６に相当）を記憶している。
【００４１】
Ｂｉｄｉ拡張ＡＰＩ６２０は、Ｖ４プリンタドライバ６１０のＣｏｎｎｅｃｔｉｏｎモジュール６１４、ポートモニタ６３０と接続されている。Ｂｉｄｉ拡張ＡＰＩ６２０は、ＵＳＢ  Ｂｉｄｉ拡張時のみＪａｖａＳｃｒｉｐｔコードを利用するために動作する。なお、Ｖ４プリンタドライバ以前のプリンタドライバでは、プログラムで直接的に画像処理装置６４０のオプション情報と対応付けるようになっている。
ポートモニタ６３０は、Ｂｉｄｉ拡張ＡＰＩ６２０、画像処理装置６４０と接続されている。ポートモニタ６３０は、Ｂｉｄｉ拡張ＡＰＩ６２０によって指示されたデバイス機能、オプション情報の取得を仲介する。
【００４２】
画像処理装置６４０は、デバイス情報記憶モジュール６４２、オプション情報記憶モジュール６４４を有しており、ポートモニタ６３０と接続されている。デバイス情報記憶モジュール６４２、オプション情報記憶モジュール６４４は、ＭＩＢ値などを記憶している。なお、デバイス情報記憶モジュール６４２が記憶しているデバイス情報は、対象としている画像処理装置６４０の製造元、モデル名等を示す情報である。オプション情報記憶モジュール６４４が記憶しているオプション情報は、対象としている画像処理装置６４０にどのような構成オプション（具体的には、針無しステープラー等のユニット等）が装着され、どのような設定になっているかを示す情報である。
【００４３】
図６では、例えば、「針無しステープラー」機能をサポートし、針無しステープラーのユニットが装着された画像処理装置６４０が設置されている。また、画像処理装置６４０に対して印刷指示する情報処理装置には、「針無しステープラー」機能が非サポートであるＶ４プリンタドライバ６１０がインストールされているとする。
ステップＳ１）Ｖ４プリンタドライバ６１０は、Ｂｉｄｉの利用によって、画像処理装置６４０から「針無しステープラー」ユニットの装着有無以外のデバイス情報、オプション情報を取得する。
ステップＳ２）Ｖ４プリンタドライバ６１０は、取得できた範囲の機種依存情報を印刷設定画面に反映する。つまり、この印刷設定画面では、「針無しステープラー」の指定ができない。
【００４４】
図７は、本実施の形態であるＶ４プリンタドライバ７１０、外部装置７５０を用いた場合の具体的なモジュール構成図である。
なお、図６の例に示した部位と同種の部位には同一符号を付し、重複した説明を省略する。また、図１との対応関係については、Ｖ４プリンタドライバ７１０は図１の例に示した情報処理装置１００の一例であり、外部装置７５０は外部装置１５０の一例であり、画像処理装置６４０は画像処理装置１８０の一例である。
Ｖ４プリンタドライバ７１０は、ユーザーインタフェース提供モジュール６１１、Ｒｅｎｄｅｒｉｎｇモジュール６１２、Ｃｏｎｆｉｇｕｒａｔｉｏｎモジュール７１３、Ｃｏｎｎｅｃｔｉｏｎモジュール６１４を有している。
Ｃｏｎｆｉｇｕｒａｔｉｏｎモジュール７１３は、設定項目／禁則記憶モジュール６１３ａ、外部アクセス制御モジュール７１３ｂを有しており、Ｃｏｎｎｅｃｔｉｏｎモジュール６１４と接続されている。
外部アクセス制御モジュール７１３ｂは、外部装置７５０と接続されている。外部アクセス制御モジュール７１３ｂは、外部装置７５０へのアクセス時にＢｉｄｉで取得したデバイス情報を伝達する。また、外部装置７５０から取得した新たなＢｉｄｉの指示を受け取る。
【００４５】
外部装置７５０は、Ｂｉｄｉ指示生成モジュール７５１、外部ユーザーインタフェース提供モジュール７５２、機種依存情報管理モジュール７５３を有している。外部装置７５０は、Ｖ４プリンタドライバ６１０内のＣｏｎｆｉｇｕｒａｔｉｏｎモジュール６１３の外部アクセス制御モジュール７１３ｂと接続されている。外部装置７５０は、Ｖ４プリンタドライバ７１０の外部で動作する装置（例えば、Ｗｅｂ環境、クラウド環境など）である。そして、外部装置７５０は、リリースされている全ての画像処理装置６４０の機種依存情報を管理し、Ｂｉｄｉの指示の生成、外部ユーザーインタフェースでの印刷設定画面を有する。
【００４６】
Ｂｉｄｉ指示生成モジュール７５１は、機種依存情報管理モジュール７５３、Ｖ４プリンタドライバ６１０内のＣｏｎｆｉｇｕｒａｔｉｏｎモジュール６１３の外部アクセス制御モジュール７１３ｂと接続されている。Ｂｉｄｉ指示生成モジュール７５１は、Ｃｏｎｆｉｇｕｒａｔｉｏｎモジュール６１３より受け取るデバイス情報を基に機種依存情報管理モジュール７５３に問い合わせる。特定したオプション情報の格納場所（ＭＩＢ値など）を基に対象画像処理装置６４０のオプション情報を取得可能な指示を生成し、外部アクセス制御モジュール７１３ｂへ伝達する。
【００４７】
外部ユーザーインタフェース提供モジュール７５２は、Ｖ４プリンタドライバ７１０のユーザーインタフェース提供モジュール６１１を拡張した新機能、新ユニットを反映した印刷設定画面を表示し、Ｖ４プリンタドライバ７１０が認識可能な形式で生成した印刷データをＶ４プリンタドライバ７１０に伝達する。つまり、外部ユーザーインタフェース提供モジュール７５２では、Ｖ４プリンタドライバ７１０が認識できない非サポートの機能のみをユーザーインタフェースに表示し、ユーザーインタフェース提供モジュールモジュール６１１で生成された印刷データに追加できるように印刷データを生成する。なお、ユーザーインタフェースの表示は、Ｗｅｂ画面を生成し、それをＶ４プリンタドライバ７１０又はＶ４プリンタドライバ７１０がインストールされている情報処理装置１００に送信し、Ｗｅｂブラウザで表示するようにしてもよい。
【００４８】
機種依存情報管理モジュール７５３は、デバイス情報記憶モジュール７５３ａ、オプション情報記憶モジュール７５３ｂを有しており、Ｂｉｄｉ指示生成モジュール７５１と接続されている。機種依存情報管理モジュール７５３は、デバイス情報記憶モジュール７５３ａ内のデバイス情報とオプション情報記憶モジュール７５３ｂ内のオプション情報の格納場所（ＭＩＢ値など）が一意に定まるように関連付いたデータを保持する。また、デバイス情報を基にオプション情報の格納場所を特定する。なお、ここでのオプション情報は、対象としている画像処理装置６４０が装着可能なオプション情報の一覧である。
【００４９】
従来のプリンタドライバとＶ４プリンタドライバとでＢｉｄｉによる処理の流れは同様であり、ここではＶ４プリンタドライバにおける処理例を示す。もちろんのことながら、本実施の形態は、従来のプリンタドライバとＶ４プリンタドライバのどちらでも適用可能である。
【００５０】
図８は、本実施の形態による処理例を示すフローチャートである。
ステップＳ８０２では、情報処理装置１００は、画像処理装置１８０に機種情報の一例であるＤｅｖｉｃｅＩｎｆｏを要求する。
ステップＳ８０４では、画像処理装置１８０は、要求を受信する。
【００５１】
ステップＳ８０６では、画像処理装置１８０は、画像処理装置１８０内のＤｅｖｉｃｅＩｎｆｏを情報処理装置１００に送信する。
ステップＳ８０８では、情報処理装置１００は、画像処理装置１８０からＤｅｖｉｃｅＩｎｆｏを取得する。
【００５２】
ステップＳ８１０では、情報処理装置１００は、ＤｅｖｉｃｅＩｎｆｏを外部装置１５０に送信する。
ステップＳ８１２では、外部装置１５０は、ＤｅｖｉｃｅＩｎｆｏを受信する。
【００５３】
ステップＳ８１４では、外部装置１５０は、ＤｅｖｉｃｅＩｎｆｏから、画像処理装置１８０内の機能情報の一例であるオプション情報の格納場所を特定する。
ステップＳ８１６では、外部装置１５０は、格納場所の問い合わせリストを生成する。
【００５４】
ステップＳ８１８では、外部装置１５０は、問い合わせリストを情報処理装置１００に送信する。
ステップＳ８２０では、情報処理装置１００は、問い合わせリストを受信する。
【００５５】
ステップＳ８２２では、情報処理装置１００は、その問い合わせリストを用いて、画像処理装置１８０にオプション情報を要求する。
ステップＳ８２４では、画像処理装置１８０は、要求を受信する。
【００５６】
ステップＳ８２６では、画像処理装置１８０は、画像処理装置１８０内のオプション情報を情報処理装置１００に送信する。
ステップＳ８２８では、情報処理装置１００は、画像処理装置１８０からオプション情報を取得する。
【００５７】
ステップＳ８３０では、情報処理装置１００は、オプション情報を外部装置１５０に送信する。
ステップＳ８３２では、外部装置１５０は、オプション情報を受信する。
【００５８】
ステップＳ８３４では、外部装置１５０は、オプション情報から、そのオプション機能を利用するためのユーザーインタフェースを生成し、ユーザーに提示する。
ステップＳ８３６では、外部装置１５０は、そのユーザーインタフェースによって設定された印刷設定値にしたがって、印刷データを生成する。
【００５９】
ステップＳ８３８では、外部装置１５０は、印刷データを情報処理装置１００に送信する。
ステップＳ８４０では、情報処理装置１００は、印刷データを受信する。
【００６０】
ステップＳ８４２では、情報処理装置１００は、印刷データを画像処理装置１８０に送信し、印刷を要求する。
ステップＳ８４４では、画像処理装置１８０は、印刷データを受信する。
ステップＳ８４６では、画像処理装置１８０は、印刷データを印刷する。
【００６１】
より詳細な処理例で説明する。図９は、本実施の形態による処理例を示す説明図である。なお、共通プリンタドライバ９００は、情報処理装置１００、Ｖ４プリンタドライバ７１０の一例に該当し、外部装置９２０は、外部装置１５０、外部装置７５０の一例に該当し、画像処理装置３８０は、画像処理装置１８０の一例に該当する。
図９に示す処理例は、共通プリンタドライバ９００によって、画像処理装置３８０の新ユニットの構成情報を取得する処理である。例えば、新ユニットとして、針無しステープラーを例示して説明する。
【００６２】
共通プリンタドライバ９００は、Ｂｉｄｉ拡張ファイル９０２を記憶しており、Ｂｉｄｉ拡張ファイル９０２は、ＸＭＬファイル９０４、Ｊａｖａｓｃｒｉｐｔファイル９０６を有している。なお、Ｂｉｄｉ拡張ファイル９０２では、「針無しステープラー」の定義は無い。
画像処理装置３８０は、構成情報３８２を記憶しており、構成情報３８２には、ＤｅｖｉｃｅＩｎｆｏ３８４、オプション情報３８６がある。構成情報３８２として、例えば、ＭＩＢ値などがある。ＤｅｖｉｃｅＩｎｆｏ３８４として、モデル名、製造元などがある。オプション情報３８６には、画像処理装置３８０に「針無しステープラー」が装着されていることを示す情報が含まれている。
外部装置９２０は、機種依存情報９２２、外部ユーザーインタフェース提供モジュール９２８を有している。外部装置９２０は、画像処理装置３８０の機種毎のサポート状況を管理する。機種依存情報９２２は、ＤｅｖｉｃｅＩｎｆｏ９２４、オプション情報９２６を有している。
ＤｅｖｉｃｅＩｎｆｏ９２４は、画像処理装置３８０のデバイス情報が含まれている。
オプション情報９２６は、例えば、「針無しステープラー」を装備できるか否かを示す情報が含まれている。この例では、対象となっている画像処理装置３８０に対して、「針無しステープラー」を装備できることを示す情報が設定されている。
外部ユーザーインタフェース提供モジュール９２８は、印刷設定画面生成モジュール１６５と同等の処理を行う。
【００６３】
外部装置９２０は、以下に示すような機能を有している。
・機種依存情報を管理する。機種依存情報の例を図１１に示し、後述する。
・デバイス情報（なお、ＤｅｖｉｃｅＩｎｆｏともいう）から機種依存情報を特定する。
・機種ごとのオプション情報を取得するための指示を生成し、共通プリンタドライバ９００に伝達する。
・共通プリンタドライバ９００から受けとったオプション情報を印刷設定画面に反映し、印刷データを生成し、共通プリンタドライバ９００へ送信する。
【００６４】
共通プリンタドライバ９００は、以下に示すような機能を有している。
・外部装置９２０に画像処理装置３８０のＤｅｖｉｃｅＩｎｆｏ、オプション情報、印刷設定情報を伝達する。
・外部装置９２０から画像処理装置３８０のオプション情報取得に必要な指示を受け取る。
【００６５】
そして、画像処理装置３８０は、針無しステープラー機能をサポートし、針無しステープラーのユニットが装着されている。
このような、外部装置９２０、共通プリンタドライバ９００、画像処理装置３８０が設置されている環境がある。
【００６６】
ステップＳ９５２では、共通プリンタドライバ９００は、画像処理装置３８０とＢｉｄｉを用いた通信を行って、画像処理装置３８０からＤｅｖｉｃｅＩｎｆｏを取得する。
【００６７】
ステップＳ９５４では、共通プリンタドライバ９００は、ＤｅｖｉｃｅＩｎｆｏを外部装置９２０に伝達し、外部装置９２０は、対応機種情報を特定する。具体的には、外部装置９２０は、ＤｅｖｉｃｅＩｎｆｏを基に画像処理装置３８０が取りうるオプション情報の格納場所（ＭＩＢ値など）を特定し、問い合わせ先（格納場所）のリストを生成する。
【００６８】
ステップＳ９５６では、外部装置９２０は、共通プリンタドライバ９００に対して、画像処理装置３８０のオプション情報の取得を指示する。具体的には、外部装置９２０は、生成した問い合わせ先リストを共通プリンタドライバ９００に伝達する。なお、従来のプリンタドライバ、Ｖ４プリンタドライバで指示の形式は異なるが、指示内容は同様である。
【００６９】
図１０は、本実施の形態による処理例を示す説明図である。図９の例に示した処理例の続きである。
ステップＳ９５８では、共通プリンタドライバ９００は、画像処理装置３８０からオプション情報を取得する。具体的には、共通プリンタドライバ９００は、外部装置９２０から受け取った問い合わせ先リストの通りに動作して、再度Ｂｉｄｉを用いた通信によって、画像処理装置３８０が保持するオプション情報を取得する。取得情報１０６０として、例えば、ＤｅｖｉｃｅＩｎｆｏ、オプション情報がある。なお、このオプション情報は、共通プリンタドライバ９００では、印刷設定画面に反映することはできないものである。具体的には、共通プリンタドライバ９００は針無しステープラー機能をサポートしていないので、その針無しステープラー機能を設定するための印刷設定画面を生成することはできない。
【００７０】
ステップＳ９６０では、共通プリンタドライバ９００は、オプション情報を外部装置９２０に伝達し、外部装置９２０の外部ユーザーインタフェース提供モジュール９２８は、印刷設定画面にそのオプション情報を反映する。具体的には、共通プリンタドライバ９００は、取得した画像処理装置３８０のオプション情報を外部装置９２０に伝達して、外部装置９２０が、サポートする機能を判断して、印刷設定画面に反映する。また、針無しステープラーを反映する印刷設定画面、針無しステープラー以外の非サポート機能Ｆｅａｔｕｒｅ  Ｎａｍｅ１、Ｆｅａｔｕｒｅ  Ｎａｍｅ２がオプション情報に存在している表示例を図１２、図１３に示す。
【００７１】
図１２は、本実施の形態による印刷設定画面の表示例を示す説明図である。外部ユーザーインタフェース提供モジュール９２８が印刷設定画面１２００を生成する。そして、外部装置９２０が、Ｗｅｂブラウザを介してユーザーに対して印刷設定画面１２００を表示する。印刷設定画面１２００は、共通プリンタドライバ９００はサポートしていないが、画像処理装置３８０が有している針無しステープラーに関しての設定を操作するための画面である。
印刷設定画面１２００には、針無しステープラー設定領域１２１０、ＯＫボタン１２８２、キャンセルボタン１２８４、標準に戻すボタン１２８６を表示する。ユーザーは、針無しステープラー設定領域１２１０で針無しステープラーを使用するか否かを設定することができる。ＯＫボタン１２８２が選択された場合は、針無しステープラー設定領域１２１０での設定にしたがって印刷処理が行われる。キャンセルボタン１２８４が選択された場合は、針無しステープラー設定領域１２１０での設定をキャンセルする。標準に戻すボタン１２８６が選択された場合は、針無しステープラー設定領域１２１０での設定を標準値に戻す処理を行う。
【００７２】
図１３は、本実施の形態による印刷設定画面の表示例を示す説明図である。
印刷設定画面１３００には、針無しステープラー設定領域１３１０、新機能（１）設定領域１３２０、新機能（２）設定領域１３３０、ＯＫボタン１３８２、キャンセルボタン１３８４、標準に戻すボタン１３８６を表示する。印刷設定画面１３００は、図１１の例に示したＤｅｖｉｃｅＩｎｆｏ１１１０Ｂとオプション情報１１２０Ｂの組み合わせを用いて、針無しステープラー、Ｎｅｗ  Ｆｅａｔｕｒｅ  Ｎａｍｅ１、Ｎｅｗ  Ｆｅａｔｕｒｅ  Ｎａｍｅ２に関しての設定を操作するための画面である。
【００７３】
ステップＳ９６２では、外部装置９２０で生成した印刷データを共通プリンタドライバ９００に伝達する。具体的には、外部装置９２０は、印刷設定画面の印刷設定の通りに共通プリンタドライバ９００が認識できる形式の印刷データを生成して、共通プリンタドライバ９００に伝達する。その後、共通プリンタドライバ９００は、その印刷データを画像処理装置３８０に送信して、印刷を行わせる。
これらの処理によって、共通プリンタドライバ９００の新規開発、更新を不要としたうえで、共通プリンタドライバ９００がサポートしていない「針無しステープラー」の構成情報も取得できるようにしている。
【００７４】
図１１は、機種依存情報１１００のデータ構造例を示す説明図である。機種依存情報１１００は、外部装置９２０によって管理されている。
機種依存情報１１００として、ＤｅｖｉｃｅＩｎｆｏ１１１０とオプション情報１１２０の組み合わせによって構成されている。例えば、ＤｅｖｉｃｅＩｎｆｏ１１１０Ｂとオプション情報１１２０Ｂの組み合わせ、ＤｅｖｉｃｅＩｎｆｏ１１１０Ｃとオプション情報１１２０Ｃの組み合わせがある。
ＤｅｖｉｃｅＩｎｆｏ１１１０は、製造元欄１１１２、モデル名欄１１１４を有している。オプション情報１１２０は、ユニット名欄１１２２、格納場所欄１１２４、機能名欄１１２６を有している。
ＤｅｖｉｃｅＩｎｆｏ１１１０Ｂとオプション情報１１２０Ｂの組み合わせは、製造元がＡであり、モデル名がＢである画像処理装置３８０のオプション情報として、針無しステープラーユニット、ＵｎｉｔＮａｍｅ１についての格納場所と機能名があることを示している。ここで、格納場所は、画像処理装置３８０において針無しステープラーユニットについての設定値（例えば、針無しステープラーユニットがあるか否かを示す情報、針無しステープラーが穴を開ける位置等）が格納されている場所を示すものであり、予め定められたメモリーアドレス等が該当する。また、機能名は、印刷設定画面に表示させる場合の名称である。
ＤｅｖｉｃｅＩｎｆｏ１１１０Ｃとオプション情報１１２０Ｃの組み合わせは、製造元がＡであり、モデル名がＣである画像処理装置３８０のオプション情報として、針無しステープラーユニット、ＵｎｉｔＮａｍｅ１、ＵｎｉｔＮａｍｅ２についての格納場所と機能名があることを示している。
【００７５】
図１４は、本実施の形態による処理例を示す説明図である。本実施の形態は、図１４の例に示すような処理を行うようにしてもよい。
図１４に示す処理例は、共通プリンタドライバ１４００によって、画像処理装置３８０の新ユニットの構成情報を取得する処理である。例えば、新ユニットとして、針無しステープラーを例示して説明する。
【００７６】
共通プリンタドライバ１４００は、Ｂｉｄｉ拡張ファイル１４０２、未定義オプション情報保存領域１４０８を有している。図９の例に示した共通プリンタドライバ９００に未定義オプション情報保存領域１４０８を付加したものであり、Ｂｉｄｉ拡張ファイル１４０２はＢｉｄｉ拡張ファイル９０２と同等である。
Ｂｉｄｉ拡張ファイル１４０２は、ＸＭＬファイル１４０４、Ｊａｖａｓｃｒｉｐｔファイル１４０６を有している。
未定義オプション情報保存領域１４０８は、例えば、ＭＩＢ値などを保存する。未定義オプション情報保存領域１４０８は、プリンタドライバが変換、認識できない「針無しステープラー」を不明な値のまま格納する。
【００７７】
画像処理装置３８０は、構成情報３８２を記憶しており、構成情報３８２には、ＤｅｖｉｃｅＩｎｆｏ３８４、オプション情報３８６がある。
【００７８】
外部装置１４２０は、以下に示すような機能を有している。
・機種依存情報を管理する。
・機種依存情報を基に共通プリンタドライバ１４００で未定義であるオプション情報を解読する。
・解読した未定義オプション情報を印刷設定画面に反映し、印刷データを生成し、共通プリンタドライバ１４００へ送信する。
【００７９】
共通プリンタドライバ１４００は、以下に示すような機能を有している。
・共通プリンタドライバ１４００で変換、認識ができない未定義オプション情報を保存する領域がある。
・外部装置１４２０に画像処理装置３８０のＤｅｖｉｃｅＩｎｆｏ、オプション情報、印刷設定情報、共通プリンタドライバ１４００が変換、認識できていない未定義オプション情報を伝達する。
【００８０】
そして、画像処理装置３８０は、針無しステープラー機能をサポートし、針無しステープラーのユニットが装着されている。
このような、外部装置１４２０、共通プリンタドライバ１４００、画像処理装置３８０が設置されている環境がある。
【００８１】
外部装置１４２０は、機種依存情報１４２２、外部ユーザーインタフェース提供モジュール１４２８、未定義オプション情報解読モジュール１４３０を有している。図９の例に示した外部装置９２０に未定義オプション情報解読モジュール１４３０を付加したものであり、機種依存情報１４２２は機種依存情報９２２と同等であり、外部ユーザーインタフェース提供モジュール１４２８は外部ユーザーインタフェース提供モジュール９２８と同等である。
機種依存情報１４２２は、ＤｅｖｉｃｅＩｎｆｏ１４２４、オプション情報１４２６を有している。
未定義オプション情報解読モジュール１４３０は、機種依存情報と未定義オプション情報を対応付ける。
【００８２】
ステップＳ１４５２では、共通プリンタドライバ１４００は、画像処理装置３８０とＢｉｄｉを用いた通信を行って、ＤｅｖｉｃｅＩｎｆｏ、オプション情報、未定義オプション情報を取得する。なお、共通プリンタドライバ１４００で変換、認識できない未定義オプション情報の値は、そのまま未定義オプション情報保存領域１４０８に格納する。また、画像処理装置３８０における未定義オプション情報の格納場所（ＭＩＢ値など）は、固定である。新機種の画像処理装置３８０を開発する際に、共通プリンタドライバ１４００がサポートしている機能との差分となる機能を示すオプション情報（つまり、共通プリンタドライバ１４００がサポートしていないオプション情報）は、その格納場所に格納するようにしている。
【００８３】
ステップＳ１４５４では、共通プリンタドライバ１４００は、ＤｅｖｉｃｅＩｎｆｏ、オプション情報、未定義オプション情報を外部装置１４２０に伝達する。
ステップＳ１４５６では、外部装置１４２０は、機種依存情報１４２２と連携し、未定義オプション情報を解読し、外部ユーザーインタフェース提供モジュール１４２８が、未定義オプション情報が設定できる印刷設定画面に反映させる。
ステップＳ１４５８では、外部装置１４２０は、印刷データを生成し、共通プリンタドライバ１４００に伝達する。具体的には、外部装置１４２０は、印刷設定画面の印刷設定の通りに共通プリンタドライバ１４００が認識できる形式の印刷データを生成して、共通プリンタドライバ１４００に伝達する。その後、共通プリンタドライバ１４００は、その印刷データを画像処理装置３８０に送信して、印刷を行わせる。
【００８４】
図１５を参照して、本実施の形態の情報処理装置１００、外部装置１５０、画像処理装置１８０のハードウェア構成例について説明する。図１５に示す構成は、例えばパーソナルコンピュータ等によって構成されるものであり、スキャナ等のデータ読み取り部１５１７と、プリンタ等のデータ出力部１５１８を備えたハードウェア構成例を示している。
【００８５】
ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔの略）１５０１は、前述の実施の形態において説明した各種のモジュール、すなわち、通信モジュール１０５、画像処理装置通信モジュール１１０、取得モジュール１１５、ユーザーインタフェースモジュール１２０、表示モジュール１２２、受付モジュール１２４、制御モジュール１３０、通信モジュール１５５、印刷設定画面生成モジュール１６５、印刷情報生成モジュール１７０、共通プリンタドライバ４００、ユーザーインタフェース提供モジュール６１１、Ｒｅｎｄｅｒｉｎｇモジュール６１２、Ｂｉｄｉ拡張ＡＰＩ６２０、ポートモニタ６３０、外部アクセス制御モジュール７１３ｂ、Ｂｉｄｉ指示生成モジュール７５１、外部ユーザーインタフェース提供モジュール７５２、外部ユーザーインタフェース提供モジュール９２８、共通プリンタドライバ９００、共通プリンタドライバ１４００、外部ユーザーインタフェース提供モジュール１４２８、未定義オプション情報解読モジュール１４３０等の各モジュールの実行シーケンスを記述したコンピュータ・プログラムにしたがった処理を実行する制御部である。
【００８６】
ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙの略）１５０２は、ＣＰＵ１５０１が使用するプログラムや演算パラメータ等を格納する。ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙの略）１５０３は、ＣＰＵ１５０１の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を格納する。これらはＣＰＵバス等から構成されるホストバス１５０４により相互に接続されている。
【００８７】
ホストバス１５０４は、ブリッジ１５０５を介して、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ／Ｉｎｔｅｒｆａｃｅの略）バス等の外部バス１５０６に接続されている。
【００８８】
キーボード１５０８、マウス等のポインティングデバイス１５０９は、操作者により操作されるデバイスである。ディスプレイ１５１０は、液晶表示装置又はＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅの略）等があり、各種情報をテキストやイメージ情報として表示する。また、ポインティングデバイス１５０９とディスプレイ１５１０の両方の機能を備えているタッチスクリーン等であってもよい。その場合、キーボードの機能の実現について、キーボード１５０８のように物理的に接続しなくても、画面（例えば、タッチスクリーン）上にソフトウェアでキーボード（いわゆるソフトウェアキーボード、スクリーンキーボード等ともいわれる）を描画して、キーボードの機能を実現するようにしてもよい。
【００８９】
ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅの略）１５１１は、ハードディスク（ハードディスク以外に、フラッシュ・メモリ等であってもよい）を内蔵し、ハードディスクを駆動し、ＣＰＵ１５０１によって実行するプログラムや情報を記録又は再生させる。ＨＤＤ１５１１は、記憶モジュール１６０、設定項目／禁則記憶モジュール６１３ａ、Ｂｉｄｉ拡張ファイル記憶モジュール６１４ａ、デバイス情報記憶モジュール６４２、オプション情報記憶モジュール６４４、デバイス情報記憶モジュール７５３ａ、オプション情報記憶モジュール７５３ｂ等としての機能を実現させる。例えば、構成情報３８２、ＤｅｖｉｃｅＩｎｆｏ３８４、オプション情報３８６、Ｂｉｄｉ拡張ファイル９０２、ＸＭＬファイル９０４、Ｊａｖａｓｃｒｉｐｔファイル９０６、機種依存情報９２２、ＤｅｖｉｃｅＩｎｆｏ９２４、オプション情報９２６、取得情報１０６０、機種依存情報１１００、Ｂｉｄｉ拡張ファイル１４０２、未定義オプション情報保存領域１４０８、機種依存情報１４２２等が記憶される。さらに、その他の各種データ、各種コンピュータ・プログラム等が記憶される。
【００９０】
ドライブ１５１２は、装着されている磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体１５１３に記録されているデータ又はプログラムを読み出して、そのデータ又はプログラムを、インタフェース１５０７、外部バス１５０６、ブリッジ１５０５、及びホストバス１５０４を介して接続されているＲＡＭ１５０３に供給する。なお、リムーバブル記録媒体１５１３も、データ記録領域として利用可能である。
【００９１】
接続ポート１５１４は、外部接続機器１５１５を接続するポートであり、ＵＳＢ、ＩＥＥＥ１３９４等の接続部を持つ。接続ポート１５１４は、インタフェース１５０７、及び外部バス１５０６、ブリッジ１５０５、ホストバス１５０４等を介してＣＰＵ１５０１等に接続されている。通信部１５１６は、通信回線に接続され、外部とのデータ通信処理を実行する。データ読み取り部１５１７は、例えばスキャナであり、ドキュメントの読み取り処理を実行する。データ出力部１５１８は、例えばプリンタであり、ドキュメントデータの出力処理を実行する。
【００９２】
前述の実施の形態のうち、コンピュータ・プログラムによるものについては、本ハードウェア構成のシステムにソフトウェアであるコンピュータ・プログラムを読み込ませ、ソフトウェアとハードウェア資源とが協働して、前述の実施の形態が実現される。
なお、図１５に示す情報処理装置１００等のハードウェア構成は、１つの構成例を示すものであり、本実施の形態は、図１５に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア（例えば特定用途向け集積回路（具体例として、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔの略）等がある）や再構成可能な集積回路（具体例として、ＦＰＧＡ（ｆｉｅｌｄ−ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙの略）等がある）で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続している形態でもよく、さらに図１５に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、特に、パーソナルコンピュータの他、携帯情報通信機器、情報家電、ロボット、複写機、ファックス、スキャナ、プリンタ、複合機などに組み込まれていてもよい。
【００９３】
なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通等のために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク（ＤＶＤ）であって、ＤＶＤフォーラムで策定された規格である「ＤＶＤ−Ｒ、ＤＶＤ−ＲＷ、ＤＶＤ−ＲＡＭ等」、ＤＶＤ＋ＲＷで策定された規格である「ＤＶＤ＋Ｒ、ＤＶＤ＋ＲＷ等」、コンパクトディスク（ＣＤ）であって、読出し専用メモリ（ＣＤ−ＲＯＭ）、ＣＤレコーダブル（ＣＤ−Ｒ）、ＣＤリライタブル（ＣＤ−ＲＷ）等、ブルーレイ・ディスク（Ｂｌｕ−ｒａｙ（登録商標）  Ｄｉｓｃ）、光磁気ディスク（ＭＯ）、フレキシブルディスク（ＦＤ）、磁気テープ、ハードディスク、読出し専用メモリ（ＲＯＭ）、電気的消去及び書き換え可能な読出し専用メモリ（ＥＥＰＲＯＭ（登録商標））、フラッシュ・メモリ、ランダム・アクセス・メモリ（ＲＡＭ）、ＳＤ（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌの略）メモリーカード等が含まれる。
そして、前記のプログラムの全体又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク（ＬＡＮ）、メトロポリタン・エリア・ネットワーク（ＭＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、又は無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分若しくは全部であってもよく、又は別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して記録されていてもよい。また、圧縮や暗号化等、復元可能であればどのような態様で記録されていてもよい。
【符号の説明】
【００９４】
１００…情報処理装置
１０５…通信モジュール
１１０…画像処理装置通信モジュール
１１５…取得モジュール
１２０…ユーザーインタフェースモジュール
１２２…表示モジュール
１２４…受付モジュール
１３０…制御モジュール
１５０…外部装置
１５５…通信モジュール
１６０…記憶モジュール
１６５…印刷設定画面生成モジュール
１７０…印刷情報生成モジュール
１８０…画像処理装置
２５０…ユーザー
２９０…通信回線
３００…専用プリンタドライバ
３０２…Ｂｉｄｉ拡張ファイル
３０４…ＸＭＬファイル
３０６…Ｊａｖａｓｃｒｉｐｔファイル
３６０…取得情報
３８０…画像処理装置
３８２…構成情報
３８４…ＤｅｖｉｃｅＩｎｆｏ
３８６…オプション情報
４００…共通プリンタドライバ
４０２…Ｂｉｄｉ拡張ファイル
４０４…ＸＭＬファイル
４０６…Ｊａｖａｓｃｒｉｐｔファイル
４６０…取得情報
６１０…Ｖ４プリンタドライバ
６１１…ユーザーインタフェース提供モジュール
６１２…Ｒｅｎｄｅｒｉｎｇモジュール
６１３…Ｃｏｎｆｉｇｕｒａｔｉｏｎモジュール
６１３ａ…設定項目／禁則記憶モジュール
６１４…Ｃｏｎｎｅｃｔｉｏｎモジュール
６１４ａ…Ｂｉｄｉ拡張ファイル記憶モジュール
６２０…Ｂｉｄｉ拡張ＡＰＩ
６３０…ポートモニタ
６４０…画像処理装置
６４２…デバイス情報記憶モジュール
６４４…オプション情報記憶モジュール
７１０…Ｖ４プリンタドライバ
７１３…Ｃｏｎｆｉｇｕｒａｔｉｏｎモジュール
７１３ｂ…外部アクセス制御モジュール
７５０…外部装置
７５１…Ｂｉｄｉ指示生成モジュール
７５２…外部ユーザーインタフェース提供モジュール
７５３…機種依存情報管理モジュール
７５３ａ…デバイス情報記憶モジュール
７５３ｂ…オプション情報記憶モジュール
９００…共通プリンタドライバ
９０２…Ｂｉｄｉ拡張ファイル
９０４…ＸＭＬファイル
９０６…Ｊａｖａｓｃｒｉｐｔファイル
９２０…外部装置
９２２…機種依存情報
９２４…ＤｅｖｉｃｅＩｎｆｏ
９２６…オプション情報
９２８…外部ユーザーインタフェース提供モジュール
１４００…共通プリンタドライバ
１４０２…Ｂｉｄｉ拡張ファイル
１４０４…ＸＭＬファイル
１４０６…Ｊａｖａｓｃｒｉｐｔファイル
１４０８…未定義オプション情報保存領域
１４２０…外部装置
１４２２…機種依存情報
１４２４…ＤｅｖｉｃｅＩｎｆｏ
１４２６…オプション情報
１４２８…外部ユーザーインタフェース提供モジュール
１４３０…未定義オプション情報解読モジュール
【図１】
2020154497.tif 000003
【図２】
2020154497.tif 000004
【図３】
2020154497.tif 000005
【図４】
2020154497.tif 000006
【図５】
2020154497.tif 000007
【図６】
2020154497.tif 000008
【図７】
2020154497.tif 000009
【図８Ａ】
2020154497.tif 000010
【図８Ｂ】
2020154497.tif 000011
【図９】
2020154497.tif 000012
【図１０】
2020154497.tif 000013
【図１１】
2020154497.tif 000014
【図１２】
2020154497.tif 000015
【図１３】
2020154497.tif 000016
【図１４】
2020154497.tif 000017
【図１５】
2020154497.tif 000018