(57)【要約】【課題】デ・デュプリケート機能及び全文検索機能を備えるストレージシステム等に係わり、全文検索のインデックス情報の量を削減して記憶資源を節約する。【解決手段】本システムにおいて、ストレージ装置１００では、ホスト装置４００から入出力されるデータのファイル群について、中身が同一の複数のファイルをデ・デュプリケートする処理部（５０１）を備える。また、全文検索処理サーバ２００は、ファイル群に対する全文検索処理を行うもので、全文検索処理をデ・デュプリケートに対応したものにする処理部（５０２）を備える。その処理部（５０２）により、ファイル群のデ・デュプリケートの状況に応じて、中身が同一の複数の対象ファイルについては、全文検索処理部によるインデックス情報作成処理を抑止する。これによりインデックス情報の量を減らす。【選択図】図１
2008158993.tif 000002
【特許請求の範囲】
【請求項１】
ホスト装置から入出力されるデータのファイルを記憶領域に格納するストレージシステムであって、
前記記憶領域に格納されるファイル群について中身が同一の複数のファイルをデ・デュプリケート（de-duplicate）する処理を行うデ・デュプリケート処理部と、
前記記憶領域に格納されるファイル群に対する、インデックス情報作成処理を含む全文検索処理を行う全文検索処理部とを備え、
前記デ・デュプリケート処理部による前記ファイル群のデ・デュプリケートの状況に応じて、中身が同一の複数の対象ファイルについては、前記全文検索処理部によるインデックス情報作成処理を抑止することにより、
前記インデックス情報をデ・デュプリケートすることを特徴とするストレージシステム。
【請求項２】
ホスト装置から入出力されるデータのファイルを記憶領域に格納するストレージシステムであって、
前記ホスト装置にネットワークを介して接続され前記ホスト装置からの前記ファイルの入出力を受け付ける第１のストレージ装置と、
前記第１のストレージ装置に接続され前記第１のストレージ装置からのアクセスにより前記ファイルを自装置内の記憶領域に格納する第２のストレージ装置と、
前記第２のストレージ装置の記憶領域に格納されるファイル群に対するインデックス情報作成処理と、前記ホスト装置からの指示に応じて前記インデックス情報をキーワード検索して検索結果情報を応答する検索処理とを含む全文検索処理を行う全文検索サーバ装置とを有し、
前記第１のストレージ装置は、前記第２のストレージ装置の記憶領域に格納されるファイル群について中身が同一の複数のファイルをデ・デュプリケートする処理を行うデ・デュプリケート処理部を備え、
前記全文検索サーバ装置は、前記デ・デュプリケート処理部による前記ファイル群のデ・デュプリケートの状況に応じて、中身が同一の複数のファイルについて、代表ファイルを除いて、前記インデックス情報作成処理を抑止することを特徴とするストレージシステム。
【請求項３】
ホスト装置から入出力されるデータのファイルを記憶領域に格納するストレージシステムであって、
前記ホスト装置にネットワークを介して接続され前記ホスト装置からの前記ファイルの入出力を受け付ける第１のストレージ装置と、
前記第１のストレージ装置に接続され前記第１のストレージ装置からのアクセスにより前記ファイルを自装置内の記憶領域に格納する第２のストレージ装置と、
前記第２のストレージ装置の記憶領域に格納されるファイル群に対するインデックス情報作成処理と、前記ホスト装置からの指示に応じて前記インデックス情報をキーワード検索して検索結果情報を応答する検索処理とを含む全文検索処理を行う全文検索サーバ装置とを有し、
前記全文検索サーバ装置は、前記第２のストレージ装置の記憶領域に格納されるファイル群について中身が同一の複数のファイルをシングルインスタンス化する処理を行うデ・デュプリケート処理部を備え、
前記全文検索サーバ装置は、前記デ・デュプリケート処理部による前記ファイル群のシングルインスタンス化の状況に応じて、中身が同一の複数のファイルについて、代表ファイルを除いて、前記インデックス情報作成処理を抑止することを特徴とするストレージシステム。
【請求項４】
請求項２記載のストレージシステムにおいて、
前記第１のストレージ装置は、前記デ・デュプリケート処理部による前記ファイルのデ・デュプリケートの状況を示す第１の情報を、外部に提供する処理を行い、
前記全文検索サーバ装置は、前記第１のストレージ装置から取得した前記第１の情報を用いて、全文検索処理対象のファイル群における中味が同一のファイルのグループ及びそのうちの代表ファイルを示す、第２の情報を作成及び管理し、
前記全文検索サーバ装置は、前記第１または第２のストレージ装置の記憶領域から読み出した対象ファイルについて、前記第２の情報を用いて、前記中味が同一のファイル及び代表ファイルかどうかを判定及び検出し、前記代表ファイルと中身が同一のファイルについては、前記キーワード抽出処理を抑止することを特徴とするストレージシステム。
【請求項５】
請求項３記載のストレージシステムにおいて、
前記全文検索サーバ装置は、前記デ・デュプリケート処理部による前記ファイルのデ・デュプリケートの状況を示す第１の情報を用いて、全文検索処理対象のファイル群における中味が同一のファイルのグループ及びそのうちの代表ファイルを示す、第２の情報を作成及び管理し、
前記全文検索サーバ装置は、前記第１または第２のストレージ装置の記憶領域から読み出した対象ファイルについて、前記第２の情報を用いて、前記中味が同一のファイル及び代表ファイルかどうかを判定及び検出し、前記代表ファイルと中身が同一のファイルについては、前記キーワード抽出処理を抑止することを特徴とするストレージシステム。
【請求項６】
請求項４または５に記載のストレージシステムにおいて、
前記全文検索サーバ装置は、前記ホスト装置からのキーワード情報の指定を含む検索指示に応じた検索処理に際して、前記インデックス情報を前記キーワード情報で検索して、前記代表ファイルの情報を含む第１の検索結果を取得し、前記第２の情報を用いて、前記第１の検索結果に含まれる前記代表ファイルの情報に対しその代表ファイルと中味が同一の他のファイルの情報を追加して第２の検索結果とし、前記ホスト装置へ応答することを特徴とするストレージシステム。
【請求項７】
請求項６記載のストレージシステムにおいて、
前記インデックス情報は、前記ファイルのメタデータと、前記ファイルのデータ本体中におけるキーワード出現場所情報を有し、
前記第１の情報は、デ・デュプリケートによる代表ファイルを識別する情報を含み、
前記第２の情報は、前記中身が同一のファイルのグループにおける、前記代表ファイルを示すフラグ情報と、ファイル間のリンク情報とを有し、
前記キーワード抽出処理の抑止により、前記中身が同一の複数のファイルについての前記キーワード出現場所情報を重複して保持しないことを特徴とするストレージシステム。
【請求項８】
請求項６記載のストレージシステムにおいて、
前記全文検索サーバ装置は、前記記憶領域から読み出した対象ファイルについてのインデックス情報作成処理に際して、前記第１の情報から前記第２の情報を作成し、前記インデックス情報中に前記第２の情報を関連付けて格納することを特徴とするストレージシステム。
【請求項９】
請求項６記載のストレージシステムにおいて、
前記デ・デュプリケート処理部は、前記代表ファイルについてのシグネチャハッシュ情報を作成及び管理し、前記シグネチャハッシュ情報を用いて、前記中身が同一のファイルを判定及び検出することを特徴とするストレージシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＲＡＩＤ制御機能等を備えるストレージ装置（ディスクアレイ装置）及びストレージシステム、並びに全文検索機能を備える情報処理システムに関し、特に、ストレージ装置に格納されるデータファイルの全文検索処理に関する。
【背景技術】
【０００２】
近年、ストレージ容量節約などのために、デ・デュプリケート（De-duplicate）機能を備えるストレージシステムが注目されており、普及しつつある。例えば、ＮＡＳ（Network Attached Storage）やストレージ装置にデ・デュプリケート機能を備える。デ・デュプリケート機能では、ストレージ装置の記憶領域に格納しようとしている、あるいは格納されている、ファイル（データファイル）について、その中身（メタデータ等を除くデータ本体）が同一のもの、例えば複製ファイル等、を検出し、デ・デュプリケートする。即ち、デ・デュプリケート機能は、デ・デュプリケートの制御として、検出した複数の中身同一ファイルについて、記憶領域への格納を１回に抑える、あるいは１つのファイル（代表ファイル）に共通化して保持する。これにより、記憶領域に対する入出力及びストレージ容量を節約する。デ・デュプリケートと同様の概念・用語としては、シングルインスタンス化（Single Instance Store）、共通化などがある。
【０００３】
また、全文検索機能を備えるストレージシステムにおいて、全文検索機能（全文検索サーバ等）は、ストレージ装置から検索処理対象ファイル群を読み出し、全文検索のためのインデックス（索引）情報を作成する処理を行う。ホスト装置からの検索指示・要求に対し、全文検索機能は、インデックス情報を検索し、その検索結果を応答する。
【０００４】
米国特許第５８１３００８号（特許文献１）には、上記デ・デュプリケートの技術について記載されている。なお、この技術では、検索のインデックス情報についてはデ・デュプリケート（共通化）の対象外としている。
【０００５】
米国特許第６３８９４３３号（特許文献２）には、デ・デュプリケート機能を備えるファイルサーバについて記載されている。
【特許文献１】米国特許第５８１３００８号
【特許文献２】米国特許第６３８９４３３号
【発明の開示】
【発明が解決しようとする課題】
【０００６】
前記従来のデ・デュプリケート機能及び全文検索機能を備えるストレージシステムにおいて、前記全文検索に用いるインデックス情報は、デ・デュプリケート機能の対象外である。即ち、複数の中身同一ファイルについても、別々に、重複して同様のインデックス情報が作成及び保持されている。これにより、インデックス情報の保持量の増大を招いているという問題がある。
【０００７】
本発明は以上のような問題に鑑みてなされたものであり、その目的は、デ・デュプリケート機能及び全文検索機能を備えるストレージシステム等に係わり、主に、全文検索のインデックス情報の量を削減して記憶資源を節約できる技術を提供することにある。
【課題を解決するための手段】
【０００８】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。前記目的を達成するために、本発明は、ストレージ装置を含んで構成されるストレージシステムまたは情報処理システム等であって、以下に示す技術的手段及び構成を備えることを特徴とする。
【０００９】
本発明のシステムでは、ネットワーク等を通じて接続される、ホスト装置、１つ以上のストレージ装置及びサーバ装置等を有する。本システムは、デ・デュプリケート機能（デ・デュプリケート処理部）、及び、全文検索機能（全文検索処理部）を備え、さらに、デ・デュプリケート処理部のデ・デュプリケート処理に対応して、インデックス情報をデ・デュプリケート処理する手段を備える。本システムは、その手段として、全文検索機能をデ・デュプリケート機能に対応したものにするデ・デュプリケート対応機能（デ・デュプリケート対応処理部）を備える。換言すれば、全文検索処理部は、インデックス情報をデ・デュプリケートする処理を含む処理を行うデ・デュプリケート対応処理部を備える。
【００１０】
本システムは、例えば、ＮＡＳ等の第１のストレージ装置（ファイルサーバ装置）、ファイルを格納する第２のストレージ装置、及び全文検索処理部を備える全文検索サーバ装置を有する。そして、例えば、ＮＡＳにデ・デュプリケート処理部を備え、全文検索サーバ装置にデ・デュプリケート対応処理部を備える構成である。あるいは、全文検索サーバ装置にデ・デュプリケート処理部及びデ・デュプリケート対応処理部を備える構成などである。ホスト装置は、ＮＡＳに対してファイルの入出力の要求を行い、ＮＡＳは、ストレージ装置の記憶領域（ボリューム）へファイルを入出力して応答する。また、ホスト装置は、全文検索サーバ装置に対してファイルの全文検索の指示・要求を行い、全文検索サーバ装置は、全文検索の結果を応答する。
【００１１】
本システムは、例えば以下（１）〜（４）のような処理を行う。
【００１２】
（１）デ・デュプリケート処理部は、ホスト装置からの書き込み等によりストレージ装置の記憶領域に格納されるファイル群についてデ・デュプリケートする処理を行う。それと共に、デ・デュプリケート処理部等は、そのデ・デュプリケートの状況（状態）を示す第１の情報（デ・デュプリケート情報：Ｃ１）を、外部（全文検索処理部）に対して提供する。
【００１３】
（２）全文検索処理部は、全文検索処理（インデックス情報作成処理）の対象ファイル群を読み出して、キーワード抽出処理を含むインデックス情報作成処理を行う。デ・デュプリケート対応処理部は、第１の情報（Ｃ１）の取得により、対象ファイルのデ・デュプリケート状況を認識し、第１の情報（Ｃ１）をもとに、全文検索処理のために、対象ファイルのデ・デュプリケート関係（デ・デュプリケートグループ）等を示す第２の情報（デ・デュプリケートグループ情報：Ｃ２）を作成し管理する。例えば、インデックス情報内に、第２の情報（Ｃ２）を関連付けて追加・保持する。
【００１４】
（３）デ・デュプリケート対応処理部は、第１の情報（Ｃ１）、第２の情報（Ｃ２）をもとに、対象ファイル群について、代表ファイルを除く中身が同一のファイルが存在すること等を検出・判定する。また、そのことを検出した場合、デ・デュプリケート対応処理部は、複数の中身同一ファイルに対して、代表ファイルを除き、インデックス情報作成処理におけるキーワード抽出処理自体を抑止する。即ち、全文検索処理部は、ある対象ファイルについて、それと中身が同一のファイルのインデックス情報が既に作成及び保持済みである場合、当該対象ファイルについて、キーワード抽出処理を行わないようにする。これによって、インデックス情報の量（保持量）を最大限に削減する。
【００１５】
（４）全文検索処理部（デ・デュプリケート対応処理部）は、ホスト装置からの検索要求・指示（キーワード情報含む）に応じた検索処理、即ちインデックス情報のキーワード検索及び検索結果情報出力を含む処理において、以下の処理を行う。全文検索処理部は、第１の検索結果に含まれるファイル情報（即ち代表ファイル情報）について、第２の情報（Ｃ２）をもとに、その代表ファイルと中味が同一のファイル（同一デ・デュプリケートグループに属する他のファイル）の情報を、検索結果情報内に追加して、ホスト装置へ応答する。これにより、キーワード抽出処理を抑止しない場合（従来）と同じ検索結果を得る。
【発明の効果】
【００１６】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。本発明によれば、デ・デュプリケート機能及び全文検索機能を備えるストレージシステム等に係わり、主に、全文検索のインデックス情報の量を削減して記憶資源を節約できる。
【発明を実施するための最良の形態】
【００１７】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一部には原則として同一符号を付し、その繰り返しの説明は省略する。
【００１８】
＜従来技術＞
図２４〜図２５等を用いて、本発明の実施の形態を従来技術と比較してわかりやすく説明するために、本発明の実施の形態に対する従来技術（前提技術）について簡単に説明する。
【００１９】
図２４において、従来のデ・デュプリケート機能及び全文検索機能を備えるストレージシステム（情報処理システム）を示している。従来のシステムにおいて、ネットワーク等を介して、ホスト装置４００とストレージ装置１００が接続され、ストレージ装置１００と全文検索サーバ２００が接続され、ホスト装置４００と全文検索サーバ２００が接続されている。
【００２０】
ホスト装置４００からストレージ装置１００の記憶領域（ストレージボリューム等）にファイル（例：Ｆ１，Ｆ２，Ｆ３）を入出力（読み書き）している。ストレージ装置１００は、データを格納（記憶）するハードディスクドライブ（ＨＤＤ）等の記憶装置群と、記憶装置群による記憶領域に対するデータの格納を制御（ＲＡＩＤ制御等）する制御装置（コントローラ）とを備える。
【００２１】
ストレージ装置１００は、デ・デュプリケート処理部（機能）５０１を備える。全文検索サーバ２００は、全文検索処理部（機能）を備え、インデックス情報作成処理等を行う。デ・デュプリケート処理部５０１では、複数の中身が同一のファイル（例：Ｆ１，Ｆ２）について、記憶領域への格納を１回に抑える、あるいは１つのファイル（代表ファイル、例：Ｆ１）に共通化して保持する。これにより、ストレージ装置１００の記憶領域に対する入出力及びストレージ容量を節約する。
【００２２】
また、本システムで全文検索処理として以下のような処理を行っている。ホスト装置４００は、デ・デュプリケート機能付きのストレージ装置１００内の記憶領域へ、ファイルを例えば書き込みする。ストレージ装置１００と接続される全文検索サーバ２００は、ストレージ装置１００から検索対象ファイル群（例：Ｆ１，Ｆ２）を読み出し、全文検索のためのインデックス情報３００（例：Ｉ１，Ｉ２）を作成する処理を行う。ホスト装置１００からの検索指示・要求（検索のためのキーワード情報の指定を含む）に対し、全文検索サーバ２００は、インデックス情報３００をキーワード情報で検索し、その検索結果（検索結果情報）を応答する。
【００２３】
全文検索サーバ２００によるインデックス情報３００の作成処理では、１つのファイルに対して複数の情報（キーワード出現場所情報など）が分散して生成される。そのため、インデックス情報３００の共通化（デ・デュプリケート）が難しい。全文検索サーバ２００は、デ・デュプリケート機能付きのストレージ装置１００から読み出したファイルが、デ・デュプリケートされているかどうか（デ・デュプリケート状況）等を感知できない。そのため、全文検索サーバ２００は、複数の中身同一ファイル（例：Ｆ１，Ｆ２）に対しても、別々にキーワードを抽出してインデックス情報３００（例：Ｉ１，Ｉ２）を作成・追加している。一般に、デ・デュプリケート機能付きのストレージ装置１００の全ファイル格納量に対する全インデックス情報３００の量の割合は、比較的大きく、そのため記憶資源を浪費している。特に、デ・デュプリケート機能付きのストレージ装置１００の記憶領域に対し中身同一ファイルが多数書き込まれた場合、そのファイル群の全ファイル格納量に比べて、インデックス情報３００の量が非常に大きくなってしまう。
【００２４】
図２５において、従来のインデックス情報３００の例を示している。従来のインデックス情報３００は、ファイル（例：file1（Ｆ１），file2（Ｆ２），file3（Ｆ３））のメタデータ３０１と、それに関連付けられるキーワード出現場所情報３０２とを有する。メタデータ３０１は、一般的なファイル管理情報・属性情報等である。キーワード出現場所情報３０２は、あるキーワード（語）が、どのファイルのどの位置（アドレス）に出現するかを示す情報である。図２５では、例えば、キーワード“apple”が、Ｆ１及びＦ２内の１０文字目と２４文字目の位置に、また、Ｆ３内の８文字目の位置に、それぞれ含まれており、キーワード“orange”が、Ｆ３内の１８文字目の位置に含まれている場合を示している。一般に、インデックス情報３００において、キーワード出現場所情報３０２の量が大半を占めている。
【００２５】
本例では、説明を簡単にするために、対象ファイルとして、小さなサイズのファイルの例を示しているが、一般には、ファイルの大きさは１０ＫＢ以上と大きい。よって、キーワード出現場所情報３０２の量が大きくなり、これがインデックス情報３００の量の大部分を占める。従来、通常、ファイルに対するインデックス情報の量の比率は、３０％程度と見積もられる。
【００２６】
＜概要＞
次に、図１において、本発明の実施の形態のストレージシステム（情報処理システム）についての構成の概要を示している。本システムは、ホスト装置（クライアント装置）４００、デ・デュプリケート機能を備えるストレージ装置１００、全文検索機能を備える全文検索サーバ２００を有する。ストレージ装置１００は、デ・デュプリケート処理部（機能）５０１を備え、デ・デュプリケート処理部５０１によるデ・デュプリケート処理に伴い、デ・デュプリケート情報（Ｃ２）を作成・管理し、外部（全文検索サーバ２００）に提供する。全文検索サーバ２００では、全文検索機能（処理部）に、デ・デュプリケート対応処理部５０２を備える。デ・デュプリケート対応処理部５０２は、デ・デュプリケート処理部５０１のデ・デュプリケート処理に対応した全文検索処理（インデックス情報のデ・デュプリケート）を実現する部位である。全文検索サーバ２００（全文検索処理部）では、インデックス情報作成処理（キーワード抽出処理を含む）、デ・デュプリケートグループ情報（Ｃ２）６０２の作成・管理、中身同一ファイルについてのキーワード抽出処理の抑止、及びデ・デュプリケートされたインデックス情報に対応した検索結果情報出力などを行う（後述）。なお、インデックス情報３００の格納先の記憶手段は、いずれとしてもよい。
【００２７】
本システムにおいて、以下（１）〜（４）のような処理を行う。説明を簡単にするために、全文検索サーバ２００は、全文検索処理の対象ファイル群（検索対象ファイル群）を最初に抽出して、インデックス情報３００内にファイルのメタデータを作成済みであると仮定する。
【００２８】
（１）ホスト装置１００からストレージ装置３００に対し、ファイル（例：Ｆ１，Ｆ２，Ｆ３）が書き込みされる。ストレージ装置１００は、自身の記憶領域に保持している各ファイル（例：Ｆ１，Ｆ２）に対して、デ・デュプリケート処理部５０１によるデ・デュプリケートの処理を適宜実行する（例：Ｆ１とＦ２のデ・デュプリケートによりＦ１が代表ファイルとなる）。それと共に、そのデ・デュプリケート状況を示す制御情報であるデ・デュプリケート情報（Ｃ１）を更新し、外部の全文検索サーバ２００に対して読み出し可能な状態にして提供する。デ・デュプリケート情報（Ｃ１）は、中身同一ファイル（デ・デュプリケートファイル）の有無、代表ファイルのメタデータ等の情報を含む。
【００２９】
（２）全文検索サーバ２００は、検索対象ファイル（例：Ｆ１，Ｆ２，Ｆ３）についての処理（インデックス情報作成処理）に際し、ストレージ装置１００からデ・デュプリケート情報（Ｃ１）を読み出して取得し、それをもとに、インデックス情報３００内に、デ・デュプリケートグループ情報（Ｃ２）をとして追加する。デ・デュプリケートグループ情報（Ｃ２）は、複数のファイルにおけるデ・デュプリケート関係（中身同一ファイルのグループ、代表ファイル、ファイル間リンク等）を示す、全文検索サーバ２００側で扱う制御情報である。
【００３０】
（３）全文検索サーバ２００は、デ・デュプリケート情報（Ｃ１）、デ・デュプリケートグループ情報（Ｃ２）の参照・判別から、処理対象のファイル（例：Ｆ２）について、それと中身が同一のファイル（例：Ｆ１）が存在すること、及びそれ自身が代表ファイルではないこと等を検出・判定する。全文検索サーバ２００は、そのことを検出した場合、当該ファイル（例：Ｆ２）について、インデックス情報作成処理におけるキーワード抽出処理を抑止する。これにより、インデックス情報３００のデ・デュプリケート、即ち複数の中身同一ファイルについてインデックス情報３００を重複して作成及び保持しないこと、が実現される。代表ファイル（例：Ｆ１）についてのインデックス情報（例：Ｉ１）のみが保持される。
【００３１】
（４）全文検索サーバ２００は、ホスト装置４００からの検索指示・要求に応じた検索処理に際しては、インデックス情報３００の検索結果（第１の検索結果）に含まれる代表ファイル情報（例：Ｆ１）について、デ・デュプリケートグループ情報（Ｃ２）の参照をもとに、その代表ファイルが属するデ・デュプリケートグループ中の他の中身同一のファイル（例：Ｆ２）の情報を、最終的な検索結果情報内に加え（第２の検索結果）、ホスト装置４００へ応答する。
【００３２】
以上の処理により、全文検索サーバ２００でのインデックス情報３００の量の削減が実現される。また、中身同一ファイルに対しては、ファイルの読み出しが不要となり、入出力処理を削減できる。
【００３３】
図２において、本システムにおいてデ・デュプリケートされたインデックス情報３００の例を示している。前記図２５と同じファイル（Ｆ１，Ｆ２，Ｆ３）の場合について示している。インデックス情報３００は、ファイルのメタデータ３０１、キーワード出現場所情報３０２に加え、デ・デュプリケートグループ情報（Ｃ２）３０３（前記６０２と対応）を含んでいる。デ・デュプリケートグループ情報（Ｃ２）３０３は、中身同一ファイル（デ・デュプリケートファイル）のメタデータでの代表ファイルを示すマーク／フラグ（代表ファイルフラグ）や、中身同一ファイルのメタデータ間のリンク（デ・デュプリケートファイル間リンク）等の情報を含む。例えば、Ｆ２がＦ１と中身同一であった場合、Ｆ２については、キーワード出現場所情報３０２を保持せず、代表ファイルであるＦ１へのリンクを持たせる。
【００３４】
キーワード出現場所情報３０２は、ファイルの大きさにほぼ比例する。よって、本システムの特徴であるデ・デュプリケートによるインデックス情報２１０の量の削減率は、デ・デュプリケート機能付きのストレージ装置１００でのファイル容量削減率とほぼ同じになる。また、従来のデ・デュプリケート機能付きストレージ装置では、通常、デ・デュプリケート機能によりファイル格納量を１／２〜１／２０程度に削減できると見積もられる。よって、本システムの特徴であるデ・デュプリケートによるインデックス情報の削減でも、同様に、１／２〜１／２０程度に削減できると見積もられる。
【００３５】
（実施の形態１）
次に、図３〜図１２を用いて、本発明の実施の形態１のストレージシステムを説明する。実施の形態１は、前記概要構成に従って、デ・デュプリケート機能を備えるＮＡＳ及びストレージ装置及び全文検索サーバを備えるストレージシステム構成において、全文検索サーバを、デ・デュプリケート機能に対応した機能（デ・デュプリケート対応処理部）を備える構成にしたものである。また、ファイル他の各種情報をストレージ装置内にまとめて格納する場合である。
【００３６】
＜システム（１）＞
図３は、実施の形態１のストレージシステムの構成を示している。本システムの全体は、ホスト装置４００群に対して、ネットワーク９０１を介して、デ・デュプリケート機能及び全文検索機能を備えるストレージシステムが接続される構成である。ストレージシステムは、ＮＡＳ（ファイルサーバ）１０１、全文検索サーバ１０２、及びストレージ装置１０３を有し、これらが、ネットワーク９０２を介して相互接続される構成である。
【００３７】
ホスト装置４００は、業務サーバやユーザＰＣ等である。ホスト装置４００と、ＮＡＳ１０１及び全文検索サーバ１０２との間は、ＩＰ−ＬＡＮ等のネットワーク９０１で接続される。また、ネットワーク９０２は、ファイバチャネルプロトコルによるＳＡＮ（ストレージエリアネットワーク）等である。
【００３８】
ＮＡＳ１０１は、ホスト装置４００に対してファイルサーバとして機能し、ホスト装置４００からの入出力ファイルを、ストレージ装置１０３内の記憶領域（ボリューム）に格納する。ＮＡＳ１０１は、デ・デュプリケート処理部５０１を備える。デ・デュプリケート処理部５０１は、デ・デュプリケートの処理として、ストレージ装置１０３内の記憶領域に対する中身同一ファイルの格納を１回にする。
【００３９】
ストレージ装置１０３は、例えば、図６に示すようなＲＡＩＤ制御機能を備えるストレージ装置である。ストレージ装置１０３内の記憶領域には、検索対象ファイル群７００、デ・デュプリケート情報（Ｃ１）６０１、シグネチャハッシュ６０３、インデックス情報３００（デ・デュプリケートグループ情報（Ｃ２）６０２を含む）等が格納される。検索対象ファイル群７００は、ホスト装置４００から入出力される、複数のファイル（データ本体）及びそのメタデータであり、全文検索サーバ１０２による全文検索処理対象となる。シグネチャハッシュ６０３情報は、代表ファイルについてのみ保持される。
【００４０】
＜処理の流れ＞
図３において、処理の流れは以下である。例えば、ホスト装置４００からＮＡＳ１０１に対してファイルを書き込む（ＦＷ：ファイル書き込み、ＦＲ：ファイル読み出し）。ＮＡＳ１０１は、ホスト装置４００からのアクセスに基づき、ファイル（データ本体）とそのメタデータを、ストレージ装置１０３の記憶領域（検索対象ファイル群７００）に格納する。
【００４１】
デ・デュプリケート処理部５０１（図１６に詳細処理を示す）では、ストレージ装置１０３内に格納されたファイルのうち、中身が同一のファイルを、デ・デュプリケートする。即ち、格納するファイル（データ本体）としては１つのみを代表ファイルとして残し、中身同一の他のファイル（データ本体）については削除する。また、その中身同一の他のファイル（データ本体）については、残した代表ファイル（データ本体）で代用する。このようなデ・デュプリケート処理は、公知技術である。
【００４２】
また、デ・デュプリケート処理部５０１は、上記デ・デュプリケート処理に際して、残した代表ファイルのハッシュ値であるシグネチャハッシュ６０２（図１０に構成例を示す）を作成及び格納する処理と、デ・デュプリケートの状況を示すデ・デュプリケート情報６０１（図９に構成例を示す）を作成及び格納し、外部に提供する処理を行う。
【００４３】
全文検索サーバ１０２は、ＮＡＳ１０１が格納した検索対象ファイル群７００に含まれるファイルに対して、インデックス情報３００（図７に本システムでの構成例を示す）を作成する。そのために、全文検索サーバ１０２は、ＮＡＳ１０１を通じて、インデックス情報３００の作成処理の対象のファイル（データ本体）及びメタデータを読み出す。これに際し、全文検索サーバ１０２は、ＮＡＳ１０１から、対象のファイル及びメタデータに加え、デ・デュプリケート情報（Ｃ１）６０１を取得する。全文検索サーバ１０２のデ・デュプリケート対応処理部５０２（図４に詳細構成を示す）は、取得したデ・デュプリケート情報（Ｃ１）６０１を使用して、デ・デュプリケート処理部５０１の処理に対応した全文検索処理（インデックス情報作成処理を含む）を行う。これにより、インデックス情報３００の量を削減しながら、既存の全文検索結果と同じ結果を得る。また、デ・デュプリケートグループ情報（Ｃ２）６０２（図７に構成例を示す）は、全文検索サーバ１０２において、デ・デュプリケート情報（Ｃ１）６０１をインデックス情報３００に取り込んで表現したものであり、デ・デュプリケート対応処理部５０２により作成・読み出しを行う。
【００４４】
全文検索サーバ１０２は、ホスト装置４００からの検索指示に応じて検索処理（インデックス情報３００のキーワード検索処理を含む）を行い、その検索結果情報を、ホスト装置４００に応答して表示させる（図１２に検索結果表示例を示す）。この際、全文検索サーバ１０２は、検索結果情報には、代表ファイルの情報に加え、それと同一のデ・デュプリケートグループに属する中身同一ファイルの情報を追加する。ホスト装置４００のユーザは、画面に表示された検索結果情報におけるファイル名リンクをクリックすること等により、ＮＡＳ１０１を通じてストレージ装置１０３から該当ファイルを読み出して表示することができる。
【００４５】
＜全文検索サーバ及びデ・デュプリケート対応機能＞
図４において、全文検索サーバ１０２及びデ・デュプリケート対応処理部５０２の詳細構成を示している。全文検索サーバ１０２は、検索対象ファイル抽出処理１１、デ・デュプリケート対応処理部５０２によるデ・デュプリケートグループ情報追加・作成処理１３、デ・デュプリケート対応キーワード抽出処理（キーワード抽出抑止処理）１４、及びデ・デュプリケート対応検索処理１５等の処理を行う。
【００４６】
検索対象ファイル抽出処理１１（図１８に詳細を示す）は、従来同様の処理である。デ・デュプリケートグループ情報追加・作成処理１３（図１９に詳細を示す）は、本システムでの特徴的な処理である。デ・デュプリケート対応キーワード抽出処理１４（図２０に詳細を示す）及びデ・デュプリケート対応検索処理１５（図２１に詳細を示す）は、従来同様の処理を本システムでデ・デュプリケート対応に修正したものである。
【００４７】
また、インデックス情報作成処理時に、検索対象ファイル抽出処理１１、デ・デュプリケートグループ情報追加・作成処理１３、及びデ・デュプリケート対応キーワード抽出処理１４が実施される。また、デ・デュプリケート対応検索処理１５は、ホスト装置４００のユーザからの指示に対応した検索処理時に行われ、検索結果情報９００を作成して、これをホスト装置４００に送出して表示させる。
【００４８】
＜ホスト装置、ＮＡＳ、全文検索サーバ＞
図５において、ホスト装置４００、ＮＡＳ１０１、全文検索サーバ２００のハードウェア構成を示している。ホスト装置４００は、制御部（ＣＰＵ）８０１、メモリ８０２、ポート（通信処理部）８０３、キーボードやマウス等の入力装置８０４、ディスプレイ等の出力装置８０５などを備える。制御部８０１によりメモリ８０２上のプログラム（業務アプリケーションプログラム（ＡＰ）８０６、ストレージ管理・利用プログラム等）を実行することにより、ホスト装置４００としての機能を実現する。ホスト装置４００は、ポート８０３により、ＮＡＳ１０１及び全文検索サーバ２００と通信接続する。ホスト装置４００は、ポート８０３により、ＮＡＳ１０１及び全文検索サーバ２００と通信接続する。
【００４９】
ＮＡＳ１０１は、制御部８１１、メモリ８１２、ポート８１３、データキャッシュメモリ８１４等を備える。制御部８１１がメモリ８１２上のプログラム（デ・デュプリケート処理プログラム（Ｐ）８０１等）を実行することにより、デ・デュプリケート処理部５０１等の機能が実現される。データキャッシュメモリ８１４には、ホスト装置４００とストレージ装置１０３との間での入出力データ等をキャッシュする。ＮＡＳ１０１は、ポート８１３により、ホスト装置４００、ストレージ装置１０３、及び全文検索サーバ２００と通信接続する。
【００５０】
全文検索サーバ２００は、制御部８２１、メモリ８２２、ポート８２３等を備える。制御部８２１がメモリ８２２上のプログラム（全文検索処理プログラム（Ｐ）８２４、デ・デュプリケート対応処理プログラム（Ｐ）８２５等）を実行することにより、全文検索処理部及びデ・デュプリケート対応処理部５０２等の機能が実現される。全文検索サーバ２００は、ポート８２３により、ホスト装置４００、ＮＡＳ１０１、ストレージ装置１０３と通信接続する。
【００５１】
＜ストレージ装置＞
図６において、ストレージ装置１００（特にストレージ装置１０３）の詳細構成例を示している。ストレージ装置１００は、制御（記憶制御）機能を担うＤＫＣ（ディスクコントローラ）１１０と、記憶機能を担うＤＫＵ（ディスクユニット）１３０を備え、また、保守管理機能を備えるＳＶＰ（サービスプロセッサ）１９０等が接続または内蔵されている。
【００５２】
ＤＫＣ１１０は、処理部として、本例では、ＣＨＡ（チャネルアダプタ）１１、ＤＫＡ（ディスクアダプタ）１２、ＣＭ（キャッシュメモリ）１３、ＳＭ（シェアドメモリ）１４、ＳＷ（クロスバースイッチ）１５を有する。各部は、ＳＷ１５でのデータ転送制御及びパス切り替えを介して相互に通信やデータ転送が可能に接続される。また、各部は、内部のＬＡＮ１８０を通じて、ＳＶＰ１９０と接続されている。ＣＨＡ１１やＤＫＡ１２等では、所定の処理に対応したプログラム１２０が実行される。ＣＨＡ１１群は、ホストＩ/Ｆ（インタフェース）部に対応し、ＤＫＡ１２群は、ディスクＩ/Ｆ部に対応する。
【００５３】
ＣＨＡ１１は、外部装置に対するチャネルＩ/Ｆ制御（ホストＩ/Ｆ制御）を行う部位である。ＤＫＡ１２は、ＨＤＤ１３１に対するディスクＩ/Ｆ制御を行う部位である。ＣＨＡ１１やＤＫＡ１２は、通信ポートを有し、対応するＩ/Ｆ（例えばＦＣ−Ｉ/Ｆ）のプロトコル通信処理を行う。
【００５４】
ＣＭ１３やＳＭ１４は、ＤＫＣ１１０内で各部に共用され、その上のデータ・情報は自動的にバックアップされる。ＣＭ１３は、ボリュームに対する入出力データ等のキャッシュのために使用される。ＳＭ１４は、構成情報、状態情報等を含む各種の制御情報の格納に使用される。
【００５５】
ＤＫＵ１３０は、ＨＤＤ１３１等の記憶装置群により構成される。ＤＫＡ１２に対して接続網を介してＤＫＵ１３０内の各ＨＤＤ１３１が通信接続される。ＨＤＤ１３１は、ＤＫＡ１２側からの要求に応じてそのディスク領域にデータを読み書きする動作を行う。
【００５６】
ＤＫＵ１３０内に、記憶領域として、記憶ボリューム（ストレージボリューム）が設定される。記憶ボリュームとしては、ＨＤＤ１３１等による物理的な記憶領域（物理ボリューム）と、１つ以上の物理ボリューム上に論理的に設定される記憶領域（論理ボリューム）とを有する。データ入出力対象となる論理ボリュームは、例えばＬＵ（論理ユニット）１３３と対応付けられる。ＬＵ１３３は、ＬＤＥＶ（論理デバイス）１３２のセットと対応付けられる。ＬＤＥＶ１３２は、物理ボリュームのグループ（ＲＡＩＤグループ）上に設定され、ＲＡＩＤ制御の単位となる。
【００５７】
ストレージ装置１００において、通常時における、外部（ホスト装置やＮＡＳ等）からのデータ入出力（書き込み／読み出し）要求に応じた、内部のボリュームに対するデータ入出力処理の手順は例えば以下である。ＤＫＣ１１０では、ＣＨＡ１１とＤＫＡ１２の間で、ＳＷ１５を介して、ＳＭ１４に処理指示等を格納し、ＣＭ１３に対象データをキャッシュしながら、データ転送処理が行われる。書き込み処理の場合は以下である。あるＣＨＡ１１が外部からデータ書き込み要求を受信した場合、当該ＣＨＡ１１は、当該書き込み要求をＳＭ１４に書き込むと共に、外部から受信した書き込みデータをＣＭ１３に書き込む。一方、ＤＫＡ１２は、ＳＭ１４を監視しており、ＳＭ１４に書き込み要求が書き込まれたことを検出すると、当該書き込み要求に従ってＣＭ１３から書き込みデータを読み出し、対象のＨＤＤ１３１上の領域に書き込む。読み出し処理の場合は以下である。あるＣＨＡ１１が外部からデータ読み出し要求を受信した場合、当該ＣＨＡ１１は、読み出し対象のデータがＣＭ１３に存在するかどうかを調べる。存在する場合、当該ＣＨＡ１１は、そのデータを読み出して外部に送信（応答）する。一方、存在しない場合、当該ＣＨＡ１１は、読み出し要求をＳＭ１４に書き込むと共に、ＳＭ１４を監視する。当該読み出し要求がＳＭ１４に書き込まれたことを、ＤＫＡ１２が検出する。当該ＤＫＡ１２は、対象のＨＤＤ１３１の領域から対象のデータを読み出して、ＣＭ１３に書き込むと共に、その旨をＳＭ１４に書き込む。そして、前記ＣＨＡ１１は、前記読み出し対象のデータがＣＭ１３に書き込まれたことを検出すると、そのデータを読み出して、外部へ送信（応答）する。
【００５８】
なお、ＤＫＣ１１０は、他の構成として、ＣＰＵを中心にＣＨＡ１１等の各部を制御する構成、ＣＨＡ１１とＤＫＡ１２の間で直接的に処理指示やデータ転送を行う構成、ＣＨＡ１１とＤＫＡ１２の機能を１つにまとめた構成、なども可能である。
【００５９】
＜インデックス情報＞
図７（ａ）〜（ｃ）において、本実施の形態１におけるインデックス情報（デ・デュプリケートグループ情報（Ｃ２）を含む）３００のテーブル形式の構成例を示している（図７（ｄ）は従来構成例）。これは図２の例と対応している。図７（ａ）のファイルのメタデータ３１０は、ファイルＩＤ３１１、ファイル名（パス等を含む）３１２、デ・デュプリケートグループ情報（Ｃ２）６０２を有する。従来のメタデータ（簡単のため、ファイルＩＤ３１１とファイル名３１２のみ示す）に対し、デ・デュプリケートグループ情報（Ｃ２）６０２が追加された構成である。デ・デュプリケートグループ情報（Ｃ２)６０２は、代表ファイルフラグ５１、次ファイルＩＤ５２（ＲＮ＿ＦＩＤ）を有する。代表ファイルフラグ５１は、代表ファイルであるかどうかを示すフラグである。次ファイルＩＤ５２は、同一デ・デュプリケートグループ内のリング構成（前記デ・デュプリケートファイル間リンクと対応している）における次のファイルを示すファイルＩＤである。図７（ｂ）のキーワード情報３２０は、従来と同様構成であり、キーワード３２１、出現場所情報ＩＤ（ＬＩＤと略す）３２２を有する。図７（ｃ）の出現場所情報３３０は、従来と同様構成であり、出現場所情報ＩＤ（ＬＩＤ）３３１、次ＬＩＤ（次の出現場所のＬＩＤ）３３２、ファイルＩＤ（出現場所のファイルＩＤ）３３３、出現位置情報３３４を有する。出現位置情報３３４は、該当ファイル内のキーワードの出現位置である。図７（ｄ）で、従来構成では、例えば、ファイルＩＤがＦＩＤ１であるファイル（Ｆ１）に関する出現場所情報３３０のレコードに加えて、それと中身が同一のファイルＩＤがＦＩＤ２であるファイル（Ｆ２）に関する出現場所情報３３０のレコード（例えば「IDX12,IDX13,FID2,10,24」）が保持されていたが、本実施の形態の構成（図７（ｃ））では、デ・デュプリケートにより、当該レコードは保持されない。
【００６０】
＜検索対象ファイル群の例＞
図８において、検索（解析）対象ファイル群７００の例を示している。簡単のため、３つのファイルＦ１（file1），Ｆ２（file2），Ｆ３（file3）において（各ファイルＩＤは、ＦＩＤ１，ＦＩＤ２，ＦＩＤ３）、Ｆ１とＦ２は、中身が同一であり、キーワード“apple”を含み、Ｆ３は、独立したファイルであり、キーワード“apple”及び“orange”を含む、という例である。
【００６１】
＜デ・デュプリケート情報（Ｃ１）＞
図９において、デ・デュプリケート情報（Ｃ１）６０１の構成例を示している。デ・デュプリケート情報（Ｃ１）６０１は、ファイル名８１、代表ファイルのファイル名８２を有する。中身が同一のファイル（例えばＦ２）は、代表ファイル（例えばＦ１）に対応付けられる。また、独立した１つのファイル（例えばＦ３）は、それ自身が代表ファイルとなる。尚ここで、ファイル名８１には、自装置（ＮＡＳ１０１）自体の名称を含んでいない（含んでも構わない）。
【００６２】
＜シグネチャハッシュ＞
図１０において、シグネチャハッシュ６０３情報の構成例を示している。シグネチャハッシュ６０３は、シグネチャ６１と、同一シグネチャ６１を持つファイル名のリスト６２とを有する。本システムでは、ファイル群の中身が同一かどうかの判定に際して、公知技術であるシグネチャハッシュの処理を、比較対象を絞り込みするために用いている。これにより、当該処理を高速化することができる。尚ここで、シグネチャハッシュ６０３の情報では、代表ファイル（例：Ｆ１，Ｆ３）についてのみ登録する。即ち、各ファイルの処理において、同じシグネチャ６１を持ち、中身が同一のファイル（例：Ｆ１）が既に登録されている場合は、処理中のファイル（例：Ｆ２）を登録しない。また、再解析等でシグネチャハッシュ６０３の情報を再利用するためには、ファイルの更新日付が更新されていないことの検出や、ＷＯＲＭ（Write Once Read Many：書き換え不可能）ファイルであることの検出などの処理が必要であるが、これらの拡張的な処理は自明なので説明省略する。
【００６３】
＜検索結果＞
図１１において、インデックス情報３００がデ・デュプリケートされている状態における、検索処理の結果の構成例を示している。この例は、ホスト装置４００から、キーワードとして“apple”は含むが“orange”は含まない条件を指定して、検索対象ファイル群７００を全文検索（即ちインデックス情報３００をキーワード検索）した結果である。図１１（ａ）では、通常の、デ・デュプリケート対応処理部５０２を備えない構成の場合における、検索処理の結果（検索結果情報９００）を示している。図１１（ｂ）では、本デ・デュプリケート対応処理部５０２を備える構成における、デ・デュプリケート対応検索処理１５による検索処理の結果（検索結果情報９００）、即ちファイル群の実態を反映した望ましい検索結果、を示している。図１１（ａ）では、直接インデックス情報３００が保持されているＦＩＤ１のファイルＦ１（代表ファイル）に関する情報（出現場所情報３３０のレコード）のみが出力され、それと中身が同一である、ＦＩＤ２のファイルＦ２の情報が出力されないことになる。検索結果情報９００における出現場所情報３３０のレコードは、ＬＩＤ９１、次ＬＩＤ９２、ファイルＩＤ９３、出現位置情報９４を有する。一方、図１１（ｂ）では、ＦＩＤ１のファイルＦ１（代表ファイル）に関する情報に加え、それと中身が同一である、同一デ・デュプリケートグループに属するＦＩＤ２のファイルＦ２の情報が追加される。
【００６４】
＜検索結果の表示例＞
図１２において、ホスト装置４００側における前述の検索結果の表示例を示している。本システムでの検索結果情報９００に基づき、前述の検索結果（図１１（ｂ））を、例えばＷｅｂページ等の形式で、ホスト装置４００の画面に表示した例である。図１２（ａ）は、中身同一ファイル（例：Ｆ１，Ｆ２）を、別々の情報単位として表示した例、図１２（ｂ）は、中身同一ファイルのファイル名を、一覧で纏めて１つの情報単位として表示した例である。太字は、ファイル中で見つかったキーワードである。アンダーライン付きのファイル名部分は、ファイル本体へのリンクになっており、この部分をホスト装置４００のユーザがクリックすることにより、ＮＡＳ１０１（なおＮＡＳ１０１のサーバ名が“nas1”とする）から該当ファイルを読み出して表示することができる。
【００６５】
＜他の構成例＞
実施の形態１の他の構成例として以下が可能である。本例では、ＮＡＳ１０１とストレージ装置１０３とを別個の装置として設けているが、ＮＡＳ１０１またはデ・デュプリケート処理部５０１は、ストレージ装置１０３内に内蔵して１つの装置としてもよい。また、全文検索サーバ１０２の機能は、ＮＡＳ１０１内やストレージ装置１０３内に設けること等により１つの装置としてもよい。また、インデックス情報３００は、全文検索サーバ１０２内に格納されても構わないし、別の外部ストレージ装置等に格納されても構わない。
【００６６】
また、本例では、簡単のため、全文検索処理（インデックス作成処理）時に検索対象ファイル群７００の状態が更新されない場合を説明している。検索対象ファイル群７００に後からファイルが追加された場合や、格納済みファイルの内容が書き換え更新された場合などには、従来の全文検索処理等にならって同様に処理する。あるいは、適用対象ファイルを限定して本システムの特徴的な処理（デ・デュプリケートによるインデックス情報の削減）を行う構成としてもよい。
【００６７】
また、本例では、全文検索サーバ１０２からＮＡＳ１０１にアクセスしてデ・デュプリケート情報（Ｃ１）６０１を取得する。これに限らず、ＮＡＳ１０１が、外部（ホスト装置４００）からファイルが書き込まれたタイミング等で、その旨や該当ファイルやデ・デュプリケート情報（Ｃ１）６０１等を能動的に全文検索サーバ１０２に報告または送信等し、それに応じて全文検索サーバ１０２が処理を行う構成などとしてもよい。
【００６８】
（実施の形態２）
次に、図１３〜図１５等を用いて、本発明の実施の形態２のストレージシステムを説明する。実施の形態２は、前記概要構成に従って、デ・デュプリケート機能を備えないＮＡＳ及びストレージ装置を有する構成において、全文検索サーバを、デ・デュプリケート機能及びデ・デュプリケート対応処理部を備える構成にしたものである。
【００６９】
＜システム（２）＞
図１３において、実施の形態２のストレージシステムの構成を示している。本ストレージシステムは、ＮＡＳ（ファイルサーバ）１０１Ｂ、全文検索サーバ１０２Ｂ、及びストレージ装置１０３を有する。図１４は、全文検索サーバ１０２Ｂ及びデ・デュプリケート対応処理部５０２Ｂの詳細を示す。図１５は、シグネチャハッシュ６０３Ｂの詳細を示す。
【００７０】
全文検索サーバ１０２Ｂは、全文検索処理だけでなくデ・デュプリケート処理部５０１Ｂによるデ・デュプリケート処理も行う。また、それに対応して、デ・デュプリケート対応処理部５０２Ｂによるデ・デュプリケート対応の検索処理を行う。また、デ・デュプリケート処理のために、全文検索サーバ１０２Ｂは、デ・デュプリケート情報（Ｃ１）６０１、及びシグネチャハッシュ６０３Ｂを管理する。
【００７１】
＜全文検索サーバ及びデ・デュプリケート対応機能（２）＞
図１４において、全文検索サーバ１０２Ｂ及びデ・デュプリケート対応処理部５０２Ｂの詳細を示している。デ・デュプリケートグループ情報追加・作成処理１３Ｂ（図２２に詳細を示す）は、デ・デュプリケート処理部５０１Ｂにより行われる、新規の処理である。各部の処理内容は、実施の形態１と同様である。
【００７２】
＜シグネチャハッシュ（２）＞
図１５において、シグネチャハッシュ６０３Ｂを示している。シグネチャハッシュ６０３Ｂは、シグネチャ６１Ｂ、同一シグネチャを持つファイルのファイルＩＤのリスト６２Ｂを有する。シグネチャハッシュ６０３Ｂの情報には、代表ファイルについてのみ登録する。即ち、各ファイルの処理において、同じシグネチャ６１Ｂを持ち、中身が同一のファイル（例：Ｆ１）が既に登録されている場合は、処理中のファイル（例：Ｆ２）を登録しない。その場合、デ・デュプリケートグループ情報（Ｃ２）６０２における処理中ファイルに対する代表ファイルフラグをFALSE（偽）とし、既に登録されている代表ファイルの同一デ・デュプリケートグループ内リングに、処理中ファイルを追加する。具体的には、代表ファイルの「同一デ・デュプリケートグループ内リングの次のファイルＩＤ」を、P.next、処理中の「同一デ・デュプリケートグループ内リングの次のファイルＩＤ」のファイルを、C.next、としたとき、以下のような処理、「tmp（一時変数）=P.next；  P.next=「処理中ファイルのファイルＩＤ」；  C.next=tmp」、を実行する。また、中身同一ファイルが登録されていない場合、デ・デュプリケートグループ情報（Ｃ２）６０２の処理中ファイルに対する代表ファイルフラグをTRUE（真）とし、既に登録されている代表ファイルの同一デ・デュプリケートグループ内リングの次ファイルＩＤを、処理中ファイル自身のファイルＩＤとする。
【００７３】
＜処理フロー＞
次に、図１６〜図２３を用いて、前記各実施の形態における各部の処理のフローを説明する。
【００７４】
＜デ・デュプリケート処理＞
図１６において、デ・デュプリケート処理部５０１によるデ・デュプリケート処理のフローを示している（Ｓは処理ステップを示す）。デ・デュプリケート処理の開始後、検索対象ファイル群７００中の最初のファイルの名前をＦＮとする（Ｓ７２０４）。次に、ＦＮが空かどうか判断し（Ｓ７２０６）、空の場合（Ｙ）、終了する。空でない場合（Ｎ）、次に、ファイル名がＦＮのファイルと中身が同一のファイルが、シグネチャハッシュ６０３情報に登録済みであるかを調べる（Ｓ７２１０）。この処理（中身同一ファイル判定）の詳細は、図１７に示される。この処理により、登録済みファイルのファイル名がＧＮとして返される。
【００７５】
次に、ＧＮが空かどうかを判断し（Ｓ７２５０）、空の場合（Ｙ）、ＧＮにＦＮを設定する（Ｓ７２５４）。空でない場合（Ｎ）、ファイル名がＦＮのファイルの本体を削除し、ファイル名がＦＮのファイルの本体については、ファイル名がＧＮのファイルの本体を指し示すように、設定する（Ｓ７２５２）。次に、ＦＮとＧＮの組を、デ・デュプリケート情報（Ｃ１）６０１に登録する。次に、検索対象ファイル群７００中のＦの次のファイルの名前をＦとする（Ｓ７２５８）。そして、Ｓ７２０６に戻る。
【００７６】
＜中身同一ファイル判定（１）＞
図１７において、前記Ｓ７２１０の処理のフローを示している。まず、ファイル名がＦＮのファイルに対するシグネチャＳＧＮＮを計算する（Ｓ７２１４）。次に、シグネチャＳＧＮＮは、シグネチャハッシュ６０３情報に登録済みであるか判断する（Ｓ７２１６）。登録済みでない場合（Ｎ）、シグネチャがＳＧＮＮであるハッシュエントリＨＥＮを作成し、ＨＥＮのファイル名リストに、ＦＮを登録する（Ｓ７２１８）。そして、ＧＮを空にし（Ｓ７２２０）、終了する。また、前記登録済みである場合（Ｙ）、シグネチャがＳＧＮＮであるハッシュエントリをＨＥとする（Ｓ７２３０）。次に、ＨＥに登録されたファイル名リストでの最初のファイル名をＦＮＸとする（Ｓ７２３２）。次に、ＦＮＸが空かどうか判断し（Ｓ７２３４）、空の場合（Ｙ）、ＨＥのファイル名リストにＦＮを登録する（Ｓ７２４２）。そして、ＧＮを空にし（Ｓ７２２０）、終了する。また、前記空でない場合（Ｎ）、ファイルＦＮとファイルＦＮＸの中身が完全に同一かどうか、比較する（Ｓ７２３６）。比較により、中身が同一である場合（Ｓ７２３８−Ｙ）、ＧＮにＧＮＸを設定し（Ｓ７２４４）、終了する。また、中身が同一でない場合（Ｓ７２３８−Ｎ）、ＨＥに登録されたファイル名リストでのＦＮＸの次のファイル名をＦＮＸとし（Ｓ７２４０）、Ｓ７２３４に戻る。
【００７７】
＜検索対象ファイル抽出処理＞
図１８において、全文検索サーバ１０２による検索対象ファイル抽出処理１１を示している。まず、検索対象ファイル群７００中の最初のファイルをＦとする（Ｓ１１０４）。次に、Ｆは空であるかを判断する（Ｓ１１０６）。空の場合（Ｙ）、終了する。空でない場合（Ｎ）、ファイルのメタデータに新しい行（レコード）Ｒを追加する（Ｓ１１０８）。次に、新規作成した一意のＩＤを、ＲのファイルＩＤに設定する（Ｓ１１１０）。次に、Ｆのファイル名を、Ｒのファイル名に、設定する（Ｓ１１１２）。次に、検索対象ファイル群７００中のＦの次のファイルをＦとし（Ｓ１１１４）、Ｓ１１０６に戻る。
【００７８】
＜デ・デュプリケートグループ情報作成処理（１）＞
図１９において、デ・デュプリケートグループ情報追加・作成処理１３（実施の形態１に対応する例）を示している。まず、ファイルのメタデータ中の最初の行をＮとする（Ｓ１３０４）。次に、Ｎは空かどうかを判断し（Ｓ１３０６）、空の場合（Ｙ）、終了する。空でない場合（Ｎ）、次に、ＮのファイルＩＤの値をＦＩＤＮ、ファイル名をＦＮＮとする（Ｓ１３０８）。次に、ファイル名がＦＮＮのファイルに対するデ・デュプリケート情報（Ｃ１）６０１を、ＮＡＳ１０１から取得し、代表ファイルのファイル名ＦＮＰを求める（Ｓ１３１０）。次に、ファイルのメタデータから、ファイル名がＦＮＰのファイルのＩＤ（ＦＩＤＰ）を求める（Ｓ１３１２）。次に、ＦＩＤＰがＦＩＤＮと同じかを判断し（Ｓ１３２０）、同じ場合（Ｙ）、Ｎの代表ファイルフラグをTRUEにし（Ｓ１３２２）、ＮのＲＮ＿ＦＩＤに、ＩＤＮを設定する（Ｓ１３２４）。そして、ファイルのメタデータ中のＮの次の行をＮとし（Ｓ１３２６）、Ｓ１３０６に戻る。また、前記Ｓ１３２０で、同じではない場合（Ｎ）、Ｎの代表ファイルフラグをFALSEにする（Ｓ１３３０）。次に、ファイルのメタデータ中のファイルＩＤがＦＩＤＰの行を、Ｐとし（Ｓ１３３２）、ＰのＲＮ＿ＦＩＤの値を、Ｔとし（Ｓ１３３４）、ＰのＲＮ＿ＦＩＤに、ＦＩＤＮを設定し（Ｓ１３３６）、ＰのＲＮ＿ＦＩＤに、Ｔを設定する（Ｓ１３３８）。そして、ファイルのメタデータ中のＮの次の行をＮとし（Ｓ１３２６）、Ｓ１３０６に戻る。
【００７９】
＜デ・デュプリケート対応キーワード抽出処理＞
図２０において、デ・デュプリケート対応キーワード抽出処理１４を示している。まず、ファイルのメタデータ中の最初の行をＮとする（Ｓ１４０４）。Ｎが空かどうかを判断し（Ｓ１４０６）、空の場合（Ｙ）、終了する。空でない場合（Ｎ）、Ｎの代表ファイルフラグがTRUEかを判断し（Ｓ１４０８）、TRUEでない場合（Ｎ）、ＮのファイルＩＤとファイル名を使用して、キーワード抽出処理を行う（Ｓ１４１０）。そして、ファイルのメタデータ中のＮの次の行をＮとし（Ｓ１４１２）、Ｓ１４０６に戻る。また、前記TRUEである場合（Ｙ）、Ｓ１４１２の処理後、Ｓ１４０６に戻る。
【００８０】
＜デ・デュプリケート対応検索処理＞
図２１において、デ・デュプリケート対応検索処理１５を示している。まず、通常の検索処理（図１１（ａ））を行い、検索結果情報９００を作成する（Ｓ１５０４）。次に、検索結果情報９００の最初の行をＲとする（Ｓ１５１０）。次に、Ｒは空かどうかを判断し（Ｓ１５１２）、空の場合（Ｙ）、終了する。空でない場合（Ｎ）、Ｒの出現場所ファイルＩＤを、ＦＩＤＲとする（Ｓ１５１４）。次に、ファイルのメタデータでファイルＩＤがＦＩＤＲの行をＰとする（Ｓ１５１６）。次に、Ｐの代表ファイルフラグがTRUEかを判断し（Ｓ１５１８）、TRUEの場合（Ｙ）、検索結果情報９００のＲの次の行をＲとし（Ｓ１５２０）、Ｓ１５１２に戻る。また、TRUEでない場合（Ｎ）、Ｒの次ＦＩＤの値をＳとする（Ｓ１５３０）。次に、Ｓ＝Ｐかどうかを判断し（Ｓ１５３２）、Ｓ＝Ｐではない場合（Ｎ）、Ｓ１５２０の処理後、Ｓ１５１２へ戻る。Ｓ＝Ｐの場合（Ｙ）、検索結果情報９００に新しい行Ｎを追加し、Ｒの値をコピーした後、出現ファイルＩＤにＳを設定する（Ｓ１５３４）。次に、Ｔに、Ｒの次ＬＩＤ（NEXT_LID）を代入し、Ｒの次ＬＩＤ（NEXT_LID）に、Ｎを代入し、Ｎの次ＬＩＤ（NEXT_LID）に、Ｔを代入する（Ｓ１５３６）。次に、Ｓの次ＦＩＤ（NEXT_FID）の値をＳとし（Ｓ１５３８）、Ｓ１５３２へ戻る。
【００８１】
＜デ・デュプリケートグループ情報作成処理（２）＞
次に、図２２において、デ・デュプリケートグループ情報追加・作成処理１３（実施の形態２に対応する例）を示している。まず、ファイルのメタデータ中の最初の行をＮとする（Ｓ１２０４）。次に、Ｎは空かどうかを判断し（Ｓ１２０６）、空の場合（Ｙ）、終了する。空でない場合（Ｎ）、次に、ＮのファイルＩＤの値をＦＩＤＮとする（Ｓ１２０８）。次に、ファイルＩＤがＦＩＤＮのファイルと中身が同一のファイルが、シグネチャ情報に登録済みであるかを調べる処理を行う（Ｓ１２１０）。登録済みのファイルのＩＤはＦＩＤＰとして返される。次に、ＦＩＤＰが空かを判断し（Ｓ１２５０）、空でない場合（Ｎ）、Ｎの代表ファイルフラグをFALSEにし（Ｓ１２５２）、ファイルのメタデータ中のファイルＩＤがＦＩＤＰの行をＰとする（Ｓ１２５４）。次に、ＰのＲＮ＿ＦＩＤの値を、Ｔとし（Ｓ１２５６）、ＰのＲＮ＿ＦＩＤに、ＦＩＤＮを設定し（Ｓ１２５８）、ＰのＲＮ＿ＦＩＤに、Ｔを設定する（Ｓ１２６０）。そして、ファイルのメタデータ中のＮの次の行をＮとし（Ｓ１２７０）、Ｓ１２０６に戻る。また、前記Ｓ１２５０で、空の場合（Ｙ）、Ｎの代表ファイルフラグをTRUEにする（Ｓ１２６２）。次に、ＮのＲＮ＿ＦＩＤに、ＦＩＤＮを設定する（Ｓ１２６４）。そして、ファイルのメタデータ中のＮの次の行をＮとし（Ｓ１２７０）、Ｓ１２０６に戻る。
【００８２】
＜中身同一ファイル判定（２）＞
図２３において、前記Ｓ１２１０の処理のフローを示している。まず、ファイルのメタデータを参照し、ファイルＩＤがＦＩＤＮのファイルのファイル名ＦＮＮを得て、検索対象ファイル群でのファイル名がＦＮＮのファイルに対するシグネチャＳＧＮＮを計算する（Ｓ１２１４）。次に、シグネチャＳＧＮＮは、シグネチャハッシュ６０３情報に登録済みであるか判断する（Ｓ１２１６）。登録済みでない場合（Ｎ）、シグネチャがＳＧＮＮであるハッシュエントリＨＥＮを作成し、ＨＥＮのファイルＩＤリストに、ＦＩＤＮを登録する（Ｓ１２１８）。そして、ＦＩＤＰを空にし（Ｓ１２２０）、終了する。また、前記登録済みである場合（Ｙ）、シグネチャがＳＧＮＮであるハッシュエントリをＨＥとする（Ｓ１２３０）。次に、ＨＥに登録されたファイルＩＤリストでの最初のファイルＩＤをＦＩＤＸとする（Ｓ１２３２）。次に、ＦＩＤＸが空かどうか判断し（Ｓ１２３４）、空の場合（Ｙ）、ＨＥのファイルＩＤリストにＦＩＤＮを登録する（Ｓ１２４２）。そして、ＦＩＤＰを空にし（Ｓ１２２０）、終了する。また、前記空でない場合（Ｎ）、ファイルのメタデータを参照し、ファイルＩＤがＦＩＤＸのファイルのファイル名ＦＮＸを得て、検索対象ファイル群に含まれるファイルＦＮＮとファイルＦＮＸの中身が完全に同一か、比較する（Ｓ１２３６）。比較により、中身が同一である場合（Ｓ１２３８−Ｙ）、ＦＩＤＰにＦＩＤＸを設定し（Ｓ１２４４）、終了する。また、中身が同一でない場合（Ｓ１２３８−Ｎ）、ＨＥに登録されたファイルＩＤリストでのＦＩＤＸの次のファイルＩＤをＦＩＤＸとし（Ｓ１２４０）、Ｓ１２３４に戻る。
【００８３】
以上説明したように、各実施の形態により、特に、（１）全文検索サーバ２００が管理・保持するインデックス情報３００の量が削減できる。（２）また、中身同一ファイルに対しては、ファイルの読み出しが不要となり、入出力処理を削減できる。（３）また、全文検索サーバ２００でのインデックス情報３００の作成時間を削減できる。
【００８４】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることは言うまでもない。
【産業上の利用可能性】
【００８５】
本発明は、ストレージシステムや全文検索システムなどの情報処理システムに利用可能である。
【図面の簡単な説明】
【００８６】
【図１】本発明の実施の形態におけるストレージシステムの構成の概要を示す図である。
【図２】本発明の実施の形態のストレージシステムの概要において、デ・デュプリケートされたインデックス情報の構成例を示す図である。
【図３】本発明の実施の形態１におけるストレージシステムの構成を示す図である。
【図４】本発明の実施の形態１のストレージシステムにおいて、全文検索サーバ及びデ・デュプリケート対応処理部の詳細構成を示す図である。
【図５】本発明の実施の形態１のストレージシステムにおいて、ホスト装置、ＮＡＳ、全文検索サーバのハードウェア構成を示す図である。
【図６】本発明の実施の形態１のストレージシステムにおいて、ストレージ装置の詳細構成例を示す図である。
【図７】本発明の実施の形態１のストレージシステムにおいて、インデックス情報のテーブル形式の構成例を示す図であり、（ａ）はファイルのメタデータ、（ｂ）はキーワード情報、（ｃ）は出現場所情報、（ｄ）の従来構成の出現場所情報を示す。
【図８】本発明の実施の形態１のストレージシステムにおいて、検索対象ファイル群の例を示す図である。
【図９】本発明の実施の形態１のストレージシステムにおいて、デ・デュプリケート情報（Ｃ１）の構成例を示す図である。
【図１０】本発明の実施の形態１のストレージシステムにおいて、シグネチャハッシュの構成例を示す図である。
【図１１】本発明の実施の形態１のストレージシステムにおいて、検索結果の例を示す図であり、（ａ）は通常（デ・デュプリケート対応ではない場合）の第１の検索結果、（ｂ）は本デ・デュプリケート対応の第２の検索結果を示す。
【図１２】（ａ），（ｂ）は、本発明の実施の形態１のストレージシステムにおいて、検索結果の表示例を示す図である。
【図１３】本発明の実施の形態２におけるストレージシステムの構成を示す図である。
【図１４】本発明の実施の形態２のストレージシステムにおいて、全文検索サーバ及びデ・デュプリケート対応処理部の詳細構成を示す図である。
【図１５】本発明の実施の形態２のストレージシステムにおいて、シグネチャハッシュの構成例を示す図である。
【図１６】本発明の実施の形態１，２のストレージシステムにおいて、デ・デュプリケート処理部のデ・デュプリケート処理のフローを示す図である。
【図１７】本発明の実施の形態１，２のストレージシステムにおいて、デ・デュプリケート処理における中身同一ファイル判定（Ｓ７２１０）のフローを示す図である。
【図１８】本発明の実施の形態１，２のストレージシステムにおいて、検索対象ファイル抽出処理のフローを示す図である。
【図１９】本発明の実施の形態１のストレージシステムにおいて、デ・デュプリケートグループ情報作成処理のフローを示す図である。
【図２０】本発明の実施の形態１，２のストレージシステムにおいて、デ・デュプリケート対応キーワード抽出処理のフローを示す図である。
【図２１】本発明の実施の形態１，２のストレージシステムにおいて、デ・デュプリケート対応検索処理のフローを示す図である。
【図２２】本発明の実施の形態２のストレージシステムにおいて、デ・デュプリケートグループ情報作成処理のフローを示す図である。
【図２３】本発明の実施の形態２のストレージシステムにおいて、デ・デュプリケートグループ情報作成処理における中身同一ファイル判定（Ｓ１２１０）のフローを示す図である。
【図２４】従来技術における、デ・デュプリケート機能及び全文検索機能を備えるストレージシステムの構成の概要を示す図である。
【図２５】従来技術における、全文検索におけるインデックス情報の構成例を示す図である。
【符号の説明】
【００８７】
１１…検索対象ファイル抽出処理、１３…デ・デュプリケートグループ情報追加・作成処理、１４…デ・デュプリケート対応キーワード抽出処理、１５…デ・デュプリケート対応検索処理、５１…代表ファイルフラグ、５２…次ファイルＩＤ、６１，６１Ｂ…シグネチャ、６２…同一シグネチャを持つファイル名のリスト、６２Ｂ…同一シグネチャを持つファイルＩＤのリスト、８１…ファイル名、８２…代表ファイルのファイル名、９１…ＬＩＤ、９２…次ＬＩＤ、９３…ファイルＩＤ、９４…出現位置情報、１００…ストレージ装置、１０１，１０１Ｂ…ＮＡＳ、１０２，１０２Ｂ…全文検索サーバ、１０３…ストレージ装置、１１０…ＤＫＣ（ディスクコントローラ）、１１１…ＣＨＡ、１１２…ＤＫＡ、１１３…ＣＭ、１１４…ＳＭ、１１５…ＳＷ、１２０…プログラム、１３０…ＤＫＵ（ディスクユニット）、１３１…ＨＤＤ、１３２…ＬＤＥＶ、１３３…ＬＵ、１８０…ＬＡＮ、１９０…ＳＶＰ、２００…全文検索サーバ、３００…インデックス情報、３０１…ファイルのメタデータ、３０２…キーワード出現場所情報、３０３…デ・デュプリケートグループ情報、３１０…ファイルのメタデータ、３１１，３３３…ファイルＩＤ、３１２…ファイル名、３２０…キーワード情報、３２１…キーワード、３２２，３３１…出現場所情報ＩＤ（ＬＩＤ）、３３０…出現場所情報、３３２…次ＬＩＤ、３３４…出現位置情報、４００…ホスト装置、５０１，５０１Ｂ…デ・デュプリケート処理部、５０２,５０２Ｂ…デ・デュプリケート対応処理部、６０１…デ・デュプリケート情報（Ｃ１）、６０２…デ・デュプリケートグループ情報（Ｃ２）、６０３，６０３Ｂ…シグネチャハッシュ、７００…検索対象ファイル群、８０１，８１１，８２１…制御部、８０２，８１２，８２２…メモリ、８０３，８１３，８２３…ポート、８０４…入力装置、８０５…出力装置、８１４…データキャッシュメモリ、８１５…デ・デュプリケート処理プログラム、８２４…全文検索処理プログラム、８２５…デ・デュプリケート対応処理プログラム、９００…検索結果情報、９０１，９０２…ネットワーク。
【図１】
2008158993.tif 000003
【図２】
2008158993.tif 000004
【図３】
2008158993.tif 000005
【図４】
2008158993.tif 000006
【図５】
2008158993.tif 000007
【図６】
2008158993.tif 000008
【図７】
2008158993.tif 000009
【図８】
2008158993.tif 000010
【図９】
2008158993.tif 000011
【図１０】
2008158993.tif 000012
【図１１】
2008158993.tif 000013
【図１２】
2008158993.tif 000014
【図１３】
2008158993.tif 000015
【図１４】
2008158993.tif 000016
【図１５】
2008158993.tif 000017
【図１６】
2008158993.tif 000018
【図１７】
2008158993.tif 000019
【図１８】
2008158993.tif 000020
【図１９】
2008158993.tif 000021
【図２０】
2008158993.tif 000022
【図２１】
2008158993.tif 000023
【図２２】
2008158993.tif 000024
【図２３】
2008158993.tif 000025
【図２４】
2008158993.tif 000026
【図２５】
2008158993.tif 000027