(57)【要約】【課題】アーカイブを格納するアーカイブストレージ装置において、データの重複を検出し、データの重複を管理するインデックスを作成し、重複するデータをまとめて圧縮するアーカイブストレージ装置を提供する。【解決手段】アーカイブストレージ装置１０は、少なくとも１つ以上の外部ストレージ装置２０に格納されているデータを読み出して格納するアーカイブストレージ装置であって、読み出したデータのファイルの種別を判定する名前空間管理手段１１と、判定されたファイルの種別ごとにデータを分割するデータ分割手段１２と、分割されたデータにおける重複の度合いに応じてファイルをグループ化するとともに、グループ化するファイルのインデックスを作成するデータグループ制御手段１３と、重複するデータを代替データに置き換えて、代替データをグループ化されたグループ単位でまとめて圧縮するデータ処理手段１４とを備える。【選択図】図５
2010287167.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つ以上の外部ストレージ装置に格納されているデータを読み出して格納するアーカイブストレージ装置であって、
前記外部ストレージ装置から読み出したデータのファイルの種別を判定する名前空間管理手段と、
前記名前空間管理手段によって判定されたファイルの種別ごとにデータを分割するデータ分割手段と、
前記データ分割手段によって分割されたデータにおける重複の度合いに応じてファイルをグループ化するとともに、グループ化するファイルのインデックスを作成するデータグループ制御手段と、
重複するデータを代替データに置き換えて、前記代替データを前記データグループ制御手段によってグループ化されたグループ単位でまとめて圧縮するデータ処理手段とを備えた
ことを特徴とするアーカイブストレージ装置。
【請求項２】
データ分割手段は、ファイルの種別ごとに異なる分割方法でデータを分割する
請求項１記載のアーカイブストレージ装置。
【請求項３】
データ処理手段は、外部ストレージ装置から読み出したデータがファイルの種別に対応するデータ分割手段によって分割されない場合、または、当該データのファイルがデータグループ制御手段によってグループ化されなかった場合には、当該データをファイル単位で圧縮する
請求項１または請求項２記載のアーカイブストレージ装置。
【請求項４】
データ制御手段は、アーカイブストレージ装置に格納されているデータの読み出しを要求された場合に、当該データのファイルが属するグループを判定し、
データ処理手段は、前記データグループ制御手段に判定されたグループに関するインデックスを示すインデックスデータ、および圧縮データを元に当該データを展開する
請求項１から請求項３のうちのいずれか１項に記載のアーカイブストレージ装置。
【請求項５】
データ処理手段は、アーカイブストレージ装置に格納されているデータの読み出しを要求された場合に、当該データのファイルが属するグループに関するインデックスを示すインデックスデータを保存し、インデックスデータおよび圧縮データを元に、当該データのファイルと同じグループに属する他のファイルのデータも展開する
請求項４に記載のアーカイブストレージ装置。
【請求項６】
少なくとも１つ以上のデータアクセスクライアントと、少なくとも１つ以上の外部ストレージ装置と、前記外部ストレージ装置に格納されているデータを読み出して格納するアーカイブストレージ装置とがネットワークを介して接続されるストレージシステムであって、
前記外部ストレージ装置は、前記データアクセスクライアントからの命令に応じてデータを格納し、
前記アーカイブストレージ装置は、
前記外部ストレージ装置から読み出したデータのファイルの種別を判定する名前空間管理手段と、
前記名前空間管理手段によって判定されたファイルの種別ごとにデータを分割するデータ分割手段と、
前記データ分割手段によって分割されたデータにおける重複の度合いに応じてファイルをグループ化するとともに、グループ化するファイルのインデックスを作成するデータグループ制御手段と、
重複するデータを代替データに置き換えて、前記代替データを前記データグループ制御手段によって生成されたグループ単位でまとめて圧縮するデータ処理手段とを備えた
ことを特徴とするストレージシステム。
【請求項７】
データ分割手段は、ファイルの種別ごとに異なる分割方法でデータを分割する
請求項６記載のストレージシステム。
【請求項８】
少なくとも１つ以上の外部ストレージ装置に格納されているデータを読み出して格納するアーカイブストレージ装置におけるデータ格納方法であって、
前記外部ストレージ装置から読み出したデータのファイルの種別を判定し、
前記判定したファイルの種別ごとにデータを分割し、
前記分割したデータにおける重複の度合いに応じてファイルをグループ化するとともに、グループ化するファイルのインデックスを作成し、
重複するデータを代替データに置き換えて、前記代替データを前記グループ化されたグループ単位でまとめて圧縮する
ことを特徴とするデータ格納方法。
【請求項９】
ファイルの種別ごとに異なる分割方法でデータを分割する
請求項８記載のデータ格納方法。
【請求項１０】
少なくとも１つ以上の外部ストレージ装置に格納されているデータを読み出して格納するアーカイブストレージ装置に備えられたコンピュータに、
前記外部ストレージ装置から読み出したデータのファイルの種別を判定する処理と、
前記判定したファイルの種別ごとにデータを分割する処理と、
前記分割したデータにおける重複の度合いに応じてファイルをグループ化するとともに、グループ化するファイルのインデックスを作成する処理と、
重複するデータを代替データに置き換えて、前記代替データを前記グループ化されたグループ単位でまとめて圧縮する処理とを実行させるための
データ格納プログラム。
【請求項１１】
コンピュータに、
ファイルの種別ごとに異なる分割方法でデータを分割する処理を実行させるための
請求項１０記載のデータ格納プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のコンピューティング端末で生成されたデータを集中的に格納するアーカイブストレージ装置、ストレージシステム、データ格納方法、およびデータ格納プログラムに関する。
【背景技術】
【０００２】
複数のコンピューティング端末で生成されたデータを集中的に格納するストレージ装置において、ハードディスクドライブなどの物理的な記憶媒体にデータを格納する段階で、データに圧縮処理をかけることにより、物理的な記録容量を削減することが可能である。このデータの圧縮処理を前提としたデータの格納手法として、デ・デュプリケーション（Ｄｅｄｕｐｌｉｃａｔｉｏｎ）と呼ばれる方法がある。
【０００３】
デ・デュプリケーションは、ストレージ装置に格納するデータ群の中から同一のバイト列からなる重複データ群を検出し、重複データの１つを物理的に格納することによって、論理的には複数のデータが格納されていることを再現可能にする。デ・デュプリケーションは、通常、ファイル単位またはファイルを構成するデータブロック単位でデータの重複の判定を行なう。データの重複判定を行う際には、ディジタル認証で用いられているＳＨＡ１やＭＤ５などのハッシュ関数により生成された数十〜数百ビットのサイズの小さいダイジェストデータを使ってデータ同士を比較判定する。そのため、重複判定にかかる処理コストを削減することが可能である。
【０００４】
このようなデータの重複判定処理を前提とするストレージ装置の記録容量の削減手段は、ファイルやファイルを構成するデータブロック単位でのデータの重複が多数見込まれることを前提としたコンピューティング環境においては、情報源符号化に基づくデータ圧縮処理よりも処理負荷が低く、かつ一定以上のデータ削減効果も見込める。そのため、ストレージ装置における物理的なデータの記憶容量の削減手段の１つとして利用が進んでいる。
【０００５】
特許文献１には、デ・デュプリケート機能および全文検索機能を備えるストレージシステムが記載されている。特許文献１に記載されたストレージシステムでは、ストレージ装置に格納するファイルについて、メタデータなどを除くデータ本体が同一である中身同一ファイルを検出し、中身同一ファイルの代表ファイルを記憶領域に格納し、記憶領域への格納を１回に抑える。また、複数の中身同一ファイルに対応するインデックスデータにもデ・デュプリケーションを行い、重複したインデックスデータを作成および保持しないようにすることで、インデックスデータの量を削減し、記憶資源を節約する。
【０００６】
大規模なデータを管理するという観点においては、データを格納する際に、データのライフサイクルを定義することにより、時系列によるデータの使用頻度やデータ廃棄時期を設定する仕組みがある。時系列によるデータの使用頻度やデータ廃棄時期を設定することによって、データの配置場所やデータ削除をストレージ装置側で制御し、大規模なデータを管理する場合であってもＩ／Ｏ処理のサービスレベルを一定に保つことができる。また、業務種別などの外部のコンピューティング端末で実行されるアプリケーションや業務内容などに応じたデータの種別をメタデータとして付与することによって、データのライフサイクルの定義を簡略化するなどの工夫が行なわれている。
【０００７】
このようなデータのライフサイクル管理を行うことを前提とした場合、データに対する変更や読み出し処理が行われなくなったデータ、つまりＩ／Ｏ処理が発生する可能性が低いデータを検出し、それらのデータのみを対象にデ・デュプリケート処理を施すことにより、少なくともデータ圧縮時の処理をＩ／Ｏ処理サービスとは独立して実行することができるので、データ圧縮処理をＩ／Ｏ処理の実行時間内に済ませる必要がなくなるというアプローチも存在する。例えば、アーカイブにされたデータは、データに対するＩ／Ｏ処理が発生する可能性が低いと考えられる。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００８−１５８９９３号公報（段落００１２−００１６）
【発明の概要】
【発明が解決しようとする課題】
【０００９】
ストレージ装置へのデ・デュプリケーションの適用においては、予めデータの重複の予測が立つようなバックアップデータの保存などに用途を絞ることにより、ファイルや比較的サイズの大きなブロック単位でのデータの重複判定処理を利用してデータを圧縮し、ストレージへのデータの格納容量を削減することが可能である。しかし、データの重複が予測できないデータ、例えば、様々なデータが混在する汎用的に使われているストレージにおいては、デ・デュプリケーションによりデータをファイル単位、または比較的サイズの大きなブロック単位で分割しても、データの重複を検出できない可能性があり、ストレージへのデータの格納容量を削減することができないという課題がある。
【００１０】
この課題を解決するために、一意にデータの分割単位をより小さくすることにより、データの重複をより多く検出する方法も考えられるが、データの重複を管理するインデックスが巨大化するとともに、インデックスデータ自体がストレージ装置内のメモリに搭載しきれず、ハードディスク装置などのより低速な媒体に格納されることになり、結果としてデータの圧縮／展開処理能力が劣化する。
【００１１】
特許文献１に記載されたストレージシステムでは、データが重複するファイルのインデックスデータにデ・デュプリケーションを行い、重複したインデックスデータを作成および保持しないようにすることで、インデックスデータの増加を抑えることができるが、データの分割単位を小さくした場合に、データの重複を管理するインデックスが巨大化する問題に対応するものではない。
【００１２】
また、データ圧縮の他のアプローチとして、より小さな単位のデータの重複を検出する情報源符号化をベースとした圧縮／展開アプリケーションを用いる手法が考えられるが、圧縮／展開の単位がファイルなどの小さなデータ単位でしか実現できないため、ファイル間での重複を排除することが出来ない場合や、外部からストレージ装置へのデータ格納の段階で既に圧縮処理が施されているようなファイルについては、データの圧縮効果が見られない場合がある。
【００１３】
そこで、本発明は、データの更新が発生しないアーカイブを格納するアーカイブストレージ装置において、従来のデ・デュプリケーションによるデータ圧縮手法や情報源符号化に基づくデータ圧縮手法では検出できないデータの重複を検出し、データの重複を管理するインデックスを作成し、重複するデータをまとめて圧縮するアーカイブストレージ装置、ストレージシステム、データ格納方法、およびデータ格納プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１４】
本発明によるアーカイブストレージ装置は、少なくとも１つ以上の外部ストレージ装置に格納されているデータを読み出して格納するアーカイブストレージ装置であって、外部ストレージ装置から読み出したデータのファイルの種別を判定する名前空間管理手段と、名前空間管理手段によって判定されたファイルの種別ごとにデータを分割するデータ分割手段と、データ分割手段によって分割されたデータにおける重複の度合いに応じてファイルをグループ化するとともに、グループ化するファイルのインデックスを作成するデータグループ制御手段と、重複するデータを代替データに置き換えて、代替データをデータグループ制御手段によってグループ化されたグループ単位でまとめて圧縮するデータ処理手段とを備えたことを特徴とする。
【００１５】
本発明によるストレージシステムは、少なくとも１つ以上のデータアクセスクライアントと、少なくとも１つ以上の外部ストレージ装置と、外部ストレージ装置に格納されているデータを読み出して格納するアーカイブストレージ装置とがネットワークを介して接続されるストレージシステムであって、外部ストレージ装置は、データアクセスクライアントからの命令に応じてデータを格納し、アーカイブストレージ装置は、外部ストレージ装置から読み出したデータのファイルの種別を判定する名前空間管理手段と、名前空間管理手段によって判定されたファイルの種別ごとにデータを分割するデータ分割手段と、データ分割手段によって分割されたデータにおける重複の度合いに応じてファイルをグループ化するとともに、グループ化するファイルのインデックスを作成するデータグループ制御手段と、重複するデータを代替データに置き換えて、代替データをデータグループ制御手段によって生成されたグループ単位でまとめて圧縮するデータ処理手段とを備えたことを特徴とする。
【００１６】
本発明によるデータ格納方法は、少なくとも１つ以上の外部ストレージ装置に格納されているデータを読み出して格納するアーカイブストレージ装置におけるデータ格納方法であって、外部ストレージ装置から読み出したデータのファイルの種別を判定し、判定したファイルの種別ごとにデータを分割し、分割したデータにおける重複の度合いに応じてファイルをグループ化するとともに、グループ化するファイルのインデックスを作成し、重複するデータを代替データに置き換えて、代替データをグループ化されたグループ単位でまとめて圧縮することを特徴とする。
【００１７】
本発明によるデータ格納プログラムは、少なくとも１つ以上の外部ストレージ装置に格納されているデータを読み出して格納するアーカイブストレージ装置に備えられたコンピュータに、外部ストレージ装置から読み出したデータのファイルの種別を判定する処理と、判定したファイルの種別ごとにデータを分割する処理と、分割したデータにおける重複の度合いに応じてファイルをグループ化するとともに、グループ化するファイルのインデックスを作成する処理と、重複するデータを代替データに置き換えて、代替データをグループ化されたグループ単位でまとめて圧縮する処理とを実行させることを特徴とする。
【発明の効果】
【００１８】
本発明によれば、データの更新が発生しないアーカイブを格納するアーカイブストレージ装置において、従来のデ・デュプリケーションによるデータ圧縮手法や情報源符号化に基づくデータ圧縮手法では検出できないデータの重複を検出し、データの重複を管理するインデックスを作成し、重複するデータをまとめて圧縮することによって、アーカイブストレージ装置の用途によらず、データの圧縮率を高めることができる。
【図面の簡単な説明】
【００１９】
【図１】本発明によるアーカイブストレージ装置を含むストレージシステムの一実施形態の構成を示すブロック図である。
【図２】図１に示すデータグループ管理部の構成を示すブロック図である。
【図３】図１に示すストレージシステムにおいて、アーカイブストレージ装置が外部ストレージ装置に格納されているデータを格納する動作を示すフローチャートである。
【図４】図１に示すストレージシステムにおいて、アーカイブストレージ装置がデータアクセスクライアントからデータの読み出しを要求される場合の動作を示すフローチャートである。
【図５】本発明によるアーカイブストレージ装置の主要部を示すブロック図である。
【発明を実施するための形態】
【００２０】
図１は、本発明によるアーカイブストレージ装置を含むストレージシステムの一実施形態の構成を示すブロック図である。図１を参照して、本発明によるストレージシステムの一実施形態の構成を説明する。
【００２１】
図１に示すストレージシステムは、少なくとも１台以上のデータアクセスクライアント１、少なくとも１台以上の外部ストレージ装置２、およびアーカイブストレージ装置１００を備える。データアクセスクライアント１と、外部ストレージ装置２と、アーカイブストレージ装置１００とは、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）などのネットワーク３を介して相互に接続されている。
【００２２】
データアクセスクライアント１は、例えば、プログラムに従って動作するパーソナルコンピュータなどの情報処理装置である。データアクセスクライアント１は、ネットワーク３を介して外部ストレージ装置２およびアーカイブストレージ装置１００にアクセスする。データアクセスクライアント１は、ＮＦＳ（Ｎｅｔｗｏｒｋ  Ｆｉｌｅ  Ｓｙｓｔｅｍ）やＣＩＦＳ（Ｃｏｍｍｏｎ  Ｉｎｔｅｒｎｅｔ  Ｆｉｌｅ  Ｓｙｓｔｅｍ）に代表されるネットワークファイルシステムなどを利用して、外部ストレージ装置２やアーカイブストレージ装置１００が格納するデータにアクセスする。
【００２３】
外部ストレージ装置２は、例えば、ＮＡＳ（Ｎｅｔｗｏｒｋ  Ａｔｔａｃｈｅｄ  Ｓｔｏｒａｇｅ）やファイルサーバである。外部ストレージ装置２は、データアクセスクライアント１などの外部装置からの命令を受けると、ファイルなどのデータの格納単位に基づいてデータの格納を行う。外部ストレージ装置２は、データの読み出し手段および書き込み手段（図示せず）を備える。
【００２４】
アーカイブストレージ装置１００は、外部ストレージ２に格納されているデータを読み出して集中的に格納する。アーカイブストレージ装置１００は、名前空間管理部１０１、データグループ管理部１０２、データ格納部１０３、インデックス管理部１０４、外部ストレージ装置管理部１０５および名前空間データ格納部１０６を備える。アーカイブストレージ装置１００では、例えば、ＣＰＵがプログラムに従って制御を行う。
【００２５】
名前空間管理部１０１は、アーカイブストレージ装置１００内に格納するデータの名前、作成時間およびアクセス時間などのシステムメタデータと、格納するデータに対してデータアクセスクライアント１によって明示的に付与されるその他のメタデータと、アーカイブストレージ装置１００内でのデータ格納先を示すアドレス情報とを格納する。さらに、名前空間管理部１０１は、データアクセスクライアント１からの要求に応じて、アーカイブストレージ装置１００内に格納されている各種のデータを提供する。
【００２６】
図２は、図１に示すデータグループ管理部の構成を示すブロック図である。データグループ管理部１０２は、データ圧縮／展開処理部１５１、データグループ制御部１５２および管理データ格納部１５３を備える。
【００２７】
データ圧縮／展開処理部１５１は、データの種別ごとにデータの内部を解析し、データを分割するデータ解析モジュール１５４を複数含み、データの種別に合致するデータ解析モジュールを用いて、データの圧縮／展開処理を実施する。なお、解析モジュール１５４は、データの種別ごとに異なる方法で、データを分割することができる。データグループ制御部１５２は、複数のデータ群をグループとしてまとめる制御を行う。また、データグループ制御部１５２は、データ圧縮／展開部１５１がデータの圧縮／展開処理を実施する際に、名前空間管理部１０１から入出力される圧縮前または圧縮後のデータをデータ圧縮／展開部１５１に転送する。管理データ格納部１５３は、グループとしてまとめた複数のデータに関してデータグループ制御部１５２が作成した、個々のファイルとグループとの対応関係を示すリスト、そのグループに関連する圧縮後のデータ、および圧縮に用いたインデックスデータの格納先アドレスを格納する。
【００２８】
データ格納部１０３は、データグループ管理部１０２で圧縮処理された圧縮データを格納する。インデックスデータ格納部１０４は、データグループ管理部１０２でデータの圧縮処理が行われる際に作成されるインデックスデータを格納する。
【００２９】
外部ストレージ装置管理部１０５は、ネットワーク３を介して外部ストレージ装置２に定期的にアクセスし、外部ストレージ装置２に格納されているデータのシステムメタデータ等を参照して、データアクセスクライアント１からのアクセス頻度が低いデータ群を抽出する。名前空間データ格納部１０６は、アーカイブストレージ装置１００に格納されたファイル等の名前およびシステムメタデータを格納する。
【００３０】
図３は、図１に示すストレージシステムにおいて、アーカイブストレージ装置が外部ストレージ装置に格納されているデータを格納する動作を示すフローチャートである。図３を参照して、外部ストレージ装置２がファイルを取り扱うＮＡＳやファイルサーバである場合に、アーカイブストレージ装置１００が、外部ストレージ装置２に格納されているファイルデータをアーカイブストレージ装置１００に格納する動作を説明する。
【００３１】
まず、外部ストレージ装置２に格納されているファイルデータの中から、アーカイブストレージ装置１００に格納するファイルデータを決定するために、外部ストレージ装置管理部１０５は、予め決められた日時や周期に従い、定期的に外部ストレージ装置２に格納されているすべてのファイルのシステムメタデータを取得する。外部ストレージ装置管理部１０５は、取得したシステムメタデータの中から、ファイル名、格納先アドレスおよび最終アクセス時間等のデータを抽出し、外部ストレージ装置管理部１０５内にリスト化して保存する。なお、取得したシステムメタデータが、外部ストレージ装置管理部１０５が保存するリストに既に登録されているファイルに関するものであった場合には、リストの情報を最新の情報に更新し、外部ストレージ装置管理部１０５が保存するリストに登録されていないファイルに関するものであった場合には、リストに当該ファイルの情報を追加する。また、外部ストレージ装置管理部１０５が保存するリストには登録されているが、既に外部ストレージ装置２に存在していないファイルが存在していた場合には、リストから当該ファイルの情報を削除する。
【００３２】
さらに、外部ストレージ装置管理部１０５は、予め決められた日時や周期に従い、外部ストレージ装置管理部１０５が保存するリストに登録された各ファイルに関する最終アクセス時間と、予め決められたアーカイブストレージ装置１００へのデータの移行条件に含まれている無アクセス期間とを比較し、アーカイブストレージ装置１００へのデータの移行条件を満たすファイル（移行対象となるファイル）群を抽出する。なお、例えば、システム管理者等が、外部ストレージ装置２におけるファイルの格納先アドレスが含まれたファイルのリストを外部ストレージ装置管理部１０５に登録して、移行対象となるファイルを直接特定するなど、他の手順によって移行対象となるファイル群を特定してもよい。
【００３３】
外部ストレージ装置管理部１０５において移行対象となるファイルが特定された後、外部ストレージ装置管理部１０５は、移行対象となるファイルのリストを名前空間管理部１０１に送信する（ステップＳ１０１）。名前空間管理部１０１は、送信されたリストに登録されているファイル格納先アドレスを元に、外部ストレージ装置２からファイルデータを取得する（ステップＳ１０２）。名前空間管理部１０１は、送信されたリストに登録されているすべてのファイルに対して、ファイル名に記載されている拡張子を抽出し、ファイルの種別を判定する（ステップＳ１０３）。
【００３４】
ステップＳ１０３においてファイルの種別を判定すると、名前空間管理部１０１は、リスト内に登録されているファイルの種別のデータ解析モジュールが存在するかどうか、データグループ管理部１０２に問い合わせる。データグループ管理部１０２は、名前空間管理部１０１からの問い合わせをデータグループ制御部１５２で受け取り、問い合わせのファイルの種別に関連付けられるデータ種別に対応するデータ解析モジュール１５４がデータ圧縮／展開処理部１５１に存在するかどうかを確認する（ステップＳ１０４）。
【００３５】
ステップＳ１０４において、対応するデータ解析モジュール１５４がデータ圧縮／展開処理部１５１に存在する場合には（ステップＳ１０４のＹ）、データグループ制御部１５２は、データ解析モジュール１５４が存在していることを名前空間管理部１０１に通知する。名前空間管理部１０１は、データグループ制御部１５２から通知を受けると、リストに登録されているファイルデータのうち、対応するデータの種別の個々のファイルデータを外部ストレージ装置２より読み出し、データグループ管理部１０２に転送する。
【００３６】
データグループ管理部１０２のデータグループ制御部１５２は、名前空間管理部１０１から転送されたファイルデータをデータ圧縮／展開処理部１５１に転送し、ファイルデータのデータの種別に対応するデータ解析モジュール１５４に、データの種別に応じたデータの分割処理を実行させる。データグループ制御部１５２は、分割処理が行われた各データ（以降、要素データと呼ぶ。）のうち、各ファイル単位で要素データの頻出回数をカウントし、頻出回数の上位から所定のＮ個までの要素データを抽出する。さらに、データグループ制御部１５２は、要素データの頻出回数を基に、データ移行対象となっているファイル群の中から、同じ要素データ（重複する要素データ）から構成されるファイルを抽出してグループ化し、要素データのインデックスを作成するとともに、個々のファイルとグループとの対応関係を示すリストを管理データ格納部１５３に格納する（ステップＳ１０５）。なお、インデックスを作成する際に、データグループ制御部１５２は、グループを構成する重複する要素データの総数から、そのデータを表現できるデータ長を算出し、要素データを置き換える代替データを生成し、代替データおよびインデックスから要素データを読み出すことができるように要素データのインデックスを作成する。
【００３７】
次に、データグループ制御部１５２は、データ圧縮／展開処理部１５１に、インデックスと、グループに含まれているファイルデータとを転送する。データ圧縮／展開処理部１５１は、転送されたファイルデータに含まれる要素データを代替データに置き換え、置き換えた代替データを圧縮して圧縮データを生成する。データ圧縮／展開処理部１５１は、生成した圧縮データをデータグループ制御部１５２に転送する。データグループ制御部１５２は、転送された圧縮データをデータ格納部１０３に格納するとともに、管理データ格納部１５３に格納しているグループとファイルとの対応関係を示すリストの対応するファイルのエントリに、データ格納部１０３の格納先アドレスを登録する。
【００３８】
データグループ制御部１５２は、グループ化したすべてのファイルについて、データ圧縮／展開処理部１５１で同様のデータ圧縮処理を行い、圧縮データをデータ格納部１０３に格納する。その後、データグループ制御部１５２は、インデックスをインデックスデータとしてインデックスデータ格納部１０４に格納し、データの移行対象となるファイルのリストから、データの格納処理が終了したファイルのリストを名前空間管理部１０１に通知する。名前空間管理部１０１は、通知に含まれているファイルのリストからデータの格納処理が終了したファイルを特定し、移行元のファイル名をシステムメタデータとともに名前空間データ格納部１０６に登録する（ステップＳ１０６）。
【００３９】
次に、データグループ制御部１５２は、データ圧縮／展開処理部１５１による圧縮処理が行われていない未解析処理のグループが存在するか否か確認する（ステップＳ１０７）。未解析処理のグループが存在する場合には（ステップＳ１０７のＹ）、ステップＳ１０５〜Ｓ１０６における処理と同様に、未圧縮処理のグループについて、インデックスの作成とデータの圧縮処理とを実行し、圧縮データの格納処理が終了したファイルの移行元のファイル名およびシステムメタデータを名前空間データ格納部１０６に登録する。
【００４０】
ステップＳ１０５〜Ｓ１０７において、グループ化したファイルについて圧縮処理が行われると（ステップＳ１０７のＮ）、データグループ制御部１５２は、ステップＳ１０５におけるグループ化によってグループ化されなかったファイルデータが存在するか否かを確認する（ステップＳ１０８）。
【００４１】
ステップＳ１０８において、グループ化されなかったファイルデータが存在する場合には（ステップＳ１０８のＹ）、データグループ制御部１５２は、当該ファイルデータをファイル単位でデータ圧縮／展開処理部１５１に転送する。データ圧縮／展開処理部１５１は、転送されたファイルデータを元に圧縮処理を実行して圧縮データを作成し、データグループ制御部１５２に圧縮データを転送する。データグループ制御部１５２は、転送された圧縮データをデータ格納部１０３に格納し、データ格納部１０３の格納先アドレスを管理データ格納部１５３に登録した後、データの移行対象となるファイルのリストから処理の終了したファイルを名前空間管理部１０１に通知する。名前空間管理部１０１は、通知されたファイルの移行元のファイル名をシステムメタデータとともに名前空間データ格納部１０６に登録する（ステップＳ１０９）。なお、グループ化されていないすべてのファイルデータについて、同様のデータ圧縮処理と圧縮データの格納処理とを実施する。
【００４２】
ステップＳ１０８においてグループ化されなかったファイルデータが存在しない場合（ステップＳ１０８のＮ）、およびステップＳ１０９における処理が終了した場合には、データグループ管理部１０２は、圧縮処理が終了していないデータ種別が存在するか否か確認する（ステップＳ１１０）。
【００４３】
ステップＳ１１０において、圧縮処理が終了していないデータ種別が存在する場合には（ステップＳ１１０のＹ）、ステップＳ１０４に戻り、ステップＳ１０５〜Ｓ１０６における解析処理に基づくグループ化とデータ圧縮処理とを実施する。
【００４４】
ステップＳ１０４において、対応するデータ解析モジュール１５４がデータ圧縮／展開処理部１５１に存在しない場合、すなわち、データ解析モジュールが存在しないデータ種別に属するファイルが存在する場合には（ステップＳ１０４のＮ）、データグループ制御部１５２は、ファイル単位でデータ圧縮／展開処理部１５１に当該ファイルデータを転送する。データ圧縮／展開処理部１５１は、転送されたファイルの種別に依存しないデータ圧縮処理を行い、データグループ制御部１５２に圧縮データを転送する。データグループ制御部１５２は、転送された圧縮データをデータ格納部１０３に格納し、データ格納部１０３の格納先アドレスを管理データ格納部１５３に登録した後、データの移行対象となるファイルのリストから処理の終了したファイルを名前空間管理部１０１に通知する。名前空間管理部１０１は、通知されたファイルの移行元のファイル名をシステムメタデータとともに名前空間データ格納部１０６に登録する（ステップＳ１０９）。なお、データ解析モジュールが存在しないすべてのファイルデータについて、同様のデータ圧縮処理と圧縮データの格納処理とを実施する。
【００４５】
ステップＳ１１０において、圧縮処理が終了していないデータ種別が存在しない場合には（ステップＳ１１０のＮ）、アーカイブストレージ装置１００は、書き込み処理を終了する。
【００４６】
このようなストレージシステムでは、アーカイブストレージ装置にデータを書き込む際に、書き込むデータのファイルの種別に応じたデータ解析モジュールを用いてデータを分割するので、ファイルの種別ごとに異なる分割方法でデータを分割することができる。そして、分割したデータの重複度合いを基に抽出したファイルをグループ化し、重複するデータを代替データに置き換えてグループ単位で圧縮し、さらに、重複するデータと代替データとの置き換えを管理するインデックスをグループ化された複数のファイルで共有するので、データの圧縮率を高めることができる。
【００４７】
また、このようなストレージシステムでは、アーカイブストレージ装置にデータを書き込む際に、書き込むデータがどのファイルの種別にも属さない場合、または、ファイルがグループ化されなかったデータが存在する場合には、ファイル単位で当該データを圧縮するので、種別またはグループに分けられないようなデータに対しても圧縮処理を実行することができる。すなわち、アーカイブストレージ装置またはストレージシステムの用途によらず、データの圧縮率を高めることができる。
【００４８】
図４は、図１に示すストレージシステムにおいて、アーカイブストレージ装置がデータアクセスクライアントからデータの読み出しを要求される場合の動作を示すフローチャートである。図４を参照して、アーカイブストレージ装置１００がデータアクセスクライアント１からデータの読み出し要求を受けた場合に、図１に示すストレージシステムで行われる動作を説明する。
【００４９】
まず、データアクセスクライアント１からアーカイブストレージ装置１００にデータの読み出し要求が出され、読み出し対象となるデータのファイル名が通知される（ステップＳ２０１）。
【００５０】
次に、アーカイブストレージ装置１００の名前空間管理部１０１は、通知を受け取り、通知されたファイル名を元に、名前空間データ格納部１０６に登録されているファイル名に該当するファイルが存在するかどうか判定する。当該ファイル名が名前空間データ格納部１０６に登録されていない場合には、名前空間管理部１０１は、対応するファイルデータが存在しない旨をデータアクセスクライアント１に通知する。当該ファイル名が名前空間データ格納部１０６に登録されていた場合には、名前空間管理部１０１は、データグループ管理部１０２にデータの読み出し要求を転送する。
【００５１】
データグループ管理部１０２のデータグループ制御部１５２は、転送されたデータの読み出し要求から読み出し対象となるファイルがグループに属しているかどうか、管理データ格納部１５３に登録されているデータを参照して判定する（ステップＳ２０２）。
【００５２】
ステップＳ２０２において、読み出し対象となるファイルがグループに属している場合には（ステップＳ２０２のＹ）、データグループ制御部１５２は、対応するグループのインデックスデータ、および圧縮データの格納先アドレスを管理データ格納部１５３から抽出し、対応するグループのアドレスを解決する（ステップＳ２０３）。さらに、データグループ制御部１５２は、管理データ格納部１５３から抽出した格納先アドレスを元に、インデックスデータ格納部１０４、およびデータ格納部１０３からインデックスデータ、および圧縮データを読み出し、データ圧縮／展開処理部１５１に転送する。
【００５３】
ステップＳ２０２において、読み出し対象となるファイルがどのグループにも属していない場合には（ステップＳ２０２のＮ）、データグループ制御部１５２は、圧縮データの格納先アドレスを管理データ格納部１５３から抽出し、対応するファイルのアドレスを解決する（ステップＳ２０５）。さらに、データグループ制御部１５２は、管理データ格納部１５３から抽出した格納先アドレスを元に、データ格納部１０３から圧縮データを読み出した後、圧縮データをデータ圧縮／展開処理部１５１に転送する。
【００５４】
ステップＳ２０３またはＳ２０５において、データグループ制御部１５２から圧縮データやインデックスデータが転送されると、データ圧縮／展開処理部１５１は、転送されたデータ群（インデックスデータおよび圧縮データ）を元に、読み出し対象のファイルデータを展開する（ステップＳ２０４）。データ圧縮／展開処理部１５１は、展開したファイルデータをデータグループ制御部１５２に転送する。
【００５５】
データグループ制御部１５２は、転送されたファイルデータを名前空間管理部１０１に転送する。名前空間管理部１０１は、ネットワーク３を介してデータアクセスクライアント１にファイルデータを送信する（ステップＳ２０６）。
【００５６】
このようなストレージシステムでは、アーカイブストレージ装置からグループに属しているデータを読み出す際に、インデックスを示すインデックスデータおよび圧縮データの格納先アドレスを読み出すことによって、圧縮データから読み出し対象のデータを展開することができる。
【００５７】
なお、データの読み出し処理において、グループに属しているファイルのデータを読み出す際に、データアクセスクライアント１から他のファイルデータの読み出し処理が実行される場合に備えて、インデックスデータをデータ圧縮／展開処理部１５１に保存しておき、データ圧縮／展開処理部１５１が、グループに属する他のファイルのデータを先読みして展開しておいてもよい。
【００５８】
このようなストレージシステムでは、アーカイブストレージ装置は、グループに属している他のデータを先読みして展開しておくので、データアクセスクライアント１から当該グループに属する他のデータの読み出し要求が行われた場合に、改めて展開処理を行う必要がなく、効率的にデータを読み出すことができる。
図５は、本発明によるアーカイブストレージ装置の主要部を示すブロック図である。図５に示すように、アーカイブストレージ装置１０（例えば、図１に示すアーカイブストレージ装置１００に相当）は、少なくとも１つ以上の外部ストレージ装置２０（例えば、図１に示す外部ストレージ装置２に相当）に格納されているデータを読み出して格納するアーカイブストレージ装置であって、外部ストレージ装置２０から読み出したデータのファイルの種別を判定する名前空間管理手段１１（例えば、図１に示す名前空間管理部１０１に相当）と、名前空間管理手段１１によって判定されたファイルの種別ごとにデータを分割するデータ分割手段１２（例えば、図１に示すデータ解析モジュール１５４に相当）と、データ分割手段１２によって分割されたデータにおける重複の度合いに応じてファイルをグループ化するとともに、グループ化するファイルのインデックスを作成するデータグループ制御手段１３（例えば、図１に示すデータグループ制御部１５２に相当）と、重複するデータを代替データに置き換えて、代替データをデータグループ制御手段１３によってグループ化されたグループ単位でまとめて圧縮するデータ処理手段１４（例えば、図１に示すデータ圧縮／展開処理部１５１に相当）とを備えるように構成されている。
【００５９】
また、上記の実施形態のストレージシステムには、以下の（１）〜（４）に示すようなアーカイブストレージ装置も開示されている。
【００６０】
（１）データ分割手段は、ファイルの種別ごとに異なる分割方法でデータを分割するアーカイブストレージ装置。
【００６１】
（２）データ処理手段は、外部ストレージ装置から読み出したデータがファイルの種別に対応するデータ分割手段によって分割されない場合、または、当該データのファイルがデータグループ制御手段によってグループ化されなかった場合には、当該データをファイル単位で圧縮するアーカイブストレージ装置。
【００６２】
（３）データ制御手段は、アーカイブストレージ装置に格納されているデータの読み出しを要求された場合に、当該データのファイルが属するグループを判定し、データ処理手段は、データグループ制御手段に判定されたグループに関するインデックスを示すインデックスデータ、および圧縮データを元に当該データを展開するアーカイブストレージ装置。
【００６３】
（４）データ処理手段は、アーカイブストレージ装置に格納されているデータの読み出しを要求された場合に、当該データのファイルが属するグループに関するインデックスを示すインデックスデータを保存し、インデックスデータおよび圧縮データを元に、当該データのファイルと同じグループに属する他のファイルのデータも展開するアーカイブストレージ装置。
【産業上の利用可能性】
【００６４】
本発明を、複数のコンピューティング端末で生成されたデータを集中的に格納するストレージ装置に適用できる。
【符号の説明】
【００６５】
１      データアクセスクライアント
２      外部ストレージ装置
３      ネットワーク
１０    アーカイブストレージ装置
１１    名前空間管理手段
１２    データ分割手段
１３    データグループ制御手段
１４    データ処理手段
２０    外部ストレージ装置
１００  アーカイブストレージ装置
１０１  名前空間管理部
１０２  データグループ管理部
１０３  データ格納部
１０４  インデックスデータ格納部
１０５  外部ストレージ装置管理部
１０６  名前空間データ格納部
１５１  データ圧縮／展開処理部
１５２  データグループ制御部
１５３  管理データ格納部
１５４  データ解析モジュール
【図１】
2010287167.tif 000003
【図２】
2010287167.tif 000004
【図３】
2010287167.tif 000005
【図４】
2010287167.tif 000006
【図５】
2010287167.tif 000007