(57)【要約】【課題】  複数のネットワークストレージをもつ仮想一元化ネットワークストレージシステムにて、ディスク残量の平準化を自動的に行い、ユーザが使用可能な領域を最大化し、ファイルへの大量書き込みに対するマージンを増加する。  【解決手段】  定期的に平準化処理を開始するか否かの判定をおこない、その開始の条件として、(a)ディスク残量の偏差が発生しかつディスク残量の最小値が閾値を下回ること、(b)ディスク残量の偏差が発生しかつシステムへのアクセス頻度が閾値を下回ること、の２種類を採用する。平準化処理はディスク残量偏差がその閾値を下回るまで実行上限時間の範囲内で継続する。ファイル移動ステップ中に、移動中のファイルに対してクライアントからの書き込み要求があった場合には、ファイルの移動を中止し移動先のファイルを破棄し別のファイルを選択してファイル移動ステップをやり直す。【選択図】  図８
2005038368.tif 000002
【特許請求の範囲】
【請求項１】
複数のネットワークストレージ装置と、仮想一元化装置と、これらを接続するネットワークを含み、前記仮想一元化装置の機能により前記複数のネットワークストレージ装置がクライアントから仮想的に１つのネットワークストレージ装置に見える仮想一元化ネットワークストレージシステムにおける、ネットワークストレージ装置間のディスク平準化方法であって、
前記複数のネットワークストレージ装置のうちの第１のネットワークストレージ装置に格納された１つまたは複数のファイルを、前記複数のネットワークストレージ装置のうちの第２のネットワークストレージ装置に移動するディスク平準化ステップと、
各ネットワークストレージ装置のディスク残量を調査し、該ディスク残量の最大値と最小値と第１の閾値とから処理を継続するかどうか判断し、継続する場合は前記ディスク平準化ステップに戻り、継続しない場合は処理を終了する終了判定ステップと、
を含む平準化処理と、
前記複数のネットワークストレージ装置それぞれのディスク残量を定期的に調査し、該ディスク残量の最大値と最小値と第２の閾値とから該平準化処理を開始するかどうか判断する第１の平準化処理開始判定ステップと、
該第１の開始判定ステップによって平準化処理を開始すると判定された場合に、前記平準化処理を開始する平準化処理開始ステップを含む監視処理、
を含むことを特徴とする仮想一元化ネットワークストレージシステムにおけるネットワークストレージ装置間のディスク平準化方法。
【請求項２】
前記平準化処理における前記終了判定ステップは、該ディスク残量の最大値と最小値の差分が該第１の閾値以上の場合に該ディスク平準化ステップに戻って処理を継続し、そうでなければ処理を終了することを特徴とする、請求項１記載の仮想一元化ネットワークストレージシステムにおけるネットワークストレージ装置間のディスク平準化方法。
【請求項３】
前記監視処理の前記第１の平準化処理開始判定ステップは、該ディスク残量の最大値と最小値の差分が該第２の閾値以上の場合に平準化処理を開始すると判定することを特徴とする請求項１記載の仮想一元化ネットワークストレージシステムにおけるネットワークストレージ装置間のディスク平準化方法。
【請求項４】
前記監視処理において、前記第１の平準化処理開始判定ステップに加えて、 前記複数のネットワークストレージ装置のうち少なくとも１のディスク残量が第３の閾値未満である場合に該平準化処理の開始を判定する第２の平準化処理開始判定ステップを含み、
前記平準化処理開始ステップは、前記第１の平準化処理開始判定ステップおよび前記第２の平準化処理判定ステップにおいて共に平準化処理の開始が判定された場合に、前記平準化処理を開始することを特徴とする請求項１記載の仮想一元化ネットワークストレージシステムにおけるネットワークストレージ装置間のディスク平準化方法。
【請求項５】
前記監視処理において、前記第１の平準化処理開始判定ステップに加えて、全てのネットワークストレージ装置のディスク残量が第４の閾値以上である場合に、平準化処理の開始を判定する第３の平準化処理開始判定ステップを含み、
前記平準化処理開始ステップは、該第１の平準化処理開始判定ステップおよび該第３の平準化処理開始判定ステップにおいて共に平準化処理の開始が判定された場合に、該平準化処理を開始することを特徴とする請求項１記載の仮想一元化ネットワークストレージシステムにおけるネットワークストレージ装置間のディスク平準化方法。
【請求項６】
前記監視処理において、前記第１の平準化処理開始判定ステップに加えて、 
前記仮想一元化ネットワークストレージシステムに対するクライアントからのアクセスの頻度が第５の閾値未満の場合に、平準化処理の開始を判定する第４の平準化処理開始判定ステップを含み、
前記平準化処理開始ステップは、前記第１の平準化処理開始判定ステップおよび前記第４の平準化処理開始判定ステップにおいて共に平準化処理の開始が判定された場合に、前記平準化処理を開始し、
前記平準化処理における該終了判定ステップは、前記複数のネットワークストレージ装置のそれぞれのディスク残量を調査し、該ディスク残量の最大値と最小値の差分が前記第１の閾値以上の場合であって、かつ、前記仮想一元化ネットワークストレージシステムに対するクライアントからのアクセスの頻度が第５の閾値未満の場合に、前記平準化処理の前記ディスク平準化ステップに戻り、該差分が該第１の閾値未満であるか、または、該アクセスの頻度が第５の閾値以上の場合に処理を終了することを特徴とする請求項１記載の仮想一元化ネットワークストレージシステムにおけるネットワークストレージ装置間のディスク平準化方法。
【請求項７】
前記仮想一元化装置はディスク残量テーブルを持ち、該ディスク残量テーブルは、前記複数のネットワークストレージ装置毎の識別子とディスク残量を保持することを特徴とする請求項１記載の仮想一元化ネットワークストレージシステムにおけるネットワークストレージ装置間のディスク平準化方法。
【請求項８】
前記平準化処理の前記ディスク平準化ステップは、
ディスク残量が最小のネットワークストレージ装置を移動元ネットワークストレージ装置として選択し、ディスク残量が最大のネットワークストレージ装置を移動先ネットワークストレージ装置として選択するネットワークストレージ装置選択ステップと、
該ネットワークストレージ装置選択ステップによって選択された移動元ネットワークストレージ装置に格納されているファイルのうちの一つまたは幾つかを移動対象ファイルとして選択するファイル選択ステップと、
該ファイル選択ステップにおいて選択された移動対象ファイルを該移動元ネットワークストレージ装置から該移動先ネットワークストレージ装置へ移動するファイル移動ステップと、を含むことを特徴とする請求項１記載の仮想一元化ネットワークストレージシステムにおけるネットワークストレージ装置間のディスク平準化方法。
【請求項９】
前記平準化処理の前記ディスク平準化ステップにおいて、平準化処理の履歴を保存するステップを更に有し、前記ネットワークストレージ装置選択ステップでは、過去に移動元ネットワークストレージ装置として選択したネットワークストレージ装置を移動先ネットワークストレージ装置の選択対象から除外し、過去に移動先ネットワークストレージ装置として選択したネットワークストレージ装置を移動元ネットワークストレージ装置の選択対象から除外することを特徴とする請求項８記載の仮想一元化ネットワークストレージシステムにおけるネットワークストレージ装置間のディスク平準化方法。
【請求項１０】
前記平準化処理の前記ディスク平準化ステップにおける前記ファイル選択ステップは、移動元ネットワークストレージ装置のディスク残量と移動対象ファイルサイズの和である第１の予測値と、移動先ネットワークストレージ装置のディスク残量と移動対象ファイルサイズの差である第２の予測値とを比較するステップを更に有し、該移動元ネットワークストレージ装置のディスク残量と該移動先ネットワークストレージ装置のディスク残量の大小関係に対して該第１の予測値と該第２の予測値の大小関係が逆転する場合は移動対象ファイルを選択しなおすことを特徴とする請求項８記載の仮想一元化ネットワークストレージシステムにおけるネットワークストレージ装置間のディスク平準化方法。
【請求項１１】
前記仮想一元化装置は、ファイルとそのファイルの格納先ネットワークストレージ装置との対応関係を記録する配置情報を有し、  
前記ファイル移動ステップは、前記移動先ネットワークストレージ装置に前記移動元ネットワークストレージ装置に格納されている移動対象ファイルの複製を作成する複製ステップと、前記移動元ネットワークストレージ装置の該移動対象ファイルを削除するステップと、前記配置情報を更新するステップを含み、
移動中の該移動対象ファイルに対して、ユーザからの書き込みに関するアクセス要求を受け付けると、該ファイル移動ステップを中断し、該移動先ネットワークストレージ上の該移動対象ファイルを削除し、該ファイル選択ステップをやり直すことを特徴とする請求項８記載の仮想一元化ネットワークストレージシステムにおけるネットワークストレージ装置間のディスク平準化方法。
【請求項１２】
前記仮想一元化装置は、ファイルとそのファイルの格納先ネットワークストレージ装置との対応関係を記録する配置情報を有し、  
前記ファイル移動ステップは、前記移動先ネットワークストレージ装置に前記移動元ネットワークストレージ装置上の移動対象ファイルの複製を作成する複製ステップと、前記移動元ネットワークストレージ装置から前記移動対象ファイルを削除するステップと、前記配置情報を更新するステップを含み、
該ファイル移動ステップの実行中に前記移動対象ファイルに対して、ユーザからの書き込みに関するアクセス要求を受け取ると、該アクセス要求を破棄する手段を有することを特徴とする請求項１記載の仮想一元化ネットワークストレージシステムにおけるネットワークストレージ装置間のディスク平準化方法。
【請求項１３】
管理者からの開始指示を受けて前記平準化処理を開始し、管理者からの中断指示を受けて前記平準化処理を中断することを特徴とする請求項１記載の仮想一元化ネットワークストレージシステムにおけるネットワークストレージ装置間のディスク平準化方法。
【請求項１４】
前記監視処理を設定された間隔で繰り返し実行することを特徴とする請求項１記載の仮想一元化ネットワークストレージシステムにおけるネットワークストレージ装置間のディスク平準化方法。
【請求項１５】
複数のネットワークストレージ装置と、仮想一元化装置と、これらを接続するネットワークを含み、前記仮想一元化装置の機能により前記複数のネットワークストレージ装置がクライアントから仮想的に１つのネットワークストレージ装置に見える仮想一元化ネットワークストレージシステムにおける、ネットワークストレージ装置間のディスク平準化方法であって、
前記複数のネットワークストレージ装置のうちの第１のネットワークストレージ装置に格納された１つ以上のファイルからなるファイルグループを、前記複数のネットワークストレージ装置のうちの第２のネットワークストレージ装置に移動するディスク平準化ステップと、
各ネットワークストレージ装置のディスク残量を調査し、該ディスク残量の最大値と最小値と第１の閾値とから処理を継続するかどうか判断し、継続する場合は前記ディスク平準化ステップに戻り、継続しない場合は処理を終了する終了判定ステップと、
を含む平準化処理と、
前記複数のネットワークストレージ装置それぞれのディスク残量を定期的に調査し、該ディスク残量の最大値と最小値と第２の閾値とから該平準化処理を開始するかどうか判断する第１の平準化処理開始判定ステップと、
該第１の開始判定ステップによって平準化処理を開始すると判定された場合に、前記準化処理を開始する平準化処理開始ステップを含む監視処理、
を含むことを特徴とする仮想一元化ネットワークストレージシステムにおけるネットワークストレージ装置間のディスク平準化方法。
【請求項１６】
前記平準化処理の前記ディスク平準化ステップは、
ディスク残量が最小のネットワークストレージ装置を移動元ネットワークストレージ装置として選択し、ディスク残量が最大のネットワークストレージ装置を移動先ネットワークストレージ装置として選択するネットワークストレージ装置選択ステップと、
該ネットワークストレージ装置選択ステップによって選択された移動元ネットワークストレージ装置に格納されているファイルグループのうちの一つまたは幾つかを移動対象ファイルグループとして選択するファイルグループ選択ステップと、
該ファイルグループ選択ステップにおいて選択された移動対象ファイルグループを該移動元ネットワークストレージ装置から該移動先ネットワークストレージ装置へ移動するファイルグループ移動ステップと、
を含むことを特徴とする請求項１５記載の仮想一元化ネットワークストレージシステムにおけるネットワークストレージ装置間のディスク平準化方法。  
【請求項１７】
前記仮想一元化装置は、ファイルグループとその格納先ネットワークストレージ装置の関係をグループ配置情報として記録し、
前記ファイルグループ移動ステップは、前記移動先ネットワークストレージ装置に前記移動元ネットワークストレージ装置上の移動対象ファイルグループに属する全ファイルの複製を作成する複製ステップと、前記移動元ネットワークストレージ装置から該移動対象ファイルグループに属する全てのファイルを削除するステップと、前記グループ配置情報を更新するステップを含み、
移動中の該移動対象ファイルグループに属する少なくとも一つのファイルに対して、ユーザからの書き込みアクセス要求を受け付けると、該ファイルグループ移動ステップを中断し、該移動先ネットワークストレージ上の該移動対象ファイルグループに属する全ファイルを削除し、前記ファイルグループ選択ステップをやり直すことを特徴とする請求項１６記載の仮想一元化ネットワークストレージシステムにおけるネットワークストレージ装置間のディスク平準化方法。
【請求項１８】
前記仮想一元化装置は、ファイルグループとその格納先ネットワークストレージ装置の関係をグループ配置情報として記録し、
前記ファイルグループ移動ステップは、前記移動先ネットワークストレージ装置に前記移動元ネットワークストレージ装置上の移動対象ファイルグループに属する全ファイルの複製を作成する複製ステップと、前記移動元ネットワークストレージ装置から該移動対象ファイルグループに属する全ファイルを削除するステップと、前記グループ配置情報を更新するステップを含み、
該ファイルグループ移動ステップの実行中に、移動中の移動対象ファイルグループの少なくとも一つのファイルに対して、ユーザからの書き込みアクセス要求を受け取ると、該アクセス要求を破棄する手段を有することを特徴とする請求項１６記載の仮想一元化ネットワークストレージシステムにおけるネットワークストレージ装置間のディスク平準化方法。
【請求項１９】
複数のネットワークストレージ装置と、仮想一元化装置と、これらの間のネットワークを有し、該仮想一元化装置により該複数のネットワークストレージ装置がユーザから仮想的に１つのネットワークストレージ装置に見える仮想一元化ネットワークストレージシステムにおいて、
該仮想一元化装置は、ファイルとファイルを格納するネットワークストレージ装置の対応関係を示す配置情報を保持する保持手段と、仮想一元化手段と、ディスク平準化手段とを含み、
該ディスク平準化手段は更に、
各ネットワークストレージ装置のディスク残量を監視するディスク残量監視手段と、
前記ディスク残量監視手段から得る各ネットワークストレージ装置のディスク残量の最大値と最小値の差分を求め、該差分が第１の閾値以上であったの場合平準化処理の開始することを判定し、
ディスク残量が最小のネットワークストレージ装置をファイルの移動元ネットワークストレージ装置として選択し、ディスク残量が最大のネットワークストレージ装置をファイルの移動先ネットワークストレージ装置として選択し、ディスク残量の最大値と最小値の差分が第２の閾値未満となった時に前記平準化処理を停止させる平準化制御手段と、
選択された移動元ネットワークストレージ装置から移動先ネットワークストレージ装置へファイルを移動することにより前記平準化処理を実行するファイル移動手段とを含むことを特徴とする仮想一元化ネットワークストレージシステム。
【請求項２０】
前記仮想一元化装置はディスク残量テーブルを持ち、該ディスク残量テーブルは、前記複数ネットワークストレージ装置毎の識別子とディスク残量を保持することを特徴とする請求項１９記載の仮想一元化ネットワークストレージシステム。
【請求項２１】
前記該ファイル移動手段は、前記移動先ネットワークストレージ装置に該移動元ネットワークストレージ装置上の移動対象ファイルの複製を作成し、該移動元ネットワークストレージ装置から該移動対象ファイルを削除し該配置情報の更新することによりファイルの移動を行い、
前記仮想一元化手段は、該ファイル移動手段と並行に動作し、かつ該ファイル移動手段における該移動対象ファイルに対して、ユーザからの書き込みに関するアクセス要求を受け取ると、該アクセス要求を破棄する手段を有することを特徴とする請求項１９記載の仮想一元化ネットワークストレージシステム。
【請求項２２】
該仮想一元化装置は、管理者からの指示を受け付け、前記指示に従い仮想一元化装置の設定を変更する管理手段を更に有し、該管理手段は、管理者からディスク残量平準化処理開始の指示を受けると、前記平準化制御手段におけるディスク残量の最大値と最小値の差分による平準化処理開始の判定動作を起動させ、管理者からディスク残量平準化処理終了の指示を受けると、前記平準化手段を中断させることを特徴とした請求項１９記載の仮想一元化ネットワークストレージシステム。
【請求項２３】
該仮想一元化装置は、設定された一定間隔で前記平準化制御手段におけるディスク残量の最大値と最小値の差分による平準化処理開始の判定動作を起動させるカウンタを更に備えることを特徴とする請求項１９記載の仮想一元化ネットワークストレージシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想一元化されたネットワークストレージシステムに関連し、特にネットワークストレージ装置の間でファイル移動を伴う、ディスク使用量の平準化方法に関する。
【背景技術】
【０００２】
ネットワーク技術の発達に伴い、ストレージを計算機から分離してネットワークに接続し、ネットワーク経由でストレージにアクセスする形態が普及しつつある。このようなネットワーク接続されたストレージをネットワークストレージと呼ぶ。
【０００３】
ネットワークストレージの代表としてＳＡＮ（Storage  Area  Network）ストレージとＮＡＳ(Network  Attached  Storage)がある。ＳＡＮストレージはネットワークとして専用に開発されたＳＡＮを用い、性能と信頼性は高いが非常に高価であり、主にエンタープライズ用途向けに使用される。一方、ＮＡＳはネットワークとして最も普及しているＩＰネットワークを使用し、性能はＳＡＮストレージより低い。その一方で、価格がＳＡＮストレージに比べて低く、また手軽に使用できる。
【０００４】
高価で大規模なストレージを導入するより、安価で小規模なネットワークストレージを導入し、その後の必要に応じて小規模なネットワークストレージを追加していきたいという要求がある。しかし、新しいネットワークストレージを情報システムに追加する場合、新旧のネットワークストレージ間のデータ移動や、クライアント（計算機を含む）とネットワークストレージの再接続を行なわなければ成らず、システム管理コストが増大することが問題となる。
複数のネットワークストレージをクライアントから仮想的に一つのネットワークストレージとして見せるネットワークストレージの仮想一元化は、上述の管理コストをおさえる一つの方法と言える。
【０００５】
ネットワークストレージの仮想一元化技術として、いくつかの方法が開発されている。例えば、
http://www.maxtor.com/products/maxattach/products/applicationSpotlights/OTG_solutionsSpotlight.htm（文献１）には、プライマリストレージと呼ばれる管理サーバを兼ねたネットワークストレージがファイルの配置情報を一括管理し、ファイルの最終アクセス時刻によって格納するネットワークストレージを決定する仮想一元化方法について記載されている。新規に生成されたファイルは一定期間プライマリストレージに格納され、しばらくアクセスされない古いファイルはプライマリストレージからセカンダリストレージに移動される。クライアントからのファイルアクセスはプライマリストレージが受け付け、そのファイルがセカンダリストレージに存在する場合は、セカンダリストレージに対してファイルアクセスを行なうことで、クライアントからはあたかも一つのネットワークストレージのように見える。
【０００６】
また、DiFFS：a Scalable Distributed File System、 Christos Karamanolis et. al.、 HP Laboratories Palo Alto、HPL-2001-19、January 24、 2001(文献2)には、論理ボリューム単位でファイルとディレクトリを管理する、仮想一元化方法について記載されている。この方法は、ディレクトリとファイルを管理するディレクトリエントリ内にファイル格納先の論理ボリューム識別子を記録し、このディレクトリエントリを各論理ボリュームに分散配置する。各ネットワークストレージは論理ボリューム識別子とその格納先のネットワークストレージ識別子との対応テーブルを持っており、そのテーブルとディレクトリエントリからファイル格納先のネットワークストレージを特定する。新規のネットワークストレージがシステムに追加された場合、物理ディスクの仮想化技術であるＬＶＭ(Logical Volume Manager)のミラーリング機能を使用して、既存のネットワークストレージから新規のネットワークストレージへ論理ボリュームを移動する。
【０００７】
また、米国特許第6、029、168号（特許文献３）には、一つのファイルを部分的に複数のネットワークストレージに分散配置する仮想一元化方法が記載されている。ファイルを配置するネットワークストレージの分散範囲と順序のファイル管理情報を持ち、新規のネットワークストレージが追加された場合、このファイル管理情報を更新する。更新以降の新規生成ファイルは新しい分散範囲に配置されるようになる。ただしこの方法では、既存ファイルのファイル管理情報は更新されておらず、既存のファイルまたはその一部分が新規のネットワークストレージに移動されることはない。
【０００８】
また、特開平06−59982号公報（特許文献４）には、高速外部記憶装置のディスク残量に基づいて低速外部記憶装置にデータを退避させるかどうかを決定する、計算機の仮想記憶の制御方法について記載されている。この方法では、磁気ディスクよりも高速な高速外部記憶装置と低速だが大容量の磁気ディスクの低速外部記憶装置を備えている。高速外部記憶装置のディスク残量が閾値以下になった場合、データを外部記憶装置に退避させ、高速外部記憶装置のディスク残量が閾値以上になると低速外部記憶装置から高速外部記憶装置へデータを戻す。これにより、二つの外部記憶装置が計算機から一つの仮想記憶として見える。 
【０００９】
【非特許文献１】http://www.maxtor.com/products/maxattach/products/applicationSpotlights/OTG_solutionsSpotlight.htm
【非特許文献２】DiFFS：a Scalable Distributed File System、 Christos Karamanolis et. al.、 HP Laboratories Palo Alto、HPL-2001-19、January 24、 2001
【特許文献１】米国特許第6,029,168号公報
【特許文献２】特開平06−59982号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
前記文献１に記載の方法では、最終アクセス時刻によってファイルを格納するストレージを決定するため、プライマリストレージとセカンダリストレージの間で定常的なディスク使用量の不均衡が発生する。また、前記米国特許第6、029、168号では、ファイルが均等に分散配置されるため同時期にシステムに追加されたネットワークストレージ間ではディスク使用量が平準であるが、追加された時期が違うネットワークストレージ間では、ファイルの移動が行なわれないため、定常的なディスク使用量の不均衡が発生する。これらの定常的な不均衡が原因となり、あるネットワークストレージが飽和すると、他のネットワークストレージのディスク残量に余裕があるにも関わらず、ファイルへの書込みが出来なくなることがある。
【００１１】
この問題は、前記非特許文献２記載の方法に、各ネットワークストレージのディスク使用率を平準化する機能を追加すれば、解決することができる。しかし、ディスク使用率が平準化されていても、各ネットワークストレージのディスク容量が不均一なシステムでは、各ネットワークストレージのディスク残量が不均一となる。ここで、ディスク残量が最小のネットワークストレージに対して大量の書き込みが発生すると、そのストレージのディスク残量がなくなり、ファイルへの書き込みが出来なくなることがある。
【００１２】
また、この文献２記載の方法では、論理ボリュームの移動中にクライアントからのアクセス要求をバッファリングしている。そのため、論理ボリュームの移動中にクライアントからのアクセス要求が頻発すると、バッファフルを起こす可能性がある。このバッファフルが発生すると、システムはそれ以上アクセス要求を処理することが出来なくなり、クライアントからみてアクセス処理が止まってしまう。
【００１３】
前記文献３に記載の方法は、外部記憶装置のディスク残量に注目している点で、ファイルへの大量書込みが発生した場合の問題を解決するヒントになる方法である。ただし、前提となるシステムが高速外部記憶と低速外部記憶の2つのみであり、複数のネットワークストレージにより構成されているストレージシステムにそのまま応用できない。
【００１４】
本発明の第一の課題は、ネットワークストレージのディスク容量が不均一な仮想一元化ネットワークストレージシステムにおいて、各ネットワークストレージ間のディスク使用量の定常的な不均衡を防止することにより、ファイルへの大量書込みが発生した場合にも、仮想一元化ネットワークストレージシステムが管理するディスク全体に対して、最大限書き込めるようにする、仮想一元化されたネットワークストレージシステムのディスク残量の平準化方法を提供することにある。
【００１５】
本発明の第二の課題は、ネットワークストレージ間でファイルの移動を行なう仮想一元化されたネットワークストレージシステムにおいて、ネットワークストレージ間のファイルの移動中に、クライアントからのアクセス要求を止めない、仮想一元化ネットワークストレージシステムのディスク残量の平準化方法を提供することにある。
【課題を解決するための手段】
【００１６】
本発明の第一の課題は、各ネットワークストレージのディスク残量を平準化する手段によって解決できる。この手段を具体的に言うと、各ネットワークストレージ装置のディスク残量を調査するディスク残量調査ステップと、前記ディスク残量調査ステップの結果から前記ディスク残量の最大値と最小値を求め、該最大値と最小値の差分が閾値以上の場合に処理の開始を判定する平準化開始判定ステップと、前記ディスク残量が最も小さいネットワークストレージ装置を移動元ネットワークストレージ装置として選択し、前記ディスク残量が最も大きいネットワークストレージ装置を移動先ネットワークストレージ装置として選択するネットワークストレージ装置選択ステップと、前記移動元ネットワークストレージ装置に格納されている一つ又は複数のファイルを移動対象ファイルとして選択するファイル選択ステップと、前記移動対象ファイルを前記移動元ネットワークストレージ装置から前記移動先ネットワークストレージ装置へ移動し、該移動対象ファイルの前記配置情報を更新するファイル移動ステップと、前記ディスク残量の最大値と最小値の差分が閾値以上の場合に前記ディスク残量調査ステップ又は前記ネットワークストレージ装置選択ステップに戻って処理を継続することを判定し、前記ディスク残量の最大値と最小値の差分が閾値未満となった場合に処理の終了を判定する平準化終了判定ステップから成る。
【００１７】
本発明の第二の課題は、上記のファイル移動ステップで移動中のファイルに対して、クライアントから書き込み要求があった場合に、その移動を中止する手段よって解決できる。この手段を具体的に言うと、移動元ネットワークストレージ装置から移動対象ファイルを選択後、移動先ネットワークストレージ装置に移動対象ファイルをコピーし、コピー終了後に、移動対象ファイルの最終更新時刻とコピーファイルの生成時刻を相互に比較し、移動対象ファイルの最終更新時刻よりもコピーファイルの生成時刻の方が新しい場合は移動元ネットワークストレージ装置にある移動対象ファイルを削除してファイルの移動ステップを終了し、コピーファイルの生成時刻よりも移動対象ファイルの最終更新時刻の方が新しい場合は、移動先ストレージ装置にあるコピーファイルを削除し、再度移動対象ファイルの選択をやり直す。
【００１８】
本発明の第二の課題は、クライアントからの書き込み要求を破棄する手段によっても解決できる。移動対象ファイルに対する書き込み要求を破棄しクライアントに結果を返さないことで、クライアントにはネットワーク障害が起こったと認識させ、クライアントが書き込み要求を再送する間に、移動対象ファイルの移動を完了させる。
【発明の効果】
【００１９】
本発明の仮想一元化ネットワークストレージシステムのディスク残量の平準化方法は、各ネットワークストレージのディスク残量を調査し、各ネットワークストレージ間でファイルを移動し、ディスク残量を平準化する。これによって、仮想一元化ネットワークストレージで起こる定常的なディスク使用量の不均衡を解消できる。ネットワークストレージのディスク容量が不均一な場合であっても、各ネットワークストレージのディスク残量が等しくなるため、ディスクへの大量書込みに対して、局所的なネットワークストレージの飽和が起こりにくいシステムを実現できる。結果として、仮想一元化ネットワークストレージシステムのディスク容量を有効利用できるようになる。
平準化処理で移動中の移動対象ファイルにクライアントからの書き込みアクセスがあった場合は、前記平準化処理がファイル移動を中止する、もしくは、前記書き込みアクセスを破棄しクライアントにはネットワーク障害と認識させる。その結果、平準化処理をクライアントに対するファイル共有サービスを止めることなく行える。
【実施例１】
【００２０】
図１は本発明の第１の実施例を含む情報システムの全体構成を示す図である。
クライアント１はネットワーク２を介して仮想一元化手段9と本発明のディスク残量平準化手段１０より構成される仮想一元化装置３に接続されている。仮想一元化装置３はネットワーク４を介して、ネットワークストレージ５、６、７と接続されている。ネットワーク４を用意する代わりにネットワークストレージ５、６、７をネットワーク２に接続しても良い。ネットワーク２と４を独立すると、ディスク残量平準化処理に伴うファイルの移動と、クライアントからのファイルアクセス要求の処理のそれぞれを独立したネットワークを用いて実行できるため、それぞれの処理を高速に実行できる。一方ネットワーク２にネットワークストレージ５、６、７を接続すると、同一ネットワークにおいて、ディスク残量平準化に伴うファイル移動とクライアントからのファイルアクセス処理を実現するため、別系使用時よりもネットワーク性能が低下する。一方、ネットワーク４が不要となり、コストを抑えることができる。仮想一元化装置３は、仮想一元化手段９によってクライアントからネットワークストレージ５、６、７を仮想的に一元化した仮想一元化ネットワークストレージシステム８を提供し、本発明のディスク残量平準化手段１０によって、その仮想一元化ネットワークストレージシステム８のディスク容量の有効活用が可能となる。
（ネットワークストレージ）
ネットワークストレージ５、６、７は公知の技術によって構成されるもので、リモート制御手段１１とストレージ装置１２とを備える。ストレージ装置１２はファイルシステムにより管理される。あるいは、ネットワークストレージは、ＩＰ  ｏｖｅｒ  ＳＣＳＩプロトコルを解釈するＩＰストレージでも良い。ネットワークストレージ５、６、７は専用装置であっても良いし、ストレージ装置を備えた汎用のサーバ、ワークステーション、あるいは、ＰＣにリモート制御手段を搭載しても良い。ネットワークに接続するストレージであればどのような構成でもよい。
【００２１】
リモート制御手段１１は、ネットワーク上に接続されたクライアントからのマウント要求とファイルの生成、読み出し、書き込み、あるいは、ディレクトリの生成の要求等を受け、ストレージ装置１２に対してファイルの生成、読み出し、書き込み、あるいは、ディレクトリの生成等を行なう。リモート制御手段１１は、サン・マイクロシステムズ社（Sun  Microsystems、Inc．）によって開発されたＮＦＳ（Network  File  System）や、マイクロソフト社（Microsoft  Corporation）によって開発されたＣＩＦＳ（Common  Internet  File  System）等のファイルアクセスプロトコルを使用して、クライアントとの通信を行なう。本実施例１ではファイルアクセスプロトコルとしてＮＦＳを用いるものとする。ＮＦＳの要求を受け、ファイルアクセス処理を行なうリモート制御手段１１としては、公知のｍｏｕｎｔｄとｎｆｓｄを使用する。
（仮想一元化装置）
仮想一元化装置３は、公知の技術による仮想一元化手段９と本発明のディスク残量平準化手段１より構成される。本実施例において、仮想一元化装置３は、ファイルのデータ部分は保持しておらず、仮想一元化ネットワークストレージシステム８の管理に特化した専用装置である。
【００２２】
仮想一元化手段９は、配置情報９０、要求処理手段１１０、管理手段１２０から構成される。配置情報９０は、仮想一元化ネットワークストレージシステム８で管理されるファイルと、そのファイルを保持するネットワークストレージ番号の対応関係を保持する。詳細は後述の（配置情報）の項で説明する。要求処理手段１１０は、クライアント１から仮想一元化ネットワークストレージシステム８内のファイルへのアクセス要求を受け付け、前記アクセス要求を処理する。詳細は後述する（要求処理手段）の項で説明する。管理手段１２０は仮想一元化ネットワークストレージシステム８を管理する管理者からの指示をWebあるいはコンソール経由で受け付け、仮想一元化装置３の設定変更や、仮想一元化ネットワークストレージシステム８の構成変更の指示を受け付け、配置情報９０の内容を変更する。本発明のディスク残量平準化手段１０の設定情報も、管理者から管理手段１２０を経由して設定される。詳細は、後述の（ディスク残量平準化手段の設定情報）の項で説明する。
【００２３】
ファイル格納先となる各ネットワークストレージ５、６、７は、仮想一元化ネットワークストレージシステム８と同じファイルディレクトリ構造を持っていても良いし、独自の構造を持っていても良い。あるいは、ネットワークに接続するＩＰストレージでもよい。前者の場合、障害等により仮想一元化ネットワークストレージシステム８のファイルディレクトリ構造が消失しても、各ネットワークストレージ５、６、７の持つファイルディレクトリ構造を利用して、仮想一元化ネットワークストレージシステム８のファイルディレクトリ構造を復元できる。但し、本発明のディスク残量平準化処理中のファイル移動前後で仮想一元化ネットワークストレージシステム８とネットワークストレージの間でファイルディレクトリ構造の一貫性を保たなければ成らない。そのため、ファイル移動中はクライアントからのディレクトリ変更要求を待たせる必要がある。後者の場合、ファイルディレクトリ構造がネットワークストレージ５、６、７に存在しないため、仮想一元化ネットワークストレージシステム８のファイルディレクトリ構造のバックアップを持つ必要がある。しかし、各ネットワークストレージが独自の構造を持つため、ファイル移動前後で仮想一元化ネットワークストレージシステム８と各ネットワークストレージの間で一貫性を保つ必要がなく、ファイル移動中にクライアントからのディレクトリ変更要求を待たせる必要がない。システムの可用性を重視する場合は、前者の構成をとれば良いし、ディスク残量平準化処理中のアクセス処理性能を重視する場合は、後者の構成をとれば良い。
【００２４】
本発明のディスク残量平準化手段１０は、ディスク残量監視手段１５０、平準化制御手段１６０、ファイル移動手段１７０、ディスク残量平準化手段の設定情報１８０、平準化制御手段の制御情報１９０、ファイル移動手段の制御情報２００、アクセス監視手段２１０から構成される。ディスク残量監視手段１５０は各ネットワークストレージのディスク残量を常時監視し、必要があれば平準化制御手段１６０にディスク残量平準化処理の開始を指示する。詳細は後述の（ディスク残量監視手段）の項で説明する。平準化制御手段１６０は、ファイルの移動元及び移動先となるネットワークストレージを決定して、ファイル移動手段１７０を制御する。詳細は後述の（平準化制御手段）の項で説明する。ファイル移動手段１７０は、平準化制御手段１６０によって指定されたファイルの移動元ネットワークストレージから移動先ネットワークストレージへファイルを移動する。詳細は後述の（ファイル移動手段）の項で説明する。ディスク残量平準化手段の設定情報１８０の詳細は後述の（ディスク残量平準化手段の設定情報）の項で説明する。平準化の制御情報１９０の詳細は後述の（平準化の制御情報）の項で説明する。ファイル移動手段の制御情報２００の詳細は後述の（ファイル移動手段の制御情報）の項で説明する。アクセス監視手段２１０は、クライアントからのアクセス頻度を監視し、アクセス頻度が高いかどうかを示す情報を設定する。詳細は、後述の（アクセス監視手段）の項で説明する。
（配置情報）
配置情報９０は、仮想一元化ネットワークストレージシステム８で管理するファイルとこれらファイルの格納先ネットワークストレージの対応を保持するマッピングテーブルである。要求処理手段１１０は配置情報９０を利用して指定したファイルの格納先ネットワークストレージの識別子（ネットワークストレージ番号）を得ることができる。ディスク残量の平準化処理によってファイルを移動しその格納先ネットワークストレージを変更した場合、ファイル移動手段１７０が配置情報９０における前記ファイルに対応する格納先ネットワークストレージ番号を平準化処理の内容に沿って変更する。
【００２５】
配置情報９０はファイルシステム１００を利用して実現される。ファイルシステム１００内には仮想一元化ネットワークストレージシステム８と同じファイルディレクトリ構造が構築されている。前記仮想一元化ネットワークストレージシステム８におけるファイルは、前記ファイルシステムにおける同じ場所にダミーファイルとして配置される。このダミーファイル内には、前記ファイルの格納先ネットワークストレージのネットワークストレージ番号が記述される。
要求処理手段１１０はクライアントからファイルアクセス要求を受けると、ファイルシステム１００のファイルディレクトリ構造を探索し、前記ファイルに対応するダミーファイル内に記述されているファイル格納先のネットワークストレージ番号を特定する。
（要求処理手段）
要求処理手段１１０は、クライアント1のユーザからの仮想一元化ネットワークストレージシステム８へのファイルのアクセス要求を一元的に受け付け、前記ファイルへのアクセス要求を受け取ると、配置情報９０に問い合わせ、前記ファイルの格納先ネットワークストレージを特定し、前記格納先ネットワークストレージのリモート制御手段１１に対して前記アクセス要求を転送する。また、要求処理手段１１０は、ユーザからアクセス要求を受けるたびに、仮想一元化ネットワークストレージシステム８全体で管理される情報であるアクセス頻度（Ｒｆｒｅｑ）の値をインクリメントする。アクセス頻度（Ｒｆｒｅｑ）は、後述するアクセス頻度監視手段２１０で参照される。
（ディスク残量平準化手段の設定情報）
図２にディスク残量平準化手段の設定情報１８０を示す。ディスク残量平準化手段の設定情報１８０は管理手段１２０により設定され、仮想一元化装置３内に保持される。ディスク残量平準化手段の設定情報１８０は、ディスク残量監視間隔（Ｔｃｈｅｃｋ）１２５１、平準化実行上限時間（ＴＩＭＥｍａｘ）１２５２、アクセス頻度監視間隔（Ｔａｃｈｅｃｋ）１２５３、不均衡ディスク残量差（Ｔｄｉｆｆ）１２６１、平準化開始ディスク残量（Ｔｓｔａｒｔ）１２６２、平準化抑止ディスク残量（Ｔｓｔｏｐ）１２６３、平準化実行フラグ（Ｆｒｕｎ）１５６１、平準化中止フラグ（Ｆａｂｏｒｔ）１２７１、最大リトライ回数（ＲＴＡＹｍａｘ）１２７１、アクセス頻度閾値（Ｔｒｅｑ）１２７３からなる。ディスク残量監視間隔１２５１と平準化実行上限時間１２５２はディスク残量平準化処理のスケジューリングに使用される。アクセス頻度監視間隔１２５３は、クライアントからのファイルアクセス要求を監視する間隔である。不均衡ディスク残量差１２６１と平準化開始ディスク残量１２６２と平準化抑止ディスク残量１２６３はディスク残量平準化処理の開始及び終了判定に使用され、最大リトライ回数１２７２はネットワークストレージの選択に使用される。アクセス頻度監視間隔１２５３と、アクセス頻度閾値１２５３はアクセス頻度の監視処理で用いられる。
【００２６】
ディスク残量監視間隔１２５１は、ネットワークストレージのディスク残量の監視間隔であり、管理者によって設定され、ディスク残量監視手段１５０によって参照される。ディスク残量監視間隔１２５１は、１時間から数週間程度が妥当だと考えられるが、それ以上、またはそれ以下の間隔であってもかまわない。ディスク残量監視間隔１２５１が短いほど、ディスク残量の急激な減少に対して正確に状況を把握できるようになるが、逆にディスク残量の監視処理自身が頻繁に動くため、仮想一元化装置の処理が重くなる。従って、ディスク残量の増減の度合いによって、ディスク残量監視間隔１２５１を適切に設定する。
平準化実行上限時間１２５２は、平準化制御手段１６０に参照され、平準化処理の継続上限時間を示す設定情報である。平準化制御手段１６０は、ディスク残量平準化処理を開始してから、平準化実行上限時間１２５２の時間が経過すると、平準化完了条件に関係なく強制的に処理を終了する。この機能によって、例えば、クライアント１からのアクセス要求が少ない時間帯だけディスク残量平準化処理を実行したいという要求に応えることが可能となる。平準化実行上限時間１２５２は数分程度から1日程度が妥当な値と考えられる。
アクセス頻度監視間隔１２５３は、クライアントから仮想一元化ネットワークストレージシステム８に対してどれくらい頻繁にファイルアクセス要求が転送されているかを調査する間隔であり、アクセス監視手段２１０が参照する。
不均衡ディスク残量差（Ｔｄｉｆｆ）１２６１は、ディスク残量の不均衡がシステム内で発生しているかを判定するための設定情報で、ディスク残量の最大値と最小値の差分の閾値である。ディスク残量監視手段１５０と平準化制御手段１６０によって参照される。ディスク残量監視手段１５０は、ディスク残量の最大値と最小値の差分が不均衡ディスク残量差１２６１以上の場合、ネットワークストレージ間のディスク残量のばらつきが大きくなっていると判定し、ディスク残量平準化処理の開始を指示する。一方、ディスク残量の最大値と最小値の差分が不均衡ディスク残量差１２６１を下回った場合、ネットワークストレージ間のディスク残量の不均衡が解消されたと判定し、ディスク残量平準化処理の終了を指示する。不均衡ディスク残量差１２６１は、０Ｂ以上で、最もディスク容量の小さいネットワークストレージのディスク容量よりも小さい値とする。例えば、複数のネットワークストレージのうち最もディスク容量の小さいネットワークストレージのディスク容量が１００ＧＢの場合、不均衡ディスク残量差１２６１は１ＧＢから２０ＧＢ程度までが妥当だと考えられるが、０から１００ＧＢの間であればどの値をとっても良い。
平準化開始ディスク残量（Ｔｓｔａｒｔ）１２６２は、ディスク残量平準化処理を開始するための閾値であり、ディスク残量監視手段１５０と平準化制御手段１６０により参照される。ネットワークストレージのディスク残量の最小値が平準化開始ディスク残量１２６２未満となり、かつディスク残量の不均衡が発生している場合、ディスク残量平準化処理が開始される。
平準化抑止ディスク残量（Ｔｓｔｏｐ）１２６３は、全てのネットワークストレージにほとんど空きがなく、他からのファイルの移動ができなくなる場合にディスク残量平準化処理を抑止するための閾値である。ディスク残量監視手段１５０と平準化制御手段１６０により参照される。個々のネットワークストレージのディスク残量のうちの最大値が平準化抑止ディスク残量１２６３を下回ると、ディスク残量平準化処理は抑止される。
最大リトライ回数（ＲＴＲＹｍａｘ）１２７２は、ファイル移動手段１７０が行なうファイル選択のリトライ回数の閾値で、巨大なファイルが多数存在するネットワークストレージから他のネットワークストレージへのファイルの移動を抑止する。
平準化中止フラグ（Ｆａｂｏｒｔ）１２７１は、ディスク残量平準化処理を中止するためのフラグである。平準化中止フラグ１２７１は、管理者の指示によって管理手段１２０が設定し、平準化制御手段１６０が参照する。
アクセス頻度閾値（Ｔｒｅｑ）１２７３は、ディスク残量平準化処理を開始及び抑止するための閾値であり、アクセス監視手段２１０が参照する。アクセス監視手段２１０は、要求処理手段１１０により記録されるアクセス頻度（Ｒｆｒｅｑ）をアクセス頻度監視間隔１２５３ごとに監視しており、アクセス頻度（Ｒｆｒｅｑ）がアクセス頻度閾値１２７３以上の場合には、アクセス頻度フラグ（Ｆａｃｃ）１５６３に１を設定する。また、アクセス頻度（Ｒｆｒｅｑ）がアクセス頻度閾値１２７３未満になると、アクセス頻度フラグ１５６３に０を設定する（詳細は後述）。
（平準化の制御情報）
図３に平準化の制御情報１９０を示す。平準化の制御情報１９０は、ネットワークストレージ情報テーブル１５５、平準化実行フラグ（Ｆｒｕｎ）１５６１、システム飽和フラグ（Ｆｆｕｌｌ）１５６２、アクセス頻度フラグ（Ｆａｃｃ）１５６３からなる。平準化の制御情報１９０は、ディスク残量監視手段１５０あるいはアクセス監視手段２１０、と平準化制御手段１６０のあいだで連携される情報であり、仮想一元化装置３内に保持される。
【００２７】
ネットワークストレージ情報テーブル１５５は、各ネットワークストレージのディスク容量の情報を格納するためのテーブルである。詳細は後述の（ネットワークストレージ情報テーブル）の項で説明する。
平準化実行フラグ（Ｆｒｕｎ）１５６１は、ディスク残量監視手段１５０によって設定され、平準化制御手段１６０にディスク残量平準化処理の開始を指示する。
システム飽和フラグ（Ｆｆｕｌｌ）１５６２は、ディスク残量監視手段１５０によって設定され、全てのネットワークストレージのディスクの使用量がほぼ満杯であることを示す。システム飽和フラグ１５６２に１が設定されている場合には、たとえ平準化実行フラグ１５６１に１が設定されていても、ディスク残量平準化処理を行わない。
アクセス頻度フラグ（Ｆａｃｃ）１５６３は、アクセス頻度監視手段２１０により設定され、ディスク残量監視手段１５０および平準化制御手段１６０により参照される。また、アクセス監視手段２１０は、アクセス頻度監視間隔１２５３ごとにアクセス頻度（Ｒｒｅｑ）をチェックし、アクセス頻度Ｆａｃｃフラグの内容を更新する。詳細は後述の（アクセス頻度監視手段）の項で説明する。
（ネットワークストレージ情報テーブル）
ネットワークストレージ情報テーブル１５５を図４に示す。
【００２８】
１５５１の行は各ネットワークストレージのネットワークストレージ番号を示し、ネットワーク情報テーブル１５５１に読み書きを行なうためのインデックスとなる。１５５２の行は各ネットワークストレージのディスク容量（ファイルを一つも格納しない場合の使用可能容量）を示す。１５５３の行は各ネットワークストレージの現在のディスク残量を示す。この行はディスク残量監視手段１５０によって定期的に設定され、平準化制御手段１６０がどのネットワークストレージからどのネットワークストレージへファイルを移動したらよいか、及びどれくらいのデータを移動したらよいか、処理の終了判定を行なうために使用される。例えば図４の例ではディスク容量の単位をＧＢと定めると、ネットワークストレージ１、２、３、４のディスク容量はそれぞれ120GB、100GB、200GB、180GBであり、ディスク残量はそれぞれ30GB、20GB、80GB、90GBである。
（ファイル移動手段の制御情報）
図５にファイル移動手段の制御情報２００を示す。ファイル移動手段の制御情報２００は、ネットワークストレージ属性テーブル１６５、移動元ネットワークストレージ番号（Ｎｓ）１６６１、移動先ネットワークストレージ番号（Ｎｄ）１６６２、最大データ量（Ｑｍａｘ）１６６３、最小データ量（Ｑｍｉｎ）１６６４、終結時刻（Ｔｅｎｄ）１６６５からなる。ファイル移動手段の制御情報２００は、平準化制御手段１６０とファイル移動手段１７０の間で連携される情報であり、仮想一元化装置3に保持される。
【００２９】
ネットワークストレージ属性テーブル１６５は、各ネットワークストレージがファイルの移動先又はファイルの移動元として選択可能かどうかを示す属性情報を記録するテーブルである。どのネットワークストレージからどのネットワークストレージにファイルを移動するかを決定したり、巨大なファイルを移動しないために使用する。詳細は後述の（ネットワークストレージ属性テーブル）の項で説明する。移動元ネットワークストレージ番号（Ｎｓ）１６６１は、ファイルの移動元となるネットワークストレージの識別番号である。移動先ネットワークストレージ番号（Ｎｄ）１６６２はファイルの移動先となるネットワークストレージの識別番号である。最大データ量（Ｑｍａｘ）１６６３は、ファイル移動手段１７０が一度に移動する最大のデータ量である。最小データ量（Ｑｍｉｎ）１６６４は、ファイル移動手段１７０が一度に移動する最小データ量である。終結時刻（Ｔｅｎｄ）１６６５は、平準化処理を強制終了する時刻で、平準化処理の開始時刻（ＣＵＲＲＥＮＴ  ＴＩＭＥ）に平準化処理実行上限時間１２５２を加算した値である。ファイル移動手段１７０は、ファイル移動中であっても終結時刻１６６５を経過すると処理を終了する。
（ネットワークストレージ属性テーブル）
ネットワークストレージ属性テーブル１６５を図6に示す。1651の行は、各ネットワークストレージ番号を示す。1652の行は、各ネットワークストレージが移動元ネットワークストレージとして選択可能かどうかを示す。1652の行に"NULL"が記述されていれば、移動元ネットワークストレージとして選択可能である。"Don't  Select"と記述されていれば移動元ネットワークストレージとして選択されない。図6の例では、ネットワークストレージ3、4が移動元ネットワークストレージとして選択されない。1652の行は、各ネットワークストレージが移動先ネットワークストレージとして選択可能かどうかを示す。1653の行に"NULL"が記述されていれば、移動元ネットワークストレージとして選択可能で、"Don't Select"が記述されていれば移動先ネットワークストレージとして選択されない。図6の例では、ネットワークストレージ２、４が移動先ネットワークストレージとして選択されない。ネットワークストレージ４は移動元ネットワークストレージとしても移動先ネットワークストレージとしても選択されない。
（ディスク残量監視手段）
ディスク残量監視手段１５０は定期的に各ネットワークストレージのディスク残量を計測し、平準化制御手段１６０に平準化処理の開始又は終了を指示する。図7にディスク残量監視手段の処理フローを示す。
【００３０】
１５０１でディスク残量監視手段１５０が起動されると、ディスク残量監視手段150は平準化実行フラグ（Ｆｒｕｎ）１５６１とシステム飽和フラグ（Ｆｆｕｌｌ）１５６２に‘０’をセットして初期化する(ステップ１５０２)。次に、各ネットワークストレージのディスク残量を計測し、計測結果を図４に示すネットワークストレージ情報テーブル１５５のディスク残量の行１５５３に書込む(ステップ１５０３)。ディスク残量の計測は、各ネットワークストレージにＮＦＳプロトコルのＳＴＡＴＦＳプロシージャを発行しても良いし、その他ネットワーク経由で各ネットワークストレージのディスク残量を取得できればどのような方法を用いても良い。次に、前記計測結果から、各ネットワークストレージのディスク残量の最大値（Ｒｍａｘ）とディスク残量の最小値（Ｒｍｉｎ）を求める（１５０４）。次に、１５０５において、ディスク残量の最大値（Ｒｍａｘ）と平準化抑止ディスク残量（Ｔｓｔｏｐ）１２６３を比較する。ディスク残量の最大値（Ｒｍａｘ）が平準化抑止ディスク残量１２６３未満の場合、１５０６においてシステム飽和フラグ（Ｆｆｕｌｌ）１５６２に１を設定して、ステップ１５０７〜１５１０を行なわずにステップ１５１１に移る。ＲｍａｘがＴｓｔｏｐ１２６３以上である場合、システム飽和フラグ（Ｆｆｕｌｌ）１５６２に０を設定し（ステップ１５１２）、１５０７に進み、ディスク残量の最小値（Ｒｍｉｎ）と平準化開始ディスク残量（Ｔｓｔａｒｔ）１２６２を比較する。ＲｍｉｎがＴｓｔａｒｔ以上の場合、１５０８に進み、アクセス頻度フラグ（Ｆａｃｃ）１５６３が１かどうかを判定する。ステップ１５０８において、アクセス頻度フラグ（Ｆａｃｃ）１５６３が１である場合には、クライアントからのファイルアクセスが頻繁であると判定して、ステップ１５１１に移る。ステップ１５０７でＲｍｉｎがＴｓｔａｒｔ未満であり、かつステップ１５０８でＦａｃｃが０の場合（クライアントからのファイルアクセスが稀である場合）、ステップ１５０９に進む。ステップ１５０９では、ディスク残量の最大値（Ｒｍａｘ）とＲｍｉｎの差分と不均衡ディスク残量差（Ｔｄｉｆｆ）１２６１を比較する。差分がＴｄｉｆｆ以上の場合、１５１０で平準化実行フラグ（Ｆｒｕｎ）１５６２に１を設定して、平準化制御手段160に平準化処理の開始を指示する。ステップ１５０９で差分がＴｄｉｆｆ未満の場合、ステップ１５１０の処理を行なわずにステップ１５１１に移る。ステップ１５１１ではステップ１５０３を行なった時刻からディスク残量監視間隔（Ｔｃｈｅｃｋ）１２５１を加算した時刻までスリープし、１５０３の処理へ戻る。
【００３１】
ディスク残量監視手段１５０は、管理者の定めたディスク残量監視間隔（Ｔｃｈｅｃｋ）１２５１ごとに、各ネットワークストレージのディスク残量を計測し、その結果を元に平準化制御手段１６０が平準化処理を行うかを判定する。そのため、平準化処理の実行はディスク残量監視間隔1２５１ごとに行われ、ディスク残量監視間隔１２５１は平準化処理の実行間隔を保持するカウンタの役割を果たす。
（アクセス監視手段）
アクセス監視手段２１０は、管理者あるいは仮想一元化ネットワークストレージシステム８のベンダが定めたアクセス頻度監視間隔（Ｔａｃｈｅｃｋ）１２５３ごとに、クライアントからのファイルアクセス要求の頻度を調査する。アクセス頻度（Ｒｆｒｅｑ）は、要求処理手段１１０がファイルアクセス要求を受け付けるたびに、要求処理手段１１０によりインクリメントされる。アクセス監視手段２１０は、アクセス頻度監視間隔１２５３毎に、アクセス頻度Ｒｆｒｅｑを調査し、クライアントからのファイルアクセスが頻繁であるかどうかを判定する。図２０にアクセス監視手段２１０の処理フローを示す。ステップ２００１でアクセス監視手段２１０が起動されると、ステップ２００２において、アクセス頻度フラグ（Ｆａｃｃ）１５６３を０に初期化する。次に、ステップ２００３において、アクセス頻度（Ｒｆｒｅｑ）とアクセス頻度閾値（Ｔｒｅｑ）１２７３を比較する。アクセス頻度（Ｒｆｒｅｑ）がアクセス頻度閾値（Ｔｒｅｑ）１２７３以上である場合には、クライアントからのファイルアクセスが頻繁であると判断し、ステップ２００４において、アクセス頻度フラグ（Ｆａｃｃ）１５６３に１をセットする。ステップ２００３において、アクセス頻度（Ｒｆｒｅｑ）がアクセス頻度閾値（Ｔｒｅｑ）１２７３未満である場合には、ステップ２００５において、アクセス頻度フラグ（Ｆａｃｃ）１５６３に０をセットする。そしてステップ２００６において、アクセス頻度（Ｒｒｅｑ）の値を０に初期化する。最後に、ステップ２００７において、アクセス頻度監視間隔（Ｔａｃｈｅｃｋ）１２５３の間スリープする。
（平準化制御手段）
平準化制御手段１６０は、ディスク残量監視手段１５０が設定する平準化実行フラグ（Ｆｒｕｎ）１５６１とシステム飽和フラグ（Ｆｆｕｌｌ）１５６２を常時監視しており、それらのフラグが設定されるとディスク残量平準化処理を開始する。
図８に平準化制御手段１６０の処理フローを示す。この処理フローは平準化開始判定、ファイル移動を行うべきネットワークストレージの選択、ファイル移動ステップ１６３と、平準化終了判定という流れとなっている。
【００３２】
ステップ１６０１で平準化制御手段160が起動されると、平準化実行フラグ（Ｆｒｕｎ）１５６１とシステム飽和フラグ（Ｆｆｕｌｌ）１５６２の監視を開始する（1602）。ディスク残量に不均衡が発生していない場合はＦｒｕｎ１５６１が０に設定されているため、１６０２のループを繰返し、ディスク残量平準化処理を開始しない。また、システム飽和フラグ１５６２に１が設定されている場合にも、同様に１６０２のループを繰返す。システム飽和フラグ１５６２の値が０で、かつ平準化実行フラグ１５６１に１が設定されている場合にのみ、平準化処理を開始する。まず、１６０３の処理において、平準化開始時刻（現在の時刻）を計測し、平準化処理の終結時刻（Ｔｅｎｄ）１６６５を設定する。終結時刻１６６５は、開始時刻（ＣＵＲＲＥＮＴ  ＴＩＭＥ）に平準化処理実行上限時間（TIMEmax）１２５２を加算して算出する。次に、１６０４において、ネットワークストレージ属性テーブル１６５の初期化を行なう。１６０４の詳細フローは、後述の（ネットワークストレージ属性テーブルの初期化）の項で説明する。
【００３３】
ステップ１６０５では、移動元ネットワークストレージ（Ｎｓ）１６６１と移動先ネットワークストレージ（Ｎｄ）１６６２を選択する。１６０５の詳細フローは、後述の（ネットワークストレージの選択）の項で説明する。
【００３４】
次に、移動元ネットワークストレージ（Ｎｓ）１６６１と移動先ネットワークストレージ（Ｎｄ）１６６２が正常に選択されたかどうかを判定する(1606)。Ｎｓ１６６１とＮｄ１６６２が選択されなかった場合、1607〜1611を行なわず、1612に移って平準化処理実行フラグ（Ｆｒｕｎ）をリセットして、ディスク残量平準化処理を終了する。Ｎｓ１６６１とＮｄ１６６２が選択された場合、最大データ量（Ｑｍａｘ）1663と最小データ量（Ｑｍｉｎ）1664を求める（1607）。移動元ネットワークストレージ（Ｎｓ）１６６１のディスク残量をRs、移動先ネットワークストレージ（Ｎｄ）１６６２のディスク残量をRdとすると、Ｑｍａｘ1663は（Rd−Rs）／2に、Ｑｍｉｎ1664はＱｍａｘ1663−Ｔｄｉｆｆ261／2となる。
【００３５】
次に、ファイル移動手段170を起動し、移動元ネットワークストレージ（Ｎｓ）1661から移動先ネットワークストレージ（Ｎｄ）１６６２へ、ファイルを移動する。移動は移動したデータ量がＱｍｉｎ1664を超えるまで行う（1608）。このとき、ファイル移動手段170は、移動したデータ量がＱｍａｘを超えないようにファイルの移動を行なう。
【００３６】
次に、各ネットワークストレージのディスク残量を計測し、計測結果を図4に
示すネットワークストレージ情報テーブル１５５のディスク残量の行1553に上書きする（1609）。
【００３７】
次に、更新したディスク残量の行1553を参照してネットワークストレージ属性テーブル１６５の更新を行なう（1610）。1610の詳細フローについては後述の（ネットワークストレージ属性テーブルの更新）の項で説明する。
【００３８】
次にステップ１６１１で平準化処理を終了すべきかを判定する。終了すべきでない場合は、ステップ１６０５の移動元ネットワークストレージ、移動先ネットワークストレージの選択に戻り、処理を繰り返す。なおこのステップ１６０５を一定時間空けてから再開する場合、平準化処理でのファイル移動が断続的になり、クライアントからのファイルアクセスの妨害が少なくなる。
終了すべきと判断した場合はステップ１６１２で平準化処理実行フラグＦｒｕｎをリセットして処理を終了する。ステップ１６１１では、第一から第五の平準化完了条件のいずれかが満足されると平準化処理を終了する。第一の平準化完了条件は、ディスク残量の最大値（Ｒｍａｘ）とディスク残量の最小値（Ｒｍｉｎ）の差分がＴｄｉｆｆ未満になることである。第二の平準化完了条件は、現時刻が平準化処理の完了時刻（Ｔｅｎｄ）を経過していることである。第三の平準化完了条件は、図２で説明した平準化中止フラグＦａｂｏｒｔが管理者により設定されていることである。第二および第三の平準化完了条件は、たとえ各ネットワークストレージのディスク残量の間の偏差が残っていても（ＲｍａｘとＲｍｉｎの差分がＴｄｉｆｆ以上であっても）、平準化処理に平準化上限時間ＴＩＭＥmaxだけ費やしていれば、もしくは管理者が処理中止を設定すれば平準化処理を終了する。第四の平準化完了条件は、ディスク残量の最大値（Ｒｍａｘ）がＴｓｔｏｐ未満となる場合である。このケースでも、各ネットワークストレージのディスク残量の間に偏差があっても（ＲｍａｘとＲｍｉｎの差分がＴｄｉｆｆ以上であっても）、平準化処理を終了する。第五の平準化完了条件は、ディスク残量の最小値（Ｒｍｉｎ）がＴｓｔａｒｔ未満であり、かつアクセス頻度フラグ（Ｆａｃｃ）が１になった場合である。つまり、あるネットワークストレージのディスク残量がＴstart未満になったからではなく、アクセス頻度フラグ（Ｆａｃｃ）が０であることをトリガに開始された平準化処理は、その処理最中にアクセス頻度が高くなり、アクセス頻度フラグ（Ｆａｃｃ）に１が設定されると、中断する。これにより、クライアントからのファイルアクセス要求の処理に支障が出るのを防止する。
（ネットワークストレージ属性テーブルの初期化）
平準化制御手段１６０が図8の1604で行なう図6に示すネットワークストレージ属性テーブル１６５の初期化の詳細フローを図9に示す。
【００３９】
初期化開始後、ネットワークストレージ属性テーブル165の1652と1653の行の全てに欄に"NULL"を書込む(16042)。次に、ネットワークストレージ情報テーブル１５５のディスク残量の行1553を参照し、ディスク残量が平準化抑止ディスク残量（Ｔｓｔｏｐ）１２６３未満のネットワークストレージについては、1653の行の対応する部分に"Don't Select"を記入する(16043)。これによりディスク残量が平準化抑止ディスク残量１２６３を下回るネットワークストレージが移動先ネットワークストレージとして選択されなくなる。
（ネットワークストレージの選択）
平準化制御手段１６０が図8の1605で行なうネットワークストレージの選択の詳細フローを図10に示す。
【００４０】
選択開始後、図6に示すネットワークストレージ属性テーブルの行1652に"Don'
t  Select"と記入されていないネットワークストレージの中で、ディスク残量が最小のネットワークストレージの識別番号を移動元ネットワークストレージ番号（Ｎｓ）１６６１とする(16052)。次に、ネットワークストレージ属性テーブルの行1653のＮｓ１６６１に対応する欄に"Don't  Select"を書き込む(16053)。次に、ネットワークストレージ属性テーブル１６５の行1653に"Don't  Select"と記入されていないネットワークストレージの中で、ディスク残量が最大のネットワークストレージの識別番号を移動先ネットワークストレージ番号（Ｎｄ）１６６２とする(16054)。次に、ネットワークストレージ属性テーブル１６５の行1652のＮｄ１６６２に対応する欄に"Don't  Select"を書き込み(16055)、処理を終了する。
（ネットワークストレージ属性テーブルの更新）
平準化制御手段１６０によるネットワークストレージ属性テーブル１６５の更新の詳細フローを図１１に示す。更新開始後、図４に示すネットワークストレージ情報テーブル１５５のディスク残量の行１５５３を参照し、ディスク残量が平準化抑止ディスク残量（Ｔｓｔｏｐ）１２６３未満のネットワークストレージについてはネットワークストレージ属性テーブル１６５の１６５３の行の対応する部分に"Don't  Select"を記入する。これにより平準化処理中にディスク残量が少なくなったネットワークストレージが移動先ネットワークストレージとして選択されなくなる。
（ファイル移動手段）
ファイル移動手段170は、平準化制御手段１６０から起動され、移動元ネットワークストレージ（Ｎｓ）１６６１から移動先ネットワークストレージ（Ｎｄ）１６６２へ、全データ移動量が最小データ量１６６４以上になるまでファイルを移動する。このファイル移動手段１７０は2つの大きな特徴をもつ。1つ目の特徴は、移動元ネットワークストレージのディスク残量と移動先ネットワークストレージのディスク残量が逆転しないようにファイルの選択を行なうことである。（全データ移動量が最大データ量１６６３未満になる様にファイルの選択を行なう。）この特徴によって、ディスク残量の振動を抑制し、無駄なファイルの移動を防ぐ。２つ目の特徴は、移動中のファイルに対してクライアントから書込み要求があった場合に、クライアントの書き込み要求を優先的に処理し、ファイルの移動を破棄して、再度ファイルの移動を行なうことである。図12にファイル移動手段１７０の処理フローを示す。
【００４１】
ステップ１７０１でファイル移動手段１７０が起動されたら、ファイル移動手段はデータ移動量計算用の内部カウンタQを初期化する（ステップ１７０２）。次に、ファイルシステム１００を探索し移動対象ファイルを選択する（１７０３）。Ｎｓに格納され、かつサイズが最大データ量１６６３と内部カウンタＱの差分未満のファイルを移動対象ファイルとして選択する。ステップ１７０３の詳細については、（移動対象ファイルの選択）の項で説明する。次に、移動対象ファイルを正常に選択できたかどうかを判定する(１７０４)。移動対象ファイルを選択できなかった場合、ステップ１７０７に移り、図６に示すネットワークストレージ属性テーブル１６５の行１６５２のＮｓ１６６１に対応する欄に"Don't  Select"を記入し、処理を終了する。１６５２に"Don't  Select"と記入されたネットワークストレージは、ネットワークストレージ選択ステップ１６２において移動元ネットワークストレージとして選択されない。移動対象ファイルが正常に選択された場合、移動元ネットワークストレージ１６６１から移動先ネットワークストレージ１６６２へ、移動対象ファイルを移動する（１７０５）。ファイルの移動の詳細フローについては、後述の（移動対象ファイルの移動）の項で説明する。次に、移動対象ファイルが正常に移動されたか、それともクライアントからの書き込みがおこり移動対象ファイルの移動が途中で終了したかを判定する（1707）。移動対象ファイルの移動が途中で終了した場合、ステップ１７０８は行なわずステップ１７０９に移る。移動対象ファイルを正常に移動できた場合、ステップ１７０８に移り、データ移動量の内部カウンタＱの値に移動対象ファイルのサイズを加算して、その内容を更新する。１７０９では、データ移動量の内部カウンタ値Qが最小データ量（Ｑｍｉｎ）１６６４以上である場合、又は、終結時刻（Ｔｅｎｄ）１６６５を経過している場合、ファイル移動手段１７０の処理を終了する。それ以外の場合は、ステップ１７０３に戻りファイル移動を継続する。ファイルは継続して移動しても良いし、一定間隔を空けて移動してもよい。一定間隔を空けて移動する事でディスクアクセスを分散し、クライアントのファイルアクセス要求に与える影響を少なくすることが出来る。
（移動対象ファイルの選択）
ファイル移動手段１７０が図１２の１７０３で行なう移動対象ファイルの選択の詳細フローを図13に示す。
【００４２】
移動対象ファイルの選択を開始すると、次に17032でファイル選択のリトライ回数を計測するリトライカウンタRCを初期化する。次に17033では、再帰探索にてファイルシステムを探索しファイルを探す。17034では、探索したファイルの格納先が移動元ネットワークストレージ（Ｎｓ）と一致しているかを調べ、一致していれば次の処理に移る。一致していなければ17033に戻り、格納先がＮｓと一致するまで同じ処理を繰返す。
【００４３】
次に１７０３５で、探索したファイルを移動した場合に、移動元と移動先のディスク残量が逆転しないかどうかを判定する。探索したファイルサイズが最大データ量１６６３とデータ移動量Ｑの差分未満である場合、ディスク残量の逆転は起こらないので、１７０４６で移動対象ファイルと決定し、処理を終了する(17039)。一方、探索したファイルのサイズが最大データ量１６６３とデータ移動量Ｑの差分以上である場合、そのファイルを移動対象ファイルとしない。この場合、17037に移りリトライカウンタＲＣをインクリメントする。
【００４４】
次に、17038でRCが最大リトライ回数RTRYmax未満であれば、17033に戻りファイルの再度ファイルの選択を行なう。17038でRCが最大リトライ回数RTRYmax以上であれば、移動対象ファイルの選択を行なわずに処理を終了する(17040)。
（移動対象ファイルの移動）
ファイル移動手段１７０が図12の1705で行なう移動対象ファイルの移動の詳細フローを図14に示す。
【００４５】
ファイルの移動を開始すると、次に17052では移動元ネットワークストレージＮｓから移動先ネットワークストレージＮｄへ、移動対象ファイルをコピーする。次に17053で、移動対象ファイルのコピー中にクライアントからの書き込みが行なわれたかどうかを判定する。移動先ネットワークストレージ上のコピーファイルの生成時刻が移動元ネットワークストレージの移動対象ファイルの最終更新時刻よりも新しい場合、クライアント1からの書き込みは行なわれていないので、17054に移り、配置情報９０にて移動対象ファイルの格納先の番号を移動元ネットワークストレージＮｓの番号から移動先ネットワークストレージＮｄの番号に更新する。次に17056で移動元ネットワークストレージ Ｎｓからコピー元となった移動対象ファイルを削除し、ファイルの移動を終了する(17057)。一方、17053において移動元ネットワークストレージの移動対象ファイルの最終更新時刻の方が移動先ネットワークストレージ上のコピーファイルの生成時刻よりも新しい場合、クライアント1からの書き込みがあったということなので、ファイルを移動しない。この場合、17055で移動先ネットワークストレージＮｄからコピーファイルを削除し、移動対象ファイルの移動を終了する(17058)。
【実施例２】
【００４６】
図１５は本発明の第２の実施例を含む情報システムの全体構成を示す図である。本実施例は実施例１の変形例であるから、実施例１との相違部分についてのみ説明する。相違部分は、ファイルとファイルの格納先ネットワークストレージの対応関係の保持方法と、クライアントのアクセス要求とファイル移動手段の要求が重なった場合の処理方法の２点である。
【００４７】
実施例１では、配置情報において仮想一元化ネットワークストレージシステムにおけるファイルの格納先ネットワークストレージ情報を保持していた。一方、本実施例では、ファイルグループ情報２２０が仮想一元化ネットワークストレージシステム８におけるファイルの所属するグループ情報を保持し、グループ配置情報２３０がグループの格納先ネットワークストレージ情報を保持する。ファイルと格納先ネットワークストレージの対応関係を、配置情報だけで保持するのではなく、ファイルグループ情報２２０とグループ配置情報２３０に分けて管理することにより、ファイルと格納先ネットワークストレージの対応関係に関する情報を削減することができる。一方で、ファイルグループ情報２２０とグループ配置情報２３０に分けて管理すると、ディスク残量平準化処理におけるファイル移動がグループ単位になる。
【００４８】
実施例１において、クライアントのアクセス要求の対象ファイルとディスク残
量平準化処理におけるファイル移動手段の移動対象ファイルが重なった場合、平準化制御手段はファイル移動手段を再度起動し、移動処理を行う。一方、本実施例では、クライアントのアクセス要求の対象ファイルの所属するグループ（アクセス対象グループ）とディスク残量平準化処理におけるグループ移動手段の移動対象グループが重なった場合、要求処理手段210はクライアントのアクセス要求を破棄する。ただし、本実施例においても、アクセス対象グループと移動対象グループが重なった場合、実施例1のように、平準化制御手段１６０がファイル移動手段２７０を再度呼び出し、移動対象グループの移動をやり直してもよい。
（仮想一元化装置）
仮想一元化装置３は、公知の技術による仮想一元化手段９と本発明のディスク残量平準化手段10より構成される。本実施例において、仮想一元化装置3は、ファ
イルのデータ部分は保持しておらず、仮想一元化ネットワークストレージシステム8の管理に特化した専用装置である。ただし、仮想一元化装置3にファイルのデータ部分を保持してもよい。
【００４９】
仮想一元化手段9は、管理手段120、要求処理手段１１１、ファイルグループ情報220、グループ配置情報２３０、移動対象グループ情報２４０から構成される。
【００５０】
ファイルグループ情報220は、仮想一元化ネットワークストレージシステム8におけるファイルの所属グループを保持する。詳細は後述の（ファイルグループ情報）の項で説明する。グループ配置情報２３０は、グループの格納先ネットワークストレージを保持する。詳細は後述の（グループ配置情報）の項で説明する。要求処理手段１１１は、クライアント1から仮想一元化ネットワークストレージシステム8内のファイルへのアクセス要求を受け付け、前記アクセス要求を処理する。詳細は後述する（要求処理手段）の項で説明する。移動対象グループ情報２４０の詳細は後述する（移動対象グループ情報）の項で説明する。
（ファイルグループ情報）
ファイルグループ情報220は、仮想一元化ネットワークストレージシステム8のファイルと前記ファイルの所属するグループの対応を保持するマッピングテーブルである。要求処理手段１１１がクライアントからファイルアクセス要求を受け付けると、ファイル配置情報220に対して、前記ファイルの所属グループを問い合わせ、前記ファイルが所属するグループ番号を取得する。ディスク残量の平準化処理によってファイルの格納先ネットワークストレージを変更する際は、ファイル配置情報220の変更は行われない。ファイルグループ情報220は前記ファイルの識別子とハッシュ関数からファイルの所属するグループを特定する。
（グループ配置情報）
グループ配置情報２３０は、グループと前記グループの格納先ネットワークストレージの対応関係を保持するマッピングテーブルである。
【００５１】
要求処理手段１１１がグループ配置情報２３０に対して、グループを指定して前記グループの格納先ネットワークストレージを問い合わせると、グループ配置情報230から前記グループに対応する格納先ネットワークストレージ番号を取得する。ディスク残量の平準化処理によってグループの格納先ネットワークストレージを変更する際は、ファイル移動手段２７０がグループ配置情報２３０おける前記グループに対応するネットワークストレージ番号を変更する。
（移動対象グループ情報）
移動対象グループ情報（Ｔｇｒｏｕｐ）２４０は要求処理手段１１１とファイル移動手段２７０7の間で連携される情報である。移動対象グループ情報２４０は、ファイル移動手段２７０によって設定され、平準化制御手段が移動しているファイルの属するグループを示す。移動対象グループ情報２４０にグループが設定されている場合（グループが移動している場合）、要求処理手段１１１は当該グループに関するファイルに対するクライアント１からの書き込みアクセス要求を廃棄する。
（要求処理手段）
要求処理手段１１１の処理フローを図１６に示す。要求処理手段１１１は、クライアントからファイルへのアクセス要求を受け取ると、ファイルグループ情報２２０から前記ファイルの所属グループを特定し（２１０２）、グループ配置情報２３０から前記グループの格納先ネットワークストレージを特定する（２１０３）。次に、アクセス要求の種類と、移動対象グループ情報２４０の値によって処理を切り替える（２１０５）。アクセス要求が書き込みに関する要求であり、前記アクセス要求の対象ファイルの所属するグループが移動対象グループ情報２４０に設定されている場合、前記アクセス要求を破棄する（２１０６）。その他の場合は、前記格納先ネットワークストレージのリモート制御手段１１にクライアント１からのファイルアクセス処理要求を転送し、クライアント１からのファイルアクセス処理要求を実行する（２１０７）。
【００５２】
NFSにおいて、ファイルに対する書き込みアクセス要求にはWRITE要求、CREATE要求、SETATTR要求がある。NFS等のトランスポート層のプロトコルであるUDP等信頼性の低いプロトコルを用いているファイルアクセスプロトコルは、クライアントからのアクセス要求がネットワークの障害によりサーバに届く前に喪失してしまう場合を想定して、クライアントがアクセス要求の自動再送機能を備える。そのため、要求処理手段１１１においてクライアントからのアクセス要求を破棄したとしても、クライアントはネットワーク障害と認識して、破棄されたアクセス要求をサーバに再送する。
【００５３】
要求処理手段１１１は、移動中の移動対象グループに所属するファイルに対する書き込みアクセス要求を破棄し、クライアント1に前記アクセス要求の自動再送を促す。ファイル移動手段２７０は、自動再送機能によってアクセス要求が再送される間に、前記移動対象グループに所属するファイルの移動を完了する。その結果、クライアント1のユーザにアクセス要求が止まったと認識されずに、仮想一元化ネットワークストレージシステム8のディスク残量の平準化を行うことができる。
（ファイル移動手段）
ファイル移動手段２７０は、平準化制御手段１６０から起動され、移動元ネットワークストレージ（Ｎｓ）１６６１から移動先ネットワークストレージ（Ｎｄ）１６６２へ、全データ移動量が最小データ量（Ｑｍｉｎ）1664以上になるまでファイルを移動する。ファイルの移動はグループ単位で行う。このファイル移動手段２７０は移動元ネットワークストレージのディスク残量と移動先ネットワークストレージのディスク残量が逆転しないようにファイルの所属するグループの選択を行なうという特徴をもつ。（所属するファイルサイズの合計が最大データ量Ｑｍａｘ1663未満になるグループの選択を行なう。）この特徴によって、ディスク残量の振動を抑制し、無駄なファイルの移動を防ぐ。図17にファイル移動手段２７０の処理フローを示す。
【００５４】
2701でファイル移動手段２７０が起動されると、ファイル移動手段はデータ移動量計算用の内部カウンタQを初期化する（2702）。次に、グループ配置情報２３０にアクセスし、Ｎｓに格納されていて、且つサイズが最大データ移動量1663と内部カウンタQの差分未満のグループを移動対象グループとして選択する(2703)。2703の詳細については、（移動対象グループの選択）の項で説明する。次に、移動対象グループを正常に選択できたかどうかを判定する(2704)。移動対象グループを選択できなかった場合、2706に移り、図4に示すネットワークストレージ属性テーブル１６５の行1652のＮｓ１６６１に対応する欄に"Don't  Select"を記入し、処理を終了する。1652に"Don't  Select"と記入されたネットワークストレージは、ネットワークストレージ選択ステップ162において移動元ネットワークストレージとして選択されない。移動対象グループが正常に選択された場合、次の2705に移る。2705では移動元ネットワークストレージ（Ｎｓ）１６６１から移動先ネットワークストレージ（Ｎｄ）１６６２へ、移動対象グループを移動する。ファイルの移動の詳細フローについては、後述の（移動対象グループの移動）の項で説明する。次に、データ移動量の内部カウンタQ値に移動対象グループのサイズを加算して、カウンタ値を更新する(2708)。次に、データ移動量の内部カウンタQの内容および終結時刻（Ｔｅｎｄ）１６６５を調べ（2709）、データ移動量の内部カウンタQが最小データ量（Ｑｍｉｎ）1664以上である場合、又は、終結時刻（Tend）１６６５を経過している場合、ファイルの移動を終了する。それ以外の場合は、2703に戻りファイル移動を継続する。ファイルは継続して移動しても良いし、一定間隔を空けて移動してもよい。一定間隔をあけて移動する事でディスクアクセスを分散し、クライアントのファイルアクセス要求に与える影響を少なくする事が出来る。
（移動対象グループの選択）
ファイル移動手段２７０が図17の2703で行なう移動対象グループの選択の詳細フローを図18に示す。
【００５５】
移動対象グループの選択開始後、でグループ選択のリトライ回数をカウントするリトライカウンタRCを初期化する（27032）。次にグループを探索し（27033）、発見したグループの格納先が移動元ネットワークストレージ（Ｎｓ）１６６１と一致しているかを調べ（27034）、一致していれば次の処理に移る。一致していなければ27033に戻り、格納先がＮｓ１６６１と一致するまで同じ処理を繰返す。次に、発見したグループを移動した場合に、ディスク残量の逆転が起らないかどうか判定する（27035）。発見したグループに所属するファイルの合計ファイルサイズが最大データ移動量1663とデータ移動量Qの差分未満である場合、ディスク残量の逆転は起らないので、17046で移動対象ファイルグループとして選択し（27036）、処理を終了する(27039)。一方、発見したグループに所属するファイルの合計ファイルサイズが最大データ移動量1663とデータ移動量Qの差分以上である場合、そのグループを移動対象グループとして選択しない。この場合、リトライカウンタRCをインクリメントし（27037）、RCが最大リトライ回数(RTRYmax）未満であれば、17043に戻り再度移動対象グループの選択を行なう。RCが最大リトライ回数（RTRYmax）以上であれば、移動対象グループの選択を行なわずに処理を終了する（27038、27340）。
（移動対象グループの移動）
ファイル移動手段270が図17の2705で行なう移動対象グループの移動の詳細フローを図19に示す。
【００５６】
移動対象グループの移動を開始すると、前記移動対象グループを移動対象グループ情報（Tgroup）２４０に保存し(27052)、移動元ネットワークストレージ（Ｎｓ）１６６１から移動先ネットワークストレージ（Ｎｄ）１６６２へ移動対象グループに所属するファイルをコピーする(27053)。次に、グループ配置情報２３０の移動対象グループの格納先を移動元ネットワークストレージ（Ｎｓ）１６６１から移動先ネットワークストレージ（Ｎｄ）１６６２に更新する(27054)。次に、移動元ネットワークストレージ（Ｎｓ）１６６１から移動対象グループに所属する全ファイルを削除し(27054)、移動対象グループ情報２４０をクリアし(27055)、グループの移動を終了する。
【産業上の利用可能性】
【００５７】
以上のとおり、本発明は複数のネットワークストレージをクライアントに単一のネットワークストレーレージと見せ、つまり複数ネットワークストレージのいずれを使用するかの認識なしに利用可能である仮想一元化ネットワークストレージシステムにて、個々のネットワークストレージのディスク残量に不均衡が生じて局所的な飽和が起きることを自動的に防止でき、もって全体としてのストレージ容量の有効利用が可能になる。したがって、ファイル共有サービスのためのシステムにて適用可能性が大きく、クライアントへのサービスを良好に保てる。
【図面の簡単な説明】
【００５８】
【図１】本発明の第１の実施例を含む仮想一元化ネットワークストレージシステムの全体構成を示す図である。
【図２】管理手段によって設定されるディスク残量平準化部の設定情報を示す図である。
【図３】ディスク残量監視手段と平準化制御手段の連携に必要な情報を示す図である。
【図４】ディスク残量監視手段と平準化制御手段の連携に使用されるネットワークストレージ情報テーブルを示す図である。
【図５】平準化制御手段とファイル移動手段の連携に必要な情報を示す図である。
【図６】平準化制御手段とファイル移動手段の連携に使用されるネットワークストレージ属性テーブルを示す図である。
【図７】ディスク残量監視手段が行なう処理フローを示す図である。
【図８】平準化制御手段が行なう処理フローを示す図である。
【図９】平準化制御手段が行なうネットワークストレージ属性テーブルの初期化の詳細フローを示す図である。
【図１０】平準化制御手段が行なうネットワークストレージの選択の詳細フローを示す図である。
【図１１】平準化制御手段が行なうネットワークストレージ属性テーブルの更新の詳細フローを示す図である。
【図１２】本発明の第１の実施例におけるファイル移動手段が行なう処理フローを示す図である。
【図１３】本発明の第１の実施例におけるファイル移動手段が行なう移動対象ファイルの選択の詳細フローを示す図である。
【図１４】本発明の第１の実施例におけるファイル移動手段が行なう移動対象ファイルの移動の詳細フローを示す図である。
【図１５】本発明の第２の実施例を含む仮想一元化ネットワークストレージシステムの全体構成を示す図である。
【図１６】本発明の第２の実施例における要求処理手段が行う処理フローを示す図である。
【図１７】本発明の第２の実施例におけるファイル移動手段が行なう処理フローを示す図である。
【図１８】本発明の第２の実施例におけるファイル移動手段が行なう移動対象グループの選択の詳細フローを示す図である。
【図１９】本発明の第２の実施例におけるファイル移動手段が行なう移動対象ファイルの移動の詳細フローを示す図である。
【図２０】本発明の第１実施例におけるアクセス頻度監視手段２１０の詳細フローを示す図である。
【符号の説明】
【００５９】
1  :クライアント、2、4  :ネットワーク、3  :仮想一元化装置、5、6、7  :ネットワークストレージ、８  :仮想一元化ネットワークストレージシステム、9
:仮想一元化手段、１０  :ディスク残量平準化手段、11  :リモート制御手段、１２  :ストレージ装置、９０  :配置情報、１００  :ファイルシステム、１１０、１１１  :要求処理手段、１２０  :管理手段、１５０  :ディスク残量監視手段、１５５  :ネットワークストレージ情報テーブル、１６０  :平準化制御手段、１６５  :ネットワークストレージ属性テーブル、１７０、２７０  :ファイル移動手段、１８０  :ディスク残量平準化部の設定情報、  :平準化制御手段の制御情報、２００  :ファイル移動手段の制御情報、２１０:アクセス監視手段、２２０  :ファイル配置情報、２３０  :グループ配置情報、２４０  :移動対象グループ情報、１２５１  :ディスク残量監視間隔、１２５２  :平準化実行時間、１２５３:アクセス頻度監視間隔、１２６１  :不均衡ディスク残量差、１２６２  :平準化開始ディスク残量、１２６３  :平準化抑止ディスク残量、１２７１  :平準化中止フラグ、１２７２  :最大リトライ回数、１２７３：アクセス頻度閾値、１５６１  :平準化実行フラグ、１５６２  :システム飽和フラグ、１５６３：アクセス頻度フラグ、１６６１  :移動元ネットワークストレージ番号、１６６２  :移動先ネットワークストレージ番号、1663  :最大データ量、1664  :最小データ量、１６６５  :終結時刻。
【図１】
2005038368.tif 000003
【図２】
2005038368.tif 000004
【図３】
2005038368.tif 000005
【図４】
2005038368.tif 000006
【図５】
2005038368.tif 000007
【図６】
2005038368.tif 000008
【図７】
2005038368.tif 000009
【図８】
2005038368.tif 000010
【図９】
2005038368.tif 000011
【図１０】
2005038368.tif 000012
【図１１】
2005038368.tif 000013
【図１２】
2005038368.tif 000014
【図１３】
2005038368.tif 000015
【図１４】
2005038368.tif 000016
【図１５】
2005038368.tif 000017
【図１６】
2005038368.tif 000018
【図１７】
2005038368.tif 000019
【図１８】
2005038368.tif 000020
【図１９】
2005038368.tif 000021
【図２０】
2005038368.tif 000022