(57)【要約】  本発明のストレージシステムは、複数のストレージ装置に対してデータを分散して記憶すると共に重複排除処理を行う複数の記憶処理装置と、一群のデータからなるデータフローをいずれかの記憶処理装置に割り当てて当該割り当てた記憶処理装置にデータフローが流れるよう設定するスイッチ部と、データフローの予め定められた特性を当該データフロー毎に検出するフロー特性検出部と、記憶処理装置の予め定められた特性を当該記憶処理装置毎に検出する装置特性検出部と、を備え、スイッチ部は、フロー特性検出部にて検出したデータフローの特性と、装置特性検出部にて検出した記憶処理装置の特性と、に基づいて、データフローを割り当てる記憶処理装置を決定する、という構成を取る。
2012117658.tif 000002
【特許請求の範囲】
【請求項１】
複数のストレージ装置と、
前記複数のストレージ装置に対してデータを分散して記憶すると共に、当該ストレージ装置に既に記憶されているデータと同一内容の他のデータを格納する場合に、当該ストレージ装置に既に記憶されているデータを前記他のデータとして参照させる重複排除処理を行う複数の記憶処理装置と、
一群のデータからなるデータフローをいずれかの前記記憶処理装置に割り当てて当該割り当てた前記記憶処理装置に前記データフローが流れるよう設定するスイッチ部と、
前記データフローの予め定められた特性を当該データフロー毎に検出するフロー特性検出部と、
前記記憶処理装置の予め定められた特性を当該記憶処理装置毎に検出する装置特性検出部と、を備え、
前記スイッチ部は、前記フロー特性検出部にて検出した前記データフローの特性と、前記装置特性検出部にて検出した前記記憶処理装置の特性と、に基づいて、前記データフローを割り当てる前記記憶処理装置を決定する、
ストレージシステム。
【請求項２】
請求項１に記載のストレージシステムであって、
前記装置特性検出部は、前記記憶処理装置の特性として、当該記憶処理装置に搭載されている前記データフローを前記ストレージ装置に記憶するための特定の処理を実行する専用機器を検出し、
前記スイッチ部は、前記フロー特性検出部にて検出した前記データフローの特性に対応する前記専用機器を搭載した前記記憶処理装置を、前記データフローに割り当てる、
ストレージシステム。
【請求項３】
請求項２に記載のストレージシステムであって、
前記フロー特性検出部は、前記データフローの特性として、当該データフロー内のデータが前記ストレージ装置に記憶されているデータと重複している度合いを表す重複度合いを検出し、
前記装置特性検出部は、前記記憶処理装置の特性として、当該記憶処理装置に搭載されている前記重複排除処理を実行する専用機器を検出し、
前記スイッチ部は、前記フロー特性検出部にて検出した前記データフローの重複度合いが所定値よりも高い場合に、当該データフローに前記重複排除処理を実行する専用機器を搭載した前記記憶処理装置を割り当てる、
ストレージシステム。
【請求項４】
請求項３に記載のストレージシステムであって、
前記フロー特性検出部は、前記データフローの特性として、当該データフローが暗号化されているか否かを検出し、
前記スイッチ部は、前記フロー特性検出部にて前記データフローが暗号化されていない場合であって、前記フロー特性検出部にて検出した前記データフローの重複度合いが所定値よりも高い場合に、当該データフローに前記重複排除処理を実行する専用機器を搭載した前記記憶処理装置を割り当てる、
ストレージシステム。
【請求項５】
請求項２乃至４のいずれかに記載のストレージシステムであって、
前記記憶処理装置は、前記ストレージ装置に対してデータを圧縮して記憶し、
前記フロー特性検出部は、前記データフローの特性として、当該データフロー内のデータの前記ストレージ装置に対する記憶前後における圧縮度合いを検出し、
前記装置特性検出部は、前記記憶処理装置の特性として、当該記憶処理装置に搭載されている圧縮処理を実行する専用機器を検出し、
前記スイッチ部は、前記フロー特性検出部にて検出した前記データフローの圧縮度合いが所定値よりも高い場合に、当該データフローに前記圧縮処理を実行する専用機器を搭載した前記記憶処理装置を割り当てる、
ストレージシステム。
【請求項６】
請求項５に記載のストレージシステムであって、
前記フロー特性検出部は、前記データフローの特性として、当該データフローが前記記憶処理装置に入力される前に圧縮されているか否かを検出し、
前記スイッチ部は、前記フロー特性検出部にて前記データフローが前記記憶処理装置に入力される前に圧縮されていない場合であって、前記フロー特性検出部にて検出した前記データフローの圧縮度合いが所定値よりも高い場合に、当該データフローに前記圧縮処理を実行する専用機器を搭載した前記記憶処理装置を割り当てる、
ストレージシステム。
【請求項７】
請求項２乃至６のいずれかに記載のストレージシステムであって、
前記フロー特性検出部は、前記データフローの特性として、当該データフロー中のファイルのサイズを検出し、
前記装置特性検出部は、前記記憶処理装置の特性として、当該記憶処理装置に搭載されているデータ入出力が前記ストレージ装置に搭載された補助記憶装置よりも高速な高速記憶装置を装備した専用機器を検出し、
前記スイッチ部は、前記フロー特性検出部にて検出した前記データフローのファイルサイズが所定値よりも小さい場合に、当該データフローに前記高速記憶装置を装備した専用機器を搭載した前記記憶処理装置を割り当てる、
ストレージシステム。
【請求項８】
請求項２乃至７のいずれかに記載のストレージシステムであって、
前記装置特性検出部は、前記記憶処理装置の特性として、当該記憶処理装置の負荷状況を検出し、
前記スイッチ部は、前記フロー特性検出部にて検出した前記データフローの特性に対応する専用機器を搭載した前記記憶処理装置がない場合に、当該データフローに前記フロー特性検出部にて検出した負荷状況に応じて他の前記記憶処理装置を割り当てる、
ストレージシステム。
【請求項９】
複数のストレージ装置に対してデータを分散して記憶すると共に、当該ストレージ装置に既に記憶されているデータと同一内容の他のデータを格納する場合に、当該ストレージ装置に既に記憶されているデータを前記他のデータとして参照させる重複排除処理を行う複数の記憶処理装置のうち、いずれかの前記記憶処理装置に一群のデータからなるデータフローが流れるよう設定するスイッチ部に接続されたスイッチ制御装置であって、
前記データフロー毎に検出された当該データフローの予め定められた特性と、前記記憶処理装置毎に検出された当該記憶処理装置の予め定められた特性と、に基づいて、前記データフローに前記記憶処理装置を割り当てて当該割り当てた前記記憶処理装置に前記データフローが流れるよう前記スイッチ部を設定するフロー設定部を備えた、
スイッチ制御装置。
【請求項１０】
複数のストレージ装置と、
前記複数のストレージ装置に対してデータを分散して記憶すると共に、当該ストレージ装置に既に記憶されているデータと同一内容の他のデータを格納する場合に、当該ストレージ装置に既に記憶されているデータを前記他のデータとして参照させる重複排除処理を行う複数の記憶処理装置と、
一群のデータからなるデータフローをいずれかの前記記憶処理装置に割り当てて当該割り当てた前記記憶処理装置に前記データフローが流れるよう設定するスイッチ部と、を備えたストレージシステムによるフロー制御方法であって、
前記データフローの予め定められた特性を当該データフロー毎に検出すると共に、前記記憶処理装置の予め定められた特性を当該記憶処理装置毎に検出し、
前記スイッチ部が、検出した前記データフローの特性と、検出した前記記憶処理装置の特性と、に基づいて、前記データフローを割り当てる前記記憶処理装置を決定する、
フロー制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージシステムにかかり、特に、複数のストレージ装置を備えたストレージシステムに関する。
【背景技術】
【０００２】
近年、コンピュータの発達及び普及に伴い、種々の情報がデジタルデータ化されている。このようなデジタルデータを保存しておく装置として、磁気テープや磁気ディスクなどの記憶装置がある。そして、保存すべきデータは日々増大し、膨大な量となるため、大容量なストレージシステムが必要となっている。また、記憶装置に費やすコストを削減しつつ、信頼性も必要とされる。これに加えて、後にデータを容易に取り出すことが可能であることも必要である。その結果、自動的に記憶容量や性能の増大を実現できると共に、重複記憶を排除して記憶コストを削減し、さらには、冗長性の高いストレージシステムが望まれている。【０００３】
このような状況に応じて、近年では、コンテンツアドレスストレージシステムが開発されている。このコンテンツアドレスストレージシステムは、データを分散して複数の記憶装置に記憶すると共に、このデータの内容に応じて特定される固有のコンテンツアドレスによって、当該データを格納した格納位置が特定される。具体的に、コンテンツアドレスストレージシステムでは、所定のデータを複数のフラグメントに分割すると共に、冗長データとなるフラグメントをさらに付加して、これら複数のフラグメントをそれぞれ複数の記憶装置にそれぞれ格納している。【０００４】
そして、後に、コンテンツアドレスを指定することにより、当該コンテンツアドレスにて特定される格納位置に格納されているデータつまりフラグメントを読み出し、複数のフラグメントから分割前の所定のデータを復元することができる。【０００５】
また、上記コンテンツアドレスは、データの内容に応じて固有となるよう生成される、例えば、データのハッシュ値を用いる。このため、重複データであれば同じ格納位置のデータを参照することで、同一内容のデータを取得することができる。従って、重複データを別々に格納する必要がなく、重複記録を排除し、データ容量の削減を図ることができる。【０００６】
ここで、上述したコンテンツアドレスストレージシステムのように、大容量のデータを格納するストレージシステムでは、複数の情報処理装置を備えている。このように複数の情報処理装置を備えているシステムでは、情報処理装置間の負荷分散が必要となる。そして、一般的な負荷分散技術としては、ラウンドロビンによる方法がある。また、負荷分散を行うシステムの一例が、特許文献１に開示されている。【０００７】
この特許文献１に開示のストレージシステムでは、同一内容の主データと副データとが記憶されており、これら主データと副データのストレージ装置に対する配置状況を管理する管理情報を記憶する。また、各ストレージ装置の最新の負荷情報を継続的に収集する。負荷情報は、例えば、ＣＰＵの負荷、受け付けたアクセス要求の数、ネットワーク使用率などを収集する。そして、管理情報と収集した負荷情報とに基づいて、一組のデータの間で主データと副データの役割を変更している。つまり、主データと副データとに対するアクセス先となるストレージ装置を変更することで、データを移動することなく、データを記憶するストレージ装置の負荷分散を行っている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特表２００８−１３６０７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、ラウンドロビンによる負荷分散方法や、上記特許文献１に開示された負荷分散方法では、効率的な負荷分散ができない、という問題が生じる。これは、重複排除を行うストレージシステムでは、格納されるデータの特性によって、データ格納処理に必要とされる性能や機能が異なるためである。例えば、重複するデータを格納する場合には、実際にはデータを格納しないためデータ圧縮処理を行う必要がなく、かかる点で性能の向上を図ることができる。一方で、バックアップソフトウェアなどによって既に圧縮／暗号化されたデータを書き込む場合には、重複排除や圧縮処理が効果的に機能しにくく性能が低下することとなる。さらには、重複率を向上させるためにバックアップソフトウェアが付加するマーカ情報を分離する処理が必要となる場合があるが、かかる処理を行う機能を装備していない場合には、重複排除効率が低下しうる。【００１０】
また、複数の情報処理装置にてデータ格納処理を行うため、各情報処理装置の性能や機能が異なる場合にも、効率のよい負荷分散が困難となる。例えば、圧縮処理やHash計算などをＣＰＵの代わりに処理する拡張カードや、小Ｉ／Ｏを高速に処理できるＳＳＤが搭載された拡張カードといったものもあるが、これら拡張カードは高価であり、複数の情報処理装置に搭載することは高コストとなる。また、１つの情報処理装置に搭載できる拡張カード数は、装置の最大スロット数によって制限されてしまい、多様なカードを１つの装置に搭載することはできない。【００１１】
さらに、長期使用を考慮したバックアップ装置としてのストレージ装置を考えると、複数世代のストレージ装置の混在が生じる。すると、旧世代のストレージ装置に搭載のＣＰＵやメモリなどの性能は、新世代のストレージ装置よりも劣るため、システム全体として性能が低くなる。【００１２】
このため、本発明の目的は、上述した課題である、ストレージシステムにおける効率的な負荷分散を図ること、にある。
【課題を解決するための手段】
【００１３】
上記目的を達成すべく、本発明の一形態であるストレージシステムは、
複数のストレージ装置と、
前記複数のストレージ装置に対してデータを分散して記憶すると共に、当該ストレージ装置に既に記憶されているデータと同一内容の他のデータを格納する場合に、当該ストレージ装置に既に記憶されているデータを前記他のデータとして参照させる重複排除処理を行う複数の記憶処理装置と、
一群のデータからなるデータフローをいずれかの前記記憶処理装置に割り当てて当該割り当てた前記記憶処理装置に前記データフローが流れるよう設定するスイッチ部と、
前記データフローの予め定められた特性を当該データフロー毎に検出するフロー特性検出部と、
前記記憶処理装置の予め定められた特性を当該記憶処理装置毎に検出する装置特性検出部と、を備え、
前記スイッチ部は、前記フロー特性検出部にて検出した前記データフローの特性と、前記装置特性検出部にて検出した前記記憶処理装置の特性と、に基づいて、前記データフローを割り当てる前記記憶処理装置を決定する、
という構成を取る。【００１４】
また、本発明の他の形態であるスイッチ制御装置は、
複数のストレージ装置に対してデータを分散して記憶すると共に、当該ストレージ装置に既に記憶されているデータと同一内容の他のデータを格納する場合に、当該ストレージ装置に既に記憶されているデータを前記他のデータとして参照させる重複排除処理を行う複数の記憶処理装置のうち、いずれかの前記記憶処理装置に一群のデータからなるデータフローが流れるよう設定するスイッチ部に接続されたスイッチ制御装置であって、
前記データフロー毎に検出された当該データフローの予め定められた特性と、前記記憶処理装置毎に検出された当該記憶処理装置の予め定められた特性と、に基づいて、前記データフローに前記記憶処理装置を割り当てて当該割り当てた前記記憶処理装置に前記データフローが流れるよう前記スイッチ部を設定するフロー設定部を備えた、
という構成を取る。【００１５】
また、本発明の他の形態であるプログラムは、
複数のストレージ装置に対してデータを分散して記憶すると共に、当該ストレージ装置に既に記憶されているデータと同一内容の他のデータを格納する場合に、当該ストレージ装置に既に記憶されているデータを前記他のデータとして参照させる重複排除処理を行う複数の記憶処理装置のうち、いずれかの前記記憶処理装置に一群のデータからなるデータフローが流れるよう設定するスイッチ部に接続されたスイッチ制御装置に、
前記データフロー毎に検出された当該データフローの予め定められた特性と、前記記憶処理装置毎に検出された当該記憶処理装置の予め定められた特性と、に基づいて、前記データフローに前記記憶処理装置を割り当てて当該割り当てた前記記憶処理装置に前記データフローが流れるよう前記スイッチ部を設定するフロー設定部、
を実現させるためのプログラムである。
という構成を取る。【００１６】
また、本発明の他の形態であるフロー制御方法は、
複数のストレージ装置と、
前記複数のストレージ装置に対してデータを分散して記憶すると共に、当該ストレージ装置に既に記憶されているデータと同一内容の他のデータを格納する場合に、当該ストレージ装置に既に記憶されているデータを前記他のデータとして参照させる重複排除処理を行う複数の記憶処理装置と、
一群のデータからなるデータフローをいずれかの前記記憶処理装置に割り当てて当該割り当てた前記記憶処理装置に前記データフローが流れるよう設定するスイッチ部と、を備えたストレージシステムによるフロー制御方法であって、
前記データフローの予め定められた特性を当該データフロー毎に検出すると共に、前記記憶処理装置の予め定められた特性を当該記憶処理装置毎に検出し、
前記スイッチ部が、検出した前記データフローの特性と、検出した前記記憶処理装置の特性と、に基づいて、前記データフローを割り当てる前記記憶処理装置を決定する、
という構成を取る。
【発明の効果】
【００１７】
本発明は、以上のように構成されることにより、ストレージシステムにおける効率的な負荷分散を図ることができる。
【図面の簡単な説明】
【００１８】
【図１】本発明におけるストレージシステムの構成の概略を示すブロック図である。
【図２】図１に開示したアクセラレータノードとＰＦＳ制御装置の構成を示す機能ブロック図である。
【図３】図１に開示したストレージシステムにおけるデータを記憶するときの様子を示す図である。
【図４】図１に開示したストレージシステムにおけるデータを記憶するときの様子を示す図である。
【図５】図１に開示したストレージシステムにおける動作を示すフローチャートである。
【図６】図１に開示したストレージシステムにおける動作を示すフローチャートである。
【図７】図１に開示したストレージシステムにおける動作を示すフローチャートである。
【図８】本発明の付記１におけるストレージシステムの構成を示すブロック図である。
【発明を実施するための形態】
【００１９】
本発明の第１の実施形態を、図１乃至図７を参照して説明する。図１乃至図２はストレージシステムの構成を説明するための図であり、図３乃至７は、ストレージシステムの動作を説明するための図である。
【００２０】
［構成］
図１に示すように、ストレージシステムは、複数のアクセラレータ１００，１１０，１２０と、ＰＦＳ制御装置３００と、ＣＡＳ（Content-Addressable Storage）４００と、ＰＦＳ（Programmable Flow Switch：プログラマブルフロースイッチ）５００と、を備えており、当該ストレージシステムにデータを格納する複数のクライアント２００，２１０，２２０，２３０が接続されている。以下、各構成について詳述する。
【００２１】
上記クライアント２００等は、バックアップソフトウェアが搭載された情報処理装置である。そして、クライアント２００等は、バックアップソフトウェアの処理により、あるいは、操作者の操作により、自装置に記憶されている一群のデータからなるデータフローをストレージシステムに格納すべく当該ストレージシステムに対して送信する。
【００２２】
上記ＰＦＳ５００は、クライアント２００等から送信されるデータを、フロー単位にルーティングしたりリダイレクトする機能を有する。つまり、ＰＦＳ５００は、クライアント２００等から送信された一群のデータであるデータフローのアクセラレータノード１００等への経路を設定したり、送信先となっているアクセラレータノード１００等を変更することができる。なお、ＰＦＳ５００によるデータフローの経路の設定や変更は、後述するようにＰＦＳ制御装置３００にて制御されることとなる。従って、ＰＦＳ５００とＰＦＳ制御装置３００は、データフローをいずれかのアクセラレータノード１００等に割り当てて当該割り当てたアクセラレータノードにデータフローが流れるよう設定するスイッチ部として機能する。
【００２３】
上記アクセラレータノード１００等と上記ＣＡＳ４００とは、データを分割及び冗長化し、分散して記憶すると共に、記憶するデータの内容に応じて設定される固有のコンテンツアドレスによって、当該データを格納した格納位置を特定するコンテンツアドレスストレージシステムを構成している。このコンテンツアドレスストレージシステムによると、既にＣＡＳ４００に記憶されているデータと同一内容の他のデータを格納する場合には、既に記憶されているデータをコンテンツアドレスを用いて他のデータとして参照することで、当該他のデータを記憶する必要が無くなる。そして、この他のデータ読み出すときには、上記コンテンツアドレスを参照して記憶されているデータを読み出すことで、同一内容のデータを読み出すことができる。このようにして、ストレージシステムは、データの重複記憶を排除した重複排除処理を実現している。
【００２４】
そして、上記ＣＡＳ４００は、データを記憶する役割を担っており、複数のストレージノード（ストレージ装置）を備えて構成されている。また、アクセラレータノード１００等は、ＣＡＳ４００に対するデータ記憶処理つまり重複排除処理を行う役割を担っている。
【００２５】
次に、上記アクセラレータノード１００等についてさらに詳述する。なお、アクセラレータノード１００，１１０，１２０は複数装備されているが、以下に説明する符号１００のアクセラレータノードの構成を、全てのアクセラレータノードが備えているものとする。また、アクセラレータノードの数は、図２に示した数に限定されない。
【００２６】
アクセラレータノード１００等は、ＣＡＳ４００への入り口となる情報処理装置であるため、クライアント２００等からは、ＮＡＳ（Network Attached Storage）のように見える。なお、アクセラレータノード１００等とＣＡＳ４００とを含むストレージシステムは、ＧＮＳ（Global Name Space）機能を有しており、どのアクセラレータノード１００，１１０，１２０からも同じファイルシステムにアクセスすることができる。
【００２７】
そして、アクセラレータノード１００等は、図２に示すように、ＣＡＳ処理部６２０を備えており、当該ＣＡＳ処理部６２０がＣＡＳ４００と協働してコンテンツアドレスを用いてファイルを管理することにより、同一内容のデータを重複してＣＡＳ４００に記憶しない重複排除処理を行っている。ここで、アクセラレータノード１００等と上記ＣＡＳ４００とによるデータ格納時における重複排除処理の様子を、図３乃至図４を参照して説明する。
【００２８】
ストレージシステムは、まず、記憶対象となるデータＡ（データフロー）の入力を受けると（図４の矢印Ｙ１参照）、図３及び図４の矢印Ｙ２に示すように、当該データＡを、所定容量（例えば、６４ＫＢ）のブロックデータＤに分割する。そして、このブロックデータＤのデータ内容に基づいて、当該データ内容を代表する固有のハッシュ値Ｈを算出する（図４の矢印Ｙ３）。例えば、ハッシュ値Ｈは、予め設定されたハッシュ関数を用いて、ブロックデータＤのデータ内容から算出する。
【００２９】
続いて、ストレージシステム、ブロックデータＤのハッシュ値Ｈを用いて、当該ブロックデータＤが既にＣＡＳ４００内に格納されているか否かを調べる。具体的には、まず、既に格納されているブロックデータＤは、後述するように、そのハッシュ値Ｈが含まれた格納位置を表すコンテンツアドレスＣＡが、コンテンツアドレス管理テーブルＭＦＩに登録されている。従って、格納前に算出したブロックデータＤのハッシュ値Ｈがコンテンツアドレス管理テーブルＭＦＩ内に存在していない場合には、まだ同一内容のブロックデータＤが記憶されていないと判断できる。一方で、ハッシュ値Ｈがコンテンツアドレス管理テーブルＭＦＩ内に存在している場合には、既に同一内容のブロックデータＤが記憶されていると判断できる（図４の矢印Ｙ４）。
【００３０】
続いて、ストレージシステムは、まだ同一のブロックデータＤが記憶されていないと判断されたブロックデータＤを、予め設定された圧縮ルールに従って圧縮し、図４の矢印Ｙ５に示すように、複数の所定の容量のフラグメントデータに分割する。例えば、図３の符号Ｄ１〜Ｄ９に示すように、９つのフラグメントデータ（分割データ１１）に分割する。さらに、ストレージシステムは、分割したフラグメントデータのうちいくつかが欠けた場合であっても、元となるブロックデータを復元可能なよう冗長データを生成し、上記分割したフラグメントデータ１１に追加する。例えば、図３の符号Ｄ１０〜Ｄ１２に示すように、３つのフラグメントデータ（冗長データ１２）を追加する。これにより、９つの分割データ１１と、３つの冗長データ１２とにより構成される１２個のフラグメントデータからなるデータセット１０を生成する。
【００３１】
続いて、ストレージシステムは、生成されたデータセットを構成する各フラグメントデータを、ＣＡＳ４００を構成するストレージ装置に形成された各記憶領域に、それぞれ分散して格納する。例えば、図３に示すように、１２個のフラグメントデータＤ１〜Ｄ１２を生成した場合には、１２個の各記憶領域内にそれぞれ形成したデータ格納ファイルに、各フラグメントデータＤ１〜Ｄ１２を１つずつそれぞれ格納する（図４の矢印Ｙ６参照）。
【００３２】
また、ストレージシステムは、上述したように記憶装置に格納したフラグメントデータＤ１〜Ｄ１２の格納位置、つまり、当該フラグメントデータＤ１〜Ｄ１２にて復元されるブロックデータＤの格納位置を表す、コンテンツアドレスＣＡを生成して管理する。具体的には、格納したブロックデータＤの内容に基づいて算出したハッシュ値Ｈの一部（ショートハッシュ）（例えば、ハッシュ値Ｈの先頭８Ｂ（バイト））と、論理格納位置を表す情報と、を組み合わせて、コンテンツアドレスＣＡを生成する（図４の矢印Ｙ７）。そして、重複排除システム１０は、記憶対象データのファイル名などの識別情報と、コンテンツアドレスＣＡとを関連付けてファイルシステムで管理すると共に、コンテンツアドレス管理テーブルＭＦＩに、生成したコンテンツアドレスＣＡの新規エントリを追加する。
【００３３】
また、ストレージシステムは、記憶対象となるデータのブロックデータＤのハッシュ値Ｈが既にコンテンツアドレス管理テーブルＭＦＩに存在している場合、つまり、既に同一内容のブロックデータＤが格納されている場合には、格納前のブロックデータＤのハッシュ値Ｈと一致したハッシュ値が含まれるコンテンツアドレスＣＡを、コンテンツアドレス管理テーブルＭＦＩから取得する。そして、このコンテンツアドレスＣＡを、記憶対象データのブロックデータＤの格納先を表すコンテンツアドレスＣＡとする。これにより、コンテンツアドレスＣＡにて参照される既に格納されているデータが、記憶要求されたブロックデータＤとして参照されることとなり、当該記憶要求にかかるブロックデータＤ自体を重複して記憶する必要がなくなる。つまり、同一内容のデータが重複記憶されることを排除している。
【００３４】
以上のように、アクセラレータノード１０等とＣＡＳ４００からなるストレージシステムは、記憶対象となるデータを小さなブロックサイズに分割し、そのブロックを既に保存されているブロックと比較して、他と重複しないユニークなブロックだけを圧縮して保存している。そして、既に同じ内容のブロックが存在すると判定された場合には、そのブロックが保存されている位置を表す情報（コンテンツアドレスＣＡ）を記録することで、データの重複記録を排除でき、実際に保存するデータ量を削減することができる。なお、上述したように、データの重複排除を行いつつ、圧縮して記憶するという重複排除処理は、主にアクセラレータノード１００のＣＰＵにプログラムが組み込まれることで構築されたＣＡＳ処理部６２０（図２参照）にて実行される。
【００３５】
また、アクセラレータノード１００等は、図２に示すように、データを格納する際に必要とされる一部の処理である特定の処理を専用に実行する各種の専用カード６３０（専用機器）を搭載している。これにより、アクセラレータノード１００等は、データ格納処理の一部を、当該アクセラレータノード１００等に搭載されたＣＰＵを用いることなく、ハードウェアである各種専用カード６３０に実行させることができる。その結果、アクセラレータノード１００等の負荷を抑制したり、処理の高速化を図ることができる。
【００３６】
例えば、図１の符号１００に示すアクセラレータノードは、データをＣＡＳ４００に格納する前にデータの圧縮処理を行う「圧縮カード」を搭載している。また、符号１１０に示すアクセラレータノードは、ＣＡＳ４００に搭載されているハードディスクドライブなどの補助記憶装置よりもデータ入出力が高速なＳＳＤ（Solid State Drive）を搭載した「ＳＳＤカード」を搭載している。この「ＳＳＤカード」を用いることで、ファイルサイズの小さいデータを多数扱うときの処理が高速となる。さらに、符号１２０に示すアクセラレータノードは、上述した重複排除処理の一部であるブロックデータＤの内容に基づいてハッシュ値Ｈを算出する処理を実行する機器である「Hash計算カード」を備えている。
【００３７】
但し、アクセラレータノード１００等は、全てが上述したような専用カード６３０を搭載していなくてもよい。なお、アクセラレータノード１００等のＣＰＵ処理性能やメモリ転送性能などの装置性能は、必ずしも全てが同一であるとは限らない。
【００３８】
また、図２に示すように、アクセラレータノード１００等は、装備されたＣＰＵにプログラムが組み込まれることで構築された、フロー受付部６００、セッション移動処理部６１０、フロー特性判別部６４０、ＡＮ特性判別部６５０、フロー特性検出部６６０、を備えている。
【００３９】
上記フロー受付部６００は、クライアント２００等から送られてくるデータフローを受信し、フロー特性検出部６００やＣＡＳ処理部６２０に同じデータフローの内容を渡す。また、フロー受付部６００は、セッション移動処理部６１０の要求により、フローの受信を止めたり、受信したりする。
【００４０】
上記セッション移動処理部６１０は、フロー受付部６００にデータフローの停止／開始を要求したり、クライアントとのセッションの情報を他のアクセラレータノード（ＡＮ）に移動したりする処理を行なう。
【００４１】
上記フロー特性検出部６６０は、データフローの予め定められた種々の特性を当該データフロー毎に検出して、フロー特性判別部６４０に渡す処理を行う各部６６１〜６６５を備える。例えば、重複率計算部６６１は、ＣＡＳ処理部６２０による重複排除処理に基づいて、データフロー内のデータがＣＡＳ４００に記憶されているデータと重複している度合いを表す重複率を、このデータフローの特性として検出する。圧縮率計算部６６２は、ＣＡＳ処理部６２０による重複排除処理に基づいて、データフロー内のデータのＣＡＳ４００に対する記憶前と記憶後における圧縮度合いを表す圧縮率を、このデータフローの特性として検出する。圧縮検出部６６３は、クライアント２００に搭載されたバックアップソフトウェアなどによりデータフローに含まれたマーカ情報を参照して、データフローが既にアクセラレータノード１００等に入力される前に既に圧縮されているか否かを、このデータフローの特性として検出する。暗号化検出部６６４は、クライアント２００に搭載されたバックアップソフトウェアなどによりデータフローに含まれたマーカ情報を参照して、データフローが暗号化されているか否かを、このデータフローの特性として検出する。ファイルサイズ検出部６６５は、データフローに含まれるファイルのサイズを、このデータフローの特性として検出する。なお、フロー特性部検出部６６０にて検出されるデータフローの特性は、上述したものに限定されない。
【００４２】
上記フロー特性判別部６４０は、上述したフロー特性検出部６６０で検出した各データフローの特性を表す情報を、ＰＦＳ制御装置３００に送る。このとき、フロー特性判別部６４０は、データフローを特定する情報として、当該データフローを送信してきたクライアント２００等を識別する情報である「クライアントＩＰアドレス」と共に、上述したデータフローの重複率、圧縮率、圧縮の有無、暗号化の有無、ファイルサイズ、といった特性情報を、ＰＦＳ制御装置３００に送る。
【００４３】
上記ＡＮ特性判別部６５０（装置特性検出部）は、アクセラレータノード１００等の特性を表す情報を当該アクセラレータノード１００等毎に収集して、ＰＦＳ制御装置に送る。例えば、ＡＮ特性判別部６５０は、アクセラレータノード１００等の特性として、搭載されているＣＰＵやメモリなどの性能、負荷状況、搭載されている専用カードの種類などの情報を収集する。そして、ＡＮ特性判別部６５０は、これらの情報を、アクセラレータノード１００等を識別する情報と共に、ＰＦＳ制御装置３００に送る。なお、ＡＮ特性判別部６５０にて収集されるアクセラレータノード１００等の特性は、上述したものに限定されない。
【００４４】
なお、上述したデータフローの特性やアクセラレータノードの特性の検出処理とＰＦＳ制御装置３００への送信は、全てのアクセラレータノード１００等により一定の間隔で常に行われる。
【００４５】
次に、上述したようにＰＦＳ５００と協働してスイッチ部として機能するＰＦＳ制御装置３００（スイッチ制御装置）について説明する。ＰＦＳ制御装置３００は、図２に示すように、装備された演算装置にプログラムが組み込まれることで構築されたフロー設定部３３０を備える。また、ＰＦＳ制御装置３００は、装備された記憶装置に形成された、ＡＮ特性情報データベース（ＤＢ）３１０と、フロー特性情報データベース（ＤＢ）３２０と、を備える。
【００４６】
上記フロー設定部３３０は、各アクセラレータノード１００等から送られてきたデータフローの特性情報をフロー特性情報ＤＢ３２０に格納し、また、アクセラレータノード１００等の特性情報をＡＮ特性情報ＤＢ３１０に格納する。なお、各特性情報は、各アクセラレータノード１００等から送信されてくる度に更新される。
【００４７】
そして、フロー設定部３３０は、フロー特性情報ＤＢ３２０に格納されたデータフローの特性情報と、ＡＮ特性情報ＤＢ３１０に格納されたアクセラレータノード１００等の特性情報と、に基づいて、各データフローに割り当てるアクセラレータノード１００等を決定する。そして、データフローに割り当てたアクセラレータノード１００等に当該データフローが流れるよう、ＰＦＳ５００に対して経路を新たに設定したり切り替える制御を行う。
【００４８】
具体的に、フロー設定部３３０は、まず、データフローの特性に対応する専用カード６３０を搭載したアクセラレータノード１００等を、そのデータフローに割り当てる。例えば、データフローの重複率が所定値よりも高い場合には、そのデータフローに、Hash計算カードを搭載したアクセラレータノードを割り当てる。また、データフローの圧縮率が所定値よりも高い場合には、そのデータフローに、圧縮カードを搭載したアクセラレータノードを割り当てる。また、データフロー内のファイルのサイズが所定値よりも小さい場合には、そのデータフローに、ＳＳＤカードを搭載したアクセラレータノードを割り当てる。但し、データフローが、クライアント２００等側のバックアップソフトウェアなどにより暗号化されていたり、既に圧縮されていた場合には、Hash計算カードや圧縮カードを搭載したアクセラレータノードを割り当てない。
【００４９】
また、フロー設定部３００は、上述したようにデータフローに割り当てる各専用カード６３０が搭載されたアクセラレータノード１００等がない場合には、ＡＮ特性情報ＤＢ３１０に格納されている各アクセラレータノード１００等の負荷状況に応じて、データフローに負荷の低いアクセラレータノード１００等を割り当てる。
【００５０】
なお、フロー設定部３００は、上述したように、データフローにアクセラレータノードを割り当ててＰＦＳ５００のルーティングやリダイレクトを行う処理を、一定の間隔で行うか、各特性情報が更新される毎に行う。
【００５１】
［動作］
次に、上述したストレージシステムの動作を、図５乃至図７のフローチャートを参照して説明する。
【００５２】
事前に、アクセラレータノード１００，１１０，１２０には、同じＩＰアドレスが設定されている。これにより、クライアント２００，２１０，２２０，２３０からは、ＩＰ的には１つの装置にアクセスしているように見える。しかし、後述するように、ＰＦＳ５００のルーティング／リダイレクトによって実際にアクセスするアクセラレータノード１００等が決まる。
【００５３】
まず、ＰＦＳ制御装置３００は、クライアント２００等がＰＦＳ５００に接続されたことを検出する（ステップＡ１）。次に、ＰＦＳ制御装置３００は、ＡＮ特性情報ＤＢ３１０から各アクセラレータノード１００等の負荷状況を取得し（ステップＡ２）、アクセラレータノード１００等の中から最も負荷の低いものを選び出す（ステップＡ３）。そして、選ばれたアクセラレータノードにクライアントからのフローが送信されるよう、フロー設定部３３０にてＰＦＳ５００を設定する（ステップＡ４）。このようにして、クライアントが最初にアクセスするアクセラレータノードが決定される。
【００５４】
アクセラレータノードは、クライアントからのフローをフロー受付部６００で受信する。フロー受付部６００は、フローの特性検出用のパスと、通常の重複排除したデータ格納を行う処理のパスと、に同じデータフローを流す。つまり、フロー受付部６００は、フローの特性検出用のパスをフロー特性検出部６６０に流し、データ格納を行う処理のパスをＣＡＳ処理部６２０に流す。
【００５５】
そして、アクセラレータノードのフロー特性検出部６６０では、フロー受付部６００からデータフローを受け取ると、データフローの重複率、圧縮率、バックアップソフトウェアによる圧縮／暗号化の有無、ファイルサイズの検出など、データフローの各特性の検出処理を行なう。フロー特性検出部６６０は、検出したデータフローの特性をフロー特性判別部６４０に渡す。すると、フロー特性判別部６４０は、検出された情報を基に、データフローを送信してきたクライアントのＩＰアドレスを関連付けたフロー特性情報を作り、ＰＦＳ制御装置３００に送る。
【００５６】
また、通常のデータ格納を行う処理のパスを受け取ったＣＡＳ処理部６２０は、図３，４を参照して説明したように、ＣＡＳ４００に対して重複記憶を排除したデータ格納処理を行う。このとき、アクセラレータノードにＣＰＵの代わりに処理を行なう専用カード６３０が搭載されている場合には、ＣＡＳ処理部６２０は搭載されている専用カード６３０で処理できる部分を、当該専用カード６３０に任せる。このようにして、データフローのデータは、ＣＡＳ４００に最終的に格納される。
【００５７】
また、アクセラレータノード１００等のＡＮ特性判別部６５０は、アクセラレータノード１００等の処理性能や負荷状況、搭載されている専用カードの情報を収集して、ＰＦＳ制御装置３００に送る。
【００５８】
その後、データフローの特性が変化したり、アクセラレータノードの負荷が高くなってきたりした場合には、ＰＦＳ制御装置３００は、負荷分散のためにフロー設定部３３０を使ってデータフローのリダイレクトを行なう。
【００５９】
まず、ＰＦＳ制御装置３００のフロー設定部３３０は、ＡＮ特性情報ＤＢ３１０やフロー特性情報ＤＢ３２０内の情報を使って、データフローの特性変化やアクセラレータノードの負荷の変化を検出する（ステップＢ１）。そして、フロー設定部３３０は、データフローの特性に対応するアクセラレータノードの割り当てを決定し、そのアクセラレータノードにデータフローが流れるよう設定する。具体的に、フロー設定部３３０は、データフローの移動元のアクセラレータノードのセッション移動処理部６１０に対して、移動先のアクセラレータノードを通知してリダイレクトの指示を出す（ステップＢ２）。
【００６０】
セッション移動処理部６１０は、フロー受付部６００に対してデータフローの停止を要求する（ステップＢ３）。また、セッション移動処理部６１０は、データフローのセッション情報を、移動先のアクセラレータノードのセッション移動処理部６１０に送信する（ステップＢ４）。セッションの情報を受け取った移動先となるアクセラレータノードのセッション移動処理部６１０は、セッション情報を元にセッションを再構築する（ステップＢ５）。セッションの再構築が完了したら、ＰＦＳ制御装置３００はフロー設定部３３０を使ってデータフローのリダイレクトを設定する（ステップＢ６）。
【００６１】
次に、上述したＰＦＳ制御装置３００によるデータフローのアクセラレータノードに対する割り当て方法の一例を、図７を参照して説明する。
【００６２】
まず、データフローに含まれるマーカ情報の存在を調べ、クライアント２００等がバックアップソフトウェアを使用して、データ格納のためにデータフローが送信されているか否かを調べる（ステップＣ１）。クライアント２００等がバックアップソフトウェアを使っている場合には（ステップＣ１でＹｅｓ）、バックアップソフトウェアにてデータフローに付加されたマーカ情報を参照して、データフローが既にバックアップソフトウェアによって圧縮されているか確認する（ステップＣ２）。バックアップソフトウェアで圧縮が実施されている場合には（ステップＣ２でＹｅｓ）、これ以上圧縮できない可能性が高いため、圧縮が効かないと判断し、次に重複しているのか確認する（ステップＣ４）。
【００６３】
続いて、ステップＣ４で、データフローの重複率が所定値よりも高い場合にはそのデータフローのデータは今後も重複することが考えられるため（ステップＣ４でＹｅｓ）、Hash計算カードが搭載されているアクセラレータノードへ優先割り当てを行う（ステップＣ８）。一方、重複率が所定値以下である場合には（ステップＣ４でＮｏ）、アクセラレータノードの負荷状況に合わせて優先割り当てを行う（ステップＣ９）。
【００６４】
また、上述したステップＣ２で、データフローが既にバックアップソフトウェアで圧縮されておりこれ以上圧縮が効かないと判断された場合には（ステップＣ２でＮｏ）、データフローに含まれるマーカ情報を参照して、当該データフローがバックアップソフトウェアによって暗号化されているか判定する（ステップＣ５）。
【００６５】
そして、データフローが暗号化されている場合には（ステップＣ５でＹｅｓ）、圧縮も重複排除も効かないと考えられることから、アクセラレータノードの負荷状況に合わせて割り当てを決める（ステップＣ１０）。一方、データフローが暗号化されていない場合には（ステップＣ５でＮｏ）、上述同様にデータフローの重複率から当該データフローのデータが重複しているか確認する（ステップＣ６）。重複しているようであれば（ステップＣ６でＹｅｓ）、Hash計算カードが搭載されているアクセラレータノードへ優先割り当てを行う（ステップＣ１１）。重複していないようであれば、データフローに圧縮が効くか確認する（ステップＣ７）。
【００６６】
続いて、ステップＣ７では、データフローの圧縮率が所定値よりも高い場合には、圧縮が効くと判断できるため（ステップＣ７でＹｅｓ）、圧縮カードが搭載されているアクセラレータノードへの優先割り当てを行う（ステップＣ１２）。一方、データフローの圧縮率が所定値以下であり圧縮が効かないようであれば（ステップＣ７でＮｏ）、アクセラレータノードの負荷状況に合わせて優先割り当てを行う（ステップＣ１３）。
【００６７】
また、ステップＣ１で、クライアント２００等でバックアップソフトウェアを使っていないと判定された場合には（ステップＣ１でＮｏ）、データストリーム中で次に書き込まれているファイルの大きさを確認する（ステップＣ３）。そして、ファイルの大きさが所定値以下であると判断された場合には（ステップＣ３でＮｏ）、小ファイルの書き込みが行われていると判断できる。このため、小ファイル処理性能を高速化するＳＳＤカードが搭載されているアクセラレータノードへの優先割り当てを行う（ステップＣ１４）。一方、ファイルサイズが所定値よりも大きい場合には（ステップＣ３でＹｅｓ）、上述同様にデータフローの重複率から当該データフローのデータが重複しているか確認する（ステップＣ６）。これ以降は、上述した内容と同じである。
【００６８】
ここで、データフローに割り当てるアクセラレータノードを決定する際には、複数のアクセラレータノードが候補に選ばれる可能性がある。この場合には、アクセラレータノードの負荷状況と処理性能とを参照して、複数選ばれたアクセラレータノードの中から一番負荷や処理性能に余裕のあるアクセラレータノードを選び出すことも可能である。また、データフローに割り当てる特定の専用カードを搭載したアクセラレータノードがなかった場合には、アクセラレータノードの負荷状況を判断基準として割り当てを行なう。
【００６９】
以上のように、本発明のストレージシステムによると、データフローの重複率や圧縮率、バックアップソフトウェアが付加する情報、アクセラレータノードの処理性能や負荷状況を組み合わせて、それを基にＰＦＳを使ってフローを決定することにより、データフローに適切なアクセラレータノードに負荷を分散することができる。従って、システム全体としてデータ格納処理の高速化を図りつつ、効率的な負荷分散を実現することができる。
【００７０】
また、ストレージシステム内に新旧世代のアクセラレータノードが混在したとしても、それぞれの性能に応じて負荷を分散することができるため、長期利用を考えたストレージ装置において効果的な負荷分散を実現することができる。
【００７１】
さらに、アクセラレータノードで検出できる情報とＰＦＳを用いて負荷分散を行っているため、クライアントがデータの特性を意識すること無くフロー単位で負荷分散が可能となる。
【００７２】
なお、クライアント２００，２１０，２２０，２３０からバックアップしようとしているファイルの情報（バックアップソフトウェアの名前、バックアップソフトウェアによる圧縮／暗号化はあるか、バックアップしようとしているファイルのサイズなど）を、ＰＦＳ制御装置３００に送り、その情報を基に、ＰＦＳ制御装置３００が負荷分散を決定してもよい。つまり、ＰＦＳ制御装置３００がデータフローの情報を検出して、当該データフローの特性に応じたアクセラレータノードを割り当ててもよい。
【００７３】
＜付記＞
上記実施形態の一部又は全部は、以下の付記のようにも記載されうる。以下、本発明におけるストレージシステムの概略を図８を参照して説明する。但し、本発明は、以下の構成に限定されない。
【００７４】
（付記１）
複数のストレージ装置１０００と、
前記複数のストレージ装置に対してデータを分散して記憶すると共に、当該ストレージ装置に既に記憶されているデータと同一内容の他のデータを格納する場合に、当該ストレージ装置に既に記憶されているデータを前記他のデータとして参照させる重複排除処理を行う複数の記憶処理装置１１００と、
一群のデータからなるデータフローをいずれかの前記記憶処理装置に割り当てて当該割り当てた前記記憶処理装置に前記データフローが流れるよう設定するスイッチ部１２００と、
前記データフローの予め定められた特性を当該データフロー毎に検出するフロー特性検出部１１１０と、
前記記憶処理装置の予め定められた特性を当該記憶処理装置毎に検出する装置特性検出部１１２０と、を備え、
前記スイッチ部１２００は、前記フロー特性検出部にて検出した前記データフローの特性と、前記装置特性検出部にて検出した前記記憶処理装置の特性と、に基づいて、前記データフローを割り当てる前記記憶処理装置を決定する、
ストレージシステム。
【００７５】
（付記２）
付記１に記載のストレージシステムであって、
前記装置特性検出部は、前記記憶処理装置の特性として、当該記憶処理装置に搭載されている前記データフローを前記ストレージ装置に記憶するための特定の処理を実行する専用機器を検出し、
前記スイッチ部は、前記フロー特性検出部にて検出した前記データフローの特性に対応する前記専用機器を搭載した前記記憶処理装置を、前記データフローに割り当てる、
ストレージシステム。
【００７６】
（付記３）
付記２に記載のストレージシステムであって、
前記フロー特性検出部は、前記データフローの特性として、当該データフロー内のデータが前記ストレージ装置に記憶されているデータと重複している度合いを表す重複度合いを検出し、
前記装置特性検出部は、前記記憶処理装置の特性として、当該記憶処理装置に搭載されている前記重複排除処理を実行する専用機器を検出し、
前記スイッチ部は、前記フロー特性検出部にて検出した前記データフローの重複度合いが所定値よりも高い場合に、当該データフローに前記重複排除処理を実行する専用機器を搭載した前記記憶処理装置を割り当てる、
ストレージシステム。
【００７７】
（付記４）
付記３に記載のストレージシステムであって、
前記フロー特性検出部は、前記データフローの特性として、当該データフローが暗号化されているか否かを検出し、
前記スイッチ部は、前記フロー特性検出部にて前記データフローが暗号化されていない場合であって、前記フロー特性検出部にて検出した前記データフローの重複度合いが所定値よりも高い場合に、当該データフローに前記重複排除処理を実行する専用機器を搭載した前記記憶処理装置を割り当てる、
ストレージシステム。
【００７８】
（付記５）
付記２乃至４のいずれかに記載のストレージシステムであって、
前記記憶処理装置は、前記ストレージ装置に対してデータを圧縮して記憶し、
前記フロー特性検出部は、前記データフローの特性として、当該データフロー内のデータの前記ストレージ装置に対する記憶前後における圧縮度合いを検出し、
前記装置特性検出部は、前記記憶処理装置の特性として、当該記憶処理装置に搭載されている圧縮処理を実行する専用機器を検出し、
前記スイッチ部は、前記フロー特性検出部にて検出した前記データフローの圧縮度合いが所定値よりも高い場合に、当該データフローに前記圧縮処理を実行する専用機器を搭載した前記記憶処理装置を割り当てる、
ストレージシステム。
【００７９】
（付記６）
付記５に記載のストレージシステムであって、
前記フロー特性検出部は、前記データフローの特性として、当該データフローが前記記憶処理装置に入力される前に圧縮されているか否かを検出し、
前記スイッチ部は、前記フロー特性検出部にて前記データフローが前記記憶処理装置に入力される前に圧縮されていない場合であって、前記フロー特性検出部にて検出した前記データフローの圧縮度合いが所定値よりも高い場合に、当該データフローに前記圧縮処理を実行する専用機器を搭載した前記記憶処理装置を割り当てる、
ストレージシステム。
【００８０】
（付記７）
付記２乃至６のいずれかに記載のストレージシステムであって、
前記フロー特性検出部は、前記データフローの特性として、当該データフロー中のファイルのサイズを検出し、
前記装置特性検出部は、前記記憶処理装置の特性として、当該記憶処理装置に搭載されているデータ入出力が前記ストレージ装置に搭載された補助記憶装置よりも高速な高速記憶装置を装備した専用機器を検出し、
前記スイッチ部は、前記フロー特性検出部にて検出した前記データフローのファイルサイズが所定値よりも小さい場合に、当該データフローに前記高速記憶装置を装備した専用機器を搭載した前記記憶処理装置を割り当てる、
ストレージシステム。
【００８１】
（付記８）
付記２乃至７のいずれかに記載のストレージシステムであって、
前記装置特性検出部は、前記記憶処理装置の特性として、当該記憶処理装置の負荷状況を検出し、
前記スイッチ部は、前記フロー特性検出部にて検出した前記データフローの特性に対応する専用機器を搭載した前記記憶処理装置がない場合に、当該データフローに前記フロー特性検出部にて検出した負荷状況に応じて他の前記記憶処理装置を割り当てる、
ストレージシステム。
【００８２】
（付記９）
複数のストレージ装置に対してデータを分散して記憶すると共に、当該ストレージ装置に既に記憶されているデータと同一内容の他のデータを格納する場合に、当該ストレージ装置に既に記憶されているデータを前記他のデータとして参照させる重複排除処理を行う複数の記憶処理装置のうち、いずれかの前記記憶処理装置に一群のデータからなるデータフローが流れるよう設定するスイッチ部に接続されたスイッチ制御装置であって、
前記データフロー毎に検出された当該データフローの予め定められた特性と、前記記憶処理装置毎に検出された当該記憶処理装置の予め定められた特性と、に基づいて、前記データフローに前記記憶処理装置を割り当てて当該割り当てた前記記憶処理装置に前記データフローが流れるよう前記スイッチ部を設定するフロー設定部を備えた、
スイッチ制御装置。
【００８３】
（付記１０）
付記９に記載のスイッチ制御装置であって、
前記記憶処理装置の特性として、当該記憶処理装置に搭載されている前記データフローを前記ストレージ装置に記憶するための特定の処理を実行する専用機器が検出された場合に、
前記フロー設定部は、検出された前記データフローの特性に対応する前記専用機器を搭載した前記記憶処理装置を、前記データフローに割り当てる、
スイッチ制御装置。
【００８４】
（付記１１）
複数のストレージ装置に対してデータを分散して記憶すると共に、当該ストレージ装置に既に記憶されているデータと同一内容の他のデータを格納する場合に、当該ストレージ装置に既に記憶されているデータを前記他のデータとして参照させる重複排除処理を行う複数の記憶処理装置のうち、いずれかの前記記憶処理装置に一群のデータからなるデータフローが流れるよう設定するスイッチ部に接続されたスイッチ制御装置に、
前記データフロー毎に検出された当該データフローの予め定められた特性と、前記記憶処理装置毎に検出された当該記憶処理装置の予め定められた特性と、に基づいて、前記データフローに前記記憶処理装置を割り当てて当該割り当てた前記記憶処理装置に前記データフローが流れるよう前記スイッチ部を設定するフロー設定部、
を実現させるためのプログラム。
【００８５】
（付記１２）
付記１１に記載のプログラムであって、
前記記憶処理装置の特性として、当該記憶処理装置に搭載されている前記データフローを前記ストレージ装置に記憶するための特定の処理を実行する専用機器が検出された場合に、
前記フロー設定部は、検出された前記データフローの特性に対応する前記専用機器を搭載した前記記憶処理装置を、前記データフローに割り当てる、
プログラム。
【００８６】
（付記１３）
複数のストレージ装置と、
前記複数のストレージ装置に対してデータを分散して記憶すると共に、当該ストレージ装置に既に記憶されているデータと同一内容の他のデータを格納する場合に、当該ストレージ装置に既に記憶されているデータを前記他のデータとして参照させる重複排除処理を行う複数の記憶処理装置と、
一群のデータからなるデータフローをいずれかの前記記憶処理装置に割り当てて当該割り当てた前記記憶処理装置に前記データフローが流れるよう設定するスイッチ部と、を備えたストレージシステムによるフロー制御方法であって、
前記データフローの予め定められた特性を当該データフロー毎に検出すると共に、前記記憶処理装置の予め定められた特性を当該記憶処理装置毎に検出し、
前記スイッチ部が、検出した前記データフローの特性と、検出した前記記憶処理装置の特性と、に基づいて、前記データフローを割り当てる前記記憶処理装置を決定する、
フロー制御方法。
【００８７】
（付記１４）
付記１３に記載のフロー制御方法であって、
前記記憶処理装置の特性として、当該記憶処理装置に搭載されている前記データフローを前記ストレージ装置に記憶するための特定の処理を実行する専用機器を検出し、
前記スイッチ部が、検出した前記データフローの特性に対応する前記専用機器を搭載した前記記憶処理装置を、前記データフローに割り当てる、
フロー制御方法。
【００８８】
なお、上記記載におけるプログラムは、記憶装置に記憶されていたり、コンピュータが読み取り可能な記録媒体に記録されている。例えば、記録媒体は、フレキシブルディスク、光ディスク、光磁気ディスク、及び、半導体メモリ等の可搬性を有する媒体である。
【００８９】
以上、上記各実施形態を参照して本願発明を説明したが、本願発明は、上述した実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明の範囲内で当業者が理解しうる様々な変更をすることができる。
【００９０】
なお、本発明は、日本国にて２０１１年２月２８日に特許出願された特願２０１１−４１８６４の特許出願に基づく優先権主張の利益を享受するものであり、当該特許出願に記載された内容は、全て本明細書に含まれるものとする。
【符号の説明】
【００９１】
１００，１１０，１２０  アクセラレータノード（ＡＮ）
２００，２１０，２２０，２３０  クライアント
３００  ＰＦＳ制御装置
３１０  ＡＮ特性情報ＤＢ
３２０  フロー特性情報ＤＢ
３３０  フロー設定部
４００  ＣＡＳ
５００  ＰＦＳ
６００  フロー受付部
６１０  セッション移動処理部
６２０  ＣＡＳ処理部
６３０  専用カード
６４０  フロー特性判別部
６５０  ＡＮ特性判別部
６６０  フロー特性検出部
６６１  重複率計算部
６６２  圧縮率計算部
６６３  圧縮検出部
６６４  暗号化検出部
６６５  ファイルサイズ検出部
１０００  ストレージ装置
１１００  記憶処理装置
１１１０  フロー特性検出部
１１２０  装置特性検出部
１２００  スイッチ部
【図１】
2012117658.tif 000003
【図２】
2012117658.tif 000004
【図３】
2012117658.tif 000005
【図４】
2012117658.tif 000006
【図５】
2012117658.tif 000007
【図６】
2012117658.tif 000008
【図７】
2012117658.tif 000009
【図８】
2012117658.tif 000010
【手続補正書】
【提出日】平成26年4月17日(2014.4.17)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数のストレージ装置と、
前記複数のストレージ装置に対してデータを分散して記憶すると共に、当該ストレージ装置に既に記憶されているデータと同一内容の他のデータを格納する場合に、当該ストレージ装置に既に記憶されているデータを前記他のデータとして参照させる重複排除処理を行う複数の記憶処理装置と、
一群のデータからなるデータフローをいずれかの前記記憶処理装置に割り当てて当該割り当てた前記記憶処理装置に前記データフローが流れるよう当該データフローの経路を設定するスイッチ部と、
前記データフローの予め定められた特性を当該データフロー毎に検出するフロー特性検出部と、
前記記憶処理装置の予め定められた特性を当該記憶処理装置毎に検出する装置特性検出部と、を備え、
前記スイッチ部は、前記フロー特性検出部にて検出した前記データフローの特性と、前記装置特性検出部にて検出した前記記憶処理装置の特性と、に基づいて、前記データフローを割り当てる前記記憶処理装置を決定すると共に、前記データフローの特性が変化した場合に、当該データフローの特性に基づいて当該データフローを割り当てる前記記憶処理装置を決定し、当該記憶処理装置に前記データフローが流れるよう経路を新たに設定する、
ストレージシステム。
【請求項２】
請求項１に記載のストレージシステムであって、
前記装置特性検出部は、前記記憶処理装置の特性として、当該記憶処理装置に搭載されている前記データフローを前記ストレージ装置に記憶するための特定の処理を実行する専用機器を検出し、
前記スイッチ部は、前記フロー特性検出部にて検出した前記データフローの特性に対応する前記専用機器を搭載した前記記憶処理装置を、前記データフローに割り当てる、
ストレージシステム。
【請求項３】
請求項２に記載のストレージシステムであって、
前記フロー特性検出部は、前記データフローの特性として、当該データフロー内のデータが前記ストレージ装置に記憶されているデータと重複している度合いを表す重複度合いを検出し、
前記装置特性検出部は、前記記憶処理装置の特性として、当該記憶処理装置に搭載されている前記重複排除処理を実行する専用機器を検出し、
前記スイッチ部は、前記フロー特性検出部にて検出した前記データフローの重複度合いが所定値よりも高い場合に、当該データフローに前記重複排除処理を実行する専用機器を搭載した前記記憶処理装置を割り当てる、
ストレージシステム。
【請求項４】
請求項３に記載のストレージシステムであって、
前記フロー特性検出部は、前記データフローの特性として、当該データフローが暗号化されているか否かを検出し、
前記スイッチ部は、前記フロー特性検出部にて前記データフローが暗号化されていない場合であって、前記フロー特性検出部にて検出した前記データフローの重複度合いが所定値よりも高い場合に、当該データフローに前記重複排除処理を実行する専用機器を搭載した前記記憶処理装置を割り当てる、
ストレージシステム。
【請求項５】
請求項２乃至４のいずれかに記載のストレージシステムであって、
前記記憶処理装置は、前記ストレージ装置に対してデータを圧縮して記憶し、
前記フロー特性検出部は、前記データフローの特性として、当該データフロー内のデータの前記ストレージ装置に対する記憶前後における圧縮度合いを検出し、
前記装置特性検出部は、前記記憶処理装置の特性として、当該記憶処理装置に搭載されている圧縮処理を実行する専用機器を検出し、
前記スイッチ部は、前記フロー特性検出部にて検出した前記データフローの圧縮度合いが所定値よりも高い場合に、当該データフローに前記圧縮処理を実行する専用機器を搭載した前記記憶処理装置を割り当てる、
ストレージシステム。
【請求項６】
請求項５に記載のストレージシステムであって、
前記フロー特性検出部は、前記データフローの特性として、当該データフローが前記記憶処理装置に入力される前に圧縮されているか否かを検出し、
前記スイッチ部は、前記フロー特性検出部にて前記データフローが前記記憶処理装置に入力される前に圧縮されていない場合であって、前記フロー特性検出部にて検出した前記データフローの圧縮度合いが所定値よりも高い場合に、当該データフローに前記圧縮処理を実行する専用機器を搭載した前記記憶処理装置を割り当てる、
ストレージシステム。
【請求項７】
請求項２乃至６のいずれかに記載のストレージシステムであって、
前記フロー特性検出部は、前記データフローの特性として、当該データフロー中のファイルのサイズを検出し、
前記装置特性検出部は、前記記憶処理装置の特性として、当該記憶処理装置に搭載されているデータ入出力が前記ストレージ装置に搭載された補助記憶装置よりも高速な高速記憶装置を装備した専用機器を検出し、
前記スイッチ部は、前記フロー特性検出部にて検出した前記データフローのファイルサイズが所定値よりも小さい場合に、当該データフローに前記高速記憶装置を装備した専用機器を搭載した前記記憶処理装置を割り当てる、
ストレージシステム。
【請求項８】
請求項２乃至７のいずれかに記載のストレージシステムであって、
前記装置特性検出部は、前記記憶処理装置の特性として、当該記憶処理装置の負荷状況を検出し、
前記スイッチ部は、前記フロー特性検出部にて検出した前記データフローの特性に対応する専用機器を搭載した前記記憶処理装置がない場合に、当該データフローに前記フロー特性検出部にて検出した負荷状況に応じて他の前記記憶処理装置を割り当てる、
ストレージシステム。
【請求項９】
複数のストレージ装置に対してデータを分散して記憶すると共に、当該ストレージ装置に既に記憶されているデータと同一内容の他のデータを格納する場合に、当該ストレージ装置に既に記憶されているデータを前記他のデータとして参照させる重複排除処理を行う複数の記憶処理装置のうち、いずれかの前記記憶処理装置に一群のデータからなるデータフローが流れるよう当該データフローの経路を設定するスイッチ部に接続されたスイッチ制御装置であって、
前記データフロー毎に検出された当該データフローの予め定められた特性と、前記記憶処理装置毎に検出された当該記憶処理装置の予め定められた特性と、に基づいて、前記データフローに前記記憶処理装置を割り当てて当該割り当てた前記記憶処理装置に前記データフローが流れるよう前記スイッチ部を設定すると共に、前記データフローの特性が変化した場合に、当該データフローの特性に基づいて当該データフローを割り当てる前記記憶処理装置を決定し、当該記憶処理装置に前記データフローが流れるよう経路を新たに設定するフロー設定部を備えた、
スイッチ制御装置。
【請求項１０】
複数のストレージ装置と、
前記複数のストレージ装置に対してデータを分散して記憶すると共に、当該ストレージ装置に既に記憶されているデータと同一内容の他のデータを格納する場合に、当該ストレージ装置に既に記憶されているデータを前記他のデータとして参照させる重複排除処理を行う複数の記憶処理装置と、
一群のデータからなるデータフローをいずれかの前記記憶処理装置に割り当てて当該割り当てた前記記憶処理装置に前記データフローが流れるよう当該データフローの経路を設定するスイッチ部と、を備えたストレージシステムによるフロー制御方法であって、
前記データフローの予め定められた特性を当該データフロー毎に検出すると共に、前記記憶処理装置の予め定められた特性を当該記憶処理装置毎に検出し、
前記スイッチ部が、検出した前記データフローの特性と、検出した前記記憶処理装置の特性と、に基づいて、前記データフローを割り当てる前記記憶処理装置を決定すると共に、前記データフローの特性が変化した場合に、当該データフローの特性に基づいて当該データフローを割り当てる前記記憶処理装置を決定し、当該記憶処理装置に前記データフローが流れるよう経路を新たに設定する、
フロー制御方法。
【国際調査報告】
2012117658.tif 000011
2012117658.tif 000012