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

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

▶ NECソリューションイノベータ株式会社の特許一覧 ▶ 日本電気株式会社の特許一覧

<>
  • 特許-ストレージシステム 図1
  • 特許-ストレージシステム 図2
  • 特許-ストレージシステム 図3
  • 特許-ストレージシステム 図4
  • 特許-ストレージシステム 図5
  • 特許-ストレージシステム 図6
  • 特許-ストレージシステム 図7
  • 特許-ストレージシステム 図8
  • 特許-ストレージシステム 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-07
(45)【発行日】2024-10-16
(54)【発明の名称】ストレージシステム
(51)【国際特許分類】
   G06F 3/06 20060101AFI20241008BHJP
   G06F 13/10 20060101ALI20241008BHJP
   G06F 11/14 20060101ALI20241008BHJP
【FI】
G06F3/06 301W
G06F3/06 304F
G06F13/10 340A
G06F13/10 330B
G06F13/10 330C
G06F11/14 653
【請求項の数】 12
(21)【出願番号】P 2020200365
(22)【出願日】2020-12-02
(65)【公開番号】P2022088106
(43)【公開日】2022-06-14
【審査請求日】2023-11-07
(73)【特許権者】
【識別番号】000232092
【氏名又は名称】NECソリューションイノベータ株式会社
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100124811
【弁理士】
【氏名又は名称】馬場 資博
(74)【代理人】
【識別番号】100088959
【弁理士】
【氏名又は名称】境 廣巳
(74)【代理人】
【識別番号】100097157
【弁理士】
【氏名又は名称】桂木 雄二
(74)【代理人】
【識別番号】100187724
【弁理士】
【氏名又は名称】唐鎌 睦
(72)【発明者】
【氏名】永田 悠
【審査官】田名網 忠雄
(56)【参考文献】
【文献】特開2012-168853(JP,A)
【文献】国際公開第2017/085870(WO,A1)
【文献】特開2020-009246(JP,A)
【文献】米国特許出願公開第2019/0370355(US,A1)
【文献】米国特許出願公開第2018/0246649(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/06-3/08
G06F 13/10-13/14
G06F 11/14
(57)【特許請求の範囲】
【請求項1】
バックアップデータの重複率を予測した結果に基づいて、重複排除ストレージとしての機能の少なくとも一部を有し、仮想環境上に実現されるインスタンスの起動状況を制御する制御部を有し、
前記制御部は、重複率が高い旨を示す予測の結果に応じて、動作中の前記インスタンスの性能を落とすように前記インスタンスの起動状態を制御する
ストレージシステム。
【請求項2】
前記制御部は、重複率が低い旨を示す予測の結果に応じて、動作中の前記インスタンスの性能を上げるように前記インスタンスの起動状態を制御する
請求項1に記載のストレージシステム。
【請求項3】
前記制御部は、バックアップデータの重複率を予測した結果と、バックアップデータの書き込み速度であるスループット値と、に基づいて、前記インスタンスの起動状況を制御する
請求項1または請求項2に記載のストレージシステム。
【請求項4】
前記制御部は、動作中の前記インスタンスのうちの所定の前記インスタンスに着目して、着目した前記インスタンスに書き込まれるバックアップデータの重複率を予測した結果に基づいて、着目した前記インスタンスの起動状況を制御する
請求項1から請求項までのうちのいずれか1項に記載のストレージシステム。
【請求項5】
前記制御部は、着目した前記インスタンスに書き込まれるバックアップデータの重複率を予測した結果と、着目した前記インスタンス以外の前記インスタンスに書き込まれるバックアップデータの重複率を予測した結果と、に基づいて、着目した前記インスタンスの起動状況を制御する
請求項に記載のストレージシステム。
【請求項6】
前記制御部は、事前に定められた利用料と、バックアップにかかる予想時間を前記重複率から予想した結果と、に基づいて前記インスタンスの起動状況を制御する
請求項1から請求項までのうちのいずれか1項に記載のストレージシステム。
【請求項7】
バックアップデータの重複率を予測した結果に基づいて、重複排除ストレージにおいて記憶再生動作を制御するための機能であるアクセラレータノードとしての機能の少なくとも一部を有する、アクセラレータノードインスタンスの起動状況を制御する
請求項1から請求項までのうちのいずれか1項に記載のストレージシステム。
【請求項8】
バックアップデータの重複率を予測した結果に基づいて、重複排除ストレージにおいてデータを格納する処理を行うための機能であるストレージノードとしての機能の少なくとも一部を有する、ストレージノードインスタンスの起動状況を制御する
請求項1から請求項までのうちのいずれか1項に記載のストレージシステム。
【請求項9】
情報処理装置が、
バックアップデータの重複率を予測した結果を取得し、取得した結果に基づいて、重複排除ストレージとしての機能の少なくとも一部を有し、仮想環境上に実現されるインスタンスの起動状況を制御し、
前記インスタンスの起動状況を制御する際、重複率が高い旨を示す予測の結果に応じて、動作中の前記インスタンスの性能を落とすように前記インスタンスの起動状態を制御する
制御方法。
【請求項10】
情報処理装置に、
バックアップデータの重複率を予測した結果を取得し、取得した結果に基づいて、重複排除ストレージとしての機能の少なくとも一部を有し、仮想環境上に実現されるインスタンスの起動状況を制御する処理を実現させ、
前記インスタンスの起動状況を制御する際、重複率が高い旨を示す予測の結果に応じて、動作中の前記インスタンスの性能を落とすように前記インスタンスの起動状態を制御する
プログラム。
【請求項11】
バックアップデータの重複率を予測した結果に基づいて、重複排除ストレージとしての機能の少なくとも一部を有し、仮想環境上に実現されるインスタンスの起動状況を制御する制御部を有し、
前記制御部は、重複率が低い旨を示す予測の結果に応じて、動作中の前記インスタンスの性能を上げるように前記インスタンスの起動状態を制御する
ストレージシステム。
【請求項12】
バックアップデータの重複率を予測した結果に基づいて、重複排除ストレージとしての機能の少なくとも一部を有し、仮想環境上に実現されるインスタンスの起動状況を制御する制御部を有し、
前記制御部は、事前に定められた利用料と、バックアップにかかる予想時間を前記重複率から予想した結果と、に基づいて前記インスタンスの起動状況を制御する
ストレージシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ストレージシステム、制御方法、プログラムに関する。
【背景技術】
【0002】
既に記憶装置に格納されている情報を重複して記憶しない重複排除ストレージが知られている。
【0003】
重複排除ストレージについて記載された文献としては、例えば、特許文献1がある。特許文献1に記載されているように、重複排除ストレージにおいては、記憶再生動作を制御するアクセラレータノード(AN)と、データを格納する記憶装置を備えたストレージノード(SN)と、を有することがある。換言すると、重複排除ストレージでは、アクセラレータノードとストレージノードと呼ばれる2種類の機能うち一方もしくは両方を持つ物理ノードからなる複数ノードにより、1つのストレージを構成することがある。
【0004】
また、関連する技術として、例えば、特許文献2がある。特許文献2には、重複排除ストレージにおいて省電力を実現するための方法が記載されている。特許文献2には、データの重複率予想結果に基づいて、ディスクの電源オフなどの運転モードを制御することが記載れている。
【先行技術文献】
【特許文献】
【0005】
【文献】特開2018-142176号公報
【文献】特開2012-168853号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
特許文献1に記載の技術のように物理ノードを用意する場合、事前に見積もった最大負荷を処理できるだけの物理ノードを用意することになる。その結果、コストが過剰になることがあった。また、重複排除ストレージは、データの特性などにより必要な性能が異なる。そのため、事前見積が難しくコスト最適化した構成を実現することが難しい場合があった。このような問題は、例えば、特許文献2に記載の技術を用いたとしても、消費電力の削減は可能であるものの物理ノードを事前に準備することに違いはないため、同様に生じていた。
【0007】
このように、重複排除ストレージにおいてコストを最適化することが難しい場合がある、という課題が生じていた。そこで、本開示の目的は、重複排除ストレージにおいてコストを最適化することが難しい場合がある、という課題を解決するストレージシステム、制御方法、プログラムを提供することにある。
【課題を解決するための手段】
【0008】
かかる目的を達成するため本開示の一形態であるストレージシステムは、
バックアップデータの重複率を予測した結果に基づいて、重複排除ストレージとしての機能の少なくとも一部を有し、仮想環境上に実現されるインスタンスの起動状況を制御する制御部を有する
という構成をとる。
【0009】
また、本開示の他の形態である制御方法は、
情報処理装置が、
バックアップデータの重複率を予測した結果を取得し、取得した結果に基づいて、重複排除ストレージとしての機能の少なくとも一部を有し、仮想環境上に実現されるインスタンスの起動状況を制御する
という構成をとる。
【0010】
また、本開示の他の形態であるプログラムは、
情報処理装置に、
バックアップデータの重複率を予測した結果を取得し、取得した結果に基づいて、重複排除ストレージとしての機能の少なくとも一部を有し、仮想環境上に実現されるインスタンスの起動状況を制御する
処理を実現するためのプログラムである。
【発明の効果】
【0011】
上述したような各構成によると、重複排除ストレージにおいてコストを最適化することが可能となる
【図面の簡単な説明】
【0012】
図1】本開示の第1の実施形態におけるストレージシステムの構成例を示す図である。
図2図1で示すANインスタンスの構成例を示すブロック図である。
図3図1で示すANインスタンスの構成例を示すブロック図である。
図4図1で示す制御インスタンスの構成例を示すブロック図である。
図5】ストレージシステムの動作例を示すフローチャートである。
図6】ストレージシステムの動作例を示すフローチャートである。
図7】重複率を予測する際の動作例を示すフローチャートである。
図8】本開示の第2の実施形態におけるストレージシステムのハードウェア構成例を示す図である。
図9】ストレージシステムの構成例を示すブロック図である。
【発明を実施するための形態】
【0013】
[第1の実施形態]
本開示の第1の実施形態について、図1から図7までを参照して説明する。図1は、ストレージシステム100の構成例を示す図である。図2は、ANインスタンス310の構成例を示すブロック図である。図3は、ANインスタンス320の構成例を示すブロック図である。図4は、制御インスタンス400の構成例を示す図である。図5図6は、ストレージシステム100の動作例を示すフローチャートである。図7は、重複率を予測する際の動作例を示すフローチャートである。
【0014】
本開示の第1の実施形態においては、仮想環境上に重複排除ストレージとしての機能を実現するストレージシステム100について説明する。後述するように、本実施形態において説明するストレージシステム100では、バックアップ処理を行う際、バックアップ対象のデータであるバックアップデータの重複率を予測する。そして、ストレージシステム100は、予測した重複率などに基づいて、仮想環境上で動作させるインスタンスのタイプやインスタンスの起動数を制御する。このように、ストレージシステム100は、重複率などのバックアップデータの特性などに応じてインスタンスタイプや数を調整することで、ストレージシステム100を利用する際に必要となるコストを最適化する。
【0015】
なお、本実施形態においては、インスタンスとは、重複排除ストレージとしての機能を少なくとも一部有する、仮想環境上に実現された実体のことをいう。ストレージシステム100は、例えば、ANインスタンス310、ANインスタンス320、制御インスタンス400、SNインスタンス500などのインスタンスを有することが出来る。また、本実施形態においては、グローバルネームスペース(GNS)を使用することで、インスタンス停止/起動時にどのAN(アクセラレータノード)からも同じパスにアクセスできることとする。つまり、本実施形態において説明するストレージシステム100は、GNSを使用することにより、インスタンスの停止/起動を行った際にバックアップデータの転送を切り替えることが出来るよう構成されている。
【0016】
図1は、ストレージシステム100の構成例を示している。図1を参照すると、ストレージシステム100では、例えば、クライアント装置200と、仮想環境であるクラウドサービス上で実現している重複排除ストレージと、が接続している。また、クラウドサービス上では、AN(アクセラレータノード)インスタンス310とANインスタンス320と制御インスタンス400とSNインスタンス500とが実現している。
【0017】
図1で示すように、クライアント装置200と、ANインスタンス310やANインスタンス320は、仮想ネットワークを介して互いに通信可能なよう接続することが出来る。また、ANインスタンス310及びANインスタンス320と、制御インスタンス400と、SNインスタンス500とは、仮想ネットワークを介して互いに通信可能なよう接続することが出来る。
【0018】
なお、重複排除ストレージを実現する仮想環境は、1つまたは複数の情報処理装置を用いて既存の技術により構築してよい。換言すると、仮想環境上で実現される各インスタンスやインスタンスが有する機能などは、例えば、記憶装置に格納されたプログラムをCPUなどの演算装置が実行することなどにより実現することが出来る。
【0019】
また、仮想環境上で実現されるANインスタンス310やANインスタンス320の数は、図1で例示する場合に限定されない。また、制御インスタンス400やSNインスタンス500の数も、図1で例示する場合に限定されない。仮想環境上では、任意の数のANインスタンス310、ANインスタンス320、制御インスタンス400、SNインスタンス500を実現してよい。
【0020】
クライアント装置200は、バックアップデータを送信する情報処理装置である。クライアント装置200は、例えば、NFS/CIFSプロトコルを使用して、ANインスタンス310やANインスタンス320に対してバックアップデータを書き込むことが出来る。
【0021】
ANインスタンス310は、AN(アクセラレータノード)機能を有するインスタンスである。ANインスタンス310は、後述するANインスタンス320よりも高い性能を有している。そのため、ANインスタンス310は、高性能インスタンスである、ということも出来る。例えば、ANインスタンス310に割り当てるコア数やメモリ容量などの資源量は、ANインスタンス320に割り当てるコア数やメモリ容量などの資源量よりも多い。一方で、ANインスタンス310は、ANインスタンス320よりも動かす際のコストが高い。
【0022】
ここで、AN機能とは、重複排除を行ってデータを記憶する重複排除ストレージにおいて、記憶再生動作を制御するための機能をいう。AN機能では、例えば、チャンキング処理、重複排除判定処理、物理圧縮、イレージャーコーディング (DRD) 処理、NFS/CIFSなどの通信プロトコル処理、などの処理のうちの少なくとも一部を行うことが出来る。
【0023】
図2は、本実施形態において特徴的なANインスタンス310の構成を示している。図2を参照すると、ANインスタンス310は、AN機能を実現するための構成に加えて、ハッシュ値取得部311と重複率予測部312とスループット値取得部313と送信部314とを有している。また、図2で示すように、ANインスタンス310は、ANインスタンス320よりも高性能なAN機能を実現するための高性能インスタンスタイプ用VMイメージ315を有している。
【0024】
ハッシュ値取得部311は、実行中の書き込み(バックアップ)に関連するファイルを構成するハッシュ値を取得する。例えば、ハッシュ値取得部311は、実行中の書き込みより1世代前のバックアップファイルを構成するハッシュ値を取得する。例えば、1世代前のバックアップファイルを構成するハッシュ値は、記憶装置などに格納されている。ハッシュ値取得部311は、上記記憶装置にアクセスすることで、1世代前のバックアップファイルを構成するハッシュ値を取得することが出来る。
【0025】
なお、ハッシュ値取得部311は、n世代前のバックアップファイルを構成するハッシュ値を取得する(n=任意の数)など、上記例示した以外の関連するファイルを構成するハッシュ値を取得してもよい。
【0026】
重複率予測部312は、ハッシュ値取得部311が取得したハッシュ値に基づいて、バックアップデータの重複率を予測する。
【0027】
例えば、重複率予測部312は、実行中の書き込みを構成するハッシュ値を取得する。例えば、ANインスタンス310では、AN機能である上述した重複排除判定処理を行う際に、バックアップファイルを分割したブロックデータのハッシュ値を算出している。重複率予測部312は、実行中の書き込みを構成するハッシュ値として、上記重複排除判定処理を行う際に算出したハッシュ値を取得することが出来る。また、重複率予測部312は、ハッシュ値取得部311が取得した1世代前のバックアップファイルを構成するハッシュ値を取得する。そして、重複率予測部312は、実行中の書き込みを構成するハッシュ値と、ハッシュ値取得部311が取得したハッシュ値と、の比較を行う。
【0028】
例えば、実行中の書き込みを構成するハッシュ値と1世代前のバックアップファイルのハッシュ値とで重複する割合が所定の予測閾値以上である場合、重複率予測部312は、実行中のバックアップは重複率が高くなると予測する。一方、実行中の書き込みを構成するハッシュ値と1世代前のバックアップファイルのハッシュ値とで重複する割合が予測閾値未満である場合、重複率予測部312は、実行中のバックアップは重複率が低くなると予測する。
【0029】
例えば、以上のように、重複率予測部312は、事前に与えられたルールを基に前世代のバックアップファイルを構成するハッシュ値を読み込んだ結果を用いて、実行中の書き込み(バックアップ)はどのくらい重複するか予想する。
【0030】
なお、本実施形態においては、予測閾値の具体的な値については特に限定しない。予測閾値は任意の値であってよい。また、重複率予測部312は、任意のタイミングで上述した予測をすることが出来る。例えば、重複率予測部312は、バックアップ処理の開始から予め定められた時間が経過するなど、ある程度バックアップが進んだ段階で上述した予測を開始することが出来る。また、重複率予測部312は、その後、予め定められた所定の間隔で定期的に上述した予測を行うことが出来る。重複率予測部312は、上記例示した以外のタイミングで予測を行ってもよい。
【0031】
スループット値取得部313は、バックアップファイルの書き込み速度であるスループット値を取得する。スループット値取得部313は、既知の方法でスループット値を取得してよい。
【0032】
送信部314は、重複率予測部312が予測した結果、スループット値取得部313が取得したスループット値などを制御インスタンス400に対して送信する。送信部314は、任意の間隔で予測の結果やスループット値などを制御インスタンス400に対して送信してよい。
【0033】
ANインスタンス320は、 ANインスタンス310と同様に、AN機能を有するインスタンスである。ANインスタンス320は、ANインスタンス310よりも低い性能を有している。そのため、ANインスタンス320は、低性能インスタンスである、ということも出来る。例えば、ANインスタンス320に割り当てるコア数やメモリ容量などの資源量は、ANインスタンス310に割り当てるコア数やメモリ容量などの資源量よりも少ない。一方で、ANインスタンス320は、ANインスタンス310よりも動かす際のコストが低い。
【0034】
図3は、本実施形態において特徴的なANインスタンス320の構成を示している。図3を参照すると、ANインスタンス320は、AN機能を実現するための構成に加えて、ハッシュ値取得部321と重複率予測部322とスループット値取得部323と送信部324とを有している。また、図32で示すように、ANインスタンス320は、ANインスタンス310よりも低性能なAN機能を実現するための低性能インスタンスタイプ用VMイメージ325を有している。
【0035】
ハッシュ値取得部321、重複率予測部322、スループット値取得部323、送信部324の構成は、ハッシュ値取得部311、重複率予測部312、スループット値取得部313、送信部314と同様であったよい。そのため、説明を省略する。
【0036】
制御インスタンス400は、バックアップデータの特性を示す重複率に基づく予測の結果やストレージシステム100の負荷状況を示すスループット値などをANインスタンス310やANインスタンス320から取得する。そして、制御インスタンス400は、取得した予測の結果やスループット値に基づいて、ANインスタンス310やANインスタンス320の起動や停止を行う。つまり、制御インスタンス400は、重複率などのバックアップデータの特性に応じた情報や負荷状況などに応じて、ANインスタンス310やANインスタンス320の起動状態を制御する。
【0037】
図4は、制御インスタンス400の構成例を示している。図4を参照すると、制御インスタンス400は、例えば、受信部410と制御部420とを有している。
【0038】
受信部410は、ANインスタンス310が有する送信部314やANインスタンス320が有する送信部324が送信した重複率に基づく予測の結果やスループット値を受信する。
【0039】
制御部420は、受信部410が受信した重複率に基づく予測の結果やスループット値などに基づいて、ANインスタンス310やANインスタンス320を起動したり停止したりする。
【0040】
例えば、重複率が高くなる(つまり、重複率の高いデータの書き込みが続く)と予測の結果が示す場合、今後もCPU性能などを必要としないと予想される。そこで、制御部420は、ANインスタンス310を停止してANインスタンス320を起動する、ANインスタンス320を停止して動作中のANインスタンス320の数を減らすなど、必要以上の性能を発揮するために無駄なコストをかけないように、ANインスタンス310やANインスタンス320の起動状態を制御する。換言すると、制御部420は、CPU性能などを必要としないと予測される場合、動作中のインスタンスの性能を落とすように起動状態を制御する。これにより、動作にかかるコストがより安価になるようにANインスタンス310やANインスタンス320の起動状態が制御されることとなり、無駄にコストが生じる事態を抑制することが出来る。一方、重複率が低くなる(つまり、重複率が低いデータの書き込みが続く)と予測の結果が示す場合、物理圧縮処理やDRD処理のためにCPU性能などを必要とすることが予想される。そこで、制御部420は、動作するANインスタンス320の数を増やす、ANインスタンス320を停止してANインスタンス310を起動するなど、必要な性能を発揮できるように、ANインスタンス310やANインスタンス320の起動状態を制御する。換言すると、制御部420は、CPU性能などを必要とすると予測される場合、動作中のインスタンスの性能を上げるように起動状態を制御する。これにより、動作にかかるコストがかかってしまうものの、必要な性能を確保することが出来る。
【0041】
また、制御部420は、重複率に基づく予測の結果とスループット値とを組み合わせた制御を行うことが出来る。例えば、重複率が高くなると予測するもののスループット値が所定値を超えている場合、それなりにCPU性能を必要とする可能性がある。そのため、上記のような場合、制御部420は、重複率が高くなると予測されるにもかかわらず、ANインスタンス310を停止してANインスタンス320を起動したり動作中のANインスタンス320の数を減らしたりしないよう構成することが出来る。また、例えば、重複率が低くなると予測するもののスループット値が所定値以下の場合、実際にはCPU性能を必要としない可能性がある。そのため、上記のような場合、制御部420は、重複率が低くなると予測されるにもかかわらず、ANインスタンス310を停止してANインスタンス320を起動したり、ANインスタンス320を停止して動作中のANインスタンス320の数を減らしたりするよう構成することが出来る。例えば、以上のように、制御部420は、重複率に基づく予測の結果とスループット値とを組み合わせてCPU性能などが必要となるか否か判断し、判断した結果に基づいてANインスタンス310やANインスタンス320の起動状態を制御するよう構成してもよい。なお、所定値は任意の値であってよい。
【0042】
なお、制御部420は、任意のANインスタンス310やANインスタンス320に着目して、ANインスタンス310やANインスタンス320の起動状態を制御するよう構成してもよい。例えば、制御部420は、着目したANインスタンス310やANインスタンス320から受信した予測の結果やスループット値、着目していないANインスタンス310やANインスタンス320の状況などに応じて、ANインスタンス310やANインスタンス320の起動状態を制御することが出来る。なお、制御部420は、任意の方法で着目するANインスタンス310やANインスタンス320を決定してよい。例えば、制御部420は、予測の結果やスループット値などに基づいて着目するANインスタンス310やANインスタンス320を決定してもよいし、それ以外の方法で着目するANインスタンス310やANインスタンス320を決定してもよい。
【0043】
SNインスタンス500は、SN(ストレージノード)機能を有するインスタンスである。SN機能とは、重複排除を行ってデータを記憶する重複排除ストレージにおいて、データを格納する処理を行うための機能をいう。例えば、SN機能では、AN機能が有するDRD処理により生成されるフラグメントを管理して1つのストレージプールを構成するための処理を行う。
【0044】
なお、SNインスタンス500で使用するボリュームタイプ(ディスクタイプ、ディスクの性能)などは、各SNインスタンス500で同一であってもよいし、異なっていてもよい。つまり、SNインスタンス500には、より高性能な(より高価な)ボリュームタイプを有するSNインスタンス500が含まれていてもよいし、より低性能な(より安価な)ボリュームタイプを有するSNインスタンス500とが含まれていてもよい。
【0045】
以上が、ストレージシステム100の構成例である。続いて、図5図6を参照して、制御部420が起動状態を制御する際の動作例について説明する。なお、制御部420の動作例は、図5図6で例示する場合に限定されない。
【0046】
図5図6では、制御部420が任意のANインスタンス310、320に着目して起動状態を制御する場合について例示している。図5を参照すると、制御部420は、着目しているANインスタンス310またはANインスタンス320(以下、着目対象とする)について、重複率が高くなると予測しているか否か確認する(ステップS101)。
【0047】
重複率が高くなると予測している場合(ステップS101、Yes)、制御部420は、着目対象以外に余裕のあるANインスタンス310またはANインスタンス320が存在するか否か確認する(ステップS102)。例えば、制御部420は、着目対象以外に、重複率が高くなると予測され、かつ、スループット値が所定値以上のANインスタンス310またはANインスタンス320が存在するか否か確認することで、余裕のあるANインスタンス310またはANインスタンス320が存在するか否か確認する。
【0048】
着目対象以外に余裕のあるANインスタンス310またはANインスタンス320が存在する場合(ステップS102、Yes)、制御部420は、着目対象のスループット値が所定値以下であるか否か確認する(ステップS103)。スループット値が所定値を超えている場合(ステップS103、No)、制御部420は新たな起動/停止を行わず処理を終了する。一方、スループット値が所定値以下である場合(ステップS103、Yes)、制御部420は、着目対象が低性能インスタンスであるANインスタンス320であるか否か確認する(ステップS104)。着目対象が低性能インスタンスである場合(ステップS104、Yes)、制御部420は、着目対象であるANインスタンス320を停止させる(ステップS105)。一方、着目対象が低性能インスタンスでない場合(ステップS104、No)、制御部420は、低性能インスタンスであるANインスタンス320を起動するとともに、着目対象を停止させる(ステップS106)。
【0049】
また、着目対象以外に余裕のあるANインスタンス310またはANインスタンス320が存在しない場合(ステップS102、No)、制御部420は、着目対象のスループット値が所定値以下であるか否か確認する(ステップS107)。スループット値が所定値以下である場合(ステップS107、Yes)、制御部420は、新たな起動/停止を行わず処理を終了する。一方、スループット値が所定値を超えている場合(ステップS107、No)、制御部420は、低性能インスタンスであるANインスタンス320を起動する(ステップS108)。
【0050】
また、図6を参照すると、重複率が低くなると予測している場合(ステップS101、No)、制御部420は、着目対象以外に余裕のあるANインスタンス310またはANインスタンス320が存在するか否か確認する(ステップS110)。着目対象以外に余裕のあるANインスタンス310またはANインスタンス320が存在する場合(ステップS110、Yes)、制御部420は、着目対象のスループット値が所定値以下であるか否か確認する(ステップS111)。スループット値が所定値を超えている場合(ステップS111、No)、制御部420は、着目対象が低性能インスタンスであるANインスタンス320であるか否か確認する(ステップS115)。そして、着目対象が低性能インスタンスである場合(ステップS115、Yes)、制御部420は、高性能インスタンスであるANインスタンス310を起動して着目対象であるANインスタンス320を停止させる(ステップS116)。一方、着目対象が低性能インスタンスでない場合(ステップS115、No)、制御部420は、新たな起動/停止を行わず処理を終了する。また、スループット値が所定値以下である場合(ステップS111、Yes)、制御部420は、着目対象が低性能インスタンスであるANインスタンス320であるか否か確認する(ステップS112)。そして、着目対象が低性能インスタンスである場合(ステップS112、Yes)、制御部420は、着目対象であるANインスタンス320を停止させる(ステップS113)。一方、着目対象が低性能インスタンスでない場合(ステップS112、No)、制御部420は、低性能インスタンスであるANインスタンス320を起動して、着目対象であるインスタンスを停止させる(ステップS114)。
【0051】
また、着目対象以外に余裕のあるANインスタンス310またはANインスタンス320が存在しない場合(ステップS110、No)、制御部420は、着目対象のスループット値が所定値以下であるか否か確認する(ステップS117)。スループット値が所定値を超えている場合(ステップS117、No)、制御部420は、着目対象が低性能インスタンスであるANインスタンス320であるか否か確認する(ステップS119)。そして、着目対象が低性能インスタンスである場合(ステップS119、Yes)、制御部420は、高性能インスタンスであるANインスタンス310を起動して着目対象であるANインスタンス320を停止させる(ステップS120)。一方、着目対象が低性能インスタンスでない場合(ステップS119、No)、制御部420は、低性能インスタンスであるANインスタンス320を新たに起動する(ステップS121)。また、スループット値が所定値以下である場合(ステップS117、Yes)、制御部420は、低性能インスタンスであるANインスタンス320を新たに起動する(ステップS118)。
【0052】
以上が、制御部420の動作例である。続いて、図7を参照して、重複率予測部312、重複率予測部322の動作例について説明する。
【0053】
図7を参照すると、重複率予測部312は、ハッシュ値取得部311から、当該ハッシュ値取得部311が取得した、実行中の書き込みに関連するファイルを構成するハッシュ値を取得する(ステップS301)。また、重複率予測部312は、実行中の書き込みを構成するハッシュ値を取得する。そして、重複率予測部312は、実行中の書き込みを構成するハッシュ値と、ハッシュ値取得部311が取得したハッシュ値と、の比較を行う(ステップS302)。
【0054】
実行中の書き込みを構成するハッシュ値と1世代前のバックアップファイルのハッシュ値とで重複する割合が所定の予測閾値以上である場合(ステップS302、Yes)、重複率予測部312は、実行中のバックアップは重複率が高くなると予測する(ステップS303)。一方、実行中の書き込みを構成するハッシュ値と1世代前のバックアップファイルのハッシュ値とで重複する割合が予測閾値未満である場合(ステップS302、No)、重複率予測部312は、実行中のバックアップは重複率が低くなると予測する(ステップS304)。
【0055】
以上が、重複率予測部312の動作例である。
【0056】
このように、本実施形態において説明するストレージシステム100は、制御部420を有している。このような構成により、制御部420は、重複率に応じた予測の結果やスループット値などに基づいて、ANインスタンス310やANインスタンス320の起動状態を制御することが出来る。これにより、必要な性能などに応じた適切な起動状態の制御を行うことが出来る。その結果、コストを最適化することが出来る。
【0057】
なお、ストレージシステム100の構成は、本実施形態で説明した場合に限定されない。例えば、制御インスタンス400としての機能は、ANインスタンス310やANインスタンス320が有するよう構成してもよい。例えば、制御インスタンス400としての機能は、最初に起動したANインスタンス310またはANインスタンス320が有するよう構成してもよいし、最後に起動したANインスタンス310またはANインスタンス320が有するよう構成してもよい。
【0058】
また、ANインスタンス310やANインスタンス320が有する機能のうちの一部を制御インスタンス400が有してもよい。例えば、制御インスタンス400が重複率の予測を行うよう構成してもよい。
【0059】
また、制御部420は、例えば、クラウドサービスで事前契約した利用量などを用いて起動状態の制御を行うよう構成してもよい。例えば、制御部420は、事前契約した利用料と、バックアップにかかる予想時間をデータ重複率から予想した結果と、に基づいて、ANインスタンス310やANインスタンス320の起動状態を制御してもよい。
【0060】
例えば、クラウドサービスでは、予め定めた利用量を超えると使用料金の割引率が低下するなど、利用料に応じて料金が変動するプランがある。そこで、制御部420は、事前契約した利用量の範囲に収まる(または使い切る)ようにANインスタンス310やANインスタンス320の起動状態を制御する。例えば、このような方法であっても、コストを最適化することが出来る。なお、重複率に基づいたバックアップデータにかかる時間の予想は、任意の手段により実現して構わない。
【0061】
また、制御部420は、ANインスタンス310やANインスタンス320の起動状態の制御に加えて、または、代わりに、SNインスタンス500の起動状態を制御するよう構成してもよい。つまり、制御部420は、SNインスタンス500の起動状態制御によりコストの最適化を行うよう構成してもよい。
【0062】
例えば、上述したように、クラウドサービスでは性能の異なるボリュームタイプがあり、それぞれ料金設定されている。ボリュームタイプはオンラインで変更可能である。そこで、制御部420は、例えば、重複率が高いと予測される場合(ボリューム性能が必要ない)には、SNインスタンス500で使用しているボリュームを安いタイプに変更することが出来る。また、制御部420は、重複率が低いと予測される場合に、SNインスタンス500で使用しているボリュームを高いタイプに変更することが出来る。例えば、以上のように、制御部420は、SNインスタンス500の起動状態を制御することによりコストの最適化を行うよう構成してもよい。
【0063】
[第2の実施形態]
次に、図8図9を参照して、本開示の第2の実施形態について説明する。第2の実施形態では、ストレージシステム600について説明する。
【0064】
図8は、ストレージシステム600のハードウェア構成例を示している。図8を参照すると、ストレージシステム600は、一例として、以下のようなハードウェア構成を有している。
・CPU(Central Processing Unit)601(演算装置)
・ROM(Read Only Memory)602(記憶装置)
・RAM(Random Access Memory)603(記憶装置)
・RAM603にロードされるプログラム群604
・プログラム群604を格納する記憶装置605
・ストレージシステム外部の記録媒体610の読み書きを行うドライブ装置606
・ストレージシステム外部の通信ネットワーク611と接続する通信インタフェース607
・データの入出力を行う入出力インタフェース608
・各構成要素を接続するバス609
【0065】
また、ストレージシステム600は、プログラム群604をCPU601が取得して当該CPU601が実行することで、図9に示す制御部621としての機能を実現することが出来る。なお、プログラム群604は、例えば、予め記憶装置605やROM602に格納されており、必要に応じてCPU601がRAM603などにロードして実行する。また、プログラム群604は、通信ネットワーク611を介してCPU601に供給されてもよいし、予め記録媒体610に格納されており、ドライブ装置606が該プログラムを読み出してCPU601に供給してもよい。
【0066】
なお、図8は、ストレージシステム600のハードウェア構成例を示している。ストレージシステム600のハードウェア構成は上述した場合に限定されない。例えば、ストレージシステム600は、ドライブ装置606を有さないなど、上述した構成の一部から構成されてもよい。
【0067】
制御部621は、バックアップデータの重複率を予測した結果に基づいて、重複排除ストレージとしての機能の少なくとも一部を有し、仮想環境上に実現されるインスタンスの起動状況を制御する。制御部621が起動状況を制御するインスタンスとしては、例えば、アクセラレータノードインスタンス(ANインスタンス)やストレージノードインスタンス(SNインスタンス)などがある。
【0068】
このように、ストレージシステム600は、制御部621を有している。このような構成によると、制御部621は、重複率を予測した結果に基づいてインスタンスの起動状況を制御することが出来る。これにより、必要な性能などに応じた適切な起動状態の制御を行うことが出来る。その結果、コストを最適化することが出来る。
【0069】
なお、上述したストレージシステム600は、当該ストレージシステム600などの情報処理装置に所定のプログラムが組み込まれることで実現できる。具体的に、本発明の他の形態であるプログラムは、情報処理装置に、バックアップデータの重複率を予測した結果を取得し、取得した結果に基づいて、重複排除ストレージとしての機能の少なくとも一部を有し、仮想環境上に実現されるインスタンスの起動状況を制御する処理を実現するためのプログラムである。
【0070】
また、上述したストレージシステム600などの情報処理装置により実現される制御方法は、ストレージシステム600などの情報処理装置が、バックアップデータの重複率を予測した結果を取得し、取得した結果に基づいて、重複排除ストレージとしての機能の少なくとも一部を有し、仮想環境上に実現されるインスタンスの起動状況を制御する、という方法である。
【0071】
上述した構成を有する、プログラム(または記録媒体)、または、制御方法、の発明であっても、上述したストレージシステム600と同様の作用・効果を有するために、上述した本発明の目的を達成することが出来る。
【0072】
<付記>
上記実施形態の一部又は全部は、以下の付記のようにも記載されうる。以下、本発明におけるストレージシステムなどの概略を説明する。但し、本発明は、以下の構成に限定されない。
【0073】
(付記1)
バックアップデータの重複率を予測した結果に基づいて、重複排除ストレージとしての機能の少なくとも一部を有し、仮想環境上に実現されるインスタンスの起動状況を制御する制御部を有する
ストレージシステム。
(付記2)
前記制御部は、重複率が高い旨を示す予測の結果に応じて、動作中の前記インスタンスの性能を落とすように前記インスタンスの起動状態を制御する
付記1に記載のストレージシステム。
(付記3)
前記制御部は、重複率が低い旨を示す予測の結果に応じて、動作中の前記インスタンスの性能を上げるように前記インスタンスの起動状態を制御する
付記1または付記2に記載のストレージシステム。
(付記4)
前記制御部は、バックアップデータの重複率を予測した結果と、バックアップデータの書き込み速度であるスループット値と、に基づいて、前記インスタンスの起動状況を制御する
付記1から付記3までのうちのいずれか1項に記載のストレージシステム。
(付記5)
前記制御部は、動作中の前記インスタンスのうちの所定の前記インスタンスに着目して、着目した前記インスタンスに書き込まれるバックアップデータの重複率を予測した結果に基づいて、着目した前記インスタンスの起動状況を制御する
付記1から付記4までのうちのいずれか1項に記載のストレージシステム。
(付記6)
前記制御部は、着目した前記インスタンスに書き込まれるバックアップデータの重複率を予測した結果と、着目した前記インスタンス以外の前記インスタンスに書き込まれるバックアップデータの重複率を予測した結果と、に基づいて、着目した前記インスタンスの起動状況を制御する
付記5に記載のストレージシステム。
(付記7)
前記制御部は、事前に定められた利用料と、バックアップにかかる予想時間を前記重複率から予想した結果と、に基づいて前記インスタンスの起動状況を制御する
付記1から付記6までのうちのいずれか1項に記載のストレージシステム。
(付記8)
バックアップデータの重複率を予測した結果に基づいて、重複排除ストレージにおいて記憶再生動作を制御するための機能であるアクセラレータノードとしての機能の少なくとも一部を有する、アクセラレータノードインスタンスの起動状況を制御する
付記1から付記7までのうちのいずれか1項に記載のストレージシステム。
(付記9)
バックアップデータの重複率を予測した結果に基づいて、重複排除ストレージにおいてデータを格納する処理を行うための機能であるストレージノードとしての機能の少なくとも一部を有する、ストレージノードインスタンスの起動状況を制御する
付記1から付記8までのうちのいずれか1項に記載のストレージシステム。
(付記10)
情報処理装置が、
バックアップデータの重複率を予測した結果を取得し、取得した結果に基づいて、重複排除ストレージとしての機能の少なくとも一部を有し、仮想環境上に実現されるインスタンスの起動状況を制御する
制御方法。
(付記11)
情報処理装置に、
バックアップデータの重複率を予測した結果を取得し、取得した結果に基づいて、重複排除ストレージとしての機能の少なくとも一部を有し、仮想環境上に実現されるインスタンスの起動状況を制御する
処理を実現するためのプログラム。
【0074】
なお、上記各実施形態及び付記において記載したプログラムは、記憶装置に記憶されていたり、コンピュータが読み取り可能な記録媒体に記録されていたりする。例えば、記録媒体は、フレキシブルディスク、光ディスク、光磁気ディスク、及び、半導体メモリ等の可搬性を有する媒体である。
【0075】
以上、上記各実施形態を参照して本願発明を説明したが、本願発明は、上述した実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明の範囲内で当業者が理解しうる様々な変更をすることが出来る。
【符号の説明】
【0076】
100 ストレージシステム
200 クライアント装置
310 ANインスタンス
311 ハッシュ値取得部
312 重複率予測部
313 スループット値取得部
314 送信部
315 高性能インスタンスタイプ用VMイメージ
320 ANインスタンス
321 ハッシュ値取得部
322 重複率予測部
323 スループット値取得部
324 送信部
325 低性能インスタンスタイプ用VMイメージ
400 制御インスタンス
410 受信部
420 制御部
500 SNインスタンス
600 ストレージシステム
601 CPU
602 ROM
603 RAM
604 プログラム群
605 記憶装置
606 ドライブ装置
607 通信インタフェース
608 入出力インタフェース
609 バス
610 記録媒体
611 通信ネットワーク
621 制御部
図1
図2
図3
図4
図5
図6
図7
図8
図9