JP2020528617A - ストレージ環境のための認知データ・フィルタリングをする方法、コンピュータ・プログラムおよびシステム - Google Patents

ストレージ環境のための認知データ・フィルタリングをする方法、コンピュータ・プログラムおよびシステム Download PDF

Info

Publication number
JP2020528617A
JP2020528617A JP2020502995A JP2020502995A JP2020528617A JP 2020528617 A JP2020528617 A JP 2020528617A JP 2020502995 A JP2020502995 A JP 2020502995A JP 2020502995 A JP2020502995 A JP 2020502995A JP 2020528617 A JP2020528617 A JP 2020528617A
Authority
JP
Japan
Prior art keywords
data
query
groups
cognitive
requesting device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2020502995A
Other languages
English (en)
Other versions
JP7124051B2 (ja
JP2020528617A5 (ja
Inventor
バラチャンドラン、スバシーニ
チャン、ルイ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2020528617A publication Critical patent/JP2020528617A/ja
Publication of JP2020528617A5 publication Critical patent/JP2020528617A5/ja
Application granted granted Critical
Publication of JP7124051B2 publication Critical patent/JP7124051B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • G06F16/24534Query rewriting; Transformation
    • G06F16/24549Run-time optimisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/14Details of searching files based on file metadata
    • G06F16/148File search processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/335Filtering based on additional data, e.g. user or group profiles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Computational Linguistics (AREA)
  • Library & Information Science (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】ストレージ環境のための認知データ・フィルタリングをする方法、コンピュータ・プログラム製品およびシステムを提供する。【解決手段】ストレージ環境におけるデータの認知フィルタリング方法が、複数のグループを作成するために1つまたは複数の事項に基づいて複数の認知データ・フィルタを生成することを含む。この方法は、グローバル・データ・リポジトリでクエリを受け取る前に、グローバル・データ・リポジトリによって受け取られたデータを、複数の認知データ・フィルタを使用して認知フィルタリングしてデータの独立した各部分を複数のグループに入れることも含む。複数のグループの各グループ内のデータは共通の定義可能な特性を共有する。【選択図】図10

Description

本発明は、データ・フィルタリングに関し、より詳細には、ストレージ環境のための認知データ・フィルタリングに関する。
中央分散クラスタ化ファイル・システムなど、大量のデータを記憶する大規模ファイル・システムは、すべての許可されたユーザに、ファイル・システム内に記憶されているすべてのファイルまたはオブジェクトあるいはその両方にアクセスさせることができる。ユーザがファイル・システム上のデータにアクセスしたい場合、一般には、コントローラまたはストレージ・マネージャにクエリが送信され、グローバル・データ・リポジトリからそのようなクエリに応答するのにどのデータが適切であるかが判断される。しかし、グローバル・データ・リポジトリに記憶されている大量のデータを走査し、検索するこのタスクは、資源集約的であり、このようなクエリに応答するのに遅延を生じさせるとともに、ファイル・システムを他のクエリと動作のために使用する際にレイテンシが加えられる。
また、ビッグ・データ分析は、グローバル・データ・リポジトリに記憶されているデータのきわめて大きな部分(またはすべて)の走査を必要とすることがある。すべてのクエリをグローバル・データ・リポジトリ上で直接行うのは資源集約度が高過ぎることがあり、したがって、グローバル・データ・リポジトリからすべてのデータを、グローバル・データ・リポジトリにアクセスすることができるコントローラ以外の他のデバイスにコピーすることによって、その他方のデバイス上でクエリが実行される場合がある。場合によっては、分析動作の実行後、コピーされたデータがその他方のデバイスから削除され、これによって、その後また分析動作を実行するためにグローバル・データ・リポジトリから再びすべてのデータをコピーする必要が生じる。また、他の場合には、コピーされたデータがキャッシュされる場合があり、これには、その他方のデバイス上で莫大な量のローカル・ストレージを必要とする。いずれの場合も、分析動作でどのデータを使用するのか、グローバル・データ・リポジトリ上でまだコピーされていない可能性のあるデータは何かを判断する判断機能がないために、コピーされるデータはグローバル・データ・リポジトリ内のすべてのデータを含んでいる。また、分析動作で、コピーされたデータのすべてが使用されるわけではなく、クエリを処理する際に単にドロップインされるだけであり、したがって、ネットワーク回線容量、処理能力、メモリ容量、時間など、かなりの資源が無駄に消費される。
あるいは、グローバル・データ・リポジトリにすべてのクエリを処理する十分な処理能力がある場合でも、クエリ処理を高速化するためにデータがキャッシュされる(すなわち、グローバル・データ・リポジトリのローカル・メモリにコピーされ、保存される)ことがある。このようにしてクエリを実行する場合、他のデバイス上でクエリを実行するためにデータをコピーする場合と同様の資源コストがかかる。
従って発明が解決しようとする課題は、ストレージ環境のための認知データ・フィルタリングする方法、システム、およびコンピュータ・プログラムを提供することである。
一実施形態では、方法が、複数のグループを作成するために1つまたは複数の要因(factor)に基づいて複数の認知データ・フィルタを生成することと、グローバル・データ・リポジトリ上でクエリを受け取る前に、上記グローバル・データ・リポジトリによって受け取られたデータを上記複数の認知データ・フィルタを使用して認知フィルタリングして上記データの独立した各部分を上記複数のグループに入れることとを含む。上記複数のグループの各グループ内のデータは共通の定義可能な特性を共有している。
別の実施形態では、コンピュータ・プログラム製品が、プログラム命令が具現化されているコンピュータ可読記憶媒体を含む。コンピュータ可読記憶媒体は一過性の信号自体ではない。また、具現化されたプログラム命令は、処理回路に、処理回路によって、複数のグループを作成するために1つまたは複数の要因に基づいて複数の認知データ・フィルタを生成させるように、処理回路により実行可能である。さらに、具現化されたプログラム命令は、上記処理回路に、上記処理回路によって、グローバル・データ・リポジトリ上でクエリを受け取る前に、上記グローバル・データ・リポジトリによって受け取られたデータを上記複数の認知データ・フィルタを使用して認知フィルタリングして上記データの独立した各部分を上記複数のグループに入れさせるように、処理回路により実行可能である。上記複数のグループの各グループ内のデータは共通の定義可能な特性を共有している。
別の実施形態では、システムが、処理回路と、メモリと、上記メモリに記憶されたロジックとを含み、ロジックは上記処理回路によって実行されると、上記処理回路に、複数のグループを作成するために上記処理回路に1つまたは複数の要因に基づいて複数の認知データ・フィルタを生成させる。また、ロジックは、上記処理回路に、グローバル・データ・リポジトリ上でクエリを受け取る前に、上記グローバル・データ・リポジトリによって受け取られたデータを上記複数の認知データ・フィルタを使用して認知フィルタリングして上記データの独立した各部分を上記複数のグループに入れさせる。上記複数のグループの各グループ内のデータは共通の定義可能な特性を共有している。
さらに別の実施形態では、方法が、グローバル・データ・リポジトリにおいて1つまたは複数の供給源からデータを受け取ることを含む。データは、テキスト・データと非構造化データとを含む。この方法は、上記データを上記グローバル・データ・リポジトリに記憶することと、上記非構造化データをテキスト・ベースのデータに変換することも含む。さらに、この方法は、上記テキスト・ベースのデータを上記グローバル・データ・リポジトリに記憶することと、複数のグループを作成するために、1つまたは複数の要因に基づいて複数の認知データ・フィルタを生成することとを含む。上記要因は、1つまたは複数のキーワードを含む。また、この方法は、上記グローバル・データ・リポジトリ上でクエリを受け取る前に、上記複数の認知データ・フィルタを使用して上記データを認知フィルタリングして上記データの独立した各部分を上記複数のグループに入れることを含む。上記複数のグループの各グループ内のデータは共通の定義可能な特性を共有し、上記複数の認知データ・フィルタは上記非構造化データから変換された後の上記テキスト・ベースのデータに適用される。また、この方法は、上記クエリの標識を受け取ることと、上記複数のグループから上記クエリに対応する少なくとも1つのグループを判断し、プリフェッチすることとを含む。また、この方法は、上記クエリの上記標識を提供した要求元デバイスに上記少なくとも1つのグループ内のデータを複製することによって上記クエリに応答することと、上記クエリに関して上記要求元デバイスに提供された上記少なくとも1つのグループ内のデータの使用を示す標識を受け取ることとを含む。また、この方法は、上記要求元デバイスに提供された上記少なくとも1つのグループ内の上記データの使用に照らして測定される上記複数の認知データ・フィルタの有効度を向上させるために、上記複数の認知データ・フィルタを経時的に適応化することを含む。上記複数の認知データ・フィルタの有効度は、上記要求元デバイスに提供された上記少なくとも1つグループ内の上記データのうち上記クエリによって実際に利用される部分と、上記要求元デバイスに記憶され、上記クエリでの使用のために利用可能なすべてのデータのうち、上記少なくとも1つのグループ内で提供される割合と、のそれぞれに基づく。
本発明の他の態様および実施形態は、図面とともに読めば本発明の原理を例として示す以下の詳細な説明からわかるであろう。
本発明の一実施形態によるクラウド・コンピューティング・ノードを示す図である。 本発明の一実施形態によるクラウド・コンピューティング環境を示す図である。 本発明の一実施形態による抽象モデル層を示す図である。 一実施形態による階層的データ・ストレージ・システムを示す図である。 一実施形態による、効率的なクエリ処理のためにデータをフィルタリングし、グループ化するいくつかの段階における分散システムを示す図である。 一実施形態による、効率的なクエリ処理のためにデータをフィルタリングし、グループ化するいくつかの段階における分散システムを示す図である。 一実施形態による、効率的なクエリ処理のためにデータをフィルタリングし、グループ化するいくつかの段階における分散システムを示す図である。 例示の分散システムにおける効率的クエリ処理のためのデータのフィルタリングとグループ化とを示す図である。 一実施形態による、認知データ・フィルタリングを可能にするシステムを示す図である。 一実施形態による方法のフローチャートを示す図である。
以下の説明は、本発明の一般的原理を示す目的で行うものであり、本明細書で特許請求される本発明の概念を限定することを意図したものではない。また、本明細書に記載の特定の特徴は、考えられる様々な組合せおよび置換のそれぞれにおける他の記載されている特徴と組み合わせて使用することができる。
本明細書で特に定義されていない限り、すべての用語は、本明細書の記載から含意される意味と、当業者にわかる意味、または辞書、論文などで定義されている意味あるいはその両方とを含む、可能な最も広い解釈が与えられるべきものである。
また、本明細書および添付の特許請求の範囲で使用されている、単数形の「a」、「an」および「the」は、特に明記されていない限り複数も含むことにも留意すべきである。また、「含んでいる(comprises)」または「含む(comprising)」あるいはその両方の用語は、本明細書で使用されている場合、記載されている特徴、整数、ステップ、動作、要素または構成要素あるいはその組合せの存在を規定するが、1つまたは複数の他の特徴、整数、ステップ、動作、要素、構成要素またはこれらのグループあるいはその組合せの存在または追加を排除しないことがさらに理解される。本明細書で使用する「約」という用語は、当業者にはわかるように、「約」という用語の後の数値を「約」という用語の後の数値にかなり近い任意の数値とともに指す。特に示されていない場合、「約」という用語は、「約」という用語の後の数値±10%の数値を指す。例えば、「約10」は、9.0から11.0までのすべての値を9.0と11.0を含めて指す。
以下の説明では、ストレージ環境におけるファイルおよびオブジェクトを認知フィルタリングするためのシステム、方法およびコンピュータ・プログラム製品のいくつかの好ましい実施形態を開示する。
1つの一般的実施形態では、方法が、複数のグループを作成するために1つまたは複数の要因に基づいて複数の認知データ・フィルタを生成することと、グローバル・データ・リポジトリ上でクエリを受け取る前に、上記グローバル・データ・リポジトリによって受け取られたデータを上記複数の認知データ・フィルタを使用して認知フィルタリングして上記データの独立した各部分を上記複数のグループに入れることとを含む。上記複数のグループの各グループ内のデータは共通の定義可能な特性を共有している。
別の一般的実施形態では、コンピュータ・プログラム製品が、プログラム命令が具現化されているコンピュータ可読記憶媒体を含む。コンピュータ可読記憶媒体は一過性の信号自体ではない。また、具現化されたプログラム命令は、処理回路に、処理回路によって、複数のグループを作成するために1つまたは複数の要因に基づいて複数の認知データ・フィルタを生成させるように、処理回路により実行可能である。さらに、具現化されたプログラム命令は、上記処理回路に、上記処理回路によって、グローバル・データ・リポジトリ上でクエリを受け取る前に、上記グローバル・データ・リポジトリによって受け取られたデータを上記複数の認知データ・フィルタを使用して認知フィルタリングして上記データの独立した各部分を上記複数のグループに入れさせるように、処理回路により実行可能である。上記複数のグループの各グループ内のデータは共通の定義可能な特性を共有している。
別の一般的実施形態では、システムが、処理回路と、メモリと、上記メモリに記憶されたロジックとを含み、ロジックは上記処理回路によって実行されると、上記処理回路に複数のグループを作成するために1つまたは複数の要因に基づいて複数の認知データ・フィルタを生成させる。また、ロジックは、上記処理回路に、グローバル・データ・リポジトリ上でクエリを受け取る前に、上記グローバル・データ・リポジトリによって受け取られたデータを上記複数の認知データ・フィルタを使用して認知フィルタリングして上記データの独立した各部分を上記複数のグループに入れさせる。上記複数のグループの各グループ内のデータは共通の定義可能な特性を共有している。
さらに別の一般的実施形態では、方法が、グローバル・データ・リポジトリで1つまたは複数の供給源からデータを受け取ることを含む。上記データはテキスト・データと非構造化データとを含む。この方法は、データを上記グローバル・データ・リポジトリに記憶し、上記非構造化データをテキスト・ベースのデータに変換することも含む。さらに、この方法は、上記テキスト・ベースのデータを上記グローバル・データ・リポジトリに記憶し、複数のグループを作成するために1つまたは複数の要因に基づいて複数の認知データ・フィルタを生成することを含む。上記要因は、1つまたは複数のキーワードを含む。また、この方法は、上記グローバル・データ・リポジトリ上でクエリを受け取る前に、上記複数の認知データ・フィルタを使用してデータを認知フィルタリングしてデータの独立した部分を複数のグループに入れることを含む。上記複数のグループの各グループ内のデータは共通の定義可能な特性を共有し、上記複数の認知データ・フィルタは、上記非構造化データから変換された後の上記テキスト・ベースのデータに適用される。また、この方法は、上記クエリの標識を受け取ることと、上記複数のグループのうちの上記クエリに対応する少なくとも1つのグループを判断し、プリフェッチすることを含む。さらに、この方法は、上記クエリの標識を提供した要求元デバイスに上記少なくとも1つのグループ内のデータを複製することによって上記クエリに応答することと、上記クエリに関して上記要求元デバイスに提供された上記少なくとも1つのグループ内のデータの使用を示す標識を受け取ることとを含む。また、この方法は、上記要求元デバイスに提供された上記少なくとも1つのグループ内のデータの使用に照らして測定される上記複数の認知データ・フィルタの有効度を向上させるために、上記複数の認知データ・フィルタを経時的に適応化することを含む。上記複数の認知データ・フィルタの上記有効度は、上記要求元デバイスに提供された少なくとも1つのグループ内のデータのうち上記クエリによって実際に利用される部分と、上記要求元デバイスに記憶され、上記クエリでの使用のために利用可能なすべてのデータのうち、上記少なくとも1つのグループ内で提供される割合と、のそれぞれに基づく。
本開示はクラウド・コンピューティングに関する詳細な説明を含むが、本明細書に記載されている教示の実装はクラウド・コンピューティング環境には限定されないことを前もって理解されたい。むしろ、本発明の実施形態は、現在知られている、または今後開発される任意の他の種類のコンピューティング環境とともに実装することができる。
クラウド・コンピューティングは、最小限の管理労力またはサービス・プロバイダとの相互連絡で迅速にプロビジョニングすることができ、解放することができる、構成可能コンピューティング資源(例えば、ネットワーク、ネットワーク回線容量、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、およびサービス)の共用プールへの便利なオンデマンドのネットワーク・アクセスを可能にするためのサービス配布のモデルである。このクラウド・モデルは、少なくとも5つの特徴と、少なくとも3つのサービス・モデルと、少なくとも4つの配備モデルとを含み得る。
特徴は以下の通りである。
オンデマンド・セルフサービス:クラウド消費者は、サービス・プロバイダとの間で人間の介在を必要とせずに、必要に応じて自動的に、サーバ時間およびネットワーク・ストレージなどのコンピューティング機能を一方的にプロビジョニングすることができる。
広帯域ネットワーク・アクセス:ネットワークを介して機能が利用可能であり、異種のシン・クライアントまたはシック・クライアント・プラットフォーム(例えば携帯電話、ラップトップ、およびPDA)による使用を促進する標準機構を介してアクセスすることができる。
資源プール:マルチテナント・モデルを使用して複数の消費者に対応するために、プロバイダのコンピューティング資源がプールされ、需要に応じて、異なる物理資源および仮想資源が動的に割り当てられ、再割り当てされる。消費者は一般に、提供される資源の厳密な場所について管理することができないかまたは知らないが、より高い抽象レベルの場所(例えば、国、州、またはデータセンター)を指定することが可能な場合があるという点で、位置独立感がある。
迅速な伸縮性:迅速かつ伸縮性をもって、場合によっては自動的に機能をプロビジョニングして、迅速にスケールアウトすることができ、また、迅速に機能を解放して迅速にスケールインすることができる。消費者にとっては、プロビジョニングのために利用可能な機能はしばしば無限であるように見え、いつでも好きなだけ購入することができる。
従量制サービス:クラウド・システムが、サービスの種類(例えば、ストレージ、処理、帯域幅、およびアクティブ・ユーザ・アカウント)に応じて適切な何らかの抽象化レベルの計量機能を活用することによって、資源利用を自動的に制御し、最適化する。資源使用量を監視、制御および報告することができ、利用されたサービスの透明性をプロバイダと消費者の両方に与えることができる。
サービス・モデルは以下の通りである。
ソフトウェア・アズ・ア・サービス(Software as a Service:SaaS):消費者に提供される機能は、クラウド・インフラストラクチャ上で稼働するプロバイダのアプリケーションを使用することである。アプリケーションには、ウェブ・ブラウザなどのシン・クライアント・インターフェースを介して様々なクラウド・デバイスからアクセス可能である(例えばウェブ・ベースのEメール)。消費者は、限られたユーザ固有アプリケーション構成設定の考えられる例外を除き、ネットワーク、サーバ、オペレーティング・システム、ストレージ、または個別のアプリケーション機能まで含めて、基礎にあるクラウド・インフラストラクチャを管理も制御もしない。
プラットフォーム・アズ・ア・サービス(Platform as a Service:PaaS):消費者に提供される機能は、クラウド・インフラストラクチャ上に、消費者作成アプリケーション、またはプロバイダによってサポートされるプログラミング言語およびツールを使用して作成された取得アプリケーションを配備することである。消費者は、ネットワーク、サーバ、オペレーティング・システム、またはストレージを含む、基礎にあるクラウド・インフラストラクチャを管理も制御もしないが、配備されたアプリケーションと、場合によってはアプリケーション・ホスティング環境構成とを制御することができる。
インフラストラクチャ・アズ・ア・サービス(Infrastructure as a Service:IaaS):消費者に提供される機能は、処理、ストレージ、ネットワークおよびその他の基本的コンピューティング資源をプロビジョニングすることであり、その際、消費者は、オペレーティング・システムとアプリケーションとを含み得る任意のソフトウェアを配備し、実行することができる。消費者は、基礎にあるクラウド・インフラストラクチャを管理も制御もしないが、オペレーティング・システムと、ストレージと、配備されたアプリケーションとを制御することができ、場合によっては選択されたネットワーク・コンポーネント(例えばホスト・ファイアウォール)の限定的な制御を行うことができる。
配備モデルは以下の通りである。
プライベート・クラウド:このクラウド・インフラストラクチャは、組織のためにのみ運用される。組織または第三者によって管理されることができ、オンプレミスまたはオフプレミスに存在可能である。
コミュニティ・クラウド:このクラウド・インフラストラクチャは、いくつかの組織によって共用され、共通の関心事(例えば、任務、セキュリティ要件、ポリシー、およびコンプライアンス要因)を有する特定のコミュニティをサポートする。組織または第三者によって管理されてよく、オンプレミスまたはオフプレミスに存在可能である。
パブリック・クラウド:このクラウド・インフラストラクチャは、公衆または大規模業界団体が利用することができ、クラウド・サービスを販売する組織によって所有される。
ハイブリッド・クラウド:このクラウド・インフラストラクチャは、独自の実体のままであるが、データおよびアプリケーション可搬性を可能にする標準化技術または専有技術(例えば、クラウド間の負荷バランシングのためのクラウド・バースティング)によって結合された、2つ以上のクラウド(プライベート、コミュニティまたはパブリック)の複合体である。
クラウド・コンピューティング環境は、ステートレス性、疎結合性、モジュール性、および意味的相互運用性に焦点を合わせたサービス指向型である。クラウド・コンピューティングの核心にあるのは、相互接続されたノードのネットワークを含むインフラストラクチャである。
次に図1を参照すると、クラウド・コンピューティング・ノードの一例の概略図が示されている。クラウド・コンピューティング・ノード10は、適合するクラウド・コンピューティング・ノードの一例に過ぎず、本明細書に記載の本発明の実施形態の使用または機能の範囲に関するいかなる限定も示唆することを意図していない。いずれにしても、クラウド・コンピューティング・ノード10は、上述の機能のいずれでも実装または実行あるいはその両方が可能である。
クラウド・コンピューティング・ノード10には、多くの他の汎用または特殊目的コンピューティング・システム環境または構成とともに動作可能なコンピュータ・システム/サーバ12がある。コンピュータ・システム/サーバ12とともに使用するのに適合し得る知られているコンピュータ・システム、環境または構成あるいはその組合せの例としては、パーソナル・コンピュータ・システム、サーバ・コンピュータ・システム、シン・クライアント、シック・クライアント、手持ち型デバイスまたはラップトップ・デバイス、マルチプロセッサ・システム、マイクロプロセッサ・ベースのシステム、セット・トップ・ボックス、プログラマブル消費者電子機器、ネットワークPC、ミニコンピュータ・システム、メインフレーム・コンピュータ・システム、および、上記のシステムまたはデバイスなどのうちのいずれかを含む分散クラウド・コンピューティング環境などがあるが、これらには限定されない。
コンピュータ・システム/サーバ12について、コンピュータ・システムによって実行されるプログラム・モジュールなどのコンピュータ・システム実行可能命令の一般的な文脈で説明する場合がある。一般には、プログラム・モジュールは、特定のタスクを実行するか、または特定の抽象データ型を実装する、ルーチン、プログラム、オブジェクト、コンポーネント、ロジック、データ構造などを含み得る。コンピュータ・システム/サーバ12は、通信ネットワークを介して接続されたリモート処理デバイスによってタスクが実行される分散クラウド・コンピューティング環境で実施されてもよい。分散クラウド・コンピューティング環境では、プログラム・モジュールを、メモリ・ストレージ・デバイスを含むローカルとリモートの両方のコンピュータ・システム記憶媒体に格納することができる。
図1に示すように、クラウド・コンピューティング・ノード10におけるコンピュータ・システム/サーバ12が、汎用コンピューティング・デバイスの形態で示されている。コンピュータ・システム/サーバ12の構成要素は、1つまたは複数のプロセッサまたは処理ユニット16と、システム・メモリ28と、システム・メモリ28を含む様々なシステム構成要素をプロセッサ16に接続するバス18とを含み得るがこれらには限定されない。
バス18は、様々なバス・アーキテクチャのうちのいずれかのアーキテクチャを使用する、メモリ・バスまたはメモリ・コントローラ、ペリフェラル・バス、アクセラレーテッド・グラフィクス・ポート、およびプロセッサ・バスまたはローカル・バスを含む、数種類のバス構造のうちのいずれかの1つまたは複数に相当する。例として、そのようなアーキテクチャとしては、業界標準アーキテクチャ(Industry Standard Architecture:ISA)バス、マイクロ・チャネル・アーキテクチャ(Micro Channel Architecture:MCA)バス、拡張(Enhanced)ISA(EISA)バス、ビデオ・エレクトロニクス・スタンダーズ・アソシエーション(Video Electronics Standards Association:VESA)ローカル・バス、およびペリフェラル・コンポーネント・インターコネクト(Peripheral Component Interconnect:PCI)バスがあるが、これらには限定されない。
コンピュータ・システム/サーバ12は、典型的には様々なコンピュータ・システム可読記憶媒体を含む。そのような媒体は、コンピュータ・システム/サーバ12がアクセスすることができる任意の利用可能な媒体であってよく、揮発性媒体と不揮発性媒体の両方と、取り外し可能媒体と取り外し不能媒体とを含む。
システム・メモリ28は、ランダム・アクセス・メモリ(RAM)30またはキャッシュ・メモリ32あるいはその両方などの、揮発性メモリの形態のコンピュータ・システム可読記憶媒体を含むことができる。コンピュータ・システム/サーバ12は、他の取り外し可能/取り外し不能、揮発性/不揮発性のコンピュータ・システム記憶媒体をさらに含んでよい。一例に過ぎないが、ストレージ・システム34を、取り外し不能な不揮発性磁気媒体(図示されておらず、一般に「ハード・ドライブ」と呼ばれる)の読み書きのために設けることができる。図示されていないが、取り外し可能な不揮発性磁気ディスク(例えば「フロッピィ・ディスク」)の読み書きのための磁気ディスク・ドライブと、CD−ROM、DVD−ROMまたはその他の光学媒体などの、取り外し可能な不揮発性光ディスクの読み書きのための光ディスク・ドライブとを備えることができる。そのような場合、それぞれが1つまたは複数のデータ・メディア・インターフェースによってバス18に接続することができる。以下でさらに図示し、説明するように、メモリ28は、本発明の実施形態の機能を実施するように構成された1組の(例えば少なくとも1つの)プログラム・モジュールを有する少なくとも1つのプログラム製品を含み得る。
一例として、これには限らないが、1組の(少なくとも1つの)プログラム・モジュール42を有するプログラム/ユーティリティ40のほか、オペレーティング・システムと、1つまたは複数のアプリケーション・プログラムと、その他のプログラム・モジュールと、プログラム・データとをメモリ28に記憶することができる。オペレーティング・システム、1つまたは複数のアプリケーション・プログラム、その他のプログラム・モジュール、およびプログラム・データ、またはその何らかの組合せのそれぞれが、ネットワーキング環境の実装形態を含み得る。プログラム・モジュール42は、一般に、本明細書に記載の本発明の実施形態の機能または方法あるいはその両方を実施する。
コンピュータ・システム/サーバ12は、キーボード、ポインティング・デバイス、ディスプレイ24など、または、ユーザがコンピュータ・システム/サーバ12と対話することができるようにする1つまたは複数のデバイス、または、コンピュータ・システム/サーバ12が1つまたは複数の他のコンピューティング・デバイスと通信することができるようにする任意のデバイス(例えばネットワーク・カード、モデムなど)、あるいはその組合せなどの、1つまたは複数の外部デバイス14とも通信することができる。このような通信は、入出力(I/O)インターフェース22を介して行うことができる。さらに、コンピュータ・システム/サーバ12は、ローカル・エリア・ネットワーク(LAN)、または汎用ワイド・エリア・ネットワーク(WAN)、またはパブリック・ネットワーク(例えばインターネット)、あるいはその組合せなどの1つまたは複数のネットワークと、ネットワーク・アダプタ20を介して通信することができる。図のように、ネットワーク・アダプタ20は、バス18を介してコンピュータ・システム/サーバ12の他の構成要素と通信する。なお、図示されていないが、他のハードウェア・コンポーネントまたはソフトウェア・コンポーネントあるいはその両方もコンピュータ・システム/サーバ12とともに使用することができることを理解されたい。例としては、マイクロコード、デバイス・ドライバ、冗長処理ユニット、外部ディスク・ドライブ・アレイ、RAIDシステム、テープ・ドライブ、およびデータ・アーカイブ・ストレージ・システムなどが含まれるが、これらには限定されない。
次に、図2を参照すると、例示のクラウド・コンピューティング環境50が図示されている。図のように、クラウド・コンピューティング環境50は、例えばパーソナル・デジタル・アシスタント(PDA)または携帯電話54A、デスクトップ・コンピュータ54B、ラップトップ・コンピュータ54C、または自動車コンピュータ・システム54Nあるいはその組合せなど、クラウド消費者によって使用されるローカル・コンピューティング・デバイスが通信することができる、1つまたは複数のクラウド・コンピューティング・ノード10を含む。ノード10が互いに通信してもよい。これらは、上述のプライベート、コミュニティ、パブリックまたはハイブリッド・クラウドまたはこれらの組合せなどの1つまたは複数のネットワークにおいて物理的または仮想的にグループ化(図示せず)されてもよい。これによって、クラウド・コンピューティング環境50は、インフラストラクチャ、プラットフォーム、またはソフトウェアあるいはその組合せを、クラウド消費者がそのためにローカル・コンピューティング・デバイス上で資源を維持する必要がないサービスとして提供することができる。なお、図2に示すコンピューティング・デバイス54Aないし54Nの種類は、例示を意図したものに過ぎず、コンピューティング・ノード10およびクラウド・コンピューティング環境50は、(例えばウェブ・ブラウザを使用して)任意の種類のネットワークまたはネットワーク・アドレス指定可能接続あるいはその組合せを介して、任意の種類のコンピュータ化デバイスと通信することができるものと理解される。
次に、図3を参照すると、クラウド・コンピューティング環境50(図2)によって提供される1組の機能抽象化層が示されている。なお、図3に示す構成要素、層および機能は、例示のみを意図したものであり、本発明の実施形態はこれらには限定されないことを前もって理解されたい。図のように、以下の層および対応する機能が提供される。
ハードウェアおよびソフトウェア層60は、ハードウェア・コンポーネントとソフトウェア・コンポーネントとを含む。ハードウェア・コンポーネントの例としては、メインフレーム61、縮小命令セットコンピュータ(Reduced Instruction Set Computer:RISC)アーキテクチャ・ベースのサーバ62、サーバ63、ブレード・サーバ64、ストレージ・デバイス65、およびネットワークおよびネットワーキング・コンポーネント66がある。実施形態によっては、ソフトウェア・コンポーネントは、ネットワーク・アプリケーション・サーバ・ソフトウェア67およびデータベース・ソフトウェア68を含む。
仮想化層70は、以下のような仮想実体の例を与えることができる抽象化層を提供する。すなわち、仮想サーバ71、仮想ストレージ72、仮想プライベート・ネットワークを含む仮想ネットワーク73、仮想アプリケーションおよびオペレーティング・システム74、および仮想クライアント75である。
一実装例では、管理層80は、以下に記載の機能を提供することができる。資源プロビジョニング81は、クラウド・コンピューティング環境内でタスクを実行するために利用されるコンピューティング資源およびその他の資源の動的調達を行う。メータリングおよびプライシング82は、クラウド・コンピューティング環境内で資源が利用されるときのコスト追跡と、これらの資源の消費に対する対価の請求またはインボイス処理を行う。一例ではこれらの資源にはアプリケーション・ソフトウェア・ライセンスが含まれてもよい。セキュリティは、クラウド消費者およびタスクのための本人検証と、データおよびその他の資源の保護とを行う。ユーザ・ポータル83は、消費者およびシステム管理者にクラウド・コンピューティング環境へのアクセスを提供する。サービス・レベル管理84は、必要なサービス・レベルが満たされるようにクラウド・コンピューティング資源割り当ておよび管理を行う。サービス・レベル・アグリーメント(Service Level Agreement:SLA)計画および履行85は、SLAに従って将来の要求が予想されるクラウド・コンピューティング資源のための事前取り決めおよび調達を行う。
ワークロード層90は、クラウド・コンピューティング環境をそのために利用することができる機能の例を提供する。この層から提供することができるワークロードおよび機能の例には、マッピングおよびナビゲーション91、ソフトウェア開発およびライフサイクル管理92、仮想教室教育配信93、データ分析処理94、トランザクション処理95、およびストレージ環境96のための認知ファイル/オブジェクト・フィルタリングが含まれる。
次に図4を参照すると、いくつかの手法におけるパブリック階層オブジェクト・ストアを表し得る、一実施形態による階層ストレージ・システム400が示されている。なお、図4に示す要素の一部は、様々な実施形態によりハードウェアまたはソフトウェアあるいはその両方として実装可能である。ストレージ・システム400は、少なくとも1つのより上位の記憶階層402と少なくとも1つのより下位の記憶階層406の複数の媒体と通信するためのストレージ・システム・マネージャ412を含むことができる。より上位の記憶階層402は、好ましくは、不揮発性メモリ(NVM)、ソリッド・ステート・ドライブ(SSD)内のソリッド・ステート・メモリ、フラッシュ・メモリ、SSDアレイ、フラッシュ・メモリ・アレイ、ハードディスク・ドライブ(HDD)内のハードディスクなど、または本明細書に記載されているかまたは当技術分野で知られている他の媒体あるいはその組合せなど、1つまたは複数のランダム・アクセスまたはダイレクト・アクセスあるいはその両方の媒体404を含み得る。より下位の記憶階層406は、好ましくは、より低速アクセスのHDD、テープ・ドライブ内の磁気テープなどの順次アクセス媒体、または光媒体あるいはその組合せなど、または本明細書に記載されているかまたは当技術分野で知られている他の媒体あるいはその両方などを含む、1つまたは複数のより低パフォーマンスの記憶媒体408を含み得る。1つまたは複数の追加の記憶階層416が、システム400の設計者の希望に従って記憶メモリ媒体の任意の組合せを含んでもよい。また、より上位の記憶階層402またはより下位の記憶階層406あるいはその両方のいずれも、ストレージ・デバイスまたは記憶媒体あるいはその両方の何らかの組合せを含むことができる。
ストレージ・システム・マネージャ412は、図4に示すように、ストレージ・エリア・ネットワーク(SAN)などのネットワーク410を介して、または他の適切なネットワーク・タイプを介して、より上位の記憶階層402およびより下位の記憶階層406の記憶媒体404、408と通信することができる。ストレージ・システム・マネージャ412は、ストレージ・システム・マネージャ412の一部であってもなくてもよいホスト・インターフェース414を介して、1つまたは複数のホスト・システム(図示せず)とも通信することができる。ストレージ・システム・マネージャ412または、ストレージ・システム400の任意のその他の構成要素あるいはその両方は、ハードウェアまたはソフトウェアあるいはその両方で実装可能であり、中央演算処理装置(CPU)、フィールド・プログラマブル・ゲート・アレイ(FPGA)、特定用途向け集積回路(ASIC)など、当技術分野で知られている種類の、コマンドを実行するためのプロセッサ(図示せず)を利用することができる。当然ながら、この説明を読めば当業者には明らかなように、ストレージ・システムの任意の構成を使用することができる。
さらに他の実施形態では、ストレージ・システム400は、任意の数のデータ記憶階層を含むことができ、各記憶階層内で同じかまたは異なる記憶メモリ媒体を含むことができる。例えば、各データ記憶階層は、HDD、SSD、順次アクセス媒体(テープ・ドライブ内のテープ、光ディスク・ドライブ内の光ディスクなど)、ダイレクト・アクセス媒体(CD−ROM、DVD−ROMなど)、または記憶媒体の種類の任意の組合せなど、同じ種類の記憶メモリ媒体を含み得る。1つのそのような構成では、より上位の記憶階層402が、より高パフォーマンスのストレージ環境においてデータを記憶するために、SSD記憶媒体の大部分(最大ですべてのSSD記憶媒体を含む)を含むことができ、より下位の記憶階層406および追加の記憶階層416を含む残りの記憶階層は、より低パフォーマンスのストレージ環境におけるデータの記憶のために、SSD、HDD、テープ・ドライブなどの任意の組合せを含むことができる。このようにして、アクセス頻度のより高いデータ、優先度のより高いデータ、より高速にアクセスされる必要のあるデータなどを、より上位の記憶階層402に記憶することができ、これらの属性の1つを持たないデータは、より下位の記憶階層406を含む、追加の記憶階層416に記憶することができる。当然ながら、当業者は、この説明を読めば、本明細書に示す実施形態による異なる記憶方式に実装するために、記憶媒体の種類の多くの他の組合せを考案することができる。
特定の一実施形態では、ストレージ・システム400は、SSDとHDDの組合せを含んでよく、より上位の記憶階層402がSSD(および場合によっては何らかのバッファ・メモリ)を含み、より下位の記憶階層406がHDD(および場合によっては何らかのバッファ・メモリ)を含む。別の実施形態によると、ストレージ・システム400は、SSDと磁気テープ・ドライブを備えた磁気テープとの組合せを含むことができ、より上位の記憶階層402がSSD(および場合によっては何らかのバッファ・メモリ)を含み、より下位の記憶階層406が磁気テープ(および場合によっては何らかのバッファ・メモリ)と磁気テープのデータにアクセスするための磁気テープ・ドライブとを含む。さらに別の実装形態では、ストレージ・システム400は、HDDと磁気テープとの組合せを含むことができ、より上位の記憶階層402がHDD(および場合によっては何らかのバッファ・メモリ)を含み、より下位の記憶階層406が磁気テープ(および場合によっては何らかのバッファ・メモリ)を含む。
次に、図5を参照すると、一実施形態による中央、分散およびクラスタ化ファイル・システム500(以下、「分散システム500」)のブロック図が示されている。この分散システム500は、様々な実施形態により、本明細書に記載の認知フィルタリング方法のいずれにおいても使用することができる。分散システム500は、情報またはデータあるいはその両方を記憶するかまたは含むかあるいはその両方である、分散システム500の1人または複数のユーザ502がアクセス可能な任意の数のファイルまたはオブジェクトあるいはその両方(以下「ファイル504」)を含むことができる。また、分散システム500は、グローバル・データ・リポジトリとして構成された中央クラスタ506と、中央クラスタとは地理的に異なる複数のローカル・キャッシュ・クラスタ508a、508b、...508n(以下、グループとして言及する場合は「ローカル・クラスタ508」)と、様々なローカル・クラスタ508を中央クラスタ506に結合する1つまたは複数のネットワーク510とを含む。この説明を読めば当業者にはわかるように、インターネット、WAN、LAN、SANなどであるがこれらには限定されない任意の種類のネットワーク510が使用可能である。
さらに、中央クラスタ506と、ローカル・クラスタ508のそれぞれとは、提供されたプログラム命令を実行するように構成されたハードウェア処理回路を含む。当業者に知られているように、本明細書で具体的に記載されていない他のハードウェア・コンポーネントまたはソフトウェア・コンポーネントあるいはその両方も、中央クラスタ506、または、ローカル・クラスタ508のうちの1つまたは複数のローカル・クラスタ、あるいはその両方に含めることができる。
一実施形態では、中央クラスタ506、または、ローカル・クラスタ508のうちの1つまたは複数のローカル・クラスタ、あるいはその両方内のハードウェア・コンポーネントのうちの1つまたは複数が、一次ハードウェア・コンポーネントに傷害が発生した場合、電源が失われるなどして割り当てられたタスクを実行することができない場合などに、冗長機能を実行するために並列して設置された冗長コンポーネントを有してもよい。
さらに、中央クラスタ506と、ローカル・クラスタ508のそれぞれとは、1つまたは複数の種類のコンピュータ可読記憶媒体512を含む。中央クラスタ506および様々なローカル・クラスタ508において、不揮発性メモリ(NVM)ストレージ・デバイス、ダイレクト・アクセス・ストレージ・デバイス(DASD)、ランダム・アクセス・メモリ・ユニットなどであるがこれらには限定されない、任意の種類のコンピュータ可読記憶媒体512を利用することができる。フラッシュ・メモリ、RAM、消去可能プログラマブル読み取り専用メモリ(EPROM)、ソリッド・ステート・デバイス(SSD)など、任意の適合するNVMストレージ・デバイスを利用することができる。また、HDD、テープ・ドライブとともに使用するためのテープ媒体、光ドライブなど、任意のDASDを使用することができる。さらに、コンピュータ可読記憶媒体512に記憶する前のデータ・ステージングのために、キャッシュまたはバッファもコンピュータ可読記憶媒体512に存在してもよい。
中央クラスタ506に記憶されるファイル504およびローカル・クラスタ508に記憶されるファイルは、当業者にはわかるように、種類(テキスト・データ、映像データ、音声データ、非構造化データなど)、サイズ、材料または内容などが異なる情報を含むことができる。また、ある種の手法では、ファイル504に関連付けられたメタデータが、様々なファイル504の特性の少なくとも一部を示すことができる。しかし、中央クラスタ506に記憶されるファイル504は、従来の手法では、ファイルの効率的な検索またはフィルタリングあるいはその両方をもたらす有意な方式では編成されない。
次に図6を参照すると、一実施形態による、中央クラスタ506上のサブコンテナへのファイル504の認知フィルタリングを提供するプロセスが記載されている。このプロセスは、様々な手法において、クエリに関連する可能性がより高いファイルを判断するために、中央クラスタ506に記憶されているファイル504を検索またはフィルタリングあるいはその両方を行う能力を向上させ、増強する。
ラビン−カープ文字列検索アルゴリズム、有限状態オートマトン式検索アルゴリズム、クヌート−モリス−プラット・アルゴリズムなどを含むがこれらには限定されない、任意の知られている検索アルゴリズムを、Google(R)、Microsoft(R)、Baidu(R)、Tencent(R)など、主要技術系企業によって提供されるプロプライエタリ・アルゴリズムとともに使用することができる。
中央クラスタ506上のファイル504を編成するために、ファイル504に記憶されているすべての非構造化データが、複数の従来の検索アルゴリズムのいずれかを使用して容易かつ効率的に検索可能なテキスト・ベースのファイルまたはテキスト注釈付きファイル(画像または映像ファイルあるいはその両方の場合、メタデータとして元のファイルにテキスト注釈を付加することができる)に変換される。この説明の残りの部分では、純粋なテキスト・ファイルと、コンテンツ混在テキスト注釈ファイルとを、テキスト・ベースのファイルと呼ぶこととする。ファイル504内の元のファイルがテキスト・ベースのファイルに変換されると、テキスト・ベースのファイルを返す任意の検索が元のファイルまでさかのぼることができるように、元のファイルと生成されたテキスト・ベースのファイルとの間の関連付けが行われる。
一実施形態では、非構造化データをテキスト・ベースのデータに変換するために、1つまたは複数のアプリケーション・プログラム・インターフェース(API)を使用することができる。非構造化データをテキスト・ベースのデータに変換するために、それぞれの種類の非構造化データが、その種類に適用される異なるAPIを有し得る。一実施形態では、テキスト・ベースのデータへの変換のためにIBM(R)BlueMix(R)Watson APIを使用してもよい。
一実施形態によると、ファイル504内の特定のコンテンツまたは特定の非構造化データを検索するために設計された1つまたは複数の検索アルゴリズムを使用して、中央クラスタ506に記憶されているすべてのファイル504を検索することができる。一実施形態では、画像検索アルゴリズムを、その画像検索アルゴリズムを使用して画像データを含むファイルのそれぞれを検索することができるように、特に画像ファイルを検索し、検索で指定された画像を返すように構成することができ、指定された画像を含むファイルが画像検索によって返される。他の実装例では、画像データを含まないファイルにはこの画像検索アルゴリズムは適用されない。
別の例では、音声アルゴリズムを、その音声アルゴリズムを使用して音声データを含むファイルのそれぞれを検索することができるように、特に音声ファイルを検索し、検索で指定された音声データを返すように構成することができ、指定された音声データを含むファイルが音声検索によって返される。さらに他の例では、音声データを含まないファイルにはこの音声検索アルゴリズムは適用されない。
当然ながら、この説明を読めば当業者にはわかるように、カスタムまたはプロプライエタリあるいはその両方の非構造化データ形態を検索するように設計されたアルゴリズムを含めて、多くの他のコンテンツ固有データ検索アルゴリズムまたは非構造化データ検索アルゴリズムあるいはその両方を、様々な他の実施形態において中央クラスタ506上に記憶されているファイル504の検索および編成に使用することができる。
様々なファイル504(および最終的にはそれらに付随するファイル)に対してフィルタリングとグループ化を行うことができるように、中央クラスタ506に記憶されているテキスト・ベースのファイルまたはすべてのファイル504あるいはその両方のそれぞれの、1つまたは複数の関連カテゴリを判断するために、中央クラスタ506に記憶されているテキスト・ベースのファイルまたはすべてのファイル504あるいはその両方が分析される。カテゴリの関連性は、特定のユーザの関心事、例えばユーザが携わっている業務の種類、(例えば自宅、職場など、ユーザの)地理的場所、クエリの日付などに基づいて選択される。また、グループ化が行われるカテゴリは排他的(例えば、ファイルが一度に1つのグループにのみ存在することができる)であるか、または包含的(例えば、ファイルがどの時点でも一度に複数のグループに存在することができ、異なるグループ間でのコンテンツの重なり合いを可能にする)である。
中央クラスタ506におけるデータ・フィルタリングは、多くの高度な記憶機能(例えば、キャッシング、アクセス制御、セキュリティ、検索など)を可能にする重要なビルディング・ブロックである。これらの高度機能は、データ記憶性能およびデータ・セキュリティを含むがこれらには限定されないデータ記憶の多くの側面に関係し、それらの側面を利用する。このようなデータ・フィルタリングに使用されるデータ・フィルタは無変化のままであってはならず、ストレージ環境に加えられる変更、グローバル・データ・リポジトリに記憶されているデータの変更、ユーザのアクセス・パターンおよび需要の変化、およびその他の不測の変化に適応するように、修正を加えることができ、時間の経過とともに学習することができればよりよい。また、データ・フィルタは、ストレージ環境の管理者によって設定された記憶ポリシーに対する変更を考慮して調整することもできる。
様々な非限定的実施例では、中央クラスタ506に記憶されているテキスト・ベースのファイル504またはすべてのファイル504を、個々のファイルに関連付けられている日付(例えば値)、個々のファイルで言及されているかまたは関連付けられているかあるいはその両方の地理的場所(例えばキーワード)、個々のファイルが作成された地理的場所(例えばキーワード)、個々のファイルの作成場所(例えばキーワード)、個々のファイルの類似または共通する内容あるいはその両方(個々のファイル内のキーワードに基づくことができる)、個々のファイルの類似した使用(例えば、ファイルの最終アクセス日付を返す文脈的メタデータ検索)、個々のファイルへのアクセス頻度(例えば、ファイルのアクセス頻度を返す文脈的メタデータ検索)などに従ってフィルタリングし、グループ化することができる。
別の非限定的実施例では、中央クラスタ506に記憶されているテキスト・ベースのファイルまたはすべてのファイル504あるいはその両方を、個々のファイル内に記憶されている1つの値、複数の値、または値の範囲あるいはその組合せに従ってフィルタリングし、グループ化することができ、これらの値は、日付、通貨、時間、仮想的または物理的場所、ユーザ・グループ、アクセス特権またはクエリの作成者にとって関心のある何らかの他の指定された値など、クエリで指定されているパラメータに関係する値である。指定される関心値は、業務、教育、研究、またはそのためにデータが分散記憶システムに記憶されている関心あるいはその組合せに関係する重要性を有する任意のものであってよい。いくつかの実施例では、医療産業用途の場合に、指定される関心値は、1つまたは複数の患者分類(例えば、年齢、性別、人種、現状など)、1つまたは複数の状態分類(例えば、癌、喘息、咽頭炎、関節炎など)、1つまたは複数の検査分類(例えば、放射線検査、遺伝子検査、健康診断など)などとすることができ、金融業用途の場合、指定される関心値は、1つまたは複数のティッカー・シンボル(例えば、MSFT、INTL、Tなど)、1つまたは複数の業種(例えば、技術、ソフトウェア、製薬、製造など)、1つまたは複数の評価指標(例えば、資本総額10億、小型、中型、大型など)などとすることができ、薬理学業務用途の場合、指定される関心値は、1つまたは複数の薬品に基づく分類(例えば、スタチン、カフェイン、ベンゾジアゼピン、フェンタニル、アセトアミノフェン、モルヒネ、アヘン剤、オキシコドンなど)、治療に関連付けられた1人または複数の科学者、1つまたは複数の治療用途(鎮痛剤、膨張抑制剤、局所麻酔薬など)、1つまたは複数の投薬量などとすることができる。
当業者ならこの説明を読めばわかるように、特定の関心値は、様々な実施形態で、特定の用途とその特定の関心値を利用する特定のクエリとに基づいて定義されたカスタム値とすることができる。
さらに別の非限定的実装例では、中央クラスタ506に記憶されているテキスト・ベースのファイルまたはすべてのファイル504あるいはその両方を、中央クラスタ506によって測定される個々のファイルに含まれる情報の人気度と、特定のファイルがローカル・クラスタ508のうちの1つに何回複製されたかに従ってフィルタリングし、グループ化することができる。
別の実施形態によると、グループ内にサブグループを作成することができ、特定のグループ内に木構造でサブグループの複数の追加の階層が存在してもよい。このようにして、特定のグループに分類されたファイルを、その特定のグループよりもさらに緻密なサブグループに分類することができる。例えば、場所ごとにグループ化する場合、国が最上位グループを占め、次に州または県のサブグループが続き、その次に市のサブグループ、次に市内の区域のサブグループなどが続いてもよい。
一実施形態では、このフィルタリングおよびグループ化動作は、中央クラスタ506に新規ファイルが追加されたときに、それらのファイルが効率的かつ、分散システム500の他の機能にほとんど影響を与えずに変換され(必要な場合)、分類されるように、中央クラスタ506で実行される連続バックグラウンド・プロセスとして実行可能である。別の実施形態では、フィルタリングおよびグループ化動作は、定期的に、またはトリガ・イベントが行われるのに応答して実行されてもよい。中央クラスタ506への新規ファイルの追加、中央クラスタ506上でのファイルの修正、中央クラスタ506への所定閾値量のファイルの追加または修正あるいはその両方、管理者からの明示的要求など、任意の適合するトリガ・イベントを使用することができる。
このようなデータ・フィルタを提供するために、本明細書では、いくつかの要因に対する有効度に従って認知データ・フィルタを動的に適応化する認知データ・フィルタリング機構について、様々な実施形態で説明する。これらの要因には、データ要件、ポリシー要件、およびユーザの期待が含まれるが、他の要因も考えられる。
一実施形態によると、認知データ・フィルタリング機構は、複数の認知データ・フィルタを定義するために使用される1組の事前定義されたキーワード、値、または範囲あるいはその組合せと、データ使用と、ユーザの期待とポリシー要件とに照らして測定される個々のデータ・フィルタの有効度の1つまたは複数の測度と、複数の認知データ・フィルタのうち、受け取ったクエリを満足させる1組のデータを有効に返す可能性が最も高い1つまたは複数の認知データ・フィルタを判断し、選択するように構成された選択モジュールとを使用する。この有効度は、任意の現時点および1つまたは複数の過去の期間(例えば1つまたは複数の移動時間窓)にわたって測定することができる。
一実施形態によると、複数の認知データ・フィルタは、受け取ったクエリに応答して返すデータを準備するのにより有効となるように学習することができる。この学習プロセスにより、データ、ユーザの期待またはデータ構造あるいはその組合せに加えられた変更を考慮するように、追加の認知データ・フィルタが作成され、既存の認知データ・フィルタが削除または除去され、既存の認知データ・フィルタが修正されるようにすることができる。
この実施形態では、複数の認知データ・フィルタは、グローバル・データ・リポジトリに記憶されたデータを事前分類して、事前分類後に受け取ったクエリのためにどのデータのプリフェッチまたはキャッシュあるいはその両方を行うべきかを判断するために、1つまたは複数のキーワードを使用することができる。データは、その1つまたは複数のキーワードに照らして分類されて、どのファイルまたはオブジェクトあるいはその両方がその1つまたは複数のキーワードを含むかが判断され、次に、その1つまたは複数のキーワードを含むファイルまたはオブジェクトあるいはその両方がコンテナに入れられ、そのキーワードを含むデータを要求するクエリに応答してそのコンテナおよびその中に記憶されたファイルまたはオブジェクトあるいはその両方の場所を特定することができるようにラベル付けされる。ユーザから入手するかまたはユーザのクエリ履歴から導き出すことができる、クエリ関心事を示す受け取った標識に基づいて、このようにして作成されたコンテナを上記1つまたは複数のキーワードに関係する後続または将来あるいはその両方の着信クエリで使用するために、プリフェッチまたはキャッシュあるいはその両方を行う(例えば、グローバル・データ・リポジトリと要求元デバイスとの間のWANまたは他の何らかの適合するネットワークまたは接続を介してコピーするか、またはグローバル・データ・リポジトリまたは要求元デバイスのメモリに記憶する)ことができる。
他の実施形態では、検索値を含むファイルまたはオブジェクトあるいはその両方がコンテナに入れられ、その値を含むデータを要求するクエリに応答してそのコンテナとそのコンテナに記憶されているファイルまたはオブジェクトあるいはその両方を見つけることができるようにラベル付けされてグローバル・データ・リポジトリに記憶されているデータ内で、1つまたは複数の値を検索することができる。さらに他の実施形態では、将来の使用のために値の範囲を含むデータ、例えば値1から値2までの範囲を有するパラメータxを含むすべてのデータを、コンテナに事前分類することができる(値1<x<値2の範囲の値を有するパラメータxを含むすべてのデータをコンテナ1に分類する)。当然ながら、範囲は端点の値を包含するか、端点の値を除外するか、または、包含と除外とが混在してもよい。
グローバル・データ・リポジトリにおいて、データを事前分類するために作成されるコンテナが増えるつれ、また、ますます多くのクエリを受け取り、それらのコンテナ内のデータを使用して応答するクエリが増えるにつれて、事前分類の有効度を経時的に判断することができ、クエリを受け取る前にデータをよりよく事前分類することができるように認知データ・フィルタを改良することができる。
様々な実施形態で、1つまたは複数の有効度測度を使用して複数の認知データ・フィルタのそれぞれの有効度を個別に計算することができる。各実施形態で、単一の認知データ・フィルタの有効度を、(1つまたは複数のフィルタを使用して)クエリを予期して、または少なくとも1つのキーワード、パラメータまたは範囲(「k」として示す)を含むクエリに応答して、キャッシュ、プリフェッチ、またはコピーあるいはその組合せを行ったデータの部分(例えば、グローバル・データ・リポジトリと要求元デバイスとの間のWANまたは他の何らかの適合するネットワークまたは接続を介してコピーされたデータ)がどの程度、要求元デバイス(ローカル・クラスタなど)でそのクエリによって実際に利用されたかを示す指標である、フィルタ精度FP(k)を使用して計算することができる。フィルタ再現率FR(k)は、要求元デバイスに記憶され、クエリで使用するために利用可能なすべてのデータのうち、受け取ったクエリのkの値のためにコピーされた割合を示し、例えばデータは、クエリで使用するために要求元デバイスにすでに記憶されている場合があり、これによって、コピーされたデータの一部が要求元デバイス上にすでに存在するために廃棄される場合がある。したがって、この重複データは任意の特定のkの組についてのデータ・フィルタの有効度に不利にみなされるべきではない。
一実施形態によると、単一の、または1組の、キーワード、パラメータ、または範囲について、第1のフィルタFスコアと呼ぶ第1の有効度測度FF(k)を以下のアルゴリズム1に従って計算することができる。
アルゴリズム1において、単純乗算の平方根をとって、フィルタ精度FP(k)の積の幾何平均と、フィルタ再現率FR(k)とを求め、第1のフィルタFスコアFF(k)を計算する。次に、以下で詳述するように複数の認知データ・フィルタをさらに改良するためにこの有効度測度、例えば第1のフィルタFスコアFF(k)を使用することができる。第1のフィルタFスコアFF(k)が高いほど、パフォーマンスが高いデータ・フィルタを示し、それに対して、第1のフィルタFスコアFF(k)が低いほど、特定のkの組について有効に機能していないデータ・フィルタであることを示す。
別の実施形態では、単一の、または1組のキーワード、パラメータ、または範囲についての第2の有効度測度FF(k)を、アルゴリズム2に従って計算することができる。
アルゴリズム2において、2掛けるフィルタ精度FP(k)掛けるフィルタ再現率FR(k)にフィルタ精度FP(k)とフィルタ再現率FR(k)との和の逆数を乗じた積を求めるために、複数の乗算(または除算あるいはその両方)が実行される。第2の有効度測度FF(k)は、フィルタ精度FP(k)とフィルタ再現率FR(k)との和に従って正規化され、これにより、要求元デバイス上にすでに存在するデータがよりよく考慮に入れられる。この第2の有効度測度FF(k)は次に、以下で詳述するように複数の認知データ・フィルタをさらに改良するために使用することができる。第2のフィルタFスコアFF(k)が高いほど、パフォーマンスが高いデータ・フィルタを示し、それに対して、第2のフィルタFスコアFF(k)が低いほど、特定のkの組について有効に機能していないデータ・フィルタであることを示す。
有効度測度、例えばFF(k)またはFF(k)のいずれかを初期化するために、本明細書でKSと呼ぶkの組の候補を設定する(これは、1つまたは複数のキーワード、1つまたは複数の値、または、値の1つまたは複数の範囲、あるいはその組合せを含み得る)。このKSは、利用可能な簡便法があればそれに加えて、グローバル・データ・リポジトリで使用される分類法またはグローバル・データ・リポジトリの管理者の専門分野の知識あるいはその両方に基づいて設定される。分類法は、ファイルまたはオブジェクトあるいはその両方をどのように命名するか、それらをグローバル・データ・リポジトリにどのように記憶するか、ファイルまたはオブジェクトあるいはその両方の一部または全部についてどのメタデータが存在するか、グローバル・データ・リポジトリ上でファイルまたはオブジェクトあるいはその両方をどのようにして検索、分類、フィルタリングなどを行うことができるかなどを定義する。
本明細書でkのアクティブ・セットと呼ぶ組が空、例えば{}に設定される。その後、KS内のすべてのキーワード、値または範囲あるいはその組合せkの有効度測度が、すべての時間窓Wについて計算される。30秒、1分、30分、1時間、6時間、12時間、1日など、様々な時間窓を有効度測度の計算のために使用することができ、返されるデータがどの程度よく利用されているかをよりよく理解するために、グローバル・データ・リポジトリにおいてクエリを受け取る頻度に基づくことができる。
1つまたは複数の有効度測度の計算後、KSのkの一部nのみを含むようにアクティブ・セットが更新される。アクティブ・セットに含めるこの部分は、FF、FPまたはFRあるいはその組合せに基づく。一実施形態では、FFに基づいて、kのうちの上位パフォーマンスを有する割合のみが含められる。別の実施形態では、FPとFRの両方について設定された閾値、例えば>0.7、>0.8などを満足させることに基づいて、kのうちの上位パフォーマンスを有する割合のみが含められる。
次に、FFに基づく、kのうちの上位パフォーマンスを有する割合の使用に応えて、そのFFランキングに従ってアクティブ・セットが上位nキーワードとして設定される。次に、FPとFRの両方について設定された閾値を満たすことに基づくkの使用に応えて、1)FPの第1の閾値を下回るパフォーマンスのキーワード、値または範囲あるいはその組合せがアクティブ・セットから除去され、2)FRの第2の閾値を下回るパフォーマンスのキーワード、値または範囲あるいはその組合せがアクティブ・セットから除去され、3)FPの第1の閾値以上のパフォーマンスのキーワード、値または範囲あるいはその組合せがアクティブ・セットに追加され、FRの第2の閾値以上のキーワード、値または範囲あるいはその組合せがアクティブ・セットに追加される。様々な手法において、第1の閾値と第2の閾値とは異なる値を有してよく、または同じ値を有してもよい。
一実施形態では、中央クラスタ506に記憶されているテキスト・ベースのファイルまたはすべてのファイル504あるいはその両方を、1つまたは複数のキーワードに従ってフィルタリングし、グループ化することができる。キーワードは、様々なローカル・クラスタ508と対話する複数のユーザからの入力に基づいて自動的に作成されてよく、所定の期間に最も多くクエリされた用語を表してもよい。
ローカル・クラスタ上でクエリが実行されると、ファイル504のうちのどのファイルがそのクエリを満足させるかを判断するために、そのクエリまたはそのクエリを示す何らかの標識が、典型的には中央クラスタ506に送信される。検索クエリ、分析クエリによって返される基礎にあるデータに関する何か(例えば、クエリにおけるデータ間の1つまたは複数の側面、特性、類似点、または相違点あるいはその組合せ)を判断する分析クエリなど、任意の種類のクエリを使用することができる。従来は、ファイル504のすべてがクエリを要求するローカル・クラスタに複製される。別の従来の手法では、ローカル・クラスタ508のうちの1つに作業負荷を押し付けるはなく、クエリが中央クラスタ506上で実行される場合があり、それによって中央クラスタ506の貴重な資源を使い果たす場合がある。
図7に示すように、一般的なクエリを満足させるために認知的に作成されるグループ516が中央クラスタ506上に事前に存在することに応えて、すべてのファイル504をクエリ514の発信元のローカル・クラスタ518に複製するのではなく特定のクエリ514に関連するファイルを迅速に判断してクエリの発信元のローカル・クラスタ518上に複製することができる。これにより、中央クラスタ506の資源(例えば記憶空間、プロセッサ能力など)を使用して結果をフィルタリングしたり、ファイル504のうちのどのファイルがクエリに関連するかを判断するためにローカル・クラスタ518に複製された後にすべてのファイル504をフィルタリングしたりする必要がないため、従来のプロセスよりも大幅な資源の節減になる。これは、1つには、ローカル・クラスタ518の資源がファイル504のサブセット、例えば、クエリ514の受信時に中央クラスタ506によって判断された、クエリに関係する中央クラスタ506上の1つまたは複数の特定のグループ520内のファイルをフィルタリングするためにのみ使用されるためである。
中央クラスタ506のファイル504のうちの少なくとも一部に対してフィルタリングとグループ化を行った後、ファイル504をグループ化するために使用された様々なフィルタが、既存のグループの有用性と、中央クラスタ506上のグループのローカル・クラスタ508の使用パターンとに基づいて、経時的に学習し、適応化する。この学習により、将来受け取られるクエリに応答して使用される中央クラスタ506の資源が少なくなるように、受け取ったクエリに対する関連度がより高いファイルを含むグループを提供することができるようにフィルタが調整される。当然ながら、どのようなクエリを受け取るかを完ぺきに予測する方法はないが、高性能な学習するフィルタは、全受信クエリの90%を超えるクエリに応じるために使用することができるグループを提供可能となる可能性があり、残りのクエリには中央クラスタ506上のファイル504をフィルタリングした後の結果で応答することができる。フィルタの学習および適応化により、ファイル504に加えられた変更に応じて、新規グループの追加、1つまたは複数のグループ内にあるファイルの修正、1つまたは複数の既存グループの除去などにより、様々なグループ516が変更または修正あるいはその両方がなされるようにすることができる
別の実施形態では、1つまたは複数の新規ファイルをグループに追加する、1つまたは複数の既存のファイルをグループから除去する、特定のファイルがどのグループに属するかを変更するなどにより、変化に応じて任意の単一のグループ(グループ520など)にグループ化されている個別のファイルを経時的に変更または修正あるいはその両方をすることができる。
フィルタリングされた結果の基礎にある生データに加えられた変更(例えば生データの変更によりファイルが1つのグループに関連しなくなるか、またはファイルがまだ加えられていなかったグループに関連するようになることがある、あるいはその両方)、グループ化の成功度を測定するパフォーマンスに基づく測度(例えば、グループ化がローカル・クラスタ508から提示されたクエリのための資源の節減にどの程度成功しているか)、特定のグループ内のファイルの人気度(例えば、特定のグループがローカル・クラスタに複製される頻度とすべてのグループの正規化平均との関係)、分類法の変更など、中央クラスタにおける個別のファイルのグループ化およびグループ516自体の任意の関連する変化を考慮に入れることができる。
別の実施形態では、任意の特定のローカル・クラスタ上で(または他の実施形態ではすべてのローカル・クラスタ508上で)どのグループ516を維持するか、および、より頻繁にアクセスされる情報またはより最近に要求された情報のためにスペースを空けるためにどのグループを削除するかを(または上書きを許容するか)決定するために、キャッシュ・エビクション・ポリシーを使用することができる。例えば、クエリがローカル・クラスタ(ローカル・クラスタ518など)上で実行されることに応えてグループ(グループ502など)がそのローカル・クラスタに複製された後、キャッシュ・エビクション・ポリシーの求めるところに従って1週間、1日、12時間、3時間などの所定期間、そのグループをそのローカル・クラスタ内で維持することができる。最初のクエリにのみ使用されるグループとは異なり、(グループ内のすべてのファイルであるかグループの何らかのサブグループであるかを問わず)グループが別のクエリのために使用されるとそれに応えて、そのグループが延長期間(最初のクエリ後、2番目のクエリまでの時間+所定期間)の間、ローカル・クラスタ上に留まっているように、その特定のグループのために所定時間が継続してもよい。
1つまたは複数のキャッシュ・エビクション・ポリシーの求めるところに従ってローカル・クラスタ(ローカル・クラスタ518など)上でグループ(グループ520など)を維持する期間は、一実施形態ではる単一のローカル・クラスタ、別の実施形態では、ローカル・クラスタのサブセット、または、さらに別の実施形態では、すべてのローカル・クラスタ508に全体的に適用されるように設定することができる。管理者がキャッシュ・エビクション・ポリシーを適宜に設定してもよい。
このようにして、クエリがグループ(グループ520など)のファイルにアクセスすることを要求するたびにそのグループの基礎にあるファイルをローカル・クラスタに再度複製しなくても済むように、そのグループがそのローカル・クラスタ(ローカル・クラスタ518など)上に留まっている限り、最初のクエリが実行された後、そのグループを1回または複数回再利用することができる。
一実装例では、図8に示すように、医療データ602を管理する分散システム600の場合、「X線」に関わる医療データについて分散システム600に記憶されているデータに対してクエリ606が実行されものとする。また、中央クラスタ604が、中央クラスタ604に記憶されている医療データ602を、例えば、「X線」608、「PETスキャン」610、「CTスキャン」612、「超音波」614などの医療の種類ごとに、すでにグループ化しているものとする。「X線」のクエリに応答して、グループ「X線」608内にあるデータのみが、クエリの発信元であるローカル・クラスタ616に送信される。その後、グループ「X線」608内にあるデータに対する分析クエリを実行するために、中央クラスタ604の資源ではなく、ローカル・クラスタ616の資源が使用される。また、ローカル・クラスタ616での追加のクエリでデータを再使用することができるように、元のクエリから時間が経過するに伴って、グループ「X線」608内にあるデータがローカル・クラスタ616から追い出される時点をキャッシュ・エビクション・ポリシーにより決定することができる。
図9を参照すると、一実施形態による、グローバル・データ・リポジトリ上720のデータの認知フィルタリングを可能にするシステム700が示されている。システム700は、選択されたユーザのアクセスを防止または許可するためなど、1つまたは複数の要求元デバイス722からクエリを受け取ることを予期して、任意の考えられる目的のためにグローバル・データ・リポジトリ720上のデータを事前分類するように構成された、1組の認知パフォーマンス・フィルタ708と1組の認知セキュリティ・フィルタ710とを含む。
システム700によって非構造化データ702が受け取られ、非構造化データ702は、一実施形態ではIBM(R)Watson Conversion APIなどの、1つまたは複数の変換インターフェース704を使用してテキスト・ベースのファイル706に変換される音声ファイル、映像ファイル、画像ファイルなどを含む。テキスト・ベースのファイル706は、変換された非構造化データ702に加えて、システム700によって取り込まれたネイティブのテキスト・ベースのファイル(図示せず)も含む。
一実施形態では、グローバル・データ・リポジトリ720上でデータを複数のパフォーマンス・コンテナ712に事前分類するために、1組の認知パフォーマンス・フィルタ708のうちの1つまたは複数の認知パフォーマンス・フィルタがテキスト・ベースのファイル706に適用される。パフォーマンス・コンテナ712は、受け取ったクエリに対して応答する際のシステム700のパフォーマンスを向上させる(例えば、受け取ったクエリに対してより高速に応答する、受け取ったクエリに対してより有用なデータを提供する、クエリに返答するためにより少ない資源を使用するなど)ように作成される。複数のパフォーマンス・コンテナ712は、1つまたは複数の要求元デバイス722などへのデータのキャッシングの向上によって、グローバル・データ・リポジトリ720にデータを記憶するためにグローバル・データ・リポジトリ720内の利用可能な複数の階層間のデータのより効率的な階層化を可能にすることによって、システム700のパフォーマンスを向上させることができる。
さらに、新規の認知パフォーマンス・フィルタ708を作成することができ、既存の認知パフォーマンス・フィルタ708を削除または除去することができ、1つまたは複数の有効度測度に基づいて有効度を経時的に向上させるために既存の認知パフォーマンス・フィルタ708を修正することができる。これらの変更の結果、様々な手法において複数のパフォーマンス・コンテナ712に対して変更(追加、削除、修正)を加えることができる。
要求元デバイス722がグローバル・データ・リポジトリ720からデータを受け取るのに応えて、要求元デバイス722上で実行される実際のデータ・クエリのために構成された追加の認知パフォーマンス・フィルタ724をシステム700に備えることができ、それによって、その追加の認知パフォーマンス・フィルタ724を提供した要求元デバイス722にのみ、またはいくつかの手法ではグローバル・データ・リポジトリ720のユーザの一部または全部のユーザに利用可能にすることができる、追加のパフォーマンス・コンテナ716をグローバル・データ・リポジトリ720において作成することができるようにする。
別の実施形態では、グローバル・データ・リポジトリ720上でデータを複数のセキュリティ・コンテナ714に事前分類するために、1組の認知セキュリティ・フィルタ710のうちの1つまたは複数の認知セキュリティ・フィルタがテキスト・ベースのファイル706に適用される。セキュリティ・コンテナ714は、グローバル・データ・リポジトリ720上のファイルまたはオブジェクトあるいはその両方のサブセットへのアクセスを拒絶または許可する際のシステム700のパフォーマンスが向上するように、グローバル・データ・リポジトリ720上のデータへのアクセス制御を向上させるために作成される。複数のセキュリティ・コンテナ714は、選択されたユーザのグループのユーザによって試みられたアクセスに対して、そのユーザに割り当てられたセキュリティ・コンテナ714内の利用可能なデータのみによって応答するように、ユーザの選択されたグループにとってアクセス可能なデータを事前分類することにより、グローバル・データ・リポジトリ720に記憶されたデータへのユーザのアクセス制御のより効率的な監視を可能にすることによって、システム700のパフォーマンスを向上させることができる。
さらに、新規の認知セキュリティ・フィルタ710を作成することができ、既存の認知セキュリティ・フィルタ710を削除または除去することができ、1つまたは複数の有効度測度に基づいて有効度を経時的に向上させるために既存の認知セキュリティ・フィルタ710を修正することができる。これらの変更の結果、様々な手法において複数のセキュリティ・コンテナ714に対して変更(追加、削除、修正)を加えることができる。
要求元デバイス722がグローバル・データ・リポジトリ720からデータを受け取るのに応えて、要求元デバイス722上で実行される実際のデータ・クエリのために構成された追加の認知セキュリティ・フィルタ726をシステム700に備えることができ、それによって、その追加の認知セキュリティ・フィルタ726を提供した要求元デバイス722にのみ、またはいくつかの手法ではグローバル・データ・リポジトリ720のユーザの一部または全部のユーザに利用可能にすることができる、追加のセキュリティ・コンテナ718をグローバル・データ・リポジトリ720において作成することができるようにする。
次に図10を参照すると、一実施形態による方法800が示されている。方法800は、様々な実施形態において、特に図1ないし図9に示す実施形態のいずれかにおいて本発明により実行することができる。当然ながら、この説明を読めば当業者にはわかるように、図10に具体的に記載されている動作よりも多いかまたは少ない動作も方法800に含めることができる。
方法800の各ステップは、動作環境の任意の適合する構成要素によって実行可能である。例えば、様々な実施形態において、方法800は一部または全体がマイクロプロセッサ、サーバ、コンピューティング・デバイスのクラスタ(例えばローカル・クラスタ)、1つまたは複数のプロセッサを内蔵する処理回路、または、1つまたは複数のプロセッサを含む他の何らかのデバイスによって実行可能である。方法800の1つまたは複数のステップを実行するために、処理回路、例えば、例えばプロセッサ、チップ、または、ハードウェアまたはソフトウェアあるいはその両方で実装され、好ましくは少なくとも1つのハードウェア・コンポーネントを有するモジュールあるいはその組合せを、任意のデバイスにおいて利用可能である。例示のプロセッサには、MPU、CPU、ASIC、FPGAなど、またはその組合せ、または当技術分野で知られている任意の他の適合するコンピューティング・デバイスが含まれるが、これらには限定されない。
図10に示すように、方法800は、動作802で開始し、複数のグループを作成するために1つまたは複数の要因に基づいて複数の認知データ・フィルタが生成される。複数の認知データ・フィルタが基づく要因は、キーワード、キーワードの組、値、値の組、値の範囲、および値の範囲の組を含むがこれらには限定されない1組の要因から選択される。
グローバル・データ・リポジトリに格納されたデータをフィルタリングし、複数のグループに分類するために、これらの複数の認知データ・フィルタを使用することができ、データは複数のグループ内に入れることができ、各グループを独立して管理(例えば、変更、削除、追加など)することができる。
動作804で、グローバル・データ・リポジトリにより受け取られたデータが複数の認知データ・フィルタを使用して認知フィルタリングされてデータの独立した部分が複数のグループに入れられる。このフィルタリングは、グローバル・データ・リポジトリ上でクエリを受け取る前に行われる。また、複数のグループの各グループ内のデータは、複数の認知データ・フィルタのそれぞれがデータをどのように様々なグループに分類し、フィルタリングするかという共通の定義可能な特性を共有する。各グループは、その特定のグループに分類されたデータの、他のグループを作成するために使用されたデータの特性と比較して異なる少なくとも1つの定義可能な特性に基づくごとができる。
さらに他の実施形態では、方法800は、1つまたは複数の供給源からグローバル・データ・リポジトリでデータを受け取ることを含むことができ、データはテキスト・データと非構造化データとを含む。また、データをグローバル・データ・リポジトリに記憶することと、非構造化データを純粋なテキスト・ベースのデータまたはテキスト注釈付きデータあるいはその両方(「テキスト・ベースのデータ」と総称する)に変換することとを含むことができる。さらに、方法800は、テキスト・ベースのデータをグローバル・データ・リポジトリに記憶することを含むことができ、複数の認知データ・フィルタが非構造化データから変換された後のテキスト・ベースのデータ(または受信時のテキスト・ベースのデータ)に適用され、方法800は、グローバル・データ・リポジトリでクエリの標識を受け取ることを含むことができる。クエリの標識は、クエリ自体、前に受け取ったかまたは将来受け取ることが予測される1組のクエリあるいはその両方、または、将来のクエリの基礎をなすことができ、そのような将来のクエリのためにデータをプリフェッチするために使用することができる、1人または複数のユーザによって示された関心、あるいはこれらの組合せとすることができる。また、方法800は、クエリに対応する少なくとも1つのグループを判断し、プリフェッチされたデータの蓄積に使用するための記憶域にプリフェッチすること(例えばコピーすること)を含むことができる。その後、方法800は、少なくとも1つのグループ内のデータを、クエリを提供した要求元デバイスに複製することによってクエリに応答することを含むことができる。これらのステップのいずれも、様々な手法において単独で、または方法800について記載されている任意の他のステップに加えて実行することができる。
別の実施形態では、方法800は、クエリに関して要求元デバイスに提供された少なくとも1つのグループ内のデータの使用を示す標識を受け取ることをさらに含むことができる。この標識は、任意の特定のクエリ(例えばクエリによって指定された1組のk)に関して複数の認知データ・フィルタの有効度を判断するために使用することができる。
また、1つの手法では、方法800は、要求元デバイスからクエリの標識を受け取ることに応えて要求元デバイスに提供された1つまたは複数のグループ内のデータの使用に照らして測定される複数の認知データ・フィルタの有効度を向上させるために、複数の認知データ・フィルタを経時的に適応化することを含むことができる。このプロセスを本明細書では、過去のパフォーマンスとユーザの期待とに基づく認知データ・フィルタ学習とも呼ぶ。複数の認知データ・フィルタの有効度は、要求元デバイスに提供された1つまたは複数のグループ内のデータのうち実際にクエリによって使用される部分と、要求元デバイスに記憶され、クエリで使用するために利用可能なすべてのデータのうち、上記1つまたは複数のグループ内の提供されたデータの割合とのうちの1つまたは複数に基づくことができる。一実施形態では、本明細書でフィルタFスコアと呼ぶ複数の認知データ・フィルタの有効度を計算するために、両方の測度を組み合わせることができる。
一実施形態によると、複数の認知データ・フィルタの有効度FF(k)を、前記で定義したアルゴリズム1に従って計算することができる。
別の一実施形態によると、複数の認知データ・フィルタの有効度FF(k)を、前記で定義したアルゴリズム2に従って計算することができる。
さらに他の実施形態では、方法800は、グローバル・データ・リポジトリに記憶されたデータの変更を考慮に入れるために複数のグループを更新することを含むことができる。この更新は、所定のスケジュールに基づいて定期的に、またはバックグラウンド動作として連続して、またはトリガ・イベントに応答して行うことができる。また、複数のグループのこの更新は、1つまたは複数のグループの除去、1つまたは複数のグループの追加、特定のグループへの追加データの追加、特定のグループからの既存のデータの除去などのアクションを含む。
また、トリガ・イベントは、グローバル・データ・リポジトリからの既存のデータの削除、グローバル・データ・リポジトリへの追加データの追加、グローバル・データ・リポジトリへの新しい種類のデータの追加、およびグローバル・データ・リポジトリのテキスト変換プロセスの更新を含むがこれらには限定されない組から選択することができる。
方法800は、システムまたはコンピュータ・プログラム製品あるいはその両方で実装可能である。例えば、システムは、処理回路と、処理回路に組み込まれ、処理回路によって実行可能なロジック、または処理回路に組み込まれかつ処理回路により実行可能なロジックとを含み得る。組み込まれているとは、処理回路がそれに組み込まれたハードコードされたロジックを有する、ASIC、FPGAなどのハードウェア・プロセッサであることを意味する。実行可能とは、プロセッサが、ソフトウェア・ロジックによって指示された機能を実現するためにソフトウェア・ロジックを実行するように構成されていることを意味し、プロセッサは場合によりMPU、CPU、マイクロプロセッサなどである。ロジックは、処理回路に方法800を実行させるように構成される。
別の実装例では、コンピュータ・プログラム製品が、プログラム命令が具現化されているコンピュータ可読記憶媒体を含み得る。コンピュータ可読記憶媒体は、情報を記憶し、記憶されている情報へのコンピュータ・アクセスを可能にするように構成された、当技術分野で知られている任意の適合するストレージ・デバイスとすることができる。具現化されたプログラム命令は、処理回路に方法800を実行させるように、処理回路により実行可能である。
本発明は、システム、方法またはコンピュータ・プログラム製品あるいはその組合せとすることができる。コンピュータ・プログラム製品は、プロセッサに本発明の態様を実施させるためのコンピュータ可読プログラム命令が記憶されたコンピュータ可読記憶媒体(または複数の媒体)を含み得る。
コンピュータ可読記憶媒体は、命令実行デバイスによって使用される命令を保持し、記憶することができる有形デバイスとすることができる。コンピュータ可読記憶媒体は、例えば、電子ストレージ・デバイス、磁気ストレージ・デバイス、光学式ストレージ・デバイス、電磁気ストレージ・デバイス、半導体ストレージ・デバイス、またはこれらの任意の適合する組合せであってよいが、これらには限定されない。コンピュータ可読記憶媒体のより具体的な例の非網羅的なリストには以下のものが含まれる。すなわち、可搬コンピュータ・ディスケット、ハードディスク、ランダム・アクセス・メモリ(RAM)、読み取り専用メモリ(ROM)、消去可能プログラマブル読み取り専用メモリ(EPROMまたはフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM)、可搬コンパクト・ディスク読み取り専用メモリ(CD−ROM)、デジタル多用途ディスク(DVD)、メモリ・スティック、フロッピィ・ディスク、パンチカードまたは命令が記録された溝内の隆起構造などの機械的に符号化されたデバイス、およびこれらの任意の適合する組合せが含まれる。本明細書で使用されるコンピュータ可読記憶媒体とは、電波またはその他の自由に伝播する電磁波、導波路またはその他の伝送媒体を伝播する電磁波(例えば光ファイバ・ケーブルを通る光パルス)、または電線を介して伝送される電気信号などの、一過性の信号自体であると解釈すべきではない。
本明細書に記載のコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれのコンピューティング/処理デバイスに、または、ネットワーク、例えばインターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、または無線ネットワークあるいはこれらの組合せを介して外部コンピュータまたは外部記憶デバイスにダウンロードすることができる。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、交換機、ゲートウェイ・コンピュータ、またはエッジ・サーバあるいはこれらの組合せを含み得る。各コンピューティング/処理デバイスにおけるネットワーク・アダプタ・カードまたはネットワーク・インターフェースが、ネットワークからコンピュータ可読プログラム命令を受信し、それらのコンピュータ可読プログラム命令を、それぞれのコンピューティング/処理デバイス内のコンピュータ可読記憶媒体への記憶のために転送する。
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、インストラクション・セット・アーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、または、Smalltalk(R)、C++などのオブジェクト指向プログラミング言語、および「C」プログラミング言語、または同様のプログラム言語などの従来の手続き型プログラミング言語を含む、1つまたは複数のプログラミング言語の任意の組合せで書かれたソース・コードまたはオブジェクト・コードとすることができる。コンピュータ可読プログラム命令は、スタンドアロン・ソフトウェア・パッケージとして全体がユーザのコンピュータ上で、または一部がユーザのコンピュータ上で、または一部がユーザのコンピュータ上で一部がリモート・コンピュータ上で、または全体がリモート・コンピュータまたはサーバ上で実行されてもよい。後者の場合、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)またはワイド・エリア・ネットワーク(WAN)を含む、任意の種類のネットワークを介してユーザのコンピュータに接続することができ、または接続は外部コンピュータ(例えば、インターネット・サービス・プロバイダを使用してインターネットを介して)に対して行ってもよい。実施形態によっては、本発明の態様を実行するために、例えばプログラマブル・ロジック回路、フィールド・プログラマブル・ゲート・アレイ(FPGA)、またはプログラマブル・ロジック・アレイ(PLA)を含む電子回路が、コンピュータ可読プログラム命令の状態情報を使用して電子回路をパーソナライズすることにより、コンピュータ可読プログラム命令を実行することができる。
本発明の態様について、本発明の実施形態による方法、装置(システム)、およびコンピュータ・プログラム製品を示すフローチャート図またはブロック図あるいはその両方を参照しながら説明している。フローチャート図またはブロック図あるいはその両方の図の各ブロックおよび、フローチャート図またはブロック図あるいはその両方の図のブロックの組合せは、コンピュータ可読プログラム命令によって実装可能であることはわかるであろう。
これらのコンピュータ可読プログラム命令は、コンピュータまたはその他のプログラマブル・データ処理装置のプロセッサにより実行される命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックで規定されている機能/動作を実装する手段を形成するように、汎用コンピュータ、特殊目的コンピュータ、またはその他のプログラマブル・データ処理装置のプロセッサに供給されて、マシンを作り出すものであってよい。これらのコンピュータ可読プログラム命令は、命令が記憶されたコンピュータ可読記憶媒体が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックで規定されている機能/動作の態様を実装する命令を含む製造品を含むように、コンピュータ可読記憶媒体に記憶され、コンピュータ、プログラマブル・データ処理装置、またはその他の装置あるいはこれらの組合せに対して特定の方式で機能するように指示することができるものであってもよい。
コンピュータ可読プログラム命令は、コンピュータ、その他のプログラマブル装置またはその他のデバイス上で実行される命令がフローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックで規定されている機能/動作を実装するように、コンピュータ実装プロセスを作り出すべく、コンピュータ、その他のプログラマブル・データ処理装置、またはその他のデバイスにロードされ、コンピュータ、その他のプログラマブル装置、またはその他のデバイス上で一連の動作ステップを実行させるものであってもよい。
図面中のフローチャートおよびブロック図は、本発明の様々な実施形態によるシステム、方法およびコンピュータ・プログラム製品の可能な実装形態のアーキテクチャ、機能および動作を示す。なお、フローチャートまたはブロック図の各ブロックは、規定されている論理機能を実装するための1つまたは複数の実行可能命令を含む、命令のモジュール、セグメント、または部分を表すことがある。他の実装形態では、ブロックに記載されている機能は、図に記載されている順序とは異なる順序で行われてもよい。例えば、連続して示されている2つのブロックは、関与する機能に応じて、実際には実質的に並行して実行されてよく、またはそれらのブロックは場合によっては逆の順序で実行されてもよい。また、ブロック図またはフローチャート図あるいはその両方の図の各ブロック、およびブロック図またはフローチャート図あるいはその両方の図のブロックの組合せは、規定されている機能または動作を実行する特殊目的ハードウェア・ベースのシステムによって実装可能であるか、または特殊目的ハードウェアとコンピュータ命令との組合せを実施することができることもわかるであろう。
また、様々な実施形態によるシステムは、プロセッサと、プロセッサに組み込まれるかまたはプロセッサによって実行可能であるかあるいはその両方のロジックとを含み、ロジックは、本明細書に記載のプロセス・ステップのうちの1つまたは複数のプロセス・ステップを実行するように構成される。組み込まれているとは、プロセッサにASIC、FPGAなどのハードウェア・ロジックとしてロジックが埋め込まれていることを意味する。プロセッサによって実行可能であるとは、ロジックが、ハードウェア・ロジックであるか、または、ファームウェア、またはオペレーティング・システムの一部、アプリケーション・プログラムの一部などのソフトウェア・ロジックであるか、またはプロセッサによるアクセスが可能で、プロセッサによって実行されるとプロセッサに何らかの機能を実行させるように構成された、ハードウェアとソフトウェア・ロジックとの何らかの組合せであることを意味する。ソフトウェア・ロジックは、当技術分野で知られている任意のメモリ・タイプのローカル・メモリまたはリモート・メモリあるいはその組合せに記憶可能である。ソフトウェア・プロセッサ・モジュール、またはASIC、FPGA、CPU、集積回路(IC)、グラフィクス処理ユニット(GPU)などのハードウェア・プロセッサ、あるいはその組合せなど、当技術分野で知られている任意のプロセッサを使用することができる。
上記のシステムまたは方法あるいはその両方の様々な特徴を任意に組み合わせて、上記の説明から複数の組合せを作成可能であることは明らかであろう。
以上、様々な実施形態について説明したが、これらの実施形態は例として示したに過ぎず、限定ではないことを理解されたい。したがって、好ましい実施形態の広さおよび範囲は、上記の例示の実施形態のいずれによっても限定されるべきではなく、添付の特許請求の範囲およびその均等物によってのみ規定されるべきである。

Claims (25)

  1. 複数のグループを作成するために1つまたは複数の要因に基づいて複数の認知データ・フィルタを生成することと、
    グローバル・データ・リポジトリ上でクエリを受け取る前に、前記グローバル・データ・リポジトリによって受け取られたデータを前記複数の認知データ・フィルタを使用して認知フィルタリングして前記データの独立した各部分を前記複数のグループに入れることと
    を含み、前記複数のグループの各グループ内のデータが、共通の定義可能な特性を共有している、方法。
  2. 前記グローバル・データ・リポジトリにおいて、1つまたは複数の供給源から前記データを受け取ることであって、前記データがテキスト・データと非構造化データとを含む、前記データを受け取ることと、
    前記データを前記グローバル・データ・リポジトリに記憶することと、
    前記非構造化データをテキスト・ベースのデータに変換することと、
    前記テキスト・ベースのデータを前記グローバル・データ・リポジトリに記憶することであって、前記複数の認知データ・フィルタが前記非構造化データから変換された後の前記テキスト・ベースのデータに適用される、前記テキスト・ベースのデータを前記グローバル・データ・リポジトリに記憶することと、
    前記グローバル・データ・リポジトリにおいて前記クエリの標識を受け取ることと、
    前記クエリに対応する少なくとも1つのグループを判断し、プリフェッチすることと、
    前記少なくとも1つのグループ内のデータを前記クエリの前記標識を提供した要求元デバイスに複製することによって前記クエリに応答することと
    をさらに含む、請求項1に記載の方法。
  3. 前記クエリに関して前記要求元デバイスに提供された前記少なくとも1つのグループ内のデータの使用を示す標識を受け取ることをさらに含み、
    前記1つまたは複数の要因は、キーワードと、キーワードの組と、値と、値の組と、値の範囲と、値の範囲の組とからなるグループから選択される、請求項2に記載の方法。
  4. 要求元デバイスからクエリの標識を受け取ることに応えて前記要求元デバイスに提供された1つまたは複数のグループ内のデータの使用に照らして測定される前記複数の認知データ・フィルタの有効度を向上させるために、前記複数の認知データ・フィルタを経時的に適応化することをさらに含み、
    前記複数の認知データ・フィルタの前記有効度は、前記要求元デバイスに提供された前記1つまたは複数のグループ内の前記データのうち前記クエリによって実際に利用される部分と、前記要求元デバイスに記憶され、前記クエリでの使用のために利用可能なすべてのデータのうち、前記1つまたは複数のグループ内で提供される割合と、のそれぞれに基づく、請求項1ないし3のいずれか一項に記載の方法。
  5. 前記複数の認知データ・フィルタの前記有効度FF(k)が第1のアルゴリズム
    に従って計算され、ここで、FP(k)は、前記要求元デバイスに提供された前記1つまたは複数のグループ内のデータのうち前記クエリによって実際に利用される前記部分を示し、0と、1と、0と1との間のすべての値とを含む範囲内の第1の値を有し、FR(k)は、前記要求元デバイスに記憶され、前記クエリでの使用のために利用可能なすべてのデータのうち、前記1つまたは複数のグループ内で提供される割合を示し、前記範囲内の第2の値を有する、請求項4に記載の方法。
  6. 前記複数の認知データ・フィルタの前記有効度FF(k)が第2のアルゴリズムFF(k)=(2*FP(k)*FR(k))/(FP(k)+FR(k))に従って計算され、ここで、FP(k)は、前記要求元デバイスに提供された前記1つまたは複数のグループ内の前記データのうち前記クエリによって実際に利用される前記部分を示し、0と、1と、0と1との間のすべての値とを含む範囲内の第1の値を有し、FR(k)は、前記要求元デバイスに記憶され、前記クエリでの使用のために利用可能なすべての前記データのうち、前記1つまたは複数のグループ内で提供される割合を示し、前記範囲内の第2の値を有する、請求項4に記載の方法。
  7. 前記グローバル・データ・リポジトリに記憶されたデータに加えられた変更を考慮に入れるように前記複数のグループを更新することをさらに含み、前記複数のグループの前記更新は、所定のスケジュールに基づいて定期的に、またはバックグラウンド動作として連続して、またはトリガ・イベントに応答して行われ、前記複数のグループの前記更新は、1つまたは複数のグループの除去と、1つまたは複数のグループの追加と、特定のグループへの追加データの追加と、前記特定のグループからの既存のデータの除去とからなる1組のアクションから選択されたアクションを含む、請求項1に記載の方法。
  8. 前記トリガ・イベントは、前記グローバル・データ・リポジトリからの既存データの削除と、前記グローバル・データ・リポジトリへの追加データの追加と、前記グローバル・データ・リポジトリへの新たな種類のデータの追加と、前記グローバル・データ・リポジトリのテキスト変換プロセスの更新とからなる組から選択される、請求項7に記載の方法。
  9. プログラム命令が具現化されているコンピュータ可読記憶媒体を含むコンピュータ・プログラム製品であって、前記コンピュータ可読記憶媒体は一過性の信号自体ではなく、具現化された前記プログラム命令は処理回路により実行可能であり、前記処理回路に、
    前記処理回路によって、複数のグループを作成するために1つまたは複数の要因に基づいて複数の認知データ・フィルタを生成することと、
    前記処理回路によって、グローバル・データ・リポジトリ上でクエリを受け取る前に、前記グローバル・データ・リポジトリによって受け取られたデータを前記複数の認知データ・フィルタを使用して認知フィルタリングして前記データの独立した各部分を前記複数のグループに入れることと
    を行わせ、前記複数のグループの各グループ内のデータが、共通の定義可能な特性を共有している、コンピュータ・プログラム製品。
  10. 前記具現化されたプログラム命令は、前記処理回路に、
    前記処理回路によって、前記グローバル・データ・リポジトリにおいて、1つまたは複数の供給源から前記データを受け取ることであって、前記データがテキスト・データと非構造化データとを含む、前記データを受け取ることと、
    前記処理回路によって、前記データを前記グローバル・データ・リポジトリに記憶することと、
    前記処理回路によって、前記非構造化データをテキスト・ベースのデータに変換することと、
    前記処理回路によって、前記テキスト・ベースのデータを前記グローバル・データ・リポジトリに記憶することであって、前記複数の認知データ・フィルタが前記非構造化データから変換された後の前記テキスト・ベースのデータに適用される、前記テキスト・ベースのデータを前記グローバル・データ・リポジトリに記憶することと、
    前記処理回路によって、前記グローバル・データ・リポジトリにおいて前記クエリの標識を受け取ることと、
    前記処理回路によって、前記クエリに対応する少なくとも1つのグループを判断し、プリフェッチすることと、
    前記処理回路によって、前記少なくとも1つのグループ内のデータを前記クエリの前記標識を提供した要求元デバイスに複製することによって前記クエリに応答することと
    を行わせるように、前記処理回路によってさらに実行可能である、請求項9に記載のコンピュータ・プログラム製品。
  11. 前記具現化されたプログラム命令は、前記処理回路に、
    前記処理回路によって、前記クエリに関して前記要求元デバイスに提供された前記少なくとも1つのグループ内のデータの使用を示す標識を受け取らせるように前記処理回路によってさらに実行可能であり、
    前記1つまたは複数の要因は、キーワードと、キーワードの組と、値と、値の組と、値の範囲と、値の範囲の組とからなるグループから選択される、請求項10に記載のコンピュータ・プログラム製品。
  12. 前記具現化されたプログラム命令は、前記処理回路に、
    前記処理回路によって、要求元デバイスからクエリの標識を受け取ることに応答して前記要求元デバイスに提供された1つまたは複数のグループ内のデータの使用に照らして測定される前記複数の認知データ・フィルタの有効度を向上させるために、前記複数の認知データ・フィルタを経時的に適応化させるように前記処理回路によってさらに実行可能であり、
    前記複数の認知データ・フィルタの前記有効度は、前記要求元デバイスに提供された前記1つまたは複数のグループ内の前記データのうち前記クエリによって実際に利用される部分と、前記要求元デバイスに記憶され、前記クエリでの使用のために利用可能なすべてのデータのうち、前記1つまたは複数のグループ内で提供される割合と、のそれぞれに基づく、請求項9に記載のコンピュータ・プログラム製品。
  13. 前記複数の認知データ・フィルタの前記有効度FF(k)が第1のアルゴリズム
    に従って計算され、ここで、FP(k)は、前記要求元デバイスに提供された前記1つまたは複数のグループ内の前記データのうち前記クエリによって実際に利用される前記部分を示し、0と、1と、0と1との間のすべての値とを含む範囲内の第1の値を有し、FR(k)は、前記要求元デバイスに記憶され、前記クエリでの使用のために利用可能なすべてのデータのうち、前記1つまたは複数のグループ内で提供される割合を示し、前記範囲内の第2の値を有する、請求項12に記載のコンピュータ・プログラム製品。
  14. 前記複数の認知データ・フィルタの前記有効度FF(k)が第2のアルゴリズムFF(k)=(2*FP(k)*FR(k))/(FP(k)+FR(k))に従って計算され、ここで、FP(k)は、前記要求元デバイスに提供された前記1つまたは複数のグループ内の前記データのうち前記クエリによって実際に利用される前記部分を示し、0と、1と、0と1との間のすべての値とを含む範囲内の第1の値を有し、FR(k)は、前記要求元デバイスに記憶され、前記クエリでの使用のために利用可能なすべての前記データのうち、前記1つまたは複数のグループ内で提供される割合を示し、前記範囲内の第2の値を有する、請求項12に記載のコンピュータ・プログラム製品。
  15. 前記具現化されたプログラム命令は、前記処理回路に、
    前記処理回路によって、所定のスケジュールに基づいて定期的に、またはバックグラウンド動作として連続して、またはトリガ・イベントに応答して、前記グローバル・データ・リポジトリに記憶されたデータに加えられた変更を考慮に入れるように前記複数のグループを更新させるように前記処理回路によってさらに実行可能であり、前記更新は、1つまたは複数のグループの除去と、1つまたは複数のグループの追加と、特定のグループへの追加データの追加と、前記特定のグループからの既存のデータの除去とからなる1組のアクションから選択されたアクションを行うことを含む、請求項9に記載のコンピュータ・プログラム製品。
  16. 前記トリガ・イベントは、前記グローバル・データ・リポジトリからの既存データの削除と、前記グローバル・データ・リポジトリへの追加データの追加と、前記グローバル・データ・リポジトリへの新たな種類のデータの追加と、前記グローバル・データ・リポジトリのテキスト変換プロセスの更新とからなる組から選択される、請求項15に記載のコンピュータ・プログラム製品。
  17. 処理回路と、
    メモリと、
    メモリに記憶されたロジックと
    を含み、前記ロジックは、前記処理回路によって実行されると前記処理回路に、
    複数のグループを作成するために1つまたは複数の要因に基づいて複数の認知データ・フィルタを生成することと、
    グローバル・データ・リポジトリ上でクエリを受け取る前に、前記グローバル・データ・リポジトリによって受け取られたデータを前記複数の認知データ・フィルタを使用して認知フィルタリングして前記データの独立した各部分を前記複数のグループに入れることと
    を行わせ、前記複数のグループの各グループ内のデータが、共通の定義可能な特性を共有している、システム。
  18. 前記ロジックは、前記処理回路に、
    前記グローバル・データ・リポジトリにおいて、1つまたは複数の供給源から前記データを受け取ることであって、前記データがテキスト・データと非構造化データとを含む、前記データを受け取ることと、
    前記データを前記グローバル・データ・リポジトリに記憶することと、
    前記非構造化データをテキスト・ベースのデータに変換することと、
    前記テキスト・ベースのデータを前記グローバル・データ・リポジトリに記憶することであって、前記複数の認知データ・フィルタが前記非構造化データから変換された後の前記テキスト・ベースのデータに適用される、前記テキスト・ベースのデータを前記グローバル・データ・リポジトリに記憶することと、
    前記グローバル・データ・リポジトリにおいて前記クエリの標識を受け取ることと、
    前記クエリに対応する少なくとも1つのグループを判断し、プリフェッチすることと、
    前記少なくとも1つのグループ内のデータを前記クエリの前記標識を提供した要求元デバイスに複製することによって前記クエリに応答することと
    をさらに行わせる、請求項17に記載のシステム。
  19. 前記ロジックは、前記処理回路にさらに、
    前記クエリに関して前記要求元デバイスに提供された前記少なくとも1つのグループ内のデータの使用を示す標識を受け取らせ、
    前記1つまたは複数の要因は、キーワードと、キーワードの組と、値と、値の組と、値の範囲と、値の範囲の組とからなるグループから選択される、請求項18に記載のシステム。
  20. 前記ロジックは、前記処理回路にさらに、
    要求元デバイスからクエリの標識を受け取ることに応答して前記要求元デバイスに提供された1つまたは複数のグループ内のデータの使用に照らして測定される前記複数の認知データ・フィルタの有効度を向上させるために、前記複数の認知データ・フィルタを経時的に適応化させ、
    前記複数の認知データ・フィルタの前記有効度は、前記要求元デバイスに提供された前記1つまたは複数のグループ内の前記データのうち前記クエリによって実際に利用される部分と、前記要求元デバイスに記憶され、前記クエリでの使用のために利用可能なすべてのデータのうち、前記1つまたは複数のグループ内で提供される割合と、のそれぞれに基づく、請求項17に記載のシステム。
  21. 前記複数の認知データ・フィルタの前記有効度FF(k)が第1のアルゴリズム
    に従って計算され、ここで、FP(k)は、前記要求元デバイスに提供された前記1つまたは複数のグループ内の前記データのうち前記クエリによって実際に利用される前記部分を示し、0と、1と、0と1との間のすべての値とを含む範囲内の第1の値を有し、FR(k)は、前記要求元デバイスに記憶され、前記クエリでの使用のために利用可能なすべてのデータのうち、前記1つまたは複数のグループ内で提供される割合を示し、前記範囲内の第2の値を有する、請求項20に記載のシステム。
  22. 前記複数の認知データ・フィルタの前記有効度FF(k)が第2のアルゴリズムFF(k)=(2*FP(k)*FR(k))/(FP(k)+FR(k))に従って計算され、ここで、FP(k)は、前記要求元デバイスに提供された前記1つまたは複数のグループ内の前記データのうち前記クエリによって実際に利用される前記部分を示し、0と、1と、0と1との間のすべての値とを含む範囲内の第1の値を有し、FR(k)は、前記要求元デバイスに記憶され、前記クエリでの使用のために利用可能なすべての前記データのうち、前記1つまたは複数のグループ内で提供される割合を示し、前記範囲内の第2の値を有する、請求項20に記載のシステム。
  23. 前記ロジックは、前記処理回路にさらに、
    前記グローバル・データ・リポジトリに記憶されたデータに加えられた変更を考慮に入れるように前記複数のグループを更新させ、前記複数のグループの前記更新は、所定のスケジュールに基づいて定期的に、またはバックグラウンド動作として連続して、またはトリガ・イベントに応答して行われ、前記複数のグループの前記更新は、1つまたは複数のグループの除去と、1つまたは複数のグループの追加と、特定のグループへの追加データの追加と、前記特定のグループからの既存のデータの除去とからなる1組のアクションから選択されたアクションを含む、請求項17に記載のシステム。
  24. 前記トリガ・イベントは、前記グローバル・データ・リポジトリからの既存データの削除と、前記グローバル・データ・リポジトリへの追加データの追加と、前記グローバル・データ・リポジトリへの新たな種類のデータの追加と、前記グローバル・データ・リポジトリのテキスト変換プロセスの更新とからなる組から選択される、請求項23に記載のシステム。
  25. グローバル・データ・リポジトリにおいて、1つまたは複数の供給源からデータを受け取ることであって、前記データがテキスト・データと非構造化データとを含む、データを受け取ることと、
    前記データを前記グローバル・データ・リポジトリに記憶することと、
    前記非構造化データをテキスト・ベースのデータに変換することと、
    前記テキスト・ベースのデータを前記グローバル・データ・リポジトリに記憶することと、
    複数のグループを作成するために、1つまたは複数のキーワードを含む1つまたは複数の要因に基づいて複数の認知データ・フィルタを生成することと、
    前記グローバル・データ・リポジトリ上でクエリを受け取る前に、前記複数の認知データ・フィルタを使用して前記データを認知フィルタリングして前記データの独立した各部分を前記複数のグループに入れることであって、前記複数のグループの各グループ内のデータが、共通の定義可能な特性を共有し、前記複数の認知データ・フィルタが前記非構造化データから変換された後の前記テキスト・ベースのデータに適用される、前記データを認知フィルタリングして前記データの独立した各部分を前記複数のグループに入れることと、
    前記クエリの標識を受け取ることと、
    前記複数のグループから前記クエリに対応する少なくとも1つのグループを判断し、プリフェッチすることと、
    前記クエリの前記標識を提供した要求元デバイスに前記少なくとも1つのグループ内のデータを複製することによって前記クエリに応答することと、
    前記クエリに関して前記要求元デバイスに提供された前記少なくとも1つのグループ内のデータの使用を示す標識を受け取ることと、
    前記要求元デバイスに提供された前記少なくとも1つのグループ内の前記データの前記使用に照らして測定される前記複数の認知データ・フィルタの有効度を向上させるために、前記複数の認知データ・フィルタを経時的に適応化することと
    を含み、
    前記複数の認知データ・フィルタの前記有効度は、前記要求元デバイスに提供された前記少なくとも1つのグループ内の前記データのうち前記クエリによって実際に利用される部分と、前記要求元デバイスに記憶され、前記クエリでの使用のために利用可能なすべてのデータのうち、前記少なくとも1つのグループ内で提供される割合と、のそれぞれに基づく、方法。
JP2020502995A 2017-07-26 2018-07-17 ストレージ環境のための認知データ・フィルタリングをする方法、コンピュータ・プログラムおよびシステム Active JP7124051B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/660,733 2017-07-26
US15/660,733 US10817515B2 (en) 2017-07-26 2017-07-26 Cognitive data filtering for storage environments
PCT/IB2018/055295 WO2019021113A1 (en) 2017-07-26 2018-07-17 FILTERING COGNITIVE DATA FOR STORAGE ENVIRONMENTS

Publications (3)

Publication Number Publication Date
JP2020528617A true JP2020528617A (ja) 2020-09-24
JP2020528617A5 JP2020528617A5 (ja) 2021-01-07
JP7124051B2 JP7124051B2 (ja) 2022-08-23

Family

ID=65038583

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020502995A Active JP7124051B2 (ja) 2017-07-26 2018-07-17 ストレージ環境のための認知データ・フィルタリングをする方法、コンピュータ・プログラムおよびシステム

Country Status (6)

Country Link
US (1) US10817515B2 (ja)
JP (1) JP7124051B2 (ja)
CN (1) CN110914817B (ja)
DE (1) DE112018002266T5 (ja)
GB (1) GB2579512A (ja)
WO (1) WO2019021113A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10884980B2 (en) 2017-07-26 2021-01-05 International Business Machines Corporation Cognitive file and object management for distributed storage environments
US11055420B2 (en) * 2018-02-05 2021-07-06 International Business Machines Corporation Controlling access to data requested from an electronic information system
US10447592B2 (en) * 2018-02-08 2019-10-15 Ricoh Company, Ltd. Output device discovery using network switches
US11509531B2 (en) * 2018-10-30 2022-11-22 Red Hat, Inc. Configuration sharing and validation for nodes in a grid network
CN112311559A (zh) 2019-07-24 2021-02-02 中兴通讯股份有限公司 计数器自定义过滤方法、装置以及计算机可读存储介质
US11894973B2 (en) 2022-03-10 2024-02-06 Ricoh Company, Ltd. Assigning and prioritizing mediation servers for monitoring legacy devices
US11606242B1 (en) 2022-03-10 2023-03-14 Ricoh Company, Ltd. Coordinated monitoring of legacy output devices

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004178217A (ja) * 2002-11-26 2004-06-24 Sony Corp ファイル管理装置、ファイル管理方法、ファイル管理プログラム及び、ファイル管理プログラムを記録したコンピュータ読み取り可能なプログラム格納媒体
US8099401B1 (en) * 2007-07-18 2012-01-17 Emc Corporation Efficiently indexing and searching similar data
JP2014021645A (ja) * 2012-07-17 2014-02-03 Fuji Xerox Co Ltd 情報分類プログラム及び情報処理装置
US8862580B1 (en) * 2004-03-01 2014-10-14 Radix Holdings, Llc Category-based search

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3177999B2 (ja) 1991-04-25 2001-06-18 カシオ計算機株式会社 システム構成図作成装置
US6470389B1 (en) 1997-03-14 2002-10-22 Lucent Technologies Inc. Hosting a network service on a cluster of servers using a single-address image
US6205481B1 (en) 1998-03-17 2001-03-20 Infolibria, Inc. Protocol for distributing fresh content among networked cache servers
US6952737B1 (en) 2000-03-03 2005-10-04 Intel Corporation Method and apparatus for accessing remote storage in a distributed storage cluster architecture
US6675159B1 (en) * 2000-07-27 2004-01-06 Science Applic Int Corp Concept-based search and retrieval system
US7844691B2 (en) 2004-12-30 2010-11-30 Xstor Systems, Inc. Scalable distributed storage and delivery
US7835578B2 (en) * 2006-04-19 2010-11-16 Sarnoff Corporation Automated video-to-text system
US7890488B2 (en) 2007-10-05 2011-02-15 Yahoo! Inc. System and method for caching posting lists
US7437686B1 (en) 2007-11-16 2008-10-14 International Business Machines Corporation Systems, methods and computer program products for graphical user interface presentation to implement filtering of a large unbounded hierarchy to avoid repetitive navigation
US10719149B2 (en) * 2009-03-18 2020-07-21 Touchtunes Music Corporation Digital jukebox device with improved user interfaces, and associated methods
CA2797764A1 (en) * 2010-04-30 2011-11-03 Now Technologies (Ip) Limited Content management apparatus
US9699503B2 (en) * 2010-09-07 2017-07-04 Opentv, Inc. Smart playlist
US8661449B2 (en) 2011-06-17 2014-02-25 Microsoft Corporation Transactional computation on clusters
US9886188B2 (en) 2011-08-25 2018-02-06 International Business Machines Corporation Manipulating multiple objects in a graphic user interface
CN103020158B (zh) 2012-11-26 2016-09-07 中兴通讯股份有限公司 一种报表创建方法、装置和系统
US9152622B2 (en) * 2012-11-26 2015-10-06 Language Weaver, Inc. Personalized machine translation via online adaptation
US9405811B2 (en) 2013-03-08 2016-08-02 Platfora, Inc. Systems and methods for interest-driven distributed data server systems
US9075960B2 (en) * 2013-03-15 2015-07-07 Now Technologies (Ip) Limited Digital media content management apparatus and method
US20140365241A1 (en) 2013-06-05 2014-12-11 ESO Solutions, Inc. System for pre-hospital patient information exchange and methods of using same
US9245026B1 (en) * 2013-06-26 2016-01-26 Amazon Technologies, Inc. Increasing the relevancy of search results across categories
US10242045B2 (en) * 2013-10-30 2019-03-26 Dropbox, Inc. Filtering content using synchronization data
CN104866497B (zh) 2014-02-24 2018-06-15 华为技术有限公司 分布式文件系统列式存储的元数据更新方法、装置、主机
US9275132B2 (en) 2014-05-12 2016-03-01 Diffeo, Inc. Entity-centric knowledge discovery
EP2966562A1 (en) 2014-07-09 2016-01-13 Nexenta Systems, Inc. Method to optimize inline i/o processing in tiered distributed storage systems
CN104318340B (zh) 2014-09-25 2017-07-07 中国科学院软件研究所 基于文本履历信息的信息可视化方法及智能可视分析系统
CN109634933A (zh) 2014-10-29 2019-04-16 北京奇虎科技有限公司 数据处理的方法、装置及系统
CN104484404B (zh) 2014-12-15 2017-11-07 中国科学院东北地理与农业生态研究所 一种改善分布式文件系统中地理栅格数据文件处理方法
WO2016149552A1 (en) 2015-03-17 2016-09-22 Cloudera, Inc. Compaction policy
CN104767813B (zh) 2015-04-08 2018-06-08 江苏国盾科技实业有限责任公司 基于openstack的公众行大数据服务平台
CN106250381B (zh) * 2015-06-04 2020-11-17 微软技术许可有限责任公司 用于确定表格式存储的列布局的系统和方法
US9774993B1 (en) * 2016-05-17 2017-09-26 International Business Machines Corporation System, method, and recording medium for geofence filtering
CN106056427A (zh) 2016-05-25 2016-10-26 中南大学 一种基于Spark的大数据混合模型的移动推荐方法
CN106527993B (zh) 2016-11-09 2019-08-30 北京搜狐新媒体信息技术有限公司 一种分布式系统中的海量文件储存方法及装置
US10884980B2 (en) 2017-07-26 2021-01-05 International Business Machines Corporation Cognitive file and object management for distributed storage environments
JP2018092679A (ja) 2018-03-14 2018-06-14 株式会社メイキップ 適正サイズ提示方法、適正サイズ提示システム、サーバ装置、及びプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004178217A (ja) * 2002-11-26 2004-06-24 Sony Corp ファイル管理装置、ファイル管理方法、ファイル管理プログラム及び、ファイル管理プログラムを記録したコンピュータ読み取り可能なプログラム格納媒体
US8862580B1 (en) * 2004-03-01 2014-10-14 Radix Holdings, Llc Category-based search
US8099401B1 (en) * 2007-07-18 2012-01-17 Emc Corporation Efficiently indexing and searching similar data
JP2014021645A (ja) * 2012-07-17 2014-02-03 Fuji Xerox Co Ltd 情報分類プログラム及び情報処理装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"いまさら聞けない機械学習の評価関数", GUNOSY'S BLOG, JPN7021004741, 5 August 2016 (2016-08-05), JP, ISSN: 0004636257 *
伊藤 拓 外3名: "Tweet内容に影響を与える気象条件と特徴語の抽出", 情報処理学会 研究報告 高度交通システムとスマートコミュニティ(ITS) 2014−ITS−059, JPN6021043955, 5 December 2014 (2014-12-05), JP, pages 1 - 6, ISSN: 0004636256 *
粟 立軍 外3名: "マイクロブログにおけるクラスタリング技術の比較", 第5回データ工学と情報マネジメントに関するフォーラム (第11回日本データベース学会年次大会)[ON, JPN6021043953, 5 June 2013 (2013-06-05), JP, pages 5, ISSN: 0004636255 *

Also Published As

Publication number Publication date
WO2019021113A1 (en) 2019-01-31
GB2579512A (en) 2020-06-24
CN110914817B (zh) 2024-02-02
JP7124051B2 (ja) 2022-08-23
US20190034487A1 (en) 2019-01-31
CN110914817A (zh) 2020-03-24
DE112018002266T5 (de) 2020-02-20
GB202002250D0 (en) 2020-04-01
US10817515B2 (en) 2020-10-27

Similar Documents

Publication Publication Date Title
JP7124051B2 (ja) ストレージ環境のための認知データ・フィルタリングをする方法、コンピュータ・プログラムおよびシステム
JP7062750B2 (ja) 分散ストレージ環境のための認知ファイルおよびオブジェクト管理のための方法、コンピュータ・プログラムおよびシステム
US10055410B1 (en) Corpus-scoped annotation and analysis
US20160378858A1 (en) Clustering of search results
JP7239671B2 (ja) テキスト・マイニングと統合した辞書編集システム
US11074310B2 (en) Content-based management of links to resources
US10042835B2 (en) Weighted annotation evaluation
US10558687B2 (en) Returning search results utilizing topical user click data when search queries are dissimilar
US11144538B2 (en) Predictive database index modification
US11281704B2 (en) Merging search indexes of a search service
CN110291515B (zh) 计算系统中的分布式索引搜索
EP4371028A1 (en) Elucidated natural language artifact recombination with contextual awareness
US11157532B2 (en) Hierarchical target centric pattern generation
US20200142625A1 (en) Data Management System for Storage Tiers
US20180121428A1 (en) Returning search results utilizing topical user click data when search queries are dissimilar
US12008041B2 (en) Shared cache for multiple index services in nonrelational databases
US11244007B2 (en) Automatic adaption of a search configuration
US11436288B1 (en) Query performance prediction for multifield document retrieval
US11947558B2 (en) Built-in analytics for database management
US20230081324A1 (en) Shared cache for multiple index services in nonrelational databases
US20230221986A1 (en) Working memory management
US20220414168A1 (en) Semantics based search result optimization
WO2023105373A1 (en) Reduced latency query processing

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201117

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201222

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210830

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211109

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220315

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20220502

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220602

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220802

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220810

R150 Certificate of patent or registration of utility model

Ref document number: 7124051

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150