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