(57)【要約】【課題】  複数バージョンのアプリケーションにおいて共通で使用される共通ファイルに障害が発生した場合でも、全てのバージョンのアプリケーションが正常に動作するファイルに自動的に修復可能とする。【解決手段】  クライアント端末コンピュータ２０００は、複数バージョンのアプリケーションで共通に使用される共通ファイルに係る情報である第１のファイル情報に基づいて共通ファイルの種類毎に最新の共通ファイルを判別し、最新の共通ファイルに対応する第１のファイル情報を共通ファイルの種類毎に保持する。また、クライアント端末コンピュータ２０００は、上記第１のファイル情報と、内部に記憶される共通ファイルに係る情報である第２のファイル情報とを共通ファイルの種類毎に比較し、その比較結果、双方が一致しなかった場合、当該第２のファイル情報に対応する共通ファイルを当該第１のファイルに対応する共通ファイルに置き換える。【選択図】  図１
2006107388.tif 000002
【特許請求の範囲】
【請求項１】
複数バージョンのアプリケーションを同時に保持する情報処理装置であって、
前記複数バージョンのアプリケーションで共通に使用される共通ファイルに係る情報である第１のファイル情報を外部装置から取得する第１の取得手段と、
前記第１のファイル情報に基づいて共通ファイルの種類毎に最新の共通ファイルを判別する判別手段と、
前記判別手段により判別された前記最新の共通ファイルに対応する前記第１のファイル情報を、共通ファイルの種類毎に保持する保持手段と、
当該情報処理装置内に記憶される共通ファイルに係る情報である第２のファイル情報を取得する第２の取得手段と、
前記第１のファイル情報と前記第２のファイル情報とを共通ファイルの種類毎に比較する比較手段と、
前記第１のファイル情報と前記第２のファイル情報との比較結果、双方が一致しなかった場合、前記第２のファイル情報に対応する共通ファイルを前記第１のファイルに対応する共通ファイルに置き換える置換手段とを有することを特徴とする情報処理装置。
【請求項２】
前記複数バージョンのアプリケーションのファイル構成を示すファイル構成情報を前記外部装置から取得する第３の取得手段と、
前記ファイル構成情報に基づいて、前記複数バージョンのアプリケーションに含まれる共通ファイルを識別する識別手段とを更に有し、
前記第１の取得手段は、前記識別手段による識別結果に基づいて、前記第１のファイル情報を前記外部装置から取得することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記第２の取得手段、前記比較手段及び前記置換手段は、印刷指示に応じて処理を実行することを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記第２の取得手段、前記比較手段及び前記置換手段は、印刷処理におけるエラー発生に応じて処理を実行することを特徴とする請求項１乃至３の何れか１項に記載の情報処理装置。
【請求項５】
発生したエラーの原因となったファイルの属性を判定するエラー判定手段を更に有し、
前記第２の取得手段、前記比較手段及び前記置換手段は、前記エラー判定手段により判定されたファイルの属性に該当する共通ファイルについて処理を実行することを特徴とする請求項３に記載の情報処理装置。
【請求項６】
前記第２の取得手段、前記比較手段及び前記置換手段は、印刷指示を受けたアプリケーションに含まれる共通ファイルについてのみ処理を実行することを特徴とする請求項１乃至５の何れか１項に記載の情報処理装置。
【請求項７】
複数バージョンのアプリケーションを同時に保持する情報処理装置による情報処理方法であって、
前記複数バージョンのアプリケーションで共通に使用される共通ファイルに係る情報である第１のファイル情報を外部装置から取得する第１の取得ステップと、
前記第１のファイル情報に基づいて共通ファイルの種類毎に最新の共通ファイルを判別する判別ステップと、
当該情報処理装置内に記憶される共通ファイルに係る情報である第２のファイル情報を取得する第２の取得ステップと、
前記判別ステップにより判別された前記最新の共通ファイルに対応する前記第１のファイル情報と前記第２のファイル情報とを共通ファイルの種類毎に比較する比較ステップと、
前記第１のファイル情報と前記第２のファイル情報との比較結果、双方が一致しなかった場合、前記第２のファイル情報に対応する共通ファイルを前記第１のファイルに対応する共通ファイルに置き換える置換ステップとを含むことを特徴とする情報処理方法。
【請求項８】
請求項７に記載の情報処理方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、同時に保持される複数バージョンのアプリケーションの共通ファイルに障害が発生した場合に、全てのバージョンのアプリケーションが正常に動作できるようなファイル修復を自動的に行うことを可能とする情報処理装置、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
近年、プリンタドライバをインストールする環境も複雑化し、異なるバージョンのプリンタドライバが複数インストールされることも増加してきている。異なるバージョンのプリンタドライバが複数インストールされている環境において、プリンタドライバを構成するファイルが、ユーザの誤ったファイル操作を行ったり、古いバージョンのプリンタドライバが上書きインストールされる等の何らかの理由により、破損及び削除、またはファイルがバージョンダウンするなどの事象が発生するとプリンタドライバが正常に動作せず、プリンタでの印刷が行われなくなってしまう事象が発生していた。
【０００３】
特許文献１には、アプリケーションを構成するファイルの修復方法として、ファイル障害が発生した場合に、ファイル障害が発生する以前の状態にファイルの修復を行うシステムが開示されている。特許文献１に開示されるシステムでは、補助記憶装置内にある各ファイルそれぞれのレコード情報を基に修復が行われる。
【０００４】
【特許文献１】特開平４−１６０４４２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に開示されるアプリケーション構成ファイル修復システムにおいては、単一バージョンのアプリケーションでのみで構成されるシステムにおいては正常なファイル修復が可能であるが、複数バージョンのアプリケーションが混在するシステムにおいては、そのファイル障害が発覚したバージョンのアプリケーションのファイル情報を基に修復してしまうために、複数バージョンのアプリケーションが混在するシステムにて、他のバージョンのアプリケーションを起動した際に、そのアプリケーションが正常に動作しなくなる問題がある。
【０００６】
例えば、複数バージョンのアプリケーション（例えば、プリンタドライバ）が存在している環境において、古いバージョンのアプリケーションを使用している際に、古いバージョンのアプリケーションに含まれる、複数バージョンのアプリケーションにて共通で使用するファイルでファイル障害が発生した場合、特許文献１に開示されたシステムでは古いバージョンの共通ファイル情報で修復してしまう。従って、新しいバージョンのアプリケーションをその後起動した場合、新しいバージョンのアプリケーションでは修復されたファイルを使用できないために、再度ファイル障害が発覚して、印刷が実行できなくなる。このように、特許文献１に開示された発明では、特にプリンタドライバのように異なるバージョンで共通で使用しているファイルが存在する場合の対処に欠けている。
【０００７】
そこで、本発明の目的は、複数バージョンのアプリケーションにおいて共通で使用される共通ファイルに障害が発生した場合でも、全てのバージョンのアプリケーションが正常に動作するファイルに自動的に修復可能とすることにある。
【課題を解決するための手段】
【０００８】
本発明の情報処理装置は、複数バージョンのアプリケーションを同時に保持する情報処理装置であって、前記複数バージョンのアプリケーションで共通に使用される共通ファイルに係る情報である第１のファイル情報を外部装置から取得する第１の取得手段と、前記第１のファイル情報に基づいて共通ファイルの種類毎に最新の共通ファイルを判別する判別手段と、前記判別手段により判別された前記最新の共通ファイルに対応する前記第１のファイル情報を、共通ファイルの種類毎に保持する保持手段と、当該情報処理装置内に記憶される共通ファイルに係る情報である第２のファイル情報を取得する第２の取得手段と、前記第１のファイル情報と前記第２のファイル情報とを共通ファイルの種類毎に比較する比較手段と、前記第１のファイル情報と前記第２のファイル情報との比較結果、双方が一致しなかった場合、前記第２のファイル情報に対応する共通ファイルを前記第１のファイルに対応する共通ファイルに置き換える置換手段とを有することを特徴とする。
【０００９】
本発明の情報処理方法は、複数バージョンのアプリケーションを同時に保持する情報処理装置による情報処理方法であって、前記複数バージョンのアプリケーションで共通に使用される共通ファイルに係る情報である第１のファイル情報を外部装置から取得する第１の取得ステップと、前記第１のファイル情報に基づいて共通ファイルの種類毎に最新の共通ファイルを判別する判別ステップと、当該情報処理装置内に記憶される共通ファイルに係る情報である第２のファイル情報を取得する第２の取得ステップと、前記判別ステップにより判別された前記最新の共通ファイルに対応する前記第１のファイル情報と前記第２のファイル情報とを共通ファイルの種類毎に比較する比較ステップと、前記第１のファイル情報と前記第２のファイル情報との比較結果、双方が一致しなかった場合、前記第２のファイル情報に対応する共通ファイルを前記第１のファイルに対応する共通ファイルに置き換える置換ステップとを含むことを特徴とする。
【００１０】
本発明のコンピュータ読み取り可能な記録媒体は、前記情報処理方法をコンピュータに実行させることを特徴とする。
【発明の効果】
【００１１】
本発明によれば、情報処理装置内に同時に保持される複数バージョンのアプリケーションの共通ファイルの種類毎に最新の共通ファイルを判別し、当該最新の共通ファイルに係る第１のファイル情報を保持し、当該情報処理装置に記録される共通ファイルに係る第２のファイル情報と前記第１のファイル情報との比較結果に応じて、当該第２のファイル情報に対応する共通ファイルを当該第１のファイル情報に対応する共通ファイルに置換するように構成したので、複数バージョンのアプリケーションにおいて共通で使用される共通ファイルに障害が発生した場合でも、全てのバージョンのアプリケーションが正常に動作するファイルに自動的に修復することが可能となる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明を適用した好適な実施形態を、添付図面を参照しながら詳細に説明する。
【００１３】
以下に説明する本発明の実施形態は、プリンタドライバ格納サーバコンピュータと、クライアント端末コンピュータとがネットワークを介して相互に接続されて構成されるシステムに関し、特に、クライアント端末コンピュータにインストールされるプリンタドライバを修復するシステムに関するものである。
【００１４】
図１は、本発明の一実施形態に係るシステム構成を示すとももに、当該システムを構成するプリンタドライバ格納サーバコンピュータとクライアント端末コンピュータとのハードウェア構成を示す図である。
【００１５】
図１において、１０００はプリンタドライバ格納サーバコンピュータであり、外部メモリ１００２に、複数バージョンのプリンタドライバメディア（以下、プリンタドライバと略す）が記憶されている。この外部メモリ１００２に記憶されているプリンタドライバを格納するフォルダは、ＣＰＵ１００４を制御するプログラムであるオペレーティングシステムプログラム（以下、ＯＳと称す）の機能の一つであるファイル／フォルダの共有設定が行われており、クライアント端末コンピュータ２０００からの外部参照が可能な構成となっている。
【００１６】
クライアント端末コンピュータ２０００とプリンタドライバ格納サーバコンピュータ１０００とは、クライアント端末コンピュータ２０００側の通信Ｉ／Ｆコントローラ２００３とプリンタドライバ格納サーバコンピュータ１０００側の通信Ｉ／Ｆコントローラ１００３において、ＴＣＰ／ＩＰケーブルにて接続されたネットワーク３０００を介して、コンピュータ同士の通信が可能となっている。
【００１７】
また、プリンタドライバ格納サーバコンピュータ１０００において、ＣＰＵ１００４は、ＲＡＭ１００５やＲＯＭ１００６に格納されているプログラムやデータを用いて、プリンタドライバ格納サーバコンピュータ１０００全体の制御を行う。
【００１８】
１００５は、ＲＡＭであり、外部メモリ１００２からロードされたプログラムやデータを一時的に記憶するためのエリアを有するとともに、ＣＰＵ１００４が各種処理を行う為に使用するワークエリアを備える。１００６は、ＲＯＭであり、ＢＩＯＳ等を記憶している。
【００１９】
１００２は、ＨＤＤやＦＤＤ等の外部メモリであり、プリンタドライバ格納サーバコンピュータ１０００が行う処理をＣＰＵ１００４に実行させるためのプログラムやデータ等を保存しており、これらは必要に応じてＣＰＵ１００４の制御によりＲＡＭ１００５に読み出され実行されることになる。１００１は、メモリコントローラであり、外部メモリ１００２に対するデータの書き込み、及び、外部メモリ１００２からのデータの読み出しを制御する。
【００２０】
１００３は、通信Ｉ／Ｆコントローラであり、プリンタドライバ格納サーバコンピュータ１０００をＴＣＰ／ＩＰネットワーク３０００に接続するためのものである。この通信Ｉ／Ｆコントローラ１００３を介して外部のコンピュータ等とデータ通信を行うことが可能である。
【００２１】
１００８は、キーボードであり、各種の指示をＣＰＵ１００４に対して入力することができる。１００７は、入力コントローラであり、キーボード１００８からの入力情報をＣＰＵ１００４に対して送信する。
【００２２】
１０１０は、ディスプレイ装置であるＣＲＴである。１００９は、表示させる画像情報や文字情報等をＣＲＴ１０１０に対して送信したり、ＣＲＴ１０１０上における情報の表示制御を行う。
【００２３】
クライアント端末コンピュータ２０００のハードウェア構成については、基本的な構成はプリンタドライバ格納サーバコンピュータ１０００の構成と同様であるため説明は省略するが、クライアント端末コンピュータ２０００の外部メモリ２００２には、例えば図８〜図１５に示す処理をＣＰＵ２００４に実行させるプログラムやデータ等が格納され、これらは必要に応じてＣＰＵ２００４の制御によりＲＡＭ２００５に読み出され、実行されることとなる。
【００２４】
図２は、本発明の実施形態に係るシステム構成を示す図である。図２では、プリンタドライバ格納サーバコンピュータ１０００、クライアント端末コンピュータ２０００及びプリンタ４０００によって構成可能なシステム構成の一例を示しているが、本発明の用途や目的に応じて様々なシステム構成を採り得ることは勿論である。
【００２５】
図２に示すネットワークシステムは、プリンタドライバ格納サーバコンピュータ１０００、クライアント端末コンピュータ２０００及びプリンタ４０００をＴＣＰ／ＩＰケーブル３０００にて接続されることにより構成される。
【００２６】
各クライアント端末コンピュータ２０００及びプリンタドライバ格納サーバコンピュータ１０００は、ＴＣＰ／ＩＰケーブル３０００を介してプリンタ４０００へ印刷ジョブを送信する。
【００２７】
各クライアント端末コンピュータ２０００は、ＴＣＰ／ＩＰケーブル３０００を介してプリンタドライバ格納サーバコンピュータ１０００及びその他のクライアント端末コンピュータ２０００と相互に通信可能である。
【００２８】
次に、ファミリドライバ（統合ドライバ）を例に挙げ、本発明の実施形態の説明を行う。先ず、ファミリドライバの定義について説明する。一般的に、プリンタドライバでは１つの機種（プリンタモデル）につき１つのプリンタドライバを用意する場合が主である。よって、複数機種が存在している場合においても、共通で使用されるファイルは存在しない。但し、複数機種で一つのドライバを使用する場合（ファイミリドライバ）においては、図３に示すように、基本機能については全ての機種で共通に対応するために、基本機能モジュールを提供するファイルは全ての機種において同一である（以下、このように基本機能モジュールを提供するファイルが複数機種において同一のものを共通ファイルと称す）。また、各機種に特化した機能については、機種固有の拡張モジュールを提供する機種依存ファイルを使用することにより実現する。
【００２９】
尚、本実施形態で説明するプリンタドライバにおいては、カラー出力を制御するモジュールを提供するファイルをカラープロファイル、双方向通信対応のプリンタからプリントステータスデータを受信するプリントマネージャを制御するモジュールを提供するファイルをランゲージモニタファイルと称する。
【００３０】
図３は、プリンタドライバ（アプリケーション）構成モジュールがクライアント端末コンピュータ２０００の外部メモリ２００２上に、どのような構成で展開されているかを示すイメージ図である。
【００３１】
５００１は、各バージョンのプリンタドライバが共通で使用するカラープロファイルである。５００２は、各バージョンのプリンタドライバが共通で使用するランゲージモニタファイルである。５００３は、各バージョンのプリンタドライバが共通で使用するファイルであって、且つカラープロファイル又はランゲージモニタファイルでないファイル（以下、その他の共通ファイルと称す）である。５００４は、各バージョンのプリンタドライバが固有で使用する機種依存ファイルである。
【００３２】
図４は、プリンタドライバのＩＮＦファイルの構成を示すイメージ図である。ＩＮＦファイルは、各プリンタドライバを構成するファイル構成情報（図３の５００１〜５００４）のファイル名称及びインストール先のディレクトリ情報（パス情報）を記載したファイルであり、プリンタドライバをインストールするためのファイルである。各ファイル構成情報を分類するキー情報とファイル名称の情報が記載されている。６０００〜６００６がキー情報である。
【００３３】
図５は、初期定義ファイルの構成を示すイメージ図である。初期定義ファイルは、クライアント端末コンピュータ２０００の外部メモリ２００２に記憶されており、本初期定義ファイルには、プリンタドライバ格納サーバコンピュータ１０００の外部メモリ１００２に格納されている、各プリンタドライババージョンのプリンタドライバメディアセットフォルダのパス情報が記載されている。この初期定義ファイルは、プリンタドライバ格納サーバコンピュータ１０００内においてプリンタドライバメディアセットが追加又は削除される度に更新される。
【００３４】
図６は、外部メモリ２００２内の初期定義ファイルからＲＡＭ２００５に読み込まれる、既存プリンタのプリンタドライバのバージョン情報及びプリンタドライバメディアセットフォルダのパス情報のイメージ図である。
【００３５】
図７は、エラー情報テーブルのイメージ図であり、印刷処理時におけるエラー発生時にクライアント端末コンピュータ２０００は内部に格納するこのエラー情報テーブルを参照する。本実施形態では、印刷指示を行うアプリケーション（例えば、Microsoft社製品のWord、Excel等）の内部リソースにエラー情報テーブルに保持するように構成しているが、プリンタドライバリソースもしくは、外部メモリ２００２上に定義ファイル等として持つことも可能である。
【００３６】
図８は、複数バージョンのプリンタドライバがクライアント端末コンピュータ２０００内に複数存在する環境で、共通使用されるファイルを全てのバージョンのプリンタドライバで正常使用可能な状態に修復する際に使用される最適なファイルリストを作成する処理の一部を示すフローチャートである。尚、ファイルリストは、クライアント端末コンピュータ２０００のＲＡＭ２００５内に作成される。また、本フローチャートに示される処理は印刷処理が行われる前に実行してもよいし、ＯＳの起動時に実行されるようにしてもよい。
【００３７】
ステップＳ１０１では、ＣＰＵ２００４は、クライアント端末コンピュータ２０００上にプリンタオブジェクトが存在するかチェックを行う。一つ以上のプリンタオブジェクトが存在する場合、次のステップＳ１０２へ進む。一方、プリンタオブジェクトが一つも存在しない場合は、本処理を終了する。尚、他の実施形態として、プリンタオブジェクトが存在しない場合は、プリンタオブジェクトが生成されるまで監視するような待機状態とするように構成しても良い。
【００３８】
ステップＳ１０２では、ＣＰＵ２００４は、クライアント端末コンピュータ２０００上の既存プリンタオブジェクトのプリンタドライバモデル名称、プリンタドライババージョン情報を獲得し、ＲＡＭ２００５にその情報を保存する。
【００３９】
クライアント端末コンピュータ２０００上の外部メモリ２００２に格納されている初期定義ファイル（図５）には、プリンタドライバ格納サーバコンピュータ１０００に格納されている全てのプリンタドライババージョンのプリンタドライバメディアセットのパス情報が記載されている。ステップＳ１０３では、ＣＰＵ２００４は、クライアント端末コンピュータ２０００上にある全プリンタオブジェクトに対応するプリンタドライバのバージョン毎に、初期定義ファイルに記載されているプリンタドライバメディアセットのパス情報を取得する。次に、ＣＰＵ２００４は、ＲＡＭ２００５に取得したパス情報をバージョン情報と対応付けて保存する（図６）。
【００４０】
ここで、クライアント端末コンピュータ２０００上において"１．００"と"１．３０"の複数バージョンのプリンタドライバがインストールされている場合、図５の初期定義ファイルからはバージョン"１．００"、"１．３０"に対応するパス情報が読み出され、図６に示すように各バージョン"１．００"、"１．３０"に対応付けてパス情報が保存される。
【００４１】
ステップＳ１０４では、ＣＰＵ２００４は、ステップＳ１０３でＲＡＭ２００５上に保存したパス情報で示されるプリンタドライバメディアセットパスにプリンタドライバメディアセットが実在するかどうかのチェックを行う。このプリンタドライバメディアセットが実在するか否かのチェックは、ＣＰＵ２００４がＴＣＰ／ＩＰネットワーク３０００を介して図６のリスト内のパス情報に基づきプリンタドライバ格納サーバコンピュータ１０００の外部メモリ１００２を参照してもよいし、該当するパスにプリンタドライバメディアセットが存在するか否かをプリンタドライバ格納サーバコンピュータ１０００に対して問い合わせるようにしてもよい。
【００４２】
プリンタドライバ格納サーバコンピュータ１０００内において、上記全てのプリンタドライバメディアセットパスに夫々プリンタドライバメディアセットが存在する場合、ステップＳ１０５へ進む。上記全てのプリンタドライバメディアセットパスの何れか一つにでもプリンタドライバメディアセットが存在しない場合には、本処理を終了する。
【００４３】
ステップＳ１０５では、ＣＰＵ２００４は、図６のリスト内から一つのバージョン情報を選択し、選択したバージョン情報に対応するＩＮＦファイルをＴＣＰ／ＩＰネットワーク３０００を介してプリンタドライバ格納サーバコンピュータ１０００から取得し、ＲＡＭ２００５に保存する。ここで、クライアント端末コンピュータ２０００上に、同一バージョンのプリンタドライバが複数存在する場合は、当該複数のプリンタドライバにつき一つのＩＮＦファイルを取得し、ＲＡＭ２００５に保存する。
【００４４】
ステップＳ１０６では、ＣＰＵ２００４は、後述する定義済み処理（図９）として、ＩＮＦファイルに記載されているキー情報を基に、プリンタドライバメディアセットに含まれるファイル構成情報に関する情報を格納するリストを切り分ける。
【００４５】
例えば、クライアント端末コンピュータ２０００にドライバモデル名称"LBP-AAAA"のプリンタドライバがインストールされている場合は、上記のステップＳ１０２ではドライバモデル名称"LBP-AAAA"が取得されることとなり、当該ドライバモデル名称が図４の６００１に記載されているかが判断され、当該ドライバモデル名称が図４の６００１に記載されている場合は、キー情報（図４の６００２、６００４〜６００６）に基づいて各ファイル構成情報に関する情報を該当するリストに切り分けて記憶する。
【００４６】
ステップＳ１０７では、ＣＰＵ２００４は、図６において未だＩＮＦファイルの取得が行われていないバージョン情報が図６のリスト上に存在するか否かをチェックし、未だ処理対象となっていないバージョン情報が存在する場合はステップＳ１０５へ進む。存在しない場合は、本処理を終了する。つまり、クライアント端末コンピュータ２０００に存在するプリンタドライバのバージョン数分だけステップＳ１０５、ステップＳ１０６の処理が繰り返される。
【００４７】
図９は、図８のステップＳ１０６の詳細フローである。図９のフローチャートでは、ＣＰＵ２００４は、ステップＳ１０５において読み込んだＩＮＦファイルのキー情報に基づいて、当該ＩＮＦファイル内にファイル名称が記載される各ファイル構成情報の種類を判別し、ファイル構成情報が機種依存ファイル情報であった場合には、当該ファイル構成情報に関する情報を機種依存ファイルリスト内に保存し、ファイル構成情報がカラープロファイル情報、ランゲージモニタファイル情報、又はその他の共通ファイル情報であれば、そのファイル構成情報に関する情報を夫々対応するリスト内に保存する処理を示している。
【００４８】
ステップＳ２０１では、ＣＰＵ２００４が現在参照しているファイル名称のキー情報が機種依存ファイルを示す場合、処理はステップＳ２０２へ移行する。当該キー情報がその他の情報を示す場合は、処理はステップＳ２０３へ移行する。
【００４９】
ステップＳ２０２では、ＣＰＵ２００４は、当該ファイル名称と当該ファイル名称のファイル構成情報のファイルパス情報とをＩＮＦファイルから取得し、ＲＡＭ２００５内の機種依存ファイルリストに保存する。このとき、本機種依存ファイルが使用されるプリンタドライバのプリンタドライバモデル名称情報及びプリンタドライババージョン情報が併せて保存される。
【００５０】
ステップＳ２０３では、ＣＰＵ２００４が現在参照しているファイル名称のキー情報がカラープロファイルを示す場合、処理はステップＳ２０４へ移行する。当該キー情報がその他の情報を示す場合は、処理はステップＳ２０５へ移行する。
【００５１】
ステップＳ２０４では、図１０に示す定義済み処理として、ＣＰＵ２００４は、当該ファイル名称や当該ファイル名称のファイル構成情報のパス情報等をＲＡＭ２００５内のカラープロファイルリストに格納する。図１６にカラープロファイルリストのイメージ構成を示す。
【００５２】
ステップＳ２０５では、ＣＰＵ２００４が現在参照しているファイル名称のキー情報がランゲージモニタファイルを示す場合は、処理はステップＳ２０６へ移行する。当該キー情報がその他の情報を示す場合は、処理はステップＳ２０７へ移行する。
【００５３】
ステップＳ２０６では、図１１に示す定義済み処理として、ＣＰＵ２００４は、当該ファイル名称や当該ファイル名称のファイル構成情報のパス情報等をＲＡＭ２００５内のランゲージモニタファイルリストに格納する。図１７にランゲージモニタファイルリストのイメージ構成を示す。
【００５４】
ステップＳ２０７では、ＣＰＵ２００４が現在参照しているファイル名称のキー情報がその他の共通ファイルを示す場合は、処理はステップＳ２０８へ移行する。当該キー情報が上記その他の共通ファイルを示していない場合は、処理はステップＳ２０９へ移行する。
【００５５】
ステップＳ２０８では、図１２に示す定義済み処理として、当該ファイル名称や当該ファイル名称のファイル構成情報のパス情報等をＲＡＭ２００５内の共通ファイルリストに格納する。図１８に共通ファイルリストのイメージ構成を示す。
【００５６】
ステップＳ２０９では、ＣＰＵ２００４は、未だ参照されていないファイル名称がＩＮＦファイル上に存在するかをチェックする。未だ参照されていないファイル名称が他に存在する場合は、処理はステップＳ２０１へ移行し、存在しない場合は本処理を終了する。つまり、ＩＮＦファイル上に記載されたファイル名称の分だけステップＳ２０１からステップＳ２０９までの処理を繰り返すこととなる。
【００５７】
図１０は、図９のステップＳ２０４の詳細フローである。図１０のフローチャートでは、上記ステップＳ２０３において現在参照しているファイル名称のキー情報がカラープロファイルを示していると判断された場合に、当該ファイル名称のファイル構成情報のファイルパス情報、ファイルバージョン情報、ファイルの更新日付情報等を、ＲＡＭ２００５内のカラープロファイルリストに格納するための処理を示している。
【００５８】
ステップＳ３０１では、ＣＰＵ２００４は、ＩＮＦファイルから当該ファイル名称に対応するパス情報を読み込み、そのパス情報に基づいて、当該ファイル名称のファイル構成情報のファイルバージョン情報及びファイル更新日付情報をＴＣＰ／ＩＰネットワーク３０００を介してプリンタドライバ格納サーバコンピュータ１０００から取得する。
【００５９】
続くステップＳ３０２では、ＣＰＵ２００４は、ＲＡＭ２００５に保存されているカラープロファイルリスト（図１６）に、当該ファイル名称が既に格納されているか否かをチェックする。当該ファイル名称と同じファイル名称が既に格納されている場合、処理はステップＳ３０２へ移行する。一方、当該ファイル名称と同じファイル名称が格納されていない場合、処理はステップＳ３０３へ移行する。
【００６０】
ステップＳ３０３では、ＣＰＵ２００４は、カラープロファイルリストにおいて当該ファイル名称と同じファイル名称に対応付けて格納される、ファイルバージョン情報又はファイル更新日付と、ステップＳ３０１で取得したファイルバージョン情報又はファイル更新日付とを比較する。この比較の結果、カラープロファイルリストにおいて既に各種情報が登録されたカラープロファイルより、ステップＳ３０１においてファイルバージョン情報やファイル更新日付情報を取得したカラープロファイルの方が新しいと判断された場合は、ステップＳ３０４へ移行する。
【００６１】
例えば、ステップＳ３０１において各種情報を取得したカラープロファイルの方が新しいかどうかは、先ず、カラープロファイルリストにおいて当該ファイル名称と同じファイル名称に対応付けて格納されるファイルバージョン情報と、ステップＳ３０１にて取得したファイルバージョン情報とを比較して判断する。当該ファイル名称と同じファイル名称に対応付けて格納されるファイルバージョン情報より、ステップＳ３０１にて取得されたファイルバージョン情報の方が新しいバージョンを示している場合は、当該カラープロファイルの方が新しいと判断され、反対に、当該ファイル名称と同じファイル名称に対応付けて格納されるファイルバージョン情報より、ステップＳ３０１にて取得されたファイルバージョン情報の方が古いバージョンを示している場合は、当該カラープロファイルの方が古いと判断される。
【００６２】
ここで、双方のファイルバージョン情報が同じバージョンを示す場合は、カラープロファイルリストにおいて当該ファイル名称と同じファイル名称に対応付けて格納されるファイルの更新日付と、ステップＳ３０１にて取得されたファイルの更新日付とを比較して判断する。当該ファイル名称と同じファイル名称に対応付けて格納されるファイルの更新日付より、ステップＳ３０１にて取得されたファイルの更新日付の方が後の日付であれば、当該カラープロファイルの方が新しいと判断され、反対に、当該ファイル名称と同じファイル名称に対応付けて格納されるファイルの更新日付より、ステップＳ３０１にて取得されたファイルの更新日付の方が前の日付であれば、当該カラープロファイルの方が古いと判断される。また、当該ファイル名称と同じファイル名称に対応付けて格納されるファイルの更新日付と、ステップＳ３０１にて取得されたファイルの更新日付とが同じ日付であれば、当該カラープロファイルに関する情報は既にカラープロファイルリストに格納されていると判断される。当該カラープロファイルの方が古い、又は、当該カラープロファイルに関する情報は既にカラープロファイルリストに格納されていると判断された場合は、本処理を終了する。一方、当該カラープロファイルの方が新しいカラープロファイルであると判断された場合は、処理はステップＳ３０４に移行する。
【００６３】
ステップＳ３０４では、ＣＰＵ２００４は、当該カラープロファイルのファイルパス情報、ファイルバージョン情報及びファイル更新日付情報を当該ファイル名称に対応付けてＲＡＭ２００５内のカラープロファイルリスト（図１６）に保存する。尚、当該カラープロファイルのファイルバージョン情報及びファイル更新日付情報は上述したステップＳ３０１で取得した情報である。このカラープロファイルリストへの保存処理の際には、図１６では図示していないが、上記の保存情報とともに、当該カラープロファイルが使用されるプリンタドライバのプリンタドライバモデル名称及びプリンタドライババージョン情報が併せて保存され、本処理が終了する。
【００６４】
図１１は、図９のステップＳ２０６の詳細フローである。図１１のフローチャートでは、上記ステップＳ２０５において現在参照しているファイル名称のキー情報がランゲージモニタファイルを示していると判断された場合に、当該ファイル名称のファイル構成情報のファイルパス情報、ファイルバージョン情報、ファイルの更新日付情報等を、ＲＡＭ２００５内のランゲージモニタファイルリストに格納するための処理を示している。
【００６５】
ステップＳ４０１では、ＣＰＵ２００４は、ＩＮＦファイルから当該ファイル名称に対応するパス情報を読み込み、そのパス情報に基づいて、当該ファイル名称のファイル構成情報のファイルバージョン情報とファイル更新日付情報をＴＣＰ／ＩＰネットワーク３０００を介してプリンタドライバ格納サーバコンピュータ１０００から取得する。
【００６６】
続くステップＳ４０２では、ＣＰＵ２００４は、ＲＡＭ２００５に保存されているランゲージモニタファイルリストに、当該ファイル名称が既に格納されている否かをチェックする。当該ファイル名称と同じファイル名称が既に格納されている場合は、処理はステップＳ４０３へ移行する。一方、当該ファイル名称と同じファイル名称が格納されていない場合は、処理はステップＳ４０４へ移行する。
【００６７】
ステップＳ４０３では、ＣＰＵ２００４は、ランゲージモニタファイルリストにおいて当該ファイル名称と同じファイル名称に対応付けて格納される、ファイルバージョン情報又はファイル更新日付と、ステップＳ４０１で取得したファイルバージョン情報又はファイル更新日付とを比較する。この比較の結果、ランゲージモニタファイルリストにおいて既に各種情報が登録されたランゲージモニタファイルより、ステップＳ４０１においてファイルバージョン情報やファイル更新日付情報を取得したランゲージモニタファイルの方が新しいと判断された場合は、ステップＳ４０３へ移行する。ステップＳ４０１で各種情報を取得した当該ランゲージモニタファイルの方が新しいかどうかの判断手法は、上述したカラープロファイルに対する判断手法と同様であるため、説明は省略する。尚、当該ランゲージモニタファイルの方が古い、又は、当該ランゲージモニタファイルに関する情報が既にランゲージモニタファイルリストに格納されていると判断された場合は、本処理を終了する。
【００６８】
ステップＳ４０４では、ＣＰＵ２００４は、当該ランゲージモニタファイルのファイルパス情報、ファイルバージョン情報及びファイル更新日付情報を当該ファイル名称に対応付けてＲＡＭ２００５内のランゲージモニタファイルリスト（図１７）に保存する。尚、当該ランゲージモニタファイルのファイルバージョン情報及びファイル更新日付情報は上述したステップＳ４０１で取得した情報である。このランゲージモニタファイルリストへの保存処理の際には、図１７では図示していないが、上記の保存情報とともに、当該ランゲージモニタファイルが使用されるプリンタドライバモデル名称及びプリンタドライババージョン情報が併せて保存され、本処理が終了する。
【００６９】
図１２は、図９のステップＳ２０８の詳細フローである。図１２のフローチャートでは、上記ステップＳ２０７において現在参照しているファイル名称のキー情報がその他の共通ファイル情報を示していると判断された場合に、当該ファイル名称のファイル構成情報のファイルパス情報、ファイルバージョン情報、ファイルの更新日付情報等を、ＲＡＭ２００５内の共通ファイルリストに格納するための処理を示している。
【００７０】
ステップＳ５０１では、ＣＰＵ２００４は、ＩＮＦファイルから当該ファイル名称に対応するパス情報を読み込み、そのパス情報に基づいて、当該ファイル名称のファイル構成情報のファイルバージョン情報とファイル構成日付情報をＴＣＰ／ＩＰネットワーク３０００を介してプリンタドライバ格納サーバコンピュータ１０００から取得する。
【００７１】
続くステップＳ５０２では、ＣＰＵ２００４は、ＲＡＭ２００５に保存されている共通ファイルリストに、当該ファイル名称が既に格納されているか否かをチェックする。当該ファイル名称と同じファイル名称が既に格納されている場合は、処理はステップＳ５０３へ移行する。一方、当該ファイル名称と同じファイル名称が格納されていない場合は、処理はステップＳ５０４へ移行する。
【００７２】
ステップＳ５０３では、ＣＰＵ２００４は、共通ファイルリストにおいて当該ファイル名称と同じファイル名称に対応付けて格納される、ファイルバージョン情報又はファイル更新日付と、ステップＳ５０１で取得したファイルバージョン情報又はファイル更新日付とを比較する。この比較の結果、共通ファイルリストにおいて既に各種情報が登録されたその他の共通ファイルより、ステップＳ５０１においてファイルバージョン情報やファイル更新日付情報を取得したその他の共通ファイルの方が新しいと判断された場合は、ステップＳ５０３へ移行する。ステップＳ５０１で各種情報を取得した当該その他の共通ファイルの方が新しいかどうかの判断手法は、上述したカラープロファイルに対する判断手法と同様であるため、説明は省略する。尚、当該その他の共通ファイルの方が古い、又は、当該その他の共通ファイルに関する情報が既に共通ファイルリストに格納されていると判断された場合は、本処理を終了する。
【００７３】
ステップＳ５０４では、ＣＰＵ２００４は、当該その他の共通ファイルのファイルパス情報、ファイルバージョン情報及びファイル更新日付情報を当該ファイル名称に対応付けてＲＡＭ２００５内の共通ファイルリスト（図１８）に保存する。尚、当該その他の共通ファイルのファイルバージョン情報及びファイル更新日付情報は上述したステップＳ５０１で取得した情報である。この共通ファイルリストへの保存処理の際には、図１８では、図示していないが、上記の保存情報とともに、当該その他の共通ファイルが使用されるプリンタドライバ名称及びプリンタドライババージョン情報が併せて保存され、本処理が終了する。
【００７４】
上記実施形態では、図８のステップＳ１０５において任意のバージョン情報を取得するように構成しているが、他の実施形態として新しいバージョン情報から取得するようにしてもよい。このようにすることで図１０のステップＳ３０１、図１１のステップＳ４０１、図１２のステップＳ５０１で取得されるバージョン情報、ファイル更新日付情報は概ね新しいものとなり、図１０〜図１２におけるリスト切り分け処理の処理効率を上げることが可能となる。
【００７５】
図１３は、印刷ジョブが発行された場合においてカラープロファイルのファイル構成の不正が原因で印刷出力に不具合が生じてしまう事象を未然に防ぐ処理、及び、プリンタドライバにおいてエラーイベントが発生した場合、何が原因でエラーが発生したのかを解析して原因となるファイル構成をチェックし、不正があった場合にファイルを置き換える処理を示すフローチャートである。
【００７６】
ステップＳ６０１では、ＣＰＵ２００４は、その他のアプリケーション（例えば、Microsoft社製品のWord、Excel等）により印刷指示があるかチェックを行う。印刷指示がある場合、処理はステップＳ６０２に移行し、印刷指示がない場合は、本処理を終了する。
【００７７】
ステップＳ６０２では、ＣＰＵ２００４は、外部メモリ２００２に存在するカラープロファイルのファイル名称のうちの何れか一つを取得する。
【００７８】
ステップＳ６０３では、ＣＰＵ２００４は、ステップＳ６０２にて取得したファイル名称に基づきカラープロファイルのファイルバージョン情報、ファイル更新日付情報を外部メモリ２００２から取得する。
【００７９】
ステップＳ６０４では、ＣＰＵ２００４は、ステップＳ６０３にて取得した当該カラープロファイルのファイルバージョン情報、ファイル更新日付情報を、ＲＡＭ２００５内のカラープロファイルリストに格納されているファイルバージョン情報、ファイル更新日付情報と照合する。
【００８０】
ステップＳ６０５では、ＣＰＵ２００４は、ステップＳ６０４のリストとの照合処理にて、当該カラープロファイルのファイル構成に異常があるかのチェックを行う。当該カラープロファイルのファイル構成に異常がある場合、処理はステップＳ６０６へ進み、当該カラープロファイルのファイル構成に異常がない場合、処理はステップＳ６０８へ進む。
【００８１】
当該カラープロファイルのファイル構成に異常があるか否かのチェックは、当該カラープロファイルのカラープロファイル名称、ファイルバージョン及びファイル更新日付の全てが一致する情報を格納したレコードがカラープロファイルリスト内に存在するか否かによって行われる。即ち、当該カラープロファイルのカラープロファイル名称、ファイルバージョン及びファイル更新日付の全てが一致するレコードがカラープロファイルリスト内に存在する場合、当該カラープロファイルのファイル構成は正常であると判断され、一方、当該カラープロファイルのカラープロファイル名称、ファイルバージョン及びファイル更新日付の全てが一致する情報を格納したレコードがカラープロファイルリスト内に存在しない場合、当該カラープロファイルのファイル構成は異常であると判断される。
【００８２】
ステップＳ６０６では、ＣＰＵ２００４は、カラープロファイルリスト内において当該カラープロファイルのファイル名称と同じファイル名称に対応付けて格納されるファイルパス情報を参照し、ＴＣＰ／ＩＰネットワーク３０００を介してプリンタドライバ格納サーバコンピュータ１０００の外部メモリ１００２よりカラープロファイルを取得する。次に、ＣＰＵ２００４は、外部メモリ２００２にインストールされている当該カラープロファイルを削除し、プリンタドライバ格納サーバコンピュータ１０００から取得したカラープロファイルに置き換える。
【００８３】
ステップＳ６０７では、ＣＰＵ２００４は、ステップＳ６０６で置き換えたカラープロファイルを、置換え前のカラープロファイルが関連付けられていたプリンタドライバに関して関連付けを行う。つまり、ステップＳ６０６で置き換えたカラープロファイルを使用する他のプリンタドライバに関して関連付けを行う。他のプリンタドライバが置き換えたカラープロファイルを使用するかどうかの判断は、Windows（登録商標）の機能の一つであるレジストリの値「Files」を参照して行う。参照するレジストリキー名の一例として、「HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Printers\XXX\LBP-AAAA \CopyFiles\ICM」などのキーが考えられる。関連付けの方法としては、例えば、Windows（登録商標）APIの「AssociateColorProfileWithDevice」を使用することが挙げられる。
【００８４】
ステップＳ６０８では、ＣＰＵ２００４は、外部メモリ２００２にインストールされているカラープロファイルがまだ存在するかをチェックする。まだ処理対象とされていないカラープロファイルが存在する場合、処理はステップＳ６０２へ進み、処理対象とされていないカラープロファイルが存在しない場合、処理はステップＳ６０９へ進む。
【００８５】
ステップＳ６０９では、ＣＰＵ２００４は、印刷指示を受けたプリンタドライバにてエラーイベントが発生したかをチェックする。何らかのエラーイベントが発生した場合、処理はステップＳ６１０へ進み、エラーイベントが発生していない場合は、本処理を終了する。本処理の終了すると、印刷指示通りの印刷処理が行われる。
【００８６】
ステップＳ６１０では、ＣＰＵ２００４は、当該アプリケーションのリソースに保持されるエラー情報テーブル（図７）と、発生したエラーイベント情報とを照合する。尚、本実施形態では、エラー情報テーブルをアプリケーション内部リソースに備えるように構成しているが、プリンタドライバリソース又は外部メモリ２００２上に定義ファイル等として備えることも可能である。
【００８７】
ステップＳ６１１では、ＣＰＵ２００４は、ステップＳ６１０でのエラー情報テーブルとの照合処理に基づいて、ランゲージモニタファイルのファイル構成の不正が原因で発生したエラーイベント（ランゲージモニタエラー）かのチェックを行う。ランゲージモニタファイルのファイル構成の不正が原因であると判断された場合は、処理はステップＳ６１２へ進む。一方、ランゲージモニタファイルのファイル構成の不正が原因でない場合、処理はステップＳ６１３へ進む。
【００８８】
ステップＳ６１２では、ＣＰＵ２００４は、図１４に示す定義済み処理を実行することにより、当該ランゲージモニタファイルのファイル構成をチェックし、当該ランゲージモニタファイルのファイル構成が不正であれば当該ランゲージモニタファイルを置き換える。尚、ステップＳ６１２終了後、本処理が終了する。
【００８９】
ステップＳ６１３では、ＣＰＵ２００４は、ステップＳ６１４でのエラー情報テーブルとの照合処理に基づいて、その他の共通ファイルのファイル構成の不正が原因で発生したエラーイベント（共通ファイルエラー）かのチェックを行う。その他の共通ファイルのファイル構成の不正が原因であると判断された場合は、処理はステップＳ６１４へ進む。一方、その他の共通ファイルのファイル構成の不正が原因でない場合、処理はステップＳ６１５へ進む。
【００９０】
ステップＳ６１４では、ＣＰＵ２００４は、図１５に示す定義済み処理を実行することにより、当該その他の共通ファイルのファイル構成をチェックし、当該その他の共通ファイルのファイル構成が不正であれば当該その他の共通ファイルを置き換える。尚、ステップＳ６１４終了後、本処理を終了する。
【００９１】
ステップＳ６１５では、ＣＰＵ２００４は、ステップＳ６１４でのエラー情報テーブルとの照合処理に基づいて、機種依存ファイルのファイル構成の不正が原因で発生したエラーイベント（機種依存ファイルエラー）かのチェックを行う。機種依存ファイルのファイル構成の不正が原因であると判断された場合は、処理はステップＳ６１６へ進む。一方、機種依存ファイルのファイル構成の不正が原因でない場合、処理はステップＳ６１７へ進む。
【００９２】
ステップＳ６１６では、ＣＰＵ２００４は、不図示の機種依存ファイルリスト内において当該機種依存ファイルのファイル名称と対応付けて登録されるファイルパス情報を参照し、ＴＣＰ／ＩＰネットワーク３０００を介してプリンタドライバ格納サーバコンピュータ１０００の外部メモリ１００２より機種依存ファイルを取得する。次に、ＣＰＵ２００４は、外部メモリ２００２にインストールされている不正が検知された当該機種依存ファイルを削除し、プリンタドライバ格納サーバコンピュータ１０００から取得した機種依存ファイルに置き換える。尚、ステップＳ６１７終了後、本処理を終了する。
【００９３】
ステップＳ６１７では、ＣＰＵ２００４は原因不明のエラーであると判断して、今回印刷指示を受けたプリンタドライバのファイルパス情報を図６のリストから参照し、ＴＣＰ／ＩＰネットワーク３０００を介してプリンタドライバ格納サーバコンピュータ１０００の外部メモリ１００２よりプリンタドライバを取得する。その後、ＣＰＵ２００４は全てのプリンタオブジェクト、プリンタドライバ、プリンタ情報を削除した後、再インストールして本処理を終了する。
【００９４】
カラープロファイルの場合、ユーザが印刷物の色味を確認して初めてカラープロファイルに不整合が生じていることを認識できるため、カラープロファイルについては印刷後にカラープロファイルを再度入換える処理が必要であったが、本実施形態のように、印刷前にカラープロファイルに不整合が生じているかどうかを判断し、不整合が生じている際には自動で入換えを行えるため煩雑な処理を省くことができる効果がある。
【００９５】
また、その他のファイルの不整合時の入換え処理をカラープロファイルの不整合時の入換えと同じタイミングではなくエラーイベントが発生した時に処理することは、無駄な処理を省くことができ効率の良い入換え処理が行える。
【００９６】
特に、ファミリドライバでは、現在印刷処理を行っているドライバではエラーが出ても、別のバージョンのドライバで印刷する際にはエラーが出ずに正常に印刷できるといったことがあるため、カラープロファイルと同じタイミングで不整合があるかどうかを判断し、入換えを行ってしまうと無駄な処理を行うことになり逆に非効率となってしまう。その点においても、本処理は効果がある。
【００９７】
尚、本実施形態においてカラープロファイルの構成チェック（ステップＳ６０５）はクライアントコンピュータにある全てのカラープロファイルをチェックするように構成しているが、印刷指示があったドライバで使用するカラープロファイルのみをチェックする（ステップＳ６０５）ようにしてもよい。
【００９８】
その際には、ステップＳ６０２において、今回印刷指示を受けたプリンタドライバで使用されるカラープロファイルのファイル名称のみを取得し、ステップＳ６０３〜ステップＳ６０８の処理を同様に行うように構成すればよい。この場合、カラープロファイルの構成が正しいと判断されているので印刷結果の色味が変わってしまうということがなく正常に印刷される。つまり、他のプリンタドライバとは不整合であるが、印刷指示のあったプリンタドライバで正常に印刷されるのであれば、他のプリンタドライバにおいてはカラープロファイルを置き換える必要がないためさらに無駄な処理を省くことができるという効果がある。
【００９９】
図１４は、図１３のステップＳ６１２の詳細フローであり、ステップＳ６１１にてランゲージモニタファイルのファイル構成の不正が原因と判断された場合、ランゲージモニタファイルを置き換える処理を示すフローチャートである。
【０１００】
ステップＳ７０１では、ＣＰＵ２００４は、外部メモリ２００２に存在するランゲージモニタファイルのファイル名称のうちの何れか一つを外部メモリ２００２から取得する。
【０１０１】
ステップＳ７０２では、ＣＰＵ２００４は、ステップＳ７０１にて取得したファイル名称に基づいて、ランゲージモニタファイルのファイルバージョン情報、ファイル更新日付情報を外部メモリ２００２から取得する。
【０１０２】
ステップＳ７０３では、ＣＰＵ２００４は、ステップＳ７０２にて取得した当該ランゲージモニタファイルのファイルバージョン情報、ファイル更新日付情報を、ＲＡＭ２００５内のランゲージモニタファイルリストに格納されているファイルバージョン情報、ファイル更新日付情報と照合する。
【０１０３】
ステップＳ７０４では、ＣＰＵ２００４は、ステップＳ７０３のリストとの照合処理にて、当該ランゲージモニタファイルのファイル構成に異常があるかのチェックを行う。当該ランゲージモニタファイルのファイル構成に異常がある場合、処理はステップＳ７０５へ進み、当該ランゲージモニタファイルのファイル構成に異常がない場合、処理はステップＳ７０８へ進む。尚、当該ランゲージモニタファイル構成に異常があるか否かのチェック方法は、上述したカラープロファイルに対するチェック方法と同様であるため、説明を省略する。
【０１０４】
ステップＳ７０５では、ＣＰＵ２００４は、ＯＳの機能の一つであるスプーラサービスの起動を停止させる。
【０１０５】
ステップＳ７０６では、ＣＰＵ２００４は、ランゲージモニタファイルリスト内において当該ランゲージモニタファイルのファイル名称と同じファイル名称に対応付けて格納されるファイルパス情報を参照し、ＴＣＰ／ＩＰネットワーク３０００を介してプリンタドライバ格納サーバコンピュータ１０００の外部メモリ１００２よりランゲージモニタファイルを取得する。次に、ＣＰＵ２００４は、外部メモリ２００２にインストールされている当該ランゲージモニタファイルを削除し、プリンタドライバ格納サーバコンピュータ１０００から取得したランゲージモニタファイルに置き換える。
【０１０６】
ステップＳ７０７では、ＣＰＵ２００４は、前述のスプーラサービスの起動を再度開始させる。
【０１０７】
ステップＳ７０８では、ＣＰＵ２００４は、外部メモリ２００２にインストールされているランゲージモニタファイルがまだ存在するかチェックする。まだ処理対象とされていないランゲージモニタファイルが存在する場合、処理はステップＳ７０１へ進み、処理対象とされていないランゲージモニタファイルが存在しない場合は、処理はステップＳ７０９へ進む。
【０１０８】
ステップＳ７０９では、ＣＰＵ２００４は、外部メモリ２００２にインストールされているランゲージモニタファイルを一つ以上置き換えたかチェックする。一つ以上のランゲージモニタファイルの置き換えが行われた場合は、本処理を終了する。一方、ランゲージモニタファイルが一つも置き換えられなかった場合、処理はステップＳ７１０へ進む。
【０１０９】
ステップＳ７１０では、ＣＰＵ２００４は原因不明のエラーであると判断して、今回印刷指示を受けたプリンタドライバのファイルパス情報を図６のリストから参照し、ＴＣＰ／ＩＰネットワーク３０００を介してプリンタドライバ格納サーバコンピュータ１０００の外部メモリ１００２よりプリンタドライバを取得する。その後、ＣＰＵ２００４は全てのプリンタオブジェクト、プリンタドライバ、プリンタ情報を削除した後、取得したプリンタドライバを再インストールし、本処理を終了する。
【０１１０】
図１５は、図１３のステップＳ６１６の詳細フローであり、ステップＳ６１３にてその他の共通ファイルのファイル構成の不正が原因と判断された場合、当該その他の共通ファイルを置き換える処理を示すフローチャートである。
【０１１１】
ステップＳ８０１では、ＣＰＵ２００４は、外部メモリ２００２に存在するその他の共通ファイルのファイル名称のうちの何れか一つを外部メモリ２００２から取得する。
【０１１２】
ステップＳ８０２では、ＣＰＵ２００４は、ステップＳ８０１にて取得したファイル名称に基づいて、その他の共通ファイルのファイルバージョン情報、ファイル更新日付情報を外部メモリ２００２から取得する。
【０１１３】
ステップＳ８０３では、ＣＰＵ２００４は、ステップＳ８０２にて取得した当該その他の共通ファイルのファイルバージョン情報、ファイル更新日付情報を、ＲＡＭ２００５内の共通ファイルリストに格納されているファイルバージョン情報、ファイル更新日付情報と照合する。
【０１１４】
ステップＳ８０４では、ＣＰＵ２００４は、ステップＳ８０３のリストとの照合処理にて、当該その他の共通ファイルのファイル構成に異常があるかのチェックを行う。当該その他の共通ファイルのファイル構成に異常がある場合、処理はステップＳ８０５へ進み、当該その他の共通ファイルのファイル構成に異常がない場合、処理はステップＳ８０６へ進む。尚、当該その他の共通ファイル構成に異常があるか否かのチェック方法は、上述したカラープロファイルに対するチェック方法と同様であるため、説明を省略する。
【０１１５】
ステップＳ８０５では、ＣＰＵ２００４は、共通ファイルリスト内において当該その他の共通ファイルのファイル名称と同じファイル名称に対応付けて格納されるファイルパス情報を参照し、ＴＣＰ／ＩＰネットワーク３０００を介してプリンタドライバ格納サーバコンピュータ１０００の外部メモリ１００２より共通ファイルを取得する。次に、ＣＰＵ２００４は、外部メモリ２００２にインストールされている当該共通ファイルを削除し、プリンタドライバ格納サーバコンピュータ１０００から取得した共通ファイルに置き換える。
【０１１６】
ステップＳ８０６では、ＣＰＵ２００４は、外部メモリ２００２にインストールされているその他の共通ファイルがまだ存在するかチェックする。まだ処理対象とされていないその他の共通ファイルが存在する場合、処理はステップＳ８０１へ進み、処理対象とされていないその他の共通ファイルが存在しない場合は、処理はステップＳ８０７へ進む。
【０１１７】
ステップＳ８０７では、ＣＰＵ２００４は、外部メモリ２００２にインストールされているその他の共通ファイルを一つ以上置き換えたかチェックする。一つ以上のその他の共通ファイルの置き換えが行われた場合は、本処理を終了する。一方、その他の共通ファイルが一つも置き換えられなかった場合、処理はステップＳ８０１へ進む。
【０１１８】
ステップＳ８０８では、ＣＰＵ２００４は原因不明のエラーであると判断して、今回印刷指示を受けたプリンタドライバのファイルパス情報を図６のリストから参照し、ＴＣＰ／ＩＰネットワーク３０００を介してプリンタドライバ格納サーバコンピュータ１０００の外部メモリ１００２よりプリンタドライバを取得する。その後、ＣＰＵ２００４は全てのプリンタオブジェクト、プリンタドライバ、プリンタ情報を削除した後、取得したプリンタドライバを再インストールし、本処理を終了する。
【０１１９】
次に、本発明の他の実施形態について説明する。
上記実施形態では、共通ファイルを全てのバージョンのアプリケーション（プリンタドライバ）で正常使用可能な状態に修復する際に使用される最適な各種ファイルリスト（図１６〜図１８）を作成する処理（図８）を初めに行うように構成したが、他の実施形態として、印刷指示があった後に行うように構成しても良い。この場合、図１３のステップＳ６０１の後に図８に示す処理を行うようにすればよい。
【０１２０】
また、新たにプリンタオブジェクトが作成される（新しいドライバがインストールされる）度に各種ファイルリストの作成処理（図８）を行うように制御することも可能である。この場合、図８に示す処理を実行する前に、新しいプリンタオブジェクトがあるかどうかをチェックするステップ、又は、新しいドライバがインストールされたかどうかをチェックするステップを行うこととなる。
【０１２１】
このように、印刷指示があった場合に各種ファイルリストを更新可能としたり、新たにプリンタオブジェクトが作成される度に各種ファイルリストの作成処理を行うように構成したことにより、より正確にファイル構成情報の不正を検知することができ、印刷処理の不具合発生を更に防ぐことが可能となる。
【０１２２】
以上、本発明の実施形態を説明してきたが、本発明はこれらに限られることなく、例えば、プリンタドライバ格納サーバコンピュータ１０００でクライアント端末コンピュータ２０００のドライバ構成（ドライバのインストール状況等）を取得し、図８の処理をプリンタドライバ格納サーバコンピュータ１０００で行うように構成してもよい。その際には、プリンタドライバ格納サーバコンピュータ１０００側の図８の処理で作成された各種ファイルリストをクライアント端末コンピュータ２０００に送信し、そのリストに基づいて図１３のフローが行われるように構成される。これにより、処理を分散させることができ、クライアント端末コンピュータ２０００の負荷を軽減させることができるという効果を奏する。
【０１２３】
上記実施形態によれば、異なるバージョンのアプリケーションが複数存在するシステムにて、共通で使用されるファイルにおいて、ファイル障害が発生しても全てのバージョンのアプリケーションが正常に動作するファイルを自動で選択して、ファイル修復を実行することが可能となる。特に、印刷処理を行った際に、プログラムが自動でファイル構成の判断を行い、ファイル障害が発覚する以前にファイルの修復が可能になるので、ユーザが特に意識することなく、いつでも正常に印刷処理を行える環境を提供することができる。
【０１２４】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。
【０１２５】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、プログラムコード自体及びそのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１２６】
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。
【０１２７】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ(基本システム或いはオペレーティングシステム)などが実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１２８】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【図面の簡単な説明】
【０１２９】
【図１】本発明の一実施形態に係るプリンタドライバ格納サーバコンピュータとクライアント端末コンピュータとのハードウェア構成を示す図である。
【図２】本発明の一実施形態に係るシステム構成を示す図である。
【図３】プリンタドライバ（アプリケーション）構成モジュールがクライアント端末コンピュータの外部メモリ上に、どのような構成で展開されているかを模式的に示す図である。
【図４】プリンタドライバのＩＮＦファイルの構成を模式的に示す図である。
【図５】初期定義ファイルの構成を模式的に示す図である。
【図６】既存プリンタのプリンタドライバのバージョン情報及びプリンタドライバメディアセットフォルダのパス情報を対応付けて格納した状態を模式的に示す図である。
【図７】エラー情報テーブルの構成を模式的に示す図である。
【図８】複数バージョンのプリンタドライバがクライアント端末コンピュータ内に複数存在する環境で、共通使用されるファイルを全てのバージョンのプリンタドライバで正常使用可能な状態に修復する際に使用される最適なファイル構成リストを作成する処理の一部を示すフローチャートである。
【図９】図８のステップＳ１０６の詳細を示すフローチャートである。
【図１０】図９のステップＳ２０４の詳細を示すフローチャートである。
【図１１】図９のステップＳ２０６の詳細を示すフローチャートである。
【図１２】図９のステップＳ２０８の詳細を示すフローチャートである。
【図１３】印刷ジョブが発行された場合においてカラープロファイルのファイル構成の不正が原因で印刷出力に不具合が生じてしまう事象を未然に防ぐ処理、及び、プリンタドライバにおいてエラーイベントが発生した場合、何が原因でエラーが発生したのかを解析して原因となるファイル構成をチェックし、不正があった場合にファイルを置き換える処理を示すフローチャートである。
【図１４】図１３のステップＳ６１２の詳細を示すフローチャートである。
【図１５】図１３のステップＳ６１６の詳細を示すフローチャートである。
【図１６】カラープロファイルリストの構成を模式的に示す図である。
【図１７】ランゲージモニタファイルリストの構成を模式的に示す図である。
【図１８】共通ファイルリストの構成を模式的に示す図である。
【符号の説明】
【０１３０】
１０００：プリンタドライバ格納サーバコンピュータ
１００１：メモリコントローラ
１００２：外部メモリ
１００３：通信Ｉ／Ｆコントローラ
１００４：ＣＰＵ
１００５：ＲＡＭ
１００６：ＲＯＭ
１００７：入力コントローラ
１００８：ＫＢ（キーボード）
１００９：ビデオコントローラ
１０１０：ＣＲＴ
２０００：クライアント端末コンピュータ
２００１：メモリコントローラ
２００２：外部メモリ
２００３：通信Ｉ／Ｆコントローラ
２００４：ＣＰＵ
２００５：ＲＡＭ
２００６：ＲＯＭ
２００７：入力コントローラ
２００８：ＫＢ（キーボード）
２００９：ビデオコントローラ
２０１０：ＣＲＴ
３０００：ＴＣＰ／ＩＰネットワーク
４０００：プリンタ
５００１：カラープロファイル
５００２：ランゲージモニタファイル
５００３：その他の共通使用ファイル
５００４：機種依存ファイル
【図１】
2006107388.tif 000003
【図２】
2006107388.tif 000004
【図３】
2006107388.tif 000005
【図４】
2006107388.tif 000006
【図５】
2006107388.tif 000007
【図６】
2006107388.tif 000008
【図７】
2006107388.tif 000009
【図８】
2006107388.tif 000010
【図９】
2006107388.tif 000011
【図１０】
2006107388.tif 000012
【図１１】
2006107388.tif 000013
【図１２】
2006107388.tif 000014
【図１３】
2006107388.tif 000015
【図１４】
2006107388.tif 000016
【図１５】
2006107388.tif 000017
【図１６】
2006107388.tif 000018
【図１７】
2006107388.tif 000019
【図１８】
2006107388.tif 000020