(57)【要約】【課題】ストレージデバイスの記憶容量が不足する場合であっても、データを削除せずに記憶しておく。【解決手段】複数のストレージデバイス１００それぞれには、当該ストレージデバイス１００に記憶されたデータの移動先となる退避ストレージが接続されている。データ管理装置２０は、ストレージデバイス１００の記憶容量が不足した際に、当該ストレージデバイス１００に記憶されたデータの内の少なくとも１つを、他のストレージデバイスまたは退避ストレージに移動させるデータ移動部２１０を備える。【選択図】図４
2020160859.tif 000002
【特許請求の範囲】
【請求項１】
複数のストレージデバイスが接続されたストレージネットワークにおけるデータ管理装置であって、
前記ストレージデバイスそれぞれには、当該ストレージデバイスに記憶されたデータの移動先となる退避ストレージが接続されており、
前記ストレージデバイスそれぞれにおいて前記データ管理装置は、
前記ストレージデバイスの記憶容量が不足した際に、当該ストレージデバイスに記憶されたデータの内の少なくとも１つを、他のストレージデバイスまたは前記退避ストレージに移動させるデータ移動部を備える、
ことを特徴とするデータ管理装置。
【請求項２】
前記データ管理装置は、
前記ストレージデバイスに記憶された各データに対して、当該データの重要度に関するスコアを付与するスコア付与部をさらに備え、
前記データ移動部は、移動対象データの前記スコアが前記重要度の高いことを示す第１の範囲内にある場合には前記他のストレージデバイスに前記移動対象データを移動し、前記移動対象データの前記スコアが前記重要度の低いことを示す第２の範囲にある場合には前記退避ストレージに前記移動対象データを移動する、
ことを特徴とする請求項１に記載のデータ管理装置。
【請求項３】
前記スコア付与部は、前記データがアクセスされた時刻から前記データが生成された時刻を差し引いた値を用いて前記スコアを算出する、
ことを特徴とする請求項２に記載のデータ管理装置。
【請求項４】
前記スコア付与部は、前記データにアクセスがあるごとに前記値を算出し、前記値の和に基づいて前記スコアを算出する、
ことを特徴とする請求項３に記載のデータ管理装置。
【請求項５】
前記データ移動部は、前記他のストレージデバイスの稼働状況に基づいて、前記スコアが前記第１の範囲内にあるデータ、または、前記スコアが前記第２の範囲内にあるデータを前記移動対象データとして決定する、
ことを特徴とする請求項２から請求項４のいずれか１項に記載のデータ管理装置。
【請求項６】
前記ストレージネットワークは、データを利用するユーザに対して階層構造が形成されており、
前記データ移動部は、前記スコアが前記第１の範囲内にあるデータを前記他のストレージデバイスに移動させる際に、当該ストレージデバイスの前記階層構造における位置よりも、前記ユーザにより近い上位に位置する前記他のストレージデバイスに、前記移動対象データを移動する、
ことを特徴とする請求項２から請求項４いずれか１項に記載のデータ管理装置。
【請求項７】
複数のストレージデバイスが接続されたストレージネットワークにおけるデータ管理装置のデータ管理方法であって、
前記ストレージデバイスそれぞれには、当該ストレージデバイスに記憶されたデータの移動先となる退避ストレージが接続されており、
前記ストレージデバイスそれぞれにおいて前記データ管理装置は、
前記ストレージデバイスの記憶容量が不足した際に、当該ストレージデバイスに記憶されたデータの内の少なくとも１つを、他のストレージデバイスまたは前記退避ストレージに移動させるデータ移動ステップを実行する、
ことを特徴とするデータ管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のストレージデバイスが接続されたストレージネットワークにおけるデータ管理装置およびデータ管理方法に関する。
【背景技術】
【０００２】
従来、データにアクセスするデバイスまたはアプリケーション（以下「ユーザ」という）にとって便利な場所にあるデータ保存場所（ストレージ）にデータを配備する技術として、キャッシュ制御技術が知られている。データ保存場所として選択される場所（便利な場所）の特徴として、例えば遅延の有無などで定義されるＱｏＳ（Quality of Service）が良好な場所、物理的に近いなどデータ転送エネルギーが小さい場所などが挙げられる。
【０００３】
キャッシュ制御技術では、ユーザのローカリティ（同じ場所からのアクセスが多い）という特性を想定して、ユーザが利用したデータを一時的にユーザの近くに保存する機能を提供する。この一時保存データはキャッシュデータと呼ばれ、オリジナルデータの一時的なコピーである。一方で、ストレージの容量は有限であり、不要と思われるキャッシュデータは消去される。不要と判断するアルゴリズムとして、置き換えアルゴリズムと呼ばれるＬＲＵ（Least Recent Used）およびＴＬＲＵ（Time aware Least Recent Used）が知られている（非特許文献１〜３参照）。
【０００４】
ＬＲＵは、最近アクセスされたデータから順に並べたデータ列の最後部が削除対象となるアルゴリズムである。また、ＴＬＲＵは、ＴＴＬ（Time To Live）およびＴＴＵ（Time To Use）を考慮したＬＲＵである。ＴＴＬは、データがキャッシュに存在できる時間の限界を示し、いわばデータの賞味期限である。キャッシュデータが生成されてから時間が経過するとオリジナルデータが変化する可能性があるため、ＴＴＬを設定することによりデータの正当性を保証する。また、ＴＴＵは、データが生成されたときから生存できる時間の限界を示し、いわばデータの消費期限である。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】Kai Cheng他、“LRU-SP: A Size-Adjusted and Popularity-Aware LRU Replacement Algorithm for Web Caching”、 Proceedings 24th Annual International Computer Software and Applications Conference. COMPSAC2000、IEEE、2000年10月
【非特許文献２】Giovanni Neglia他、“Access-time aware cache algorithms”、 2016 28th International Teletraffic Congress (ITC 28)、IEEE、2016年9月
【非特許文献３】Zhongxing Ming他、“Age-based Cooperative Caching in  Information-Centric Networks”、 2012 Proceedings IEEE INFOCOM Workshops、IEEE、2012年3月
【発明の概要】
【発明が解決しようとする課題】
【０００６】
図７は、従来技術にかかるキャッシュ制御を模式的に示す説明図である。
ストレージデバイス５０は容量αを有し、図７の符号Ｔ１の時点ではデータa，ｂ，ｃが記憶されている。符号Ｔ１の時点ではストレージデバイス５０に空き容量があるため、新たなデータｄはそのまま記憶可能である。データa，ｂ，ｃはこの順にストレージデバイス５０に記憶されたものであり、新たなデータｄはデータｃの次に記憶される。
【０００７】
その後、図７の符号Ｔ２の時点ではストレージデバイス５０にはデータa，ｂ，ｃ，ｄ，e，ｆ，ｇ，ｈが記憶されており、空き容量がなくなっている。この状態で新たなデータiを記憶するには、いずれかのデータを削除する必要がある。この場合、図７の符号Ｔ３に示すように、データ列の先頭にあるデータaが削除され、最後尾にデータiが記憶される。
【０００８】
また、ストレージデバイス５０内のデータにユーザからのアクセスがあった場合、そのデータはデータ列の最後尾に移動される。例えば、図７の符号Ｔ３でデータｂにユーザからのアクセスがあった場合（符号Ｔ３の矢印３１）、図７の符号Ｔ４で示すようにデータｂはデータ列の最後尾に移される。この状態で新たなデータｊを記憶する場合、先頭のデータであるデータcが削除される。
【０００９】
上述した従来技術では、最近記憶されたデータまたは最近アクセスされたデータがデータ列の最後尾（削除されにくいデータ）となっている。すなわち、新しいデータや最後にアクセスがあった時刻が最近のデータを重要なデータとして取り扱っている。しかしながら、これらの指標は、データの重要性を測る指標として十分とは言えない。
また、上述した従来技術では、ストレージデバイスが一杯の場合、ストレージデバイスからデータを削除することしかできず、例えば古くなっても削除されては困るデータがある場合などに不都合が生じる。
【００１０】
本発明は、このような事情に鑑みなされたものであり、ストレージデバイスの記憶容量が不足する場合であっても、データを削除せずに記憶しておくことを目的とする。
【課題を解決するための手段】
【００１１】
上述の目的を達成するため、請求項１に記載の発明は、複数のストレージデバイスが接続されたストレージネットワークにおけるデータ管理装置であって、前記ストレージデバイスそれぞれには、当該ストレージデバイスに記憶されたデータの移動先となる退避ストレージが接続されており、前記ストレージデバイスそれぞれにおいて前記データ管理装置が、前記ストレージデバイスの記憶容量が不足した際に、当該ストレージデバイスに記憶されたデータの内の少なくとも１つを、他のストレージデバイスまたは前記退避ストレージに移動させるデータ移動部を備える、ことを特徴とするデータ管理装置とした。
【００１２】
また、請求項７に記載の発明は、複数のストレージデバイスが接続されたストレージネットワークにおけるデータ管理装置のデータ管理方法であって、前記ストレージデバイスそれぞれには、当該ストレージデバイスに記憶されたデータの移動先となる退避ストレージが接続されており、前記ストレージデバイスそれぞれにおいて前記データ管理装置が、前記ストレージデバイスの記憶容量が不足した際に、当該ストレージデバイスに記憶されたデータの内の少なくとも１つを、他のストレージデバイスまたは前記退避ストレージに移動させるデータ移動ステップを実行する、ことを特徴とするデータ管理方法とした。
【００１３】
このようにすることで、データ管理装置は、ストレージデバイスの記憶容量が不足する場合であっても、データを削除することなく他のストレージデバイスまたは退避ストレージに移動させることができる。
【００１４】
請求項２に記載の発明は、前記データ管理装置が、前記ストレージデバイスに記憶された各データに対して、当該データの重要度に関するスコアを付与するスコア付与部をさらに備え、前記データ移動部が、移動対象データの前記スコアが前記重要度の高いことを示す第１の範囲内にある場合には前記他のストレージデバイスに前記移動対象データを移動し、前記移動対象データの前記スコアが前記重要度の低いことを示す第２の範囲にある場合には前記退避ストレージに前記移動対象データを移動する、ことを特徴とする請求項１に記載のデータ管理装置とした。
【００１５】
このようにすることで、データ管理装置は、データの重要度を示すスコアに基づき、重要度の高いデータを他のストレージデバイスに移動させ、重要度の低いデータを退避ストレージに移動させることができる。よって、データ管理装置は、データの重要度に応じた適切なストレージにデータを削除せず移動させることができる。
【００１６】
請求項３に記載の発明は、前記スコア付与部が、前記データがアクセスされた時刻から前記データが生成された時刻を差し引いた値を用いて前記スコアを算出する、ことを特徴とする請求項２に記載のデータ管理装置とした。
【００１７】
このようにすることで、データが生成されてからアクセスされるまでの時間をスコアに反映させることができ、データの重要度をより精度よくスコアに反映させることができる。
【００１８】
請求項４に記載の発明は、前記スコア付与部が、前記データにアクセスがあるごとに前記値を算出し、前記値の和に基づいて前記スコアを算出する、ことを特徴とする請求項３に記載のデータ管理装置とした。
【００１９】
このようにすることで、データに対するアクセス回数をスコアに反映させることができ、データの重要度をより精度よくスコアに反映させることができる。
【００２０】
請求項５に記載の発明は、前記データ移動部が、前記他のストレージデバイスの稼働状況に基づいて、前記スコアが前記第１の範囲内にあるデータ、または、前記スコアが前記第２の範囲内にあるデータを前記移動対象データとして決定する、ことを特徴とする請求項２から請求項４のいずれか１項に記載のデータ管理装置とした。
【００２１】
このようにすることで、移動先の稼働状況に基づいて移動させるデータを選択することができ、ストレージネットワーク内で効率よくデータを移動させることができる。
【００２２】
請求項６に記載の発明は、前記ストレージネットワークは、データを利用するユーザに対して階層構造が形成されており、前記データ移動部が、前記スコアが前記第１の範囲内にあるデータを前記他のストレージデバイスに移動させる際に、当該ストレージデバイスの前記階層構造における位置よりも、前記ユーザにより近い上位に位置する前記他のストレージデバイスに、前記移動対象データを移動する、ことを特徴とする請求項２から請求項４いずれか１項に記載のデータ管理装置とした。
【００２３】
このようにすることで、ユーザに近いストレージデバイスに重要度の高いデータを移動することができる。よって、ストレージネットワーク内におけるデータへのアクセス効率を向上させることができる。
【発明の効果】
【００２４】
本発明によれば、ストレージデバイスの記憶容量が不足する場合であっても、データを削除せずに記憶しておくことができる。
【図面の簡単な説明】
【００２５】
【図１】実施の形態にかかるストレージネットワークの構成を示す図である。
【図２】各ストレージノードの詳細な構成を例示する図である。
【図３】各ストレージノードの詳細な構成を例示する図である。
【図４】データ管理装置の機能的構成を示すブロック図である。
【図５】データ管理装置におけるキャッシュ制御を模式的に示す説明図である。
【図６】データ管理装置の処理手順を示すフローチャートである。
【図７】従来技術にかかるキャッシュ制御を模式的に示す説明図である。
【発明を実施するための形態】
【００２６】
以下に添付図面を参照して、本発明にかかるデータ管理装置およびデータ管理方法の好適な実施の形態を詳細に説明する。
図１は、実施の形態にかかるストレージネットワーク１０の構成の一例を示す図である。ストレージネットワーク１０は、複数のストレージノード１２が相互に接続されている。
図１に例示するストレージネットワーク１０は、データを利用するユーザ１４に対して階層構造を形成している。例えば、ユーザ１４Ａを基準とすると、ストレージノード１２Ａ、ストレージノード１２Ｂ、ストレージノード１２Ｃ、ストレージノード１２Ｄの順にユーザ１４に近い位置にある。本実施の形態では、ユーザ１４に近いストレージノード１２を上位、ユーザ１４から遠いストレージノード１２を下位とする。すなわち、ユーザ１４Ａを基準にすると、上位のストレージノードから順に、ストレージノード１２Ａ、ストレージノード１２Ｂ、ストレージノード１２Ｃ、ストレージノード１２Ｄとなっている。
【００２７】
各ストレージノード１２には、ユーザ１４である各種デバイスやアプリケーションが利用するデータのコピーであるキャッシュデータ（以下単に「データ」という場合もある）が記憶されている。例えば、ユーザ１４が所定のストレージに記憶されている真のデータβ（オリジナルデータ）にアクセスすると、真のデータβのコピー（複製データ）であるキャッシュデータβ’がユーザにより近いストレージノード１２に配置される。ユーザ１４は次回以降データβにアクセスする必要がある場合には、キャッシュデータβ’にアクセスする。
なお、ストレージネットワーク１０の構成は、図１に例示する階層構造を備えるものに限定されない。例えば、各ストレージノード１２それぞれが相互に通信接続されてネットワーク上でクラウドを構成していてもよい。
【００２８】
各ストレージノード１２は、例えば図２に示すように、スイッチデバイス１２０を介してネットワークに接続され、頻繁にアクセスされるデータ（ホット・データ）を記憶する高速ストレージであるホットストレージデバイス（以下、単に「ストレージデバイス１００」と称する。）と、アクセスされる頻度の低いデータ（コールド・データ）を記憶するコールドストレージデバイス（以下、「退避ストレージ１００Ａ」と称する。）とを含んで構成される。
【００２９】
コールドストレージデバイス（退避ストレージ１００Ａ）は、ホットストレージデバイス（ストレージデバイス１００）と比較し、後記する重要度を示すスコアの低いデータを記憶するストレージデバイスである。このコールドストレージデバイス（退避ストレージ１００Ａ）は、図２に示したように、スイッチデバイス１２０を介してネットワークに接続されてもよいし、図３に示すように、ネットワークとは接続せずローカルにホットストレージデバイス（ストレージデバイス１００）に接続されてもよい。
【００３０】
また、コールドストレージデバイス（退避ストレージ１００Ａ）は、例えば、以下に示すような所定の条件により、ホットストレージデバイスと区別される。
ホットストレージデバイスに比べ、アクセスに時間がかかる（アクセスの遅延が大きい）、情報（データ）がリムーバブルな媒体（例えば、ＤＶＤ（登録商標）、ブルーレイ（登録商標）などのディスクやテープ）に記憶される、通信費用がかからない、などの所定の条件を満たすストレージデバイスを予めストレージネットワーク１０の管理者がコールドデバイス（退避ストレージ１００Ａ）として設置しておく。
【００３１】
ここで、各ストレージデバイス１００（または各ストレージノード１２）は、自身が記憶するデータを管理するデータ管理装置２０（データ管理機能）を備える。なお、データ管理装置２０は、ストレージノード１２内に１つの筐体を備える装置として含まれてもよいし、ストレージデバイス１００内にデータ管理装置２０が備える機能（データ管理機能）を有するものとして実現してもよい。また、データ管理装置２０内にストレージデバイス１００を備える構成にしてもよい。
【００３２】
図４は、データ管理装置２０の機能的構成を示すブロック図である。
データ管理装置２０は、新規データ受信部２０２、データ記憶部２０４、容量監視部２０６、スコア付与部２０８、データ移動部２１０を備える。
新規データ受信部２０２は、他のストレージデバイスやユーザ１４などから、ストレージデバイス１００で記憶すべき新規のデータを受信する。
データ記憶部２０４は、ストレージデバイス１００に新規のデータを記憶する。
容量監視部２０６は、ストレージデバイス１００の空き容量を監視する。
【００３３】
スコア付与部２０８は、ストレージデバイス１００に記憶された各データに対して、当該データの重要度に関するスコアを付与する。スコア付与部２０８は、従来のような「データにアクセスがあった時刻（最近アクセスされたデータほど重要）」という要素に加えて、「データが生成されてからアクセスされるまでの時間（データ生成後早期にアクセスされたデータほど重要）」および「アクセス回数（アクセス回数が多いデータほど重要）」という要素を用いて、データの重要度を示すスコアを算出する。そして、スコア付与部２０８は、算出したスコアに基づきデータ（データ列）の並び替えを行う。
【００３４】
より詳細には、スコア付与部２０８は、下記式（１）を用いて各データのスコアを算出する。
スコア  ＝  Σ｛データに設定された消費期限ＴＴＵ−（データがアクセスされた時刻−データが生成された時刻）｝＋最後にアクセスされた時刻  ・・・（１）
【００３５】
すなわち、スコア付与部２０８は、データがアクセスされた時刻からデータが生成された時刻を差し引いた値（以下「データアクセスタイミング値」という）を用いてスコアを算出する。これにより、データが生成されてからアクセスされるまでの経過時間（ＡｏＩ：Age of Information）をスコアに反映させることができる。また、スコア付与部２０８は、データにアクセスがある毎にデータアクセスタイミング値を算出し、データアクセスタイミング値の和に基づいてスコアを算出する。これにより、データに対するアクセス頻度（アクセスの総量）をスコアに反映させることができる。
【００３６】
より具体的な例を挙げて説明する。
ストレージデバイス１００に、３つのデータＡ，Ｂ，Ｃが保持されているものとする。各データの生成時刻は、データＡ：１０、データＢ：５、データＣ：１００である。なお、ここで時刻は、説明の便宜のため、ある基準時刻からの経過時間（例えば「秒」）を数値化した値として、例えば「１０」「５」「１００」のように表現している。各データのＴＴＵを５００とする。また、以下の時刻において各データにアクセスがあったものとする。Ａ：２００（アクセス回数１回）、Ｂ：１１０，２００（アクセス回数２回）、Ｃ：２００（アクセス回数１回）。
【００３７】
上記の条件において、各データのスコアＳＸ（Ｘはデータ名（Ａ，Ｂ，Ｃ））は、以下のようになる。
ＳＡ＝｛５００−（２００−１０）｝＋２００＝５１０
ＳＢ＝｛５００−（１１０−５）｝＋｛５００−（２００−５）｝＋２００＝９００
ＳＣ＝｛５００−（２００−１００）｝＋２００＝６００
よって、スコアが大きい順に、データＢ，Ｃ，Ａの順に重要なデータであると推定することができる。すなわち、本発明では、データＢのようにＡｏＩが小さい段階でアクセスされたデータや複数回アクセスされたデータに大きいスコア値を付与し、重要度が高いと判断する。
なお、スコア付与部２０８によるスコアの算出手法は式（１）を用いるに限らず、データへのアクセスタイミング（データアクセスタイミング値）やデータへのアクセス回数を反映させられるような手法であればよい。
【００３８】
比較のため、従来技術にかかる手法で算出したスコアについても検討する。
従来のＴＬＲＵにおいて、スコアは、例えば下記式（２）のように算出される。
スコア  ＝  ｛（データ生成時刻＋ＴＴＵ）−現在時刻｝＋最後にアクセスされた時刻  ・・・（２）
上記式（２）中、｛（データ生成時刻＋ＴＴＵ）−現在時刻｝は、データのＴＴＵの残り値に対応する。
【００３９】
上記データＡ，Ｂ，Ｃについて、上記式（２）を用いて算出したスコアＳＸ’（Ｘはデータ名（Ａ，Ｂ，Ｃ））は、以下のようになる。なお、現在時刻：３００とする。
ＳＡ’＝｛（１０＋５００）−３００｝＋２００＝４１０
ＳＢ’＝｛（５＋５００）−３００｝＋２００＝４０５
ＳＣ’＝｛（１００＋５００）−３００｝＋２００＝５００
この場合、スコアが大きい順に、データＣ，Ａ，Ｂの順となる。
このように、従来技術では、データＢのようにＡｏＩが小さい時にアクセスされ、かつ複数回アクセスされたデータであっても重要度が低いと判断されてしまう。
【００４０】
データ移動部２１０は、ストレージデバイス１００に記憶された各データの少なくとも１つを、スコアに基づいて他のストレージデバイス１００（他のストレージノード１２）や退避ストレージ１００Ａに移動させる。データ移動部２１０は、移動対象となるデータ（移動対象データ）のスコアが重要度の高いことを示す第１の範囲内にある場合には、自身以外の（他の）ストレージノード１２（図１参照）に備わる他のストレージデバイス１００に移動対象データを移動する。その際、ストレージネットワーク１０が図１に示すような階層構造を備える場合には、データ移動部２１０は、移動対象データを現在のストレージデバイス１００よりも上位のストレージデバイスに移動することが望ましい。また、移動対象データのスコアが重要度の低いことを示す第２の範囲にある場合には、データ移動部２１０は、移動対象データを退避ストレージ１００Ａ（図２，図３参照）に移動する。
【００４１】
すなわち、データ移動部２１０は、ストレージデバイス１００に記憶されたデータのうち、重要度の高いデータを他のストレージデバイス１００（例えば、上位のストレージデバイス）に移動する「処理Ａ」、重要度の低いデータを退避ストレージ１００Ａに移動する「処理Ｂ」を行い得る。なお、この他重要度の低いデータを削除する「処理Ｃ」を行うようにしてもよい。
例えばストレージデバイス１００が図１におけるストレージノード１２Ｂにある場合、重要度の高いデータはストレージノード１２Ａに移動される。また、重要度が低いデータは、自身のストレージノード１２内の退避ストレージ１００Ａ（図２，図３）に移動されることになる。
【００４２】
第１の範囲または第２の範囲は、具体的なスコアの値により定義してもよいし、例えば「スコアが高い（または低い）順に所定個数（または所定容量）のデータ」などのように定義してもよい。
データ移動部２１０によるデータの移動は、例えばストレージデバイス１００に空き容量がない状態で更に新しいデータを記憶したい場合の他、所定の時間間隔ごとに定期的に行ってもよい。これは、データ移動部２１０は従来技術のようにデータを削除するのではなく、データを移動させるものであるためであり、重要度により定期的にデータを移動させることにより、ストレージネットワーク１０におけるデータ配置を最適化することができる。
【００４３】
なお、データ移動部２１０で上記処理Ａ，Ｂのいずれを行うかは、例えばストレージネットワーク１０内の各ストレージデバイスの状況に応じて決定してもよい。例えば、ストレージデバイス１００が図１におけるストレージノード１２Ｂにある場合、ストレージノード１２Ａおよびストレージノード１２Ｃにあるストレージデバイスの稼働状況、例えば空き状況やノード間の転送速度などを取得し、データ転送を行いやすいノード（例えば十分な空き容量があるストレージデバイスを有する方のノードや、転送速度が速い（ネットワーク遅延が生じていない）方のノードなど）を選択する。その結果、例えば、上位のノード（または下位のノード）を選択した場合には重要度の高いデータに対して上記処理Ａを行う。また、稼働状況に基づき、所定の条件を満たす他のストレージデバイス１００が見つからなかった場合に、重要度の低いデータに対して上記処理Ｂを行うようにしてもよい。それ以外に、稼働状況に基づき、所定の条件を満たす移動可能な上位のノードが存在しなかった場合（移動可能な下位のノードのみ存在する場合）に、重要度の低いデータに対して上記処理Ｂを行うようにしてもよい。
すなわち、データ移動部２１０は、他のストレージデバイスの稼働状況に基づいてデータの移動先ストレージデバイスを決定する。その際、ストレージネットワーク１０が図１に示すような階層構造を備える場合には、データ移動部２１０は、移動先ストレージデバイスの階層構造における位置に基づいて移動対象データを決定するようにしてもよい。
このようにすることで、移動先の稼働状況に基づいて移動させるデータを選択することができ、ストレージネットワーク１０内で効率よくデータを移動させることができる。
【００４４】
図５は、データ管理装置２０におけるキャッシュ制御を模式的に示す説明図である。
ストレージデバイス１００は容量αを有し、図５の符号Ｔ１０の時点ではデータa，ｂ，ｃがこの順に記憶されている。符号Ｔ１０の時点ではストレージデバイス１００に空き容量があるため、新規データｄはそのまま記憶可能である。新規データｄはデータｃの次に記憶される。
【００４５】
また、ストレージデバイス１００内のデータにユーザからのアクセスがあった場合、スコア付与部２０８によりスコアの再計算が行われ、スコアに基づくデータの並び替えが行われる。例えば、図５の符号Ｔ１１の時点でデータａにユーザからのアクセスがあった場合（符号Ｔ１１の矢印１１１）、データａのスコアが再計算され、並び替えが行われる。従来技術ではアクセスがあったデータはデータ列の最後尾となるが、本実施の形態では必ずしも最後尾とはならず、例えば符号Ｔ１２のように最後尾から２番目などとなる可能性もある。この場合に最後尾にあるデータｈは、例えば頻繁にアクセスを受けるデータなどとなる。
【００４６】
また、図５の符号Ｔ１３の時点のようにストレージデバイス１００に空き容量がない状態で新たなデータiを記憶するには、データ移動部２１０によりいずれかのデータを他のストレージデバイス１００または退避ストレージ１００Ａに移動させる。例えば上記処理Ａを行う場合には、最も重要度の高いデータであるデータｈを他のストレージデバイス１００（例えば、上位のストレージデバイス）に移動させる（符号Ｔ１３の矢印１３１）。また、上記処理Ｂを行う場合には、最も重要度の低いデータであるデータｂを退避ストレージ１００Ａに移動させる（符号Ｔ１３の矢印１３２）。なお、上記処理Ｃを行う場合には、最も重要度の低いデータであるデータｂを削除する。
【００４７】
図６は、データ管理装置２０の処理手順を示すフローチャートである。
スコア付与部２０８は、ストレージデバイス１００内の各データへのアクセスを監視し、逐次重要度に関するスコアを算出し、スコアに基づいてデータを並び替える（ステップＳ１）。
次に、新規データ受信部２０２が新規データを受信したかを判定する（ステップＳ２）。そして、新規データ受信部２０２は、新規データを受信していなければ（ステップＳ２：Ｎｏ）、受信するまで待つ。一方、新規データ受信部２０２は、新規データを受信すると（ステップＳ２：Ｙｅｓ）、ステップＳ３へ進む。
なお、スコア付与部２０８によるスコアの算出とデータの並び替えは、ステップＳ１において所定の時間間隔ごとに行われてもよいし、ステップＳ２において、新規データを受信したこと（ステップＳ２：Ｙｅｓ）を契機として行ってもよい。
【００４８】
ステップＳ３において、容量監視部２０６は、ストレージデバイス１００の空き容量を確認する。そして、容量監視部２０６が新規データを記憶できるだけの空き容量があると判定した場合には（ステップＳ３：Ｙｅｓ）、データ記憶部２０４がストレージデバイス１００に新規データを記憶する（ステップＳ４）。
一方、容量監視部２０６が新規データを記憶できるだけの空き容量がないと判定した場合には（ステップＳ３：Ｎｏ）、次のステップＳ５へ進む。
【００４９】
ステップＳ５において、データ移動部２１０は、ストレージデバイス１００に記憶した各データのスコアを参照し、当該スコアが重要度の高いことを示す第１の範囲内にあるデータが存在するか否かを判定する。そして、データ移動部２１０は、スコアが第１の範囲内にあるデータが存在すると判定した場合に（ステップＳ５：Ｙｅｓ）、当該データを他のストレージデバイス１００（例えば、上位のストレージデバイス）に移動する（ステップＳ６）。そして、次のステップＳ７に進む。一方、スコアが第１の範囲内にあるデータが存在しなかった場合には（ステップＳ５：Ｎｏ）、ステップＳ７に進む。
【００５０】
ステップＳ７において、データ移動部２１０は、ストレージデバイス１００に記憶した各データのスコアを参照し、当該スコアが重要度の低いことを示す第２の範囲内にあるデータが存在するか否かを判定する。そして、データ移動部２１０は、スコアが第２の範囲内にあるデータが存在すると判定した場合に（ステップＳ７：Ｙｅｓ）、当該データを退避ストレージ１００Ａに移動する（ステップＳ８）。そして、次のステップＳ９に進む。一方、スコアが第２の範囲内にあるデータが存在しなかった場合には（ステップＳ７：Ｎｏ）、ステップＳ９に進む。
なお、ステップＳ５とステップＳ７の判定処理は、どちらを先に行ってもよい。またステップＳ５およびステップＳ７において、移動対象となるデータ（移動対象データ）が複数見つかった場合に、その移動対象データのうち少なくとも１つのデータを移動させるように設定しておいてもよい。また、ステップＳ７において見つかった重要度が低いスコアのデータを削除するように設定してもよい。
【００５１】
ステップＳ６またはステップＳ８の処理が実行された結果、データが移動され、ストレージデバイス１００に新規データを記憶できるだけの空き容量が形成される。その後、データ記憶部２０４が新規データをストレージデバイス１００に記憶する（ステップＳ９）。
【００５２】
以上説明したように、実施の形態にかかるデータ管理装置２０によれば、重要度の高いデータを削除することなく他のストレージデバイス１００（例えば、上位のストレージデバイス）に移動させることができる。また、重要度の低いデータも削除することなく退避ストレージ１００Ａに移動させることができる。よって、削除されては困るデータを確実に記憶しておくことができる。また、データ管理装置２０によれば、データが生成されてからアクセスされるまでの時間およびデータに対するアクセス回数を、重要度を示すスコアに反映させることができる。このスコアに基づき、データの移動先を判定することにより、ストレージネットワーク１０内におけるデータへのアクセス効率を向上させることができる。
【符号の説明】
【００５３】
１０    ストレージネットワーク
１２，１２Ａ〜１２Ｄ  ストレージノード
１４，１４Ａ  ユーザ
２０    データ管理装置
１００  ストレージデバイス
１００Ａ  退避ストレージ
２０２  新規データ受信部
２０４  データ記憶部
２０６  容量監視部
２０８  スコア付与部
２１０  データ移動部
【図１】
2020160859.tif 000003
【図２】
2020160859.tif 000004
【図３】
2020160859.tif 000005
【図４】
2020160859.tif 000006
【図５】
2020160859.tif 000007
【図６】
2020160859.tif 000008
【図７】
2020160859.tif 000009