(57)【特許請求の範囲】
【請求項１】
コンピュータ上で動作しているオペレーティングシステム用のプリンタドライバである自ＯＳ用プリンタドライバが存在するか否かを確認する手順（ａ）と、
前記コンピュータ上で動作しているオペレーティングシステムとは異なるオペレーティングシステム用のプリンタドライバである他ＯＳ用プリンタドライバが存在するか否かを確認する手順（ｂ）と、
前記手順（ａ）で存在確認された自ＯＳ用プリンタドライバおよび前記手順（ｂ）で存在確認された他ＯＳ用プリンタドライバのそれぞれのバージョンを取得する手順（ｃ）と、
前記手順（ｃ）で取得した前記バージョンに対応してあらかじめ決められた更新方法に従い前記自ＯＳ用および／または前記他ＯＳ用のプリンタドライバを更新するか否かを選択する手順（ｄ）と、
前記手順（ｄ）で更新することが選択された前記プリンタドライバを更新する手順（ｅ）と、
を有する各手順をコンピュータに実行させることを特徴とするプリンタドライバ更新プログラム。
【請求項２】
前記更新方法は、自ＯＳ用プリンタドライバが存在しているが更新対象のバージョンではなくかつ他ＯＳ用のプリンタドライバが存在して更新対象のバージョンである場合、または自ＯＳ用プリンタドライバが存在して更新対象のバージョンであっても他ＯＳ用のプリンタドライバが存在しているが更新対象のバージョンではない場合は、更新処理を行わないことが規定されていることを特徴とする請求項１記載のプリンタドライバ更新プログラム。
【請求項３】
前記更新方法は、自ＯＳ用プリンタドライバが存在しかつ更新対象のバージョンであり、他ＯＳ用のプリンタドライバが存在していない場合は更新処理を行うことが規定されていることを特徴とする請求項１または２記載のプリンタドライバ更新プログラム。
【請求項４】
前記更新方法は、自ＯＳ用および他ＯＳ用のプリンタドライバが共に存在しかつ共に更新対象のバージョンである場合は、自ＯＳ用および他ＯＳ用の両方のプリンタドライバの更新処理を行うことが規定されていることを特徴とする請求項１〜３のいずれか一つに記載のプリンタドライバ更新プログラム。
【請求項５】
前記更新方法は、自ＯＳ用および他ＯＳ用のいずれか一方のみが更新対象となっている場合に、更新対象となっているＯＳ用のみの更新処理を行うことが規定されていることを特徴とする請求項１に記載のプリンタドライバ更新プログラム。
【請求項６】
前記プリンタドライバは、複数の機能に対応したそれぞれのファイルによって構成され、
前記更新は、プリンタドライバ更新プログラムと共に提供されるファイルを用いて、前記プリンタドライバを構成するファイルごとに書き替えまたは追加することを特徴とする請求項１〜５のいずれか一つに記載のプリンタドライバ更新プログラム。
【請求項７】
前記手順（ｄ）において更新対象となるバージョンのプリンタドライバを更新する前に、更新するか否かをユーザに確認する手順（ｆ）をさらに有することを特徴とする請求項１〜６のいずれか一つに記載のプリンタドライバ更新プログラム。
【請求項８】
前記手順（ｆ）は、前記手順（ｃ）で取得した前記バージョンが、あらかじめ決められた特別仕様であることを示している場合にのみ実行することを特徴とする請求項７に記載のプリンタドライバ更新プログラム。
【請求項９】
前記プリンタドライバは、機能の異なる複数のプリンタに対応させたユニバーサルプリンタドライバであり、前記プリンタドライバを構成する前記ファイルは、当該ユニバーサルプリンタドライバを構成する複数のプリンタに共通の機能を実行させるための共通機能部のファイルと、プリンタの機種ごとの個別の機能を実行させるための機種別機能部のファイルであることを特徴とする請求項６〜８のいずれか一つに記載のプリンタドライバ更新プログラム。
【請求項１０】
請求項１〜９のいずれか一つに記載のプリンタドライバ更新プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項１１】
コンピュータ上で動作しているオペレーティングシステム用のプリンタドライバである自ＯＳ用プリンタドライバが存在するか否かを確認するステップ（ａ）と、
前記コンピュータ上で動作しているオペレーティングシステムとは異なるオペレーティングシステム用のプリンタドライバである他ＯＳ用プリンタドライバが存在するか否かを確認するステップ（ｂ）と、
前記ステップ（ａ）で存在確認された自ＯＳ用プリンタドライバおよび前記ステップ（ｂ）で存在確認された他ＯＳ用プリンタドライバのそれぞれのバージョンを取得するステップ（ｃ）と、
前記ステップ（ｃ）で取得した前記バージョンに対応してあらかじめ決められた更新方法に従い前記自ＯＳ用および／または前記他ＯＳ用のプリンタドライバを更新するか否かを選択するステップ（ｄ）と、
前記ステップ（ｄ）で更新することが選択された前記プリンタドライバを更新するステップ（ｅ）と、
を有する各ステップをコンピュータに実行させることを特徴とするプリンタドライバ更新方法。
【請求項１２】
前記更新方法は、自ＯＳ用プリンタドライバが存在しているが更新対象のバージョンではなくかつ他ＯＳ用のプリンタドライバが存在して更新対象のバージョンである場合、または自ＯＳ用プリンタドライバが存在して更新対象のバージョンであっても他ＯＳ用のプリンタドライバが存在しているが更新対象のバージョンではない場合は、更新処理を行わないことが規定されていることを特徴とする請求項１１記載のプリンタドライバ更新方法。
【請求項１３】
前記更新方法は、自ＯＳ用プリンタドライバが存在しかつ更新対象のバージョンであり、他ＯＳ用のプリンタドライバが存在していない場合は更新処理を行うことが規定されていることを特徴とする請求項１１または１２記載のプリンタドライバ更新方法。
【請求項１４】
前記更新方法は、自ＯＳ用および他ＯＳ用のプリンタドライバが共に存在しかつ共に更新対象のバージョンである場合は、自ＯＳ用および他ＯＳ用の両方のプリンタドライバの更新処理を行うことが規定されていることを特徴とする請求項１１〜１３のいずれか一つに記載のプリンタドライバ更新方法。
【請求項１５】
前記更新方法は、自ＯＳ用および他ＯＳ用のいずれか一方のみが更新対象となっている場合に、更新対象となっているＯＳ用のみの更新処理を行うことが規定されていることを特徴とする請求項１１に記載のプリンタドライバ更新方法。
【請求項１６】
前記プリンタドライバは、複数の機能に対応したそれぞれのファイルによって構成され、
前記更新は、プリンタドライバ更新方法と共に提供されるファイルを用いて、前記プリンタドライバを構成するファイルごとに書き替えまたは追加することを特徴とする請求項１１〜１５のいずれか一つに記載のプリンタドライバ更新方法。
【請求項１７】
前記ステップ（ｄ）において更新対象となるバージョンのプリンタドライバを更新する前に、更新するか否かをユーザに確認するステップ（ｆ）をさらに有することを特徴とする請求項１１〜１６のいずれか一つに記載のプリンタドライバ更新方法。
【請求項１８】
前記ステップ（ｆ）は、前記ステップ（ｃ）で取得した前記バージョンが、あらかじめ決められた特別仕様であることを示している場合にのみ実行することを特徴とする請求項１７に記載のプリンタドライバ更新方法。
【請求項１９】
前記プリンタドライバは、機能の異なる複数のプリンタに対応させたユニバーサルプリンタドライバであり、前記プリンタドライバを構成する前記ファイルは、当該ユニバーサルプリンタドライバを構成する複数のプリンタに共通の機能を実行させるための共通機能部のファイルと、プリンタの機種ごとの個別の機能を実行させるための機種別機能部のファイルであることを特徴とする請求項１６〜１８のいずれか一つに記載のプリンタドライバ更新方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリンタドライバを更新するためのプリンタドライバ更新プログラム、およびプリンタドライバ更新方法に関する。
【背景技術】
【０００２】
従来からネットワークによって複数のコンピュータと複数のプリンタ（印刷機器）が接続されたシステム形態がある。
【０００３】
こうしたネットワークを利用したシステムの一形態として、少なくとも１台のコンピュータ（これをサーバコンピュータという）と他のコンピュータ（これをクライアントコンピュータという）によって構成したシステムがある。このシステムでは、クライアントコンピュータがプリンタを使用する際には、サーバコンピュータにおいてクライアントコンピュータに対するプリンタの共有を許可する。これによりクライアントコンピュータは、サーバコンピュータからドライバの供給を受ける。そして、クライアントコンピュータは供給されたプリンタドライバを使用して印刷を実行する（たとえば非特許文献１）。
【０００４】
また、このようなネットワークを利用したシステム形態では、１つのコンピュータ内にインストールされる一つのプリンタドライバで、種類が異なる複数のプリンタに対しても印刷実行することのできる、複数機種共通のプリンタドライバが提案されている（たとえば非特許文献２）。
【０００５】
一方、プリンタドライバは、コンピュータが実行するプログラムの一つであり、プログラムとして提供される手順の変更や追加などによりアップデート（更新）が行われる。
【０００６】
このようなアップデートの一形態として、サーバコンピュータのプリンタドライバに追加モジュールがあると、それをそのサーバコンピュータのオペレーティングシステム（ＯＳ）に組み込み、さらにそのプリンタドライバが制御するプリンタを共有する他のコンピュータに対しても、追加モジュールのあることを通知する技術がある（特許文献１）。
【０００７】
ところで、コンピュータの心臓部であるマイクロプロセッサが、現在主流である３２ビット（３２ビットアーキテクチャ）から６４ビット（６４ビットアーキテクチャ）へと移行しつつかる（６４ビットＲＩＳＣ型マイクロプロセッサについてたとえば非特許文献３、６４ビットプロセッサ用のオペレーティングシステムについてたとえば非特許文献４）。
【０００８】
このため、共有されるプリンタに対して異なるアーキテクチャーのコンピュータがネットワーク上に接続されることになる。そのような場合、従来技術（特許文献１）では、サーバコンピュータとクライアントコンピュータでアーキテクチャーの異なる場合、サーバコンピュータにおいてモジュールが追加（更新）されたドライバは、同じアーキテクチャーのクライアントコンピュータに対してはその更新を通知できるが、アーキテクチャーの異なるクライアントコンピュータに対しては更新の通知ができない。これはアーキテクチャーが異なるためにオペレーティングシステム自体も違うため、サーバコンピュータにおいては自分のオペレーティングシステムにあったドライバしか更新されていないので、アーキテクチャーが異なることで異なるオペレーティングシステムとなっているクライアントコンピュータ用のドライバまでは更新されていないからである。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００９−１８７５５７号公報
【非特許文献】
【００１０】
【非特許文献１】ウインドーズポイントアンドプリント、[online]マイクロソフト社、インターネット<http://www.microsoft.com/japan/windowsserver2003/techinfo/overview/pointandprint.mspx>ページ内のダウンロードリンク先の書類<http://download.microsoft.com/download/6/6/8/668b964f-f126-4a96-88db-25d842a7113f/pointandprint.doc>
【非特許文献２】ＨＰ  Ｕｎｉｖｅｒｓａｌ  Ｐｒｉｎｔ  Ｄｒｉｖｅｒ、[online]ヒューレット・パッカード  カンパニー（ＨＰ）、インターネット<http://h20338.www2.hp.com/Hpsub/cache/343033-0-0-225-121.html>
【非特許文献３】特許庁ホームページ標準技術集、半導体ＩＰ（Ｉｎｔｅｌｌｅｃｔｕａｌ  Ｐｒｏｐｅｒｔｙ）関連技術、１−３−９  ３２／６４ビットマイクロプロセッサ（技術名称）６４ビット  ＲＩＳＣ型マイクロプロセッサ[online]インターネット<http://www.jpo.go.jp/shiryou/s_sonota/hyoujun_gijutsu/handoutai_ip/1-3-9.htm>
【非特許文献４】Ｗｉｎｄｏｗｓ７の機能、６４ビットサポート[online]マイクロソフト社、インターネット<http://windows.microsoft.com/ja-JP/windows7/products/features/64-bit-support>
【発明の概要】
【発明が解決しようとする課題】
【００１１】
本発明の目的は、一つのコンピュータで実行されているオペレーティングシステム用のプリンタドライバが更新されたときに、異なるオペレーティングシステム用のプリンタドライバの更新も行うことのできるプリンタドライバ更新プログラム、およびプリンタドライバ更新方法を提供することにある。
【課題を解決するための手段】
【００１２】
本発明の上記目的は、下記の手段によって達成される。
【００１３】
（１）コンピュータ上で動作しているオペレーティングシステム用のプリンタドライバである自ＯＳ用プリンタドライバが存在するか否かを確認する手順（ａ）と、前記コンピュータ上で動作しているオペレーティングシステムとは異なるオペレーティングシステム用のプリンタドライバである他ＯＳ用プリンタドライバが存在するか否かを確認する手順（ｂ）と、前記手順（ａ）で存在確認された自ＯＳ用プリンタドライバおよび前記手順（ｂ）で存在確認された他ＯＳ用プリンタドライバのそれぞれのバージョンを取得する手順（ｃ）と、前記手順（ｃ）で取得した前記バージョンに対応してあらかじめ決められた更新方法に従い前記自ＯＳ用および／または前記他ＯＳ用のプリンタドライバを更新するか否かを選択する手順（ｄ）と、前記手順（ｄ）で更新することが選択された前記プリンタドライバを更新する手順（ｅ）と、を有する各手順をコンピュータに実行させることを特徴とするプリンタドライバ更新プログラム。
【００１４】
（２）前記更新方法は、自ＯＳ用プリンタドライバが存在しているが更新対象のバージョンではなくかつ他ＯＳ用のプリンタドライバが存在して更新対象のバージョンである場合、または自ＯＳ用プリンタドライバが存在して更新対象のバージョンであっても他ＯＳ用のプリンタドライバが存在しているが更新対象のバージョンではない場合は、更新処理を行わないことが規定されていることを特徴とする（１）記載のプリンタドライバ更新プログラム。
【００１５】
（３）前記更新方法は、自ＯＳ用プリンタドライバが存在しかつ更新対象のバージョンであり、他ＯＳ用のプリンタドライバが存在していない場合は更新処理を行うことが規定されていることを特徴とする（１）または（２）記載のプリンタドライバ更新プログラム。
【００１６】
（４）前記更新方法は、自ＯＳ用および他ＯＳ用のプリンタドライバが共に存在しかつ共に更新対象のバージョンである場合は、自ＯＳ用および他ＯＳ用の両方のプリンタドライバの更新処理を行うことが規定されていることを特徴とする（１）〜（３）のいずれか一つに記載のプリンタドライバ更新プログラム。
【００１７】
（５）前記更新方法は、自ＯＳ用および他ＯＳ用のいずれか一方のみが更新対象となっている場合に、更新対象となっているＯＳ用のみの更新処理を行うことが規定されていることを特徴とする（１）記載のプリンタドライバ更新プログラム。
【００１８】
（６）前記プリンタドライバは、複数の機能に対応したそれぞれのファイルによって構成され、前記更新は、プリンタドライバ更新プログラムと共に提供されるファイルを用いて、前記プリンタドライバを構成するファイルごとに書き替えまたは追加することを特徴とする（１）〜（５）のいずれか一つに記載のプリンタドライバ更新プログラム。
【００１９】
（７）前記手順（ｄ）において更新対象となるバージョンのプリンタドライバを更新する前に、更新するか否かをユーザに確認する手順（ｆ）をさらに有することを特徴とする（１）〜（６）のいずれか一つに記載のプリンタドライバ更新プログラム。
【００２０】
（８）前記手順（ｆ）は、前記手順（ｃ）で取得した前記バージョンが、あらかじめ決められた特別仕様であることを示している場合にのみ実行することを特徴とする（７）に記載のプリンタドライバ更新プログラム。
【００２１】
（９）前記プリンタドライバは、機能の異なる複数のプリンタに対応させたユニバーサルプリンタドライバであり、前記プリンタドライバを構成する前記ファイルは、当該ユニバーサルプリンタドライバを構成する複数のプリンタに共通の機能を実行させるための共通機能部のファイルと、プリンタの機種ごとの個別の機能を実行させるための機種別機能部のファイルであることを特徴とする（６）〜（８）のいずれか一つに記載のプリンタドライバ更新プログラム。
【００２２】
（１０）（１）〜（９）のいずれか一つに記載のプリンタドライバ更新プログラムを記録したコンピュータ読み取り可能な記録媒体。
【００２３】
（１１）コンピュータ上で動作しているオペレーティングシステム用のプリンタドライバである自ＯＳ用プリンタドライバが存在するか否かを確認するステップ（ａ）と、
前記コンピュータ上で動作しているオペレーティングシステムとは異なるオペレーティングシステム用のプリンタドライバである他ＯＳ用プリンタドライバが存在するか否かを確認するステップ（ｂ）と、前記ステップ（ａ）で存在確認された自ＯＳ用プリンタドライバおよび前記ステップ（ｂ）で存在確認された他ＯＳ用プリンタドライバのそれぞれのバージョンを取得するステップ（ｃ）と、前記ステップ（ｃ）で取得した前記バージョンに対応してあらかじめ決められた更新方法に従い前記自ＯＳ用および／または前記他ＯＳ用のプリンタドライバを更新するか否かを選択するステップ（ｄ）と、前記ステップ（ｄ）で更新することが選択された前記プリンタドライバを更新するステップ（ｅ）と、を有する各ステップをコンピュータに実行させることを特徴とするプリンタドライバ更新方法。
【００２４】
（１２）前記更新方法は、自ＯＳ用プリンタドライバが存在しているが更新対象のバージョンではなくかつ他ＯＳ用のプリンタドライバが存在して更新対象のバージョンである場合、または自ＯＳ用プリンタドライバが存在して更新対象のバージョンであっても他ＯＳ用のプリンタドライバが存在しているが更新対象のバージョンではない場合は、更新処理を行わないことが規定されていることを特徴とする（１１）記載のプリンタドライバ更新方法。
【００２５】
（１３）前記更新方法は、自ＯＳ用プリンタドライバが存在しかつ更新対象のバージョンであり、他ＯＳ用のプリンタドライバが存在していない場合は更新処理を行うことが規定されていることを特徴とする（１１）または（１２）記載のプリンタドライバ更新方法。
【００２６】
（１４）前記更新方法は、自ＯＳ用および他ＯＳ用のプリンタドライバが共に存在しかつ共に更新対象のバージョンである場合は、自ＯＳ用および他ＯＳ用の両方のプリンタドライバの更新処理を行うことが規定されていることを特徴とする（１１）〜（１３）のいずれか一つに記載のプリンタドライバ更新方法。
【００２７】
（１５）前記更新方法は、自ＯＳ用および他ＯＳ用のいずれか一方のみが更新対象となっている場合に、更新対象となっているＯＳ用のみの更新処理を行うことが規定されていることを特徴とする（１１）に記載のプリンタドライバ更新方法。
【００２８】
（１６）前記プリンタドライバは、複数の機能に対応したそれぞれのファイルによって構成され、前記更新は、プリンタドライバ更新方法と共に提供されるファイルを用いて、前記プリンタドライバを構成するファイルごとに書き替えまたは追加することを特徴とする（１１）〜（１５）のいずれか一つに記載のプリンタドライバ更新方法。
【００２９】
（１７）前記ステップ（ｄ）において更新対象となるバージョンのプリンタドライバを更新する前に、更新するか否かをユーザに確認するステップ（ｆ）をさらに有することを特徴とする（１１）〜（１６）のいずれか一つに記載のプリンタドライバ更新方法。
【００３０】
（１８）前記ステップ（ｆ）は、前記ステップ（ｃ）で取得した前記バージョンが、あらかじめ決められた特別仕様であることを示している場合にのみ実行することを特徴とする（１７）に記載のプリンタドライバ更新方法。
【００３１】
（１９）前記プリンタドライバは、機能の異なる複数のプリンタに対応させたユニバーサルプリンタドライバであり、前記プリンタドライバを構成する前記ファイルは、当該ユニバーサルプリンタドライバを構成する複数のプリンタに共通の機能を実行させるための共通機能部のファイルと、プリンタの機種ごとの個別の機能を実行させるための機種別機能部のファイルであることを特徴とする（１６）〜（１８）のいずれか一つに記載のプリンタドライバ更新方法。
【発明の効果】
【００３２】
本発明によれば、コンピュータに存在する複数の異なるオペレーティングシステム用のプリンタドライバを確認したうえで、存在が確認されたプリンタドライバについて更新対象となるバージョンであるか否かを確認して、適切な更新を行うこととした。これによりコンピュータに存在する複数の異なるオペレーティングシステム用のプリンタドライバを一度に更新（アップデート）することができる。
【図面の簡単な説明】
【００３３】
【図１】本発明の一実施形態にかかる印刷システムの全体構成を示すブロック図である。
【図２】コンピュータのハードウェア構成を示すブロック図である。
【図３】プリンタのハードウェア構成を示すブロック図である。
【図４】コンピュータによって実行されるプリンタの制御を行うためのプリンタドライバの機能を説明するためのブロック図である。
【図５】プリンタドライバ更新プログラムパッケージの一例を示す図である。
【図６】プリンタドライバ更新プログラムの手順を示すフローチャートである。
【図７】バージョン情報表示処理の手順を示すサブルーチンフローチャートである。
【図８】バージョン情報の表示例を示す図面である。
【発明を実施するための形態】
【００３４】
以下、図面を参照して、本発明の実施形態を詳細に説明する。
【００３５】
図１は、本発明の一実施形態にかかる印刷システムの全体構成を示すブロック図である。
【００３６】
図１に示す印刷システムは、ネットワーク５０によって接続された少なくとも一つのプリントサーバコンピュータ１００と、複数のクライアントコンピュータ１１０、１２０と、複数のプリンタ（印刷機器）２０Ａ，２０Ｂ，２０Ｃとを含む。
【００３７】
プリントサーバコンピュータ１００およびクライアントコンピュータ１１０、１２０は、いわゆるパソコンやワークステーションなどと称されるものである。基本的なハードウェアはどちらも同じである。プリントサーバコンピュータ１００とクライアントコンピュータ１１０、１２０の違いは、その主たる機能の違いである。
【００３８】
プリントサーバコンピュータ１００は、各クライアントコンピュータ１１０、１２０に対して、各クライアントコンピュータ１１０、１２０のオペレーティングシステムに対応したプリンタドライバの供給を行っている。一方、クライアントコンピュータ１１０、１２０は末端のユーザが文書や図形などの印刷するデータを作成するために用いられる。そして、クライアントコンピュータ１１０、１２０は、プリントサーバコンピュータ１００からプリンタドライバの供給を受ける。
【００３９】
印刷の実行は、たとえば、プリントサーバコンピュータ１００が、クライアントコンピュータ１１０、１２０からの印刷ジョブを受け取って、クライアントコンピュータ１１０、１２０によって指定されたプリンタ（２０Ａ，２０Ｂ，２０Ｃのいずれか一つ）に対応したデータ変換（印刷ジョブのレンダリングなど）を行ってうえで、指定されたプリンタに対して印刷実行を指令する。また、クライアントコンピュータ１１０、１２０が自身で指定したプリンタに対応したデータ変換（印刷ジョブのレンダリングなど）を行ったうえで、プリントサーバコンピュータ１００へレンダリング後のデータを送信して、プリントサーバコンピュータ１００がプリンタに対して印刷実行を指令する（これらは従来技術、たとえば特許文献１や非特許文献１と同様であるので詳細な説明は省略する）。また、ＰＤＬ（ページ記述言語（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ））に対応したプリンタに対しては、プリントサーバコンピュータ１００からはプリンタドライバの供給を受けるだけで、クライアントコンピュータ１１０、１２０からの印刷実行は、直接、プリンタに対してＰＤＬによる印刷ジョブを送信して実行させることもできる。これらは周知であるので詳細な説明は省略する。
【００４０】
そして、本実施形態では、プリントサーバコンピュータ１００およびクライアントコンピュータ１１０、１２０のそれぞれは３２ビットアーキテクチャーまたは６４ビットアーキテクチャーによって構成されている。ここでは、プリントサーバコンピュータ１００は３２ビットアーキテクチャーで動作しており、クライアントコンピュータ１１０は３２ビットアーキテクチャー、クライアントコンピュータ１２０は６４ビットアーキテクチャーで動作しているものとする。なお、３２ビットアーキテクチャーとはＣＰＵとして３２ビットマイクロプロセッサを備え、整数型、メモリアドレス、その他のデータサイズなどが、最大３２ビット幅を備えているコンピュータをいう。同様に、６４ビットアーキテクチャーとは６４ビットマイクロプロセッサを備え、整数型、メモリアドレス、その他のデータサイズなどが、最大６４ビット幅を備えているコンピュータをいう。これらのアーキテクチャーの違いにより、オペレーティングシステムも異なる。３２ビットアーキテクチャーのコンピュータでは３２ビットオペレーティングシステムが使用され、６４ビットアーキテクチャーのコンピュータでは６４ビットオペレーティングシステムが使用される。
【００４１】
なお、６４ビットアーキテクチャーのコンピュータにおいては３２ビットオペレーティングシステムが使用可能である。このため６４ビットアーキテクチャーのコンピュータに、３２ビットアーキテクチャーのコンピュータに使用する３２ビットオペレーティングシステムと同じオペレーティングシステムが使用される場合もある。ただし、本実施形態では６４ビットアーキテクチャーのコンピュータには、６４ビットオペレーティングシステムを用いた場合を例に説明する。
【００４２】
プリンタ２０Ａ，２０Ｂ，２０Ｃは、さまざまな機能を有するプリンタであるが、全てのプリンタが同じ機能を有しているとは限らない。たとえば、あるプリンタは印刷ジョブとしてＰＤＬに対応しているが他のプリンタは対応していない。また、あるプリンタは、自動両面印刷機能、仕分け、ステープル、穴あけなどのフィニッシャー機能などを有しているが、他のプリンタはこれらの機能の全部または一部を有していないなどである。ただし、プリントサーバコンピュータ１００またはクライアントコンピュータ１１０、１２０からの印刷ジョブを受け取って印刷する基本機能は同じである。
【００４３】
ネットワーク５０は、たとえば、イーサネット（登録商標）、トークンリング、およびＦＤＤＩ等の規格によりプリントサーバコンピュータ１００やネットワーク機器同士を接続したＬＡＮ、またはＬＡＮ同士を専用線で接続したＷＡＮ等の各種のネットワークである。
【００４４】
なお、ネットワーク５０に接続されるコンピュータ、プリンタなどの台数は、図１に示される例に限定されない。
【００４５】
図２は、プリントサーバコンピュータ１００およびクライアントコンピュータ１１０、１２０のハードウェア構成を示すブロック図である。
【００４６】
プリントサーバコンピュータ１００およびクライアントコンピュータ１１０、１２０のハードウェア構成はアーキテクチャーが異なっていても同じである。これらは周知の技術であるから、ここでは概略のみ説明する。図２においては、これらコンピュータを総称してコンピュータ１０とした。コンピュータ１０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１２、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１３、ハードディスク１４（ＨＤＤ：Ｈａｒｄ  ｄｉｓｋ  ｄｒｉｖｅ）、および通信インタフェース１５（ＮＩＣ：Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）を含み、これらは信号をやりとりするためのバス１８を介して相互に接続されている。また、入力装置１６やディスプレイ１７が接続または内蔵されている。
【００４７】
ＣＰＵ１１はプログラムに従って上記各部の制御や各種の演算処理を行う。ＲＯＭ１２はコンピュータ１０の起動や基本的な機能に必要なプログラムを格納している。ＲＡＭ１３はＣＰＵ１１の処理に必要な作業領域としてプログラムおよびデータを一時記憶するために使用される。ハードディスク１４は、不揮発性の読み書き自在な記憶装置であり、オペレーティングシステム（ＯＳ）、ドライバプログラム、各種アプリケーションプログラムなどのプログラムや、各種データを格納する。通信インタフェース１５は、ネットワーク５０を介して他の機器と通信するためのインタフェースであり、イーサネット（登録商標）、トークンリング、ＦＤＤＩ等の規格に対応して、他の機器（ここでは他のコンピュータおよびプリンタ）との通信制御を行う。入力装置１６はキーボードやポインティングデバイスなどであり、ディスプレイ１７は表示（出力）装置である。
【００４８】
図３は、図１に示されるプリンタ２０Ａ，２０Ｂ，２０Ｃのハードウェア構成を示すブロック図である。プリンタ２０Ａ，２０Ｂ，２０Ｃは、既に説明したように、それぞれ個別の機能として異なる機能を有するものではあるが、基本的な印刷機能は同じである。ここでは、代表的なハードウェア構成として、ＰＤＬに対応したページプリンタ（レーザプリンタ）の概略構成を説明する。なお、図３においてはプリンタ２０として示した。
【００４９】
プリンタ２０は、ＣＰＵ２１、印刷部２２、ＲＡＭ２３、画像形成部２４、ハードディスク２５（ＨＤＤ）、および通信インタフェース２６（ＮＩＣ）を含み、これらは信号をやりとりするためのバス２８を介して相互に接続されている。
【００５０】
ＣＰＵ２１は、送られてきた印刷ジョブを解析して、画像形成部２４に印刷ジョブの中から画像データを展開させ、印刷部２２に対して展開された画像データの印刷を実行させるなど、プリンタ全体の制御を行う。
【００５１】
印刷部２２は、電子写真式プロセス等の周知の作像プロセスを用いて、画像形成部２４で作成された画像を用紙等の記録媒体に印刷する。
【００５２】
ＲＡＭ２３は、主にＣＰＵ２１の処理に必要なデータの展開を行うために使用される揮発性メモリである。
【００５３】
画像形成部２４は、コンピュータ１０から送られてきた印刷ジョブの印刷データに基づいて画像形成を行って、形成した画像データを印刷部２２へ送る。
【００５４】
ハードディスク２５は、送られてきた印刷ジョブを一時記憶すると共に、印刷ジョブがＰＤＬデータの場合に画像形成部２４によって展開された画像データを記憶する。
【００５５】
通信インタフェース２６は、接続されるネットワークの規格に応じてコンピュータ１０との通信を行う。
【００５６】
なお、プリンタ２０Ａ，２０Ｂ，２０Ｃとしては、ここで説明したプリンタに限らず、たとえば、画像形成部２４やＨＤＤ２５を有しない（すなわち、プリンタ自身ではデータの展開（レンダリング）を行わないものや、電子写真方式のページプリンタに限らずインクジェットプリンタなどであってもよい。
【００５７】
次に上述した印刷システムの作用を説明する。
【００５８】
まず、プリンタに対して印刷を実行させるための制御プログラムであるプリンタドライバについて説明する。プリンタドライバはプリントサーバコンピュータ１００およびクライアントコンピュータ１１０、１２０のそれぞれに導入されている。プリンタドライバは、プリントサーバコンピュータ１００およびクライアントコンピュータ１１０、１２０のそれぞれのアーキテクチャー（３２ビットまたは６４ビット）に対応したプログラムである。
【００５９】
図４は、コンピュータによって実行されるプリンタの制御を行うためのプリンタドライバの機能を説明するためのブロック図である。
【００６０】
このプリンタドライバ２００は、ユニバーサルプリンタドライバであり、機能の異なるプリンタに対して一つのプリンタドライバで対応することができるものである。その主な機能は、ネットワーク５０を介してプリンタと通信し、出力可能なプリンタの検出を行い、その中からユーザが所望するプリンタを選択して、ユーザの指示に従い印刷設定を行い、印刷ジョブの出力および印刷実行の指令などを行う。
【００６１】
このような機能を提供するプリンタドライバ２００は、共通機能部２０１、機種別機能部２０２、プリンタ切替部２０３、バージョン情報記憶部２０４からなる。プリンタドライバ２００は、これらの各機能部がオペレーティングシステム５００に組み込まれるように導入されており、印刷出力を行う際に呼び出されて実行される。
【００６２】
共通機能部２０１は、全てのプリンタに対し共通で使用する機能、およびこのプリンタドライバ全体の制御を司る機能を有する。具体的には、たとえば印刷出力のための描画処理、印刷設定画面の制御、機種別機能部および印刷装置切替部、バージョン情報記憶部間のやりとりの制御など、プリンタドライバの核となる処理を行う。
【００６３】
機種別機能部２０２は、プリンタの個別の機能に応じて機種別に用意されたプログラム（それぞれの機能を実行するためのファイル郡）である。たとえば、機種Ａのプリンタであるプリンタ２０Ａには機種別機能部Ａ、機種Ｂのプリンタであるプリンタ２０Ｂには機種別機能部Ｂ、機種Ｃのプリンタであるプリンタ２０Ｃには機種別機能部Ｃといったように、プリンタの機種ごとに独立したモジュールが対応している。なお、同じ機種（たとえば機種Ａ）のプリンタが複数ある場合はそれらに対応した機種別機能部Ａが一つ存在すればよい。ただし、同じ機種のプリンタであっても、搭載している機能が異なる場合（たとえばオプションのフィニッシャー機能を備えているプリンタと、備えていないプリンタが混在している場合）は、同一機種用の機種別機能部２０２であっても、オプション機能の違いによりそれぞれ機種別機能部２０２を別々に用意してもよい。
【００６４】
この機種別機能部は、それぞれの機種ごとに、プリンタとしてどのような機能を持ち、どのような配置で画面に表示するか、あるいは画面上にどのような文字列を表示するかといった情報を保持している。そして選択されたプリンタの機種別機能部の持つ情報に従って印刷設定画面が表示される。
【００６５】
プリンタ切替部２０３は、ネットワーク上の複数のプリンタの中から印刷出力を行うプリンタを選択し、選択されたプリンタに適した機種別機能部２０２を共通機能部２０１経由で呼び出す。プリンタを選択する手段としては、ネットワークを経由して取得したプリンタ情報の一覧よりプリンタを選択する、プリンタのＩＰアドレスおよび機種を直接指定して選択する、過去に使用したプリンタを履歴情報から選んで選択するなどが挙げられる。
【００６６】
バージョン情報記憶部２０４は、現在のプリンタドライバのバージョン情報を記憶する。プリンタドライバのアップデートが行われた場合、ここで管理されているバージョン情報も書き換えられる。バージョン情報記憶部２０４は、ここでは機能部として説明したが実際には後述するとおり単純なテキストファイルである。バージョン情報は、プリンタドライバのバージョンを特定するための情報である。具体的にはたとえば、少なくともバージョン番号が含まれる。また、バージョン番号と共に、そのバージョンのプリンタドライバがどのオペレーティングシステムに対応するものであるかを示すための情報を含んでいてもよい。さらにはそのバージョンのリリース日、作成元（製造会社、販売会社など）を含む場合もある。
【００６７】
これらの各機能部は、実際には、オペレーティングシステムに対応したプログラムファイル、オペレーティングシステムに依存しないテキストファイルとして提供される。一例を挙げれば、Ｗｉｎｄｏｗｓ（登録商標）においては表１のようなファイル群として提供される。
【００６８】
【表１】
0005531858.tif 000002
【００６９】
表１においては、概要として各ファイルが上述したどの機能部を担当するものであるかを示した。
【００７０】
各ファイルにおいて、拡張子「ｅｘｅ」および「ｄｌｌ」のファイルはオペレーティングシステムから読み出されて実行されるプログラムファイルである。これらのプログラムファイルは、実行されるオペレーティングシステムに特化していてオペレーティングシステムが異なると実行させることはできない。一方、そのほかの拡張子のファイル（「ｉｎｆ」、「ｂｍｐ」、「ｌｏｃ」、「ｖｅｒ」など）は、プリンタドライバの動作に必要なパラメータやユーザインターフェース画像などを記憶したファイルであり、オペレーティングシステムが異なっても内容を見ることはできる。特に、「ＵＰＤ＿ｖｅｒｓｉｏｎ．ｖｅｒ」ファイルは、バージョン情報を記憶したファイルである（バージョン情報記憶部）。このことから、それを明示するために拡張子「ｖｅｒ」が付与されている。このファイルの実態は単純なテキストファイルであり、他のオペレーティングシステムであっても内容を見ることができる。したがって、このファイルの内容を見ることで他のオペレーティングシステム用のプリンタドライバであっても、そのバージョンを確認することができる。
【００７１】
次に、プリンタドライバの更新について説明する。
【００７２】
プリンタドライバ２００は、プログラム内容の修正や追加などのために更新（バージョンアップ）が行われる。更新はプリンタドライバ全体としてまたは各機能部ごとにファイルの書き換えや追加によって行われる。具体的には表１に示した各ファイルが更新する内容に応じて書き換えられたり、追加されたりする。ここで、プログラム内容の修正とは主にバグの解消や機能の最適化などのために行われる。一方、追加とは全体としてこれまでにない機能の追加、新たなプリンタ機種の追加、個別のプリンタ機種における機能の追加などである。
【００７３】
このような更新処理は、プリンタドライバ更新プログラムが実行されることによって行われる。プリンタドライバ更新プログラムの機能の概略は以下のとおりである。
【００７４】
プリンタドライバ更新プログラムは、自分のオペレーティングシステム（以下、自ＯＳという）に更新対象となっているプリンタドライバがインストールされているかどうかを確認する。また、他のオペレーティングシステム（以下他ＯＳという）用のプリンタドライバがインストールされているかを確認する。さらにそれぞれのプリンタドライバのバージョンを確認して、その結果に応じて自ＯＳ用、他ＯＳ用のそれぞれに対して、適切な更新処理を行う（更新不要の場合には更新しない）。また、プリンタドライバ更新プログラムは、更新処理が終わった後の更新後バージョン情報の書き込み、更新前後のバージョン情報の表示なども行う。
【００７５】
ここで、自ＯＳ用のプリンタドライバとは、サーバコンピュータの自ＯＳ上および他のコンピュータにインストールされた自ＯＳと同じアーキテクチャーのオペレーティングシステムへ共有によって提供するプリンタドライバを指す。また、他ＯＳ用のプリンタドライバとは、他のコンピュータにインストールされた自ＯＳと異なるアーキテクチャーのＯＳから共有によって提供するために自ＯＳに追加でインストールされているプリンタドライバを指す。他ＯＳ用のプリンタドライバは、あくまで他ＯＳで使用するためのもので自ＯＳでは実行できない（上述のようにバージョン情報などは確認可能である）。
【００７６】
プリンタドライバ更新プログラムは、プリントサーバコンピュータ１００にインストールされて、そこで動作する。したがって、プリントサーバコンピュータ１００上のオペレーティングシステムにより動作するプログラムとして提供される。
【００７７】
このような機能を有するプリンタドライバ更新プログラムは、たとえば、更新を実行するプログラム自体のファイルと、更新に使用するファイル群からなるパッケージとして提供される。
【００７８】
図５は、このようなプリンタドライバ更新プログラムパッケージの一例を示す図である。この例は、オペレーティングシステムがマイクロソフトウインドーズオペレーティングシステム（Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ  Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）の場合である（以下単にＷｉｎｄｏｗｓ（登録商標）と称する。またＭｉｃｒｏｓｏｆｔ（登録商標）である）。
【００７９】
図示するように、このプリンタドライバ更新プログラムのパッケージはルートフォルダ１２０１にひとまとめにされている。ルートフォルダ１２０１直下には、プリンタドライバ更新プログラムそのものである「ｕｐｄａｔｅ．ｅｘｅ」１２０２と更新処理に必要なファイル群がある。更新処理に必要なファイル群は、更新処理を行う際に表示されるユーザインターフェース画面のビットマップファイル「ｕｐｄａｔｅ．ｂｍｐ」１２０３、このパッケージで更新対象としているプリンタドライバのバージョン（更新対象バージョン）とそれぞれの更新対象バージョンについての更新処理後のバージョン（更新後バージョン）、更新方法、およびこのパッケージの内容を記載したアップデート情報ファイル「ｕｐｄａｔｅ．ｉｎｉ」１２０４がある。
【００８０】
「ｕｐｄａｔｅ．ｅｘｅ」１２０２が実行されることで、後述する手順により更新処理が行われる。
【００８１】
その他、図示していないが、たとえば更新処理の際に表示する文字列を定義するファイルなど、必要に応じたファイル群を含んでいてもよい。
【００８２】
そして、ルートフォルダの下に、更新用ファイルの入ったフォルダ（更新用フォルダという）１２０５、１２０９〜１２１２がある。この更新用フォルダは、更新対象のバージョンごとに用意されている。つまり現在インストールされているプリンタドライバのバージョンに応じて、適切な更新用フォルダ内のファイルを使用して更新を行うことになる。その内容は、たとえば「バージョン１．０．０．０更新用フォルダ」１２０５を例にとると、このフォルダには、更新対象バージョン「１．０．０．０」用の更新用ファイルが格納されている。そして、その中には実際に更新するファイルとして、機種別機能部に対応したファイル「ｄｒｉｖｅｒ０１．ｄｌｌ」１２０６、「ｄｒｉｖｅｒ０１．ｄｌｌ」１２０７、…「ｄｒｉｖｅｒＸＸ．ｄｌｌ」１２０８を格納している。
【００８３】
その他のフォルダ１２０９〜１２１１も同様であり、図示するとおり、それぞれの更新対象のバージョン用である。また、全てのバージョン間、あるいはいくつかのバージョン間で共通して使用する更新ファイルを格納したバージョン間共通の「バージョン間共通更新用フォルダ」１２１２もある。
【００８４】
これらの更新用フォルダおよびその中のファイルは、さらに図示しない更新に必要なフォルダおよびファイルが格納されていてもよい。
【００８５】
このプリンタドライバ更新プログラムによるプリンタドライバの更新動作について説明する。図６は、プリンタドライバ更新プログラムの手順を示すフローチャートである。この手順は、プリントサーバコンピュータ１００によって実行される手順である。細かくいえば、図５のファイル例では、ルートフォルダ１２０１全部がプリントサーバコンピュータ１００のハードディスク１４にいったん記憶される。そして、プリントサーバコンピュータ１００のＣＰＵ１１がプリンタドライバ更新プログラムである「ｕｐｄａｔｅ．ｅｘｅ」１２０２を実行することになる。
【００８６】
プリントサーバコンピュータ１００のＣＰＵ１１（以下この手順の説明においては単にＣＰＵ１１という）がプリンタドライバ更新プログラムを起動する。この段階でプリンタドライバ更新プログラムがアーキテクチャーの異なるオペレーティングシステム用のものであれば起動不能であるので、その旨がオペレーティングシステムから警告表示されて、起動しない。これはオペレーティングシステムの通常動作である。
【００８７】
以下では、正常に起動した場合について説明する。
【００８８】
ＣＰＵ１１は、プリンタドライバ更新プログラム起動後、まず、更新プログラムのパッケージ内容に問題がないかを確認する（Ｓ１）。具体的には、アップデート情報ファイル（図５中の「ｕｐｄａｔｅ．ｉｎｉ」１２０４）に記載されているパッケージ内容と、実際にルートフォルダ中に存在するフォルダ名およびファイル名を確認する。この段階で、パッケージ内に必要なフォルダおよびファイルが入っていないなどの問題があれば（Ｓ２：ＮＯ）、処理を終了する。この際にその旨のメッセージを表示する（Ｓ２０）とよい。
【００８９】
続いて、プリンタドライバが存在するか（インストールされているか）否かを確認する（Ｓ３〜Ｓ４）。プリンタドライバはオペレーティングシステムのシステムフォルダ内にインストールされているため、その場所を確認することで判断する。システムフォルダ内では、自ＯＳ用および他ＯＳ用のプリンタドライバがそれぞれの環境に対応した別フォルダで管理されている。そこでインストールされているプリンタドライバについて、自ＯＳ用と他ＯＳ用のそれぞれのプリンタドライバの存在の有無を確認する。たとえばプリンタドライバのバージョン情報記憶部の内容（具体的には表１に示した「ＵＰＤ＿ｖｅｒｓｉｏｎ．ｖｅｒ」ファイルの内容）を確認することで、プリンタドライバの存在と共にバージョンの確認も可能である。ただし、プリンタドライバの存在確認だけであれば、システムフォルダにプリンタドライバがインストールされているか否かによって確認するだけでもよい。
【００９０】
このＳ３〜Ｓ４の処理は、まず自ＯＳ用のプリンタドライバが存在するかどうかを確認し（Ｓ３）、存在しない場合（Ｓ３：ＮＯ）は処理を終了する。その際に更新するプリンタドライバが存在していない旨の警告を表示してもよい（Ｓ２１）。更新対象の自ＯＳ用のプリンタドライバが存在する場合は（Ｓ３：ＹＥＳ）、引き続き更新対象の他ＯＳ用のプリンタドライバの存在を確認する（Ｓ４）。更新対象の他ＯＳ用プリンタドライバが存在しない場合（Ｓ４：ＮＯ）、その旨を表示して（Ｓ２２）、次の処理へ移る。更新対象の他ＯＳ用のプリンタドライバが存在する場合は（Ｓ４：ＹＥＳ）、その旨を一時記憶して（Ｓ５）、次の処理へ移る。
【００９１】
なお、このＳ３〜Ｓ４の処理においては、他ＯＳ用のプリンタドライバが存在するか否かにかかわらず、自ＯＳ用のプリンタドライバが存在しさえすれば、この段階ではバージョンが更新対象ではない場合も含めて更新対象となるプリンタドライバが存在していると判断する。一方、Ｓ３において自ＯＳ用プリンタドライバが存在しないと判断された場合は、他ＯＳ用のプリンタドライバを確認せずに処理を終了する。これは、従来技術であるポイントアンドプリントの技術においては、必ず自ＯＳ用のプリンタドライバがインストールされていないと他ＯＳ用のプリンタドライバをインストールできない仕組みになっている。つまり、自ＯＳ用のみインストールされている場合はあるが、他ＯＳ用のみがインストールされている状況は起こりえないからである。これはポイントアンドプリントの技術を採用していない場合も同様であり、自ＯＳ用プリンタドライバが存在しないということは、そもそもそのコンピュータはプリントサーバとして機能していないということを意味する。したがって、そのようなコンピュータには、他ＯＳ用のプリンタドライバだけがインストールされているといことはないため、ここで処理を終了しても差し支えない。言い換えると（ポイントアンドプリントの技術を採用していてもいなくても）、自ＯＳ用のプリンタドライバが存在しないものに対して以降の処理を継続しても、処理時間やコンピュータ資源の無駄遣いになるだけであるからこの段階で処理を終了することが好ましいのである。
【００９２】
続いて、ＣＰＵ１１は、検出されたプリンタドライバの現在のバージョン（現バージョン情報）を取得する（Ｓ６）。具体的にはインストールされているプリンタドライバの「ＵＰＤ＿ｖｅｒｓｉｏｎ．ｖｅｒ」ファイルを確認することで現バージョン情報を取得する。取得した現バージョン情報（バージョン番号だけでもよい）は一時記憶される。このＳ６の処理では、自ＯＳ用だけでなく、Ｓ５の一時記憶に基づいて、他ＯＳ用のプリンタドライバが存在する場合は他ＯＳ用のプリンタドライバの現バージョン情報も取得する。Ｓ５において他ＯＳ用のプリンタドライバが存在することが記憶されていなければ、他ＯＳ用のプリンタドライバについてのバージョン取得は行わない。
【００９３】
続いてＣＰＵ１１はユーザからバージョン情報を表示する命令があるか否かを確認し（Ｓ７）、バージョン情報表示命令が入力された場合（Ｓ７：ＹＥＳ）は、サブルーチンＳ３０の処理を実行して、この段階で更新前後のバージョン情報を表示する。この処理の詳細については後述するが、この段階で更新前後のバージョン情報を表示することにより、ユーザが意図しない更新を回避する（更新を中止する）ことができるようになる。
【００９４】
Ｓ７においてバージョン情報の表示命令が入力されない場合（Ｓ７：ＮＯ）、およびＳ３０内の処理終了後リターンした場合には、ＣＰＵ１１は更新実行命令が出ているものとして、現在インストールされているプリンタドライバのバージョンに適した更新方法を取得し（Ｓ８）、その内容に応じた更新処理を実行する（Ｓ９）。
【００９５】
表２は、Ｓ８における更新方法を示すテーブルである。Ｓ８では、表２のように規定された更新方法に従って更新するか否かを判断している。表２はこの更新方法が分かりやすいようテーブル形式で示したが、実際にはアップデート情報ファイル「ｕｐｄａｔｅ．ｉｎｉ」１２０４にＣＰＵ１１によって処理可能な形式で記載されている。
【００９６】
【表２】
0005531858.tif 000003
【００９７】
Ｓ８では、Ｓ３およびＳ４で確認した更新対象のプリンタドライバの有無、およびＳ６で取得した現バージョン情報に応じて表２に示した更新方法により更新の有無を判断するのである。
【００９８】
どのようなときに更新するか、またはしないかを選択するための条件は５種類に分類している（下記第１から第５）。
【００９９】
第１は更新対象であるバージョンが存在する場合である。表２中「○」印で示す。これは、プリンタドライバがインストールされており、確認された現バージョンも更新対象であることを示している。
【０１００】
第２は警告対象のバージョンが存在する場合である。表２中「△」印で示す。これはＳ６で確認された現バージョンが更新対象であるが特別仕様のものである場合である。特別仕様とは、プリンタドライバが特別なカスタマイズが加えられているものである。このような特別仕様の場合、更新によってカスタマイズされた機能が消えてしまうおそれがある。そこで、そのようなことが起こらないように警告を行ってカスタマイズ品に対して更新するか否かをユーザに選択させるようにしている。なお、特別仕様であるか否かはアップデート情報ファイル「ｕｐｄａｔｅ．ｉｎｉ」１２０４に記載されているバージョンとＳ６で取得したバージョンが同じであり、かつ、Ｓ６で取得したバージョン情報に、特別仕様であることを示すバージョン番号（添え字などを含む）が加えられているか否かで判断する。
【０１０１】
第３は、更新対象外のバージョンが存在する場合である。表２中「×」印で示す。これはＳ６で取得した現バージョンが、更新対象のバージョンではない場合である。
【０１０２】
第４は、自ＯＳ用についてのみ判断するものであり、自ＯＳ用プリンタドライバが更新済みである場合である。表２中「＊」印で示す。Ｓ６で取得した現バージョンが、アップデート情報ファイル「ｕｐｄａｔｅ．ｉｎｉ」１２０４に記載されている更新後バージョンと同じになっている場合である。
【０１０３】
第５は、他ＯＳ用についてのみ判断するものであり、表２中「−」印で示す。これは、他ＯＳ用プリンタドライバがインストールされていない場合である。すなわち、Ｓ５において、他ＯＳ用プリンタドライバの存在が記憶されていない場合である。
【０１０４】
表２からわかるように、本実施形態では、自ＯＳ用または他ＯＳ用のいずれか一方のみに更新対象のバージョンが存在する場合（表２中のＮｏ４、８、１０）は、どちらのＯＳ用も更新は行わないこととしている。これは、本印刷システムが基本的にプリントサーバコンピュータ１００経由で印刷が行われるものである。このため、プリントサーバコンピュータ１００（自ＯＳ）とそれに接続される形態となるクライアントコンピュータ１２０（他ＯＳ）が同じバージョンでない場合に不具合が起こるおそれがある。また、システムの管理上も、プリントサーバコンピュータ１００とクライアントコンピュータ１１０および１２０とで異なるバージョンが入っていると管理しづらい。そこで、本実施形態では、両者の間で異なるバージョンとなるような更新を避けるために、一方のみに更新対象のバージョンが検出された場合は更新しないのである。また、この観点から、一方のバージョンが警告対象の場合、警告対象のプリンタドライバに対して更新しない場合には、他方が更新対象の場合も更新しない（表２中のＮｏ３、６）。
【０１０５】
つまり表２に示した更新方法をまとめると、自ＯＳ用プリンタドライバが存在しかつ更新対象のバージョンであり、他ＯＳ用のプリンタドライバが存在していない場合は更新することが規定されている。また、自ＯＳ用プリンタドライバが存在しているが更新対象のバージョンではなくかつ他ＯＳ用のプリンタドライバが存在して更新対象のバージョンである場合、または自ＯＳ用プリンタドライバが存在して更新対象のバージョンであっても他ＯＳ用のプリンタドライバが存在しているが更新対象のバージョンではない場合は、更新処理を行わないことが規定されている。また、自ＯＳ用および他ＯＳ用のプリンタドライバが共に存在しかつ共に更新対象のバージョンである場合は、自ＯＳ用および他ＯＳ用の両方のプリンタドライバを更新することが規定されている。
【０１０６】
なお、これに代えて、たとえば、クライアントコンピュータ１２０（他ＯＳ）が単独で（すなわちプリントサーバコンピュータ１００を経由せずに）印刷可能な場合には、管理上の問題がなければ両者でバージョンが異なってもよいので、いずれか一方のみが更新対象となっている場合に、更新対象となっているＯＳ用のみを更新するようにしてもよい。
【０１０７】
Ｓ８において、表２に示した更新方法が選択された後、ＣＰＵ１１は、選択された更新内容に従って、更新処理（そのまま更新、警告後更新、または更新しない、のいずれか）を実行する（Ｓ９）。このとき、表２に示したメッセージが表示されるようにするとよい。このメッセージの表示によって、ユーザに対してどのよう更新が行われるかがわかりやすくなる。
【０１０８】
続いてＣＰＵ１１は、更新を実行したことにより再起動が必要か否かを判断する（Ｓ１０）。ここで再起動が必要であれば、オペレーティングシステムに対して再起動の実行を指令する（Ｓ１１）。一方、再起動が必要でなければ、そのまま処理を終了する。
【０１０９】
Ｓ９の更新処理を実行した後、更新を完了するためにコンピュータ（実際にはＯＳ）の再起動が必要か否かを判断するためには、自ＯＳ用のプリンタドライバについて拡張子が「ｅｘｅ」および「ｄｌｌ」ファイルが上書きや追加された場合、再起動が必要であると判断する。一方、それ以外のファイルが更新されただけの場合には、再起動は不要である。また、他ＯＳ用のプリンタドライバが更新されたときには、自ＯＳを再起動する必要はない。
【０１１０】
Ｓ９における更新処理では、プリンタドライバ更新プログラムの入っているパッケージ（ルートフォルダ）に一緒に入っている更新用フォルダごとに更新する。したがって、ユニバーサルプリンタドライバでは、機種別機能部が独立した構造となっているので、バージョンごとに異なる機種別機能部の構成に柔軟に対応できる。このため必要最低限の部分（フォルダやファイル）のみを更新することができる。これにより更新後にコンピュータの再起動が必要となるケースをできる限り減らすことができるようになる。
【０１１１】
次に、バージョン情報を表示する手順について説明する。図７はバージョン情報表示処理の手順を示すサブルーチンフローチャートである。
【０１１２】
ＣＰＵ１１は、Ｓ７においてバージョンの表示命令を受けると、まず、Ｓ６で取得した自ＯＳ用および他ＯＳ用のプリンタドライバの現バージョン情報を元に、更新後バージョン情報をアップデート情報ファイルから取得する（Ｓ３１）。アップデート情報ファイルは、既に説明したようにたとえば、Ｗｉｎｄｏｗｓでは「ｕｐｄａｔｅ．ｉｎｉ」１２０４である。
【０１１３】
このアップデート情報に記載されているバージョン情報としては、たとえば表３のとおりである。
【０１１４】
【表３】
0005531858.tif 000004
【０１１５】
本実施形態では、１つの更新プログラムとしてプリンタドライバの複数のバージョンを更新対象としている。表３では、Ｎ個のバージョンそれぞれについて、現バージョン、すなわち更新前のバージョンと、それらにそれぞれに対応する更新後バージョン情報を保持している。この情報を参照し、たとえば、現バージョンが「１．０．０．０」の自ＯＳ用のプリンタドライバがインストールされている環境で更新を行おうとしている場合、更新後バージョンとして「１．５．０．０」が取得される。他ＯＳ用のプリンタドライバが存在する場合も、自ＯＳ用と同様に更新後のバージョンを取得する。たとえば、バージョンが「１．７．０．０」の他ＯＳ用のプリンタドライバがインストールされている場合、他ＯＳ用のプリンタドライバの更新後バージョンとして「１．１０．０．０」が取得される。
【０１１６】
更新対象のバージョンが自ＯＳ用であるか他ＯＳ用であるか、すなわち、本実施形態においては３２ビットアーキテクチャー用であるか、６４ビットアーキテクチャー用であるかは、前述したように、システムフォルダ内で自ＯＳ用および他ＯＳ用のプリンタドライバがそれぞれの環境に対応した別フォルダで管理されているので、いずれの環境用のフォルダを開いたかで確認することができる。
【０１１７】
また、今回の更新対象のそれぞれバージョンごとにアップデート情報ファイル「ｕｐｄａｔｅ．ｉｎｉ」１２０４に記載して、そこから判断するようにしてもよい。
【０１１８】
たとえばバージョン番号に加えてそれぞれのＯＳ用であることを示す添え字などを付加しておくとよい（添え字は、３２ビットアーキテクチャー用は「×８６」、６４ビットアーキテクチャー用は「×６４」などである）。このような添え字に代えて直接ＯＳの名称をバージョン番号と共に記載しておいてもよい。これによりバージョン情報を表示するためにはアップデート情報ファイルの内容を取得するだけで、更新前後のバージョン情報を簡単に表示することができる。
【０１１９】
続いて、ＣＰＵ１１は、他ＯＳ用のバージョン情報を表示する必要があるか否かを判断する（Ｓ３２）。この処理はＳ５において他ＯＳ用のプリンタドライバの存在が一時記憶されている場合に、他ＯＳ用のバージョン情報を表示すると判断する。したがって、Ｓ５において他ＯＳ用のプリンタドライバの存在が一時記憶されていない場合には、他ＯＳ用のプリンタドライバのバージョン情報は表示しない。
【０１２０】
そして、ＣＰＵ１１は、取得したバージョン情報に基づいて、Ｓ３２において他ＯＳ用のバージョン情報を表示する必要がないと判断されれば、自ＯＳ用のバージョン情報を表示する（Ｓ３３）、一方、Ｓ３２において他ＯＳ用のバージョン情報を表示する必要があると判断されれば、自ＯＳ用と共に他ＯＳ用のバージョン情報も表示する（Ｓ３４）。
【０１２１】
図８はバージョン情報の表示例を示す図面である。図８（ａ）は自ＯＳ用のみのバージョン情報表示例である。すなわち、Ｓ３２において他ＯＳ用のプリンタドライバが存在しないことが確認されたときの表示例である。図示するように、このプリンタドライバ更新プログラムが入っている更新パッケージのバージョン「ｖｅｓｉｏｎ０．９．９．９」、パッケージ詳細バージョン「ＬＯＣ：１．０．０．０」と「ＥＸＥ：１．０．０．０」が表示された下に、対象ＵＰＤバージョン（ＵＰＤはユニバーサルプリンタドライバの略）として、更新対象バージョン「１．０．０．０」と更新後バージョン「１．５．０．０」が表示される。
【０１２２】
図８（ｂ）は、他ＯＳ用のバージョン情報も表示される場合である。すなわち、Ｓ３２において他ＯＳ用のプリンタドライバが存在することが確認されたときの表示例である。図示するように、自ＯＳ用に加えて他ＯＳ用のプリンタドライバの現バージョンおよび更新後バージョンの情報を表示する。自ＯＳをｘ８６環境、他ＯＳをｘ６４環境として、更新対象バージョン「１．０．０．０（×８６）」および「１．７．０．０（×６４）」と、更新後バージョン「１．５．０．０（×８６）」および「１．１０．０．０（×６４）」がそれぞれ表示される。
【０１２３】
表示後、ＣＰＵ１１は、ユーザからバージョン表示の終了命令（図８における［閉じる］ボタンが押される）があれば（Ｓ３５：ＹＥＳ）、バージョン情報の画面の表示を終了して、メインルーチンへリターンする（Ｓ８へ進む）。
【０１２４】
このように、自ＯＳ用のプリンタドライバだけでなく、他ＯＳ用のプリンタドライバについてもバージョン情報を表示することで、サーバコンピュータ上で自ＯＳ用と他ＯＳ用の両方のバージョンを確認することができる。これによって、クライアントコンピュータを確認するといった作業無しに、サーバコンピュータ上だけで容易に自ＯＳ用と他ＯＳ用両方のバージョンを確認して管理することが可能となる。
【０１２５】
上述したように表示例としては、自ＯＳ用のみの存在が確認にされたときは自ＯＳ用のバージョン情報のみが表示され（上記図８（ａ）の例）、自ＯＳ用と他ＯＳ用の両方のバージョンが確認されたときにはそれら両方のバージョン情報が表示される（上記図８（ｂ）の例）場合を説明した。
【０１２６】
ただし、バージョン情報の表示は、これらに限らず、自ＯＳ用と他ＯＳ用の両方のプリンタドライバが確認された場合に、更新されるのが他ＯＳ用のみというような場合には、他ＯＳ用のバージョン情報のみを表示するようにしてもよい。ここで更新されるのが他ＯＳ用のみというような場合とは、たとえば、新旧バージョン情報として他ＯＳ用のバージョンについてのみ更新後のバージョンが記載されているような場合である。またそのほかにはたとえば、この表示を行う段階を前述のＳ８以降で行うようにして、更新方法として表３中のＮｏ１４〜１６の場合であると判断された後、その判断結果から実質的に他ＯＳ用のみが更新される場合である。あるいは表３中のＮｏ１０のような場合に他ＯＳ用のみ更新可能としてもよい、とするような場合である。
【０１２７】
以上説明した本実施形態によれば以下の効果を奏する。
【０１２８】
本実施形態では、プリントサーバコンピュータにインストールされた複数の異なるオペレーティングシステム用のプリンタドライバの存在と、それぞれの更新対象となるバージョンを確認して、適切な更新を行うこととした。これによりプリントサーバコンピュータにインストールされた複数の異なるオペレーティングシステム用のプリンタドライバを一度に更新（アップデート）することができる。
【０１２９】
また、プリンタドライバ更新プログラムの入っている更新パッケージとして、複数のバージョンに対応できるようにしているので、更新の際には各プリンタドライバのバージョンを判断して、それら更新対象のバージョンに適した更新ファイルを書き換えたり追加したりすることができるようになる。
【０１３０】
また、自ＯＳ用、他ＯＳ用の両方を同じバージョンとなるように更新することとしたので、双方でバージョン違いによる不整合を起こしたり、管理上の問題を起こすことがない。
【０１３１】
また、更新の際には、更新対象のプリンタドライバを構成するフォルダやファイル単位で、書き換えや追加を行うこととしているので、必要最小限の変更ですむようになり、オペレーティングシステムの再起動をなるべく減らすことができる。
【０１３２】
以上、本発明の実施形態を説明したが、本発明はこのような実施形態に限定されるものではない。たとえば、上記実施形態では、ユニバーサルプリンタドライバを例に説明したが、これに限ったことではなく通常のプリンタドライバの更新に際しても、上記処理を行うことで、自ＯＳ用、他ＯＳ用の両方を更新することができる。
【０１３３】
また、上記実施形態では、自ＯＳ用、他ＯＳ用として、アーキテクチャーの異なるコンピュータ用のＯＳ違いを例に説明したが、コンピュータのアーキテクチャーが同じであって、そこで実行されているオペレーティングシステムが異なる場合にも適用可能である。たとえば、自ＯＳとしてＷｉｎｄｏｗｓ、他ＯＳとしてＵＮＩＸなどの場合も、上記実施形態と同じ処理により、両方のＯＳ用のプリンタドライバの更新が可能である。もちろんそのほかさまざまなオペレーティングシステム用のプリンタドライバの更新を行うことができる。
【０１３４】
また、上記実施形態では、更新方法を記載したアップデート情報ファイルは、プリンタドライバ更新プログラムが入っているパッケージに入れて、プリンタドライバ更新プログラムと一緒に提供することとした。これにより更新を行うプリンタドライバ更新プログラムと常に一緒に更新方法が得られるようになる。
【０１３５】
しかしこれに限らず、更新方法の内容は、たとえば、プリンタドライバ更新プログラムそのものの中にプログラムコードとして記載しておいてもよい。このようにしてもプリンタドライバ更新プログラムが実行されることで、適切な更新方法に従って更新することができる。
【０１３６】
また、プリンタ更新プログラムと、アップデート情報ファイル（更新方法を含む）および更新用フォルダ（または更新用ファイル）を別々に提供することも可能である。たとえば、プリンタ更新プログラムだけ先に提供し（またはプリンタドライバと共に提供してコンピュータ内に常駐させておき）、アップデート情報ファイルおよび更新用フォルダは外部のサーバに記憶しておく。そしてプリンタ更新プログラムを実行して、たとえばＳ３でＹＥＳとなった後から〜Ｓ８の前までの間のいずれかの段階で、外部サーバにアップデート情報ファイルおよび更新用フォルダをとりに行くようにしてもよい（なお、外部サーバとは、プリントサーバコンピュータ１００以外のコンピュータであってネットワーク５０を介してデータの送受信可能なコンピュータをいう）。このようにしてもプリンタドライバ更新プログラムが実行されることで、適切な更新方法に従って更新することができる。
【０１３７】
そのほか、本発明は上記実施形態のみに限定されるものではなく、特許請求の範囲内において、種々改変することができる。
【０１３８】
本実施形態にかかる処理手順および方法は、専用のハードウェア回路、またはプログラムされたコンピュータのいずれによっても実現することが可能である。また上記プリンタドライバ更新プログラムおよびそれに必要なファイル群は、たとえば、フレキシブルディスクやＣＤ−ＲＯＭ、ＤＶＤ、フラッシュメモリ等のコンピュータ読み取り可能な記録媒体によって提供されてもよいし、インターネット等のネットワークを介してオンラインで提供されてもよい。この場合、コンピュータ読み取り可能な記録媒体に記録されたプログラムは、通常、ハードディスク等の記憶部に転送され記憶される。また、上記プリンタドライバ更新プログラムおよびそれに必要なファイル群は、更新パッケージ単独のアプリケーションとして提供されてもよいし、プリンタなどの印刷機器に添付されたアプリケーションなどとして提供されてもよい。
【符号の説明】
【０１３９】
１０  コンピュータ、
１１，２１  ＣＰＵ、
１２，２２  ＲＯＭ、
１３，２３  ＲＡＭ、
１４，２５  ハードディスク（ＨＤＤ）、
１５，２６  通信インタフェース（ＮＩＣ）、
１６  入力装置、
１７  ディスプレイ、
１８，２８  バス、
２０，２０Ａ〜２０Ｃ  プリンタ、
５０  ネットワーク、
１００  プリントサーバコンピュータ、
１１０，１２０  クライアントコンピュータ、
２００  プリンタドライバ、
２０１  共通機能部、
２０２  機種別機能部、
２０３  プリンタ切替部、
２０４  バージョン情報記憶部、
５００  オペレーティングシステム、
１２０１  プリンタドライバ更新プログラムパッケージのルートフォルダ、
１２０２  プリンタドライバ更新プログラム「ｕｐｄａｔｅ．ｅｘｅ」、
１２０４  アップデート情報ファイル「ｕｐｄａｔｅ．ｉｎｉ」、
１２０５，１２０９〜１２１２  更新用フォルダ。
【図１】
0005531858.tif 000005
【図２】
0005531858.tif 000006
【図３】
0005531858.tif 000007
【図４】
0005531858.tif 000008
【図５】
0005531858.tif 000009
【図６】
0005531858.tif 000010
【図７】
0005531858.tif 000011
【図８】
0005531858.tif 000012