(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-10-31
(45)【発行日】2023-11-09
(54)【発明の名称】データ管理システム、データ管理装置、自発移動条件判定装置、自発移動先選択装置、および、データ管理方法、並びに、プログラム
(51)【国際特許分類】
G06F 16/182 20190101AFI20231101BHJP
G06F 16/185 20190101ALI20231101BHJP
【FI】
G06F16/182 100
G06F16/185
(21)【出願番号】P 2020013204
(22)【出願日】2020-01-30
【審査請求日】2022-02-16
(73)【特許権者】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(73)【特許権者】
【識別番号】504139662
【氏名又は名称】国立大学法人東海国立大学機構
(74)【代理人】
【識別番号】110001807
【氏名又は名称】弁理士法人磯野国際特許商標事務所
(72)【発明者】
【氏名】野口 博史
(72)【発明者】
【氏名】片岡 操
(72)【発明者】
【氏名】磯田 卓万
(72)【発明者】
【氏名】村瀬 勉
(72)【発明者】
【氏名】伊藤 智稀
【審査官】早川 学
(56)【参考文献】
【文献】特開2000-207370(JP,A)
【文献】特開2003-271316(JP,A)
【文献】特開2005-050007(JP,A)
【文献】特開2018-005446(JP,A)
【文献】特開2006-252247(JP,A)
【文献】米国特許出願公開第2019/0034445(US,A1)
【文献】米国特許第08984027(US,B1)
【文献】中国特許出願公開第110139234(CN,A)
【文献】IRIE, Ryo et al.,A Novel Automated Tiered Storage Architecture for Achieving both Cost Saving and QoE,2018 IEEE 8th International Symposium on Cloud and Service Computing (SC2) [online],IEEE,2018年12月09日,pp.32-40,[検索日:2023.01.04], Internet<URL:https://ieeexplore.ieee.org/abstract/document/8567370>
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
(57)【特許請求の範囲】
【請求項1】
ストレージデバイスとして機能するノードが複数で構成されるストレージネットワークにおける、前記ノードであるデータ管理装置を含むデータ管理システムであって、
前記データ管理システムは、前記データ管理装置、並びに、当該データ管理装置を自ノードとし接続される、自発移動条件判定装置、自発移動先選択装置およびアーカイブ指示装置を備えており、
前記データ管理装置は、
データを記録するためのホットストレージおよびコールドストレージを有する記憶手段と、
前記ホットストレージおよび前記コールドストレージに記録されるデータに対するアクセス数を含む状態情報を取得する状態監視手段と、
前記記憶手段に記憶されるデータについて、現時点までの前記アクセス数に基づき予測される将来のアクセス数が、大きいものほど高い値となる評価値である有用性評価値を算出するとともに、
前記記憶手段に記憶されるデータについて、当該データを保持する前記自ノードが収容するユーザ端末からの自ノードへのアクセス数、当該自ノードに隣接する一方向の他ノードに線形接続されるノードからのアクセスを含む前記一方向の他ノードからのアクセス数、当該自ノードに隣接する前記一方向とは異なる他方向の他ノードに線形接続されるノードからのアクセスを含む前記他方向の他ノードからのアクセス数、を用いた当該データへのアクセス全体に対する各アクセ
ス数の偏りのうち、最大のアクセス数の偏りをアクセス偏在性として算出する自発移動処理手段と、を備え、
前記自発移動条件判定装置は、前記ホットストレージに記憶された当該データについて、前記有用性評価値が所定の第1閾値以上であり、かつ、前記アクセス偏在性が所定の第2閾値以上であるという所定の自発移動条件を満たす場合に、当該データを自発移動対象データと判定する手段を備え、
前記自発移動先選択装置は、自ノードおよび他ノードの保持するデータの有用性評価値の最小値が前記自発移動対象データの有用性評価値より小さい場合に、そのより小さい有用性評価値であるデータを備えるノードを保持可能ノードとして選択し、前記保持可能ノードのうち、前記自発移動対象データと判定されたデータにアクセスする際のユーザ端末の通信コストが削減される位置にあるノードを、前記自発移動対象データを保持するノードからの移動先となるノードを示す自発移動先ノードとして選択する手段を備え、
前記アーカイブ指示装置は、自ノードのホットストレージに記憶されたデータのうち、前記有用性評価値が最小のデータを、自ノードのコールドストレージに移動させる指示情報を、前記データ管理装置に送信する手段を備え、
前記データ管理装置は、
前記自発移動対象データを前記自発移動先ノードに移動し、
前記指示情報を受け取ると、自ノードのホットストレージに記憶された前記有用性評価値が最小のデータを、自ノードのコールドストレージに移動させること
を特徴とするデータ管理システム。
【請求項2】
ストレージデバイスとして機能するノードが複数で構成されるストレージネットワークにおける、前記ノードであるデータ管理装置を含むデータ管理システムであって、
前記データ管理システムは、データを記憶するためのホットストレージおよびコールドストレージを有する前記データ管理装置、並びに、当該データ管理装置を自ノードとし接続される、自発移動条件判定装置、自発移動先選択装置およびアーカイブ指示装置を備えており、
前記自発移動条件判定装置は、前記ホットストレージに記憶されたデータが、当該データへのアクセスに関する所定の自発移動条件を満たす場合に、当該データを自発移動対象データと判定し、
前記自発移動先選択装置は、前記データにアクセスする際のユーザ端末の通信コストが削減される位置にある、自ノード以外の他ノードを、前記自発移動対象データを保持するノードからの移動先となるノードを示す自発移動先ノードとして選択し、
前記アーカイブ指示装置は、自ノードのホットストレージに記憶されたデータのうち、将来のアクセス数の予測が大きいほど高い値を示す有用性評価値が最小のデータを、自ノードのコールドストレージに移動させる指示情報を、前記データ管理装置に送信し、
前記データ管理装置は、
前記自発移動対象データを前記自発移動先ノードに移動し、
前記指示情報を受け取ると、自ノードのホットストレージに記憶された前記有用性評価値が最小のデータを、自ノードのコールドストレージに移動させ、
前記ホットストレージに記憶されたデータの所定時間内のアクセス数に比例する値をリアルタイム要求度として算出し、前記リアルタイム要求度が高いほど、データ生成間隔を短く調整する指示情報を生成し、当該データを生成するデバイスに、
当該指示情報を出力する生成間隔調整装置を、さらに備えること
を特徴とするデータ管理システム。
【請求項3】
ストレージデバイスとして機能するノードが複数で構成されるストレージネットワークにおける、前記ノードであるデータ管理装置を含むデータ管理システムの前記データ管理装置であって、
前記データ管理システムは、前記データ管理装置、並びに、当該データ管理装置を自ノードとし接続される、自発移動条件判定装置、自発移動先選択装置およびアーカイブ指示装置を備えており、
前記データ管理装置は、
データを記憶するためのホットストレージおよびコールドストレージを有する記憶部と、
前記ホットストレージおよび前記コールドストレージに記録されるデータに対するアクセス数を含む状態情報を取得する状態監視部と、
前記記憶部に記憶されるデータについて、現時点までの前記アクセス数に基づき予測される将来のアクセス数が、大きいものほど高い値となる評価値である有用性評価値を算出する有用性評価部と、
前記記憶部に記憶されるデータについて、当該データを保持する前記自ノードが収容するユーザ端末からの自ノードへのアクセス数、当該自ノードに隣接する一方向の他ノードに線形接続されるノードからのアクセスを含む前記一方向の他ノードからのアクセス数、当該自ノードに隣接する前記一方向とは異なる他方向の他ノードに線形接続されるノードからのアクセスを含む前記他方向の他ノードからのアクセス数、を用いた当該データへのアクセス全体に対する各アクセ
ス数の偏りのうち、最大のアクセス数の偏りをアクセス偏在性として算出するアクセス偏在性算出部と、
前記ホットストレージに記憶された当該データについて、前記有用性評価値および前記アクセス偏在性を用いた所定の自発移動条件を満たすと前記自発移動条件判定装置により判定されたデータである自発移動対象データを、前記データにアクセスする際のユーザ端末の通信コストが削減される位置にあり、前記自発移動対象データを保持するノードからの移動先のノードとして前記自発移動先選択装置により選択されたノードである自発移動先ノードに移動する自発移動実行部と、
自ノードのホットストレージに記憶されたデータのうち、前記有用性評価値が最小のデータを、自ノードのコールドストレージに移動させる指示情報を前記アーカイブ指示装置から受け取り、自ノードのホットストレージに記憶された前記有用性評価値が最小のデータを、自ノードのコールドストレージに移動させるアーカイブ実行部と、を備えること
を特徴とするデータ管理装置。
【請求項4】
ストレージデバイスとして機能するノードが複数で構成されるストレージネットワークにおける、前記ノードであるデータ管理装置を含むデータ管理システムの自発移動条件判定装置であって、
前記データ管理システムは、データを記憶するためのホットストレージおよびコールドストレージを有する前記データ管理装置および自発移動条件判定装置を備えており、
前記自発移動条件判定装置は、
前記ホットストレージに記憶されたデータについて、現時点までのアクセス数に基づき予測される将来のアクセス数が、大きいものほど高い値となる評価値である有用性評価値、および、
前記ホットストレージに記憶されたデータについて、当該データを保持する前記データ管理装置である自ノードが収容するユーザ端末からの前記自ノードへのアクセス数、当該自ノードに隣接する一方向の他ノードに線形接続されるノードからのアクセスを含む前記一方向の他ノードからのアクセス数、当該自ノードに隣接する前記一方向とは異なる他方向の他ノードに線形接続されるノードからのアクセスを含む前記他方向の他ノードからのアクセス数、を用いた当該データへのアクセス全体に対する各アクセ
ス数の偏りのうち、最大のアクセス数の偏りを示すアクセス偏在性を、前記データ管理装置から取得し、前記有用性評価値が所定の第1閾値以上であり、かつ、前記アクセス偏在性が所定の第2閾値以上であるという所定の自発移動条件を満たす場合に、当該データを自発移動対象データと判定する手段を備えること
を特徴とする自発移動条件判定装置。
【請求項5】
ストレージデバイスとして機能するノードが複数で構成されるストレージネットワークにおける、前記ノードであるデータ管理装置を含むデータ管理システムの自発移動先選択装置であって、
前記データ管理システムは、データを記憶するためのホットストレージおよびコールドストレージを有する前記データ管理装置、並びに、当該データ管理装置を自ノードとし接続される、自発移動条件判定装置および自発移動先選択装置を備えており、
前記自発移動先選択装置は、
前記ホットストレージに記憶されたデータにおいて、当該データへのアクセスに関する所定の自発移動条件を満たすと前記自発移動条件判定装置により判定されたデータである自発移動対象データについて、前記データ管理装置の記憶部の前記ホットストレージに記憶されたデータの、現時点までのアクセス数に基づき予測される将来のアクセス数が、大きいものほど高い値となる評価値である有用性評価値を参照し、自ノードおよび他ノードの保持するデータの有用性評価値の最小値が前記自発移動対象データの有用性評価値より小さい場合に、そのより小さい有用性評価値であるデータを備えるノードを保持可能ノードとして選択する手段と、
前記保持可能ノードのうち、前記自発移動対象データと判定されたデータにアクセスする際のユーザ端末の通信コストが削減される位置にある前記ノードを、前記自発移動対象データを保持するノードからの移動先となるノードを示す自発移動先ノードとして選択する手段と、を備えること
を特徴とする自発移動先選択装置。
【請求項6】
ストレージデバイスとして機能するノードが複数で構成されるストレージネットワークにおける、前記ノードであるデータ管理装置を含むデータ管理システムのデータ管理方法であって、
前記データ管理システムは、前記データ管理装置、並びに、当該データ管理装置を自ノードとし接続される、自発移動条件判定装置、自発移動先選択装置およびアーカイブ指示装置を備えており、
前記データ管理装置は、
データを記録するためのホットストレージおよびコールドストレージを有する記憶部を有しており、
前記ホットストレージおよび前記コールドストレージに記録されるデータに対するアクセス数を含む状態情報を取得し、
前記記憶部に記憶されるデータについて、現時点までの前記アクセス数に基づき予測される将来のアクセス数が、大きいものほど高い値となる評価値である有用性評価値を算出するとともに、
前記記憶部に記憶されるデータについて、当該データを保持する前記自ノードが収容するユーザ端末からの自ノードへのアクセス数、当該自ノードに隣接する一方向の他ノードに線形接続されるノードからのアクセスを含む前記一方向の他ノードからのアクセス数、当該自ノードに隣接する前記一方向とは異なる他方向の他ノードに線形接続されるノードからのアクセスを含む前記他方向の他ノードからのアクセス数、を用いた当該データへのアクセス全体に対する各アクセ
ス数の偏りのうち、最大のアクセス数の偏りをアクセス偏在性として算出し、
前記自発移動条件判定装置は、前記ホットストレージに記憶された当該データについて、前記有用性評価値が所定の第1閾値以上であり、かつ、前記アクセス偏在性が所定の第2閾値以上であるという所定の自発移動条件を満たす場合に、当該データを自発移動対象データと判定し、
前記自発移動先選択装置は、自ノードおよび他ノードの保持するデータの有用性評価値の最小値が前記自発移動対象データの有用性評価値より小さい場合に、そのより小さい有用性評価値であるデータを備えるノードを保持可能ノードとして選択し、前記保持可能ノードのうち、前記自発移動対象データと判定されたデータにアクセスする際のユーザ端末の通信コストが削減される位置にあるノードを、前記自発移動対象データを保持するノードからの移動先となるノードを示す自発移動先ノードとして選択し、
前記アーカイブ指示装置は、自ノードのホットストレージに記憶されたデータのうち、前記有用性評価値が最小のデータを、自ノードのコールドストレージに移動させる指示情報を、前記データ管理装置に送信し、
前記データ管理装置は、
前記自発移動対象データを前記自発移動先ノードに移動し、
前記指示情報を受け取ると、自ノードのホットストレージに記憶された前記有用性評価値が最小のデータを、自ノードのコールドストレージに移動させること
を特徴とするデータ管理方法。
【請求項7】
コンピュータを、請求項3に記載のデータ管理装置として機能させるためのプログラム。
【請求項8】
コンピュータを、請求項4に記載の自発移動条件判定装置として機能させるためのプログラム。
【請求項9】
コンピュータを、請求項5に記載の自発移動先選択装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、分散ストレージにおいてデータ配置制御を行う、データ管理システム、データ管理装置、自発移動条件判定装置、自発移動先選択装置、および、データ管理方法、並びに、プログラムに関する。
【背景技術】
【0002】
従来、データにアクセスする端末またはアプリケーション(以下「ユーザ端末」という。)にとって便利な場所にあるデータ保存場所(ストレージ)にデータを配備する技術として、キャッシュ制御技術が知られている。データ保存場所として選択される場所(便利な場所)の特徴として、例えば遅延の有無などで定義されるQoS(Quality of Service)が良好な場所、物理的に近いなどデータ転送エネルギーが小さい場所などが挙げられる。
【0003】
キャッシュ制御技術では、ユーザ端末のローカリティ(同じ場所からのアクセスが多い)という特性を想定して、ユーザ端末が利用したデータを一時的にそのユーザ端末の近くに保存する機能を提供する。この一時保存データはキャッシュデータと呼ばれ、オリジナルデータの一時的なコピーである。一方で、ストレージの容量は有限であり、不要と思われるキャッシュデータは消去される。不要と判断するアルゴリズムとして、置き換えアルゴリズムと呼ばれるLRU(Least Recent Used)およびTLRU(Time aware Least Recent Used)が知られている(非特許文献1,2参照)。
【0004】
LRUは、最近アクセスされたデータから順に並べたデータ列の最後部が削除対象となるアルゴリズムである。また、TLRUは、TTL(Time To Live)およびTTU(Time To Use)を考慮したLRUである。TTLは、データがキャッシュに存在できる時間の限界を示し、いわばデータの賞味期限である。キャッシュデータが生成されてから時間が経過するとオリジナルデータが変化する可能性があるため、TTLを設定することによりデータの正当性を保証する。また、TTUは、データが生成されたときから生存できる時間の限界を示し、いわばデータの消費期限である。
【先行技術文献】
【非特許文献】
【0005】
【文献】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月
【発明の概要】
【発明が解決しようとする課題】
【0006】
上記のような従来技術では、例えば、ストレージデバイスにおいて入力された順にデータが記憶され、記憶容量が一杯になると、データ列のうち先頭にあるデータ(古いデータ)が削除され、新たに入力されたデータがデータ列の最後尾に記憶される。また、ストレージデバイス内のデータに対しアクセスがあった場合には、そのデータは最後尾に移動される。つまり、新しいデータや最後にアクセスがあった時刻が最近のデータを重要なデータとして取り扱っている。しかしながら、これらの指標は、データの重要性を測る指標として十分とは言えない。
また、上記した従来技術では、ストレージデバイスが一杯の場合、ストレージデバイスからデータを削除することしかできず、例えば古くなっても削除されては困るデータがある場合などに不都合が生じる。
【0007】
本発明は、このような事情に鑑みなされたものであり、ストレージデバイスの記憶容量が不足する場合であっても、データを削除せずに記憶しておくことを課題とする。
【課題を解決するための手段】
【0008】
本発明に係るデータ管理システムは、ストレージデバイスとして機能するノードが複数で構成されるストレージネットワークにおける、前記ノードであるデータ管理装置を含むデータ管理システムであって、前記データ管理システムは、前記データ管理装置、並びに、当該データ管理装置を自ノードとし接続される、自発移動条件判定装置、自発移動先選択装置およびアーカイブ指示装置を備えており、前記データ管理装置は、データを記録するためのホットストレージおよびコールドストレージを有する記憶手段と、前記ホットストレージおよび前記コールドストレージに記録されるデータに対するアクセス数を含む状態情報を取得する状態監視手段と、前記記憶手段に記憶されるデータについて、現時点までの前記アクセス数に基づき予測される将来のアクセス数が、大きいものほど高い値となる評価値である有用性評価値を算出するとともに、前記記憶手段に記憶されるデータについて、当該データを保持する前記自ノードが収容するユーザ端末からの自ノードへのアクセス数、当該自ノードに隣接する一方向の他ノードに線形接続されるノードからのアクセスを含む前記一方向の他ノードからのアクセス数、当該自ノードに隣接する前記一方向とは異なる他方向の他ノードに線形接続されるノードからのアクセスを含む前記他方向の他ノードからのアクセス数、を用いた当該データへのアクセス全体に対する各アクセス数の偏りのうち、最大のアクセス数の偏りをアクセス偏在性として算出する自発移動処理手段と、を備え、前記自発移動条件判定装置は、前記ホットストレージに記憶された当該データについて、前記有用性評価値が所定の第1閾値以上であり、かつ、前記アクセス偏在性が所定の第2閾値以上であるという所定の自発移動条件を満たす場合に、当該データを自発移動対象データと判定する手段を備え、前記自発移動先選択装置は、自ノードおよび他ノードの保持するデータの有用性評価値の最小値が前記自発移動対象データの有用性評価値より小さい場合に、そのより小さい有用性評価値であるデータを備えるノードを保持可能ノードとして選択し、前記保持可能ノードのうち、前記自発移動対象データと判定されたデータにアクセスする際のユーザ端末の通信コストが削減される位置にあるノードを、前記自発移動対象データを保持するノードからの移動先となるノードを示す自発移動先ノードとして選択する手段を備え、前記アーカイブ指示装置は、自ノードのホットストレージに記憶されたデータのうち、前記有用性評価値が最小のデータを、自ノードのコールドストレージに移動させる指示情報を、前記データ管理装置に送信する手段を備え、前記データ管理装置は、前記自発移動対象データを前記自発移動先ノードに移動し、前記指示情報を受け取ると、自ノードのホットストレージに記憶された前記有用性評価値が最小のデータを、自ノードのコールドストレージに移動させることを特徴とする。
【発明の効果】
【0009】
本発明によれば、ストレージデバイスの記憶容量が不足する場合であっても、データを削除せずに記憶しておくことができる。
【図面の簡単な説明】
【0010】
【
図1】本実施形態に係るストレージネットワークの構成(ツリー構造)を示す図である。
【
図2】本実施形態に係るストレージネットワークの構成(線形接続)での自発移動の概要を説明するための図である。
【
図3】本実施形態に係るデータ管理システムを含むストレージネットワークの全体構成を示す図である。
【
図4】本実施形態に係る自発移動処理部の機能と、自発移動に関する各装置が備える機能の詳細を説明するための図である。
【
図5】本実施形態におけるアクセス偏在性を説明するための図である。
【
図6】本実施形態に係る強制移動処理部の機能と、強制移動に関する各装置が備える機能の詳細を説明するための図である。
【
図7】本実施形態における強制移動の処理を説明するための図である。
【
図8】本実施形態に係るデータ管理システムの変形例の全体構成を示す図である。
【
図9】本実施形態に係るデータ管理システムの変形例の全体構成を示す図である。
【
図10】本実施形態に係るデータ管理システムの自発移動によるデータ配置制御の流れを示すフローチャートである。
【
図11】本実施形態に係るデータ管理システムの最適ノード選択処理の流れを示すフローチャートである。
【
図12】本実施形態に係るデータ管理システムの強制移動によるデータ配置制御の流れを示すフローチャートである。
【
図13】本実施形態に係るデータ管理システムのデータ生成間隔調整の流れを示すフローチャートである。
【
図14】本実施形態に係るデータ管理装置および各装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。
【
図15】本実施形態に係るデータ管理システムの変形例であるデータ管理装置の構成例を示す図である。
【発明を実施するための形態】
【0011】
次に、本発明を実施するための形態(以下、「本実施形態」と称する。)について説明する。まず、本発明の概要を説明する。
【0012】
<概要>
今日、IoT(Internet of Things)が急速に拡大を続けており、多種多様かつ膨大な数のデバイスがネットワークに接続されつつある。そして、これらのデバイスが生成する膨大なデータの活用が期待されている。例えば、街頭や店舗には既に多くの監視カメラが設置されており、日々の映像を記録している。また、工場等の稼働データを、センサデバイス等を利用して収集している。これらの大量のデータは、ビックデータとして様々なサービスやデータ解析に利用される。
【0013】
この大量のデータ、特にリアルタイムなデータ(ライブデータ)の管理手法について、(1)データセンタでの管理、(2)ストレージネットワーク、つまり、ネットワーク内の分散ストレージによる管理、(3)データを生成(収集)するデバイス(Publisher)自身での管理、の3つの手法が考えられる。この中で(1)データセンタでの管理では、集約地点付近にトラヒックが集中し、ネットワークの輻輳を招くおそれがある。(3)デバイス自身での管理では、通常IoT機器でのデータ記憶容量が小さいため、ライブデータ以外の静的なデータ(デバイスに予め記憶させておくレガシーデータ)の管理は可能であっても、大量のライブデータを記憶することは難しい。これに対し、(2)ストレージネットワークでは、データの取得要求をするユーザ端末(Subscriber)に近い適度な地点にあるストレージ(分散ストレージとしての各ノード)等にデータを保持させることにより、効率的なデータ管理が実現できる。
【0014】
また、従来のライブデータの記憶手段であるストレージ(例えば、HDD(Hard Disk Drive)等)であるホットストレージでは容量やコストにより対応が困難な場合において、コールドストレージとホットストレージとを併用した利用が考えられる。ここで、「ホットストレージ」は、従来のHDDやSSD(Solid State Drive)等のリアルタイムな要求を満足できる常時稼働の記憶媒体である。このホットストレージは、応答速度が例えば10-8~100(s)と速いが、容量が有限であり、コールドストレージと比べ高コストである。また、「コールドストレージ」は、例えば、DVD(Digital Versatile Disc:登録商標)やCD、BD(Blu-ray Disc:登録商標)等のリアルタイムな要求を満足できない記憶媒体である。このコールドストレージは、応答速度が例えば100~104(s)と遅いが、容量は超大容量(記憶媒体を増やせば無限と仮定できる。)であり、ホットストレージと比べ低コストである。なお、このコールドストレージに記憶されたデータへのリクエストに対する応答は、例えば、ロボットアームが物理的に動き、棚に格納されたDVD等を取得して、データ読み取り/書き込みモジュール等にセットすることにより行われてもよいし、手動により、データ読み取り/書き込みモジュール等に、DVD等をセットことにより行われてもよい。
【0015】
このホットストレージとコールドストレージとを、ストレージネットワークの各ノードに備えさせることにより、アクセス時間が大きくても削除したくないデータについては、ホットストレージからコールドストレージに移動させて保存しておく。これにより、リアルタイムな要求に対応する必要がある有用性の高いデータについては、ホットストレージに記憶しておき、有用性の低いデータについては、コールドストレージに記憶しておくことによりデータを削除せずに記憶し続け、ユーザの利便性を高めることができる。
【0016】
このストレージネットワークは、例えば、
図1に示すように、ストレージネットワークの各ノードがツリー構造として接続される。また、後記する
図2等のように、各ノードがリンクで線形接続されてもよい。ノード(ストレージノード)間を接続するリンクが、複数のスイッチと複数の伝送路、あるいは、小規模なネットワーク(アンダーレイネットワークと呼ばれる)で構成されていてもよい。
そして、ホットストレージとコールドストレージとを備えた各ノードが接続されたストレージネットワークにおいて、適切なノードを選択してデータを配置するようにする。ここで、適切なノードとは、例えば、遅延の程度等で表されるQoS(Quality of Service)が良好な場所(遅延が少ない場所)や、データの取得要求を行うユーザ端末と物理的に近いなどのデータ転送エネルギーが小さい場所のノードのことをいう。
【0017】
このストレージネットワークによる従来のデータ配置制御では、ホットストレージの容量が溢れたときに、次に示す制御を実行することが想定される。
(制御1)有用性が低いデータを、ノード内のホットストレージからコールドストレージに移動する(以下、「アーカイブ」と称する。)。
(制御2)有用性の高いデータを、他ノードの適切なホットストレージに移動する。
【0018】
本実施形態に係るデータ管理システム1000(後記する
図3参照)においては、上記の(制御1)および(制御2)で想定される処理に更なる改良を加えた、「自発移動」、「強制移動」、「リアルタイム要求に応じたデータ生成間隔調整」によるデータ配置制御を行う。
【0019】
〔自発移動〕
まず、自発移動について説明する。
本実施形態における自発移動とは、あるデータに関して、現状のデータ保持ノードより、データを取得要求するユーザ端末(Subscriber)にとって、より最適な場所にノードが存在するとき、通信コストの低減等のために、当該データを自発的に当該ノード(後記する「最適ノード」)に移動させる処理をいう。
上記の(制御2)の他ノードへの移動は、ホットストレージの容量が溢れたときに、保持するノードを変更して性能改善が可能なデータを移動させる処理である。この(制御2)は、容量溢れが生じたタイミングが契機となるが、本実施形態に係るデータ管理システム1000(
図3)の自発移動では、より早期に性能改善を図るために、容量溢れが生じたタイミングに限らず、対象となるデータが、所定の条件(後記する「自発移動条件」)を満たした場合に、最適ノードを選択して移動させる。
【0020】
あるデータが、自発移動の対象データとなるか否かの判定は、「有用性評価値」と「アクセス偏在性」に基づき決定する。
有用性評価値は、そのデータについて、現時点までのアクセス数に基づき予測される将来のアクセス数が、大きいものほど高い値となる評価値である。有用性評価値が高いほど、そのデータが将来、ユーザ端末からアクセスされる可能性が高い、つまり、そのデータが有用性の高いデータであることを示す。
また、アクセス偏在性は、ノードが保持するデータに対するアクセス元の隣接ノードからのアクセス数の偏りを示す。つまり、あるデータについて、隣接する複数のノードのうち、1つのノードのアクセス偏在性が高いほど、単一方向からそのデータがアクセスされていることを示し、現状ノード(現時点でそのデータを保持するノード)が需要地点ノードである確率が低いことを示している。なお、需要地点ノードとは、自身が収容するユーザ端末(Subscriber)からデータの取得要求を受け付けるノードである。仮に、需要地点ノードに目的とするデータが保持されていれば、他のノードにデータを要求して取得する場合に比べ、データ転送エネルギーが少なく済むとともに、遅延等が減りQoSが良好となる。
【0021】
具体的には、
図2に示すように、例えば、ストレージネットワークの各ノードが線形接続されている場合において、ノードN
10(現状ノード)のホットストレージにデータ「A」が記憶され、そのデータ「A」が所定の自発移動条件を満たすとする。ここで、ユーザ端末Uからデータ「A」についての取得要求を受け付けるノードN
50が需要地点ノードとなる。現状ノードに記憶されているデータ「A」は、需要地点ノードとなるノードN
50側からのアクセスが多い場合、ノードN
10に隣接する(ノードN
50方向の)ノードN
20のアクセス偏在性が高くなる。よって、アクセス偏在性が高いほど、つまり、単一方向からデータ「A」がアクセスされるほど、現状ノードが需要地点ノードである確率が低く、より最適な(需要地点ノードに近い)ノード(最適ノードN
30)への移動する価値が高いことを示す。
図2においては、後記する最適ノード選択処理により、需要地点ノードN
50により近いノードN
30を最適ノードとして選択し、ノードN
10に記憶されていたデータ「A」を、ノードN
30に自発移動させた例を示している。
この最適ノード選択処理の詳細については、
図11を参照して後記する。
【0022】
〔強制移動〕
次に、強制移動について説明する。
あるノードに新しいデータを記憶させようとしてデータ溢れが生じた際に、上記の(制御1)のように、そのノードに記憶されているデータのうち、有用性(有用性評価値)の低いデータをアーカイブ操作し、コールドストレージに記憶することができる。ただし、他ノードが、さらに有用性評価値の低いデータを保持していた場合、自ノードのホットストレージに、より有用性評価値の高いデータを保持しておくためには、容量溢れが生じたノードの有用性評価値が最小のデータをアーカイブする代わりに、他ノードにおいて有用性評価値がさらに低い最小のデータをアーカイブすべきである。
つまり、強制移動では、あるノードのホットストレージ容量が溢れたとき、そのノードの有用性評価値が最小のデータが、ストレージネットワークを構成するノード(後記する移動可能ノード)全体で有用性評価値が最小でない場合には、ノード(移動可能ノード)全体のうち、有用性評価値が最小のデータを持つノードを強制移動先ノードとして選択する。そして、選択した強制移動先ノードに、ホットストレージ容量が溢れたノードの有用性評価値が最小のデータを移動する。
この強制移動の詳細については、後記する。
【0023】
〔リアルタイム要求に応じたデータ生成間隔調整〕
つぎに、リアルタイム要求に応じたデータ生成間隔調整について説明する。
データを生成(収集)するデバイス(Publisher)は、所定の時間間隔ごとに、所定の時間内でリアルタイムに生成したデータの集合を、1つのデータ群として、ノードに送信している。このデータ群(広い意味での「データ」と称する。)を生成するデバイスに関して、リアルタイムな要求度(例えば、データ生成後、所定時間内のアクセス数に比例した値)が高い場合には、データ生成間隔を短くすることで、そのデバイスのAoI(Age of Information)を低減することができる。なお、AoIは、情報の鮮度(提供された最新のデータに関する、生成時刻からの経過時間を示す)を意味する。
また、このデータ(データ群)に関して、一定時間内のアクセス数が多いデータと少ないデータとが存在する。この記憶されるデータについて、AoIを考慮しないと、必要以上にストレージを無駄に消費してしまう可能性がある。例えば、アクセス数の少ないデータ(データ群)を生成するデバイスにおいて、AoIを大きくすると、データ容量の大きいデータを1つのデータとして生成し、ノードに送信してホットストレージに記憶することとなる。これに対し、例えば、あるデバイスの60分周期でのデータ群(データ)の生成を、10分周期での生成とすれば、1つのデータのデータ容量を小さくできる。よって、そのデータに関する移動のための転送エネルギー(ネットワーク負荷)を低減することができる。これにより、データ移動の利用から除外されるリンクを減らし、本実施形態におけるデータ配置先(最適ノード)の候補となる移動可能ノード(詳細は後記)を増やすことができる。
よって、リアルタイム要求度が高いデバイスの最新データは、AoIをより小さく、つまり、データ生成間隔を短くするように調整する。一方、リアルタイム要求度の低いデバイスの最新データは、AoIをより大きく、つまり、データ生成間隔を長くするように調整する。
【0024】
以下、本実施形態に係るデータ管理システム1000等について説明する。
【0025】
<本実施形態>
図3は、本実施形態に係るデータ管理システム1000を含むストレージネットワークの全体構成を示す図である。
図3に示すように、データ管理システム1000は、データ管理装置1と、上記した「自発移動」を実現するために用いられる装置群である、自発移動条件判定装置21、自発移動先選択装置22およびアーカイブ指示装置23と、上記した「強制移動」を実現するために用いられる装置群である、強制移動対象データ選択装置31および強制移動先選択装置32と、上記した「データ生成間隔調整」を実現するために用いられる生成間隔調整装置40とを備える。
データ管理装置1は、ストレージネットワークにおいてストレージデバイスとして機能する、上記した各ノードであり、ホットストレージで構成される有限容量蓄積部100と、コールドストレージで構成される無限容量蓄積部105とを備える。そして、複数の上記データ管理システム1000がネットワークを介して接続され、全体としてストレージネットワークを構築する。
【0026】
自発移動に関する装置群である、自発移動条件判定装置21、自発移動先選択装置22およびアーカイブ指示装置23は、1つのデータ管理装置1ごとに設けられ、これらの装置間および当該データ管理装置1に通信接続される。
強制移動に関する装置群である、強制移動対象データ選択装置31および強制移動先選択装置32は、1つのデータ管理装置1ごとに設けられ、これらの装置間および当該データ管理装置1に通信接続される。
また、データ生成間隔調整に関する装置である生成間隔調整装置40は、1つのデータ管理装置1ごとに設けられ、当該データ管理装置1およびデータを生成するデバイス(Publisher)に通信接続される。
【0027】
これらの自発移動条件判定装置21、自発移動先選択装置22、アーカイブ指示装置23、強制移動対象データ選択装置31、強制移動先選択装置32、生成間隔調整装置40は、制御部、入出力部、記憶部(いずれも図示省略)を備えるコンピュータにより構成される。各装置は、自身が行う処理において各データ管理装置1の後記する状態情報が必要な場合には、自身と接続されるデータ管理装置1の記憶部12に記憶された状態情報を参照して処理を実行する。各装置が備える機能の詳細な説明は、データ管理装置1の詳細な説明の中で併せて記載する。
【0028】
≪データ管理装置および各装置の説明≫
次に、
図3等を参照して、データ管理装置1、および、「自発移動」「強制移動」「データ生成間隔調整」に関する各装置の詳細について説明する。
データ管理装置1は、通信接続されたデバイス(Publisher)Pからのデータを、ホットストレージ(有限容量蓄積部100)に記憶するとともに、必要に応じて、ホットストレージ(有限容量蓄積部100)からコールドストレージ(無限容量蓄積部105)へデータを移動するアーカイブを実行する。また、データ管理装置1は、上記した、「自発移動」「強制移動」「リアルタイム要求に応じたデータ生成間隔調整」を上記した各装置と連携して行うことにより、より適切なデータ配置制御を行う。
このデータ管理装置1は、制御部10と、入出力部11と、記憶部12とを備える。
【0029】
入出力部11は、他のデータ管理装置1や、データを生成する各デバイス(Publisher)、自身が収容する複数のユーザ端末(Subscriber)等との間で情報の入出力を行う。また、入出力部11は、自身と通信接続される各装置(自発移動条件判定装置21、自発移動先選択装置22、アーカイブ指示装置23、強制移動対象データ選択装置31、強制移動先選択装置32、生成間隔調整装置40)との間で情報の入出力を行う。この入出力部11は、通信回線を介して情報の送受信を行う通信インタフェースと、不図示のキーボード等の入力装置やモニタ等の出力装置との間で情報の入出力を行う入出力インタフェースとから構成される。
【0030】
記憶部12は、ハードディスクやフラッシュメモリ、RAM(Random Access Memory)、データ読み取り/書き込みモジュール等により構成される。
この記憶部12(記憶手段)は、上記したホットストレージで構成される有限容量蓄積部100と、上記したコールドストレージで構成される無限容量蓄積部105を含んで構成される。
また、記憶部12には、さらに、自身が記憶するデータに対するアクセス元(他のデータ管理装置1やユーザ端末)とそのアクセス数や、他のデータ管理装置1の記憶容量に関する情報(ホットストレージの空き容量等)、他のデータ管理装置1との接続状況(例えば、リンクの使用量)の情報(以下、これらの情報をまとめて「状態情報」と称する。)等が保存される。なお、上記したストレージネットワークの各ノードによるネットワーク構成において、リンクが用いられている場合、リンクの使用状況(状態情報)として、各リンクの使用量の合計や使用量の平均といった統計値を用いる。
そして、この記憶部12には、制御部10の各機能部を実行させるためのプログラムや、制御部10の処理に必要な情報(所定の閾値等)が記憶される。
【0031】
制御部10は、データ管理装置1が実行する処理の全般を司り、
図3に示すように、状態監視部110と、取得要求処理部120と、自発移動処理部130と、データ蓄積部140と、強制移動処理部150とを含んで構成される。
【0032】
状態監視部110は、各データ管理装置1のデータ毎のアクセス元およびその処理回数(後記するアクセス数「A」)や、各データ管理装置1間のリンクの使用状況(リンク使用量)、各データ管理装置1の有限容量蓄積部100(ホットストレージ)の空き容量や有用性評価値が最小のデータ等の情報(状態情報)を取得し、記憶部12に記憶しておく。
なお、状態監視部110において、ストレージネットワーク内のどのデータ管理装置1から状態情報等を取得できるかは、予め設定される。例えば、ストレージネットワークが線形接続で構成される場合において、隣接するNホップ(Nは正の整数)までのデータ管理装置1から状態情報等を取得できるものとして設定される(詳細は後記)。そして、状態監視部110は、隣接する各データ管理装置1の有限容量蓄積部100(ホットストレージ)に記憶されるデータのうち、有効性評価値が最小のデータの(最新の)情報を取得し記憶しておく。
また、状態監視部110は、自身が有限容量蓄積部100および無限容量蓄積部105に格納するデータについても同様にアクセス元およびアクセス数の情報を計測し、記憶部12に記憶しておく。
【0033】
取得要求処理部120は、自身のデータ管理装置1が収容するユーザ端末(図示省略)や他のデータ管理装置1から、データの取得要求(リクエスト)を受信し、記憶部12内の有限容量蓄積部100(ホットストレージ)または無限容量蓄積部105(コールドストレージ)に記憶されているデータを、応答情報として返信する。
また、取得要求処理部120は、その取得要求(リクエスト)が自身の記憶部12に記憶したデータではなく、他のデータ管理装置1が記憶するものである場合には、当該他のデータ管理装置1に向けて、取得要求を転送する。
取得要求処理部120は、取得要求を受け付けると、そのデータのアクセス元および取得要求があった回数(アクセス数「A」)を、状態監視部110に出力することにより記憶部12に記憶させる。
【0034】
自発移動処理部130は、あるデータについて、上記した有用性評価値とアクセス偏在性とを算出する。なお、この有用性評価値とアクセス偏在性とを算出する対象となるデータ(以下「対象データ」と称する。)は、例えば、あるデータが取得要求(リクエスト)を受けた際に、それを契機としてそのデータを算出対象としてもよいし、有限容量蓄積部100(ホットストレージ)に記憶された各データを、所定の時間間隔で抽出し、算出対象としてもよい。
そして、自発移動処理部130は、算出した有用性評価値とアクセス偏在性とを自発移動条件判定装置21に送信する。そして、自発移動処理部130は、自発移動条件判定装置21が、有用性評価値とアクセス偏在性とに基づく所定の自発移動条件を満たすと判定した場合に、その対象データを、自発移動の対象となるデータ(以下、「自発移動対象データ」と称する。)であるとする。
また、自発移動処理部130は、自発移動対象データについて、移動先となる最適ノードを選択した結果を自発移動先選択装置22から受け取り、そのデータ管理装置1に移動(自発移動)させる。
以下、自発移動処理部130の機能と、自発移動に関する各装置が備える機能の詳細を、
図4等を参照して説明する。
【0035】
図4は、本実施形態に係る自発移動処理部130の機能と、自発移動に関する各装置が備える機能の詳細を説明するための図である。
図4に示すように、自発移動処理部130は、有用性評価部131、アクセス偏在性算出部132、自発移動実行部133およびアーカイブ実行部134を含んで構成される。
【0036】
有用性評価部131は、各データ(対象データ)について、現時点までのアクセス数に基づく今後の(現時点から将来における)アクセス数の予測値が大きいものほど高い値となる評価値として、有用性評価値を算出する。
具体的には、有用性評価部131は、例えば、十分に時間が経過するとアクセスが無くなるという前提のもと、時間軸に対する累積アクセス数をある値に収束する関数で近似し、その収束値と時刻tにおける累積アクセス数の差を有用性評価値とする。
有用性評価部131は、各データ(対象データ)について有用性評価値を算出すると、その情報を、自発移動条件判定装置21に送信する。
【0037】
アクセス偏在性算出部132は、あるデータを保持するノードに隣接する各ノードからの、当該データに対するアクセス数の偏りを示すものとしてアクセス偏在性を算出する。以下、具体的に説明する。
図5は、本実施形態におけるアクセス偏在性を説明するための図である。
ここでは、ストレージネットワークのトポロジが、ノードN
1 ,N
2 ,N
3 ,…,N
7の線形接続であるものとして説明する。前提として、各ノード(データ管理装置1)は、近接したノードやリンクの状態情報を収集する。また、
図5に示すノードN
4が保持するデータD
xが、時刻tまでに計M回アクセスされたものとする。その内訳は、ノードN
iが収容するユーザ端末からA
i
t回(Σ
7
i=1A
i
t = M)である。ここで、「A
i
t」回は、時刻tにおけるノードiでのアクセス数である。ただし、ノードN
4では2ホップより先は状態情報等を取得できないものとし、データD
xに対して、ノードN
2より先からは(A
1
t+A
2
t)回、ノードN
6より先からは(A
6
t+A
7
t)回、アクセスがあったとする情報をノードN
4が取得する。
【0038】
図5に示す例において、例えば、
max(Σ
3
i=1A
i
t , A
4
t , Σ
7
i=5A
i
t)= Σ
3
i=1A
i
t
のとき、データD
xはノードN
3の方向から、より多くのアクセスがある。このため、アクセス偏在性算出部132は、
Σ
3
i=1A
i
t/M
を、アクセス偏在性とする。
アクセス偏在性算出部132は、各データ(対象データ)についてアクセス偏在性を算出すると、その情報を、自発移動条件判定装置21に送信する。
【0039】
図4に戻り、自発移動条件判定装置21は、有用性評価部131が算出した有用性評価値と、アクセス偏在性算出部132が算出したアクセス偏在性とに基づき、所定の自発移動条件を満たす場合に、そのデータを、自発移動の対象となるデータ(自発移動対象データ)であると判定する。
【0040】
この所定の自発移動条件は、例えば、有用性評価値およびアクセス偏在性の両方が十分に高いと評価される条件である。具体的には、有用性評価値が所定の閾値(所定の第1閾値)以上であり、かつ、アクセス偏在性が所定の確率(割合)(所定の第2閾値)以上である、という条件を満たすことが自発移動条件となる。この所定の閾値および所定の確率(割合)は、予め設定される。
自発移動条件判定装置21は、そのデータを、自発移動対象データであると判定した旨の情報を自発移動先選択装置22に送信する。
【0041】
自発移動先選択装置22は、データにアクセスする際のユーザ端末の通信コストが削減される位置にある他ノードを、自発移動対象データを保持するノードからの移動先となるノードを示す最適ノード(自発移動先ノード)として選択する。
この最適ノード選択処理は、以下に示す所定手順で実行される。
なお、ここでは
図5で示すように、ノードN
4が保持するデータD
xが、自発移動対象データであるものとして説明する。
【0042】
(手順1)候補ノード(ノードN4が状態情報を取得可能なノード)から、アクセス偏在性が高い方向以外にあるノードを除く。なお、ここでは、例として2ホップ先のノードまでを、その自発移動対象データを保持するノード(データ管理装置1)が状態情報を取得可能なノード(候補ノード)として説明する。ここでは、ノードN4からみて候補ノードは、ノードN2, N3, N4, N5, N6となる。
よって、(手順1)では、例えば、ノードN4からみて、アクセス偏在性の高い方向がノードN3側である場合、候補ノードからノードN5, N6が除かれ、ノードN2, N3, N4に候補ノードが絞り込まれる。
これにより、ユーザ端末がデータにアクセスする際の通信コストが増加する位置にある候補ノードが除外される。つまり、通信コストが削減される位置にある候補ノードに絞り込まれる。
【0043】
(手順2)候補ノードまでのリンク使用状況に基づき、移動可能ノードを選択する。
例えば、各リンクに予め設定されている上限使用量に対して、時刻tにおけるリンク使用量とデータD
xのサイズの和が小さい場合、当該リンクをデータ移動に用いることができると判断する。
具体的には、
図5に示す、ノードN
4が状態情報を取得可能なリンクのうち、リンクL
23のみが、上記の和の値が上限使用量を超えて条件を満たさない場合に、候補ノード(ノードN
2, N
3, N
4)のうち、リンクL
23を移動時の通信経路に含まないノードN
3, N
4が移動可能ノードとして選択される。
【0044】
(手順3)移動可能ノードの保持するデータの有用性評価値の最小値に基づき、保持可能ノードを選択する。
例えば、データDxの有用性評価値がSxであり、ノードN3, N4の保持するデータの有用性評価値の最小値がそれぞれS3
min, S4
min(S3
min, S4
min < Sx)である場合、移動可能ノードのうち、保持可能ノードとしてノードN3, N4が選択される。
なお、データDxの有効性評価値SxがそのデータDxを保持するノード(ノードN4)における最小値であり、移動可能ノードの保持するデータの中でも最小値の場合、つまり、Sx=S4
min <S3
minである場合には、自発移動先選択装置22は、その旨の情報を、アーカイブ指示装置23に送信する。そして、アーカイブ指示装置23が、そのデータDxを保持するノード(ノードN4)において、当該データDxをアーカイブさせる指示情報を、自発移動処理部130(アーカイブ実行部134)に送信する。アーカイブ実行部134は、ホットストレージからコールドストレージへ移動するアーカイブを、そのデータDxについて実行する。
【0045】
(手順4)データD
xを保持可能ノードまで移動し保持した際の「移動のための転送エネルギー(通信コスト)」と、ユーザ端末による「データ取得の転送エネルギー(通信コスト)」との和が最小となる最適ノードを選択する。
例えば、簡易的なモデルとして、転送エネルギーの大きさは、データサイズと通信ホップ数に比例する値として計算する。具体的には、
図5に示す例において、データD
xを保持可能ノードであるノードN
3に移動する場合、移動のための転送エネルギーは、移動通信ホップ数が「1」であり、データD
xのサイズをDS
xとしたとき、C×DS
x×1(Cは比例定数)となる。
【0046】
ユーザ端末によるデータ取得の転送エネルギーは、データDxを移動しない(データDxをノードN4で保持する)場合との差分を計算する。
[ノードN2より先]
ノードN2から先のノードが収容するユーザ端末からは、今後、Sx×(A1
t+A2
t)/M(回)のアクセスが予想され、ノードN3にデータDxを移動することで、1ホップ近づくため、C×DSx×1×(A1
t+A2
t)/Mの削減効果がある。
[ノードN3]
ノードN3が収容するユーザ端末からは、今後、Sx×A3
t/M(回)のアクセスが予想され、ノードN3にデータDxを移動することで、1ホップ近づくため、C×DSx×1×A3
t/Mの削減効果がある。
[ノードN4]
ノードN4が収容するユーザ端末からは、今後、Sx×A4
t/M(回)のアクセスが予想され、ノードN3にデータDxを移動することで、1ホップ遠ざかるため、C×DSx×1×A4
t/Mの増加効果がある。
[ノードN5]
ノードN5が収容するユーザ端末からは、今後、Sx×A5
t/M(回)のアクセスが予想され、ノードN3にデータDxを移動することで、1ホップ遠ざかるため、C×DSx×1×A5
t/Mの増加効果がある。
[ノードN6より先]
ノードN6から先のノードが収容するユーザ端末からは、今後、Sx×(A6
t+A7
t)/M(回)のアクセスが予想され、ノードN3にデータDxを移動することで、1ホップ遠ざかるため、C×DSx×1×(A6
t+A7
t)/Mの増加効果がある。
【0047】
なお、自発移動先選択装置22は、(手順3)において、保持可能ノードとしてノードN3, N4が選択されている場合には、(手順4)においては、ノードN3, N4が対象となる。
そして、自発移動先選択装置22は、(手順4)において、移動のための転送エネルギーと、ユーザ端末によるデータ取得の転送エネルギーとの和を、各保持可能ノード(ここでは、ノードN3, N4)について求め、和が最小となるノードを最適ノード(自発移動先ノード)として選択する。
また、自発移動先選択装置22は、上記した(手順1)~(手順4)のすべてを実行する場合だけでなく、これらの手順のうちのいずれか1つまたは組み合わせを実行するようにしてもよい。
自発移動先選択装置22は、選択した最適ノード(自発移動先ノード:例えば、ノードN3)の情報を、自発移動処理部130(自発移動実行部133)に送信する。
【0048】
図4に戻り、自発移動実行部133は、自発移動条件判定装置21が自発移動対象データであると判定したデータ(ここでは、データD
x)を、自発移動先選択装置22が選択した最適ノード(自発移動先ノード:例えば、ノードN
3)に移動(自発移動)させる処理を実行する。
【0049】
なお、アーカイブ指示装置23は、自ノードのホットストレージに記憶されたデータのうち有用性評価値が最小のデータを、自ノードのコールドストレージに移動させる指示情報を、データ管理装置1に送信する。
そして、アーカイブ実行部134は、上記したように、処理対象であるデータの有効性評価値が、上記した移動可能ノードが保持するすべてのデータの中で最小値であると自発移動先選択装置22が判定した場合に、アーカイブ指示装置23からの指示情報を受け取って、ホットストレージ(有限容量蓄積部100)からコールドストレージ(無限容量蓄積部105)へ移動するアーカイブを、そのデータについて実行する。
【0050】
図3に戻り、データ蓄積部140は、データを生成(収集)するデバイス(Publisher)Pや他のデータ管理装置1等からネットワークを介して、データ(例えば、ライブデータ)を受信する。そして、データ蓄積部140は、データを受信すると、そのデータの容量を確認する。そして、データ蓄積部140は、自身の有限容量蓄積部100(ホットストレージ)の空き容量があり格納可能であれば、そのデータを有限容量蓄積部100に記憶する。
一方、データ蓄積部140は、自身の有限容量蓄積部100(ホットストレージ)に空き容量がない場合には、状態情報を取得可能な隣接するいずれかのデータ管理装置1の有限容量蓄積部100(ホットストレージ)に、当該データを格納できる空き容量があるか否かを、例えば、状態監視部110が取得した情報に基づき判定し、空き容量があれば、そのデータ管理装置1に当該データを転送する。
そして、データ蓄積部140は、状態情報が取得可能な全てのデータ管理装置1の有限容量蓄積部100(ホットストレージ)に空き容量がなければ、その旨の情報(受信したデータの情報)を強制移動対象データ選択装置31に送信する。
【0051】
なお、データ蓄積部140は、他のデータ管理システム1000の上記した自発移動先選択装置22により、自身のデータ管理装置1が、最適ノード(自発移動先ノード)として選択され、自発移動処理部130による自発移動の結果、データを受信することもある。この場合、その自発移動されてきたデータについてのデータ蓄積部140の処理は、データ管理装置1それぞれにおいて状態情報が取得可能な隣接するデータ管理装置1が異なるため、上記のデータ蓄積部140による処理が自発移動後のデータ管理装置1において同様に行われる。
【0052】
強制移動処理部150は、データ(例えば、ライブデータ)を受信し記憶部12に記憶しようとする際において、状態情報が取得可能な(自身を含む)全てのデータ管理装置1の有限容量蓄積部100(ホットストレージ)に空き容量がない場合に、強制移動するかアーカイブするかの処理を決定する。強制移動処理部150は、この決定について、強制移動対象データを、自身の無限容量蓄積部105(コールドストレージ)にアーカイブした際の所定の損失(後記する「アーカイブ評価値」)と、強制移動対象データを、強制移動先ノードに強制移動させた際の損失(後記する「強制移動評価値」)とを比較して行う。
なお、強制移動対象データは、強制移動対象データ選択装置31が、自身のデータ管理装置1の有限容量蓄積部100(ホットストレージ)に記憶されたデータのうちの有用性評価値が最小のデータを強制移動対象データとして選択したデータである。また、強制移動先ノードは、強制移動先選択装置32が、有用性評価値が最小のデータを持つノード(データ管理装置1)を強制移動先ノードとして選択したノードである。
以下、強制移動処理部150の機能と、強制移動に関する装置群の詳細を、
図6等を参照して説明する。
【0053】
図6は、本実施形態に係る強制移動処理部150の機能と、強制移動に関する装置群の詳細を説明するための図である。
図6に示すように、強制移動処理部150は、アーカイブ評価部151、強制移動評価部152、処理決定部153、アーカイブ実行部154および強制移動実行部155を含んで構成される。
【0054】
ここで、時刻tにおいて、状態情報が取得可能な全てのデータ管理装置1の有限容量蓄積部100(ホットストレージ)に空き容量がないものとする。また、ノードN
iの有用性評価値の最小のデータをデータD
i
minとする。そして、後記する
図7に示すように、ノードN
4が新規データD
newを受信したものとして説明する。
【0055】
まず、強制移動対象データ選択装置31は、データ蓄積部140から、新規データD
newを受信した旨の情報を取得すると、自身のデータ管理装置1の有限容量蓄積部100(ホットストレージ)に記憶するデータの中で、有用性評価値が最小のデータ(ここでは、データD
4
min)を、強制移動対象データとして選択する。
有用性評価値が最小のデータ(ここでは、データD
4
min)を、強制移動対象データとして選択するのは、有用性評価値が低いほど、今後のアクセス数が少なく、そのノード(データ管理装置1)から移動させても影響が少ないからである。
なお、強制移動対象データ選択装置31は、自身のデータ管理装置1の有限容量蓄積部100(ホットストレージ)に記憶する各データについて、上記した自発移動処理部130内の有用性評価部131(
図4)と同様に、今後(現時点から将来における)アクセス数の予測値が大きいものほど高い値となる評価値として有用性評価値を算出する。
強制移動対象データ選択装置31は、強制移動対象データを選択すると、その強制移動対象データの情報を、強制移動処理部150(アーカイブ評価部151)と強制移動先選択装置32とに送信する。
【0056】
アーカイブ評価部151は、強制移動対象データ(ここでは、データD
4
min)を他のノードに移動させずに、自身の無限容量蓄積部105(コールドストレージ)にアーカイブさせた場合のアーカイブ評価値を算出する。
このアーカイブ評価値は、アーカイブ後のリアルタイムにデータ取得ができない経済的損失の総量(所定の損失)を示す。ここで、アーカイブされたデータに対するアクセスがあったとき、リアルタイムにデータを取得できない補償として経済的損失CPが発生するものとする。
例えば、アーカイブ評価部151は、強制移動対象データ(データD
4
min)をアーカイブする際の有用性評価値がS
4
minであるとき、アーカイブ評価値をS
4
min×CPとする(
図7の符号a)。
【0057】
強制移動先選択装置32は、強制移動対象データについての移動可能ノードのうち、有用性評価値が最小のデータを保持するノードを、強制移動先ノードとして選択する。
なお移動可能ノードは、自発移動先選択装置22での説明と同様であり、そのノードが状態情報を取得可能なノード(候補ノード)のうち、当該候補ノードまでのリンク使用量と強制移動対象データ(データD4
min)のサイズに基づき、各リンクの上限使用量で当該データが移動不可となるリンクを使用するノードを除いたノードである。
ここで、ノードN4の強制移動対象データ(データD4
min)についての移動可能ノードがノードN3, N4, N5, N6であるとし、有用性評価値が最小のデータ(min(Si
min|3≦i≦6)=S5
minとする。)を保持するノードN5が、強制移動先ノードとして選択される。
強制移動先選択装置32は、強制移動先ノードを選択すると、その強制移動先ノードの情報を、強制移動処理部150(強制移動評価部152)に送信する。
【0058】
強制移動評価部152は、「強制移動によるデータ転送エネルギー(通信コスト)」と、「強制移動先ノードでアーカイブされたデータのアーカイブ評価値」との和を、強制移動評価値として算出する。
具体的には、強制移動対象データ(データD
4
min)のデータ移動で生じる転送エネルギーをTC(=C×DS
4
min×1)とする(
図7の符号b)。なお、Cは比例定数である。
また、ノードN
5が強制移動対象データ(データD
4
min)を受信時に容量溢れが生じ、データD
5
minがアーカイブされるとし、そのアーカイブ評価値がS
5
min×CPとなる(
図7の符号c)。
これにより、強制移動評価部152は、TC+S
5
min×CPを、強制移動評価値として算出する。
【0059】
図6に戻り、処理決定部153は、新規データD
newを受信したノードのアーカイブ評価値と、強制移動評価値とを比較し、小さい方を処理の実行対象として選択する。
例えば、処理決定部153は、S
4
min×CP < TC+S
5
min×CPであれば、データD
4
minを、自身の無限容量蓄積部105(コールドストレージ)にアーカイブすると決定する。
一方、処理決定部153は、S
4
min×CP > TC+S
5
min×CPであれば、データD
4
minを、強制移動先ノード(ノードN
5)に強制移動すると決定する。
【0060】
アーカイブ実行部154は、処理決定部153が、アーカイブを実行すると決定した場合に、新規データDnewを受信したノード(ノードN4)の有用性評価値が最小のデータ(データD4
min)を、有限容量蓄積部100(ホットストレージ)から無限容量蓄積部105(コールドストレージ)に移動するアーカイブを実行する。
【0061】
強制移動実行部155は、処理決定部153が、強制移動すると決定した場合に、新規データDnewを受信したノード(ノードN4)の有用性評価値が最小のデータである強制移動対象データ(データD4
min)を、強制移動先ノード(ノードN5)に移動(強制移動)する。
【0062】
図3に戻り、生成間隔調整装置40は、リアルタイム要求度が高いデバイス(Publisher)については、そのデバイスの最新データのAoIを小さく保つために、データ生成間隔を短くするように調整する。また、生成間隔調整装置40は、リアルタイム要求度が低いデバイスについては、ネットワーク負荷を小さくするため、そのデバイスのデータ生成間隔を長くするように調整する。
【0063】
ここで、データ管理装置1の状態監視部110は、各データに関し、データ生成後の所定時間内におけるそのデータへのアクセス数の情報を取得し記憶部12に記憶している。そして、生成間隔調整装置40は、記憶部12に記憶されたこのアクセス数の情報を参照し、各データに関し、所定時間内のアクセス数に比例する値をリアルタイム要求度として算出する。
生成間隔調整装置40は、リアルタイム要求度に応じて、データを生成するデバイスについて、データ生成間隔を長短(調整)する指示情報を生成する。そして、生成間隔調整装置40は、そのデータを生成するデバイスに対して、生成した指示情報を送信することにより、データ生成間隔をデバイス単位で調整する。
【0064】
この生成間隔調整装置40による、データ生成間隔の調整処理は、例えば、データ管理装置1が、有限容量蓄積部100(ホットストレージ)または無限容量蓄積部105(コールドストレージ)に記憶された、あるデータに対するユーザ端末からの取得要求を受信した際に行うようにしてもよい。また、生成間隔調整装置40は、有限容量蓄積部100(ホットストレージ)および無限容量蓄積部105(コールドストレージ)に記憶された各データを生成するデバイスについて、所定の時間間隔で、データ生成間隔の調整を行うようにしてもよい。
【0065】
<本実施形態の構成についての変形例>
以上説明した本実施形態に係るデータ管理システム1000では、
図3に示すように、データ管理装置1が、制御部10内に自発移動処理部130と強制移動処理部150との両方を備えるとともに、自発移動に関する装置群(自発移動条件判定装置21、自発移動先選択装置22、アーカイブ指示装置23)および強制移動に関する装置群(強制移動対象データ選択装置31、強制移動先選択装置32)を備えるものとして説明した。
しかしながら、本発明の実施形態は
図3に示すデータ管理システム1000に限定されない。例えば、
図8のデータ管理システム1000Aで示すように、
図3で示した強制移動に関連する機能(強制移動処理部150および強制移動に関する装置群)を備えない構成にしてもよい。データ管理システム1000Aのデータ管理装置1Aは、有限容量蓄積部100(ホットストレージ)、無限容量蓄積部105(コールドストレージ)、自発移動処理部130、自発移動に関する装置群等を備えることにより、自身の有限容量蓄積部100(ホットストレージ)の記憶容量が不足する場合であっても、データ削除せずに記憶しておくことができる。さらに、自発移動処理部130が、有用性評価値およびアクセス偏在性に基づく所定の自発移動条件を満たすデータ(自発移動対象データ)を、最適ノードに移動しておくことができる。よって、ユーザ端末からアクセスされる可能性の高い有用なデータを、より転送エネルギーの少ない最適なノード(データ管理装置1A)の有限容量蓄積部100(ホットストレージ)に記憶させておくことができる。
【0066】
また、
図9のデータ管理システム1000Bで示すように、
図3で示した自発移動に関連する機能(自発移動処理部130および自発移動に関する装置群)を備えない構成にしてもよい。データ管理システム1000Bのデータ管理装置1Bは、有限容量蓄積部100(ホットストレージ)、無限容量蓄積部105(コールドストレージ)、強制移動処理部150、強制移動に関する装置群等を備えることにより、新たなデータを記憶しようとする際に、自身の有限容量蓄積部100(ホットストレージ)の記憶容量が不足する場合であっても、データ削除せずに記憶しておくことができる。さらに、強制移動処理部150が、各データ管理装置1Bの有限容量蓄積部100(ホットストレージ)に空き容量がない場合であっても、データ管理装置1Bの有限容量蓄積部100(ホットストレージ)に記憶されたデータのうち、有用性評価値が最小のデータ(強制移動対象データ)を、他のデータ管理装置1Bに強制移動させ、新たなデータを自身の有限容量蓄積部100(ホットストレージ)に記憶することができる。
【0067】
また、本実施形態に係るデータ管理システム1000(
図3),1000A(
図8),1000B(
図9)において、生成間隔調整装置40を備えない構成にすることもできる。
【0068】
<データ管理装置の処理>
次にデータ管理システム1000(
図3参照)が実行する処理について説明する。ここでは、自発移動、強制移動、生成間隔調整に関する各処理内容について具体的に説明する。
なお、
図8で示すデータ管理システム1000A、および、
図9で示すデータ管理システム1000Bにおいても同様の処理を行う。
【0069】
≪自発移動によるデータ配置制御≫
まず、データ管理システム1000の自発移動によるデータ配置制御について説明する。
なお、ここでは、データ管理装置1の状態監視部110(
図3)が、状態情報を取得可能な隣接する他のデータ管理装置1から、データ毎のアクセス元およびその処理回数(アクセス数)の情報や、各リンク使用量等の状態情報を予め取得しているものとする。
また、自発移動処理部130(および自発移動に関する装置群)は、例えば、取得要求処理部120が、データの取得要求(リクエスト)を受信し、記憶部12内の有限容量蓄積部100(ホットストレージ)に記憶されているデータを送信したことを契機として、そのデータについて、以下に示す自発移動によるデータ配置制御を実行してもよい。また、自発移動処理部130は、記憶部12内の有限容量蓄積部100(ホットストレージ)に記憶されている各データについて、所定の時間間隔で、以下に示す自発移動によるデータ配置処理を実行してもよい。その際、自発移動処理部130は、例えばアクセス数の多いデータから順に、自発移動によるデータ配置処理を実行するようにしてもよい。
【0070】
図10は、本実施形態に係るデータ管理システム1000の自発移動によるデータ配置制御の流れを示すフローチャートである。
まず、データ管理装置1(自発移動処理部130)の有用性評価部131(
図4参照)は、対象となるデータ(対象データ)の今後のアクセス数の予測に基づく有用性評価値を算出する(ステップS10)。
そして、有用性評価部131は、算出した有用性評価値を、自発移動条件判定装置21に送信する。
【0071】
次に、自発移動処理部130のアクセス偏在性算出部132は、アクセス元の隣接ノードに関する偏りを示すアクセス偏在性を算出する(ステップS11)。
アクセス偏在性算出部132は、算出したアクセス偏在性の情報を、自発移動条件判定装置21に送信する。
【0072】
続いて、自発移動条件判定装置21は、その対象データが、有用性評価値およびアクセス偏在性に関する所定の自発移動条件を満たすか否かを判定する(ステップS12)。
所定の自発移動条件は、例えば、有用性評価値が所定の閾値(所定の第1閾値)以上であり、かつ、アクセス偏在性が所定の確率(所定の第2閾値)以上であること、という条件である。
ここで、所定の自発移動条件を満たさなかった場合は(ステップS12→No)、処理を終了する。一方、所定の自発移動条件を満たす場合には(ステップS12→Yes)、自発移動条件判定装置21が、そのデータを、自発移動の対象となるデータ(自発移動対象データ)であるとし、自発移動先選択装置22にその情報を送信し、次のステップS13に進む。
【0073】
ステップS13において、自発移動先選択装置22は、自発移動対象データの移動先となる最適ノード(自発移動先ノード)を選択する。この最適ノード選択処理の詳細は、後記する(
図11参照)。そして、自発移動先選択装置22は、選択した最適ノード(自発移動先ノード)の情報を、自発移動処理部130(自発移動実行部133)に送信する。
【0074】
次に、自発移動実行部135は、自発移動対象データを、ステップS13において選択した最適ノード(自発移動先ノード)となるデータ管理装置1に移動(自発移動)させる処理を実行する(ステップS14)。
【0075】
このようにすることで、データ管理システム1000のデータ管理装置1(自発移動処理部130)は、有用性評価値およびアクセス偏在性に基づく所定の自発移動条件を満たすデータ(自発移動対象データ)を、最適ノードに移動しておくことができる。よって、ユーザ端末からアクセスされる可能性の高い有用なデータを、より転送エネルギーの少ない最適なノード(データ管理装置1)の有限容量蓄積部100(ホットストレージ)に記憶させておくことができる。
【0076】
〔最適ノード選択処理〕
図11は、本実施形態に係るデータ管理システム1000の最適ノード選択処理の流れを示すフローチャートである。
この最適ノード選択処理は、
図10で示す自発移動によるデータ配置制御におけるステップS13において、自発移動先選択装置22が実行する処理である。
【0077】
まず、自発移動先選択装置22(
図3)は、自発移動対象データを記憶するノード(自身と接続されるデータ管理装置1)における、状態情報を取得可能なノード(候補ノード)を特定する。そして、自発移動先選択装置22は、アクセス偏在性が高い方向以外にあるノードを除く(ステップS131:手順1)。
【0078】
次に、自発移動先選択装置22は、候補ノードまでのリンク使用状況に基づき、移動可能ノードを選択する(ステップS132:手順2)。
【0079】
続いて、自発移動先選択装置22は、移動可能ノードそれぞれが保持するデータの有用性評価値の最小値を、データ管理装置1の記憶部12を参照して確認する。そして、自発移動先選択装置22は、その確認した有用性評価値が、自発移動対象データの有用性評価値よりも小さい場合に、その確認した有用性評価値のデータを保持する移動可能ノードを、保持可能ノードとして選択する(ステップS133:手順3)。
【0080】
そして、自発移動先選択装置22は、自発移動対象データを、保持可能ノードまで移動し保持させた際の「移動のための転送エネルギー(通信コスト)」と、ユーザ端末による「データ取得の転送エネルギー(通信コスト)」との和が最小となるノードを、保持可能ノードの中から最適ノードとして選択する(ステップS134:手順4)。
このようにして、自発移動先選択装置22は、自発移動対象データに関する最適ノードを選択することができる。
【0081】
≪強制移動によるデータ配置制御≫
次に、データ管理システム1000の強制移動によるデータ配置制御について説明する。
なお、ここでは、データ管理装置1の状態監視部110(
図3)が、状態情報を取得可能な隣接する他のデータ管理装置1から、各データ管理装置1間のリンクの使用状況(リンク使用量)、各データ管理装置1の有限容量蓄積部100(ホットストレージ)の空き容量や有用性評価値が最小のデータ等の情報(状態情報)を取得しているものとする。
また、状態情報を取得可能な全てのデータ管理装置1の有限容量蓄積部(ホットストレージ)に空き容量がないものとする。
この強制移動処理部150および強制移動に関する装置群は、データ蓄積部140が新たなデータを受信したことを契機として処理を開始する。
【0082】
図12は、本実施形態に係るデータ管理システム1000の強制移動によるデータ配置制御の流れを示すフローチャートである。
まず、データ管理装置1のデータ蓄積部140は、新たなデータを受信すると、そのデータの容量を確認する。そして、データ蓄積部140は、自身の有限容量蓄積部100(ホットストレージ)に、新たなデータを格納できるだけの空き容量があるか否かを判定する(ステップS20)。
そして、データ蓄積部140は、空き容量があれば(ステップS20→Yes)、その新たなデータを、有限容量蓄積部100(ホットストレージ)に記憶する(ステップS21)。一方、空き容量がなければ(ステップS20→No)、データ蓄積部140は、その新たなデータの情報を、強制移動対象データ選択装置31に送信し、次のステップS22に進む。
【0083】
ステップS22において、強制移動対象データ選択装置31は、自身と接続されるデータ管理装置1の有限容量蓄積部100(ホットストレージ)に記憶する各データについて、有用性評価値を算出し、有用性評価値が最小のデータを、強制移動対象データとして選択する。
強制移動対象データ選択装置31は、強制移動対象データを選択すると、その強制移動対象データの情報を、強制移動処理部150(アーカイブ評価部151)と強制移動先選択装置32とに送信する。
【0084】
次に、アーカイブ評価部151は、強制移動対象データを、自身の無限容量蓄積部105(コールドストレージ)にアーカイブさせた場合のアーカイブ評価値を算出する(ステップS23)。
【0085】
続いて、強制移動先選択装置32は、強制移動対象データについての移動可能ノードのうち、有用性評価値が最小のデータを保持するノードを、強制移動先ノードとして選択する(ステップS24)。
強制移動先選択装置32は、選択した強制移動先ノードの情報を、強制移動処理部150(強制移動評価部152)に送信する。
【0086】
そして、強制移動評価部152は、強制移動対象データを強制移動先ノードに移動した場合の「強制移動によるデータ転送エネルギー(通信コスト)」と、強制移動先ノードに記憶される有用性評価値が最小のデータがアーカイブされた場合のアーカイブ評価値(「強制移動先ノードでアーカイブされたデータのアーカイブ評価値」)との和を、強制移動評価値として算出する(ステップS25)。
【0087】
次に、処理決定部153は、ステップS23で算出した、新たなデータを受信したノードのアーカイブ評価値と、ステップS25で算出した強制移動評価値とを比較し、小さい方を処理の実行対象として決定する(ステップS26)。
ここで、処理決定部153は、新たなデータを受信したノードのアーカイブ評価値の方が、強制移動評価値より小さければ、アーカイブ処理を実行すると決定する。一方、処理決定部153は、強制移動評価値の方が、新たなデータを受信したノードのアーカイブ評価値より小さければ、強制移動を実行すると決定する。
なお、処理決定部153は、新たなデータを受信したノードのアーカイブ評価値と、強制移動評価値とが同じであれば、予め決めておいた方の処理を実行してもよいし、ランダムにどちらかの処理を決定してもよい。
【0088】
次に、ステップS26において処理決定部153がアーカイブ処理を実行すると決定した場合には、アーカイブ実行部154が、新たなデータを受信したノードの有用性評価値が最小のデータ(強制移動対象データ)を、有限容量蓄積部100(ホットストレージ)から無限容量蓄積部105(コールドストレージ)に移動するアーカイブを実行する(ステップS27)。そして、ステップS20に戻る。
【0089】
一方、ステップS26において処理決定部153が強制移動を実行すると決定した場合には、強制移動実行部155が、新たなデータを受信したノードの有用性評価値が最小のデータ(強制移動対象データ)を、強制移動先ノードに移動(強制移動)する(ステップS28)。そして、ステップS20に戻る。
【0090】
このようにすることで、データ管理システム1000のデータ管理装置1(強制移動処理部150)は、各データ管理装置1の有限容量蓄積部100(ホットストレージ)に空き容量がない場合であっても、各データ管理装置1の有限容量蓄積部100(ホットストレージ)に記憶されたデータのうち、有用性評価値が最小のデータ(強制移動対象データ)を、他のデータ管理装置1に強制移動させ、新たなデータを自身の有限容量蓄積部100(ホットストレージ)に記憶することができる。
【0091】
≪リアルタイム要求に応じたデータ生成間隔調整≫
次に、データ管理システム1000の生成間隔調整装置40(
図3)によるリアルタイム要求に応じたデータ生成間隔調整について説明する。
なお、ここで、記憶部12には、各データに対するアクセス数の情報が、状態監視部110を介して記憶されているものとする。
【0092】
図13は、本実施形態に係るデータ管理システム1000のデータ生成間隔調整の流れを示すフローチャートである。
まず、データ管理装置1の取得要求処理部120が、自身のデータ管理装置1が収容するユーザ端末(図示省略)や他のデータ管理装置1から、データの取得要求(リクエスト)を受信し、記憶部12内の有限容量蓄積部100(ホットストレージ)または無限容量蓄積部105(コールドストレージ)に記憶されているデータを、応答情報として返信する(ステップS30)。
【0093】
次に、生成間隔調整装置40は、取得要求を受けたデータについて、所定時間内のアクセス数に比例する値をリアルタイム要求度として算出する(ステップS31)。
なお、生成間隔調整装置40は、データ管理装置1の取得要求処理部120を監視し、取得要求を受けたデータの情報を得てもよいし、取得要求処理部120がデータを返信した旨の情報を生成間隔調整装置40に送信するように設定しておくことにより、そのデータに関する情報を取得してもよい。
続いて、生成間隔調整装置40は、リアルタイム要求度が高いほど、データ生成間隔を短く調整する指示情報を生成し、そのデータを生成したデバイス(Publisher)に送信する(ステップS32)。
【0094】
このようにすることで、データ管理システム1000の生成間隔調整装置40は、リアルタイム要求度が高いデバイスの最新データは、AoIをより小さく、つまり、データ生成間隔を短くするように調整できる。一方、生成間隔調整装置40は、リアルタイム要求度の低いデバイスの最新データは、AoIをより大きく、つまり、データ生成間隔を長くするように調整できる。よって、そのデータに関する移動のためのネットワーク負荷を低減することが可能となる。
【0095】
<ハードウェア構成>
本実施形態に係るデータ管理装置1(1A,1B)や各装置(自発移動条件判定装置21、自発移動先選択装置22、アーカイブ指示装置23、強制移動対象データ選択装置31、強制移動先選択装置32、生成間隔調整装置40)は、例えば
図14に示すような構成のコンピュータ900によって実現される。
図14は、本実施形態に係るデータ管理装置1(1A,1B)および各装置の機能を実現するコンピュータ900の一例を示すハードウェア構成図である。コンピュータ900は、CPU(Central Processing Unit)901、ROM(Read Only Memory)902、RAM903、HDD(Hard Disk Drive)904、入出力I/F(Interface)905、通信I/F906およびメディアI/F907を有する。
【0096】
CPU901は、ROM902またはHDD904に記憶されたプログラムに基づき作動し、制御部10(
図3,
図8,
図9等)による制御を行う。ROM902は、コンピュータ900の起動時にCPU901により実行されるブートプログラムや、コンピュータ900のハードウェアに係るプログラム等を記憶する。
【0097】
CPU901は、入出力I/F905を介して、マウスやキーボード等の入力装置910、および、ディスプレイやプリンタ等の出力装置911を制御する。CPU901は、入出力I/F905を介して、入力装置910からデータを取得するともに、生成したデータを出力装置911へ出力する。なお、プロセッサとしてCPU901とともに、GPU(Graphics Processing Unit)等を用いても良い。
【0098】
HDD904は、CPU901により実行されるプログラムおよび当該プログラムによって使用されるデータ等を記憶する。通信I/F906は、通信網(例えば、NW(Network)920)を介して他の装置からデータを受信してCPU901へ出力し、また、CPU901が生成したデータを、通信網を介して他の装置へ送信する。
【0099】
メディアI/F907(データ読み取り/書き込みモジュール)は、記録媒体912に格納されたプログラムまたはデータを読み取り、RAM903を介してCPU901へ出力する。CPU901は、目的の処理に係るプログラムを、メディアI/F907を介して記録媒体912からRAM903上にロードし、ロードしたプログラムを実行する。記録媒体912は、DVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto Optical disk)等の光磁気記録媒体、磁気記録媒体、半導体メモリ等である。
【0100】
例えば、コンピュータ900が本発明のデータ管理装置1(1A,1B)や上記各装置として機能する場合、コンピュータ900のCPU901は、RAM903上にロードされたプログラムを実行することにより、データ管理装置1(1A,1B)や各装置の機能を実現する。また、HDD904には、RAM903内のデータが記憶される。CPU901は、目的の処理に係るプログラムを記録媒体912から読み取って実行する。この他、CPU901は、他の装置から通信網(NW920)を介して目的の処理に係るプログラムを読み込んでもよい。
【0101】
<効果>
以下、本発明に係るデータ管理システム1000(1000A)等の効果について説明する。
本発明に係るデータ管理システムは、ストレージデバイスとして機能するノードが複数で構成されるストレージネットワークにおける、ノードであるデータ管理装置1(1A)を含むデータ管理システム1000(1000A)であって、データ管理システム1000は、データを記憶するためのホットストレージおよびコールドストレージを有するデータ管理装置1、並びに、当該データ管理装置1を自ノードとし接続される、自発移動条件判定装置21、自発移動先選択装置22およびアーカイブ指示装置23を備えており、自発移動条件判定装置21は、ホットストレージに記憶されたデータが、当該データへのアクセスに関する所定の自発移動条件を満たす場合に、当該データを自発移動対象データと判定し、自発移動先選択装置22は、データにアクセスする際のユーザ端末の通信コストが削減される位置にある、自ノード以外の他ノードを、自発移動対象データを保持するノードからの移動先となるノードを示す自発移動先ノードとして選択し、アーカイブ指示装置23は、自ノードのホットストレージに記憶されたデータのうち、将来のアクセス数の予測が大きいほど高い値を示す有用性評価値が最小のデータを、自ノードのコールドストレージに移動させる指示情報を、データ管理装置1に送信し、データ管理装置1は、自発移動対象データを自発移動先ノードに移動し、指示情報を受け取ると、自ノードのホットストレージに記憶された有用性評価値が最小のデータ、自ノードのコールドストレージに移動させることを特徴とする。
【0102】
このように、データ管理システム1000(1000A)は、データ管理装置1(1A)の記憶部12にホットストレージとともに、コールドストレージを備えることにより、ホットストレージに空き容量がない場合には、コールドストレージにデータを移動し記憶しておくことができる。
また、自発移動条件判定装置21は、アクセスに関する所定の自発移動条件を満たすデータを自発移動対象データとして選択する。自発移動先選択装置22は、ユーザ端末の通信コストが削減される位置にある自発移動先ノードを選択する。そして、データ管理装置1が、自発移動対象データを自発移動先ノードに移動させることができる。
よって、ユーザ端末からアクセスされる可能性の高い有用なデータを、ユーザ端末からの通信コストが少ないノードに移動させておくことができる。
また、データ管理装置1は、アーカイブ指示装置23からの指示情報を受け取り、自ノードのホットストレージに記憶された有用性評価値が最小のデータを、自ノードのコールドストレージに移動させることができる。よって、データ管理システム1000(1000A)によれば、ストレージデバイスの記憶容量が不足する場合であっても、データを削除せずに記憶しておくことができる。
【0103】
また、データ管理システム1000(1000A)において、ホットストレージに記憶されたデータの所定時間内のアクセス数に比例する値をリアルタイム要求度として算出し、リアルタイム要求度が高いほど、データ生成間隔を短く調整する指示情報を生成し、当該データを生成するデバイスに、指示情報を出力する生成間隔調整装置40を、さらに備えることを特徴とする。
【0104】
このようにすることで、データ管理システム1000(1000A)の生成間隔調整装置40は、リアルタイム要求度の高いデバイスのデータ生成間隔を短くすることにより、AoIを低減することができる。また、生成間隔調整装置40は、リアルタイム要求度の低いデバイスのデータ生成間隔を長くすることにより、データを移動させる際のネットワーク負荷を低減することができる。
【0105】
また、データ管理装置は、ストレージデバイスとして機能するノードが複数で構成されるストレージネットワークにおける、ノードであるデータ管理装置1(1A)を含むデータ管理システム1000(1000A)のデータ管理装置1(1A)であって、データ管理システム1000は、データ管理装置1、並びに、当該データ管理装置1を自ノードとし接続される、自発移動条件判定装置21、自発移動先選択装置22およびアーカイブ指示装置23を備えており、データ管理装置1は、データを記憶するためのホットストレージおよびコールドストレージを有し、ホットストレージに記憶されたデータにおいて、当該データへのアクセスに関する所定の自発移動条件を満たすと自発移動条件判定装置21により判定されたデータである自発移動対象データを、データにアクセスする際のユーザ端末の通信コストが削減される位置にあり、自発移動対象データを保持するノードからの移動先のノードとして自発移動先選択装置22により選択された、自ノード以外の他ノードである自発移動先ノードに移動し、自ノードのホットストレージに記憶されたデータのうち、将来のアクセス数の予測が大きいほど高い値を示す有用性評価値が最小のデータを、自ノードのコールドストレージに移動させる指示情報をアーカイブ指示装置23から受け取り、自ノードのホットストレージに記憶された有用性評価値が最小のデータ、自ノードのコールドストレージに移動させることを特徴とする。
【0106】
このように、データ管理装置1(1A)は、自発移動条件判定装置21が判定した自発移動対象データを、自発移動先選択装置22が選択した自発移動先ノードに移動することができる。よって、ユーザ端末からアクセスされる可能性の高い有用なデータを、ユーザ端末からの通信コストが少ないノードに移動させておくことができる。
また、データ管理装置1は、アーカイブ指示装置23からの指示情報を受け取り、自ノードのホットストレージに記憶された有用性評価値が最小のデータを、自ノードのコールドストレージに移動させることができる。よって、データ管理装置1(1A)は、ストレージデバイスの記憶容量が不足する場合であっても、データを削除せずに記憶しておくことができる。
【0107】
また、自発移動条件判定装置は、ストレージデバイスとして機能するノードが複数で構成されるストレージネットワークにおける、ノードであるデータ管理装置1(1A)を含むデータ管理システム1000(1000A)の自発移動条件判定装置21であって、データ管理システム1000は、データを記憶するためのホットストレージおよびコールドストレージを有するデータ管理装置1および自発移動条件判定装置21を備えており、自発移動条件判定装置21は、ホットストレージに記憶されたデータが、当該データへのアクセスに関する所定の自発移動条件を満たす場合に、当該データを自発移動対象データと判定することを特徴とする。
【0108】
このように、自発移動条件判定装置21は、アクセスに関する所定の自発移動条件を満たすデータを自発移動の対象となるデータを示す自発移動対象データと判定することができる。
自発移動条件判定装置21が判定するアクセスに関する所定の自発移動条件は、例えば、有用性評価値とアクセス偏在性の両方が所定の閾値よりも高い場合に、そのデータを自発移動対象データと判定することである。このような、アクセスに関する所定の自発移動条件によれば、将来アクセスされる可能性が高くて、そのデータを保持するノードが、取得要求を受け付けるノードを示す需要地点ノードである確率の低い場合に、自発移動対象データと判定されるため、ユーザ端末の通信コストの削減効果の高いデータを選択して移動させることができる。
【0109】
また、自発移動先選択装置は、ストレージデバイスとして機能するノードが複数で構成されるストレージネットワークにおける、ノードであるデータ管理装置1(1A)を含むデータ管理システム1000(1000A)の自発移動先選択装置22であって、データ管理システム1000は、データを記憶するためのホットストレージおよびコールドストレージを有するデータ管理装置1、並びに、当該データ管理装置1を自ノードとし接続される、自発移動条件判定装置21および自発移動先選択装置22を備えており、自発移動先選択装置22は、ホットストレージに記憶されたデータにおいて、当該データへのアクセスに関する所定の自発移動条件を満たすと自発移動条件判定装置21により判定されたデータである自発移動対象データについて、当該データにアクセスする際のユーザ端末の通信コストが削減される位置にある、自ノード以外の他ノードを、自発移動対象データを保持するノードからの移動先となるノードを示す自発移動先ノードとして選択することを特徴とする。
【0110】
このように、自発移動先選択装置22は、ユーザ端末の通信コストが削減される位置にある他ノードを、自発移動先ノードとして選択することができる。よって、自発移動先選択装置22は、自発移動対象データを移動させた場合に、ユーザ端末からの通信コストを削減させることができる。
【0111】
また、アーカイブ指示装置は、ストレージデバイスとして機能するノードが複数で構成されるストレージネットワークにおける、ノードであるデータ管理装置1(1A)を含むデータ管理システム1000(1000A)のアーカイブ指示装置23であって、データ管理システム1000は、データを記憶するためのホットストレージおよびコールドストレージを有するデータ管理装置1およびアーカイブ指示装置23を備えており、アーカイブ指示装置23は、データ管理装置1のホットストレージに記憶されたデータのうち、将来のアクセス数の予測が大きいほど高い値を示す有用性評価値が最小のデータを、当該データ管理装置1のコールドストレージに移動させる指示情報を、データ管理装置1に送信することを特徴とする。
【0112】
このように、アーカイブ指示装置23は、指示情報をデータ管理装置1に送信することにより、ホットストレージに記憶された有用性評価値が最小のデータを、コールドストレージに移動させることができる。よって、アーカイブ指示装置23は、ユーザ端末から将来アクセスされる可能性の低い、つまり、有用性の低いデータを、コールドストレージに移動させることができる。
【0113】
なお、本発明は、以上説明した実施形態に限定されるものではなく、多くの変形が本発明の技術的思想内で当分野において通常の知識を有する者により可能である。
例えば、
図15のデータ管理装置1Cで示すように、
図3で示したデータ管理システム1000における、自発移動に関する装置群(自発移動条件判定装置21、自発移動先選択装置22、アーカイブ指示装置23)、強制移動に関する装置群(強制移動対象データ選択装置31、強制移動先選択装置32)、および、生成間隔調整装置40の各機能を、データ管理装置1Cとして組み込み、1つの筐体の装置としてもよい。この場合、自発移動条件判定装置21、自発移動先選択装置22、アーカイブ指示装置23の各機能を、自発移動処理部130Cとして組み込む。強制移動対象データ選択装置31、強制移動先選択装置32の各機能を、強制移動処理部150Cとして組み込む。また、生成間隔調整装置40の機能を制御部10内に生成間隔調整部160として組み込む。
このようにしても、本実施形態に係るデータ管理システム1000と同様の作用効果を奏することができる。さらに、
図15に示すデータ管理装置1Cにおいて、自発移動処理部130C、強制移動処理部150C、生成間隔調整部160のいずれかを備えない構成にすることもできる。
【符号の説明】
【0114】
1,1A,1B データ管理装置
10 制御部
11 入出力部
12 記憶部(記憶手段)
21 自発移動条件判定装置
22 自発移動先選択装置
23 アーカイブ指示装置
31 強制移動対象データ選択装置
32 強制移動先選択装置
40 生成間隔調整装置
100 有限容量蓄積部(ホットストレージ)
105 無限容量蓄積部(コールドストレージ)
110 状態監視部
120 取得要求処理部
130 自発移動処理部
131 有用性評価部
132 アクセス偏在性算出部
133 自発移動実行部
134 アーカイブ実行部
140 データ蓄積部
150 強制移動処理部
151 アーカイブ評価部
152 強制移動評価部
153 処理決定部
154 アーカイブ実行部
155 強制移動実行部
1000,1000A,1000B データ管理システム