(57)【要約】  ファイル記憶装置は、クライアント装置から受信したファイルと、記憶部に格納されたファイルとが同一のフォーマットにおいて一致するか否かを判定し、一致しない場合には、クライアント装置から受信したファイルを記憶部に格納する重複判定部と、重複判定部により一致すると判定された場合には、クライアント装置から受信したファイルのフォーマットと記憶部に格納されたファイルとを関連付けるとともに、クライアント装置からファイルの読み出し要求を受けると、記憶部に格納されたファイルを読み出し、読み出したファイルに関連付けられたフォーマットが存在する場合には、読み出したファイルを該フォーマットに変換して提供する格納管理部とを備えている。エンコードされたファイルを記憶装置に格納する場合において、デコードしたときに一致するファイルが重複して格納されることを防ぐ。
2011155551.tif 000002
【特許請求の範囲】
【請求項１】
クライアント装置から受信したファイルと、記憶部に格納されたファイルとが同一のフォーマットにおいて一致するか否かを判定し、一致しない場合には、該クライアント装置から受信したファイルを該記憶部に格納する重複判定部と、
前記重複判定部により一致すると判定された場合には、前記クライアント装置から受信したファイルのフォーマットと前記記憶部に格納されたファイルとを関連付けるとともに、クライアント装置からファイルの読み出し要求を受けると、前記記憶部に格納されたファイルを読み出し、読み出したファイルに関連付けられたフォーマットが存在する場合には、読み出したファイルを該フォーマットに変換して提供する格納管理部と、を備えていることを特徴とするファイル記憶装置。
【請求項２】
前記重複判定部は、クライアント装置から受信したファイルから抽出した特徴情報と、前記記憶部に格納されたファイルから抽出した特徴情報との類似度が所定の閾値以上である場合には、両ファイルは一致するものとみなすことを特徴とする、請求項１に記載のファイル記憶装置。
【請求項３】
前記重複判定部は、クライアント装置から受信したファイルが画像ファイルである場合には、前記特徴情報として画像の色彩情報、および／または、形状情報を抽出することを特徴とする、請求項２に記載のファイル記憶装置。
【請求項４】
前記重複判定部は、クライアント装置から受信したファイルと、記憶部に格納されたファイルとが同一の解像度において一致するか否かを判定し、一致しない場合には、該クライアント装置から受信したファイルを前記記憶部に格納し、
前記格納管理部は、前記重複判定部により一致すると判定された場合には、前記クライアント装置から受信したファイルの解像度と前記記憶部に格納されたファイルとを関連付けるとともに、クライアント装置からファイルの読み出し要求を受けると、前記記憶部に格納されたファイルを読み出し、読み出したファイルに関連付けられた解像度が存在する場合には、読み出したファイルを該解像度に変換して提供することを特徴とする、請求項１ないし３のいずれか１項に記載のファイル記憶装置。
【請求項５】
前記重複判定部は、クライアント装置から受信したファイルと、記憶部に格納されたファイルとが同一の圧縮率において一致するか否かを判定し、一致しない場合には、該クライアント装置から受信したファイルを前記記憶部に格納し、
前記格納管理部は、前記重複判定部により一致すると判定された場合には、前記クライアント装置から受信したファイルのファイルサイズと前記記憶部に格納されたファイルとを関連付けるとともに、クライアント装置からファイルの読み出し要求を受けると、前記記憶部に格納されたファイルを読み出し、読み出したファイルに関連付けられたファイルサイズが存在する場合には、読み出したファイルを該ファイルサイズに変換して提供することを特徴とする、請求項１ないし４のいずれか１項に記載のファイル記憶装置。
【請求項６】
前記記憶部を備えていることを特徴とする、請求項１ないし５のいずれか１項に記載のファイル記憶装置。
【請求項７】
請求項１ないし６のいずれか１項に記載のファイル記憶装置と、
前記ファイル記憶装置を共有する複数のクライアント装置とを備えていることを特徴とするストレージシステム。
【請求項８】
クライアント装置から受信したファイルと、記憶部に格納されたファイルとが同一のフォーマットにおいて一致するか否かを判定する工程と、
一致しない場合には、前記クライアント装置から受信したファイルを前記記憶部に格納する工程と、
一致すると判定された場合には、前記クライアント装置から受信したファイルのフォーマットと前記記憶部に格納されたファイルとを関連付ける工程と、
クライアント装置からファイルの読み出し要求を受けると、前記記憶部に格納されたファイルを読み出し、読み出したファイルに関連付けられたフォーマットが存在する場合には、読み出したファイルを該フォーマットに変換して提供する工程と、を含むことを特徴とするファイル記憶方法。
【請求項９】
前記判定工程において、クライアント装置から受信したファイルから抽出した特徴情報と、前記記憶部に格納されたファイルから抽出した特徴情報との類似度が所定の閾値以上である場合には、両ファイルは一致するものとみなすことを特徴とする、請求項８に記載のファイル記憶方法。
【請求項１０】
前記判定工程において、クライアント装置から受信したファイルが画像ファイルである場合には、前記特徴情報として画像の色彩情報、および／または、形状情報を抽出することを特徴とする、請求項９に記載のファイル記憶方法。
【請求項１１】
前記判定工程において、クライアント装置から受信したファイルと、記憶部に格納されたファイルとが同一の解像度において一致するか否かを判定し、
一致すると判定された場合には、前記関連付け工程において、前記クライアント装置から受信したファイルの解像度と前記記憶部に格納されたファイルとを関連付け、
前記提供工程において、クライアント装置からファイルの読み出し要求を受けると、前記記憶部に格納されたファイルを読み出し、読み出したファイルに関連付けられた解像度が存在する場合には、読み出したファイルを該解像度に変換して提供することを特徴とする、請求項８ないし１０のいずれか１項に記載のファイル記憶方法。
【請求項１２】
前記判定工程において、クライアント装置から受信したファイルと、記憶部に格納されたファイルとが同一の圧縮率において一致するか否かを判定し、
一致すると判定された場合には、前記関連付け工程において、前記クライアント装置から受信したファイルのファイルサイズと前記記憶部に格納されたファイルとを関連付け、
前記提供工程において、クライアント装置からファイルの読み出し要求を受けると、前記記憶部に格納されたファイルを読み出し、読み出したファイルに関連付けられたファイルサイズが存在する場合には、読み出したファイルを該ファイルサイズに変換して提供することを特徴とする、請求項８ないし１１のいずれか１項に記載のファイル記憶方法。
【請求項１３】
クライアント装置から受信したファイルと、記憶部に格納されたファイルとが同一のフォーマットにおいて一致するか否かを判定する処理と、
一致しない場合には、前記クライアント装置から受信したファイルを前記記憶部に格納する処理と、
一致すると判定された場合には、前記クライアント装置から受信したファイルのフォーマットと前記記憶部に格納されたファイルとを関連付ける処理と、
クライアント装置からファイルの読み出し要求を受けると、前記記憶部に格納されたファイルを読み出し、読み出したファイルに関連付けられたフォーマットが存在する場合には、読み出したファイルを該フォーマットに変換して提供する処理と、をコンピュータに実行させることを特徴とするプログラム。
【請求項１４】
前記判定処理において、クライアント装置から受信したファイルから抽出した特徴情報と、前記記憶部に格納されたファイルから抽出した特徴情報との類似度が所定の閾値以上である場合には、両ファイルは一致するものとみなすことを特徴とする、請求項１３に記載のプログラム。
【請求項１５】
前記判定処理において、クライアント装置から受信したファイルが画像ファイルである場合には、前記特徴情報として画像の色彩情報、および／または、形状情報を抽出することを特徴とする、請求項１４に記載のプログラム。
【請求項１６】
前記判定処理において、クライアント装置から受信したファイルと、記憶部に格納されたファイルとが同一の解像度において一致するか否かを判定し、
一致すると判定された場合には、前記関連付け処理において、前記クライアント装置から受信したファイルの解像度と前記記憶部に格納されたファイルとを関連付け、
前記提供処理において、クライアント装置からファイルの読み出し要求を受けると、前記記憶部に格納されたファイルを読み出し、読み出したファイルに関連付けられた解像度が存在する場合には、読み出したファイルを該解像度に変換して提供することを特徴とする、請求項１３ないし１５のいずれか１項に記載のプログラム。
【請求項１７】
前記判定処理において、クライアント装置から受信したファイルと、記憶部に格納されたファイルとが同一の圧縮率において一致するか否かを判定し、
一致すると判定された場合には、前記関連付け処理において、前記クライアント装置から受信したファイルのファイルサイズと前記記憶部に格納されたファイルとを関連付け、
前記提供処理において、クライアント装置からファイルの読み出し要求を受けると、前記記憶部に格納されたファイルを読み出し、読み出したファイルに関連付けられたファイルサイズが存在する場合には、読み出したファイルを該ファイルサイズに変換して提供することを特徴とする、請求項１３ないし１６のいずれか１項に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願についての記載）
本発明は、日本国特許出願：特願２０１０−１３２７１９号（２０１０年６月１０日出願）の優先権主張に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。【０００２】
本発明は、ファイル記憶装置、ファイル記憶方法およびプログラムに関し、特に、ファイルを効率良く格納するファイル記憶装置、ファイル記憶方法およびプログラムに関する。
【背景技術】
【０００３】
＜ファイル重複排除格納技術＞
ファイルの重複を排除しつつファイルを記憶媒体に格納する技術として、Ｄｅｄｕｐｌｉｃａｔｉｏｎ（ディデュプリケーション、重複排除、重複除外、非重複化）と呼ばれる手法が知られている。Ｄｅｄｕｐｌｉｃａｔｉｏｎでは、複数のコンピューティング端末で生成されたファイルを集中的に格納するファイル記憶装置において、ハードディスクドライブなどの物理的な記憶媒体にファイルを格納する段階で、既に格納されているファイルとの重複を判定し、重複しているファイルについては記憶媒体にファイルを格納せず、格納済みの重複ファイルへのポインタ情報のみを記録する。これにより、物理的な記録容量を削減することができる。【０００４】
Ｄｅｄｕｐｌｉｃａｔｕｏｎは、通常、ファイル単位やファイルシステム上で記憶媒体にファイルを格納する際に、固定的に割り振られる物理データブロック単位で、格納済みのファイルとの重複の判定を行なう。このとき、ディジタル認証等で用いられているＳＨＡ１（Ｓｅｃｕｒｅ  Ｈａｓｈ  Ａｌｇｏｒｉｔｈｍ  １）、ＭＤ５（Ｍｅｓｓａｇｅ  Ｄｉｇｅｓｔ  ５）などのハッシュ関数により生成された数十〜数百ビットのサイズの小さいダイジェストデータ同士を比較することで、同一のバイト列から成るファイルまたはデータブロックであるか否かを判定する。【０００５】
このような、ダイジェストデータを用いた重複判定手法を採用することにより、ファイル記憶装置上で実行される重複判定に要する処理コストを削減することができる。特に、高速なＩ／Ｏ処理の実行が必要とされるストレージ処理において、Ｉ／Ｏ処理と同時に重複判定を行うことで、Ｉ／Ｏ処理性能の低下を防ぐことができる。【０００６】
このようなダイジェストデータを重複判定手段として有する重複排除型ストレージシステムは、特に、同一のバイト列から成るファイルまたはデータブロックが多数存在するコンピューティング環境において、バックアップファイルの格納を目的とするファイル記憶装置、または、複数の仮想ＯＳのシステム部分のイメージファイルの格納を目的とするファイル記憶装置におけるファイル格納コストを削減する手段として用いられている。【０００７】
＜ファイルの特徴の類似性に基づくファイル探索技術＞
画像ファイル集合に含まれる各画像ファイルが有する色情報、画像内に表現されている形状情報等をファイルの特徴情報として形式化して保存しておき、この特徴情報と入力画像ファイルの特徴情報とを比較することにより、画像ファイル集合に属する画像ファイルの中から、入力画像ファイルに類似する画像ファイルを抽出する画像検索手法が知られている。【０００８】
かかる画像検索手法においては、どのような類似性を持った画像ファイルを抽出したいのかという目的に応じて、比較に用いる画像ファイルの特徴情報の種類や数を変更したり、比較に用いるアルゴリズムを変更したりすることで、所望の画像ファイルの抽出精度または抽出速度を向上させることができる。【０００９】
このような画像検索技術は、基準画像について、インターネット上に存在するこれに類似する画像ファイルを検索するシステムとして実用化されており、一例として、インターネットコンテンツを扱うＷＥＢサービスとして実用化されている。【００１０】
このように、ファイルに埋め込まれている意味的情報を、特徴情報として抽出し、その特徴情報を元に類似するファイルを抽出するシステムは、テキストファイル、動画ファイルなどの画像ファイル以外の形式のファイルを対象とする場合においても、特徴情報として抽出する情報および比較方法が、対象とするファイル形式に応じて異なるものの、同様のアプローチによって構築することができる。【００１１】
特許文献１に、ファイルの処理時に同一のファイルを無駄なく蓄積して取り扱うファイルのバックアップを実現するとともに、その処理ファイルを必要なときに容易に利用できるようにしたファイルシステムが記載されている。【００１２】
また、特許文献２に、同一電子ファイルの保存時に１個の電子ファイルとして保存して記憶容量を削減し、各利用者が指示したディレクトリ構造に保存されているように見せる電子ファイル保存方法が記載されている。【００１３】
さらに、特許文献３に、クエリ図形画像の検索時に利用すべき最適な形状特徴量の種類を自動設定することにより、図形検索処理の高精度化および効率化を図ることができる図形検索装置が記載されている。
【先行技術文献】
【特許文献】
【００１４】
【特許文献１】特開２０００−０５７１５９号公報
【特許文献２】特開２００５−１５７７６８号公報
【特許文献３】特開２００７−１４９０１８号公報
【発明の概要】
【発明が解決しようとする課題】
【００１５】
上記の特許文献の各開示を、本書に引用をもって繰り込むものとする。以下の分析は、本発明者によってなされたものである。【００１６】
画像、映像ファイルなどのマルチメディアファイルは、ストレージに格納される際に、ファイル容量を削減するために、元となるファイルの品質を維持するために、または、ファイルの用途などに応じて、様々なファイルフォーマットにエンコードされる。【００１７】
これらのファイルは、エンドユーザが利用する際に、デコードされる。これらのファイルには、デコード後のファイルが同一とみなしうるもの、視覚的にほぼ同一とみなしうるもの、または、解像度もしくはファイルの圧縮率を変更した派生関係にあるとみなしうるものが含まれる。【００１８】
しかしながら、ファイルの同一性または類似性に基づいて、ファイルの重複性を検出し、重複を排除してファイルを格納する場合に、従来の手法を適用することは困難である。ファイルをストレージに格納する際には、ファイルは様々なフォーマットによりエンコードされているため、従来のハッシュ関数により求めたダイジェスト値の比較に基づく手法によると、重複したファイルとして検出することができないからである。【００１９】
そこで、エンコードされたファイルを記憶装置に格納する場合において、デコードしたときに一致するファイルが重複して格納されることを防ぐことが課題となる。本発明の目的は、かかる課題を解決するファイル記憶装置、ファイル記憶方法およびプログラムを提供することにある。
【課題を解決するための手段】
【００２０】
本発明の第１の視点に係るファイル記憶装置は、
クライアント装置から受信したファイルと、記憶部に格納されたファイルとが同一のフォーマットにおいて一致するか否かを判定し、一致しない場合には、クライアント装置から受信したファイルを記憶部に格納する重複判定部と、
重複判定部により一致すると判定された場合には、クライアント装置から受信したファイルのフォーマットと記憶部に格納されたファイルとを関連付けるとともに、クライアント装置からファイルの読み出し要求を受けると、記憶部に格納されたファイルを読み出し、読み出したファイルに関連付けられたフォーマットが存在する場合には、読み出したファイルを該フォーマットに変換して提供する格納管理部と、を備えている。【００２１】
本発明の第２の視点に係るファイル記憶方法は、
クライアント装置から受信したファイルと、記憶部に格納されたファイルとが同一のフォーマットにおいて一致するか否かを判定する工程と、
一致しない場合には、クライアント装置から受信したファイルを記憶部に格納する工程と、
一致すると判定された場合には、クライアント装置から受信したファイルのフォーマットと記憶部に格納されたファイルとを関連付ける工程と、
クライアント装置からファイルの読み出し要求を受けると、記憶部に格納されたファイルを読み出し、読み出したファイルに関連付けられたフォーマットが存在する場合には、読み出したファイルを該フォーマットに変換して提供する工程と、を含む。【００２２】
本発明の第３の視点に係るプログラムは、
クライアント装置から受信したファイルと、記憶部に格納されたファイルとが同一のフォーマットにおいて一致するか否かを判定する処理と、
一致しない場合には、クライアント装置から受信したファイルを記憶部に格納する処理と、
一致すると判定された場合には、クライアント装置から受信したファイルのフォーマットと記憶部に格納されたファイルとを関連付ける処理と、
クライアント装置からファイルの読み出し要求を受けると、記憶部に格納されたファイルを読み出し、読み出したファイルに関連付けられたフォーマットが存在する場合には、読み出したファイルを該フォーマットに変換して提供する処理と、をコンピュータに実行させる。【００２３】
さらに、本発明の第４の視点において、上記のファイル記憶装置と、該ファイル記憶装置を共有する複数のクライアント装置とを備えたストレージシステムが提供される。
【発明の効果】
【００２４】
本発明に係るファイル記憶装置、ファイル記憶方法およびプログラムによると、エンコードされたファイルを記憶装置に格納する場合において、デコードしたときに一致するファイルが重複して格納されることを防ぐことができる。
【図面の簡単な説明】
【００２５】
【図１】第１および第２の実施形態に係るファイル記憶装置を備えたストレージシステムの構成を示すブロック図である。
【図２】第１および第２の実施形態に係るファイル記憶装置の構成を示すブロック図である。
【図３】第１の実施形態におけるファイル登録処理を示すフローチャートである。
【図４】第１の実施形態におけるファイル書き込み処理を示すフローチャートである。
【図５】第１の実施形態におけるファイル読み出し処理を示すフローチャートである。
【図６】第２の実施形態におけるファイル登録処理を示すフローチャートである。
【図７】第２の実施形態におけるファイル書き込み処理を示すフローチャートである。
【図８】第２の実施形態におけるファイル読み出し処理を示すフローチャートである。
【発明を実施するための形態】
【００２６】
第１の展開形態によると、上記第１の視点に係るファイル記憶装置が提供される。
【００２７】
第２の展開形態によると、重複判定部は、クライアント装置から受信したファイルから抽出した特徴情報と、記憶部に格納されたファイルから抽出した特徴情報との類似度が所定の閾値以上である場合には、両ファイルは一致するものとみなす、ファイル記憶装置が提供される。
【００２８】
第３の展開形態によると、重複判定部は、クライアント装置から受信したファイルが画像ファイルである場合には、特徴情報として画像の色彩情報、および／または、形状情報を抽出する、ファイル記憶装置が提供される。
【００２９】
第４の展開形態によると、重複判定部は、クライアント装置から受信したファイルと、記憶部に格納されたファイルとが同一の解像度において一致するか否かを判定し、一致しない場合には、クライアント装置から受信したファイルを記憶部に格納し、
格納管理部は、重複判定部により一致すると判定された場合には、クライアント装置から受信したファイルの解像度と記憶部に格納されたファイルとを関連付けるとともに、クライアント装置からファイルの読み出し要求を受けると、記憶部に格納されたファイルを読み出し、読み出したファイルに関連付けられた解像度が存在する場合には、読み出したファイルを該解像度に変換して提供する、ファイル記憶装置が提供される。
【００３０】
第５の展開形態によると、重複判定部は、クライアント装置から受信したファイルと、記憶部に格納されたファイルとが同一の圧縮率において一致するか否かを判定し、一致しない場合には、該クライアント装置から受信したファイルを記憶部に格納し、
格納管理部は、重複判定部により一致すると判定された場合には、クライアント装置から受信したファイルのファイルサイズと記憶部に格納されたファイルとを関連付けるとともに、クライアント装置からファイルの読み出し要求を受けると、記憶部に格納されたファイルを読み出し、読み出したファイルに関連付けられたファイルサイズが存在する場合には、読み出したファイルを該ファイルサイズに変換して提供する、ファイル記憶装置が提供される。
【００３１】
第６の展開形態によると、上記記憶部を備えているファイル記憶装置が提供される。
【００３２】
第７の展開形態によると、複数のクライアント装置によって共有される、上記ファイル記憶装置が提供される。
【００３３】
第８の展開形態によると、上記第２の視点に係るファイル記憶方法が提供される。
【００３４】
第９の展開形態によると、上記第３の視点に係るプログラムが提供される。
【００３５】
本発明に係るファイル記憶装置、ファイル記憶方法およびプログラムによると、デコード後のファイルが同一、視覚的にほぼ同一とみなせる、もしくは解像度やファイルの圧縮率を変更した派生関係を持つファイル同士を重複するファイルとして、１つのファイルに集約してファイル記憶装置に格納することにより、ファイルの格納容量および格納コストを低減することができる。
【００３６】
すなわち、本発明に係るファイル記憶装置、ファイル記憶方法およびプログラムによると、クライアント装置から受信したファイルと、記憶部に格納されたファイルとが同一のフォーマットにおいて一致するか否かを判定し、一致しない場合には、クライアント装置から受信したファイルを記憶部に格納することから、エンコードされたファイルを記憶装置に格納する場合において、デコードしたときに一致または類似するファイルが重複して格納されることを防ぐことができ、ファイルの格納容量を削減することができる。
【００３７】
また、本発明に係るファイル記憶装置、ファイル記憶方法およびプログラムによると、クライアント装置から受信したファイルのフォーマットと記憶部に格納されたファイルとが関連付けられていることから、記憶部に格納されたフォーマットとは異なるフォーマットに変換してクライアント装置に提供することができる。
【００３８】
（実施形態１）
実施形態に係るファイル記憶装置について、図面を参照して説明する。図１は、本実施形態に係るファイル記憶装置３０を備えたストレージシステムの構成を示すブロック図である。
【００３９】
図１を参照すると、ストレージシステムは、１または２以上のクライアント装置１０と、ファイル記憶装置３０とを備えている。これらの装置は、ネットワーク２０を介して相互に接続されている。
【００４０】
クライアント装置１０は、ファイル記憶装置３０へのファイルの新規作成、および削除要求を出力するとともに、ファイル記憶装置３０に格納されているファイルの読み出しおよび書き込み要求を出力する。
【００４１】
ファイル記憶装置３０は、ネットワーク２０を介してクライアント装置１０から転送された上記の要求に応じて、ファイルの新規作成処理および削除処理、ならびに、ファイル記憶装置に格納されているファイルの読み出し処理および書き込み処理を実行する。また、ファイル記憶装置３０は、ネットワーク２０を介して処理要求元のクライアント装置１０へ処理の実行結果を転送する。
【００４２】
図２は、ファイル記憶装置３０の構成を示すブロック図である。図２を参照すると、ファイル記憶装置３０は、リクエスト処理部３１、ファイル管理部３２、フォーマット判定部３３、フォーマット変換部３４、格納管理部３５、重複判定部３６、および、記憶部３７を備えている。
【００４３】
リクエスト処理部３１は、クライアント装置１０からネットワーク２０を介して転送されるファイルの新規作成、削除、読み出し、更新などの各種ファイル処理要求を受ける。リクエスト処理部３１は、ファイル処理要求に応じて、処理要求ファイルおよびファイルをファイル管理部３２へ転送する。また、リクエスト処理部３１は、ファイル管理部３２からの処理完了通知を受けて、ネットワーク２０を介してクライアント装置１０へ完了した処理結果を転送する。
【００４４】
ファイル管理部３２は、ファイル記憶装置３０内におけるファイルシステムとして機能する。また、ファイル管理部３２は、ファイルを一意に示すファイルＩＤ情報の生成、ファイルに付与される各種メタデータの管理、及び、ディレクトリツリー構成の管理を行う。さらに、ファイル管理部３２は、これらのメタデータに基づいて、クライアント装置１０から送信された各種処理要求の実行の可否について判定するとともに、これらの処理要求が完了したか否かを管理する。
【００４５】
フォーマット判定部３３は、ファイルに付与されている拡張子またはファイルに埋め込まれているファイルフォーマット情報と、フォーマット判定部３３に予め登録されているファイルフォーマットリストに含まれるファイルフォーマット情報とが一致するか否かを判定する。
【００４６】
フォーマット変換部３４は、他のユニットから入力されたファイル本体および変換後フォーマット情報の指定を受けて、入力されたファイル本体を指定されたフォーマット情報に基づいてフォーマットを変換し、変換後のファイルをファイル入力元のユニットに送信する。
【００４７】
格納管理部３５は、ファイル管理部３２で管理されているファイルを、記憶部３７に格納する。また、格納管理部３５は、記憶部３７に記憶されているファイルの格納先アドレス情報を管理する。さらに、格納管理部３５は、ファイル管理部３２からの要求に応じて、記憶部３７からのファイルの読み出し処理、及び、重複判定部３６を介した記憶部３７へのファイルの書き込み処理を行う。
【００４８】
重複判定部３６は、記憶部３７に格納済みのファイルと、新たに記憶部３７へ格納するファイル間でファイルの重複が存在しているか否かを判定する。また、重複判定部３６は、記憶部３７へのファイルの格納処理および削除処理を行う。
【００４９】
記憶部３７は、ハードディスクドライブ等の記憶媒体を内蔵している。記憶部３７は、格納管理部３５および重複判定部３６からの要求に応じて、ファイルの記憶媒体への書き込み、削除、および記憶媒体からのファイルの読み出しを行う。
【００５０】
本実施形態では、エンコードフォーマットが異なるものの、デコード後のファイルが同一であるファイルを重複するファイルとして扱いつつ、ファイルを格納する場合について説明する。
【００５１】
ここで、デコード後のファイルが同一であるファイルとは、特定のフォーマットによりファイルをエンコードする際、ファイルのロスが発生しない方式によりエンコードされたファイルのことをいう。例えば、画像ファイルであれば、ビットマップ形式のファイル、ＪＰＥＧおよびＪＰＥＧ２０００のロスレスエンコード形式のファイル、ＰＮＧ形式のファイルなどが、デコード後のファイルが同一であるファイルに該当する。
【００５２】
＜格納管理部３５から重複判定部３６へのファイルの登録手順＞
図３は、本実施形態におけるファイル登録処理を示すフローチャートである。ファイル登録は、格納管理部３５から重複判定部３６へ、登録するファイルとともに、ファイルの登録処理命令が発行されることによって行われる。
【００５３】
なお、本実施形態において、重複判定部３６は、格納管理部３５から送信された登録対象のファイルからハッシュ関数を用いて、ダイジェスト値を算出する機能を備えている。また、重複判定部３６は、算出したダイジェスト値と登録対象のファイルの記憶部３７における格納先アドレスとから成るハッシュテーブルを備えている。
【００５４】
格納管理部３５は、重複判定部３６へ、登録するファイル本体とともに、ファイルの登録処理命令を送信する（ステップＳ１００）。
【００５５】
重複判定部３６は、予め決められたハッシュ関数を用いて、格納管理部３５から送信されたファイルからダイジェスト値を算出し、算出したダイジェスト値と一致するダイジェスト値をもつエントリがハッシュテーブルに存在するか否かを確認する（ステップＳ１０１）。
【００５６】
算出したダイジェスト値と一致するエントリが存在する場合には（ステップＳ１０１のＹｅｓ）、重複判定部３６は、該当するハッシュテーブルのエントリに保存されている、ファイルの格納先アドレス情報を取得し、ファイルの重複回数に１を加える（ステップＳ１０２）。また、重複判定部３６は、格納先アドレス情報を格納管理部３５に通知する。
【００５７】
なお、異なるファイルが同じダイジェスト値を取ることによる重複の誤検出を回避するために、次のようにしてもよい。すなわち、一致するダイジェスト値が存在する場合に、かかるダイジェスト値に紐付けられているファイルの格納先アドレス情報を元に、記憶部３７に記憶されているファイルを読み出し、新規登録対象となっているファイルのバイト列が整合していることを確認するようにしてもよい。
【００５８】
一方、算出したダイジェスト値と一致するエントリが存在しない場合には（ステップＳ１０１のＮｏ）、重複判定部３６は、記憶部３７の空きファイル格納領域に、新規登録対象となっているファイルを保存する。また、重複判定部３６は、算出したダイジェスト値と、記憶部３７におけるファイルの格納先アドレス情報と、ファイルの重複回数を０に設定したファイルを、ハッシュテーブルに登録する（ステップＳ１０３）。さらに、重複判定部３６は、格納先アドレス情報を格納管理部３５に通知する。
【００５９】
以上により、ファイルの登録処理を終了する（ステップＳ１０４）。
【００６０】
＜格納管理部３５から重複判定部３６へのファイルの削除手順＞
ファイル削除は、格納管理部３５から重複判定部３６へ、削除対象となるファイルの格納先アドレス情報とともに転送されるファイルの削除処理命令が発行されることによって行なわれる。
【００６１】
重複判定部３６は、格納管理部３５から転送されたファイルのアドレス情報から、ハッシュテーブルに登録されている格納先アドレス情報を探索し、該当するエントリを抽出する。
【００６２】
さらに、重複判定部３６は、抽出したエントリに紐付けられたファイルの重複回数を確認し、ファイルの重複回数が０である場合には、格納先アドレス情報をもとに、記憶部３７で記録されている該当ファイルを削除する。
【００６３】
一方、ファイルの重複回数が１以上である場合には、重複判定部３６は、ファイルの重複回数から１を減ずる。
【００６４】
また、重複判定部３６は、ファイルの削除処理が完了したことを格納管理部３５に通知する。
【００６５】
以上により、ファイルの削除処理を終了する。
【００６６】
次に、ファイル記憶装置３０におけるファイルの新規作成、削除、読み出し、書き込み処理の手順を説明する。
【００６７】
クライアント装置１０からファイル記憶装置３０へのファイルの新規作成、削除、読み出し、書き込みといったファイルアクセス要求処理は、一例として、ＮＦＳ（Ｎｅｔｗｏｒｋ  Ｆｉｌｅ  Ｓｙｓｔｅｍ）、ＣＩＦＳ（Ｃｏｍｍｏｎ  Ｉｎｔｅｒｎｅｔ  Ｆｉｌｅ  Ｓｙｓｔｅｍ）などのネットワークファイルシステムプロトコルを用いて実行されるものとする。
【００６８】
リクエスト処理部３１は、各種ネットワークファイルシステムプロトコルを解釈し、ファイル管理部３２へ各種ファイルアクセス処理を転送する。リクエスト処理部３１は、ファイル管理部３２におけるファイルアクセス処理が完了した場合には、処理の完了通知を、各種ネットワークファイルシステムプロトコルに変換し、クライアント装置１０へ転送する。
【００６９】
＜ファイルの新規作成手順＞
ファイル記憶装置３０における、ファイルの新規作成の手順について、図面を参照して説明する。
【００７０】
ファイル管理部３２は、リクエスト処理部３１から転送されたファイル新規作成命令とともに送信される、ファイルの作成先となるディレクトリ名、ファイル名、その他ファイルのメタデータ情報を受けると、ファイルの書き込み権限などのファイル作成権限に問題がない場合には、ファイルを一意に特定するファイルＩＤ情報を生成し、指定された各種メタデータ情報に基づいて生成されたファイルシステム上で管理するメタデータを、生成したＩＤ情報に紐付けて保存する。
【００７１】
上記の保存処理の完了後、ファイル管理部３２からファイルの新規作成完了通知とともに、ファイルＩＤ情報をリクエスト処理部３１へ転送することで、処理が完了する。ファイルの削除処理、ファイルの読み出しおよび書き込み処理は、ファイルＩＤ情報を用いて処理対象が指定される。
【００７２】
＜ファイルの書き込み手順＞
図４は、ファイル書き込み処理を示すフローチャートである。図４を参照して、ファイル記憶装置３０における、ファイル書き込み手順について説明する。
【００７３】
ファイル管理部３２は、リクエスト処理部３１から転送されたファイルの書き込み命令とともに送信されるファイルＩＤ情報およびファイル本体をもとに、ファイルＩＤとファイルの書き込み処理が完了していないことを示すフラグを保存する。また、ファイル管理部３２は、ファイルＩＤ情報、ファイル書き込み命令、ファイル本体、およびファイルに付与されているファイル名に付与された拡張子（すなわちファイルフォーマット情報）をフォーマット判定部３３へ送信する（ステップＳ２００）。
【００７４】
フォーマット判定部３３は、拡張子情報、およびファイル本体に埋め込まれているフォーマット情報を抽出し、フォーマット判定部３３に登録されているファイルフォーマットであるか否かを判定する（ステップＳ２０１）。
【００７５】
例えば、画像ファイルを対象とする場合には、フォーマット判定部３３は、ビットマップ形式、ＪＰＥＧ、ＪＰＥＧ２０００のロスレス形式、ＰＮＧ形式等のロスレス形式のフォーマットであるか否かを判定する。
【００７６】
登録されているファイルフォーマットと一致する場合には（ステップＳ２０１のＹｅｓ）、フォーマット判定部３３は、ファイル本体が、上述の予め決められた１つのファイルフォーマットと一致しているか否かを確認する（ステップＳ２０２）。
【００７７】
一致している場合には（ステップＳ２０２のＹｅｓ）、予め決められた１つのファイルフォーマット情報を変換先フォーマットとして指定して、ファイル本体をフォーマット変換部３４へ送信する（ステップＳ２０３）。
【００７８】
例えば、対応するファイルが画像ファイルである場合には、予め決められた１つのファイルフォーマット情報には、ロスレス形式のフォーマットを変換先のファイルフォーマットとして決定しておく。
【００７９】
一方、ファイル本体が、前述の予め決められた１つのファイルフォーマットと一致していない場合には（ステップＳ２０２のＮｏ）、ファイルフォーマット変換部３３は、フォーマット変換部３４への送信処理を行わない。
【００８０】
フォーマット変換部３４は、フォーマット判定部３３から送信された指定された変換先フォーマット情報を元に、ファイル本体を変換先フォーマットに変換し、フォーマット判定部３３へ変換後のファイル本体を送信する（ステップＳ２０３）。
【００８１】
フォーマット変換部３４にてフォーマット変換を行った場合には（ステップＳ２０２のＹｅｓ、Ｓ２０３）、フォーマット判定部３３は、ファイル書き込み命令と共に、ファイルＩＤ情報、フォーマット変換後のファイル本体、フォーマット変換前のファイルフォーマット情報を格納管理部３５へ送信する（ステップＳ２０４）。
【００８２】
一方、フォーマット判定部３３にて登録されているファイルフォーマットと一致しない場合（ステップＳ２０１のＮｏ）、または、フォーマット変換部３４にてフォーマット変換を行っていない場合（ステップＳ２０２のＮｏ）には、フォーマット判定部３３は、ファイル書き込み命令と共に、ファイルＩＤ情報、ファイル本体を格納管理部３５へ送信する（ステップＳ２０５）。
【００８３】
格納管理部３５は、記憶部３７に保存したファイルを管理するために、ファイルＩＤ情報と、記憶部３７における格納先アドレス情報と、フォーマット変換部３４にてフォーマット変換を実施した場合にはフォーマット変換前のフォーマット情報とから成るファイル管理テーブルを備えている。
【００８４】
格納管理部３５は、上記のファイルＩＤと一致するファイルＩＤがファイル管理テーブルに存在しているか否かを確認する（ステップＳ２０６）。
【００８５】
一致するファイルＩＤが存在していない場合には（ステップＳ２０６のＮｏ）、格納管理部３５は、フォーマット判定部３３から送信されたファイル本体とともに、重複判定部３６へファイルの登録命令を送信する（ステップＳ２０７）。
【００８６】
ファイルの登録処理完了後、重複判定部３６は、記憶部３７のファイル格納先アドレス情報を格納管理部３５に通知する（図３のステップＳ１００〜Ｓ１０４）。
【００８７】
格納管理部３５は、上記のファイルの格納先アドレス情報を受けて、ファイルフォーマット変換部３３から送信されたファイルＩＤ情報と、格納先アドレス情報と、ファイルフォーマット変換部３４にてフォーマット変換を実施した場合にはフォーマット変換前のフォーマット情報とから成るエントリをファイル管理テーブルに作成する。また、格納管理部は、ファイルＩＤ情報とともに、ファイルの書き込み処理が完了したことをフォーマット判定部３３に通知する（ステップＳ２０８）。
【００８８】
一方、格納管理部３５のファイル管理テーブルに、ファイルフォーマット判定部３３から書き込み命令とともに送信されたファイルＩＤ情報と一致するエントリが存在する（ファイルの更新処理に相当する）場合には（ステップＳ２０６のＹｅｓ）、すでに登録されているファイルＩＤ情報のエントリに登録されている格納先アドレス情報とともに、ファイル削除命令を重複判定部３６へ送信する。
【００８９】
格納管理部３５は、削除処理完了後に（ステップＳ２０９）、フォーマット判定部３３から送信されたファイル本体とともに、ファイル登録命令を、重複判定部３６へ送信する（ステップＳ２１０）。
【００９０】
また、ファイル登録完了後、格納管理部３５は、ファイル管理テーブルにおけるファイルＩＤ情報のエントリを、重複判定部３６から送信された格納先アドレス情報に変更して、ファイルフォーマット変換部３４にてフォーマット変換を実施した場合にのみ、フォーマット変換前のフォーマット情報に更新があれば更新を行う（ステップＳ２１１）。また、格納管理部３５は、ファイルＩＤ情報とともに、ファイルの書き込み処理が完了したことをフォーマット判定部３３に通知する。
【００９１】
フォーマット判定部３３は、書き込み処理の完了通知を受けて、ファイルＩＤ情報とともに、書き込み処理が完了したことをファイル管理部３２に通知する。
【００９２】
ファイル管理部３２は、前記書き込み処理の完了通知を受けて、ファイルＩＤ情報に関する書き込み処理が完了したことを表すフラグを書き込み完了状態にセットし、書き込み処理を終了する。
【００９３】
＜ファイルの読み出し手順＞
次に、ファイル記憶装置３０におけるファイルの読み出し手順について説明する。図５は、本実施形態におけるファイル読み出し手順を示すフローチャートである。
【００９４】
図５を参照すると、ファイル管理部３２は、リクエスト処理部３１から転送されたファイルの読み出し命令とともに送信されるファイルＩＤ情報を、ファイルオブジェクト読み出し命令とともに格納管理部３５へ送信する（ステップＳ３００）。
【００９５】
格納管理部３５は、ファイル読み出し命令を受けて、ファイル管理テーブルに登録されているエントリから、上記ファイルＩＤ情報と一致するファイルＩＤ情報を有するエントリを探索し、記憶部３７の格納先アドレス情報を抽出し、記憶部３７から、該当するファイル本体を読み出す（ステップＳ３０１）。
【００９６】
さらに、格納管理部３５は、ファイル管理テーブルの上記ファイルＩＤ情報を有するエントリに、フォーマット変換前のフォーマット情報が登録されているか否かを確認する（ステップＳ３０２）。
【００９７】
フォーマット変換前のフォーマット情報が登録されている場合には（ステップＳ３０２のＹｅｓ）、格納管理部３５は、変換前のフォーマット情報を指定して、ファイル本体をフォーマット変換部３４へ送信する。
【００９８】
フォーマット変換部３４は、指定されたフォーマットにファイル本体を変換し、格納管理部３５へ送信する（ステップＳ３０３）。
【００９９】
フォーマット変換を実施した場合には、格納管理部３５は、フォーマット変換を行ったファイル本体をファイル管理部３２へ送信する。一方、フォーマット変換を実施していない場合には、格納管理部３５は、記憶部３７から読み出したファイル本体をファイル管理部３２へ送信する（ステップＳ３０４）。また、格納管理部３５は、読み込み処理が完了したことをファイル管理部３２に通知する。
【０１００】
＜ファイルの削除手順＞
次に、ファイル記憶装置３０における、ファイル削除の手順について説明する。
【０１０１】
ファイル管理部３２は、リクエスト処理部３１から転送されたファイルの削除命令とともに送信されるファイルＩＤ情報を、ファイル削除命令とともに格納管理部３５へ送信する。
【０１０２】
格納管理部３５は、ファイル削除命令を受けて、ファイル管理テーブルに登録されているエントリから、上記ファイルＩＤ情報と一致するファイルＩＤ情報をもつエントリを探索し、記憶部３７の格納先アドレス情報を抽出する。また、格納管理部３５は、ファイルの削除命令と、抽出した格納先アドレス情報を重複判定部３６へ送信する。
【０１０３】
重複判定部３６は、削除命令を受けると、格納先アドレス情報をもとに、削除処理を実行する。また、重複判定部３６は、削除処理が完了したことを格納管理部３５に通知する。
【０１０４】
格納管理部３５は、重複判定部３６からの削除完了通知を受けると、ファイル管理テーブルにおける削除処理対象となったエントリを削除する。また、格納管理部３５は、削除処理完了通知をファイル管理部３２へ送信する。
【０１０５】
（実施形態２）
第２の実施形態として、デコード後のファイルが、ファイル記憶装置３０に格納済みのファイルと、解像度やファイルの圧縮率を変更した派生関係を有する場合について説明する。
【０１０６】
本実施形態では、ファイル記憶装置３０に書き込み処理が行われる画像ファイルとしてエンコードされており、デコード後のファイルが、ファイル記憶装置に格納済みのファイルと、解像度やファイルの圧縮率が異なる派生関係を有するファイルを、重複するファイルとして扱う。
【０１０７】
重複判定部３６は、画像ファイルに含まれている特徴情報として、画像ファイルで用いられている色彩情報と、画像ファイル上で表現されているオブジェクトの形状情報を抽出する。また、重複判定部３６は、これらの２種類の特徴情報を指標化して、重複判定を行う入力画像ファイルの特徴情報と比較することにより、ファイルの重複判定を行う。
【０１０８】
＜特徴情報の抽出と指標化＞
重複判定部３６における画像ファイルの特徴情報の抽出と指標化は、次の手順により実施される。ファイル記憶装置３０に格納される画像ファイルに対して特徴情報の抽出処理が実施されると、以後入力される画像ファイルとの重複判定のために、指標化された特徴情報が重複判定部３６に保存される。
【０１０９】
重複判定部３６は、入力された画像ファイルから、画像ファイルを構成する各画素が有する色彩情報を抽出する。重複判定部３６は、一例として、ＲＧＢなどのカラーモデルに基づいて、色彩情報を抽出するようにしてもよい。
【０１１０】
色彩情報を抽出した後、重複判定部３６は、予め決められた数の階調に色彩情報を縮退させ、縮退後の各階調ごとの画素数のカウントによるヒストグラム化を行う。また、重複判定部３６は、解像度が異なる場合にも対応することができるように、画像ファイルの総画素数で正規化して指標化を行う。
【０１１１】
なお、重複判定部３６は、画素情報を指標化する際に、画像ファイルが有する縦方向および横方向の解像度に基づいて、画像ファイルを予め決められた数で等分割し、分割された画像ごとに指標化を行ってもよい。
【０１１２】
重複判定部３６は、記憶部３７におけるファイルの格納先アドレス情報と、ファイルの重複回数とともに、指標化データを特徴情報管理テーブルにエントリ化して保存する。
【０１１３】
＜格納管理部３５から重複判定部３６へのファイルの登録手順＞
図６は、本実施形態におけるファイル登録処理を示すフローチャートである。ファイル登録は、登録するファイルとともに、ファイルの登録処理命令と、ファイル記憶装置３０にて対応する画像ファイルであるか否かを示すフラグ情報とが、格納管理部３５から重複判定部３６へ発行されることによって行われる。
【０１１４】
図６を参照すると、格納管理部３５は、登録するファイルとともに、ファイルの登録処理命令と、ファイル記憶装置３０にて対応する画像ファイルであるか否かを示すフラグ情報とを、重複判定部３６へ送信する（ステップＳ４００）。
【０１１５】
重複判定部３６は、ファイル記憶装置３０にて対応する画像ファイルであるか否かを、上記のフラグ情報から判断する（ステップＳ４０１）。
【０１１６】
対応する画像ファイルではない場合には（ステップＳ４０１のＮｏ）、重複判定部３６は、実施形態１と同様に、記憶部３７におけるファイルの格納先アドレスと、格納ファイルのダイジェスト値とから成るハッシュテーブルを用いて重複するファイルを検出しつつファイルを登録する（ステップＳ１０１〜Ｓ１０４）。
【０１１７】
ファイル記憶装置３０にて対応する画像ファイルである場合には（ステップＳ４０１のＹｅｓ）、重複判定部３６は、登録対象となるファイルから、ファイルの解像度情報とファイルフォーマット情報とを抽出した後、画像ファイルの色彩情報に基づく特徴情報を抽出し、特徴情報を指標化する（ステップＳ４０２）。
【０１１８】
さらに、重複判定部３６は、指標化データと、特徴情報管理テーブルに登録されているファイル記憶装置３０に格納済みの画像ファイルの指標化データ群とを比較し、入力ファイルと類似する指標化データを持つエントリを抽出する。
【０１１９】
重複判定部３６は、類似判定において、指標化したヒストグラムファイルの比較照合を行う。重複判定部３６は、一例として、ヒストグラムインタセクション（Ｈｉｓｔｏｇｒａｍ  Ｉｎｔｅｒｓｅｃｔｉｏｎ）などのヒストグラム照合アルゴリズムにより、ヒストグラム間の類似度を算出してもよい。
【０１２０】
また、重複判定部３６は、類似する指標化データを有するエントリを抽出する際、類似度が所定の閾値以上であることを条件に、エントリ抽出を行うようにしてもよい。このとき、重複判定部３６は、得られた類似度が閾値以上であるか否かを確認し（ステップＳ４０３）、閾値以上でない場合には（ステップＳ４０３のＮｏ）、重複するファイルが存在しないものとする。
【０１２１】
一方、予め決められた閾値以上の値をもつエントリが複数存在する場合には（ステップＳ４０３のＹｅｓ）、重複判定部３６は、類似度の値が最も大きいエントリから順に、所定の複数の個数のエントリを抽出する。
【０１２２】
得られた類似度が閾値以上でない場合には（ステップＳ４０３のＮｏ）、重複判定部３６は、重複するファイルが存在しないと判定し、記憶部３７の空きファイル格納領域に、登録対象となっているファイルを保存する。また、重複判定部３６は、解像度情報、ファイルフォーマット情報、記憶部３７におけるファイルの格納先アドレス情報、および０に設定されたファイルの重複回数情報、および色彩情報の指標化データを持つエントリを特徴情報管理テーブルへ新たに作成する（ステップＳ４０４）。さらに、重複判定部３７は、格納先アドレス情報、解像度情報、ファイルフォーマット情報、ファイルサイズを格納管理部３５に通知する。以上により、ファイルの登録処理を完了する。
【０１２３】
一方、得られた類似度が閾値以上であった場合には（ステップＳ４０３のＹｅｓ）、重複判定部３６は、該当するエントリ情報に登録されている記憶部３７の格納先アドレス情報を元に、該当するエントリの画像ファイルを記憶部３７から読み出す（ステップＳ４０５）。
【０１２４】
さらに、重複判定部３６は、登録対象となる画像ファイル、および記憶部３７から抽出された画像ファイル上に表現されているオブジェクトの形状データを抽出する（ステップＳ４０６）。
【０１２５】
なお、重複判定部３６は、オブジェクトの形状データの抽出にあたっては、それぞれのファイルの画像の縦横比を算出し、縦横比が異なっている場合は、登録対象の画像ファイルと縦横比が同一となるように抽出データを成型する。
【０１２６】
また、オブジェクトの形状データの抽出方法としては、画像の濃淡情報を元に２値画像を生成し、オブジェクトの輪郭を抽出し、輪郭のある点から予め決められた長さごとに接線を引き、縦方向または横方向いずれかの軸に対する角度を輪郭に沿って抽出し、輪郭線の角度情報の分布をカウントすることにより指標化される。
【０１２７】
重複判定部３６は、指標化後のファイルを比較し、類似度が所定の閾値以上であるか否かを確認する（ステップＳ４０７）。
【０１２８】
類似度が所定の閾値以上である場合には（ステップＳ４０７のＹｅｓ）、重複判定部３６は、重複ファイルと判定する。
【０１２９】
なお、重複判定部３６は、色彩情報の比較により複数の画像ファイルが抽出された場合には、抽出された全ての画像ファイルに対して形状データの比較を行い、類似度が所定の閾値以上であって（ステップＳ４０７のＹｅｓ）、最も類似度が高い画像ファイルを重複ファイルとして判定する（ステップＳ４０８）。
【０１３０】
一方、形状データに基づく比較後、重複ファイルとして判定される画像ファイルが存在しない場合には（ステップＳ４０７のＮｏ）、重複判定部３６は、重複はないもと判定する。また、重複判定部３６は、上述のように登録対象となる画像ファイルを記憶部３７に保存し、格納管理部３５への通知を行う。以上により、ファイルの登録処理が完了する（ステップＳ４０４）。
【０１３１】
形状データに基づく比較において重複ファイルとして抽出された画像ファイルが存在する場合には、重複判定部３６は、登録対象の画像ファイルと、抽出された画像ファイルの解像度を比較し（ステップＳ４０９）、登録対象の画像ファイルの解像度の方が大きくない場合には（ステップＳ４０９のＮｏ）、特徴情報管理テーブルのファイル重複回数情報に１を加えた後、格納先アドレス情報と、登録対象となる画像ファイルの解像度情報と、ファイルフォーマット情報と、ファイルサイズとを格納管理部３５に通知する。以上により、ファイルの登録処理が完了する（ステップＳ４１０）。
【０１３２】
一方、登録対象の画像ファイルの解像度の方が大きい場合には（ステップＳ４０９のＹｅｓ）、重複判定部３６は、記憶部３７に記録されている抽出された画像ファイルを、登録対象の画像ファイルによって上書きし、特徴情報管理テーブルのファイル重複回数情報に１を加え、色彩情報に基づく指標化データを登録対象となる画像ファイルから抽出された指標化データに更新する。また、重複判定部３６は、格納先アドレス情報と、解像度情報と、ファイルフォーマット情報と、ファイルサイズとを格納管理部３５に通知する。以上により、ファイルの登録処理が完了する（ステップＳ４１１）。
【０１３３】
＜格納管理部３５から重複判定部３６へのファイルの削除手順＞
ファイル記憶装置３０における、ファイルの削除の手順は、実施形態１と同様である。ただし、削除対象となるファイルに応じて、ハッシュテーブルもしくは特徴情報管理テーブルのいずれかを更新し、または、エントリの削除動作を行うものとする。
【０１３４】
次に、ファイル記憶装置３０におけるファイルの新規作成、削除、読み出し、書き込み処理の手順を説明する。
【０１３５】
クライアント装置１０からファイル記憶装置３０へのファイルの新規作成、削除、読み出し、書き込みなどのファイルアクセス要求処理のうち、リクエスト処理部３１およびファイル管理部３２における処理は、実施形態１と同様である。
【０１３６】
＜ファイルの新規作成手順＞
ファイル記憶装置３０におけるファイルの新規作成の手順も、実施形態１と同様である。
【０１３７】
＜ファイルの書き込み手順＞
図７は、本実施形態におけるファイル書き込み処理を示すフローチャートである。図７を参照して、ファイル記憶装置３０におけるファイル書き込み手順について説明する。
【０１３８】
ファイル管理部３２は、リクエスト処理部３１から転送されたファイルの書き込み命令とともに送信されるファイルＩＤ情報、およびファイル本体をもとに、前記ファイルＩＤとファイルの書き込み処理が完了していないことを示すフラグを保存する。また、ファイル管理部３２は、ファイルＩＤ情報と、ファイル書き込み命令と、ファイル本体と、ファイルに付与されているファイル名に付与された拡張子（すなわちファイルフォーマット情報）とをフォーマット判定部３３へ送信する（ステップＳ５００）。
【０１３９】
フォーマット判定部３３は、拡張子情報と、ファイル本体に埋め込まれているフォーマット情報を抽出し、フォーマット判定部３３に登録されている画像ファイルフォーマットであるか否かを判定し、ファイルＩＤ情報と、ファイル本体と、ファイル記憶装置３０にて対応する画像ファイルであるか否かを示す情報とを格納管理部３５へ送信する（ステップＳ５０１）。
【０１４０】
格納管理部３５は、記憶部３７に保存したファイルを管理するために、ファイルＩＤ情報と、記憶部３７の格納先アドレス情報と、解像度情報と、ファイルフォーマット情報と、ファイルサイズとから成るファイル管理テーブルを備えている。
【０１４１】
格納管理部３５は、上記ファイルＩＤと一致するファイルＩＤがファイル管理テーブルに存在するか否かを確認する（ステップＳ５０２）。
【０１４２】
一致するファイルＩＤが存在していない場合には（ステップＳ５０２のＮｏ）、格納管理部３５は、ファイル本体と、ファイル記憶装置３０にて対応する画像ファイルであるか否かを示す情報とともに、ファイル登録命令を重複判定部３６へ送信する（ステップＳ５０３、以降の処理はＳ４００へ）。
【０１４３】
重複判定部３６は、ファイルの登録処理完了後、記憶部３７のファイル格納先アドレス情報、解像度情報、ファイルフォーマット情報、ファイルサイズを格納管理部３５に通知する。
【０１４４】
重複判定部３６におけるファイル登録処理の完了後、格納管理部３５は、書き込み対象のファイルが対応する画像ファイルである場合には、ファイルＩＤ情報と、格納先アドレス情報と、解像度情報と、ファイルフォーマット情報と、ファイルサイズとから成るエントリをファイル管理テーブルに作成する（ステップＳ５０４）。
【０１４５】
一方、対応する画像ファイルでない場合には、格納管理部３５は、ファイルＩＤ情報と格納先アドレス情報のみから成るエントリをファイル管理テーブルに作成する（ステップＳ５０４）。
【０１４６】
また、格納管理部３５は、ファイルの書き込み処理が完了したことをフォーマット判定部３３へ通知する（ステップＳ５０４）。
【０１４７】
一方、格納管理部３５のファイル管理テーブルに、フォーマット判定部３３から送信されたファイルＩＤ情報と一致するエントリが存在する（ファイルの更新処理に相当する）場合には（ステップＳ５０２のＹｅｓ）、格納管理部３５は、既に登録されているファイルＩＤ情報のエントリに登録されている格納先アドレス情報とともに、ファイル削除命令を重複判定部３６へ送信する（ステップＳ５０５）。また、格納管理部３５は、削除処理完了後に、前述のファイル登録命令を重複判定部３６へ送信する（ステップＳ５０６、以降の処理はＳ４００へ）。
【０１４８】
ファイル登録処理完了後、格納管理部３５は、重複判定部３６から登録処理完了通知とともに送信された情報をもとに、登録対象となっているファイルＩＤ情報に関連付けられたファイル管理テーブルのエントリの情報を更新する（ステップＳ５０７）。また、格納管理部３５は、ファイルの書き込み処理が完了したことをフォーマット判定部３３に通知する。
【０１４９】
フォーマット判定部３３は、格納管理部３５から書き込み処理の完了通知を受けると、ファイルＩＤ情報とともに、書き込み処理が完了したことをファイル管理部３２に通知する。
【０１５０】
ファイル管理部３２は、書き込み処理の完了通知を受けると、ファイルＩＤ情報に関する書き込み処理が完了したことを表すフラグを書き込み完了状態にセットする。以上により、書き込み処理を完了する。
【０１５１】
＜ファイルの読み出し手順＞
図８は、本実施形態におけるファイル読み出し処理を示すフローチャートである。図８を参照して、ファイル記憶装置３０におけるファイルの読み出し手順について説明する。
【０１５２】
ファイル管理部３２は、リクエスト処理部３１からファイルの読み出し命令とともに送信されたファイルＩＤ情報を、ファイルオブジェクト読み出し命令とともに格納管理部３５へ送信する（ステップＳ６００）。
【０１５３】
格納管理部３５は、ファイル読み出し命令を受けると、ファイル管理テーブルに登録されているエントリから、上記のファイルＩＤ情報と一致するファイルＩＤ情報を有するエントリを探索し、記憶部３７の格納先アドレス情報を抽出し、記憶部３７から該当するファイル本体を読み出す（ステップＳ６０１）。
【０１５４】
格納管理部３５は、上記のエントリに解像度情報と、ファイルフォーマット情報と、ファイルサイズとが登録されているか否かを確認する（ステップＳ６０２）。
【０１５５】
これらの情報が登録されていない場合には（ステップＳ６０２のＮｏ）、格納管理部３５は、記憶部３７から読み出したファイル本体をファイル管理部３２へ送信する（ステップＳ６０４）。また、格納管理部３５は、読み込み処理が完了したことを通知する。
【０１５６】
一方、これらの情報が登録されている場合には（ステップＳ６０２のＹｅｓ）、格納管理部３５は、記憶部３７から読み出したファイル本体と、解像度情報と、ファイルフォーマット情報と、ファイルサイズとをフォーマット変換部３４へ送信する（ステップＳ６０３）。
【０１５７】
また、フォーマット変換部３４は、格納管理部３５から送信されたファイル本体と、解像度情報、ファイルフォーマット情報およびファイルサイズを照合し、形式およびサイズのいずれかが異なっている場合には、解像度情報、ファイルフォーマット情報およびファイルサイズのうちのファイル本体と異なっていた要素について、ファイル本体に対して、解像度の変換、ファイルフォーマットの変換、圧縮率の変換を施し、変換後のファイル本体を格納管理部３５へ送信する（ステップＳ６０３）。
【０１５８】
さらに、格納管理部３５は、上記ファイル本体をファイル管理部３２へ送信し（ステップＳ６０４）、読み込み処理が完了したことを通知する。
【０１５９】
＜ファイルの削除手順＞
ファイル記憶装置３０におけるファイル削除の手順は、実施形態１におけるファイル削除の手順と同様である。
【０１６０】
以上、図面を参照して、実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。
【０１６１】
上述のファイル記憶装置３０は内部に、コンピュータシステムを有している。そして、上述した各処理部の動作は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われるようにしてもよい。
【０１６２】
ここで、コンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、半導体メモリ等をいう。
【０１６３】
また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしてもよい。
【０１６４】
また、上記プログラムは、前述した機能の一部を実現するためのものであってもよい。
【０１６５】
さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【０１６６】
本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素の多様な組み合わせないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【０１６７】
なお、上記実施形態の一部または全部は、以下の付記として記載することができるものであるが、これらに限定されるものではない。
【０１６８】
（付記１）クライアント装置から受信したファイルと、記憶部に格納されたファイルとが同一のフォーマットにおいて一致するか否かを判定し、一致しない場合には、該クライアント装置から受信したファイルを該記憶部に格納する重複判定部と、
前記重複判定部により一致すると判定された場合には、前記クライアント装置から受信したファイルのフォーマットと前記記憶部に格納されたファイルとを関連付けるとともに、クライアント装置からファイルの読み出し要求を受けると、前記記憶部に格納されたファイルを読み出し、読み出したファイルに関連付けられたフォーマットが存在する場合には、読み出したファイルを該フォーマットに変換して提供する格納管理部と、を備えていることを特徴とするファイル記憶装置。
【０１６９】
（付記２）前記重複判定部は、クライアント装置から受信したファイルから抽出した特徴情報と、前記記憶部に格納されたファイルから抽出した特徴情報との類似度が所定の閾値以上である場合には、両ファイルは一致するものとみなすことを特徴とする、付記１に記載のファイル記憶装置。
【０１７０】
（付記３）前記重複判定部は、クライアント装置から受信したファイルが画像ファイルである場合には、前記特徴情報として画像の色彩情報、および／または、形状情報を抽出することを特徴とする、付記２に記載のファイル記憶装置。
【０１７１】
（付記４）前記重複判定部は、クライアント装置から受信したファイルと、記憶部に格納されたファイルとが同一の解像度において一致するか否かを判定し、一致しない場合には、該クライアント装置から受信したファイルを前記記憶部に格納し、
前記格納管理部は、前記重複判定部により一致すると判定された場合には、前記クライアント装置から受信したファイルの解像度と前記記憶部に格納されたファイルとを関連付けるとともに、クライアント装置からファイルの読み出し要求を受けると、前記記憶部に格納されたファイルを読み出し、読み出したファイルに関連付けられた解像度が存在する場合には、読み出したファイルを該解像度に変換して提供することを特徴とする、付記１ないし３のいずれか一に記載のファイル記憶装置。
【０１７２】
（付記５）前記重複判定部は、クライアント装置から受信したファイルと、記憶部に格納されたファイルとが同一の圧縮率において一致するか否かを判定し、一致しない場合には、該クライアント装置から受信したファイルを前記記憶部に格納し、
前記格納管理部は、前記重複判定部により一致すると判定された場合には、前記クライアント装置から受信したファイルのファイルサイズと前記記憶部に格納されたファイルとを関連付けるとともに、クライアント装置からファイルの読み出し要求を受けると、前記記憶部に格納されたファイルを読み出し、読み出したファイルに関連付けられたファイルサイズが存在する場合には、読み出したファイルを該ファイルサイズに変換して提供することを特徴とする、付記１ないし４のいずれか一に記載のファイル記憶装置。
【０１７３】
（付記６）前記記憶部を備えていることを特徴とする、付記１ないし５のいずれか一に記載のファイル記憶装置。
【０１７４】
（付記７）複数のクライアント装置によって共有されることを特徴とする、付記１ないし６のいずれか一に記載のファイル記憶装置。
【０１７５】
（付記８）クライアント装置から受信したファイルと、記憶部に格納されたファイルとが同一のフォーマットにおいて一致するか否かを判定する工程と、
一致しない場合には、前記クライアント装置から受信したファイルを前記記憶部に格納する工程と、
一致すると判定された場合には、前記クライアント装置から受信したファイルのフォーマットと前記記憶部に格納されたファイルとを関連付ける工程と、
クライアント装置からファイルの読み出し要求を受けると、前記記憶部に格納されたファイルを読み出し、読み出したファイルに関連付けられたフォーマットが存在する場合には、読み出したファイルを該フォーマットに変換して提供する工程と、を含むことを特徴とするファイル記憶方法。
【０１７６】
（付記９）前記判定工程において、クライアント装置から受信したファイルから抽出した特徴情報と、前記記憶部に格納されたファイルから抽出した特徴情報との類似度が所定の閾値以上である場合には、両ファイルは一致するものとみなすことを特徴とする、付記８に記載のファイル記憶方法。
【０１７７】
（付記１０）前記判定工程において、クライアント装置から受信したファイルが画像ファイルである場合には、前記特徴情報として画像の色彩情報、および／または、形状情報を抽出することを特徴とする、付記９に記載のファイル記憶方法。
【０１７８】
（付記１１）前記判定工程において、クライアント装置から受信したファイルと、記憶部に格納されたファイルとが同一の解像度において一致するか否かを判定し、
一致すると判定された場合には、前記関連付け工程において、前記クライアント装置から受信したファイルの解像度と前記記憶部に格納されたファイルとを関連付け、
前記提供工程において、クライアント装置からファイルの読み出し要求を受けると、前記記憶部に格納されたファイルを読み出し、読み出したファイルに関連付けられた解像度が存在する場合には、読み出したファイルを該解像度に変換して提供することを特徴とする、付記８ないし１０のいずれか一に記載のファイル記憶方法。
【０１７９】
（付記１２）前記判定工程において、クライアント装置から受信したファイルと、記憶部に格納されたファイルとが同一の圧縮率において一致するか否かを判定し、
一致すると判定された場合には、前記関連付け工程において、前記クライアント装置から受信したファイルのファイルサイズと前記記憶部に格納されたファイルとを関連付け、
前記提供工程において、クライアント装置からファイルの読み出し要求を受けると、前記記憶部に格納されたファイルを読み出し、読み出したファイルに関連付けられたファイルサイズが存在する場合には、読み出したファイルを該ファイルサイズに変換して提供することを特徴とする、付記８ないし１１のいずれか一に記載のファイル記憶方法。
【０１８０】
（付記１３）クライアント装置から受信したファイルと、記憶部に格納されたファイルとが同一のフォーマットにおいて一致するか否かを判定する処理と、
一致しない場合には、前記クライアント装置から受信したファイルを前記記憶部に格納する処理と、
一致すると判定された場合には、前記クライアント装置から受信したファイルのフォーマットと前記記憶部に格納されたファイルとを関連付ける処理と、
クライアント装置からファイルの読み出し要求を受けると、前記記憶部に格納されたファイルを読み出し、読み出したファイルに関連付けられたフォーマットが存在する場合には、読み出したファイルを該フォーマットに変換して提供する処理と、をコンピュータに実行させることを特徴とするプログラム。
【０１８１】
（付記１４）前記判定処理において、クライアント装置から受信したファイルから抽出した特徴情報と、前記記憶部に格納されたファイルから抽出した特徴情報との類似度が所定の閾値以上である場合には、両ファイルは一致するものとみなすことを特徴とする、付記１３に記載のプログラム。
【０１８２】
（付記１５）前記判定処理において、クライアント装置から受信したファイルが画像ファイルである場合には、前記特徴情報として画像の色彩情報、および／または、形状情報を抽出することを特徴とする、付記１４に記載のプログラム。
【０１８３】
（付記１６）前記判定処理において、クライアント装置から受信したファイルと、記憶部に格納されたファイルとが同一の解像度において一致するか否かを判定し、
一致すると判定された場合には、前記関連付け処理において、前記クライアント装置から受信したファイルの解像度と前記記憶部に格納されたファイルとを関連付け、
前記提供処理において、クライアント装置からファイルの読み出し要求を受けると、前記記憶部に格納されたファイルを読み出し、読み出したファイルに関連付けられた解像度が存在する場合には、読み出したファイルを該解像度に変換して提供することを特徴とする、付記１３ないし１５のいずれか一に記載のプログラム。
【０１８４】
（付記１７）前記判定処理において、クライアント装置から受信したファイルと、記憶部に格納されたファイルとが同一の圧縮率において一致するか否かを判定し、
一致すると判定された場合には、前記関連付け処理において、前記クライアント装置から受信したファイルのファイルサイズと前記記憶部に格納されたファイルとを関連付け、
前記提供処理において、クライアント装置からファイルの読み出し要求を受けると、前記記憶部に格納されたファイルを読み出し、読み出したファイルに関連付けられたファイルサイズが存在する場合には、読み出したファイルを該ファイルサイズに変換して提供することを特徴とする、付記１３ないし１６のいずれか一に記載のプログラム。
【符号の説明】
【０１８５】
１０    クライアント装置
２０    ネットワーク
３０    ファイル記憶装置
３１    リクエスト処理部
３２    ファイル管理部
３３    フォーマット判定部
３４    フォーマット変換部
３５    格納管理部
３６    重複判定部
３７    記憶部
【図１】
2011155551.tif 000003
【図２】
2011155551.tif 000004
【図３】
2011155551.tif 000005
【図４】
2011155551.tif 000006
【図５】
2011155551.tif 000007
【図６】
2011155551.tif 000008
【図７】
2011155551.tif 000009
【図８】
2011155551.tif 000010
【手続補正書】
【提出日】平成24年12月7日(2012.12.7)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
クライアント装置から受信したファイルと、記憶部に格納されたファイルとが同一のフォーマットにおいて一致するか否かを判定し、一致しない場合には、該クライアント装置から受信したファイルを該記憶部に格納する重複判定部と、
前記重複判定部により一致すると判定された場合には、前記クライアント装置から受信したファイルのフォーマットと前記記憶部に格納されたファイルとを関連付けるとともに、クライアント装置からファイルの読み出し要求を受けると、前記記憶部に格納されたファイルを読み出し、読み出したファイルに関連付けられたフォーマットが存在する場合には、読み出したファイルを該フォーマットに変換して提供する格納管理部と、を備える、ファイル記憶装置。
【請求項２】
前記重複判定部は、クライアント装置から受信したファイルから抽出した特徴情報と、前記記憶部に格納されたファイルから抽出した特徴情報との類似度が所定の閾値以上である場合には、両ファイルは一致するものとみなす、請求項１に記載のファイル記憶装置。
【請求項３】
前記重複判定部は、クライアント装置から受信したファイルが画像ファイルである場合には、前記特徴情報として画像の色彩情報、および／または、形状情報を抽出する、請求項２に記載のファイル記憶装置。
【請求項４】
前記重複判定部は、クライアント装置から受信したファイルと、記憶部に格納されたファイルとが同一の解像度において一致するか否かを判定し、一致しない場合には、該クライアント装置から受信したファイルを前記記憶部に格納し、
前記格納管理部は、前記重複判定部により一致すると判定された場合には、前記クライアント装置から受信したファイルの解像度と前記記憶部に格納されたファイルとを関連付けるとともに、クライアント装置からファイルの読み出し要求を受けると、前記記憶部に格納されたファイルを読み出し、読み出したファイルに関連付けられた解像度が存在する場合には、読み出したファイルを該解像度に変換して提供する、請求項１ないし３のいずれか１項に記載のファイル記憶装置。
【請求項５】
前記重複判定部は、クライアント装置から受信したファイルと、記憶部に格納されたファイルとが同一の圧縮率において一致するか否かを判定し、一致しない場合には、該クライアント装置から受信したファイルを前記記憶部に格納し、
前記格納管理部は、前記重複判定部により一致すると判定された場合には、前記クライアント装置から受信したファイルのファイルサイズと前記記憶部に格納されたファイルとを関連付けるとともに、クライアント装置からファイルの読み出し要求を受けると、前記記憶部に格納されたファイルを読み出し、読み出したファイルに関連付けられたファイルサイズが存在する場合には、読み出したファイルを該ファイルサイズに変換して提供する、請求項１ないし４のいずれか１項に記載のファイル記憶装置。
【請求項６】
前記記憶部を備えている、請求項１ないし５のいずれか１項に記載のファイル記憶装置。
【請求項７】
請求項１ないし６のいずれか１項に記載のファイル記憶装置と、
前記ファイル記憶装置を共有する複数のクライアント装置とを備えているストレージシステム。
【請求項８】
クライアント装置から受信したファイルと、記憶部に格納されたファイルとが同一のフォーマットにおいて一致するか否かを判定する工程と、
一致しない場合には、前記クライアント装置から受信したファイルを前記記憶部に格納する工程と、
一致すると判定された場合には、前記クライアント装置から受信したファイルのフォーマットと前記記憶部に格納されたファイルとを関連付ける工程と、
クライアント装置からファイルの読み出し要求を受けると、前記記憶部に格納されたファイルを読み出し、読み出したファイルに関連付けられたフォーマットが存在する場合には、読み出したファイルを該フォーマットに変換して提供する工程と、を含む、ファイル記憶方法。
【請求項９】
前記判定工程において、クライアント装置から受信したファイルから抽出した特徴情報と、前記記憶部に格納されたファイルから抽出した特徴情報との類似度が所定の閾値以上である場合には、両ファイルは一致するものとみなす、請求項８に記載のファイル記憶方法。
【請求項１０】
クライアント装置から受信したファイルと、記憶部に格納されたファイルとが同一のフォーマットにおいて一致するか否かを判定する処理と、
一致しない場合には、前記クライアント装置から受信したファイルを前記記憶部に格納する処理と、
一致すると判定された場合には、前記クライアント装置から受信したファイルのフォーマットと前記記憶部に格納されたファイルとを関連付ける処理と、
クライアント装置からファイルの読み出し要求を受けると、前記記憶部に格納されたファイルを読み出し、読み出したファイルに関連付けられたフォーマットが存在する場合には、読み出したファイルを該フォーマットに変換して提供する処理と、をコンピュータに実行させる、プログラム。
【国際調査報告】
2011155551.tif 000011
2011155551.tif 000012
2011155551.tif 000013
2011155551.tif 000014