(57)【特許請求の範囲】
【請求項１】
（ｉ）記憶媒体上の新しい場所へ移動した第２ファイルへのレファレンスを有する第１ファイルを求めて記憶媒体をサーチすることであって、前記第１ファイルのレファレンスは前記第２ファイルの移動前の場所を示すパスであり、さらに、前記第１、第２ファイルはともに実行できるコードとデータの内の１つを含んでいる、サーチすること、および
（ｉｉ）前記第１ファイルがアプリケーション特定ファイルであるか否か識別すること
を行うサーチ・ユニットと、
前記サーチユニットに接続し、前記第１ファイルがアプリケーション特定ファイルであった場合に、第２ファイルを移動前の場所に戻すことを行うフラッギング・ユニットと、
前記サーチ・ユニットに接続し、前記第１ファイルがアプリケーション特定ファイルでない場合に、前記第１ファイルに含まれた前記第２ファイルへのレファレンスを更新して更新後のレファレンスが前記移動後の第２ファイルが存在する記憶媒体上の新しい場所を示すパスであるように更新する更新ユニットと
を含むことを特徴とする記憶媒体管理装置。
【請求項２】
バスと、
このバスに接続したプロセッサと、
このバスに接続した記憶媒体と
を含むコンピュータ・システムであって、前記コンピュータ・システムは、
記憶媒体上の新しい場所へ移動した第２ファイルへのレファレンスを有する第１ファイルを求めて記憶媒体をサーチすることであって、前記第１ファイルのレファレンスは前記第２ファイルの移動前の場所を示すパスであり、さらに、前記第１、第２ファイルはともに実行できるコードとデータの内の１つを含んでいる、サーチすること、
前記第１ファイルがアプリケーション特定ファイルであるか否か識別すること、
前記第１ファイルがアプリケーション特定ファイルであった場合は、第２ファイルを移動前の場所に戻すことを行い、
前記第１ファイルがアプリケーション特定ファイルでない場合は、前記第１ファイルに含まれた前記特定の第２ファイルへのレファレンスを更新して更新後のレファレンスが前記移動後の第２ファイルが存在する記憶媒体上の新しい場所を示すパスであるように更新すること
とを行うことを特徴とするコンピュータ・システム。
【発明の詳細な説明】
【０００１】
（分野）
本発明は、コンピュータ・システムの記憶媒体内のファイル管理に関する。より詳細には、本発明は、記憶媒体内のファイルの依存性を分析して、リンクされたファイルの移動が依存性を有するファイルの機能を削減しないように依存性リンクを更新する方法および装置に関する。
【０００２】
（背景）
ファイル依存性は、第１のファイルが第２のファイルからのデータを要求するときに存在する。第１のファイルは、第２のファイルを検索するレジストリ・ファイルを介して第２のファイルにリンクすることができる。別法として、第１のファイルは、第１のファイル内の第２のファイルへのリファレンスを介して、第２のファイルに直接的にリンクしてもよい。ファイルが記憶媒体の１つの場所から別の場所に移動される状況においては、依存ファイル間のリンクは、リファレンスが古くなったときに壊れる場合がある。第１のファイルが第２のファイルを見付けることができないと、第１のファイルの機能性は削減される場合がある。
【０００３】
ファイルを移動させながら、依存ファイルのリンクを壊すことを防止するために過去に用いられた１つの手法は、ファイルをそれらの元の場所からアンインストールして、それらの新しい場所で再インストールすることを含んでいた。ファイルを再インストールすることにより、移動されたファイルと移動されたファイルに依存するファイルとの間のリンクは、それらの現在の場所を反映するように更新された。移動されたファイルへのリンクは、移動されたファイルの現在の場所を示す新しいリファレンスをレジストリに書き込むかまたは依存ファイルに直接的に書き込むことにより更新された。
【０００４】
この手法の１つの欠点は、ファイルをアンインストールして再インストールするプロセスが、かなりの時間を必要とすることであった。また、それに続いてそれらのファイルによって作成され、それらのファイルと共に保存された重要なデータ・ファイルが、アンインストールのプロセス中に誤って削除されてしまう場合がある。
【０００５】
（概要）
記憶媒体を管理する方法を開示する。記憶媒体は、記憶媒体上で新しい場所に移動された第２のファイルへのリファレンスを有する第１のファイルを求めてサーチされる。リファレンスは、第２のファイルが新しい場所に移動したことをそれが示すように更新される。
【０００６】
本発明は、添付の図面の図において、例示によって示すものであって、限定によって示すものではなく、図面においては、同じ符号は同じ要素を示す。
【０００７】
（詳細な説明）
図１を参照すると、本発明の実施形態を実施できるコンピュータ・システムが１００として示されている。コンピュータ・システム１００は、データ信号を処理するプロセッサ１０１を含む。プロセッサ１０１は、複雑命令セット・コンピュータ（ＣＩＳＣ）マイクロプロセッサ、縮小命令セット・コンピューティング（ＲＩＳＣ）マイクロプロセッサ、非常に長い命令語（ＶＬＩＷ）マイクロプロセッサ、命令のセットの組合せを実施するプロセッサ、または他のプロセッサ装置とすることができる。図１は、単一プロセッサのコンピュータ・システム１００で実施される本発明の例を示している。しかし、本発明は多数のプロセッサを有するコンピュータ・システムにおいて実施できることが理解されるであろう。プロセッサ１０１は、コンピュータ・システム１００において、プロセッサ１０１と他の構成要素との間でデータ信号を送信するＣＰＵバス１１０に接続されている。
【０００８】
コンピュータ・システム１００はメモリ１１３を含む。メモリ１１３は、ダイナミック・ランダム・アクセス・メモリ（ＤＲＡＭ）デバイス、スタティック・ランダム・アクセス・メモリ（ＳＲＡＭ）デバイス、または他のメモリ・デバイスとすることができる。メモリ１１３は、プロセッサ１０１によって実行でき、データ信号によって表される命令および符号を記憶することができる。プロセッサ１０１の内部には、メモリ１１３に記憶されたデータ信号を記憶するキャッシュ・メモリ１０２が常駐する。キャッシュ１０２は、そのアクセスの局所性を利用することにより、プロセッサ１０１によるアクセスの速度を上げる。コンピュータ・システム１００の代替実施形態においては、キャッシュ１０２はプロセッサ１０１の外部に常駐している。
【０００９】
ＣＰＵバス１１０とメモリ１１３とには、ブリッジ−メモリ・コントローラ１１１が接続されている。ブリッジ−メモリ・コントローラ１１１は、プロセッサ１０１と、メモリ１１３と、コンピュータ・システム１００の他の構成要素との間においてデータ信号を方向付けて、ＣＰＵバス１１０と、メモリ１１３と、第１のＩ／Ｏバス１２０との間においてデータ信号をブリッジする。
【００１０】
第１のＩ／Ｏバス１２０は、単一のバスまたは多数のバスの組合せとすることができる。例として、第１のＩ／Ｏバス１２０は、周辺構成要素相互接続（ＰＣＩ）バス、パーソナル・コンピュータ・メモリ・カード・インターナショナル・アソシエーション（ＰＣＭＣＩＡ）バス、ＮｕＢｕｓ、または他のバスを含むことができる。第１のＩ／Ｏバス１２０は、コンピュータ・システム１００において構成要素間の通信リンクを構成している。第１のＩ／Ｏバス１２０にはネットワーク・コントローラ１２１が接続されている。ネットワーク・コントローラ１２１は、コンピュータ・システム１００をコンピュータのネットワーク（図１には図示せず）にリンクし、これらのマシン間の通信を支援する。第１のＩ／Ｏバス１２０には表示装置コントローラ１２２が接続されている。表示装置コントローラ１２２は、表示装置をコンピュータ・システム１００へ接続させ、表示装置とコンピュータ・システム１００との間のインターフェイスとして機能する。表示装置コントローラは、単色表示アダプタ（ＭＤＡ）カード、カラー・グラフィクス・アダプタ（ＣＧＡ）カード、エンハンスト・グラフィクス・アダプタ（ＥＧＡ）カード、拡張グラフィクス・アレイ（ＸＧＡ）カード、または他の表示装置コントローラとすることができる。表示装置は、テレビ受像器、コンピュータ・モニタ、フラット・パネル・ディスプレイ、または他の表示装置とすることができる。表示装置は、表示装置コントローラ１２２を介してプロセッサ１０１からデータ信号を受け取り、その情報およびデータ信号を、コンピュータ・システム１００のユーザに表示する。第１のＩ／Ｏバス１２０にはビデオ・カメラ１２３が光学的に接続されている。ビデオ・カメラ１２３は、物体の画像を取り込むように動作する。ビデオ・カメラ１２３は、取り込んだ画像をデジタル・グラフィカル・データに変換する、内部デジタル・ビデオ・キャプチャ・ハードウェアを有するデジタル・ビデオ・カメラとすることができる。別法として、ビデオ・カメラ１２３は、取り込んだ画像をデジタル化するビデオ・カメラ１２３の外部のデジタル・ビデオ・キャプチャ・ハードウェアを有するアナログ・ビデオ・カメラであってもよい。
【００１１】
第２のＩ／Ｏバス１３０は、単一のバスまたは多数のバスの組合せとすることができる。例として、第２のＩ／Ｏバス１３０は、ＰＣＩバス、ＰＣＭＣＩＡバス、ＮｕＢｕｓ、業界標準アーキテクチャ（ＩＳＡ）バス、または他のバスを含むことができる。第２のＩ／Ｏバス１３０は、コンピュータ・システム１００において構成要素間の通信リンクとなっている。Ｉ／Ｏバス１３０には記憶媒体１３１が接続されている。記憶媒体１３１は、データを記憶するためにデータ記憶デバイスを含むことができる。データ記憶デバイスは、ハード・ディスク・ドライブ、フロッピ・ディスク・ドライブ、ＣＤ−ＲＯＭデバイス、フラッシュ・メモリ・デバイス、または他の記憶デバイスとすることができる。記憶媒体１３１は、１つまたは複数の説明したデータ記憶デバイスを含んでもよい。
【００１２】
第２のＩ／Ｏバス１３０にはキーボード・インターフェイス１３２が接続されている。キーボード・インターフェイス１３２は、キーボード・コントローラまたは他のキーボード・インターフェイスとすることができる。キーボード・インターフェイス１３２は専用デバイスであってもよく、またはバス・コントローラまたは他のコントローラなどの別の装置に常駐することができる。キーボード・インターフェイス１３２は、キーボードをコンピュータ・システム１００に接続させ、データ信号をキーボードからコンピュータ・システム１００に送信する。第２のＩ／Ｏバス１３０にはオーディオ・コントローラ１３３が光学的に接続されている。オーディオ・コントローラ１３３は、音の記録および再生を調整するように動作し、またＩ／Ｏバス１３０に接続される。
【００１３】
バス・ブリッジ１２４は、第１のＩ／Ｏバス１２０を第２のＩ／Ｏバス１３０に接続する。バス・ブリッジ１２４は、第１のＩ／Ｏバス１２０と第２のＩ／Ｏバス１３０との間でデータ信号を緩衝しブリッジするように動作する。
【００１４】
本発明は、記憶媒体内のファイルを管理するためのコンピュータ・システム１００の使用に関する。一実施形態によれば、記憶媒体内のファイルを管理することは、プロセッサ１０１が主メモリ１１３において命令のシーケンスを実行することに反応して、コンピュータ・システム１００によって行われる。かかる命令は、データ記憶デバイス１３１などの別のコンピュータ可読媒体から、またはネットワーク・コントローラ１２１を介して別のソースから、メモリ１１３に読み込むことができる。命令のシーケンスの実行は、後で説明するように、プロセッサ１０１に記憶媒体内のファイルを管理させる。代替実施形態においては、本発明を実施するために、ソフトウェア命令の代わりにまたはそれと組み合わせてハードワイヤド回路を使用してもよい。このように、本発明は、ハードウェア回路およびソフトウェアのいかなる特定の組合せにも限定されない。
【００１５】
図２は、記憶媒体１３１内において適切にリンクされたファイルを示したブロック図である。記憶媒体１３１は、複数のファイル２１０、２２０、２３０、２４０および２５０を記憶している。記憶媒体１３１は、第２のファイル２２０に関する依存性を有する第１のファイル２１０を含む。第１のファイル２１０は、第１のファイルが第２のファイル２２０からデータを取得できるように、第１のファイルを第２のファイル２２０に直接リンクする第２のファイル２２０へのリファレンス２１１を含む。リファレンス２１１は、第２のファイル２２０の場所を識別するパス名を含むことができる。
【００１６】
第１のファイル２１０は実行可能ファイルとすることができる。実行可能ファイルは、プロセッサが直接実行できる形式でデータを含む。第１のファイル２１０は、第２の実行可能ファイル、ダイナミック・リンク・ライブラリ・ファイル、データ・ファイル、または他のファイルへのリファレンスを含むことができる。第１のファイル２１０は、ダイナミック・リンク・ライブラリ・ファイルであってもよい。ダイナミック・リンク・ライブラリは、他のファイルによって使用できる実行可能な関数またはデータのライブラリである。通常、ダイナミック・リンク・ライブラリ・ファイルは、１つまたは複数の特定の関数を提供し、ファイルは、ダイナミック・リンク・ライブラリ・ファイルへの静的または動的なリンクを生成することにより関数にアクセスする。静的なリンクは、プログラムの実行中は一定のままであり、一方、動的なリンクは必要に応じてプログラムによって生成される。ダイナミック・リンク・ライブラリ・ファイルはデータを含んでもよい。ダイナミック・リンク・ライブラリ・ファイルは通常、ＤＬＬファイル名拡張子を有する。ダイナミック・リンク・ライブラリ・ファイルは、第２のダイナミック・リンク・ライブラリ・ファイルまたは他のファイルへのリファレンスを含むことができる。第１のファイル２１０は初期化ファイルであってもよい。初期化ファイルは通常、構成情報を含むプレーン・テキスト・ファイルである。これらのファイルは、優先順位および動作環境に関する情報を保存するために他のファイルによって使用される。初期化ファイルは通常、ＩＮＩファイル名拡張子を有する。初期化ファイルは、実行可能ファイル、データ・ファイル、または他のファイルへのリファレンスを含むことができる。第１のファイル２１０はショート・カット・ファイルであってもよい。ショート・カット・ファイルは、ユーザのデスクトップにアイコンを作成するファイルである。選択されたときに、ショート・カットはそのショート・カットがリンクされているファイル内のプログラムを実行する。ショート・カット・ファイルは実行可能ファイルへのリンクを含むことができる。ショート・カット・ファイルは通常、プログラム情報ファイル（ＰＩＦ）拡張子またはリンク（ＬＮＫ）ファイル名拡張子を有する。
【００１７】
第２のファイル２２０は、ダイナミック・リンク・ライブラリ・ファイル、実行可能ファイル、または他のファイルである第１のファイル２１０にリンクされた、ダイナミック・リンク・ライブラリ・ファイルであってもよい。第２のファイル２２０は、実行可能ファイル、ダイナミック・リンク・ライブラリ・ファイル、初期化ファイル、ショート・カット・ファイル、または他のファイルである第１のファイル２１０にリンクされた、実行可能ファイルであってもよい。第２のファイル２１０は、実行可能ファイル、初期化ファイル、または他のファイルにリンクされる場合があるデータ・ファイルであってもよい。
【００１８】
記憶媒体１３１は、第４のファイル２４０に関する依存性を有する第３のファイル２３０を含む。第３のファイル２３０は、レジストリ・ファイル２５０を介して第４のファイル２４０にリンクされている。レジストリ・ファイル２５０は、構成情報、ファイル・コンテンツ、およびファイル場所情報を記憶するためにオペレーティング・システムによって使用されるデータベースである。レジストリ・ファイル２５０は、ファイル場所情報を記憶するパス名ファイル２５１を含む。第３のファイル２３０は、第３のファイル２３０によって要求されたデータを識別するグローバル・ユニーク識別子（ＧＵＩＤ）２３１へのリファレンスを含む。データは、ダイナミック・リンク・ライブラリ・ファイル、実行可能ファイル、データ・ファイル、または他のデータの関数であってもよい。ＧＵＩＤは、ファイルを要求されたデータに関連付けるために、オペレーティング・システムによって使用される。オペレーティング・システムはレジストリ・ファイル２５０をサーチし、データを有するファイルを第３のファイル２３０にリンクする。レジストリ・ファイル２５０は、ファイルのパス名などデータを備えたファイルのファイル場所情報を含むので、オペレーティング・システムはデータを備えたファイルを第３のファイル２３０とリンクすることができる。図２によれば、第４のファイル２４０はデータを有し、レジストリ２５０を介して第３のファイル２３０にリンクされている。
【００１９】
第３のファイル２３０は、ダイナミック・リンク・ファイル、実行可能ファイル、または他のファイルであってもよい。第４のファイルは、ダイナミック・リンク・ファイル、実行可能ファイル、または他のファイルである第３のファイルにリンクされたダイナミック・リンク・ライブラリ・ファイルであってもよい。第４のファイル２４０は、ダイナミック・リンク・ライブラリ・ファイル、実行可能ファイル、または他のファイルにリンクされた実行可能ファイルであってもよい。第４のファイル２４０は、ダイナミック・リンク・ライブラリ・ファイル、実行可能ファイル、または他のファイルにリンクされたデータ・ファイルであってもよい。
【００２０】
図３は、壊れたリンクを有するファイルを示したブロック図である。データ・ファイルが記憶媒体内で移動されたとき、そのファイルには新しいパス名が与えられる。移動されたファイルのパス名が、移動されたファイルに依存しているファイル内で、または移動されたファイルをリンクする責任を有するレジストリ内で更新されない限り、移動されたファイルへのリンクは壊れる。図３は図２に示したファイルを図示しており、ここで、第２のファイル２２０は記憶媒体１３１内の新しい場所に移動している。記憶媒体１３１内の新しい場所は、たとえば、第２のファイル２２０が新しいパス名を与えられている新しいドライブの場所または新しいディレクトリであろう。第１のファイル２１０は、第２のファイル２２０の、ブロック３２０で示された古い場所へのリファレンス２１１を含む。したがって、第１のファイル２１０が第２のファイル２２０のファイルにアクセスしようとすると、第１のファイル２１０は第２のファイル２２０とインターフェイスできなくなる。
【００２１】
図３は、記憶媒体１３１内の新しい場所に移動された第４のファイル２４０を示している。記憶媒体１３１内の新しい場所は、第４のファイル２４０が新しいパス名を与えられている新しいドライブ場所または新しいディレクトリであろう。レジストリ・ファイル２５０は、第４のファイルの、ブロック３４０で示された古い場所へのリファレンスを含むパス名ファイル２５１を含む。したがって、オペレーティング・システムが、第３のファイル２３０に第４のファイル２４０のデータにアクセスさせるために、第３のファイル２３０を第４のファイル２４０とリンクさせようとするとき、第３のファイル２３０は第４のファイル２４０とインターフェイスできないであろう。
【００２２】
図４は、本発明の実施形態による記憶媒体マネージャ４００を実現したモジュールを示したブロック図である。本発明の実施形態において、このモジュールはソフトウェアによって実現され、記憶媒体１１３（図１に示した）内に命令のシーケンスとして常駐している。このモジュールは、バス１２０（図１に示した）に接続された構成要素としてハードウェアによって、またはハードウェアとソフトウェア両方の組合せによって実現されてもよいことを理解されたい。
【００２３】
ブロック４１０はマネージャ・インターフェイスを表している。マネージャ・インターフェイス４１０は、記憶媒体１３１（図１に示した）内の１つの場所から別の場所に移動されたファイルのアイデンティティを取得する。本発明の実施形態によれば、マネージャ・インターフェイス４１０は、コンピュータ・システム１００のオペレーティング・システムから直接この情報を取得できる。本発明の代替実施形態によれば、マネージャ・インターフェイス４１０は、ユーザが記憶媒体上の１つの場所から別の場所に移動させているファイルをユーザに識別させるユーザ・インターフェイスを含んでもよい。ファイルのアイデンティティは、ドライブおよび、ファイルが記憶されたあらゆるディレクトリおよびサブ・ディレクトリ、ファイル名、ならびにファイルの拡張子を含むことができるファイルのパス名とすることができる。
【００２４】
マネージャ・インターフェイス４１０には依存性サーチ・ユニット４２０が接続されている。依存性サーチ・ユニット４２０は、マネージャ・インターフェイス４１０から移動したファイルのアイデンティティを受け取る。依存性サーチ・ユニット４２０は、移動しており、移動したファイルの以前の場所にリンクされたファイルに依存するあらゆるファイルのアイデンティティを求めて記憶媒体１３１をサーチする。依存性サーチ・ユニット４２０は、移動したファイルを検索するあらゆるファイルを求めて記憶媒体１３１をサーチする。リファレンスは移動されたファイルへの依存性リンクを提供する。依存性サーチ・ユニット４２０はレジストリ・ファイル・インターフェイス４２１を含む。レジストリ・ファイル・インターフェイス４２１は、移動されたファイルへのリファレンスを求めて記憶媒体１３１内のレジストリ・ファイルをサーチする。レジストリ・ファイル・インターフェイス４２１は、レジストリ・ファイルによって検索されたファイルのパス名などのファイル場所情報を記憶するレジストリ・ファイル内のパス名ファイルにアクセスする。レジストリ・ファイルは、たとえば実行可能ファイル、ダイナミック・リンク・ライブラリ・ファイル、データ・ファイル、アプリケーション特定データ・ファイル、または他のファイルを含むことができる移動されたファイルを検索してもよい。依存性サーチ・ユニット４２０はファイル・インターフェイス４２２を含む。ファイル・インターフェイス４２２は、移動されたファイルへのリファレンスを求めて記憶媒体１３１内の非レジストリ・ファイルをサーチする。リファレンスは、移動されたファイルへの依存性リンクを提供する。ファイル・インターフェイス４２２は、記憶媒体１３１上の全ての非レジストリ・ファイルにアクセスし、移動されたファイルのパス名などのリファレンスを求めて非レジストリ・ファイルをサーチする。アクセスできる非レジストリ・ファイルは、ダイナミック・リンク・ライブラリ・ファイル、実行可能ファイル、初期化ファイル、ショート・カット・ファイル、およびデータ・ファイルを含む。非レジストリ・ファイルは、たとえば実行可能ファイル、ダイナミック・リンク・ライブラリ・ファイル、データ・ファイル、アプリケーション特定データ・ファイル、または他のファイルを含むことができる移動されたファイルを検索してもよい。レジストリ・インターフェイス４２１またはファイル・インターフェイス４２２が、アプリケーション特定データ・ファイル内の移動されたファイルへのリファレンスを発見すると、ファイル・インターフェイス４２２は、これが更新不可能なファイルであることを認識する。
【００２５】
依存性サーチ・ユニット４２０には更新ユニット４３０が接続されている。更新ユニット４３０は、移動されたファイルに依存する更新可能なファイルのアイデンティティを受け取る。更新ユニット４３０は、移動されたファイルに依存するファイル内の移動されたファイルのリファレンスを更新する。更新ユニット４３０は、パス書込みユニット４３１を含む。パス書込みユニット４３１は、移動されたファイルの新しい場所を反映する新しいパス名で、移動されたファイルの古いパス名を上書きする。本発明の実施形態によれば、パス書込みユニット４３１は、レジストリ・ファイル、初期化ファイル、および他のファイルにおいて検索された移動したファイルの古いパス名を上書きする。更新ユニット４３０はパス更新ユニット４３２を含む。パス更新ユニット４３２は、移動されたファイルに依存するファイルのサーチ・パスを、移動されたファイルの新しいパス名を含むように更新する。本発明の実施形態によれば、パス更新ユニット４３２は、ダイナミック・リンク・ライブラリ・ファイル、ショート・カット・ファイル、および他のファイルにおいて参照された移動されたファイルのサーチ・パスを更新する。
【００２６】
依存性サーチ・ユニット４２０にはフラッギング・ユニット４４０が接続されている。フラッギング・ユニット４４０は、移動されたファイルを検索する更新不可能なファイルのアイデンティティを受け取る。アプリケーション特定ファイル、およびアプリケーション特定ファイルを検索するファイルは、通常、ファイルの更新で問題が生じる専用データ形式でかかれている。ファイルがアプリケーション特定データ・ファイルの更新されたパス名を検索することを防止するために、フラッギング・ユニット４４０は、移動されたファイルをその元の場所に戻して、ユーザに通知する。本発明の代替実施形態によれば、フラッギング・ユニット４４０は、移動されたファイルをその元の場所に戻すことなく、ユーザに壊れたリンクについて通知する。
【００２７】
マネージャ・インターフェイス４１０、依存性サーチ・ユニット４３０、レジストリ・インターフェイス４２１、ファイル・インターフェイス４２２、更新ユニット４３０、パス書込みユニット４３１、パス更新ユニット４３２、およびフラッギング・ユニット４４０は、あらゆる既知の回路またはあらゆる既知の技術を用いて実施することができる。記憶媒体マネージャ４００がハードウェアで実施されている本発明の実施形態においては、依存性サーチ・ユニット４２０、レジストリ・インターフェイス４２１、ファイル・インターフェイス４２２、更新ユニット４３０、パス書込みユニット４３１、パス更新ユニット４３２、およびフラッギング・ユニット４４０は全て単一のシリコン基板に常駐する。
【００２８】
図５は、本発明の実施形態による記憶媒体を管理する方法を示したフローチャートである。ステップ５０１で、記憶媒体上で第１の場所から第２の場所に移動したファイルが識別される。本発明の実施形態によれば、移動されたファイルは、オペレーティング・システムまたはコンピュータ・システムのユーザによって識別できる。
【００２９】
ステップ５０２で、記憶媒体は、移動された第２のファイルへのリファレンスを有する第１のファイルを求めてサーチされる。本発明の実施形態によれば、レジストリ・ファイルおよび非レジストリ・ファイルは、第２のファイルへのリファレンスを求めてサーチされる。第２のファイルへのリファレンスは、第２のファイルのパス名であってもよい。サーチされる非レジストリ・ファイルは、ダイナミック・リンク・ライブラリ・ファイル、実行可能ファイル、データ・ファイル、初期化ファイル、ショート・カット・ファイル、または他のファイルを含んでもよい。
【００３０】
ステップ５０３で、移動された第２のファイルを検索する第１のファイルが更新可能なファイルであるかどうかが判断される。第１のファイルが更新可能なファイルであれば、制御はステップ５０５に進む。第１のファイルが更新不可能なファイルであれば、制御はステップ５０４に進む。本発明の実施形態によれば、アプリケーション特定データ・ファイルを検索するファイルは、更新不可能なファイルである。
【００３１】
ステップ５０４で、第１のファイルと移動された第２のファイルとの間に壊れたリンクが存在することを示す通知が送られる。本発明の実施形態によれば、移動された第２のファイルはその最初の場所に戻される。
【００３２】
ステップ５０５で、第１のファイル内のリファレンスは、第２のファイルが第２の場所に移動したことを示すように更新される。本発明の実施形態によれば、リファレンスを更新することは、第２のファイルに関するサーチパスを更新するか、第２のファイルへのリファレンスをその新しいパス名で上書きすることにより達成できる。
【００３３】
上記の説明においては、本発明をその特定の例示的実施形態を検索して説明している。しかし、特許請求の範囲に記載した本発明のより広い主旨および範囲から逸脱することなく、これらの実施形態に対して様々な修正や変更を行えることが明らかになるであろう。明細書および図面は、限定的な意味ではなく例示的な意味で捉えられるものとする。
【図面の簡単な説明】
【図１】  本発明の実施形態を実施するコンピュータ・システムのブロック図である。
【図２】  記憶媒体内で適切にリンクされたファイルを示すブロック図である。
【図３】  壊れたリンクを有する記憶媒体内のファイルを示すブロック図である。
【図４】  本発明の実施形態によるリンク更新ユニットのブロック図である。
【図５】  本発明の実施形態による記憶媒体上でファイルを管理する方法を示したフローチャートである。
【図１】
0004663878.tif 000002
【図２】
0004663878.tif 000003
【図３】
0004663878.tif 000004
【図４】
0004663878.tif 000005
【図５】
0004663878.tif 000006