(57)【要約】【課題】  ジョブ管理部を、無駄な取得要求を送信することなく、確実に生成することができる装置や方法を提供する。【解決手段】  この装置は、ジョブ処理装置が処理するジョブを蓄積し、該ジョブ処理装置に対して蓄積したジョブの処理を要求するジョブ管理部を生成する装置で、ジョブ処理装置との通信により該ジョブ処理装置が備える所定の機能が有効であるか否かを検出する検出部７０と、検出部７０が有効であることを検出した場合に、ジョブ処理装置の情報を記述したファイルに含まれる該ジョブ処理装置の構成情報を取得する命令を定義した記述を削除する削除部７１と、ファイルまたは上記記述が削除されたファイルを使用してジョブ管理部を生成する生成部７２とを含む。【選択図】  図４
2016029539.tif 000002
【特許請求の範囲】
【請求項１】
ジョブ処理装置が処理するジョブを蓄積し、該ジョブ処理装置に対して蓄積したジョブの処理を要求するジョブ管理部を生成する情報処理装置であって、
前記ジョブ処理装置との通信により該ジョブ処理装置が備える所定の機能が有効であるか否かを検出する検出部と、
前記検出部が有効であることを検出した場合に、前記ジョブ処理装置の情報を記述したファイルに含まれる該ジョブ処理装置の構成情報を取得する命令を定義した記述を削除する削除部と、
前記ファイルまたは前記記述が削除されたファイルを使用して前記ジョブ管理部を生成する生成部とを含む、情報処理装置。
【請求項２】
前記検出部が無効であることを検出した場合に、前記命令に従って前記ジョブ処理装置から該ジョブ処理装置の構成情報を取得する取得部と、
前記取得部が取得した前記構成情報を前記ファイルに設定し、該構成情報が反映された該ファイルを出力する出力部とをさらに含む、請求項１に記載の情報処理装置。
【請求項３】
前記ジョブ処理装置は、印刷ジョブを処理する印刷装置で、前記ジョブ管理部は、プリントキューで、前記所定の機能は、ユーザ認証機能またはロケーションフリー印刷機能である、請求項１または２に記載の情報処理装置。
【請求項４】
前記印刷装置に対して印刷ジョブの処理を要求する際に使用する印刷プロトコルが所定のプロトコルか否かを判定するプロトコル判定部をさらに含み、前記プロトコル判定部が前記所定のプロトコルである場合、前記削除部が前記記述を削除する、請求項３に記載の情報処理装置。
【請求項５】
前記所定のプロトコルは、ＬＰＤもしくはＩＰＰまたはＭＤＮＳのいずれかである、請求項４に記載の情報処理装置。
【請求項６】
前記ファイルに前記ジョブ処理装置の構成情報を取得するためのプログラムが定義されているか否かを判定するプログラム判定部を含み、前記プログラム判定部が定義されていると判定した場合に、前記検出部による検出を実行する、請求項１〜５のいずれか１項に記載の情報処理装置。
【請求項７】
ジョブを処理するジョブ処理装置を含むジョブ処理システムであって、
前記ジョブ処理装置との通信により該ジョブ処理装置が備える所定の機能が有効であるか否かを検出する検出部と、
前記検出部が有効であることを検出した場合に、前記ジョブ処理装置の情報を記述したファイルに含まれる該ジョブ処理装置の構成情報を取得する命令を定義した記述を削除する削除部と、
前記ファイルまたは前記記述が削除されたファイルを使用して、前記ジョブ処理装置が処理するジョブを蓄積し、該ジョブ処理装置に対して蓄積したジョブの処理を要求するジョブ管理部を生成する生成部とを含む、ジョブ処理システム。
【請求項８】
ジョブ処理装置が処理するジョブを蓄積し、該ジョブ処理装置に対して蓄積したジョブの処理を要求するジョブ管理部を生成する情報処理装置により実行される情報処理方法であって、
前記ジョブ処理装置との通信により該ジョブ処理装置が備える所定の機能が有効であるか否かを検出する検出部と、
前記検出部が有効であることを検出した場合に、前記ジョブ処理装置の情報を記述したファイルに含まれる該ジョブ処理装置の構成情報を取得する命令を定義した記述を削除する削除部と、
前記ファイルまたは前記記述が削除されたファイルを使用して前記ジョブ管理部を生成する生成部とを含む、情報処理方法。
【請求項９】
請求項８に記載の情報処理方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ジョブ処理装置が処理するジョブを蓄積し、該ジョブ処理装置に対して蓄積したジョブの処理を要求するジョブ管理部を生成する情報処理装置、該情報処理装置と該ジョブ処理装置とを含むジョブ処理システム、その情報処理方法およびその方法をコンピュータに実行させるためのプログラムに関する。
【背景技術】
【０００２】
印刷ジョブ等のジョブを処理する装置として、プリンタやＭＦＰ(Multi-Function Peripheral)等が使用されている。ネットワークに新しくプリンタを追加した場合、ネットワークに接続されたＰＣ等では、その追加されたプリンタを使用するためにプリンタドライバがインストールされる。プリンタドライバは、プリンタを制御するためのソフトウェアである。そのインストールに際して、そのプリンタに対する印刷ジョブを蓄積し、そのプリンタに対して蓄積した印刷ジョブの処理を要求するプリントキューと呼ばれる印刷ジョブ管理部が生成される。
【０００３】
プリントキューの生成において、プリンタの基本構成とは別に取り付けられた装置や部品等のオプション情報や、インク、トナー、紙等の消耗品のサプライ情報を取得し、これらの情報を反映してプリントキューが生成される。これらの情報を取得する方法としては、例えば、プリンタとの双方向通信によってオプション構成情報をプリンタから取得する技術が知られている（例えば、特許文献１参照）。また、オプション情報を自動的に取得して設定する機能を有するソフトウェア、例えばＰＳ  Ｑｕｅｒｙや自動セットアップツール(AutoSetupTool)等を用いることが知られている。さらに、サプライ情報を取得するためのソフトウェア、例えばＯＳ標準のｓｎｍｐＩｎｋやベンダー作成のＣｏｍｍａｎｄＦｉｌｅＦｉｌｔｅｒ等を用いることも知られている。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
プリンタドライバに、例えばＰＳ  Ｑｕｅｒｙが定義されている場合、ＰＳ  Ｑｕｅｒｙによるオプション情報の取得要求がプリンタへ送られる。プリンタに認証システムが実装され、認証機能がＯＮになっている場合、その認証が成功しない限り、その取得要求は、プリンタ本体に渡されない。すると、プリンタは、オプション情報を返信しないため、プリントキューを生成することができないという問題があった。
【０００５】
また、ロケーションフリー印刷システムでは、そのプリンタが混雑している場合、別のプリンタで出力するといったように、プリンタがその都度切り替わるため、無駄なオプション情報等の取得要求を送信してしまうという問題があった。
【０００６】
そこで、ジョブを処理させるジョブ処理装置に対するプリントキューといったジョブ管理部を、無駄なオプション情報等の取得要求を送信することなく、確実に生成することができる装置や方法の提供が望まれていた。
【課題を解決するための手段】
【０００７】
本発明は、上記課題に鑑み、ジョブ処理装置が処理するジョブを蓄積し、該ジョブ処理装置に対して蓄積したジョブの処理を要求するジョブ管理部を生成する情報処理装置であって、ジョブ処理装置との通信により該ジョブ処理装置が備える所定の機能が有効であるか否かを検出する検出部と、検出部が有効であることを検出した場合に、ジョブ処理装置の情報を記述したファイルに含まれる該ジョブ処理装置の構成情報を取得する命令を定義した記述を削除する削除部と、該ファイルまたは上記記述が削除されたファイルを使用してジョブ管理部を生成する生成部とを含む、情報処理装置が提供される。
【発明の効果】
【０００８】
本発明によれば、ジョブ管理部を、無駄な取得要求を送信することなく、確実に生成することができる。
【図面の簡単な説明】
【０００９】
【図１】本実施形態のジョブ処理システムの概略構成を示した図。
【図２】図１に示すジョブ処理システムが備えるＰＣおよび画像処理装置のハードウェア構成を示した図。
【図３】図１に示すジョブ処理システムのソフトウェア構成を例示した図。
【図４】図１に示すＰＣの機能ブロック図。
【図５】図４に示すＰＣが行うプリントキューを生成する処理の流れを示したフローチャート。
【図６】図５に示す処理で使用されるＡｕｔｏＳｅｔｕｐＴｏｏｌを実行した場合の処理の流れを示したフローチャート。
【図７】画像処理装置の情報を記述したＰＰＤファイルの一例を示した図。
【図８】図７に示すＰＰＤファイルの各定義の内容を説明する図。
【発明を実施するための形態】
【００１０】
図１は、本実施形態のジョブ処理システムの概略構成を示した図である。ジョブ処理システムが処理するジョブは、印刷ジョブ、コピージョブ、スキャンジョブ、ＦＡＸジョブ等のいかなるジョブであってもよい。以下、印刷ジョブとして説明する。図１は、印刷ジョブを発行する情報処理装置としてのＰＣ１０と、ＰＣ１０から受け付けたジョブを処理するジョブ処理装置としての画像処理装置１１、１２とを含む。ＰＣ１０と画像処理装置１１とは、ＬＡＮ、ＷＡＮ、インターネット等のネットワーク１３を介して接続されている。また、ＰＣ１０と画像処理装置１２とは、ＵＳＢ(Universal Serial Bus)ケーブルやプリンタケーブル等の通信ケーブル１４により接続されている。
【００１１】
ここでは、１台のＰＣ１０と、２台の画像処理装置１１、１２とからなる構成を例示したが、これに限られるものではなく、２台以上のＰＣ、３台以上の画像処理装置からなる構成であってもよい。また、ネットワーク１３は、有線ネットワークであってもよいし、無線ＬＡＮ等の無線ネットワークであってもよい。ジョブ処理システムは、これらの装置のほかに、サーバ装置やルータ等の他の機器を含んでいてもよい。
【００１２】
ＰＣ１０は、デスクトップＰＣ、ノートＰＣ、タブレットＰＣのいずれであってもよい。ＰＣ１０は、画像データを作成し、画像データを印刷するために、画像処理装置１１、１２へその画像データを印刷ジョブとして出力する。画像処理装置１１、１２は、ＭＦＰやプリンタ等の印刷装置であり、印刷ジョブを受け付け、印刷装置が解釈可能な印刷データに変換した後、印刷出力する。なお、印刷ジョブを出力する装置としては、ＰＣに限られるものではなく、スマートフォン、ＰＤＡ(Personal Digital Assistant)、電子表示ボード等であってもよい。
【００１３】
図２を参照して、ＰＣ１０および画像処理装置１１、１２のハードウェア構成を説明する。ＰＣ１０は、ＰＣ１０全体の制御を行うＣＰＵ２０、ＣＰＵ２０に対して作業領域を提供する主記憶装置（メモリ）２１、記憶装置２２、ネットワーク１３と接続し、ネットワーク１３を介してデータ等のやりとりを行うネットワーク入出力Ｉ／Ｆ２３を備える。また、ＰＣ１０は、通信ケーブル１４としてのＵＳＢケーブルを接続するためのＵＳＢ  Ｉ／Ｆ２４を備える。
【００１４】
記憶装置２２は、ＨＤＤ、ＦｌａｓｈＲＯＭ、ＵＳＢメモリ等とされ、各種アプリケーション、ＯＳ(Operating System)、ドライバを記憶する。アプリケーションとしては、文書作成アプリケーション、表計算アプリケーション、プレゼンテーション用アプリケーション、メールアプリケーション、Ｗｅｂブラウザ等を挙げることができる。ＯＳとしては、Ｗｉｎｄｏｗｓ（登録商標）、ＭａｃＯＳ（登録商標）、ＵＮＩＸ（登録商標）、ＬＩＮＵＸ（登録商標）等を用いることができる。ＯＳには、印刷データを管理する印刷システム、画像処理装置１１、１２のサプライ情報を取得するｓｎｍｐＩｎｋが含まれる。
【００１５】
ドライバは、画像処理装置１１、１２を制御するためのソフトウェアで、ここではプリンタドライバとされる。ドライバには、ＰＰＤ(PostScript（登録商標） Printer Description)ファイル、印刷フィルタ、ＣｏｍｍａｎｄＦｉｌｅＦｉｌｔｅｒ、ＡｕｔｏＳｅｔｕｐＴｏｏｌ、ユーティリティ、プラグイン等が含まれている。ＰＰＤファイルは、ＰｏｓｔＳｃｒｉｐｔ（登録商標）プリンタの情報、具体的にはそのプリンタの特性やオプション情報等を記述したファイルである。ＰｏｓｔＳｃｒｉｐｔ（登録商標）プリンタは、ＰｏｓｔＳｃｒｉｐｔ（登録商標）というページ記述言語による記述を解釈し、印刷出力するプリンタである。
【００１６】
印刷フィルタは、プリンタが解釈可能なデータに変換する処理を行うもので、上記のページ記述言語へ変換するためのソフトウェアである。ＣｏｍｍａｎｄＦｉｌｅＦｉｌｔｅｒは、上記ＳｎｍｐＩｎｋと同様、画像処理装置１１、１２のサプライ情報を取得するためのソフトウェアである。サプライ情報としては、インクやトナーの残量、セットされている紙の種類、枚数、サイズ等の情報が挙げられる。ＡｕｔｏＳｅｔｕｐＴｏｏｌは、画像処理装置１１、１２のオプション情報を取得するための自動セットアッププログラムである。オプション情報としては、後処理装置（フィニッシャ）の情報、給紙トレイの構成、メモリ容量、サイドトレイの有無、製本トレイの有無等を挙げることができる。フィニッシャは、綴じるための穴を開けるパンチ機能、ステープルで綴じるステープル機能を有するものである。  ユーティリティは、ＯＳの機能を補うソフトウェアで、サプライ情報やオプション情報の取得を要求する。プラグインは、ドライバに機能を追加するためのプログラムである。
【００１７】
ＰＣ１０は、ＣＰＵ２０により記憶装置２２からＯＳおよびドライバを読み出し実行し、ＯＳによる制御の下、ドライバにより所定の処理を実行する。その詳細については後述する。
【００１８】
画像処理装置１１は、画像処理装置１１全体を制御するＣＰＵ３０、ＣＰＵ３０に対して作業領域を提供する主記憶装置（メモリ）３１、記憶装置３２を備える。また、画像処理装置１１は、ネットワーク１３と接続し、ネットワーク１３を介してデータ等のやりとりを行うネットワーク入出力Ｉ／Ｆ３３を備える。さらに、画像処理装置１１は、ＰＣ１０から受け付けたジョブを処理する画像処理エンジン３４、ユーザからの入力や処理状況の表示等を行う操作パネル３５を備える。画像処理エンジン３４は、ＰＣ１０でラスターデータに変換された印刷データを受け付け、印刷データに基づき、紙等の記録媒体に印字して出力する。
【００１９】
記憶装置３２は、ＨＤＤ、ＦｌａｓｈＲＯＭ、ＵＳＢメモリ等とされ、画像処理エンジン３４等の各ユニットを制御するための本体制御ソフトウェアを記憶する。ＣＰＵ３０は、この本体制御ソフトウェアを記憶装置３２から読み出し実行することで、画像処理装置１１全体の制御を行う。本体制御ソフトウェアは、例えば、コピー機能、ファックス機能、スキャナ機能、印刷機能、ユーザ認証機能、課金機能等を実現するアプリケーションを含んで構成することができる。このため、ＣＰＵ３０が本体制御ソフトウェアを実行することで、これらの機能を実現することができる。
【００２０】
画像処理装置１２は、画像処理装置１１のネットワーク入出力Ｉ／Ｆ３３に代えて、ＵＳＢ  Ｉ／Ｆ４３が採用されている。これは、ＵＳＢケーブルによりＰＣ１０のＵＳＢ  Ｉ／Ｆ２４と接続するためである。なお、その他のＣＰＵ４０、主記憶装置４１、記憶装置４２、画像処理エンジン４４、操作パネル４５については、画像処理装置１１と同様であるため、その説明は省略する。
【００２１】
図３は、ジョブ処理システムが備えるソフトウェア構成を示した図である。ジョブ処理システムは、アプリケーションであるアプリ５０、スプーラ５１、バックエンド５２を有する。アプリ５０は、例えばＲＤＦ形式で作成されたファイル（ＰＤＦファイル）をスプーラ５１へ出力する。スプーラ５１は、入力されたＰＤＦファイルを印刷ジョブとして一時的に蓄積し、画像処理装置であるプリンタ６０の処理が終了し次第、バックエンド５２を介して次の印刷ジョブに対する処理を実行させる。
【００２２】
スプーラ５１は、印刷フィルタ５３を有し、印刷ジョブを、上記のページ記述言語で記述された印刷データに変換する。そして、スプーラ５１は、変換した印刷データを一時的に蓄積する。スプーラ５１に蓄積された印刷データは、使用する印刷プロトコルに一致したバックエンド５２に出力され、そのバックエンド５２からプリンタ６０へ送られる。スプーラ５１に蓄積された印刷データは、蓄積された順に読み出され、バックエンド５２に送られる。バックエンド５２は、プリンタ６０へ出力する出力側を意味し、ＲＡＷ９１００、ＬＰＤ(Line Printer Daemon)、ＩＰＰ(Internet Printer Protocol)、ＵＳＢ等の印刷プロトコルを使用して通信を行うためのポートを有する。プリンタ６０は、これらに対応したポートを有し、さらにＳＮＭＰ(Simple Network Management Protocol)と呼ばれるＳＮＭＰ通信を行うためのポートも有している。
【００２３】
また、ジョブ処理システムは、ユーティリティとして、ＯＳのＵｔｉｌｉｔｙ５４、ベンダー作成のＵｔｉｌｉｔｙ５５を備え、印刷システムとして、ＣＵＰＳ  Ｄａｅｍｏｎ５６を備えている。さらに、ジョブ処理システムは、サプライ情報を取得するためのベンダー作成のＬａｗＩｎｋＴｏｏｌ５７と、ＯＳに含まれるｓｎｍｐＩｎｋ５８とを備えている。そして、スプーラ５１は、ＣｏｍｍａｎｄＦｉｌｅＦｉｌｔｅｒ５９をさらに備えている。
【００２４】
Ｕｔｉｌｉｔｙ５４、５５がサプライ情報を取得する場合、使用する印刷プロトコルがＲａｗ９１００またはＵＳＢであるか、それ以外であるかを確認する。Ｒａｗ９１００またはＵＳＢである場合、ＣｏｍｍａｎｄＦｉｌｅＦｉｌｔｅｒ５９を経由してバックエンド５２の対応するポートを利用してプリンタ６０と双方向通信を行う。Ｒａｗ９１００またはＵＳＢ以外のＬＰＤまたはＩＰＰである場合は、ＣｏｍｍａｎｄＦｉｌｅＦｉｌｔｅｒ５９ではなく、Ｕｔｉｌｉｔｙ５４、５５は、ＬａｗＩｎｋＴｏｏｌ５７またはｓｎｍｐＩｎｋ５８にサプライ情報の取得要求を出す。
【００２５】
このため、ＬａｗＩｎｋＴｏｏｌ５７またはＳｎｍｐＩｎｋ５８がバックエンド５２を介さずにプリンタ６０と直接ＳＮＭＰ通信を行い、サプライ情報を取得する。ＬａｗＩｎｋＴｏｏｌ５７またはＳｎｍｐＩｎｋ５８は、取得したサプライ情報をＣＵＰＳ  Ｄａｅｍｏｎ５６に通知し、ＣＵＰＳ  Ｄａｅｍｏｎ５６がその情報をＵｔｉｌｉｔｙ５４、５５へ送る。Ｕｔｉｌｉｔｙ５４、５５は、その情報をＰＰＤファイルに設定して反映する。
【００２６】
なお、ＣｏｍｍａｎｄＦｉｌｅＦｉｌｔｅｒ５９は、サプライ情報を取得する以外に、オプション情報を取得するためのＳＮＭＰ通信機能を有する。また、ＣｏｍｍａｎｄＦｉｌｅＦｉｌｔｅｒ５９は、テスト印刷やプリンタ６０のメンテナンス実行等のコマンドを、プリンタジョブ言語(PJL)のジョブ形式でバックエンド５２に送る機能も有する。
【００２７】
このようにして、印刷プロトコルに応じてプリンタ６０と通信を行い、サプライ情報やオプション情報を、そのプリンタ６０から取得し、ＰＰＤファイルに設定してそれらの情報を反映させることができる。
【００２８】
しかしながら、プリンタ６０が個人認証システムを搭載し、個人認証システムがＯＮになっている場合、認証が成功しない限り、上述したように、プリンタ６０がサプライ情報やオプション情報を返さないので、プリントキューを生成（作成）することができない。また、ロケーションフリー印刷システムの場合、出力するプリンタがその都度切り替わるため、無駄なオプション情報等の取得要求を送信してしまう。そこで、このような問題が生じないようにするために、情報処理装置としてのＰＣ１０は、図４に示すような機能部を備える。
【００２９】
図４は、ＰＣ１０の機能ブロック図である。ＰＣ１０は、機能部として、検出部７０と、削除部７１と、生成部７２とを少なくとも含む。そのほか、ＰＣ１０は、取得部７３、出力部７４を備えることができる。これらの機能部は、記憶装置２２に記憶されたＯＳおよびドライバをＣＰＵ２０が実行することにより実現されるものである。
【００３０】
検出部７０は、画像処理装置１１、１２との通信により、画像処理装置１１、１２が備える所定の機能が有効であるか否かを検出する。画像処理装置１１、１２が備える機能としては、上述した印刷機能、コピー機能、ＦＡＸ機能、スキャナ機能、ユーザ認証機能、課金機能のほか、ロケーションフリー印刷機能等がある。検出部７０は、所定の機能として、ユーザ認証機能、ロケーションフリー印刷機能が有効であるか否かを検出する。
【００３１】
検出部７０は、ＳＮＭＰ、ＨＴＴＰ(HyperText Transfer Protocol)、ＵＳＢ(GetDeviceID)等のプロトコルを使用してプリンタ６０と通信を行い、上記所定の機能が有効か否かを検出する。これらの機能が無効で、オプション情報等の取得要求を送信することができる場合は、上記のような問題は発生しない。すなわち、取得部７３が、プリンタ６０にオプション情報等の取得要求を送信し、プリンタ６０からオプション情報等を取得し、その情報を出力部７４へ送る。出力部７４は、その情報をＰＰＤファイルに設定して反映させる。出力部７４は、その情報を反映させたＰＰＤファイルを生成部７２に出力し、生成部７２が、そのＰＰＤファイルを使用してジョブ管理部としてのプリントキューを作成する。
【００３２】
ＰＰＤファイルには、プリンタ６０へ問い合わせを行い、オプション情報等を取得する命令（コマンド）が定義されている。取得部７３は、それに従って、プリンタ６０に上記の取得要求を送信し、プリンタ６０からオプション情報等の取得を行う。生成部７２は、印刷ジョブを蓄積するための記憶領域を確保し、ＰＰＤファイルを使用してポートの指定、オプションの設定等を行い、使用する印刷プロトコルに応じたプリントキューを作成する。
【００３３】
これに対し、上記所定の機能が有効である場合、上記のような問題が生じるため、上記命令を含むＰＰＤファイルを使用して適切にプリントキューを作成することはできない。すなわち、ユーザ認証機能が有効である場合は、オプション情報等の取得を行えないため、プリントキューを作成することはできず、ロケーションフリー印刷機能が有効である場合は、出力するプリンタが切り替わるので、オプション情報等の取得が無駄になる。
【００３４】
これらの問題は、ＰＰＤファイル内のオプション情報等を取得する命令が含まれることに起因している。そこで、削除部７１は、ＰＰＤファイル内のその命令を定義した部分の記述を削除する。これにより、その命令に従って、オプション情報等の取得を行うことがなくなるため、上記のような問題が生じることなく、確実にプリントキューを作成することができる。
【００３５】
図５に示すフローチャートを参照して、プリントキューを自動作成する処理について詳細に説明する。ＺｅｒｏＣｏｎｆｉｇやＢｏｎｊｏｕｒといったネットワーク上の機器を自動検出する技術、ＳＮＭＰ通信等により、ネットワーク上に接続されたプリンタを検出する。上記の機器を自動検出する技術では、ＯＳが自動的に検出してドライバの組み込みや必要な設定を行うプラグアンドプレイという機能を使用するため、プラグアンドプレイ情報が取得される。ＳＮＭＰ通信では、検出した機器を制御対象とし、その制御対象となる機器がもつＭＩＢ(Management Information Base)と呼ばれる管理情報データベースの情報をＭＩＢ情報として取得する。これらプラグアンドプレイ情報またはＭＩＢ情報に一致するＰＰＤファイルを検索し、選択する。なお、ＰＰＤファイルは、ベンダーにより作成され、配布されるものであり、予めＰＣ１０内に実装されていれば、その実装された中から検索し、選択することができる。実装されていない場合は、ネットワークを介して一致するＰＰＤファイルを検索し、取得することができる。なお、ＣＤ−ＲＯＭやＵＳＢメモリ等の記録媒体からダウンロードして取得することも可能である。
【００３６】
ＰＰＤファイルを取得したことを受けて、ステップ５００からこの処理を開始する。ステップ５０５では、そのＰＰＤファイルにてプリントキューを自動作成する際、そのＰＰＤファイルにＡｕｔｏＳｅｔｕｐＴｏｏｌが定義されているかどうかを判定する。ＰＰＤファイルは、テキストファイルであり、ＡｕｔｏＳｅｔｕｐＴｏｏｌに関する記述の有無により判定することができる。なお、ＡｕｔｏＳｅｔｕｐＴｏｏｌの詳細については後述する。定義されていると判定した場合は、ステップ５１０へ進み、ＡｕｔｏＳｅｔｕｐＴｏｏｌを実行する。そして、ステップ５１５で、その実行が成功したかどうかを判定する。成功した場合は、ＰＰＤファイルが最適化されるので、ステップ５２０へ進み、その最適化されたＰＰＤファイルを使用してプリントキューを作成する。作成した後、ステップ５４５へ進み、正常に終了する。
【００３７】
ステップ５０５で定義されていないと判定した場合、またはステップ５１５で実行が失敗した場合、ステップ５２５へ進み、ＰＳ  ＱｕｅｒｙやＳＮＭＰ通信等により、プリンタのオプション情報やサプライ情報といった構成情報の取得を試みる。ステップ５３０では、その取得が成功したか否かを判定する。成功したと判定した場合は、ステップ５３５へ進み、取得した構成情報をＰＰＤファイルに設定し、その構成情報を反映したＰＰＤファイルにてプリントキューを作成し、ステップ５４５で正常に終了する。
【００３８】
ステップ５３０で失敗したと判定した場合は、ステップ５４０へ進み、プリンタの構成情報の入力画面を表示し、ユーザに入力を促す。そして、ユーザが入力した構成情報を取得し、それをＰＰＤファイルに設定する。その後、その構成情報を反映したＰＰＤファイルにてプリントキューを作成する。作成した後、ステップ５４５へ進み、正常に終了する。ステップ５０５等で行う判定は、図４には図示しない判定部により行うことができる。
【００３９】
図６を参照して、ＡｕｔｏＳｅｔｕｐＴｏｏｌについて詳細に説明する。図６では、ＡｕｔｏＳｅｔｕｐＴｏｏｌを実行した場合のその動作について説明する。ＡｕｔｏＳｅｔｕｐＴｏｏｌを実行することにより、ステップ６００から動作を開始する。ステップ６０５では、ＯＳがＣｏｍｍａｎｄＦｉｌｅＦｉｌｔｅｒに対応したＯＳであるか否かを判定する。対応したＯＳでない場合、ＯＳがＣｏｍｍａｎｄＦｉｌｅＦｉｌｔｅｒを扱うことができないからである。対応したＯＳでない場合、ステップ６５５へ進み、エラー終了となる。なお、エラー終了になった場合、図５に示すステップ５２５へ進み、プリンタの構成情報の取得を試みる。
【００４０】
ＯＳがＣｏｍｍａｎｄＦｉｌｅＦｉｌｔｅｒに対応したＯＳである場合、ステップ６１０へ進み、使用する印刷プロトコルを調べる。例えば、印刷プロトコルが、ＬＰＤ、ＩＰＰ、ＵＳＢ、Ｓｏｃｋｅｔ、ＭＤＮＳ(Multicast Domain Name System)、ＤＮＳＳＤ(DNS Service Discovery)のいずれであるかを調べる。ちなみに、ＬＰＤ、ＩＰＰ、ＭＤＮＳは、ＰＳ  Ｑｕｅｒｙによる双方向通信を行うことができないプロトコルである。それら以外は、ＰＳ  Ｑｕｅｒｙによる双方向通信を行うことができるプロトコルである。
【００４１】
ステップ６１５では、ステップ６１０で調べた印刷プロトコルに応じた通信設定の初期値が、ＰＰＤファイルに定義されているかどうかを判定する。通信設定は、印刷プロトコル、後述する各定義の切替内容である。初期値が定義されている場合は、ステップ６２０へ進み、その初期値に設定を切り替え、その結果をＰＰＤファイルに反映させる。そして、ステップ６２５へ進む。初期値が定義されていない場合は、初期値を設定することなく、ステップ６２５へ直接進む。
【００４２】
ステップ６２５では、ステップ６１０で調べた印刷プロトコルが、上記のＰＳ  Ｑｕｅｒｙによる双方向通信を行うことができないプロトコルであるか否かを判定する。すなわち、印刷プロトコルがＬＰＤもしくはＩＰＰまたはＭＤＮＳかを判定する。それらのいずれかである場合は、ステップ６４５へ進み、そうでない場合は、ステップ６３０へ進む。ステップ６３０では、プリンタ側の認証システム、すなわち認証機能がＯＮであるか否かを判定する。これは、その機能が有効であるか否かを検出することにより判定することができる。ＯＮである場合は、ステップ６４５へ進み、ＯＦＦである場合は、ステップ６３５へ進む。ステップ６３５では、ロケーションフリー印刷システムであるか否か、すなわちロケーションフリー印刷機能が有効であるか否かを判定する。そうである場合は、ステップ６４５へ進み、そうでない場合は、ステップ６４０へ進む。
【００４３】
ステップ６４５では、ＰＰＤファイルに記述されているＰＳ  Ｑｕｅｒｙを定義した部分を削除する。ステップ６４０では、ＰＳ  Ｑｕｅｒｙによる双方向通信が可能で、認証機能もＯＦＦで、ロケーションフリー印刷システムでもないことから、ＰＳ  Ｑｕｅｒｙによりプリンタから構成情報を取得し、その構成情報をＰＰＤファイルに設定して内容を反映させる。ステップ６５０では、取得した構成情報が反映されたＰＰＤファイルまたはＰＳ  Ｑｕｅｒｙを定義した部分が削除されたＰＰＤファイルを出力し、ステップ６５５でこの処理を終了する。上記のステップ６０５等で行う判定も、上記の判定部により行うことができ、例えば、ステップ６０５のプログラムを判定する場合はプログラム判定部、ステップ６２５のプロトコルを判定する場合はプロトコル判定部により行うことができる。
【００４４】
図６では、印刷プロトコルがＰＳ  Ｑｕｅｒｙによる双方向通信を行うことができるものか否か、認証システムがＯＮか否か、ロケーションフリー印刷システムかどうかの３つを判定しているが、これらすべてを判定するように構成されていなくてもよい。すなわち、認証システムがＯＮか否かのみ、ロケーションフリー印刷システムかどうかのみを判定してもよいし、これらに上記の双方向通信を行うことができるか否かを組み合わせたものであってもよい。また、認証システムがＯＮか否かと、ロケーションフリー印刷システムかどうかを組み合わせたものであってもよい。
【００４５】
これまで、ＰＣ１０によるプリントキューの作成処理、ＡｕｔｏＳｅｔｕｐＴｏｏｌの動作について説明してきたが、そこで使用されるＰＤＤファイルの内容について、図７および図８を参照して詳細に説明する。図７は、ＰＰＤファイルの内容を例示した図である。図７に示すようにＰＰＤファイルは、テキストファイルであり、文字や数字等で記述したものである。ＰＰＤファイル中、「*cupsCommands」は、ＣｏｍｍａｎｄＦｉｌｅＦｉｌｔｅｒが受け付け可能なコマンドを定義し、その初期値は、「””」で空を示している。この行の記述は、上記のステップ６２０で、次の「*RICupsCommands」で定義されたいずれかの設定に書き換えられる。「*RICupsCommands」は、各印刷プロトコルに応じた「*cupsCommands」が受け付け可能なコマンドを定義する。ここでは、ＵＳＢ、ＬＰＤ、ＩＰＰ、ｓｏｃｋｅｔ、ＤＮＳＳＤ、ＭＤＮＳという６つの印刷プロトコルに応じたコマンドが定義されている。
【００４６】
「*cupsSNMPSupplies」は、ＯＳ標準のサプライ情報取得ツール(snmpInk)を使用するか否かを定義する。その初期値は、「True」であり、使用すると定義されている。この行の記述は、上記のステップ６２０で、次の「*RICupsCommands」で定義されたいずれかの設定に書き換えられる。「*RICupsSNMPSupplies」は、各印刷プロトコルに応じて、該当する「cupsSupplies」を定義する。ここでは、上記６つの印刷プロトコルに応じて「True」または「False」が定義されている。
【００４７】
ＡｕｔｏＳｅｔｕｐＴｏｏｌは、図６に示すステップ６１０で調べた、使用する印刷プロトコルに応じて、該当する「*RICupsCommands」の定義内容を「*cupsCommands」の定義に反映する。また、該当する「*RICupsSNMPSupplies」の定義内容を「*cupsSNMPSupplies」に反映する。これらをまとめると、図８に示すようになる。
【００４８】
ＯＳは、「*cupsCommands」に実行したいコマンドが定義されている場合は、ＣｏｍｍａｎｄＦｉｌｅＦｉｌｔｅｒを使用し、定義されていない場合は、ＯＳ標準のツールや機能を使用する。また、ＯＳは、「*cupsSNMPSupplies」が「True」である場合、ＯＳ標準のｓｎｍｐＩｎｋを使用する。
【００４９】
図８に示した例では、印刷プロトコルがＵＳＢの場合、ＡｕｔｏＳｅｔｕｐＴｏｏｌによる「*cupsCommands」の定義の切替内容が「ReportLevels」のみが定義されている。また、ＡｕｔｏＳｅｔｕｐＴｏｏｌによる「*cupsSNMPSupplies」の定義の切替内容が「False」になっている。このため、ＣｏｍｍａｎｄＦｉｌｅＦｉｌｔｅｒ経由でサプライ情報のみを取得し、ＯＳ標準のｓｎｍｐＩｎｋは使用しないことを意味している。ちなみに、ＵＳＢは、ネットワークではないため、ＯＳ標準のｓｎｍｐＩｎｋは使用することができない。オプション情報の取得は、図７に示すように、ＯＳ標準のＰＳ  Ｑｕｅｒｙを使用する。
【００５０】
印刷プロトコルがＬＰＤ、ＩＰＰの場合は、「*cupsCommands」が空、「*cupsSNMPSupplies」が「True」であるため、ＣｏｍｍａｎｄＦｉｌｅＦｉｌｔｅｒは使用せず、ＯＳ標準のｓｎｍｐＩｎｋを使用する。ＬＰＤ、ＩＰＰでは、バックエンドのサイドチャネルのみを使用した双方向通信は、スプーラの停止、ジョブの詰まり等の不都合が発生することから、ＣｏｍｍａｎｄＦｉｌｅＦｉｌｔｅｒは使用しない。ちなみに、サプライ情報の取得は、ＯＳ標準のｓｎｍｐＩｎｋを使用して行い、オプション情報の取得は、ＯＳ標準のＰＳ  Ｑｕｅｒｙを使用して行う。
【００５１】
印刷プロトコルがＳｏｃｋｅｔ、ＤＮＳＳＤ、ＭＤＮＳの場合は、「*cupsCommands」が「ReportLevels AutoConfigure」、「*cupsSNMPSupplies」が「False」になっている。このため、これらについては、ＣｏｍｍａｎｄＦｉｌｅＦｉｌｔｅｒ経由でサプライ情報とオプション情報を取得して自動設定し、ＯＳ標準のｓｎｍｐＩｎｋは使用しない。
【００５２】
これらの印刷プロトコルの各々の通信設定の初期値は、テキストファイルであるＰＰＤファイルにて定義してあるだけなので、ユーザ都合やＯＳのパッチリリース等に応じて、簡単にカスタマイズすることができる。
【００５３】
「*cupsSNMPSupplies」の下側の記述は、トナー等のマーカーの記述であり、さらにその下は、ＰＳ  Ｑｕｅｒｙによりオプション情報を取得し、自動設定するというＰＳ  Ｑｕｅｒｙについての記述である。ＰＰＤファイルにおいて、ＰＳ  Ｑｕｅｒｙを定義した部分を削除する場合、このＰＳ  Ｑｕｅｒｙについての記述の中の破線で示されるその定義を記述した部分を削除する。ちなみに、この部分は、オプション情報としてトレイ、ハードディスクの情報を取得して設定することを記述している。
【００５４】
以上に説明してきたように、ＰＣ１０といった情報処理装置、ジョブ処理システム、その情報処理装置が行う情報処理方法を提供することで、認証機能がＯＮであっても、プリントキューを確実に作成することができる。また、ロケーションフリー印刷システムでも、無駄なオプション情報等の取得要求を送信することなく、プリントキューを作成することができる。
【００５５】
これまで本発明の情報処理装置、その情報処理装置を含むジョブ処理システム、その情報処理方法について図面に示した実施形態を参照しながら詳細に説明してきた。本発明は、上述した実施形態に限定されるものではなく、他の実施形態や、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。したがって、上記情報処理方法をコンピュータに実行させるためのプログラムや、そのプログラムが記録された記録媒体等も提供することができるものである。
【符号の説明】
【００５６】
１０…ＰＣ、１１、１２…画像処理装置、１３…ネットワーク、１４…通信ケーブル、２０…ＣＰＵ、２１…主記憶装置、２２…記憶装置、２３…ネットワーク入出力Ｉ／Ｆ、２４…ＵＳＢ  Ｉ／Ｆ、３０…ＣＰＵ、３１…主記憶装置、３２…記憶装置、３３…ネットワーク入出力Ｉ／Ｆ、３４…画像処理エンジン、３５…操作パネル、４０…ＣＰＵ、４１…主記憶装置、４２…記憶装置、４３…ＵＳＢ  Ｉ／Ｆ、４４…画像処理エンジン、４５…操作パネル、５０…アプリ、５１…スプーラ、５２…バックエンド、５３…印刷フィルタ、５４、５５…Ｕｔｉｌｉｔｙ、５６…ＣＵＰＳ  Ｄａｅｍｏｎ、５７…ＬａｗＩｎｋＴｏｏｌ、５８…ＳｎｍｐＩｎｋ、５９…ＣｏｍｍａｎｄＦｉｌｅＦｉｌｔｅｒ、６０…プリンタ、７０…検出部、７１…削除部、７２…生成部、７３…取得部、７４…出力部
【先行技術文献】
【特許文献】
【００５７】
【特許文献１】特開２００５−２５７５５号公報
【図１】
2016029539.tif 000003
【図２】
2016029539.tif 000004
【図３】
2016029539.tif 000005
【図４】
2016029539.tif 000006
【図５】
2016029539.tif 000007
【図６】
2016029539.tif 000008
【図７】
2016029539.tif 000009
【図８】
2016029539.tif 000010