JP2022522214A - 移動中のデータの処理技術 - Google Patents

移動中のデータの処理技術 Download PDF

Info

Publication number
JP2022522214A
JP2022522214A JP2021550703A JP2021550703A JP2022522214A JP 2022522214 A JP2022522214 A JP 2022522214A JP 2021550703 A JP2021550703 A JP 2021550703A JP 2021550703 A JP2021550703 A JP 2021550703A JP 2022522214 A JP2022522214 A JP 2022522214A
Authority
JP
Japan
Prior art keywords
data
bucket
hash function
hash
dataset
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
JP2021550703A
Other languages
English (en)
Other versions
JP7433335B2 (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.)
Io Tahoe LLC
Original Assignee
Io Tahoe LLC
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 Io Tahoe LLC filed Critical Io Tahoe LLC
Publication of JP2022522214A publication Critical patent/JP2022522214A/ja
Application granted granted Critical
Publication of JP7433335B2 publication Critical patent/JP7433335B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/2455Query execution
    • G06F16/24568Data stream processing; Continuous queries
    • 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/22Indexing; Data structures therefor; Storage structures
    • 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/22Indexing; Data structures therefor; Storage structures
    • G06F16/221Column-oriented storage; Management thereof
    • 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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2255Hash tables
    • 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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • 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/25Integrating or interfacing systems involving database management systems
    • G06F16/254Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
    • 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/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists

Landscapes

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

Abstract

移動中のデータに対してハッシュバケッティング処理を行うシステム及び方法が提示される。この方法は、入力データセットをバケットにマッピングするために、入力データセットに第1ハッシュ関数を適用することであって、第1ハッシュ関数は、第1ハッシュ値をもたらすものであることと、入力データセットをバケット内のレコードにマッピングするために、第1ハッシュ値に第2ハッシュ関数を適用することと、入力データセットに基づいて、メタデータを生成することであって、メタデータが、少なくとも、入力データセットのオリジナルの場所を示すことと、生成されたメタデータをバケット内のレコードに保存することと、を含む。

Description

関連出願の相互参照
本出願は、2019年3月1日に出願された米国仮特許出願第62/812,573号明細書の利益を主張するものであり、その内容は、本明細書に援用される。
本開示は、概して、移動中のデータの処理に関し、特に、移動中のデータのタグ付けに関する。
ビッグデータから洞察を得るためのアプリケーション及び製品が人気となっている。このようなアプリケーション及び製品は、予測目的でデータの収集、管理、及び分析を行うため、又はリアルタイムの洞察を取り出すために使用される。異なるタイプのデータは、意味のある洞察を提供するために、異なる計算プラットフォームを必要とし得る。洞察は、保存されているデータ、又は移動中のデータから抽出され得る。保存されているデータとは、様々なソースから収集され、その後、事象が生じた後に分析されるデータを指す。データが分析される時点、及びそのデータに対してアクションが起こされる時点は、2つの離れた時点で順次生じる。これに対して、移動中のデータの分析は、事象が生じるときにリアルタイムで生じる。
移動中のデータのどのような処理も、リアルタイムで行われるべきである。したがって、移動中のデータを処理するためのソリューションを実装する際に、レイテンシーが重要要素である。他の制約は、移動中のデータが、それぞれが独自の形式又は構造を有し得る、異なるデータソースから収集され得る点である。さらに、複数の異なるソースからのデータは、同時に、且つリアルタイムで処理されるべきである。このような制約により、異なるソースから収集された、大量の移動中のデータを処理できるソリューションは、現在存在しない。具体的には、リアルタイムで、移動中のデータにインデックスを付ける、又はタグを付けることができるソリューションは存在しない。
したがって、上記の課題を克服するソリューションを提供することは有益であるだろう。
本開示の幾つかの例示的実施形態の概要が以下に続く。この概要は、そのような実施形態の基本的理解を提供するために、読み手の利便性のために提供されるものであり、本開示の広さを完全に定義するものではない。本概要は、企図される全ての実施形態の広範囲の概要ではなく、全ての実施形態のうちの主要又は不可欠な要素を識別すること、又は何れかの観点、若しくは全ての観点の範囲を詳述することのどちらも意図していない。その唯一の目的は、後に提示される、より詳細な説明への序章として、簡略化された形で、1又は複数の実施形態の幾つかの概念を提示することである。便宜上、「幾つかの実施形態」又は「特定の実施形態」という用語は、本明細書では、本開示の単一の実施形態又は複数の実施形態を指すために使用され得る。
本明細書に開示される特定の実施形態は、移動中のデータに対してハッシュバケッティング処理を実行する方法を含む。本方法は、入力データセットをバケットにマッピングするために、入力データセットに第1ハッシュ関数を適用することであって、第1ハッシュ関数は、第1ハッシュ値をもたらすものであることと、入力データセットをバケット内のレコードにマッピングするために、第1ハッシュ値に第2ハッシュ関数を適用することと、入力データセットに基づいて、メタデータを生成することであって、メタデータが、入力データセットのオリジナルの場所を少なくとも示すことと、生成されたメタデータをバケット内のレコードに保存すること、とのステップを含む。
加えて、本明細書に開示される実施形態は、移動中のデータに対してハッシュバケッティング処理を実行するシステムを含む。本システムは、処理回路と、メモリであって、処理回路によって実行されると、入力データセットをバケットにマッピングするために、入力データセットに第1ハッシュ関数を適用し、そこで、第1ハッシュ関数は、第1ハッシュ値をもたらし、入力データセットをバケット内のレコードにマッピングするために、第1ハッシュ値に第2ハッシュ関数を適用し、入力データセットに基づいて、メタデータを生成し、そこで、メタデータが、入力データセットのオリジナルの場所を少なくとも示し、生成されたメタデータをバケット内のレコードに保存するようにシステムを構成する命令を含む、メモリと、を含む。
本明細書に開示される主題は、本明細書の最後の特許請求の範囲において、具体的に指摘され、明確に請求される。開示される実施形態の上述及び他の目的、特徴、及び利点は、添付の図面と併せて、以下の詳細な説明から明らかとなるだろう。
図1は、様々な実施形態を説明するために利用されるネットワーク図である。
図2は、一実施形態に係るハッシュバケッティングを示す例示的図である。
図3は、一実施形態に係るメタデータ構造を示す例示的図である。
図4は、一実施形態に係るハッシュバケッティング処理を実行する方法を示す例示的フローチャートである。
図5は、様々な実施形態に係る、開示されたコマンドを使用した、連続ストリーミング処理を示す例示的図である。
図6は、一実施形態に係る、グラフ実行を実演する図である。
図7は、開示される実施形態を実行するように構成されたシステムのブロック図である。
本明細書に開示される実施形態が、本明細書の革新的教示の多数の有益な用途の例に過ぎないことに留意することが重要である。一般に、本出願の明細書の記述は、必ずしも、様々な請求された実施形態の何れも限定しない。また、一部の記述は、一部の発明的特徴に当てはまり得るが、他の発明的特徴には当てはまらないことがある。一般に、別段の記載のない限り、一般性を失うことなく、単数の要素は、複数形でもよく、逆の場合も同じである。図面では、幾つかの図を通して、同様の数字は、同様の部分を指す。
図1は、様々な実施形態を説明するために利用される例示的図100である。図100は、ネットワーク120上で通信する、複数のデータソース110-1~110-Q(以下、簡潔にするために、個々に、データソース110と呼ばれ、まとめて、複数のデータソース110と呼ばれる)と、システム130と、データストア140とを示す。ネットワーク120は、無線、セルラー、又は有線ネットワーク、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、メトロエリアネットワーク(MAN)、インターネット、ワールドワイドウェブ(WWW)、類似のネットワーク、及びそれらの任意の組み合わせでもよいが、これらに限定されない。
ある例示的実施形態では、各データソース110は、データレイク、データウェアハウス、ストリーミングデータ、データセット、データベースなどでもよいが、これらに限定されない。データベースは、リレーショナルデータベース、又はMongoDB(ただし、これに限定されない)などのNoSQLタイプのデータベースでもよい。リレーショナルデータベースの例は、Oracle(登録商標)、Sybase(登録商標)、Microsoft SQL Server(登録商標)、Access(登録商標)、Ingres(登録商標)などが含まれてもよいが、これらに限定されない。実施形態では、複数のデータソース110は、同じ物理構造に存在する論理エンティティでもよい。各データソース110に保存されたデータは、構造化データ、非構造化データ、半構造化データ、又はそれらの組み合わせの形式でもよい。
タグ付けを含む(ただし、これに限定されない)処理は、移動中のデータのもの、すなわち、データが複数のデータソース110の何れかにセーブされるときの、又は複数のデータソース110の1つから、1又は複数の他のデータソース110へとデータが転送されるときのリアルタイム処理によるものであってもよい。
システム130は、本明細書に開示される様々な実施形態を実行するように構成される。具体的には、システム130は、移動中のデータにタグ付けする処理を実装するように構成される。上記の通り、全ての移動中のデータは、リアルタイムで処理されるべきである。実施形態では、タグ付けを可能にするために、システム130は、知識リポジトリ135に接続されてもよい。知識リポジトリ135は、複数のデータソース110中のデータのタグ付けに利用される辞書を保持する。例えば、知識リポジトリ135は、機密情報にタグ付けするための辞書を含んでもよい。知識リポジトリ135は、分散データベースでもよい。機密情報は、不当な開示に対して保護されるあらゆる情報である。現在、組織は、個人情報又は機密情報に対するアクセスを保護することが必要とされている。機密情報の保護は、法的若しくは倫理的理由から、個人のプライバシーに関する問題のため、又は所有権の配慮から必要とされ得る。
システム130は、複数のデータソース110の何れかにセーブされたコンテンツを迅速にサーチするために利用されてもよい。このために、システム130は、異なるデータソース110に保存された、異なるタイプのデータを表す、異なって構造化されたメタデータをサポートするために柔軟性のある構造を生成するように構成される。メタデータは、データソース110の何れかに保存されたオリジナルのデータを参照する。さらに別の実施形態では、システム130は、メタデータの並列処理、より具体的には、異なるデータソースのメタデータの並列マッチングをサポートするように構成される。
以下に詳細に説明するように、システム130は、コンテンツアドレス可能なハッシュバケットのための処理(以下、「ハッシュバケッティング」)を実装するように構成される。予め定義されたコマンドセットを使用して、ハッシュ化データに対してリアルタイムでアクションが行われ得る。
システム130は、物理マシン、仮想マシン、又はそれらの組み合わせとして実装されてもよい。物理マシン実施態様を示す、図7に示される一例のブロック図を以下に説明する。仮想マシンは、ソフトウェアコンテナ、マイクロサービス、ハイパーバイザなどの任意の仮想ソフトウェアエンティティでもよい。
本明細書に開示される実施形態は、図1に示される特定のアーキテクチャに限定されないこと、及び開示される実施形態の範囲から逸脱することなく、他のアーキテクチャが等しく使用されてもよいことに留意されたい。具体的には、システム130は、クラウド計算プラットフォーム、データセンタなどに存在してもよい。クラウド計算プラットフォームは、プライベートクラウド、パブリッククラウド、ハイブリッドクラウドなどでもよい。また、ある実施形態では、分散システムとして動作する複数のシステムが存在してもよい。さらに、データストア140も同様に分散されてもよい。幾つかの実施態様では、システム130は、複数のデータソース110の何れかの内部コンポーネント又はインスタンスでもよい。
幾つかの実施形態によれば、修正コンテンツアドレス可能なストレージ(CAS)プロセスに基づいたハッシュバケッティング処理が開示される。この処理は、システム130によって行われ、データソース110にセーブされた任意の情報をバケット及びバケット内のある特定の場所(レコード)へとマッピングすることを含む。マッピングは、ハッシュ関数を使用して行われる。すなわち、マッピングは、以下のように表現され得る。
Data_Address=H(dataset)
ここで、Hは、ハッシュ関数であり、「dataset」は、マッピングされる情報であり、複数のデータソース110の1つに由来し、Data_Addressは、バケット内の情報のレコードである。
バケットの数は、予め定義されるが、マッピングに利用されるデータの最上位ビット(MSB)の数に応じて拡張可能でもよい。例えば、2最上位バイトを考慮すると、256個のバケットの数を、65536個のバケットに拡張され得る。ある実施形態では、任意の2つのバケットのコンテンツは、相互排他的である。すなわち、任意の2つのバケットの共通部分は、空となる。
開示された実施形態によれば、マッピングは、バケット、及びバケット内の(レコード)に対するものである。このために、データセットをバケットにマッピングするための第1ハッシュ関数、及び第1関数によって計算されたハッシュ値をバケット内のレコードにマッピングするための第2ハッシュ関数の2つの異なるハッシュ関数が利用されてもよい:ある例示的実施態様では、第1ハッシュ関数は、ある特定のバケットに対するテラバイト単位のデータを一意に識別するのに十分な16バイトハッシュ値を生成する128ビットのハッシュである。この例示的実施態様では、第2ハッシュ関数は、データセットを各バケット内のレコードにマッピングするために使用される32ビットの関数である。バケットの数に応じて、単一のバケット内のデータ全体のサイズは、約1/Nであるべきであることに留意されたい。Nは、バケットの数を指定する整数である。上記の通り、バケットの数「N」は、予め定義され得る。さらに、第1及び第2ハッシュ関数は変化せず、したがって、これらのハッシュ関数は、それらのオリジナルのデータソース110にかかわらず、全てのデータセットに適用されることに留意されたい。
ある実施形態では、ハッシュ化されるデータ中の互いに異なる要素の数を近似するために、生データ近似が利用される。近似は、これらに限定されないが、HyperLogLog(HLL)、ビットセット、ビットマップなどの技術を使用して行われ得る。
図2は、ある実施形態に係るハッシュバケッティングを示す例示的図200である。図200は、多数のN個のバケット210-1~210-N(以下、簡潔にするために、個々に、1つのバケット210と呼ばれ、まとめて、複数のバケット210と呼ばれる)を示す。各バケットは、多数のレコード220-1~220-R(以下、簡潔にするために、個々に、1つのレコード220と呼ばれ、まとめて、複数のレコード220と呼ばれ、Rは、整数値である)を含む。
各レコード220は、バケット中のハッシュ化データの場所(レコード)を複数のデータソース110(図1)の1つにおけるオリジナルの場所にマッピングすることを可能にするメタデータを保持する。バケット、レコード、及びメタデータはデータストア140内にセーブされ、例えば単一のテーブルに論理的に保持され得ることに留意されたい。
図3は、ある実施形態に係るメタデータ構造300を示す例示的図である。メタデータ構造300は、以下の列(又はフィールド):識別子(ID)310、属性320、及びデータ330を含む。
ID列310は、1又は複数のデータソース中のオリジナルのデータセットの場所に対する参照を保持する。ID列310の形式は、バケット識別子(ID)及びURLを含む。ある例示的構成では、URLは、原点データソース中の所与のデータエントリのURIに関連付けられ得る。例えば、URIは、特定の列に対して、リレーショナルデータベースからのデータが記録される際のデータベース、テーブル、及び列名、ファイルシステムからのディレクトリ及びファイル、又はウェブページ、ストリーミングデータなどへのハイパーリンクを含む完全認定経路を指定してもよい。
属性列320は、所与のデータセットの全ての属性を保持する。属性のリストには、列のメタデータ(例えば、列名、列のタイプ、列のタイプ名など)、他の列に対する参照、統計値、データセット中の要素の総数、互いに異なる値の数などが含まれてもよいが、これらに限定されない。属性のリストは固定されず、オリジナルのデータのタイプに依存することに留意されたい。例えば、データベース中のデータストレージの属性は、文書又はストリーミングデータの属性とは異なってもよい。
データ列330は、例えば、HLL値、ビットマップ値、又はその両方である近似されたデータセット値を保持するように構成される。幾つかの実施態様では、近似表現の代わりに、実際の生データがセーブされる。
ある実施形態では、メタデータを保持する全てのレコード220が、ID列の値に基づいて、順番に辞書的にソートされる。リレーショナルデータベースに保存されるメタデータデータセットを保持するレコードの例示的セットが、表1に提供される。
Figure 2022522214000002
各メタデータにおける値は、典型的には異なる。本明細書に開示されるようなメタデータ及びレコード構造により、バケット中のデータを見つける一定のアクセス時間が可能となることを認識されたい。アクセス時間は、1のオーダーであるO(1)と、RのオーダーであるO(R)との間であり得、Rは、バケット内のレコードの数である。ID列が、複数のデータソース(110、図1)の1つに保存されたオリジナルのデータセットに対する直接的な完全認定経路(又はポインタ)を提供するので、オリジナルのデータに対するアクセス時間も一定である。
ある実施形態では、ハッシュ関数を適用する前に、データセットのビットがスライスされる(すなわち、ビットスライシング動作)。これは、処理時間を加速させるため、及びメモリ及びCPUなどの計算資源を節約するために実行される。ある実施形態では、データセット全体が、複数のサブセットにスライスされる。各サブセットは、ハッシュ関数によって生成されたハッシュ値の限定範囲に関してのみ信頼できる。具体的には、ハッシュ関数は、各サブセットにわたり計算される。例えば、32ビットのハッシュ関数の場合、1024個のサブセットが作成される。さらに、これらのサブセットにわたり計算されたハッシュ値は、パーティションにセーブされる。パーティションの数は、サブセットの数よりも大幅に少ない。例えば、パーティションの数は、16であり得る。サブセット及びパーティションの数は、2の累乗である任意の数であってもよいことに留意されたい。
パーティションへの分散は、ハッシュの値のMSBに基づく。非限定例として、もしハッシュ値のMSBビット(例えば、最初の4ビット)が「0000」であれば、ハッシュ値は、パーティション#0に向けられ、もしハッシュ値の最初の4ビットが「0001」であれば、ハッシュ値は、パーティション#1に向けられるなどである。
特定の実施形態では、スライスされたサブセット、それらのそれぞれのハッシュ値、又はその両方に対して、算術演算が行われる。このような演算には、濃度、連結、共通集合、結合、調和などが含まれてもよい。
図4は、ある実施形態に係る、移動中のデータに対してハッシュバケッティング処理を実行する方法の例示的フローチャート400である。このプロセスは、リアルタイムで行われる。S410では、入力データセットが受信される。入力データセットは、任意のデータソース(例えば、複数のデータソース110のうちの1又は複数、図1)から読み出され、取り出され、又は他の方法で受信されてもよい。入力データセットには、例えば、ファイル、ファイルの一部、データベーステーブル、データベーステーブルの1又は複数の列、データエントリ、データオブジェクト(例えば、画像、ビデオファイルなど)などが含まれてもよい。
S420では、データセットをバケットにマッピングするために、第1ハッシュ関数が適用される。ある例示的実施態様では、第1ハッシュ関数は、128ビットのハッシュ関数である。
S430では、S420で決定されたバケット内のレコードを識別するために、第2ハッシュ関数が、第1関数によって計算されたハッシュ値に適用される。ある例示的実施態様では、第2ハッシュ関数は、各バケット内のデータを識別するために使用される32ビットの関数である。さらに、特定の実施形態では、1つのハッシュ関数が、データセットを、決定されたバケット内の各レコードにマッピングするために利用され得ることに留意されたい。
幾つかの実施態様では、データセットは、第2ハッシュ関数を適用する前に、スライスされる。上記の通り、データセットは、複数のサブセットにスライスされる。各サブセットは、ハッシュ関数によって生成されたハッシュ値の限定範囲に関してのみ信頼できる。
ある実施形態では、ハッシュ関数を適用する前に、データセットは、予め定義された数のサブセットにスライスされ、第2ハッシュ関数は、各サブセットにわたり計算される。これらのサブセットにわたり計算されたハッシュ値は、それぞれのハッシュの値に基づいて、パーティションに保存される。
S440では、データセットに関する情報(メタデータ)は、データセットに基づいて生成される。メタデータは、一般的に、各データセットに関連付けられ、データセットのソースのアドレス(例えば、URL又はURI)、データセットの形式(例えば、text、doc、pdf、sound、video、jpegなど)、このデータセットを生成したソフトウェアのタイプ(例えば、ワードプロセッサ、関係データベース、データストリームなど)を含む。場合によっては、ほとんどのファイルの最初に、データセット内のデータのタイプを識別するのに役立つマジックバイトが存在する。ここでの表形式データセットは、テーブル名、列及び列の名、タイプ、サイズなどの構造である。
ある実施形態では、S440は、メタデータの構造(列)のコンテンツを決定する入力データセットのメタデータを抽出することを含む。このような列は、ID、属性、及びデータ列を含む。メタデータの列の例及び定義は、上に記載されている。
S450では、生成されたメタデータは、決定されたバケット内の各レコードに格納される。上記の通り、各バケット内のレコードは、順番にソートされてもよい。
幾つかの実施形態では、本明細書で述べたハッシュバケッティング処理は、これに限定されないが、機密情報を含む情報の効率的且つ高速のタグ付けに利用できる。上記の通り、機密情報は、不当な開示に対して保護される、あらゆる情報である。
機密情報(又はその他のタイプの情報)のタグ付けは、上記のようなハッシュバケッティング処理を使用して実行される。ある実施形態では、知識リポジトリ(例えば、リポジトリ知識135、図1)は、例えば機密情報として分類された情報のメタデータを含む。タグ付け処理は、入力データセットをハッシュ化すること、及びハッシュ値をリポジトリ知識のコンテンツとマッチングすることを含んでもよい。マッチが見つかった場合、そのデータセットは、機密情報としてタグ付けされてもよい。メタデータは、入力データセットに対して生成されることに留意されたい。ある例示的実施態様では、機密情報タグは、メタデータの属性の一部として保存されてもよい。マッチングされるデータセットは、移動中のデータであるように構成される。さらに、知識リポジトリが機密情報(又はその他の情報)のメタデータを保持することに留意されたい。メタデータの生成は、本明細書で述べたハッシュバケッティング処理を使用して作成される
特定の実施形態では、知識リポジトリのコンテンツに対するマッチングは、これらに限定されないが、自然言語処理(NLP)、パターンマッチング、機械学習などを含む技術を使用して実行されてもよい。
移動中のデータの処理は、リアルタイムで実行される。複数のデータソースが存在する計算環境は、本質的に分散されており、ストリーム処理を実施する。データソースのタイプ及び計算環境にかかわらず、このような環境において移動中のデータの処理をサポートするために、モジュラー処理アーキテクチャが本明細書に開示される。
モジュールアーキテクチャは、本明細書で定義されるコマンドの実行により実現される。ある例示的実施形態では、コマンドは、以下のインタフェースを使用して定義される。
コマンド<I,O,P,S>
ここで、「I」は、コマンドに対する入力を表すジェネリックタイプであり、「O」は、コマンドの出力を表すジェネリックタイプであり、「P」は、コマンドのパラメータであり、「S」は、コマンドの順次コール間の中間データの管理を提供する持続的サービスである。
入力及び出力は、外部データソースへの参照として提示され得る。ある実施形態では、コマンドの実行は、ランタイム環境からのそれぞれのインスタンスによるものである。ランタイム環境は、適切なコマンドの属性を割り当ててもよい。本明細書で定義される何れのコマンドも、ステートレスであり、そのため、分散計算に適する。しかし、コマンドは、スタンドアロンプログラム又はアプリケーションとして走ることはできない。
具体的には、コマンドは、ステートレスインスタンスであり、したがって、外部のデータ及びパラメータに依存する。パラメータ及び持続的サービスに対する参照は、通常、明示的に提供される。入力データは、明示的に、データの集まりとして、又は外部データソースに対する完全認定経路としての参照により、コマンドへ送られてもよい。
コマンドは、データの集まりとして、計算結果を出力し、又はそれらの結果を保存するための外部データセットを使用し得る。コマンドは、プロキシとしても機能し得る。プロキシとして機能するコマンドは、Apache Flink、Spark、Stormなどの外部計算フレームワークにリクエストをリダイレクトし得る。
幾つかの実施形態によれば、パイプラインのコマンドは、例えば、ソースコマンド、シンク、及び処理コマンドを含んでもよい。
以下は、ソースコマンドの幾つかの例である:データをストリーミングフレームワーク(例えば、Kafka)に取り込むこと;ローカルファイルシステムをサポートすること(例えば、順次読み出し、スキャニング、及びフィルタリング);データストアとしてローカルファイルシステムを備えたHBaseをサポートすること(データに対してクエリー、スキャン、及びフィルタリングを行うこと);及びグラフデータベースをサポートすること(グラフデータベースに対してクエリー及び横断を行うこと)。
以下は、データ変換コマンドの幾つかの例である:サーチコマンド:ソースデータのインデックス作成及びマッピング;データのサーチ及びクエリー;カスタムフィルタリング及びアグリゲーション;データサンプリング及び基礎統計:ローカルファイルシステムからのサンプルの生成;統計値(例えば、平均(mean)、中央値、平均(average)、標準偏差など)の計算;統計モデル;機械学習処理;並びにエージェント及び外部計算フレームワークを実行するためのプロキシコマンド。
以下は、シンクコマンドの幾つかの例である:データをローカルファイルシステムに投げ込むこと;データをHDFS/HBase/Cassandraに書き込む/投げ込むこと;並びにグラフのノード及びエッジとして、データをグラフデータベースに書き込むこと。
パイプラインコマンドは、2つのモード、すなわち、順次及び非同期的に、実行され得る。パイプラインの次のコマンドが、前のコマンドの実行が終了して初めて実行される場合に、コマンドは、順次実行される。パイプラインの全てのコマンドが、同時に実行されることが可能であり、非同期メッセージング層を使用して互いにデータをやり取りすることができ、及び入力オブジェクトが必要なデータを提供するとすぐに処理を行うことができる場合に、コマンドは非同期的に実行される。メッセージング層は、後で処理を行うことを可能にするためにバッファを使用する任意のシステムであってもよい。これは、処理が、先送りすることができず、配信時に、又はこのメッセージの喪失時に行われるべきである、同期メッセージングシステムとは対照的である。
ある実施形態では、コマンドは、外部システム/フレームワークと通信し、それらの間で通信する際に、標準化された入力及び出力オブジェクトを使用する。構造的に、入力及び出力は共に同じであり、したがって、コマンド間で通信される出力に関して、追加の処理は必要ない。パイプラインコマンドは、入力オブジェクトにおけるパラメータとして、他のコマンドへの参照のリストを受理し、その後、これらのコマンドを実行し得る。
図5は、様々な実施形態に係る、開示されたコマンドを使用した、連続ストリーミング処理を示す例示的図500を示す。図5に例示される処理は、パターンマイニングコマンド(501)、ドメインプロファイリングコマンド(502)、及び関係プロファイリングコマンド(503)を並行して実行するコマンドフローである。トランスポート層510は、データソース520からデータを転送する。コマンド501~503は、トランスポート層510によって、結果をデータシンク530に送る。
ある例示的実施態様では、データソース520は、Oracle(登録商標)データベースでもよく、データシンク530は、Cassandra及びGraph DBでもよい。トランスポート層510は、例えば、Kafkaを使用して実現されてもよい。Kafkaは、リアルタイムデータ供給を取り扱うための、統一された、高スループットの、低遅延プラットフォームを提供するように設計されたオープンソースプラットフォームである。
ある実施形態では、コマンドの並列実行をサポートするために、グラフ実行エンジンが実装される。複数の計算ノードにわたってデータが分散される場合に、グラフ実行エンジンが、分散システムにおいて必要とされる。
ある実施形態によれば、グラフ実行に関する新規の手法が開示される。既存のグラフ実行技術とは対照的に、開示されるグラフ処理は、複数のグラフノードにわたる、直接的な横断を使用しない。代わりに、グラフ処理は、実行グラフノード(又は単に「ノード」)ごとに実行ステータスを定義するキューを使用する。
ある実施形態では、処理の異なるフェーズを指定するために、各キューは、コード化される(例えば、色分けされる)。例えば、キューは、緑、白、青、灰色、赤、及び黒で色分けされてもよい。各キューは、先入れ先出し(FIFO)キューとして実現されてもよい。キューは、対応する実行状態にあるグラフ中のノードに対する参照(ポインタ)を保持する。
ある例示的実施態様では、緑色キューは、ソースとして機能し、黒キューは、シンクとして機能し、灰色キューは、「インプロセス(in-process)」状態を表す。白、青、及び赤のキューは、開始ステータスと終了ステータスとの間のノードの異なる処理状態を表す。開始ステータス及び終了ステータスは、それぞれ、緑キュー及び黒キューによって表される。
キューに配置された実行グラフノードは、暗黙的に関連付けられてもよい。各ノードは、同じキュー、又は異なるキューに存在し得る「インノード」及び「アウトノード」のコンテキストを保持してもよい。このようなノードは、それらのステータス及び現在のノードの処理の結果に基づいて、あるキューから別のキューへと転送される。アウトノードは、そのエッジにソースとしての現在のノードからのデータを有するノードである。
白キューは、結果の状態に応じて、現在のノードのアウトノードを黒キュー又は赤キューのどちらかに移動させてもよい。青キューは、赤キューからのノードを処理するように構成され、結果の状態に応じて、ノードを黒キュー又は赤キューのどちらかに移動させる。赤キューは、現在のノードの未処理のインノードを処理し、及び青キューへ移動する。ある構成では、各ノード内の処理は、非同期的であってもよい。
図6に例示されるように、本明細書に開示されるグラフ実行は、実行グラフの各ノードを緑キュー610から黒キュー660に移動させようとする。
グラフ実行エンジンによって実行される処理は、全てのノードを緑キュー610に配置する。次いで、グラフ内の全ての開始ノードが、(図示された)白キュー620又は(図示されない)青キュー640に配置される。白キュー620内の全てのノードは、処理されるのを待っている。処理される準備ができているノードは、ノードの処理を開始するために、灰色キュー630に移動される。キューがFIFOキューであるので、キュー内の第1ノードは、処理、すなわち、灰色キュー630に転送される。ノードの処理が完了すると、ノードは、黒キュー660に転送される。同時に、現在のノードのアウトノードが、緑キュー610から白キュー620へと移動される。
白キュー620におけるノードの処理が完了すると、赤キュー650内のノードの処理が実行される。まず、赤キュー650内の各ノードに関係する、緑キュー610内の全てのインノードが、検出される。このようなノードは、青キュー640に転送される。青キュー640内のノードは、白キュー620内のノードと同じように処理される。次に、ノードは、赤キュー650から黒キュー660へと移動され得る。
グラフ実行エンジンは、他のタイプのデータ構造を利用することができ、色分けキューに限定されないことを認識されたい。例えば、上述の色分けキューの代わりに、ステートマシンが利用され得る。
図7は、ある実施形態に係る、実装されたシステム130の例示的ブロック図を示す。システム130は、メモリ715、ストレージ720、及びネットワークインタフェース730に接続された処理回路710を含む。ある実施形態では、システム130のコンポーネントは、バス740を介して通信可能に接続されてもよい。
処理回路710は、1又は複数のハードウェア論理コンポーネント及び回路として実現されてもよい。例えば、限定されることなく、使用され得るハードウェア論理コンポーネントの実例的タイプは、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、特定用途向け標準製品(ASSP)、システムオンチップシステム(SOC)、汎用マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ(DSP)など、又は計算、若しくは情報の他の操作を行うことができる、その他のハードウェア論理コンポーネントが含む。
メモリ715は、揮発性(例えば、RAMなど)、不揮発性(例えば、ROM、フラッシュメモリなど)、又はそれらの組み合わせでもよい。ある構成では、本明細書に開示される1又は複数の実施形態を実装するためのコンピュータ可読命令が、ストレージ720に保存されてもよい。
別の実施形態では、メモリ715は、ソフトウェアを保存するように構成される。ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、或いはその他の名称で呼ばれるかにかかわらず、あらゆるタイプの命令を意味すると広く解釈されるものとする。命令は、(例えば、ソースコード形式、バイナリコード形式、実行可能コード形式、又はコードのその他の適切な形式の)コードを含んでもよい。命令は、1又は複数のプロセッサによって実行されると、処理回路610に、本明細書に記載される様々な処理を実行させる。具体的には、命令は、実行されると、処理回路710に上述のようなハッシュバケッティング処理を行わせる。処理回路710は、コマンド及びグラフ実行エンジンも実行するように構成される。
ストレージ720は、磁気ストレージ、光学式ストレージなどでもよく、例えば、フラッシュメモリ、又は他のメモリ技術、CD-ROM、デジタル多用途ディスク(DVD)、又は所望の情報を保存するために使用され得るその他の媒体として実現されてもよい。
ネットワークインタフェース730は、システム130が、少なくとも様々な複数のデータソース(図1、110)と通信することを可能にする。
本明細書に記載される実施形態は、図7に示される特定のアーキテクチャに限定されないこと、及び開示される実施形態の範囲から逸脱することなく、他のアーキテクチャが等しく使用されてもよいことを理解されたい。
本明細書に開示される様々な実施形態は、ハードウェア、ファームウェア、ソフトウェア、又はそれらの任意の組み合わせとして実装され得る。また、ソフトウェアは、好ましくは、部分、又は特定のデバイス及び/又はデバイスの組み合わせから構成される、プログラムストレージ装置又はコンピュータ可読媒体上で有形的に具現化されたアプリケーションプログラムとして実装される。アプリケーションプログラムは、任意の適切なアーキテクチャを含むマシンにアップロードされ、そのマシンによって実行されてもよい。好ましくは、マシンは、1又は複数の中央処理装置(CPU)、メモリ、及び入出力インタフェースなどのハードウェアを有するコンピュータプラットフォームに実装される。コンピュータプラットフォームは、オペレーティングシステム及びマイクロ命令コードも含んでもよい。本明細書に記載される様々な処理及び機能は、そのようなコンピュータ又はプロセッサが明示的に示されているかどうかにかかわらず、CPUによって実行され得る、マイクロ命令コードの一部、或いはアプリケーションプログラムの一部のどちらか、又はそれらの任意の組み合わせでもよい。加えて、追加のデータストレージ装置及び印刷装置などの様々な他の周辺装置が、計算プラットフォームに接続されてもよい。さらに、非一時的なコンピュータ可読媒体は、一時的な伝搬信号を除く、任意のコンピュータ可読媒体である。
本明細書では、アイテムのリストの後に続く「少なくとも1つ」という表現は、リストされたアイテムの何れも個々に利用することができ、又はリストされたアイテムの2つ以上の任意の組み合わせを利用することができることを意味する。例えば、システムが、「A、B、及びCの少なくとも1つ」を含むと記載される場合、システムは、Aのみ、Bのみ、Cのみ、A及びBの組み合わせ、B及びCの組み合わせ、A及びCの組み合わせ、又はA、B、及びCの組み合わせを含み得る。
本明細書に記載される全ての例及び条件文言語は、開示される実施形態の原理及び当該分野を前進させるために本発明者によって寄与される概念を読者が理解することを助ける教育上の目的を意図したものであり、このような具体的に記載された例及び条件に限定されないと解釈されるものである。また、開示される実施形態の原理、局面、及び実施形態、並びにそれらの具体的な例を記載する本明細書の全ての記述は、それらの構造的及び機能的均等物の両方を包含することが意図される。加えて、このような均等物は、現在知られている均等物、並びに今後開発される均等物の両方を含むこと、すなわち、構造にかかわらず、同じ機能を行う、開発されたあらゆる要素を含むことが意図される。
ID列310は、1又は複数のデータソース中のオリジナルのデータセットの場所に対する参照を保持する。ID列310の形式は、バケット識別子(ID)及びURLを含む。ある例示的構成では、URLは、オリジナルのデータソース中の所与のデータエントリのURIに関連付けられ得る。例えば、URIは、特定の列に対して、リレーショナルデータベースからのデータが記録される際のデータベース、テーブル、及び列名、ファイルシステムからのディレクトリ及びファイル、又はウェブページ、ストリーミングデータなどへのハイパーリンクを含む完全認定経路を指定してもよい。

Claims (27)

  1. 移動中のデータに対してハッシュバケッティング処理を実行するコンピュータ実装方法であって、
    入力データセットをバケットにマッピングするために、前記入力データセットに第1ハッシュ関数を適用することであって、前記第1ハッシュ関数は第1ハッシュ値をもたらすものであることと、
    前記入力データセットを前記バケット内のレコードにマッピングするために、前記第1ハッシュ値に第2ハッシュ関数を適用することと、
    前記入力データセットに基づいて、メタデータを生成することであって、前記メタデータは、前記入力データセットのオリジナルの場所を少なくとも示すことと、
    前記生成されたメタデータを前記バケット内の前記レコードに保存することと、
    を含む、コンピュータ実装方法。
  2. 前記バケットは、複数のバケットの1つであり、各バケットは、複数のレコードを含む、請求項1に記載のコンピュータ実装方法。
  3. 各バケットは、データストアにおけるデータ構造である、請求項2に記載のコンピュータ実装方法。
  4. 前記複数のバケット及びそれらのコンテンツが、前記データベース内にテーブルとして論理的にセーブされる、請求項2に記載のコンピュータ実装方法。
  5. 1又は複数のデータソースから前記入力データセットを同時に受信することをさらに含む、請求項1に記載のコンピュータ実装方法。
  6. 前記第1ハッシュ関数及び前記第2ハッシュ関数は同じ関数である、請求項1に記載のコンピュータ実装方法。
  7. 前記第1ハッシュ関数は、128ビットのハッシュ関数であり、前記第2ハッシュ関数は、32ビットのハッシュ関数である、請求項1に記載のコンピュータ実装方法。
  8. 前記メタデータは、少なくとも識別子(ID)列、属性列、及びデータ列を含む、請求項1に記載のコンピュータ実装方法。
  9. 前記識別子(ID)は、前記バケットのバケット識別子(ID)、及びデータソース中の前記データセットの場所に対する完全認定経路を含む、請求項8に記載のコンピュータ実装方法。
  10. 前記データ列は、近似されたデータセット値を保持する、請求項1に記載のコンピュータ実装方法。
  11. 前記移動中のデータは、リアルタイムで処理される、請求項1に記載のコンピュータ実装方法。
  12. 前記移動中のデータを、複数の前記データを機密又は非機密に少なくとも分類するためにタグ付けすることをさらに含む、請求項1に記載のコンピュータ実装方法。
  13. 前記タグ付けは、機密情報を示す辞書を保持する知識リポジトリを使用して実行される、請求項12に記載の方法。
  14. 処理回路を移動中のデータに対してハッシュバケッティング処理を実行する処理を実行させる命令を保存している非一時的なコンピュータ可読媒体であって、前記処理は、
    入力データセットをバケットにマッピングするために、前記入力データセットに第1ハッシュ関数を適用することであって、前記第1ハッシュ関数が、第1ハッシュ値をもたらすことと、
    前記入力データセットを前記バケット内のレコードにマッピングするために、前記第1ハッシュ値に第2ハッシュ関数を適用することと、
    前記入力データセットに基づいて、メタデータを生成することであって、前記メタデータは、前記入力データセットのオリジナルの場所を少なくとも示すことと、
    前記生成されたメタデータを前記バケット内の前記レコードに保存することと、
    を含む、非一時的なコンピュータ可読媒体。
  15. 移動中のデータに対してハッシュバケッティング処理を行うシステムであって、
    処理回路と、
    メモリであって、前記処理回路によって実行されると、
    入力データセットをバケットにマッピングするために、前記入力データセットに第1ハッシュ関数を適用し、前記第1ハッシュ関数は、第1ハッシュ値をもたらし、
    前記入力データセットを前記バケット内のレコードにマッピングするために、前記第1ハッシュ値に第2ハッシュ関数を適用し、
    前記入力データセットに基づいて、メタデータを生成し、前記メタデータは、前記入力データセットのオリジナルの場所を少なくとも示し、
    前記生成されたメタデータを前記バケット内の前記レコードに保存するように前記システムを構成する命令を含む、メモリと、
    を含む、システム。
  16. 前記バケットは、複数のバケットの1つであり、各バケットは、複数のレコードを含む、請求項15に記載のシステム。
  17. 各バケットは、データストアにおけるデータ構造である、請求項16に記載のシステム。
  18. 前記複数のバケット及びそれらのコンテンツは、前記データベース内にテーブルとして論理的にセーブされる、請求項16に記載のシステム。
  19. 前記システムは、1又は複数のデータソースから前記入力データセットを同時に受信するようにさらに構成される、請求項15に記載のシステム。
  20. 前記システムが、前記第1ハッシュ関数及び前記第2ハッシュ関数が同じ関数であるようにさらに構成される、請求項15に記載のシステム。
  21. 前記システムが、前記第1のハッシュ関数が、128ビットのハッシュ関数であり、前記第2のハッシュ関数が、32ビットのハッシュ関数であるようにさらに構成される、請求項15に記載のシステム。
  22. 前記メタデータが、少なくとも識別子(ID)列、属性列、及びデータ列を含むように、前記システムがさらに構成される、請求項15に記載のシステム。
  23. 前記識別子(ID)は、前記バケットのバケット識別子(ID)、及びデータソース中の前記データセットの場所に対する完全認定経路を含むように、前記システムがさらに構成される、請求項22に記載のシステム。
  24. 前記システムは、前記データ列に、近似されたデータセット値を保持するようにさらに構成される、請求項15に記載のシステム。
  25. 前記システムは、前記移動中のデータをリアルタイムで処理するようにさらに構成される、請求項15に記載のシステム。
  26. 前記システムは、前記移動中のデータを、複数の前記データを少なくとも機密又は非機密に分類するためにタグ付けするようにさらに構成される、請求項15に記載のシステム。
  27. 前記タグ付けは、機密情報を示す辞書を保持する知識リポジトリを使用して実行されるように、前記システムがさらに構成される、請求項15に記載のシステム。
JP2021550703A 2019-03-01 2020-01-23 移動中のデータの処理技術 Active JP7433335B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962812573P 2019-03-01 2019-03-01
US62/812,573 2019-03-01
PCT/US2020/014762 WO2020180409A1 (en) 2019-03-01 2020-01-23 Techniques for processing of data in motion

Publications (2)

Publication Number Publication Date
JP2022522214A true JP2022522214A (ja) 2022-04-14
JP7433335B2 JP7433335B2 (ja) 2024-02-19

Family

ID=72236769

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2021550703A Active JP7433335B2 (ja) 2019-03-01 2020-01-23 移動中のデータの処理技術
JP2021550706A Pending JP2022522464A (ja) 2019-03-01 2020-02-25 分散データソースに存在するデータストリームの連続処理のためのコンピュータ実装方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2021550706A Pending JP2022522464A (ja) 2019-03-01 2020-02-25 分散データソースに存在するデータストリームの連続処理のためのコンピュータ実装方法

Country Status (4)

Country Link
US (2) US11416496B2 (ja)
EP (2) EP3931722A4 (ja)
JP (2) JP7433335B2 (ja)
WO (2) WO2020180409A1 (ja)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001043237A (ja) * 1999-07-30 2001-02-16 Mitsubishi Electric Corp データファイル及びデータ検索方法
JP2002024281A (ja) * 2000-07-07 2002-01-25 Mitsubishi Electric Corp データベース演算処理装置
JP2002533809A (ja) * 1998-12-21 2002-10-08 オラクル コーポレーション 漸進変化を伴うオブジェクトハッシング
JP2007241378A (ja) * 2006-03-06 2007-09-20 Data Henkan Kenkyusho:Kk 検索装置及びそのプログラム
US20180082082A1 (en) * 2016-09-21 2018-03-22 Mastercard International Incorporated Method and system for double anonymization of data
US20190018855A1 (en) * 2017-07-17 2019-01-17 Alteryx, Inc. Performing hash joins using parallel processing
US20190026307A1 (en) * 2017-07-18 2019-01-24 International Business Machines Corporation File metadata verification in a distributed file system

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7421541B2 (en) 2000-05-12 2008-09-02 Oracle International Corporation Version management of cached permissions metadata
US7664927B2 (en) 2006-03-29 2010-02-16 Microsoft Corporation Hash tables
US8099415B2 (en) 2006-09-08 2012-01-17 Simply Hired, Inc. Method and apparatus for assessing similarity between online job listings
US8069190B2 (en) 2007-12-27 2011-11-29 Cloudscale, Inc. System and methodology for parallel stream processing
US9928260B2 (en) 2008-02-11 2018-03-27 Nuix Pty Ltd Systems and methods for scalable delocalized information governance
US8763068B2 (en) 2010-12-09 2014-06-24 Microsoft Corporation Generation and provision of media metadata
US10402442B2 (en) * 2011-06-03 2019-09-03 Microsoft Technology Licensing, Llc Semantic search interface for data collections
US9104560B2 (en) 2012-06-13 2015-08-11 Caringo, Inc. Two level addressing in storage clusters
US9015212B2 (en) * 2012-10-16 2015-04-21 Rackspace Us, Inc. System and method for exposing cloud stored data to a content delivery network
US9609050B2 (en) * 2013-01-31 2017-03-28 Facebook, Inc. Multi-level data staging for low latency data access
US9256631B2 (en) 2013-07-31 2016-02-09 Oracle International Corporation Building a hash table using vectorized instructions
US10776325B2 (en) * 2013-11-26 2020-09-15 Ab Initio Technology Llc Parallel access to data in a distributed file system
US9754774B2 (en) * 2014-02-14 2017-09-05 Perkinelmer Health Sciences, Inc. Systems and methods for automated analysis of output in single particle inductively coupled plasma mass spectrometry and similar data sets
US9361469B2 (en) 2014-03-26 2016-06-07 Amazon Technologies, Inc. Electronic communication with secure screen sharing of sensitive information
US9641580B2 (en) * 2014-07-01 2017-05-02 Microsoft Technology Licensing, Llc Distributed stream processing in the cloud
US10235436B2 (en) * 2014-08-29 2019-03-19 Microsoft Technology Licensing, Llc Event stream transformations
US10120907B2 (en) 2014-09-24 2018-11-06 Oracle International Corporation Scaling event processing using distributed flows and map-reduce operations
US11416282B2 (en) * 2015-05-26 2022-08-16 Blaize, Inc. Configurable scheduler in a graph streaming processing system
US11487780B2 (en) 2015-11-04 2022-11-01 Micro Focus Llc Processing data between data stores
US11977549B2 (en) * 2016-09-15 2024-05-07 Oracle International Corporation Clustering event processing engines
US10657146B2 (en) 2016-09-26 2020-05-19 Splunk Inc. Techniques for generating structured metrics from ingested events
US10671750B2 (en) * 2018-08-17 2020-06-02 Mentis Inc. System and method for data classification centric sensitive data discovery
US10936585B1 (en) * 2018-10-31 2021-03-02 Splunk Inc. Unified data processing across streaming and indexed data sets

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002533809A (ja) * 1998-12-21 2002-10-08 オラクル コーポレーション 漸進変化を伴うオブジェクトハッシング
JP2001043237A (ja) * 1999-07-30 2001-02-16 Mitsubishi Electric Corp データファイル及びデータ検索方法
JP2002024281A (ja) * 2000-07-07 2002-01-25 Mitsubishi Electric Corp データベース演算処理装置
JP2007241378A (ja) * 2006-03-06 2007-09-20 Data Henkan Kenkyusho:Kk 検索装置及びそのプログラム
US20180082082A1 (en) * 2016-09-21 2018-03-22 Mastercard International Incorporated Method and system for double anonymization of data
US20190018855A1 (en) * 2017-07-17 2019-01-17 Alteryx, Inc. Performing hash joins using parallel processing
US20190026307A1 (en) * 2017-07-18 2019-01-24 International Business Machines Corporation File metadata verification in a distributed file system

Also Published As

Publication number Publication date
US11360983B2 (en) 2022-06-14
JP2022522464A (ja) 2022-04-19
US11416496B2 (en) 2022-08-16
WO2020180409A1 (en) 2020-09-10
US20200278973A1 (en) 2020-09-03
WO2020180537A1 (en) 2020-09-10
EP3931722A4 (en) 2022-12-07
US20200278954A1 (en) 2020-09-03
EP3931715A1 (en) 2022-01-05
EP3931722A1 (en) 2022-01-05
EP3931715A4 (en) 2022-12-28
JP7433335B2 (ja) 2024-02-19

Similar Documents

Publication Publication Date Title
US11544623B2 (en) Consistent filtering of machine learning data
US11100420B2 (en) Input processing for machine learning
KR102361153B1 (ko) 데이터 유형에 관련된 데이터 프로파일링 동작 관리
Roussev et al. Multi-resolution similarity hashing
KR102610636B1 (ko) 데이터베이스 가속기로의 병렬 컴퓨트 오프로드
US9740734B2 (en) Group-by processing for data containing singleton groups
US10949440B2 (en) Metadata-driven data management platform
US11687527B2 (en) System and method for analysis of graph databases using intelligent reasoning systems
Vallentin et al. {VAST}: A Unified Platform for Interactive Network Forensics
US10521434B2 (en) Population of context-based data gravity wells
Hu et al. Towards big linked data: a large-scale, distributed semantic data storage
US10380115B2 (en) Cross column searching a relational database table
US10108745B2 (en) Query processing for XML data using big data technology
JP7433335B2 (ja) 移動中のデータの処理技術
JP6393193B2 (ja) データ仮想化装置及び大規模データ処理プログラム
Kune et al. XHAMI--extended HDFS and MapReduce interface for image processing applications
WO2019126154A1 (en) System and method for data storage management
US20220156276A1 (en) Generation of a dataset in the format of a machine learning framework
JP6480495B2 (ja) データ管理装置、データ管理方法、およびプログラム
JP6631139B2 (ja) 検索制御プログラム、検索制御方法および検索サーバ装置
Dutta et al. Brushing—An Algorithm for Data Deduplication
Sidhu et al. Efficient Batch Processing of Related Big Data Tasks using Persistent MapReduce Technique
JPWO2014061305A1 (ja) エントリ挿入装置、方法、及びプログラム
JP2020038610A (ja) 検索処理プログラム、検索処理方法及び情報処理装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210827

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210827

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220914

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221025

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20230116

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230301

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20230704

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231102

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20231102

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231207

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20231227

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240206

R150 Certificate of patent or registration of utility model

Ref document number: 7433335

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240308

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20240308