JP2020528614A - 分散ストレージ環境のための認知ファイルおよびオブジェクト管理のための方法、コンピュータ・プログラムおよびシステム - Google Patents

分散ストレージ環境のための認知ファイルおよびオブジェクト管理のための方法、コンピュータ・プログラムおよびシステム Download PDF

Info

Publication number
JP2020528614A
JP2020528614A JP2020502710A JP2020502710A JP2020528614A JP 2020528614 A JP2020528614 A JP 2020528614A JP 2020502710 A JP2020502710 A JP 2020502710A JP 2020502710 A JP2020502710 A JP 2020502710A JP 2020528614 A JP2020528614 A JP 2020528614A
Authority
JP
Japan
Prior art keywords
files
query
central cluster
groups
cluster
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
JP2020502710A
Other languages
English (en)
Other versions
JP7062750B2 (ja
JP2020528614A5 (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 JP2020528614A publication Critical patent/JP2020528614A/ja
Publication of JP2020528614A5 publication Critical patent/JP2020528614A5/ja
Application granted granted Critical
Publication of JP7062750B2 publication Critical patent/JP7062750B2/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/10File systems; File servers
    • G06F16/14Details of searching files based on file metadata
    • G06F16/144Query formulation
    • 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/18File system types
    • G06F16/182Distributed file systems
    • 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/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • 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/17Details of further file system functions
    • G06F16/172Caching, prefetching or hoarding of files
    • 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/18File system types
    • G06F16/182Distributed file systems
    • G06F16/184Distributed file systems implemented as replicated file system

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Mathematical Physics (AREA)
  • Library & Information Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】分散ストレージ環境のための認知ファイルおよびオブジェクト管理のための方法、コンピュータ・プログラム製品およびシステムを提供する。【解決手段】方法が、複数のファイルに対するクエリを受け取る前に、複数のファイルの独立した各部分を複数のグループに入れるために分散ファイル・システムの中央クラスタに記憶されている上記複数のファイルをフィルタを使用してフィルタリングすることを含む。複数のグループの各グループ内のファイルは共通の検索可能な特性を共有している。この方法は、中央クラスタにおいてクエリの標識を受け取ることも含む。また、この方法は、クエリの標識を提供した、中央クラスタとは地理的に異なる分散ファイル・システムのローカル・クラスタに、複数のグループのうちのクエリに対応する1つまたは複数のグループのファイルを複製することによってクエリに応答することを含む。【選択図】図9

Description

本発明は分散ストレージ環境に関し、より詳細には、認知技術を使用した分散ストレージ環境におけるファイルおよびオブジェクト管理に関する。
中央分散クラスタ化ファイル・システムは、分散ファイル・システム内に記憶されているすべてのファイルまたはオブジェクトあるいはその両方にグローバル名前空間を提供することができる。実質的に、このようなシステムは、グローバル・データ・リポジトリとして機能し、膨大なデータ記憶容量を備えることができ、様々なストレージ・クラスにわたる階層化が可能である。このようなシステムは、中央データ・リポジトリ・クラスタと、中央データ・リポジトリより規模の小さい複数のローカル・クラスタとを含む。各ローカル・クラスタは、キャッシュ・クラスタとも呼ばれ、1つまたは複数のストレージ・クラスの複数のストレージ・デバイスを含み、分散ファイル・システムに記憶されているデータの一部をローカル・クラスタのキャッシュ内にキャッシュするためにワイド・エリア・ネットワーク(WAN)キャッシング技術を利用することができる。
一般には、ローカル・クラスタ上でユーザによって頻繁にアクセスされるデータをより効率的に提供するためにWANキャッシングが使用される。このようにして、ローカル・クラスタ上で実行されるクエリまたは分析動作あるいはその両方がローカル・クラスタに照らして実行される。すべてのデータを各ローカル・クラスタと中央クラスタとに記憶するのは、必要なデータ記憶域とデータ同期コストとが大きいため実際的ではない。したがって、様々なローカル・クラスタがクエリまたは分析動作あるいはその両方のためにデータを取り出すことができるデータのグローバル・コピーを記憶するために中央クラスタが使用されることが多い。この典型的な使用モデルでは、分散ファイル・システムの物理的設置領域全体にわたって地理的に分散可能な様々なローカル・クラスタでデータが受け取られ、取り込まれる。様々なローカル・クラスタから取り込まれたデータは、その後、グローバル・コピーとして記憶されるように中央クラスタに複製される。別の使用モデルでは、中央クラスタはデータ・リポジトリの役割を果たすことができ、データへのより高速なアクセスのために、複数のローカル・クラスタが中央リポジトリに記憶されているデータを読み取り専用インスタンスとして利用することができる。
いずれの使用モデルでも、ユーザがそこからアクセスを試みるローカル・クラスタにもデータが記憶されていない場合、中央クラスタに記憶されているデータへのリモート・アクセスのためのレイテンシは分散ファイル・システムのユーザにとって望まれるよりも大きい。これにより、分散ファイル・システムのアクセス・パフォーマンスに変動が生じる。
また、ビッグ・データ分析は、グローバル・データ・リポジトリに記憶されているデータのきわめて大きな部分(またはすべて)の走査を必要とすることがある。すべてのクエリをグローバル・データ・リポジトリ上で直接行うのは資源集約度が高過ぎることがあり、したがって、グローバル・データ・リポジトリからすべてのデータを、グローバル・データ・リポジトリにアクセスすることができるコントローラ以外の他のデバイスにコピーすることによって、その他方のデバイス上でクエリが実行される場合がある。場合によっては、分析動作の実行後、コピーされたデータがその他方のデバイスから削除され、これによって、その後また分析動作を実行するためにグローバル・データ・リポジトリから再びすべてのデータをコピーする必要が生じる。また、他の場合には、コピーされたデータがキャッシュされる場合があり、これには、その他方のデバイス上で莫大な量のローカル・ストレージを必要とする。いずれの場合も、分析動作でどのデータを使用するのか、グローバル・データ・リポジトリ上でまだコピーされていない可能性のあるデータは何かを判断する判断機能がないために、コピーされるデータはグローバル・データ・リポジトリ内のすべてのデータを含んでいる。また、分析動作で、コピーされたデータのすべてが使用されるわけではなく、クエリを処理する際に単にドロップインされるだけであり、したがって、ネットワーク回線容量、処理能力、メモリ容量、時間など、かなりの資源が無駄に消費される。
あるいは、グローバル・データ・リポジトリにすべてのクエリを処理する十分な処理能力がある場合でも、クエリ処理を高速化するためにデータがキャッシュされる(すなわち、グローバル・データ・リポジトリのローカル・メモリにコピーされ、保存される)ことがある。このようにしてクエリを実行する場合、他のデバイス上でクエリを実行するためにデータをコピーする場合と同様の資源コストがかかる。
従って発明が解決しようとする課題は分散ストレージ環境のための認知ファイルおよびオブジェクト管理方法、システム、およびコンピュータ・プログラムを提供することである。
一実施形態では、方法が、複数のファイルに対するクエリを受け取る前に、上記複数のファイルの独立した各部分を複数のグループに入れるために分散ファイル・システムの中央クラスタに記憶されている上記複数のファイルをフィルタを使用してフィルタリングすることを含む。上記複数のグループの各グループ内のファイルは共通の検索可能な特性を共有している。この方法は、上記中央クラスタにおいて上記クエリの標識を受け取ることとも含む。また、この方法は、上記クエリの上記標識を提供した、上記中央クラスタとは地理的に異なる、上記分散ファイル・システムのローカル・クラスタに上記複数のグループのうちの上記クエリに対応する1つまたは複数のグループのファイルを複製することによって、上記クエリに応答することとを含む。
別の実施形態では、コンピュータ・プログラム製品が、プログラム命令が具現化されているコンピュータ可読記憶媒体を含む。コンピュータ可読記憶媒体は、一過性の信号自体ではなく、具現化された上記プログラム命令は処理回路により実行可能であって上記処理回路に、複数のファイルに対するクエリを受け取る前に、上記複数のファイルの独立した各部分を複数のグループに入れるために、上記処理回路によって、分散ファイル・システムの中央クラスタに記憶されている複数のファイルをフィルタを使用してフィルタリングさせる。複数のグループの各グループ内のファイルは共通の検索可能な特性を共有している。また、具現化された上記プログラム命令は、上記処理回路に、上記処理回路によって上記中央クラスタにおいて上記クエリの標識を受け取らせるように、上記処理回路によって実行可能である。また、具現化された上記プログラム命令は、上記処理回路に、上記処理回路によって上記複数のグループのうちの上記クエリに対応する1つまたは複数のグループのファイルを上記分散ファイル・システムの上記クエリの上記標識を提供したローカル・クラスタに複製することによって上記クエリに応答させるように、上記処理回路によって実行可能である。
さらに別の実施形態では、システムが、処理回路と、メモリと、メモリに記憶されたロジックとを含み、ロジックは、上記処理回路によって実行されると上記処理回路に、複数のファイルに対するクエリを受け取る前に、上記複数のファイルの独立した各部分を複数のグループに入れるために分散ファイル・システムの中央クラスタに記憶されている上記複数のファイルをフィルタを使用してフィルタリングさせる。上記複数のグループの各グループ内のファイルは共通の検索可能な特性を共有している。ロジックは、上記処理回路によって実行されると上記処理回路に、上記中央クラスタにおいて上記クエリの標識を受け取らせる。また、ロジックは、上記処理回路によって実行されると上記処理回路に、上記クエリの上記標識を提供した、上記分散ファイル・システムのローカル・クラスタに上記複数のグループのうちの上記クエリに対応する1つまたは複数のグループのファイルを複製することによって、上記クエリに応答させる。
別の実施形態によると、方法が、分散ファイル・システムの中央クラスタにおいて1つまたは複数の供給源からテキストと非構造化データとを含む複数のファイルを受け取ることを含む。また、この方法は、上記複数のファイルを上記中央クラスタに記憶することと、中央クラスタにおいて上記非構造化データをテキストに変換することとを含む。また、この方法は、上記複数のファイルに対するクエリを受け取る前に、上記複数のファイルの独立した各部分を複数のグループに入れるために上記複数のファイルをフィルタを使用してフィルタリングすることを含む。上記複数のグループの各グループ内のファイルは共通の検索可能な特性を共有しており、上記フィルタは上記非構造化データから変換された後の上記ファイルの上記テキストに適用される。
さらに別の実施形態によると、方法が、クエリの標識を分散ファイル・システムの中央クラスタに送信する前に、上記分散ファイル・システムのローカル・クラスタで上記クエリに関連するファイルを検索することを含む。この方法は、上記関連するファイルが上記ローカル・クラスタに記憶されていないとの判断に応答して上記中央クラスタに上記クエリの上記標識を送信することも含む。また、この方法は、上記ローカル・クラスタにおいて上記クエリに関連するファイルのグループを受け取ることを含む。さらに、この方法は、上記ファイルのグループは上記中央クラスタに記憶されているすべてのファイルは含まないという条件で、上記ファイルのグループに対してクエリを実行することを含む。また、この方法は、キャッシュ・エビクション・ポリシーに従って上記ファイルのグループへの最後のアクセスから始まる所定期間、上記ファイルのグループを上記ローカル・クラスタに記憶することを含む。
本発明の他の態様および実施形態は、図面とともに読めば本発明の原理を例として示す以下の詳細な説明からわかるであろう。
本発明の一実施形態によるクラウド・コンピューティング・ノードを示す図である。 本発明の一実施形態によるクラウド・コンピューティング環境を示す図である。 本発明の一実施形態による抽象モデル層を示す図である。 一実施形態による階層的データ・ストレージ・システムを示す図である。 一実施形態による、効率的なクエリ処理のためにデータをフィルタリングし、グループ化するいくつかの段階における分散システムを示す図である。 一実施形態による、効率的なクエリ処理のためにデータをフィルタリングし、グループ化するいくつかの段階における分散システムを示す図である。 一実施形態による、効率的なクエリ処理のためにデータをフィルタリングし、グループ化するいくつかの段階における分散システムを示す図である。 例示の分散システムにおける効率的クエリ処理のためのデータのフィルタリングとグループ化とを示す図である。 一実施形態による方法のフローチャートを示す図である。 一実施形態による方法のフローチャートを示す図である。
以下の説明は、本発明の一般的原理を示す目的で行うものであり、本明細書で特許請求される本発明の概念を限定することを意図したものではない。また、本明細書に記載の特定の特徴は、考えられる様々な組合せおよび置換のそれぞれにおける他の記載されている特徴と組み合わせて使用することができる。
本明細書で特に定義されていない限り、すべての用語は、本明細書の記載から含意される意味と、当業者にわかる意味、または辞書、論文などで定義されている意味あるいはその両方とを含む、可能な最も広い解釈が与えられるべきものである。
また、本明細書および添付の特許請求の範囲で使用されている、単数形の「a」、「an」および「the」は、特に明記されていない限り複数も含むことにも留意すべきである。また、「含んでいる(comprises)」または「含む(comprising)」あるいはその両方の用語は、本明細書で使用されている場合、記載されている特徴、整数、ステップ、動作、要素または構成要素あるいはその組合せの存在を規定するが、1つまたは複数の他の特徴、整数、ステップ、動作、要素、構成要素またはこれらのグループあるいはその組合せの存在または追加を排除しないことがさらに理解される。本明細書で使用する「約」という用語は、当業者にはわかるように、「約」という用語の後の数値を「約」という用語の後の数値にかなり近い任意の数値とともに指す。特に示されていない場合、「約」という用語は、「約」という用語の後の数値±10%の数値を指す。例えば、「約10」は、9.0から11.0までのすべての値を9.0と11.0を含めて指す。
以下の説明では、分散ストレージ環境におけるファイルおよびオブジェクトを認知管理するためのシステム、方法およびコンピュータ・プログラム製品のいくつかの好ましい実施形態を開示する。
一般的一実施形態では、方法が、複数のファイルに対するクエリを受け取る前に、上記複数のファイルの独立した各部分を複数のグループに入れるために分散ファイル・システムの中央クラスタに記憶されている上記複数のファイルをフィルタを使用してフィルタリングすることを含む。上記複数のグループの各グループ内のファイルは共通の検索可能な特性を共有している。この方法は、上記中央クラスタにおいて上記クエリの標識を受け取ることとも含む。また、この方法は、上記クエリの上記標識を提供した、上記中央クラスタとは地理的に異なる、上記分散ファイル・システムのローカル・クラスタに上記複数のグループのうちの上記クエリに対応する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の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あるいはその両方が分析される。カテゴリの関連性は、特定のユーザの関心事、例えばユーザが携わっている業務の種類、(例えば自宅、職場など、ユーザの)地理的場所、クエリの日付などに基づいて選択される。
様々な非限定的実施例では、中央クラスタ506に記憶されているテキスト・ベースのファイルまたはすべてのファイル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への所定閾値量のファイルの追加または修正あるいはその両方、管理者からの明示的要求など、任意の適合するトリガ・イベントを使用することができる。
一実施形態では、中央クラスタ506に記憶されているテキスト・ベースのファイルまたはすべてのファイル504あるいはその両方を、1つまたは複数のキーワードに従ってフィルタリングし、グループ化することができる。キーワードは、様々なローカル・クラスタ508と対話する複数のユーザからの入力に基づいて自動的に作成されてよく、所定の期間に最も多くクエリされた用語を表してもよい。
ローカル・クラスタ上でクエリが実行されると、ファイル504のうちのどのファイルがそのクエリを満足させるかを判断するために、そのクエリまたはそのクエリを示す何らかの標識が、典型的には中央クラスタ506に送信される。クエリの標識は、クエリ自体、または、以前に受信したかまたは将来受信すると予期されるかあるいはその両方の1組のクエリ、または、将来のクエリの基礎をなし得る1人または複数のユーザによって示された関心、あるいはこれらの組合せとすることができ、そのような将来のクエリのためにデータをプリフェッチするために使用することができる。検索クエリ、分析クエリによって返される基礎にあるデータに関する何か(例えば、クエリにおけるデータ間の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を参照すると、一実施形態による方法700が示されている。方法700は、様々な実施形態において、特に、図1ないし図8に示す環境のいずれかにおいて本発明により実行することができる。当然ながら、この説明を読めば当業者にはわかるように、図9に具体的に記載されている動作よりも多いかまたは少ない動作も方法700に含めることができる。
方法700の各ステップは、動作環境の任意の適合する構成要素によって実行可能である。例えば、様々な実施形態において、方法700は一部または全体がマイクロプロセッサ、サーバ、コンピューティング・デバイスのクラスタ(例えば中央クラスタ)、1つまたは複数のプロセッサを内蔵する処理回路、または、1つまたは複数のプロセッサを含む他の何らかのデバイスによって実行可能である。方法700の1つまたは複数のステップを実行するために、処理回路、例えば、プロセッサ、チップ、または、ハードウェアまたはソフトウェアあるいはその両方で実装され、好ましくは少なくとも1つのハードウェア・コンポーネントを有するモジュールあるいはその組合せを、任意のデバイスにおいて利用可能である。例示のプロセッサには、MPU、CPU、ASIC、FPGAなど、またはその組合せ、または当技術分野で知られている任意の他の適合するコンピューティング・デバイスが含まれるが、これらには限定されない。
図9に示されるように、方法700は動作702で開始し、分散ファイル・システムの中央クラスタに記憶されている複数のファイルが、それらの複数のファイルに対するクエリを受け取る前に、複数のファイルの独立した各部分を複数のグループに入れるために、そのようなフィルタリングのために設計されたフィルタを使用してフィルタリングされる。このフィルタリング・プロセスでは、複数のグループの各グループ内のファイルは、日付、ユーザ、地理的場所、内容(例えば、ファイルがその情報に関係するか、そのための情報を含むか、その情報を記載しているなど、人物、場所、概念、考え、物など、ファイルに含まれる情報の種類)、種類(テキスト、音声、映像など)、サイズ、記憶場所などの共通の検索可能な特性を共有しているために、一緒にグループ化される。
動作704で、中央クラスタでクエリの標識が受信される。この標識は、クエリ自体、または、クエリを記述しているファイルまたは参照、または、クエリの意図された目的(例えば、クエリの種類、またはクエリの目的ファイルまたはファイルの種類あるいはその組合せなど)、あるいはその組合せとすることができる。
動作706で、複数のグループのうちのクエリに対応する1つまたは複数のグループのファイルを、分散ファイル・システムの、クエリの標識を提供したローカル・クラスタに複製することによってクエリに応答する。ローカル・クラスタは、中央クラスタとは地理的に異なり、例えば、ローカル・クラスタは異なる地理的場所に位置する。
どのファイルがそのクエリに関係するかは、中央クラスタ上のファイルのキーワード・グループ化に基づいて判断することができる。例えば、クエリが特定のZIPコード内のすべての住宅の不動産譲渡証書を検査している場合、中央クラスタは、要求されたZIPコード内の不動産譲渡証書のみを含むサブグループによって絞り込みされた、不動産譲渡証書を有するすべてのファイルを含むグループからファイルを返すことができる。
他の実施形態では、方法700は、中央クラスタにおいて1つまたは複数の供給源から複数のファイルを受信することを含み得る。供給源は、分散ファイル・システムのローカル・クラスタ、ホスト、サーバ、インターネット、分散ファイル・システムにデータを供給するSANなど、データおよびファイルの任意の適合する供給源であってよい。複数のファイルは、ある種の手法ではテキストと非構造化データとを含む。非構造化データは、画像データ、音声データ、プロプライエタリ・フォーマット・データ・ファイルなどを含み得る。また、方法700は、複数のファイルを中央クラスタに記憶することと、中央クラスタにおいて非構造化データをテキストに変換することとを含むことができる。このようにして、画像、映像、音声などであっても、ローカル・クラスタからのクエリに応答してそのローカル・クラスタに提供するために中央クラスタ上で論理サブコンテナにグループ化することができるように、非構造化データから変換された後のファイルのテキストにフィルタを適用することができる。
別の実施形態によると、方法700は、中央クラスタにおいて受け取るクエリで一般的に要求されるファイルを含む複数のグループを作成するために、1つまたは複数の要因(factor)に基づいてフィルタを生成することを含み得る。これらの要因は、1つまたは複数のファイルに関連付けられた日付、1つまたは複数のファイルに関連付けられた1人または複数のユーザ、1つまたは複数のファイルの選択された内容または1つまたは複数のキーワードあるいはその両方、1つまたは複数のファイルに関連付けられた地理的場所などを含み得るが、これらには限定されない。他の要因には、共通のグループにまとめられたファイル内の類似または共通あるいはその両方の内容を判断するためにファイルと照合して検索されるキーワードが含まれ得る。また、フィルタは、中央クラスタで受け取るクエリで一般的に要求されるファイルを一緒にグループ化するように経時的に適応化させることができる。このようにして、次第に多くのクエリが受け取られるにつれて、フィルタは、クエリに効率的に応答するように中央クラスタ上に記憶されているファイルの最適グループ化を学習することができる。例えば、ファイルの特定のサブセットに対するクエリを複数回受け取った場合、同じファイルのサブセットに対するその後の各クエリについてそのファイルのサブセットを返すことができるように、そのファイルのサブセットを含むグループを作成することができる。この種の学習および適応化は、グループを作成するための1回だけでなくクエリが要求されるたびにこのような結果を毎回フィルタリングするのに要することになるはずの、中央クラスタにかかる資源負担を軽減するのに有効である。
フィルタは、特定のグループ内のファイルが1つまたは複数のその後受け取られるクエリに関連する可能性を向上させるように、中央クラスタの管理者またはフィルタにアクセスすることができる他の何らかのシステムなどによって手動で生成されてもよい。別の実施形態では、フィルタを作成して特定のグループ内のファイルが中央クラスタ上でその後受け取られるクエリに関連する可能性を最大限にするために、中央クラスタまたはフィルタにアクセスすることができる他の何らかのシステムによってフィルタが自動的に認知的かつインテリジェントに生成されてもよく、それによって、システムのユーザからの入力をなくすかまたは大幅に減らすことができる。
別の実施形態では、方法700は中央クラスタに記憶されている複数のファイルに加えられた変更を考慮に入れるように複数のグループを更新することを含むことができる。時間の経過とともにファイルが変化するにつれて、グループとグループ内のファイルの構成要素も変化する。したがって、複数のグループの更新が、所定のスケジュールに基づいて定期的に、またはバックグラウンド動作として連続的に、またはトリガ・イベントに応答して行われてもよい。複数のグループを更新するために、1つまたは複数のグループの除去、1つまたは複数のグループの追加、特定のグループへの1つまたは複数のファイルの追加、特定のグループからの1つまたは複数のファイルの除去を含むがこれらには限定されない、様々な異なるアクションを行うことができる。グループとその構成要素が更新されるように、任意の適合するトリガ・イベントを使用することができる。さらに他の実施形態では、トリガ・イベントは、中央クラスタ上の既存ファイルの削除、中央クラスタへの新規ファイルの追加、中央クラスタへの新しいファイルの種類の追加、および中央クラスタのテキスト変換プロセスの更新を含み得るがこれらには限定されない。
方法700は、システムまたはコンピュータ・プログラム製品あるいはその両方で実装可能である。例えば、システムは、処理回路と、処理回路に組み込まれ、処理回路によって実行可能なロジック、または処理回路に組み込まれかつ処理回路により実行可能なロジックとを含み得る。組み込まれているとは、処理回路がハードコードされたロジックが組み込まれたASIC、FPGAなどのハードウェア・プロセッサであることを意味する。実行可能とは、プロセッサが、ソフトウェア・ロジックによって指示された機能を実現するためにソフトウェア・ロジックを実行するように構成されていることを意味し、プロセッサは場合によりMPU、CPU、マイクロプロセッサなどである。ロジックは、処理回路に方法700を実行させるように構成される。
別の実装例では、コンピュータ・プログラム製品が、プログラム命令が具現化されているコンピュータ可読記憶媒体を含み得る。コンピュータ可読記憶媒体は、情報を記憶し、記憶されている情報へのコンピュータ・アクセスを可能にするように構成された、当技術分野で知られている任意の適合するストレージ・デバイスとすることができる。具現化されたプログラム命令は、処理回路に方法700を実行させるように、処理回路により実行可能である。
次に図10を参照すると、一実施形態による方法800が示されている。方法800は、様々な実施形態において、特に図1ないし図9に示す実施形態のいずれかにおいて本発明により実行することができる。当然ながら、この説明を読めば当業者にはわかるように、図10に具体的に記載されている動作よりも多いかまたは少ない動作も方法800に含めることができる。
方法800の各ステップは、動作環境の任意の適合する構成要素によって実行可能である。例えば、様々な実施形態において、方法800は一部または全体がマイクロプロセッサ、サーバ、コンピューティング・デバイスのクラスタ(例えばローカル・クラスタ)、1つまたは複数のプロセッサを内蔵する処理回路、または、1つまたは複数のプロセッサを含む他の何らかのデバイスによって実行可能である。方法800の1つまたは複数のステップを実行するために、処理回路、例えば、例えばプロセッサ、チップ、または、ハードウェアまたはソフトウェアあるいはその両方で実装され、好ましくは少なくとも1つのハードウェア・コンポーネントを有するモジュールあるいはその組合せを、任意のデバイスにおいて利用可能である。例示のプロセッサには、MPU、CPU、ASIC、FPGAなど、またはその組合せ、または当技術分野で知られている任意の他の適合するコンピューティング・デバイスが含まれるが、これらには限定されない。
図10に示すように、方法800は動作802で開始し、クエリに関連するファイルを見つけるために分散ファイル・システムのローカル・クラスタが検索またはその他の方法で走査される。ファイルがローカル・クラスタ上にすでに存在する場合に中央クラスタとのやり取りが確実に最小限になるようにするために、この動作は分散ファイル・システムの中央クラスタにクエリの標識を送信する前に行われる。
また、他の実施形態では、クエリに関連するファイルがローカル・クラスタ上に存在すると判断した後、ローカル・クラスタに複製されてから中央クラスタ上で既存のファイルのいずれかが更新されたか否かを判断するために、中央クラスタに別個のクエリが送信されてもよく、更新されたファイルがある場合、ローカル・クラスタに記憶された古くなったファイルを置き換えるために、その更新されたファイルがローカル・クラスタに複製される。
動作804で、関連するファイルがローカル・クラスタに記憶されていないとの判断に応答して、クエリの標識が中央クラスタに送信される。一実施形態では、クエリ自体が標識として送信されてもよい。他の実施形態では、標識は、パラメータ値、日付、時刻、場所、ユーザなど、中央クラスタがクエリに関連する可能性があるファイルを判断するために必要な関連情報を含む。
動作806で、クエリに関連するファイルのグループがローカル・クラスタで受け取られる。一実施形態では、このファイルのグループは、クエリの標識が中央クラスタに送信され、中央クラスタによって受け取られることに応答して中央クラスタにより送信される。このファイルのグループは、一実施形態では、クエリの標識が中央クラスタに送信される前に中央クラスタ上にすでに存在していてもよく、それによって、クエリに対する迅速な応答を可能にするとともに、ローカル・クラスタが受け取ったファイルのグループについてクエリを実行することができるようにし、中央クラスタがそのようなアクションを行う必要がない。
動作808で、ファイルのグループは、中央クラスタに記憶されているすべてのファイルは含まないという条件で、ファイルのグループに対してクエリが実行される。単一のクエリ内での複合機能または複数の分析プロセスあるいはその両方を含み得る分析クエリ、検索クエリ、追加クエリ、削除クエリ、テーブル作成クエリなど、任意の適合するクエリを実行することができる。
動作810で、キャッシュ・エビクション・ポリシーに従ってファイルのグループの最後のアクセスから始まる所定の期間、ファイルのグループがローカル・クラスタ上に記憶される。このようにして、ファイルのグループの同一または重なる部分を利用する後続のクエリがローカル・クラスタによって発信された場合に、このファイルのグループを中央クラスタから複製する必要がなく、それによって中央クラスタとネットワーク全般の資源が節減される。
ローカル・クラスタの限られた記憶空間をよりよく利用し、ローカル・クラスタの資源使用を最大限にし、中央クラスタの資源使用を最小限にするために、ローカル・クラスタに記憶されているファイルを有効に管理するように、管理者によってキャッシュ・エビクション・ポリシーが作成または調整されてもよく、作成および調整されてもよい。
方法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に記載の方法。
  3. 前記中央クラスタにおいて受け取られるクエリで一般的に要求されるファイルを含む前記複数のグループを作成するために1つまたは複数の要因に基づいて前記フィルタを生成することを含み、前記要因は、1つまたは複数のファイルに関連付けられた日付と、1つまたは複数のファイルに関連付けられた1人または複数のユーザと、1つまたは複数のファイルの選択された内容または1つまたは複数のキーワードあるいはその両方と、1つまたは複数のファイルに関連付けられた地理的場所とからなる1組の要因から選択される、請求項1に記載の方法。
  4. 前記中央クラスタにおいて受け取られるクエリで一般的に要求されるファイルを一緒にグループ化するように前記フィルタを経時的に適応化することを含む、請求項3に記載の方法。
  5. 前記フィルタは、特定のグループ内のファイルが1つまたは複数の受け取られるクエリに関連する可能性を最大限にするように生成される、請求項3に記載の方法。
  6. 前記中央クラスタに記憶されている前記複数のファイルに加えられた変更を考慮に入れるように前記複数のグループを更新することを含み、前記複数のグループの前記更新は、所定のスケジュールに基づいて定期的に、またはバックグラウンド動作として連続して、またはトリガ・イベントに応答して行われ、前記複数のグループの前記更新は、1つまたは複数のグループの除去と、1つまたは複数のグループの追加と、特定のグループへの1つまたは複数のファイルの追加と、前記特定のグループからの1つまたは複数のファイルの除去とからなる1組のアクションから選択されたアクションを含む、請求項1に記載の方法。
  7. 前記トリガ・イベントは、前記中央クラスタ上の既存のファイルの削除と、前記中央クラスタへの新規ファイルの追加と、前記中央クラスタへのファイルの新しい種類の追加と、前記中央クラスタのテキスト変換プロセスの更新とからなる組から選択される、請求項6に記載の方法。
  8. プログラム命令が具現化されているコンピュータ可読記憶媒体を含むコンピュータ・プログラム製品であって、前記コンピュータ可読記憶媒体は一過性の信号自体ではなく、具現化された前記プログラム命令は処理回路により実行可能であり、前記処理回路に、
    複数のファイルに対するクエリを受け取る前に、前記複数のファイルの独立した各部分を複数のグループに入れるために、前記処理回路によって、分散ファイル・システムの中央クラスタに記憶されている前記複数のファイルをフィルタを使用してフィルタリングすることであって、前記複数のグループの各グループ内のファイルが共通の検索可能な特性を共有している、前記フィルタリングすることと、
    前記処理回路によって、前記中央クラスタにおいて前記クエリの標識を受け取ることと、
    前記処理回路によって、前記複数のグループのうちの前記クエリに対応する1つまたは複数のグループのファイルを、前記分散ファイル・システムの前記クエリの前記標識を提供したローカル・クラスタに複製することによって前記クエリに応答することと
    を行わせる、コンピュータ・プログラム製品。
  9. 前記具現化されたプログラム命令は、前記処理回路に、
    前記処理回路によって、前記中央クラスタにおいて1つまたは複数の供給源からテキストと非構造化データとを含む前記複数のファイルを受け取ることと、
    前記処理回路によって、前記複数のファイルを前記中央クラスタに記憶することと、
    前記処理回路によって、前記中央クラスタ上で前記非構造化データをテキストに変換することと
    を行わせるように、前記処理回路によってさらに実行可能であり、
    前記フィルタは、前記非構造化データから変換された後の前記ファイルの前記テキストに適用される、請求項8に記載のコンピュータ・プログラム製品。
  10. 前記具現化されたプログラム命令は、前記処理回路に、
    前記処理回路によって、前記中央クラスタにおいて受け取られるクエリで一般的に要求されるファイルを含む前記複数のグループを作成するために1つまたは複数の要因に基づいて前記フィルタを生成させるように、前記処理回路によってさらに実行可能であり、
    前記要因は、1つまたは複数のファイルに関連付けられた日付と、1つまたは複数のファイルに関連付けられた1人または複数のユーザと、1つまたは複数のファイルの選択された内容または1つまたは複数のキーワードあるいはその両方と、1つまたは複数のファイルに関連付けられた地理的場所とからなる1組の要因から選択される、請求項8に記載のコンピュータ・プログラム製品。
  11. 前記フィルタは、特定のグループ内のファイルが1つまたは複数の受け取られるクエリに関連する可能性を最大限にするように生成される、請求項10に記載のコンピュータ・プログラム製品。
  12. 前記具現化されたプログラム命令は、前記処理回路に、
    前記処理回路によって、前記中央クラスタで受け取るクエリで一般的に要求されるファイルを一緒にグループ化するように前記フィルタを経時的に適応化させるように、前記処理回路によってさらに実行可能である、請求項10に記載のコンピュータ・プログラム製品。
  13. 前記具現化されたプログラム命令は、前記処理回路に、
    前記処理回路によって、前記中央クラスタに記憶されている前記複数のファイルに加えられた変更を考慮に入れるように前記複数のグループを更新させるように前記処理回路によってさらに実行可能であり、
    前記処理回路に前記複数のグループを更新させる前記具現化されたプログラム命令は、さらに前記処理回路に、1つまたは複数のグループの除去と、1つまたは複数のグループの追加と、特定のグループへの1つまたは複数のファイルの追加と、前記特定のグループからの1つまたは複数のファイルの除去とからなる1組のアクションから選択されたアクションを実行させ、前記処理回路に前記複数のグループを更新させる前記具現化されたプログラム命令は、所定のスケジュールに基づいて定期的に、またはバックグラウンド動作として連続して、またはトリガ・イベントに応答して実行される、請求項8に記載のコンピュータ・プログラム製品。
  14. 前記トリガ・イベントは、前記中央クラスタにおける既存のファイルの削除と、前記中央クラスタへの新規ファイルの追加と、前記中央クラスタへの新しいファイルの種類の追加と、前記中央クラスタのテキスト変換プロセスの更新とからなる1組から選択される、請求項13に記載のコンピュータ・プログラム製品。
  15. 処理回路と、
    メモリと、
    メモリに記憶されたロジックと
    を含むシステムであって、前記ロジックは、前記処理回路によって実行されると前記処理回路に、
    複数のファイルに対するクエリを受け取る前に、前記複数のファイルの独立した各部分を複数のグループに入れるために分散ファイル・システムの中央クラスタに記憶されている前記複数のファイルをフィルタを使用してフィルタリングすることであって、前記複数のグループの各グループ内のファイルが共通の検索可能な特性を共有している、前記フィルタリングすることと、
    前記中央クラスタにおいて前記クエリの標識を受け取ることと、
    前記分散ファイル・システムの、前記クエリの前記標識を提供したローカル・クラスタに前記複数のグループのうちの前記クエリに対応する1つまたは複数のグループのファイルを複製することによって、前記クエリに応答することと
    を行わせる、システム。
  16. 前記ロジックは、前記処理回路に、
    テキストと非構造化データとを含む前記複数のファイルを前記中央クラスタにおいて1つまたは複数の供給源から受け取ることと、
    前記複数のファイルを前記中央クラスタに記憶することと、
    前記中央クラスタにおいて前記非構造化データをテキストに変換することと
    をさらに行わせ、
    前記フィルタは、前記非構造化データから変換された後の前記ファイルの前記テキストに適用される、請求項15に記載のシステム。
  17. 前記ロジックは、前記処理回路にさらに、
    前記中央クラスタにおいて受信されるクエリで一般的に要求されるファイルを含む前記複数のグループを作成するために1つまたは複数の要因に基づいて前記フィルタを生成させ、
    前記要因は、1つまたは複数のファイルに関連付けられた日付と、1つまたは複数のファイルに関連付けられた1人または複数のユーザと、1つまたは複数のファイルの選択された内容または1つまたは複数のキーワードあるいはその両方と、1つまたは複数のファイルに関連付けられた地理的場所とからなる1組の要因から選択される、請求項15に記載のシステム。
  18. 前記フィルタは、特定のグループ内のファイルが1つまたは複数の受け取られるクエリに関連する可能性を最大限にするように生成される、請求項17に記載のシステム。
  19. 前記ロジックは、前記処理回路にさらに、
    前記中央クラスタにおいて受信されるクエリで一般的に要求されるファイルを一緒にグループ化するように前記フィルタを経時的に適応化させる、請求項17に記載のシステム。
  20. 前記ロジックは、前記処理回路にさらに、
    所定のスケジュールに基づいて定期的に、またはバックグラウンド動作として連続して、またはトリガ・イベントに応答して、前記中央クラスタに記憶されている前記複数のファイルに加えられた変更を考慮に入れるように前記複数のグループを更新させ、
    前記処理回路に前記複数のグループを更新させる前記ロジックは、1つまたは複数のグループの除去と、1つまたは複数のグループの追加と、特定のグループへの1つまたは複数のファイルの追加と、前記特定のグループからの1つまたは複数のファイルの除去とからなる1組のアクションから選択されたアクションを実行する、請求項15に記載のシステム。
  21. 前記トリガ・イベントは、前記中央クラスタ上の既存のファイルの削除と、前記中央クラスタへの新規ファイルの追加と、前記中央クラスタへのファイルの新しい種類の追加と、前記中央クラスタのテキスト変換プロセスの更新とからなる組から選択される、請求項20に記載のシステム。
  22. 分散ファイル・システムの中央クラスタにおいて1つまたは複数の供給源からテキストと非構造化データとを含む複数のファイルを受け取ることと、
    前記複数のファイルを前記中央クラスタに記憶することと、
    前記中央クラスタにおいて前記非構造化データをテキストに変換することと、
    前記複数のファイルに対するクエリを受け取る前に、前記複数のファイルの独立した各部分を複数のグループに入れるために前記複数のファイルをフィルタを使用してフィルタリングすることと
    を含み、前記複数のグループの各グループ内のファイルは共通の検索可能な特性を共有し、前記フィルタは前記非構造化データから変換された後の前記ファイルの前記テキストに適用される、方法。
  23. 前記中央クラスタにおいて前記クエリの標識を受け取ることと、
    前記クエリの前記標識を提供した、前記分散ファイル・システムのローカル・クラスタに前記複数のグループのうちの前記クエリに対応する1つまたは複数のグループのファイルを複製することによって、前記クエリに応答することと、
    前記中央クラスタにおいて受け取られるクエリで一般的に要求されるファイルを一緒にグループ化するように前記フィルタを経時的に適応化することと
    を含む、請求項22に記載の方法。
  24. 前記中央クラスタにおいて受信されるクエリで一般的に要求されるファイルを含む前記複数のグループを作成するために1つまたは複数の要因に基づいて前記フィルタを生成することであって、前記要因は、1つまたは複数のファイルに関連付けられた日付と、1つまたは複数のファイルに関連付けられた1人または複数のユーザと、1つまたは複数のファイルの選択された内容または1つまたは複数のキーワードあるいはその両方と、1つまたは複数のファイルに関連付けられた地理的場所とからなる1組の要因から選択される、前記フィルタを生成することと、
    前記中央クラスタにおいて受信されるクエリで一般的に要求されるファイルを一緒にグループ化するように前記フィルタを経時的に適応化することと
    を含む、請求項22に記載の方法。
  25. クエリの標識を分散ファイル・システムの中央クラスタに送信する前に、前記分散ファイル・システムのローカル・クラスタで前記クエリに関連するファイルを検索することと、
    前記関連するファイルが前記ローカル・クラスタに記憶されていないとの判断に応答して前記中央クラスタに前記クエリの前記標識を送信することと、
    前記ローカル・クラスタにおいて前記クエリに関連するファイルのグループを受け取ることと、
    前記ファイルのグループが前記中央クラスタに記憶されているすべてのファイルは含まないという条件で、前記ファイルのグループに対して前記クエリを実行することと、
    キャッシュ・エビクション・ポリシーに従って前記ファイルのグループへの最後のアクセスから始まる所定期間、前記ファイルのグループを前記ローカル・クラスタに記憶することと
    を含む方法。
JP2020502710A 2017-07-26 2018-07-17 分散ストレージ環境のための認知ファイルおよびオブジェクト管理のための方法、コンピュータ・プログラムおよびシステム Active JP7062750B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/660,715 2017-07-26
US15/660,715 US10884980B2 (en) 2017-07-26 2017-07-26 Cognitive file and object management for distributed storage environments
PCT/IB2018/055296 WO2019021114A1 (en) 2017-07-26 2018-07-17 MANAGING FILES AND COGNITIVE OBJECTS FOR DISTRIBUTED MEMORY ENVIRONMENTS

Publications (3)

Publication Number Publication Date
JP2020528614A true JP2020528614A (ja) 2020-09-24
JP2020528614A5 JP2020528614A5 (ja) 2021-01-07
JP7062750B2 JP7062750B2 (ja) 2022-05-06

Family

ID=65038006

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020502710A Active JP7062750B2 (ja) 2017-07-26 2018-07-17 分散ストレージ環境のための認知ファイルおよびオブジェクト管理のための方法、コンピュータ・プログラムおよびシステム

Country Status (6)

Country Link
US (1) US10884980B2 (ja)
JP (1) JP7062750B2 (ja)
CN (1) CN110914814B (ja)
DE (1) DE112018002955T5 (ja)
GB (1) GB2579313A (ja)
WO (1) WO2019021114A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10817515B2 (en) 2017-07-26 2020-10-27 International Business Machines Corporation Cognitive data filtering for storage environments
CN111858146B (zh) * 2019-04-26 2024-05-28 伊姆西Ip控股有限责任公司 用于恢复数据的方法、设备和计算机程序产品
JP7385214B2 (ja) 2020-01-30 2023-11-22 日本電信電話株式会社 データ管理システムおよびデータ管理方法
JP7376894B2 (ja) * 2020-01-30 2023-11-09 日本電信電話株式会社 データ管理システム、データ管理装置、自発移動条件判定装置、自発移動先選択装置、および、データ管理方法、並びに、プログラム
CN113553166A (zh) * 2020-04-26 2021-10-26 广州汽车集团股份有限公司 一种跨平台高性能计算集成方法及系统
US20230377016A1 (en) * 2022-05-18 2023-11-23 Coupang Corp. Methods and systems for optimizing filters in product searching

Citations (6)

* 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 ファイル管理装置、ファイル管理方法、ファイル管理プログラム及び、ファイル管理プログラムを記録したコンピュータ読み取り可能なプログラム格納媒体
JP2004334624A (ja) * 2003-05-09 2004-11-25 Equos Research Co Ltd データファイルの送信方法および送信プログラム
JP2005539315A (ja) * 2002-09-16 2005-12-22 ネットワーク・アプライアンス・インコーポレイテッド プロキシ・キャッシュに関する装置および方法
JP2008299796A (ja) * 2007-06-04 2008-12-11 Toshiba Corp データベースシステム及びその回答方法
JP2009512909A (ja) * 2005-07-25 2009-03-26 マイクロソフト コーポレーション ユーザ装置上の多次元データベースの部分的キャッシングおよび修正
US8099401B1 (en) * 2007-07-18 2012-01-17 Emc Corporation Efficiently indexing and searching similar data

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
US7831581B1 (en) 2004-03-01 2010-11-09 Radix Holdings, Llc Enhanced search
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
US8244721B2 (en) * 2008-02-13 2012-08-14 Microsoft Corporation Using related users data to enhance web search
US10719149B2 (en) 2009-03-18 2020-07-21 Touchtunes Music Corporation Digital jukebox device with improved user interfaces, and associated methods
CN101550180A (zh) * 2009-04-28 2009-10-07 杭州华锦药业股份有限公司 一种促吞噬肽液相合成方法
CN103119621B (zh) 2010-04-30 2016-12-07 当今技术(Ip)有限公司 内容管理装置
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
US10242045B2 (en) 2013-10-30 2019-03-26 Dropbox, Inc. Filtering content using synchronization data
CN104866497B (zh) 2014-02-24 2018-06-15 华为技术有限公司 分布式文件系统列式存储的元数据更新方法、装置、主机
WO2015175548A1 (en) * 2014-05-12 2015-11-19 Diffeo, Inc. Entity-centric knowledge discovery
US20160011816A1 (en) 2014-07-09 2016-01-14 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 中国科学院东北地理与农业生态研究所 一种改善分布式文件系统中地理栅格数据文件处理方法
EP3238106B1 (en) 2015-03-17 2020-10-07 Cloudera, Inc. Compaction policy
CN104767813B (zh) 2015-04-08 2018-06-08 江苏国盾科技实业有限责任公司 基于openstack的公众行大数据服务平台
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 北京搜狐新媒体信息技术有限公司 一种分布式系统中的海量文件储存方法及装置
US10817515B2 (en) 2017-07-26 2020-10-27 International Business Machines Corporation Cognitive data filtering for storage environments

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005539315A (ja) * 2002-09-16 2005-12-22 ネットワーク・アプライアンス・インコーポレイテッド プロキシ・キャッシュに関する装置および方法
JP2004178217A (ja) * 2002-11-26 2004-06-24 Sony Corp ファイル管理装置、ファイル管理方法、ファイル管理プログラム及び、ファイル管理プログラムを記録したコンピュータ読み取り可能なプログラム格納媒体
JP2004334624A (ja) * 2003-05-09 2004-11-25 Equos Research Co Ltd データファイルの送信方法および送信プログラム
JP2009512909A (ja) * 2005-07-25 2009-03-26 マイクロソフト コーポレーション ユーザ装置上の多次元データベースの部分的キャッシングおよび修正
JP2008299796A (ja) * 2007-06-04 2008-12-11 Toshiba Corp データベースシステム及びその回答方法
US8099401B1 (en) * 2007-07-18 2012-01-17 Emc Corporation Efficiently indexing and searching similar data

Also Published As

Publication number Publication date
US10884980B2 (en) 2021-01-05
JP7062750B2 (ja) 2022-05-06
CN110914814A (zh) 2020-03-24
US20190034445A1 (en) 2019-01-31
CN110914814B (zh) 2024-03-29
DE112018002955T5 (de) 2020-05-07
GB202002252D0 (en) 2020-04-01
WO2019021114A1 (en) 2019-01-31
GB2579313A (en) 2020-06-17

Similar Documents

Publication Publication Date Title
JP7062750B2 (ja) 分散ストレージ環境のための認知ファイルおよびオブジェクト管理のための方法、コンピュータ・プログラムおよびシステム
US9952753B2 (en) Predictive caching and fetch priority
JP7124051B2 (ja) ストレージ環境のための認知データ・フィルタリングをする方法、コンピュータ・プログラムおよびシステム
US11556388B2 (en) Frozen indices
US9311252B2 (en) Hierarchical storage for LSM-based NoSQL stores
US11561930B2 (en) Independent evictions from datastore accelerator fleet nodes
CN104160397B (zh) 位置独立文件
US10558687B2 (en) Returning search results utilizing topical user click data when search queries are dissimilar
US20160055195A1 (en) Method and system for providing concurrent buffer pool and page cache
US20140223100A1 (en) Range based collection cache
US11281704B2 (en) Merging search indexes of a search service
CN110291515B (zh) 计算系统中的分布式索引搜索
US10585802B1 (en) Method and system for caching directories in a storage system
US10599626B2 (en) Organization for efficient data analytics
JP7431490B2 (ja) 階層型ストレージ管理システムにおけるデータ・マイグレーション
Zhang et al. IM-Dedup: An image management system based on deduplication applied in DWSNs
US20230081324A1 (en) Shared cache for multiple index services in nonrelational databases
US10592568B2 (en) Returning search results utilizing topical user click data when search queries are dissimilar
US8086993B2 (en) Sorting tables in a page based approach
Godavari et al. File Semantic Aware Primary Storage Deduplication System
Moise et al. Terabyte-scale image similarity search

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: 20210813

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210819

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211115

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: 20220413

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220420

R150 Certificate of patent or registration of utility model

Ref document number: 7062750

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150