(57)【要約】      （修正有）【課題】機器と通信することにより取得した情報に合わせて機能制限の内容を変更するプログラムを提供する。【解決手段】ＰＣにインストールされるプリンタドライバのプリンタアイコン４０は、プリンタ５０の機能が記載された第１機器情報をプリンタ５０から取得する機器情報取得手段（双方向モジュール４３）と、プリンタ５０へ要求される処理を制限するための処理制限情報を、機器情報取得手段が取得した第１機器情報に基づいて変更する変更手段（アイコン共通設定反映部４４）と、変更手段が変更した処理制限情報により制限された処理を除いて、機器への処理を受け付ける設定画面を表示装置に表示する表示手段（ＵＩモジュール４１）と、として機能する。【選択図】図８
2016177351.tif 000002
【特許請求の範囲】
【請求項１】
機器へ処理を要求する情報処理装置を、
機器の機能が記載された第１機器情報を機器から取得する機器情報取得手段と、
前記機器へ要求される処理を制限するための処理制限情報を、前記機器情報取得手段が取得した前記第１機器情報に基づいて変更する変更手段と、
前記変更手段が変更した前記処理制限情報により制限された処理を除いて、前記機器へ要求する処理を受け付ける設定画面を表示装置に表示する表示手段と、として機能させるプログラム。
【請求項２】
前記変更手段は、前記第１機器情報と同等の情報を含む第２機器情報が記憶された記憶部から前記第２機器情報を読み出し、前記第２機器情報に対する前記第１機器情報の相違点を取り出し、前記相違点を前記第２機器情報に反映させ、
前記第２機器情報に反映された前記相違点に応じて前記処理制限情報を変更する請求項１に記載のプログラム。
【請求項３】
前記変更手段は、前記相違点が前記機器の機能の増加を示す場合、増加した機能に対応する処理が前記処理制限情報により制限されないように前記処理制限情報を変更し、前記相違点が機能の減少を示す場合、減少した機能に対応する処理が前記処理制限情報により制限されるように前記処理制限情報を変更する請求項２に記載のプログラム。
【請求項４】
前記変更手段は、前記機器の機種がサポートする機能リストが記憶された記憶部から前記機能リストを読み出し、前記相違点として増加される機能が前記機能リストに記載されている場合にのみ、増加した機能に対応する処理が前記処理制限情報により制限されないように前記処理制限情報を変更する請求項３に記載のプログラム。
【請求項５】
前記情報処理装置をさらに、
前記設定画面を構築するための機器設定情報が記憶されている記憶部から前記機器設定情報を読み出し、前記相違点を前記機器設定情報に反映させる機器設定情報変更手段として機能させ、
前記表示手段は、前記処理制限情報により制限された処理を除いて、前記機器設定情報変更手段により変更された前記機器設定情報を用いて前記設定画面を作成して前記表示装置に表示する請求項２〜４いずれか１項に記載のプログラム。
【請求項６】
前記変更手段が前記処理制限情報を変更した場合、前記機器設定情報変更手段は、前記変更手段が変更した前記処理制限情報により処理が制限される前記機器設定情報の設定を検出し、前記変更手段が変更した前記処理制限情報により処理が制限されない設定に前記機器設定情報の設定を変更する請求項５に記載のプログラム。
【請求項７】
前記変更手段は、前記相違点を前記表示装置に表示させ、前記相違点を前記第２機器情報に反映させる操作を受け付けた場合に、前記相違点を前記第２機器情報に反映させる請求項２〜６いずれか１項に記載のプログラム。
【請求項８】
前記情報処理装置をさらに、
前記プログラムのアップグレードを行うアップグレード手段として機能させ、
前記アップグレード手段がアップグレードを開始することで、前記機器情報取得手段は前記第１機器情報を前記機器から取得し、
前記変更手段は、前記処理制限情報を前記機器情報取得手段が取得した前記第１機器情報に基づいて変更する請求項１〜７いずれか１項に記載のプログラム。
【請求項９】
機器へ処理を要求する情報処理装置であって、
機器の機能が記載された第１機器情報を機器から取得する機器情報取得手段と、
前記機器へ要求される処理を制限するための処理制限情報を、前記機器情報取得手段が取得した前記第１機器情報に基づいて変更する変更手段と、
前記変更手段が変更した前記処理制限情報により制限された処理を除いて、前記機器への処理を受け付ける設定画面を表示装置に表示する表示手段と、
を有する情報処理装置。
【請求項１０】
機器へ処理を要求する情報処理装置によって行われる画面表示方法であって、
機器の機能が記載された第１機器情報を機器から取得する機器情報取得ステップと、
前記機器へ要求される処理を制限するための処理制限情報を、前記機器情報取得ステップにより取得された前記第１機器情報に基づいて変更する変更ステップと、
前記変更ステップによって変更された前記処理制限情報により制限された処理を除いて、前記機器への処理を受け付ける設定画面を表示装置に表示する表示ステップと、
を有する画面表示方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、情報処理装置及び画面表示方法に関する。
【背景技術】
【０００２】
ＰＣ（Personal Computer）がプリンタに印刷指示する場合、一般的には使用されるプリンタ用のプリンタドライバがＰＣに組み込まれており、プリンタドライバがユーザの印刷設定に従って印刷データを作成する。また、プリンタの機能をより適切に引き出すためにプリンタドライバはプリンタと通信して取得したプリンタの機能（後述する機器情報）に基づいて印刷設定画面を表示する。
【０００３】
また、近年、企業において複数機種に対応している機種共通ドライバが導入されるようになってきている。ユーザが出力先として選んだプリンタに応じて機種共通ドライバはその機能を切り替えることができ、ユーザにより選択されたプリンタと通信してこのプリンタの機種に応じた印刷設定画面を表示する。これにより、ユーザは適切な設定をすることが可能である。そのため複数のプリンタを保有するユーザ環境でよく利用されている。
【０００４】
図１は、機種共通ドライバが利用された印刷システムを表す図の一例である。サーバＰＣ１００のみが複数のプリンタ５０と接続しており、サーバＰＣ１００には機種共通ドライバがインストールされている。サーバＰＣ１００では複数のプリンタ５０に対応させた複数のプリンタアイコン（プリンタアイコンはプリンタ５０と対応づけられたプリンタドライバの実体である。）が機種共通ドライバから作成されており、管理者は１つのプリンタドライバをインストールするだけで、複数の種類のプリンタ５０に接続できる。機種共通ドライバであるためこのプリンタ５０は同一機種でも異なる機種でもよい。管理者は各プリンタアイコンにプリンタ５０のＩＰアドレスを設定することで、プリンタ５０とプリンタアイコンを紐づける。
【０００５】
また、図１ではポイントアンドプリントという仕組みによりプリンタドライバがインストールされる。ポイントアンドプリントではサーバＰＣ１００のプリンタドライバをクライアントＰＣ９９が共有するため、クライアントＰＣ９９にプリンタドライバがコピーされる。したがって、クライアントＰＣ９９の各ユーザがプリンタドライバをインストールしたりポート（ＩＰアドレス）等の設定をすることなくサーバＰＣ１００を介してプリンタ５０に印刷することができる。
【０００６】
サーバＰＣ１００ではプリンタアイコンごと、つまり接続しているプリンタ５０ごとに印刷設定を設定することができる。クライアントＰＣ９９でもポイントアンドプリントによりプリンタアイコンが共有されるが、さらに、クライアントＰＣ９９のユーザはサーバＰＣ１００とは異なるユーザ独自の印刷設定をプリンタアイコンに設定することができる。
【０００７】
機種共通ドライバは、接続した機種に応じた印刷設定画面を表示することが可能であるため、上記のように使われること（機種を特定しない使われ方）が多い。しかし、機種別のプリンタドライバも上記のような使われ方をする場合もある。例えば、顧客が複数の同じ機種のプリンタ５０を導入した場合、下記の理由から複数の機種別のプリンタドライバのプリンタアイコンを作成してプリンタ５０を使用する。
・両面用や白黒用、Ａ３印刷用など、プリンタアイコンによって出力機器を振り分けることができるようにする。
・他拠点に点在しているプリンタ５０をサーバで一括管理する。
【０００８】
このように大規模な環境でプリンタ５０が利用される場合は少なくない。中には、顧客がサーバＰＣ１００に何百ものプリンタアイコンを作成しておき、それを、クライアントＰＣ９９のユーザがポイントアンドプリントの仕組みにより利用することもある。
【０００９】
ところで、プリンタドライバは対応しているプリンタ５０の機種が持っている機能の設定を受け付けることができる。つまり、対応している機種によって、ユーザがプリンタドライバで設定できる項目は異なる。さらに、その対応しているプリンタ５０の状態によっても、プリンタドライバでユーザが設定できる項目は異なる。プリンタ５０の状態とは、例えばプリンタ５０へのオプションの接続状態である。プリンタアイコンは出力ポート（ＩＰアドレス）に設定されているプリンタ５０と双方向通信を行い、オプションの情報（機器情報として取得される）を取得する。例えばフィニッシャーがプリンタ５０に接続されているという機器情報が取得できた場合のみ、ユーザはパンチやステープルが設定可能になる。これにより、ユーザが遠隔から特定のプリンタ５０に印刷する場合や、プリンタ５０の状態を確認しないまま印刷する場合に、誤って印刷不可能な設定で印刷開始してしまうことを防ぐことができる。自動的にプリンタ５０の状態をユーザに知らせることで、プリンタ５０はユーザの期待通りの印刷をすることができる。
【００１０】
機種共通ドライバの場合も同様に、機種共通ドライバは接続されているプリンタ５０と双方向通信を行うことにより機器情報を取得し、そのプリンタ５０が有する設定項目のみを印刷設定画面に表示する。
【００１１】
このように、ユーザが正しく印刷できるよう、プリンタドライバが接続しているプリンタ５０に合わせて印刷設定画面を表示するためにはプリンタ５０から機器情報を取得するための双方向通信が不可欠である。したがって、機器情報の取得はプリンタドライバのインストール時だけでなくインストール後にも行われる。インストール後の場合、管理者はプリンタドライバのデバイスプロパティ画面を開いて、手動で双方向通信を開始することで、機器情報をプリンタドライバに反映させる。
【００１２】
しかし、手動での操作が必要になってしまうと、インストールとは別に手間を要することで、上記のようにプリンタ数が多い場合などには特に時間がかかってしまう。一方、双方向通信を実施せずに印刷しようとした場合、印刷設定画面がプリンタ５０に専用のものになっていないため、ユーザの意図した印刷ができないことや、印刷不可能な設定で印刷してしまい、本体でジョブリセットされるおそれもある。
【００１３】
一方、機器情報によれば印刷設定が可能でもすべての機能をクライアントＰＣのユーザに使用させたくないと管理者が考える場合がある。例えば、コスト低減のためにカラープリンタに対しモノクロ印刷しか許可したくない場合などである。このため、プリンタドライバではカスタマイズと呼ばれるプリンタの機能の制限が可能になっている。なお、カスタマイズは、プリンタが有する機能のうち使用してよい機能がカスタマイズ情報に記載されることで行われる。元々、プリンタにない機能がカスタマイズ情報に記載されていてもよいが、この場合、カスタマイズ情報は作用しない。
【００１４】
プリンタアイコンのカスタマイズについて説明する。管理者はプリンタドライバのインストール時に設定可能な印刷設定をプリンタアイコンごとにカスタマイズすることが可能である。カスタマイズは永続的に有効となり、管理者がアンインストールしない限りカスタマイズの内容を変更できない。プリンタＡの機器情報が以下の場合に、管理者は次のようなカスタマイズをすることができる。
【００１５】
＜プリンタＡの機器情報＞
・トレイ１、２、手差しトレイが付いている。
・オプションでトレイ３を装着することが可能。
・フィニッシャー１が付いている。
・オプションでフィニッシャー２を装着することが可能。
・サポートしている紙種は普通紙、再生紙、カラー紙、厚紙、薄紙
・サポートしている用紙サイズは、Ａ４,Ａ３,封筒、不定形
・サポートしているパンチはoff,右２穴、左３穴
・Ａ３,厚紙,薄紙を入れられるのはトレイ３のみ
・不定形、封筒を入れられるのは手差しトレイのみ
・右２穴パンチを使えるのはフィニッシャー２のみ
管理者がこのプリンタＡにプリンタドライバを接続させる場合、装着されているトレイで印刷可能な選択肢のみ選択可能にするようにカスタマイズする。
【００１６】
【表１】
2016177351.tif 000003
表１は、プリンタＡに対するカスタマイズ内容が記載されたカスタマイズ情報の一例である。カスタマイズ情報には選択可能な機能の選択肢が指定されている。カスタマイズ情報で記載がない機能をユーザは選択できない。表１のカスタマイズファイルにより、ユーザが印刷設定を設定する印刷設定画面には、用紙サイズとして「Ａ４,封筒、不定形」が、紙種として「普通紙、再生紙、カラー紙」のみが表示される。したがって、プリンタＡの機器情報によれば設定が可能なＡ３（実際には搭載されていない）や薄紙をユーザは選択できない。
【００１７】
印刷設定画面がカスタマイズされていない場合、用紙サイズや紙種がすべて印刷設定画面に表示されてしまうため、ユーザが間違って選択して、プリンタ５０でジョブキャンセルになってしまうことを防止できる。したがって、カスタマイズは非常に有効である。
【００１８】
このように従来からプリンタドライバをカスタマイズする技術が知られている（例えば、特許文献１参照。）。特許文献１には、インストールされたプリンタドライバの動作設定情報のデフォルト値をプリンタの構成や環境に整合させてカスタマイズするため、デフォルト値とデバイスから得られるデバイス構成情報の整合性の有無を判断するか否かを決定し、判断結果をユーザに通知する情報処理方法が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【００１９】
しかしながら、特許文献１に記載された情報処理方法では、デフォルト値とデバイスから得られるデバイス構成情報に整合性がない場合でも、機器情報をデフォルト値に反映させたカスタマイズができないという問題がある。
【００２０】
例えば、管理者が新しくトレイ３をプリンタ５０に装着した場合に上記問題に伴う不都合が生じる。プリンタドライバがプリンタ５０から機器情報を取得してトレイ３の選択が可能になっても、カスタマイズ内容は変更されないため、トレイ３で可能な印刷設定画面にＡ３、厚紙、薄紙は表示されない。このため、ユーザも設定できない。
【００２１】
なお、プリンタドライバがプリンタ５０と双方向通信するタイミングとしては例えばプリンタドライバのアップグレード時が挙げられる。これは、ユーザ権限のクライアントＰＣ９９ではプリンタ５０と双方向通信できない（プリンタ５０が機器情報を送信しない）ように設定されている場合があるためである。管理者権限を持つ管理者（例えばサーバ管理者）がアップグレードするタイミングであれば双方向通信できるため、機器情報を取得できる。
【００２２】
アップグレード時に生じうる不都合として、機種共通ドライバがインストールされている場合が挙げられる。機種共通ドライバを管理者が新しいバージョンにアップグレードする場合も、カスタマイズ内容と適合しなくなる場合がある。例えば、ユーザが新発売の機種を導入した場合、古いバージョンの機種共通ドライバのままでは、その最新機種をサポートしていないため、その機種に固有の印刷設定を使用できない。しかし、先に述べたように管理者は大規模環境で多くのプリンタアイコンを作成して運用しているため、新しい機種を導入してすぐに新しいバージョンのプリンタドライバにアップグレードすることができない場合がある（元からあるプリンタの使用に不具合が発生するなどのおそれがあるため）。
【００２３】
このようなユーザのために機種共通ドライバには、機種共通にユーザが最低限の機能のみ設定可能なジェネリックモードが用意されている。管理者はジェネリックモードもカスタマイズすることが可能である。ここで、ユーザが最新機種を機種共通ドライバのジェネリックモードで使用していたとする。
【００２４】
【表２】
2016177351.tif 000004
表２は、プリンタＡをジェネリックモードで使用することを前提に作成されたカスタマイズファイルの一例である。ジェネリックモードでは多くの機種で使用できるようにカスタマイズしなくても選択肢の許容範囲が制限されている。このためパンチ（Punch）のように機種によって機能が異なる項目の選択肢はoff、右、左のように、簡易的な設定のみがカスタマイズにより許可されている。表２のカスタマイズファイルがジェネリックモードに適用された場合、印刷設定画面にはPunchの選択肢に「Off,左」のみが表示されるため、ユーザは右を選択できなくなる。こうすることで間違った設定で印刷して本体でジョブキャンセルになることが防止される。
【００２５】
次に、機種共通ドライバが新しくアップグレードされ、プリンタＡに対応したとする。アップグレードされた機種共通ドライバはプリンタＡから機器情報を取得して、上記のプリンタＡの機能（プリンタＡの機器情報）を利用可能になる。しかし、機種共通ドライバはカスタマイズされているため、印刷設定画面では「off」「左」のみしか表示されず、ユーザは導入されたプリンタ５０に固有の「右２穴」や「左３穴」を選択できない。同時にプリンタＡの機器情報によればプリンタＡには「左」という選択肢がないため「off」しか選択できず、アップグレードしてもユーザはパンチ機能自体を使えないままである。
【００２６】
以上のように、従来の技術では、機器情報をカスタマイズファイルに反映させないので、ユーザが設定できる印刷設定をカスタマイズファイルの作成時の意図を超えて制限してしまう。この問題を解消するためには管理者が手動でカスタマイズ内容を変更しなければならないが、多くのプリンタアイコンのカスタマイズ内容を変更することは容易でない。
【００２７】
本発明は、機器と通信することにより取得した情報に合わせて機能制限の内容を変更するプログラムを提供することを目的とする。
【課題を解決するための手段】
【００２８】
上記課題に鑑み、本発明は、機器へ処理を要求する情報処理装置を、機器の機能が記載された第１機器情報を機器から取得する機器情報取得手段と、前記機器へ要求される処理を制限するための処理制限情報を、前記機器情報取得手段が取得した前記第１機器情報に基づいて変更する変更手段と、前記変更手段が変更した前記処理制限情報により制限された処理を除いて、前記機器への処理を受け付ける設定画面を表示装置に表示する表示手段と、として機能させるプログラムを提供する。
【発明の効果】
【００２９】
機器と通信することにより取得した情報に合わせて機能制限の内容を変更するプログラムを提供することができる。
【図面の簡単な説明】
【００３０】
【図１】機種共通ドライバが利用された印刷システムを表す図の一例である。
【図２】プリンタドライバのアップグレードの概略の手順を模式的に示す図の一例である。
【図３】本実施形態のプリンタドライバによるカスタマイズ情報の更新について説明する図の一例である。
【図４】本実施形態に係る印刷システムの構成図の一例である。
【図５】ＰＣのハードウェア構成図の一例である。
【図６】ＰＣの機能ブロック図の一例である。
【図７】プリンタアイコンについて説明する図の一例である。
【図８】プリンタアイコンの機能構成図の一例である。
【図９】プリンタアイコンがアイコン共通設定ＤＢのオプション情報を更新する処理を示すフローチャート図の一例である。
【図１０】アイコン共通設定反映部が、自身のプリンタアイコンの持つオプション情報と機器情報を比較しオプション情報を変更する必要があるか判定する手順を示すフローチャート図の一例である。
【図１１】図９のフローチャートに続いて行われる印刷設定の更新処理を示すフローチャート図の一例である。
【図１２】ダイアログ画面の一例を示す図である。
【発明を実施するための形態】
【００３１】
以下、本発明を実施するための形態について図面を参照しながら説明する。
【００３２】
＜アップグレード手順＞
まず、図２を用いてプリンタドライバのアップグレード手順を説明する。図２は、プリンタドライバのアップグレードの概略の手順を模式的に示す図の一例である。アップグレード手順を説明するのは、プリンタドライバがプリンタ５０から機器情報を取得するタイミングはアップグレード時が多いためである。しかし、アップグレード時以外でも機器情報を取得することが可能であるため、本実施形態のカスタマイズファイルの変更方法がアップグレード時に制限されるものではない。
【００３３】
アップグレードはWindows（登録商標。以下、省略する。）との親和性を確保するために推奨されている以下の手順で行われる。ＯＳに標準搭載されているアップグレード用の機能が利用されるため、プリンタドライバの提供元やプリンタドライバの種類を問わず以下の手順で行われる。
１．管理者は図２（ａ）に示すプリンタドライバのデバイスプロパティ画面５０１を開く。デバイスプロパティ画面５０１は、アップグレード時に使用される他、管理者がオプション構成（接続されているフィニッシャー、保有しているトレイと各トレイに格納されている用紙などの対応などの情報）を変更したりするための画面である。
２．「新しいドライバ」ボタン５０３を押下する。
３．管理者は新しいバージョンのプリンタドライバパッケージに同梱されているinfファイル（ソフトウェアのインストール用の設定が記述されたファイル）へのパスを指定する（図２（ｂ））。
４．アップグレードを開始する
５．アップグレードが終了したら、図２（ｃ）のデバイスプロパティ画面５０１に戻るためＯＫボタン５０４を押下してデバイスプロパティ画面５０１を閉じる。
【００３４】
上記手順でアップグレードが実施された場合、アップグレード前の様々な設定がアップグレード後の新しいバージョンのプリンタドライバに引き継がれる。また、図１のように大規模なユーザ環境でクライアントＰＣ９９が多数存在している場合でも、サーバＰＣ１００のプリンタドライバさえアップグレードすれば、自動的にクライアントＰＣ９９も同期される。よって、各々のクライアントＰＣ９９のプリンタドライバの設定はそのまま引き継ぎつつ、プリンタドライバのバージョンをアップすることが可能である。このような利便性があることから、管理者が新しいバージョンのプリンタドライバを導入する際に古いバージョンのプリンタドライバをアンインストールしてから、新しいバージョンのプリンタドライバをインストールするという手順を踏むことはまれである。
【００３５】
＜プリンタドライバの動作の概略＞
図３を用いて本実施形態のプリンタドライバの動作の概略を説明する。図３は、本実施形態のプリンタドライバによるカスタマイズ情報の更新について説明する図の一例である。
（１）プリンタアイコン（詳細は図７にて説明する）４０はプリンタ５０から機器情報（第１機器情報）を取得する。
（２）プリンタアイコン４０は例えばレジストリ２１に記憶されている機器情報と同等の情報を有するオプション情報（第２機器情報）を読み出して機器情報と比較する。また、比較した結果、相違があるとレジストリ２１のオプション情報に相違を反映させる。
（３）オプション情報が更新されるとプリンタアイコン４０はカスタマイズ情報（処理制限情報）への影響があるか否かを判断し、影響がある場合にはカスタマイズ情報を更新する。
【００３６】
したがって、本実施例のプリンタアイコンは接続機器と双方向通信することにより取得した機器状態に合わせてカスタマイズ内容を変更することができる。
【００３７】
＜構成例＞
図４は、本実施形態に係る印刷システム１の構成図の一例を示す。印刷システム１は、ネットワーク２を介して接続されたＰＣ１０、及び、複数のプリンタ５０を有している（図では、区別するためにそれぞれをプリンタ５０−ｎ（ｎは自然数）で示した）。このうちの１台がプリンタＡである。
【００３８】
ネットワーク２は主に社内ＬＡＮであるが、ＷＡＮ又はインターネットを含んでいてもよい。また、ネットワーク２は全てが有線で構築されていてもよいし、一部又は全てが無線ＬＡＮ、Bluetooth（登録商標）、などの無線にて構築されていてもよい。また、ＰＣ１０とプリンタ５０との間の接続は、ネットワーク２に限られず、例えばシリアル通信でＰＣ１０とプリンタ間を一連に接続してもよい。
【００３９】
ＰＣ１０は図１におけるサーバＰＣ１００に相当する。しかし、クライアントＰＣ９９がプリンタ５０から機器情報を取得できるのであれば、ＰＣ１０はクライアントＰＣ９９でもよい。一方、ＰＣ１０がサーバＰＣ１００であれば、プリンタドライバ３０のアップグレードがクライアントＰＣ９９にも反映されるという優位性がある。また、本実施例では極力、サーバＰＣ１００を管理する者を管理者と、クライアントＰＣ９９を操作する者をユーザと称するが、両者は厳密に区別されなくてよい。
【００４０】
ＰＣ１０ではＯＳ（Operating System）及びプリンタドライバ３０が動作すると共に文書作成ソフトなどの後述するアプリケーションソフトが動作する。ただし、アプリケーションソフトが動作するのは主にクライアントＰＣ９９である。ＰＣ１０はプリンタドライバ３０が動作する情報処理装置の一例である。したがって、ＰＣ１０以外でもプリンタドライバ３０が動作するのであれば、タブレット型端末、携帯電話、スマートフォン、ＰＤＡ（Personal Digital Assistant）、ウェアラブルＰＣ、ゲーム機器、カーナビゲーション端末、プロジェクタなどの投影装置、又は、電子黒板などでもよい。
【００４１】
プリンタ５０は、ＰＣ１０からの印刷指示に従って動作する画像形成装置である。印刷方式は、電子写真方式又は液滴吐出方式のどちらでもよいし、これら以外でもよい。また、プリンタ５０は画像形成機能を有していれば、スキャナ機能、コピー機能、複写機能、ＦＡＸ機能などの１つ以上を備えていてよく、スキャナ装置、コピー機、複写装置、ＦＡＸ装置又は複合機などと呼ばれていてもよい。
【００４２】
図４では、説明の便宜上、ＰＣ１０は１台のみを示すものであるが、ＰＣ１０の数はこれに限られず、ＰＣ１０は複数台でもよい。
【００４３】
<<ハードウェア>>
図５は、ＰＣ１０のハードウェア構成図の一例を示す。ＰＣ１０は、それぞれバス１１０で相互に接続されているＣＰＵ１０１、ＲＯＭ１０２、ＲＡＭ１０３、外部Ｉ／Ｆ１０４、通信装置１０５、入力装置１０６、ディスプレイＩ／Ｆ１０７及び記憶装置１０８を有する。ＣＰＵ１０１は、ＯＳ、アプリケーションソフト、及び、プリンタドライバ３０を記憶装置１０８から読み出して、ＲＡＭ１０３を作業メモリにして実行する。
【００４４】
ＲＡＭ１０３は必要なデータを一時保管する作業メモリ（主記憶メモリ）であり、ＲＯＭ１０２はＩＰＬ（Initial Program Loader）やＢＩＯＳなどを記憶している。
【００４５】
外部Ｉ／Ｆ１０４はＵＳＢケーブル等のケーブルや、可搬型の記憶媒体１１１を装着するインタフェースである。通信装置１０５は、ＬＡＮカードやイーサネット（登録商標）カードであり、ＣＰＵ１０１からの指示によりプリンタ５０に印刷データを送信する。
【００４６】
入力装置１０６は、キーボード、マウスなど、ユーザの様々な操作指示を受け付けるユーザインタフェースである。タッチパネルや音声入力装置を入力装置とすることもできる。ディスプレイＩ／Ｆ１０７は、アプリケーションソフトが指示する画面情報に基づき所定の解像度や色数等でディスプレイ１２０に画面を描画する。ディスプレイ１２０（表示装置）は、液晶や有機ＥＬなどのＦＰＤ（Flat  Panel  Display）である。
【００４７】
記憶装置１０８は、ＨＤＤ（Hard  Disk  Drive）やフラッシュメモリなどの不揮発メモリを実体とし、ＯＳ、プリンタドライバ３０、及び、アプリケーションソフトを記憶している。
【００４８】
記憶媒体１１１は、例えば、ＳＤカードやＵＳＢメモリ、ＣＤ−ＲＯＭなど不揮発性のメモリである。ＯＳ、アプリケーションソフト、及び、プリンタドライバ３０は、記憶媒体１１１に記録された状態又はプログラム配信用のサーバからダウンロードされる態様で配布される。
【００４９】
＜機能構成＞
次に、図６を用いて、ＰＣ１０の機能構成について説明する。図６は、ＰＣ１０の機能ブロック図の一例である。
【００５０】
<<ＰＣの各機能構成>>
ＰＣ１０は、アプリケーションソフト１１、ＯＳ１２、プリンタドライバ３０及び通信部１３を有する。アプリケーションソフト１１は、プリンタドライバ３０を呼び出してプリンタ５０に印刷要求するものであればよい。アプリケーションソフト１１はアプリケーションソフト１１に応じた機能を備えている。例えば、ワープロ機能、ブラウザ機能などであるがどのような機能を有していてもよい。
【００５１】
ＯＳ１２は例えばWindows（登録商標。以下、省略する）シリーズのＯＳであり、ＰＣがサーバＰＣ１００であればサーバ用のWindowsが動作しており、クライアントＰＣ９９ではクライアント用のWindowsが動作している。WindowsシリーズのＯＳ１２としたのは本願のプリンタドライバ３０が奏する効果がWindowsシリーズのＯＳに対し有効であるためである。また、WindowsシリーズのＯＳであればポイントアンドプリントを利用できる。しかしながら、ＯＳ１２が必ずWindowsシリーズのＯＳである必要はなく、本実施形態のプリンタドライバ３０が行うアップグレードが可能なＯＳであればよい。
【００５２】
プリンタドライバ３０は、アプリケーションソフト１１が作成した文書データ（文書が記述されたものには限られず、印刷可能なすべてのデータをいう）やＰＣ１０の記憶装置１０８に記憶された文書データから印刷データを作成してプリンタ５０に送信する。印刷データはＰＤＬ（Page Description Language）で記述されたものでもよいし、レンダリングされた画像データの形式でもよい。プリンタドライバの詳細についてはプリンタアイコン４０と共に後述する。
【００５３】
通信部１３は、図６に示されているＣＰＵ１０１からの命令及び通信装置１０５等によって実現され、ネットワーク２を介してプリンタ５０と各種データの送受信を行う。
【００５４】
また、ＰＣ１０は、図６に示されているＣＰＵ１０１及び記憶装置１０８等によって構築される不揮発性の記憶部１４を有している。記憶部１４にはアイコン共通設定ＤＢ１５が構築されている。アイコン共通設定ＤＢ１５にはオプション情報とカスタマイズ情報が記憶されるが詳細は後述する。
【００５５】
<<プリンタアイコン>>
図７はプリンタアイコン４０について説明する図の一例である。プリンタアイコン４０は、プリンタ５０と対応づけられたプリンタドライバの実体である。プリンタアイコン４０はプリンタ５０のＩＰアドレスなどでプリンタ５０と紐づけられ、プリンタ５０から取得された機器情報（プリンタアイコン内ではオプション情報と呼ばれる）とユーザがプリンタ５０に処理内容を指示する印刷設定が設定される。
【００５６】
ＰＣ１０にプリンタドライバ３０がインストールされた場合、プリンタ５０を視覚的に表示するために図示するようなプリンタ５０を表す画像データも例えばローカルファイルなどにインストールされる。あるいは、予めこのような画像がＯＳ１２に用意されている。
【００５７】
プリンタドライバ３０は画像データに機器情報に含まれるプリンタ５０のモデル名などを付与し、また、管理者側でモデル名などを編集できる。オプション情報は、インストール時双方向通信により機器情報として取得されプリンタドライバ３０のインストールと共にＰＣ１０に格納される（本実施例ではレジストリ２１に格納されるものとして説明する）。アップグレードされた場合、プリンタ５０から取得された機器情報とオプション情報との相違点がオプション情報に反映される。印刷設定はインストールと共にレジストリ２１に格納されたものか又はユーザが最後に設定したものがプリンタアイコン４０に設定される。
【００５８】
このように本実施例で扱うプリンタアイコン４０は、単なる画像データではなくプリンタドライバ３０が対応するプリンタ５０の機能や設定を保持するものであり、管理者やユーザはＰＣ１０のプリンタアイコン４０を実際のプリンタ５０のように扱うことができる。例えば、プリンタアイコン４０をダブルクリックすることなどによりプリンタ５０のオプション情報を表示させることができる。
【００５９】
また、プリンタアイコン４０はプリンタドライバ３０の実体なので、プリンタドライバ３０のアップグレードは、プリンタアイコンのアップグレードを伴う。したがって、同一のプリンタドライバ３０から複数のプリンタアイコンが作成されている場合は、すべてのプリンタアイコンがアップグレードされる。本実施形態ではプリンタドライバ３０のアップグレードとプリンタアイコン４０のアップグレードを特に区別しない場合がある。
【００６０】
図８は、プリンタアイコン４０の機能構成図の一例を示す。プリンタアイコン４０は、ＵＩモジュール４１、ＧＲモジュール４２、双方向モジュール４３、アイコン共通設定反映部４４、及び、印刷設定反映部４５を有する。プリンタアイコン４０が有する各部は、図５に示されている各構成要素のいずれかが記憶装置１０８からＲＡＭ１０３上に展開されたプリンタドライバ３０やＯＳ１２に従ったＣＰＵ１０１からの命令によって動作することで実現される機能又は手段である。
【００６１】
ＵＩモジュール４１は、図５のＣＰＵ１０１及びディスプレイＩ／Ｆ１０７等により実現され、プリンタドライバ３０に標準で搭載されているユーザインタフェースに関する処理を行う。印刷設定やデバイスプロパティ画面の立ち上げや印刷設定の保存、基本的なアップグレード処理などはこのモジュールが担う。
【００６２】
ＵＩモジュール４１はアップグレード処理が開始されたら、双方向モジュール４３にプリンタアイコン４０が接続している（紐づけられている）プリンタ５０と双方向通信して機器情報を取得するように要求する。また、双方向モジュール４３から受け取った機器情報をアイコン共通設定反映部４４に送出する。
【００６３】
ＧＲモジュール４２は図５に示されているＣＰＵ１０１からの命令等により実現され、ユーザが設定した印刷設定を参照して、アプリケーションソフト１１によって作成された印刷対象の文書データから印刷設定を反映した印刷データを作成する。印刷データには描画データ（例えばＰＤＬデータ）と制御データ（例えばＰＪＬの印刷コマンド）が含まれる。なお、ＧＲモジュール４２はＯＳ１２を介してＵＩモジュール４１と通信する。
【００６４】
双方向モジュール４３は図５に示されているＣＰＵ１０１からの命令及び通信装置１０５によって実現され、ネットワーク２を介してプリンタ５０から機器情報などを取得する。双方向モジュール４３が通信するプリンタ５０はプリンタアイコン４０のポートに設定されたＩＰアドレスにより特定できる。
【００６５】
アイコン共通設定反映部４４は、図５に示されているＣＰＵ１０１からの命令等により実現され、同じプリンタドライバ３０に紐付いているプリンタアイコン４０に共通の情報を更新する。本実施形態では、アイコン共通設定ＤＢ１５のオプション情報やカスタマイズ情報を更新する。具体的にはＵＩモジュール４１から受け取った機器情報とオプション情報の相違点をオプション情報に反映する。さらに、オプション情報への反映結果に基づきカスタマイズ情報を更新する。
【００６６】
なお、アイコン共通設定反映部４４は、ＵＩモジュール４１から受け取った機器情報と、機種依存ファイル４７（機能リスト）を比較して、上記のオプション情報への相違点の反映が適切か否かを判断する。
【００６７】
印刷設定反映部４５は図５に示されているＣＰＵ１０１からの命令等により実現され、オプション情報、カスタマイズ情報、及び、機種依存ファイルを印刷設定（機器設定情報の一例）に反映させる。なお、アイコン共通設定ＤＢ１５は同じプリンタドライバ３０に紐付いたプリンタアイコン４０に共通であるが、印刷設定はユーザごとに設定が可能である。したがって、ユーザごとに印刷設定が変更されうる。
【００６８】
印刷設定ＤＢ４６は、図５のＲＡＭ１０３や記憶装置１０８に構築され、サーバＰＣ１００にログインしたユーザがプリンタアイコン４０に設定した印刷設定をユーザごとに記憶している。アイコン共通設定ＤＢ１５に記憶されているオプション情報とカスタマイズ情報、機種依存ファイル４７に記載されている機種の機能によって、印刷設定できる項目は異なる。このため、プリンタアイコン４０が接続するプリンタ５０の機種が変わったり、プリンタ５０のオプション情報やカスタマイズ情報が変わることに伴って変更される。
【００６９】
なお、印刷設定は本実施例ではDevmodeに格納される。DevmodeはWindowsが提供する印刷に関する設定が格納される構造体である。Devmodeはアプリケーションソフト１１、ＯＳ１２、及びプリンタドライバ間で受け渡しが可能である。
【００７０】
アイコン共通設定ＤＢ１５は図５のＲＡＭ１０３や記憶装置１０８に構築され、同じプリンタドライバ３０に紐づくプリンタアイコン４０により共通に参照されるデータベースである。例えば、アイコン共通設定ＤＢ１５はプリンタドライバ３０ごとに作成され、同じプリンタドライバ３０から作成されたプリンタアイコン４０の識別情報（例えば、重複しない番号）がアイコン共通設定ＤＢ１５に登録されている。アイコン共通設定ＤＢ１５はプリンタアイコン４０ごとのオプション情報とカスタマイズ情報を個別に記憶している。オプション情報は、機器情報と同等な情報を有し、プリンタアイコン４０が接続しているプリンタ５０の状態に関する情報である。例えば、どのフィニッシャー、どのトレイがプリンタ５０に装着されているか、どのトレイにどの用紙サイズの用紙が入っているのか、などの機器情報が格納される。カスタマイズ情報は、印刷設定画面で表示される印刷設定を制限する情報である。インストール時に管理者などが指定すると、管理者もプリンタドライバ３０を一度アンインストールして再インストールしない限りカスタマイズ情報を再設定できない。
【００７１】
機種依存ファイル４７は図５のＲＡＭ１０３や記憶装置１０８に記憶され、プリンタ５０の機種ごとに搭載している機能の一覧が記載されたファイルである。機種依存ファイル４７はプリンタドライバ３０のインストール時に、各ユーザごとにＲＡＭ１０３や記憶装置１０８に記憶される。プリンタドライバ３０がサポートしている機種の数だけ機種依存ファイル４７が存在する。
【００７２】
なお、機種依存ファイル４７とアイコン共通設定ＤＢ１５のオプション情報とカスタマイズ情報は複数のプリンタアイコン４０に対し一意の記憶領域に保存されている。本実施例ではレジストリ２１を例に説明する。レジストリ２１の記憶領域の指定方法は以下のとおりである。
「HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Printers\プリンタアイコン名\PrinterDriverData
サーバＰＣ１００に作成されたプリンタアイコン４０はポイントアンドプリントによりクライアントＰＣ９９にも作成される。このようなサーバＰＣ１００とクライアントＰＣ９９のプリンタアイコン４０は互いに紐付いている。つまり、ユーザがクライアントＰＣ９９を操作してサーバＰＣ１００にログインした場合、クライアントＰＣ９９はこのユーザに紐付いたプリンタアイコン４０をサーバＰＣ１００に同期させる。同期によりクライアントＰＣ９９はサーバＰＣ１００と同じレジストリ２１を参照できるようになる。これにより、クライアントＰＣ９９はプリンタアイコン４０を使用する際に元となるサーバＰＣ１００におけるプリンタアイコン４０と同様の情報を取得できる。
【００７３】
＜動作手順（オプション情報の更新）＞
次に、図９、１０、表３，４を用いてアイコン共通設定ＤＢ１５のオプション情報の更新処理を説明する。図９は、プリンタアイコン４０がアイコン共通設定ＤＢ１５のオプション情報を更新する処理を示すフローチャート図の一例である。図９は管理者が任意のプリンタアイコン４０からアップグレードを開始することでスタートする。例えばプリンタアイコン４０を右クリックして図２のデバイスプロパティ画面５０１を開き「新しいドライバ」ボタン５０３を押下する。
【００７４】
なお、図９の処理は、アップグレードが開始されたプリンタアイコン４０だけでなく、該プリンタアイコン４０に紐付いているプリンタドライバ３０から作成されたすべてのプリンタアイコン４０に対し実行される。また、これらの処理はすべて、アップグレード後の新しいバージョンのプリンタドライバ３０により行われる。
【００７５】
S101：ＵＩモジュール４１は、双方向モジュール４３に双方向通信を要求し、双方向モジュール４３がプリンタ５０と双方向通信を行う。双方向通信に成功した場合、処理はステップＳ１０２に進む。失敗した場合は終了する。
S102：双方向モジュール４３はプリンタ５０から機器情報を取得し、機器情報をＵＩモジュール４１に送出する（表３を参照）。
S103：双方向モジュール４３から受け取った機器情報を、ＵＩモジュール４１がアイコン共通設定反映部４４に送出してアイコン共通設定ＤＢ１５への反映を依頼する。
S104：アイコン共通設定反映部４４は、自分のプリンタアイコン４０が持つオプション情報と機器情報を比較し相違点があるか否かを判定する。相違点がある場合、オプション情報を変更する必要がと判断する（表３，表４（ａ）を参照）。必要がなければ、処理を終了する。
S105：オプション情報を変更する必要がある場合、アイコン共通設定反映部４４は機器情報とオプション情報の相違点をオプション情報に反映させる（表４（ｂ）を参照。）。
S106：次に、アイコン共通設定反映部４４は、自分のプリンタアイコン４０の持つカスタマイズ情報と機種依存ファイル４７、オプション情報を読み込み、カスタマイズ情報に変更が必要か判定する（表５参照。）。必要がなければ、処理を終了する。
S107：カスタマイズ情報に変更が必要な場合、アイコン共通設定反映部４４はカスタマイズ情報をステップＳ１０６で判断した変更内容に変更する。
【００７６】
【表３】
2016177351.tif 000005
表３は双方向モジュール４３が取得する機器情報の一例である。表３は上記の＜プリンタＡの機器情報＞に対しトレイ３が装着された状態の機器情報である。以下、各項目を説明する。
ModelName…プリンタ５０のモデル名
プリンタＡに接続していればプリンタＡが記載される。
Tray…装着済みのトレイ名
プリンタＡはトレイ１，２、３と手差しトレイを装着しているので、それぞれを表す1,2,3,Bypassが記載される。
Finisher1…Finisher1が付いているか否か
プリンタＡはフィニッシャー1が装着されているので、onが対応づけられている。装着されていなければoffとなる。
Finisher2…Finisher2が付いているか否か
プリンタＡはフィニッシャー２が装着されていないためoffが対応づけられている。装着されていればonとなる。
TrayX（Xは1,2,3）…トレイＸに格納されている紙種と用紙サイズ
プリンタＡはトレイ１，２に普通紙Ａ４が、トレイ３に厚紙Ａ３が格納されているので、それぞれを表す記載が対応づけられている。
Bypass…手差しトレイに格納されている紙種と用紙サイズ
プリンタＡは手差しトレイに普通紙Ａ４が格納されているので、それを表す記載が対応づけられている。
【００７７】
【表４】
2016177351.tif 000006
表４（ａ）はアップグレード前にプリンタアイコン４０が有するオプション情報の一例であり、表４（ｂ）は機器情報の上書き後のオプション情報の一例である。まず、表４（ａ）について説明する。
ModelName…プリンタ５０のモデル名
プリンタ５０と双方向通信をしたときに取得できたModelNameを記載する。接続先がプリンタＡであればプリンタＡが記載される。
Option…プリンタ５０（ここではプリンタＡ）に装着済みのOptionリスト
プリンタ５０と双方向通信をしたときに取得できたTray,Finisher1,Finisher2の状態を元に、ひとつのリストにして記載されている。表４(a)ではトレイ１、トレイ２、手差しトレイ、及び、フィニッシャー１がプリンタ５０に装着されている。
TrayX、Bypass：各トレイとそのトレイに格納されている紙種と用紙サイズの対応リスト
表４（ａ）ではトレイ１，２及び手差しトレイにＡ４の普通紙がセットされている。
【００７８】
<<図９のＳ１０４の判断>>
図１０、表３，４を用いて、図９のステップＳ１０４の判断について説明する。図１０は、アイコン共通設定反映部４４が、自身のプリンタアイコン４０の持つオプション情報と機器情報を比較しオプション情報を変更する必要があるか判定する手順を示すフローチャート図の一例である。以下では、双方向モジュール４３が取得する表３の機器情報と、表４（ａ）の「プリンタアイコン４０の持つオプション情報」とが比較される。比較結果により、表４（ｂ）の上書き後のオプション情報が作成される。
【００７９】
S1041：ModelNameを比較する。異なっていれば表３の機器情報のモデル名で表４（ａ）のオプション情報のモデル名をアイコン共通設定反映部４４が更新する。なお、更新は図９のステップＳ１０５で行われる。
【００８０】
S1042：表３の機器情報のTray（1,2,3,Bypass）と表４（ａ）のオプション情報のOption（Tray1,Tray2,Bypass,Finisher1）を比較し、相違を検出する。機器情報にはTray3があることが検出される。アイコン共通設定反映部４４は図９のステップＳ１０５でオプション情報のOptionにTray3を追加する。なお、逆にオプション情報のOptionにだけ記載されているトレイがある場合はOptionから削除する。
【００８１】
S1043：表３の機器情報のTray1,Tray2,Tray3と表４（ａ）のオプション情報のTray1,Tray2を比較し、相違を検出する。機器情報にはTray3=thick,A3という記載があることが検出される。アイコン共通設定反映部４４は図９のステップＳ１０５でオプション情報にTray3=thick,A3を追加する。なお、逆にオプション情報のOptionにだけ記載されているTrayXがある場合はTrayXを削除する。
【００８２】
S1044：表３の機器情報のFinisher1（on）と表４（ａ）のオプション情報のOptionを比較し、相違を検出する。ここでは相違がないことが分かる。相違がある場合、図９のステップＳ１０５で、オプション情報に追加するか又は削除する。
【００８３】
S1045：表３の機器情報のFinisher2（off）とオプション情報のOption（Tray1,Tray2,Bypass,Finisher1）を比較し相違を検出する。機器情報のFinisher2はoffなので、相違がないことが検出される。相違がある場合は、図９のステップＳ１０５で、オプション情報に追加するか又は削除する。
【００８４】
図１０の手順により得られたオプション情報が表４（ｂ）である。下線部が追加された記載を示す。モデル名及びフィニッシャーについては追加や削除がされていないが、トレイについてはTray3の追加が行われている。
【００８５】
<<カスタマイズ情報の更新>>
続いて、表５を用いてアイコン共通設定ＤＢ１５のカスタマイズ情報の更新について説明する。
【００８６】
【表５】
2016177351.tif 000007
表５は、アイコン共通設定反映部４４によって更新されたプリンタＡに対するカスタマイズ情報を示す。更新前のカスタマイズ情報としては表１を参照されたい。＜プリンタＡの機器情報＞に記載されているように「Ａ３,厚紙,薄紙を入れられるのはトレイ３のみ」である。一方、表１のカスタマイズ情報ではTray3でしか使えない用紙サイズや紙種は印刷設定画面に表示させないように記載されている。
【００８７】
これに対し表４（ｂ）のオプション情報によればTray3が増加し、Tray3にはＡ３の厚紙が入っている。さらにアイコン共通設定反映部４４がプリンタＡの機種依存ファイル４７を確認した場合に、Tray3はＡ３と厚紙のどちらもサポートしているものとする。したがって、アップグレード後はプリンタＡ（プリンタＡを表すプリンタアイコン４０）から、ユーザはＡ３の厚紙を選択可能でなければならない。しかし、インストール時のカスタマイズにより、Ａ３と厚紙は使用できないよう選択肢が固定されてしまったため、印刷設定画面にこれらの選択肢が表示されずユーザは設定できない。
【００８８】
アイコン共通設定反映部４４はこのように、オプション情報に記載され、機種依存ファイル４７にも記載され機種としてサポートしている機能にも関わらず、インストール時のカスタマイズによって使えなくなっている機能やその選択肢があった場合、カスタマイズ情報の更新が必要であると判断する。本実施例では、用紙サイズの固定値にＡ３を追加し、紙種の固定値に厚紙を追加すると決定する。また、図９のステップＳ１０７でカスタマイズ情報に決定した内容を記載する。
【００８９】
より具体的には、オプション情報に追加された記載を記録しておき、機種依存ファイル４７を確認すればよい。オプション情報にはTray3とTray3=thick,A3が追加されたので、この機能が機種依存ファイル４７でサポートされていれば、カスタマイズファイルにthick,A3を追加すべきことを判断できる。
【００９０】
なお、機種依存ファイル４７による確認はなくてもよい。これは管理者が機種依存ファイル４７で規定されているオプションしかプリンタ５０に装着しないという前提である。通常、管理者は機種依存ファイル４７で規定されているオプションしか装着しないと考えられるので、機種依存ファイル４７による確認はなくてもよい場合がある。また、カスタマーサービスが機種依存ファイル４７で規定されているオプションしかプリンタ５０に装着しないように推奨するはずである。しかしながら、機種依存ファイル４７による確認を行うことで、プリンタ５０で使用できることが保証されたオプションのみをユーザが使用できるようにカスタマイズ情報を更新できる。
【００９１】
また、オプション情報から削除された項目（減少した設定）がある場合、アイコン共通設定反映部４４は特にカスタマイズ情報は更新しなくてよい。これは、オプション情報に記載されていない構成は印刷設定画面に表示されないので、オプションの構成がカスタマイズ情報に記載されていても、印刷設定画面に表示されないためである。
【００９２】
しかし、オプション情報からの削除に伴いカスタマイズ情報に項目を削除する更新を行うっても支障は少ない。例えば、管理者がオプションを一時的に外しておき、次回、管理者がいったん外したオプションをプリンタ５０に追加した場合、本実施例の作用によりユーザが選択可能になる（カスタマイズ情報に追加される）。したがって、オプション情報から削除された記載がある場合も、カスタマイズ情報を更新してよい。こうすることで、オプションの装着とカスタマイズ情報の記載を連動させることができる。
【００９３】
以上のようなカスタマイズ情報の更新により、管理者がオプションを装着した場合に、カスタマイズ情報を更新できる。すなわち、プリンタドライバ３０としてはどの機種のどのトレイでどの用紙サイズや紙種の使用が可能かという情報を持っていない。このため、管理者が手動でカスタマイズした場合に、プリンタドライバ３０は適切なオプションが適切に使用されているかどうか判断できない。そこで、本実施例のようにオプション情報と機種依存ファイル４７を用いてカスタマイズ情報を更新することが有効になる。
【００９４】
なお、本実施例は、アイコン共通設定反映部４４が自動的にカスタマイズ情報を更新する方法を述べたが、ユーザインタフェースを活用してもよい。例えば、図９のステップＳ１０６で変更のあったオプションと、それに関連するカスタマイズ情報をディスプレイ１２０にＵＩモジュール４１が表示する。関連するカスタマイズ情報とは現在のカスタマイズ情報の他、オプションの変更点に対し追加可能なオプション及び削除できるオプションに関する情報である。管理者はユーザインタフェースから手動でカスタマイズ内容を変更し、その情報をＵＩモジュール４１からアイコン共通設定反映部４４が受け取ってアイコン共通設定ＤＢ１５に反映させる。
【００９５】
この方法を使えば、より柔軟にカスタマイズ内容を変更することが可能である、例えば、プリンタＡについてトレイ３でユーザが薄紙も使えるようになるため、ユーザはユーザインタフェースから薄紙を使用可能とするカスタマイズ情報に更新することで、薄紙も選択可能となる。
【００９６】
＜印刷設定の更新＞
次に、図１１を用いて、アイコン共通設定ＤＢ１５の更新後の処理を説明する。図１１は、図９のフローチャートに続いて行われる印刷設定の更新処理を示すフローチャート図の一例である。なお、図９のフローチャート図で、アイコン共通設定ＤＢ１５が更新されなかった場合（途中で処理が終了した場合）、図１１のフローチャートは実施されない。また、図１１は、アップグレードが開始されたプリンタアイコン４０だけでなく、該プリンタアイコン４０に紐付いているプリンタドライバから作成されたすべてのプリンタアイコン４０に対し実行される。
【００９７】
S201：アイコン共通設定反映部４４は、アイコン共通設定ＤＢ１５を更新したか否かを判定する。更新がなかった場合には印刷設定にも変更はないと分かるため、処理を終了する。
【００９８】
S202：アイコン共通設定反映部４４は、アイコン共通設定ＤＢ１５に変更があったことを印刷設定反映部４５に通知する。
【００９９】
S203：印刷設定反映部４５は、アイコン共通設定ＤＢ１５に変更があったという通知をアイコン共通設定反映部４４から受け取り、印刷設定とオプション情報を比較して、印刷設定を変更する必要があるかを判定する。変更の必要があれば処理はステップＳ２０４に進み、必要がなければステップＳ２０５に進む。
【０１００】
例えば、アップグレード前は、印刷設定で「給紙トレイ」の設定が、「トレイ４」だったとする。このときオプション情報の「Option」リストには「Tray4」が記載されているはずである。しかしアップグレード時の双方向通信で取得した機器情報で取得できた情報はTray=1,2,3のみであったとする。そうすると、オプション情報のOptionからは図９のフローで「Tray4」が削除されてしまう。このような場合、印刷設定でも「トレイ4」は設定不可能となるため、印刷設定を変更する必要がある。
【０１０１】
S204：印刷設定反映部４５は、ステップＳ２０３の判定結果と機種依存ファイル４７に記載されている内容に基づき印刷設定を変更する。ステップＳ２０３の例では、印刷設定のTray4の「給紙トレイ」に変更が必要なため、適切な値（デフォルト値）に変更する。デフォルト値は機種依存ファイル４７に記載されている。機種依存ファイル４７は表６にて説明する。機種依存ファイル４７にはその機種がサポートしている各機能のデフォルト値や選択肢、排他情報などが記載されている。給紙トレイのデフォルト値はautoなので、印刷設定の「給紙トレイ」の設定をAutoに変更する。
【０１０２】
S205：印刷設定反映部４５はカスタマイズ情報の変更に影響を受ける項目があるか否かを判定する。変更の必要があれば処理はステップＳ２０６に進む。必要がなければ、処理を終了する。変更が必要な例については表７，８で説明する。
【０１０３】
S206：印刷設定反映部４５は、カスタマイズ情報に合わせて印刷設定を変更する。
【０１０４】
【表６】
2016177351.tif 000008
表６は機種依存ファイル４７のうちトレイに関する記載の一例である。表６ではｘｍｌ形式で記載されているが、フォーマットはｘｍｌに限られない。タグや属性の意味について説明する。
・Feature name…機能名を意味する。給紙トレイの機能はinputtrayとなる。
・Default…feature nameに記載された機能のデフォルト値である。表６では給紙トレイの機能のデフォルト値はautoであることを示している。
・Name…設定可能な選択肢を意味する。Tray1から４まで選択可能であることを示している。
・Constraint…排他情報である。<constraint>タグで囲われたcondition expressionはtray4に排他情報があることを示す。表６ではoption（オプション情報）にtray4があるときのみtray4が選択可能という意味である。
【０１０５】
<<カスタマイズ情報に基づく印刷設定の変更>>
表７，８を用いて、カスタマイズ情報の変更に基づく印刷設定の変更について説明する。以下では、説明の便宜上、表２に示したジェネリックモードのカスタマイズ情報を用いて説明する。
【０１０６】
【表７】
2016177351.tif 000009
表７は双方向通信によりジェネリックモードからプリンタＡにモデル名が変更になった場合のオプション情報の一例を示す。表７（ａ）は図９のフローチャートによって更新される前のオプション情報を、表７（ｂ）は図９のフローチャートによって更新された後のオプション情報を、それぞれ示している。
【０１０７】
まず、アップグレード前は接続先のプリンタ５０をプリンタドライバがサポートしていなかったため、ユーザはジェネリックモードとして使っていた。しかし、新しいバージョンのプリンタドライバではプリンタＡをサポートしているため、図９の処理終了後はオプション情報のModelNameがプリンタＡとなる。
【０１０８】
また、ジェネリックモードとして使われている場合、フィニッシャーの名前に関わらず、フィニッシャーがついていればOption=Finisherとオプション情報に記載される。これに対し、プリンタアイコン４０が機器情報を取得して図９のフローチャートでオプション情報が書き換えられた際には、プリンタＡが持つフィニッシャーの正式名称であるFinisher1が記載される。＜プリンタＡの機器情報＞に示すようにFinisher1はパンチを意味する。
【０１０９】
【表８】
2016177351.tif 000010
表８は、表７に示すオプション情報の変更に伴い、表２のカスタマイズ情報（Punchはoffと左のみ設定可能）が変更されたカスタマイズ情報を示す。オプション情報の相違点はFinisher1（パンチ）なので、カスタマイズ情報のうちパンチに関する記載が更新される。上記の＜プリンタＡの機器情報＞によれば、プリンタＡはoff、右２穴、左３穴のパンチが可能である。このため、カスタマイズ情報においてパンチの設定が変更され、off、2atright及び3atleftが記載されている。
【０１１０】
カスタマイズ情報が変更されため、印刷設定を変更する必要がある。変更が必要なのはパンチの設定である。例えば、アップグレード前の印刷設定にPunch=左（left）と設定されていたとする。まず、印刷設定反映部４５はleftという現在の印刷設定が可能か否かを判断する。アップグレード後のカスタマイズ情報にはPunch=leftという記載はない。次に、印刷設定のPunch=左（left）とカスタマイズ情報を比較すると、leftという言葉を含む3atleftに該当する（最も近い）ことが分かる。そこで図１１のステップＳ２０６で、印刷設定反映部４５は印刷設定のPunchの現在値を左３穴に変更する。これにより、カスタマイズ情報の変更の影響を印刷設定に反映させることができ、ユーザはカスタマイズ情報が許可する範囲で正しい設定を選ぶことができる。
【０１１１】
なお、印刷設定の現在地のPunch=左（left）に対し、カスタマイズ情報にleftを含む設定（例えば、3atleftなど）がない場合、オプション情報に記載された何らかのパンチの設定をカスタマイズ情報に記載してよい（例えば2atright）。これにより、ユーザが開く印刷設定画面のPunchをOffにしないことができる。あるいは、管理者にカスタマイズ情報をどのように設定するかを問い合わせてもよい。
【０１１２】
このようにすべての印刷設定についてアップグレード時双方向通信したことによる変更が完了したら、このプリンタアイコン４０のアップグレード処理は終了し、同じフローを次のプリンタアイコン４０のアップデート処理の中で実施する。すべてのプリンタアイコン４０において本フローが終了したら、アップデート処理は完了である。
【０１１３】
＜本実施形態の作用効果＞
以上のようにカスタマイズ情報を変更することで、プリンタ５０に新しいオプションが装着されプリンタドライバをアップグレードしても、カスタマイズ情報によりアップグレード後も使用できないという不都合を解決できる。すなわち、本実施形態により変更のあったオプション情報に合わせてカスタマイズ内容を適切に変更するため、アップグレード時双方向通信によって印刷可能となった設定をユーザが選択して印刷できる。また、管理者がプリンタドライバをアンインストールしてからインストールし直してカスタマイズをしなおす必要もない。
【０１１４】
また、ジェネリックモードで使用されていたプリンタ５０が、アップグレード時の双方向通信により機種固有の選択肢をユーザが選択できるようになった場合も、カスタマイズ情報を更新することができる。すなわち、ジェネリックモードのカスタマイズ情報の選択肢が機種固有の選択肢のどれに該当するかを判断し、新たに機種固有の選択肢に固定することで、ユーザは機種固有の選択肢を選択できるようになる。
【０１１５】
このため、アップグレードのタイミングでカスタマイズ情報を変更することで、プリンタアイコン４０が接続しているプリンタ５０の最新の状態に合わせた印刷設定でユーザは印刷することが可能となる。また、特定の選択肢で印刷設定を固定するなどユーザが意図したカスタマイズの運用を継続することができる。
【０１１６】
＜その他の適用例＞
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
【０１１７】
なお、実施例では主に、管理者権限を持つ管理者がアップグレード処理を実行した際にカスタマイズ情報が変更される例を説明したが、それまでログインしていたユーザが別のユーザに切り替わった時でも、印刷設定を変更することができる。この場合、サーバＰＣ１００はポイントアンドプリントでインストールしている該ユーザのプリンタアイコン４０（クライアントＰＣ９９）に印刷設定の変更を行う。つまり、あるプリンタアイコン４０にひもづく別のプリンタアイコン４０は、アイコン共通設定が変更された後、印刷設定のみ必要に応じて（例えばログイン時）変更すればよい。
【０１１８】
また、上記の実施例ではカスタマイズ情報の変更について説明したが、本実施形態はほかにもさまざまな不都合を解決することができる。例えば、カスタマイズしていないプリンタアイコン４０についてアップグレード時に双方向通信により取得された機器情報が意図しない情報を含む場合がある。その場合、機器情報の意図しない設定にオプション情報も更新されてしまう。
【０１１９】
例えば、どのトレイにどの用紙サイズが入っているかの情報を本体から取得しデバイスプロパティ画面に表示することができる（以下、PaperSizeSettingと呼ぶ）。しかし、トレイにセットする用紙サイズはユーザによって一時的に変えられることがある。一時的に用紙サイズを変更していた場合、たまたま双方向通信することでPaperSizeSettingにセットされていた用紙サイズを反映させなくてもよい。例えば、基本的にトレイ1にはＡ４,トレイ２にはＡ３をセットしておくものであると管理者が決めておき、PaperSizeSettingにもそのように表示させていたとする。しかし、アップグレード時にたまたま一時的にトレイ１に封筒をセットしていた場合、PaperSizeSettingには「トレイ1：封筒」と表示されてしまい、次にアップグレードするまで、トレイ１は封筒という表示のままになってしまう。
【０１２０】
このような場合、デバイスプロパティ画面に反映させる前に１つダイアログ画面を表示すればよい。
【０１２１】
図１２はダイアログ画面６０１の一例を示す。アイコン共通設定反映部４４がＵＩモジュール４１から呼ばれたら機器情報とオプション情報で相違のある設定を、ＵＩモジュールなどを介してダイアログ画面６０１に表示させる。図１２では「以下の相違が検出されました。トレイ１：封筒」オプション情報に反映させますか？」というメッセージ６０２が記載されている。管理者はそれらの機器情報を反映するか否かを入力する。管理者はこの相違がある機器情報をオプション情報に反映させたい場合にだけ、はいボタン６０３を押下し、そうでない場合はいいえボタン６０４を押下する。したがって、管理者が決定した内容だけをアイコン共通設定ＤＢ１５や印刷設定ＤＢ４６に反映させることができる。
【０１２２】
これにより、アップグレード時に適切でない状態のプリンタ５０と双方向通信して機器情報を取得してしまった場合でも、管理者の意図どおりに機器情報をオプション情報に反映させることができる。
【０１２３】
また、例えば、図６のプリンタアイコン４０の機能ブロックは、ＰＣ１０の処理の理解を容易にするために、主な機能に応じて分割したものである。処理単位の分割の仕方や名称によって本願発明が制限されることはない。プリンタアイコン４０の処理は、処理内容に応じてさらに多くの処理単位に分割することもできる。また、１つの処理単位がさらに多くの処理を含むように分割することもできる。
【０１２４】
また、図６で、アイコン共通設定反映部４４と印刷設定反映部４５はＵＩモジュール４１ではなくＧＲモジュール４２とやりとりしてもいいし、プリンタドライバの既存モジュールを介さずに外部モジュールと直接やり取りしてもよい。またプリンタドライバの外部モジュールとしてアイコン共通設定反映部４４と印刷設定反映部４５を配置し、プリンタドライバとやりとりしてもよい。
【０１２５】
また、上記のカスタマイズ情報は使用できる機能が登録されたホワイトリスト形式であるが、使用できない機能が登録されたブラックリスト形式であってもよい。
【０１２６】
また、各図６に示した各機能はソフトウェアにより実現される他、ＩＣなどのハードウェアにより実現されてもよい。
【０１２７】
また、本実施形態ではプリンタドライバ３０を例にして説明したが、本実施形態はＰＣ−ＦＡＸドライバにも同様に適用できる。
【符号の説明】
【０１２８】
１      印刷システム
１１    アプリケーションソフト
２１    レジストリ
３０    プリンタドライバ
４０    プリンタアイコン
４１    ＵＩモジュール
４３    双方向モジュール
４４    アイコン共通設定反映部
４５    印刷設定反映部
４７    機種依存ファイル
５０    プリンタ
９９    クライアントＰＣ
１００  サーバＰＣ
【先行技術文献】
【特許文献】
【０１２９】
【特許文献１】特開２００６−２７７３４５号公報
【図１】
2016177351.tif 000011
【図２】
2016177351.tif 000012
【図３】
2016177351.tif 000013
【図４】
2016177351.tif 000014
【図５】
2016177351.tif 000015
【図６】
2016177351.tif 000016
【図７】
2016177351.tif 000017
【図８】
2016177351.tif 000018
【図９】
2016177351.tif 000019
【図１０】
2016177351.tif 000020
【図１１】
2016177351.tif 000021
【図１２】
2016177351.tif 000022