(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-07-04
(45)【発行日】2022-07-12
(54)【発明の名称】ストレージシステム、ストレージ制御装置、ストレージ制御方法、及びストレージ制御プログラム
(51)【国際特許分類】
G06F 16/174 20190101AFI20220705BHJP
G06F 16/13 20190101ALI20220705BHJP
G06F 16/16 20190101ALI20220705BHJP
【FI】
G06F16/174
G06F16/13 200
G06F16/16 100
(21)【出願番号】P 2018050197
(22)【出願日】2018-03-16
【審査請求日】2021-02-04
(73)【特許権者】
【識別番号】000232092
【氏名又は名称】NECソリューションイノベータ株式会社
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】110002044
【氏名又は名称】弁理士法人ブライタス
(72)【発明者】
【氏名】野口 善昭
【審査官】甲斐 哲雄
(56)【参考文献】
【文献】国際公開第2013/108745(WO,A1)
【文献】国際公開第2014/087508(WO,A1)
【文献】米国特許第8631052(US,B1)
【文献】特開2013-174985(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/10-16/188
G06F 3/06- 3/08
(57)【特許請求の範囲】
【請求項1】
ファイルを分割したブロックデータと、前記ブロックデータに基づいて生成したコンテンツアドレスとを関連付けて記憶する、記憶部と、
前記コンテンツアドレスを関連付けて共有化した前記ブロックデータが属する前記ファイルを特定する、特定部と、
共有化した前記ブロックデータと、共有化した前記ブロックデータが属する前記ファイルと、共有化した前記ブロックデータに対応する前記コンテンツアドレスとを関連付けた表示画像を、表示部に表示させるための表示情報を生成する、表示情報生成部と、
を有するストレージシステム。
【請求項2】
請求項1に記載のストレージシステムであって、
前記ブロックデータを記憶する場合、前記ブロックデータを識別するブロックデータ識別情報と、ファイルを識別するファイル識別情報と、前記ファイルに対する前記ブロックデータのオフセット情報とを関連付けた管理情報を生成する、生成部を有し、
前記特定部は、前記ブロックデータに対応するブロックデータ識別情報を用いて、前記管理情報を参照して、ファイルを特定する
、
ストレージシステム。
【請求項3】
ファイルを分割したブロックデータと、前記ブロックデータに基づいて生成したコンテンツアドレスとを関連付けて書き込みをする、ファイル書き込み部と、
前記コンテンツアドレスを関連付けて共有化した前記ブロックデータが属する前記ファイルを特定する、特定部と、
共有化した前記ブロックデータと、共有化した前記ブロックデータが属する前記ファイルと、共有化した前記ブロックデータに対応する前記コンテンツアドレスとを関連付けた表示画像を、表示部に表示させるための表示情報を生成する、表示情報生成部と、
を有するストレージ制御装置。
【請求項4】
請求項
3に記載のストレージ制御装置であって、
前記ブロックデータを記憶する場合、前記ブロックデータを識別するブロックデータ識別情報と、ファイルを識別するファイル識別情報と、前記ファイルに対する前記ブロックデータのオフセット情報とを関連付けた管理情報を生成する、生成部を有し、
前記特定部は、前記ブロックデータに対応するブロックデータ識別情報を用いて、前記管理情報を参照して、ファイルを特定する
、
ストレージ制御装置。
【請求項5】
コンピュータが、
(A)ファイルを分割したブロックデータと、前記ブロックデータに基づいて生成したコンテンツアドレスとを関連付けて記憶する、ステップと、
(B)前記コンテンツアドレスを関連付けて共有化した前記ブロックデータが属する前記ファイルを特定する、ステップと、
(C)共有化した前記ブロックデータと、共有化した前記ブロックデータが属する前記ファイルと、共有化した前記ブロックデータに対応する前記コンテンツアドレスとを関連付けた表示画像を、表示部に表示させるための表示情報を生成する、ステップと、
を実行するストレージ制御方法。
【請求項6】
請求項
5に記載のストレージ制御方法であって、
コンピュータが、
(
D)前記ブロックデータを記憶する場合、前記ブロックデータを識別するブロックデータ識別情報と、ファイルを識別するファイル識別情報と、前記ファイルに対する前記ブロックデータのオフセット情報とを関連付けた管理情報を生成する、ステップを
実行し、
前記(B)のステップにおいて、前記ブロックデータに対応するブロックデータ識別情報を用いて、前記管理情報を参照して、ファイルを特定する
、
ストレージ制御方法。
【請求項7】
コンピュータに、
(A)ファイルを分割したブロックデータと、前記ブロックデータに基づいて生成したコンテンツアドレスとを関連付けて記憶する、ステップと、
(B)前記コンテンツアドレスを関連付けて共有化した前記ブロックデータが属する前記ファイルを特定する、ステップと、
(C)共有化した前記ブロックデータと、共有化した前記ブロックデータが属する前記ファイルと、共有化した前記ブロックデータに対応する前記コンテンツアドレスとを関連付けた表示画像を、表示部に表示させるための表示情報を生成する、ステップと、
を実行させるストレージ制御プログラム。
【請求項8】
請求項
7に記載のストレージ制御プログラムであって、
コンピュータに、
(
D)前記ブロックデータを記憶する場合、前記ブロックデータを識別するブロックデータ識別情報と、ファイルを識別するファイル識別情報と、前記ファイルに対する前記ブロックデータのオフセット情報とを関連付けた管理情報を生成する、ステップを実行させ、
前記(B)のステップにおいて、前記ブロックデータに対応するブロックデータ識別情報を用いて、前記管理情報を参照し、ファイルを特定
させる、
ストレージ制御プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンテンツアドレスを用いてストレージを制御するストレージシステム、ストレージ制御装置、ストレージ制御方法、及びストレージ制御プログラムに関する。
【背景技術】
【0002】
ストレージシステムとして、重複するデータを共有化して記憶するCAS(Contents Address Storage)システムが知られている。CASシステムは、ファイルを分割したブロックデータと、ブロックデータに基づいて生成したコンテンツアドレスとを関連付けて記憶媒体に記憶する。従って、CASシステムでは、同じ内容のブロックデータには、同じコンテンツアドレスが関連付けられるため、同じ内容のブロックデータを重複して記憶媒体に記憶しなくてもよい。すなわち、コンテンツアドレスを参照すれば、当該コンテンツアドレスに関連付けられたブロックデータが記憶されている位置を特定できるため、ブロックデータを重複して記憶媒体に記憶しなくてもよくなる。
【0003】
関連する技術として、特許文献1には、ブロックデータとコンテンツアドレスとをツリー構造に記憶するCASシステムが開示されている。そのCASシステムによれば、記憶容量の削減及び記憶処理時間の短縮ができる。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1に開示されているCASシステムでは、同じ内容のブロックデータを共有化することはできるが、共有化したブロックデータが、どのファイルに属するブロックデータであるかを特定できない。
【0006】
本発明の目的の一例は、共有化したブロックデータが属するファイルを特定するストレージシステム、ストレージ制御装置、ストレージ制御方法、及びストレージ制御プログラムを提供することにある。
【課題を解決するための手段】
【0007】
上記目的を達成するため、本発明の一側面におけるストレージシステムは、
ファイルを分割したブロックデータと、前記ブロックデータに基づいて生成したコンテンツアドレスとを関連付けて記憶する、記憶部と、
前記コンテンツアドレスを関連付けて共有化した前記ブロックデータが属する前記ファイルを特定する、特定部と、
を有することを特徴とする。
【0008】
また、上記目的を達成するため、本発明の一側面におけるストレージ制御装置は、
ファイルを分割したブロックデータと、前記ブロックデータに基づいて生成したコンテンツアドレスとを関連付けて書き込みをする、ファイル書き込み部と、
前記コンテンツアドレスを関連付けて共有化した前記ブロックデータが属する前記ファイルを特定する、特定部と、
を有することを特徴とする。
【0009】
また、上記目的を達成するため、本発明の一側面におけるストレージ制御方法は、
(A)ファイルを分割したブロックデータと、前記ブロックデータに基づいて生成したコンテンツアドレスとを関連付けて記憶する、ステップと、
(B)前記コンテンツアドレスを関連付けて共有化した前記ブロックデータが属する前記ファイルを特定する、ステップと、
を有することを特徴とする。
【0010】
更に、上記目的を達成するため、本発明の一側面におけるストレージ制御プログラムは、
コンピュータに、
(A)ファイルを分割したブロックデータと、前記ブロックデータに基づいて生成したコンテンツアドレスとを関連付けて記憶する、ステップと、
(B)前記コンテンツアドレスを関連付けて共有化した前記ブロックデータが属する前記ファイルを特定する、ステップと、
を実行させることを特徴とする。
【発明の効果】
【0011】
以上のように本発明によれば、共有化したブロックデータが属するファイルを特定することができる。
【図面の簡単な説明】
【0012】
【
図1】
図1は、ストレージシステムの一例を示す図である。
【
図2】
図2は、ストレージシステムの構成を具体的に示す図である。
【
図3】
図3は、ファイル書き込みの動作を説明するための図である。
【
図4】
図4は、管理情報のデータ構造の一例を示す図である。
【
図5】
図5は、共有化したブロックデータの状態を示す図である。
【
図6】
図6は、ストレージ制御装置の動作の一例を示す図である。
【
図7】。
図7は、本発明の実施の形態におけるストレージ制御装置を実現するコンピュータの一例を示すブロック図である。
【発明を実施するための形態】
【0013】
(実施の形態)
以下、本発明の実施の形態について、
図1から
図7を参照しながら説明する。
【0014】
[システム構成]
最初に、
図1を用いて、本実施の形態におけるストレージシステムの構成について説明する。
図1は、ストレージシステムの一例を示す図である。
【0015】
図1に示すように、本実施の形態における、ストレージシステム1は、共有化したブロックデータが属するファイルを特定するための装置である。
図1に示すように、ストレージシステム1は、記憶部2と特定部3とを有する。
【0016】
このうち、記憶部2は、ファイルを分割したブロックデータと、ブロックデータに基づいて生成したコンテンツアドレスとを関連付けて記憶する。特定部3は、コンテンツアドレスを関連付けて共有化したブロックデータが属するファイルを特定する。
【0017】
このように、本実施の形態では、ブロックデータが属するファイルを特定できるので、共有化したブロックデータを用いて、共有化したブロックデータを有する複数のファイルを特定できる。
【0018】
また、従来のCASシステムでは、ブロックデータの共有化による、記憶容量の削減が、どの程度の効果を発揮したのかを、利用者に伝えることが難しい。そこで、現状では、利用者が記憶容量の削減効果を確認することを要望する場合、利用者へのCASシステムの貸し出し、又は専用のツールを用いて計測をするなどして、利用者に記憶容量の削減効果を提示している。ところが、これらの方法で提示できるのは、ブロックデータを共有化する前(ブロックデータの重複排除前)の記憶媒体全体の記憶容量と、ブロックデータを共有化した後(ブロックデータの重複排除後)の記憶媒体全体の記憶容量との比較にとどまる。そのため、利用者はブロックデータの共有化前後で記憶容量が削減されたことを大まかに知る程度となる。言い換えれば、共有化したブロックデータごとの記憶容量の削減効果を、利用者に提示できない。そのため、記憶容量の削減効果を、利用者に直感的に伝え難い。
【0019】
しかし、本実施の形態によれば、ブロックデータが属するファイルを特定できるので、複数のファイルに分散している、共有化したブロックデータごとに、記憶容量の削減効果を、利用者に提示できる。すなわち、記憶容量の削減効果を、利用者に直感的に伝えられる。
【0020】
続いて、
図2を用いて、本実施の形態におけるストレージシステム1の構成をより具体的に説明する。
図2は、ストレージシステムの構成を具体的に示す図である。
【0021】
図2に示すように、本実施の形態におけるストレージシステム1は、ストレージ制御装置10と、情報処理装置20、記憶部2、表示部30とを有する。
【0022】
ストレージ制御装置10は、特定部3に加えて、後述するファイル書き込み部21と、ファイル読み出し部22と、生成部23と、表示情報生成部24とを有する。ストレージ制御装置10は、情報処理装置20からファイルを受信し、受信したファイルを記憶部2に書き込む。ストレージ制御装置10は、記憶部2からファイルを読み出し、読み出したファイルを情報処理装置20へ送信する。また、ストレージ制御装置10は、記憶部2に記憶したファイルの記憶状態を示す表示画像を、表示部30に表示するための表示情報を生成して、表示部30へ出力する。
【0023】
記憶部2は、ストレージ制御装置10と通信をして、ファイルを記憶する。具体的には、記憶部2は、ファイルを分割したブロックデータと、ブロックデータに基づいて生成したコンテンツアドレスとを関連付けて記憶する。例えば、記憶部2は、HDD(Hard Disk Drive)、SSD(Solid State Drive)などの記憶媒体を用いて構築される。
【0024】
情報処理装置20は、必要に応じて、ストレージ制御装置10と通信をして、記憶部2へファイルを書き込み、又は、記憶部2からファイルを読み出す。情報処理装置20は、例えば、一つ以上のサーバコンピュータから構築される情報処理装置などである。
【0025】
表示部30は、ストレージ制御装置10と接続して用いる。表示部30は、例えば、CRT(Cathode Ray Tube)、液晶、有機EL(Electro Luminescence)などを用いたディスプレイ装置である。また、表示部30は、プリンタなどの印刷装置でもよい。
【0026】
次に、ストレージ制御装置10について具体的に説明する。
【0027】
ファイル書き込み部21は、まず、記憶部2へのファイルの書き込み要求を、情報処理装置20から受信する。続いて、ファイル書き込み部21は、書き込み要求を受信した後、情報処理装置20からファイルを受信する。続いて、ファイル書き込み部21は、ファ
イルを受信した後、予め設定したファイルを分割するための基準に従い、受信したファイルを分割してブロックデータを生成し、ブロックデータを圧縮して記憶部2へ記憶する。
【0028】
また、ファイル書き込み部21は、ブロックデータを生成した後、ブロックデータの内容に基づいてコンテンツアドレスを生成して、ブロックデータとコンテンツアドレスとを関連付けて記憶部2へ記憶する。ファイルは、記憶部2へ記憶される際、ファイルを分割したブロックデータに対応するコンテンツアドレスを用いて表される。コンテンツアドレスは、例えば、ブロックデータが有する情報を用いて生成したハッシュ値を用いる。
【0029】
ファイル書き込み部21について、
図3に示すコンテンツアドレスのツリー構造を用いて説明する。
図3は、ファイル書き込み動作を説明するための図である。
【0030】
図3に示すファイル「file2」を書き込む場合について説明する。ファイル書き込み部21は、情報処理装置20からファイル「file2」を受信した場合、ファイル「file2」を分割してブロックデータ(
図3に示す「BD21」など)を生成する。続いて、ファイル書き込み部21は、生成したブロックデータに基づいて、コンテンツアドレス(
図3に示す「CA41」など)を生成し、生成したブロックデータとコンテンツアドレスとを関連付けて記憶部2に記憶する。
【0031】
次に、ファイル「file3」を書き込む場合について説明する。ファイル書き込み部21は、情報処理装置20からファイル「file3」を受信した場合、ファイル「file3」を分割してブロックデータ(
図3に示す「BD21」「BD32」など)を生成する。続いて、ファイル書き込み部21は、生成したブロックデータに基づいて、コンテンツアドレス(
図3に示す「CA41」「CA52」など)を生成し、生成したブロックデータとコンテンツアドレスとを関連付けて記憶する。
【0032】
ただし、ブロックデータ「BD21」は、コンテンツアドレス「CA41」が関連付けられ、既にコンテンツアドレス「CA41」が示す記憶領域に記憶されているので、ファイル書き込み部21は、重複するブロックデータ「BD21」を記憶部2に記憶しない。
【0033】
このように、ブロックデータとコンテンツアドレスとを関連付けて、ブロックデータを共有化することで、重複するブロックデータを記憶部2に記憶しないようにできる。そのため、記憶部2の記憶容量を有効に活用することができる。
【0034】
ファイル読み出し部22は、ファイルを読み出す場合、まず、情報処理装置20から、ファイルを記憶部2から読み出す要求を受信し、読み出す要求を受信した後、情報処理装置20から読み出すファイルに関する、読み出すファイルの情報を受信する。続いて、ストレージ制御装置10は、読み出すファイルの情報を受信した後、読み出すファイルの情報に基づいて、記憶部2に分割して記憶されている、読み出すファイルに対応するブロックデータを取集し、ファイルを統合して復元する。その後、ファイル読み出し部22は、復元したファイルを、情報処理装置20へ送信する。
【0035】
生成部23は、ブロックデータを記憶部2へ記憶する場合、ブロックデータを識別するブロックデータ識別情報と、ファイルを識別するファイル識別情報と、ファイルに対するブロックデータのオフセット情報とを関連付けた管理情報を生成する。なお、既に共有化されているブロックデータが、記憶部2に記憶されている場合、生成部23は、管理情報のみを追加変更する。
【0036】
図3、
図4を用いて、生成部23について具体的に説明する。
図4は、管理情報のデータ構造の一例を示す図である。
図4に示す管理情報40は、ブロックデータを識別する「
ブロックデータ識別情報」と、ファイルを識別する「ファイル識別情報」と、ファイルに対するコンテンツアドレスの配置を示す「オフセット情報」とが関連付けられて記憶されている。管理情報40は、例えば、記憶部2又はストレージ制御装置10のいずれかに記憶されている。
【0037】
「ブロックデータ識別情報」には、ブロックデータを示す「BD11」「BD12」「BD21」「BD32」が記憶されている。
【0038】
「ファイル識別情報」には、例えば、ファイルを識別する情報として、ルートディレクトリから対象のファイルまでのパスを記憶する。
図4の例では、ブロックデータ「BD11」に対応する「/dir1/file1」「/dir1/file1」、ブロックデータ「BD12」に対応する「/dir1/file2」、ブロックデータ「BD21」に対応する「/dir2/file3」、ブロックデータ「BD32」に対応する「/dir2/file3」が記憶されている。
【0039】
「オフセット情報」には、例えば、ファイルに対するコンテンツアドレスの配置を示すオフセット情報「0」「1」が記憶されている。オフセット情報「0」は、対象のコンテンツアドレスがファイルの先頭(一番目)に配置されていることを示している。また、オフセット情報「1」は、対象のコンテンツアドレスがファイルの二番目に配置されていることを示している。なお、対象のコンテンツアドレスがN番目に配置されている場合、オフセット情報は「N-1」とする。Nは3以上の正の整数である。
【0040】
具体的には、生成部23は、ファイル「file2」に属するブロックデータ「BD21」を記憶部2に書き込む場合、ブロックデータ「BD21」を識別するブロックデータ識別情報「BD21」と、ブロックデータ「BD21」が属するファイルを識別するファイル識別情報「/dir1/file2」と、ファイル「file2」の先頭からのオフセットを示す情報「0」とを関連付けて管理情報40に記憶する。
【0041】
また、ファイル「file3」に属するブロックデータ「BD21」を記憶部2に書き込む場合、生成部23は、ブロックデータ「BD21」が属するファイル名「/dir2/file3」と、ファイル「file3」の先頭からのオフセット情報「0」とを関連付けて管理情報40に記憶する。
【0042】
このように、生成部23は、ブロックデータを記憶部2へ記憶するごとに、管理情報を更新することで、データブロック側からファイルを逆引きできるようなる。その結果、共有化したブロックデータが属するファイルを特定することができる。
【0043】
特定部3は、コンテンツアドレスを関連付けて共有化したブロックデータに対応する、ブロックデータ識別情報を用いて、管理情報40を参照し、ブロックデータが属するファイルを特定する。
【0044】
具体的には、特定部3は、
図3、
図4に示すツリー構造のような場合、ブロックデータ「BD21」の識別情報を用いて、管理情報40を参照し、ブロックデータ識別情報「BD21」に対応する、ファイル識別情報「/dir1/file2」とオフセット情報「0」とを選択する。また、特定部3は、「/dir2/file3」とオフセット情報「0」とを選択する。
【0045】
続いて、記憶容量の削減効果を利用者に提示する場合、特定部3は、表示情報生成部24へ特定結果を出力する。具体的には、特定部3は、特定結果として、ブロックデータ識別情報「BD21」と、ブロックデータ識別情報「BD21」に関連するファイル識別情
報「/dir1/file2」とオフセット情報「0」、及び、「/dir2/file3」とオフセット情報「0」を、表示情報生成部24へ出力する。
【0046】
表示情報生成部24は、共有化したブロックデータと、共有化したブロックデータが属するファイルと、共有化したブロックデータに対応するコンテンツアドレスとを関連付けた表示画像を、表示部30に表示させるための表示情報を生成する。その後、表示情報生成部24は、表示情報を表示部30へ出力する。
【0047】
図3、
図4、
図5を用いて具体的に説明する。
図5は、共有化したブロックデータの状態を示す図である。表示情報生成部24は、共有化したブロックデータ「BD21」について、記憶容量の削減効果を利用者に提示する場合、特定部3から、ブロックデータ「BD21」に対する特定結果を取得する。
【0048】
続いて、表示情報生成部24は、特定結果に基づいて、表示部30に、
図5に示したような表示画像1、表示画像2を表示させるための表示情報を生成する。例えば、
図5に示す表示画像1は、ファイル「file2」におけるブロックデータ「BD21」に対する、圧縮前と圧縮後の状態、及びコンテンツアドレスを表示している。また、
図5に示す表示画像2は、ファイル「file3」におけるブロックデータ「BD21」「BD32」に対する、圧縮前と圧縮後の状態、及びコンテンツアドレスを表示している。
【0049】
なお、表示部30への表示は、
図5に示すように、表示画像1と表示画像2とを一緒に表示させてもよいし、表示画像1又は表示画像2だけを表示させてもよい。また、コンテンツアドレスが関連付けられたブロックデータ全てに関して表示してもよいし、又は利用者が選択したブロックデータに関してのみ表示してもよいし、又は重複しているブロックデータに関してのみ表示をしてもよい。
【0050】
また、
図5に示すように、ブロックデータの圧縮率を図形の形状を変化させて表してもよい。また、重複の有無をブロックデータの色を変えて表してもよい。例えば、複数のファイルにおいて重複しているブロックデータは、ブロックデータに対応する図形の色を濃くする。
【0051】
また、
図5に示すように、ブロックデータに対応する図形の先頭位置を揃えて、圧縮効果を利用者に分かり易く表示してもよい。
【0052】
更に、表示部30に表示する表示画像は、
図3に示したような、ツリー構造を示す表示画像としてもよい。特に、重複するブロックデータと、当該ブロックデータに対応するコンテンツアドレスと、当該コンテンツアドレスを有するファイルとの関係を表示画像に反映する。
図3に示した例では、ファイル「file2」のコンテンツアドレス「CA41」及びファイル「file3」のコンテンツアドレス「CA41」が、ブロックデータ「BD21」を参照していることを表示している。なお、
図3において、メタデータを示す点描領域(「dir1」「dir2」)(「file1」「file2」)「file3」は、ディレクトリ名、ファイル名、ファイルが書き込まれた日時などが記憶されている。
【0053】
このように、ブロックデータが属する複数のファイルを特定することで、複数のファイルに分散している、共有化したブロックデータごとに、記憶容量の削減効果を、利用者に提示できる。すなわち、記憶容量の削減効果を、利用者に直感的に伝えられる。
【0054】
[装置動作]
次に、本発明の実施の形態におけるストレージ制御装置10の動作について
図6を用い
て説明する。
図6は、ストレージ制御装置の動作の一例を示す図である。以下の説明においては、適宜
図2から
図5を参酌する。また、本実施の形態では、ストレージ制御装置10を動作させることにより、ストレージ制御方法が実施される。よって、本実施の形態におけるストレージ制御方法の説明は、以下のストレージ制御装置10の動作説明に代える。
【0055】
図6に示すように、最初に、ファイル書き込み部21は、ブロックデータと、コンテンツアドレスとを関連付けて記憶部に書き込む(ステップA1)。また、生成部23は、ブロックデータを記憶する場合、管理情報を生成する(ステップA2)。
【0056】
更に、例えば、利用者に記憶容量の削減効果を利用者に提示する場合、特定部3は、既にコンテンツアドレスを関連付けて共有化したブロックデータが属するファイルを特定する(ステップA3)。続いて、表示情報生成部24は、表示画像を、表示部30に表示させるための表示情報を生成する(ステップA4)。
【0057】
ステップA1において、ファイル書き込み部21は、情報処理装置20から、記憶部2へ書き込むファイルを受信した後、予め設定したファイルを分割するための基準に従い、受信したファイルを分割してブロックデータを生成し、圧縮して記憶部2へ記憶する。また、ファイル書き込み部21は、ブロックデータを生成した後、ブロックデータの内容に基づいてコンテンツアドレスを生成して、ブロックデータとコンテンツアドレスとを関連付けて記憶部2へ記憶する。
【0058】
ステップA2において、生成部23は、ブロックデータを記憶部2へ記憶する場合、ブロックデータ識別情報と、ファイル識別情報と、ファイルに対するブロックデータのオフセット情報とを関連付けて管理情報を生成する。なお、既に共有化されているブロックデータが、記憶部2に記憶されている場合、生成部23は、管理情報のみを追加変更する。
【0059】
ステップA3において、特定部3は、コンテンツアドレスを関連付けて共有化したブロックデータに対応する、ブロックデータ識別情報を用いて、管理情報を参照し、ブロックデータが属するファイルを特定する。また、特定部3は、記憶容量の削減効果を利用者に提示する場合、表示情報生成部24へ特定結果を出力する。
【0060】
ステップA4において、表示情報生成部24は、共有化したブロックデータと、共有化したブロックデータが属するファイルと、共有化したブロックデータに対応するコンテンツアドレスとを関連付けた表示画像を、表示部30に表示させるための表示情報を生成し、表示部30へ出力する。表示部30へ表示する表示画像は、例えば、
図3、
図5などである。
【0061】
[本実施の形態の効果]
以上のように本実施の形態によれば、記憶部2に記憶した、共有化したブロックデータを検出した場合、既にコンテンツアドレスを関連付けて共有化したブロックデータが属するファイルを特定できる。
【0062】
また、本実施の形態によれば、ブロックデータが属する複数のファイルを特定できるので、複数のファイルに分散されている、共有化したブロックデータごとに、記憶容量の削減効果を、利用者に提示できる。すなわち、記憶容量の削減効果を、利用者に直感的に伝えられる。
【0063】
[プログラム]
本発明の実施の形態におけるプログラムは、コンピュータに、
図5に示すステップA1
からA4を実行させるプログラムであればよい。このプログラムをコンピュータにインストールし、実行することによって、本実施の形態におけるストレージ制御装置10とストレージ制御方法とを実現することができる。この場合、コンピュータのプロセッサは、ファイル書き込み部21、ファイル読み出し部22、生成部23、特定部3、表示情報生成部24として機能し、処理を行なう。
【0064】
また、本実施の形態では、ファイル書き込み部21、ファイル読み出し部22、生成部23、特定部3、表示情報生成部24は、コンピュータに備えられたハードディスクなどの記憶装置に、これらを構成するデータファイルを格納することによって、又はこのデータファイルが格納された記録媒体をコンピュータと接続された読取装置に搭載することによって実現されている。
【0065】
また、本実施の形態におけるプログラムは、複数のコンピュータによって構築されたコンピュータシステムによって実行されてもよい。この場合は、例えば、各コンピュータが、それぞれ、ファイル書き込み部21、ファイル読み出し部22、生成部23、特定部3、表示情報生成部24のいずれかとして機能してもよい。
【0066】
また、本実施の形態におけるプログラムを実行するコンピュータとは別のコンピュータ上に構築されていてもよい。
【0067】
[物理構成]
ここで、実施の形態におけるプログラムを実行することによって、ストレージ制御装置10を実現するコンピュータについて
図7を用いて説明する。
図7は、本発明の実施の形態におけるストレージ制御装置を実現するコンピュータの一例を示すブロック図である。
【0068】
図7に示すように、コンピュータ110は、CPU111と、メインメモリ112と、記憶装置113と、入力インターフェイス114と、表示コントローラ115と、データリーダ/ライタ116と、通信インターフェイス117とを備える。これらの各部は、バス121を介して、互いにデータ通信可能に接続される。なお、コンピュータ110は、CPU111に加えて、又はCPU111に代えて、GPU(Graphics Processing Unit)、又はFPGA(Field-Programmable Gate Array)を備えていてもよい。
【0069】
CPU111は、記憶装置113に格納された、本実施の形態におけるプログラム(コード)をメインメモリ112に展開し、これらを所定順序で実行することにより、各種の演算を実施する。メインメモリ112は、典型的には、DRAM(Dynamic Random Access Memory)等の揮発性の記憶装置である。また、本実施の形態におけるプログラムは、コンピュータ読み取り可能な記録媒体120に格納された状態で提供される。なお、本実施の形態におけるプログラムは、通信インターフェイス117を介して接続されたインターネット上で流通するものであってもよい。
【0070】
また、記憶装置113の具体例としては、ハードディスクドライブの他、フラッシュメモリ等の半導体記憶装置があげられる。入力インターフェイス114は、CPU111と、キーボード及びマウスといった入力機器118との間のデータ伝送を仲介する。表示コントローラ115は、ディスプレイ装置119と接続され、ディスプレイ装置119での表示を制御する。
【0071】
データリーダ/ライタ116は、CPU111と記録媒体120との間のデータ伝送を仲介し、記録媒体120からのプログラムの読み出し、及びコンピュータ110における処理結果の記録媒体120への書き込みを実行する。通信インターフェイス117は、CPU111と、他のコンピュータとの間のデータ伝送を仲介する。
【0072】
また、記録媒体120の具体例としては、CF(Compact Flash(登録商標))及びSD(Secure Digital)等の汎用的な半導体記憶デバイス、フレキシブルディスク(Flexible Disk)等の磁気記録媒体、又はCD-ROM(Compact Disk Read Only Memory)などの光学記録媒体があげられる。
【産業上の利用可能性】
【0073】
以上のように本発明によれば、共有化したブロックデータが属するファイルを特定できる。本発明は、共有化したブロックデータが属するファイルの特定が必要な分野において有用である。
【符号の説明】
【0074】
1 ストレージシステム
2 記憶部
3 特定部
10 ストレージ制御装置
20 情報処理装置
21 ファイル書き込み部
22 ファイル読み出し部
23 生成部
24 表示情報生成部
30 表示部
110 コンピュータ
111 CPU
112 メインメモリ
113 記憶装置
114 入力インターフェイス
115 表示コントローラ
116 データリーダ/ライタ
117 通信インターフェイス
118 入力機器
119 ディスプレイ装置
120 記録媒体
121 バス