(57)【特許請求の範囲】
【請求項１】
同一の印刷装置に対応する複数種類のプリンタドライバがインストールされている状態で前記印刷装置のプリントキューを更新する場合に，いずれかの種類のプリンタドライバを優先させてプリントキューを更新するオペレーティングシステムが動作する情報処理装置であって，
プリンタドライバのインストール処理において，インストールするプリンタドライバが制御するプリンタに対応する既存のプリントキューを検索する検索手段と，
前記検索手段により検索された前記プリントキューが他装置と共有状態で稼働しているか否かを判定する判定手段と，
前記判定手段により前記プリントキューが他装置と共有状態で稼働していると判定された場合，前記オペレーティングシステムへの前記プリントキューの更新要求を行うことなく前記インストール処理を終了するように制御する制御手段と，
を有することを特徴とする情報処理装置。
【請求項２】
前記判定手段は，過去の印刷時に生成されたスプールファイルの中らから前記プリントキューで処理した印刷ジョブを生成した装置の情報を取得し，該取得した情報に他装置が含まれている場合に，前記プリントキューが他装置と共有状態で稼働していると判定することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記検索手段は，前記既存のプリントキューであって，前記インストールするプリンタドライバと互換性のない種類のプリンタドライバを用いるプリントキューを検索することを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記判定手段により前記プリントキューが他装置と共有状態で稼働していると判定された場合，前記インストール処理を続行すると前記プリントキューを用いて正しく印刷できなくなる旨の警告を行う警告手段を有することを特徴とする請求項２又は３に記載の情報処理装置。
【請求項５】
同一の印刷装置に対応する複数種類のプリンタドライバがインストールされている状態で前記印刷装置のプリントキューを更新する場合に，いずれかの種類のプリンタドライバを優先させてプリントキューを更新するオペレーティングシステムが動作する情報処理装置における制御方法であって，
プリンタドライバのインストール処理において，インストールするプリンタドライバが制御するプリンタに対応する既存のプリントキューを検索する検索ステップと，
前記検索されたプリントキューが他装置と共有状態で稼働しているか否かを判定する判定ステップと，
前記検索されたプリントキューが他装置と共有状態で稼働していると判定された場合，前記オペレーティングシステムへの当該プリントキューの更新要求を行うことなく前記インストール処理を終了するように制御する制御ステップと，
を有することを特徴とする制御方法。
【請求項６】
プリンタドライバのインストール処理において，インストールするプリンタドライバが制御するプリンタに対応する既存のプリントキューを検索する検索手段と，
前記検索手段により検索された前記プリントキューが他装置と共有状態で稼働しているか否かを判定する判定手段と，
前記判定手段により前記プリントキューが他装置と共有状態で稼働していると判定された場合，オペレーティングシステムへの前記プリントキューの更新要求を行うことなく前記インストール処理を終了するように制御する制御手段として，コンピュータを機能させるためのプログラムであって，
前記オペレーティングシステムは，同一の印刷装置に対応する複数種類のプリンタドライバがインストールされている状態で前記印刷装置のプリントキューを更新する場合に，いずれかの種類のプリンタドライバを優先させてプリントキューを更新することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータにプリンタドライバをインストールする際の制御に関する。
【背景技術】
【０００２】
従来、ホストコンピュータとプリンタから成る印刷システムにおいて、同一のプリンタに対して複数種類のプリンタドライバが動作可能なコンピュータがある。
特許文献１には、同一のプリンタに対して複数種類のプリンタドライバをインストールする技術が示されている。
通常、ホストコンピュータには、複数種類のプリンタドライバをインストールできるが、同一のプリンタに対して何れか1つのプリンタドライバを使用することが一般的である。
【０００３】
ホストコンピュータにプリンタドライバをインストールすると、プリンタドライバを使用して順次印刷ジョブを処理するプリントキューがＯＳにより生成される。1つのプリンタに異なる種類のプリンタドライバを使用するプリントキューが既にあれば、ＯＳにより予め決められた優先度に従ってどちらかのプリンタドライバを使用するプリントキューに更新される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−０９９０２７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、ホストコンピュータに接続されたプリンタを共有プリンタとして他のコンピュータから使用可能にしたサーバ・クライアント型の印刷システムでは、サーバとクライアントの双方で互換性のあるプリンタドライバが稼働している必要がある。
【０００６】
サーバ側のプリンタドライバは、クライアントから送られてくる印刷データとクライアント側のプリンタドライバで設定された各種印刷設定値に基づき出力データを生成し、プリンタに送信する。
【０００７】
よって、サーバ又はクライアントの何れかに既存のプリンタドライバと互換性のない異なる種類のプリンタドライバをインストールして稼働するプリンタドライバを変更すると、サーバのプリンタドライバはクライアントから送られてくる各種印刷設定値を解釈できなくなり、クライアントからの印刷ができなくなるという問題があった。
【０００８】
本発明は、上記の問題点を解決するためになされたものである。本発明の目的は、同一の印刷装置に対応する複数種類のプリンタドライバがインストールされている状態で前記印刷装置のプリントキューを更新する場合に、いずれかの種類のプリンタドライバを優先させてプリントキューを更新するオペレーティングシステムが動作する情報処理装置にプリンタドライバを適切にインストールして適切に動作させるための仕組みを提供することである。
【課題を解決するための手段】
【０００９】
本発明は、同一の印刷装置に対応する複数種類のプリンタドライバがインストールされている状態で前記印刷装置のプリントキューを更新する場合に、いずれかの種類のプリンタドライバを優先させてプリントキューを更新するオペレーティングシステムが動作する情報処理装置であって、プリンタドライバのインストール処理において、インストールするプリンタドライバが制御するプリンタに対応する既存のプリントキューを検索する検索手段と、前記検索手段により検索された前記プリントキューが他装置と共有状態で稼働しているか否かを判定する判定手段と、前記判定手段により前記プリントキューが他装置と共有状態で稼働していると判定された場合、前記オペレーティングシステムへの前記プリントキューの更新要求を行うことなく前記インストール処理を終了するように制御する制御手段と、を有することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、同一の印刷装置に対応する複数種類のプリンタドライバがインストールされている状態で前記印刷装置のプリントキューを更新する場合に、いずれかの種類のプリンタドライバを優先させてプリントキューを更新するオペレーティングシステムが動作する情報処理装置にプリンタドライバを適切にインストールして適切に動作させることができる。
【図面の簡単な説明】
【００１１】
【図１】本実施例の印刷システムの構成の一例を示すブロック図である。
【図２】ＰＣ１及びＰＣ１０のハードウェア構成の一例を示すブロック図である。
【図３】ドライバＢのインストーラの操作画面の一例を示す図である。
【図４】実施例１におけるドライバＢのインストーラのインストール処理の一例を示すフローチャートである。
【図５】プリントキュー一覧画面を示す図である。
【図６】図４のＳ１０３にてプリントキューの共有状態を確認してインストール続行可能か否かを判定する処理の詳細を示すフローチャートである。
【図７】図４のＳ１０５にてプリントキューの印刷先を確認してインストール続行可能か否かを判定する処理の詳細を示すフローチャートである。
【図８】インストール続行確認画面の一例を示す図である。
【図９】実施例２におけるドライバＢのインストーラのインストール処理を示すフローチャートである。
【図１０】サーバＰＣで動作するドライバＢの印刷処理を示すフローチャートである。
【図１１】クライアントＰＣで動作するドライバＡの印刷設定時のプリントキューの更新処理を示すフローチャートである。
【図１２】印刷再設定指示画面、ドライバ不一致エラー画面の一例を示す図である。
【発明を実施するための形態】
【００１２】
以下、添付図面を参照して本発明の好適な実施の形態を詳しく説明する。尚、以下の実施の形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施の形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【実施例１】
【００１３】
図１は、本実施例の印刷システムの構成の一例を示すブロック図である。
図１において、データ処理装置１及び１０は、プリンタの制御を行う。ここでは、データ処理装置１及び１０は、パーソナルコンピュータ（以下、ＰＣと称す）である。なお、本実施例では、ＰＣ１及びＰＣ１０は、オペレーティングシステム（以下、ＯＳと称す）としてＭａｃＯＳ（登録商標）Ｘ１０．５を想定して説明するが、これらのＯＳに限定されるものではない。ＯＳは、図１には示していないが、ＰＣの資源、たとえばＰＣ内の各ブロックを管理する。ＰＣ１及びＰＣ１０は、一般的な情報処理装置が備えるハードウェア構成を有している。ここで、図２を用いて、ＰＣ１及び１０のハードウェア構成について説明する。
【００１４】
図２は、ＰＣ１及びＰＣ１０のハードウェア構成の一例を示すブロック図である。なお、図２の説明においては、ＰＣ１及びＰＣ１０を情報処理装置１０００と記すこととする。
【００１５】
図２に示す情報処理装置１０００において、ＣＰＵ１００１は、ＲＯＭ１００３のプログラム用ＲＯＭに記憶された、或いは外部メモリ１０１１からＲＡＭ１００２にロードされたＯＳやアプリケーション等のプログラムを実行する。また、ＲＡＭ１００２は、ＣＰＵ１００１の主メモリ、ワークエリア等としても機能する。
【００１６】
キーボードコントローラ（ＫＢＣ）１００５は、キーボード（ＫＢ）１００９や図示しないポインティングデバイス（例えばマウスやタッチパッド）からの入力を制御する。ディスプレイコントローラ（ディスプレイＣ）１００６は、ディスプレイ１０１０の表示を制御する。なお、ディスプレイ１０１０は、ＣＲＴであってもＬＣＤ等のその他の形式の表示装置であってもよい。また、ディスプレイ１０１０は、タッチパネル式のディスプレイであってもよい。
【００１７】
メモリコントローラ（ＭＣ）１００７は、ハードディスクドライブ（ＨＤＤ）やソリッドステートドライブ（ＳＳＤ）等の外部メモリ１０１１とのアクセスを制御する。ネットワークインタフェースカード（ＮＩＣ）１００８は、ネットワーク（通信インタフェース３０）を介して他の装置との通信を制御する。
外部インタフェース（外部Ｉ／Ｆ）１０１２は、有線又は無線により他の装置との通信を制御する。外部Ｉ／Ｆ１０１２は、例えばＵＳＢインタフェース等である。
【００１８】
以下、図１の説明に戻る。以下、ＰＣ１について説明するが、ＰＣ１０の構成も同様である。
ＰＣ１は、ステータス格納部３、アプリケーション４、ジョブ制御部５、プリントキュー６を備える。プリンタドライバ印刷設定部２（以下、印刷設定部と称す）、プリンタドライバ印刷処理部７（以下、印刷処理部７と称す）は、ＰＣ１にプリンタドライバをインストールするとＰＣ１上に保存（生成）される。印刷設定部２及び印刷処理部７は、ＯＳの制御に従ってアプリケーションやプリントキューと連動して印刷を制御する。なお、プリンタドライバは、印刷設定部２と印刷処理部７で構成される。
【００１９】
通信インタフェース３０は、イーサネット（登録商標）等のＬＡＮ(Local Area Network)を想定している。ＰＣ１は、通信インタフェース３０を介して同様の構成をもつＰＣ１０とデータのやり取りが可能である。なお、通信インタフェース４０は、ＵＳＢ(Universal Serial Bus)を想定しているが、ＵＳＢに限られるものではなく、他の通信インタフェース（例えば、ＳＣＣI、ＬＡＮ等）でもよい。ＰＣ１は通信インタフェース４０を介してプリンタ２０に接続される。
【００２０】
プリンタ２０は、印刷制御部２１、印刷部２２を備える。本実施例では、プリンタ２０としてインクジェットプリンタを想定しているが、これに限らない。レーザプリンタ、ファクシミリ、複写機、及びこれらの複合機であってもよい。
【００２１】
ユーザは、アプリケーション４で印刷すべきデータ（文書等）を作成する。そして、ユーザが印刷設定部２を使ってプリントダイアログ（不図示）上で各種印刷設定を行うと、印刷設定部２は前記各種印刷設定をアプリケーション４が作成したジョブチケットに格納する。さらに、ユーザが印刷を要求する操作を行うと（プリントダイアログ上の「プリント」ボタンをクリックすると）、印刷設定部２はＯＳに制御を戻し、ＯＳはアプリケーション４に制御を渡す。アプリケーション４は、上記各種印刷設定情報が格納されたジョブチケットと印刷データを含む印刷ジョブを作成し、ジョブ制御部５に送る。
【００２２】
ジョブ制御部５は、印刷ジョブを受け取ると、該印刷ジョブをプリントキューを通して印刷処理部７に送る。印刷処理部７は、受け取ったジョブチケットに保持される各種印刷設定情報に基づき印刷データを出力データに変換し、プリンタ２０に送信する。
【００２３】
ＭａｃＯＳ Ｘ１０．５では、上記のようなローカル印刷だけでなく、ＰＣ１のプリントキュー６をＰＣ１０と共有し、ＰＣ１０で作成した印刷ジョブをＰＣ１で処理するリモート印刷も可能である。
【００２４】
ＰＣ１０のアプリケーション４と印刷設定部２で印刷ジョブを作成すると、ＰＣ１０のジョブ制御部５は、受け取った印刷ジョブをＰＣ１のジョブ制御部５に送る。
ＰＣ１のジョブ制御部５は、ＰＣ１０からの印刷ジョブを受け取ると、該印刷ジョブをＰＣ１のプリントキュー６を通してＰＣ１の印刷処理部７に送る。ＰＣ１の印刷処理部７は、受け取った印刷ジョブのジョブチケットに保持される各種印刷設定情報に基づき印刷データを出力データに変換し、プリンタ２０に送信する。
【００２５】
このようなリモート印刷では、ＰＣ１０上で稼働する印刷設定部２とＰＣ１上で稼働する印刷処理部７が連動して印刷処理を行う。
なお、本実施例で想定しているＭａｃＯＳ Ｘ１０．５では、ＭａｃＯＳ Ｘ１０．４以前のＯＳで動作可能なプリンタドライバ（以下、ドライバＡと称す）と、ＭａｃＯＳ Ｘ１０．６以降のＯＳで動作可能なプリンタドライバ（以下、ドライバＢと称す）が使用可能である。本実施例においては、ドライバＡはＴｉｏｇａ用のプリンタドライバ、ドライバＢはＣＵＰＳ(Common Unix(登録商標) Printing System)用のプリンタドライバをそれぞれ想定している。ドライバＡとドライバＢはそれぞれ互換性のない種類のプリンタドライバである。また、ドライバＢは、ＭａｃＯＳ Ｘ１０．５において優先される種類のプリンタドライバである。
【００２６】
プリンタ２０のプリンタドライバとしてドライバＡとドライバＢの両方のプリンタドライバがＭａｃＯＳ Ｘ１０．５で動作するＰＣにインストールされている場合、該ＰＣでは、ＭａｃＯＳ Ｘ１０．６以降で動作可能なドライバＢが優先して使用される。ここでは、ドライバＡがインストールされてドライバＡを使用するプリントキューが生成されている状態のＰＣに、ドライバＢをインストールする場合を例に説明する。ドライバＢのインストーラにより、プリンタ２０用のプリントキューの更新が要求されると、ＯＳは、ドライバＡよりドライバＢを優先してプリンタ２０用のプリントキューを更新する。即ち、ＯＳは、ドライバＡを使用するプリンタ２０のプリントキューを、ドライバＢを使用するプリンタ２０のプリントキューに更新する。しかし、ドライバＡとドライバＢとは互換性がない。そのため、ドライバＡを用いて動作するサーバ又はクライアントの何れかにドライバＢをインストールして、上述のように、ドライバＡを使用するプリンタ２０のプリントキューが、ドライバＢを使用するプリンタ２０のプリントキューに更新されてしまうと、サーバのプリンタドライバはクライアントから送られてくる各種印刷設定値を解釈できなくなり、クライアントからの印刷ができなくなってしまう。
【００２７】
以下、ＰＣ１とＰＣ１０の双方にドライバＡがインストールされ、ドライバＡを使用するプリントキューが生成されているサーバ・クライアント型の印刷システムにおいて、サーバＰＣ１又はクライアントＰＣ１０にドライバＢをインストールする本実施例の処理について詳しく説明する。
【００２８】
以下ＰＣ１、ＰＣ１０に共通の構成を示す場合には、単にＰＣと記す。
図３は、ドライバＢのインストーラの操作画面の一例を示す図である。
インストール処理は、ドライバＢとそのインストールプログラムから成るインストーラを使って行われ、ＰＣ上でインストーラを起動するとインストール操作画面５０が、ＰＣのディスプレイ１０１０上に表示される。
【００２９】
クローズボタン５１を押下すると、ＰＣのＣＰＵ１００１は、画面５０を閉じた後にインストーラを終了する。インストールボタン５２を押下すると、ＰＣのＣＰＵ１００１は、ドライバＢのインストール処理（図４）を開始する。
【００３０】
図４は、実施例１におけるドライバＢのインストーラのインストール処理の一例を示すフローチャートである。このインストール処理は、ＰＣのＣＰＵ１００１が外部メモリ１０１１等にコンピュータ読み取り可能に記録されたインストーラプログラムを読み出して実行することにより実現される。
【００３１】
図３のインストールボタンを押下すると、ドライバＢのインストーラを実行するＰＣのＣＰＵ１００１（以下、単にＣＰＵ１００１）は、ドライバＡを使用するプリンタ２０のプリントキューが既にＰＣ上に存在するか否かを検索する（Ｓ１０１）。即ち、ＣＰＵ１００１は、インストールするドライバＢが制御するプリンタと同一のプリンタを制御するインストール済でドライバＢと互換性のない種類のプリンタドライバ（ドライバＡ）を用いる既存のプリントキューを検索する。ここでは、ＣＰＵ１００１は、ＰＰＤ(PostScript Printer Description)ファイルを参照して検索する。ＰＰＤファイルには、プリンタ及びプリンタドライバの各種情報が格納されており、ＯＳによってプリントキューと対応付けて管理されている。ＣＰＵ１００１は、このＰＰＤファイルを参照することにより、各プリントキューで使用するプリンタドライバの種類を判別できる。なお、ＰＰＤファイルは、ＰＣの外部メモリ１０１１に格納されている。
【００３２】
次に、Ｓ１０２にて、ＣＰＵ１００１は、ドライバＡを使用するプリンタ２０の既存のプリントキューがあるか否かを判定する。そして、ドライバＡを使用するプリンタ２０のプリントキューがないと判定した場合（Ｓ１０２でＮｏ）、ＣＰＵ１００１は、Ｓ１０７へ処理を進め、ドライバＢをインストールする。即ち、ドライバＢのプリンタドライバファイルをＰＣの外部メモリ１０１１に格納する。さらに、Ｓ１０８にて、ＣＰＵ１００１は、プリンタ２０のプリントキューの更新をＯＳに要求し、処理を終了する（Ｓ１０９）。このプリントキューの更新要求に応じて、ＯＳは、ドライバＢを使用するプリンタ２０のプリントキューを生成する。
【００３３】
一方、ドライバＡを使用するプリンタ２０のプリントキューがあると判定した場合（Ｓ１０２でＹｅｓ）、ＣＰＵ１００１は、Ｓ１０３へ処理を進める。
Ｓ１０３では、ＣＰＵ１００１は、プリンタ２０のプリントキューの共有状態を確認してインストール続行可能か否かを判定する。この処理は、インストール先のＰＣがサーバＰＣとして稼働している場合に、ドライバＢをインストールしても問題ないか否かを確認するために行うものである。本処理については後述する図６にて詳細に示す。
【００３４】
次に、Ｓ１０４にて、上記Ｓ１０３の確認結果を判定する。そして、「続行不可」である（「続行可能」でない）と判定した場合（Ｓ１０４でＮｏ）、ＣＰＵ１００１は、そのままインストール処理を終了する（Ｓ１０９）。
【００３５】
一方、「続行可能」であると判定した場合（Ｓ１０４でＹｅｓ）、ＣＰＵ１００１は、Ｓ１０５へ処理を進める。
Ｓ１０５では、ＣＰＵ１００１は、プリンタ２０のプリントキューの印刷先を確認してインストール続行可能か否かを判定する。この処理は、インストール先のＰＣがクライアントＰＣとして稼働している場合に、ドライバＢをインストールしても問題ないか否かを確認するために行うものである。本処理については後述する図７にて詳細に示す。
【００３６】
次に、Ｓ１０６にて、上記Ｓ１０５の確認結果を判定する。そして、「続行不可」である（「続行可能」でない）と判定した場合（Ｓ１０６でＮｏ）、ＣＰＵ１００１は、そのままインストール処理を終了する（Ｓ１０９）。
【００３７】
一方、「続行可能」であると判定した場合（Ｓ１０６でＹｅｓ）、ＣＰＵ１００１は、Ｓ１０７に処理を進め、ドライバＢをインストールする（ドライバＢのプリンタドライバファイルをＰＣの外部メモリ１０１１に格納する）。さらに、ＣＰＵ１００１は、Ｓ１０８にて、プリンタ２０のプリントキューの更新をＯＳに要求し、処理を終了する（Ｓ１０９）。このプリントキューの更新要求に応じて、ＯＳは、ドライバＡを使用するプリンタ２０のプリントキューを、ドライバＢを使用するプリンタ２０のプリントキューに更新する。
【００３８】
以上示したように、ドライバＢのインストーラは、プリンタ２０のドライバＡを用いるプリントキューの共有状態や印刷先に基づきインストール続行不可の場合、ＯＳへのプリンタ２０のプリントキューの更新要求を行うことなくドライバＢのインストール処理を終了するように制御する。
【００３９】
図５は、プリントキュー一覧画面を示す図である。
プリントキュー一覧画面６０は、ユーザがＰＣのＫＢやマウス等にて、ＯＳのプリント環境設定機能の表示を選択操作すると、ＰＣのＣＰＵ１００１により、ディスプレイ１０１０に表示される。
【００４０】
プリントキュー一覧表示部６１には、使用可能なプリントキューが表示される。プリントキュー操作部６２には、プリントキュー一覧表示部で選択されているプリントキューの共有設定を操作するための共有設定チェックボックス６３が表示される。このチェックボックスにより、プリントキューをネットワーク上の他のＰＣと共有するか否かを設定できる。この設定は、ＰＣの外部メモリ１０１１内に保存される。
【００４１】
図６は、図４のＳ１０３にてプリントキューの共有状態を確認してインストール続行可能か否かを判定する処理の詳細を示すフローチャートである。この処理は、ＰＣのＣＰＵ１００１が外部メモリ１０１１等にコンピュータ読み取り可能に記録されたインストーラプログラムを読み出して実行することにより実現される。
【００４２】
ＣＰＵ１００１は、初めにプリンタ２０のプリントキューの共有情報を取得する（Ｓ２０１）。ここでは、ＣＰＵ１００１は、図５のプリントキュー一覧画面で設定されるプリントキューの共有設定状態を示す情報をＰＣの外部メモリ１０１１から取得する。
【００４３】
次に、Ｓ２０２にて、ＣＰＵ１００１は、上記Ｓ２０１で取得したプリンタ２０のプリントキューの共有設定状態を示す情報から共有状態を判定する。そして、プリンタ２０のプリントキューが共有状態でないと判定した場合（Ｓ２０２でＮｏ）、ＣＰＵ１００１は、Ｓ２１０に処理を進め、確認結果を「続行可能」として処理を終了し（Ｓ２１１）、図４のフローチャートに処理を戻す。
【００４４】
一方、プリンタ２０のプリントキューが共有状態であると判定した場合（Ｓ２０２でＹｅｓ）、ＣＰＵ１００１は、インストール先のＰＣがサーバ・クライアント型の印刷システムにおけるサーバＰＣであると判断し、Ｓ２０３に処理を進める。
【００４５】
Ｓ２０３では、ＣＰＵ１００１は、過去の印刷時に生成されたスプールファイルを参照する。スプールファイルには、印刷ジョブを作成したＰＣや作成に使用したドライバの情報が含まれ、参照することによりクライアントＰＣからの実際の印刷状況を確認できる。なお、スプールファイルは、ＰＣの外部メモリ１０１１に格納されている。
【００４６】
本実施例ではスプールファイルを参照することによって、実際の印刷状況を確認しているが、他の方法を用いて、印刷状況を確認してもよい。例えば、まずクライアント上で動作するプリンタドライバが、印刷ジョブ作成時に自身が動作するコンピュータを判別するための情報をジョブチケットにジョブ作成ＰＣ情報として格納する。そしてサーバ上で動作するプリンタドライバが、印刷ジョブ処理時にジョブ作成ＰＣ情報をジョブチケットから取得し、履歴として保存しておき、この履歴を上記Ｓ２０３にて参照するようにする。このようにすることよって、サーバＰＣ上で動作するプリンタドライバがクライアントからの印刷状況を確認しても良い。
【００４７】
ＣＰＵ１００１は、スプールファイルを参照した結果をＳ２０４にて判定する。そして、クライアントＰＣとして稼働する他のＰＣでドライバＡを使用して作成した印刷ジョブのスプールファイルがないと判定すると、ＣＰＵ１００１は、Ｓ２１０に処理を進める。Ｓ２１０では、ＣＰＵ１００１は、確認結果を「続行可能」として処理を終了し（Ｓ２１１）、図４のフローチャートに処理を戻す。
【００４８】
一方、クライアントＰＣとして稼働する他のＰＣでドライバＡを使用して作成した印刷ジョブのスプールファイルがあると判定すると、ＣＰＵ１００１は、
プリンタ２０のプリントキューが他装置と共有状態で稼働していると判断し、Ｓ２０５に処理を進める。
【００４９】
Ｓ２０５では、ＣＰＵ１００１は、図８（ａ）に示すインストール続行確認画面７０をディスプレイ１０１０に表示し、Ｓ２０６にて、インストールの続行／中断の選択を受け付ける。
【００５０】
図８（ａ）は、インストール続行確認画面７０の一例を示す図である。
インストールを続行する場合には、インストール続行確認画面７０においてＯＫボタン７２を押下する。インストールを中断する場合には、インストール続行確認画面７０においてキャンセルボタン７１を押下する。
【００５１】
インストール続行確認画面７０でのインストールの続行／中断の選択操作を検知すると、ＣＰＵ１００１は、Ｓ２０７にて、インストールの続行／中断の選択操作を判定する。
キャンセルボタン７１が押下されていた場合には、ＣＰＵ１００１は、中断（続行しない）と判定し（Ｓ２０７でＮｏ）、Ｓ２０８にて、確認結果を「続行不可」として処理を終了し（Ｓ２１１）、図４のフローチャートに処理を戻す。
【００５２】
一方、ＯＫボタン７２が押下されていた場合には、ＣＰＵ１００１は、続行と判定し（Ｓ２０７でＹｅｓ）、Ｓ２０９にて、確認結果を「続行可能」として処理を終了し（Ｓ２１１）、図４のフローチャートに処理を戻す。
【００５３】
なお、プリンタ２０のドライバＡを用いるプリントキューが他装置と共有状態であると判定した場合（Ｓ２０２でＹｅｓ）、ＣＰＵ１００１は、そのままＳ２０８に処理を進め、インストール続行不可と判定するように構成してもよい。
【００５４】
また、プリンタ２０のドライバＡを用いるプリントキューが他装置と共有状態で稼働していると判定した場合（Ｓ２０４でＹｅｓ）、ＣＰＵ１００１は、そのままＳ２０８に処理を進め、インストール続行不可と判定するように構成してもよい。
【００５５】
以上のように、ドライバＢのインストーラは、プリンタ２０のドライバＡを用いるプリントキューが共有状態で稼働している場合、ＯＳへのプリンタ２０のプリントキューの更新要求を行うことなくドライバＢのインストール処理を終了するように制御する。
【００５６】
図７は、図４のＳ１０５にてプリントキューの印刷先を確認してインストール続行可能か否かを判定する処理の詳細を示すフローチャートである。この処理は、ＰＣのＣＰＵ１００１が外部メモリ１０１１等にコンピュータ読み取り可能に記録されたインストーラプログラムを読み出して実行することにより実現される。
【００５７】
ＣＰＵ１００１は、初めにプリンタ２０のプリントキューの印刷先を取得する（Ｓ３０１）。ここでは、ＰＰＤファイルを参照して、プリンタ２０のプリントキューの印刷先がローカルプリンタかリモートプリンタかの情報を取得する。上述したように、ＰＰＤファイルには、プリンタ及びプリンタドライバの各種情報が格納されており、ＯＳによってプリントキューと対応付けて管理されている。ＣＰＵ１００１は、このＰＰＤファイルを参照することにより、プリントキューの印刷先を判別できる。
【００５８】
次に、Ｓ３０２にて、ＣＰＵ１００１は、上記Ｓ３０１で取得した印刷先がリモートプリンタであるか否かを判定する。即ち、ＣＰＵ１００１は、ドライバＢと同一のプリンタを制御するインストール済のドライバＡを用いるプリントキューの出力先が他装置を介して接続された印刷装置（リモートプリンタ）であるか否かを判定する。そして、印刷先がローカルプリンタである（リモートプリンタでない）と判定した場合（Ｓ３０２でＮｏ）、ＣＰＵ１００１は、Ｓ３０８にて確認結果を「続行可能」として処理を終了し（Ｓ３０９）、図４のフローチャートに処理を戻す。
【００５９】
一方、印刷先がリモートプリンタであると判定した場合（Ｓ３０２でＹｅｓ）、ＣＰＵ１００１は、インストール先のＰＣがサーバ・クライアント型の印刷システムにおけるクライアントＰＣであると判断し、Ｓ３０３に処理を進める。
【００６０】
Ｓ３０３では、ＣＰＵ１００１は、図８（ｂ）に示すインストール続行確認画面８０をディスプレイ１０１０に表示し、Ｓ３０４にて、インストールの続行／中断の選択を受け付ける。
【００６１】
図８（ｂ）は、インストール続行確認画面８０の一例を示す図である。
インストールを続行する場合には、インストール続行確認画面８０においてＯＫボタン８２を押下する。インストールを中断する場合には、インストール続行確認画面８０においてキャンセルボタン８１を押下する。
【００６２】
インストール続行確認画面８０でのインストールの続行／中断の選択操作を検知すると、ＣＰＵ１００１は、Ｓ３０５にて、インストールの続行／中断の選択操作を判定する。
キャンセルボタン８１が押下されていた場合には、ＣＰＵ１００１は、中断（続行しない）と判定し（Ｓ３０５でＮｏ）、Ｓ３０６にて、確認結果を「続行不可」として処理を終了し（Ｓ３０９）、図４のフローチャートに処理を戻す。
【００６３】
一方、ＯＫボタン８２が押下されていた場合には、ＣＰＵ１００１は、続行と判定し（Ｓ３０５でＹｅｓ）、Ｓ３０７にて、確認結果を「続行可能」として処理を終了し（Ｓ３０９）、図４のフローチャートに処理を戻す。
【００６４】
なお、プリンタ２０のドライバＡを用いるプリントキューの印刷先がリモートプリンタであると判定した場合（Ｓ３０２でＹｅｓ）、ＣＰＵ１００１は、そのままＳ３０６に処理を進め、インストール続行不可と判定するように構成してもよい。以上のように、ドライバＢのインストーラは、プリンタ２０のドライバＡを用いるプリントキューの印刷先がリモートプリンタの場合、ＯＳへのプリンタ２０のプリントキューの更新要求を行うことなくドライバＢのインストール処理を終了するように制御する。
【００６５】
以上説明したように、実施例１の印刷システムによれば、同一の印刷装置に対応する複数種類のプリンタドライバがインストールされている状態で前記印刷装置のプリントキューを更新する場合に、いずれかの種類のプリンタドライバを優先させてプリントキューを更新するオペレーティングシステムが動作するコンピュータ、特にサーバ又はクライアントとして稼働するコンピュータに、プリンタドライバのインストール処理において、リモート印刷を正しく行えなくなる場合には、その旨をユーザに通知するとともに、ＯＳへのプリントキューの更新要求を行うことなくインストール処理を終了することができる。
【００６６】
なお、本実施例では、ドライバＡを用いるプリントキューが共有状態で稼働している場合や印刷先がリモートプリンタの場合に、ドライバＢのインストールと、ＯＳへのプリントキューの更新要求を行うことなくドライバＢのインストール処理を終了する構成を示した。しかし、上記のような場合でも、ドライバＢのインストールは行い、ＯＳへのプリントキューの更新要求を行うことなくドライバＢのインストール処理を終了するように構成してもよい。
【００６７】
この構成でも、同一の印刷装置に対応する複数種類のプリンタドライバがインストールされている状態で前記印刷装置のプリントキューを更新する場合に、いずれかの種類のプリンタドライバを優先させてプリントキューを更新するオペレーティングシステムが動作するコンピュータ（特にサーバ・クライアント型の印刷システムを構成するコンピュータ）にプリンタドライバを適切にインストールして適切に動作させることができる。
【実施例２】
【００６８】
次に、本発明の実施例２を説明する。以下、実施例１と異なる部分のみ説明する。
以下、ＰＣ１とＰＣ１０の双方にドライバＡがインストールされ、ドライバＡを使用するプリントキューが生成されているサーバ・クライアント型の印刷システムにおいて、ドライバＢのインストール処理、及び、ドライバＢのインストール処理と関係するドライバＡ及びドライバＢの印刷処理について詳細に説明する。
【００６９】
図９は、実施例２におけるドライバＢのインストーラのインストール処理を示すフローチャートである。このインストール処理は、ＰＣのＣＰＵ１００１が外部メモリ１０１１等にコンピュータ読み取り可能に記録されたインストーラプログラムを読み出して実行することにより実現される。
【００７０】
図３のインストールボタンを押下すると、インストーラを実行するＰＣのＣＰＵ１００１（以下、単にＣＰＵ１００１）は、ドライバＢをインストールする。即ち、ドライバＢのプリンタドライバファイルをＰＣの外部メモリ１０１１に格納する。
【００７１】
次に、ＣＰＵ１００１は、ドライバＡを使用するプリントキューが既にＰＣ上に存在するか否かを検索する（Ｓ４０２）。この処理は図４のＳ１０１と同様である。
次に、Ｓ４０３にて、ＣＰＵ１００１は、ドライバＡを使用するプリンタ２０のプリントキューがあるか否かを判定する。そして、ドライバＡを使用するプリンタ２０のプリントキューがないと判定した場合、ＣＰＵ１００１は、Ｓ４０６へ処理を進める。Ｓ４０６では、ＣＰＵ１００１は、プリンタ２０のプリントキューの更新をＯＳに要求し、処理を終了する（Ｓ４０７）。このプリントキューの更新要求に応じて、ＯＳは、ドライバＢを使用するプリンタ２０のプリントキューを生成する。
【００７２】
一方、Ｓ４０３にて、ドライバＡを使用するプリンタ２０のプリントキューがあると判定した場合、ＣＰＵ１００１は、Ｓ４０４へ処理を進める。
Ｓ４０４では、ＣＰＵ１００１は、プリンタ２０のプリントキューの印刷先を取得する。この処理は図７のＳ３０１と同様である。
次に、Ｓ４０５にて、ＣＰＵ１００１は、上記Ｓ４０４で取得した印刷先がリモートプリンタであるか否かを判定する。そして、印刷先がローカルプリンタである（リモートプリンタでない）と判定した場合（Ｓ４０５でＮｏ）、ＣＰＵ１００１は、Ｓ４０６へ処理を進める。Ｓ４０６では、プリンタ２０のプリントキューの生成をＯＳに要求し、処理を終了する（Ｓ４０７）。このプリントキューの更新要求に応じて、ＯＳは、ドライバＡを使用するプリンタ２０のプリントキューを、ドライバＢを使用するプリンタ２０のプリントキューに更新する。
【００７３】
一方、印刷先がリモートプリンタであると判定した場合（Ｓ４０５でＹｅｓ）、ＣＰＵ１００１は、インストール先のＰＣがサーバ・クライアント型の印刷システムにおけるクライアントＰＣであると判断し、プリントキューを更新せずに処理を終了する（Ｓ４０７）。
【００７４】
以上のように、ドライバＢのインストーラは、プリンタ２０のドライバＡを用いるプリントキューの印刷先がリモートプリンタの場合、ＯＳへのプリンタ２０のプリントキューの更新要求を行うことなくドライバＢのインストール処理を終了するように制御する。
【００７５】
なお、印刷先がリモートプリンタであると判定した場合（Ｓ４０５でＹｅｓ）、ＰＣの外部メモリ１０１１に、図８（ｂ）のような警告画面を表示し、ユーザがＯＫボタンを選択することにより、ドライバＡを用いるプリントキューをドライバＢを用いるプリントキューに更新する処理を実行させることができるように構成してもよい。
【００７６】
なお、実施例２のインストール処理では、プリントキューの共有状態を確認しない。よってインストール先のＰＣがサーバＰＣとして稼働している場合は、ドライバＢをインストールし、プリントキューで使用するプリンタドライバをドライバＢに更新する。一方、インストール先のＰＣがクライアントＰＣとして稼働している場合は、ドライバＢをインストールするが、ドライバＡを使用するプリントキューが既に存在していればそのキューの更新は行わない。よってクライアントＰＣにおいては、ドライバＢをインストールしてもドライバＢでなくドライバＡが引き続き使用されることとなる。なお、クライアントＰＣにおけるプリントキューの更新は、印刷実行時にサーバＰＣにてドライバＢが稼働していることを確認した後で行われる。
【００７７】
以下、クライアントＰＣからの印刷実行時に、クライアントＰＣのプリントキューを更新する処理について説明する。
図１０は、サーバＰＣで動作するドライバＢの印刷処理を示すフローチャートである。この処理は、サーバとして動作するＰＣ１のＣＰＵ１００１が外部メモリ１０１１等にコンピュータ読み取り可能に記録（インストール）されたドライバＢのプログラムを読み出して実行することにより実現される。
【００７８】
ＰＣ１で印刷処理が開始されると、ＰＣ１のドライバＢの印刷処理部７（即ち、ドライバＢを実行するＰＣ１のＣＰＵ１００１）は、Ｓ６０１にて、ジョブチケットから印刷ジョブを作成したＰＣの情報を取得する。なお、ジョブチケットには、印刷ジョブの作成時に印刷ジョブの処理に必要な各種情報が格納され、印刷ジョブとともにジョブ制御部５を経て印刷処理部７に送られる。本実施例では、印刷ジョブを作成したＰＣや作成に使用したドライバの種類もジョブチケットに格納される。
【００７９】
次に、Ｓ６０２にて、ＰＣ１のドライバＢの印刷処理部７は、上記Ｓ６０１で取得した、印刷ジョブを作成したＰＣがクライアントＰＣとして稼働する他のＰＣ（例えばＰＣ１０）であるか否かを判定する。そして、印刷ジョブを作成したＰＣがクライアントＰＣとして稼働する他のＰＣでないと判定した場合（Ｓ６０２でＮｏ）、ＰＣ１のドライバＢの印刷処理部７は、Ｓ６０７に処理を進め、通常の印刷処理を行い、終了する（Ｓ６０６）。
【００８０】
一方、印刷ジョブを作成したＰＣがクライアントＰＣとして稼働する他のＰＣであると判定した場合（Ｓ６０２でＹｅｓ）、ＰＣ１のドライバＢの印刷処理部７は、サーバ・クライアント型の印刷システムにおいて他のクライアントＰＣからの印刷ジョブであると判断し、Ｓ６０３に処理を進める。
【００８１】
Ｓ６０３では、ＰＣ１のドライバＢの印刷処理部７は、ドライバＢの印刷処理部７は、引き続きジョブチケットから印刷ジョブの作成に使用したドライバの種類を取得する。
さらに、Ｓ６０４にて、ＰＣ１のドライバＢの印刷処理部７は、上記Ｓ６０３にて取得したドライバの種類がドライバＢか否かを判定する。そして、印刷ジョブの作成に使用したドライバの種類がドライバＢであると判定した場合（Ｓ６０４でＹｅｓ）、ＰＣ１のドライバＢの印刷処理部７は、通常の印刷処理を行い（Ｓ６０７）、処理を終了する（Ｓ６０６）。
【００８２】
一方、印刷ジョブの作成に使用したドライバの種類がドライバＡである（ドライバＢでない）と判定した場合（Ｓ６０４でＹｅｓ）、ＰＣ１のドライバＢの印刷処理部７は、Ｓ６０５に処理を進める。
【００８３】
Ｓ６０５では、ＰＣ１のドライバＢの印刷処理部７は、ドライバ不一致エラーをＯＳに通知する。この通知は、ＯＳにより、サーバＰＣとクライアントＰＣのステータス格納部にそれぞれ保存されると共に、エラーとしてユーザに通知される（ＰＣ１のディスプレイ１０１０に表示される）。そして、ＰＣ１のドライバＢの印刷処理部７は、印刷処理を行わずに処理を終了する（Ｓ６０６）。
【００８４】
以上により、サーバ・クライアント型のシステムにおいて、クライアントＰＣからの印刷ジョブがサーバＰＣのドライバとは異なる種類のドライバから実施されていた場合に、サーバＰＣは自身のドライバの種類との不一致を検知してエラーとして通知する。
【００８５】
次に、クライアントＰＣのドライバの動作について説明する。
図１１は、クライアントＰＣで動作するドライバＡの印刷設定時のプリントキューの更新処理を示すフローチャートである。この処理は、クライアントとして動作するＰＣ１０のＣＰＵ１００１が外部メモリ１０１１等にコンピュータ読み取り可能に記録（インストール）されたドライバＡのプログラムを読み出して実行することにより実現される。
【００８６】
ＰＣ１０でプリンタ２０を用いる印刷の印刷設定が開始されると、ＰＣ１０のドライバＡの印刷設定部２（即ち、ドライバＡを実行するＰＣ１０のＣＰＵ１００１）は、Ｓ７０１にて、印刷設定入力画面（プリントダイアログ）をＰＣ１０のディスプレイ１０１０に表示する。そして、ＰＣ１０のドライバＡの印刷設定部２は、ユーザからの各種印刷設定値の入力を受け付ける（Ｓ７０２）。
【００８７】
次に、ユーザが各種印刷設定値を入力して印刷を要求する操作を行うと（プリントダイアログ上の「プリント」ボタンをクリックすると）、ＰＣ１０のドライバＡの印刷設定部２は、Ｓ７０３にて、プリンタ２０のプリントキューの印刷先を取得する。ここでは、ＰＰＤファイルを参照して、プリンタ２０のプリントキューの印刷先がローカルプリンタかリモートプリンタかの情報を取得する。
【００８８】
次に、Ｓ７０４にて、ＰＣ１０のドライバＡの印刷設定部２は、上記Ｓ７０３で取得した印刷先がリモートプリンタであるか否かを判定する。そして、印刷先がローカルプリンタである（リモートプリンタでない）と判定した場合（Ｓ７０４でＮｏ）、ＰＣ１０のドライバＡの印刷設定部２は、Ｓ７０９に処理を進める。
【００８９】
Ｓ７０９では、ＰＣ１０のドライバＡの印刷設定部２は、印刷ジョブを発行（作成）するためにＯＳに制御を戻す。ＯＳはアプリケーション４に制御を渡し、アプリケーション４は、各種印刷設定情報が格納されたジョブチケットと印刷データを含む印刷ジョブを作成し、ジョブ制御部５に送る。上記Ｓ７０９を終了すると、ドライバＡの印刷設定部２は、印刷設定処理を終了する（Ｓ７１０）。
【００９０】
一方、印刷先がリモートプリンタであると判定した場合（Ｓ７０４でＹｅｓ）、
ＰＣ１０のドライバＡの印刷設定部２は、Ｓ７０５に処理を進める。
Ｓ７０５では、ＰＣ１０のドライバＡの印刷設定部２は、ＰＣ１０のステータス格納部３を参照し、Ｓ７０６にて、サーバＰＣからドライバ不一致エラーが通知されているか否かを確認する。そして、ドライバ不一致エラーが通知されていないと判定した場合（Ｓ７０６でＮｏ）、ＰＣ１０のドライバＡの印刷設定部２は、Ｓ７０７に処理を進める。
【００９１】
ＰＣ１０のドライバＡの印刷設定部２は、ＰＣ１０の識別情報を、ＰＣ１０のアプリケーションが生成したジョブチケットに格納し（Ｓ７０７）、ドライバの種類（ドライバＡ）を上記ジョブチケットに格納する（Ｓ７０８）。さらに、ドライバＡの印刷設定部２は、Ｓ７０９にて、印刷ジョブを発行（作成）するためにＯＳに制御を戻す。ＯＳはアプリケーション４に制御を渡し、アプリケーション４は、上記ジョブチケットと印刷データを含む印刷ジョブを作成し、ジョブ制御部５に送る。上記Ｓ７０９を終了すると、ドライバＡの印刷設定部２は、印刷設定処理を終了する（Ｓ７１０）。
【００９２】
一方、ドライバ不一致エラーが通知されていると判定した場合（Ｓ７０６でＹｅｓ）、ＰＣ１０のドライバＡの印刷設定部２は、Ｓ７１１に処理を進める。
Ｓ７１１では、ＰＣ１０のドライバＡの印刷設定部２は、ドライバＢがインストールされているか検索し、Ｓ７１２にて、ドライバＢがインストール済みか否かを判定する。即ち、ドライバＢのプリンタドライバファイルがＰＣ１０の外部メモリ１０１１内に格納されているか否かを判定する。そして、ドライバＢがインストールされていると判定した場合（Ｓ７１２でＹｅｓ）、ＰＣ１０のドライバＡの印刷設定部２は、Ｓ７１４に処理を進める。
【００９３】
Ｓ７１４では、ＰＣ１０のドライバＡの印刷設定部２は、プリンタ２０のプリントキューの生成をＯＳに要求し、処理を終了する（Ｓ７１０）。このプリントキューの更新要求に応じて、ＰＣ１０のＯＳは、ドライバＡを使用するプリンタ２０のプリントキューを、ドライバＢを使用するプリンタ２０のプリントキューに更新する。
【００９４】
次に、Ｓ７１５にて、ＰＣ１０のドライバＡの印刷設定部２は、図１２（ａ）に示す印刷再設定指示画面９０をＰＣ１０のディスプレイ１０１０に表示する。
図１２（ａ）は、印刷再設定指示画面９０の一例を示す図である。
そして、印刷再設定指示画面９０においてＯＫボタン９１が押下されたら、ＰＣ１０のドライバＡの印刷設定部２は、本画面９０を閉じ、印刷ジョブを作成させることなく、印刷設定処理を終了する（Ｓ７１０）。上記Ｓ７１５の処理により、以後、ユーザがＰＣ１０でプリンタ２０の印刷設定を開始すると、ＰＣ１０のドライバＢの印刷設定部２により、印刷設定処理が行われることとなる。
【００９５】
一方、ドライバＢがインストールされていないと判定した場合（Ｓ７１２でＮｏ）、ＰＣ１０のドライバＡの印刷設定部２は、Ｓ７１３に処理を進める。
Ｓ７１３では、ＰＣ１０のドライバＡの印刷設定部２は、図１２（ｂ）に示すドライバ不一致エラー画面９２をＰＣ１０のディスプレイ１０１０に表示する。
図１２（ｂ）は、ドライバ不一致エラー画面９２の一例を示す図である。
そして、ドライバ不一致エラー画面９２においてＯＫボタン９３が押下されたら、ＰＣ１０のドライバＡの印刷設定部２は、本画面９２を閉じ、印刷ジョブを作成させることなく、印刷設定処理を終了する（Ｓ７１０）。
【００９６】
以上のように、ドライバＡは、印刷ジョブの処理時に、クライアントＰＣ１０に、ドライバＡを用いるプリントキューの出力先がリモートプリンタであるか判定し、リモートプリンタであると判定した場合、サーバＰＣ１からエラーの通知を受けた履歴が有るか判定し、エラーの通知を受けた履歴が有ると判定した場合、ドライバＢがＰＣ１０にインストール済であるか判定し、インストール済であると判定した場合、ＯＳにプリンタ２０のプリントキューの更新を要求する処理を実行させる構成を有する。この構成により、サーバ・クライアント型のシステムにおいて、ジョブ処理時に、クライアントＰＣ１０で稼働するドライバがサーバＰＣで稼働するドライバとは異なる種類の（互換性のない）ドライバである場合に、同一の種類の（互換性のない）ドライバにクライアントＰＣ１０で稼働するドライバを更新することができる。
【００９７】
以上説明してきたように、実施例２の印刷システムによれば、クライアントのドライバはサーバで稼働するドライバの種類が異なっていることを検知すると、サーバと同じ種類のドライバが稼働するようにプリントキューを更新することができる。
【実施例３】
【００９８】
本発明の実施例では、異なる種類のプリンタドライバとしてＭａｃＯＳ Ｘ１０．４以前のＯＳで動作可能なドライバＡとＭａｃＯＳ Ｘ１０．６以降のＯＳで動作可能なドライバＢを例にあげたが、これに限定されるものではない。
【００９９】
例えば、同一の印刷装置に対応する複数種類のプリンタドライバがインストールされている状態で前記印刷装置のプリントキューを更新する場合に、いずれかの種類のプリンタドライバを優先させてプリントキューを更新するオペレーティングシステムであれば本発明を適用可能である。
【０１００】
なお、上記複数種類のプリンタドライバは、プリンタドライバの印刷設定方法の違いや処理可能なデータ形式の違い、プログラムファイルの構成の違いなどにより、互いに異なる複数種類のプリンタドライバであれば、本発明を適用可能である。
【０１０１】
さらに、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
また、上記各実施例を組み合わせた構成も全て本発明に含まれるものである。
【０１０２】
（他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【０１０３】
また、本発明は、複数の機器から構成されるシステムに適用しても、１つの機器からなる装置に適用してもよい。
本発明は上記実施例に限定されるものではなく、本発明の趣旨に基づき種々の変形（各実施例の有機的な組合せを含む）が可能であり、それらを本発明の範囲から除外するものではない。即ち、上述した各実施例及びその変形例を組み合わせた構成も全て本発明に含まれるものである。
【符号の説明】
【０１０４】
１，１０    データ処理装置（ＰＣ）
２    プリンタドライバ印刷設定部
３    ステータス格納部
４    アプリケーション
５    ジョブ制御部
６    プリントキュー
７    プリンタドライバ印刷処理部
２０    プリンタ
３０，４０    通信インタフェース
【図１】
0005704947.tif 000002
【図２】
0005704947.tif 000003
【図３】
0005704947.tif 000004
【図４】
0005704947.tif 000005
【図５】
0005704947.tif 000006
【図６】
0005704947.tif 000007
【図７】
0005704947.tif 000008
【図８】
0005704947.tif 000009
【図９】
0005704947.tif 000010
【図１０】
0005704947.tif 000011
【図１１】
0005704947.tif 000012
【図１２】
0005704947.tif 000013