(57)【特許請求の範囲】
【請求項１】
複数のストレージノードでデータを保存するシステムであって、
前記複数のストレージノードのそれぞれは、
同一又は類似の特徴を有するデータの重複を排除した状態でデータを保存する保存部と、
自ストレージノードに入力された入力データから、当該入力データの特徴を示す第１特徴情報を抽出する抽出部と、
前記複数のストレージノードにそれぞれ対応付けられ、当該複数のストレージノードのそれぞれの前記保存部に保存されている保存データの特徴をそれぞれ示す複数の第２特徴情報であって、当該保存データからそれぞれ抽出された複数の抽出情報と、当該複数の抽出情報のそれぞれの重みを示す重み情報とをそれぞれが含む複数の第２特徴情報を記憶する記憶部と、
前記抽出部により抽出された前記第１特徴情報と、前記記憶部に記憶された前記複数の第２特徴情報のそれぞれとの一致度を、当該複数の第２特徴情報にそれぞれ含まれる前記複数の抽出情報のうち当該第１特徴情報と同一又は類似の特徴を有する抽出情報の重みを示す前記重み情報に基づいて求め、前記複数のストレージノードのうち当該一致度が最高になる第２特徴情報が対応付けられた特定のストレージノードを、前記入力データを保存するストレージノードに決定する決定部と、
前記決定部により決定された前記特定のストレージノードが自ストレージノードである場合に、自ストレージノードの前記保存部に前記入力データを転送し、前記決定部により決定された前記特定のストレージノードが他のストレージノードである場合に、当該他のストレージノードに前記入力データを転送する転送部と、
前記転送部により自ストレージノードの前記保存部に前記入力データが転送された場合に、前記抽出部により抽出された前記第１特徴情報に基づいて、前記記憶部に記憶された前記複数の第２特徴情報のうち自ストレージノードの前記保存部に保存されている前記保存データの特徴を示す第２特徴情報を更新する更新部と
を含む、システム。
【請求項２】
前記更新部は、他のストレージノードの前記保存部に保存されているデータの特徴を示す他の第２特徴情報が当該他のストレージノードから転送された場合に、当該他の第２特徴情報に基づいて、前記記憶部に記憶された前記複数の第２特徴情報のうち当該他のストレージノードの前記保存部に保存されているデータの特徴を示す第２特徴情報を更新する、請求項１のシステム。
【請求項３】
複数のストレージノードにおけるデータの保存を制御ノードで制御するシステムであって、
前記複数のストレージノードのそれぞれは、
同一又は類似の特徴を有するデータの重複を排除した状態でデータを保存する保存部
を含み、
前記制御ノードは、
前記システムに入力された入力データから、当該入力データの特徴を示す第１特徴情報を抽出する抽出部と、
前記複数のストレージノードにそれぞれ対応付けられ、当該複数のストレージノードのそれぞれの前記保存部に保存されている保存データの特徴をそれぞれ示す複数の第２特徴情報であって、当該保存データからそれぞれ抽出された複数の抽出情報と、当該複数の抽出情報のそれぞれの重みを示す重み情報とをそれぞれが含む複数の第２特徴情報を記憶する記憶部と、
前記抽出部により抽出された前記第１特徴情報と、前記記憶部に記憶された前記複数の第２特徴情報のそれぞれとの一致度を、当該複数の第２特徴情報にそれぞれ含まれる前記複数の抽出情報のうち当該第１特徴情報と同一又は類似の特徴を有する抽出情報の重みを示す前記重み情報に基づいて求め、前記複数のストレージノードのうち当該一致度が最高になる第２特徴情報が対応付けられた特定のストレージノードを、前記入力データを保存するストレージノードに決定する決定部と、
前記決定部により決定された前記特定のストレージノードの前記保存部に前記入力データを転送する転送部と、
前記抽出部により抽出された前記第１特徴情報に基づいて、前記記憶部に記憶された前記複数の第２特徴情報のうち前記特定のストレージノードの前記保存部に保存されている前記保存データの特徴を示す第２特徴情報を更新する更新部と
を含む、システム。
【請求項４】
同一又は類似の特徴を有するデータの重複を排除した状態でデータを保存可能な複数のストレージにおけるデータの保存を制御する装置であって、
前記複数のストレージの何れかに保存すべきデータとして入力された入力データから、当該入力データの特徴を示す第１特徴情報を抽出する抽出部と、
前記複数のストレージにそれぞれ対応付けられ、当該複数のストレージのそれぞれに保存されている保存データの特徴をそれぞれ示す複数の第２特徴情報を記憶する記憶部と、
前記抽出部により抽出された前記第１特徴情報と、前記記憶部に記憶された前記複数の第２特徴情報のそれぞれとの一致度を求め、前記複数のストレージのうち当該一致度が最高になる第２特徴情報が対応付けられた特定のストレージを、前記入力データを保存するストレージに決定する決定部と、
前記決定部により決定された前記特定のストレージに前記入力データを転送する転送部と、
前記抽出部により抽出された前記第１特徴情報に基づいて、前記記憶部に記憶された前記複数の第２特徴情報のうち前記特定のストレージに保存されている前記保存データの特徴を示す第２特徴情報を更新する更新部と
を含む、装置。
【請求項５】
前記複数の第２特徴情報のそれぞれは、前記複数のストレージに保存されている前記保存データからそれぞれ抽出された複数の抽出情報を含み、
前記決定部は、前記記憶部に記憶された前記複数の第２特徴情報にそれぞれ含まれる前記複数の抽出情報のうち、前記抽出部により抽出された前記第１特徴情報と同一又は類似の特徴を有する抽出情報の個数に基づいて、前記一致度を求める、請求項４の装置。
【請求項６】
前記複数の第２特徴情報のそれぞれは、前記複数のストレージに保存されている前記保存データからそれぞれ抽出された複数の抽出情報と、当該複数の抽出情報のそれぞれの重みを示す重み情報とを含み、
前記決定部は、前記記憶部に記憶された前記複数の第２特徴情報にそれぞれ含まれる前記複数の抽出情報のうち、前記抽出部により抽出された前記第１特徴情報と同一又は類似の特徴を有する抽出情報の重みを示す前記重み情報に基づいて、前記一致度を求める、請求項４の装置。
【請求項７】
前記決定部は、前記一致度と、前記複数のストレージのそれぞれに保存されている前記保存データの容量とに基づいて、前記特定のストレージを決定する、請求項４乃至請求項６の何れかの装置。
【請求項８】
前記抽出部は、前記複数のストレージの一のストレージに保存されている前記保存データから、当該保存データの特徴を示す前記第１特徴情報を抽出し、
前記抽出部により抽出された前記第１特徴情報と、前記記憶部に記憶された前記複数の第２特徴情報のそれぞれとの一致度を求めることにより、前記複数のストレージのうち前記保存データを保存するストレージを改めて決定し、
前記転送部は、前記決定部により決定された前記ストレージが前記一のストレージ以外の他のストレージである場合に、当該他のストレージに前記保存データを転送する、請求項４乃至請求項７の何れかの装置。
【請求項９】
同一又は類似の特徴を有するデータの重複を排除した状態でデータを保存可能な複数のストレージにおけるデータの保存を制御する方法であって、
前記複数のストレージの何れかに保存すべきデータとして入力された入力データから、当該入力データの特徴を示す第１特徴情報を抽出するステップと、
前記複数のストレージにそれぞれ対応付けられ、当該複数のストレージのそれぞれに保存されている保存データの特徴をそれぞれ示す複数の第２特徴情報を記憶する記憶部から、当該複数の第２特徴情報のそれぞれを読み出すステップと、
抽出された前記第１特徴情報と、読み出された前記複数の第２特徴情報のそれぞれとの一致度を求め、前記複数のストレージのうち当該一致度が最高になる第２特徴情報が対応付けられた特定のストレージを、前記入力データを保存するストレージに決定するステップと、
決定された前記特定のストレージに前記入力データを転送するステップと、
抽出された前記第１特徴情報に基づいて、前記記憶部に記憶された前記複数の第２特徴情報のうち前記特定のストレージに保存されている前記保存データの特徴を示す第２特徴情報を更新するステップと
を含む、方法。
【請求項１０】
同一又は類似の特徴を有するデータの重複を排除した状態でデータを保存可能な複数のストレージにおけるデータの保存を制御する装置として、コンピュータを機能させるプログラムであって、
前記コンピュータを、
前記複数のストレージの何れかに保存すべきデータとして入力された入力データから、当該入力データの特徴を示す第１特徴情報を抽出する抽出部と、
前記複数のストレージにそれぞれ対応付けられ、当該複数のストレージのそれぞれに保存されている保存データの特徴をそれぞれ示す複数の第２特徴情報を記憶する記憶部から、当該複数の第２特徴情報のそれぞれを読み出す読出し部と、
前記抽出部により抽出された前記第１特徴情報と、前記読出し部により読み出された前記複数の第２特徴情報のそれぞれとの一致度を求め、前記複数のストレージのうち当該一致度が最高になる第２特徴情報が対応付けられた特定のストレージを、前記入力データを保存するストレージに決定する決定部と、
前記決定部により決定された前記特定のストレージに前記入力データを転送する転送部と、
前記抽出部により抽出された前記第１特徴情報に基づいて、前記記憶部に記憶された前記複数の第２特徴情報のうち前記特定のストレージに保存されている前記保存データの特徴を示す第２特徴情報を更新する更新部と
して機能させる、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データの保存を制御する装置及び方法に関する。特に、本発明は、同一又は類似の特徴を有するデータの重複を排除した状態でデータを保存可能な複数のストレージにおけるデータの保存を制御する装置及び方法に関する。
【背景技術】
【０００２】
今日取り扱われるデータの量は飛躍的に増加し続けており、ストレージ内のデータを如何に圧縮させてストレージの利用効率化を図るかという努力が払われている。
ここで、ストレージの利用効率化を図る方法として以下の２つの方法がある。
（１）ファイルを圧縮する方法
（２）ストレージシステムの重複排除機能を用いる方法
このうち、（１）は、ファイル単位で圧縮を行う方法であり、従来から行われている方法であるが、近年では、ストレージが一般利用者により広く利用されるようになったのに伴い、別々の利用者が同様のデータを格納することも多くなり、特に（２）の重複排除機能の重要性が増してきている。この重複排除機能では、（１）のファイル単位の圧縮で対応できなかったＪＰＥＧやＭＰＥＧ等の既に圧縮されたデータの異なるインスタンス間での重複排除も図られるため、ストレージの更なる利用効率化を図ることができる。
【０００３】
尚、公報記載の技術としては、大量の素データを集計して種々のサマリデータを生成する処理を複数のプロセッサによって並列して同時に行う技術がある（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開昭６１−１９８３６９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
一方で、格納すべきデータの増加に対処するため、ストレージシステムは、クラウドストレージに代表されるようにスケーラブルな構成となり、複数のストレージから構成されるようになってきている。
しかしながら、このような流れの中では、複数のストレージにデータを保存した場合に、これらのストレージ全体としての利用効率化を図ることができないという問題がある。
【０００６】
尚、特許文献１の技術は、素データからサマリデータを生成することを開示しているに過ぎず、素データを配置する際のストレージの利用効率化を図るものではない。
【０００７】
本発明の目的は、複数のストレージにデータを保存する際にそれらのストレージ全体としての利用効率化を図ることにある。
【課題を解決するための手段】
【０００８】
かかる目的のもと、本発明は、複数のストレージノードでデータを保存するシステムであって、複数のストレージノードのそれぞれは、同一又は類似の特徴を有するデータの重複を排除した状態でデータを保存する保存部と、自ストレージノードに入力された入力データから、入力データの特徴を示す第１特徴情報を抽出する抽出部と、複数のストレージノードの保存部に保存されている保存データの特徴をそれぞれ示す複数の第２特徴情報であって、保存データからそれぞれ抽出された複数の抽出情報と、複数の抽出情報のそれぞれの重みを示す重み情報とをそれぞれが含む複数の第２特徴情報を記憶する記憶部と、抽出部により抽出された第１特徴情報と、記憶部に記憶された複数の第２特徴情報のそれぞれとの一致度を、複数の第２特徴情報にそれぞれ含まれる複数の抽出情報のうち第１特徴情報と同一又は類似の特徴を有する抽出情報の重みを示す重み情報に基づいて求めることにより、複数のストレージノードのうち入力データを保存する特定のストレージノードを決定する決定部と、決定部により決定された特定のストレージノードが自ストレージノードである場合に、自ストレージノードの保存部に入力データを転送し、決定部により決定された特定のストレージノードが他のストレージノードである場合に、他のストレージノードに入力データを転送する転送部と、転送部により自ストレージノードの保存部に入力データが転送された場合に、抽出部により抽出された第１特徴情報に基づいて、記憶部に記憶された複数の第２特徴情報のうち自ストレージノードの保存部に保存されている保存データの特徴を示す第２特徴情報を更新する更新部とを含む、システムを提供する。
【０００９】
ここで、更新部は、他のストレージノードの保存部に保存されているデータの特徴を示す他の第２特徴情報が他のストレージノードから転送された場合に、他の第２特徴情報に基づいて、記憶部に記憶された複数の第２特徴情報のうち他のストレージノードの保存部に保存されているデータの特徴を示す第２特徴情報を更新する、ものであってよい。
【００１０】
また、本発明は、複数のストレージノードにおけるデータの保存を制御ノードで制御するシステムであって、複数のストレージノードのそれぞれは、同一又は類似の特徴を有するデータの重複を排除した状態でデータを保存する保存部を含み、制御ノードは、システムに入力された入力データから、入力データの特徴を示す第１特徴情報を抽出する抽出部と、複数のストレージノードの保存部に保存されている保存データの特徴をそれぞれ示す複数の第２特徴情報であって、保存データからそれぞれ抽出された複数の抽出情報と、複数の抽出情報のそれぞれの重みを示す重み情報とをそれぞれが含む複数の第２特徴情報を記憶する記憶部と、抽出部により抽出された第１特徴情報と、記憶部に記憶された複数の第２特徴情報のそれぞれとの一致度を、複数の第２特徴情報にそれぞれ含まれる複数の抽出情報のうち第１特徴情報と同一又は類似の特徴を有する抽出情報の重みを示す重み情報に基づいて求めることにより、複数のストレージノードのうち入力データを保存する特定のストレージノードを決定する決定部と、決定部により決定された特定のストレージノードの保存部に入力データを転送する転送部と、抽出部により抽出された第１特徴情報に基づいて、記憶部に記憶された複数の第２特徴情報のうち特定のストレージノードの保存部に保存されている保存データの特徴を示す第２特徴情報を更新する更新部とを含む、システムも提供する。
【００１１】
また、本発明は、同一又は類似の特徴を有するデータの重複を排除した状態でデータを保存可能な複数のストレージにおけるデータの保存を制御する装置であって、複数のストレージの何れかに保存すべきデータとして入力された入力データから、入力データの特徴を示す第１特徴情報を抽出する抽出部と、複数のストレージに保存されている保存データの特徴をそれぞれ示す複数の第２特徴情報を記憶する記憶部と、抽出部により抽出された第１特徴情報と、記憶部に記憶された複数の第２特徴情報のそれぞれとの一致度を求めることにより、複数のストレージのうち入力データを保存する特定のストレージを決定する決定部と、決定部により決定された特定のストレージに入力データを転送する転送部と、抽出部により抽出された第１特徴情報に基づいて、記憶部に記憶された複数の第２特徴情報のうち特定のストレージに保存されている保存データの特徴を示す第２特徴情報を更新する更新部とを含む、装置も提供する。
【００１２】
ここで、複数の第２特徴情報のそれぞれは、複数のストレージに保存されている保存データからそれぞれ抽出された複数の抽出情報を含み、決定部は、記憶部に記憶された複数の第２特徴情報にそれぞれ含まれる複数の抽出情報のうち、抽出部により抽出された第１特徴情報と同一又は類似の特徴を有する抽出情報の個数に基づいて、一致度を求める、ものであってもよいし、複数の第２特徴情報のそれぞれは、複数のストレージに保存されている保存データからそれぞれ抽出された複数の抽出情報と、複数の抽出情報のそれぞれの重みを示す重み情報とを含み、決定部は、記憶部に記憶された複数の第２特徴情報にそれぞれ含まれる複数の抽出情報のうち、抽出部により抽出された第１特徴情報と同一又は類似の特徴を有する抽出情報の重みを示す重み情報に基づいて、一致度を求める、ものであってもよい。
また、決定部は、一致度と、複数のストレージのそれぞれに保存されている保存データの容量とに基づいて、特定のストレージを決定する、ものであってよい。
更に、抽出部は、複数のストレージの一のストレージに保存されている保存データから、保存データの特徴を示す第１特徴情報を抽出し、抽出部により抽出された第１特徴情報と、記憶部に記憶された複数の第２特徴情報のそれぞれとの一致度を求めることにより、複数のストレージのうち保存データを保存するストレージを改めて決定し、転送部は、決定部により決定されたストレージが一のストレージ以外の他のストレージである場合に、他のストレージに保存データを転送する、ものであってよい。
【００１３】
更に、本発明は、同一又は類似の特徴を有するデータの重複を排除した状態でデータを保存可能な複数のストレージにおけるデータの保存を制御する方法であって、複数のストレージの何れかに保存すべきデータとして入力された入力データから、入力データの特徴を示す第１特徴情報を抽出するステップと、複数のストレージに保存されている保存データの特徴をそれぞれ示す複数の第２特徴情報を記憶する記憶部から、複数の第２特徴情報のそれぞれを読み出すステップと、抽出された第１特徴情報と、読み出された複数の第２特徴情報のそれぞれとの一致度を求めることにより、複数のストレージのうち入力データを保存する特定のストレージを決定するステップと、決定された特定のストレージに入力データを転送するステップと、抽出された第１特徴情報に基づいて、記憶部に記憶された複数の第２特徴情報のうち特定のストレージに保存されている保存データの特徴を示す第２特徴情報を更新するステップとを含む、方法も提供する。
【００１４】
更にまた、本発明は、同一又は類似の特徴を有するデータの重複を排除した状態でデータを保存可能な複数のストレージにおけるデータの保存を制御する装置として、コンピュータを機能させるプログラムであって、コンピュータを、複数のストレージの何れかに保存すべきデータとして入力された入力データから、入力データの特徴を示す第１特徴情報を抽出する抽出部と、複数のストレージに保存されている保存データの特徴をそれぞれ示す複数の第２特徴情報を記憶する記憶部から、複数の第２特徴情報のそれぞれを読み出す読出し部と、抽出部により抽出された第１特徴情報と、読出し部により読み出された複数の第２特徴情報のそれぞれとの一致度を求めることにより、複数のストレージのうち入力データを保存する特定のストレージを決定する決定部と、決定部により決定された特定のストレージに入力データを転送する転送部と、抽出部により抽出された第１特徴情報に基づいて、記憶部に記憶された複数の第２特徴情報のうち特定のストレージに保存されている保存データの特徴を示す第２特徴情報を更新する更新部として機能させる、プログラムも提供する。
【発明の効果】
【００１５】
本発明によれば、複数のストレージにデータを保存する際にそれらのストレージ全体としての利用効率化を図ることができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の第１の実施の形態が適用されるコンピュータシステムの構成例を示したブロック図である。
【図２】本発明の実施の形態におけるサマリデータ記憶部の記憶内容の例を示した図である。
【図３】本発明の第１の実施の形態におけるストレージノードの動作例を示したフローチャートである。
【図４】本発明の実施の形態におけるストレージノードの動作を具体的に説明するための図である。
【図５】本発明の第２の実施の形態が適用されるコンピュータシステムの構成例を示したブロック図である。
【図６】本発明の第２の実施の形態における制御ノードの動作例を示したフローチャートである。
【図７】本発明の実施の形態を適用可能なコンピュータのハードウェア構成を示した図である。
【発明を実施するための形態】
【００１７】
以下、添付図面を参照して、本発明の実施の形態について詳細に説明する。
［第１の実施の形態］
図１は、第１の実施の形態が適用されるコンピュータシステムの構成例を示したブロック図である。
図示するように、このコンピュータシステムは、クライアント１０ａ〜１０ｃと、ストレージノード２０ａ〜２０ｃとが、ネットワーク８０を介して接続されることにより構成されている。
【００１８】
クライアント１０ａ〜１０ｃは、それぞれ、保存すべきデータ（以下、「保存対象データ」という）を、ネットワーク８０を介してストレージノード２０ａ〜２０ｃに送信するコンピュータである。尚、図では、クライアント１０ａ〜１０ｃを示したが、これらを区別する必要がない場合は、クライアント１０と称することもある。また、図では、３つのクライアント１０を示したが、クライアント１０の数はこれに限らない。
ストレージノード２０ａ〜２０ｃは、それぞれ、クライアント１０ａ〜１０ｃから受信した保存対象データを保存するストレージを含むノードである。尚、図では、ストレージノード２０ａ〜２０ｃを示したが、これらを区別する必要がない場合は、ストレージノード２０と称することもある。また、図では、３つのストレージノード２０を示したが、ストレージノード２０の数はこれに限らない。
【００１９】
以下、ストレージノード２０の構成について詳しく説明する。
ストレージノード２０は、メタデータ抽出部２１と、容量情報記憶部２２と、サマリデータ記憶部２３と、ノード決定部２４と、データ転送部２５と、サマリデータ登録部２６と、データ保存部２７とを備えている。尚、図では、ストレージノード２０の構成要素の符号にａ、ｂを付しているが、以降の説明では、符号にａ、ｂを付さないこととする。
【００２０】
メタデータ抽出部２１は、クライアント１０から受信した保存対象データからメタデータを抽出する。保存対象データがテキストデータである場合は、メタデータとして、テキストデータに含まれるキーワードを抽出するとよい。例えば、テキストデータ内で出現頻度が高い名詞をキーワードとしてリストする。既存のテキストマイニングの手法により、テキストデータの要旨にあたるキーワードをリストに加えてもよい。また、保存対象データがキーワードを抽出できないイメージデータ等である場合は、保存対象データの本体を複数のブロックに分割して各ブロックのハッシュ値を計算し、これをメタデータとするとよい。更に、保存対象データに付属情報を付与可能な場合は、この付属情報をメタデータに取り込んでもよい。メタデータ抽出部２１は、メタデータを抽出した後、保存対象データと共にメタデータをノード決定部２４に出力する。本実施の形態では、入力データの一例として、保存対象データを用いており、入力データの特徴を示す第１特徴情報の一例として、メタデータを用いており、入力データから第１特徴情報を抽出する抽出部の一例として、メタデータ抽出部２１を設けている。
【００２１】
容量情報記憶部２２は、ストレージノード２０ａ〜２０ｃを識別する識別子（以下、「ノードＩＤ」という）と、そのノードＩＤのストレージノード２０内のストレージの現在の使用容量とを対応付けた情報（以下、「容量情報」という）を記憶する。
サマリデータ記憶部２３は、ストレージノード２０ａ〜２０ｃのノードＩＤと、そのノードＩＤのストレージノード２０内のストレージに保存されているデータのメタデータ及びそのメタデータの重要度を組み合わせたサマリデータとの対応を記憶する。メタデータがキーワードである場合は、例えばキーワードの出現頻度を重要度とすればよい。本実施の形態では、保存データの特徴をそれぞれ示す複数の第２特徴情報の一例として、サマリデータを用いており、複数の第２特徴情報を記憶する記憶部の一例として、サマリデータ記憶部２３を設けている。
【００２２】
ノード決定部２４は、メタデータ抽出部２１から受け取ったメタデータと、サマリデータ記憶部２３に記憶された各ノードＩＤに対応するサマリデータとを比較し、これらの一致度に基づいて、保存対象データをどのストレージノード２０に転送すべきかを決定する。この場合、サマリデータ記憶部２３に記憶されたサマリデータのうち、メタデータ抽出部２１から受け取ったメタデータとの一致度が最も高いサマリデータに対応するノードＩＤのストレージノード２０を転送すべきストレージノード２０として決定するとよい。その際、容量情報記憶部２２に記憶された容量情報も考慮する。また、保存対象データがどのノードＩＤに対応するサマリデータにも適合しない場合は、コンシステントハッシング等の既存の割り振り方法によって、転送すべきストレージノード２０を決定する。そして、決定したストレージノード２０のノードＩＤと、保存対象データと、メタデータとをデータ転送部２５に出力する。本実施の形態では、入力データを保存する特定のストレージノードを決定する決定部の一例として、また、入力データを保存する特定のストレージを決定する決定部の一例として、ノード決定部２４を設けている。
【００２３】
データ転送部２５は、ノード決定部２４から受け取ったノードＩＤが自ノードを示していれば、ノード決定部２４から受け取った保存対象データを自ノードのデータ保存部２７に転送すると共に、ノード決定部２４から受け取ったメタデータを自ノードのサマリデータ登録部２６に出力する。ノード決定部２４から受け取ったノードＩＤが他のストレージノード２０を示していれば、ノード決定部２４から受け取った保存対象データ及びメタデータをそのストレージノード２０のデータ転送部２５に転送する。また、データ転送部２５は、他のストレージノード２０から保存対象データ及びメタデータが転送されると、保存対象データをデータ保存部２７に保存すると共にメタデータをサマリデータ登録部２６に出力する。更に、データ転送部２５は、サマリデータ記憶部２３に記憶されたサマリデータを他のストレージノード２０との間で定期的に交換する際にも機能する。即ち、他のストレージノード２０からサマリデータが転送されると、そのストレージノード２０のノードＩＤ及びサマリデータをサマリデータ登録部２６に出力する。本実施の形態では、自ストレージノードの保存部又は他のストレージノードに入力データを転送する転送部の一例として、また、特定のストレージに入力データを転送する転送部の一例として、データ転送部２５を設けている。
【００２４】
サマリデータ登録部２６は、データ転送部２５から受け取った自ノードにおける保存対象データのメタデータを、自ノードのノードＩＤに対応付けてサマリデータ記憶部２３に記憶されたサマリデータに含めて登録する。また、データ転送部２５から受け取った他のストレージノード２０のサマリデータを、そのストレージノード２０のノードＩＤに対応付けてサマリデータ記憶部２３に記憶されたサマリデータに含めて登録する。本実施の形態では、第１特徴情報に基づいて複数の第２特徴情報のうち自ストレージノードの保存部に保存されている保存データの特徴を示す第２特徴情報を更新する更新部の一例として、また、第１特徴情報に基づいて複数の第２特徴情報のうち特定のストレージに保存されている保存データの特徴を示す第２特徴情報を更新する更新部の一例として、サマリデータ登録部２６を設けている。
【００２５】
データ保存部２７は、クライアント１０又は他のストレージノード２０から受信した保存対象データを保存するストレージである。ここで、データ保存部２７には、既存の重複排除機能が備わっており、保存されたデータの重複をこの機能によって排除することが可能になっている。本実施の形態では、同一又は類似の特徴を有するデータの重複を排除した状態でデータを保存する機能の一例として、重複排除機能を用いており、データを保存する保存部の一例として、データ保存部２７を設けている。
【００２６】
ここで、サマリデータ記憶部２３の記憶内容について説明する。
図２は、サマリデータ記憶部２３に記憶される情報の一例を示した図である。
図示するように、サマリデータ記憶部２３には、ノードＩＤと、メタデータ及び重要度の複数の組との対応が記憶されている。
ノードＩＤは、上述したように、ストレージノード２０を識別する識別子である。
メタデータは、対応するノードＩＤのストレージノード２０のデータ保存部２７に保存されたデータのメタデータである。そのデータがテキストデータであれば、メタデータとしてはキーワードを用いればよく、そのデータがイメージデータ等であれば、メタデータとしては各ブロックのハッシュ値を用いればよい。本実施の形態では、保存データから抽出された抽出情報の一例として、サマリデータ内のメタデータを用いている。
重要度は、保存対象データのメタデータとの一致度を算出する際に、対応するメタデータをどの程度重視すればよいかを示す情報である。例えば、テキストデータについては、キーワードの出現頻度を重要度とすればよい。そして、出現頻度としては、例えば、全てのキーワードの出現回数に対する割合を採用すればよい。本実施の形態では、抽出情報の重みを示す重み情報の一例として、重要度を用いている。
【００２７】
次に、本実施の形態におけるストレージノード２０の動作について詳細に説明する。尚、一般に、保存対象データには、テキストデータ、イメージデータ等、種々の形式のデータがあるが、ここでは、特定の形式のデータのみがストレージノード２０に保存されるものとして説明する。即ち、この動作例に先立ち、保存対象データの形式がその付随情報に基づいて判定され、保存対象データの形式がその特定の形式でなければ、保存対象データは、ストレージノード２０ａ〜２０ｃ以外の図示しないストレージノードに転送されることを前提とする。
【００２８】
さて、まず、ストレージノード２０がクライアント１０から保存対象データを受信したときの動作について述べる。
図３は、このときのストレージノード２０の動作例を示したフローチャートである。
動作が開始すると、ストレージノード２０では、まず、メタデータ抽出部２１が、クライアント１０から受信した保存対象データからメタデータを抽出する（ステップ２０１）。この抽出されたメタデータは、保存対象データと共にノード決定部２４へ出力される。
【００２９】
すると、ノード決定部２４は、サマリデータ記憶部２３に記憶された全てのノードＩＤを比較対象に設定する（ステップ２０２）。そして、この比較対象に設定されたノードＩＤのうち、メタデータ抽出部２１から受け取ったメタデータとの一致度が最高になるサマリデータが対応付けられたノードＩＤと、このときの一致度（最高一致度）とを求める（ステップ２０３）。ここで、一致度は、サマリデータを構成するメタデータのうち、メタデータ抽出部２１から受け取ったメタデータと同じものを特定し、特定されたメタデータに対応する重要度に基づいて、例えば、重要度を足し合わせることによって算出するとよい。
そして、ノード決定部２４は、ここで求めた最大一致度が予め定めた閾値を超えているかどうかを判定する（ステップ２０４）。
その結果、最大一致度が閾値を超えていると判定されれば、ノード決定部２４は、容量情報記憶部２２に記憶された容量情報を参照して、ステップ２０３で求めたノードＩＤに対応する使用容量が予め定めた閾値を超えているかどうかを判定する（ステップ２０５）。使用容量が閾値を超えていると判定されれば、そのノードＩＤを除外したノードＩＤを新たに比較対象に設定し（ステップ２０６）、ステップ２０３〜２０５の処理を繰り返す。
【００３０】
一方、ステップ２０５で使用容量が閾値を超えていないと判定されれば、ノード決定部２４は、このときステップ２０３で求めたノードＩＤのストレージノード２０を、保存対象データを転送すべきストレージノード２０として決定する（ステップ２０７）。
また、ステップ２０４で最大一致度が閾値を超えていないと判定されれば、保存対象データに類似するデータがどのストレージノード２０にも保持されていないことになる。従って、このような場合、ノード決定部２４は、コンシステントハッシング等の既存の割り振り方法を用いて、保存対象データを転送すべきストレージノード２０を決定する（ステップ２０８）。
尚、このように求められたノードＩＤと、保存対象データと、メタデータとは、データ転送部２５に出力される。
【００３１】
すると、データ転送部２５は、ノード決定部２４から受け取ったノードＩＤに基づいて、保存対象データを転送すべきストレージノード２０が自ノードであるか他のストレージノード２０であるかを判定する（ステップ２０９）。
その結果、保存対象データを転送すべきストレージノード２０が自ノードであると判定されれば、データ転送部２５は、自ノードのデータ保存部２７に保存対象データを保存する（ステップ２１０）。そして、メタデータはサマリデータ登録部２６に渡され、サマリデータ登録部２６が、サマリデータ記憶部２３に記憶された自ノードのノードＩＤに対応するサマリデータを、データ転送部２５から渡されたメタデータで更新する（ステップ２１１）。具体的には、自ノードのノードＩＤに対応するサマリデータの中に、データ転送部２５から渡されたメタデータが含まれていなければ、そのメタデータを追加すると共にそのメタデータに対応する重要度を新たに登録する。また、自ノードのノードＩＤに対応するサマリデータの中に、データ転送部２５から渡されたメタデータが含まれていれば、そのメタデータに対応する重要度に、データ転送部２５から渡されたメタデータの重要度を反映させる。
【００３２】
一方、保存対象データを転送すべきストレージノード２０が他のストレージノード２０であると判定されれば、データ転送部２５は、そのストレージノード２０のデータ転送部２５に保存対象データ及びメタデータを転送する（ステップ２１２）。
【００３３】
次いで、クライアント１０から受信した保存対象データを転送すべきストレージノード２０を決定するときの動作について具体例を用いて説明する。
図４は、ストレージノード２０ａが数学論文集を保存し、ストレージノード２０ｂが小説文集を保存している場合にサマリデータ記憶部２３ａ，２３ｂに記憶されるサマリデータの具体例を示したものである。上述したように、ストレージノード２０ａ，２０ｂはサマリデータを交換するので、サマリデータ記憶部２３ａ，２３ｂに記憶されるサマリデータは同じであるとし、一種類のサマリデータのみを示している。
【００３４】
図において、ノードＩＤ「Ａ」はストレージノード２０ａのノードＩＤであり、ノードＩＤ「Ｂ」はストレージノード２０ｂのノードＩＤである。
また、保存対象データがテキストデータであるので、サマリデータ記憶部２３は、メタデータとしてキーワードを、重要度としてキーワードの出現頻度を記憶している。具体的には、ストレージノード２０ａは数学論文集を保存しているので、ノードＩＤ「Ａ」に対応するメタデータとしてキーワード「微分」「非ユークリッド幾何」、「群論」、「焦点」等が記憶され、メタデータの重要度として各キーワードの出現頻度「８」、「２」、「３」、「３」等が記憶されている。一方、ストレージノード２０ｂは小説文集を保存しているので、ノードＩＤ「Ｂ」に対応するメタデータとしてキーワード「風」、「歌」、「森」、「焦点」等が記憶され、メタデータの重要度として各キーワードの出現頻度「３」、「２」、「２」、「１」等が記憶されている。
【００３５】
ここで、クライアント１０から受信した保存対象データが物理論文であり、この物理論文からメタデータ「非ユークリッド幾何」が抽出された場合を考える。
この場合、ノードＩＤ「Ａ」に対応するサマリデータにおけるメタデータ「非ユークリッド幾何」の重要度が、物理論文から抽出されたメタデータとこのサマリデータとの一致度になるので、一致度は「２」となる。一方、ノードＩＤ「Ｂ」に対応するサマリデータにメタデータ「非ユークリッド幾何」が記憶されていないとすると、一致度は「０」となる。従って、前者の一致度の方が後者の一致度よりも高いため、物理論文はストレージノード２０ａに保存されることになる。
【００３６】
また、クライアント１０から受信した保存対象データが国語教科書であり、この国語教科書からメタデータ「風」が抽出された場合を考える。
この場合、ノードＩＤ「Ａ」に対応するサマリデータにメタデータ「風」が記憶されていないとすると、一致度は「０」となる。一方、ノードＩＤ「Ｂ」に対応するサマリデータにおけるメタデータ「風」の重要度が、国語教科書から抽出されたメタデータとこのサマリデータとの一致度になるので、一致度は「３」となる。従って、後者の一致度の方が前者の一致度よりも高いため、国語教科書はストレージノード２０ｂに保存されることになる。
【００３７】
更に、クライアント１０から受信した保存対象データが物理論文であり、この物理論文からメタデータ「焦点」が抽出された場合を考える。
この場合、ノードＩＤ「Ａ」に対応するサマリデータにおけるメタデータ「焦点」の重要度が、物理論文から抽出されたメタデータとこのサマリデータとの一致度になるので、一致度は「３」となる。一方、ノードＩＤ「Ｂ」に対応するサマリデータにおけるメタデータ「焦点」の重要度が、物理論文から抽出されたメタデータとこのサマリデータとの一致度になるので、一致度は「１」となる。従って、前者の一致度の方が後者の一致度よりも高いため、物理論文はストレージノード２０ａに保存されることになる。
【００３８】
次に、ストレージノード２０が他のストレージノード２０から保存対象データ及びメタデータを受信したときの動作について述べる。
他のストレージノード２０から保存対象データ及びメタデータを受信すると、まず、データ転送部２５が、保存対象データをデータ保存部２７に保存する。そして、メタデータはサマリデータ登録部２６に渡され、サマリデータ登録部２６が、サマリデータ記憶部２３に記憶された自ノードのノードＩＤに対応するサマリデータを、データ転送部２５から渡されたメタデータで更新する。具体的には、自ノードのノードＩＤに対応するサマリデータの中に、データ転送部２５から渡されたメタデータが含まれていなければ、そのメタデータを追加すると共にそのメタデータに対応する重要度を新たに登録する。また、自ノードのノードＩＤに対応するサマリデータの中に、データ転送部２５から渡されたメタデータが含まれていれば、そのメタデータに対応する重要度に、データ転送部２５から渡されたメタデータの重要度を反映させる。
【００３９】
次いで、ストレージノード２０が他のストレージノード２０からサマリデータを受信したときの動作について述べる。尚、ここでは、前回のサマリデータの受信以降に他のストレージノード２０で変更されたサマリデータの部分のみを受信するものとする。
他のストレージノード２０からサマリデータを受信すると、まず、データ転送部２５が、そのストレージノード２０のノードＩＤとサマリデータとをサマリデータ登録部２６に渡す。そして、サマリデータ登録部２６が、サマリデータ記憶部２３に記憶されたそのノードＩＤに対応するサマリデータを、データ転送部２５から渡されたサマリデータで更新する。具体的には、そのノードＩＤに対応するサマリデータの中に、データ転送部２５から渡されたサマリデータ内のメタデータが含まれていなければ、そのメタデータを追加すると共にそのメタデータに対応する重要度を新たに登録する。また、そのノードＩＤに対応するサマリデータの中に、データ転送部２５から渡されたサマリデータ内のメタデータが含まれていれば、そのメタデータに対応する重要度に、データ転送部２５から渡されたメタデータの重要度を反映させる。
【００４０】
尚、このように保存対象データを順次ストレージノード２０に保存していくと、サマリデータの内容が追加され、変化していくと考えられる。従って、現在保存されているデータのメタデータとサマリデータとがかけ離れたものとなってしまう可能性もあり、データ保存部２７に保存されているデータとサマリデータとの一致度の再検査を行うことが必要になる。そこで、本実施の形態では、このような再検査を行う機能を設けてもよい。
具体的には、クライアント１０から受信した保存対象データに対してではなく、データ保存部２７に保存されているデータに対して、図３に示したのと同様の処理を行う。但し、ステップ２０４で最高一致度が閾値を超えていないと判定された場合、データを敢えて移動する必要はないので、そのままステップ２０９へ進む。また、ステップ２０９で保存対象データを転送すべきストレージノード２０が自ノードであると判定された場合も、データは移動しないので、そのまま処理を終了する。尚、この機能は、全てバックグラウンドで動作するものとする。そして、この機能は、新たなストレージノード２０が追加された場合にデータを適切なノードへ移動する役割も担っている。
【００４１】
［第２の実施の形態］
図５は、第２の実施の形態が適用されるコンピュータシステムの構成例を示したブロック図である。第１の実施の形態では、全てのストレージノード２０のサマリデータを各ストレージノード２０で分散保持し定期的にサマリデータを交換していたのに対し、この第２の実施の形態では、全てのストレージノード２０のサマリデータを保持する専用ノードである制御ノード３０を別途設けている。
図示するように、このコンピュータシステムは、クライアント１０ａ〜１０ｃと、ストレージノード２０ａ〜２０ｃと、制御ノード３０とが、ネットワーク８０を介して接続されることにより構成されている。
【００４２】
クライアント１０ａ〜１０ｃは、保存対象データを、ネットワーク８０を介して制御ノード３０に送信するコンピュータである。尚、図では、クライアント１０ａ〜１０ｃを示したが、これらを区別する必要がない場合は、クライアント１０と称することもある。また、図では、３つのクライアント１０を示したが、クライアント１０の数はこれに限らない。
ストレージノード２０ａ〜２０ｃは、クライアント１０ａ〜１０ｃの何れかから受信した保存対象データを保存するストレージを含むノードである。尚、図では、ストレージノード２０ａ〜２０ｃを示したが、これらを区別する必要がない場合は、ストレージノード２０と称することもある。また、図では、３つのストレージノード２０を示したが、ストレージノード２０の数はこれに限らない。
制御ノード３０は、ストレージノード２０ａ〜２０ｃでのデータの保存を制御するノードであり、クライアント１０ａ〜１０ｃから受信した保存対象データを、ストレージノード２０ａ〜２０ｃに振り分ける。
【００４３】
以下、制御ノード３０の構成について詳しく説明する。
制御ノード３０は、メタデータ抽出部３１と、容量情報記憶部３２と、サマリデータ記憶部３３と、ノード決定部３４と、データ転送部３５と、サマリデータ登録部３６とを備えている。
【００４４】
メタデータ抽出部３１、容量情報記憶部３２、サマリデータ記憶部３３、ノード決定部３４は、それぞれ、第１の実施の形態で説明したメタデータ抽出部２１、容量情報記憶部２２、サマリデータ記憶部２３、ノード決定部２４と同様なので、ここでの詳細な説明は省略する。
【００４５】
データ転送部３５は、ノード決定部３４から受け取った保存対象データを、ノード決定部３４から受け取ったノードＩＤのストレージノード２０に転送すると共に、ノード決定部３４から受け取ったノードＩＤ及びメタデータをサマリデータ登録部３６に出力する。本実施の形態では、特定のストレージノードの保存部に入力データを転送する転送部の一例として、また、特定のストレージに入力データを転送する転送部の一例として、データ転送部３５を設けている。
【００４６】
サマリデータ登録部３６は、データ転送部３５から受け取ったメタデータを、データ転送部３５から受け取ったノードＩＤに対応付けてサマリデータ記憶部３３に記憶されたサマリデータに含めて登録する。本実施の形態では、第１特徴情報に基づいて複数の第２特徴情報のうち特定のストレージノードの保存部に保存されている保存データの特徴を示す第２特徴情報を更新する更新部の一例として、また、第１特徴情報に基づいて複数の第２特徴情報のうち特定のストレージに保存されている保存データの特徴を示す第２特徴情報を更新する更新部の一例として、サマリデータ登録部３６を設けている。
【００４７】
また、ストレージノード２０の構成についても説明する。
ストレージノード２０は、データ保存部２７を備えている。尚、図では、ストレージノード２０の構成要素の符号にａ、ｂ、ｃを付しているが、以降の説明では、符号にａ、ｂ、ｃを付さないこととする。
【００４８】
データ保存部２７は、クライアント１０から受信した保存対象データを保存するストレージである。ここで、データ保存部２７には、既存の重複排除機能が備わっており、保存されたデータの重複をこの機能によって排除することが可能になっている。本実施の形態では、同一又は類似の特徴を有するデータの重複を排除した状態でデータを保存する機能の一例として、重複排除機能を用いており、データを保存する保存部の一例として、データ保存部２７を設けている。
【００４９】
ここで、サマリデータ記憶部３３の記憶内容についてであるが、これも第１の実施の形態で述べたサマリデータ記憶部２３の記憶内容と同様であるので、ここでの詳細な説明は省略する。
【００５０】
次に、本実施の形態における制御ノード３０の動作について詳細に説明する。尚、一般に、保存対象データには、テキストデータ、イメージデータ等、種々の形式のデータがあるが、ここでは、特定の形式のデータのみがストレージノード２０に保存されるものとして説明する。即ち、この動作例に先立ち、保存対象データの形式がその付随情報に基づいて判定され、保存対象データの形式がその特定の形式でなければ、保存対象データは、ストレージノード２０ａ〜２０ｃ以外の図示しないストレージノードに転送されることを前提とする。
【００５１】
図６は、クライアント１０から保存対象データを受信したときの制御ノード３０の動作例を示したフローチャートである。
動作が開始すると、制御ノード３０では、まず、メタデータ抽出部３１が、クライアント１０から受信した保存対象データからメタデータを抽出する（ステップ３０１）。この抽出されたメタデータは、保存対象データと共にノード決定部３４へ出力される。
【００５２】
すると、ノード決定部３４は、サマリデータ記憶部３３に記憶された全てのノードＩＤを比較対象に設定する（ステップ３０２）。そして、この比較対象に設定されたノードＩＤのうち、メタデータ抽出部３１から受け取ったメタデータとの一致度が最高になるサマリデータが対応付けられたノードＩＤと、このときの一致度（最高一致度）とを求める（ステップ３０３）。ここで、一致度は、サマリデータを構成するメタデータのうち、メタデータ抽出部３１から受け取ったメタデータと同じものを特定し、特定されたメタデータに対応する重要度を足し合わせることによって算出するとよい。
そして、ノード決定部３４は、ここで求めた最大一致度が予め定めた閾値を超えているかどうかを判定する（ステップ３０４）。
その結果、最大一致度が閾値を超えていると判定されれば、ノード決定部３４は、容量情報記憶部３２に記憶された容量情報を参照して、ステップ３０３で求めたノードＩＤに対応する使用容量が予め定めた閾値を超えているかどうかを判定する（ステップ３０５）。使用容量が閾値を超えていると判定されれば、そのノードＩＤを除外したノードＩＤを新たに比較対象に設定し（ステップ３０６）、ステップ３０３〜３０５の処理を繰り返す。
【００５３】
一方、ステップ３０５で使用容量が閾値を超えていないと判定されれば、ノード決定部３４は、このときステップ３０３で求めたノードＩＤのストレージノード２０を、保存対象データを転送すべきストレージノード２０として決定する（ステップ３０７）。
また、ステップ３０４で最大一致度が閾値を超えていないと判定されれば、保存対象データに類似するデータがどのストレージノード２０にも保持されていないことになる。従って、このような場合、ノード決定部３４は、コンシステントハッシング等の既存の割り振り方法を用いて、保存対象データを転送すべきストレージノード２０を決定する（ステップ３０８）。
尚、このように求められたノードＩＤと、保存対象データと、メタデータとは、データ転送部３５に出力される。
【００５４】
すると、データ転送部３５は、ノード決定部３４から受け取ったノードＩＤのストレージノード２０のデータ保存部２７に保存対象データを保存する（ステップ３１０）。そして、メタデータはサマリデータ登録部３６に渡され、サマリデータ登録部３６が、サマリデータ記憶部３３に記憶されたそのノードＩＤに対応するサマリデータを、データ転送部３５から渡されたメタデータで更新する（ステップ３１１）。具体的には、そのノードＩＤに対応するサマリデータの中に、データ転送部３５から渡されたメタデータが含まれていなければ、そのメタデータを追加すると共にそのメタデータに対応する重要度を新たに登録する。また、そのノードＩＤに対応するサマリデータの中に、データ転送部３５から渡されたメタデータが含まれていれば、そのメタデータに対応する重要度に、データ転送部３５から渡されたメタデータの重要度を反映させる。
【００５５】
尚、このように保存対象データを順次ストレージノード２０に保存していくと、サマリデータの内容が追加され、変化していくと考えられる。従って、現在保存されているデータのメタデータとサマリデータとがかけ離れたものとなってしまう可能性もあり、データ保存部２７に保存されているデータとサマリデータとの一致度の再検査を行うことが必要になる。そこで、本実施の形態では、このような再検査を行う機能を設けてもよい。
具体的には、クライアント１０から受信した保存対象データに対してではなく、データ保存部２７に保存されているデータに対して、図６に示したのと同様の処理を行う。但し、ステップ３０４で最高一致度が閾値を超えていないと判定された場合、データを敢えて移動する必要はないので、そのままステップ３１０へ進む。また、ステップ３１０でデータを転送すべきストレージノード２０が自ノードである場合も、データは移動しないので、ステップ３１０及びステップ３１１をスキップして処理を終了する。尚、この機能は、全てバックグラウンドで動作するものとする。そして、この機能は、新たなストレージノード２０が追加された場合にデータを適切なノードへ移動する役割も担っている。
【００５６】
このように、本実施の形態では、保存されているデータのメタデータをストレージノード２０ごとにまとめてストレージノード２０のサマリデータとし、これからデータを保存する際にはそのメタデータと各ストレージノード２０のサマリデータとを比較して一致度の高いストレージノード２０を選んでそこにデータを保存するようにした。このような方法でデータを複数のストレージノード２０に保存すると、各ストレージノード２０内のデータは、共通のメタデータを多く持つデータで占められることとなり、近い内容を多く含むこととなる。ここで、近い内容を多く含むデータ同士は重複する部分が多いことも期待できる。即ち、重複排除の期待値が大きいストレージノード２０を選択してそこにデータを保存することにより、複数のストレージノード２０からなるストレージシステム全体としてのストレージの利用効率化を図ることができる。
【００５７】
尚、本実施の形態では、保存対象データのメタデータと各ストレージノード２０のサマリデータとの一致度を求め、あるストレージノード２０のサマリデータとの一致度が最高であり予め定めた閾値を超える場合に、そのストレージノード２０に保存対象データを保存するようにしたが、この限りではない。例えば、あるストレージノード２０のサマリデータとの一致度が最高であれば、予め定めた閾値を超えるかどうかを判断することなく、そのストレージノード２０に保存対象データを保存するようにしてもよいし、あるストレージノード２０のサマリデータとの一致度が最高でなくても、一致度がある程度高く他の条件を満たせば、そのストレージノード２０に保存対象データを保存するようにしてもよい。
【００５８】
また、本実施の形態では、ストレージノード２０の使用容量が予め定めた閾値を超えていることを、ストレージノード２０に保存対象データを保存するための条件としたが、ストレージノード２０の使用容量に基づく他の条件を、ストレージノード２０に保存対象データを保存するための条件としてもよい。
【００５９】
更に、本実施の形態では、ストレージノード２０のサマリデータが、ストレージノード２０に保存されているデータから抽出されたメタデータと、メタデータの重要度とを含むようにしたが、これには限らない。例えば、メタデータの重要度はサマリデータに含めなくてもよい。この場合、一致度としては、サマリデータを構成するメタデータのうち、保存対象データから抽出されたメタデータと同じものの個数に基づいて算出した数値、例えば個数そのものを用いればよい。或いは、ストレージノード２０に保存されているデータから抽出されたメタデータをサマリデータに含めず、ストレージノード２０に保存されているデータを特徴付ける情報を別途の方法で取得してサマリデータに含めてもよい。
【００６０】
更にまた、本実施の形態では、保存対象データのメタデータと各ストレージノード２０のサマリデータとの一致度を求める際に、サマリデータを構成するメタデータのうち、保存対象データから抽出されたメタデータと同じものを特定するようにしたが、サマリデータを構成するメタデータのうち、保存対象データから抽出されたメタデータと同一又は類似する特徴を有するものを特定するようにしてもよい。
【００６１】
最後に、本実施の形態を適用するのに好適なコンピュータのハードウェア構成について説明する。図７は、このようなコンピュータのハードウェア構成の一例を示した図である。図示するように、コンピュータは、演算手段であるＣＰＵ（Central Processing Unit）９０ａと、Ｍ／Ｂ（マザーボード）チップセット９０ｂを介してＣＰＵ９０ａに接続されたメインメモリ９０ｃと、同じくＭ／Ｂチップセット９０ｂを介してＣＰＵ９０ａに接続された表示機構９０ｄとを備える。また、Ｍ／Ｂチップセット９０ｂには、ブリッジ回路９０ｅを介して、ネットワークインターフェイス９０ｆと、磁気ディスク装置（ＨＤＤ）９０ｇと、音声機構９０ｈと、キーボード／マウス９０ｉと、フレキシブルディスクドライブ９０ｊとが接続されている。
【００６２】
尚、図７において、各構成要素は、バスを介して接続される。例えば、ＣＰＵ９０ａとＭ／Ｂチップセット９０ｂの間や、Ｍ／Ｂチップセット９０ｂとメインメモリ９０ｃの間は、ＣＰＵバスを介して接続される。また、Ｍ／Ｂチップセット９０ｂと表示機構９０ｄとの間は、ＡＧＰ（Accelerated Graphics Port）を介して接続されてもよいが、表示機構９０ｄがＰＣＩ Ｅｘｐｒｅｓｓ対応のビデオカードを含む場合、Ｍ／Ｂチップセット９０ｂとこのビデオカードの間は、ＰＣＩ Ｅｘｐｒｅｓｓ（ＰＣＩｅ）バスを介して接続される。また、ブリッジ回路９０ｅと接続する場合、ネットワークインターフェイス９０ｆについては、例えば、ＰＣＩ Ｅｘｐｒｅｓｓを用いることができる。また、磁気ディスク装置９０ｇについては、例えば、シリアルＡＴＡ（AT Attachment）、パラレル転送のＡＴＡ、ＰＣＩ（Peripheral Components Interconnect）を用いることができる。更に、キーボード／マウス９０ｉ、及び、フレキシブルディスクドライブ９０ｊについては、ＵＳＢ（Universal Serial Bus）を用いることができる。
【００６３】
ここで、本発明は、全てハードウェアで実現してもよいし、全てソフトウェアで実現してもよい。また、ハードウェア及びソフトウェアの両方により実現することも可能である。また、本発明は、コンピュータ、データ処理システム、コンピュータプログラムとして実現することができる。このコンピュータプログラムは、コンピュータにより読取り可能な媒体に記憶され、提供され得る。ここで、媒体としては、電子的、磁気的、光学的、電磁的、赤外線又は半導体システム（装置又は機器）、或いは、伝搬媒体が考えられる。また、コンピュータにより読取り可能な媒体としては、半導体、ソリッドステート記憶装置、磁気テープ、取り外し可能なコンピュータディスケット、ランダムアクセスメモリ（ＲＡＭ）、リードオンリーメモリ（ＲＯＭ）、リジッド磁気ディスク、及び光ディスクが例示される。現時点における光ディスクの例には、コンパクトディスク−リードオンリーメモリ（ＣＤ−ＲＯＭ）、コンパクトディスク−リード／ライト（ＣＤ−Ｒ／Ｗ）及びＤＶＤが含まれる。
【００６４】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態には限定されない。本発明の精神及び範囲から逸脱することなく様々に変更したり代替態様を採用したりすることが可能なことは、当業者に明らかである。
【符号の説明】
【００６５】
１０…クライアント、２０…ストレージノード、２１，３１…メタデータ抽出部、２２，３２…容量情報記憶部、２３，３３…サマリデータ記憶部、２４，３４…ノード決定部、２５，３５…データ転送部、２６，３６…サマリデータ登録部、２７…データ保存部、３０…制御ノード
【図１】
0005681558.tif 000002
【図２】
0005681558.tif 000003
【図３】
0005681558.tif 000004
【図４】
0005681558.tif 000005
【図５】
0005681558.tif 000006
【図６】
0005681558.tif 000007
【図７】
0005681558.tif 000008