(57)【要約】  本発明の情報処理装置は、対象データを取得すると、その対象データと各代表データとの間で評価値を算出する。さらに情報処理装置は、代表データごとに、その代表データと対象データとの間で算出した評価値が、その代表データに対応する閾値と所定の関係を満たすか否かを判定する。対象データと或る代表データとの間で算出された評価値が、その代表データにする閾値と所定の関係を満たすと判定された場合、情報処理装置は、その代表データに対応する記憶領域に対象データを記憶させる。さらに情報処理装置は、各代表データに対応する閾値を更新する。或る代表データに対応する閾値の更新は、その代表データに対応する記憶領域に記憶されているデータの合計サイズ若しくは合計数、又はその代表データに対応する記憶領域の空き容量に基づいて行われる。
2019130926.tif 000002
【特許請求の範囲】
【請求項１】
対象データを取得し、前記取得した対象データについて、複数の代表データそれぞれを基準とする評価値を算出する評価手段と、
代表データに対応づけて閾値及び記憶領域を示す管理情報を取得し、各代表データについて、その代表データを基準とする前記対象データの前記評価値がその代表データに対応する前記閾値と所定の関係を満たすか否かを判定し、その代表データを基準とする前記対象データの前記評価値がその代表データに対応する前記閾値と前記所定の関係を満たす場合に、その代表データに対応する前記記憶領域に前記対象データを記憶させる割当手段と、
前記代表データに対応する記憶領域に記憶されているデータの合計サイズ若しくは合計数、又は前記代表データに対応する記憶領域の空き容量に基づいて、その代表データに対応する前記閾値を更新する更新手段と、を有する情報処理装置。
【請求項２】
前記更新手段は、前記代表データに対応する記憶領域に記憶されているデータの量が多いほど、その代表データに対応する閾値とその代表データを基準とする前記対象データとが前記所定の関係を満たす蓋然性が低くなるように、その対象データに対応する閾値を更新する、請求項１に記載の情報処理装置。
【請求項３】
前記割当手段は、全ての代表データについて、前記評価値がその代表データに対応する閾値との間で前記所定の関係を満たさないと判定された場合に、前記対象データを新たな代表データとする前記管理情報を生成する、請求項１又は２に記載の情報処理装置。
【請求項４】
前記代表データを基準とする前記対象データの前記評価値は、その代表データと対象データの類似度を表し、
前記所定の関係は、前記代表データを基準とする前記対象データの前記評価値が、その代表データに対応する前記閾値以上であることである、請求項１乃至３いずれか一項に記載の情報処理装置。
【請求項５】
前記更新手段は、
前記代表データに対応する記憶領域に記憶されているデータの合計数が多くなるほど、その代表データに対応する閾値を大きくするか、
前記代表データに対応する記憶領域に記憶されているデータの合計サイズが大きくなるほど、その代表データに対応する閾値を大きくするか、又は、
前記代表データに対応する記憶領域の空き容量が少なくなるほど、その代表データに対応する閾値を大きくする、請求項４に記載の情報処理装置。
【請求項６】
前記代表データを基準とする前記対象データの前記評価値は、その代表データと対象データとの間の距離を表し、
前記所定の関係は、前記代表データを基準とする前記対象データの前記評価値が、その代表データに対応する前記閾値以下であることである、請求項１乃至３いずれか一項に記載の情報処理装置。
【請求項７】
前記更新手段は、
前記代表データに対応する記憶領域に記憶されているデータの合計数が多くなるほど、その代表データに対応する閾値を小さくするか、
前記代表データに対応する記憶領域に記憶されているデータの合計サイズが大きくなるほど、その代表データに対応する閾値を小さくするか、又は、
前記代表データに対応する記憶領域の空き容量が少なくなるほど、その代表データに対応する閾値を小さくする、請求項６に記載の情報処理装置。
【請求項８】
各前記記憶領域は、ストレージシステムを構成するストレージサーバであり、
前記評価手段は、他の装置から、前記対象データを前記ストレージシステムに記憶させるリクエストを受信し、前記リクエストに示されている対象データを取得し、
前記割当手段は、前記対象データを記憶させる前記ストレージサーバに対して前記対象データを送信する、請求項１乃至７いずれか一項に記載の情報処理装置。
【請求項９】
コンピュータによって実行させる制御方法であって、
対象データを取得し、前記取得した対象データについて、複数の代表データそれぞれを基準とする評価値を算出する評価ステップと、
代表データに対応づけて閾値及び記憶領域を示す管理情報を取得し、各代表データについて、その代表データを基準とする前記対象データの前記評価値がその代表データに対応する前記閾値と所定の関係を満たすか否かを判定し、その代表データを基準とする前記対象データの前記評価値がその代表データに対応する前記閾値と所定の関係を満たす場合に、その代表データに対応する前記記憶領域に前記対象データを記憶させる割当ステップと、
前記代表データに対応する記憶領域に記憶されているデータの合計サイズ若しくは合計数、又は前記代表データに対応する記憶領域の空き容量に基づいて、その代表データに対応する前記閾値を更新する更新ステップと、を有する制御方法。
【請求項１０】
前記更新ステップにおいて、前記代表データに対応する記憶領域に記憶されているデータの量が多いほど、その代表データに対応する閾値とその代表データを基準とする前記対象データとが前記所定の関係を満たす蓋然性が低くなるように、その対象データに対応する閾値を更新する、請求項９に記載の制御方法。
【請求項１１】
前記割当ステップにおいて、全ての代表データについて、前記評価値がその代表データに対応する閾値との間で前記所定の関係を満たさないと判定された場合に、前記対象データを新たな代表データとする前記管理情報を生成する、請求項９又は１０に記載の制御方法。
【請求項１２】
前記代表データを基準とする前記対象データの前記評価値は、その代表データと対象データの類似度を表し、
前記所定の関係は、前記代表データを基準とする前記対象データの前記評価値が、その代表データに対応する前記閾値以上であることである、請求項９乃至１１いずれか一項に記載の制御方法。
【請求項１３】
前記更新ステップにおいて、
前記代表データに対応する記憶領域に記憶されているデータの合計数が多くなるほど、その代表データに対応する閾値を大きくするか、
前記代表データに対応する記憶領域に記憶されているデータの合計サイズが大きくなるほど、その代表データに対応する閾値を大きくするか、又は、
前記代表データに対応する記憶領域の空き容量が少なくなるほど、その代表データに対応する閾値を大きくする、請求項１２に記載の制御方法。
【請求項１４】
前記代表データを基準とする前記対象データの前記評価値は、その代表データと対象データとの間の距離を表し、
前記所定の関係は、前記代表データを基準とする前記対象データの前記評価値が、その代表データに対応する前記閾値以下であることである、請求項９乃至１１いずれか一項に記載の制御方法。
【請求項１５】
前記更新ステップにおいて、
前記代表データに対応する記憶領域に記憶されているデータの合計数が多くなるほど、その代表データに対応する閾値を小さくするか、
前記代表データに対応する記憶領域に記憶されているデータの合計サイズが大きくなるほど、その代表データに対応する閾値を小さくするか、又は、
前記代表データに対応する記憶領域の空き容量が少なくなるほど、その代表データに対応する閾値を小さくする、請求項１４に記載の制御方法。
【請求項１６】
各前記記憶領域は、ストレージシステムを構成するストレージサーバであり、
前記評価ステップにおいて、他の装置から、前記対象データを前記ストレージシステムに記憶させるリクエストを受信し、前記リクエストに示されている対象データを取得し、
前記割当ステップにおいて、前記対象データを記憶させる前記ストレージサーバに対して前記対象データを送信する、請求項９乃至１５いずれか一項に記載の制御方法。
【請求項１７】
請求項９乃至１６いずれか一項に記載の制御方法の各ステップをコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータの分散記憶に関する。
【背景技術】
【０００２】
複数の計算資源にデータを分散させるシステムが開発されている。例えば特許文献１には、複数の計算資源に対してデータを分散させる際に、各計算資源に割り振るデータをほぼ均等にしつつ、同一の計算資源に配置するデータの類似度が大きくならないようにする技術を開示している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１６−４５８５０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明者は、複数の記憶領域に対してデータを分散して記憶させる新たな技術を見出した。本発明の目的の一つは、複数の記憶領域に対してデータを分散して記憶させる新たな技術を提供することである。
【課題を解決するための手段】
【０００５】
本発明の情報処理装置は、１）対象データを取得し、取得した対象データについて、複数の代表データそれぞれを基準とする評価値を算出する評価手段と、２）代表データに対応づけて閾値及び記憶領域を示す管理情報を取得し、各代表データについて、その代表データを基準とする対象データの評価値がその代表データに対応する閾値と所定の関係を満たすか否かを判定し、その代表データを基準とする対象データの評価値がその代表データに対応する閾値と前記所定の関係を満たす場合に、その代表データに対応する記憶領域に対象データを記憶させる割当手段と、３）代表データに対応する記憶領域に記憶されているデータの合計サイズ若しくは合計数、又は代表データに対応する記憶領域の空き容量に基づいて、その代表データに対応する閾値を更新する更新手段と、を有する。【０００６】
本発明の制御方法は、コンピュータによって実行させる制御方法である。当該制御方法は、１）対象データを取得し、取得した対象データについて、複数の代表データそれぞれを基準とする評価値を算出する評価ステップと、２）代表データに対応づけて閾値及び記憶領域を示す管理情報を取得し、各代表データについて、その代表データを基準とする対象データの評価値がその代表データに対応する閾値と所定の関係を満たすか否かを判定し、その代表データを基準とする対象データの評価値がその代表データに対応する閾値と所定の関係を満たす場合に、その代表データに対応する記憶領域に対象データを記憶させる割当ステップと、３）代表データに対応する記憶領域に記憶されているデータの合計サイズ若しくは合計数、又は代表データに対応する記憶領域の空き容量に基づいて、その代表データに対応する閾値を更新する更新ステップと、を有する。【０００７】
本発明のプログラムは、コンピュータに、本発明の制御方法が有する各ステップを実行させる。
【発明の効果】
【０００８】
本発明によれば、複数の記憶領域に対してデータを分散して記憶させる新たな技術が提供される。
【図面の簡単な説明】
【０００９】
上述した目的、およびその他の目的、特徴および利点は、以下に述べる好適な実施の形態、およびそれに付随する以下の図面によってさらに明らかになる。【００１０】
【図１】実施形態１の情報処理装置の概要を説明するための図である。
【図２】実施形態１の情報処理装置の機能構成を例示する図である。
【図３】情報処理装置を実現するための計算機を例示する図である。
【図４】情報処理装置の利用環境を例示する図である。
【図５】実施形態１の情報処理装置によって実行される処理の流れを例示するフローチャートである。
【図６】実施例１の類似度木を例示する図である。
【図７】実施例１の分散システムを例示する図である。
【発明を実施するための形態】
【００１１】
以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。また、特に説明する場合を除き、各ブロック図において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を表している。
【００１２】
［実施形態１］
＜概要＞
図１は、実施形態１の情報処理装置（図２に示す情報処理装置２０００）の概要を説明するための図である。以下で説明する情報処理装置２０００の動作は、情報処理装置２０００の理解を容易にするための例示であり、情報処理装置２０００の動作は以下の例に限定されるわけではない。情報処理装置２０００の動作の詳細やバリエーションについては後述する。
【００１３】
情報処理装置２０００は、記憶領域に記憶させるデータ（以下、対象データ）を、複数の記憶領域のいずれに記憶させるかを決定する装置である。各記憶領域は、代表データと対応づけられている。また代表データには、後述する判定処理で利用する閾値も対応づけられている。以下、代表データに対して記憶領域と閾値とを対応づけている情報を、管理情報と呼ぶ。
【００１４】
情報処理装置２０００は、対象データを取得すると、その対象データと各代表データとの間で評価値（例えば対象データと代表データとの類似度）を算出する。さらに情報処理装置２０００は、代表データごとに、その代表データと対象データとの間で算出した評価値が、その代表データに対応する閾値と所定の関係を満たすか否かを判定する。評価値として対象データと代表データとの類似度を算出する場合、所定の関係は、例えば、「対象データと代表データとの類似度が、その代表データに対応する閾値以上である」という関係である。
【００１５】
対象データと或る代表データとの間で算出された評価値が、その代表データにする閾値と所定の関係を満たすと判定された場合、情報処理装置２０００は、その代表データに対応する記憶領域に対象データを記憶させる。なお、評価値と閾値が所定の関係を満たすと判定される代表データが複数存在するケースについては後述する。
【００１６】
さらに情報処理装置２０００は、各代表データに対応する閾値を更新する機能を有する。或る代表データに対応する閾値の更新は、その代表データに対応する記憶領域に記憶されているデータの合計サイズ若しくは合計数、又はその代表データに対応する記憶領域の空き容量に基づいて行われる。
【００１７】
＜作用・効果＞
本実施形態の情報処理装置２０００によれば、代表データを基準とする対象データの評価値がその代表データに対応する閾値と所定の関係を満たす場合に、対象データが、その代表データに対応する記憶領域に記憶される。そして、代表データに対応する閾値は、その代表データに対応する記憶領域に記憶されているデータの合計サイズ若しくは合計数、又はその代表データに対応する記憶領域の空き容量に基づいて更新される。
【００１８】
概念的には、情報処理装置２０００は、代表データに対応する記憶領域１０に記憶されているデータの量が多くなるほど、その代表データを基準とした対象データの評価値とその代表データに対応する閾値との間で、前述した所定の関係が満たされる蓋然性が低くなるように、その代表データに対応する閾値を更新する。こうすることで、代表データに対応する記憶領域１０に記憶されているデータの量が多くなるほど、その代表データに対応する記憶領域１０に対象データが記憶される蓋然性を低くすることができる。このように情報処理装置２０００は、閾値を更新することで各記憶領域１０に対象データが記憶される蓋然性を調整することにより、記憶領域１０に記憶されるデータの量が複数の記憶領域１０の間でバランスするようにする。よって、閾値の更新という簡易な方法で各記憶領域に記憶されるデータの量をバランスさせることができるようになる。
【００１９】
この方法によれば、新たな記憶領域１０を容易に追加できるという利点もある。代表データに対応する記憶領域１０に記憶されているデータの量が多いほどその記憶領域１０に対象データが記憶される蓋然性が低いということは、新たに追加されたために記憶されているデータの量が少ない記憶領域１０に対して対象データが記憶される蓋然性が高くなるということである。そのため、情報処理装置２０００によれば、新たに追加した記憶領域１０も含めて、記憶領域１０間のデータ量がバランスしていく。そのため、新たに追加した記憶領域１０へ既存の記憶領域１０からデータを移動することで記憶領域１０間のデータ量をバランスさせるという作業が不要となる。すなわち、新たな記憶領域１０を追加することが容易である。
【００２０】
以下、本実施形態の情報処理装置２０００についてさらに詳細に説明する。
【００２１】
＜情報処理装置２０００の機能構成の例＞
図２は、実施形態１の情報処理装置２０００の機能構成を例示する図である。情報処理装置２０００は、評価部２０２０、割当部２０４０、及び更新部２０６０を有する。評価部２０２０は、対象データを取得する。評価部２０２０は、取得した対象データについて、複数の代表データそれぞれを基準とした評価値を算出する。割当部２０４０は管理情報を取得する。割当部２０４０は、管理情報を利用して、各代表データを基準として算出した対象データの評価値が、その代表データに対応する閾値と所定の関係を満たすか否かを判定する。評価値が或る代表データに対応する閾値と所定の関係を満たす場合、割当部２０４０は、その代表データに対応する記憶領域１０に対象データを格納させる。更新部２０６０は、代表データに対応する記憶領域１０に記憶されているデータの合計サイズ若しくは合計数、又は代表データに対応する記憶領域１０の空き容量に基づいて、その代表データに対応する閾値を更新する。
【００２２】
＜情報処理装置２０００のハードウエア構成＞
情報処理装置２０００の各機能構成部は、各機能構成部を実現するハードウエア（例：ハードワイヤードされた電子回路など）で実現されてもよいし、ハードウエアとソフトウエアとの組み合わせ（例：電子回路とそれを制御するプログラムの組み合わせなど）で実現されてもよい。以下、情報処理装置２０００の各機能構成部がハードウエアとソフトウエアとの組み合わせで実現される場合について、さらに説明する。
【００２３】
図３は、情報処理装置２０００を実現するための計算機１０００を例示する図である。計算機１０００は任意の計算機である。例えば計算機１０００は、Personal Computer（PC）やサーバマシンなどである。計算機１０００は、情報処理装置２０００を実現するために設計された専用の計算機であってもよいし、汎用の計算機であってもよい。
【００２４】
計算機１０００は、バス１０２０、プロセッサ１０４０、メモリ１０６０、ストレージデバイス１０８０、入出力インタフェース１１００、及びネットワークインタフェース１１２０を有する。バス１０２０は、プロセッサ１０４０、メモリ１０６０、ストレージデバイス１０８０、入出力インタフェース１１００、及びネットワークインタフェース１１２０が、相互にデータを送受信するためのデータ伝送路である。ただし、プロセッサ１０４０などを互いに接続する方法は、バス接続に限定されない。プロセッサ１０４０は、CPU（Central Processing Unit）、GPU（Graphics Processing Unit）、又は FPGA（Field-Programmable Gate Array）などの種々のプロセッサである。メモリ１０６０は、RAM（Random Access Memory）などを用いて実現される主記憶装置である。ストレージデバイス１０８０は、ハードディスク、SSD（Solid State Drive）、メモリカード、又は ROM（Read Only Memory）などを用いて実現される補助記憶装置である。
【００２５】
入出力インタフェース１１００は、計算機１０００と入出力デバイスとを接続するためのインタフェースである。例えば入出力インタフェース１１００には、キーボードなどの入力装置や、ディスプレイ装置などの出力装置が接続される。
【００２６】
ネットワークインタフェース１１２０は、計算機１０００をネットワークに接続するためのインタフェースである。この通信網は、例えば LAN（Local Area Network）や WAN（Wide Area Network）である。ネットワークインタフェース１１２０がネットワークに接続する方法は、無線接続であってもよいし、有線接続であってもよい。図４において、記憶領域１０は、ネットワークを介して計算機１０００と接続されている。
【００２７】
ストレージデバイス１０８０は、情報処理装置２０００の各機能構成部を実現するプログラムモジュールを記憶している。プロセッサ１０４０は、これら各プログラムモジュールをメモリ１０６０に読み出して実行することで、各プログラムモジュールに対応する機能を実現する。
【００２８】
＜記憶領域１０について＞
記憶領域１０は、データを記憶させることができる任意の記憶領域である。例えば記憶領域１０は、１つの物理的な記憶装置である。その他にも例えば、記憶領域１０は、１つの仮想的な記憶装置である。ここで、仮想的な記憶装置は、１つの物理的な記憶装置の一部であってもよいし、複数の物理的な記憶装置を組み合わせたものであってもよい。なお、１つの物理的な記憶装置の一部を仮想的に１つの記憶装置として扱う技術や、複数の物理的な記憶装置を組み合わせて仮想的に１つの記憶装置として扱う技術には、既存の技術を利用することができる。
【００２９】
＜情報処理装置２０００の利用例＞
情報処理装置２０００の理解を容易にするため、情報処理装置２０００の利用環境を例示する。図４は、情報処理装置２０００の利用環境を例示する図である。図４では、情報処理装置２０００及び複数の記憶領域１０によって、分散記憶システム３０００が構築されている。情報処理装置２０００は、分散記憶システム３０００のゲートウェイサーバとして機能する。具体的には、情報処理装置２０００は、分散記憶システム３０００を利用するクライアント５０から、記憶領域１０へデータを書き込むリクエスト（以下、書き込みリクエスト）や、記憶領域１０からデータを読み込むリクエスト（以下、読み込みリクエスト）を受信する。
【００３０】
図４では、クライアント５０から書き込みリクエストが送信されている。書き込みリクエストには、前述した対象データが含まれる。情報処理装置２０００は、書き込みリクエストに含まれる対象データについて前述した各処理を行うことにより、その対象データを記憶させる記憶領域１０を決定し、その記憶領域１０に対象データを記憶させる。図４において、情報処理装置２０００は、記憶領域１０−ｎを、対象データを記憶させる記憶領域１０として決定している。そのため、対象データが記憶領域１０−ｎへ送信されている。
【００３１】
＜処理の流れ＞
図５は、実施形態１の情報処理装置２０００によって実行される処理の流れを例示するフローチャートである。評価部２０２０は対象データを取得する（Ｓ１０２）。割当部２０４０は管理情報を取得する（Ｓ１０４）。Ｓ１０６からＳ１１２は、複数の代表データそれぞれについて実行されるループ処理である。Ｓ１０６において、情報処理装置２０００は、既に全ての代表データを対象にループ処理Ａを実行したか否かを判定する。既に全ての代表データを対象にループ処理Ａを実行した場合、図５の処理は終了する。一方、まだループ処理Ａの対象としていない代表データがある場合、情報処理装置２０００は、そのうちの１つを対象にループ処理Ａを実行する。ここでループ処理Ａの対象とする代表データを、代表データｉと表記する。
【００３２】
評価部２０２０は、代表データｉを基準として対象データの評価値を算出する（Ｓ１０８）。割当部２０４０は、代表データｉを基準として算出された評価値が、代表データｉに対応する閾値と所定の関係を満たすか否かを判定する（Ｓ１１０）。代表データｉを基準として算出された評価値が代表データｉに対応する閾値と所定の関係を満たさない場合（Ｓ１１０：ＮＯ）、図５の処理はＳ１０６に進む（Ｓ１１２）。
【００３３】
代表データｉを基準として算出された評価値が代表データｉに対応する閾値と所定の関係を満たす場合（Ｓ１１０：ＹＥＳ）、割当部２０４０は、代表データｉに対応する記憶領域１０に対象データを格納させる（Ｓ１１４）。更新部２０６０は、代表データｉに対応する記憶領域１０に記憶されているデータの合計サイズ若しくは合計数、又は代表データｉに対応する記憶領域１０の空き容量に基づいて、代表データｉに対応する閾値を更新する（Ｓ１１６）。
【００３４】
なお、図５は、情報処理装置２０００によって実行される処理の流れの一例であり、情報処理装置２０００によって実行される処理の流れは図５の例に限定されない。例えば図５では、或る１つの代表データを基準として算出された評価値が閾値と所定の関係を満たしたら、その代表データに対応する記憶領域１０に対象データが記憶される。しかし情報処理装置２０００は、全ての代表データそれぞれを基準として算出された評価値が閾値と所定の関係を満たすか否かを判定した後に、評価値が閾値と所定の関係を満たすと判定された代表データの中から１つを選択し、選択した代表データに対応する記憶領域１０に対象データを記憶させてもよい。
【００３５】
＜対象データの取得：Ｓ１０２＞
評価部２０２０は対象データを取得する（Ｓ１０２）。ここで、情報処理装置２０００が記憶領域１０に記憶させる対象データを取得する方法は様々である。例えば情報処理装置２０００は、他のコンピュータから送信される対象データを取得する。他のコンピュータから送信される対象データは、例えば前述した書き込みリクエストに含まれる対象データである。その他にも例えば、情報処理装置２０００は、情報処理装置２０００に接続されている入力デバイスを用いて入力されたデータを、対象データとして取得する。
【００３６】
＜管理情報の取得：Ｓ１０４＞
割当部２０４０は管理情報を取得する（Ｓ１０４）。管理情報は、割当部２０４０からアクセス可能な記憶装置（例えばストレージデバイス１０８０）に予め記憶させておく。割当部２０４０は、この記憶装置にアクセスすることで管理情報を取得する。
【００３７】
＜評価値の算出：Ｓ１０８＞
評価部２０２０は、代表データを基準とした対象データの評価値を算出する（Ｓ１０８）。評価値の算出方法は様々である。例えば評価部２０２０は、代表データと対象データとの類似度を算出し、算出した類似度を、代表データを基準とする対象データの評価値とする。ここで、データ間の類似度を算出する手法には、種々の既存の手法を利用することができる。例えば代表データと対象データがいずれも、画像データであるとする。この場合、例えば評価部２０２０は、代表データから抽出される特徴量と、対象データから抽出される特徴量との類似度を、代表データと対象データとの類似度として算出する。なお、代表データから抽出される特徴量は予め管理情報に含めておくことが好適である。
【００３８】
その他にも例えば、評価部２０２０は、代表データと対象データとの距離を算出し、この距離を、代表データを基準とする対象データの評価値としてもよい。例えば代表データと対象データがいずれも多次元データであるとする。この場合、評価部２０２０は、代表データと対象データとについて多次元空間上の距離を算出し、この距離を評価値とする。なお、データ間の距離を算出する技術には既存の技術を利用することができる。
【００３９】
＜対象データの格納：Ｓ１１４＞
割当部２０４０は、評価値が閾値と所定の関係を満たすと判定された代表データに対応する記憶領域１０に、対象データを記憶させる（Ｓ１１４）。なお、所望の記憶領域にデータを記憶させる技術には、既存の技術を利用することができる。
【００４０】
ここで、上記所定の関係は、評価値の定め方に依存する。例えば、代表データと対象データとの類似度を、その代表データを基準とする対象データの評価値とする。この場合、例えば「代表データを基準とする対象データの評価値が、その代表データに対応する閾値以上である」という関係を、所定の関係として用いる。すなわち、割当部２０４０は、図４のＳ１１４において、代表データｉと対象データとの類似度が、対象データｉに対応する閾値以上であるか否かを判定する。そして、代表データｉと対象データとの類似度が、対象データｉに対応する閾値以上である場合に、代表データｉについて、評価値が閾値と所定の関係を満たすと判定される。
【００４１】
その他にも例えば、代表データと対象データとの距離を、その代表データを基準とする対象データの評価値とする。この場合、例えば「代表データを基準とする対象データの評価値が、その代表データに対応する閾値以下である」という関係を、所定の関係として用いる。すなわち、割当部２０４０は、図４のＳ１１４において、代表データｉと対象データの距離が、対象データｉに対応する閾値以下であるか否かを判定する。そして、代表データｉと対象データの距離が、対象データｉに対応する閾値以下である場合に、代表データｉについて、評価値が閾値と所定の関係を満たすと判定される。
【００４２】
ここで、評価値が閾値と所定の関係を満たす代表データが、複数存在する可能性がある。この場合、割当部２０４０は、評価値が閾値と所定の関係を満たす代表データのうち、いずれか１つの代表データに対応する記憶領域１０に対して対象データを記憶させる。例えば割当部２０４０は、各代表データについて、逐次的に、評価値が閾値と所定の関係を満たすか否かを判定していく（図５参照）。割当部２０４０は、或る代表データについて評価値が閾値と所定の関係を満たすと判定されたら、その代表データに対応する記憶領域１０に対象データを記憶させる。複数の代表データについての処理が逐次的に行われるため、最初に評価値が閾値と所定の関係を満たすと判定された代表データに対応する記憶領域１０に、対象データが記憶される。
【００４３】
ここで、代表データの処理順を決める方法は様々である。例えば割当部２０４０は、管理情報に示されている順に代表データを処理する。その他にも例えば、割当部２０４０は、対応する記憶領域１０に記憶されているデータの合計数が少ない順に代表データを処理する。その他にも例えば、割当部２０４０は、対応する記憶領域１０に記憶されているデータの合計サイズが小さい順に、代表データを処理する。その他にも例えば、割当部２０４０は、代表データに対応する記憶領域１０の空き容量が大きい順に、代表データを処理する。
【００４４】
評価値が閾値と所定の関係を満たす代表データのいずれか１つに対応する記憶領域１０に対して対象データを記憶させる方法は上述の方法には限定されない。例えば割当部２０４０は、評価値が閾値と所定の関係を満たす代表データ間で評価値の比較を行うことで、対象データを記憶させる記憶領域１０を決定する。例えば評価値が、対象データと代表データの類似度として定められるとする。この場合、例えば割当部２０４０は、対象データとの類似度が閾値以上である代表データのうち、対象データとの類似度が最大である代表データに対応する記憶領域１０に、対象データを記憶させる。また、評価値が、対象データと代表データの距離として定められるとする。この場合、例えば割当部２０４０は、対象データとの距離が閾値以下である代表データのうち、対象データとの距離が最小である代表データに対応する記憶領域１０に、対象データを記憶させる。
【００４５】
その他にも例えば、割当部２０４０は、評価値が閾値と所定の関係を満たす各代表データについて、評価値と閾値との乖離度（例えば、評価値と閾値の差分の絶対値を、閾値で除算した値）を算出し、その乖離度が最も大きい代表データに対応する記憶領域１０に、対象データを記憶させる。その他にも例えば、割当部２０４０は、評価値が閾値と所定の関係を満たす各代表データに対応する記憶領域１０のうち、記憶されているデータの合計数が最小の記憶領域１０に対象データを記憶させる。その他にも例えば、割当部２０４０は、評価値が閾値と所定の関係を満たす各代表データに対応する記憶領域１０のうち、記憶されているデータの合計サイズが最小の記憶領域１０に対象データを記憶させる。その他にも例えば、割当部２０４０は、評価値が閾値と所定の関係を満たす各代表データに対応する記憶領域１０のうち、空き容量が最大の記憶領域１０に対象データを記憶させる。
【００４６】
＜評価値が閾値以上となる代表データが存在しない場合について＞
評価値が閾値と所定の関係を満たす代表データが存在しないこともある。すなわち、全ての代表データについて、代表データを基準とする対象データの評価値が、その代表データに対応する閾値と所定の関係を満たさないケースである。
【００４７】
この場合、例えば割当部２０４０は、対象データを新たな代表データとして扱う。すなわち割当部２０４０は、対象データを、新たな代表データとして管理情報に追加する。この際、割当部２０４０は、新たな代表データとする対象データに対し、記憶領域１０と閾値を対応づける。
【００４８】
新たな代表データに対応づける記憶領域１０を決定する方法は様々である。例えば割当部２０４０は、いずれの代表データにも対応づけられていない記憶領域１０を、新たな代表データに対応づける。その他にも例えば、割当部２０４０は、既に他の代表データに対応する記憶領域１０のうち、記憶されているデータの合計数が最も少ない記憶領域１０、記憶されているデータの合計サイズが最も小さい記憶領域１０、又は空き容量が最も多い記憶領域１０を、新たな代表データに対応づける。
【００４９】
新たな代表データに対応づける閾値を決定する方法は様々である。例えば、予めデフォルトの閾値を定めておき、新たな代表データにはこのデフォルトの閾値を対応づける。その他にも例えば、割当部２０４０は、新たな代表データに対応づける記憶領域１０に記憶されているデータの合計数若しくは合計サイズ、又はその記憶領域１０の空き容量に基づいて、新たな代表データに対応づける閾値を算出してもよい。ここで、代表データに対応する記憶領域１０に記憶されているデータの合計数若しくは合計サイズ、又はその記憶領域１０の空き容量に基づいて、その代表データに対応づける閾値を算出する具体的な方法には、それらに基づいて閾値を更新する後述の方法と同様の方法を採用できる。
【００５０】
なお、評価値が閾値と所定の関係を満たす代表データが存在しない場合において、必ずしも代表データを新たな代表データとする必要はない。例えば割当部２０４０は、評価値が閾値と所定の関係を満たす代表データが存在しない場合、対象データを破棄してもよい。この場合、対象データは、いずれの記憶領域１０にも記憶されず、管理情報にも追加されない。
【００５１】
対象データを破棄する場合、その旨の通知が行われることが好適である。例えば図５に示すように情報処理装置２０００がゲートウェイサーバとして機能する場合において対象データが破棄された場合、情報処理装置２０００は、書き込みリクエストに対するレスポンスとして、対象データが破棄されたことを示す通知を送信する。
【００５２】
＜閾値の更新：Ｓ１１６＞
割当部２０４０は、代表データに対応する記憶領域１０に記憶されているデータの合計サイズ若しくは合計数、又はその記憶領域１０の空き容量に基づいて、その代表データに対応する閾値を更新する（Ｓ１１６）。以下、記憶領域１０に記憶されているデータの合計サイズ、記憶領域１０に記憶されているデータの合計数、及び記憶領域１０の空き容量を総称して、記憶領域１０の更新指標値と呼ぶ。
【００５３】
前述したように、概念的には、割当部２０４０は、代表データに対応する記憶領域１０に記憶されているデータの量が多くなるほど、その代表データを基準とした対象データの評価値とその代表データに対応する閾値との間で、前述した所定の関係が満たされる蓋然性が低くなるように、その代表データに対応する閾値を更新する。例えば、代表データを基準とする対象データの評価値を、その代表データと対象データの類似度として定めるとする。この場合、更新部２０６０は、代表データに対応する記憶領域１０に記憶されているデータの量が多くなるほど、その代表データに対応する閾値を大きくする。こうすることで、「評価値が閾値以上である」という所定の関係が満たされる蓋然性が低くなる。その他にも例えば、代表データを基準とする対象データの評価値を、その代表データと対象データの距離として定めるとする。この場合、更新部２０６０は、代表データに対応する記憶領域１０に記憶されているデータの量が多くなるほど、その代表データに対応する閾値を小さくする。こうすることで、「評価値が閾値以下である」という所定の関係が満たされる蓋然性が低くなる。
【００５４】
代表データに対応する閾値を更新する具体的な方法は様々である。例えば、代表データに対応する記憶領域１０の更新指標値から、その代表データに対応する閾値を算出する関数を予め定めておく。代表データを基準とする対象データの評価値をその代表データと対象データの類似度として定める場合、この関数は、代表データに対応する記憶領域１０に記憶されているデータの合計サイズ若しくは合計数が増加するほど単調非減少する関数、又は代表データに対応する記憶領域１０の空き容量が減少するほど単調非減少する関数として定義する。代表データを基準とする対象データの評価値をその代表データと対象データの距離として定める場合、この関数は、代表データに対応する記憶領域１０に記憶されているデータの合計サイズ若しくは合計数が増加するほど単調非増加する関数、又は代表データに対応する記憶領域１０の空き容量が減少するほど単調非増加する関数として定義する。割当部２０４０は、閾値を更新する代表データの記憶領域１０の更新指標値をこの関数に適用することで、その代表データの新たな閾値を算出し、算出した閾値で管理情報を更新する。
【００５５】
その他にも例えば、記憶領域１０の更新指標値の複数の範囲それぞれに対応づけて閾値を示すテーブルを予め定義しておいてもよい。割当部２０４０は、閾値を更新する代表データに対応する記憶領域１０の更新指標値が、このテーブルに示されている複数の範囲のいずれに含まれるのかを特定する。そして割当部２０４０は、特定した範囲に対応する閾値を、その代表データに対応する新たな閾値とする。
【００５６】
割当部２０４０が代表データに対応する閾値を更新するタイミングは様々である。例えば割当部２０４０は、或る代表データに対応する記憶領域１０に対象データを記憶させた場合に、その代表データに対応する閾値を更新する。ただし、前述した各方法で得られた閾値が現在の閾値と同じである場合、更新部２０６０は、閾値を更新しなくてもよい。
【００５７】
閾値の更新は、必ずしも対象データが記憶される度に行われる必要はない。例えば更新部２０６０は、代表データに対応する記憶領域１０に対して所定の回数対象データを記憶させる度に、その代表データに対応する閾値の更新を行う。
【００５８】
［実施例］
情報処理装置２０００のより具体的な実現方法を、実施例として説明する。実施例１では、情報処理装置２０００が類似度木を分散管理する。類似度木の詳細は国際公開第２０１４／１０９１２７号に開示されている。
【００５９】
図６は、実施例１の類似度木２０を例示する図である。類似度木２０は、複数のノードを有する木構造のデータ構造である。本実施例において、各ノードは顔画像を含む。また、最下層以外のノードは直下のノードへのポインタをさらに含む。ルートノードが示す顔画像は、前述した代表データに相当する。以下、ルートノードが示す顔画像を、代表顔画像とも呼ぶ。
【００６０】
類似度木２０は、３階層となっている。ルートノードが位置する層を第１層、第１層の下の層を第２層、第２層の下の層を第３層とそれぞれ表記する。第１層に位置する各ノード（ルートノード）は、互いにあまり似ていない顔画像を示す。第２層において、同一のルートノードの直下に位置する各ノードは、互いにある程度似ている（類似度合いが中程度）の顔画像を示す。第３層において、同一の第２層のノードの直下に位置する各ノードは、互いによく似ている（類似度合いが大きい）顔画像を示す。例えば、第３層において、同一の第２層のノードの直下に位置する各ノードは、同一人物の顔を表す顔画像を示す。
【００６１】
図７は、実施例１の分散記憶システム３０００を例示する図である。分散記憶システム３０００は、ゲートウェイサーバ３０と複数のストレージサーバ４０を有する。ゲートウェイサーバ３０は情報処理装置２０００として機能し、ストレージサーバ４０は記憶領域１０として機能する。
【００６２】
類似度木２０において、ルートノードが示す顔画像は代表データに相当する。以下、ルートノードが示す顔画像を、代表顔画像とも表記する。ゲートウェイサーバ３０が利用する管理情報は、代表顔画像に対応づけて、閾値及びストレージサーバ４０の識別子を示す。
【００６３】
ゲートウェイサーバ３０は、或るルートノードの下位にある全てのノードを、そのルートノードが示す代表顔画像に対応するストレージサーバ４０に記憶させる。すなわち、ルートノードの下位にぶら下がる木構造を構成する全てのデータはいずれも、同一のストレージサーバ４０に記憶される。なお、複数のルートノードにぶら下がる木構造、すなわち複数の木構造を１つのストレージサーバ４０に記憶させてもよい。
【００６４】
ゲートウェイサーバ３０は、類似度木に新たに加える対象データを示す書き込みリクエストを受信する。以下、対象データとして取得した顔画像を対象顔画像とも表記する。ゲートウェイサーバ３０は、代表顔画像を基準とする対象顔画像の評価値として、その代表顔画像と対象顔画像との類似度を算出する。ゲートウェイサーバ３０は、対象顔画像と代表顔画像との類似度が、その代表顔画像に対応する閾値以上である場合に、その代表顔画像を示すルートノードよりも下の層に、その対象顔画像を示すノードを追加する。すなわちこのノードは、その代表顔画像に対応するストレージサーバ４０に記憶される。
【００６５】
ゲートウェイサーバ３０は、代表顔画像に対応する閾値を、その代表顔画像を示すルートノードの下位に存在するノードの合計数若しくは合計データサイズ、又はその代表顔画像に対応するストレージサーバ４０の空き容量に基づいて、その代表顔画像に対応する閾値を更新する。例えばルートノードの下位に存在するノードの合計数を利用する場合、ルートノードの下位に存在するノードの合計数が多くなるほど、そのルートノードが示す代表顔画像に対応する閾値が大きい値に更新される。
【００６６】
対象顔画像と代表顔画像の類似度が閾値以上となる代表顔画像が存在しない場合、ゲートウェイサーバ３０は、対象顔画像を新たな代表顔画像として扱う。そのため、ゲートウェイサーバ３０は、その新たな代表顔画像を示すルートノードを新たに生成する。またゲートウェイサーバ３０は、新たな代表顔画像に対して閾値とストレージサーバ４０を対応づけた管理情報を生成する。
【００６７】
ここで、ストレージサーバ４０が足りなくなった場合、分散記憶システム３０００に対して新たにストレージサーバ４０が追加される。この際、既存のノードの移動は不要である。なぜなら、追加したストレージサーバ４０は、今後新たなルートノードが生成された場合に、そのルートノードの下位ノードを記憶するための記憶領域として利用すればよいためである。
【００６８】
ゲートウェイサーバ３０は、類似度木から顔画像を読み込むための読み込みリクエストも処理する。例えばゲートウェイサーバ３０は、読み込みリクエストに示されている顔画像と類似する１つ以上の顔画像を類似度木から読み出し、読み出した１つ以上の顔画像を含めたレスポンスを送信する。そのためにゲートウェイサーバ３０は、読み込みリクエストに示される顔画像をストレージサーバ４０に送信する。この顔画像を受信したストレージサーバ４０は、その顔画像との類似度が高い（例えば類似度が所定値以上である）顔画像を読み出してゲートウェイサーバ３０に送信する。こうすることで、読み込みリクエストに示される顔画像との類似度が高い顔画像が、各ストレージサーバ４０から収集される。
【００６９】
ただしゲートウェイサーバ３０は、読み込みリクエストに示される顔画像を全てのストレージサーバ４０に送信するのではなく、その顔画像と類似する顔画像を記憶している蓋然性が高いストレージサーバ４０のみに送信することが好ましい。具体的にはゲートウェイサーバ３０は、読み込みリクエストが示す顔画像と各代表顔画像との類似度を算出し、その類似度が所定の閾値以上である代表顔画像に対応するストレージサーバ４０へ、読み込みリクエストが示す顔画像を送信する。ここで利用される所定の閾値は、これまでに代表顔画像に対応づけられたいずれの閾値よりも小さい値とする。さもないと、ストレージサーバ４０から読み出せない顔画像が存在するようになってしまうためである。
【００７０】
上述した実施例によれば、類似度木を構成するノードを複数のストレージサーバ４０に分散して記憶させる際に、代表顔画像に対応する閾値を更新するという簡易な方法により、各ストレージサーバ４０に記憶されるノードの量をストレージサーバ４０間でバランスさせることができる。
【００７１】
以上、図面を参照して本発明の実施形態について述べたが、これらは本発明の例示であり、上記以外の様々な構成を採用することもできる。
【００７２】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
１．  対象データを取得し、前記取得した対象データについて、複数の代表データそれぞれを基準とする評価値を算出する評価手段と、
代表データに対応づけて閾値及び記憶領域を示す管理情報を取得し、各代表データについて、その代表データを基準とする前記対象データの前記評価値がその代表データに対応する前記閾値と所定の関係を満たすか否かを判定し、その代表データを基準とする前記対象データの前記評価値がその代表データに対応する前記閾値と前記所定の関係を満たす場合に、その代表データに対応する前記記憶領域に前記対象データを記憶させる割当手段と、
前記代表データに対応する記憶領域に記憶されているデータの合計サイズ若しくは合計数、又は前記代表データに対応する記憶領域の空き容量に基づいて、その代表データに対応する前記閾値を更新する更新手段と、を有する情報処理装置。
２．  前記更新手段は、前記代表データに対応する記憶領域に記憶されているデータの量が多いほど、その代表データに対応する閾値とその代表データを基準とする前記対象データとが前記所定の関係を満たす蓋然性が低くなるように、その対象データに対応する閾値を更新する、１．に記載の情報処理装置。
３．  前記割当手段は、全ての代表データについて、前記評価値がその代表データに対応する閾値との間で前記所定の関係を満たさないと判定された場合に、前記対象データを新たな代表データとする前記管理情報を生成する、１．又は２．に記載の情報処理装置。
４．  前記代表データを基準とする前記対象データの前記評価値は、その代表データと対象データの類似度を表し、
前記所定の関係は、前記代表データを基準とする前記対象データの前記評価値が、その代表データに対応する前記閾値以上であることである、１．乃至３．いずれか一つに記載の情報処理装置。
５．  前記更新手段は、
前記代表データに対応する記憶領域に記憶されているデータの合計数が多くなるほど、その代表データに対応する閾値を大きくするか、
前記代表データに対応する記憶領域に記憶されているデータの合計サイズが大きくなるほど、その代表データに対応する閾値を大きくするか、又は、
前記代表データに対応する記憶領域の空き容量が少なくなるほど、その代表データに対応する閾値を大きくする、４．に記載の情報処理装置。
６．  前記代表データを基準とする前記対象データの前記評価値は、その代表データと対象データとの間の距離を表し、
前記所定の関係は、前記代表データを基準とする前記対象データの前記評価値が、その代表データに対応する前記閾値以下であることである、１．乃至３．いずれか一つに記載の情報処理装置。
７．  前記更新手段は、
前記代表データに対応する記憶領域に記憶されているデータの合計数が多くなるほど、その代表データに対応する閾値を小さくするか、
前記代表データに対応する記憶領域に記憶されているデータの合計サイズが大きくなるほど、その代表データに対応する閾値を小さくするか、又は、
前記代表データに対応する記憶領域の空き容量が少なくなるほど、その代表データに対応する閾値を小さくする、６．に記載の情報処理装置。
８．  各前記記憶領域は、ストレージシステムを構成するストレージサーバであり、
前記評価手段は、他の装置から、前記対象データを前記ストレージシステムに記憶させるリクエストを受信し、前記リクエストに示されている対象データを取得し、
前記割当手段は、前記対象データを記憶させる前記ストレージサーバに対して前記対象データを送信する、１．乃至７．いずれか一つに記載の情報処理装置。
【００７３】
９．  コンピュータによって実行させる制御方法であって、
対象データを取得し、前記取得した対象データについて、複数の代表データそれぞれを基準とする評価値を算出する評価ステップと、
代表データに対応づけて閾値及び記憶領域を示す管理情報を取得し、各代表データについて、その代表データを基準とする前記対象データの前記評価値がその代表データに対応する前記閾値と所定の関係を満たすか否かを判定し、その代表データを基準とする前記対象データの前記評価値がその代表データに対応する前記閾値と所定の関係を満たす場合に、その代表データに対応する前記記憶領域に前記対象データを記憶させる割当ステップと、
前記代表データに対応する記憶領域に記憶されているデータの合計サイズ若しくは合計数、又は前記代表データに対応する記憶領域の空き容量に基づいて、その代表データに対応する前記閾値を更新する更新ステップと、を有する制御方法。
１０．  前記更新ステップにおいて、前記代表データに対応する記憶領域に記憶されているデータの量が多いほど、その代表データに対応する閾値とその代表データを基準とする前記対象データとが前記所定の関係を満たす蓋然性が低くなるように、その対象データに対応する閾値を更新する、９．に記載の制御方法。
１１．  前記割当ステップにおいて、全ての代表データについて、前記評価値がその代表データに対応する閾値との間で前記所定の関係を満たさないと判定された場合に、前記対象データを新たな代表データとする前記管理情報を生成する、９．又は１０．に記載の制御方法。
１２．  前記代表データを基準とする前記対象データの前記評価値は、その代表データと対象データの類似度を表し、
前記所定の関係は、前記代表データを基準とする前記対象データの前記評価値が、その代表データに対応する前記閾値以上であることである、９．乃至１１．いずれか一つに記載の制御方法。
１３．  前記更新ステップにおいて、
前記代表データに対応する記憶領域に記憶されているデータの合計数が多くなるほど、その代表データに対応する閾値を大きくするか、
前記代表データに対応する記憶領域に記憶されているデータの合計サイズが大きくなるほど、その代表データに対応する閾値を大きくするか、又は、
前記代表データに対応する記憶領域の空き容量が少なくなるほど、その代表データに対応する閾値を大きくする、１２．に記載の制御方法。
１４．  前記代表データを基準とする前記対象データの前記評価値は、その代表データと対象データとの間の距離を表し、
前記所定の関係は、前記代表データを基準とする前記対象データの前記評価値が、その代表データに対応する前記閾値以下であることである、９．乃至１１．いずれか一つに記載の制御方法。
１５．  前記更新ステップにおいて、
前記代表データに対応する記憶領域に記憶されているデータの合計数が多くなるほど、その代表データに対応する閾値を小さくするか、
前記代表データに対応する記憶領域に記憶されているデータの合計サイズが大きくなるほど、その代表データに対応する閾値を小さくするか、又は、
前記代表データに対応する記憶領域の空き容量が少なくなるほど、その代表データに対応する閾値を小さくする、１４．に記載の制御方法。
１６．  各前記記憶領域は、ストレージシステムを構成するストレージサーバであり、
前記評価ステップにおいて、他の装置から、前記対象データを前記ストレージシステムに記憶させるリクエストを受信し、前記リクエストに示されている対象データを取得し、
前記割当ステップにおいて、前記対象データを記憶させる前記ストレージサーバに対して前記対象データを送信する、９．乃至１５．いずれか一つに記載の制御方法。
【００７４】
１７．  ９．乃至１６．いずれか一つに記載の制御方法の各ステップをコンピュータに実行させるプログラム。
【００７５】
この出願は、２０１７年１２月２５日に出願された日本出願特願２０１７−２４７５４５号を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【図１】
2019130926.tif 000003
【図２】
2019130926.tif 000004
【図３】
2019130926.tif 000005
【図４】
2019130926.tif 000006
【図５】
2019130926.tif 000007
【図６】
2019130926.tif 000008
【図７】
2019130926.tif 000009
【手続補正書】
【提出日】令和2年6月9日(2020.6.9)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
対象データを取得し、前記取得した対象データについて、複数の代表データそれぞれを基準とする評価値を算出する評価手段と、
代表データに対応づけて閾値及び記憶領域を示す管理情報を取得し、各代表データについて、その代表データを基準とする前記対象データの前記評価値がその代表データに対応する前記閾値と所定の関係を満たすか否かを判定し、その代表データを基準とする前記対象データの前記評価値がその代表データに対応する前記閾値と前記所定の関係を満たす場合に、その代表データに対応する前記記憶領域に前記対象データを記憶させる割当手段と、
前記代表データに対応する記憶領域に記憶されているデータの合計サイズ若しくは合計数、又は前記代表データに対応する記憶領域の空き容量に基づいて、その代表データに対応する前記閾値を更新する更新手段と、を有する情報処理装置。
【請求項２】
前記更新手段は、前記代表データに対応する記憶領域に記憶されているデータの量が多いほど、その代表データに対応する閾値とその代表データを基準とする前記対象データとが前記所定の関係を満たす蓋然性が低くなるように、その対象データに対応する閾値を更新する、請求項１に記載の情報処理装置。
【請求項３】
前記割当手段は、全ての代表データについて、前記評価値がその代表データに対応する閾値との間で前記所定の関係を満たさないと判定された場合に、前記対象データを新たな代表データとする前記管理情報を生成する、請求項１又は２に記載の情報処理装置。
【請求項４】
前記代表データを基準とする前記対象データの前記評価値は、その代表データと対象データの類似度を表し、
前記所定の関係は、前記代表データを基準とする前記対象データの前記評価値が、その代表データに対応する前記閾値以上であることである、請求項１乃至３いずれか一項に記載の情報処理装置。
【請求項５】
前記更新手段は、
前記代表データに対応する記憶領域に記憶されているデータの合計数が多くなるほど、その代表データに対応する閾値を大きくするか、
前記代表データに対応する記憶領域に記憶されているデータの合計サイズが大きくなるほど、その代表データに対応する閾値を大きくするか、又は、
前記代表データに対応する記憶領域の空き容量が少なくなるほど、その代表データに対応する閾値を大きくする、請求項４に記載の情報処理装置。
【請求項６】
前記代表データを基準とする前記対象データの前記評価値は、その代表データと対象データとの間の距離を表し、
前記所定の関係は、前記代表データを基準とする前記対象データの前記評価値が、その代表データに対応する前記閾値以下であることである、請求項１乃至３いずれか一項に記載の情報処理装置。
【請求項７】
前記更新手段は、
前記代表データに対応する記憶領域に記憶されているデータの合計数が多くなるほど、その代表データに対応する閾値を小さくするか、
前記代表データに対応する記憶領域に記憶されているデータの合計サイズが大きくなるほど、その代表データに対応する閾値を小さくするか、又は、
前記代表データに対応する記憶領域の空き容量が少なくなるほど、その代表データに対応する閾値を小さくする、請求項６に記載の情報処理装置。
【請求項８】
各前記記憶領域は、ストレージシステムを構成するストレージサーバであり、
前記評価手段は、他の装置から、前記対象データを前記ストレージシステムに記憶させるリクエストを受信し、前記リクエストに示されている対象データを取得し、
前記割当手段は、前記対象データを記憶させる前記ストレージサーバに対して前記対象データを送信する、請求項１乃至７いずれか一項に記載の情報処理装置。
【請求項９】
コンピュータによって実行させる制御方法であって、
対象データを取得し、前記取得した対象データについて、複数の代表データそれぞれを基準とする評価値を算出する評価ステップと、
代表データに対応づけて閾値及び記憶領域を示す管理情報を取得し、各代表データについて、その代表データを基準とする前記対象データの前記評価値がその代表データに対応する前記閾値と所定の関係を満たすか否かを判定し、その代表データを基準とする前記対象データの前記評価値がその代表データに対応する前記閾値と所定の関係を満たす場合に、その代表データに対応する前記記憶領域に前記対象データを記憶させる割当ステップと、
前記代表データに対応する記憶領域に記憶されているデータの合計サイズ若しくは合計数、又は前記代表データに対応する記憶領域の空き容量に基づいて、その代表データに対応する前記閾値を更新する更新ステップと、を有する制御方法。
【請求項１０】
請求項９に記載の制御方法の各ステップをコンピュータに実行させるプログラム。
【国際調査報告】
2019130926.tif 000010
2019130926.tif 000011
2019130926.tif 000012
2019130926.tif 000013