(57)【要約】【課題】コンピュータのファイルのアクセス性能について、現在使用しているディスクより高速なディスクがない場合でも、アプリケーションプログラムへ影響を与えることなくアクセス性能を改善できるようにする。【解決手段】上記問題を解決するために、ホスト１に接続されたディスク１８に対する、ＯＳ３で動作するアプリケーションプログラム４のファイルアクセスをファイルアクセス情報記録データベース１５に記録し、パーティション１９（１９ａ，１９ｂ）内のディスク２０（２０ａ〜２０ｅ）のアクセス性能が平均になるような、ファイル再配置の決定方法を提供する。また、ファイル再配置の決定方法の結果に従って、ファイル再配置実行手段１４からファイルシステム６にファイル移動の指示しファイル移動を行うことで、ディスク間のアクセスを平均化し、アクセス性能の改善を実現する。【選択図】図１
2009116482.tif 000002
【特許請求の範囲】
【請求項１】
ファイルの書き込みや読み込みのアクセス情報を使用し、複数ディスクで構成された同一パーティション内のファイルを、同一パーティション内の特定のディスクに移動させることにより、性能問題を解決させるファイルの再配置方法。
【請求項２】
前記請求項１において、ファイルの書き込みや読み込みのアクセス情報を使用し、ディスク間のアクセス頻度が平均になるように、ファイルを移動させるファイルの再配置決定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ファイルのアクセス情報を利用したディスク間のファイルの再配置方法に関するものである。
【背景技術】
【０００２】
従来、利用者は、記憶媒体のアクセス速度を考慮せずファイル領域を確保してしまうために、稀にしか利用しないファイルが高速アクセスが可能な記憶媒体を占有したり、頻繁に利用するファイルが低速アクセス記憶媒体に存在する場合が発生していた。それらを解決するためにアクセス頻度に適したアクセス速度をもつ記憶媒体に自動的にファイルを再配置することで、ファイルの再配置作業を行っていた。
【０００３】
【特許文献１】特開平５−６６９７５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上記特許文献１においては、アクセス頻度の高いファイルを高速なディスクに移動させ、アクセス頻度の低いファイルを遅いディスクに移動させている。しかし、現在使用している高速なディスクより高速なディスクがない場合、問題が解決されない。そのため、高速なディスクがない場合でも、アクセス性能を改善させる手段が必要となる。また、ディスク間を移動させるため、ファイルのアクセス先が変わってしますため、ファイルにアクセスするアプリケーションプログラムへファイルのアクセス先を変更する必要がある。
【０００５】
本発明の目的は、アプリケーションプログラムへ影響を与えることなく、ディスクの性能問題を解決することである。
【課題を解決するための手段】
【０００６】
前記目的を達成するために、本発明は、複数のディスクで構成されたパーティションにおいて、各ディスクに格納されている、各ファイルのファイルアクセスの情報から、各ディスクのファイルアクセスが平均化されるように、同一パーティション内でディスク間のファイルの再配置を行う、ファイル再配置実行手段を備えるものである。
【発明の効果】
【０００７】
本発明によれば、ディスクの性能に関わらず、機械的に自動でデータのアクセスを平均化するため、特定のディスクへのアクセス負荷を減らすことができる。また、同一パーティション内のファイル移動であるため、アプリケーションプログラムに影響を与えることなくファイルのアクセス頻度を平均化することができる。
【発明を実施するための最良の形態】
【０００８】
以下、本発明を実施するための最良の形態（以下「実施形態」という）について、図面を参照して説明する。
【０００９】
図１は、本発明における実施例の構成を示すものである。図１は、本実施形態におけるホスト１に複数のディスク１８が接続されたホスト１の構成を示す図である。ここで、示すホスト１は、コンピュータであり、このコンピュータは、ＣＰＵ５、メモリ２、ディスク１８などのハードウェア資源で構成されている。メモリ２にはＯＳ３やアプリケーションプログラム４などが記憶されており、それぞれＣＰＵ５を利用して動作する。ＯＳ３には、通常ＯＳが備えるファイルシステム６や図示しないその他の制御プログラムを含む。ファイルシステム６は、通常ファイルシステムが備えるディスク制御部７、パーティション制御部８、ファイル制御部９で構成される。ＯＳ３には、ハードウェア資源をアクセスするためのドライバ１０を含む。図１に示すように、本実施形態におけるホスト１は、複数のディスク１８（１８a〜１８ｅ）と接続し構成される。ＯＳ３では、ホスト１に接続された、複数のディスク１８（１８a〜１８ｅ）をファイルシステム６のディスク制御部７で制御を行う。ＯＳ３では、ホスト１に接続された複数のディスク１８から作成されたパーティション１９（１９ａ〜１９ｂ）をファイルシステム６のパーティション制御部８で制御を行う。ここではディスク１８（１８ａ〜１８ｃ）３台で構成されるパーティション１９（１９ａ）とディスク２（１８ｄ〜１８ｅ）２台で構成されるパーティション１９（１９ｂ）が２つ示されているが、ディスク２は、複数であれば特にその数が限定されるものではなく、パーティション１９も特にその数が限定されるものではない。ＯＳ３では、ファイルシステム６のファイル制御部９を使用し、複数のファイル２０の制御を行う。ＯＳ３では、ファイルシステム６を使用し複数のディスク１８で構成された、パーティション１９上のファイル２０を任意の位置に移動することができる機能を有する。ＯＳ３では、ファイル２０にアクセスを行う複数のアプリケーションプログラム４があり、ファイルシステム６を使用しファイルへの読み込みや書き込みなどのファイルアクセスを行う。ＯＳ３では、複数のアプリケーションプログラム４のファイル２０のへのアクセス状況を監視し記録する、ファイルアクセス情報収集手段１２と記録先であるファイルアクセス情報記録データベース１５、閾値情報テーブル１６とファイルアクセス情報記録データベース１５に記録したファイルへのアクセス状況から、ファイルの再配置位置を決めてファイル移動情報テーブル１７を作成するファイル再配置判断手段１３、作成したファイル移動情報１７のファイルの再配置位置に従ってファイルシステム６に対してファイルの移動指示を行うファイル再配置実行手段１４を有する再配置プログラム１１がある。
【００１０】
図２は、本実施形態における全体の処理の流れを示す図である。図２に示すように、ここでは、ファイルのアクセス情報を取得するファイルアクセス情報収集手段９から、ファイル再配置制御手段１１のファイルを再配置までの流れについて説明する。
【００１１】
ファイルアクセス情報収集手段１２では、ＯＳ３の有するファイルシステム６によりアプリケーションプログラム４からのファイルへの読み込み、書き込み回数を、ＯＳ３を使用しているユーザーが指定した時間の間、監視（ステップＳ２０１）する。ファイルへのアクセスを監視しファイルへのアクセスがあった場合、ファイルアクセス情報収集手段１２でファイル２０のアクセス情報を収集する。（ステップＳ２０２）する。ファイル２０へのアクセス情報を収集し、ＯＳ３を使用しているユーザーが指定した時間が経過しているかを判定（ステップＳ２０３）する。時間が経過していなければ、再度ファイルへのアクセス監視（ステップＳ２０１）を行う。時間が経過していれば、１つのパーティションに対し、ファイル再配置判断手段１３にてどのようにファイルを移動するかを判断する（ステップＳ２０４）。ファイル再配置判断手段１３で判断した内容に従い、ファイルの再配置が必要であるか判定を行う（ステップＳ２０５）。ファイルの再配置が必要でないなら、再度ファイルへのアクセス監視（ステップＳ２０１）を行う。ファイルの再配置が必要であればファイル再配置実行手段１４にてディスク間のファイルの再配置を行う（ステップＳ２０６）。ファイルの再配置が完了したら、再配置を行っていないパーティションがあるか判定を行う（ステップＳ２０７）。再配置を行っていないパーティションがあれば、再度、ファイル再配置判断手段１３（ステップＳ２０４）で判断を行う。すべてのパーティションの再配置が終わっていれば、再度ファイルへのアクセス監視（ステップＳ２０１）を行う。
【００１２】
図３は、本実施形態におけるファイルアクセス情報収集手段１２のテーブルの内容を示す図である。図３に示すように、ここでは、取得したファイルアクセス情報の管理のついて説明する。
【００１３】
ファイルがアクセスされたときに、ファイル管理手段７により取得されたファイルアクセス情報を記憶するために、ファイルアクセス情報記録データベース１００がある。ファイルアクセス情報記録データベース１００は、情報が記憶できるのであれば記憶する媒体の種別は問わない。ファイル管理手段７により取得されたファイルアクセス情報から、ファイルの場所を示すファイルパス１０１、ファイルの書き込みに対するアクセス回数の情報である、ファイルアクセス書き込み情報１０２、ファイルの読み込みに対するアクセス回数の情報である、ファイルアクセス読み込み情報１０３をファイルアクセス情報記録データベース１００に記憶する。２回目以降のアクセスの場合は、ファイルアクセス書き込み情報１０２とファイルアクセス読み込み情報１０３をカウントアップして記憶する。また、ファイルアクセスのないファイルの情報については記憶しない。
【００１４】
図４は、本実施形態におけるファイル再配置判断手段１３の処理の流れを示す図である。図４で示すように、ここでは、記録したファイル情報からファイル再配置プラン作成までの流れについて説明する。
【００１５】
ファイルシステム６からパーティションを構成しているディスクの情報を取得し、ディスクとパーティションの対応情報２１８を作成する（ステップＳ３０１）。ファイルアクセス情報記録データベース１００のファイルパス１０１のファイルが現在どのディスクに格納されているか、ファイルシステム６により取得し、ファイルの格納ディスクを取得する（ステップＳ３０２）。再配置したいパーティションに存在するファイルついて取得したファイルの格納場所とファイルアクセス情報記録データベース１００の対応させた情報を作成する（ステップＳ３０３）。作成した情報からディスク毎のアクセス情報を作成する（ステップＳ３０４）。作成したディスク毎のアクセス情報から、現在のアクセス状況が、ディスク毎に問題がない値であれば、ファイルを再配置する必要がないのでファイルの再配置は行わない（ステップＳ３０５）。作成したディスク毎のアクセス情報から、再配置後のアクセス情報となるディスクのアクセス情報の平均を求める（ステップＳ３０６）。ファイル再配置を行うことで問題が解決されるか、アクセス情報の平均がディスク毎に問題がない値であるか判定を行う（ステップＳ３０７）。問題がない値であれば、ファイル再配置を行うことで解決されるためファイルの再配置プラン作成を行う（ステップＳ３０８）。問題がある値であれば、パーティション３にディスク２を追加し再度ディスクの平均値を求め（ステップＳ３０６）、問題のない値になるまで繰り返す（ステップＳ３０９）。
【００１６】
図５は、本実施形態におけるファイルアクセス情報記録データベース１００から再編成の実施判断の対応を示す図である。図５に示すように、ここでは、ファイルアクセス情報記録データベース１００から作成された情報ついて説明する。
【００１７】
ファイルシステム６から、ディスクとパーティションの対応を取得し、ディスク２１６とパーティション２１７で構成されたディスクとパーティションの対応情報２１８を作成する（ステップＳ３０１）。ファイルアクセス情報記録データベース１００とファイルシステム６からファイルを格納しているディスク２０４を取得する（ステップＳ３０２）。取得したファイルを格納しているディスク２０４と、再配置を行いたいパーティションを構成しているディスク２１６の情報をディスクとパーティションの対応情報２１８のパーティション２１７から取得し、ディスク２０４と比較し、再配置したいパーティションに含まれるファイルの場合は、ファイルパス２０１、ファイルアクセス書き込み情報２０２、ファイルアクセス読み込み情報２０３とディスク２０４で構成された、ファイルとディスクの対応情報２００に情報を追加する（ステップＳ３０３）。作成したファイルとディスクの対応情報２００から、各ディスクのアクセス種別２０７毎にファイルアクセス情報の合計を求め、ディスク２０６、アクセス種別２０７、ファイルアクセス情報２０８で構成される、ディスクとファイルアクセス情報の対応情報２０５を作成する（ステップＳ３０４）。作成したディスクとファイルアクセス情報の対応情報２０５とディスク２１３、アクセス種別２１４、ファイルアクセス上限値２１５で構成された、ディスクのファイルアクセス上限値情報２１２との比較を行う。比較する情報は、ファイルアクセス情報の対応情報２０５のディスク２０６、アクセス種別２０７とディスクのファイルアクセス上限値情報２１２のディスク２１３、アクセス種別２１４が同一のものに対し、ファイルアクセス情報２０８とファイルアクセス上限値２１５の比較を行う（ステップＳ３０５）。ディスクのファイルアクセス上限値情報２１２は、事前に使用しているディスクの性能に合わせてアプリケーションプログラムが問題なく動作する、ディスクのファイルアクセス上限値２１５の閾値情報を設定したものである。ファイルアクセス情報２０８がファイルアクセス上限値２１５を超えていた場合はファイル再配置が必要である。ディスクとファイルアクセス情報の対応情報２０５よりアクセス種別２０７毎にファイルアクセス情報２０８の平均値を求め、アクセス種別２１０、アクセス平均２１１で構成される、ディスクアクセス平均情報２０９を作成する（ステップＳ３０６）。ディスクのファイルアクセス上限値情報２１２のファイルアクセス情報２１５がディスクアクセス平均情報２０９のアクセス平均２１１を超えているか比較を行う（ステップＳ３０７）。超えていた場合はファイル再配置を行うためのディスク性能が不足しているため物理的にディスクを追加する（ステップＳ３０９）。このとき追加するディスクは、追加時にユーザーが追加する方法や、事前に不足時に自動的に追加するディスクを用意しておく方法など方法は問わない。このとき、追加したディスクの情報をディスクとファイルアクセス情報の対応情報２０５に追加する。また、ディスクの追加に合わせて、ディスクアクセス平均情報２０９の情報を再度求め直す。
【００１８】
図６は、本実施形態における再配置プラン作成の処理の流れを示す図である。図６で示すように、ここでは、作成したディスクとファイルアクセス情報の対応情報２０５とディスクアクセス平均情報２０９からファイル再配置プランの作成までの流れについて説明する。ディスクとファイルアクセス情報の対応情報２０５とディスクアクセス平均情報２０９からファイルアクセスを平均にするためにどれだけのアクセス量を移動すれば良いかの差を求める（ステップＳ４０１）。求めた、差情報から各ディスクの書き込み、読み込みでどれだけ移動すれば良いかの情報である、ディスクのファイルアクセス差情報３００を作成する（ステップＳ４０２）。作成したディスクのファイルアクセス差情報３００から、どのディスクからどのディスクへどれだけのアクセス量を移動するのか、ディスク間移動量情報３０４を作成する（ステップＳ４０３）。ディスク間移動量情報３０４の移動量に合わせて、どのファイルを移動するかファイルとディスクの対応情報２００より検索する（ステップＳ４０４）。検索したファイルの情報をファイルの移動の情報に追加する（ステップＳ４０５）。検索したファイルに合わせて、ディスク間移動量情報３０４の移動量を変更する（ステップＳ４０６）。移動すべきファイルの検索が全て終わった場合、ファイルの移動の情報の作成が完了とする（ステップＳ４０７）。
【００１９】
図７は、本実施形態における再配置プラン作成の情報の対応を示す図である。図７に示すように、ここでは、ディスクとファイルアクセス情報の対応情報２０５とディスクアクセス平均情報２０９から作成された情報（ステップＳ４０１〜ステップＳ４０６）ついて説明する。ディスクとファイルアクセス情報の対応情報２０５のディスク２０６に対するアクセス種別２０７のファイルアクセス情報２０８とディスクアクセス平均情報２０９のアクセス種別２１０のアクセス平均２１１の差であるファイルアクセス差情報３０３を求める（ステップＳ４０１）。ファイルアクセス差情報３０３は、アクセス平均２１１と比較してアクセス回数が多いディスクは正の値で、アクセス平均２１１と比較してアクセス回数が少ないディスクは負の値にする。求められたファイルアクセス差情報３０３とディスク３０１、アクセス種別３０２から、ディスクのファイルアクセス差情報３００を作成する（ステップＳ４０２）。作成したファイルアクセス差情報３００から、ディスク間でどれだけの移動を行えば平均になるのか求める。アクセス種別３０２の書き込みに対しファイルアクセス差情報３０３が正の値のディスク３０１（ディスク１、ディスク３）からファイルアクセス差情報３０３が負の値ディスク３０１（ディスク２、ディスク４）へ、正の値のディスクの番号が小さいディスクから負の値のディスクの番号が小さいディスクに移動する量を割り振る。アクセス種別３０２の読み込みに対しファイルアクセス差情報３０３が正の値のディスク３０１（ディスク１、ディスク３）からファイルアクセス差情報３０３が負の値ディスク３０１（ディスク２、ディスク４）へ、正の値のディスクの番号が小さいディスクから負の値のディスクの番号が小さいディスクに移動する量を割り振る。割り振った移動量をファイルアクセス移動量３０８とし、ディスク３０５、アクセス種別３０６、移動先ディスク３０７、ファイルアクセス移動量３０８で構成される、ディスク間移動量情報３０４を作成する（ステップＳ４０３）。作成したディスク間移動量情報３０４から、移動するファイルを決めるために、移動元となるディスク３０５毎にアクセス種別３０６の書き込みと読み込み両方のファイルアクセス移動量３０８を使用し、移動先ディスク３０７毎に移動するファイル決定する。移動先ディスク３０７とファイルとディスクの対応情報２００のディスク２０４が同じものから、アクセス種別３０６が書き込みのファイルアクセス移動量３０８よりファイルアクセス書き込み情報２０２と、アクセス種別３０６が読み込みのファイルアクセス移動量３０８よりファイルアクセス読み込み２０３の値が値の大小を問わず最も値が近いファイルパス２０１を検索する。このとき、アクセス種別３０６の書き込みのファイルアクセス移動量３０８が正の値で、読み込みのファイルアクセス移動量３０８が負または０の場合は、書き込みの値が最も近く、読み込みの値が０に近いファイルを検索する。逆に、アクセス種別３０６の読み込みの値が正の値で、書き込みのファイルアクセス移動量３０８が負または０の場合は、読み込みの値が最も近く、書き込みの値が０に近いファイルを検索する（ステップＳ４０４）。検索した結果から、ファイルパス３１０、ディスク３１１、移動先ディスク３１２で構成されたファイル移動情報テーブル３０９に情報を追加する（ステップＳ４０５）。検索したファイルのファイルアクセス書き込み情報２０２とファイルアクセス読み込み情報２０３に合わせてファイルアクセス移動量３０８を変更する。（ステップＳ４０６）変更したファイルアクセス移動量３０８を使用し再度、ファイルとディスクの対応情報２００のファイルアクセス書き込み情報２０２とファイルアクセス読み込み情報２０３から最も値が近いファイルパス２０１を検索する。ファイルアクセス移動量３０８が０になるまで繰り返す。しかし、ファイルアクセス移動量３０８が全て０になるような場合は無いので、閾値を用意しそれ以下になるまで繰り返す（ステップＳ４０７）。
【００２０】
図８は、本実施形態におけるファイル再配置実行手段を示す図である。図８に示すように、ここでは、ファイル再配置ついて説明する。
【００２１】
ファイル移動情報３０９のディスク３１１に配置されているファイルパス３１０のファイルを移動先ディスク３１２に従い、ファイルシステム６に対しディスク間ファイルの移動指示を行う。ファイルシステム６は、ディスク間ファイルの移動指示に従い、再配置前４００のディスク（４０１ａ〜４０１ｃ）から、再配置後４０５のディスク（４０３ａ〜４０３ｃ）へとファイルの移動を行う。ファイルの移動が完了したら、移動したファイルのファイル移動情報３０９の移動先ディスク３１２を移動済に変更する。ファイル移動情報３０９に従い、ファイルの移動を繰り返す。ファイル移動情報３０９の移動先ディスク３１２の移動先ディスク状態が全て移動済になったら完了とする。
【図面の簡単な説明】
【００２２】
【図１】本実施形態におけるホストに複数のディスクが接続されたホストの構成を示す図である。
【図２】本実施形態における全体の処理の流れを示す図である。
【図３】本実施形態におけるファイルアクセス情報収集手段のテーブルの内容を示す図である。
【図４】本実施形態におけるファイル再配置判断手段の処理の流れを示す図である。
【図５】本実施形態におけるファイルアクセス情報記録データベースから再編成の実施判断の対応を示す図である。
【図６】本実施形態における再配置プラン作成の処理の流れを示す図である。
【図７】本実施形態における再配置プラン作成の情報の対応を示す図である。
【図８】本実施形態におけるファイル再配置実行手段を示す図である。
【符号の説明】
【００２３】
１…ホスト、２…メモリ、３…ＯＳ、４…アプリケーションプログラム、５…ＣＰＵ、６…ファイルシステム、７…ディスク制御部、８…パーティション制御部、９…ファイル制御部、１０…ドライバ、１１…再配置プログラム、１２…ファイルアクセス情報収集手段、１３…ファイル再配置判断手段、１４…ファイル再配置実行手段、１５…ファイルアクセス情報記録データベース、１６…閾値情報、１７…ファイル移動情報テーブル、１８…ディスク、１９…パーティション、２０…ファイル。
【図１】
2009116482.tif 000003
【図２】
2009116482.tif 000004
【図３】
2009116482.tif 000005
【図４】
2009116482.tif 000006
【図５】
2009116482.tif 000007
【図６】
2009116482.tif 000008
【図７】
2009116482.tif 000009
【図８】
2009116482.tif 000010