(57)【要約】【課題】必要なデータブロックを必要なときに取り出せないおそれがある。【解決手段】ファイルの書き込み要求や読み出し要求を処理する機能を有するとともに、格納対象のデータを格納する機能を有する情報処理装置が行う情報処理方法であって、データの特性に応じて格納対象のファイルを構成するデータを分離し、分離の結果に応じて、分離したデータを格納する。【選択図】図３
2020140647.tif 000002
【特許請求の範囲】
【請求項１】
ファイルの書き込み要求や読み出し要求を処理する機能を有するとともに、格納対象のデータを格納する機能を有する情報処理装置が行う情報処理方法であって、
データの特性に応じて格納対象のファイルを構成するデータを分離し、
分離の結果に応じて、分離したデータを格納する
情報処理方法。
【請求項２】
請求項１に記載に情報処理方法であって、
読み出しを優先するか否かを示す前記データの特性に応じて前記ファイルを構成するデータを分離する
情報処理方法。
【請求項３】
請求項１または請求項２に記載の情報処理方法であって、
前記データの特性に応じて前記ファイルを構成するデータを分離した後、分離したそれぞれのデータを異なるストリームに格納し、
前記ストリームごとに異なる方法で前記ストリームのデータを格納する
情報処理方法。
【請求項４】
請求項３に記載の情報処理方法であって、
前記情報処理装置は、格納対象のデータを格納する機能を有するストレージ装置と、他の情報処理装置と、接続されており、
前記データの特性が所定の前記ストリームのデータを他の前記情報処理装置にコピーする
情報処理方法。
【請求項５】
請求項１から請求項４までのいずれか１項に記載の情報処理方法であって、
記憶装置の空き容量に応じて格納されたデータを解放する
情報処理方法。
【請求項６】
請求項１から請求項５までのいずれか１項に記載の情報処理方法であって、
格納したデータを読み出す要求を、異なる特徴を有する２種類のキューのいずれかに格納する
情報処理方法。
【請求項７】
請求項６に記載の情報処理方法であって、
前記２種類のキューのうち予め定められたキューに処理が格納されている場合、当該予め定められたキューに格納されている処理を他方のキューに格納された処理よりも優先的に実行する
情報処理方法。
【請求項８】
請求項６又は請求項７のいずれか１項に記載の情報処理方法であって、
読み出すデータの特性に応じて、当該データを読み出す要求を前記２種類のキューのうちのいずれかに格納する
情報処理方法。
【請求項９】
ファイルの書き込み要求や読み出し要求を処理する機能を有するとともに、格納対象のデータを格納する機能を有する情報処理装置であって、
データの特性に応じて格納対象のファイルを構成するデータを分離するデータ分離部と、
分離の結果に応じて、分離したデータを格納する書込部と、
を有する
情報処理装置。
【請求項１０】
ファイルの書き込み要求や読み出し要求を処理する機能を有するとともに、格納対象のデータを格納する機能を有する情報処理装置に、
データの特性に応じて格納対象のファイルを構成するデータを分離するデータ分離部と、
分離の結果に応じて、分離したデータを格納する書込部と、
を実現するためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理方法、情報処理装置、プログラムに関する。
【背景技術】
【０００２】
日々増大する保存すべきデータに対応することなどを目的として大容量なストレージシステムが必要となっている。このようなストレージシステムでは、例えば、重複記憶を排除することで記憶コストを削減することなどが行われている。
【０００３】
上記のようなストレージシステムの一例として、例えば、特許文献１がある。特許文献１には、重複排除した状態でデータを格納する書込部と、書き込み対象となるデータをユーザデータ部分と管理データ部分とに分離するデータ分離部と、を有するストレージシステムが記載されている。特許文献１によると、書込部は、ユーザデータ部分を格納したファイルを生成するとともに、ファイルに格納されたユーザデータ部分に関連付けられたメタデータとして管理データ部分をファイルに含めて格納する。そして、書込部は、ファイルを書き込み対象となるデータとして記憶装置に格納する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−２０８６５０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記のようなストレージシステムでは、例えば図１で示すように、必要なスループットの確保などを目的に、リード位置から予め定められた量のデータブロックをバックグラウンドで取得しキャッシュしておく先行読み出し処理を行っている。この先行読み出し処理の結果、図１で示すように、リード要求を一時的に保持するリード処理キューにリード要求が滞納し、応答時間が伸びることがあった。
【０００６】
例えば、図１のケース１で示すように、リード処理キューによってリード処理順が後ろになるブロックのリード処理は、リード処理順が先のブロックのリードよりも遅くなる。また、先行読み出し範囲外のリード要求は、リード処理キューの後ろに追加される。そのため、図１のケース２で示すように、先行読み出し範囲外のリード要求を行う場合、新たな先行読み出し要求によりリード処理キューが伸長し、待ち時間の増加を助長することになる。さらに、これらの待ち時間は、読み出し対象のデータブロックを他のノードが有する記憶装置から取得することで、さらに悪化・増大する。
【０００７】
このように、記憶装置からデータブロックを取り出す際に時間がかかるおそれがあった。その結果、必要なデータブロックを必要なときに取り出せないおそれがある、という問題が生じていた。これにより、例えば、ストレージシステムに格納した映像ファイルを映像ソフトが直に読み出しながら映像再生すると、ストレージシステムのリードＩ／Ｏの応答時間が長すぎて映像再生が途切れる、などの事態が生じていた。
【０００８】
そこで、本発明の目的は、必要なデータブロックを必要なときに取り出せないおそれがある、という課題を解決する情報処理方法、情報処理装置、プログラムを提供することにある。
【課題を解決するための手段】
【０００９】
かかる目的を達成するため本発明の一形態である情報処理方法は、
ファイルの書き込み要求や読み出し要求を処理する機能を有するとともに、格納対象のデータを格納する機能を有する情報処理装置が行う情報処理方法であって、
データの特性に応じて格納対象のファイルを構成するデータを分離し、
分離の結果に応じて、分離したデータを格納する
という構成をとる。
【００１０】
また、本発明の他の形態である情報処理装置は、
ファイルの書き込み要求や読み出し要求を処理する機能を有するとともに、格納対象のデータを格納する機能を有する情報処理装置であって、
データの特性に応じて格納対象のファイルを構成するデータを分離するデータ分離部と、
分離の結果に応じて、分離したデータを格納する書込部と、
を有する
という構成をとる。
【００１１】
また、本発明の他の形態であるプログラムは、
ファイルの書き込み要求や読み出し要求を処理する機能を有するとともに、格納対象のデータを格納する機能を有する情報処理装置に、
データの特性に応じて格納対象のファイルを構成するデータを分離するデータ分離部と、
分離の結果に応じて、分離したデータを格納する書込部と、
を実現するためのプログラムである。
【発明の効果】
【００１２】
本発明は、以上のように構成されることにより、必要なデータブロックを必要なときに取り出せないおそれがある、という課題を解決する情報処理方法、情報処理装置、プログラムを提供することが可能となる。
【図面の簡単な説明】
【００１３】
【図１】リード要求を処理する際の課題の一例を示す図である。
【図２】本発明の第１の実施形態にかかるストレージシステムを含むシステム全体の構成の一例を示すブロック図である。
【図３】図２で示すハイブリッドノードの構成の一例を示すブロック図である。
【図４】データを分離して通常ストリームと低遅延ストリームに格納する際の処理の一例を示す図である。
【図５】通常ストリームを書き込む処理の一例を説明するための図である。
【図６】低遅延ストリームを書き込む処理の一例を説明するための図である。
【図７】ファイルを構成する通常ストリームと低遅延ストリームを読み出して結合する処理の一例を示す図である。
【図８】低遅延ストリームを読み出す処理の一例を説明するための図である。
【図９】通常リード処理キューとプライオリティリード処理キューとの関係の一例を示す図である。
【図１０】ストレージシステムがデータを書き込む際の処理の一例を示すフローチャートである。
【図１１】ストレージシステムがデータを読み出す際の処理の一例を示すフローチャートである。
【図１２】通常リード処理キューとプライオリティリード処理キューとの処理の一例を示すフローチャートである。
【図１３】本発明の第２の実施形態にかかる情報処理装置の構成の一例を示すブロック図である。
【発明を実施するための形態】
【００１４】
［第１の実施形態］
本発明の第１の実施形態を図２から図１２までを参照して説明する。図２はストレージシステム１００を含むシステム全体の構成の一例を示すブロック図である。図３は、ハイブリッドノード１１０の構成の一例を示すブロック図である。図４は、データを分離して通常ストリームと低遅延ストリームに格納する際の処理の一例を示す図である。図５は、通常ストリームを書き込む処理の一例を説明するための図である。図６は、低遅延ストリームを書き込む処理の一例を説明するための図である。図７は、ファイルを構成する通常ストリームと低遅延ストリームを読み出して結合する処理の一例を示す図である。図８は、低遅延ストリームを読み出す処理の一例を説明するための図である。図９は、通常リード処理キューとプライオリティリード処理キューとの関係の一例を示す図である。図１０は、ストレージシステム１００がデータを書き込む際の処理の一例を示すフローチャートである。図１１は、ストレージシステム１００がデータを読み出す際の処理の一例を示すフローチャートである。図１２は、通常リード処理キューとプライオリティリード処理キューとの処理の一例を示すフローチャートである。
【００１５】
本発明の第１の実施形態では、格納対象のデータを分割したブロックデータを重複排除した状態で格納するストレージシステム１００について説明する。後述するように、本実施形態において説明するストレージシステム１００は、格納対象のデータをデータの特性に応じて分離して、通常ストリームと低遅延ストリームに格納する。また、ストレージシステム１００は、通常ストリームのデータと低遅延ストリームのデータをそれぞれ別の方法を用いて格納する。つまり、ストレージシステム１００は、格納対象のデータをデータの特性に応じて分離して、データの特性に応じた格納を行う。また、ストレージシステム１００は、リード要求を格納するキューを２種類有している。２種類のキューを使い分けることで、ストレージシステム１００は、より適切なデータの読み出しを可能とする。
【００１６】
図２は、ストレージシステム１００を含むシステム全体の構成の一例を示している。図２を参照すると、システムは、業務システム２００と、ストレージシステム１００と、を有している。図２で示すように、ストレージシステム１００は、外部ＮＩＣ（Network Interface Card）３１などを用いて、業務システム２００と互いに通信可能なよう接続されている。
【００１７】
また、図２を参照すると、ストレージシステム１００は、ハイブリッドノード１１０とストレージノード１２０とを有している。図２で示すように、ハイブリッドノード１１０は、外部ＮＩＣ３１を用いて、業務システム２００と互いに通信可能なよう接続されている。また、ハイブリッドノード１１０とストレージノード１２０とは、内部ＮＩＣ３２などを用いて、互いに通信可能なよう接続されている。
【００１８】
なお、図２では、システム全体の構成の一例を示している。従って、システム全体の構成は、図２で示す場合に限定されない。例えば、ストレージシステム１００が有するハイブリッドノード１１０の数やストレージノード１２０の数は、図２で示す場合に限定されない。ストレージシステム１００は、任意の数のハイブリッドノード１１０や任意の数のストレージノード１２０を有することが出来る。
【００１９】
ハイブリッドノード１１０は、ファイルの書き込み要求や読み出し要求などのファイルＩ／Ｏ（Input/Output）を処理する機能を有するとともに、格納対象のブロックデータを記憶装置１１６に格納する機能を有する情報処理装置である。また、ハイブリッドノード１１０は、キャッシュを有している。ハイブリッドノード１１０は、読み出し対象のブロックデータを記憶装置１１６や他のノードから読み出す際に、リード位置から予め定められた量のデータブロックを取得しキャッシュに格納する先行読み出し処理を行うことが出来る。
【００２０】
図３は、ハイブリッドノード１１０の構成の一例を示している。図３を参照すると、ハイブリッドノード１１０は、例えば、データ分離部１１１と、分離データ書込部１１２と、解放部１１３と、分離データ読出部１１４と、分離データ関連付け部１１５と、記憶装置１１６と、を有している。
【００２１】
例えば、ハイブリッドノード１１０は、ＣＰＵ（Central Processing Unit）などの演算装置と記憶装置とを有している。ハイブリッドノード１１０は、例えば、記憶装置が記憶するプログラムを演算装置が実行することで、上述した各処理部を実現する。
【００２２】
データ分離部１１１は、ファイルの書き込み要求を業務システム２００から受信すると、特開２０１２−２０８６５０号に記載された方法と同様の方法などを用いて、書き込み対象のファイルを構成する分離前データを、データの特性に応じて分離する。例えば、図４で示すように、データ分離部１１１は、分離前データを、リード時に即時応答が必要であるなど読み出しを優先するデータと、それ以外のデータと、に分離する。このように、データ分離部１１１は、読み出しの優先度などに応じて、データを分離する。また、データ分離部１１１は、読み出しを優先するデータと、それ以外のデータと、の２つに分離したデータの位置情報を示すデータを生成する。そして、データ分離部１１１は、分離・生成したそれぞれのデータをそれぞれ別のストリームに格納する。具体的には、データ分離部１１１は、分離前データを分離したデータのうち読み出しを優先するデータを低遅延ストリーム（１）に格納するとともに、２つに分離したデータの位置情報を示すデータを低遅延ストリーム（２）に格納する。また、データ分離部１１１は、分離前データを分離したデータのうち読み出しを優先するデータ以外のデータを通常ストリームに格納する。
【００２３】
例えば、このように、データ分離部１１１は、分離前データを２つのデータに分離するとともに、２つに分離したデータの位置を示すデータを生成する。そして、データ分離部１１１は、それぞれのデータを通常ストリームと低遅延ストリームに格納する。これにより、データ分離部１１１は、３つのストリームを有するファイルを生成する。このように、データの特性に応じてストリームを分けることで、ストリームを手掛かりに、データの格納方法や読み込み方法を最適化することが可能となる。
【００２４】
なお、リード時に即時応答が必要であるなど読み出しを優先するデータとは、例えば、映像データにおけるＩフレームなどのキーフレームである。換言すると、データ分離部１１１は、例えば、１フレームのみで完結可能な他のフレームに依存しないフレームなどを、読み出しを優先するデータとして分離する。なお、データ分離部１１１は、上記例示した以外のフレームなどを、読み出しを優先するデータとして判断するよう構成しても構わない。
【００２５】
分離データ書込部１１２は、データ分離部１１１がデータを分離した結果をストレージシステム１００に格納する。分離データ書込部１１２は、それぞれのストリームに応じた書き込み処理を行う。
【００２６】
例えば、分離データ書込部１１２は、通常ストリームに対しては、図５で示すように、全てのハイブリッドノード１１０とストレージノード１２０が書き込み対象となる書き込み処理を行う。例えば、分離データ書込部１１２は、通常ストリームのデータを複数のブロックデータに分割して、分割したブロックデータについて、ブロックデータのデータ内容を代表する固有のハッシュ値を算出する。具体的には、例えば、分離データ書込部１１２は、予め設定されたハッシュ関数（例えば、ＳＨＡ−２などの暗号学的ハッシュ関数）を用いて、ブロックデータのデータ内容からハッシュ値を算出する。そして、分離データ書込部１１２は、算出したハッシュ値と、ストレージシステム１００に格納されたブロックデータを示すハッシュ情報とに基づいて、ハッシュ値算出元のブロックデータがストレージシステム１００に既に格納されているか否か調べる。例えば、算出したハッシュ値が上述したハッシュ情報に含まれる場合、分離データ書込部１１２は、同一内容のブロックデータをストレージシステム１００が既に格納していると判断する。この場合、分離データ書込部１１２は、ストレージシステム１００が既に格納しているブロックデータの新たな書き込みは行わない。一方、算出したハッシュ値が上述したハッシュ情報に含まれない場合、分離データ書込部１１２は、同一内容のブロックデータはストレージシステム１００に格納していないと判断する。この場合、分離データ書込部１１２は、ブロックデータをハイブリッドノード１１０とストレージノード１２０のいずれかに書き込む。例えば、このような処理により、分離データ書込部１１２は、通常ストリームを分割したブロックデータをハイブリッドノード１１０とストレージノード１２０に分散させて書き込む。その後、分離データ書込部１１２は、書き込んだブロックデータのハッシュ値と、ブロックデータの書き込み位置とを示す情報を関連付けて、ハッシュ情報として管理する。
【００２７】
なお、分離データ書込部１１２は、ブロックデータをさらに複数のフラグメントデータに分割し、分割したフラグメントデータをハイブリッドノード１１０とストレージノード１２０に分散して書き込むよう構成しても構わない。また、分離データ書込部１１２は、ブロックデータやフラグメントデータに、復元処理用の冗長データを付与して書き込む処理を行うよう構成しても構わない。
【００２８】
また、例えば、分離データ書込部１１２は、図６で示すように、低遅延ストリーム（低遅延ストリーム（１）と低遅延ストリーム（２））に格納されたデータを応答時間優先ブロックとして分割する。そして、分離データ書込部１１２は、分割した応答時間優先ブロックをファイルＩ／Ｏ処理機能を有する全てのノード（つまり、ストレージシステム１００が有する全てのハイブリッドノード１１０）の記憶装置１１６にコピーする。このように、分離データ書込部１１２は、低遅延ストリームに書かれたデータを全てのハイブリッドノード１１０が有するように書き込み処理を行う。なお、分離データ書込部１１２は、通常ストリームの場合と同様、低遅延ストリームの場合も重複判定処理を行った後、重複しない応答時間優先ブロックを全てのハイブリッドノード１１０にコピーするよう構成しても構わない。
【００２９】
以上のように、分離データ書込部１１２は、ストリームごとに異なる方法で書き込み処理を行う。換言すると、分離データ書込部１１２は、書き込み対象のファイルのうち通常ストリームのデータを、一般的な重複排除処理の場合と同様に、ハイブリッドノード１０やストレージノード２０に分散させて書き込む。また、分離データ書込部１１２は、書き込み対象のファイルのうち低遅延ストリームのデータを、記憶装置１１６に格納するとともに、他のハイブリッドノード１１０へコピーする。このような書き込み処理の結果として、通常ストリームのデータは、ハイブリッドノード１１０やストレージノード１２０に分散して書き込まれることになる。一方、低遅延ストリームのデータは、全てのハイブリッドノード１１０が有することになる。
【００３０】
解放部１１３は、例えば、予め定められた周期ごとに、記憶装置１１６に格納されたデータ（ブロックデータ、応答時間優先ブロック）を削除する。例えば、解放部１１３は、記憶装置１１６に格納されたデータのうち、ハイブリッドノード１１０に格納中のどのファイルも参照していないデータを削除する。
【００３１】
また、解放部１１３は、予め定められた閾値（値は任意で構わない）と記憶装置１１６の空き容量を示す値とを比較する。そして、上述したデータを削除したにもかかわらず記憶装置１１６の空き容量を示す値が閾値よりも小さい場合、解放部１１３は、記憶装置１１６に格納された応答時間優先ブロックのうち、予め定められた一定期間（任意の期間を設定して構わない）参照のない応答時間優先ブロックを削除する。このような処理により、ハイブリッドノード１１０ごとに、一定期間アクセスがなかったファイルの応答時間優先ブロックのコピーが削除されることになる。
【００３２】
なお、解放部１１３は、予め定められた冗長度と、空き容量を示す値と、閾値と、に基づいて、応答時間優先ブロックを削除するか否か判断するよう構成しても構わない。また、例えば、解放部１１３は、削除の結果、冗長度が規定値よりも下回る場合、削除対象の応答時間優先ブロックのコピーをリカバリ用のパリティデータに置き換えるよう構成しても構わない。
【００３３】
分離データ読出部１１４は、ファイルの読み出し要求を業務システム２００から受信すると、読み出し要求のあったファイル名をもとに、読み出し対象のデータを特定する。そして、分離データ読出部１１４は、記憶するハッシュ情報に基づいて、読み出し対象のデータの格納位置を特定し、各特定した位置から読み出し対象のデータを取得する。
【００３４】
分離データ読出部１１４は、例えば、読み出し対象のストリームに応じた読み出しを行う。例えば、図７で示すように、分離データ読出部１１４は、通常ストリームを通常のリード要求で読み出す一方で、低遅延ストリームなどをプライオリティリード要求で読み出す。
【００３５】
上述したように、通常ストリームのデータはハイブリッドノード１１０とストレージノード１２０に分散して格納されている。そのため、分離データ読出部１１４は、通常ストリームのデータを読み出す場合、ハイブリッドノード１１０とストレージノード１２０のそれぞれから必要なデータを読み出す。一方、図８で示すように、低遅延ストリームのデータは、全てのハイブリッドノード１１０が有している。つまり、ファイルの読み出し要求を処理するハイブリッドノード１１０は、原則として、自身が有する記憶装置１１６に低遅延ストリームのデータを有している。そこで、分離データ読出部１１４は、自身が有する記憶装置１１６から低遅延ストリームのデータを読み出す。これにより、低遅延ストリームのデータを読み出す際のノード間データ移動のコストを無くすことが可能となる。
【００３６】
分離データ読出部１１４により各種データを読み出した後、分離データ関連付け部１１５は、２つに分離したデータの位置を示すデータに基づいて、各種データを結合する。これにより、分離データ関連付け部１１５は、分離前の元のデータであるファイルを復元する。その後、ハイブリッドノード１１０は、復元したファイルを業務システム２００に返却する。これにより、業務システム２００は、データが分離され格納されていることを意識せずにファイルを参照することが出来る。
【００３７】
なお、分離データ読出部１１４は、リード要求を保持するキューを２種類有している。図９を参照すると、分離データ読出部１１４は、通常リード処理キューとプライオリティリード処理キューの２つのキューを有している。例えば、分離データ読出部１１４は、リード対象のブロックの特性と、ブロックのキャッシュ状態に応じて、通常リード処理キューとプライオリティリード処理キューの使い分けを行う。例えば、分離データ読出部１１４は、通常ストリームを通常のリード要求で読み出す場合、リード要求を通常リード処理キューに格納する。一方、分離データ読出部１１４は、低遅延ストリームをプライオリティリード要求で読み出す場合などにおいて、リード要求をプライオリティリード処理キューに格納する。例えば、分離データ読出部１１４は、低遅延ストリームに属するデータブロック（応答時間優先ブロック）を読み出す場合、Ｂｔｒｅｅなどのファイルシステムのメタデータを読み出す場合、リードＩ／Ｏ範囲の未キャッシュ状態のデータブロックを読み出す場合、などにおいて、リード要求をプライオリティリード処理キューに格納することが出来る。
【００３８】
通常リード処理キューとプライオリティリード処理キューのそれぞれにリード要求が格納されている場合、図９で示すように、データの読み出しは、プライオリティリード処理キューの方から優先的に実行する。例えば、図９で示す場合、分離データ読出部１１４は、プライオリティリード処理キューに格納された１、４、ｎのブロックを読み出した後、通常リード処理キューに格納された処理を実行する。また、同一のブロックに対して読み出し要求が通常リード処理キューとプライオリティリード処理キューの両方に格納されることがある。この場合、分離データ読出部１１４は、一方のキューから取り出したリード要求を処理したタイミングで他方のリード要求を削除する。例えば、図９の場合、プライオリティリード処理キューに格納されたｎのブロックのリード要求を処理したタイミングで、分離データ読出部１１４は、通常リード処理キューに格納されたｎのブロックのリード要求を削除する。
【００３９】
記憶装置１１６は、ハードディスクなどの記憶装置である。記憶装置１１６には、ブロックデータや応答時間優先ブロックなどが格納される。
【００４０】
以上が、ハイブリッドノード１１０の構成の一例である。
【００４１】
ストレージノード１２０は、重複排除した状態でブロックデータを格納する記憶装置１２１を有する。ストレージノード１２０が有する記憶装置１２１には、ハイブリッドノード１１０からの要求に応じて、ブロックデータ、ブロックデータや応答時間優先ブロックのパリティデータ、などを格納することが出来る。また、ストレージノード１２０は、ハイブリッドノード１１０からの要求に応じて、記憶装置１２１に格納されたブロックデータ、ブロックデータや応答時間優先ブロックのパリティデータなどをハイブリッドノード１１０に対して送信する。
【００４２】
なお、ストレージノード１２０は、格納対象のブロックデータなどが記憶装置１２１に格納されているか否か確認する重複確認機能を有することが出来る。ストレージノード１２０は、重複確認を行った上で、格納対象のブロックデータなどを記憶装置１２１に格納するように構成しても構わない。
【００４３】
業務システム２００は、ハイブリッドノード１１０に対して、ファイルの書き込み要求や読み出し要求を送信する情報処理装置である。なお、本実施形態においては、ファイルの書き込み要求や読み出し要求を実行するハイブリッドノード１１０の選択方法については特に限定しない。業務システム２００が送信したファイルの書き込み要求や読み出し要求は、任意の方法でストレージシステム１００が有するハイブリッドノード１１０のいずれかに割り振ることが出来る。
【００４４】
続いて、図１０から図１２までを参照して、ストレージシステム１００の動作の一例について説明する。まず、図１０を参照して、業務システム２００からファイルの書き込み要求を受信した際のストレージシステム１００の動作の一例について説明する。
【００４５】
ハイブリッドノード１１は、ファイルの書き込み要求を業務システム２００から受信する。図１０を参照すると、データ分離部１１１は、書き込み対象のファイルを構成する分離前データを、データの特性に応じて分離する。例えば、データ分離部１１１は、分離前データを、リード時に即時応答が必要であるなど読み出しを優先するデータと、それ以外のデータと、に分離する。また、データ分離部１１１は、読み出しを優先するデータと、それ以外のデータと、の２つに分離したデータの位置情報を示すデータを生成する。そして、データ分離部１１１は、分離・生成したそれぞれのデータをそれぞれ別のストリームに格納する（ステップＳ１０１）。具体的には、データ分離部１１１は、分離前データを分離したデータのうち読み出しを優先するデータを低遅延ストリーム（１）に格納するとともに、２つに分離したデータの位置情報を示すデータを低遅延ストリーム（２）に格納する。また、データ分離部１１１は、分離前データを分離したデータのうち読み出しを優先するデータ以外のデータを通常ストリームに格納する。
【００４６】
分離データ書込部１１２は、低遅延ストリーム（低遅延ストリーム（１）と低遅延ストリーム（２））に格納されたデータを応答時間優先ブロックとして分割する。そして、分離データ書込部１１２は、分割した応答時間優先ブロックをファイルＩ／Ｏ処理機能を有する全てのノード（つまり、ストレージシステム１００が有する全てのハイブリッドノード１１０）の記憶装置１１６にコピーする（ステップＳ１０２）。
【００４７】
また、分離データ書込部１１２は、通常ストリームに格納されたデータをブロックデータに分割する。そして、分離データ書込部１１２は、重複排除処理したうえで、必要なブロックデータをハイブリッドノード１１０とストレージノード１２０に分散して格納する（ステップＳ１０３）。
【００４８】
例えば、以上のように、分離データ書込部１１２は、低遅延ストリームと通常ストリームで異なる方法を用いでデータを格納する。なお、ステップＳ１０２とステップＳ１０３の処理はどちらの処理を先に実行しても構わないし、並行して実行しても構わない。
【００４９】
続いて、図１１を参照して、業務システム２００からファイルの読み出し要求を受信した際のストレージシステム１００の動作の一例について説明する。
【００５０】
ハイブリッドノード１１は、ファイルの読み出し要求を業務システム２００から受信する。図１１を参照すると、分離データ読出部１１４は、ファイルの読み出し要求を業務システム２００から受信すると、読み出し要求のあったファイル名をもとに、読み出し対象のデータを特定する。そして、分離データ読出部１１４は、記憶するハッシュ情報に基づいて、読み出し対象のデータの格納位置を特定し、各特定した位置から読み出し対象のデータを取得する（ステップＳ２０１）。例えば、分離データ読出部１１４は、読み出し対象のブロックの特性などに応じて、通常リード処理キューとプライオリティリード処理キューとを使い分けて、データの読み出しを行う。
【００５１】
分離データ関連付け部１１５は、２つに分離したデータの位置を示すデータに基づいて、各種データを結合する（ステップＳ２０２）。これにより、分離データ関連付け部１１５は、分離前の元のデータであるファイルを復元する。その後、ハイブリッドノード１１０は、復元したファイルを業務システム２００に返却する。
【００５２】
続いて、通常リード処理キューとプライオリティリード処理キューとの使い分けについて、図１２を参照して説明する。
【００５３】
図１２を参照すると、プライオリティリード処理キューにリード要求が格納されている場合（ステップＳ３０１、Ｙｅｓ）、分離データ読出部１１４は、プライオリティリード処理キューに格納されたリード要求を実行する（ステップＳ３０２）。一方、プライオリティリード処理キューにリード要求が格納されていない場合（ステップＳ３０１、Ｎｏ）、分離データ読出部１１４は、通常リード処理キューに格納されたリード要求を実行する（ステップＳ３０３）。
【００５４】
例えば、以上のように、分離データ読出部１１４は、プライオリティリード処理キューに格納されたリード要求を優先的に実行する。
【００５５】
このように、ハイブリッドノード１１０は、データ分離部１１１と分離データ書込部１１２とを有している。このような構成により、分離データ書込部１１２は、データ分離部１１１がデータの特性に応じて分離した結果に応じて、データを格納することが出来る。その結果、応答時間が短くなるようにデータをストレージシステム１００に格納することが可能となる。これにより、必要なデータブロックを必要なときに取り出せないおそれがある、という課題を解決することが出来る。
【００５６】
また、本実施形態によると、分離データ書込部１１２は、低遅延ストリームに格納されたデータを分割した応答時間優先ブロックを全てのハイブリッドノード１１０の記憶装置１１６にコピーするよう構成されている。これにより、ファイルの読み出し要求を実行するハイブリッドノード１１０の記憶装置１１６に読み出し対象の応答時間優先ブロックが格納されていることが保証される。その結果、応答時間優先ブロックを読み出す際にノード間でデータ転送する必要を無くすことが可能となり、読み出しにかかる時間・コストを低減させることが可能となる。また、コピーはハイブリッドノード１１０に限定され、ストレージノード１２０には行われない。そのため、コピーに伴うデータ量の増大も、ストレージノード１２０を含む全体にコピーする場合と比較して、抑えることが出来る。
【００５７】
また、ハイブリッドノード１１０は、解放部１１３を有している。このような構成により、解放部１１３は、記憶装置１１６の空き容量を示す値が閾値よりも小さい場合、記憶装置１１６に格納された応答時間優先ブロックのうち、予め定められた一定期間参照のない応答時間優先ブロックを削除またはパリティデータに置き換えることが出来る。これにより、読み出される可能性の低い応答時間優先ブロックを格納することにより記憶装置１１６の空き容量が低減することを抑制することが可能となる。つまり、記憶装置１１６を効率的に使用することが可能となる。
【００５８】
また、ハイブリッドノード１１０は、分離データ読出部１１４を有している。また、分離データ読出部１１４は、通常リード処理キューとプライオリティリード処理キューを使い分けるよう構成されている。このような構成により、分離データ読出部１１４は、プライオリティリード処理キューに格納する低遅延ストリームを優先的に読み出すことが可能となる。その結果、優先的に読み出すことが必要なデータを優先的に読み出すことが可能となり、必要なデータブロックを必要なときに取り出せないおそれがある、という課題を解決することが可能となる。
【００５９】
［第２の実施形態］
次に、図１３を参照して、本発明の第２の実施形態について説明する。第３の実施形態では、情報処理装置４０の構成の概要について説明する。
【００６０】
情報処理装置４０は、ファイルの書き込み要求や読み出し要求を処理する機能を有するとともに、格納対象のデータを格納する機能を有する。図１３は、情報処理装置４０の構成の一例を示している。図１３を参照すると、情報処理装置４０は、例えば、データ分離部４１と書込部４２とを有している。
【００６１】
例えば、情報処理装置４０は、ＣＰＵなどの演算装置と記憶装置とを有している。例えば、情報処理装置４０は、記憶装置に格納されたプログラムを演算装置が実行することで、上述した各処理部を実現する。
【００６２】
データ分離部４１は、データの特性に応じて格納対象のファイルを構成するデータを分離する。
【００６３】
書込部４２は、分離の結果に応じて、分離したデータを格納する。
【００６４】
このように、情報処理装置４０は、データ分離部４１と書込部４２とを有している。このような構成により、書込部４２は、データ分離部４１による分離の結果に応じて、分離したデータを格納することが出来る。その結果、応答時間が短くなるようにデータを格納することが可能となる。これにより、必要なデータブロックを必要なときに取り出せないおそれがある、という課題を解決することが出来る。
【００６５】
また、上述した情報処理装置４０は、当該情報処理装置４０に所定のプログラムが組み込まれることで実現できる。具体的に、本発明の他の形態であるプログラムは、ファイルの書き込み要求や読み出し要求を処理する機能を有するとともに、格納対象のデータを格納する機能を有する情報処理装置４０に、データの特性に応じて格納対象のファイルを構成するデータを分離するデータ分離部４１と、分離の結果に応じて、分離したデータを格納する書込部４２と、を実現するためのプログラムである。
【００６６】
また、上述した情報処理装置４０により実行される情報処理方法は、ファイルの書き込み要求や読み出し要求を処理する機能を有するとともに、格納対象のデータを格納する機能を有する情報処理装置が行う情報処理方法であって、データの特性に応じて格納対象のファイルを構成するデータを分離し、分離の結果に応じて、分離したデータを格納する、という方法である。
【００６７】
上述した構成を有する、プログラム、又は、情報処理方法、の発明であっても、上記情報処理装置４０と同様の作用・効果を有するために、上述した本発明の目的を達成することが出来る。
【００６８】
＜付記＞
上記実施形態の一部又は全部は、以下の付記のようにも記載されうる。以下、本発明における情報処理方法などの概略を説明する。但し、本発明は、以下の構成に限定されない。
【００６９】
（付記１）
ファイルの書き込み要求や読み出し要求を処理する機能を有するとともに、格納対象のデータを格納する機能を有する情報処理装置が行う情報処理方法であって、
データの特性に応じて格納対象のファイルを構成するデータを分離し、
分離の結果に応じて、分離したデータを格納する
情報処理方法。
（付記２）
付記１に記載に情報処理方法であって、
読み出しを優先するか否かを示す前記データの特性に応じて前記ファイルを構成するデータを分離する
情報処理方法。
（付記３）
付記１または付記２に記載の情報処理方法であって、
前記データの特性に応じて前記ファイルを構成するデータを分離した後、分離したそれぞれのデータを異なるストリームに格納し、
前記ストリームごとに異なる方法で前記ストリームのデータを格納する
情報処理方法。
（付記４）
付記３に記載の情報処理方法であって、
前記情報処理装置は、格納対象のデータを格納する機能を有するストレージ装置と、他の情報処理装置と、接続されており、
前記データの特性が所定のストリームのデータを他の前記情報処理装置にコピーする
情報処理方法。
（付記５）
付記１から付記４までのいずれか１項に記載の情報処理方法であって、
記憶装置の空き容量に応じて格納されたデータを解放する
情報処理方法。
（付記６）
付記１から付記５までのいずれか１項に記載の情報処理方法であって、
格納したデータを読み出す要求を、異なる特徴を有する２種類のキューのいずれかに格納する
情報処理方法。
（付記７）
付記６に記載の情報処理方法であって、
前記２種類のキューのうち予め定められたキューに処理が格納されている場合、当該予め定められたキューに格納されている処理を他方のキューに格納された処理よりも優先的に実行する
情報処理方法。
（付記８）
付記６又は付記７のいずれか１項に記載の情報処理方法であって、
読み出すデータの特性に応じて、当該データを読み出す要求を前記２種類のキューに格納する
情報処理方法。
（付記９）
ファイルの書き込み要求や読み出し要求を処理する機能を有するとともに、格納対象のデータを格納する機能を有する情報処理装置であって、
データの特性に応じて格納対象のファイルを構成するデータを分離するデータ分離部と、
分離の結果に応じて、分離したデータを格納する書込部と、
を有する
情報処理装置。
（付記１０）
ファイルの書き込み要求や読み出し要求を処理する機能を有するとともに、格納対象のデータを格納する機能を有する情報処理装置に、
データの特性に応じて格納対象のファイルを構成するデータを分離するデータ分離部と、
分離の結果に応じて、分離したデータを格納する書込部と、
を実現するためのプログラム。
【００７０】
なお、上記各実施形態及び付記において記載したプログラムは、記憶装置に記憶されていたり、コンピュータが読み取り可能な記録媒体に記録されていたりする。例えば、記録媒体は、フレキシブルディスク、光ディスク、光磁気ディスク、及び、半導体メモリ等の可搬性を有する媒体である。
【００７１】
以上、上記各実施形態を参照して本願発明を説明したが、本願発明は、上述した実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明の範囲内で当業者が理解しうる様々な変更をすることが出来る。
【符号の説明】
【００７２】
１００  ストレージシステム
１１０  ハイブリッドノード
１１１  データ分離部
１１２  分離データ書込部
１１３  解放部
１１４  分離データ読出部
１１５  分離データ関連付け部
１１６  記憶装置
１２０  ストレージノード
１２１  記憶装置
２００  業務システム
３１  外部ＮＩＣ
３２  内部ＮＩＣ
４０  情報処理装置
４１  データ分離部
４２  書込部
【図１】
2020140647.tif 000003
【図２】
2020140647.tif 000004
【図３】
2020140647.tif 000005
【図４】
2020140647.tif 000006
【図５】
2020140647.tif 000007
【図６】
2020140647.tif 000008
【図７】
2020140647.tif 000009
【図８】
2020140647.tif 000010
【図９】
2020140647.tif 000011
【図１０】
2020140647.tif 000012
【図１１】
2020140647.tif 000013
【図１２】
2020140647.tif 000014
【図１３】
2020140647.tif 000015