(57)【要約】【課題】情報処理装置、情報処理方法およびプログラムを提供すること。【解決手段】アプリケーションの実行中に元ファイルのロックを検出するロック・モニタ４８と、ロックされた元ファイルの元ファイル識別値から作成される変名ファイル識別値を指定する変名リスト５６を作成し、インストール・ファイルと変名リスト５６とを記憶装置に格納するとともに、変名ファイル識別値を検索するインストール処理部４０と、変名リスト５６にエントリされた元ファイル識別値を参照して変名ファイル識別値を取得し、変名ファイル識別値を使用してインストール・ファイルを呼出し、処理を実行するアプリケーション５８を含むアプリケーション実行部５４とを含んでいて、ＯＳの再起動を行うことなく、インストールされたファイルをアプリケーション５８に利用させ、データおよび処理のコンシステンシを改善している。【選択図】  図２
2007328429.tif 000002
【特許請求の範囲】
【請求項１】
インストールされたファイルを、ＯＳを再起動せずに実行する情報処理装置であって、
アプリケーションの実行中に元ファイルのロックを検出し、ロックされた前記元ファイルの元ファイル識別値から作成される変名ファイル識別値を指定するリストを作成し、前記インストール・ファイルと前記リストとを記憶装置に格納するとともに、前記変名ファイル識別値を検索するインストール処理部と、
前記リストにエントリされた前記元ファイル識別値を参照して前記変名ファイル識別値を取得し、前記変名ファイル識別値を使用して前記インストール・ファイルを呼出し、処理を実行するアプリケーション実行部と
を含む、情報処理装置。
【請求項２】
前記インストール処理部は、
前記元ファイルのロックを検出するロック・モニタと、
前記アプリケーションと共有され、前記変名ファイル識別値を作成する変名ルールを登録したルックアップ・テーブルと、
複数登録された前記変名ファイル識別値のうち最新の前記変名ファイル識別値を千鳥状に順にたどって検索する変名ファイル管理部と
を含む、請求項１に記載の情報処理装置。
【請求項３】
前記変名ファイル管理部は、前記情報処理装置の再起動時に前記インストール・ファイルに前記元ファイル識別値を付して前記記憶装置に上書き保存する、請求項２に記載の情報処理装置。
【請求項４】
前記リストは、インストール履歴に対応した複数の変名ファイル識別値をエントリしており、前記変名ファイル管理部は、検索された最新の前記変名ファイル識別値を前記インストール・ファイルに付して上書き保存した後、前記リストを参照して変名ファイルおよび前記リストの対応するエントリを削除する、請求項２〜３のいずれか１項に記載の情報処理装置。
【請求項５】
前記変名ファイル管理部は、前記リストの内容を検査し、前記リストが空の場合に前記リストを前記記憶装置から削除する、請求項２〜４のいずれか１項に記載の情報処理装置。
【請求項６】
前記インストール処理部は、前記アプリケーションに対応した前記変名ファイル識別値を前記元ファイル識別値を使用して作成するためのルックアップ・テーブルと、
指定された前記元ファイルを前記記憶装置から削除し、前記リストの前記インストール履歴を保存するように前記リストのエントリ項目を修正させるアンインストーラと
を含む、請求項１〜５のいずれか１項に記載の情報処理装置。
【請求項７】
前記情報処理装置は、電子写真法を使用した画像形成装置である、請求項１〜６のいずれか１項に記載の情報処理装置。
【請求項８】
インストールされたファイルを、ＯＳを再起動せずに情報処理装置が実行する情報処理方法であって、
アプリケーションの実行中に元ファイルのロックを検出し、ロックされた前記元ファイルの元ファイル識別値から作成される変名ファイル識別値を指定するリストを作成し、前記インストール・ファイルと前記リストとを記憶装置に格納するとともに、前記変名ファイル識別値を検索するステップと、
前記リストを参照して最新の前記変名ファイル識別値を検索するステップと、
前記リストにエントリされた前記ファイル識別値を参照して前記変名ファイル識別値を取得し、前記変名ファイル識別値を使用して前記インストール・ファイルを呼出し、処理を実行するステップと
を前記情報処理装置に実行させる、情報処理方法。
【請求項９】
前記情報処理装置の再起動時に、前記インストール・ファイルに前記元ファイル識別値を付して前記記憶装置に上書き保存するステップを前記情報処理装置に実行させる、請求項８に記載の情報処理方法。
【請求項１０】
前記リストに対してインストール履歴に対応した複数の変名ファイル識別値をエントリするステップと、
検索された最新の前記変名ファイル識別値を前記インストール・ファイルに付して上書き保存した後、前記リストを参照して変名ファイルおよび前記リストの対応するエントリを削除するステップと
を前記情報処理装置に実行させる、請求項８または９に記載の情報処理方法。
【請求項１１】
さらに、ルックアップ・テーブルを参照して前記アプリケーションに対応した前記変名ファイル識別値を前記元ファイル識別値を使用して作成するステップと、
指定された前記元ファイルを前記記憶装置から削除し、前記リストの前記インストール履歴を保存するように前記リストのエントリ項目を修正するステップを前記情報処理装置に実行させる、請求項８〜１０のいずれか１項に記載の情報処理方法。
【請求項１２】
請求項８〜１１のいずれか１項に記載の情報処理方法を情報処理装置に対して実行させる、装置実行可能なプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーションのインストールに関し、より詳細には、ドキュメントが排他的に利用されている場合にでも、オペレーティング・システムの再起動を行うことなく、インストールされたアプリケーションにより排他的に利用されていたドキュメントを、継続的かつ安定な使用を可能とする、情報処理装置、情報処理方法およびプログラムに関する。
【背景技術】
【０００２】
画像処理装置およびパーソナル・コンピュータなどの情報処理装置は、複数のアプリケーションが同一のファイルにアクセスしながらユーザに対応する処理を実行する。また、アプリケーション自体は、バージョンアップ、機能拡張性などの点から、種々の機能をダイナミック・リンク・ライブラリ（ＤＬＬ）、ＳＯファイル、プラグインまたはアドイン・プログラムとして実装される。また、複数のアプリケーションが同一のファイルにアクセスしながら処理を実行する場合、ファイルの内容のコンシステンシを確保するために、ロックなどの排他制御が行われる場合が多い。
【０００３】
このような実行環境下において、特定のアプリケーションをバージョンアップなどによりインストールする場合、ロック中のファイルがある場合にはロック中のファイル（以下、元ファイルとして参照する。）に対して異なるファイル名（以下、変名ファイルとして参照する。）を付して記憶装置に格納し、実行されているソフトウェアによる排他環境をリセットさせるため、オペレーティング・システム（ＯＳ）を再起動させる。そして、アプリケーションは、再起動後、アンロック状態にある変名ファイルを読出して処理を実行させていた。
【０００４】
ソフトウェアの更新処理を行う装置としては、例えば特開２００４−３１８８３９号公報（特許文献１）に開示された通信装置を挙げることができる。特許文献１に開示された通信装置は、ネットワークを介して更新用ソフトウェアを受信して、更新用ソフトウェアによるアップデートを実行する。更新用ソフトウェアによるアップデートは、装置をリセットした後に実行され、再度装置が立ち上げられた後に、更新用ソフトウェアによる処理が提供されている。
【特許文献１】特開２００４−３１８８３９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
すなわち、アプリケーションをアップデートしたユーザは、アプリケーションの確実な実行を行おうとする場合、必ずＯＳレベルでの再起動の操作を要求され、ＯＳのシャットダウンや再起動のための時間を待つ必要があった。また、再起動を行わないままでアプリケーションを使用し続けていると、ロックされたファイルにアクセスすることができず、ユーザがアプリケーションの正常な処理結果を受け取ることができない場合も考えられる。
【０００６】
すなわち、これまでファイルに対して排他的制御を実行するアプリケーションのアップデートなどのインストール時に、ユーザがＯＳを再起動させなくとも確実にロック中のファイルの内容を利用させることが、アプリケーションによる処理性を向上させるために必要とされていた。
【０００７】
また、ユーザがＯＳの再起動を行わなくともロック中のファイルの内容にアクセスし、アプリケーションによる処理に対してコンシステンシを提供することが必要とされていた。
【課題を解決するための手段】
【０００８】
本発明は、上記課題を解決するためになされたものであり、アップデートのインストールを行う場合、アプリケーションがロックされた状態にあるファイルの内容を、ＯＳの再起動を行うことなく実行させる。本発明では、インストーラは、インストール・プログラムの起動後、ロックされているファイルが存在するか否かを判断する。この判断の結果、ロックされているファイルが存在すると判断した場合には、ロック中のファイルを読み出して、変名ファイルとして情報処理装置のハードディスクなどの適切な記憶装置に格納される。また、本発明では、元ファイル識別値と、変名ファイル識別値とは、変名リストにエントリされ、情報処理装置の適切な記憶装置に格納される。
【０００９】
インストールされたアプリケーションが元ファイルを参照している場合、アプリケーションは、変名リストを参照し、変名リストに呼び出すべき元ファイル識別値が登録されているか否かを検索する。アプリケーションは、変名リストに呼出し要求に対応する元ファイル識別値が登録されていない場合には、元ファイルの呼出しを実行し、処理を実行する。一方、変名リストに元ファイル識別値が登録されている場合には、元ファイルに対応して作成された変名ファイルを指定する変名ファイル識別値を取得する。アプリケーションは、取得した変名ファイル識別値を使用してインストール・ファイルの内容の変名ファイルを呼び出してアプリケーションの処理のために使用する。
【００１０】
本発明の他の実施形態では、変名リストは、アプリケーションのインストールが行われた回数だけ作成され、記憶装置にエントリされる。また、さらに他の実施形態では、アプリケーションのインストールの回数に対応して、インストール履歴を識別することが可能な変名ファイル識別値を変名リストに追加して行き、複数回のインストール処理があった場合にでも継続して要求する変名ファイル識別値で指定されるインストール・ファイルの内容を利用することを可能とする。
【００１１】
さらに本発明の他の実施形態では、情報処理装置がＯＳの再起動を実行する場合、ファイルがアプリケーションによりロックされる前に変名ファイル識別値を、元ファイル識別値の値を付して、記憶装置に格納する。同時に、変名リストにエントリされているものの、その段階で不要となった変名ファイル識別値が削除され、対応する変名ファイルが記憶装置から削除され、情報処理装置のハードウェア資源の消費を低減させる。本発明では、アプリケーションのアンインストール処理で変名リストに登録した変名ファイル識別値が削除される場合、変名リストのレコードのエントリを、ファイルの連続性を維持させるように最適化する。さらに、変名リストは、管理するべき変名ファイルが無くなったときには、情報処理装置から削除されて、不要なデータを情報処理装置に残さないようにさせている。
【００１２】
すなわち、本発明によれば、インストールされたファイルを、ＯＳを再起動せずに実行する情報処理装置であって、
アプリケーションの実行中に元ファイルのロックを検出し、ロックされた前記元ファイルの元ファイル識別値から作成される変名ファイル識別値を指定するリストを作成し、前記インストール・ファイルと前記リストとを記憶装置に格納するとともに、前記変名ファイル識別値を検索するインストール処理部と、
前記リストにエントリされた前記元ファイル識別値を参照して前記変名ファイル識別値を取得し、前記変名ファイル識別値を使用して前記インストール・ファイルを呼出し、処理を実行するアプリケーション実行部と
を含む、情報処理装置が提供される。
【００１３】
本発明の前記インストール処理部は、
前記元ファイルのロックを検出するロック・モニタと、
前記アプリケーションと共有され、前記変名ファイル識別値を作成する変名ルールを登録したルックアップ・テーブルと、
複数登録された前記変名ファイル識別値のうち最新の前記変名ファイル識別値を千鳥状に順にたどって検索する変名ファイル管理部と
を含むことができる。
【００１４】
本発明の前記変名ファイル管理部は、前記情報処理装置の再起動時に前記インストール・ファイルに前記元ファイル識別値を付して前記記憶装置に上書き保存することができる。
【００１５】
本発明の前記リストは、インストール履歴に対応した複数の変名ファイル識別値をエントリしており、前記変名ファイル管理部は、検索された最新の前記変名ファイル識別値を前記インストール・ファイルに付して上書き保存した後、前記リストを参照して変名ファイルおよび前記リストの対応するエントリを削除することができる。
【００１６】
本発明の前記変名ファイル管理部は、前記リストの内容を検査し、前記リストが空の場合に前記リストを前記記憶装置から削除することができる。
【００１７】
本発明の前記インストール処理部は、前記アプリケーションに対応した前記変名ファイル識別値を前記元ファイル識別値を使用して作成するためのルックアップ・テーブルと、
指定された前記元ファイルを前記記憶装置から削除し、前記リストの前記インストール履歴を保存するように前記リストのエントリ項目を修正させるアンインストーラと
を含むことができる。
【００１８】
本発明の前記情報処理装置は、電子写真法を使用した画像形成装置とすることができる。
【００１９】
本発明によれば、インストールされたファイルを、ＯＳを再起動せずに情報処理装置が実行する情報処理方法であって、
アプリケーションの実行中に元ファイルのロックを検出し、ロックされた前記元ファイルの元ファイル識別値から作成される変名ファイル識別値を指定するリストを作成し、前記インストール・ファイルと前記リストとを記憶装置に格納するとともに、前記変名ファイル識別値を検索するステップと、
前記リストを参照して最新の前記変名ファイル識別値を検索するステップと、
前記リストにエントリされた前記ファイル識別値を参照して前記変名ファイル識別値を取得し、前記変名ファイル識別値を使用して前記インストール・ファイルを呼出し、処理を実行するステップと
を前記情報処理装置に実行させる、情報処理方法が提供される。
【００２０】
本発明によれば、前記情報処理装置の再起動時に、前記インストール・ファイルに前記元ファイル識別値を付して前記記憶装置に上書き保存するステップを前記情報処理装置に実行させることができる。
【００２１】
本発明では、前記リストに対してインストール履歴に対応した複数の変名ファイル識別値をエントリするステップと、
検索された最新の前記変名ファイル識別値を前記インストール・ファイルに付して上書き保存した後、前記リストを参照して変名ファイルおよび前記リストの対応するエントリを削除するステップと
を前記情報処理装置に実行させることができる。
【００２２】
本発明では、さらに、ルックアップ・テーブルを参照して前記アプリケーションに対応した前記変名ファイル識別値を前記元ファイル識別値を使用して作成するステップと、
指定された前記元ファイルを前記記憶装置から削除し、前記リストの前記インストール履歴を保存するように前記リストのエントリ項目を修正するステップを前記情報処理装置に実行させることができる。
【００２３】
本発明では、上記いずれかに記載の情報処理方法を情報処理装置に対して実行させる、装置実行可能なプログラムが提供される。
【発明を実施するための最良の形態】
【００２４】
以下、本発明を図面に示した実施形態をもって説明するが、本発明は後述する実施形態に限定されるものではない。
【００２５】
図１は、本発明の情報処理装置１０のハードウェア構成を示すブロック図である。本発明の情報処理装置１０は、概ねパーソナル・コンピュータまたはワークステーションなどを用いることができる。また、本発明の特定の態様では、電子写真法を使用し、感光体ドラム、現像装置、転写装置、スキャナ、半導体レーザ、ポリゴン・ミラーなどの画像形成エンジンを搭載する画像処理装置として情報処理装置を構成することもできる。
【００２６】
情報処理装置１０は、概ね、中央処理装置（ＣＰＵ）１２と、ＣＰＵ１２が使用するデータの高速アクセスを可能とするキャッシュ・メモリ１４と、ＣＰＵ１２の処理を可能とするＲＡＭ、ＤＲＡＭなどの固体メモリ素子から形成されるシステム・メモリ１６とを備える。ＣＰＵ１２、キャッシュ・メモリ１４、およびシステム・メモリ１６は、システム・バス１８を介して、情報処理装置１０の他のデバイスまたはドライバ、例えば、グラフィックス・ドライバ２０およびネットワーク・デバイス（ＮＩＣ）２２へと接続されている。
【００２７】
グラフィックス・ドライバ２０は、バスを介してディスプレイ２４に接続されて、ＣＰＵ１２による処理結果をディスプレイ画面上に表示させている。また、ネットワーク・デバイス２２は、トランスポート層レベルおよび物理層レベルで情報処理装置１０をネットワークへと接続して、クライアント（図示せず）とのセッションを確立させている。
【００２８】
システム・バス１８には、さらにＩ／Ｏバス・ブリッジ２６が接続されている。Ｉ／Ｏバス・ブリッジの下流側には、ＰＣＩなどのＩ／Ｏバス２８を介して、ＩＤＥ、ＡＴＡ、ＡＴＡＰＩ、シリアルＡＴＡ、ＳＣＳＩ、ＵＳＢなどにより、ハードディスクなどの記憶装置３０が接続されている。また、Ｉ／Ｏバス２８には、ＵＳＢなどのバスを介して、キーボードおよびマウスなどのポインティング・デバイスなどの入力装置３２が接続され、システム管理者などのオペレータによる入力および指令を受付けている。また、Ｉ／Ｏバス２８を介してページプリンタなどのプリンタ３６が接続されている。プリンタ３６は、プリンタ・ドライバ３４がＰＪＬなどの適切なフォーマットに変換された出力データをバスを通して受け取り、ＰＤＬなどのページ記述言語のフォーマットとして出力させている。
【００２９】
情報処理装置１０が使用するＣＰＵとしては、より具体的には、例えば、ＰＥＮＴＩＵＭ（登録商標）〜ＰＥＮＴＩＵＭ（登録商標）  ＩＶ、ＰＥＮＴＩＵＭ（登録商標）互換ＣＰＵ、ＰＯＷＥＲ  ＰＣ（登録商標）、ＭＩＰＳなどを挙げることができる。
【００３０】
また、使用するオペレーティング・システム（ＯＳ）としては、ＭａｃＯＳ（商標）、Ｗｉｎｄｏｗｓ（登録商標）ＵＮＩＸ（登録商標）、ＬＩＮＵＸ（登録商標）またはそれ以外の適切なＯＳを挙げることができる。さらに、情報処理装置１０は、上述したＯＳ上で動作する、Ｃ、Ｃ＋＋、Ｖｉｓｕａｌ  Ｃ＋＋、ＶｉｓｕａｌＢａｓｉｃ、Ｊａｖａ（登録商標）などのオブジェクト指向のプログラミング言語により記述されたアプリケーション・プログラムを格納し、実行する。
【００３１】
図２は、本発明の情報処理装置１０のソフトウェア構成を示した図である。本発明では、情報処理装置１０は、インストール処理を実行するためのインストール処理オブジェクトのセットを含むインストール処理部４０と、インストールされたアプリケーションを実行するためのアプリケーション実行部５４とを含んで構成されている。
【００３２】
インストール処理部４０は、本発明の特定の実施形態では、ＣＤ−ＲＯＭなどに各モジュールが格納したインストール・パッケージなどとしてユーザに提供することができる。ユーザは、インストール処理を実行する場合、ＣＤ−ＲＯＭドライブなどにインストール・パッケージを挿入して情報処理装置１０に読み取らせ、インストール処理部４０を情報処理装置１０に実現させて、それぞれの処理を実行させている。なお、このとき、インストール・ファイル自体は、ＣＤ−ＲＯＭ内に格納されており、以下に説明する処理の進行に応じて、インストール処理部４０が情報処理装置１０に読み出して、ロックされていないファイルのコピーおよび変名ファイルとして、記憶空間に格納する。
【００３３】
さらに本発明の他の実施形態では、インストール・パッケージは、インストールするべきプログラム・コードを含むオブジェクトのセットとして、アプリケーション・プロバイダから提供されても良い。この実施形態では、インストール・パッケージは、インターネットなどのネットワークを経由してアプリケーション・プロバイダからアップデートの必要に応じて情報処理装置１０に伝送される。
【００３４】
本発明のインストール処理部４０の構成を説明すると、インストール処理部４０は、インストール処理を管理するインストーラ４２と、ルックアップ・テーブルなどとして構成される変名ルール４４と、アンインストーラ４６と、ロック・モニタ４８とを含んでいる。変名ルール４４は、インストール処理が実行されると、インストーラ４２により情報処理装置１０のハードディスクまたはＲＡＭなどの記憶空間にコピーされ、インストーラ４２、または特定にインプリメンテーションに応じて後述する変名ファイル管理部によりルックアップされて、その後の情報処理装置１０によるインストール・ファイルの利用をスムーズに実行させる。
【００３５】
また、本発明の特定の実施形態では、インストーラ４２が変名ルール４４を使用することなくインストールが終了した場合には、インストーラ４２は、インストール処理の最後に変名ルール４４を記憶空間から削除して、不要なハードウェア資源の消費を防止することもできる。
【００３６】
インストーラ４２は、インストール処理時にロックされていると判断されたファイルがあると、情報処理装置１０にロックされた状態で対応するファイルを伝送することができるように、変名ルール４４をルックアップして、変名ルール４４により指定されるプロトコルにしたがって、変名ファイル識別値を作成し、作成した変名ファイル識別値でインストール・ファイルの名称を変更して情報処理装置１０の適切な記憶空間に、変名ファイル５０として格納する。本発明の特定の実施形態では、対応するファイルに対して所定の変名識別値を付与することによりその名称を変更して登録する。
【００３７】
ロック・モニタ４８は、インストールするべきファイルがロックされているか否かを判断し、ロックされていないと判断した場合には、インストーラ４２へと通知する。インストーラ４２は、ロックされていない通知をロック・モニタ４８から受け取ると、インストール・ファイルを情報処理装置１０に伝送して上書きさせる。
【００３８】
また、ロック・モニタ４８は、インストールするべきファイルがロックされていると判断した場合には、インストーラ４２に対してロックされている通知を発行し、インストーラ４２に対して変名ファイルおよび変名リストの作成を指令する。以下、本発明で使用するファイルについて説明する。
【００３９】
本発明で、「変名ファイル」とは、元ファイルに対して変名ルールにしたがって作成された変名ファイル識別値で参照されるオブジェクト、データセットなどを意味する。
【００４０】
また、本発明で「元ファイル」とは、情報処理装置１０にすでにインストールされ、インストールによる上書きの対象とされ、インストール・ファイルと同一のファイル識別値で参照される旧ファイルを意味する。
さらに、本発明で、「インストール・ファイル」とは、アプリケーション・プロバイダにより提供され、情報処理装置１０に導入されるべき更新された内容を含むファイルを意味する。
【００４１】
インストーラ４２は、ロック・モニタ４８からその時点で処理しているファイルがロックされている通知を受け取ると、変名ルール４４をルックアップして所定のプロトコルにしたがって移植するべきファイルの変名ファイル識別値を生成する。同時にインストーラ４２は、情報処理装置１０に対して変名リスト５６を作成し、少なくとも生成した変名ファイル識別値を指定することができるデータとともに変名ファイル識別値を登録するパスを記述する。
【００４２】
インストーラ４２は、ロック・モニタ４８からのロック通知を受付けるごとに変名ファイル識別値を作成し、変名リストに作成された変名ファイル識別値を指定するデータとともにパスを追加して行く。この結果、インストール処理が終了した段階で、変名ファイル識別値が付された変名ファイルおよびそのパスをルックアップ可能とするデータ構造を提供する変名リストが作成される。
【００４３】
なお、本発明のロック・モニタ４８は、種々の構成として実装することができる。例えば、ロック・モニタ４８は、インストーラ４２が発行したcopyコマンドやwriteコマンドに対応するI/OExceptionErrorをモニタしておき、I/OExceptionErrorが返されると対象ファイルがロックされていると判断し、インストーラ４２への通知を生成することができる。また、情報処理装置１０が、ファイルのロックを、例えばロック・テーブルを使用して管理している場合には、ロック・テーブルを検査してロックされているファイルを特定し、ファイル識別値とともにロック通知をインストーラ４２に発行することができる。
【００４４】
その後、インストーラ４２は、作成した変名ファイル識別値を、例えば待ち行列５２などに登録し、ロックによりインストールできなかったインストール・ファイルのリカバリを可能とする。
【００４５】
インストール処理部４０によるアプリケーションのインストールが終了した時点では、インストール・ファイルすべては、元ファイル識別値または変名ファイル識別値が付与され、情報処理装置１０のハードディスクなどとして構成される記憶装置の適切なディレクトリまたはフォルダ６４、６６に格納される。
【００４６】
本発明の情報処理装置１０が含むアプリケーション実行部５４の処理について説明する。アプリケーション実行部５４は、図１に示したＣＰＵ１２がアプリケーション５８を実行するためのソフトウェア・モジュールを、ＲＡＭなどにより提供される実行空間６２に呼び出して、ＯＳの制御の下でソフトウェア・モジュールを機能させることにより各種の処理を実行させている。また、アプリケーション実行部５４は、適切な記憶空間に管理され、インストーラ４２が作成した変名リスト５６をアプリケーション・プログラミング・インタフェース（ＡＰＩ）を使用して、アプリケーション５８が要求するファイルと変名ファイルとの間の関連づけを可能としている。
【００４７】
また、アプリケーション５８は、ファイルの呼出しを実行する場合、ＡＰＩに対して呼出しを要求するファイル識別値を渡し、ＡＰＩから変えられた値を使用してオブジェクト呼出し、ランタイム呼出しなどの呼出し処理を実行する。本発明では、ＡＰＩとして変名ファイル管理部６８が提供されている。変名ファイル管理部６８は、情報処理装置１０がインストール・パッケージに格納された変名ファイル管理オブジェクトを読み込んで、オブジェクトを実行させることにより情報処理装置１０に実現される。なお、本発明においては、同様の機能を提供することができる限り、いかなる構成または実装形態としてＡＰＩまたは変名ファイル管理部６８を構成させることができる。
【００４８】
本発明の変名ファイル管理部６８は、アプリケーション５８が呼び出そうとする元ファイルよりもバージョンの更新されたインストール・ファイルを指定する変名ファイル識別値を取得して、アプリケーション５８へと渡す。アプリケーション５８は、変名ファイルとして格納されたインストール・ファイルを呼び出すための変名ファイル識別値およびパス指定値などの値を、変名ファイル管理部６８から渡される。アプリケーション５８は、上述した処理により、元ファイルではなく、変名リスト５６により対応づけられた変名ファイル識別値を呼出しのための引数として設定し、ランタイム呼出しなどの呼出し処理を実行することが可能とされ、アプリケーション５８は、インストール・ファイルを使用した処理を、ＯＳの再起動を行わずに実行することが可能となる。
【００４９】
変名ファイル管理部６８は、また、情報処理装置１０でアプリケーション５８のファイル呼出しを受け取り、変名リスト５６を検索して最新のバージョンのインストール・ファイルを指定する変名ファイル識別値を取得して、アプリケーション５８に渡す処理を実行する。変名ファイル管理部６８による上記処理は、ユーザがＯＳのインストールを繰り返して実行した場合でもアプリケーション５８に対して最新のインストール・ファイルの使用を可能とする。
【００５０】
さらに、変名ファイル管理部６８の処理を説明すると、変名ファイル管理部６８は、ＯＳがリセットされた場合に変名ファイルとしてアプリケーションが使用していたインストール・ファイルの内容を、元ファイル識別値として上書き保存する処理を実行し、同時に情報処理装置１０から不要となった変名ファイルおよび変名リストのエントリまたは変名リスト自体を削除してハードウェア資源の有効利用を可能とする。
【００５１】
また、変名ファイル管理部６８は、ユーザが、アプリケーションのアンインストール処理を要求した場合に、アンインストールに対応して不要となる元ファイルおよび変名ファイルの削除を実行する。また、変名ファイル管理部６８は、アンインストール後に、変名リストが空ではない場合には、変名リストのエントリを、アンインストールにより削除された元ファイル識別値や変名ファイル識別値の前後関係のコンシステンシを保持するように変名リストを編集している。
【００５２】
図３は、本発明のインストール処理部４０が実行する処理のフローチャートを示す。本発明の処理は、ステップＳ１００から開始し、ステップＳ１０１で、例えばユーザに対して提供されるグラフィカル・ユーザ・インタフェース（ＧＵＩ）の指令に応答して、またはAUTORUN.exeなどのバッチ・プログラムの起動により、インストーラ４２が起動される。ステップＳ１０２では、ロック・モニタ４８が起動され、ファイルの書き込みに対応したI/OExceptionErrorの発行イベントをモニタする準備を行う。
【００５３】
ステップＳ１０３では、インストーラ４２は、ファイル書き込み指令またはコピー指令を発行し、ファイルのコピーを実行する。ステップＳ１０４では、ロック・モニタ４８は、ファイルのロックを判断する。ファイルのロックの判断は、ロック・モニタ４８が、インストーラ４２が発行したファイル書き込み指令またはコピー指令に対応するI/OExceptionErrorをモニタして、I/OExceptionErrorを検出したときに、ファイルがロック状態にあると判断することにより実行される。
【００５４】
ステップＳ１０４でファイルがロックされていると判断した場合（ｙｅｓ）には、ステップＳ１０５で、変名リストを作成し、情報処理装置１０の記憶空間に格納させる。また、ステップＳ１０４の処理でファイルがロックされていない場合（ｎｏ）には、ファイルのコピーはそのまま完了するので、ステップＳ１０９へと処理を分岐させ、次に伝送するべき元ファイル識別値を、待ち行列５２から取得して、書き込み処理またはコピー処理を、待ち行列に登録されたエントリがなくなるまで繰り返す。
【００５５】
一方ステップＳ１０６では、インストーラ４２は、変名ルール４４を参照して変名ファイル識別値を作成し、作成した変名ファイル識別値を付してインストール・ファイルの内容を複製し、変名ファイルとして、情報処理装置１０の適切な記憶空間に保存する。ステップＳ１０７では、変名ファイル識別値および格納する記憶空間のパス指定値を変名リストにエントリし、ステップＳ１０８では、作成した変名ファイル識別値を、待ち行列のエントリに追加し、元ファイルと同一のパスに登録する準備を行う。
【００５６】
ステップＳ１０９では、待ち行列５２内に次に処理するファイルの識別値がエントリされているか否かを判断する。待ち行列５２にファイルの識別値がエントリされている場合（ｎｏ）には、ステップＳ１０３に処理を分岐させて次のコピー処理を実行する。また、コピーするべきファイルが残されていない場合には（ｙｅｓ）ステップＳ１１０でファイルのインストール処理を終了する。
【００５７】
図３に示した処理が終了した時点では、情報処理装置１０は、インストールするべきインストール・ファイルの内容を全部保持することになる。
【００５８】
図４は、本発明で使用する変名ルール４４を登録するルックアップ・テーブルおよび変名リストの実施形態を示す。図４（ａ）は、本発明の変名ルールを登録するルックアップ・テーブル４４の実施形態を示し、図４（ｂ）は、本発明の処理により生成される変名リストの第１の実施形態を示す。図４（ａ）の変名ルール４４は、インストーラ４２の処理時に利用されると同時にアプリケーション実行部５４が変名ファイルを管理するために利用され、インストーラ４２によりアプリケーション実行部５４の適切な記憶領域に保存される。
【００５９】
図４（ａ）に示した変名ルール４４は、インストールに関連するアプリケーションを登録するフィールド４４ａとインストールされた時点で変名するための追加識別値とを格納するフィールド４４ｂとを含んで構成されていて、アプリケーションごとに異なる変名識別値が登録されてレコードを構成している。インストーラ４２は、アプリケーションとして、Ａ〜Ｄを同時にインストールするような実施形態では、それぞれのインストール時に変名ファイルに「A_」〜「D_」の変名識別値をファイル名の先頭に付して変名ファイル識別値を生成する。本発明で、上述した変名ルールを使用することにより、インストール時のアプリケーションおよびインストール・バージョンを識別することが可能となる。
【００６０】
図４（ｂ）は、本発明にしたがい生成される変名リスト５６の実施形態を示す。図４（ｂ）に示されるように、本発明で生成される変名リスト５６は、変名ファイルが作成された順を指定するファイル情報Noをエントリするフィールド５６ａと、変名ファイルが作成された元ファイル識別値を登録するフィールド５６ｂと、変名ファイルを登録する情報処理装置１０内の記憶空間のパス指定値を登録するフィールド５６ｃとを含んで構成されている。
【００６１】
図４（ｂ）に示した実施形態では、変名ファイル識別値を登録するフィールドは設けられていないが、本発明においてＯＳのリセット以前に複数回のインストールを行う実施形態では、元ファイル識別値および変名ファイル識別値を、パス指定値とともにエントリする実施形態を採用することもできる。また、図４（ｂ）で示した実施形態の変名リストを使用する場合、変名ファイル管理部６８は、元ファイル識別値を取得した後、変名ルール４４を参照して変名ファイル識別値を取得して以後の処理を実行する。
【００６２】
図５は、本発明の情報処理装置１０がインストール処理の第２の実施形態を示した図である。図５に示した実施形態は本発明においてＯＳの再起動を行うことなく、複数回のインストール処理を実行する場合に、インストーラ４２が実行する処理に対応する。図５に示した本発明の処理の第２の実施形態の処理は、ステップＳ２００から開始し、ステップＳ２０１〜ステップＳ２０４、Ｓ２０９、Ｓ２１０の処理については、図３で説明したと同様に実行する。
【００６３】
一方、図５に示した処理は、ステップＳ２０５で、情報処理装置１０の記憶空間に変名リストがすでに登録されているか否かを検査する。検査の結果、変名リストが登録されている場合（ｙｅｓ）には、ステップＳ２０６へと処理を分岐させ、インストール対象とされたインストール・ファイルに関連する変名ファイル識別値が、すでに変名リスト内にエントリされているか否かを、検査する。この際の検査は、インストール処理を実行しているインストール・ファイルと、変名リスト５６にエントリされている変名ファイル識別値とが、共通する元ファイルのファイル名など、共通するストリング列を含むか否かの基準を使用して行うことができる。
【００６４】
検査の結果、対応する変名ファイル識別値が登録されていない場合には、ステップＳ２０７で、インストーラ４２は、変名ルール４４をルックアップして、インストール処理が１回目であると判断し、ステップＳ２０８で、変名識別値をファイル識別値の先頭に追加して変名ファイル識別値を作成する。
【００６５】
また、ステップＳ２０６の検査で、共通するストリング列を有する変名ファイルがエントリされていると判断された場合には、ステップＳ２０６、ステップＳ２０７およびステップＳ２０８で、より詳細には、以下の処理が実行される。まず、ステップＳ２０６で、共通するストリング列と変名ファイル識別値との差ストリングを取得する。
【００６６】
さらに、ステップＳ２０６で取得した差ストリングから最新の変名ファイルを特定する。最新の変名ファイルを特定する処理は、例えば、変名識別値が固定長のＡＳＣＩＩコードなどで付されている場合には、差ストリング列のビット数を使用することができる。また、変名識別値にデリミタに相当するコードを含めておき、デリミタの数をカウントして最もカウントの多いものを最新の変形ファイル識別値であるとして決定することができる。この他、本発明では、同様の処理を実行することができるいかなる方法でも使用することができる。さらに、変名リスト５６がインストール履歴を指定することが可能に構成する場合には、ラダー状にエントリを順に検査して同一の処理を実行することができる。
【００６７】
ステップＳ２０７では、変名テーブル４４をルックアップして変名識別値を取得し、ステップＳ２０８では、特定した変名ファイル識別値に対してさらに、ストリング列に対して左側となるように変名識別値を追加して、新たな変名ファイルを作成する。
【００６８】
ステップＳ２０８の処理が終了すると、処理は、ステップＳ２１１へと分岐する。ステップＳ２１１では、元ファイル識別値と作成した変名ファイル識別値と、パス指定値とを、ファイル情報Noをインクリメントさせて新たなレコードを作成し、変名リスト５６の適切なレコード、例えば最下位レコードとしてエントリする。ステップＳ２１２では、インストール・ファイルを指定する変名ファイル識別値、パス指定値などを待ち行列にエントリして、以後のインストール処理で、情報処理装置１０に伝送する準備を行う。その後、ステップＳ２１３では、待ち行列５２内に次に処理するエントリがあるか否かを判断する。待ち行列５２にエントリ項目が登録されている場合（ｎｏ）には、ステップＳ２０３に処理を分岐させて次のコピー処理を実行する。また、コピーするべきエントリ項目が残されていない場合には（ｙｅｓ）ステップＳ２１４でファイルのインストール処理を終了する。
【００６９】
図６は、図５で説明した処理により作成される変名リスト５６の実施形態を示した図である。図６に示した変名リスト５６は、図４で説明した変名リストと同様に、ファイル情報Noをとエントリするフィールド５６ａと、元ファイル識別値をエントリするフィールド５６ｂと、パス指定値をエントリするフィールド５６ｃとを含んで構成される。図６に示した変名リスト５６は、さらに変名後のファイルを明示的に指定する変名ファイル識別値をエントリするフィールド５６ｄが設けられている。
【００７０】
図６に示した変名リスト５６は、ユーザが、「Application」で指定されるアプリケーションについて３回インストール処理を実行した場合に、「DdsTkps.dll」で指定される元ファイルに対して作成される、「A_
DdsTkps.dll」といった変名ファイル識別値がエントリされている。詳細に説明すると、アプリケーションの１回目のインストール処理では、共通するストリング列を含む変名ファイルが変名リスト中に見出されないので、インストーラ４２は、元ファイル識別値である、「DdsTkps.dll」のストリング列に対して左側から変名識別値「A_」を付した「A_DdsTkps.dll」を作成し、変名ファイル識別値とする。その後、インストーラ４２は、元ファイル識別値と作成した変名ファイル識別値とを、元ファイル「DdsTkps.dll」を登録するべきパス指定値とともに、ファイル情報Noの値が「１」である各フィールドにエントリしてレコードを作成する。２度目のインストール処理では、共通するルとリング列がフィールド５６ｄに見出されるので、差ストリング列を作成する。
【００７１】
この実施形態の場合、差ストリング列が「A_」のものが最長のストリング列を与えるので、「A_DdsTkps.dll」がインストール処理に関連する最新の変名ファイル識別値であると判断し、変名識別値である「A_」を見出されたストリング列に左から付して、新たな変名ファイル識別値である「A_A_DdsTkps.dll」を作成し、ファイル情報Noの値として「２」を作成し、元ファイル識別値と、作成した変名ファイル識別値と、パス指定値とを、各フィールド５６ａ〜５６ｄにエントリしてレコードを作成する。
【００７２】
なお、３度目にインストール処理が実行された場合についても同様処理が実行され、ファイル情報NOが「３」で指定されるレコードが生成されて、変名リスト５６のレコードとして順次追加されて行く。
【００７３】
図６に示した実施形態では、さらに、プラグイン・プログラムである、「FmCollabo.dll」に対して、1度目のインストール処理で元ファイル「FmCollabo.dll」がインストールされ、この結果、変名ファイル「A_FmCollabo.dll」が作成され、２度目のインストール処理で、「A_A_FmCollabo.dll」が作成され、それぞれのフィールドにエントリされて行くのが示されている。なお、変名リスト５６にレコードを追加して行く処理は、インストールの対象となるファイルに対して変名ファイル識別値を作成した順に行われ、インストール履歴を示す形式として登録しておくことができる。
【００７４】
また、本発明では、図６に示されるように、インストールにより追加されたレコードに対して、元ファイルのアルファベット順に、元ファイル識別値と変名ファイル識別値とパス指定値とをソーティングして、図６の実施形態として格納することもできる。図６に示した実施形態として変名リストを登録しておく場合には、後述する変名リストのエントリを削除する場合に検索対象空間の容量を少なくすることができるので、削除処理を効率化することができる。また、変名リスト５６自体がインストール履歴データとして使用できるので、複数回インストールが行われた場合にでも最新の変名ファイル識別値の取得を効率的に行うことができる。
【００７５】
図７には、本発明において、ユーザが情報処理装置１０に対して所定のアプリケーションをインストールした後、アプリケーションを実行し、要求する処理を終了して情報処理装置１０をシャットダウンまたはＯＳを再起動させる場合に、情報処理装置１０が実行する処理のうち、変名ファイル管理部６８が実行する処理を示した図である。図７に示す変名ファイル管理部６８の処理は、ステップＳ３００から開始し、ステップＳ３０１でＯＳリセット指令またはＯＳ再起動指令を受け取る。その後、ステップＳ３０２では、ＯＳが起動され、すべてのファイルが特定のアプリケーションによりロックされる前に、変名リストから最新の変名ファイル識別値を検索する。
【００７６】
本発明において、最新の変更ファイル識別値を検索する方法としては、図６に示した変名リスト５６の実施形態について説明すると、エントリされた元ファイルの変名履歴を昇順に、元ファイルのストリング列を含むファイルをたどり、同一の元ファイル識別値に対して登録された最もファイル情報Noが大きなレコードに登録された変名ファイル識別値を最新の変名ファイル識別値として取得することができる。
【００７７】
ステップＳ３０３では、変名ファイル識別値で指定される変名ファイルの内容に対し、元ファイル識別値の値を付して記憶空間６６に上書き保存、すなわち、変名ファイルを元ファイルにリネームして登録する。ステップＳ３０４では、不要となった変名ファイルを記憶空間６４から削除する。ステップＳ３０５では、変名リストが空か否かを判断する。ステップＳ３０５で変名リストが空であると判断された場合（ｙｅｓ）、ステップＳ３０６で変名リスト５６を削除してステップＳ３０７へと処理を分岐させ、処理を終了する。一方、ステップＳ３０５の判断で変名リストが空ではないと判断された場合（ｎｏ）、変名リストを使用するアプリケーションが存在する可能性があるので、削除せずに保存して、ステップＳ３０７で終了する。
【００７８】
図８は、図７のステップＳ３０２の検索のために使用する本発明の変名リストの第３の実施形態を示す。図８に示した変名リスト５６は、ファイル情報Noをエントリするフィールド５６ａと、変名ファイル識別値をエントリするフィールド５６ｄと、パス指定値を登録するフィールド５６ｃとを含んでいる。さらに、図８に示した変名リストは、直前の変名ファイル識別値をエントリするフィールド５６ｅを含んでいて、変名前後のシーケンスを、ファイル情報Noおよびフィールドの順序から特定できる構成とされている。例えば、変名ファイル管理部６８が、最新の変名ファイル識別値を検索する場合について図８を使用して説明すると、登録されたレコードから直前変名ファイル識別値のフィールドに記述されている値を取得して、値がｎｕｌｌである場合には、対象とするファイルについて先頭レコードあると判断し、同一のレコードの変名ファイル識別値を登録したフィールドの値を元ファイル識別値として取得する。
【００７９】
その後、矢線Ａで示す千鳥（staggered）状に昇順にファイル情報Noを処理して行き、取得した元ファイル識別値を見出し、該当するレコードの変名ファイル識別値を取得して新たな検索キーとして設定する。さらにその後新たに設定された検索キーを含むレコードを検索して検索された変名ファイル識別値を再度検索キーとして設定し、検索を続行する。最終的に、タイムアウト・タイマなどの満了などにより、新たな検索キーが設定できない場合、その時点で登録されている検索キーが、最新に更新された変名ファイル識別値に相当する。
【００８０】
その後、特定された変名ファイル識別値で特定されるファイルに対して元ファイル識別値を付与して元ファイルを上書きする。その後さらに、変名ファイル識別値で指定される変名ファイルを削除することにより、インストール・ファイルの識別値のコンシステンシを確保すると同時に、ＯＳ再起動後に不要な変名ファイルを削除することが可能となる。
【００８１】
図９は、図８に示した変名リスト５６を作成する処理のフローチャートを示す。図９に示す処理は、本発明の特定の実施形態では、インストーラ４２が、ロック・モニタ４８からの通知を受け取って実行される。なお、本発明の特定の実装形態においては、変名ファイル管理部６８が、インストーラ４２から呼出しを受けて同様の処理を実行することもできる。
【００８２】
図９の処理は、ステップＳ４００から開始し、ステップＳ４０１では、ロック・モニタ４８は発行するインストール・ファイルに対応する元ファイルがロックされていることの通知を待機し、ロックされている通知を受領するまで（ｙｅｓ）待機処理を実行する。ステップＳ４０１でインストーラ４２が、ロック通知を受領すると（ｙｅｓ）、処理はステップＳ４０２へと進み、変名リスト５６が作成されていない場合には変名リスト５６を作成し、変名ルール４４をルックアップして、当該インストールに対して与えるべき変名識別値を取得する。
【００８３】
ステップＳ４０３では、初期値設定を実行する。初期値設定は、FileInfoNo= FIN_i; i=1; -backFileName=null;
-RenameFileName= OriginalFileNameとして設定する。ステップＳ４０４では、FIN_i.RenameFileName=
FIN_i+1.backFileNameを満足するiを検索し、ステップＳ４０５で、検索の結果が肯定的な結果を返すか否かを判断する。
【００８４】
該当するｉの値が見出された場合には、iの値をインクリメントして、ステップＳ４０３の処理およびステップＳ４０５の判断を繰り返す。ステップＳ４０５の判断がfalseの値を返す場合には、処理しているiで指定されるレコードは、関連するファイルのうち最新の値を登録しており、新たなレコードを追加して、ファイル情報NoとしてFIN(i+1)を付与し、
-backFileName=FIN_i.RenameFileName;
-RenameFileName=｛FIN_i.RenameFileNameの値に変名識別値を追加した値｝
として設定し、パス指定値を記述して変名リストを作成する。
【００８５】
図９の処理において、ステップＳ４０６の処理が終了すると、処理は、ステップＳ４０１へと分岐され、再度、ロック通知を受領するまでステップＳ４０１で待機する。
【００８６】
図８および図９に示した変名リストの実施形態では、ユーザがアンインストールを要求した場合にでも、インストール履歴を利用して変名リストの編集が可能となる。
【００８７】
本発明のアンインストーラの機能について、再度図２を使用して説明する。アンインストーラ４６は、ユーザがインストール処理部４０に登録されたアンインストーラを選択して起動することにより処理を開始する。アンインストーラ４６は、アンインストールするべきアプリケーションに関連する元ファイルと変名ファイルとを、実行空間６２、記憶空間６４、６６から削除する。また、アンインストーラ４６は、変名ファイル管理部６８に対して変名リスト編集指令を発行し、変名リスト５６のエントリ項目の修正、削除などの処理を実行させる。
【００８８】
図１０は、本発明のアンインストール処理のフローチャートを示す。図１０に示した処理は、ステップＳ５００から開始し、ステップＳ５０１で変名リスト５６をルックアップし、アンインストールするべき元ファイルの元ファイル識別値が、変名リストにエントリされているか否かを判断する。変名リストにアンインストール対象の元ファイル識別値がエントリされていない場合（ｎｏ）には、処理をステップＳ５０２へと進め、削除するべきファイルを検索し、記憶空間６４から削除し、ステップＳ５０４でアンインストール処理を終了する。
【００８９】
一方、ステップＳ５０１の判断で変名リスト５６にアンインストール対象の元ファイル識別値が登録されていると判断した場合（ｙｅｓ）には、ステップＳ５０５で変名ルール４４をルックアップして削除するべきファイルを特定し、ステップＳ５０６で変名リスト５６内にエントリされている元ファイル識別値および対応する変名ファイル識別値で指定される各ファイルを、記憶空間６４、６６から削除する。
【００９０】
ステップＳ５０７では、変名リスト５６が空であるか否かを判断し、変名リストが空である場合（ｙｅｓ）には、ステップＳ５０３に処理を分岐させ、不要な変名リストを削除させるべく、変名ファイル管理部６８に対して指令する。
【００９１】
また、変名リスト５６が空でない場合（ｎｏ）には、ステップＳ５０８で、変名ファイル管理部６８に対し、変名リスト５６のエントリ項目の削除に対応して変名リスト５６のレコード・シーケンスを変更させた後、削除したファイルについて変名リストのエントリまたはレコードを削除する。
【００９２】
ステップＳ５０８の処理は、例えば、同一のファイルを使用する複数のアプリケーションがある場合、特定のアプリケーションをアンインストールすると、インストール履歴中で中間位置にあるレコードが削除され、千鳥状に最新ファイルを検索する処理が正確に最新ファイルを与えないようになることに対応して実行される。ステップＳ５０８の処理は、元ファイル識別値から変名ファイル識別値を検索するシーケンスを維持させ、アンインストール時に削除されたファイルが存在しても、確実に、元ファイルを最新の変名ファイルの内容に置換することができるようにする。
【００９３】
図１１は、図１０のステップＳ５０８で使用するエントリ項目を編集する処理のフローチャートを示す。なお、図１１の処理は、以下、変名ファイル管理部６８が実行するものとして説明するが、本発明では、いかなる処理部が実行しても良い。また、図１１の処理は、本発明においてアンインストール処理の場合以外にも、図８で示した変名リスト５６を使用する場合に、最新の変名ファイル識別値を取得させる必要がある場合に使用することができる。
【００９４】
図１１に示すエントリ準位変更処理は、ステップＳ６００から開始し、ステップＳ６０１で、記憶空間から削除したファイル識別値を受け取りFIN_i.RenameFileName = 削除したファイル識別値を満足する値がエントリされたレコード(FIN_i)を検索する。ステップＳ６０２では、FIN_iに対応するレコードが見出されたか否かの判断を実行し、見出されない場合（ｎｏ）、処理をステップＳ６０８へと分岐させ、削除失敗をステップＳ５０８の処理に通知して処理を停止させる。この場合が発生するのは、何らかの理由で変名リスト５６が破損した可能性があるためである。
【００９５】
ステップＳ６０３で、FIN_iに該当するレコードが見出された場合（ｙｅｓ）には、
FIN_i.backFileName = FIN_i-1.RenameFileName
または
FIN_i.RenameFileName = FIN_i+1.backFileName
を満足する、それぞれFIN_i-1およびFIN_i+1を検索する。
【００９６】
また、ステップＳ６０４でFIN_i-1に対応するレコードが見出されない場合（ｙｅｓ）、処理をステップＳ６０８へと分岐させ、ステップＳ５０８の処理を中止する。また、FIN_i-1が見出された場合（ｎｏ）には、ステップＳ６０５でさらにFIN_i+1が見出されたか否かを判断する。ステップＳ６０５で、FIN_i+1が見出されない場合（ｙｅｓ）、当該レコードが最終レコードなので、処理をステップＳ６０７に分岐させて変名リストのエントリを削除する処理を実行する。
【００９７】
ステップＳ６０５の処理で、FIN_i+1が見出された場合（ｎｏ）には、処理をステップＳ６０６へと進め、FIN_i+1.backFileName
= FIN_i-1.RenameFileNameに書換える。その後、FIN_iのレコードを削除することにより、削除したレコードに登録されていた変名ファイル間の連続性を与えることができる。
【００９８】
図１２は、図１１で説明した処理を、図８で示した変名リストに対して適用した場合について具体的に示した説明図である。ユーザによるアンインストール指令に応答して図１２のファイル情報No（FIN＝３、６）が記憶空間から削除されるものとする。
【００９９】
ここで、図１１に説明した処理で、i＝３として説明すると、FIN_3が見出され、FIN_3.backFileName=FIN_2.RenameFileName=
A_DsTkps.dllであり、FIN_3.RenameFileName = FIN_4.backFileName=A_A_DdsTkps.dllとなるので、ステップＳ６０７で、FIN_4.backFileName=FIN_2.RenameFile
Name=A_DdsTkps.dllと設定され、FIN_3の値が削除された場合にでもFIN_4の値を使用して参照することが可能となる。また、図１２では、FIN_6についても同様に、FIN_7の値が、FIN_5のRenameFileNameの値で置き換えられていて、FIN_5からA_A_FmCollabo.dllが参照可能とされている。これらの処理により修正される変名リスト５６のエントリ項目の変化を図１２の矢線で示している。
【０１００】
図１３は、本発明のインストール処理によってファイルが更新された情報処理装置１０の動作フローチャートを示す。情報処理装置１０は、ステップＳ７００で起動された後、ステップＳ７０１でアプリケーションを起動し、変名ファイル管理部６８が、アプリケーションからのファイル要求をモニタする。ステップＳ７０２では、変名ファイル管理部６８がアプリケーションからファイル要求を受付けると、変名ファイル管理部６８は、変名リストを検索する。ステップＳ７０３で、変名リスト５６をルックアップしてアプリケーションが要求するファイルが変名リスト５６にエントリされているか否かを判断する。ステップＳ７０３で変名リスト５６に呼び出そうとする元ファイル識別値がエントリされている場合（ｙｅｓ）には、ステップＳ７０４で、変名リスト５６をさらに検索して、最新の変名ファイル識別値で指定される変名ファイルを呼び出して、ステップＳ７０５で、取得した最新の変名ファイル識別値の値をアプリケーションに渡し、アプリケーションによる変名ファイルの呼出しを実行させる。またエントリされていない場合（ｎｏ）には、ステップＳ７１１で元ファイルを呼び出してアプリケーションを実行させる。
【０１０１】
ステップＳ７０６では、ユーザによるアプリケーションの利用が終了した後、ステップＳ７０７でユーザが情報処理装置１０に指令してＯＳがシャットダウンされる。その後、本発明において再度、ユーザが情報処理装置１０を起動するか、またはＯＳの再起動指令により情報処理装置１０が立ち上げられる。このとき、再起動時の設定については、ＷＩＮＤＯＷＳ（登録商標）ＸＰを使用するプラットフォームでは、変名ファイルが存在している元での再起動である起動設定を、予め、レジストリキーに、「HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft
\Windows（登録商標）\CurrentVersion\RunOnce」として、レジストリ・エディタなどを使用して設定しておくことで、正常な起動を行うことができる。
【０１０２】
また、同様の起動設定を行う場合、ＵＮＩＸ（登録商標）では、システム・ファイル（例えば、．login、.bash_profileなどの「ドット」から開始されるファイル）、ＬＩＮＵＸでは、/usr/local/etc（インストールしたアプリケーションの設定ファイルを登録するディレクトリ、/usr/local/etc/rc.d（インストール・アプリケーションの起動、停止制御を記述するディレクトリ）などに、シャットダウンまたは再起動コマンドの発生により起動されるシェルスクリプトを作成しておくことができる。
【０１０３】
さらに、本発明では、ステップＳ７０８で特定のアプリケーションによるロックが発生する前（ファイルのアンロック状態にあるとき）に最新の変名ファイルを検索し、元ファイル識別値を付して最新の変名ファイルを元ファイルに上書き保存し、同時に対応する変名ファイルを削除する。その後、ステップＳ７０９では、削除した変名リストの対応するエントリを削除して、情報処理装置１０から不要なデータを削除するとともに変名リストを使用した最新変名ファイルの検索を可能とさせる。このとき、前回当該元ファイルをインストールしたときには変名リストを使用して変名ファイルが実質的に呼び出されていたので、ステップＳ７０８以後に利用される元ファイルは同一のファイルなので、データおよびファイルのコンシステンシは保持されている。
【０１０４】
すなわち、本発明によれば、情報処理装置にファイルをインストールした直後であってもＯＳの再起動を行うことなく最新のファイルを使用した情報処理が可能となり、ユーザがインストールのたびごとにＯＳを再起動して最新ファイルの呼出し準備を実行させることなく、スムーズなインストール、アップデート、アンインストール処理が可能となる。
【０１０５】
本発明の上記機能は、Ｃ＋＋、Ｊａｖａ（登録商標）、Ｊａｖａ（登録商標）Ｂｅａｎｓ、Ｊａｖａ（登録商標）Ａｐｐｌｅｔ、Ｊａｖａ（登録商標）Ｓｃｒｉｐｔ、Ｐｅｒｌ、Ｒｕｂｙなどのオブジェクト指向ブログラミング言語などで記述された装置実行可能なプログラムにより実現でき、装置可読な記録媒体に格納して頒布することができる。
【０１０６】
これまで本発明を図面に示した実施形態をもって説明してきたが、本発明は図面に示した実施形態に限定されるものではなく、他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
【０１０７】
さらに、本発明を図面に示した特定の実施形態をもって説明してきたが、本発明は、パーソナル・コンピュータの他、ＵＮＩＸ（登録商標）、ＬＩＮＵＸなどのカーネルを実装する画像形成装置または画像処理装置のファイル・アップデートに対しても適用することができ、例えば遠隔的に伝送されたアップデート・ファイルをAUTORUN.exeなどのバッチファイルやシェルシュクリプトとして実行させた場合でも、画像処理装置や画像処理装置のリセット処理を経ることなく、ユーザによりＯＳのリセットの必要が発生するまで、最新のファイルによるサービスを提供することができる。
【図面の簡単な説明】
【０１０８】
【図１】本発明の情報処理装置のハードウェア構成を示すブロック図。
【図２】本発明の情報処理装置のソフトウェア構成を示した図。
【図３】本発明のインストール処理部が実行する処理のフローチャートを示した図。
【図４】変名ルールを登録するルックアップ・テーブルおよび変名リストの実施形態を示した図。
【図５】情報処理装置がインストール処理の第２の実施形態を示した図。
【図６】図５で説明した処理により作成される変名リストの実施形態を示した図。
【図７】をシャットダウンまたはＯＳを再起動させる場合に、情報処理装置が実行する処理のうち、変名ファイル管理部が実行する処理を示した図。
【図８】、図７のステップＳ３０２の検索のために使用する本発明の変名リストの第３の実施形態を示した図。
【図９】図８に示した変名リストを作成する処理のフローチャートを示した図。
【図１０】本発明のアンインストール処理のフローチャートを示した図。
【図１１】図１０のステップＳ５０８で使用するエントリ項目を編集する処理のフローチャートを示した図。
【図１２】本発明の変名リストの編集処理について具体的に示した説明図。
【図１３】本発明のインストール処理によってファイルが更新された情報処理装置の動作フローチャート。
【符号の説明】
【０１０９】
１０…情報処理装置、１２…ＣＰＵ、１４…キャッシュ・メモリ、１６…システム・メモリ、１８…システム・バス、２０…グラフィックス・ドライバ、２２…ネットワーク・デバイス、２４…ディスプレイ、２６…Ｉ／Ｏバス・ブリッジ、２８…Ｉ／Ｏバス、３０…記憶装置、３２…入力装置、３４…プリンタ・ドライバ、３６…プリンタ、４０…インストール処理部、４２…インストーラ、４４…変名ルール、４６…アンインストーラ、４８…ロック・モニタ、５０…変名ファイル、５２…待ち行列、５４…アプリケーション実行部、５６…変名リスト、５８…アプリケーション、６２…実行空間、６４…記憶空間、６６…記憶空間、６８…変名ファイル管理部
【図１】
2007328429.tif 000003
【図２】
2007328429.tif 000004
【図３】
2007328429.tif 000005
【図４】
2007328429.tif 000006
【図５】
2007328429.tif 000007
【図６】
2007328429.tif 000008
【図７】
2007328429.tif 000009
【図８】
2007328429.tif 000010
【図９】
2007328429.tif 000011
【図１０】
2007328429.tif 000012
【図１１】
2007328429.tif 000013
【図１２】
2007328429.tif 000014
【図１３】
2007328429.tif 000015