(57)【要約】【課題】分散ストレージ環境のための認知ファイルおよびオブジェクト管理のための方法、コンピュータ・プログラム製品およびシステムを提供する。【解決手段】方法が、複数のファイルに対するクエリを受け取る前に、複数のファイルの独立した各部分を複数のグループに入れるために分散ファイル・システムの中央クラスタに記憶されている上記複数のファイルをフィルタを使用してフィルタリングすることを含む。複数のグループの各グループ内のファイルは共通の検索可能な特性を共有している。この方法は、中央クラスタにおいてクエリの標識を受け取ることも含む。また、この方法は、クエリの標識を提供した、中央クラスタとは地理的に異なる分散ファイル・システムのローカル・クラスタに、複数のグループのうちのクエリに対応する１つまたは複数のグループのファイルを複製することによってクエリに応答することを含む。【選択図】図９
2020528614.tif 000002
【特許請求の範囲】
【請求項１】
複数のファイルに対するクエリを受け取る前に、前記複数のファイルの独立した各部分を複数のグループに入れるために分散ファイル・システムの中央クラスタに記憶されている前記複数のファイルをフィルタを使用してフィルタリングすることであって、前記複数のグループの各グループ内のファイルが共通の検索可能な特性を共有している、前記フィルタリングすることと、
前記中央クラスタにおいて前記クエリの標識を受け取ることと、
前記クエリの前記標識を提供した、前記中央クラスタとは地理的に異なる、前記分散ファイル・システムのローカル・クラスタに前記複数のグループのうちの前記クエリに対応する１つまたは複数のグループのファイルを複製することによって、前記クエリに応答することと
を含む方法。
【請求項２】
１つまたは複数の供給源からテキストと非構造化データとを含む前記複数のファイルを前記中央クラスタにおいて受け取ることと、
前記複数のファイルを前記中央クラスタに記憶することと、
前記中央クラスタにおいて前記非構造化データをテキストに変換することと
を含み、
前記フィルタは、前記非構造化データから変換された後の前記ファイルの前記テキストに適用される、請求項１に記載の方法。
【請求項３】
前記中央クラスタにおいて受け取られるクエリで一般的に要求されるファイルを含む前記複数のグループを作成するために１つまたは複数の要因に基づいて前記フィルタを生成することを含み、前記要因は、１つまたは複数のファイルに関連付けられた日付と、１つまたは複数のファイルに関連付けられた１人または複数のユーザと、１つまたは複数のファイルの選択された内容または１つまたは複数のキーワードあるいはその両方と、１つまたは複数のファイルに関連付けられた地理的場所とからなる１組の要因から選択される、請求項１に記載の方法。
【請求項４】
前記中央クラスタにおいて受け取られるクエリで一般的に要求されるファイルを一緒にグループ化するように前記フィルタを経時的に適応化することを含む、請求項３に記載の方法。
【請求項５】
前記フィルタは、特定のグループ内のファイルが１つまたは複数の受け取られるクエリに関連する可能性を最大限にするように生成される、請求項３に記載の方法。
【請求項６】
前記中央クラスタに記憶されている前記複数のファイルに加えられた変更を考慮に入れるように前記複数のグループを更新することを含み、前記複数のグループの前記更新は、所定のスケジュールに基づいて定期的に、またはバックグラウンド動作として連続して、またはトリガ・イベントに応答して行われ、前記複数のグループの前記更新は、１つまたは複数のグループの除去と、１つまたは複数のグループの追加と、特定のグループへの１つまたは複数のファイルの追加と、前記特定のグループからの１つまたは複数のファイルの除去とからなる１組のアクションから選択されたアクションを含む、請求項１に記載の方法。
【請求項７】
前記トリガ・イベントは、前記中央クラスタ上の既存のファイルの削除と、前記中央クラスタへの新規ファイルの追加と、前記中央クラスタへのファイルの新しい種類の追加と、前記中央クラスタのテキスト変換プロセスの更新とからなる組から選択される、請求項６に記載の方法。
【請求項８】
プログラム命令が具現化されているコンピュータ可読記憶媒体を含むコンピュータ・プログラム製品であって、前記コンピュータ可読記憶媒体は一過性の信号自体ではなく、具現化された前記プログラム命令は処理回路により実行可能であり、前記処理回路に、
複数のファイルに対するクエリを受け取る前に、前記複数のファイルの独立した各部分を複数のグループに入れるために、前記処理回路によって、分散ファイル・システムの中央クラスタに記憶されている前記複数のファイルをフィルタを使用してフィルタリングすることであって、前記複数のグループの各グループ内のファイルが共通の検索可能な特性を共有している、前記フィルタリングすることと、
前記処理回路によって、前記中央クラスタにおいて前記クエリの標識を受け取ることと、
前記処理回路によって、前記複数のグループのうちの前記クエリに対応する１つまたは複数のグループのファイルを、前記分散ファイル・システムの前記クエリの前記標識を提供したローカル・クラスタに複製することによって前記クエリに応答することと
を行わせる、コンピュータ・プログラム製品。
【請求項９】
前記具現化されたプログラム命令は、前記処理回路に、
前記処理回路によって、前記中央クラスタにおいて１つまたは複数の供給源からテキストと非構造化データとを含む前記複数のファイルを受け取ることと、
前記処理回路によって、前記複数のファイルを前記中央クラスタに記憶することと、
前記処理回路によって、前記中央クラスタ上で前記非構造化データをテキストに変換することと
を行わせるように、前記処理回路によってさらに実行可能であり、
前記フィルタは、前記非構造化データから変換された後の前記ファイルの前記テキストに適用される、請求項８に記載のコンピュータ・プログラム製品。
【請求項１０】
前記具現化されたプログラム命令は、前記処理回路に、
前記処理回路によって、前記中央クラスタにおいて受け取られるクエリで一般的に要求されるファイルを含む前記複数のグループを作成するために１つまたは複数の要因に基づいて前記フィルタを生成させるように、前記処理回路によってさらに実行可能であり、
前記要因は、１つまたは複数のファイルに関連付けられた日付と、１つまたは複数のファイルに関連付けられた１人または複数のユーザと、１つまたは複数のファイルの選択された内容または１つまたは複数のキーワードあるいはその両方と、１つまたは複数のファイルに関連付けられた地理的場所とからなる１組の要因から選択される、請求項８に記載のコンピュータ・プログラム製品。
【請求項１１】
前記フィルタは、特定のグループ内のファイルが１つまたは複数の受け取られるクエリに関連する可能性を最大限にするように生成される、請求項１０に記載のコンピュータ・プログラム製品。
【請求項１２】
前記具現化されたプログラム命令は、前記処理回路に、
前記処理回路によって、前記中央クラスタで受け取るクエリで一般的に要求されるファイルを一緒にグループ化するように前記フィルタを経時的に適応化させるように、前記処理回路によってさらに実行可能である、請求項１０に記載のコンピュータ・プログラム製品。
【請求項１３】
前記具現化されたプログラム命令は、前記処理回路に、
前記処理回路によって、前記中央クラスタに記憶されている前記複数のファイルに加えられた変更を考慮に入れるように前記複数のグループを更新させるように前記処理回路によってさらに実行可能であり、
前記処理回路に前記複数のグループを更新させる前記具現化されたプログラム命令は、さらに前記処理回路に、１つまたは複数のグループの除去と、１つまたは複数のグループの追加と、特定のグループへの１つまたは複数のファイルの追加と、前記特定のグループからの１つまたは複数のファイルの除去とからなる１組のアクションから選択されたアクションを実行させ、前記処理回路に前記複数のグループを更新させる前記具現化されたプログラム命令は、所定のスケジュールに基づいて定期的に、またはバックグラウンド動作として連続して、またはトリガ・イベントに応答して実行される、請求項８に記載のコンピュータ・プログラム製品。
【請求項１４】
前記トリガ・イベントは、前記中央クラスタにおける既存のファイルの削除と、前記中央クラスタへの新規ファイルの追加と、前記中央クラスタへの新しいファイルの種類の追加と、前記中央クラスタのテキスト変換プロセスの更新とからなる１組から選択される、請求項１３に記載のコンピュータ・プログラム製品。
【請求項１５】
処理回路と、
メモリと、
メモリに記憶されたロジックと
を含むシステムであって、前記ロジックは、前記処理回路によって実行されると前記処理回路に、
複数のファイルに対するクエリを受け取る前に、前記複数のファイルの独立した各部分を複数のグループに入れるために分散ファイル・システムの中央クラスタに記憶されている前記複数のファイルをフィルタを使用してフィルタリングすることであって、前記複数のグループの各グループ内のファイルが共通の検索可能な特性を共有している、前記フィルタリングすることと、
前記中央クラスタにおいて前記クエリの標識を受け取ることと、
前記分散ファイル・システムの、前記クエリの前記標識を提供したローカル・クラスタに前記複数のグループのうちの前記クエリに対応する１つまたは複数のグループのファイルを複製することによって、前記クエリに応答することと
を行わせる、システム。
【請求項１６】
前記ロジックは、前記処理回路に、
テキストと非構造化データとを含む前記複数のファイルを前記中央クラスタにおいて１つまたは複数の供給源から受け取ることと、
前記複数のファイルを前記中央クラスタに記憶することと、
前記中央クラスタにおいて前記非構造化データをテキストに変換することと
をさらに行わせ、
前記フィルタは、前記非構造化データから変換された後の前記ファイルの前記テキストに適用される、請求項１５に記載のシステム。
【請求項１７】
前記ロジックは、前記処理回路にさらに、
前記中央クラスタにおいて受信されるクエリで一般的に要求されるファイルを含む前記複数のグループを作成するために１つまたは複数の要因に基づいて前記フィルタを生成させ、
前記要因は、１つまたは複数のファイルに関連付けられた日付と、１つまたは複数のファイルに関連付けられた１人または複数のユーザと、１つまたは複数のファイルの選択された内容または１つまたは複数のキーワードあるいはその両方と、１つまたは複数のファイルに関連付けられた地理的場所とからなる１組の要因から選択される、請求項１５に記載のシステム。
【請求項１８】
前記フィルタは、特定のグループ内のファイルが１つまたは複数の受け取られるクエリに関連する可能性を最大限にするように生成される、請求項１７に記載のシステム。
【請求項１９】
前記ロジックは、前記処理回路にさらに、
前記中央クラスタにおいて受信されるクエリで一般的に要求されるファイルを一緒にグループ化するように前記フィルタを経時的に適応化させる、請求項１７に記載のシステム。
【請求項２０】
前記ロジックは、前記処理回路にさらに、
所定のスケジュールに基づいて定期的に、またはバックグラウンド動作として連続して、またはトリガ・イベントに応答して、前記中央クラスタに記憶されている前記複数のファイルに加えられた変更を考慮に入れるように前記複数のグループを更新させ、
前記処理回路に前記複数のグループを更新させる前記ロジックは、１つまたは複数のグループの除去と、１つまたは複数のグループの追加と、特定のグループへの１つまたは複数のファイルの追加と、前記特定のグループからの１つまたは複数のファイルの除去とからなる１組のアクションから選択されたアクションを実行する、請求項１５に記載のシステム。
【請求項２１】
前記トリガ・イベントは、前記中央クラスタ上の既存のファイルの削除と、前記中央クラスタへの新規ファイルの追加と、前記中央クラスタへのファイルの新しい種類の追加と、前記中央クラスタのテキスト変換プロセスの更新とからなる組から選択される、請求項２０に記載のシステム。
【請求項２２】
分散ファイル・システムの中央クラスタにおいて１つまたは複数の供給源からテキストと非構造化データとを含む複数のファイルを受け取ることと、
前記複数のファイルを前記中央クラスタに記憶することと、
前記中央クラスタにおいて前記非構造化データをテキストに変換することと、
前記複数のファイルに対するクエリを受け取る前に、前記複数のファイルの独立した各部分を複数のグループに入れるために前記複数のファイルをフィルタを使用してフィルタリングすることと
を含み、前記複数のグループの各グループ内のファイルは共通の検索可能な特性を共有し、前記フィルタは前記非構造化データから変換された後の前記ファイルの前記テキストに適用される、方法。
【請求項２３】
前記中央クラスタにおいて前記クエリの標識を受け取ることと、
前記クエリの前記標識を提供した、前記分散ファイル・システムのローカル・クラスタに前記複数のグループのうちの前記クエリに対応する１つまたは複数のグループのファイルを複製することによって、前記クエリに応答することと、
前記中央クラスタにおいて受け取られるクエリで一般的に要求されるファイルを一緒にグループ化するように前記フィルタを経時的に適応化することと
を含む、請求項２２に記載の方法。
【請求項２４】
前記中央クラスタにおいて受信されるクエリで一般的に要求されるファイルを含む前記複数のグループを作成するために１つまたは複数の要因に基づいて前記フィルタを生成することであって、前記要因は、１つまたは複数のファイルに関連付けられた日付と、１つまたは複数のファイルに関連付けられた１人または複数のユーザと、１つまたは複数のファイルの選択された内容または１つまたは複数のキーワードあるいはその両方と、１つまたは複数のファイルに関連付けられた地理的場所とからなる１組の要因から選択される、前記フィルタを生成することと、
前記中央クラスタにおいて受信されるクエリで一般的に要求されるファイルを一緒にグループ化するように前記フィルタを経時的に適応化することと
を含む、請求項２２に記載の方法。
【請求項２５】
クエリの標識を分散ファイル・システムの中央クラスタに送信する前に、前記分散ファイル・システムのローカル・クラスタで前記クエリに関連するファイルを検索することと、
前記関連するファイルが前記ローカル・クラスタに記憶されていないとの判断に応答して前記中央クラスタに前記クエリの前記標識を送信することと、
前記ローカル・クラスタにおいて前記クエリに関連するファイルのグループを受け取ることと、
前記ファイルのグループが前記中央クラスタに記憶されているすべてのファイルは含まないという条件で、前記ファイルのグループに対して前記クエリを実行することと、
キャッシュ・エビクション・ポリシーに従って前記ファイルのグループへの最後のアクセスから始まる所定期間、前記ファイルのグループを前記ローカル・クラスタに記憶することと
を含む方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は分散ストレージ環境に関し、より詳細には、認知技術を使用した分散ストレージ環境におけるファイルおよびオブジェクト管理に関する。
【背景技術】
【０００２】
中央分散クラスタ化ファイル・システムは、分散ファイル・システム内に記憶されているすべてのファイルまたはオブジェクトあるいはその両方にグローバル名前空間を提供することができる。実質的に、このようなシステムは、グローバル・データ・リポジトリとして機能し、膨大なデータ記憶容量を備えることができ、様々なストレージ・クラスにわたる階層化が可能である。このようなシステムは、中央データ・リポジトリ・クラスタと、中央データ・リポジトリより規模の小さい複数のローカル・クラスタとを含む。各ローカル・クラスタは、キャッシュ・クラスタとも呼ばれ、１つまたは複数のストレージ・クラスの複数のストレージ・デバイスを含み、分散ファイル・システムに記憶されているデータの一部をローカル・クラスタのキャッシュ内にキャッシュするためにワイド・エリア・ネットワーク（ＷＡＮ）キャッシング技術を利用することができる。
【０００３】
一般には、ローカル・クラスタ上でユーザによって頻繁にアクセスされるデータをより効率的に提供するためにＷＡＮキャッシングが使用される。このようにして、ローカル・クラスタ上で実行されるクエリまたは分析動作あるいはその両方がローカル・クラスタに照らして実行される。すべてのデータを各ローカル・クラスタと中央クラスタとに記憶するのは、必要なデータ記憶域とデータ同期コストとが大きいため実際的ではない。したがって、様々なローカル・クラスタがクエリまたは分析動作あるいはその両方のためにデータを取り出すことができるデータのグローバル・コピーを記憶するために中央クラスタが使用されることが多い。この典型的な使用モデルでは、分散ファイル・システムの物理的設置領域全体にわたって地理的に分散可能な様々なローカル・クラスタでデータが受け取られ、取り込まれる。様々なローカル・クラスタから取り込まれたデータは、その後、グローバル・コピーとして記憶されるように中央クラスタに複製される。別の使用モデルでは、中央クラスタはデータ・リポジトリの役割を果たすことができ、データへのより高速なアクセスのために、複数のローカル・クラスタが中央リポジトリに記憶されているデータを読み取り専用インスタンスとして利用することができる。
【０００４】
いずれの使用モデルでも、ユーザがそこからアクセスを試みるローカル・クラスタにもデータが記憶されていない場合、中央クラスタに記憶されているデータへのリモート・アクセスのためのレイテンシは分散ファイル・システムのユーザにとって望まれるよりも大きい。これにより、分散ファイル・システムのアクセス・パフォーマンスに変動が生じる。
【０００５】
また、ビッグ・データ分析は、グローバル・データ・リポジトリに記憶されているデータのきわめて大きな部分（またはすべて）の走査を必要とすることがある。すべてのクエリをグローバル・データ・リポジトリ上で直接行うのは資源集約度が高過ぎることがあり、したがって、グローバル・データ・リポジトリからすべてのデータを、グローバル・データ・リポジトリにアクセスすることができるコントローラ以外の他のデバイスにコピーすることによって、その他方のデバイス上でクエリが実行される場合がある。場合によっては、分析動作の実行後、コピーされたデータがその他方のデバイスから削除され、これによって、その後また分析動作を実行するためにグローバル・データ・リポジトリから再びすべてのデータをコピーする必要が生じる。また、他の場合には、コピーされたデータがキャッシュされる場合があり、これには、その他方のデバイス上で莫大な量のローカル・ストレージを必要とする。いずれの場合も、分析動作でどのデータを使用するのか、グローバル・データ・リポジトリ上でまだコピーされていない可能性のあるデータは何かを判断する判断機能がないために、コピーされるデータはグローバル・データ・リポジトリ内のすべてのデータを含んでいる。また、分析動作で、コピーされたデータのすべてが使用されるわけではなく、クエリを処理する際に単にドロップインされるだけであり、したがって、ネットワーク回線容量、処理能力、メモリ容量、時間など、かなりの資源が無駄に消費される。
【０００６】
あるいは、グローバル・データ・リポジトリにすべてのクエリを処理する十分な処理能力がある場合でも、クエリ処理を高速化するためにデータがキャッシュされる（すなわち、グローバル・データ・リポジトリのローカル・メモリにコピーされ、保存される）ことがある。このようにしてクエリを実行する場合、他のデバイス上でクエリを実行するためにデータをコピーする場合と同様の資源コストがかかる。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
従って発明が解決しようとする課題は分散ストレージ環境のための認知ファイルおよびオブジェクト管理方法、システム、およびコンピュータ・プログラムを提供することである。
【課題を解決するための手段】
【０００８】
一実施形態では、方法が、複数のファイルに対するクエリを受け取る前に、上記複数のファイルの独立した各部分を複数のグループに入れるために分散ファイル・システムの中央クラスタに記憶されている上記複数のファイルをフィルタを使用してフィルタリングすることを含む。上記複数のグループの各グループ内のファイルは共通の検索可能な特性を共有している。この方法は、上記中央クラスタにおいて上記クエリの標識を受け取ることとも含む。また、この方法は、上記クエリの上記標識を提供した、上記中央クラスタとは地理的に異なる、上記分散ファイル・システムのローカル・クラスタに上記複数のグループのうちの上記クエリに対応する１つまたは複数のグループのファイルを複製することによって、上記クエリに応答することとを含む。
【０００９】
別の実施形態では、コンピュータ・プログラム製品が、プログラム命令が具現化されているコンピュータ可読記憶媒体を含む。コンピュータ可読記憶媒体は、一過性の信号自体ではなく、具現化された上記プログラム命令は処理回路により実行可能であって上記処理回路に、複数のファイルに対するクエリを受け取る前に、上記複数のファイルの独立した各部分を複数のグループに入れるために、上記処理回路によって、分散ファイル・システムの中央クラスタに記憶されている複数のファイルをフィルタを使用してフィルタリングさせる。複数のグループの各グループ内のファイルは共通の検索可能な特性を共有している。また、具現化された上記プログラム命令は、上記処理回路に、上記処理回路によって上記中央クラスタにおいて上記クエリの標識を受け取らせるように、上記処理回路によって実行可能である。また、具現化された上記プログラム命令は、上記処理回路に、上記処理回路によって上記複数のグループのうちの上記クエリに対応する１つまたは複数のグループのファイルを上記分散ファイル・システムの上記クエリの上記標識を提供したローカル・クラスタに複製することによって上記クエリに応答させるように、上記処理回路によって実行可能である。
【００１０】
さらに別の実施形態では、システムが、処理回路と、メモリと、メモリに記憶されたロジックとを含み、ロジックは、上記処理回路によって実行されると上記処理回路に、複数のファイルに対するクエリを受け取る前に、上記複数のファイルの独立した各部分を複数のグループに入れるために分散ファイル・システムの中央クラスタに記憶されている上記複数のファイルをフィルタを使用してフィルタリングさせる。上記複数のグループの各グループ内のファイルは共通の検索可能な特性を共有している。ロジックは、上記処理回路によって実行されると上記処理回路に、上記中央クラスタにおいて上記クエリの標識を受け取らせる。また、ロジックは、上記処理回路によって実行されると上記処理回路に、上記クエリの上記標識を提供した、上記分散ファイル・システムのローカル・クラスタに上記複数のグループのうちの上記クエリに対応する１つまたは複数のグループのファイルを複製することによって、上記クエリに応答させる。
【００１１】
別の実施形態によると、方法が、分散ファイル・システムの中央クラスタにおいて１つまたは複数の供給源からテキストと非構造化データとを含む複数のファイルを受け取ることを含む。また、この方法は、上記複数のファイルを上記中央クラスタに記憶することと、中央クラスタにおいて上記非構造化データをテキストに変換することとを含む。また、この方法は、上記複数のファイルに対するクエリを受け取る前に、上記複数のファイルの独立した各部分を複数のグループに入れるために上記複数のファイルをフィルタを使用してフィルタリングすることを含む。上記複数のグループの各グループ内のファイルは共通の検索可能な特性を共有しており、上記フィルタは上記非構造化データから変換された後の上記ファイルの上記テキストに適用される。
【００１２】
さらに別の実施形態によると、方法が、クエリの標識を分散ファイル・システムの中央クラスタに送信する前に、上記分散ファイル・システムのローカル・クラスタで上記クエリに関連するファイルを検索することを含む。この方法は、上記関連するファイルが上記ローカル・クラスタに記憶されていないとの判断に応答して上記中央クラスタに上記クエリの上記標識を送信することも含む。また、この方法は、上記ローカル・クラスタにおいて上記クエリに関連するファイルのグループを受け取ることを含む。さらに、この方法は、上記ファイルのグループは上記中央クラスタに記憶されているすべてのファイルは含まないという条件で、上記ファイルのグループに対してクエリを実行することを含む。また、この方法は、キャッシュ・エビクション・ポリシーに従って上記ファイルのグループへの最後のアクセスから始まる所定期間、上記ファイルのグループを上記ローカル・クラスタに記憶することを含む。
【００１３】
本発明の他の態様および実施形態は、図面とともに読めば本発明の原理を例として示す以下の詳細な説明からわかるであろう。
【図面の簡単な説明】
【００１４】
【図１】本発明の一実施形態によるクラウド・コンピューティング・ノードを示す図である。
【図２】本発明の一実施形態によるクラウド・コンピューティング環境を示す図である。
【図３】本発明の一実施形態による抽象モデル層を示す図である。
【図４】一実施形態による階層的データ・ストレージ・システムを示す図である。
【図５】一実施形態による、効率的なクエリ処理のためにデータをフィルタリングし、グループ化するいくつかの段階における分散システムを示す図である。
【図６】一実施形態による、効率的なクエリ処理のためにデータをフィルタリングし、グループ化するいくつかの段階における分散システムを示す図である。
【図７】一実施形態による、効率的なクエリ処理のためにデータをフィルタリングし、グループ化するいくつかの段階における分散システムを示す図である。
【図８】例示の分散システムにおける効率的クエリ処理のためのデータのフィルタリングとグループ化とを示す図である。
【図９】一実施形態による方法のフローチャートを示す図である。
【図１０】一実施形態による方法のフローチャートを示す図である。
【発明を実施するための形態】
【００１５】
以下の説明は、本発明の一般的原理を示す目的で行うものであり、本明細書で特許請求される本発明の概念を限定することを意図したものではない。また、本明細書に記載の特定の特徴は、考えられる様々な組合せおよび置換のそれぞれにおける他の記載されている特徴と組み合わせて使用することができる。
【００１６】
本明細書で特に定義されていない限り、すべての用語は、本明細書の記載から含意される意味と、当業者にわかる意味、または辞書、論文などで定義されている意味あるいはその両方とを含む、可能な最も広い解釈が与えられるべきものである。
【００１７】
また、本明細書および添付の特許請求の範囲で使用されている、単数形の「ａ」、「ａｎ」および「ｔｈｅ」は、特に明記されていない限り複数も含むことにも留意すべきである。また、「含んでいる（ｃｏｍｐｒｉｓｅｓ）」または「含む（ｃｏｍｐｒｉｓｉｎｇ）」あるいはその両方の用語は、本明細書で使用されている場合、記載されている特徴、整数、ステップ、動作、要素または構成要素あるいはその組合せの存在を規定するが、１つまたは複数の他の特徴、整数、ステップ、動作、要素、構成要素またはこれらのグループあるいはその組合せの存在または追加を排除しないことがさらに理解される。本明細書で使用する「約」という用語は、当業者にはわかるように、「約」という用語の後の数値を「約」という用語の後の数値にかなり近い任意の数値とともに指す。特に示されていない場合、「約」という用語は、「約」という用語の後の数値±１０％の数値を指す。例えば、「約１０」は、９．０から１１．０までのすべての値を９．０と１１．０を含めて指す。
【００１８】
以下の説明では、分散ストレージ環境におけるファイルおよびオブジェクトを認知管理するためのシステム、方法およびコンピュータ・プログラム製品のいくつかの好ましい実施形態を開示する。
【００１９】
一般的一実施形態では、方法が、複数のファイルに対するクエリを受け取る前に、上記複数のファイルの独立した各部分を複数のグループに入れるために分散ファイル・システムの中央クラスタに記憶されている上記複数のファイルをフィルタを使用してフィルタリングすることを含む。上記複数のグループの各グループ内のファイルは共通の検索可能な特性を共有している。この方法は、上記中央クラスタにおいて上記クエリの標識を受け取ることとも含む。また、この方法は、上記クエリの上記標識を提供した、上記中央クラスタとは地理的に異なる、上記分散ファイル・システムのローカル・クラスタに上記複数のグループのうちの上記クエリに対応する１つまたは複数のグループのファイルを複製することによって、上記クエリに応答することとを含む。
【００２０】
別の一般的実施形態では、コンピュータ・プログラム製品が、プログラム命令が具現化されているコンピュータ可読記憶媒体を含む。コンピュータ可読記憶媒体は、一過性の信号自体ではなく、具現化された上記プログラム命令は処理回路により実行可能であって上記処理回路に、複数のファイルに対するクエリを受け取る前に、上記複数のファイルの独立した各部分を複数のグループに入れるために、上記処理回路によって、分散ファイル・システムの中央クラスタに記憶されている複数のファイルをフィルタを使用してフィルタリングさせる。複数のグループの各グループ内のファイルは共通の検索可能な特性を共有している。また、具現化された上記プログラム命令は、上記処理回路に、上記処理回路によって上記中央クラスタにおいて上記クエリの標識を受け取らせるように、上記処理回路によって実行可能である。また、具現化された上記プログラム命令は、上記処理回路に、上記処理回路によって上記複数のグループのうちの上記クエリに対応する１つまたは複数のグループのファイルを上記分散ファイル・システムの上記クエリの上記標識を提供したローカル・クラスタに複製することによって上記クエリに応答させるように、上記処理回路によって実行可能である。
【００２１】
さらに別の一般的実施形態では、システムが、処理回路と、メモリと、メモリに記憶されたロジックとを含み、ロジックは、上記処理回路によって実行されると上記処理回路に、複数のファイルに対するクエリを受け取る前に、上記複数のファイルの独立した各部分を複数のグループに入れるために分散ファイル・システムの中央クラスタに記憶されている上記複数のファイルをフィルタを使用してフィルタリングさせる。上記複数のグループの各グループ内のファイルは共通の検索可能な特性を共有している。ロジックは、上記処理回路によって実行されると上記処理回路に、上記中央クラスタにおいて上記クエリの標識を受け取らせる。また、ロジックは、上記処理回路によって実行されると上記処理回路に、上記クエリの上記標識を提供した、上記分散ファイル・システムのローカル・クラスタに上記複数のグループのうちの上記クエリに対応する１つまたは複数のグループのファイルを複製することによって、上記クエリに応答させる。
【００２２】
別の一般的実施形態によると、方法が、分散ファイル・システムの中央クラスタにおいて１つまたは複数の供給源からテキストと非構造化データとを含む複数のファイルを受け取ることを含む。また、この方法は、上記複数のファイルを上記中央クラスタに記憶することと、中央クラスタにおいて上記非構造化データをテキストに変換することとを含む。また、この方法は、上記複数のファイルに対するクエリを受け取る前に、上記複数のファイルの独立した各部分を複数のグループに入れるために上記複数のファイルをフィルタを使用してフィルタリングすることを含む。上記複数のグループの各グループ内のファイルは共通の検索可能な特性を共有しており、上記フィルタは上記非構造化データから変換された後の上記ファイルの上記テキストに適用される。
【００２３】
さらに別の一般的実施形態によると、方法が、クエリの標識を分散ファイル・システムの中央クラスタに送信する前に、上記分散ファイル・システムのローカル・クラスタで上記クエリに関連するファイルを検索することを含む。この方法は、上記関連するファイルが上記ローカル・クラスタに記憶されていないとの判断に応答して上記中央クラスタに上記クエリの上記標識を送信することも含む。また、この方法は、上記ローカル・クラスタにおいて上記クエリに関連するファイルのグループを受け取ることを含む。さらに、この方法は、上記ファイルのグループは上記中央クラスタに記憶されているすべてのファイルは含まないという条件で、上記ファイルのグループに対してクエリを実行することを含む。また、この方法は、キャッシュ・エビクション・ポリシーに従って上記ファイルのグループへの最後のアクセスから始まる所定期間、上記ファイルのグループを上記ローカル・クラスタに記憶することを含む。
【００２４】
本開示はクラウド・コンピューティングに関する詳細な説明を含むが、本明細書に記載されている教示の実装はクラウド・コンピューティング環境には限定されないことを前もって理解されたい。むしろ、本発明の実施形態は、現在知られている、または今後開発される任意の他の種類のコンピューティング環境とともに実装することができる。
【００２５】
クラウド・コンピューティングは、最小限の管理労力またはサービス・プロバイダとの相互連絡で迅速にプロビジョニングすることができ、解放することができる、構成可能コンピューティング資源（例えば、ネットワーク、ネットワーク回線容量、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、およびサービス）の共用プールへの便利なオンデマンドのネットワーク・アクセスを可能にするためのサービス配布のモデルである。このクラウド・モデルは、少なくとも５つの特徴と、少なくとも３つのサービス・モデルと、少なくとも４つの配備モデルとを含み得る。
【００２６】
特徴は以下の通りである。
オンデマンド・セルフサービス：クラウド消費者は、サービス・プロバイダとの間で人間の介在を必要とせずに、必要に応じて自動的に、サーバ時間およびネットワーク・ストレージなどのコンピューティング機能を一方的にプロビジョニングすることができる。
広帯域ネットワーク・アクセス：ネットワークを介して機能が利用可能であり、異種のシン・クライアントまたはシック・クライアント・プラットフォーム（例えば携帯電話、ラップトップ、およびＰＤＡ）による使用を促進する標準機構を介してアクセスすることができる。
資源プール：マルチテナント・モデルを使用して複数の消費者に対応するために、プロバイダのコンピューティング資源がプールされ、需要に応じて、異なる物理資源および仮想資源が動的に割り当てられ、再割り当てされる。消費者は一般に、提供される資源の厳密な場所について管理することができないかまたは知らないが、より高い抽象レベルの場所（例えば、国、州、またはデータセンター）を指定することが可能な場合があるという点で、位置独立感がある。
迅速な伸縮性：迅速かつ伸縮性をもって、場合によっては自動的に機能をプロビジョニングして、迅速にスケールアウトすることができ、また、迅速に機能を解放して迅速にスケールインすることができる。消費者にとっては、プロビジョニングのために利用可能な機能はしばしば無限であるように見え、いつでも好きなだけ購入することができる。
従量制サービス：クラウド・システムが、サービスの種類（例えば、ストレージ、処理、帯域幅、およびアクティブ・ユーザ・アカウント）に応じて適切な何らかの抽象化レベルの計量機能を活用することによって、資源利用を自動的に制御し、最適化する。資源使用量を監視、制御および報告することができ、利用されたサービスの透明性をプロバイダと消費者の両方に与えることができる。
【００２７】
サービス・モデルは以下の通りである。
ソフトウェア・アズ・ア・サービス（Ｓｏｆｔｗａｒｅ  ａｓ ａ  Ｓｅｒｖｉｃｅ：ＳａａＳ）：消費者に提供される機能は、クラウド・インフラストラクチャ上で稼働するプロバイダのアプリケーションを使用することである。アプリケーションには、ウェブ・ブラウザなどのシン・クライアント・インターフェースを介して様々なクラウド・デバイスからアクセス可能である（例えばウェブ・ベースのＥメール）。消費者は、限られたユーザ固有アプリケーション構成設定の考えられる例外を除き、ネットワーク、サーバ、オペレーティング・システム、ストレージ、または個別のアプリケーション機能まで含めて、基礎にあるクラウド・インフラストラクチャを管理も制御もしない。
プラットフォーム・アズ・ア・サービス（Ｐｌａｔｆｏｒｍ  ａｓ  ａ  Ｓｅｒｖｉｃｅ：ＰａａＳ）:消費者に提供される機能は、クラウド・インフラストラクチャ上に、消費者作成アプリケーション、またはプロバイダによってサポートされるプログラミング言語およびツールを使用して作成された取得アプリケーションを配備することである。消費者は、ネットワーク、サーバ、オペレーティング・システム、またはストレージを含む、基礎にあるクラウド・インフラストラクチャを管理も制御もしないが、配備されたアプリケーションと、場合によってはアプリケーション・ホスティング環境構成とを制御することができる。
インフラストラクチャ・アズ・ア・サービス（Ｉｎｆｒａｓｔｒｕｃｔｕｒｅ  ａｓ  ａ  Ｓｅｒｖｉｃｅ：ＩａａＳ）：消費者に提供される機能は、処理、ストレージ、ネットワークおよびその他の基本的コンピューティング資源をプロビジョニングすることであり、その際、消費者は、オペレーティング・システムとアプリケーションとを含み得る任意のソフトウェアを配備し、実行することができる。消費者は、基礎にあるクラウド・インフラストラクチャを管理も制御もしないが、オペレーティング・システムと、ストレージと、配備されたアプリケーションとを制御することができ、場合によっては選択されたネットワーク・コンポーネント（例えばホスト・ファイアウォール）の限定的な制御を行うことができる。
【００２８】
配備モデルは以下の通りである。
プライベート・クラウド：このクラウド・インフラストラクチャは、組織のためにのみ運用される。組織または第三者によって管理されることができ、オンプレミスまたはオフプレミスに存在可能である。
コミュニティ・クラウド：このクラウド・インフラストラクチャは、いくつかの組織によって共用され、共通の関心事（例えば、任務、セキュリティ要件、ポリシー、およびコンプライアンス要因）を有する特定のコミュニティをサポートする。組織または第三者によって管理されてよく、オンプレミスまたはオフプレミスに存在可能である。
パブリック・クラウド：このクラウド・インフラストラクチャは、公衆または大規模業界団体が利用することができ、クラウド・サービスを販売する組織によって所有される。
ハイブリッド・クラウド：このクラウド・インフラストラクチャは、独自の実体のままであるが、データおよびアプリケーション可搬性を可能にする標準化技術または専有技術（例えば、クラウド間の負荷バランシングのためのクラウド・バースティング）によって結合された、２つ以上のクラウド（プライベート、コミュニティまたはパブリック）の複合体である。
【００２９】
クラウド・コンピューティング環境は、ステートレス性、疎結合性、モジュール性、および意味的相互運用性に焦点を合わせたサービス指向型である。クラウド・コンピューティングの核心にあるのは、相互接続されたノードのネットワークを含むインフラストラクチャである。
【００３０】
次に図１を参照すると、クラウド・コンピューティング・ノードの一例の概略図が示されている。クラウド・コンピューティング・ノード１０は、適合するクラウド・コンピューティング・ノードの一例に過ぎず、本明細書に記載の本発明の実施形態の使用または機能の範囲に関するいかなる限定も示唆することを意図していない。いずれにしても、クラウド・コンピューティング・ノード１０は、上述の機能のいずれでも実装または実行あるいはその両方が可能である。
【００３１】
クラウド・コンピューティング・ノード１０には、多くの他の汎用または特殊目的コンピューティング・システム環境または構成とともに動作可能なコンピュータ・システム／サーバ１２がある。コンピュータ・システム／サーバ１２とともに使用するのに適合したコンピュータ・システム、環境または構成あるいはその組合せの例としては、パーソナル・コンピュータ・システム、サーバ・コンピュータ・システム、シン・クライアント、シック・クライアント、手持ち型デバイスまたはラップトップ・デバイス、マルチプロセッサ・システム、マイクロプロセッサ・ベースのシステム、セット・トップ・ボックス、プログラマブル消費者電子機器、ネットワークＰＣ、ミニコンピュータ・システム、メインフレーム・コンピュータ・システム、および、上記のシステムまたはデバイスなどのうちのいずれかを含む分散クラウド・コンピューティング環境などがあるが、これらには限定されない。
【００３２】
コンピュータ・システム／サーバ１２について、コンピュータ・システムによって実行されるプログラム・モジュールなどのコンピュータ・システム実行可能命令の一般的な文脈で説明する場合がある。一般には、プログラム・モジュールは、特定のタスクを実行するか、または特定の抽象データ型を実装する、ルーチン、プログラム、オブジェクト、コンポーネント、ロジック、データ構造などを含み得る。コンピュータ・システム／サーバ１２は、通信ネットワークを介して接続されたリモート処理デバイスによってタスクが実行される分散クラウド・コンピューティング環境で実施されてもよい。分散クラウド・コンピューティング環境では、プログラム・モジュールを、メモリ・ストレージ・デバイスを含むローカルとリモートの両方のコンピュータ・システム記憶媒体に格納することができる。
【００３３】
図１に示すように、クラウド・コンピューティング・ノード１０におけるコンピュータ・システム／サーバ１２が、汎用コンピューティング・デバイスの形態で示されている。コンピュータ・システム／サーバ１２の構成要素は、１つまたは複数のプロセッサまたは処理ユニット１６と、システム・メモリ２８と、システム・メモリ２８を含む様々なシステム構成要素をプロセッサ１６に接続するバス１８とを含み得るがこれらには限定されない。
【００３４】
バス１８は、様々なバス・アーキテクチャのうちのいずれかのアーキテクチャを使用する、メモリ・バスまたはメモリ・コントローラ、ペリフェラル・バス、アクセラレーテッド・グラフィクス・ポート、およびプロセッサ・バスまたはローカル・バスを含む、数種類のバス構造のうちのいずれかの１つまたは複数に相当する。例として、そのようなアーキテクチャとしては、業界標準アーキテクチャ（Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ：ＩＳＡ）バス、マイクロ・チャネル・アーキテクチャ（Ｍｉｃｒｏ  Ｃｈａｎｎｅｌ  Ａｒｃｈｉｔｅｃｔｕｒｅ：ＭＣＡ）バス、拡張（Ｅｎｈａｎｃｅｄ）ＩＳＡ（ＥＩＳＡ）バス、ビデオ・エレクトロニクス・スタンダーズ・アソシエーション（Ｖｉｄｅｏ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｓｔａｎｄａｒｄｓ  Ａｓｓｏｃｉａｔｉｏｎ：ＶＥＳＡ）ローカル・バス、およびペリフェラル・コンポーネント・インターコネクト（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ：ＰＣＩ）バスがあるが、これらには限定されない。
【００３５】
コンピュータ・システム／サーバ１２は、典型的には様々なコンピュータ・システム可読記憶媒体を含む。そのような媒体は、コンピュータ・システム／サーバ１２がアクセスすることができる任意の利用可能な媒体であってよく、揮発性媒体と不揮発性媒体の両方と、取り外し可能媒体と取り外し不能媒体とを含む。
【００３６】
システム・メモリ２８は、ランダム・アクセス・メモリ（ＲＡＭ）３０またはキャッシュ・メモリ３２あるいはその両方などの、揮発性メモリの形態のコンピュータ・システム可読記憶媒体を含むことができる。コンピュータ・システム／サーバ１２は、他の取り外し可能／取り外し不能、揮発性／不揮発性のコンピュータ・システム記憶媒体をさらに含んでよい。一例に過ぎないが、ストレージ・システム３４を、取り外し不能な不揮発性磁気媒体（図示されておらず、一般に「ハード・ドライブ」と呼ばれる）の読み書きのために設けることができる。図示されていないが、取り外し可能な不揮発性磁気ディスク（例えば「フロッピィ・ディスク」）の読み書きのための磁気ディスク・ドライブと、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭまたはその他の光学媒体などの、取り外し可能な不揮発性光ディスクの読み書きのための光ディスク・ドライブとを備えることができる。そのような場合、それぞれが１つまたは複数のデータ・メディア・インターフェースによってバス１８に接続することができる。以下でさらに図示し、説明するように、メモリ２８は、本発明の実施形態の機能を実施するように構成された１組の（例えば少なくとも１つの）プログラム・モジュールを有する少なくとも１つのプログラム製品を含み得る。
【００３７】
一例として、これには限らないが、１組の（少なくとも１つの）プログラム・モジュール４２を有するプログラム／ユーティリティ４０のほか、オペレーティング・システムと、１つまたは複数のアプリケーション・プログラムと、その他のプログラム・モジュールと、プログラム・データとをメモリ２８に記憶することができる。オペレーティング・システム、１つまたは複数のアプリケーション・プログラム、その他のプログラム・モジュール、およびプログラム・データ、またはその何らかの組合せのそれぞれが、ネットワーキング環境の実装形態を含み得る。プログラム・モジュール４２は、一般に、本明細書に記載の本発明の実施形態の機能または方法あるいはその両方を実施する。
【００３８】
コンピュータ・システム／サーバ１２は、キーボード、ポインティング・デバイス、ディスプレイ２４など、または、ユーザがコンピュータ・システム／サーバ１２と対話することができるようにする１つまたは複数のデバイス、または、コンピュータ・システム／サーバ１２が１つまたは複数の他のコンピューティング・デバイスと通信することができるようにする任意のデバイス（例えばネットワーク・カード、モデムなど）、あるいはその組合せなどの、１つまたは複数の外部デバイス１４とも通信することができる。このような通信は、入出力（Ｉ／Ｏ）インターフェース２２を介して行うことができる。さらに、コンピュータ・システム／サーバ１２は、ローカル・エリア・ネットワーク（ＬＡＮ）、または汎用ワイド・エリア・ネットワーク（ＷＡＮ）、またはパブリック・ネットワーク（例えばインターネット）、あるいはその組合せなどの１つまたは複数のネットワークと、ネットワーク・アダプタ２０を介して通信することができる。図のように、ネットワーク・アダプタ２０は、バス１８を介してコンピュータ・システム／サーバ１２の他の構成要素と通信する。なお、図示されていないが、他のハードウェア・コンポーネントまたはソフトウェア・コンポーネントあるいはその両方もコンピュータ・システム／サーバ１２とともに使用することができることを理解されたい。例としては、マイクロコード、デバイス・ドライバ、冗長処理ユニット、外部ディスク・ドライブ・アレイ、ＲＡＩＤシステム、テープ・ドライブ、およびデータ・アーカイブ・ストレージ・システムなどが含まれるが、これらには限定されない。
【００３９】
次に、図２を参照すると、例示のクラウド・コンピューティング環境５０が図示されている。図のように、クラウド・コンピューティング環境５０は、例えばパーソナル・デジタル・アシスタント（ＰＤＡ）または携帯電話５４Ａ、デスクトップ・コンピュータ５４Ｂ、ラップトップ・コンピュータ５４Ｃ、または自動車コンピュータ・システム５４Ｎあるいはその組合せなど、クラウド消費者によって使用されるローカル・コンピューティング・デバイスが通信することができる、１つまたは複数のクラウド・コンピューティング・ノード１０を含む。ノード１０が互いに通信してもよい。これらは、上述のプライベート、コミュニティ、パブリックまたはハイブリッド・クラウドまたはこれらの組合せなどの１つまたは複数のネットワークにおいて物理的または仮想的にグループ化（図示せず）されてもよい。これによって、クラウド・コンピューティング環境５０は、インフラストラクチャ、プラットフォーム、またはソフトウェアあるいはその組合せを、クラウド消費者がそのためにローカル・コンピューティング・デバイス上で資源を維持する必要がないサービスとして提供することができる。なお、図２に示すコンピューティング・デバイス５４Ａないし５４Ｎの種類は、例示を意図したものに過ぎず、コンピューティング・ノード１０およびクラウド・コンピューティング環境５０は、（例えばウェブ・ブラウザを使用して）任意の種類のネットワークまたはネットワーク・アドレス指定可能接続あるいはその組合せを介して、任意の種類のコンピュータ化デバイスと通信することができるものと理解される。
【００４０】
次に、図３を参照すると、クラウド・コンピューティング環境５０（図２）によって提供される１組の機能抽象化層が示されている。なお、図３に示す構成要素、層および機能は、例示のみを意図したものであり、本発明の実施形態はこれらには限定されないことを前もって理解されたい。図のように、以下の層および対応する機能が提供される。
【００４１】
ハードウェアおよびソフトウェア層６０は、ハードウェア・コンポーネントとソフトウェア・コンポーネントとを含む。ハードウェア・コンポーネントの例としては、メインフレーム６１、縮小命令セットコンピュータ（Ｒｅｄｕｃｅｄ  Ｉｎｓｔｒｕｃｔｉｏｎ  Ｓｅｔ  Ｃｏｍｐｕｔｅｒ：ＲＩＳＣ）アーキテクチャ・ベースのサーバ６２、サーバ６３、ブレード・サーバ６４、ストレージ・デバイス６５、およびネットワークおよびネットワーキング・コンポーネント６６がある。実施形態によっては、ソフトウェア・コンポーネントは、ネットワーク・アプリケーション・サーバ・ソフトウェア６７およびデータベース・ソフトウェア６８を含む。
【００４２】
仮想化層７０は、以下のような仮想実体の例を与えることができる抽象化層を提供する。すなわち、仮想サーバ７１、仮想ストレージ７２、仮想プライベート・ネットワークを含む仮想ネットワーク７３、仮想アプリケーションおよびオペレーティング・システム７４、および仮想クライアント７５である。
【００４３】
一実装例では、管理層８０は、以下に記載の機能を提供することができる。資源プロビジョニング８１は、クラウド・コンピューティング環境内でタスクを実行するために利用されるコンピューティング資源およびその他の資源の動的調達を行う。メータリングおよびプライシング８２は、クラウド・コンピューティング環境内で資源が利用されるときのコスト追跡と、これらの資源の消費に対する対価の請求またはインボイス処理を行う。一例ではこれらの資源にはアプリケーション・ソフトウェア・ライセンスが含まれてもよい。セキュリティは、クラウド消費者およびタスクのための本人検証と、データおよびその他の資源の保護とを行う。ユーザ・ポータル８３は、消費者およびシステム管理者にクラウド・コンピューティング環境へのアクセスを提供する。サービス・レベル管理８４は、必要なサービス・レベルが満たされるようにクラウド・コンピューティング資源割り当ておよび管理を行う。サービス・レベル・アグリーメント（Ｓｅｒｖｉｃｅ  Ｌｅｖｅｌ  Ａｇｒｅｅｍｅｎｔ：ＳＬＡ）計画および履行８５は、ＳＬＡに従って将来の要求が予想されるクラウド・コンピューティング資源のための事前取り決めおよび調達を行う。
【００４４】
ワークロード層９０は、クラウド・コンピューティング環境をそのために利用することができる機能の例を提供する。この層から提供することができるワークロードおよび機能の例には、マッピングおよびナビゲーション９１、ソフトウェア開発およびライフサイクル管理９２、仮想教室教育配信９３、データ分析処理９４、トランザクション処理９５、および分散ストレージ環境９６のための認知ファイル／オブジェクト管理が含まれる。
【００４５】
次に図４を参照すると、いくつかの手法におけるパブリック階層オブジェクト・ストアを表し得る、一実施形態による階層ストレージ・システム４００が示されている。なお、図４に示す要素の一部は、様々な実施形態によりハードウェアまたはソフトウェアあるいはその両方として実装可能である。ストレージ・システム４００は、少なくとも１つのより上位の記憶階層４０２と少なくとも１つのより下位の記憶階層４０６の複数の媒体と通信するためのストレージ・システム・マネージャ４１２を含むことができる。より上位の記憶階層４０２は、好ましくは、不揮発性メモリ（ＮＶＭ）、ソリッド・ステート・ドライブ（ＳＳＤ）内のソリッド・ステート・メモリ、フラッシュ・メモリ、ＳＳＤアレイ、フラッシュ・メモリ・アレイ、ハードディスク・ドライブ（ＨＤＤ）内のハードディスクなど、または本明細書に記載されているかまたは当技術分野で知られている他の媒体あるいはその組合せなど、１つまたは複数のランダム・アクセスまたはダイレクト・アクセスあるいはその両方の媒体４０４を含み得る。より下位の記憶階層４０６は、好ましくは、より低速アクセスのＨＤＤ、テープ・ドライブ内の磁気テープなどの順次アクセス媒体、または光媒体あるいはその組合せなど、または本明細書に記載されているかまたは当技術分野で知られている他の媒体あるいはその両方などを含む、１つまたは複数のより低パフォーマンスの記憶媒体４０８を含み得る。１つまたは複数の追加の記憶階層４１６が、システム４００の設計者の希望に従って記憶メモリ媒体の任意の組合せを含んでもよい。また、より上位の記憶階層４０２またはより下位の記憶階層４０６あるいはその両方のいずれも、ストレージ・デバイスまたは記憶媒体あるいはその両方の何らかの組合せを含むことができる。
【００４６】
ストレージ・システム・マネージャ４１２は、図４に示すように、ストレージ・エリア・ネットワーク（ＳＡＮ）などのネットワーク４１０を介して、または他の適切なネットワーク・タイプを介して、より上位の記憶階層４０２およびより下位の記憶階層４０６の記憶媒体４０４、４０８と通信することができる。ストレージ・システム・マネージャ４１２は、ストレージ・システム・マネージャ４１２の一部であってもなくてもよいホスト・インターフェース４１４を介して、１つまたは複数のホスト・システム（図示せず）とも通信することができる。ストレージ・システム・マネージャ４１２または、ストレージ・システム４００の任意のその他の構成要素あるいはその両方は、ハードウェアまたはソフトウェアあるいはその両方で実装可能であり、中央演算処理装置（ＣＰＵ）、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）、特定用途向け集積回路（ＡＳＩＣ）など、当技術分野で知られている種類の、コマンドを実行するためのプロセッサ（図示せず）を利用することができる。当然ながら、この説明を読めば当業者には明らかなように、ストレージ・システムの任意の構成を使用することができる。
【００４７】
さらに他の実施形態では、ストレージ・システム４００は、任意の数のデータ記憶階層を含むことができ、各記憶階層内で同じかまたは異なる記憶メモリ媒体を含むことができる。例えば、各データ記憶階層は、ＨＤＤ、ＳＳＤ、順次アクセス媒体（テープ・ドライブ内のテープ、光ディスク・ドライブ内の光ディスクなど）、ダイレクト・アクセス媒体（ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭなど）、または記憶媒体の種類の任意の組合せなど、同じ種類の記憶メモリ媒体を含み得る。１つのそのような構成では、より上位の記憶階層４０２が、より高パフォーマンスのストレージ環境においてデータを記憶するために、ＳＳＤ記憶媒体の大部分（最大ですべてのＳＳＤ記憶媒体を含む）を含むことができ、より下位の記憶階層４０６および追加の記憶階層４１６を含む残りの記憶階層は、より低パフォーマンスのストレージ環境におけるデータの記憶のために、ＳＳＤ、ＨＤＤ、テープ・ドライブなどの任意の組合せを含むことができる。このようにして、アクセス頻度のより高いデータ、優先度のより高いデータ、より高速にアクセスされる必要のあるデータなどを、より上位の記憶階層４０２に記憶することができ、これらの属性の１つを持たないデータは、より下位の記憶階層４０６を含む、追加の記憶階層４１６に記憶することができる。当然ながら、当業者は、この説明を読めば、本明細書に示す実施形態による異なる記憶方式に実装するために、記憶媒体の種類の多くの他の組合せを考案することができる。
【００４８】
特定の一実施形態では、ストレージ・システム４００は、ＳＳＤとＨＤＤの組合せを含んでよく、より上位の記憶階層４０２がＳＳＤ（および場合によっては何らかのバッファ・メモリ）を含み、より下位の記憶階層４０６がＨＤＤ（および場合によっては何らかのバッファ・メモリ）を含む。別の実施形態によると、ストレージ・システム４００は、ＳＳＤと磁気テープ・ドライブを備えた磁気テープとの組合せを含むことができ、より上位の記憶階層４０２がＳＳＤ（および場合によっては何らかのバッファ・メモリ）を含み、より下位の記憶階層４０６が磁気テープ（および場合によっては何らかのバッファ・メモリ）と磁気テープのデータにアクセスするための磁気テープ・ドライブとを含む。さらに別の実装形態では、ストレージ・システム４００は、ＨＤＤと磁気テープとの組合せを含むことができ、より上位の記憶階層４０２がＨＤＤ（および場合によっては何らかのバッファ・メモリ）を含み、より下位の記憶階層４０６が磁気テープ（および場合によっては何らかのバッファ・メモリ）を含む。
【００４９】
次に、図５を参照すると、一実施形態による中央、分散およびクラスタ化ファイル・システム５００（以下、「分散システム５００」）のブロック図が示されている。分散システム５００は、情報またはデータあるいはその両方を記憶するかまたは含むかあるいはその両方である、分散システム５００の１人または複数のユーザ５０２がアクセス可能な任意の数のファイルまたはオブジェクトあるいはその両方（以下「ファイル５０４」）を含むことができる。また、分散システム５００は、グローバル・データ・リポジトリとして構成された中央クラスタ５０６と、中央クラスタとは地理的に異なる複数のローカル・キャッシュ・クラスタ５０８ａ、５０８ｂ、．．．５０８ｎ（以下、グループとして言及する場合は「ローカル・クラスタ５０８」）と、様々なローカル・クラスタ５０８を中央クラスタ５０６に結合する１つまたは複数のネットワーク５１０とを含む。この説明を読めば当業者にはわかるように、インターネット、ＷＡＮ、ＬＡＮ、ＳＡＮなどであるがこれらには限定されない任意の種類のネットワーク５１０が使用可能である。
【００５０】
さらに、中央クラスタ５０６と、ローカル・クラスタ５０８のそれぞれとは、提供されたプログラム命令を実行するように構成されたハードウェア処理回路を含む。当業者に知られているように、本明細書で具体的に記載されていない他のハードウェア・コンポーネントまたはソフトウェア・コンポーネントあるいはその両方も、中央クラスタ５０６、または、ローカル・クラスタ５０８のうちの１つまたは複数のローカル・クラスタ、あるいはその両方に含めることができる。
【００５１】
一実施形態では、中央クラスタ５０６、または、ローカル・クラスタ５０８のうちの１つまたは複数のローカル・クラスタ、あるいはその両方内のハードウェア・コンポーネントのうちの１つまたは複数が、一次ハードウェア・コンポーネントに傷害が発生した場合、電源が失われるなどして割り当てられたタスクを実行することができない場合などに、冗長機能を実行するために並列して設置された冗長コンポーネントを有してもよい。
【００５２】
さらに、中央クラスタ５０６と、ローカル・クラスタ５０８のそれぞれとは、１つまたは複数の種類のコンピュータ可読記憶媒体５１２を含む。中央クラスタ５０６および様々なローカル・クラスタ５０８において、不揮発性メモリ（ＮＶＭ）ストレージ・デバイス、ダイレクト・アクセス・ストレージ・デバイス（ＤＡＳＤ）、ランダム・アクセス・メモリ・ユニットなどであるがこれらには限定されない、任意の種類のコンピュータ可読記憶媒体５１２を利用することができる。フラッシュ・メモリ、ＲＡＭ、消去可能プログラマブル読み取り専用メモリ（ＥＰＲＯＭ）、ソリッド・ステート・デバイス（ＳＳＤ）など、任意の適合するＮＶＭストレージ・デバイスを利用することができる。また、ＨＤＤ、テープ・ドライブとともに使用するためのテープ媒体、光ドライブなど、任意のＤＡＳＤを使用することができる。さらに、コンピュータ可読記憶媒体５１２に記憶する前のデータ・ステージングのために、キャッシュまたはバッファもコンピュータ可読記憶媒体５１２に存在してもよい。
【００５３】
中央クラスタ５０６に記憶されるファイル５０４およびローカル・クラスタ５０８に記憶されるファイルは、当業者にはわかるように、種類（テキスト・データ、映像データ、音声データ、非構造化データなど）、サイズ、材料または内容などが異なる情報を含むことができる。また、ある種の手法では、ファイル５０４に関連付けられたメタデータが、様々なファイル５０４の特性の少なくとも一部を示すことができる。しかし、中央クラスタ５０６に記憶されるファイル５０４は、従来の手法では、ファイルの効率的な検索をもたらす有意な方式では編成されない。
【００５４】
次に図６を参照すると、一実施形態による、中央クラスタ５０６上のサブコンテナへのファイル５０４の認知フィルタリングを提供するプロセスが記載されている。このプロセスは、様々な手法において、クエリに関連する可能性がより高いファイルを判断するために、中央クラスタ５０６に記憶されているファイル５０４を検索またはフィルタリングあるいはその両方を行う能力を向上させ、増強する。
【００５５】
ラビン−カープ文字列検索アルゴリズム、有限状態オートマトン式検索アルゴリズム、クヌート−モリス−プラット・アルゴリズムなどを含むがこれらには限定されない、任意の知られている検索アルゴリズムを、Ｇｏｏｇｌｅ（Ｒ）、Ｍｉｃｒｏｓｏｆｔ（Ｒ）、Ｂａｉｄｕ（Ｒ）、Ｔｅｎｃｅｎｔ（Ｒ）など、主要技術系企業によって提供されるプロプライエタリ・アルゴリズムとともに使用することができる。
【００５６】
中央クラスタ５０６上のファイル５０４を編成するために、ファイル５０４に記憶されているすべての非構造化データが、複数の従来の検索アルゴリズムのいずれかを使用して容易かつ効率的に検索可能なテキスト・ベースのファイルまたはテキスト注釈付きファイル（画像または映像ファイルあるいはその両方の場合、メタデータとして元のファイルにテキスト注釈を付加することができる）に変換される。この説明の残りの部分では、純粋なテキスト・ファイルと、コンテンツ混在テキスト注釈ファイルとを、テキスト・ベースのファイルと呼ぶこととする。ファイル５０４内の元のファイルがテキスト・ベースのファイルに変換されると、テキスト・ベースのファイルを返す任意の検索が元のファイルまでさかのぼることができるように、元のファイルと生成されたテキスト・ベースのファイルとの間の関連付けが行われる。
【００５７】
一実施形態では、非構造化データをテキスト・ベースのデータに変換するために、１つまたは複数のアプリケーション・プログラム・インターフェース（ＡＰＩ）を使用することができる。非構造化データをテキスト・ベースのデータに変換するために、それぞれの種類の非構造化データが、その種類に適用される異なるＡＰＩを有し得る。一実施形態では、テキスト・ベースのデータへの変換のためにＩＢＭ（Ｒ）ＢｌｕｅＭｉｘ（Ｒ）Ｗａｔｓｏｎ  ＡＰＩを使用してもよい。
【００５８】
一実施形態によると、ファイル５０４内の特定のコンテンツまたは特定の非構造化データを検索するために設計された１つまたは複数の検索アルゴリズムを使用して、中央クラスタ５０６に記憶されているすべてのファイル５０４を検索することができる。一実施形態では、画像検索アルゴリズムを、その画像検索アルゴリズムを使用して画像データを含むファイルのそれぞれを検索することができるように、特に画像ファイルを検索し、検索で指定された画像を返すように構成することができ、指定された画像を含むファイルが画像検索によって返される。他の実装例では、画像データを含まないファイルにはこの画像検索アルゴリズムは適用されない。
【００５９】
別の例では、音声アルゴリズムを、その音声アルゴリズムを使用して音声データを含むファイルのそれぞれを検索することができるように、特に音声ファイルを検索し、検索で指定された音声データを返すように構成することができ、指定された音声データを含むファイルが音声検索によって返される。さらに他の例では、音声データを含まないファイルにはこの音声検索アルゴリズムは適用されない。
【００６０】
当然ながら、この説明を読めば当業者にはわかるように、カスタムまたはプロプライエタリあるいはその両方の非構造化データ形態を検索するように設計されたアルゴリズムを含めて、多くの他のコンテンツ固有データ検索アルゴリズムまたは非構造化データ検索アルゴリズムあるいはその両方を、様々な他の実施形態において中央クラスタ５０６上に記憶されているファイル５０４の検索および編成に使用することができる。
【００６１】
様々なファイル５０４（および最終的にはそれらに付随するファイル）に対してフィルタリングとグループ化を行うことができるように、中央クラスタ５０６に記憶されているテキスト・ベースのファイルまたはすべてのファイル５０４あるいはその両方のそれぞれの、１つまたは複数の関連カテゴリを判断するために、中央クラスタ５０６に記憶されているテキスト・ベースのファイルまたはすべてのファイル５０４あるいはその両方が分析される。カテゴリの関連性は、特定のユーザの関心事、例えばユーザが携わっている業務の種類、（例えば自宅、職場など、ユーザの）地理的場所、クエリの日付などに基づいて選択される。
【００６２】
様々な非限定的実施例では、中央クラスタ５０６に記憶されているテキスト・ベースのファイルまたはすべてのファイル５０４あるいはその両方を、個々のファイルに関連付けられている日付、個々のファイルで言及されているかまたは関連付けられているかあるいはその両方の地理的場所、個々のファイルが作成された地理的場所、個々のファイルの作成場所、個々のファイルの類似または共通する内容あるいはその両方（個々のファイル内のキーワードに基づくことができる）、個々のファイルの類似した使用、個々のファイルへのアクセス頻度などに従ってフィルタリングし、グループ化することができる。
【００６３】
別の非限定的実施例では、中央クラスタ５０６に記憶されているテキスト・ベースのファイルまたはすべてのファイル５０４あるいはその両方を、個々のファイル内に記憶されている１つの値、複数の値、または値の範囲あるいはその組合せに従ってフィルタリングし、グループ化することができ、これらの値は、日付、通貨、時間、仮想的または物理的場所、ユーザ・グループ、アクセス特権またはクエリの作成者にとって関心のある何らかの他の指定された値など、クエリで指定されているパラメータに関係する値である。指定される関心値は、業務、教育、研究、またはそのためにデータが分散記憶システムに記憶されている関心あるいはその組合せに関係する重要性を有する任意のものであってよい。いくつかの実施例では、医療産業用途の場合に、指定される関心値は、１つまたは複数の患者分類（例えば、年齢、性別、人種、現状など）、１つまたは複数の状態分類（例えば、癌、喘息、咽頭炎、関節炎など）、１つまたは複数の検査分類（例えば、放射線検査、遺伝子検査、健康診断など）などとすることができ、金融業用途の場合、指定される関心値は、１つまたは複数のティッカー・シンボル（例えば、ＭＳＦＴ、ＩＮＴＬ、Ｔなど）、１つまたは複数の業種（例えば、技術、ソフトウェア、製薬、製造など）、１つまたは複数の評価指標（例えば、資本総額１０億、小型、中型、大型など）などとすることができ、薬理学業務用途の場合、指定される関心値は、１つまたは複数の薬品に基づく分類（例えば、スタチン、カフェイン、ベンゾジアゼピン、フェンタニル、アセトアミノフェン、モルヒネ、アヘン剤、オキシコドンなど）、治療に関連付けられた１人または複数の科学者、１つまたは複数の治療用途（鎮痛剤、膨張抑制剤、局所麻酔薬など）、１つまたは複数の投薬量などとすることができる。
【００６４】
当業者ならこの説明を読めばわかるように、特定の関心値は、様々な実施形態で、特定の用途とその特定の関心値を利用する特定のクエリとに基づいて定義されたカスタム値とすることができる。
【００６５】
さらに別の非限定的実装例では、中央クラスタ５０６に記憶されているテキスト・ベースのファイルまたはすべてのファイル５０４あるいはその両方を、中央クラスタ５０６によって測定される個々のファイルに含まれる情報の人気度と、特定のファイルがローカル・クラスタ５０８のうちの１つに何回複製されたかに従ってフィルタリングし、グループ化することができる。
【００６６】
別の実施形態によると、グループ内にサブグループを作成することができ、特定のグループ内に木構造でサブグループの複数の追加の階層が存在してもよい。このようにして、特定のグループに分類されたファイルを、その特定のグループよりもさらに緻密なサブグループに分類することができる。例えば、場所ごとにグループ化する場合、国が最上位グループを占め、次に州または県のサブグループが続き、その次に市のサブグループ、次に市内の区域のサブグループなどが続いてもよい。
【００６７】
一実施形態では、このフィルタリングおよびグループ化動作は、中央クラスタ５０６に新規ファイルが追加されたときに、それらのファイルが効率的かつ、分散システム５００の他の機能にほとんど影響を与えずに変換され（必要な場合）、分類されるように、中央クラスタ５０６で実行される連続バックグラウンド・プロセスとして実行可能である。別の実施形態では、フィルタリングおよびグループ化動作は、定期的に、またはトリガ・イベントが行われるのに応答して実行されてもよい。中央クラスタ５０６への新規ファイルの追加、中央クラスタ５０６上でのファイルの修正、中央クラスタ５０６への所定閾値量のファイルの追加または修正あるいはその両方、管理者からの明示的要求など、任意の適合するトリガ・イベントを使用することができる。
【００６８】
一実施形態では、中央クラスタ５０６に記憶されているテキスト・ベースのファイルまたはすべてのファイル５０４あるいはその両方を、１つまたは複数のキーワードに従ってフィルタリングし、グループ化することができる。キーワードは、様々なローカル・クラスタ５０８と対話する複数のユーザからの入力に基づいて自動的に作成されてよく、所定の期間に最も多くクエリされた用語を表してもよい。
【００６９】
ローカル・クラスタ上でクエリが実行されると、ファイル５０４のうちのどのファイルがそのクエリを満足させるかを判断するために、そのクエリまたはそのクエリを示す何らかの標識が、典型的には中央クラスタ５０６に送信される。クエリの標識は、クエリ自体、または、以前に受信したかまたは将来受信すると予期されるかあるいはその両方の１組のクエリ、または、将来のクエリの基礎をなし得る１人または複数のユーザによって示された関心、あるいはこれらの組合せとすることができ、そのような将来のクエリのためにデータをプリフェッチするために使用することができる。検索クエリ、分析クエリによって返される基礎にあるデータに関する何か（例えば、クエリにおけるデータ間の１つまたは複数の側面、特性、類似点、または相違点あるいはその組合せ）を判断する分析クエリなど、任意の種類のクエリを使用することができる。従来は、ファイル５０４のすべてがクエリを要求するローカル・クラスタに複製される。別の従来の手法では、ローカル・クラスタ５０８のうちの１つに作業負荷を押し付けるはなく、クエリが中央クラスタ５０６上で実行される場合があり、それによって中央クラスタ５０６の貴重な資源を使い果たす場合がある。
【００７０】
図７に示すように、一般的なクエリを満足させるために認知的に作成されるグループ５１６が中央クラスタ５０６上に事前に存在することに応えて、すべてのファイル５０４をクエリ５１４の発信元のローカル・クラスタ５１８に複製するのではなく特定のクエリ５１４に関連するファイルを迅速に判断してクエリの発信元のローカル・クラスタ５１８上に複製することができる。これにより、中央クラスタ５０６の資源（例えば記憶空間、プロセッサ能力など）を使用して結果をフィルタリングしたり、ファイル５０４のうちのどのファイルがクエリに関連するかを判断するためにローカル・クラスタ５１８に複製された後にすべてのファイル５０４をフィルタリングしたりする必要がないため、従来のプロセスよりも大幅な資源の節減になる。これは、１つには、ローカル・クラスタ５１８の資源がファイル５０４のサブセット、例えば、クエリ５１４の受信時に中央クラスタ５０６によって判断された、クエリに関係する中央クラスタ５０６上の１つまたは複数の特定のグループ５２０内のファイルをフィルタリングするためにのみ使用されるためである。
【００７１】
中央クラスタ５０６のファイル５０４のうちの少なくとも一部に対してフィルタリングとグループ化を行った後、ファイル５０４をグループ化するために使用された様々なフィルタが、既存のグループの有用性と、中央クラスタ５０６上のグループのローカル・クラスタ５０８の使用パターンとに基づいて、経時的に学習し、適応化する。この学習により、将来受け取られるクエリに応答して使用される中央クラスタ５０６の資源が少なくなるように、受け取ったクエリに対する関連度がより高いファイルを含むグループを提供することができるようにフィルタが調整される。当然ながら、どのようなクエリを受け取るかを完ぺきに予測する方法はないが、高性能な学習するフィルタは、全受信クエリの９０％を超えるクエリに応じるために使用することができるグループを提供可能となる可能性があり、残りのクエリには中央クラスタ５０６上のファイル５０４をフィルタリングした後の結果で応答することができる。フィルタの学習および適応化により、ファイル５０４に加えられた変更に応じて、新規グループの追加、１つまたは複数のグループ内にあるファイルの修正、１つまたは複数の既存グループの除去などにより、様々なグループ５１６が変更または修正あるいはその両方がなされるようにすることができる
【００７２】
別の実施形態では、１つまたは複数の新規ファイルをグループに追加する、１つまたは複数の既存のファイルをグループから除去する、特定のファイルがどのグループに属するかを変更するなどにより、変化に応じて任意の単一のグループ（グループ５２０など）にグループ化されている個別のファイルを経時的に変更または修正あるいはその両方をすることができる。
【００７３】
フィルタリングされた結果の基礎にある生データに加えられた変更（例えば生データの変更によりファイルが１つのグループに関連しなくなるか、またはファイルがまだ加えられていなかったグループに関連するようになることがある、あるいはその両方）、グループ化の成功度を測定するパフォーマンスに基づく測度（例えば、グループ化がローカル・クラスタ５０８から提示されたクエリのための資源の節減にどの程度成功しているか）、特定のグループ内のファイルの人気度（例えば、特定のグループがローカル・クラスタに複製される頻度とすべてのグループの正規化平均との関係）、分類法の変更など、中央クラスタにおける個別のファイルのグループ化およびグループ５１６自体の任意の関連する変化を考慮に入れることができる。
【００７４】
別の実施形態では、任意の特定のローカル・クラスタ上で（または他の実施形態ではすべてのローカル・クラスタ５０８上で）どのグループ５１６を維持するか、および、より頻繁にアクセスされる情報またはより最近に要求された情報のためにスペースを空けるためにどのグループを削除するかを（または上書きを許容するか）決定するために、キャッシュ・エビクション・ポリシーを使用することができる。例えば、クエリがローカル・クラスタ（ローカル・クラスタ５１８など）上で実行されることに応えてグループ（グループ５０２など）がそのローカル・クラスタに複製された後、キャッシュ・エビクション・ポリシーの求めるところに従って１週間、１日、１２時間、３時間などの所定期間、そのグループをそのローカル・クラスタ内で維持することができる。最初のクエリにのみ使用されるグループとは異なり、（グループ内のすべてのファイルであるかグループの何らかのサブグループであるかを問わず）グループが別のクエリのために使用されるとそれに応えて、そのグループが延長期間（最初のクエリ後、２番目のクエリまでの時間＋所定期間）の間、ローカル・クラスタ上に留まっているように、その特定のグループのために所定時間が継続してもよい。
【００７５】
１つまたは複数のキャッシュ・エビクション・ポリシーの求めるところに従ってローカル・クラスタ（ローカル・クラスタ５１８など）上でグループ（グループ５２０など）を維持する期間は、一実施形態ではる単一のローカル・クラスタ、別の実施形態では、ローカル・クラスタのサブセット、または、さらに別の実施形態では、すべてのローカル・クラスタ５０８に全体的に適用されるように設定することができる。管理者がキャッシュ・エビクション・ポリシーを適宜に設定してもよい。
【００７６】
このようにして、クエリがグループ（グループ５２０など）のファイルにアクセスすることを要求するたびにそのグループの基礎にあるファイルをローカル・クラスタに再度複製しなくても済むように、そのグループがそのローカル・クラスタ（ローカル・クラスタ５１８など）上に留まっている限り、最初のクエリが実行された後、そのグループを１回または複数回再利用することができる。
【００７７】
一実装例では、図８に示すように、医療データ６０２を管理する分散システム６００の場合、「Ｘ線」に関わる医療データについて分散システム６００に記憶されているデータに対してクエリ６０６が実行されものとする。また、中央クラスタ６０４が、中央クラスタ６０４に記憶されている医療データ６０２を、例えば、「Ｘ線」６０８、「ＰＥＴスキャン」６１０、「ＣＴスキャン」６１２、「超音波」６１４などの医療の種類ごとに、すでにグループ化しているものとする。「Ｘ線」のクエリに応答して、グループ「Ｘ線」６０８内にあるデータのみが、クエリの発信元であるローカル・クラスタ６１６に送信される。その後、グループ「Ｘ線」６０８内にあるデータに対する分析クエリを実行するために、中央クラスタ６０４の資源ではなく、ローカル・クラスタ６１６の資源が使用される。また、ローカル・クラスタ６１６での追加のクエリでデータを再使用することができるように、元のクエリから時間が経過するに伴って、グループ「Ｘ線」６０８内にあるデータがローカル・クラスタ６１６から追い出される時点をキャッシュ・エビクション・ポリシーにより決定することができる。
【００７８】
次に図９を参照すると、一実施形態による方法７００が示されている。方法７００は、様々な実施形態において、特に、図１ないし図８に示す環境のいずれかにおいて本発明により実行することができる。当然ながら、この説明を読めば当業者にはわかるように、図９に具体的に記載されている動作よりも多いかまたは少ない動作も方法７００に含めることができる。
【００７９】
方法７００の各ステップは、動作環境の任意の適合する構成要素によって実行可能である。例えば、様々な実施形態において、方法７００は一部または全体がマイクロプロセッサ、サーバ、コンピューティング・デバイスのクラスタ（例えば中央クラスタ）、１つまたは複数のプロセッサを内蔵する処理回路、または、１つまたは複数のプロセッサを含む他の何らかのデバイスによって実行可能である。方法７００の１つまたは複数のステップを実行するために、処理回路、例えば、プロセッサ、チップ、または、ハードウェアまたはソフトウェアあるいはその両方で実装され、好ましくは少なくとも１つのハードウェア・コンポーネントを有するモジュールあるいはその組合せを、任意のデバイスにおいて利用可能である。例示のプロセッサには、ＭＰＵ、ＣＰＵ、ＡＳＩＣ、ＦＰＧＡなど、またはその組合せ、または当技術分野で知られている任意の他の適合するコンピューティング・デバイスが含まれるが、これらには限定されない。
【００８０】
図９に示されるように、方法７００は動作７０２で開始し、分散ファイル・システムの中央クラスタに記憶されている複数のファイルが、それらの複数のファイルに対するクエリを受け取る前に、複数のファイルの独立した各部分を複数のグループに入れるために、そのようなフィルタリングのために設計されたフィルタを使用してフィルタリングされる。このフィルタリング・プロセスでは、複数のグループの各グループ内のファイルは、日付、ユーザ、地理的場所、内容（例えば、ファイルがその情報に関係するか、そのための情報を含むか、その情報を記載しているなど、人物、場所、概念、考え、物など、ファイルに含まれる情報の種類）、種類（テキスト、音声、映像など）、サイズ、記憶場所などの共通の検索可能な特性を共有しているために、一緒にグループ化される。
【００８１】
動作７０４で、中央クラスタでクエリの標識が受信される。この標識は、クエリ自体、または、クエリを記述しているファイルまたは参照、または、クエリの意図された目的（例えば、クエリの種類、またはクエリの目的ファイルまたはファイルの種類あるいはその組合せなど）、あるいはその組合せとすることができる。
【００８２】
動作７０６で、複数のグループのうちのクエリに対応する１つまたは複数のグループのファイルを、分散ファイル・システムの、クエリの標識を提供したローカル・クラスタに複製することによってクエリに応答する。ローカル・クラスタは、中央クラスタとは地理的に異なり、例えば、ローカル・クラスタは異なる地理的場所に位置する。
【００８３】
どのファイルがそのクエリに関係するかは、中央クラスタ上のファイルのキーワード・グループ化に基づいて判断することができる。例えば、クエリが特定のＺＩＰコード内のすべての住宅の不動産譲渡証書を検査している場合、中央クラスタは、要求されたＺＩＰコード内の不動産譲渡証書のみを含むサブグループによって絞り込みされた、不動産譲渡証書を有するすべてのファイルを含むグループからファイルを返すことができる。
【００８４】
他の実施形態では、方法７００は、中央クラスタにおいて１つまたは複数の供給源から複数のファイルを受信することを含み得る。供給源は、分散ファイル・システムのローカル・クラスタ、ホスト、サーバ、インターネット、分散ファイル・システムにデータを供給するＳＡＮなど、データおよびファイルの任意の適合する供給源であってよい。複数のファイルは、ある種の手法ではテキストと非構造化データとを含む。非構造化データは、画像データ、音声データ、プロプライエタリ・フォーマット・データ・ファイルなどを含み得る。また、方法７００は、複数のファイルを中央クラスタに記憶することと、中央クラスタにおいて非構造化データをテキストに変換することとを含むことができる。このようにして、画像、映像、音声などであっても、ローカル・クラスタからのクエリに応答してそのローカル・クラスタに提供するために中央クラスタ上で論理サブコンテナにグループ化することができるように、非構造化データから変換された後のファイルのテキストにフィルタを適用することができる。
【００８５】
別の実施形態によると、方法７００は、中央クラスタにおいて受け取るクエリで一般的に要求されるファイルを含む複数のグループを作成するために、１つまたは複数の要因(factor)に基づいてフィルタを生成することを含み得る。これらの要因は、１つまたは複数のファイルに関連付けられた日付、１つまたは複数のファイルに関連付けられた１人または複数のユーザ、１つまたは複数のファイルの選択された内容または１つまたは複数のキーワードあるいはその両方、１つまたは複数のファイルに関連付けられた地理的場所などを含み得るが、これらには限定されない。他の要因には、共通のグループにまとめられたファイル内の類似または共通あるいはその両方の内容を判断するためにファイルと照合して検索されるキーワードが含まれ得る。また、フィルタは、中央クラスタで受け取るクエリで一般的に要求されるファイルを一緒にグループ化するように経時的に適応化させることができる。このようにして、次第に多くのクエリが受け取られるにつれて、フィルタは、クエリに効率的に応答するように中央クラスタ上に記憶されているファイルの最適グループ化を学習することができる。例えば、ファイルの特定のサブセットに対するクエリを複数回受け取った場合、同じファイルのサブセットに対するその後の各クエリについてそのファイルのサブセットを返すことができるように、そのファイルのサブセットを含むグループを作成することができる。この種の学習および適応化は、グループを作成するための１回だけでなくクエリが要求されるたびにこのような結果を毎回フィルタリングするのに要することになるはずの、中央クラスタにかかる資源負担を軽減するのに有効である。
【００８６】
フィルタは、特定のグループ内のファイルが１つまたは複数のその後受け取られるクエリに関連する可能性を向上させるように、中央クラスタの管理者またはフィルタにアクセスすることができる他の何らかのシステムなどによって手動で生成されてもよい。別の実施形態では、フィルタを作成して特定のグループ内のファイルが中央クラスタ上でその後受け取られるクエリに関連する可能性を最大限にするために、中央クラスタまたはフィルタにアクセスすることができる他の何らかのシステムによってフィルタが自動的に認知的かつインテリジェントに生成されてもよく、それによって、システムのユーザからの入力をなくすかまたは大幅に減らすことができる。
【００８７】
別の実施形態では、方法７００は中央クラスタに記憶されている複数のファイルに加えられた変更を考慮に入れるように複数のグループを更新することを含むことができる。時間の経過とともにファイルが変化するにつれて、グループとグループ内のファイルの構成要素も変化する。したがって、複数のグループの更新が、所定のスケジュールに基づいて定期的に、またはバックグラウンド動作として連続的に、またはトリガ・イベントに応答して行われてもよい。複数のグループを更新するために、１つまたは複数のグループの除去、１つまたは複数のグループの追加、特定のグループへの１つまたは複数のファイルの追加、特定のグループからの１つまたは複数のファイルの除去を含むがこれらには限定されない、様々な異なるアクションを行うことができる。グループとその構成要素が更新されるように、任意の適合するトリガ・イベントを使用することができる。さらに他の実施形態では、トリガ・イベントは、中央クラスタ上の既存ファイルの削除、中央クラスタへの新規ファイルの追加、中央クラスタへの新しいファイルの種類の追加、および中央クラスタのテキスト変換プロセスの更新を含み得るがこれらには限定されない。
【００８８】
方法７００は、システムまたはコンピュータ・プログラム製品あるいはその両方で実装可能である。例えば、システムは、処理回路と、処理回路に組み込まれ、処理回路によって実行可能なロジック、または処理回路に組み込まれかつ処理回路により実行可能なロジックとを含み得る。組み込まれているとは、処理回路がハードコードされたロジックが組み込まれたＡＳＩＣ、ＦＰＧＡなどのハードウェア・プロセッサであることを意味する。実行可能とは、プロセッサが、ソフトウェア・ロジックによって指示された機能を実現するためにソフトウェア・ロジックを実行するように構成されていることを意味し、プロセッサは場合によりＭＰＵ、ＣＰＵ、マイクロプロセッサなどである。ロジックは、処理回路に方法７００を実行させるように構成される。
【００８９】
別の実装例では、コンピュータ・プログラム製品が、プログラム命令が具現化されているコンピュータ可読記憶媒体を含み得る。コンピュータ可読記憶媒体は、情報を記憶し、記憶されている情報へのコンピュータ・アクセスを可能にするように構成された、当技術分野で知られている任意の適合するストレージ・デバイスとすることができる。具現化されたプログラム命令は、処理回路に方法７００を実行させるように、処理回路により実行可能である。
【００９０】
次に図１０を参照すると、一実施形態による方法８００が示されている。方法８００は、様々な実施形態において、特に図１ないし図９に示す実施形態のいずれかにおいて本発明により実行することができる。当然ながら、この説明を読めば当業者にはわかるように、図１０に具体的に記載されている動作よりも多いかまたは少ない動作も方法８００に含めることができる。
【００９１】
方法８００の各ステップは、動作環境の任意の適合する構成要素によって実行可能である。例えば、様々な実施形態において、方法８００は一部または全体がマイクロプロセッサ、サーバ、コンピューティング・デバイスのクラスタ（例えばローカル・クラスタ）、１つまたは複数のプロセッサを内蔵する処理回路、または、１つまたは複数のプロセッサを含む他の何らかのデバイスによって実行可能である。方法８００の１つまたは複数のステップを実行するために、処理回路、例えば、例えばプロセッサ、チップ、または、ハードウェアまたはソフトウェアあるいはその両方で実装され、好ましくは少なくとも１つのハードウェア・コンポーネントを有するモジュールあるいはその組合せを、任意のデバイスにおいて利用可能である。例示のプロセッサには、ＭＰＵ、ＣＰＵ、ＡＳＩＣ、ＦＰＧＡなど、またはその組合せ、または当技術分野で知られている任意の他の適合するコンピューティング・デバイスが含まれるが、これらには限定されない。
【００９２】
図１０に示すように、方法８００は動作８０２で開始し、クエリに関連するファイルを見つけるために分散ファイル・システムのローカル・クラスタが検索またはその他の方法で走査される。ファイルがローカル・クラスタ上にすでに存在する場合に中央クラスタとのやり取りが確実に最小限になるようにするために、この動作は分散ファイル・システムの中央クラスタにクエリの標識を送信する前に行われる。
【００９３】
また、他の実施形態では、クエリに関連するファイルがローカル・クラスタ上に存在すると判断した後、ローカル・クラスタに複製されてから中央クラスタ上で既存のファイルのいずれかが更新されたか否かを判断するために、中央クラスタに別個のクエリが送信されてもよく、更新されたファイルがある場合、ローカル・クラスタに記憶された古くなったファイルを置き換えるために、その更新されたファイルがローカル・クラスタに複製される。
【００９４】
動作８０４で、関連するファイルがローカル・クラスタに記憶されていないとの判断に応答して、クエリの標識が中央クラスタに送信される。一実施形態では、クエリ自体が標識として送信されてもよい。他の実施形態では、標識は、パラメータ値、日付、時刻、場所、ユーザなど、中央クラスタがクエリに関連する可能性があるファイルを判断するために必要な関連情報を含む。
【００９５】
動作８０６で、クエリに関連するファイルのグループがローカル・クラスタで受け取られる。一実施形態では、このファイルのグループは、クエリの標識が中央クラスタに送信され、中央クラスタによって受け取られることに応答して中央クラスタにより送信される。このファイルのグループは、一実施形態では、クエリの標識が中央クラスタに送信される前に中央クラスタ上にすでに存在していてもよく、それによって、クエリに対する迅速な応答を可能にするとともに、ローカル・クラスタが受け取ったファイルのグループについてクエリを実行することができるようにし、中央クラスタがそのようなアクションを行う必要がない。
【００９６】
動作８０８で、ファイルのグループは、中央クラスタに記憶されているすべてのファイルは含まないという条件で、ファイルのグループに対してクエリが実行される。単一のクエリ内での複合機能または複数の分析プロセスあるいはその両方を含み得る分析クエリ、検索クエリ、追加クエリ、削除クエリ、テーブル作成クエリなど、任意の適合するクエリを実行することができる。
【００９７】
動作８１０で、キャッシュ・エビクション・ポリシーに従ってファイルのグループの最後のアクセスから始まる所定の期間、ファイルのグループがローカル・クラスタ上に記憶される。このようにして、ファイルのグループの同一または重なる部分を利用する後続のクエリがローカル・クラスタによって発信された場合に、このファイルのグループを中央クラスタから複製する必要がなく、それによって中央クラスタとネットワーク全般の資源が節減される。
【００９８】
ローカル・クラスタの限られた記憶空間をよりよく利用し、ローカル・クラスタの資源使用を最大限にし、中央クラスタの資源使用を最小限にするために、ローカル・クラスタに記憶されているファイルを有効に管理するように、管理者によってキャッシュ・エビクション・ポリシーが作成または調整されてもよく、作成および調整されてもよい。
【００９９】
方法８００は、システムまたはコンピュータ・プログラム製品あるいはその両方で実装可能である。例えば、システムは、処理回路と、処理回路に組み込まれ、処理回路によって実行可能なロジック、または処理回路に組み込まれかつ処理回路により実行可能なロジックとを含み得る。組み込まれているとは、処理回路がそれに組み込まれたハードコードされたロジックを有する、ＡＳＩＣ、ＦＰＧＡなどのハードウェア・プロセッサであることを意味する。実行可能とは、プロセッサが、ソフトウェア・ロジックによって指示された機能を実現するためにソフトウェア・ロジックを実行するように構成されていることを意味し、プロセッサは場合によりＭＰＵ、ＣＰＵ、マイクロプロセッサなどである。ロジックは、処理回路に方法８００を実行させるように構成される。
【０１００】
別の実装例では、コンピュータ・プログラム製品が、プログラム命令が具現化されているコンピュータ可読記憶媒体を含み得る。コンピュータ可読記憶媒体は、情報を記憶し、記憶されている情報へのコンピュータ・アクセスを可能にするように構成された、当技術分野で知られている任意の適合するストレージ・デバイスとすることができる。具現化されたプログラム命令は、処理回路に方法８００を実行させるように、処理回路により実行可能である。
【０１０１】
本発明は、システム、方法またはコンピュータ・プログラム製品あるいはその組合せとすることができる。コンピュータ・プログラム製品は、プロセッサに本発明の態様を実施させるためのコンピュータ可読プログラム命令が記憶されたコンピュータ可読記憶媒体（または複数の媒体）を含み得る。
【０１０２】
コンピュータ可読記憶媒体は、命令実行デバイスによって使用される命令を保持し、記憶することができる有形デバイスとすることができる。コンピュータ可読記憶媒体は、例えば、電子ストレージ・デバイス、磁気ストレージ・デバイス、光学式ストレージ・デバイス、電磁気ストレージ・デバイス、半導体ストレージ・デバイス、またはこれらの任意の適合する組合せであってよいが、これらには限定されない。コンピュータ可読記憶媒体のより具体的な例の非網羅的なリストには以下のものが含まれる。すなわち、可搬コンピュータ・ディスケット、ハードディスク、ランダム・アクセス・メモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、消去可能プログラマブル読み取り専用メモリ（ＥＰＲＯＭまたはフラッシュ・メモリ）、スタティック・ランダム・アクセス・メモリ（ＳＲＡＭ）、可搬コンパクト・ディスク読み取り専用メモリ（ＣＤ−ＲＯＭ）、デジタル多用途ディスク（ＤＶＤ）、メモリ・スティック、フロッピィ・ディスク、パンチカードまたは命令が記録された溝内の隆起構造などの機械的に符号化されたデバイス、およびこれらの任意の適合する組合せが含まれる。本明細書で使用されるコンピュータ可読記憶媒体とは、電波またはその他の自由に伝播する電磁波、導波路またはその他の伝送媒体を伝播する電磁波（例えば光ファイバ・ケーブルを通る光パルス）、または電線を介して伝送される電気信号などの、一過性の信号自体であると解釈すべきではない。
【０１０３】
本明細書に記載のコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれのコンピューティング／処理デバイスに、または、ネットワーク、例えばインターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、または無線ネットワークあるいはこれらの組合せを介して外部コンピュータまたは外部記憶デバイスにダウンロードすることができる。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、交換機、ゲートウェイ・コンピュータ、またはエッジ・サーバあるいはこれらの組合せを含み得る。各コンピューティング／処理デバイスにおけるネットワーク・アダプタ・カードまたはネットワーク・インターフェースが、ネットワークからコンピュータ可読プログラム命令を受信し、それらのコンピュータ可読プログラム命令を、それぞれのコンピューティング／処理デバイス内のコンピュータ可読記憶媒体への記憶のために転送する。
【０１０４】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、インストラクション・セット・アーキテクチャ（ＩＳＡ）命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、または、Ｓｍａｌｌｔａｌｋ（Ｒ）、Ｃ＋＋などのオブジェクト指向プログラミング言語、および「Ｃ」プログラミング言語、または同様のプログラム言語などの従来の手続き型プログラミング言語を含む、１つまたは複数のプログラミング言語の任意の組合せで書かれたソース・コードまたはオブジェクト・コードとすることができる。コンピュータ可読プログラム命令は、スタンドアロン・ソフトウェア・パッケージとして全体がユーザのコンピュータ上で、または一部がユーザのコンピュータ上で、または一部がユーザのコンピュータ上で一部がリモート・コンピュータ上で、または全体がリモート・コンピュータまたはサーバ上で実行されてもよい。後者の場合、リモート・コンピュータは、ローカル・エリア・ネットワーク（ＬＡＮ）またはワイド・エリア・ネットワーク（ＷＡＮ）を含む、任意の種類のネットワークを介してユーザのコンピュータに接続することができ、または接続は外部コンピュータ（例えば、インターネット・サービス・プロバイダを使用してインターネットを介して）に対して行ってもよい。実施形態によっては、本発明の態様を実行するために、例えばプログラマブル・ロジック回路、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）、またはプログラマブル・ロジック・アレイ（ＰＬＡ）を含む電子回路が、コンピュータ可読プログラム命令の状態情報を使用して電子回路をパーソナライズすることにより、コンピュータ可読プログラム命令を実行することができる。
【０１０５】
本発明の態様について、本発明の実施形態による方法、装置（システム）、およびコンピュータ・プログラム製品を示すフローチャート図またはブロック図あるいはその両方を参照しながら説明している。フローチャート図またはブロック図あるいはその両方の図の各ブロックおよび、フローチャート図またはブロック図あるいはその両方の図のブロックの組合せは、コンピュータ可読プログラム命令によって実装可能であることはわかるであろう。
【０１０６】
これらのコンピュータ可読プログラム命令は、コンピュータまたはその他のプログラマブル・データ処理装置のプロセッサにより実行される命令が、フローチャートまたはブロック図あるいはその両方の１つまたは複数のブロックで規定されている機能／動作を実装する手段を形成するように、汎用コンピュータ、特殊目的コンピュータ、またはその他のプログラマブル・データ処理装置のプロセッサに供給されて、マシンを作り出すものであってよい。これらのコンピュータ可読プログラム命令は、命令が記憶されたコンピュータ可読記憶媒体が、フローチャートまたはブロック図あるいはその両方の１つまたは複数のブロックで規定されている機能／動作の態様を実装する命令を含む製造品を含むように、コンピュータ可読記憶媒体に記憶され、コンピュータ、プログラマブル・データ処理装置、またはその他の装置あるいはこれらの組合せに対して特定の方式で機能するように指示することができるものであってもよい。
【０１０７】
コンピュータ可読プログラム命令は、コンピュータ、その他のプログラマブル装置またはその他のデバイス上で実行される命令がフローチャートまたはブロック図あるいはその両方の１つまたは複数のブロックで規定されている機能／動作を実装するように、コンピュータ実装プロセスを作り出すべく、コンピュータ、その他のプログラマブル・データ処理装置、またはその他のデバイスにロードされ、コンピュータ、その他のプログラマブル装置、またはその他のデバイス上で一連の動作ステップを実行させるものであってもよい。
【０１０８】
図面中のフローチャートおよびブロック図は、本発明の様々な実施形態によるシステム、方法およびコンピュータ・プログラム製品の可能な実装形態のアーキテクチャ、機能および動作を示す。なお、フローチャートまたはブロック図の各ブロックは、規定されている論理機能を実装するための１つまたは複数の実行可能命令を含む、命令のモジュール、セグメント、または部分を表すことがある。他の実装形態では、ブロックに記載されている機能は、図に記載されている順序とは異なる順序で行われてもよい。例えば、連続して示されている２つのブロックは、関与する機能に応じて、実際には実質的に並行して実行されてよく、またはそれらのブロックは場合によっては逆の順序で実行されてもよい。また、ブロック図またはフローチャート図あるいはその両方の図の各ブロック、およびブロック図またはフローチャート図あるいはその両方の図のブロックの組合せは、規定されている機能または動作を実行する特殊目的ハードウェア・ベースのシステムによって実装可能であるか、または特殊目的ハードウェアとコンピュータ命令との組合せを実施することができることもわかるであろう。
【０１０９】
また、様々な実施形態によるシステムは、プロセッサと、プロセッサに組み込まれるかまたはプロセッサによって実行可能であるかあるいはその両方のロジックとを含み、ロジックは、本明細書に記載のプロセス・ステップのうちの１つまたは複数のプロセス・ステップを実行するように構成される。組み込まれているとは、プロセッサにＡＳＩＣ、ＦＰＧＡなどのハードウェア・ロジックとしてロジックが埋め込まれていることを意味する。プロセッサによって実行可能であるとは、ロジックが、ハードウェア・ロジックであるか、または、ファームウェア、またはオペレーティング・システムの一部、アプリケーション・プログラムの一部などのソフトウェア・ロジックであるか、またはプロセッサによるアクセスが可能で、プロセッサによって実行されるとプロセッサに何らかの機能を実行させるように構成された、ハードウェアとソフトウェア・ロジックとの何らかの組合せであることを意味する。ソフトウェア・ロジックは、当技術分野で知られている任意のメモリ・タイプのローカル・メモリまたはリモート・メモリあるいはその組合せに記憶可能である。ソフトウェア・プロセッサ・モジュール、またはＡＳＩＣ、ＦＰＧＡ、ＣＰＵ、集積回路（ＩＣ）、グラフィクス処理ユニット（ＧＰＵ）などのハードウェア・プロセッサ、あるいはその組合せなど、当技術分野で知られている任意のプロセッサを使用することができる。
【０１１０】
上記のシステムまたは方法あるいはその両方の様々な特徴を任意に組み合わせて、上記の説明から複数の組合せを作成可能であることは明らかであろう。
【０１１１】
以上、様々な実施形態について説明したが、これらの実施形態は例として示したに過ぎず、限定ではないことを理解されたい。したがって、好ましい実施形態の広さおよび範囲は、上記の例示の実施形態のいずれによっても限定されるべきではなく、添付の特許請求の範囲およびその均等物によってのみ規定されるべきである。
【図１】
2020528614.tif 000003
【図２】
2020528614.tif 000004
【図３】
2020528614.tif 000005
【図４】
2020528614.tif 000006
【図５】
2020528614.tif 000007
【図６】
2020528614.tif 000008
【図７】
2020528614.tif 000009
【図８】
2020528614.tif 000010
【図９】
2020528614.tif 000011
【図１０】
2020528614.tif 000012
【国際調査報告】
2020528614.tif 000013
2020528614.tif 000014