(57)【特許請求の範囲】
【請求項１】
ネットワークを介して接続する機器と通信する情報処理装置であって、
前記機器と通信する通信手順を示す第１のプロトコルを少なくとも含む印刷設定情報を記憶する印刷設定情報記憶手段と、
前記印刷設定情報に含まれる前記第１のプロトコルに従った通信を実行して前記機器と通信できるかを確認する通信確認手段と、
前記通信確認手段で前記機器と通信できない場合、前記第１のプロトコルに対応する、通信を実行する第１の通信実行部が存在するか否かを確認する通信実行部確認手段と、
前記通信実行部確認手段で前記第１の通信実行部が存在することを確認しない場合、前記印刷設定情報に含まれる前記第１のプロトコルを、前記第１のプロトコルとは異なる第２のプロトコルに置き換える通信実行部置換手段と、を備える、
情報処理装置。
【請求項２】
前記通信実行部置換手段は、予め記憶された優先度順に従って次の優先度を示す前記第２のプロトコルを決定する、
請求項１に記載の情報処理装置。
【請求項３】
前記第２のプロトコルに従った通信を実行して前記機器と通信できるかを再度確認する通信再確認手段を、さらに備え、
前記通信実行部置換手段は、前記通信再確認手段によって、前記機器と通信できることを確認した場合に前記第２のプロトコルに置き換える、
請求項１に記載の情報処理装置。
【請求項４】
前記通信再確認手段で、前記第２のプロトコルに従った通信を実行し、前記機器と通信できた場合、前記機器の前記ネットワーク上の位置を示すアドレス情報を取得するアドレス情報取得手段と、
前記印刷設定情報に含まれる前記第１のプロトコルを、前記第２のプロトコルに変更し、変更した前記印刷設定情報と、取得した前記アドレス情報とを対応付けた対応情報を前記印刷設定情報記憶手段に記憶させる印刷設定情報更新手段と、をさらに備える、
請求項３に記載の情報処理装置。
【請求項５】
前記通信確認手段で、前記第１のプロトコルに従った通信を実行し、前記機器と通信できた場合、
前記アドレス情報取得手段は、前記機器の前記アドレス情報を取得し、
前記印刷設定情報更新手段は、前記印刷設定情報と、取得した前記アドレス情報とを対応付けた前記対応情報を更新して記憶させる、
請求項４に記載の情報処理装置。
【請求項６】
前記印刷設定情報記憶手段は、さらに前記優先度とプロトコルとが対応付いた優先度対応情報を保持し、
前記通信確認手段で、前記印刷設定情報に含まれる前記第１のプロトコルに従った通信を実行して前記機器と通信できない場合、
前記通信再確認手段は、前記優先度対応情報を参照して、次の優先度の前記第２のプロトコルに従った通信を実行する、
請求項３に記載の情報処理装置。
【請求項７】
前記印刷設定情報は、前記プロトコルで定められた接続先を示す接続先情報をさらに含み、
前記通信再確認手段は、前記対応情報を参照し、前記接続先情報に前記アドレス情報を指定して、次の優先度の前記第２のプロトコルに従った通信を実行する、
請求項４に記載の情報処理装置。
【請求項８】
前記印刷設定情報は、前記プロトコルで定められた接続先を示す接続先情報をさらに含み、
前記接続先情報がインターネットを経由して接続する情報であるか否かを解析する解析手段を、さらに備え、
前記インターネットを経由しないで接続する情報である場合、
前記通信確認手段は、前記機器と通信できるかを確認しない、
請求項１から５の何れか１項に記載の情報処理装置。
【請求項９】
前記通信確認手段は、所定の間隔で、前記印刷設定情報記憶手段に記憶されている前記印刷設定情報ごとに、前記対応情報に含まれる前記アドレス情報を用いて、前記機器と通信できるかを確認し、前記機器と通信できた場合、
前記アドレス情報取得手段は、前記アドレス情報を取得し、
前記印刷設定情報更新手段は、取得した前記アドレス情報を用いて、前記対応情報を更新する、
請求項５に記載の情報処理装置。
【請求項１０】
情報処理装置と、機器とを含み、これらがネットワークを介して接続可能なシステムであって、
前記情報処理装置は、
前記機器と通信する通信手順を示す第１のプロトコルを少なくとも含む印刷設定情報を記憶する印刷設定情報記憶手段と、
前記印刷設定情報に含まれる前記第１のプロトコルに従った通信を実行して前記機器と通信できるかを確認する通信確認手段と、
前記通信確認手段で前記機器と通信できない場合、前記第１のプロトコルに対応する、通信を実行する第１の通信実行部が存在するか否かを確認する通信実行部確認手段と、
前記通信実行部確認手段で前記第１の通信実行部が存在することを確認しない場合、前記印刷設定情報に含まれる前記第１のプロトコルを、前記第１のプロトコルとは異なる第２のプロトコルに置き換える通信実行部置換手段と、
前記第２のプロトコルに従った通信を実行して通信できた前記機器の前記ネットワーク上の位置を示すアドレス情報を取得するアドレス情報取得手段と、
前記印刷設定情報に含まれる前記第１のプロトコルを、前記第２のプロトコルに変更し、変更した前記印刷設定情報と、取得した前記アドレス情報とを対応付けた対応情報を前記印刷設定情報記憶手段に記憶させる印刷設定情報更新手段と、を備え、
前記機器は、
前記情報処理装置と通信する通信手段を備える、
システム。
【請求項１１】
ネットワークを介して接続する機器と通信する情報処理装置の情報処理方法であって、
前記機器と通信する通信手順を示す第１のプロトコルを少なくとも含む印刷設定情報を記憶する印刷設定情報記憶ステップと、
前記印刷設定情報に含まれる前記第１のプロトコルに従った通信を実行して前記機器と通信できるかを確認する通信確認ステップと、
前記通信確認ステップで前記機器と通信できない場合、前記第１のプロトコルに対応する、通信を実行する第１の通信実行部が存在するか否かを確認する通信実行部確認ステップと、
前記通信実行部確認ステップで前記第１の通信実行部が存在することを確認しない場合、前記印刷設定情報に含まれる前記第１のプロトコルを、前記第１のプロトコルとは異なる第２のプロトコルに置き換える通信実行部置換ステップと、
前記第２のプロトコルに従った通信を実行して通信できた前記機器の前記ネットワーク上の位置を示すアドレス情報を取得するアドレス情報取得ステップと、
前記印刷設定情報に含まれる前記第１のプロトコルを、前記第２のプロトコルに変更し、変更した前記印刷設定情報と、取得した前記アドレス情報とを対応付けた対応情報を更新して印刷設定情報記憶手段に記憶させる印刷設定情報更新ステップと、を含む、
情報処理方法。
【請求項１２】
ネットワークを介して接続する機器と通信する情報処理装置に、
前記機器と通信する通信手順を示す第１のプロトコルを少なくとも含む印刷設定情報を記憶する印刷設定情報記憶ステップと、
前記印刷設定情報に含まれる前記第１のプロトコルに従った通信を実行して前記機器と通信できるかを確認する通信確認ステップと、
前記通信確認ステップで前記機器と通信できない場合、前記第１のプロトコルに対応する、通信を実行する第１の通信実行部が存在するか否かを確認する通信実行部確認ステップと、
前記通信実行部確認ステップで前記第１の通信実行部が存在することを確認しない場合、前記印刷設定情報に含まれる前記第１のプロトコルを、前記第１のプロトコルとは異なる第２のプロトコルに置き換える通信実行部置換ステップと、
前記第２のプロトコルに従った通信を実行して通信できた前記機器の前記ネットワーク上の位置を示すアドレス情報を取得するアドレス情報取得ステップと、
前記印刷設定情報に含まれる前記第１のプロトコルを、前記第２のプロトコルに変更し、変更した前記印刷設定情報と、取得した前記アドレス情報とを対応付けた対応情報を更新して印刷設定情報記憶手段に記憶させる印刷設定情報更新ステップと、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は情報処理装置、システム、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
情報処理装置（ＰＣ：Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）と印刷機器を通信ケーブルで接続するだけで、プリンタドライバが自動的に設定されてＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）上にプリントキューを作成し、印刷可能な状態に自動的にセットアップする技術が知られている。
【０００３】
特許文献１には、プリントキューの作成の際に、ユーザが印刷プロトコルを意識することなく、最適な印刷システム環境を自動的に構築する方法が開示されている。特許文献１に記載の方法は、プリントキューを作成する際に印刷プロトコルを識別し、印刷プロトコルに応じた双方向通信設定をプリントキューに対して行うものである。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来の情報処理装置と印刷機器を通信ケーブルで接続するだけで、プリンタドライバが自動的に設定されてＯＳ上にプリントキューを作成し、印刷可能な状態に自動的にセットアップする技術において、ＯＳのバージョンアップなどでＯＳ側の環境が変わった場合、今まで利用していた印刷プロトコルがＯＳ側で利用できなくなるという問題が生じていた。そのため、情報処理装置は、印刷機器との通信手段を失ってしまい、ＯＳ上のプリントキューから印刷や双方向通信が行えなくなるという問題があった。
【０００５】
本発明は、上記に鑑みてなされたものであって、今まで利用していた印刷プロトコルが利用できなくなった場合でもＯＳ上のプリントキューから印刷することができる情報処理装置、システム、情報処理方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するために、本発明は、ネットワークを介して接続する機器と通信する情報処理装置であって、前記機器と通信する通信手順を示す第１のプロトコルを少なくとも含む印刷設定情報を記憶する印刷設定情報記憶手段と、前記印刷設定情報に含まれる前記第１のプロトコルに従った通信を実行して前記機器と通信できるかを確認する通信確認手段と、前記通信確認手段で前記機器と通信できない場合、前記第１のプロトコルに対応する、通信を実行する第１の通信実行部が存在するか否かを確認する通信実行部確認手段と、前記通信実行部確認手段で前記第１の通信実行部が存在することを確認しない場合、前記印刷設定情報に含まれる前記第１のプロトコルを、前記第１のプロトコルとは異なる第２のプロトコルに置き換える通信実行部置換手段と、を備える。
【発明の効果】
【０００７】
本発明によれば、印刷プロトコルが利用できなくなった場合でもＯＳ上のプリントキューから印刷することができる、という効果を奏する。
【図面の簡単な説明】
【０００８】
【図１】図１は、実施形態のシステムの構成の一例を示す図である。
【図２】図２は、実施形態の情報処理装置のハードウェア構成の一例を示す図である。
【図３】図３は、実施形態のＭＦＰのハードウェア構成の一例を示す図である。
【図４】図４は、実施形態の情報処理装置の機能構成の一例を示す図である。
【図５】図５は、通信プロトコルと一意に対応するバックエンドが対応付いた対応情報の一例を示す図である。
【図６】図６は、プロトコルの優先度順の一例を示す図である。
【図７】図７は、生成部の機能構成の一例を示す図である。
【図８】図８は、生成部の処理シーケンスの一例を示す図である。
【図９】図９は、プリンタ監視ツールの機能構成の一例を示す図である。
【図１０】図１０は、プリンタ監視ツールの処理の一例を示すフローチャートである。
【図１１】図１１は、プリンタ監視ツールの処理シーケンスの一例を示す図である。
【図１２】図１２は、印刷システムの処理シーケンスの一例を示す図である。
【発明を実施するための形態】
【０００９】
以下に添付図面を参照して、情報処理装置、システム、情報処理方法及びプログラムの実施形態を詳細に説明する。なお、以下の実施形態により本発明が限定されるものではない。また、各実施形態は、内容を矛盾させない範囲で、適宜組み合わせることができる。
【００１０】
図１は、実施形態のシステム１の構成の一例を示す図である。図１に示すように、システム１は、クライアントＰＣ（情報処理装置）１０と、ＭＦＰ（機器）２０とを備える。クライアントＰＣ（情報処理装置）１０とＭＦＰ（機器）２０はネットワーク３０を介して互いに接続されている。ネットワーク３０は、例えば、企業のオフィスなどで用いられる社内ＬＡＮ等の社内コンピュータネットワークである。以下、クライアントＰＣを「情報処理装置」と表記する。
【００１１】
以下では、本発明に係る機器を、複合機（ＭＦＰ：Ｍｕｌｔｉｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）に適用した場合を例に挙げて説明するが、これに限定されるものではない。なお、複合機とは、印刷機能、複写機能、スキャナ機能、及びファクシミリ機能のうち少なくとも２つの機能を有する装置である。また、機器は、ＭＦＰに限ることはなく、プリンタ、ＬＰ（Ｌａｓｅｒ  Ｐｒｉｎｔｅｒ）、インクジェットプリンタ、ＦＡＸ装置、デジタル複写機、スキャナ装置、プロジェクタなどでもよい。
【００１２】
情報処理装置１０は、ネットワーク３０を介して機器２０と双方向通信を行う。例えば、情報処理装置１０は、ネットワーク３０を介して機器２０にデータ（例えば画像データ）及び設定情報を送信し印刷を実行させる。
【００１３】
機器２０は、ネットワーク機器、電子機器、例えば、ＭＦＰである。本実施形態ではＭＦＰを機器２０の一例として説明する。機器２０は、ネットワーク３０を介して情報処理装置１０と双方向通信を行う。例えば、機器２０は、情報処理装置１０からデータ（画像データ）を受信して記録媒体に印刷出力（画像形成）を行う。
【００１４】
図１では、情報処理装置１０及び機器２０の台数が各１台である場合を例示しているが、これに限らず、情報処理装置１０及び機器２０の台数は任意である。
【００１５】
図２は、情報処理装置のハードウェア構成の一例を示す図である。図２に示すように、情報処理装置１０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０１、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１０２、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１０３、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）１０４、機器Ｉ／Ｆ１０５、ネットワークＩ／Ｆ１０８を有し、これらはシステムバス１０９で互いに接続されている。また、機器Ｉ／Ｆ１０５には、表示部１０６及び操作部１０７が接続されている。
【００１６】
ＣＰＵ１０１は演算手段であり、情報処理装置１０全体の動作を統括的に制御する。ＲＡＭ１０２は、情報の高速な読み書きが可能な揮発性の記憶媒体であり、ＣＰＵ１０１が情報を処理する際の作業領域として用いられる。ＲＯＭ１０３は、読み出し専用の不揮発性の記憶媒体であり、ファームウェア等のプログラムが格納されている。ＨＤＤ１０４は、情報の読み書きが可能な不揮発性の記憶媒体であり、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）や各種の制御プログラム、アプリケーション・プログラム等が格納される。ＨＤＤ１０４は、情報処理装置１０の各種機能を実現するために必要なファイルやデータ等を格納する。
【００１７】
機器Ｉ／Ｆ１０５は、表示部１０６及び操作部１０７の各々をシステムバス１０９に接続するためのインタフェースである。表示部１０６は、各種の情報を表示するための視覚的ユーザインタフェースであり、例えばＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）などで構成される。操作部１０７は、キーボードやマウス等、ユーザが情報処理装置１０に対して各種の情報を入力するためのユーザインタフェースである。ネットワークＩ／Ｆ１０８は、情報処理装置１０をネットワーク３０に接続するためのインタフェースである。
【００１８】
このようなハードウェア構成において、ＲＯＭ１０３に格納されたプログラムや、ＨＤＤ１０４又は図示しない光学ディスク等の記憶媒体からＲＡＭ１０２にロードされたプログラムに従ってＣＰＵ１０１が演算を行うことにより、ソフトウェア制御部が構成される。このようにして構成されたソフトウェア制御部と、ハードウェアとの組み合わせによって、本実施形態の情報処理装置１０の機能を実現する機能ブロックが構成される。
【００１９】
なお、上記の情報処理装置１０用プログラムは、インストール可能な形式又は実行可能な形式のファイルで、記録メディア等のコンピュータで読み取り可能な記録媒体に記録して流通させるようにしてもよい。
【００２０】
図３は、機器（ＭＦＰ）のハードウェア構成の一例を示す図である。図３に示すように、ＭＦＰ２０は、コントローラボード２１０と、操作パネル２２１と、ＦＣＵ（ファクシミリコントロールユニット）２２２と、ＵＳＢ（（登録商標）Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）２２３と、ＩＥＥＥ１３９４Ｉ／Ｆ２２４と、印刷／スキャナエンジン２２５と、周辺機２２６とを備える。
【００２１】
コントローラボード２１０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２１１と、ＳＤＲＡＭ（Ｓｙｎｃｈｒｏｎｏｕｓ  Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２１２と、フラッシュメモリ２１３と、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）２１４と、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）２１５と、管理システム用メモリ２１６と、ＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）２１７と、モデム２１８とを備える。
【００２２】
ＣＰＵ２１１は、ＭＦＰ２０の動作を統括的に制御する。ＣＰＵ２１１は、ＳＤＲＡＭ２１２、フラッシュメモリ２１３及びＨＤＤ２１４に格納されたプログラムを実行することで、ＭＦＰ２０全体の動作を制御する。また、ＣＰＵ２１１は、各種機能を実現する。また、ＣＰＵ２１１は、ＳＤＲＡＭ２１２、フラッシュメモリ２１３及びＨＤＤ２１４のプログラムに基づいてデータ演算を行い、ＭＦＰ２０の各部を制御して、ＭＦＰ２０としての処理を実行する。
【００２３】
ＳＤＲＡＭ２１２は、各種プログラムを記憶するメモリである。また、ＳＤＲＡＭ２１２は、ＣＰＵ２１１がデータ処理時に使用するメモリである。
【００２４】
フラッシュメモリ２１３は、各種プログラムやＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）イメージを記憶するメモリである。また、フラッシュメモリ２１３は、各種不揮発性を必要とするデータ（機種機番、ＩＰアドレスなど）を記憶するメモリである。フラッシュメモリ２１３は、ＭＦＰ２０における各機能を実現するための記憶メモリでもある。
【００２５】
ＨＤＤ２１４は、不揮発性記憶媒体であり、対象のＭＦＰ２０の各種管理情報、更新用ファームウェア、実行用ファームウェアを記憶する。また、ＨＤＤ２１４は、画像データ等を記憶する。
【００２６】
ＡＳＩＣ２１５は、ＣＰＵ２１１の制御対象となる機器の共有化をはかり、アーキテクチャの面からアプリケーションなどの開発の高効率化を支援するものである。また、ＡＳＩＣ２１５は、各種画像処理を行う。
【００２７】
管理システム用メモリ２１６は、ＭＦＰ２０における各処理の各機能を実現するのに必要な各種データを記憶するメモリである。
【００２８】
ＮＩＣ２１７は、ローカルエリアネットワーク（ＬＡＮ：Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、またはネットワークを介して、外部装置（例えば、情報処理装置（クライアントＰＣ）、プリントサーバなど）と接続するインタフェースである。
【００２９】
モデム２１８は、公衆回線網を介して、外部装置のインタフェース装置（モデム）と接続する。
【００３０】
操作パネル２２１は、ＭＦＰ２０に対して操作を行うオペレータのためのインタフェースであり、データ入力、ジョブ実行などを受け付ける。また、操作パネル２２１は、各種操作キー及びファンクションキー等を備えるとともに、ディスプレイ（例えば、液晶ディスプレイ）を備える。操作キーからは、ＭＦＰ２０に各種動作を行わせるのに必要な各種命令等が入力される。ディスプレイには、操作キーから入力された命令内容やＭＦＰ２０からオペレータに通知する各種情報が表示される。
【００３１】
ＦＣＵ２２２は、ＦＡＸ装置またはモデム機能を有する複写装置などの外部装置との通信を公衆回線で制御する。また、ＦＣＵ２２２は、外部のＦＡＸ装置との間でファクシミリ制御信号を交換し、Ｇ３及びＧ４のファクシミリ通信手順を実行する。
【００３２】
ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）２２３は、周辺装置などの対応機器と接続するためのシリアルバスである。ＵＳＢ２２３には、例えば、ＵＳＢ機器が接続され、ＣＰＵ２１１の制御下で、接続されるＵＳＢ機器との間でデータの授受を行う。
【００３３】
ＩＥＥＥ１３９４Ｉ／Ｆ２２４は、外部のスキャナやプロッタ等などの対応機器との接続に使用される。
【００３４】
印刷／スキャナエンジン２２５は、ＡＳＩＣ２１５から受け取った画像データに基づいて用紙に画像を印刷出力し、また、原稿を主走査・副走査して該原稿の画像データを読み取ってＡＳＩＣ２１５に出力する。印刷／スキャナエンジン２２５には、後処理機やＡＤＦ（自動原稿送り装置）等の周辺機２２６が接続される。
【００３５】
なお、上記のＭＦＰ２０用プログラムは、インストール可能な形式又は実行可能な形式のファイルで、記録メディア等のコンピュータで読み取り可能な記録媒体に記録して流通させるようにしてもよい。
【００３６】
図４は、情報処理装置の機能構成の一例を示す図である。図４に示すように、情報処理装置１０は、ＯＳ１２０上に、プリンタ監視ツール１２１と、アプリケーション１３０と、印刷システム（ＣＵＰＳ：Ｃｏｍｍｏｎ  Ｕｎｉｘ（登録商標）  Ｐｒｉｎｔｉｎｇ  Ｓｙｓｔｅｍ）１１０とを有する。印刷システム（ＣＵＰＳ）１１０は、生成部１１１と、プリントキュー記憶部１１２と、スプーラ１１３と、変換情報記憶部１１４と、変換部１１５と、通信実行部１１６とを有している。アプリケーション１３０から印刷する場合、印刷システム（ＣＵＰＳ）１１０を経由してプリンタ（ＭＦＰ）２０に印刷データが出力される。以下、ＭＦＰ２０を「プリンタ２０」と表記する。
【００３７】
生成部１１１は、Ａｕｔｏｓｅｔｕｐ  Ｔｏｏｌの一態様であり、プリントキューを作成するために、プリントキュー記憶部１１２の一態様であるＣｏｎｆｉｇ  Ｆｉｌｅｓを書き換えるためのプログラムである。生成部１１１は、例えば、プリントキューを生成する際に、接続先の機器２０のＩＰアドレスを調べて、プリントキューにＩＰアドレスを対応付けた対応情報をプリントキュー記憶部１１２（Ｃｏｎｆｉｇ  Ｆｉｌｅｓ）に保存する。なお、生成部１１１は、ＵＳＢ、Ｂｌｕｅｔｏｏｔｈ（登録商標）などのように、インターネットプロトコルではない印刷プロトコルの場合には、プリントキューにＩＰアドレスがないことを記述した対応情報をプリントキュー記憶部１１２（Ｃｏｎｆｉｇ  Ｆｉｌｅｓ）に保存する。Ａｕｔｏｓｅｔｕｐ  Ｔｏｏｌは、一般的にプリンタベンダーが開発して提供される。
【００３８】
プリントキュー記憶部１１２は、Ｃｏｎｆｉｇ  Ｆｉｌｅｓの一態様であり、例えば、印刷システム（ＣＵＰＳ）１１０や、使用する印刷プロトコルとプロトコル上の接続先のアドレスを含むプリンタの設定が保存されている。また、プリントキュー記憶部１１２は、ＰｏｓｔＳｃｒｉｐｔ（登録商標）プリンタの機種ごとの情報が記録されているプリンタ記述ファイル（ＰＰＤ（ＰｏｓｔＳｃｒｉｐｔ  Ｐｒｉｎｔｅｒ  Ｄｅｓｃｒｉｐｔｉｏｎ）ファイル）を保持している。プリンタ記述ファイル（ＰＰＤファイル）は、印刷時にＰｏｓｔＳｃｒｉｐｔプリンタのドライバが参照する。なお、プリントキュー記憶部１１２は請求項の「印刷設定情報記憶手段」に対応する。
【００３９】
スプーラ１１３は、ｃｕｐｓｄの一態様であり、印刷を実行した時に、アプリケーション１３０から受け取った印刷データの形式から、プリントキュー記憶部１１２（Ｃｏｎｆｉｇ  Ｆｉｌｅｓ）に記載されたプリンタ２０に出力する印刷データの形式に変換するため、変換情報記憶部１１４（ｍｉｍｅ．ｃｏｎｖｓ）を参照して、処理コストの低いフィルタパイプラインを形成し、印刷データをフィルタパイプラインに流す。なお、フィルタパイプラインを作るとは、印刷データを流すフィルター（例えば変換部１１５のＦｉｌｔｅｒ、Ｄｒｉｖｅｒ、通信実行部１１６のＢａｃｋｅｎｄｓ）を順番に並べることを意味する。フィルター（Ｆｉｌｔｅｒ）には、ドライバー（Ｄｒｉｖｅｒ）とバックエンド（Ｂａｃｋｅｎｄｓ）も含まれる。なお、処理コストの情報として、例えば、処理負荷、画質が劣化しない、処理効率が良いなどの項目に重み付け値が付与されていて、この重み付け値が最小となるような順にフィルターを並べると処理コストの低いフィルタパイプラインを形成することができる。
【００４０】
変換情報記憶部１１４は、ｍｉｍｅ．ｃｏｎｖｓの一態様であり、フィルタパイプラインを形成するための情報として、印刷システム（ＣＵＰＳ）１１０が初めから保持しているものである。印刷システム１１０が有しているＦｉｌｔｅｒごとに、入力データ形式、出力データ形式、処理コストの情報などが保存されている。例えば、Ｍａｃ  ＯＳ  Ｘ（登録商標）の場合では、／ｕｓｒ／ｓｈａｒｅ／ｃｕｐｓ／ｍｉｍｅ／ａｐｐｌｅ．ｃｏｎｖｓと、／ｕｓｒ／ｓｈａｒｅ／ｃｕｐｓ／ｍｉｍｅ／ｍｉｍｅ．ｃｏｎｖｓが相当する。
【００４１】
変換部１１５は、Ｆｉｌｔｅｒ  Ａ〜Ｈと、Ｄｒｉｖｅｒ  ａ〜ｄとを有している。Ｆｉｌｔｅｒは、印刷データの形式を変換するものである。印刷システム（ＣＵＰＳ）１１０は、様々な入力形式と出力形式に対応するため、初めから様々なＦｉｌｔｅｒを有している。例えば、ＰＤＦデータからＰｏｓｔＳｃｒｉｐｔデータへ変換するＦｉｌｔｅｒ、ＰＤＦデータからＲａｓｔｅｒデータへ変換するＦｉｌｔｅｒ、Ｒａｓｔｅｒデータからｔｉｆｆデータに変換するＦｉｌｔｅｒなどである。例えば、Ｍａｃ  ＯＳ  Ｘ（登録商標）の場合、印刷システム（ＣＵＰＳ）１１０が、最初から有しているＦｉｌｔｅｒは、／ｕｓｒ／ｌｉｂｅｘｅｃ／ｃｕｐｓ／ｆｉｌｔｅｒ／に格納されている。
【００４２】
Ｄｒｉｖｅｒは、一般的にプリンタベンダーが提供するもので、Ｆｉｌｔｅｒによるデータ変換が終わった後に、プリンタベンダー独自の印刷データ形式に変換したり、プリンタベンダー独自の印刷コマンドを印刷データに付加したりするためのＦｉｌｔｅｒである。印刷する際に、どのＤｒｉｖｅｒを使うかはプリントキューの中に定義されている。
【００４３】
通信実行部１１６は、複数のＢａｃｋｅｎｄｓから構成されている。図４の例では、通信実行部１１６は、Ｂａｃｋｅｎｄｓ  ＵＳＢ〜Ｂａｃｋｅｎｄｓ  ＳＭＢを含んでいる。通信実行部１１６に含まれる各Ｂａｃｋｅｎｄｓは、プリンタ２０との通信を行う通信モジュールの機能を有している。通信実行部１１６に含まれる各Ｂａｃｋｅｎｄｓは、それぞれが独立した実行ファイルである。また、通信実行部１１６に含まれる各Ｂａｃｋｅｎｄｓは、それぞれが各通信プロトコルに対応付いている。すなわち、１つの通信プロトコルには対応する１つのＢａｃｋｅｎｄｓがある。図５は、通信プロトコルと一意に対応するバックエンド（Ｂａｃｋｅｎｄｓ）が対応付いた対応情報の一例を示す図である。図５に示すように、対応情報は、例えばプロトコル「ｕｓｂ」に、バックエンド「Ｂａｃｋｅｎｄｓ  ＵＳＢ」が対応付いた情報である。従って、プロトコルが設定されれば、通信で使用するバックエンドが一意に選択される。Ｂａｃｋｅｎｄｓは、例えば、Ｍａｃ  ＯＳ  Ｘ（登録商標）の場合、／ｕｓｒ／ｌｉｂｅｘｅｃ／ｃｕｐｓ／ｂａｃｋｅｎｄ／に格納されている。主要なプロトコルのＢａｃｋｅｎｄｓは、印刷システム（ＣＵＰＳ）１１０が、最初から有しているが、ＯＳ１２０のバージョンによって利用できる通信プロトコルが異なる場合がある。すなわち、ＯＳ１２０をバージョンアップしたときに、今まで利用していたＢａｃｋｅｎｄｓが利用できなくなる可能性がある。
【００４４】
プリンタ監視ツール１２１は、定期的にプリントキュー記憶部１１２（Ｃｏｎｆｉｇ  Ｆｉｌｅｓ）に登録されているプリントキューに対して、プリンタ２０への通信が可能か、実際にプリンタ２０への通信を試みて確認する。例えば、Ｍａｃ  ＯＳ  Ｘ（登録商標）の場合、印刷システム（ＣＵＰＳ）１１０のＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）を利用することで、プリンタ２０への通信が可能か、実際にプリンタ２０への通信を試みて確認することができる。また例えば、Ｍａｃ  ＯＳ  Ｘ（登録商標）の場合、定期実行は／Ｌｉｂｒａｒｙ／Ｌａｕｎｃｈ  Ｄａｅｍｏｎｓ／に定期実行の内容を記載した設定ファイルを格納しておき、ｌａｕｎｃｈｃｔｌコマンドに設定ファイルを渡すことで行う。プリンタ監視ツール１２１は、プリンタ２０と通信できない場合、現在のプリントキューに設定されている通信プロトコルに対応したＢａｃｋｅｎｄｓ（Ｂａｃｋｅｎｄｓのモジュール（実行ファイル））が存在するか確認し、存在しない場合、プリントキュー記憶部１１２（Ｃｏｎｆｉｇ  Ｆｉｌｅｓ）に保存されているＩＰアドレスを使い、予め定められた優先度順に従ってＢａｃｋｅｎｄｓ（Ｂａｃｋｅｎｄｓのモジュール（実行ファイル））を切り替えることで、通信プロトコルを切り替える。優先度順は、優先度とプロトコルとが対応付いた優先度対応情報として保持されている。優先度対応情報は、プリントキュー記憶部１１２（Ｃｏｎｆｉｇ  Ｆｉｌｅｓ）に保持してもよいし、プリンタ監視ツール１２１に保持してもよいし、プリンタ監視ツール１２１が読み込み可能な外部のファイルに保持してもよい。
【００４５】
図６は、プロトコルの優先度順の一例を示す図である。図６に示すように、優先度順は、例えば、優先度が高い方から「ｓｏｃｋｅｔ」、「ｌｐｄ」、「ｉｐｐ」である。これらのプロトコルは、プリントキュー内でプリンタ２０の接続先を示すＤｅｖｉｃｅＵＲＩ（デバイスＵＲＩ）の値にＩＰアドレスを指定することが可能である。優先度順１番の「ｓｏｃｋｅｔ」だけが双方向通信可能なプロトコルである。優先度順２番の「ｌｐｄ」は幅広いプリンタ２０で対応しているプロトコルである。例えば、Ｍａｃ  ＯＳ  Ｘ（登録商標）の場合、ＤｅｖｉｃｅＵＲＩの値は、／ｅｔｃ／ｃｕｐｓ／ｐｒｉｎｔｅｒｓ．ｃｏｎｆに定義されている。なお、ＤｅｖｉｃｅＵＲＩ（デバイスＵＲＩ）は請求項の「接続先情報」に対応する。
【００４６】
本実施形態において、プリンタ監視ツール１２１は、通信プロトコルについては、接続先のＭＦＰ２０のアドレス情報がドメイン名で示される場合があり、ＩＰアドレスが変わる可能性があるため、接続先（印刷先）のＭＦＰ２０のＩＰアドレスを調べてプリントキュー記憶部１１２（Ｃｏｎｆｉｇ  Ｆｉｌｅｓ）の情報を更新する。すなわち、定期的に機器２０への通信が可能であるかを確認し、通信ができた機器２０のネットワーク上の位置を示すアドレス情報（ＩＰアドレス）を取得して、プリントキューと、取得したアドレス情報（ＩＰアドレス）とを対応付けた対応情報を更新してプリントキュー記憶部１１２に記憶する。これにより、ＯＳ１２０のバージョンアップなどによって今まで利用していた印刷プロトコルが利用できなくなっても、保存していたＩＰアドレスの情報を使って印刷プロトコルを自動で切り替えることができるので、ユーザは今まで通りに印刷することができる。
【００４７】
アプリケーション１３０は、情報処理装置１０において、各種の機能に対応したソフトウェア・プログラムである。
【００４８】
図７は、生成部の機能構成の一例を示す図である。図７に示すように、生成部１１１は、プリントキュー生成部１３１と、ＩＰアドレス確認部１３２とを有している。
【００４９】
プリントキュー生成部１３１は、プリントキューごとに、プリントキューに接続先のＭＦＰ２０のＩＰアドレスを対応付けた対応情報を生成してプリントキュー記憶部１１２（Ｃｏｎｆｉｇ  Ｆｉｌｅｓ）に記憶させる。
【００５０】
ＩＰアドレス確認部１３２は、プリントキュー記憶部１１２（Ｃｏｎｆｉｇ  Ｆｉｌｅｓ）からプリントキューに紐付いたＤｅｖｉｃｅＵＲＩの値を取得して、ＤｅｖｉｃｅＵＲＩの接続先のＩＰアドレスを調べて、ＩＰアドレスをプリントキュー生成部１３１に通知する。
【００５１】
図８は、生成部の処理シーケンスの一例を示す図である。印刷システム（ＣＵＰＳ）１１０は、プリントキューを生成（追加）する場合（ステップＳ１）、スプーラ１１３（ｃｕｐｓｄ）が、プリントキューの情報を引数として、生成部１１１（Ａｕｔｏｓｅｔｕｐ  Ｔｏｏｌ）のＩＰアドレス確認部１３２を呼び出す。次に、ＩＰアドレス確認部１３２は、プリントキュー記憶部１１２（Ｃｏｎｆｉｇ  Ｆｉｌｅｓ）に対して、プリントキューに紐付いたデバイスＵＲＩ（ＤｅｖｉｃｅＵＲＩ）の問い合わせを行い（ステップＳ２）、プリントキュー記憶部１１２（Ｃｏｎｆｉｇ  Ｆｉｌｅｓ）はデバイスＵＲＩ（ＤｅｖｉｃｅＵＲＩ）を応答し（ステップＳ３）、ＩＰアドレス確認部１３２は、デバイスＵＲＩ（ＤｅｖｉｃｅＵＲＩ）を取得する。次に、ＩＰアドレス確認部１３２は、デバイスＵＲＩ（ＤｅｖｉｃｅＵＲＩ）の接続先を調べ、ＩＰアドレスを取得する（ステップＳ４）。次に、ＩＰアドレス確認部１３２は、プリントキューとＩＰアドレスをプリントキュー生成部１３１へ通知する（ステップＳ５）。次に、プリントキュー生成部１３１は、プリントキューを生成し（ステップＳ６）、そしてプリントキューにＩＰアドレスを対応付けた対応情報を生成し、プリントキュー記憶部１１２（Ｃｏｎｆｉｇ  Ｆｉｌｅｓ）に、プリントキューと、ＩＰアドレスを紐付けて記憶させる（ステップＳ７）。すなわち、プリントキュー生成部１３１は、生成したプリントキューにＩＰアドレスを対応付けた対応情報をプリントキュー記憶部１１２（Ｃｏｎｆｉｇ  Ｆｉｌｅｓ）に記憶させる。次に、プリントキュー記憶部１１２は、プリントキュー生成部１３１に応答を返し（ステップＳ８）、プリントキュー生成部１３１は、ＩＰアドレス確認部１３２に応答を返し（ステップＳ９）、ＩＰアドレス確認部１３２は、スプーラ（ｃｕｐｓｄ）１１３に応答を返す（ステップＳ１０）。
【００５２】
上記の処理を実行することで、プリントキュー作成時にＭＦＰ２０のＩＰアドレスを対応付けて保存しておくことができる。このため、今まで利用していた印刷プロトコルが利用できなくなった場合、プリントキューに紐付いたＩＰアドレスを用いて、ＭＦＰ２０と通信可能な別の印刷プロトコルを調べて、通信可能な別の印刷プロトコルに切り換えることでＯＳ１２０上のプリントキューから印刷や双方向通信を行うことができる。
【００５３】
図９は、プリンタ監視ツールの機能構成の一例を示す図である。プリンタ監視ツール１２１は、プリントキューリスト１２２と、デバイスＵＲＩ解析部１２３と、プリンタ接続確認部１２４と、バックエンド確認部１２５と、バックエンド置換部１２６と、ＩＰアドレス確認部１２７と、プリントキュー更新部１２８とを有している。
【００５４】
プリントキューリスト１２２は、プリントキュー記憶部１１２（Ｃｏｎｆｉｇ  Ｆｉｌｅｓ）から、プリントキュー記憶部１１２（Ｃｏｎｆｉｇ  Ｆｉｌｅｓ）に登録されているプリントキューのリストを取得する。プリントキューリスト１２２は、プリントキューのリストをデバイスＵＲＩ解析部１２３へ受け渡す。この際、プリントキューを１つずつ受け渡すようにしてもよい。また、プリントキューリスト１２２は、プリントキューごとに、デバイスＵＲＩ解析部１２３へプリントキューを引数としてデバイスＵＲＩ（ＤｅｖｉｃｅＵＲＩ）の解析を依頼するようにすることもできる。
【００５５】
デバイスＵＲＩ解析部１２３は、プリントキューのリストを用いて、プリントキュー記憶部１１２（Ｃｏｎｆｉｇ  Ｆｉｌｅｓ）に登録されているプリントキューに対して、プリントキューに対応するＤｅｖｉｃｅＵＲＩ（デバイスＵＲＩ）の値をプリントキュー記憶部１１２（Ｃｏｎｆｉｇ  Ｆｉｌｅｓ）から取得する。そしてデバイスＵＲＩ解析部１２３は、ＤｅｖｉｃｅＵＲＩ（デバイスＵＲＩ）の文字列を解析し、プリンタ２０がＩＰ経由で接続されているかどうかを判断する。なお、デバイスＵＲＩ解析部は請求項の「解析手段」に対応する。
【００５６】
プリンタ接続確認部１２４は、プリンタ２０への通信が可能か、実際にプリンタ２０への通信を試みて確認する。すなわち、プリンタ接続確認部１２４は、プリントキューに含まれるプロトコルを示す第１のプロトコルに従った通信を実行してプリンタ２０と通信できるかを確認する。そして、プリンタ接続確認部１２４は、プリンタ２０と通信できなかった場合、予め記憶（設定）された優先度順に従って次の優先度のプロトコルを示す第２のプロトコルに従った通信を実行してプリンタ２０と通信できるかを再度確認する。プリンタ接続確認部１２４は、プリンタ２０と通信できるまで、または優先度順に全てのプロトコルで確認をするまで、確認を繰り返して行う。なお、プリンタ接続確認部は請求項の「通信確認手段」、「通信再確認手段」に対応する。
【００５７】
バックエンド確認部１２５は、プリンタ接続確認部１２４でプリンタ２０と通信できなかった場合、現在のプリントキューに設定されている通信プロトコルに対応した第１の通信実行部１１６（Ｂａｃｋｅｎｄｓのモジュール（実行ファイル））が存在するか確認する。なお、バックエンド確認部は請求項の「通信実行部確認手段」に対応する。
【００５８】
バックエンド置換部１２６は、プリントキュー記憶部１１２（Ｃｏｎｆｉｇ  Ｆｉｌｅｓ）に保存されている、プリントキューに含まれるプロトコルに対応する第１の通信実行部１１６（Ｂａｃｋｅｎｄｓのモジュール（実行ファイル））が存在することを確認しない場合、印刷設定情報に含まれる第１のプロトコルを、第１のプロトコルとは異なる第２のプロトコルに置き換える。すなわち、プリントキューに含まれるプロトコルに対応する第１の通信実行部１１６（Ｂａｃｋｅｎｄｓのモジュール（実行ファイル））が存在することを確認しない場合であって、プリンタ接続確認部１２４で、プリントキュー記憶部１１２（Ｃｏｎｆｉｇ  Ｆｉｌｅｓ）に保持されているＩＰアドレスを用いて、予め記憶（設定）された優先度順（図６参照）に従って次の優先度のプロトコルを示す第２のプロトコルを決定し、決定した第２のプロトコルに従った通信を実行してプリンタ２０と通信できるかを再度確認し、通信できた場合には、プリントキューに含まれる第１の通信実行部１１６（Ｂａｃｋｅｎｄｓのモジュール（実行ファイル））を、第２のプロトコルに対応する、通信を実行する第２の通信実行部１１６（Ｂａｃｋｅｎｄｓのモジュール（実行ファイル））に置き換える。予め記憶（設定）された優先度順に従ってプロトコルを切り換えることで、通信できた段階で通信実行部１１６（Ｂａｃｋｅｎｄｓのモジュール（実行ファイル））の置き換えを行う。なお、第２のプロトコルに従った通信を実行する際には、プリンタ２０の接続先を示すＤｅｖｉｃｅＵＲＩ（デバイスＵＲＩ）の値に、プリントキューに紐付けて保持されているＩＰアドレスを指定することで機器２０と通信することができる。なお、バックエンド置換部は請求項の「通信実行部置換手段」に対応する。
【００５９】
ＩＰアドレス確認部１２７は、プリンタ接続確認部１２４でプリントキューに含まれるプロトコルに従った通信を実行し、プリンタ２０と通信できた場合、プリンタ２０のネットワーク上の位置を示すアドレス情報（ＩＰアドレス）を取得する。例えば、通信できた場合の接続先のアドレス情報やＤＮＳサーバからのアドレス情報などから取得することができる。また例えば、ＤｅｖｉｃｅＵＲＩの情報からプリンタ２０のＩＰアドレスを取得することもできる。なお、ＩＰアドレス確認部は請求項の「アドレス情報取得手段」に対応する。
【００６０】
プリントキュー更新部１２８は、プリントキューと、取得したアドレス情報（ＩＰアドレス）とを対応付けた対応情報を更新してプリントキュー記憶部１１２（Ｃｏｎｆｉｇ  Ｆｉｌｅｓ）に記憶させる。なお、プリントキュー更新部は請求項の「印刷設定情報更新手段」に対応する。
【００６１】
図１０は、プリンタ監視ツールの処理の一例を示すフローチャートである。プリンタ監視ツール１２１は、使用する印刷プロトコルがＩＰ（インターネットプロトコル）か否かを判断する（ステップＳ１１）。すなわち、デバイスＵＲＩ解析部１２３は、プリントキュー記憶部１１２（Ｃｏｎｆｉｇ  Ｆｉｌｅｓ）に登録されているプリントキューのリストを取得し、取得したプリントキューのリストを用いて、プリントキューごとに、プリントキューに対応するＤｅｖｉｃｅＵＲＩ（デバイスＵＲＩ）の文字列を解析して、プリンタ２０がＩＰ経由で接続されているかどうかを判断する。例えば、Ｍａｃ  ＯＳ  Ｘ（登録商標）の場合、プリントキュー記憶部１１２（Ｃｏｎｆｉｇ  Ｆｉｌｅｓ）に保存されているＤｅｖｉｃｅＵＲＩが、ｄｎｓｓｄ，ｈｔｔｐ，ｈｔｔｐｓ，ｉｐｐ，ｉｐｐｓ，ｉｐｐｕｓｂ，ｌｐｄ，ｍｄｎｓ，ｓｍｂ，ｓｏｃｋｅｔであれば、ＩＰであると判断できる。また、ｂｌｕｅｔｏｏｔｈ，ｕｓｂであればＩＰでないと判断できる。
【００６２】
ＩＰでない場合（ステップＳ１１：Ｎｏ）、処理を終了する。ＩＰである場合（ステップＳ１１：Ｙｅｓ）、プリンタ接続確認部１２４は、現在の印刷プロトコルでプリンタ２０と通信可能かどうか確認する（ステップＳ１２）。すなわち、実際にプリンタ２０への通信を試みて確認する。なお、プリンタ２０と通信可能かどうかを確認するために、印刷システム（ＣＵＰＳ）１１０のＡＰＩを使うこともできる。通信可能な場合（ステップＳ１２：Ｙｅｓ）、ステップＳ１７に移行する。通信可能でない場合（ステップＳ１２：Ｎｏ）、バックエンド確認部１２５は、現在のプリントキューに設定されている通信プロトコルに対応したＢａｃｋｅｎｄｓのモジュール（実行ファイル）がファイルシステム上にあるか（存在するか）確認する（ステップＳ１３）。例えば、Ｍａｃ  ＯＳ  Ｘ（登録商標）の場合、／ｕｓｒ／ｌｉｂｅｘｅｃ／ｃｕｐｓ／ｂａｃｋｅｎｄ／に、Ｂａｃｋｅｎｄのモジュールが格納されている。Ｂａｃｋｅｎｄｓのモジュールが、例えば、「ｉｐｐ」であれば「ｉｐｐ」というファイル名のものが対応するモジュールである。
【００６３】
Ｂａｃｋｅｎｄｓのモジュール（実行ファイル）がある場合（ステップＳ１３：Ｙｅｓ）、処理を終了する。この場合、印刷システム（ＣＵＰＳ）１１０のＢａｃｋｅｎｄｓのモジュール（実行ファイル）は正常であるが、プリンタ２０の電源が入っていないなどで通信できなかったことが考えられる。Ｂａｃｋｅｎｄｓのモジュール（実行ファイル）がない場合（ステップＳ１３：Ｎｏ）、プリンタ接続確認部１２４は、予め記憶された優先度順（図６参照）に従って次の優先度のＢａｃｋｅｎｄｓのモジュール（実行ファイル）があるかを確認する（ステップＳ１４）。すなわち、図５の対応情報で示したように、プロトコルに対応付けられたバックエンド（Ｂａｃｋｅｎｄｓのモジュール（実行ファイル））が一意に存在する。従って、実際には図６に示した優先度順に従って次の優先度のプロトコルがあるかを確認することになる。
【００６４】
次の優先度のＢａｃｋｅｎｄｓのモジュール（実行ファイル）がない場合（ステップＳ１４：Ｎｏ）、処理を終了する。次の優先度のＢａｃｋｅｎｄｓのモジュール（実行ファイル）がある場合（ステップＳ１４：Ｙｅｓ）、プリンタ接続確認部１２４は、プリントキュー記憶部１１２から取得したＩＰアドレスに対して、次の優先度のＢａｃｋｅｎｄｓのモジュール（実行ファイル）は通信可能かどうか確認する（ステップＳ１５）。すなわち、上述したように、実際にはプリントキュー記憶部１１２が保持する対応情報から取得したＩＰアドレスに対して、次の優先度のプロトコルでプリンタ２０と通信可能かどうか確認する。つまり、実際にプリンタ２０への通信を試みて確認する。なお、プリンタ２０と通信可能かどうかを確認するために、印刷システム（ＣＵＰＳ）１１０のＡＰＩを使うこともできる。
【００６５】
通信可能でない場合（ステップＳ１５：Ｎｏ）、ステップＳ１４に戻り、処理を継続する。通信可能である場合（ステップＳ１５：Ｙｅｓ）、バックエンド置換部１２６は、プリントキューに含まれる第１のＢａｃｋｅｎｄｓ（Ｂａｃｋｅｎｄｓのモジュール（実行ファイル））を、次の優先度の第２のプロトコルに対応する、通信を実行する第２のＢａｃｋｅｎｄｓ（Ｂａｃｋｅｎｄｓのモジュール（実行ファイル））に置き換える（ステップＳ１６）。次に、ＩＰアドレス確認部１２７は、通信できたプリンタ２０のネットワーク上の位置を示すアドレス情報（ＩＰアドレス）を取得する。次に、プリントキュー更新部１２８は、プリントキューのＩＰアドレスを更新する（ステップＳ１７）。すなわち、プリントキュー更新部１２８は、プリントキューと、取得したアドレス情報（ＩＰアドレス）とを対応付けた対応情報を更新してプリントキュー記憶部１１２（Ｃｏｎｆｉｇ  Ｆｉｌｅｓ）に記憶させる。具体的には、プリントキュー記憶部１１２（Ｃｏｎｆｉｇ  Ｆｉｌｅｓ）のＤｅｖｉｃｅＵＲＩ（デバイスＵＲＩ）の値を新しいプロトコルに対応したものに置き換える。例えば、ＩＰアドレスで接続可能なプロトコルのＤｅｖｉｃｅＵＲＩ（デバイスＵＲＩ）の記述は以下のように表される。
【００６６】
「ｓｏｃｋｅｔ：／／１９２．１６８．１１．１０」、「ｉｐｐ：／／１９２．１６８．１１．１０／ｐｒｉｎｔｅｒ」、「ｌｐｄ：／／１９２．１６８．１１．１０／ｐｒｉｎｔｅｒ」
【００６７】
上記のデバイスＵＲＩの記述のうち、「ｓｏｃｋｅｔ」、「ｉｐｐ」、「ｌｐｄ」部分はプロトコルに対応し、「１９２．１６８．１１．１０」部分はＩＰアドレスに対応している。１つのプリントキューには、１つのプロトコルが対応づいており、１つのプロトコルには、１つのバックエンド（Ｂａｃｋｅｎｄｓ）が紐付いている。
【００６８】
上記の「１９２．１６８．１１．１０」の部分がＩＰアドレスになっているので、このＩＰアドレス部分を対応するＩＰアドレスに書き換えればよい。例えば、Ｍａｃ  ＯＳ  Ｘ（登録商標）の場合、標準でサポートしている印刷プロトコルのうち、ＩＰアドレスからＤｅｖｉｃｅＵＲＩを推測できるものは上述した次の３種類「ｓｏｃｋｅｔ」、「ｉｐｐ」、「ｌｐｄ」である。
【００６９】
図１１は、プリンタ監視ツールの処理シーケンスの一例を示す図である。プリントキューリスト１２２は、プリントキュー記憶部１１２（Ｃｏｎｆｉｇ  Ｆｉｌｅｓ）にプリントキューリストの要求を行い（ステップＳ２１）、プリントキュー記憶部１１２（Ｃｏｎｆｉｇ  Ｆｉｌｅｓ）は、プリントキューリストを応答する（ステップＳ２２）。プリントキューリスト１２２は、プリントキュー記憶部１１２（Ｃｏｎｆｉｇ  Ｆｉｌｅｓ）に登録されているプリントキューのリストを取得する（ステップＳ２３）。
【００７０】
次に、デバイスＵＲＩ解析部１２３は、プリントキューリスト１２２からプリントキューを取得し（ステップＳ２４）、プリントキュー記憶部１１２（Ｃｏｎｆｉｇ  Ｆｉｌｅｓ）にデバイスＵＲＩの要求を行い（ステップＳ２５）、プリントキュー記憶部１１２（Ｃｏｎｆｉｇ  Ｆｉｌｅｓ）は、デバイスＵＲＩを応答する（ステップＳ２６）。次に、デバイスＵＲＩ解析部１２３は、デバイスＵＲＩを取得する（ステップＳ２７）。次に、デバイスＵＲＩ解析部１２３は、デバイスＵＲＩの文字列を解析し（ステップＳ２８）、通信プロトコルを判別し、プリンタ２０がＩＰ接続されているかどうかを判断する。
【００７１】
ＩＰ接続であった場合、デバイスＵＲＩ解析部１２３は、プリントキュー、ＤｅｖｉｃｅＵＲＩ、通信プロトコルを引数として、プリンタ接続確認部１２４へプリンタ接続確認要求を行う（ステップＳ２９）。次に、プリンタ接続確認部１２４は、プリンタ２０への通信が可能か、実際にプリンタ２０への通信を試みて確認する（ステップＳ３０）。
【００７２】
接続できない場合（通信できない場合）、プリンタ接続確認部１２４は、プリントキュー、ＤｅｖｉｃｅＵＲＩ、通信プロトコルを引数として、バックエンド確認部１２５へプリントキューに設定されている通信プロトコルに対応した第１のＢａｃｋｅｎｄｓ（Ｂａｃｋｅｎｄｓのモジュール（実行ファイル））が存在するか確認要求する（ステップＳ３１）。次に、バックエンド確認部１２５は、バックエンドの確認を行う（ステップＳ３２）。すなわち、通信プロトコルに対応した第１のＢａｃｋｅｎｄｓ（Ｂａｃｋｅｎｄｓのモジュール（実行ファイル））が存在するか確認する。
【００７３】
第１のＢａｃｋｅｎｄｓ（Ｂａｃｋｅｎｄｓのモジュール（実行ファイル））が存在しない場合、プリンタ接続確認部１２４で、予め記憶（設定）された優先度順に従って次の優先度のプロトコルを示す第２のプロトコルに従った通信を実行してプリンタ２０と通信できた場合には、バックエンド確認部１２５は、プリントキューに含まれる第１のＢａｃｋｅｎｄｓ（Ｂａｃｋｅｎｄｓのモジュール（実行ファイル））を、第２のプロトコルに対応する、通信を実行する第２のＢａｃｋｅｎｄｓ（Ｂａｃｋｅｎｄｓのモジュール（実行ファイル））に置き換える、バックエンド置換依頼をバックエンド置換部１２６に行う（ステップＳ３３）。次に、バックエンド置換部１２６は、プリントキュー更新部１２８にバックエンド置換要求を行う（ステップＳ３４）。次に、プリントキュー更新部１２８は、プリントキューに含まれる第１のプロトコルを第２のプロトコルに変更し、プリントキューを更新する（ステップＳ３５）。次に、プリントキュー記憶部１１２は、プロトコルに紐付いたＢａｃｋｅｎｄｓ（Ｂａｃｋｅｎｄｓのモジュール（実行ファイル））を置き換えたプリントキューを記憶する（ステップＳ３６）。すなわち、プリントキューに含まれるプロトコルを変更した後のプリントキューを更新して記憶する。その後、プリントキュー記憶部１１２は、プリントキュー更新部１２８に応答を返し（ステップＳ３７）、プリントキュー更新部１２８はバックエンド置換部１２６に応答を返し（ステップＳ３８）、バックエンド置換部１２６はバックエンド確認部１２５に応答を返し（ステップＳ３９）、バックエンド確認部１２５はプリンタ接続確認部１２４に応答を返す（ステップＳ４０）。
【００７４】
接続できた場合（通信できた場合）、プリンタ接続確認部１２４は、プリントキュー、ＤｅｖｉｃｅＵＲＩを引数として、ＩＰアドレス確認部１２７へＩＰアドレス確認要求を行う（ステップＳ４１）。ＩＰアドレス確認部１３２は、例えば、ＤｅｖｉｃｅＵＲＩの情報からプリンタ２０のＩＰアドレスを取得する（ステップＳ４２）。次に、ＩＰアドレス確認部１２７は、プリントキュー、ＩＰアドレスを引数として、プリントキュー更新部１２８にＩＰアドレス更新要求を行う（ステップＳ４３）。次に、プリントキュー更新部１２８は、ＩＰアドレス更新を行う（ステップＳ４４）。すなわち、プリントキュー更新部１２８は、プリントキューと、取得したアドレス情報（ＩＰアドレス）とを対応付けた対応情報を更新する。次に、プリントキュー記憶部１１２は、プリントキューに紐付いたＩＰアドレスを更新して記憶する（ステップＳ４５）。すなわち、プリントキュー記憶部１１２は、対応情報の中のＩＰアドレスを更新して記憶する。その後、プリントキュー記憶部１１２は、プリントキュー更新部１２８に応答を返し（ステップＳ４６）、プリントキュー更新部１２８はＩＰアドレス確認部１２７に応答を返し（ステップＳ４７）、ＩＰアドレス確認部１２７はプリンタ接続確認部１２４に応答を返す（ステップＳ４８）。
【００７５】
上記のステップＳ２４〜ステップＳ４８の処理をプリントキューのリストに記載されている全てのプリントキューに対して繰り返して実行する。また、プリンタ監視ツール１２１は、上記で説明した処理シーケンス（ステップＳ２１〜ステップＳ４８の処理）を、所定の間隔で繰り返して実行する。なお、所定の間隔は任意である。
【００７６】
以上説明したように、実施形態の情報処理装置１０は、プリントキューに紐付けて機器２０のＩＰアドレスを保持しておき、定期的に機器２０への通信が可能であるかを確認する。そして機器２０への通信ができない場合には、プリントキューに設定されている印刷プロトコルに対応したＢａｃｋｅｎｄｓ（Ｂａｃｋｅｎｄｓのモジュール（実行ファイル））と呼ばれる通信を制御するモジュールが存在するかを確認する。そして印刷プロトコルに対応したＢａｃｋｅｎｄｓ（Ｂａｃｋｅｎｄｓのモジュール（実行ファイル））が存在しない場合には、保持しているＩＰアドレスを用いて、予め設定された優先度順の次の優先度の印刷プロトコルに従って機器２０への通信が可能であるかを確認する。そして機器２０への通信ができた場合には、プリントキューに設定されている印刷プロトコルを置き換えることで、印刷プロトコルに対応したＢａｃｋｅｎｄｓ（Ｂａｃｋｅｎｄｓのモジュール（実行ファイル））と呼ばれる通信を制御するモジュールを切り換える。これにより、今まで利用していた印刷プロトコルが利用できなくなった場合でもＯＳ１２０上のプリントキューから印刷することが可能となる。
【００７７】
さらに、情報処理装置１０は、通信ができた機器２０のネットワーク上の位置を示すアドレス情報（ＩＰアドレス）を取得して、プリントキューと、取得したアドレス情報（ＩＰアドレス）とを対応付けた対応情報を更新してプリントキュー記憶部１１２に記憶する。そして、定期的に機器２０への通信が可能であるかを確認し、通信できた場合には、プリントキューに対応する機器２０のＩＰアドレスを更新する。これにより、印刷プロトコルに従った通信ができない場合でも、プリントキュー内でプリンタ２０の接続先を示すＤｅｖｉｃｅＵＲＩ（デバイスＵＲＩ）の値にＩＰアドレスを指定することで機器２０と通信することが可能となる。
【００７８】
図１２は、印刷システム（ＣＵＰＳ）の処理シーケンスの一例を示す図である。アプリケーション１３０は、ＰＤＦ形式の印刷データと、印刷先として選んだプリントキューと、印刷ダイアログで設定した印刷設定とを含む印刷要求をスプーラ１１３に対して行う（ステップＳ６１）。次に、スプーラ１１３は、プリントキュー記憶部１１２にプリントキューの設定要求を行う（ステップＳ６２）。プリントキュー記憶部１１２は、最終的にプリンタ２０へ渡す印刷データの形式（この例ではＰｏｓｔＳｃｒｉｐｔデータ）、プリントキューに紐付けられたＤｒｉｖｅｒ、プリンタ２０と通信するためのＤｅｖｉｃｅＵＲＩを含むプリントキューの設定を応答する（ステップＳ６３）。次に、スプーラ１１３は、プリントキューの設定を取得する（ステップＳ６４）。次に、スプーラ１１３は、フィルタパイプラインを形成する（ステップＳ６５）。次に、スプーラ１１３は、変換情報記憶部１１４に保持されている（印刷システムが予め保持している）変換情報（フィルター情報）の要求を行う（ステップＳ６６）。次に、変換情報記憶部１１４は、Ｆｉｌｔｅｒの並び順などを含む変換情報（フィルター情報）を応答する（ステップＳ６７）。
【００７９】
次に、スプーラ１１３は、アプリケーション１３０から受け取った印刷データを、データ形式を変換したり、面付け（２ｉｎ１など）をしたり、印刷コマンドを付加したりすることで、最終的な印刷データにする。それを実現するために、印刷データを適切な順番で様々なＦｉｌｔｅｒに通す必要がある。適切なＦｉｌｔｅｒの順番を決めるための情報は変換情報記憶部１１４（ｍｉｍｅ．ｃｏｎｖｓ）が保持しており、アプリケーション１３０から入力された印刷データの形式と、プリンタ２０に出力する印刷データの形式を入力すると、変換情報記憶部１１４（ｍｉｍｅ．ｃｏｎｖｓ）は適切なＦｉｌｔｅｒの順番を返す（上記のステップＳ６６、ステップＳ６７の処理に相当）。スプーラ１１３は、変換情報（フィルター情報）のＦｉｌｔｅｒの順番に従ってＦｉｌｔｅｒを呼び出してデータ変換、あるいはプリンタ２０との通信を行う。
【００８０】
次に、スプーラ１１３は、変換情報（フィルター情報）のＦｉｌｔｅｒの順番に従って、フィルター１（変換部１１５）でＰＤＦデータのデータ変換を行う（ステップＳ６８）。Ｆｉｌｔｅｒ１は、ｃｇｐｄｆｔｏｐｓという名前のＦｉｌｔｅｒで、ＰＤＦデータをＰｏｓｔＳｃｒｉｐｔデータに変換し（ステップＳ６９）、ＰｏｓｔＳｃｒｉｐｔデータを返す（ステップＳ７０）。次に、スプーラ１１３は、フィルター２（変換部１１５）でＰｏｓｔＳｃｒｉｐｔデータのデータ変換を行う（ステップＳ７１）。Ｆｉｌｔｅｒ２は、ｃｇｐｓｔｏｐｓという名前のＦｉｌｔｅｒで、ＰｏｓｔＳｃｒｉｐｔデータに、印刷設定に従ってＰｏｓｔＳｃｒｉｐｔの印刷コマンド（例えば両面印刷やステープルなど）を付加し（ステップＳ７２）、ＰｏｓｔＳｃｒｉｐｔデータ、付加した印刷コマンドを返す（ステップＳ７３）。次に、スプーラ１１３は、ドライバー（変換部１１５）でＰｏｓｔＳｃｒｉｐｔデータ、印刷コマンドのデータ変換を行う（ステップＳ７４）。Ｄｒｉｖｅｒはプリンタベンダーが提供するＦｉｌｔｅｒで、ｃｇｐｓｔｏｐｓで処理しきれない、ベンダーが独自に実装した機能の印刷コマンドなどを印刷設定に従って印刷データに付加し（ステップＳ７５）、ＰｏｓｔＳｃｒｉｐｔデータ、印刷コマンド、実装機能の印刷コマンドを返す（ステップＳ７６）。次に、スプーラ１１３は、バックエンド（通信実行部１１６）にＰｏｓｔＳｃｒｉｐｔデータ、印刷設定（印刷コマンド、実装機能の印刷コマンド）、デバイスＵＲＩ（ＤｅｖｉｃｅＵＲＩ）を含む印刷要求を行う（ステップＳ７７）。次に、バックエンド（通信実行部１１６）は、印刷プロトコルに従って、デバイスＵＲＩ（ＤｅｖｉｃｅＵＲＩ）で示されたプリンタ２０と通信を行い、ＰｏｓｔＳｃｒｉｐｔデータの印刷を実行させる（ステップＳ７８）。プリンタ２０は、印刷を実行する（ステップＳ７９）。その後、プリンタ２０は、バックエンド（通信実行部１１６）に応答を返し（ステップＳ８０）、バックエンド（通信実行部１１６）は、スプーラ１１３に応答を返す（ステップＳ８１）。
【００８１】
以上の処理を実行することで印刷システム（ＣＵＰＳ）１１０は、アプリケーション１３０からの印刷要求に対して各種のデータ変換を行い、プリンタ２０に印刷を実行させることができる。
【００８２】
以上、本発明に係る実施形態について説明したが、本発明は、上述の実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上述の実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施の形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【００８３】
情報処理装置１０で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、メモリカード、ＣＤ−Ｒ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のコンピュータで読み取り可能な記憶媒体に記憶されてコンピュータ・プログラム・プロダクトとして提供される。
【００８４】
また情報処理装置１０で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また情報処理装置１０が実行するプログラムを、ダウンロードさせずにインターネット等のネットワーク経由で提供するように構成してもよい。
【００８５】
また情報処理装置１０のプログラムを、ＲＯＭ１０３等に予め組み込んで提供するように構成してもよい。
【００８６】
情報処理装置１０で実行されるプログラムは、上述した各機能ブロック（プリンタ監視ツール１２１（プリントキューリスト１２２、デバイスＵＲＩ解析部１２３、プリンタ接続確認部１２４、バックエンド確認部１２５、バックエンド置換部１２６、ＩＰアドレス確認部１２７、プリントキュー更新部１２８）及び印刷システム１１０（生成部１１１、プリントキュー記憶部１１２、スプーラ１１３、変換情報記憶部１１４、変換部１１５、通信実行部１１６））を含むモジュール構成となっている。当該各機能ブロックは、実際のハードウェアとしては、ＣＰＵ１０１がＨＤＤ１０４等の記憶媒体からプログラムを読み出して実行することにより、上記各機能ブロックがＲＡＭ１０２上にロードされる。すなわち上記各機能ブロックは、ＲＡＭ１０２上に生成される。
【００８７】
なお上述した情報処理装置１０の各機能ブロックの一部を、ソフトウェアにより実現せずに、ＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）等のハードウェアにより実現してもよい。
【００８８】
なお、本実施形態の情報処理装置１０及び機器２０が接続されたシステム構成は一例であり、用途や目的に応じて様々なシステム構成例があることは言うまでもない。
【符号の説明】
【００８９】
１  システム
１０  情報処理装置（クライアントＰＣ）
２０  機器（ＭＦＰ、プリンタ）
３０  ネットワーク
１０１  ＣＰＵ
１０２  ＲＡＭ
１０３  ＲＯＭ
１０４  ＨＤＤ
１０５  機器Ｉ／Ｆ
１０６  表示部
１０７  操作部
１０８  ネットワークＩ／Ｆ
１０９  システムバス
１１０  印刷システム（ＣＵＰＳ）
１１１  生成部
１１２  プリントキュー記憶部
１１３  スプーラ
１１４  変換情報記憶部
１１５  変換部
１１６  通信実行部
１２０  ＯＳ
１２１  プリンタ監視ツール
１２２  プリントキューリスト
１２３  デバイスＵＲＩ解析部
１２４  プリンタ接続確認部
１２５  バックエンド確認部
１２６  バックエンド置換部
１２７  ＩＰアドレス確認部
１２８  プリントキュー更新部
１３０  アプリケーション
１３１  プリントキュー生成部
１３２  ＩＰアドレス確認部
２１０  コントローラボード
２１１  ＣＰＵ
２１２  ＳＤＲＡＭ
２１３  フラッシュメモリ
２１４  ＨＤＤ
２１５  ＡＳＩＣ
２１６  管理システム用メモリ
２１７  ＮＩＣ
２１８  モデム
２２１  操作パネル
２２２  ＦＣＵ
２２３  ＵＳＢ
２２４  ＩＥＥＥ１３９４Ｉ／Ｆ
２２５  印刷／スキャナエンジン
２２６  周辺機
【先行技術文献】
【特許文献】
【００９０】
【特許文献１】特開２０１４−０３２６４７号公報
【図１】
0006589707.tif 000002
【図２】
0006589707.tif 000003
【図３】
0006589707.tif 000004
【図４】
0006589707.tif 000005
【図５】
0006589707.tif 000006
【図６】
0006589707.tif 000007
【図７】
0006589707.tif 000008
【図８】
0006589707.tif 000009
【図９】
0006589707.tif 000010
【図１０】
0006589707.tif 000011
【図１１】
0006589707.tif 000012
【図１２】
0006589707.tif 000013