(57)【要約】【課題】再起動をしなくても、更新後のデバイスドライバの処理を実行することが可能な情報処理装置、情報処理方法、情報処理プログラムを提供することを目的とする。【解決手段】情報処理装置１０は、更新された更新デバイスドライバを格納する記憶領域５０を有する。情報処理装置１０にインストールされた既存のデバイスドライバ３０は、記憶領域５０に格納された更新デバイスドライバが、デバイスドライバ３０よりも新しいバージョンであった場合、記憶領域５０より更新デバイスドライバを読み込んで実行させることにより、情報処理装置１０を再起動せずに更新デバイスドライバの処理を実行する。【選択図】図１
2008090727.tif 000002
【特許請求の範囲】
【請求項１】
バージョン情報を有するデバイスドライバが格納された第一の格納手段と、更新された前記デバイスドライバである更新デバイスドライバを取得して当該情報処理装置へ導入させる導入手段と、前記導入手段により導入された前記更新デバイスドライバが格納される第二の格納手段とを有する情報処理装置において、
前記デバイスドライバは、前記第二の格納手段に格納された前記更新デバイスドライバを実行させる実行手段と、
前記第二の格納手段に格納された前記更新デバイスドライバのバージョン情報を取得するバージョン情報取得手段とを有し、
前記実行手段は、前記バージョン情報取得手段により取得されたバージョン情報が、前記デバイスドライバの有するバージョン情報よりも新しいとき、前記第二の格納手段に格納された前記更新デバイスドライバを実行させることを特徴とする情報処理装置。
【請求項２】
前記導入手段は、当該情報処理装置が再起動した直後に、
前記第二の格納手段に格納された前記更新デバイスドライバを、前記第一の格納手段へ上書きし、
前記第二の格納手段に格納された前記更新デバイスドライバを削除することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
デバイスドライバは、それぞれがバージョン情報を有する複数のモジュールにより構成されており、
前記導入手段は、前記更新デバイスドライバを構成するモジュールのバージョン情報が、前記デバイスドライバを構成するモジュールのバージョン情報よりも新しいモジュールのみを導入させることを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記デバイスドライバは、前記第一の格納手段に格納されたモジュールの名称と同一名称のモジュールが、前記第二の格納手段に格納されているか否かを検索する検索手段を有し、
前記検索手段により検索された前記モジュールのバージョン情報が、前記第一の格納手段に格納された対応するモジュールのバージョン情報よりも新しいとき、
前記実行手段は、前記第一の格納手段に格納されたモジュールの替わりに、前記検索手段に検索された前記モジュールを実行させることを特徴とする請求項３記載の情報処理装置。
【請求項５】
表示装置を有し、
前記導入手段は、前記更新デバイスドライバの導入に係る状況を前記表示装置へ表示させることを特徴とする請求項１ないし４のいずれか一項に記載の情報処理装置。
【請求項６】
前記導入手段は、前記第二の格納手段に格納された前記更新デバイスドライバを、前記第一の格納手段へ上書きする処理がエラーとなった場合、前記表示装置へエラーメッセージを表示させることを特徴とする請求項５記載の情報処理装置。
【請求項７】
バージョン情報を有するデバイスドライバが格納された第一の格納部と、更新された前記デバイスドライバである更新デバイスドライバを取得して当該情報処理装置へ導入させる導入部と、前記導入部により導入された前記更新デバイスドライバが格納される第二の格納部とを有する情報処理装置における情報処理方法において、
前記デバイスドライバは、前記第二の格納部に格納された前記更新デバイスドライバを実行させる実行手順と、
前記第二の格納部に格納された前記更新デバイスドライバのバージョン情報を取得するバージョン情報取得手順とを有し、
前記実行手順は、前記バージョン情報取得手順により取得されたバージョン情報が、前記デバイスドライバの有するバージョン情報よりも新しいとき、前記第二の格納部に格納された前記更新デバイスドライバを実行させることを特徴とする情報処理方法。
【請求項８】
バージョン情報を有するデバイスドライバが格納された第一の格納部と、更新された前記デバイスドライバである更新デバイスドライバを取得して当該情報処理装置へ導入させる導入部と、前記導入部により導入された前記更新デバイスドライバが格納される第二の格納部とを有する情報処理装置における情報処理プログラムにおいて、
コンピュータに
前記デバイスドライバによる、前記第二の格納部に格納された前記更新デバイスドライバを実行させる実行ステップと、
前記デバイスドライバによる、前記第二の格納部に格納された前記更新デバイスドライバのバージョン情報を取得するバージョン情報取得ステップとを実行させ、
前記実行ステップは、前記バージョン情報取得ステップにより取得されたバージョン情報が、前記デバイスドライバの有するバージョン情報よりも新しいとき、前記第二の格納部に格納された前記更新デバイスドライバを実行することを特徴とする情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デバイスドライバがインストールされた情報処理装置及びこの情報処理装置における情報処理方法、情報処理プログラムに関する。
【背景技術】
【０００２】
近年のパーソナルコンピュータ（以下、ＰＣ）などの情報処理装置では、例えば情報処理装置に接続されたプリンタなどの周辺機器を制御するための制御プログラムがインストールされている。この制御プログラムは一般にデバイスドライバと呼ばれ、このデバイスドライバは、インストールセットと呼ばれる複数のモジュールから構成されている。デバイスドライバのインストールは、インストーラと呼ばれるデバイスドライバ導入のためのプログラムにより行われる。
【０００３】
情報処理装置にインストールされたデバイスドライバは、情報処理装置において利用者が周辺機器を利用する際に、情報処理装置により呼び出されて実行される。このようなデバイスドライバの中には、例えば周辺機器を監視する機能を有するものもある。
【０００４】
例えば周辺機器を監視するデバイスドライバでは、例えば一定時間毎に周辺機器の状態に係る情報を取得している。この場合デバイスドライバは、定期的に情報処理装置に呼び出されて実行されるため、例えばデバイスドライバの更新をインストールする場合に正常にインストールを行うことができない。
【０００５】
そこで従来の情報処理装置では、デバイスドライバの更新のインストールを正常に行うため、インストーラに一時的にモジュールを退避させるディレクトリを作成させ、そのディレクトリへ更新されたモジュールを退避させる。そして情報処理装置を再起動した後、情報処理装置がデバイスドライバを実行する前に、このディレクトリに退避された更新されたモジュールを用いてデバイスドライバの更新のインストールを行っている。
【０００６】
また、デバイスドライバの更新を行う際には、デバイスドライバを構成する全てのモジュールがアップデートされることは少なく、アップデートされないモジュールも多く存在する場合がある。インストーラは、この場合にもデバイスドライバを構成するすべてのモジュールのアップデートを行う。
【０００７】
その他、デバイスドライバの更新に関する技術として、例えば特開２００４−３２６６０１号公報（特許文献１）には、印刷を行う際に実現される機能の追加、更新及び削除を適切に行える印刷制御装置、ユーザインターフェイス、印刷制御方法、コンピュータプログラム及びコンピュータ読み取り可能な記録媒体が記載されている。また、特開２００３−３０８２１５号公報（特許文献２）には、デバイスドライバをコンピュータにインストールする際に、再起動が必要か必要でないかを判定し、該判定結果に基づいてインストール先のシステムを制御し、必要に再起動を行いつつ不要な再起動を減らす情報処理装置、制御方法、制御プログラムが記載されている。
【特許文献１】特開２００４−３２６６０１号公報
【特許文献２】特開２００３−３０８２１５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、上記従来の情報処理装置の再起動を行わない限り、デバイスドライバは更新されず、デバイスドライバに更新後の処理を実行させるためには情報処理装置の再起動が不可欠である。このため、例えばサーバ用途などにより終日稼働している情報処理装置のように、極力再起動を避けたい情報処理装置においてはデバイスドライバの更新を行うことが困難である。
【０００９】
また情報処理装置では、デバイスドライバにおいてアップデートされないモジュールも多く存在するにも関わらず、デバイスドライバを構成するすべてのモジュールのアップデートを行う。このため、例えばアップデートするためのプログラムをインターネット回線などを介してダウンロードする場合などには時間がかかる。
【００１０】
本発明は、上記の事情を鑑みてこれを解消すべく成されたものであり、再起動をしなくても、更新後のデバイスドライバの処理を実行することが可能な情報処理装置、情報処理方法、情報処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明の情報処理装置は、上記の目的を達成するため、以下の如き構成を採用した。
【００１２】
本発明の情報処理装置は、バージョン情報を有するデバイスドライバが格納された第一の格納手段と、更新された前記デバイスドライバである更新デバイスドライバを取得して当該情報処理装置へ導入させる導入手段と、前記導入手段により導入された前記更新デバイスドライバが格納される第二の格納手段とを有する情報処理装置において、前記デバイスドライバは、前記第二の格納手段に格納された前記更新デバイスドライバを実行させる実行手段と、前記第二の格納手段に格納された前記更新デバイスドライバのバージョン情報を取得するバージョン情報取得手段とを有し、前記実行手段は、前記バージョン情報取得手段により取得されたバージョン情報が、前記デバイスドライバの有するバージョン情報よりも新しいとき、前記第二の格納手段に格納された前記更新デバイスドライバを実行させる構成とした。
【００１３】
係る構成によれば、情報処理装置を再起動をしなくても、更新後のデバイスドライバの処理を実行することが可能となる。
【００１４】
また、前記導入手段は、当該情報処理装置が再起動した直後に、前記第二の格納手段に格納された前記更新デバイスドライバを、前記第一の格納手段へ上書きし、前記第二の格納手段に格納された前記更新デバイスドライバを削除する構成とすることができる。
【００１５】
係る構成によれば、更新処理のための特定の記憶領域からではなく、デバイスドライバが格納さている所定の場所からデバイスドライバを実行することができる。
【００１６】
また、前記デバイスドライバは、それぞれがバージョン情報を有する複数のモジュールにより構成されており、前記導入手段は、前記更新デバイスドライバを構成するモジュールのバージョン情報が、前記デバイスドライバを構成するモジュールのバージョン情報よりも新しいモジュールのみを導入させる構成とすることができる。
【００１７】
係る構成によれば、デバイスドライバ全体に対して更新を行わずに、更新されたモジュールに対してのみ更新を行うことができる。また、デバイスドライバの更新処理において、デバイスドライバを構成するすべてのモジュールを更新する必要がない。よってデバイスドライバの更新処理において必要となるモジュールのみをダウンロードすれば良く、更新処理に必要なプログラムのダウンロード時間及び更新処理を短縮することができる。
【００１８】
また、前記デバイスドライバは、前記第一の格納手段に格納されたモジュールの名称と同一名称のモジュールが、前記第二の格納手段に格納されているか否かを検索する検索手段を有し、前記検索手段により検索された前記モジュールのバージョン情報が、前記第一の格納手段に格納された対応するモジュールのバージョン情報よりも新しいとき、前記実行手段は、前記第一の格納手段に格納されたモジュールの替わりに、前記検索手段に検索された前記モジュールを実行させる構成とすることができる。
【００１９】
係る構成によれば、更新されたモジュールのみを更新することができる。
【００２０】
また、本発明の情報処理装置は表示装置を有し、前記導入手段は、前記更新デバイスドライバの導入に係る状況を前記表示装置へ表示させる構成とすることができる。
【００２１】
係る構成によれば、ユーザに処理の遷移状況を把握させることができる。
【００２２】
また、前記導入手段は、前記第二の格納手段に格納された前記更新デバイスドライバを、前記第一の格納手段へ上書きする処理がエラーとなった場合、前記表示装置へエラーメッセージを表示させる構成とすることができる。
【００２３】
係る構成によれば、更新処理がエラーとなったときに、ユーザへ処理の再実行を促すことができる。
【００２４】
本発明の情報処理方法は、バージョン情報を有するデバイスドライバが格納された第一の格納部と、更新された前記デバイスドライバである更新デバイスドライバを取得して当該情報処理装置へ導入させる導入部と、前記導入部により導入された前記更新デバイスドライバが格納される第二の格納部とを有する情報処理装置における情報処理方法において、前記デバイスドライバは、前記第二の格納部に格納された前記更新デバイスドライバを実行させる実行手順と、前記第二の格納部に格納された前記更新デバイスドライバのバージョン情報を取得するバージョン情報取得手順とを有し、前記実行手順は、前記バージョン情報取得手順により取得されたバージョン情報が、前記デバイスドライバの有するバージョン情報よりも新しいとき、前記第二の格納部に格納された前記更新デバイスドライバを実行させる方法とすることができる。
【００２５】
係る方法によれば、再起動をしなくても、更新後のデバイスドライバの処理を実行することが可能となる。
【００２６】
本発明の情報処理プログラムは、バージョン情報を有するデバイスドライバが格納された第一の格納部と、更新された前記デバイスドライバである更新デバイスドライバを取得して当該情報処理装置へ導入させる導入部と、前記導入部により導入された前記更新デバイスドライバが格納される第二の格納部とを有する情報処理装置における情報処理プログラムにおいて、コンピュータに、前記デバイスドライバによる前記第二の格納部に格納された前記更新デバイスドライバを実行させる実行ステップと、前記デバイスドライバによる前記第二の格納部に格納された前記更新デバイスドライバのバージョン情報を取得するバージョン情報取得ステップとを実行させ、前記実行ステップは、前記バージョン情報取得ステップにより取得されたバージョン情報が、前記デバイスドライバの有するバージョン情報よりも新しいとき、前記第二の格納部に格納された前記更新デバイスドライバを実行するプログラムとすることができる。
【００２７】
係るプログラムによれば、再起動をしなくても、更新後のデバイスドライバの処理を実行することが可能となる。
【発明の効果】
【００２８】
本発明によれば、再起動をしなくても、更新後のデバイスドライバの処理を実行することが可能な情報処理装置、情報処理方法、情報処理プログラムを提供する。
【発明を実施するための最良の形態】
【００２９】
本発明の情報処理装置は、更新されたデバイスドライバを格納する記憶手段を有する。情報処理装置にインストールされた既存のデバイスドライバは、記憶手段に格納されたデバイスドライバが、該デバイスドライバよりも新しいバージョンであった場合、この記憶手段より更新されたデバイスドライバを読み込んで実行させることにより、情報処理装置を再起動せずに更新されたデバイスドライバの処理を行う。
（第一の実施形態）
以下に図面を参照して本発明の第一の実施形態について説明する。図１は、本発明の情報処理装置１０の機能構成を示す機能ブロック図である。
【００３０】
情報処理装置１０は、デバイスドライバ記憶領域２０に格納されたデバイスドライバ３０、インストーラ４０、記憶領域５０、ディスプレイ６０とを備える。
【００３１】
情報処理装置１０は、例えば一般のＰＣなどによりその機能が実現可能であり、デバイスドライバ３０は、情報処理装置１０に接続された周辺機器を制御するプログラムである。ここで言う周辺機器とは、例えば情報処理装置１０に適切な方法で接続されたプリンタやスキャナなどである。
【００３２】
また情報処理装置１０は、デバイスドライバ３０を更新する際に、外部よりアップデートされたデバイスドライバをダウンロードし、インストーラ４０によりこのアップデートされたデバイスドライバを記憶領域５０へ格納する。そして情報処理装置１０は、デバイスドライバ３０を実行させる替わりに、記憶領域５０に格納された、アップデート済みのデバイスドライバを実行させることにより、情報処理装置１０を再起動させずにデバイスドライバ更新時の処理を実現させる。尚、アップデートされたデバイスドライバ３０を、以下の説明において更新デバイスドライバと呼ぶ。
【００３３】
以下に情報処理装置１０の各構成要素について説明する。
【００３４】
デバイスドライバ記憶領域２０は、デバイスドライバ３０のインストール先であり、デバイスドライバ３０が格納される格納手段である。デバイスドライバ記憶領域２０は、例えば情報処理装置１０の備える記憶手段であるハードディスク（以下、ＨＤＤ４０）などにより実現される。
【００３５】
デバイスドライバ３０は、複数のモジュールにより構成されるものであり、ドライバ処理実行部３１、再起動処理抑止部３３とを備える。デバイスドライバ３０を構成するモジュールは、例えばインストールセットと呼ばれるプログラム群により構成される。
【００３６】
ドライバ処理実行部３１は、デバイスドライバ３０をデバイスドライバ３０として機能させる処理を実行する。再起動抑止部３３は、デバイスドライバ３０の更新による情報処理装置１０の再起動を抑止するための処理を行う。情報処理装置１０は、この再起動抑止部３３における処理により、情報処理装置１０を再起動せずに、デバイスドライバ３０があたかも更新されたように処理を行うことができる。
【００３７】
再起動抑止部３３は、同名モジュール検索部３５、バージョン情報取得部３６、ロード部３７、関数コール部３８とから構成されている。同名モジュール検索部３５は、記憶領域５０にデバイスドライバ３０を構成するモジュールと同じ名称のモジュールが格納させているか否かを検索する。バージョン情報取得部３６は、記憶領域５０に格納されたモジュールのバージョン情報を取得する。ロード部３７は、記憶領域５０に格納されたモジュールをワークメモリ上に展開する。関数コール部３８は、ロード部３７により展開されたモジュールを構成するプログラムに含まれる関数を呼び出し実行させる。
【００３８】
インストーラ４０は、デバイスドライバ３０や、デバイスドライバ３０をアップデートしたプログラムである更新デバイスドライバを、情報処理装置１０へ導入する導入手段であり、これらのデバイスドライバを情報処理装置１０へインストールする。インストーラ４０は、ユーザインターフェース表示部４２、モジュールコピー部４４、モジュール削除部４６、バージョン情報取得部４８とから構成されている。
【００３９】
ユーザインターフェース表示部４２は、ディスプレイ６０における表示の制御を行う。モジュールコピー部４４は、モジュールを記憶領域５０へコピーする。モジュール削除部４６は、記憶領域５０に記憶されているモジュールを、記憶領域５０から削除する。バージョン情報取得部４８は、デバイスドライバ３０を構成するモジュールのバージョン情報を取得する。
【００４０】
記憶領域５０は、インストーラ４０により更新デバイスドライバが格納される格納手段であり、例えば情報処理装置１０の備える記憶手段であるメモリやＨＤＤにより実現されても良い。ディスプレイ６０は、情報処理装置１０の備える表示装置であり、例えば液晶ディスプレイなどにより実現されても良い。
【００４１】
以下に情報処理装置１０の動作を説明する。まず、図２を参照してインストーラ４０の処理を説明する。図２は、本発明の情報処理装置１０におけるインストーラ４０の処理を説明するフローチャートの例である。
【００４２】
情報処理装置１０のユーザにより、情報処理装置１０の外部から更新デバイスドライバがダウンロードされて、この更新デバイスドライバのインストール指示が成されると、情報処理装置１０はインストーラ４０を起動させる。このときインストーラ４０は、ユーザインターフェース表示部４２によりディスプレイ６０へ、インストーラ４０の処理遷移状況を表示させる。ここでいう処理遷移状況とは、例えばソフトウェアの使用承認ダイアログや、後に説明するモジュールのコピー処理に係る状態などである。
【００４３】
インストーラ４０は起動された後、バージョン情報取得部４８により、デバイスドライバ記憶領域２０に格納（インストール）されたデバイスドライバ３０を構成するモジュールのバージョン情報を取得する（Ｓ２１）。次にインストーラ４０は、バージョン情報取得部４８により取得したバージョン情報と、更新デバイスドライバを構成するモジュールのバージョン情報とを比較する（Ｓ２２）。
【００４４】
尚ここで、インストーラ４０は、更新デバイスドライバを構成するすべてのモジュールをダウンロードし、それぞれのモジュールにおいてＳ２２の比較処理を行っても良い。この場合、バージョン情報取得部４８は、Ｓ２１においてデバイスドライバ３０を構成するすべてのモジュールのバージョン情報を取得することが好ましい。
【００４５】
またインストール４０は、更新デバイスドライバを構成するモジュールのうち特定のモジュールのみをダウンロードし、デバイスドライバ３０を構成するモジュールのうち、この特定のモジュールと対応するモジュールに対してＳ２２の比較処理を行っても良い。この場合、バージョン情報取得部４８は、Ｓ２１においてデバイスドライバ３０を構成するモジュールのうち、この特定のモジュールに対応するモジュールのバージョン情報のみを取得しても良い。
【００４６】
さらにインストーラ４０は、更新デバイスドライバを構成するモジュールのうち、デバイスドライバ３０を構成するモジュールと比較して更新されたモジュールのみをダウンロードし、これに対してＳ２２の比較処理を行っても良い。この場合、バージョン情報取得部４８は、Ｓ２１において、更新されるモジュールのバージョン情報のみを取得すればよい。
【００４７】
インストーラ４０は、Ｓ２２の比較処理において、更新デバイスドライバを構成するモジュールのバージョン情報が、Ｓ２１で取得したデバイスドライバ３０を構成するモジュールのバージョン情報よりも古い場合、ユーザインターフェース表示部４２によりディスプレイ６０へその旨を表示させる（Ｓ２８）。そしてインストール処理を終了する。ここではディスプレイ６０には、例えばインストール処理の終了を示すメッセージなどが表示されても良い。
【００４８】
インストーラ４０は、Ｓ２２の比較処理において、更新デバイスドライバを構成するモジュールのバージョン情報が、Ｓ２１で取得したデバイスドライバ３０を構成するモジュールのバージョン情報より新しかった場合、このデバイスドライバ３０を構成するモジュールを更新する更新インストール処理を開始する。
【００４９】
まずインストーラ４０は、モジュールコピー部４４により、更新されたモジュールである更新モジュールを記憶領域５０へ格納する（Ｓ２３）。
【００５０】
インストール４０は、Ｓ２３において更新モジュールが記憶領域５０へ正常にコピーされると（Ｓ２４）、情報処理装置１０が再起動されるまで記憶領域５０において更新モジュールを保持する。そしてインストール４０は、情報処理装置１０が再起動され、情報処理装置宇１０のオペレーティングシステム（以下、ＯＳ）が起動された直後に、更新モジュールをデバイスドライバ記憶領域２０内へ格納する（Ｓ２５）。ここで言う格納とは、更新モジュールが、デバイスドライバ記憶領域２０に格納されている旧バージョンのモジュールへ上書きされてコピーされることを示す。
【００５１】
また、ここで言うＯＳの起動直後とは、具体的には、例えばデバイスドライバの起動を行うサービスが起動される前を示す。デバイスドライバの起動を行うサービスとは、例えばマイクロソフト社のＷｉｎｄｏｗｓ（登録商標）上で動作するプリンタドライバの場合には、プリントシステムのロードを行うスプーラサービスである。インストーラ４０は、例えばこのスプーラサービスが起動される前に更新モジュールを記憶領域５０にコピーしても良い。
【００５２】
インストーラ４０は、デバイスドライバ記憶領域２０への更新モジュールの上書きコピー処理が正常に終了すると（Ｓ２６）、記憶領域５０からこの更新モジュールを削除する（Ｓ２７）。尚ここでインストーラ４０は、モジュールのコピー処理が正常に行われなかった場合、ユーザインターフェース表示部４２により、ディスプレイ６０に更新インストール処理を失敗した旨を示すメッセージを表示させても良い。またこのとき、インストーラ４０はユーザインターフェース表示部４２によりディスプレイ６０に、インストール処理の再実行を促すメッセージを表示させても良い。
【００５３】
また、Ｓ２１において取得したデバイスドライバ３０を構成するモジュールのバージョン情報が、更新デバイスドライバを構成するモジュールのバージョン情報よりも新しい場合、インストーラ４０は、ユーザインターフェース表示部４２によりディスプレイ６０へその旨を表示させ（Ｓ２８）、インストール処理を終了する。ここではディスプレイ６０には、例えばインストール処理の終了を示すメッセージなどが表示されても良い。
【００５４】
インストーラ４０では、以上のようにして更新デバイスドライバをデバイスドライバ記憶領域２０へインストールする。またインストーラ４０は、例えば更新モジュールが記憶領域５０にコピーされた後、情報処理装置１０の再起動前に再度更新インストール処理の実行指示を受けた場合、ユーザインターフェース表示部４２によりディスプレイ６０に、既に更新インストール処理が終了している旨を示すメッセージを表示させても良い。
【００５５】
次に、図３を参照してデバイスドライバ３０の処理について説明する。図３は、本発明の情報処理装置１０におけるデバイスドライバ３０の処理を説明するフローチャートの例である。
【００５６】
デバイスドライバ３０は、情報処理装置１０のＯＳによりコールされることにより、処理が実行される。
【００５７】
デバイスドライバ３０はＯＳよりコールされると、同名モジュール検索部３５により、記憶領域５０にデバイスドライバ３０を構成するモジュールと同一の名前の更新モジュールが存在するか否か検索する（Ｓ３１、Ｓ３２）。Ｓ３２においてデバイスドライバ３０を構成するモジュールと同一の名前の更新モジュールが記憶領域５０内に存在しない場合、デバイスドライバ３０は、デバイスドライバ３０が更新されないものとして、ドライバ処理実行部３１にデバイスドライバ３０の処理を実行させる（Ｓ３３）。
【００５８】
Ｓ３２においてデバイスドライバ３０を構成するモジュールと同一名の同名更新モジュールが記憶領域５０内に存在していた場合、デバイスドライバ３０は、この同名更新モジュールのバージョン情報を取得する（Ｓ３４）。そしてデバイスドライバ３０は、Ｓ３４で取得した同名更新モジュールのバージョン情報と、これに対応する当該デバイスドライバ３０を構成するモジュールのバージョン情報とを比較する（Ｓ３５）。
【００５９】
デバイスドライバ３０は、同名更新モジュールのバージョン情報の方が、対応する当該デバイスドライバ３０を構成するモジュールのバージョン情報よりも新しい場合、ロード部３７により記憶領域５０に格納されている同名更新モジュールを例えばワークメモリ上などへロード（展開）させる（Ｓ３６）。
【００６０】
デバイスドライバ３０は、同名更新モジュールが正常にロードされると（Ｓ３７）、同名更新モジュールが記憶領域５０内にコピーされているものと判断し、関数コール部３８により同名更新モジュールから更新された関数をコールする（Ｓ３８）。そしてデバイスドライバ３０はこの関数を実行する。このとき、ドライバ処理実行部３１において実行される処理は更新前の処理とみなされ、実行されない。
【００６１】
またデバイスドライバ３０は、Ｓ３７において同名更新モジュールが正常にロードされない場合、デバイスドライバ３０の更新は不可能とみなし、ドライバ処理実行部３１において実行される、更新前の処理を実行する。
【００６２】
このように本実施形態の情報処理装置１０では、上記のデバイスドライバ３０とインストーラ４０とを組み合わせて使用することにより、デバイスドライバ更新時の再起動を抑制することができる。よって、情報処理装置１０のユーザは、デバイスドライバの更新に伴う再起動を所望するときに行えば良い。
【００６３】
また、本発明の情報処理装置１０では、デバイスドライバ３０の更新において、デバイスドライバ全体を更新せずに、デバイスドライバ３０を構成するモジュールのうち、更新されたモジュールのみ更新処理を行うことができる。このため、更新版のデバイスドライバをダウンロードする際には、更新版のモジュールのみをダウンロードすれば良く、ダウンロードに係る時間及び更新処理にかかる時間を短縮することができる。
【００６４】
次に、図４を参照して上記実施形態で説明した各機能を実現させる情報処理プログラムが記録された記録媒体を説明する。記録媒体４１０に記録された情報処理プログラム４００が、コンピュータ５００に読み込まれて実行されることにより、本実施形態で説明した各機能を実現することができる。
【００６５】
例えばコンピュータ５００は、ＣＰＵ５１０、ハードディスク５２０、メモリ５３０、表示部５４０、入力部５５０、通信部５６０、記録媒体読込部５７０を備えている。ＣＰＵ５１０は演算処理装置であって、コンピュータ５００において実行される演算や処理を実行する。ハードディスク５２０は、データを格納する記憶手段であって、コンピュータ５００上で動作するアプリケーションや、このアプリケーションにより作成されたデータなどが格納されている。メモリ５３０には、コンピュータ５００に係る各種の設定値や、ＣＰＵ５１０での演算結果などが格納される。
【００６６】
表示部５４０はディスプレイなどであり、コンピュータ５００において作成されたデータなどをユーザに閲覧可能に表示する。入力部５５０は例えばキーボードやマウスであって、ユーザの操作により各種データが入力される。通信部５６０は例えばネットワークコントロールユニットなどであり、コンピュータ５００が外部の装置と通信を行うためのものである。記録媒体読込部５７０は、各種記録媒体に記録されたデータやプログラムなどを読み込むものであり、例えばフロッピー（登録商標）ディスクドライバなどである。
【００６７】
記録媒体４１０は、本実施形態の各機能を実現させる情報処理プログラム４００が記録されている。この情報処理プログラム４００は、記録媒体読込部５７０により読み込まれてＣＰＵ５１０において実行される。記録媒体４１０は、例えばフロッピー（登録商標）ディスクやＣＤ−ＲＯＭ（Compact Disk Read Only Memory）等であっても良く、コンピュータ５００において読み取り可能なに媒体であれば良い。また、情報処理プログラム４００はネットワークを介して通信部５６０により受信されて、ハードディスク５２０等に格納されても良い。
【００６８】
以上、各実施形態に基づき本発明の説明を行ってきたが、上記実施形態にあげた構成、その他の要素との組み合わせなど、ここで示した要件に本発明が限定されるものではない。これらの点に関しては、本発明の主旨をそこなわない範囲で変更することが可能であり、その応用形態に応じて適切に定めることができる。
【産業上の利用可能性】
【００６９】
本発明は、デバイスドライバがインストールされた情報処理装置及びこの情報処理装置における情報処理方法、情報処理プログラムに利用可能である。
【図面の簡単な説明】
【００７０】
【図１】本発明の情報処理装置１０の機能構成を示す機能ブロック図である。
【図２】本発明の情報処理装置１０におけるインストーラ４０の処理を説明するフローチャートである。
【図３】本発明の情報処理装置１０におけるデバイスドライバ３０の処理を説明するフローチャートの例である。
【図４】実施形態で説明した各機能を実現させる情報処理プログラムが記録された記録媒体を説明する図である。
【符号の説明】
【００７１】
１０  情報処理装置
２０  デバイスドライバ記憶領域
３０  デバイスドライバ
３１  ドライバ処理実行部
３３  再起動抑止部
３５  同名モジュール検索部
３６、４８  バージョン情報取得部
３７  ロード部
３８  関数コール部
４０  インストーラ
５０  記憶領域
６０  ディスプレイ
４００  情報処理プログラム
４１０  記録媒体
【図１】
2008090727.tif 000003
【図２】
2008090727.tif 000004
【図３】
2008090727.tif 000005
【図４】
2008090727.tif 000006