IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本電信電話株式会社の特許一覧 ▶ 国立大学法人名古屋大学の特許一覧

特許7174372分散ストレージネットワークにおけるデータ管理方法、装置、プログラム
<>
  • 特許-分散ストレージネットワークにおけるデータ管理方法、装置、プログラム 図1
  • 特許-分散ストレージネットワークにおけるデータ管理方法、装置、プログラム 図2
  • 特許-分散ストレージネットワークにおけるデータ管理方法、装置、プログラム 図3
  • 特許-分散ストレージネットワークにおけるデータ管理方法、装置、プログラム 図4
  • 特許-分散ストレージネットワークにおけるデータ管理方法、装置、プログラム 図5
  • 特許-分散ストレージネットワークにおけるデータ管理方法、装置、プログラム 図6
  • 特許-分散ストレージネットワークにおけるデータ管理方法、装置、プログラム 図7
  • 特許-分散ストレージネットワークにおけるデータ管理方法、装置、プログラム 図8
  • 特許-分散ストレージネットワークにおけるデータ管理方法、装置、プログラム 図9
  • 特許-分散ストレージネットワークにおけるデータ管理方法、装置、プログラム 図10
  • 特許-分散ストレージネットワークにおけるデータ管理方法、装置、プログラム 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-11-09
(45)【発行日】2022-11-17
(54)【発明の名称】分散ストレージネットワークにおけるデータ管理方法、装置、プログラム
(51)【国際特許分類】
   G06F 16/185 20190101AFI20221110BHJP
   G06F 16/182 20190101ALI20221110BHJP
   G06F 16/172 20190101ALI20221110BHJP
   G06F 13/10 20060101ALI20221110BHJP
【FI】
G06F16/185
G06F16/182
G06F16/172
G06F13/10 340A
【請求項の数】 6
(21)【出願番号】P 2020027917
(22)【出願日】2020-02-21
(65)【公開番号】P2021131796
(43)【公開日】2021-09-09
【審査請求日】2022-02-14
(73)【特許権者】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(73)【特許権者】
【識別番号】504139662
【氏名又は名称】国立大学法人東海国立大学機構
(74)【代理人】
【識別番号】110001863
【氏名又は名称】特許業務法人アテンダ国際特許事務所
(72)【発明者】
【氏名】片岡 操
(72)【発明者】
【氏名】野口 博史
(72)【発明者】
【氏名】磯田 卓万
(72)【発明者】
【氏名】村瀬 勉
(72)【発明者】
【氏名】伊藤 智稀
【審査官】甲斐 哲雄
(56)【参考文献】
【文献】国際公開第2013/157042(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
G06F 13/10-13/14
(57)【特許請求の範囲】
【請求項1】
第1のストレージと、前記第1のストレージよりも応答速度が遅い第2のストレージと、前記第1のストレージ及び前記第2のストレージに格納するデータの配置を制御するデータ配置制御手段とを備えた複数の情報処理装置を相互にネットワークで接続して仮想的なストレージを形成した分散ストレージネットワークにおけるデータ管理方法であって、
分散ストレージネットワーク内のデータに対するユーザ端末からのアクセスに対して、前記ユーザ端末から前記データが格納された情報処理装置に至る通信経路上にある複数の情報処理装置のデータ配置制御手段が、前記通信経路上にある複数の情報処理装置を複数のクラスタに分割するとともに、各クラスタにおいて当該クラスタに属する情報処理装置の何れか1つの第1のストレージに前記データをキャッシュとして記憶するキャッシュ記憶ステップと、
各情報処理装置のデータ配置制御手段が、第1のストレージに記憶されている各データについて所定の規則に基づき評価値を算出し、最低評価値のデータと同一のデータが分散ストレージネットワーク内の他の情報処理装置の第1のストレージに保存されている場合は前記最低評価値のデータを第1のストレージから削除し、前記最低評価値のデータと同一のデータが分散ストレージネットワーク内の他の情報処理装置の第1のストレージに保存されていない場合は前記最低評価値のデータを第1のストレージから第2のストレージ又は他の情報処理装置の第1のストレージに移動させるデータ配置ステップとを備えた
ことを特徴とする分散ストレージネットワークにおけるデータ管理方法。
【請求項2】
前記キャッシュ記憶ステップは、前記クラスタの分割数を算出するステップと、前記通信経路上にある複数の情報処理装置間のリンク情報及び前記分割数に基づき前記のクラスタの分割位置を算出するステップとを含む
ことを特徴とする請求項1記載の分散ストレージネットワークにおけるデータ管理方法。
【請求項3】
前記データ配置ステップは、他の情報処理装置の第1のストレージに前記最低評価値よりも評価値が低いデータが記憶されている場合、前記最低評価値のデータを第1のストレージから前記他の情報処理装置の第1のストレージに移動させ、他の情報処理装置の第1のストレージに前記最低評価値よりも評価値が低いデータが記憶されていない場合、前記最低評価値のデータを第1のストレージから第2のストレージに移動させるステップを含む
ことを特徴とする請求項1又は2記載の分散ストレージネットワークにおけるデータ管理方法。
【請求項4】
データ配置制御手段が、他の情報処理装置からデータが移動されてきた場合、前記データの評価値よりも低い評価値のデータを第1のストレージから第2のストレージに移動させるステップを含む
ことを特徴とする請求項3記載の分散ストレージネットワークにおけるデータ管理方法。
【請求項5】
第1のストレージと、前記第1のストレージよりも応答速度が遅い第2のストレージと、前記第1のストレージ及び前記第2のストレージに格納するデータの配置を制御するデータ配置制御手段とを備えた複数の情報処理装置を相互にネットワークで接続して仮想的なストレージを形成した分散ストレージネットワークにおける情報処理装置であって、
前記データ配置制御手段は、
分散ストレージネットワーク内のデータに対するユーザ端末からのアクセスに対して、前記ユーザ端末から前記データが格納された情報処理装置に至る通信経路上にある複数の情報処理装置を複数のクラスタに分割する分割処理手段と、
各クラスタについて当該クラスタに属する情報処理装置のうち前記データをキャッシュとして記憶する1つの情報処理装置を決定するとともに自身に前記データを記憶すると決定した場合には第1のストレージに前記データをキャッシュとして記憶する配置先決定処理手段と、
第1のストレージに記憶されている各データについて所定の規則に基づき評価値を算出する評価値算出手段と、
最低評価値のデータと同一のデータが分散ストレージネットワーク内の他の情報処理装置の第1のストレージに保存されている場合は前記最低評価値のデータを第1のストレージから削除し、前記最低評価値のデータと同一のデータが分散ストレージネットワーク内の他の情報処理装置の第1のストレージに保存されていない場合は前記最低評価値のデータを第1のストレージから第2のストレージ又は他の情報処理装置の第1のストレージに移動させるデータ配置処理手段とを備えた
ことを特徴とする分散ストレージネットワークにおける情報処理装置。
【請求項6】
コンピュータを、前記請求項5記載のデータ配置制御手段として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データをネットワーク上の複数のストレージに分散して記憶する分散ストレージネットワークの技術に関する。
【背景技術】
【0002】
近年、IoT(Internet of Things)技術の急速な発展によりIoT機器が時々刻々生成する大量のデータがネットワークに流入してきている。このような大量のデータの一例としては、10fps監視カメラ映像のデータが挙げられる。これらのデータはリアルタイムで処理するだけでなくサーバのストレージに蓄積・保管することにより、例えばAIの学習データとして用いるなど有効な活用が期待されている。そこで、サービス充実を目的としてこれらの蓄積データをオープン化するOpenIoTというプラットフォームが提唱されている。
【0003】
ところで、従来の通信アーキテクチャでは、ストレージに保管されているデータを取得するためには、データが保管されているサーバのアドレス情報を取得し、このサーバにアクセスする必要がある。これに対して、近年、データそのものを示す識別子(コンテンツ名など)を利用し、この識別子を指定することによりネットワークからデータを取得する情報指向ネットワーク技術(ICN:Information-Centric Networking)というアーキテクチャが提案されている(非特許文献1参照)。
【0004】
このようなアーキテクチャは、あらゆるデータを、ひとつの仮想的なストレージ(=仮想ストレージネットワーク)で収容するという思想に基づくものである。非特許文献1ではMobilityFirstと呼ばれる技術が提案されている。
【0005】
MobilityFirstでは、ネットワークを構成する各ノードであるルータは、それぞれストレージを備えている。Publisherと呼ばれるデータ送信端末がデータをネットワークに投入すると、当該データはネットワークの何れかのノードのストレージに保存される。データを取得する際には、Subscriberと呼ばれるデータ要求端末が、データの識別子を指定して管理サーバに当該データの位置情報を問い合わせ、取得した位置情報を用いてネットワーク内のノードからデータを取得する。ここで、ネットワーク内においてデータ要求端末に提供されるデータの通信経路上の各ノードは、データの中継処理を行うとともに自身のストレージに当該データをキャッシュとして記憶する。各ノードでは、LRU(Least Recently Used)などのキャッシュ管理アルゴリズムにより、自身のストレージに記憶しているキャッシュを管理する。このような構成により、仮想ストレージネットワークには同一の多数のデータが分散して保管される。そして、あるデータについて利用頻度の高いデータ要求端末とネットワーク的距離が近いノードに当該データがキャッシュされている可能性が高いので、低遅延を実現できる。
【0006】
なお、同一データを複数のノードに分散して記憶するという技術に関しては、非特許文献2に記載されたWebプロキシキャッシュという技術も知られている。Webプロキシキャッシュでは、明示的あるいは暗示的に指定したストレージを経由する経路を構成し、経路上の全てのストレージにキャッシュを置く。これにより、データ要求端末は自身の近くのサーバからデータを取得することができる。
【先行技術文献】
【非特許文献】
【0007】
【文献】Dipankar Raychaudhuri, 他2名, "MobilityFirst: a robust and trustworthy mobility-centric architecture for the future Internet", ACM SIGMOBILE Mobile Computing and Communications Review, 2012.
【文献】Nikolaos Laoutaris, 他2名, "Meta Algorithms for Hierarchical Web Caches", [online], [令和2年1月8日検索], インターネット<URL: http://cgi.di.uoa.gr/~laoutar/lcdt.pdf>
【発明の概要】
【発明が解決しようとする課題】
【0008】
仮想ストレージネットワークに格納するデータの数及び容量は増加する一方であるが、従来の技術では、上述のようにデータの通信経路上にある全てのノードにおいてデータのキャッシュを記憶するので、ネットワーク全体でのストレージの利用効率が低いという問題がある。
【0009】
すなわち、従来の技術では、人気がなく将来的なアクセスが期待されないデータであっても、データの通信経路上にある全てのノードにおいてデータのキャッシュが記憶される。このため、人気があり将来的なアクセスが期待されるデータを記憶するための領域が実質的に小さくなってしまう。また、各ノードにおけるキャッシュ管理では、あるデータについて仮想ストレージネットワーク全体での同一データの保管数は考慮されていない。この保管数が多いデータは実質的に記憶容量を無駄にしている無駄なデータであると考えられる。したがって、この無駄なデータが多数存在することにより、人気があり将来的なアクセスが期待されるデータを記憶するための領域が実質的に小さくなってしまう。そして、人気があり将来的なアクセスが期待されるデータについてキャッシュのヒット率を維持するには、より大きな容量のストレージが必要になるという問題がある。
【0010】
ところで、仮想ストレージネットワークに格納するデータの数及び容量の増加に伴い、ストレージとして、応答速度は早いが容量が相対的に小さく費用コストも高いストレージと、応答速度は遅いが容量が相対的に大きく費用コストも低いストレージとを併用することが考えられている。前者は例えばSSD(Solid State Drive)や高速なHDD(Hard Disk Drive)が相当する。後者は例えば低速なHDDやテープや光学ディスクなどが相当する。本明細書では、前者をホットストレージと呼び、後者をコールドストレージと呼ぶものとする。
【0011】
従来の技術においてこのようなストレージ構成を採用した場合、各ノードはホットストレージをキャッシュとして利用し、LRUなどのキャッシュ管理によりホットストレージから削除すべきデータはコールドストレージに保管する処理を行う。ここで、コールドストレージに保管されたデータへのアクセスは、ホットストレージに保管されたデータへのアクセスよりも応答時間が遅いものとなる。このため、データが何れかのノードのコールドストレージに保管されているが、何れのノードのホットストレージにも保管されていない場合には、コールドストレージにアクセスする必要がある。このため、応答時間が遅いものとなるだけでなく、許容時間内にデータ取得できないものとして、その補償として経済的損失が発生することが考えられる。
【0012】
本発明は上記事情に鑑みてなされたものであり、その目的とするところは、分散ストレージネットワークにおいて、ストレージの利用効率及び応答速度が良好なデータ管理方法、装置、プログラムを提供することにある。
【課題を解決するための手段】
【0013】
上記目的を達成するために、本願発明は、第1のストレージと、前記第1のストレージよりも応答速度が低い第2のストレージと、前記第1のストレージ及び前記第2のストレージに格納するデータの配置を制御するデータ配置制御手段とを備えた複数の情報処理装置を相互にネットワークで接続して仮想的なストレージを形成した分散ストレージネットワークにおけるデータ管理方法であって、分散ストレージネットワーク内のデータに対するユーザ端末からのアクセスに対して、前記ユーザ端末から前記データが格納された情報処理装置に至る通信経路上にある複数の情報処理装置のデータ配置制御手段が、前記通信経路上にある複数の情報処理装置を複数のクラスタに分割するとともに、各クラスタにおいて当該クラスタに属する情報処理装置の何れか1つの第1のストレージに前記データをキャッシュとして記憶するキャッシュ記憶ステップと、各情報処理装置のデータ配置制御手段が、第1のストレージに記憶されている各データについて所定の規則に基づき評価値を算出し、最低評価値のデータと同一のデータが分散ストレージネットワーク内の他の情報処理装置の第1のストレージに保存されている場合は前記最低評価値のデータを第1のストレージから削除し、前記最低評価値のデータと同一のデータが分散ストレージネットワーク内の他の情報処理装置の第1のストレージに保存されていない場合は前記最低評価値のデータを第1のストレージから第2のストレージ又は他の情報処理装置の第1のストレージに移動させるデータ配置ステップとを備えたことを特徴とする。
【0014】
また、本願発明は、第1のストレージと、前記第1のストレージよりも応答速度が低い第2のストレージと、前記第1のストレージ及び前記第2のストレージに格納するデータの配置を制御するデータ配置制御手段とを備えた複数の情報処理装置を相互にネットワークで接続して仮想的なストレージを形成した分散ストレージネットワークにおける情報処理装置であって、前記データ配置制御手段は、分散ストレージネットワーク内のデータに対するユーザ端末からのアクセスに対して、前記ユーザ端末から前記データが格納された情報処理装置に至る通信経路上にある複数の情報処理装置を複数のクラスタに分割する分割処理手段と、各クラスタについて当該クラスタに属する情報処理装置のうち前記データをキャッシュとして記憶する1つの情報処理装置を決定するとともに自身に前記データを記憶すると決定した場合には第1のストレージに前記データをキャッシュとして記憶する配置先決定処理手段と、第1のストレージに記憶されている各データについて所定の規則に基づき評価値を算出する評価値算出手段と、最低評価値のデータと同一のデータが分散ストレージネットワーク内の他の情報処理装置の第1のストレージに保存されている場合は前記最低評価値のデータを第1のストレージから削除し、前記最低評価値のデータと同一のデータが分散ストレージネットワーク内の他の情報処理装置の第1のストレージに保存されていない場合は前記最低評価値のデータを第1のストレージから第2のストレージ又は他の情報処理装置の第1のストレージに移動させるデータ配置処理手段とを備えたことを特徴とする。
【発明の効果】
【0015】
本発明によれば、ユーザ端末がアクセスしたデータは、その通信経路上にある全ての情報処理装置ではなく、通信経路上にある情報処理装置が複数のクラスタに分割され、各クラスタ内の1つの情報処理装置のストレージにキャッシュとして記憶されるので、ストレージの利用効率が向上する。また、本発明によれば、分散ストレージネットワークの全ての第1のストレージに1つだけ存在するデータ(以下「ラストワンデータ」と呼ぶ)については、当該データを保管している情報処理装置においてキャッシュ管理の評価値が低いものであっても、所定の条件で他の情報処理装置の第1のストレージに移動する。これにより、応答速度の遅い第2のストレージにアクセスする機会が減り、全体として応答速度が向上する。
【図面の簡単な説明】
【0016】
図1】前提となる仮想ストレージネットワークのシステム構成図
図2】仮想ストレージネットワークにおけるデータ管理方法の概要を説明する図
図3】キャッシュ数とコストの相関グラフ
図4】データ配置に係る動作を説明するフローチャート
図5】経路上ノードクラスタリングを説明する図
図6】変形LRUの動作を説明するフローチャート
図7】変形LRUを説明する図
図8】変形LRUを説明する図
図9】実施例に係る情報処理装置の機能ブロック図
図10】他の実施形態に係る仮想ストレージネットワークのシステム構成図
図11】他の実施形態の実施例に係る情報処理装置の機能ブロック図
【発明を実施するための形態】
【0017】
本発明の一実施の形態に係る仮想ストレージネットワークについて説明する。本発明では、最適なコスト・利便性性能を提供するデータ保存先の決定を目標としており、以下の4点を性能指標とする(ただし後述するネットワークインパクトは制約とする)。
【0018】
(1)ストレージ間のデータ移動の通信コスト(データ移動通信コスト)
これは、後述するようにデータ配置を変更するとき、物理ストレージ間でデータを移動するために発生する通信距離・サイズに応じた通信コストである。なお、このデータ移動通信コストは電力コストの一種でもある。
【0019】
(2)Subscriberのデータ取得の通信コスト(データ取得通信コスト)
これは、ホットストレージにアクセスしたとき、ホットストレージからSubscriberにデータを転送するために発生する通信距離・サイズに応じた通信コストである。なお、このデータ取得通信コストは電力コストの一種でもある。
【0020】
(3)データを許容時間内に取得できないときの経済的損失(コールドペナルティ)
これは、応答速度が遅いコールドストレージにアクセスすると、許容時間内にデータ取得できないものとし、その補償として発生するものと仮定した経済的損失である。なお、このコールドペナルティは運用コストの一種である。
【0021】
(4)データ配置を変更時のトラヒックが引き起こすネットワークへの悪影響(ネットワークインパクト)
これは、他サービスとのネットワーク共用を前提とすると、ネットワークに対して及ぼす、背景トラヒックの通信品質の劣化や、ネットワークの回線容量の不足等の悪影響である。
【0022】
本実施の形態において前提となる仮想ストレージネットワークのシステム構成について図1を参照して説明する。図1は前提となる仮想ストレージネットワークのシステム構成図である。本実施の形態における仮想ストレージネットワークはICNのアーキテクチャを採用する。
【0023】
図1に示すように、ネットワーク10はノードとして複数の情報処理装置100を含む。各情報処理装置100は、ホットストレージ210とコールドストレージ220とを備えている。本発明では複数の情報処理装置100のうち何れか1つ又は複数の情報処理装置100のホットストレージ210又はコールドストレージ220にデータが保管される。すなわち、ネットワーク10が1つの仮想的なストレージとして機能する。なお、ネットワーク10は、他サービスと共用することができる。
【0024】
情報処理装置100は、他の情報処理装置100とネットワーク回線(リンク)を介して通信可能に接続する。ネットワーク10における情報処理装置100の接続形態に係るネットワークトポロジーは不問である。情報処理装置100は、ネットワーク10においてデータを中継するルータとして実装することができる。情報処理装置100の具体的な構成例については実施例として後述する。
【0025】
Publisherと呼ばれるデータ送信端末1がデータをネットワーク10に投入(store)すると、当該データはネットワーク10の何れかの情報処理装置100のホットストレージ210に保存される。
【0026】
仮想ストレージネットワーク内においてデータは、所定のデータ配置制御処理により複数の情報処理装置100に保存される。ここで、データは、データ送信端末1が保存したオリジナルのデータと、データ配置制御処理においてキャッシュとして複製された1以上のデータ(レプリカとも言う)とは同一のものであり両者は区別されない。また、情報処理装置100に保存されているデータは、所定のデータ配置制御処理により他の情報処理装置100に移動することができる。ネットワーク10内のどの情報処理装置100にデータが保存されているかの対応情報は、GNRS(Global Name Resolution Service)と呼ばれる管理サーバ3により管理される。
【0027】
Subscriberと呼ばれるデータ要求端末2がデータを取得するには、まず、データの識別子(ID)を指定して管理サーバ3に当該データの位置情報(locations)を問い合わせる。管理サーバ3は当該データの位置情報を回答する。データ要求端末2は、当該位置情報を参照してネットワーク10にアクセスすることにより所望のデータを取得(retrive)する。ここで、データが仮想ストレージネットワーク内において複数の情報処理装置100に保存されている場合、管理サーバ3は各データについての位置情報をデータ要求端末2に回答する。データ要求端末2は、複数の位置情報から任意の位置情報を選択して、当該位置情報を参照してデータを取得することができる。例えば、データ要求端末2は、ネットワーク距離が最も近い情報処理装置100からデータを取得することができる。
【0028】
次に、本願発明の概要について図2を参照して説明する。図2は本発明に係る仮想ストレージネットワークにおけるデータ管理方法の概要を説明する図である。なお各図において、例えば情報処理装置など、複数存在する同一の構成要素を個別に識別するために参照符号の末尾に添え字を付すものとして、複数存在する同一の構成要素を総称する際には添え字を取り除いた参照符号を用いるものとする。また、ホットストレージに格納されているデータのうちラストワンデータについてはハッチングを付している。
【0029】
従来の技術では遠くからアクセスされると経路上に大量のキャッシュが作成されることになるが、前述したように、「遠くからアクセスされたデータ=ホットストレージに大量にキャッシュを残すべきデータ」ではない。本願発明はこの点に注目し、(1)経路上の全ノードのストレージにキャッシュを置くことはせず、経路上のノードをアクセス頻度等によってまびく、(2)ラストワンデータは仮想ストレージネットワーク内のホットストレージ全体で管理、その他のキャッシュは各ストレージ内で管理し、ラスタワンデータがコールドストレージへ降格されにくくする、という2つの特徴点を有している。
【0030】
前述した特徴点(1)について図2を例として説明する。ここでは、データ要求端末2が、情報処理装置100aのホットストレージ210aに保存されているデータを取得することを考える。取得するデータはラストワンデータであってもそれ以外のデータであってもよい。データ要求端末2と情報処理装置100aとの間の通信経路上には複数の情報処理装置100b~100eが存在する。
【0031】
図2の例では、情報処理装置100aのホットストレージ210aに格納されておりデータ要求端末2の所望するデータが情報処理装置100b~100eにより中継される際に、経路上にある全てのホットストレージ210b~210eを2つの仮想ストレージと捉え、各仮想ストレージに1つずつ当該データをキャッシュとして記憶する。換言すれば、通信経路上にある複数の情報処理装置100b~100eを複数のクラスタ400a,400bに分割するとともに、各クラスタ400a,400bにおいて当該クラスタ400a,400bに属する情報処理装置100b~c,100d~eの何れか1つのホットストレージ210b又は210c,ホットストレージ210d又は210eに前記データをキャッシュとして記憶する。
【0032】
前述した特徴点(2)について図2を例として説明する。各情報処理装置100では、ホットストレージ210のすべての格納データは、有用性に関する後述する評価値に基づき降順に整列されたリスト構造で保持するものとする。そして、各情報処理装置100では、ラストワンデータを他にも同一データがあるデータより優先する。また、ラストワンデータについては、自ホットストレージ210から追い出され他ホットストレージ210にもいれさせてもらえない場合はコールドストレージ220に降格する。
【0033】
以上のような本願発明の特徴点と従来技術の差違について説明する。前述のMobilityFirstではホットストレージ/コールドストレージの違いはなく、「キャッシュがユーザからいかに近いか」を重要視している。一方、本願発明で前提としている仮想ストレージネットワークではホットストレージとコールドストレージを備えており、ラストワンデータが、コスト、利便性が大きく異なるどちらのストレージにデータが存在するかも重要視している。すなわち、ラストワンデータを気軽にコールドストレージに降格できないので従来技術ほど気軽に新規キャッシュを置くとコストがかかることに注目している。ホットストレージにおけるキャッシュ数とコストとの相関性はおおよそ図3に示すような曲線を示す。本願発明では図3の曲線の底部付近を狙うものである。なお、コストとは、費用コストだけでなく、通信コスト、電力コストなどを含む総合的なコストを意味する点に留意されたい。
【0034】
次に、上述した本願発明の特徴点についてより詳細に説明する。まず、上記特徴点(1)の具体例である経路上ノードクラスタリングについて図4及び図5を参照して説明する。図4はデータ配置に係る動作を説明するフローチャート、図5は経路上ノードクラスタリングを説明する図である。
【0035】
本願発明では、まず、あるデータx(x,…x,…xは仮想ストレージネットワーク内のホットストレージ210に格納された同一データ)へのアクセス頻度によって、クラスタ数を決定する(図4のステップS1)。クラスタ数の計算例としては次式(1)が挙げられる。
【0036】
1/(ω*データx全体へのアクセス頻度+ω*データxへのアクセス頻度) …式(1)
ここで、ω及びωは定数である。図5の例では、クラスタ数は2である。
【0037】
次に、情報処理装置100間のリンク帯域が小さい順にクラスタの分割ポイントとし、決定したクラスタ数で分割する(図4のステップS2)。図5の例では、情報処理装置100cと情報処理装置100dの間のリンク帯域が、他の情報処理装置100間のリンク帯域よりも小さいものとする。この場合、情報処理装置100cと情報処理装置100dの間が分割ポイントとなる。これにより、情報処理装置100b及び100cからなるクラスタ400aと、情報処理装置100d及び100dからなるクラスタ400bが設定される。
【0038】
次に、各クラスタ400の中においては、クラスタ400に属する各情報処理装置100について評価値P1(x)を算出し、当該評価値P1(x)を最大とする情報処理装置100のホットストレージ210にデータを配置する(図4のステップS3)。評価値P1(x)は、データの各種属性情報に基づき算出することができる。例えば、次式(2)により評価値P1(x)を算出する。
【0039】
P1(x)=ω*(アクセス頻度)/(ユーザからの平均アクセス距離)+ω*残ストレージ容量 …式(2)
ここで、ω及びωは定数である。図5の例では、クラスタ400aについては情報処理装置100cのホットストレージ210cにデータを保存するとともに、クラスタ400bについては情報処理装置100eのホットストレージ210eにデータを保存する。
【0040】
次に、上記特徴点(2)の具体例である変形LRUについて図6図8を参照して説明する。図6は変形LRUの動作を説明するフローチャート、図7及び図8は変形LRUを説明する図である。
【0041】
本発明に係る変形URLでは、ホットストレージ210に格納するデータは有用性に関する評価値P2(x)に基づき降順に整列されたリスト構造で保持する。この評価値P2(x)は逐次更新される値であり、削除や強制移動などを決めるためのデータxのポイントを意味する。評価値P2(x)はデータの各種属性情報に基づき算出することができる。例えば、次式により評価値P2(x)を算出する。
【0042】
P2(x)=ω/(同一データ数)+ω*(アクセス頻度)/(ユーザからの平均アクセス距離)-ω(現在アクセス時刻-最終アクセス時刻) …式(3)
ここで、ω,ω及びびωは定数である。
【0043】
情報処理装置100は、当該情報処理装置100にとって新規のデータをホットストレージ210に保存する際には、評価値P2(x)を算出し、この評価値P2(x)に基づく順序となるようホットストレージ210に保存する(図6のステップS11,S13、図7(a))。すなわち、新たなデータを変形LRUの中間に挿入するために、その新規データの有用性に応じて、リスト構造の適切な位置のポインタを繋ぎ変える。ここで、新規のデータの保存に必要な空き容量がホットストレージ210にない場合、以下のアルゴリズムにより空き容量を確保する(図6のステップS12,S14~S18)。
【0044】
情報処理装置100は、ホットストレージ210に格納されたデータのうち前記評価値P2(x)が最低のデータがラストワンデータでない場合、当該データは他の情報処理装置100のホットストレージに格納されているので、自身のホットストレージ210から削除する(図6のステップS14~S15、図7(b))。
【0045】
一方、前記評価値P2(x)が最低のデータがラストワンデータである場合、情報処理装置100は、仮想ストレージネットワーク内のホットストレージ210全体で強制移動するかどうかの判断を行う(図6のステップS16)。強制移動するか否かの判断には各情報処理装置100における前記評価値P2(x)を用いることができる。具体的には、他の情報処理装置100に前記ラストワンデータの評価値P2(x)よりも低い評価値P2(x)のデータが格納されていたら、当該他の情報処理装置100に強制移動すると判断する。情報処理装置100は、強制移動すると判断した場合、他の情報処理装置100にラストワンデータを移動させる(図6のステップS16,S18、図7(d))。ここで、移動先の他の情報処理装置100では、前記ラストワンデータの評価値P2(x)よりも低い評価値P2(x)のデータは当該情報処理装置100のコールドストレージ220に追い出す。一方、強制移動しないと判断した場合、情報処理装置100は、ラストワンデータを自身のコールドストレージ220に移動させる(図6のステップS16,S7、図7(c))。なお、データをホットストレージ210からコールドストレージ220に移動させることを、「降格させる」や「アーカイブする」とも言う。
【0046】
上述のクラスタ分割数の算出、クラスタ内におけるデータ配置先の決定で用いる評価値P1(x)の算出、ホットストレージ210におけるデータの有用性に関する評価値P2(x)の算出で必要な各パラメータは、自身が保有しているもの、換言すれば自ノードで閉じたものであるならば、当該パラメータを用いる。各パラメータが自ノードに閉じない場合には、各ノード間で互いに情報をやりとりすることで取得する。なお、データがどの情報処理装置100に格納されているか否かは管理サーバ3が管理している。そこで、例えば他のホットストレージ210におけるデータのアクセス頻度を取得するには、まず管理サーバ3に当該データの位置情報を取得し、この位置情報に基づき当該データを格納している情報処理装置100に問い合わせればよい。
【実施例
【0047】
情報処理装置100の一実施例について図9を参照して説明する。図9は実施例に係る情報処理装置の機能ブロック図である。
【0048】
情報処理装置100は、ホットストレージ210とコールドストレージ220とを備えたデータ蓄積部200と、データ配置制御部300とを備えている。
【0049】
データ蓄積部200は、他の情報処理装置100からのデータをさらに他の情報処理装置100に中継する機能を有する。また、データ蓄積部200は、データ要求端末2から自身のホットストレージ210又はコールドストレージ220に保存されているデータのアクセス要求があると、当該データをデータ要求端末2に送信する機能を有する。また、データ蓄積部200は、中継するデータを、データ配置制御部300からの指示によりホットストレージ210に保存する機能を有する。
【0050】
ホットストレージ210は、応答速度は早いが容量が相対的に小さく費用コストも高い不揮発性の記憶媒体である。ホットストレージ210としては、例えばSSDや高速なHDDが挙げられる。コールドストレージ220は、応答速度は遅いが容量が相対的に大きく費用コストも低い不揮発性の記憶媒体である。コールドストレージ220としては、例えば低速なHDDやテープや光学ディスクなどが相当する。なおコールドストレージ220は、メディアを自動又は手動で着脱自在な構成としてもよい。
【0051】
データ配置制御部300は、アクセス偏在性評価部310と、変形LRUベース有用性評価部320と、制御操作実行部330とを備えている。制御操作実行部330は、キャッシュ配置操作実行部331と、強制移動操作実行部332と、削除操作実行部333と、アーカイブ操作実行部334とを備えている。
【0052】
アクセス偏在性評価部310は、仮想ストレージネットワーク内に保存されている各データに対するデータ要求端末2からのアクセスについて、そのアクセス情報を取得・評価する。アクセス情報は、自身の情報処理装置100に対するアクセスについては自身で収集し、他の情報処理装置100に対するアクセスについては当該他の情報処理装置100から収集する。
【0053】
変形LRUベース有用性評価部320は、前述した有用性に関する評価値P2(x)を算出する。
【0054】
キャッシュ配置操作実行部331は、データ蓄積部200に対するデータのキャッシュ操作及び管理を行うものであり、前述した特徴点(1)及び(2)の機能を有する。キャッシュ配置操作実行部331は、クラスタ分割部331aと、クラスタ内配置先ストレージ決定部331bを備える。
【0055】
クラスタ分割部331aは、前述したように経路上にある情報処理装置100を複数のクラスタ400に分割する処理を行う。クラスタ内配置先ストレージ決定部331bは、前述したように分割した各クラスタ400内においてデータを配置する情報処理装置100を決定する。
【0056】
強制移動操作実行部332は、自身のホットストレージ210から他の情報処理装置100のホットストレージ210にデータを強制移動させる処理の実行を行う。削除操作実行部333は、自身のホットストレージ210からデータを削除する処理の実行を行う。アーカイブ操作実行部334は、自身のホットストレージ210からコールドストレージ220へデータを移動させる処理の実行を行う。
【0057】
情報処理装置100は、主演算装置、メモリ、ネットワークインタフェース等を備えた周知の情報処理装置からなる。ここで情報処理装置100の実装形態は不問である。例えば、情報処理装置100の各部を分散して複数の装置により実装してもよい。また、情報処理装置100の各部は汎用のコンピュータにプログラムをインストールすることにより実装してもよいし、専用のハードウェアとして実装してもよいし、これらを組み合わせてもよい。
【0058】
以上のように本発明によれば、データ要求端末2がアクセスしたデータは、その通信経路上にある全ての情報処理装置100ではなく、通信経路上にある情報処理装置100が複数のクラスタ400に分割され、各クラスタ400内の1つの情報処理装置100のホットストレージ210にキャッシュとして記憶されるので、ストレージの利用効率が向上する。また、本発明によれば、ラストワンデータについては、当該データを保管している情報処理装置100においてキャッシュ管理の評価値が低いものであっても、所定の条件で他の情報処理装置100のホットストレージ210に移動する。これにより、応答速度の遅いコールドストレージ220にアクセスする機会が減り、全体として応答速度が向上する。
【0059】
以上、本発明の一実施の形態について詳述したが、本発明は上記実施の形態に限定されるものではなく、本発明の主旨を逸脱しない範囲において、種々の改良や変更をしてもよい。
【0060】
例えば、上記実施の形態では、経路上ノードクラスタリングや変形LRUの処理において必要な情報は、自身の情報処理装置100又は他の情報処理装置100から取得していたが、これらの情報を他の情報管理装置で統括的に管理するとともに、各情報処理装置100は前記情報管理装置から前記情報を取得するようにしてもよい。また、経路上ノードクラスタリングや変形LRUにおける処理における一部を、他の情報管理装置で実施するようにしてもよい。この場合、当該一部の処理に必要な情報は、各情報処理装置100から取得するようにすればよい。情報管理装置10の配備位置は各情報処理装置100と通信可能であればよくネットワーク的な位置は不問である。このような実施形態の一例について図10及び図11を参照して説明する。
【0061】
本実施形態では、図10に示すように、前述の情報管理装置に相当する強制移動候補決定装置5を各情報処理装置100と通信可能に配備する。強制移動候補決定装置5は、各情報処理装置100のホットストレージ210における強制移動候補のランキングを統合的に管理するものであり、より具体的には、各ノードで最もコールドストレージ降格する又はキャッシュ削除されやすいデータのもつポイントを管理する機能を有する。各情報処理装置100は、強制移動候補決定装置5に問い合わせることによりデータを他の情報処理装置100に強制移動する否かを判定することができる。このような実施形態における情報処理装置100の実施例を図11に示す。
【0062】
また、上記の各実施の形態において、例えば、上述のクラスタ分割数の算出、クラスタ内におけるデータ配置先の決定で用いる評価値P1(x)の算出、ホットストレージ210におけるデータの有用性に関する評価値P2(x)の算出で用いた数式は一例であり、他の数式やパラメータを用いることができる。パラメータは、例えば、リンク帯域、リンク利用率やQoS、メインパスからストレージまでの離れ具合(距離)、ストレージ容量、ストレージ存在地のユーザ数、これまでの歴史、以前にレプリカを作ったとかの歴史、Age of Informationの大小、レプリカ数の増減率、ストレージに繋がっているPublisher数、ストレージにストアされるオリジナルデータのスループット、データサイズ、トポロジ分岐数(隣接ノード数)、累計(過去)のアクセス回数、推定(将来)のアクセス回数、アクセス頻度、直近アクセス間隔、ストレージ容量に占める重複配置データの割合、生成元Publisherの最新データであるか否か(AoIがデータ生成間隔を下回っているか否か)、被利用データが重複配置データであるとき同じデータが現時点でどこに配置されているかなどの、リンク状況、データ特性、キャッシュ配置先のストレージ状況、ネットワークトポロジー、といった各種データ属性を任意に用いることができる。
【符号の説明】
【0063】
1…データ送信端末
2…データ要求端末
3…管理サーバ
10…ネットワーク
100…情報処理装置
210…ホットストレージ
220…コールドストレージ
300…データ配置制御部
400…クラスタ
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11