クライアント装置の要求に応じてデータを格納する格納手段を備えたファイルストレージ装置であって、前記クライアント装置によって前記格納手段に格納を要求されたファイルの形式に応じて、前記ファイルから、独立したファイルとして前記格納手段に格納可能な部分のデータである独立可能データを抽出する抽出部と、前記抽出部が抽出した前記独立可能データまたはファイルから前記独立可能データが削除されたデータである残データに合致するデータが前記格納手段に格納されているか否かを判定する重複判定部と、前記重複判定部の判定結果にもとづいて、前記格納手段に格納されているデータに合致しない前記独立可能データまたは前記残データを前記格納手段に格納する格納処理部と、前記クライアント装置の要求に応じて、前記格納処理部が前記格納手段に格納した前記独立可能データと前記残データとを結合してファイルに復元する復元部とを備えたことを特徴とするファイルストレージ装置。抽出部は、クライアント装置によって格納手段に格納を要求されたファイルから独立可能データを抽出した場合に、前記ファイルから前記独立可能データを削除し、前記独立可能データと残データとの結合位置を示す結合位置情報を生成し、復元部は、前記クライアント装置の要求に応じて、前記結合位置情報によって示される結合位置で前記格納手段に格納されている前記独立可能データと前記残データとを結合して前記ファイルを復元する請求項1記載のファイルストレージ装置。重複判定部は、格納手段に格納する独立可能データおよび残データのハッシュ値をそれぞれ算出するハッシュ値算出部と、前記ハッシュ値算出部が算出したハッシュ値を登録するハッシュテーブルとを含み、前記ハッシュ値算出部が算出した前記独立可能データのハッシュ値または前記残データのハッシュ値と、前記ハッシュテーブルに登録されているハッシュ値とが合致する場合に、前記独立可能データまたは前記残データに合致するデータが前記格納手段に格納されていると判定する請求項1または請求項2記載のファイルストレージ装置。ハッシュテーブルには、ハッシュ値算出部がハッシュ値を算出したデータが格納手段に格納されている場所を示す格納先情報と、当該データのハッシュ値とが対応付けられて登録され、重複判定部は、前記ハッシュ値算出部が算出した独立可能データのハッシュ値または残データのハッシュ値と、前記ハッシュテーブルに登録されているハッシュ値とが合致する場合に、前記ハッシュテーブルに登録されている前記ハッシュ値に対応付けられている格納先情報によって示される場所に格納されているデータを読み出し、読み出したデータと、前記独立可能データまたは前記残データとのバイト列が整合している場合に、前記独立可能データまたは前記残データに合致するデータが前記格納手段に格納されていると判定する請求項3記載のファイルストレージ装置。抽出部は、クライアント装置によって格納手段に格納を要求されたファイルの形式に応じて、前記ファイルから、復元部によって復元可能なバイナリデータを独立可能データとして抽出する請求項1から請求項4のうちいずれか1項記載のファイルストレージ装置。クライアント装置の要求に応じてファイルストレージ装置の格納手段にデータを格納するデータ格納方法であって、前記クライアント装置によって前記格納手段に格納を要求されたファイルの形式に応じて、前記ファイルから、独立したファイルとして前記格納手段に格納可能な部分のデータである独立可能データを抽出し、抽出した前記独立可能データまたは前記ファイルから前記独立可能データが削除されたデータである残データに合致するデータが前記格納手段に格納されているか否かを判定し、前記判定の結果にもとづいて、前記格納手段に格納されているデータに合致しない前記独立可能データまたは前記残データを前記格納手段に格納し、前記クライアント装置の要求に応じて、前記格納手段に格納した前記独立可能データと前記残データとを結合してファイルに復元することを特徴とするデータ格納方法。クライアント装置によって格納手段に格納を要求されたファイルから独立可能データを抽出した場合に、前記ファイルから前記独立可能データを削除し、前記独立可能データと残データとの結合位置を示す結合位置情報を生成し、前記クライアント装置の要求に応じて、前記結合位置情報によって示される結合位置で前記格納手段に格納されている前記独立可能データと前記残データとを結合して前記ファイルを復元する請求項6記載のデータ格納方法。クライアント装置の要求に応じてデータを格納する格納手段を備えたファイルストレージ装置に搭載されるデータ格納プログラムであって、コンピュータに、前記クライアント装置によって前記格納手段への格納を要求されたファイルの形式に応じて、前記ファイルから、独立したファイルとして前記格納手段に格納可能な部分のデータである独立可能データを抽出する抽出処理と、前記抽出処理で抽出した前記独立可能データまたは前記ファイルから前記独立可能データが削除されたデータである残データに合致するデータが前記格納手段に格納されているか否かを判定する重複判定処理と、前記重複判定処理の判定結果にもとづいて、前記格納手段に格納されているデータに合致しない前記独立可能データまたは前記残データを前記格納手段に格納する格納処理と、前記クライアント装置の要求に応じて、前記格納処理で前記格納手段に格納した前記独立可能データと前記残データとを結合してファイルに復元する復元処理とを実行させるためのデータ格納プログラム。コンピュータに、クライアント装置によって格納手段への格納を要求されたファイルから独立可能データを抽出した場合に、抽出処理で、前記ファイルから前記独立可能データを削除させ、前記独立可能データと残データとの結合位置を示す結合位置情報を生成させ、前記クライアント装置の要求に応じて、復元処理で、前記結合位置情報によって示される結合位置で前記格納手段に格納されている前記独立可能データと前記残データとを結合して前記ファイルを復元させる請求項8記載のデータ格納プログラム。しかし、一般的なデデュプリケーションでは、ファイル単位やファイルシステムにおいて記憶媒体にデータを格納する際に固定的に割り振られる物理データブロック単位といった重複判定単位が用いられる。その場合、ユーザ等によってファイルデータに対する変更やデータの挿入があったときに、変更量や挿入量がごくわずかであっても、データの変更や挿入前後のファイルデータは、別のファイルデータと見なされてしまう。また、重複判定単位が物理データブロック単位である場合には物理データブロックへの分割方法は固定的である。よって、ファイルデータにおける大半のデータは、記憶媒体に格納済のデータと重複しているにも関わらず、重複したデータとして検出されないという課題がある。すなわち、ストレージ装置に格納されるデータの物理量の削減が十分でなく、ファイルデータの格納コストの軽減が十分に達成されていない。そこで、本発明は、格納されるデータの物理量をより減らして、ファイルデータの格納コストをより軽減することができるファイルストレージ装置、データ格納方法およびデータ格納プログラムを提供することを目的とする。本発明によるファイルストレージ装置は、クライアント装置の要求に応じてデータを格納する格納手段を備えたファイルストレージ装置であって、クライアント装置によって格納手段に格納を要求されたファイルの形式に応じて、ファイルから、独立したファイルとして格納手段に格納可能な部分のデータである独立可能データを抽出する抽出部と、抽出部が抽出した独立可能データまたはファイルから独立可能データが削除されたデータである残データに合致するデータが格納手段に格納されているか否かを判定する重複判定部と、重複判定部の判定結果にもとづいて、格納手段に格納されているデータに合致しない独立可能データまたは残データを格納手段に格納する格納処理部と、クライアント装置の要求に応じて、格納処理部が格納手段に格納した独立可能データと残データとを結合してファイルに復元する復元部とを備えたことを特徴とする。本発明によるデータ格納方法は、クライアント装置の要求に応じてファイルストレージ装置の格納手段にデータを格納するデータ格納方法であって、クライアント装置によって格納手段に格納を要求されたファイルの形式に応じて、ファイルから、独立したファイルとして格納手段に格納可能な部分のデータである独立可能データを抽出し、抽出した独立可能データまたはファイルから独立可能データが削除されたデータである残データに合致するデータが格納手段に格納されているか否かを判定し、判定の結果にもとづいて、格納手段に格納されているデータに合致しない独立可能データまたは残データを格納手段に格納し、クライアント装置の要求に応じて、格納手段に格納した独立可能データと残データとを結合してファイルに復元することを特徴とする。本発明によるデータ格納プログラムは、クライアント装置の要求に応じてデータを格納する格納手段を備えたファイルストレージ装置に搭載されるデータ格納プログラムであって、コンピュータに、クライアント装置によって格納手段への格納を要求されたファイルの形式に応じて、ファイルから、独立したファイルとして格納手段に格納可能な部分のデータである独立可能データを抽出する抽出処理と、抽出処理で抽出した独立可能データまたはファイルから独立可能データが削除されたデータである残データに合致するデータが格納手段に格納されているか否かを判定する重複判定処理と、重複判定処理の判定結果にもとづいて、格納手段に格納されているデータに合致しない独立可能データまたは残データを格納手段に格納する格納処理と、クライアント装置の要求に応じて、格納処理で格納手段に格納した独立可能データと残データとを結合してファイルに復元する復元処理とを実行させることを特徴とする。本発明によれば、格納されるデータの物理量をより減らして、ファイルデータの格納コストをより軽減することができる。図1は、本発明によるファイルストレージ装置の一実施形態を含むストレージシステムの構成を示すブロック図である。図1を参照して、本発明によるファイルストレージ装置の一実施形態であるファイルストレージ装置30を含むストレージシステムを説明する。図1に示すストレージシステムは、少なくとも1つ以上のクライアント装置101~10nと、ファイルストレージ装置30を含む。クライアント装置101~10nおよびファイルストレージ装置30は、ネットワーク20を介して相互に接続されている。クライアント装置101~10nは、ファイルストレージ装置30へのファイルデータの新規作成要求および削除要求や、ファイルストレージ装置30に格納されているファイルデータの読み出し要求および書き込み要求等のファイルデータ処理要求を送信する。以下、クライアント装置101の説明を行うが、クライアント装置102~10nも、クライアント装置101と同様に動作する。ファイルストレージ装置30は、クライアント装置101からネットワーク20を介して送信されたファイルデータ処理要求に応じて、ファイルの新規作成処理つまり、クライアント装置101からネットワーク20を介して送信されたファイルの格納要求に応じて格納する処理、削除処理、ストレージ装置30に格納されているファイルデータの読み出し処理および書き込み処理を実行する。そして、ファイルストレージ装置30は、処理要求元のクライアント装置101に処理の実行結果をネットワーク20を介して送信する。図2は、図1に示すファイルストレージ装置の内部構成を示すブロック図である。図2を参照して、ファイルストレージ装置30の内部構成を説明する。ストレージ装置30は、リクエスト処理部31、ファイルデータ管理部32、データオブジェクト格納管理部33、ファイルフォーマット判定抽出部34、データオブジェクト重複判定部35、およびデータオブジェクト記憶部36を備える。リクエスト処理部31は、クライアント装置101から送信されたファイルデータ処理要求をネットワーク20を介して受信する。リクエスト処理部31は、受信したファイルデータ処理要求に応じて、処理要求の内容およびファイルデータをファイルデータ管理部32に出力する。また、リクエスト処理部31は、ファイルデータ管理部32からファイルデータ処理の完了通知を受信すると、ファイルデータ処理の完了通知をネットワーク20を介してファイルデータ処理要求元のクライアント装置101に送信する。ファイルデータ管理部32は、ファイルストレージ装置30内でのファイルシステムとして機能する。ファイルデータ管理部32は、ファイルを一意に示すファイルID情報の生成、ファイルに付与される各種メタデータの管理、およびディレクトリツリー構成の管理を行う。また、ファイルデータ管理部32は、クライアント装置101から送信された各種処理要求について、メタデータに基づいて実行可否の判定を行う。データオブジェクト格納管理部33は、ファイルデータ管理部32で管理されているファイルデータを構成するデータオブジェクトの構成を示す情報の管理、および、データオブジェクト記憶部36におけるデータオブジェクトの格納位置を示す格納先アドレス情報の管理を行う。そして、データオブジェクト格納管理部33は、ファイルデータ管理部32の要求に応じて、データオブジェクト記憶部36からデータオブジェクトを読み出す処理や、データオブジェクト重複判定部35の判定結果に応じてデータオブジェクトをデータオブジェクト記憶部36に書き込む処理を実行する。ファイルフォーマット判定抽出部34は、ファイルデータのファイルフォーマット情報に基づいて、ファイルデータを構成するデータオブジェクトから、独立したファイルとして保存可能なデータ部分として抽出可能なデータオブジェクト以下、サブデータオブジェクトと呼ぶの有無を判定する。そして、ファイルフォーマット判定抽出部34は、抽出可能と判定したサブデータオブジェクトの抽出処理を実行する。また、ファイルフォーマット判定抽出部34は、サブデータオブジェクトの抽出後に、ファイルデータからサブデータオブジェクト部分を削除した残データ以下、メインデータオブジェクトと呼ぶの成型処理を行う。データオブジェクト重複判定部35は、データオブジェクト記憶部36に格納済みのデータオブジェクトと、新たにデータオブジェクト記憶部36に登録しようとするデータオブジェクトとの間でデータの重複が存在しているかどうかの重複判定を行う。そして、データオブジェクト重複判定部35は、判定結果に応じたデータの登録処理を実行する。また、データオブジェクト重複判定部35は、データオブジェクト記憶部36に登録されているデータの削除処理を実行する。データオブジェクト記憶部36は、少なくとも1つ以上のハードディスク等の記憶媒体を内蔵する。データオブジェクト記憶部36は、データオブジェクト格納管理部33やデータオブジェクト重複管理部35からの要求に応じて、記憶媒体へのデータオブジェクトの書き込み、削除、および記憶媒体からのデータオブジェクトの読み出しを行う。ここで、データオブジェクト格納管理部33におけるデータオブジェクトの管理方法を詳しく説明する。データオブジェクト格納管理部33は、データオブジェクト管理テーブルを用いて、データオブジェクトの管理を行う。データオブジェクト管理テーブルは、2種類存在する。1つは、ファイルフォーマット判定抽出部34によってファイルから抽出されたデータオブジェクトであるサブデータオブジェクトを管理するサブデータオブジェクト管理テーブルである。もう1つは、当該ファイルにおいてサブデータオブジェクト以外の部分のファイルデータを構成するメインデータオブジェクトを管理するメインデータオブジェクト管理テーブルである。データオブジェクト格納管理部33は、メインデータオブジェクト管理テーブルに、メインデータオブジェクトを一意に特定するIDメインデータオブジェクトID情報、メインデータオブジェクトから抽出された全てのサブデータオブジェクトを一意に特定するIDサブデータオブジェクトID情報、サブデータオブジェクトを抽出した場合にメインデータオブジェクトとサブデータオブジェクトとの結合方法を示す情報、データオブジェクト記憶部36におけるメインデータオブジェクトの格納先アドレス情報、および、データオブジェクト記憶部36へのメインデータオブジェクトの保存処理が完了したか否かを示すフラグ情報メインデータオブジェクト保存完了フラグを登録する。なお、メインデータオブジェクトとサブデータオブジェクトとの結合方法を示す情報は、例えば、メインデータオブジェクトへのサブデータオブジェクトの挿入位置を示す情報を含む。データオブジェクト格納管理部33は、サブデータオブジェクト管理テーブルに、サブデータオブジェクトを一意に特定するサブデータオブジェクトID情報、データオブジェクト記憶部36におけるサブデータオブジェクトの格納先アドレス情報、およびデータオブジェクト記憶部36へのサブデータオブジェクトの保存処理が完了したか否かを示すフラグ情報サブデータオブジェクト保存完了フラグを登録する。次に、ファイルフォーマット判定抽出部34におけるサブデータオブジェクトの抽出処理、およびサブデータオブジェクトの抽出後のメインデータオブジェクトの成型処理を詳しく説明する。まず、ファイルフォーマット判定抽出部34には、ファイル拡張子の種別例えば、xls等に応じて、ファイルデータに組み込まれている可能性があるサブデータオブジェクトの種別例えば、jpgやbmp等と、組み込まれているサブデータオブジェクトの抽出方法とが、対応可能ファイル情報として、予め設定されている。対応可能ファイル情報におけるファイル拡張子の種別には、アプリケーションソフトウェア例えば、AdobeReader登録商標に応じたアプリケーションファイルフォーマット例えば、PDF形式の種別が設定されていてもよい。ファイルフォーマット判定抽出部34は、データオブジェクト格納管理部33から入力されたファイルデータのファイルフォーマット情報ファイル拡張子に対する対応可能ファイル情報の設定を参照し、入力されたファイルデータから、画像データや映像データ等の独立したファイルとして抽出保存および復元が可能なバイナリデータとしてファイルに組み込まれているデータ部分をサブデータオブジェクトとして抽出する。すなわち、ファイルフォーマット判定抽出部34は、入力されたファイルデータから、入力されたファイルデータのファイルフォーマット情報に応じて、対応可能ファイル情報に設定されているサブデータオブジェクトの抽出方法に従って、サブデータオブジェクトを抽出する。ファイルフォーマット判定抽出部34は、ファイルデータの先頭から、画像データ、映像データ等の独立したファイルとして抽出可能なデータオブジェクトの組み込み制御タグ情報が当該ファイルデータに含まれているか否かを検査する。なお、制御タグ情報は、ファイルフォーマットによって異なる。ファイルフォーマット判定抽出部34は、データオブジェクト格納管理部33によって与えられるファイルのファイルフォーマット情報に応じて、検出する制御タグ情報を選択する。検出する制御タグ情報は、対応可能ファイル情報に含まれていてもよい。ファイルフォーマット判定抽出部34は、ファイルデータに組み込み制御タグ情報が含まれている場合に、制御タグ情報に基づいて、独立したファイルとして抽出可能なデータオブジェクトをサブデータオブジェクトとして抽出する。なお、ファイルフォーマット抽出部34は、ファイルからサブデータオブジェクトを抽出した後に、当該ファイルからサブデータオブジェクトを削除して成型したデータオブジェクトをメインデータオブジェクトとして生成する。そして、ファイルフォーマット判定抽出部34は、メインデータオブジェクトへのサブデータオブジェクトの挿入位置を示す挿入位置情報を生成する。つまり、挿入位置情報は、メインデータオブジェクトとサブデータオブジェクトとが結合される位置を示す情報である。挿入位置情報は、例えば、メインデータオブジェクトの先頭からのオフセット位置情報と、サブデータオブジェクトのデータ長を示すレングス情報を含む。また、抽出対象のサブデータオブジェクトが複数存在する場合には、ファイルフォーマット判定抽出部34は、全ての抽出対象のサブデータオブジェクトを抽出するとともに、個々のサブデータオブジェクトごとに挿入位置情報を生成する。ファイルに制御タグ情報が含まれていない場合には、ファイルフォーマット判定抽出部34は、サブデータオブジェクトが存在しないとして処理を完了する。次に、データオブジェクト重複判定部35が行う処理であるファイルの格納に用いられる情報の登録処理および情報の削除処理を詳しく説明する。データオブジェクト重複判定部35は、予め設定されたハッシュ関数を用いて、データオブジェクト記憶部36に格納するメインデータオブジェクトおよびサブデータオブジェクトのハッシュ値を算出する機能を有する。また、データオブジェクト重複判定部35は、算出したハッシュ値、データオブジェクト記憶部36におけるメインデータオブジェクトおよびサブデータオブジェクトのデータの格納先アドレス情報、およびデータの重複回数を対応付けて管理するハッシュテーブルを備える。情報の登録処理は、データオブジェクト格納管理部33が、データオブジェクト重複判定部35に、クライアント装置101からネットワーク20を介して送信されたファイルの格納要求に応じてデータの登録命令を発行し、データオブジェクト記憶部36に格納するメインデータオブジェクトおよびサブデータオブジェクトとともに出力したことに応じて実行される。データの登録命令を受けたデータオブジェクト重複判定部35は、データオブジェクト格納管理部33から出力されたメインデータオブジェクトおよびサブデータオブジェクトのハッシュ値を算出する。そして、データオブジェクト重複判定部35は、算出したハッシュ値に合致するハッシュ値がハッシュテーブルに登録されているかどうかを確認する。つまり、データオブジェクト重複判定部35は、データオブジェクト単位で重複判定を行う。算出したハッシュ値に合致するハッシュ値がハッシュテーブルに登録されていた場合には、データオブジェクト重複判定部35は、該当するハッシュ値に対応付けられてハッシュテーブルに登録されているデータの格納先アドレス情報を取得する。そして、データオブジェクト重複判定部35は、データの重複回数に1を加えて、データの格納先アドレス情報をデータオブジェクト格納管理部33に通知する。以上で、情報の登録処理が完了する。なお、異なるデータオブジェクトに基づいて同じハッシュ値が算出された場合の重複の誤検出を回避するために、データオブジェクト重複判定部35が重複の誤検出回避機能を備えてもよい。この誤検出回避機能では、データオブジェクト重複判定部35が、合致するハッシュ値がハッシュテーブルに登録されていた場合には、当該ハッシュ値に対応付けられているデータの格納先アドレス情報に基づいて、データオブジェクト記憶部36に記憶されているデータを読み出す。さらに、この誤検出回避機能では、データオブジェクト重複判定部35が、読み出したデータと、新規格納対象となっているメインデータオブジェクトまたはサブデータオブジェクトのデータとのバイト列が整合していることを確認する。データオブジェクト格納管理部33は、データオブジェクト重複判定部35が算出したハッシュ値に合致するハッシュ値がハッシュテーブルに登録されていないと判定した場合には、データオブジェクト記憶部36の空きデータ格納領域に、新規格納対象となっているメインデータオブジェクトまたはサブデータオブジェクトを格納する。データオブジェクト重複判定部35は、算出したハッシュ値、データオブジェクト記憶部36におけるメインデータオブジェクトまたはサブデータオブジェクトの格納先アドレス情報、およびデータの重複回数を0に設定したデータを対応付けてハッシュテーブルに登録する。そして、データオブジェクト重複判定部35は、データの格納先アドレス情報をデータオブジェクト格納管理部33に通知する。以上で、情報の登録処理が完了する。情報の削除処理は、データオブジェクト格納管理部33が、データオブジェクト重複判定部35に、クライアント装置101からネットワーク20を介して送信されたファイルの削除要求に応じてメインデータオブジェクトまたはサブデータオブジェクトの削除命令を発行し、削除対象となるメインデータオブジェクトまたはサブデータオブジェクトの格納先アドレス情報とともに出力したことに応じて実行される。メインデータオブジェクトまたはサブデータオブジェクトの削除命令を受けたデータオブジェクト重複判定部35は、データオブジェクト格納管理部33から出力されたメインデータオブジェクトまたはサブデータオブジェクトの格納先アドレス情報に該当するハッシュテーブルの格納先アドレス情報を抽出する。そして、データオブジェクト重複管理部35は、抽出した格納先アドレス情報に対応付けられたデータの重複回数を確認する。データの重複回数が0であった場合には、データオブジェクト重複管理部35は、格納先アドレス情報に基づいて、データオブジェクト記憶管理部36に記録されているメインデータオブジェクトおよびサブデータオブジェクトを削除する。そして、データオブジェクト重複管理部35は、情報の削除処理が完了したことをデータオブジェクト格納管理部33に通知する。以上で、情報の削除処理が完了する。データの重複回数が1以上であった場合には、データオブジェクト重複管理部35は、データの重複回数を1減らす。そして、データオブジェクト重複管理部35は、情報の削除処理が完了したことをデータオブジェクト格納管理部33に通知する。以上で、情報の削除処理が完了する。図1に示すストレージシステムにおいて、クライアント装置101からファイルストレージ装置30に行われるファイルの新規作成、削除、読み出し、および書き込みといったファイルアクセス要求は、NFSNetworkFileSystemやCIFSCommonInternetFileSystem等のデファクトスタンダードとなっているネットワークファイルシステムプロトコルを用いて実行される。なお、クライアント装置101は、ファイルストレージ装置30に新たなファイルの格納を要求する場合に、ファイルの新規作成および書き込みのファイルアクセス要求を行うものとする。例えば、ファイルアクセス要求が行われると、ストレージ装置30に備えられたリクエスト処理部31において各種ネットワークファイルシステムプロトコルが解釈され、ファイルデータ管理部32に各種ファイルアクセス要求が転送される。また、ファイルデータ管理部32においてファイルアクセス処理が完了すると、リクエスト処理部31において、ファイルアクセス処理の完了通知が各種ネットワークファイルシステムプロトコルに基づいて変換され、クライアント装置101に転送されるとする。図1に示すストレージシステムにおいて、ファイルストレージ装置30が、ファイルの新規作成を行う処理を説明する。なお、ファイルの新規作成を行う処理は、クライアント装置101の要求に応じて、ファイルを新たにデータオブジェクト記憶部36に格納する場合に行われる処理である。まず、リクエスト処理部31は、クライアント装置101からファイルの新規作成を要求する新規作成要求を受信する。リクエスト処理部31は、当該新規作成要求、ファイルの作成先となるディレクトリ名、ファイル名、およびその他のファイルのメタデータ情報をファイルデータ管理部32に送信する。ファイルデータ管理部32は、リクエスト処理部31からファイルの作成先となるディレクトリ名、ファイル名、その他ファイルのメタデータ情報を受信すると、ファイルの書き込み権限といったデータ作成権限に問題がなければ、ファイルを一意に特定するファイルID情報を生成する。そして、ファイルデータ管理部32は、指定された各種メタデータ情報に基づいて生成されたファイルシステム上で管理するメタデータを、生成したファイルID情報に対応付けて保存する。メタデータとファイルID情報との保存が完了すると、ファイルデータ管理部32は、ファイルの新規作成完了通知と生成したファイルID情報とをリクエスト処理部31に送信する。リクエスト処理部31は、受信したファイルの新規作成完了通知と当該ファイルのファイルID情報とをクライアント装置101に送信する。なお、ファイルアクセス要求によって、ファイルの削除処理、ファイルデータの書き込み処理、およびファイルデータの読み出し処理が行われる場合には、ファイルの新規作成処理において生成されたファイルID情報を用いて処理対象のファイルが指定される。次に、ファイルストレージ装置30が、クライアント装置101の要求に応じてファイルの書き込みを行う処理を説明する。なお、ファイルの書き込みを行う処理は、クライアント装置101の要求に応じて、ファイルを新たにデータオブジェクト記憶部36に格納する場合、またはデータオブジェクト記憶部36に既に格納されているファイルを更新する場合に行われる処理である。ファイルを新たにデータオブジェクト記憶部36に格納する場合には、前述したファイルの新規作成を行う処理が行われてから、生成されたファイルID情報を用いて、ファイルの書き込みを行う処理が実行される。図3は、図1に示すファイルストレージ装置のファイル書き込み処理を示すフローチャートである。図3を参照して、図1に示すストレージシステムにおいて、ファイルストレージ装置30がファイルデータを書き込む処理を説明する。まず、リクエスト処理部31は、クライアント装置101からファイルデータの書き込みを要求するファイル書き込み命令と、ファイルデータを書き込むファイルのファイルID情報とを受信する。リクエスト処理部31は、ファイル書き込み命令の転送と併せて、書き込むファイルのファイルID情報、および書き込むファイルデータ本体をファイルデータ管理部32に送信する。ファイル書き込み命令を受信したファイルデータ管理部32は、リクエスト処理部31から受信したファイルID情報およびファイルデータ本体に基づいて、データオブジェクト格納管理部33に、ファイルID情報、データオブジェクト書き込み命令、データオブジェクトに相当するファイルデータ本体、および、ファイルに付与されているファイル名の拡張子つまり、ファイルフォーマット情報を送信するステップS200。データオブジェクト書き込み命令を受信したデータオブジェクト格納管理部33は、メインデータオブジェクト管理テーブルに、受信したファイルID情報と同一のメインデータオブジェクトID情報を持つエントリを新規作成する。そして、データオブジェクト格納管理部33は、当該エントリにおけるメインデータオブジェクト保存完了フラグを、保存処理が完了していないことを示す状態に設定するステップS201。次に、データオブジェクト格納管理部33は、ファイルデータ管理部32から受信したファイルフォーマット情報について、ファイルフォーマット判定抽出部34がサブデータオブジェクトの有無および抽出を行うことができるファイルフォーマット対応可能なファイルフォーマットであるかどうか判定するステップS202。対応可能なファイルフォーマットであるどうかは、対応可能ファイル情報のファイル拡張子の種別に、ファイルデータ管理部32から受信したファイルフォーマット情報に合致するファイル拡張子が登録されているかによって判定できる。ステップS202において、ファイルフォーマット判定抽出部34が対応可能なファイルフォーマットであると判定した場合には、データオブジェクト格納管理部33は、ファイルフォーマット判定抽出部34に、ファイルデータ管理部32から受信したデータオブジェクトおよびファイルフォーマット情報を送信するステップS203。ファイルフォーマット判定抽出部34は、データオブジェクト格納管理部33から受信したファイルフォーマット情報に基づいて、受信したデータオブジェクトからサブデータオブジェクトが抽出できるかどうか判定するステップS204。ステップS204においてサブデータオブジェクトが抽出できると判定された場合には、ファイルフォーマット判定抽出部34は、データオブジェクトから抽出可能と判定したサブデータオブジェクトの抽出処理を実行する。そして、ファイルフォーマット判定抽出部34は、当該データオブジェクトから抽出処理で抽出したサブデータオブジェクトを削除して、サブデータオブジェクトの削除後のデータオブジェクトであるメインデータオブジェクトを生成する成型処理を行う。そして、ファイルフォーマット判定抽出部34は、データオブジェクト格納管理部33に、抽出したサブデータオブジェクト、生成したメインデータオブジェクト、抽出したサブデータオブジェクト数、およびメインデータオブジェクトへのサブデータオブジェクトの挿入位置情報を返信するステップS205。なお、ステップS204においてサブデータオブジェクトが抽出できないと判定された場合にはステップS204のN、ファイルフォーマット判定抽出部34は、データオブジェクト格納管理部33に、サブデータオブジェクトを抽出不可であると返信する。以降の処理として、ステップS202において、ファイルフォーマット判定抽出部34が対応していないファイルフォーマットであった場合ステップS202のNの処理と同じ処理が実行される。ステップS205においてサブデータオブジェクトが抽出され、ファイルフォーマット判定抽出部34からデータ群が返信されると、データオブジェクト格納管理部33は、サブデータオブジェクト管理テーブルに、返信されたサブデータオブジェクト数に応じて、サブデータオブジェクトを一意に識別するサブデータオブジェクトID情報を付与する。そして、データオブジェクト格納管理部33は、サブデータオブジェクトの保存処理が完了していない状態であることを示すサブデータオブジェクト保存完了フラグを設定したエントリ情報を作成する。また、データオブジェクト格納管理部33は、メインデータオブジェクト管理テーブルに、関連するサブデータオブジェクトID情報およびサブデータオブジェクトの挿入位置情報を登録するステップS206。次に、データオブジェクト格納管理部33は、サブデータオブジェクトを、データの登録命令とともに、データオブジェクト重複判定部35に送信するステップS207。データオブジェクト重複判定部35は、データオブジェクト格納管理部33から送信されたサブデータオブジェクトの重複判定を行い、判定結果に応じてデータオブジェクトの登録処理であるデータ登録処理を実行する。具体的には、データオブジェクト重複判定部35は、データオブジェクト格納管理部33から送信されたサブデータオブジェクトのハッシュ値を算出する。そして、データオブジェクト重複判定部35は、算出したハッシュ値が、データオブジェクト記憶部36におけるハッシュテーブルに登録されているハッシュ値に合致しない場合に、重複するデータが格納されていないと判定する。このとき、データオブジェクト重複判定部35は、サブデータオブジェクトをデータオブジェクト格納管理部33に出力し、データオブジェクト記憶部36への格納を指示する。データオブジェクト格納管理部33は、指示に応じてサブデータオブジェクトをデータオブジェクト記憶部36に格納する。データオブジェクト重複判定部35は、データ登録処理を完了した後に、データオブジェクト格納管理部33に、データの格納先を示すデータオブジェクト記憶部36のデータ格納先アドレス情報を通知するステップS208。データ重複判定部35からデータの格納先アドレス情報を通知されたデータオブジェクト格納管理部33は、当該データのサブデータオブジェクト管理テーブルの対象エントリに格納先アドレス情報を登録するとともに、サブデータオブジェクト保存完了フラグを保存処理が完了したことを示す状態に設定するステップS209。データオブジェクト格納管理部33は、ステップS205において抽出された全てのサブデータオブジェクトについて、データ登録処理が完了したかどうか確認するステップS210。そして、データオブジェクト格納管理部33は、データ登録処理が完了した後に、データの登録命令とともに、メインデータオブジェクトをデータオブジェクト重複判定部35に送信するステップS211。なお、ステップS202に示す判定処理において、ファイルフォーマット判定抽出部34が対応していないファイルフォーマットであった場合にはステップS202のNo、データオブジェクト格納管理部33は、ファイルデータ管理部32から転送されたデータオブジェクトをメインデータオブジェクトとして位置づけ、ステップS211に示す動作と同じく、データの登録命令とともに、メインデータオブジェクトをデータオブジェクト重複判定部35に送信する。メインデータオブジェクトのデータと、当該メインデータオブジェクトの登録命令を受信したデータオブジェクト重複判定部35は、メインデータオブジェクトの重複判定を行い、判定結果に応じてデータオブジェクトの登録処理であるデータ登録処理を実行する。具体的には、データオブジェクト重複判定部35は、データオブジェクト格納管理部33から送信されたメインデータオブジェクトのハッシュ値を算出する。そして、データオブジェクト重複判定部35は、算出したハッシュ値が、データオブジェクト記憶部36におけるハッシュテーブルに登録されているハッシュ値に合致しない場合に、重複するデータが格納されていないと判定する。このとき、データオブジェクト重複判定部35は、メインデータオブジェクトをデータオブジェクト格納管理部33に出力し、データオブジェクト記憶部36への格納を指示する。データオブジェクト格納管理部33は、指示に応じてメインデータオブジェクトをデータオブジェクト記憶部36に格納する。データオブジェクト重複判定部35は、データ登録処理を完了した後に、データオブジェクト記憶部36のデータ格納先アドレス情報をデータオブジェクト格納管理部33に通知するステップS212。データ格納先アドレス情報を受信したデータオブジェクト格納管理部34は、メインデータオブジェクト管理テーブルに、書き込み処理対象と競合する同一のメインデータオブジェクトIDを持つエントリが存在しているかどうかを判定する。メインデータオブジェクト管理テーブルに、同一のメインデータオブジェクトIDを持つエントリが存在していた場合例えば、ファイルデータの更新処理の場合に相当には、データオブジェクト格納管理部34は、競合するメインデータオブジェクトIDを持つエントリによって管理されている全てのサブデータオブジェクトおよびメインデータオブジェクトの削除命令をデータオブジェクト重複管理部35に送信する。データオブジェクト格納管理部34は、全ての削除処理が完了した後に、競合するメインデータオブジェクトIDをもつエントリ、および関連するサブデータオブジェクトのサブデータオブジェクト管理テーブルのエントリを削除する。そして、データオブジェクト格納管理部34は、データ書き込み対象となっているメインデータオブジェクトのエントリに、格納先アドレス情報を登録する。また、データオブジェクト格納管理部34は、メインデータオブジェクト保存完了フラグを保存処理が完了したことを示す状態に設定する。さらに、データオブジェクト格納管理部34は、ファイルデータ管理部32にファイルデータの書き込みが完了したことを通知する。メインデータオブジェクト管理テーブルに、同一のメインデータオブジェクトIDを持つエントリが存在していない場合には、データオブジェクト格納管理部34は、データ書き込み対象となっているメインデータオブジェクトのエントリに格納先アドレス情報を登録する。また、データオブジェクト格納管理部34は、メインデータオブジェクト保存完了フラグを保存処理が完了したことを示す状態に設定する。さらに、データオブジェクト格納管理部34は、ファイルデータ管理部32にファイルデータの書き込みが完了したことを通知するステップS213。ファイルデータの書き込みの完了通知を受信したファイルデータ管理部32は、ファイルデータの書き込み完了通知と、ファイルデータを書き込んだファイルのID情報とをリクエスト処理部31に送信する。リクエスト処理部31は、受信したファイルデータの書き込み完了通知とファイルID情報とをクライアント装置101に送信し、ファイルデータを書き込む処理を完了する。図4は、図1に示すファイルストレージ装置のファイル読み込み処理を示すフローチャートである。図4を参照して、図1に示すストレージシステムにおいて、ファイルストレージ装置30がファイルデータを読み出す処理を説明する。まず、リクエスト処理部31は、クライアント装置101からファイルデータの読み込みを要求するファイル読み込み命令と、ファイルデータを読み込むファイルのファイルID情報とを受信する。リクエスト処理部31は、ファイル読み込み命令の転送と併せて、読み込むファイルのファイルID情報をファイルデータ管理部32に送信する。ファイル読み込み命令を受信したファイルデータ管理部32は、データオブジェクト格納管理部33に、データオブジェクト読み込み命令およびファイルID情報を送信するステップS300。データオブジェクト読み込み命令を受信したデータオブジェクト格納管理部33は、メインデータオブジェクト管理テーブルに、受信したファイルID情報と同一となるメインデータオブジェクトID情報を持つエントリを検索する。そして、データオブジェクト格納管理部33は、当該ID情報を持つエントリが複数存在しているかどうか確認するステップS301。ステップS301において、当該ID情報を持つエントリが複数存在していた場合には、データオブジェクト格納管理部33は、該当する複数のエントリのうち、保存処理が完了していることを示す状態にメインデータオブジェクト保存完了フラグが設定されているエントリに登録されているデータオブジェクトを、読み出し対象として決定するステップS302。ステップS301において、当該ID情報を持つエントリが1つしか存在しない場合には、データオブジェクト格納管理部33は、当該エントリに登録されているデータオブジェクトを読み出し対象として決定する。データオブジェクト格納管理部33は、読み出し対象のデータオブジェクトを決定すると、読み出し対象に決定したデータオブジェクトのエントリからデータオブジェクト記憶部36の格納先アドレス情報を抽出し、データオブジェクト記憶部36から、該当するデータオブジェクトを読み出すステップS303。そして、データオブジェクト格納管理部33は、読み出し対象に決定したエントリに、サブデータオブジェクト情報が登録されているかどうか確認するステップS304。読み出し対象に決定したエントリに、サブデータオブジェクト情報が登録されていた場合にはステップS304のYes、データオブジェクト格納管理部33は、当該サブデータオブジェクト情報に登録されているサブデータオブジェクトID情報に基づいて、サブデータオブジェクト管理テーブルから該当するID情報の全てのエントリを探索する。その後、データオブジェクト格納管理部33は、探索したエントリに登録されているデータオブジェクト記憶部36の格納先アドレス情報を抽出し、データオブジェクト記憶部36から、該当するメインデータオブジェクト、およびサブデータオブジェクトを全て読み出すステップS305。さらに、データオブジェクト格納管理部33は、読み出し対象に決定したエントリに登録されているサブデータオブジェクトの挿入位置情報を基に、メインデータオブジェクトとサブデータオブジェクトとを用いて、データオブジェクトを復元する。そして、データオブジェクト格納管理部33は、復元したデータオブジェクトを読み出し対象データとしてファイルデータ管理部32に転送するステップS306。読み出し対象に決定したエントリに、サブデータオブジェクト情報が登録されていなかった場合にはステップS304のNo、データオブジェクト格納管理部33は、ステップS303においてデータオブジェクト記憶部36から読み出したメインデータオブジェクトを、読み出し対象データとしてファイルデータ管理部32に転送するステップS307。読み出し対象データを受信したファイルデータ管理部32は、ファイルデータの読み込み完了通知と、読み出したファイルのID情報とをリクエスト処理部31に送信する。リクエスト処理部31は、受信したファイルデータの読み込み完了通知とファイルID情報とをクライアント装置101に送信し、ファイルデータを読み込む処理を完了する。なお、ステップS301における、ファイルデータ管理部32から受信したファイルID情報と同一となるメインデータオブジェクトID情報を持つエントリの存在数に関係なく、保存処理が完了していることを示す状態にメインデータオブジェクト保存完了フラグが設定されているエントリが存在しない場合には、データオブジェクト格納管理部33は、ファイルデータ管理部32に、読み出すべきデータオブジェクトが存在しないと通知する。図5は、図1に示すファイルストレージ装置のファイル削除処理を示すフローチャートである。図5を参照して、図1に示すストレージシステムにおいて、ファイルストレージ装置30がファイルを削除する処理を説明する。まず、リクエスト処理部31は、クライアント装置101からファイルの削除を要求するファイル削除命令と、削除するファイルのファイルIDとを受信する。リクエスト処理部31は、ファイル削除命令の転送と併せて、削除するファイルのファイルID情報をファイルデータ管理部32に送信する。ファイル削除命令を受信したファイルデータ管理部32は、データオブジェクト格納管理部33に、データオブジェクト削除命令およびファイルID情報を送信するステップS400。データオブジェクト削除命令を受信したデータオブジェクト格納管理部33は、メインデータオブジェクト管理テーブルに、受信したファイルID情報と同一となるメインデータオブジェクトID情報を持つエントリを検索し、当該ID情報を持つエントリが複数存在しているかどうか確認するステップS401。ステップS401において、当該ID情報を持つエントリが複数存在していた場合には、データオブジェクト格納管理部33は、該当する複数のエントリのうち、保存処理が完了していることを示す状態にメインデータオブジェクト保存完了フラグが設定されているエントリに登録されているデータオブジェクトを、削除対象として決定するステップS402。ステップS401において、当該ID情報を持つエントリが1つしか存在しない場合には、データオブジェクト格納管理部33は、当該エントリに登録されているデータオブジェクトを削除対象として決定する。データオブジェクト格納管理部33は、削除対象のデータオブジェクトを決定すると、読み出し対象に決定したデータオブジェクトのエントリからデータオブジェクト記憶部36の格納先アドレス情報を抽出する。そして、データオブジェクト格納管理部33は、データオブジェクト重複判定部35に、データオブジェクトの削除命令とともに、抽出した格納先アドレス情報を送信する。データオブジェクト格納管理部33から削除命令および格納先アドレスを受信したデータオブジェクト重複判定部35は、受信した格納先アドレス情報を基に、削除処理を実行する。データオブジェクト重複判定部35は、削除処理が完了すると、データオブジェクト格納管理部33に、削除処理が完了したことを通知するステップS403。さらに、ステップS403において削除処理の完了通知を受信したデータオブジェクト格納管理部33は、削除対象に決定したエントリに、サブデータオブジェクト情報が登録されているかどうか確認するステップS404。削除対象に決定したエントリに、サブデータオブジェクト情報が登録されていなかった場合にはステップS404のNo、ステップS406に示す処理に進む。削除対象に決定したエントリに、サブデータオブジェクト情報が登録されていた場合にはステップS404のYes、データオブジェクト格納管理部33は、当該サブデータオブジェクト情報に登録されているサブデータオブジェクトID情報に基づいて、サブデータオブジェクト管理テーブルから該当するID情報の全てのエントリを探索する。また、データオブジェクト格納管理部33は、探索したエントリに登録されているデータオブジェクト記憶部36の格納先アドレス情報を抽出する。そして、データオブジェクト格納管理部33は、全ての当該サブデータオブジェクトに対するデータオブジェクトの削除命令を、抽出した格納先アドレス情報とともに、データオブジェクト重複判定部35に送信する。データオブジェクト格納管理部33から削除命令および格納先アドレスを受信したデータオブジェクト重複判定部35は、受信した格納先アドレス情報を基に、削除処理を実行する。データオブジェクト重複判定部35は、削除処理が完了すると、データオブジェクト格納管理部33に、削除処理が完了したことを通知するステップS405。ステップS405または、ステップS403のNoに示す処理によって、データ重複判定部35から削除処理の完了通知を受信したデータオブジェクト格納管理部33は、メインデータオブジェクト管理テーブル、およびサブデータオブジェクト管理テーブルの削除処理対象となった全てのエントリを削除する。そして、データオブジェクト格納管理部33は、ファイルデータ管理部32に、削除処理の完了通知を送信するステップS406。ファイルデータの削除処理の完了通知を受信したファイルデータ管理部32は、ファイルの削除完了通知と、削除したファイルのID情報とをリクエスト処理部31に送信する。リクエスト処理部31は、送信されたファイルの削除完了通知と当該ファイルのファイルID情報とをクライアント装置101に送信し、ファイルを削除する処理を完了する。なお、ステップS401における、ファイルデータ管理部32から受信したファイルID情報と同一となるメインデータオブジェクトID情報を持つエントリの存在数に関係なく、保存処理が完了していることを示す状態にメインデータオブジェクト保存完了フラグが設定されているエントリが存在しない場合には、データオブジェクト格納管理部33は、ファイルデータ管理部32に、削除すべきデータオブジェクトが存在しないと通知する。なお、図面を参照してこの発明の一実施形態を詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。また、ファイルストレージ装置30は、内部にコンピュータシステムを有している。上述したファイルストレージ装置30の各処理部の動作は、プログラムの形式でコンピュータが読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。ここで、コンピュータが読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、CD-ROM、DVD-ROM、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしても良い。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、上記プログラムは、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル差分プログラムであっても良い。以上に説明したように、本実施形態のファイルストレージ装置30は、登録しようとするファイルデータに対して、ファイルフォーマットに応じて、ファイルデータを構成するデータオブジェクト単位で、データオブジェクト重複判定部35によって、ファイルストレージ装置30のデータオブジェクト記憶部36に格納されたデータオブジェクトとの重複を判定する。ファイルストレージ装置30は、ファイルデータを生成するユーザ端末またはアプリケーション等によって実行されるデータ変更単位として適合しやすいデータオブジェクト単位で重複判定を行う。そのため、ユーザ端末またはアプリケーション等によって変更が行われたデータオブジェクトだけをファイルストレージ装置30のデータオブジェクト記憶部36に格納し、変更が発生していないデータオブジェクトは、重複するデータオブジェクトとしてデータオブジェクト記憶部36に格納する必要がなくなる。よって、ファイルストレージ装置30内に格納するデータの物理容量をより少なくし、ファイルデータの格納コストをさらに軽減することができる。また、ファイルストレージ装置30は、ハッシュ関数により生成されたデータオブジェクトを代表するハッシュ値を用いて重複判定を行う。よって、物理データブロック単位で重複判定を行う場合よりも、ファイルストレージ装置30上で重複判定を実行するときにかかる処理コストを低減することができる。特に、高速なデータ入出力処理I/O処理の実行が見込まれるストレージ処理においては、I/O処理と同時に重複判定を行うので、I/O処理性能の劣化を抑えることも期待できる。図6は、本発明によるファイルストレージ装置の主要部を示すブロック図である。図6に示すように、ファイルストレージ装置1例えば、図1に示すファイルストレージ装置30に相当は、クライアント装置7例えば、図1に示すクライアント装置101に相当によって格納手段2例えば、図2に示すデータオブジェクト記憶部36に相当に格納を要求されたファイルの形式に応じて、ファイルから、独立したファイルとして格納手段2に格納可能な部分のデータである独立可能データサブデータオブジェクトに相当を抽出する抽出部3例えば、図2に示すファイルフォーマット判定抽出部34に相当と、抽出部3が抽出した独立可能データまたはファイルから独立可能データが削除されたデータである残データメインデータオブジェクトに相当に合致するデータが格納手段2に格納されているか否かを判定する重複判定部4例えば、図2に示すデータオブジェクト重複判定部35に相当と、重複判定部4の判定結果にもとづいて、格納手段2に格納されているデータに合致しない独立可能データまたは残データを格納手段2に格納する格納処理部5例えば、図2に示すデータオブジェクト格納管理部33に相当と、クライアント装置7の要求に応じて、格納処理部5が格納手段2に格納した独立可能データと残データとを結合してファイルに復元する復元部6例えば、図2に示すデータオブジェクト格納管理部33に相当とを備えるように構成されている。また、上記の実施形態では、以下の1~4に示すようなファイルストレージ装置も開示されている。1抽出部3が、クライアント装置7によって格納手段2に格納を要求されたファイルから独立可能データを抽出した場合に、ファイルから独立可能データを削除し、独立可能データと残データとの結合位置を示す結合位置情報を生成し、復元部6が、クライアント装置7の要求に応じて、結合位置情報によって示される結合位置で格納手段2に格納されている独立可能データと残データとを結合してファイルを復元するファイルストレージ装置。そのように構成された場合には、格納手段2に別個に格納した独立可能データと残データとを結合してファイルを復元することができる。2重複判定部4が、格納手段2に格納する独立可能データおよび残データのハッシュ値をそれぞれ算出するハッシュ値算出部と、ハッシュ値算出部が算出したハッシュ値を登録するハッシュテーブルとを含み、ハッシュ値算出部が算出した独立可能データのハッシュ値または残データのハッシュ値と、ハッシュテーブルに登録されているハッシュ値とが合致する場合に、独立可能データまたは残データに合致するデータが格納手段2に格納されていると判定するファイルストレージ装置。そのように構成された場合には、ハッシュ値にもとづいてデータの重複格納を防ぐことができる。3ハッシュテーブルには、ハッシュ値算出部がハッシュ値を算出したデータが格納手段に格納されている場所を示す格納先情報と、当該データのハッシュ値とが対応付けられて登録され、重複判定部4は、ハッシュ値算出部が算出した独立可能データのハッシュ値または残データのハッシュ値と、ハッシュテーブルに登録されているハッシュ値とが合致する場合に、ハッシュテーブルに登録されているハッシュ値に対応付けられている格納先情報によって示される場所に格納されているデータを読み出し、読み出したデータと、独立可能データまたは残データとのバイト列が整合している場合に、独立可能データまたは残データに合致するデータが格納手段2に格納されていると判定するファイルストレージ装置。そのように構成された場合には、異なるデータオブジェクトに基づいて同じハッシュ値が算出された場合の重複の誤検出を回避することができる。4抽出部3は、クライアント装置7によって格納手段2に格納を要求されたファイルの形式に応じて、ファイルから、復元部6によって復元可能なバイナリデータを独立可能データとして抽出するファイルストレージ装置。以上、実施形態及び実施例を参照して本願発明を説明したが、本願発明は上記実施形態および実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。この出願は、2010年3月29日に出願された日本特許出願2010-75766を基礎とする優先権を主張し、その開示の全てをここに取り込む。