【事件の表示】
　特願２００２−２４０５５５「情報処理装置、情報処理方法、制御プログラム」拒絶査定不服審判事件〔平成１６年　３月１１日出願公開、特開２００４−　７８７４４〕について、次のとおり審決する。
【結　論】
　本件審判の請求は、成り立たない。
【理　由】
第１．手続の経緯
　本願は，平成１４年８月２１日の出願であって，平成１８年１月２７日に拒絶査定がなされ，これに対し，同年３月２日に拒絶査定不服審判が請求されると共に同年４月３日付けで手続補正がなされたものである。
　
第２．補正却下の決定
［補正却下の決定の結論］
　平成１８年４月３日付けの手続補正を却下する。
　
［理由］
１．補正後の本願発明
　本件補正により，特許請求の範囲の請求項１は，次のように補正された。
　
　　【請求項１】
　複数のバージョンを有するデバイスドライバであって，かつ，当該デバイスドライバが制御できる複数種類の周辺装置を示す複数種類のデバイス情報を有するデバイスドライバをインストールする管理方法において，
　前記デバイスドライバをインストールする際に，前記デバイスドライバが有する複数種類のデバイス情報を用いて，当該デバイスドライバが対応する複数種類の周辺装置の種別を特定する特定ステップと，
　前記特定ステップが特定した複数のデバイス情報が示す周辺装置の種別のそれぞれについて，対応するデバイスドライバが既にインストールされているかを判定する第１判定ステップと，
　前記第１判定ステップで，前記特定ステップが特定した周辺装置の種別に対応するデバイスドライバが既にインストールされていると判定された場合には，既にインストールされているデバイスドライバのバージョンを判定する第２判定ステップと，
　前記第２判定ステップで判定されたデバイスドライバのバージョンがインストールしようとするデバイスドライバより古い場合には，前記既にインストールされているデバイスドライバを削除し，前記インストールしようとするドライバを，前記特定ステップが特定したデバイスを制御するデバイスドライバとして設定する設定ステップと，
を備える管理方法。
　
　本件補正は，請求項１に記載した発明を特定するために必要な事項である「複数のデバイスに対応するデバイスドライバ」を「複数のバージョンを有するデバイスドライバであって，かつ，デバイスドライバが制御できる複数種類の周辺装置を示す複数種類のデバイス情報を有するデバイスドライバ」に限定し，
　「管理方法」を，「デバイスドライバをインストールする管理方法」に限定し，
　「当該デバイスドライバが対応するデバイスを特定する特定ステップ」を「前記デバイスドライバが有する複数種類のデバイス情報を用いて，当該デバイスドライバが対応する複数種類の周辺装置の種別を特定する特定ステップ」に限定し，
　「デバイスに対応するデバイスドライバが既にインストールされているかを判定する第１判定ステップ」を「複数のデバイス情報が示す周辺装置の種別のそれぞれについて，対応するデバイスドライバが既にインストールされているかを判定する第１判定ステップ」に限定するものであり，特許法第１７条の２第４項第２号の特許請求の範囲の減縮を目的とするものに該当する。
　
２．独立特許要件
　そこで，本件補正後の請求項１に係る発明（以下，「本願補正発明」という。）が特許出願の際独立して特許を受けることができるものであるか（特許法第１７条の２第５項において準用する同法１２６条第５項の規定に適合するか）について以下に検討する。
　
（１）本願明細書の記載
　本願明細書には，次の記載がある。
　
　　【０００６】
　　【発明が解決しようとする課題】
　すでにプリンタドライバがインストールされているホストコンピュータにプリンタドライバをインストールするとき，プリンタドライバのファイル名に変更がない場合は，ファイルの重ね書きを行えばよく，問題は生じない。しかしながら，例えば，プリンタドライバが一つのプリンタのみをサポートするのか，複数のプリンタ機種をサポートするのかについてプリンタドライバの仕様の変更があった場合など，プリンタドライバのファイル名を変更して対応しなければならない場合がある。プリンタドライバのファイル名に変更がある場合は，以前よりホストコンピュータにあったプリンタドライバを削除する必要がある。
　　【０００７】
　この際，ドライバをアンインストール（削除）するための機能は，プリンタドライバのインストーラの一機能として提供するか，或いは，専用のアンインストールプログラムとして提供することが考えられ，ユーザは，それを使用して手動で煩雑なアンインストール作業を行なうことが必要となる。
　　【０００８】
　しかしながら，例えば，一機種をサポートしているタイプのプリンタドライバから，複数機種をサポートするタイプのプリンタドライバへ変更することが必要なシステムの移行作業が行われる場合がある。この場合には，複数機種のプリンタをホストコンピュータに接続して使用しているときは，現在接続されているプリンタが新しい複数機種サポート型のプリンタドライバによりサポートされているかどうかを正確にユーザが一々把握した上で，既存の不要な機種用のプリンタドライバを選択的に削除するという作業を手動で行わなければならなかった。あるいは，一度すべてのプリンタドライバを削除してから，プリンタドライバをインストール（導入）し直すなどの面倒な作業が必要であった。
　　【０００９】
　本発明は上記課題を解決するためになされたものであり，不要となったプリンタドライバを自動的に認識して削除することにより，プリンタドライバのインストール作業を簡便化することができるインストーラの提供を目的とする。
　
　　【００２４】
　本実施形態のインストーラが実行されると，まず，インストールメインモジュール２１がホストコンピュータのＣＰＵにより実行される。図６は，インストールメインモジュール２１の処理を表すフローチャートである。ステップＳ１において，プリンタドライバをオペレーティングシステムで規定された所定の場所にインストールする。ステップＳ２において，バージョン管理モジュール２２を呼び出し，各プリンタドライバのバージョンとサポートしているプリンタ機種情報を取得して，プリンタドライバ管理テーブルＢを作成させ取得する。
　　【００２５】
　図７は，ステップＳ２の詳細であり，バージョン管理モジュール２２の処理を表すフローチャートである。ステップＳ９において，ホストコンピュータの外部記憶装置上に存在するプリンタドライバの検索を行なう。この処理は，例えば，プリンタドライバをオペレーティングシステムに規定された場所の範囲内で，あらかじめ決めておいたディレクトリの中にインストールしておくものとし，バージョン管理モジュール２２がそのディレクトリの中の実行ファイルを検索することにより行われる。ステップＳ１０において，検索で見つかったプリンタドライバの総数を変数ｎに格納する。ステップＳ１１で，カウンタ用の変数ｉを０に初期化する。ステップＳ１２で，カウンタ変数ｉとプリンタドライバの総数ｎを比較する。ｉ＜ｎのときは，ステップＳ１３に進む。ステップＳ１３において，プリンタドライバのバージョン情報を取得する。例えば，Ｍａｃ　ＯＳ　Ｘ（商標）のようなＯＳにおいては，プリンタドライバはバンドルと呼ばれるディレクトリ階層構造で構成される。ディレクトリ下の所定の場所に所定のファイル名のファイルがあり，その中にバージョン番号が記述されている。あるいは，Ｍａｃ　ＯＳ　９（商標）のようなオペレーティングシステムでは，リソースと呼ばれるファイル領域にバージョン情報が記述されている。ステップＳ１３では，例えば，アプリケーションとして提供されるインストーラが，これらＯＳが管理する情報を参照してバージョン情報を取得する。
　　【００２６】
　ステップＳ１４では，インストーラは，ｉ番目のプリンタドライバのサポート情報テーブルを検索する。例えば，Ｍａｃ　ＯＳ　Ｘ（Apple社の商標）用ドライバのようなディレクトリ構造で管理されるプリンタドライバは，プリンタドライバのディレクトリ階層下の所定の場所にサポート情報ファイルを格納されるものとする。別のオペレーティングシステムのプリンタドライバでは，リソースと呼ばれるファイル領域にサポート情報を保存しておくこともできる。ステップＳ１４では，そのようなサポート情報テーブルの検索処理を行う。サポート情報テーブルが見つかった場合，ステップＳ１５へ進む。ステップＳ１５において，サポート情報テーブルの中に記述されたそのプリンタドライバが制御可能なプリンタの機種を取得する。Ｓ１４において，サポート情報テーブルが見つからなかった場合，Ｓ１６に進む。Ｓ１６では，他の手段によりプリンタドライバがサポートするプリンタ機種情報を取得する。例えば，プリンタドライバのファイル名にプリンタの機種名が含まれるようなときは，バージョン管理モジュールはファイル名からプリンタドライバがサポートする機種名称を取得することができる。また，ファイル名にプリンタの機種名称が含まれていない場合でも，バージョン管理モジュールが，プリンタドライバのファイル名とプリンタ機種を対応付けるテーブルを持ち，これを参照することでプリンタドライバが制御可能なプリンタの機種を知ることができる。
　　【００２７】
　ステップＳ１７において，ｉ番目のプリンタドライバがサポートするプリンタ機種情報とプリンタドライバのバージョン番号により，モジュール管理テーブルＡを更新する。
　　【００２８】
　図９，図１０はモジュール管理テーブルＡの構造を表す図である。モジュール管理テーブルＡは，プリンタの機種を表す情報，プリンタドライバのバージョン番号，プリンタドライバを識別するための情報を持つ。プリンタドライバを識別するための情報はオペレーティングシステムで管理されるプリンタドライバの参照情報である。
　　【００２９】
　図８はステップＳ１７の詳細を表すフローチャートである。ステップＳ２０において，現在処理対象となっているプリンタドライバがサポートするプリンタの機種数を変数ｍに代入する。ステップ２１において，カウンタ変数ｊを０に初期化する。ステップ２２において，変数ｍと変数ｊの大小関係を比較する。ｊ＜ｍのときは，ステップＳ２３へ進み，プリンタドライバがサポートするプリンタのうち，ｊ番目のプリンタに関してステップＳ２３以降の処理を行う。ステップＳ２３において，ｊ番目のプリンタがプリンタドライバ管理テーブルＡに登録済であるかどうか調べる。ステップＳ２３で，ｊ番目のプリンタがプリンタドライバ管理テーブルＡに存在しないときは，そのプリンタの情報をモジュール管理テーブルＡに登録するため，ステップＳ２５へ進む。ｊ番目のプリンタがプリンタドライバ管理テーブルに存在するときは，ステップＳ２４へ進む。ステップＳ２４において，対象となっているｊ番目のプリンタに関して，プリンタドライバ管理テーブルＡにすでに登録されているプリンタドライバのバージョンと，現在処理対象となっているプリンタドライバのバージョンを比較する。現在処理中のプリンタドライバのバージョンの方が大きいときは，ステップＳ２５に進む。ステップＳ２５では，プリンタドライバ管理テーブルＡの該当プリンタの情報を現在処理対象となっているプリンタドライバの識別情報とバージョン情報で更新する。プリンタドライバ管理テーブルＡにすでに登録されているプリンタドライバのバージョンよりも現在処理中のプリンタドライバのバージョンの方が小さいときは，Ｓ２５のプリンタドライバ管理テーブルＡの更新処理は行わない。ステップＳ２６で，カウンタ変数ｊをインクリメントしてステップＳ２２に戻り，処理対象となっているプリンタドライバの次のサポートプリンタに対して同様の処理を行う。ステップＳ２２において，ｊ＜ｍでなくなり，すべてのプリンタについての処理が終了したときは，図８のフローチャートの処理を終了して，図７のフローチャートのステップＳ１８へ戻る。
　　【００３０】
　図７のフローチャートのステップＳ１８において，カウンタ変数ｉをインクリメントしてステップＳ１２へ戻り，次のプリンタドライバに関して同様の処理を行う。ステップＳ１２にて，ｉ＜ｎでなくなり，すべてのプリンタドライバについて処理が終了したときは，ステップＳ１９へ進む。ステップＳ１９において，プリンタドライバ管理テーブルＡからプリンタドライバ管理テーブルＢを作成する。
　　【００３１】
　図１１，図１２はプリンタドライバ管理テーブルＢの構造を表す。プリンタドライバ管理テーブルＢは，プリンタドライバ識別情報，プリンタドライバのバージョン番号，プリンタの機種数，プリンタの情報を持ち，プリンタドライバをキーとしてプリンタドライバ管理テーブルＡを並びかえたものである。そして，このテーブルを参照すれば，各バージョンのプリンタドライバを必要とするプリンタの機種がわかる。
　　【００３２】
　図３のプリンタドライバの構成において，バージョン管理モジュール２２が図７，図８のフローチャートの処理を行い作成されたプリンタドライバ管理テーブルＡとプリンタドライバ管理テーブルＢが，図９，図１１である。図９のプリンタドライバ管理テーブルＡによれば，プリンタＡをサポートする最もバージョンの大きいプリンタドライバはプリンタドライバ３であり，プリンタＢをサポートする最もバージョンの大きいプリンタドライバはプリンタドライバ３であり，プリンタＣをサポートする最もバージョンの大きいプリンタドライバはプリンタドライバ３であり，プリンタＤをサポートする最もバージョンの大きいプリンタドライバはプリンタドライバ２であることがわかる。さらにこのテーブルをもとに作成された図１１のプリンタドライバ管理テーブルＢによれば，プリンタドライバ１を必要とするプリンタはなく，プリンタドライバ２はプリンタＤのために必要であり，プリンタドライバ３はプリンタＡ，プリンタＢ，プリンタＣのために必要であることがわかる。
　　【００３３】
　バージョン管理モジュールがプリンタドライバ管理テーブルＢを作成後，インストールメインモジュール２１の処理の図６のステップＳ３に戻る。ステップＳ３において，プリンタドライバ管理テーブルＢに登録されたプリンタドライバの総数を変数ｎに代入する。ステップＳ４において，カウンタ変数ｉを０に初期化する。ステップＳ５において，変数ｎと変数ｉの大小関係を比較する。ｉ＜ｎのときは，ステップＳ６へ進む。ステップＳ６において，プリンタドライバ管理テーブルＢのｉ番目のプリンタドライバを必要とするプリンタの機種数を取得して機種数が０かどうかを調べる。機種数が０のときは，ステップＳ７へ進み，そのプリンタドライバの削除処理を行う。ステップＳ６において，ｉ番目のプリンタドライバを必要とするプリンタの機種数が０でないときは，そのプリンタドライバの削除は行わない。
　　【００３４】
　ステップＳ８において，カウンタ変数ｉをインクリメントして，ステップＳ５へ戻る。プリンタドライバ管理テーブルＢに登録されているすべてのプリンタドライバの処理が終了して，ステップＳ５において，ｉ＜ｎではなくなったときは，インストールメインモジュール２１の処理を終了する。
　　【００３５】
　図３のようなプリンタドライバの構成では，プリンタドライバ管理モジュールＢは図１１のようであるので，プリンタ機種数が０であるプリンタドライバ１は，インストールメインモジュール２１の実行後，削除される。
　　【００３６】
　図４は，本実施形態のインストーラが実行されるときの，他の実行環境例のプロック図を示す。図４は図３の環境にプリンタドライバ３がインストールされプリンタドライバ１が削除された状態において，さらに，プリンタドライバ４がインストールされたときの状態を表している。プリンタドライバ４は，サポート情報テーブルを持ち，図５のプリンタドライバ４の欄に示すように，プリンタＡ，プリンタＢ，プリンタＣ，プリンタＤの４機種を制御可能である。また，プリンタドライバ４の制御プログラムのバージョンは３．０．０である。
　　【００３７】
　このとき，図７，図８のフローチャートのバージョン管理モジュールが実行されることにより作成されるモジュール管理テーブルＡは図１０である。プリンタＡ，プリンタＢ，プリンタＣ，プリンタＤをサポートする最もバージョンの大きいプリンタドライバは，ともにプリンタドライバ４であることがわかる。図１０のプリンタドライバ管理テーブルＡをもとに作成されるプリンタドライバ管理テーブルＢを図１２に示す。プリンタドライバ２，プリンタドライバ３を必要とするプリンタは存在せず，プリンタドライバ４を必要とするプリンタは，プリンタＡ，プリンタＢ，プリンタＣ，プリンタＤであることがわかる。すなわち，図６のフローチャートにもとづくインストーラメインモジュールを実行すると，プリンタドライバ４がインストールされた後に，プリンタドライバ２とプリンタドライバ３は削除される。
　
（２）判断
　上記「（１）本願明細書の記載」欄に係るプリンタドライバのインストーラは，
　
　バージョン管理モジュール２２を呼び出し，各プリンタドライバのバージョンとサポートしているプリンタ機種情報を取得し，（【００２４】）
　カウンタ用の変数ｉを０に初期化し，カウンタ変数ｉとプリンタドライバの総数ｎを比較し，ｉ＜ｎのときはプリンタドライバのバージョン情報を取得し，（【００２５】）
　ｉ番目のプリンタドライバが制御可能なプリンタの機種を取得し，（【００２６】）
　ｉ番目のプリンタドライバがサポートするプリンタ機種情報とプリンタドライバのバージョン番号により，モジュール管理テーブルＡを更新するために，（【００２７】）
　現在処理対象となっているプリンタドライバがサポートするプリンタの機種数を変数ｍに代入し，カウンタ変数ｊを０に初期化し，ｊ＜ｍのときは，プリンタドライバがサポートするプリンタのうち，ｊ番目のプリンタに関して，ｊ番目のプリンタがプリンタドライバ管理テーブルＡに登録済であるかどうか調べ，
　ｊ番目のプリンタがプリンタドライバ管理テーブルに存在するときは，ｊ番目のプリンタに関して，プリンタドライバ管理テーブルＡにすでに登録されているプリンタドライバのバージョンと，現在処理対象となっているプリンタドライバのバージョンを比較し，
　プリンタドライバ管理テーブルＡにすでに登録されているプリンタドライバのバージョンよりも現在処理中のプリンタドライバのバージョンの方が小さいときは，プリンタドライバ管理テーブルＡの更新処理は行わず，
　ｊ番目のプリンタがプリンタドライバ管理テーブルＡに存在しないとき，又は，現在処理中のプリンタドライバのバージョンの方が大きいときは，プリンタドライバ管理テーブルＡの該当プリンタの情報を現在処理対象となっているプリンタドライバの識別情報とバージョン情報で更新し，
　カウンタ変数ｊをインクリメントして，処理対象となっているプリンタドライバの次のサポートプリンタに対して同様の処理を行い，（【００２９】）
　ｊ＜ｍでなくなり，すべてのプリンタについての処理が終了したときは，カウンタ変数ｉをインクリメントして，次のプリンタドライバに関して同様の処理を行い，
　ｉ＜ｎでなくなり，すべてのプリンタドライバについて処理が終了したとき，プリンタドライバ識別情報，プリンタドライバのバージョン番号，プリンタの機種数，プリンタの情報を持ち，プリンタドライバをキーとしてプリンタドライバ管理テーブルＡを並びかえたテーブルであって，各バージョンのプリンタドライバを必要とするプリンタの機種がわかるプリンタドライバ管理テーブルＢを，プリンタドライバ管理テーブルＡから作成し，（【００３０】，【００３１】）
　プリンタドライバ管理テーブルＢに登録されたプリンタドライバの総数を変数ｎに代入し，カウンタ変数ｉを０に初期化し，ｉ＜ｎのときは，プリンタドライバ管理テーブルＢのｉ番目のプリンタドライバを必要とするプリンタの機種数を取得して機種数が０かどうかを調べ，機種数が０のときは，そのプリンタドライバの削除処理を行い，ｉ番目のプリンタドライバを必要とするプリンタの機種数が０でないときは，そのプリンタドライバの削除は行わなず，（【００３３】）
　カウンタ変数ｉをインクリメントして，プリンタドライバ管理テーブルＢに登録されているすべてのプリンタドライバの処理が終了して，ｉ＜ｎではなくなったときは，処理を終了する，
　
ものである。
　それゆえ，上記「（１）本願明細書の記載」欄に係るプリンタドライバのインストーラは，プリンタドライバ管理テーブルＡに既に登録されているプリンタドライバのバージョンよりも現在処理中のドライバのバージョンの方が小さいときに，必ずしもプリンタドライバ管理テーブルＡに既に登録されているプリンタドライバを削除するものではない。
　また，本願補正発明の「前記第２判定ステップで判定されたデバイスドライバのバージョンがインストールしようとするデバイスドライバより古い場合には，前記既にインストールされているデバイスドライバを削除し，前記インストールしようとするドライバを，前記特定ステップが特定したデバイスを制御するデバイスドライバとして設定する設定ステップ」は，【００２９】に係るプリンタドライバのバージョンを比較してプリンタドライバ管理テーブルＡを更新することに対応するといえず，【００３３】に係るプリンタドライバ管理テーブルＢの機種数が０のときにプリンタドライバを削除することに対応するといえないから，発明の詳細な説明に記載したものということができない。
　
　よって，請求項１に係る発明は，発明の詳細な説明に記載したものではなく，特許法第３６条第６項第１号に規定する要件を満たさないものである。
　
３．むすび
　したがって，本件補正は，平成１８年法律第５５号改正附則第３条第１項によりなお従前の例によるとされる同法による改正前の特許法第１７条の２第５項において準用する同法第１２６条第５項の規定に違反するので，同法第１５９条第１項において読み替えて準用する同法第５３条第１項の規定により却下すべきものである。
　
第３．本願発明
　
１．本願発明
　平成１８年４月３日付けの手続補正は上記のとおり却下されたので，本願の請求項８に係る発明（以下，「本願発明」という。）は，平成１７年９月５日付け手続補正書の特許請求の範囲の請求項８に記載された事項により特定される，以下のとおりのものと認める。
　
　　【請求項８】
　複数のデバイスに対応するデバイスドライバをインストールする場合に，当該デバイスドライバに対応するデバイスを特定し，
　特定された複数のデバイスをそれぞれ制御するように設定されているデバイスドライバのバージョンを認識し，
　インストールしようとするデバイスドライバよりも旧いバージョンのデバイスドライバのバージョンが認識されれば，当該旧いバージョンのデバイスドライバに代えて，インストールしようとするデバイスドライバを，該デバイスを制御するデバイスドライバとして設定する管理方法。
　
２．刊行物
（１）刊行物１記載発明
　原査定の拒絶の理由に引用された，特開平１１−５３２８９号公報（以下，「刊行物１」という。）には，図面と共に以下の記載がなされている。なお，数字を丸で囲む文字については「丸数字」，例えば「丸１」と表記した。
　
【請求項３】情報処理装置に接続される拡張機能装置内に，この拡張機能装置を前記情報処理装置に接続して動作させるときに必要な拡張機能用ソフトウエア情報を格納する記憶装置を設けておき，
前記拡張機能装置を前記情報処理装置に接続したときに，前記拡張機能装置は，前記拡張機能装置の前記記憶装置に格納されている前記拡張機能用ソフトウエア情報を読み出して，前記情報処理装置とのインターフェースを介して前記情報処理装置に転送し，
前記情報処理装置において，前記転送により取得した前記拡張機能用ソフトウエア情報と，当該情報処理装置内に格納されている前記拡張機能用ソフトウエア情報とを比較し，いずれか新しい方のバージョンの前記拡張機能用ソフトウエア情報を，当該ソフトウエア情報用のメモリに書き込み，前記拡張機能装置を動作させるために使用するようにすることを特徴とする情報処理装置の拡張機能増強方法。
　
【請求項６】前記情報処理装置は，前記最新のバージョンの前記拡張機能用ソフトウエア情報を，当該情報処理装置の記憶装置に保存する機能を備えることを特徴とする請求項３または請求項４に記載の情報処理装置の拡張機能増強方法。
　
【００２１】
【発明が解決しようとする課題】しかしながら，上述のように周辺装置あるいは機能拡張ボード／カードなどの拡張機能装置のハードウェアを情報処理装置のシステムに組み込んで用いる場合には，大きく２つの問題がある。
【００２２】一つは，拡張機能装置のハードウェアを制御するためのソフトウェアとして，それぞれに対応したデバイスドライバやアプリケーションのソフトウェアを，情報処理装置に，ユーザが自ら適切なものの選択を判断してインストールすることが必要になることである。
【００２３】いわゆるプラグアンドプレイ機能に対応した機器でも，拡張機能装置ごとに，フロッピーディスク，ＣＤ−ＲＯＭ等の記憶媒体にドライバソフト等を書き込んだものが添付してあり，ユーザ自身は，情報処理装置に，適合したソフトウェアを選択してインストールする必要がある。
【００２４】また，このデバイスドライバ等のソフトウェアは，何らかの改良または不具合への対応がなされて，アップデートされた変更がなされていくことが多く，機器メーカからフロッピーディスク，ＣＤ−ＲＯＭ等の記憶媒体，あるいはインターネット等の通信手段によって，随時更新されたものが提供されている。
【００２５】この場合にも，ユーザ自身でアップデートされたソフトウェアを再インストールする必要がある。しかも，ユーザにとっては，機器メーカからの情報提供がなければ，アップデートの必要性の判断ができず，また，アップデートファイルの格納場所も自分で探し当てなければならない問題がある。このように，従来は，アップデートに対応するには，ユーザ自身による探索と，書き換えの手間と，労力を必要とすることなどの欠点があった。
　
【００５９】
【発明の実施の形態】以下，この発明による情報処理装置の拡張機能増強方法の実施の形態について説明する。図１は，この発明の方法が適用される情報処理装置のシステム構成を説明するための図である。
【００６０】図１において，情報処理装置３０は，ＣＰＵ３１に対して，バス３２を介してメモリ３３，周辺装置インターフェース３４，ネットワークへの通信インターフェース３５，記憶装置３６，プログラマブル論理回路３７が接続されて構成されている。ここで示した構成要素は，この発明で関係のある部分のみの記載であり，必要に応じた拡張機能をバス３２を介して追加することは可能であるが，その部分は省略する。
【００６１】メモリ３３には，ＣＰＵ３１が実行するプログラム等が書き込まれる。周辺装置４０が，周辺装置インターフェース３４を介して情報処理装置３０に接続されるときには，このメモリ３３に，その駆動用のソフトウエアやデータ処理用のアプリケーションソフトウエア（以下，単にアプリケーションという）が書き込まれて，周辺装置４０による処理が実行される。
　
【００７０】記憶装置３６は，情報処理装置３０に接続される可能性のある種々の周辺装置４０用のドライバソフトやアプリケーション等のソフトウエア情報を格納する。そのソフトウエア情報について，その周辺装置４０が接続されたときにＣＰＵ３１を支援するためのプログラマブル論理回路３７の回路情報が対として格納されている場合もある。この記憶装置３６は，ハードディスク，ＥＥＰＲＯＭ，フラッシュメモリや，バックアップバッテリーがあればＳＲＡＭなど，の不揮発性メモリで書き込み／消去ができるものが用いられる。また，この記憶装置３６は，情報処理装置３０に，あらかじめ構成されている記憶装置と兼用することも可能である。
【００７１】次に，周辺装置４０の構成について説明する。この実施の形態では，周辺装置４０は，図示のように，ＣＰＵ４１に対して，メモリ４２，被制御回路４３，インターフェース４４および記憶装置４５がバス４６を介して接続されて構成されている。
【００７２】メモリ４２には，この周辺装置４０自身での処理を，ＣＰＵ４１が実行するためのアプリケーションプログラムが記憶されている。被制御回路４３は，この周辺装置４０の機能を実行する回路部分である。情報処理装置３０の周辺装置インターフェース３４とは，インターフェース４４を通じて外部バス６０によって接続される。
【００７３】この周辺装置４０に設けられる記憶装置４５は，当該周辺装置固有のドライバソフトやアプリケーション等のソフトウェア情報を格納するものであり，いわゆる不揮発性メモリの構成である。また，記憶装置４５には，必要に応じて，情報処理装置３０のＣＰＵ３１の演算支援のためのプログラマブル論理回路３７の回路情報が，前記ソフトウエア情報と対として格納される場合もある。そして，この記憶装置４５は，ＣＰＵ４１の制御によりその格納情報の読み出し及び書き込みが可能なものように構成されている。
　
【００７９】以上のようなシステム構成において，情報処理装置３０に，周辺装置４０が接続されると，周辺装置４０の中の記憶装置４５，情報処理装置３０の中の記憶装置３６，またはネットワーク５０における記憶装置５１Ｍに格納されている，当該接続された周辺装置４０用のドライバソフトやアプリケーション等のソフトウエア情報から，情報処理装置３０は，最も新しいバージョン情報を選択して，メモリ３３にインストールする。
　
【００８１】これにより，情報処理装置３０に接続された周辺装置４０は，最新のバージョンで，しかも，高性能の状態で動作することになる。
【００８２】そして，以上のようにして，情報処理装置で選択された新しい情報で，必要に応じて他の古いバージョンの情報を書き換えて更新することができる。更新は，情報処理装置３０の記憶装置３６だけでなく，周辺装置４０の記憶装置４５，さらにはネットワーク５０のサーバの記憶装置５１Ｍにおいても行うようにすることができる。
【００８３】また，周辺装置４０による所望のアプリケーションの処理が終了した後は，これらの情報を，情報処理装置３０内部の記憶装置３６に格納しておくか，消去するか，ユーザ自身によって選択ができる。
【００８４】以上の動作について，図２および図３のフローチャートを用いて，その動作手順のステップを，丸１〜丸５の５つに分けて，それぞれ説明する。なお，図２および図３のフローチャートにおいて，ユーザが行う動作ステップは，２重線枠により示すこととする。なお，説明の簡単のため，周辺装置用ソフトウエア情報等には，対となる回路情報が存在する場合には，それが含まれるものとして，以下説明することとする。
【００８５】丸１周辺装置の検出
情報処理装置３０に接続して使用したい周辺装置４０を，ユーザは選択し（手順１０１），情報処理装置３０と周辺装置４０との間を，外部バス６０を通じて接続し，周辺装置４０の制御，データ通信等を行えるようにする。ただし，周辺装置４０を接続した時点では，最低限でも周辺装置４０の記憶装置４５内に格納された情報に対してアクセスできることが必要である。
【００８６】このとき，周辺装置４０によっては，機器の電源が入ったままの動作中に接続できるホット・スワッピング機能に対応しているものがあるので，ユーザは，接続しようとする周辺装置４０が，ホット・スワッピング対応であるか否か判別し（手順１０２），対応であればそのまま接続する（手順１０３）。しかし，ホット・スワッピング機能に対応していなければ，一旦電源を切断して接続するか，電源投入前にあらかじめ接続するようにする（手順１０４）。
【００８７】以上のようにして，情報処理装置３０に周辺装置４０が接続されると，情報処理装置３０において，周辺装置４０が何であるかが自動的に検出される（手順１０５）。プラグアンドプレイ機能に対応しているものであれば，ほとんど自動的に周辺装置４０が検出され，情報処理装置３０に対する設定が行われる。しかし，一部の周辺装置では，手動でジャンパ等の設定が必要なものもあるため，それらは周辺機器の選択時にあらかじめ確認する必要がある。
【００８８】丸２情報のバージョン判別
周辺装置４０の検出後には，必要な周辺装置用ソフトウエア情報等のバージョンで新しいものを判別する。すなわち，周辺装置用ソフトウエア情報等の格納先には，情報処理装置３０の内部の記憶装置３６，周辺装置４０の内部の記憶装置４５およびネットワーク５０の記憶装置５１Ｍがあり，それらに格納されている周辺装置用ソフトウエア情報等のバージョンの比較を行うために，まず周辺装置４０内部の情報を問い合わせる（手順１０６）。
【００８９】次に，ネットワーク経由で，周辺装置用ソフトウエア情報等を入手するかどうかの判断を行う（手順１０７）。そして，ユーザ自身がネットワークアクセスの必要性を判断したときに，ネットワーク５０の記憶装置５１Ｍあるいは５２Ｍなどにある，前記周辺装置４０用ソフトウエア情報等のバージョンの問い合わせを行う（手順１０８）。すなわち，ユーザの問い合わせ指示に応じて情報処理装置３０は，ネットワーク５０に対して，ネットワーク内に存在する周辺装置４０用ソフトウエア情報等のバージョンの問い合わせを実行する。
【００９０】最後に，情報処理装置３０の内部の記憶装置３６に当該周辺装置４０用のソフトウエア情報等があるかどうか判別し（手順１０９），そのバージョンの問い合わせを行う（手順１１０）。以上により，周辺装置４０のソフトウエア情報等と，存在すればネットワーク５０のソフトウエア情報等と，同じく情報処理装置３０内のソフトウエア情報等についてのバージョンの情報を収集する。そして，それら収集したバージョンの情報から，周辺装置用ソフトウエア情報等の最も新しいバージョンの情報は，どこに格納されているかを判別する（手順１１１）。
【００９１】この場合，それぞれ格納元からバージョンの情報には，それがいずれのものであるかの格納元識別情報も付加されており，最新のバージョンの情報がどこにあるかの判別は，その格納元識別情報に基づいて行うものである。
【００９２】丸３インストール
手順１１１において，最も新しいバージョンが判別された後に，その格納元から，この最新版の周辺装置用ソフトウエア情報等を情報処理装置３０に読み込み，情報処理装置３０のメモリ３３に格納する（手順１１１または手順１１２あるいは手順１１３）。
【００９３】こうして，最も新しいバージョンの周辺装置用ソフトウエア情報等をもって情報処理装置３０にインストールする。この場合，情報処理装置３０にインストールされる情報の内容は，デバイスドライバ，アプリケーション等のソフトウェアと，それと対の回路情報があれば，プログラマブル論理回路３７を再構成するための回路情報である。回路情報は，例えば，一旦，情報処理装置３０の記憶装置３６に格納され，その後，ＣＰＵ３１の制御に従い，プログラマブル論理回路３７に転送されて，必要な支援回路がプログラマブル論理回路３７に構築される。
【００９４】ここで，周辺装置が例えばプリンタであるとして，ソフトウェア情報等に関して，プリンタドライバを例として説明する。
【００９５】印刷処理は，大きく二つに分けられ，一つは印刷データを作成する部分であり，もう一つは印刷データをプリンタへ送信する部分である。印刷データは，プリンタ・ドライバと呼ばれるアプリケーションが作成し，作成したデータはプリント・スプーラがプリンタへ送信する。
【００９６】したがって，情報処理装置３０に，周辺装置４０としてプリンタを接続して印刷を実行する場合には，各プリンタに応じた印刷データを出力できる「プリンタ・ドライバ」が必要になるが，このプリンタドライバは，通常メーカから提供され，新しいものへ随時更新されている。
【００９７】上述したように，この実施の形態においては，周辺装置４０としてのプリンタ自身が備えるソフトウエア情報等のバージョンと，情報処理装置３０が備えるソフトウエア情報等のバージョンと，ネットワーク５０に存在するソフトウエア情報等のバージョンの中から最新のバージョンが選ばれて，情報処理装置３０には，常に，その最新のバージョンのソフトウエア情報等がインストールされる。したがって，随時更新されるプリンタドライバの最新版により，プリンタを動作させることができる。
　
【００９９】丸４情報の更新
手順１１１で判別された最も新しいバージョンの情報は，必要に応じて，情報処理装置３０内の記憶装置３６，周辺装置４０内部の記憶装置４５，ネットワーク５０内の記憶装置５１Ｍに格納されて，これら記憶装置の対応する周辺装置用ソフトウエア情報および回路情報が更新される。
【０１００】すなわち，手順１１１での最新バージョンの判別過程および結果を用いて情報の更新が必要か否か判別する（手順１１５）。そして，前記３つの情報格納元の記憶装置からのバージョンの情報のすべてが等しいときには，情報の更新の必要はないので，手順１２０に移行する。また，いずれかの情報格納元の記憶装置のバージョンが最新バージョンよりも古いと判別されたときには，その古いバージョンの情報が格納されているのは，どれであるかを判別する（手順１１６）。
【０１０１】手順１１６での判別の結果，ネットワーク５０のサーバの記憶装置５１Ｍのバージョンが古いと判別されたときには，ネットワーク５０経由で，情報処理装置３０から，最新のバージョンのソフトウエア情報および対となる回路情報（回路情報があるとき）が記憶装置５１Ｍまたは５２Ｍを備えるサーバに送られ，この記憶装置５１Ｍまたは５２Ｍの対応する情報が最新バージョンに更新される。
【０１０２】同様に，情報処理装置３０内の記憶装置３６のバージョンが古いと判別されたときには，最新のバージョンのソフトウエア情報および対となる回路情報（回路情報があるとき）により，この記憶装置３６の対応する情報が最新バージョンに更新される。
【０１０３】また，同様に，周辺装置４０内の記憶装置４５のバージョンが古いと判別されたときには，情報処理装置３０から外部バス６０を通じて最新のバージョンのソフトウエア情報および対となる回路情報（回路情報があるとき）が周辺装置４０に送られ，その情報により，周辺装置４０において，記憶装置４５の対応する情報が最新バージョンに更新される。
【０１０４】周辺装置４０が接続された情報処理装置３０には，以上のようにして，周辺装置用のソフトウエア情報の最新バージョンがインストールされ，また，必要に応じてプログラマブル論理回路３７が再構成される。そして，この状態で周辺装置４０を用いた情報処理装置３０による拡張機能が実行される（手順１２０）なお，手順１１５の際，ユーザが更新を希望するかしないかを決定するようにしてもよい。前述した３つの情報格納元のバージョンが同じ場合や，あるいは，ユーザが更新を希望しない場合には，情報処理装置３０内部のメモリ３３に格納された情報は，周辺装置４０を用いたアプリケーションの処理が完了した後，後の時点でいずれ消去等される。
　
【０１２０】
【発明の効果】以上説明したように，この発明によれば，デバイスドライバ，アプリケーション等の最新のソフトウェアへのバージョンアップを，情報処理装置に周辺装置を接続するだけで自動的に行えるようになる。したがって，デバイスドライバ等のソフトウェアを格納したメディアを常に周辺装置と一緒に携帯しなくても，情報処理装置と周辺装置との接続のみによって，新しいバージョンを選択したインストールが自動的に行われるようになる。
　
　以上の刊行物１の記載によれば，刊行物１には，請求項６に対応する方法として，次の発明（以下，「刊行物１記載発明」という。）が記載されていると認められる。
　
「　周辺装置４０の駆動用のソフトウエアやデータ処理用のアプリケーションソフトウエアが書き込まれるメモリ３０を備える情報処理装置３０が，デバイスドライバやアプリケーション等の最新のソフトウェアへのバージョンアップを，情報処理装置３０に周辺装置４０を接続するだけで自動的に行う方法であって，
　情報処理装置３０に周辺装置４０が接続されると，周辺装置４０が何であるか自動的に検出し，
　情報処理装置３０の内部の記憶装置３６及び周辺装置４０の内部の記憶装置４５に格納されているドライバソフトのバージョンを比較し，必要なドライバソフトのバージョンで新しいものを判別し，
　新しいバージョンが判別された後に，その格納元から，最新版のドライバソフトやアプリケーション等を情報処理装置３０のメモリ３３に格納して，新しいバージョンのドライバソフトやアプリケーション等を情報処理装置３０にインストールし，
　情報処理装置３０内の記憶装置３６のバージョンが古いと判別されたときには，最新のバージョンのソフトウエア情報により，この記憶装置３６の対応する情報が最新バージョンに更新される，
　方法。」
　
３．本願発明と刊行物１記載発明との対比・判断
　本願発明と刊行物１記載発明とを対比すると，刊行物１記載発明の「周辺装置」が，本願発明の「デバイス」に相当する。
　
　刊行物１記載発明の「ドライバソフト」は，本願発明の「複数のデバイスに対応するデバイスドライバ」と，「デバイスに対応するデバイスドライバ」の点で共通する。
　
　刊行物１記載発明の「ドライバソフトをインストールするために周辺装置４０が接続されると，周辺装置４０が何であるか自動的に検出する」ことは，
　本願発明の「複数のデバイスに対応するデバイスドライバをインストールする場合に，当該デバイスドライバに対応するデバイスを特定する」ことと，
　「デバイスに対応するデバイスドライバをインストールする場合に，デバイスを特定する」点で共通する。
　
　刊行物１記載発明では，新しいバージョンのドライバソフトを情報処理装置３０にインストールし，そして，記憶装置３６の情報のバージョンが古いと判別されたときに記憶装置３６の情報が最新バージョンに更新されるから，
　刊行物１記載発明の「情報処理装置３０の内部の記憶装置３６に格納されているドライバソフトのバージョン」は，
　本願発明の「複数のデバイスをそれぞれ制御するように設定されているデバイスドライバのバージョン」と，
　「デバイスを制御するように設定されているデバイスドライバのバージョン」の点で共通する。
　
　刊行物１記載発明では「周辺装置４０が何であるか自動的に検出し，情報処理装置３０の内部の記憶装置３６及び周辺装置４０の内部の記憶装置４５に格納されているドライバソフトのバージョンを比較する」際に，情報処理装置３０の内部の記憶装置３６に格納されているドライバソフトのバージョンを問い合わせるから，
　刊行物１記載発明の「周辺装置４０が何であるか自動的に検出し，情報処理装置３０の内部の記憶装置３６及び周辺装置４０の内部の記憶装置４５に格納されているドライバソフトやアプリケーション等のバージョンを比較する」ことは，
　本願発明の「特定された複数のデバイスをそれぞれ制御するように設定されているデバイスドライバのバージョンを認識する」ことと，
　「特定されたデバイスを制御するように設定されているデバイスドライバのバージョンを認識する」点で共通する。
　
　刊行物１記載発明の「周辺装置４０の内部の記憶装置４５に格納されているドライバソフト」は，本願発明の「インストールしようとするデバイスドライバ」といえる。
　
　刊行物１記載発明の「情報処理装置３０の内部の記憶装置３６及び周辺装置４０の内部の記憶装置４５に格納されているドライバソフトのバージョンを比較し，必要なドライバソフトのバージョンで新しいものを判別し，その格納元から，最新版のドライバソフトを情報処理装置３０のメモリ３３に格納して，新しいバージョンのドライバソフトを情報処理装置３０にインストールする」ことは，
　周辺装置４０に格納されているドライバソフト（インストールしようとするデバイスドライバ）よりも，情報処理装置３０に格納されているドライバソフトが旧い場合に，情報処理装置３０の旧いバージョンのドライバソフトに代えて，周辺装置４０の新しいバージョンのドライバソフトをインストールすることであることは当業者に明らかであるから，
　本願発明の「インストールしようとするデバイスドライバよりも旧いバージョンのデバイスドライバのバージョンが認識されれば，当該旧いバージョンのデバイスドライバに代えて，インストールしようとするデバイスドライバを，該デバイスを制御するデバイスドライバとして設定する」こといえる。
　
　刊行物１記載発明の「方法」は，ドライバソフトのインストール（デバイスドライバの設定）をするから，本願発明の「管理方法」といえる。
　
　したがって，両者の発明の一致点，相違点は，以下のとおりである。　
　
＜一致点＞
「　特定されたデバイスを制御するように設定されているデバイスドライバのバージョンを認識し，
　インストールしようとするデバイスドライバよりも旧いバージョンのデバイスドライバのバージョンが認識されれば，当該旧いバージョンのデバイスドライバに代えて，インストールしようとするデバイスドライバを，該デバイスを制御するデバイスドライバとして設定する管理方法。」である点。
　
＜相違点１＞
　デバイスドライバが，本願発明では「複数のデバイスに対応する」のに対して，刊行物１記載発明では，そのようなものか明らかではない点。
　そして，特定されたデバイスを制御するように設定されているデバイスドライバのバージョンを認識することが，
　本願発明では，特定された「複数の」デバイスを「それぞれ」制御するように設定されているデバイスドライバのバージョンを認識するのに対して，
　刊行物１記載発明では，情報処理装置３０の内部の記憶装置３６及び周辺装置４０の内部の記憶装置４５に格納されているドライバソフトのバージョンを比較する際に，情報処理装置３０の内部の記憶装置３６に格納されているドライバソフトのバージョンを問い合わせる点。
　
＜相違点２＞
　本願発明は，「デバイスドライバをインストールする場合に，当該デバイスドライバに対応するデバイスを特定」するのに対して，
　刊行物１記載発明は，ドライバソフトをインストールするために周辺装置４０が接続されると，周辺装置４０が何であるか自動的に検出するものである点。
　
（４）判断
（４−１）相違点１について
　特開２００２−９１７３２号公報（【００３３】〜【００３４】の「ネットワーク上の複数のプリンタを共通なカテゴリーで分類すると，…（中略）…，ＰＣＬ（Printer Control Language）プリンタ，ＰＳ（Post Script）プリンタ，ＧＤＩ（Grafics Device Interface）プリンタのようにページ記述言語やインターフェースの方式による分類を行うことができる。ここで，ＰＣＬプリンタ，ＰＳプリンタ，ＧＤＩプリンタの３方式で，標準化されたプリンタ方式の大半を占めており，これらのそれぞれに対応した共通ドライバを準備しておくことで，ネットワーク上の複数のプリンタの殆どを制御することが可能となる。」），
　西村岳史，“Windows2000最新トラブル情報一覧”，日経パソコン，日経ＢＰ社，２０００年３月２０日，第３５７号，第１９０−２００ページ（１９６ページの「モデムやプリンター，拡張ボード類はドライバーの対応いかんだが，定番製品ならばWindows2000に対応ドライバーが含まれている。ボード専用のドライバーが含まれていなくても，ボードに搭載された制御チップ用の汎用ドライバーで動かせる」）
　山中由充，ほか，“Windows DTP ３００の疑問に答える”，Ｗｉｎｄｏｗｓ　ＤＴＰ　ＰＲＥＳＳ，株式会社技術評論社，１９９９年１２月１０日，第６巻，第６２−６９ページ（６２ページの「プリンタドライバは，あらゆるアプリケーションで作られたデータをPostScript言語に変換する。市販のインクジェットプリンタなどでは専用のプリンタドライバが付属するが，PSプリンタドライバは汎用。」），
　武内一平，ほか，“目からウロコが落ちるチューニングテク満載！！システムのプロパティ完全解剖”，ＰＣｆａｎ，株式会社毎日コミュニケーションズ，１９９９年１２月１日，第６巻，第２１号，第７４−９３ページ（９２ページの「デバイスドライバがなければ，ハードをパソコンに接続しても動作しない。これはハードウエアをインストールしたらキチンとソフトも入れないと動かないという意味だ。もちろんソフトのインストールなしで動く周辺機器や拡張ボードは存在するが，それはウィンドウズの内部に汎用ドライバなどが入っているからだ。」），
　マイクロソフト株式会社　監修，WindowsTM 3.1リソースキット，第１版，株式会社インプレス，１９９４年６月２１日，１８６−１９０ページ，２０４−２０９ページ（１８７ページの「異なるプリンタに１つのドライバで対応していて，[io.device]のエントリが複数になる場合もある。」，２０７ページの「windows3.1では，プリンタドライバの多くは汎用のプリンタドライバに置き換えられた。」及び２０７−２０８ページの表４に示される「１つのドライバが複数の機種に対応すること（“ PR101.DRV が， NEC の PC-PR100/40, PC-PR101, …（中略）… PC-PR101 に対応すること”など）」），
　勝又孝志，“もとでいらずのパワーアップWindows98対応最新ドライバー１２７９本”，ＴＥＣＨ　ＷＩＮ，株式会社アスキー，１９９９年４月１日，第９８−１０７ページ（１０１−１０７ページに，１つのドライバーファイルが複数の機種に対応することが示されている。），
　などに記載されているように，複数のデバイスに対応するデバイスドライバであって，複数のデバイスをそれぞれ制御するように設定されているデバイスドライバは，本願出願時，周知技術である。
　
　そして，刊行物１記載発明に上記周知技術を適用して，「複数のデバイスに対応する」デバイスドライバとし，特定された「複数の」デバイスを「それぞれ」制御するように設定されているデバイスドライバのバージョンを認識するようにすることは，当業者が容易になし得ることである。
　
（４−２）相違点２について
　刊行物１記載発明の「情報処理装置３０に周辺装置４０を接続すると，周辺装置４０に格納されるドライバソフトが新しい場合，このドライバソフトがインストールされる」ことは，周辺装置４０に格納されるデバイスドライバをインストールすることといえる。
　
　そして，刊行物１記載発明のドライバソフトをインストールするために周辺装置４０を接続すると，周辺装置４０が何であるか自動的に検出し，新しいドライバソフトをインストールすることを，「デバイスドライバをインストールする場合に，当該デバイスドライバに対応するデバイスを特定する」ようにすることは，当業者が容易になし得ることである。
　
　したがって，本願発明は，刊行物１記載発明及び上記周知技術に基づいて，当業者が容易に発明をすることができたものである。
　
４．むすび
　以上のとおり，本願発明は，刊行物１記載発明及び周知技術に基づいて，当業者が容易に発明をすることができたものであるから，特許法第２９条第２項の規定により特許を受けることができない。
　したがって，本願は，その他の請求項について検討するまでもなく，拒絶すべきものである。
　
　よって，結論のとおり審決する。