JP2022522464A - 分散データソースに存在するデータストリームの連続処理のためのコンピュータ実装方法 - Google Patents

分散データソースに存在するデータストリームの連続処理のためのコンピュータ実装方法 Download PDF

Info

Publication number
JP2022522464A
JP2022522464A JP2021550706A JP2021550706A JP2022522464A JP 2022522464 A JP2022522464 A JP 2022522464A JP 2021550706 A JP2021550706 A JP 2021550706A JP 2021550706 A JP2021550706 A JP 2021550706A JP 2022522464 A JP2022522464 A JP 2022522464A
Authority
JP
Japan
Prior art keywords
data
commands
command
graph
executed
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
JP2021550706A
Other languages
English (en)
Other versions
JP7508725B2 (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 JP2022522464A publication Critical patent/JP2022522464A/ja
Application granted granted Critical
Publication of JP7508725B2 publication Critical patent/JP7508725B2/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)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

分散データソースに存在するデータストリームの連続処理のためのシステム及び方法。この方法は、複数の分散データソースから複数のデータストリームを受信することと、複数のコマンドを使用して、複数のデータストリームのそれぞれを処理することであって、複数のコマンドが、グラフ実行エンジンを使用して、並行して実行される、処理することと、トランスポート層によって、複数のコマンドを使用して、複数のデータストリームのそれぞれを少なくとも1つのデータシンクにトランスポートすることと、を含む。

Description

関連出願の相互参照
本出願は、2019年3月1日に出願された米国仮特許出願第62/812,573号明細書の利益を主張するものであり、その内容は、本明細書に援用される。
本開示は、概して、移動中のデータの処理に関し、特に、移動中のデータのタグ付けに関する。
ビッグデータから洞察を得るためのアプリケーション及び製品が人気となっている。このようなアプリケーション及び製品は、予測目的でデータの収集、管理、及び分析を行うため、又はリアルタイムの洞察を取り出すために使用される。異なるタイプのデータは、意味のある洞察を提供するために、異なる計算プラットフォームを必要とし得る。洞察は、保存されているデータ、又は移動中のデータから抽出され得る。保存されているデータとは、様々なソースから収集され、その後、事象が生じた後に分析されるデータを指す。データが分析される時点、及びそのデータに対してアクションが起こされる時点は、2つの離れた時点で生じる。これに対して、移動中のデータの分析は、事象が生じるときにリアルタイムで生じる。
移動中のデータのどのような処理も、リアルタイムで行われるべきである。したがって、移動中のデータを処理するためのソリューションを実装する際に、レイテンシーが重要要素である。他の制約は、移動中のデータが、それぞれが独自の形式又は構造を有する、異なるデータソースから収集され得る点である。さらに、複数の異なるソースからのデータは、同時に、且つリアルタイムで処理されるべきである。このような制約により、異なるソースから収集された、大量の移動中のデータを処理できるソリューションは、現在存在しない。具体的には、リアルタイムで、移動中のデータにインデックスを付ける、又はタグを付けることができるソリューションは存在しない。
したがって、上記の課題を克服するソリューションを提供することは有益であるだろう。
本開示の幾つかの例示的実施形態の概要が以下に続く。この概要は、そのような実施形態の基本的理解を提供するために、読み手の利便性のために提供されるものであり、本開示の広さを完全に定義するものではない。本概要は、企図される全ての実施形態の広範囲の概要ではなく、全ての実施形態のうちの主要又は不可欠な要素を識別すること、又は何れかの観点、若しくは全ての観点の範囲を詳述することのどちらも意図していない。その唯一の目的は、後に提示される、より詳細な説明への序章として、簡略化された形で、1又は複数の実施形態の幾つかの概念を提示することである。便宜上、「幾つかの実施形態」又は「特定の実施形態」という用語は、本明細書では、本開示の単一の実施形態又は複数の実施形態を指すために使用され得る。
本明細書に開示される特定の実施形態は、分散データソースに存在するデータストリームの連続処理方法を含む。この方法は、複数の分散データソースから複数のデータストリームを受信することと、複数のコマンドを使用して、複数のデータストリームのそれぞれを処理することであって、複数のコマンドは、グラフ実行エンジンを使用して、並行して実行される、処理することと、トランスポート層によって、複数のコマンドを使用して、複数のデータストリームのそれぞれを少なくとも1つのデータシンクに転送することと、のステップを含む。
加えて、本明細書に開示される特定の実施形態は、分散データソースに存在するデータストリームの連続処理システムを含む。このシステムは、処理回路と、メモリであって、処理回路によって実行されると、複数の分散データソースから複数のデータストリームを受信し、複数のコマンドを使用して、複数のデータストリームのそれぞれを処理し、複数のコマンドは、グラフ実行エンジンを使用して、並行して実行され、トランスポート層によって、複数のコマンドを使用して、複数のデータストリームのそれぞれを少なくとも1つのデータシンクにトランスポートするようにシステムを構成する命令を含む、メモリと、を含む。
本明細書に開示される主題は、本明細書の最後の特許請求の範囲において、具体的に指摘され、明確に請求される。開示される実施形態の上述及び他の目的、特徴、及び利点は、添付の図面と併せて、以下の詳細な説明から明らかとなるだろう。
図1は、様々な実施形態を説明するために利用されるネットワークの図である。
図2は、一実施形態に係るハッシュバケッティングを示す例示的図である。
図3は、一実施形態に係るメタデータ構造を示す例示的図である。
図4は、一実施形態に係るハッシュバケッティング処理を実行する方法を示す例示的フローチャートである。
図5は、様々な実施形態に係る、開示されたコマンドを使用した、連続ストリーミング処理を示す例示的図である。
図6は、一実施形態に係る、グラフ実行を実演する図である。
図7は、開示される実施形態を実行するように構成されたシステムのブロック図である。
図8は、例示的実行グラフである。
本明細書に開示される実施形態が、本明細書の革新的教示の多数の有益な用途の例に過ぎないことに留意することが重要である。一般に、本出願の明細書の記述は、必ずしも、様々な請求された実施形態の何れも限定しない。また、一部の記述は、一部の発明的特徴に当てはまり得るが、他の発明的特徴には当てはまらないことがある。一般に、別段の記載のない限り、一般性を失うことなく、単数の要素は、複数形でもよく、逆の場合も同じである。図面では、幾つかの図を通して、同様の数字は、同様の部分を指す。
図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によって行われ、1つのデータソース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 2022522464000002
各メタデータにおける値は、典型的には異なる。本明細書に開示されるようなメタデータ及びレコード構造により、バケット中のデータを見つける一定のアクセス時間が可能となることを認識されたい。アクセス時間は、1のオーダーであるO(1)と、RのオーダーであるO(R)との間であり得、Rは、バケット内のレコードの数である。ID列が、複数のデータソース(110、図1)の1つに保存されたオリジナルのデータセットに対する直接的な完全認定経路(又はポインタ)を提供するので、オリジナルのデータに対するアクセス時間も一定である。
ある実施形態では、ハッシュ関数を適用する前に、データセットのビットがスライスされる(すなわち、ビットスライシング動作)。これは、処理時間を加速させるため、及びメモリ及びCPUなどの計算資源を節約するために実行される。ある実施形態では、データセット全体が、複数のサブセットにスライスされる。各サブセットは、ハッシュ関数によって生成されたハッシュ値の限定範囲に関してのみ信頼できる。具体的には、ハッシュ関数は、各サブセットにわたり計算される。例えば、32ビットのハッシュ関数の場合、1024個のサブセットが作成される。さらに、これらのサブセットにわたり計算されたハッシュ値は、パーティションにセーブされる。パーティションの数は、サブセットの数よりも大幅に少ない。例えば、パーティションの数は、16であり得る。サブセット及びパーティションの数は、2の累乗である任意の数であってもよいことに留意されたい。
パーティションへの分散は、ハッシュの値のMSBに基づく。非限定例として、もしMSBビット(例えば、最初の4ビット)もしハッシュ値ハッシュ値の最初の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などの外部計算フレームワークにリクエストをリダイレクトし得る。
幾つかの実施形態によれば、パイプラインのコマンドは、例えば、ソースコマンド、シンクコマンド、及び処理コマンドを含んでもよい。
以下は、ソースコマンドの幾つかの例である:データをストリーミングフレームワーク(例えば、Apache Kafka(登録商標))に取り込むこと;ローカルファイルシステムをサポートすること(例えば、順次読み出し、スキャニング、及びフィルタリング);データストアとしてローカルファイルシステムを備えたHBaseをサポートすること(データに対してクエリー、スキャン、及びフィルタリングを行うこと);及びグラフデータベースをサポートすること(グラフデータベースに対してクエリー及び横断を行うこと)。
以下は、データ変換コマンドの幾つかの例である:サーチコマンド:ソースデータのインデックス作成及びマッピング;サーチ及びクエリーデータ;カスタムフィルタリング及びアグリゲーション;データサンプリング及び基礎統計:ローカルファイルシステムからのサンプルの生成;統計値(例えば、平均(mean)、中央値、平均(average)、標準偏差など)の計算;統計モデル;機械学習処理;並びにエージェント及び外部計算フレームワークを実行するためのプロキシコマンド。
以下は、シンクコマンドの幾つかの例である:データをローカルファイルシステムに投げ込むこと;データをHDFS/HBase/Cassandraに書き込む/投げ込むこと;並びにグラフのノード及びエッジとして、データをグラフデータベースに書き込むこと。
パイプラインコマンドは、2つのモード、すなわち、順次及び非同期的に、実行され得る。パイプラインの次のコマンドが、前のコマンドの実行が終了して初めて実行される場合に、コマンドは、順次実行される。パイプラインの全てのコマンドが、同時に実行されることが可能であり、非同期メッセージング層を使用して互いにデータをやり取りすることができ、及び入力オブジェクトが必要なデータを提供するとすぐに処理を行うことができる場合に、コマンドは非同期的に実行される。メッセージング層は、後で処理を行うことを可能にするためにバッファを使用する任意のシステムであってもよい。これは、処理が、先送りすることができず、配信時に、又はメッセージの喪失時に行われるべきである、同期メッセージングシステムとは対照的である。
ある実施形態では、コマンドは、外部システム及び/又はフレームワークと通信し、それらの間で通信する際に、標準化された入力及び出力オブジェクトを使用する。構造的に、入力及び出力は共に同じであり、したがって、コマンド間で通信される出力に関して、追加の処理は必要ない。パイプラインコマンドは、入力オブジェクトにおけるパラメータとして、他のコマンドへの参照のリストを受理し、その後、これらのコマンドを実行し得る。
図5は、様々な実施形態に係る、コマンド及びグラフ実行エンジンを使用した、移動中データストリームの連続処理を示す例示的図500を示す。図5に例示される処理は、パターンマイニングコマンド(501)、ドメインプロファイリングコマンド(502)、及び関係プロファイリングコマンド(503)を並行して実行するコマンドフローである。トランスポート層510は、データソース520からデータを転送する。コマンド501、502、及び503は、トランスポート層510によって、処理結果をデータシンク530に送る。
ある例示的実施態様では、データソース520は、例えば、Oracle(登録商標)データベースでもよく、データシンク530は、例えば、Cassandra(登録商標)及びGraph DBでもよい。トランスポート層510は、例えば、Cassandra Kafka(登録商標)を使用して実現されてもよい。Kafka(登録商標)は、リアルタイムデータ供給を取り扱うための、統一された、高スループットの、低遅延プラットフォームを提供するように設計されたオープンソースプラットフォームである。
ある実施形態では、コマンドの並列実行をサポートするために、グラフ実行エンジンが実装される。複数の計算ノードにわたってデータが分散される場合に、グラフ実行エンジンが、分散システムにおいて必要とされる。
ある実施形態によれば、グラフ実行エンジンに関する新規の手法が開示される。既存のグラフ実行技術とは対照的に、開示されるグラフ実行エンジンは、複数のグラフノードにわたる、直接的な横断を使用しない。代わりに、グラフ実行エンジンは、実行グラフノード(又は単に「ノード」)ごとに実行ステータスを定義するキューを使用するように構成される。ノードはコマンドであり、一方、実行グラフは、コマンド呼び出しの順序である。ある実施形態では、ノードは、コマンドの環境、入力、及び出力を記述する。図8は、3つのノード810-1、810-2、及び810-3を備えた例示的実行グラフ800を示し、各ノードは、以下の3つのコマンドを表す:
810-1:ingestDataFromDb (1);
810-2:calculateBitSetAndHll (2);及び
810-3:saveResultInHbase (3)。
実行の順序は、ノードの順序による:すなわち、810-1、810-2、及びその後に810-3。
ある実施形態では、処理の異なるフェーズを指定するために、各キューは、コード化される(例えば、色分けされる)。例えば、キューは、緑、白、青、灰色、赤、及び黒で色分けされ得る。各キューは、先入れ先出し(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へと移動され得る。
グラフ実行エンジンは、他のタイプのデータ構造を利用することができ、色分けキューに限定されないことを認識されたい。例えば、上述の色分けキューの代わりに、ステートマシンが利用され得る。さらに、グラフ実行エンジンは、ハードウェア論理ハードウェア論理コンポーネントとして実現され得ることを認識されたい。グラフ実行エンジン130は、システム130又はスタンドアロン要素の一部でもよい。ハードウェア論理コンポーネントの例が提供される。
図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つの様々な複数のデータソース(図1、110)と通信することを可能にする。
本明細書に記載される実施形態は、図7に示される特定のアーキテクチャに限定されないこと、及び開示される実施形態の範囲から逸脱することなく、他のアーキテクチャが等しく使用されてもよいことを理解されたい。
本明細書に開示される様々な実施形態は、ハードウェア、ファームウェア、ソフトウェア、又はそれらの任意の組み合わせとして実装され得る。また、ソフトウェアは、好ましくは、部分、又は特定のデバイス及び/又はデバイスの組み合わせから構成される、プログラムストレージ装置又はコンピュータ可読媒体上で有形的に具現化されたアプリケーションプログラムとして実装される。アプリケーションプログラムは、任意の適切なアーキテクチャを含むマシンにアップロードされ、そのマシンによって実行されてもよい。好ましくは、マシンは、1又は複数の中央処理装置(CPU)、メモリ、及び入出力インタフェースなどのハードウェアを有するコンピュータプラットフォームに実装される。コンピュータプラットフォームは、オペレーティングシステム及びマイクロ命令コードも含んでもよい。本明細書に記載される様々な処理及び機能は、そのようなコンピュータ又はプロセッサが明示的に示されているかどうかにかかわらず、CPUによって実行され得る、マイクロ命令コードの一部、或いはアプリケーションプログラムの一部のどちらか、又はそれらの任意の組み合わせでもよい。加えて、追加のデータストレージ装置及び印刷装置などの様々な他の周辺装置が、計算プラットフォームに接続されてもよい。さらに、非一時的なコンピュータ可読媒体は、一時的な伝搬信号を除く、任意のコンピュータ可読媒体である。
本明細書では、アイテムのリストの後に続く「少なくとも1つ」という表現は、リストされたアイテムの何れも個々に利用することができ、又はリストされたアイテムの2つ以上の任意の組み合わせを利用することができることを意味する。例えば、システムが、「A、B、及びCの少なくとも1つ」を含むと記載される場合、システムは、Aのみ、Bのみ、Cのみ、A及びBの組み合わせ、B及びCの組み合わせ、A及びCの組み合わせ、又はA、B、及びCの組み合わせを含み得る。
本明細書に記載される全ての例及び条件文言語は、開示される実施形態の原理及び当該分野を前進させるために本発明者によって寄与される概念を読者が理解することを助ける教育上の目的を意図したものであり、このような具体的に記載された例及び条件に限定されないと解釈されるものである。また、開示される実施形態の原理、局面、及び実施形態、並びにそれらの具体的な例を記載する本明細書の全ての記述は、それらの構造的及び機能的均等物の両方を包含することが意図される。加えて、このような均等物は、現在知られている均等物、並びに今後開発される均等物の両方を含むこと、すなわち、構造にかかわらず、同じ機能を行う、開発されたあらゆる要素を含むことが意図される。

Claims (23)

  1. 分散データソースに存在するデータストリームの連続処理のためのコンピュータ実装方法であって、
    複数の分散データソースから複数のデータストリームを受信することと、
    複数のコマンドを使用して、前記複数のデータストリームのそれぞれを処理することであって、前記複数のコマンドは、グラフ実行エンジンを使用して、並行して実行される、処理することと、
    トランスポート層によって、前記複数のコマンドを使用して、前記複数のデータストリームのそれぞれを少なくとも1つのデータシンクに転送することと、
    を含む、コンピュータ実装方法。
  2. 前記複数のコマンドのそれぞれは、以下のインタフェース:
    コマンド<I,O,P,S>
    を使用して定義され、
    「I」は、コマンドに対する入力を表すジェネリックタイプであり、「O」は、前記コマンドの出力を表すジェネリックタイプであり、「P」は、コマンドのパラメータを含み、「S」が、前記コマンドの順次コール間の中間データの管理を提供する持続的サービスである、請求項1に記載のコンピュータ実装方法。
  3. 各コマンドは、ステートレスインスタンスであり、前記複数のデータソースに依存する、請求項1に記載のコンピュータ実装方法。
  4. 前記複数のコマンドは、パイプライン方式で実行される、請求項1に記載のコンピュータ実装方法。
  5. パイプライン化コマンドは、順次実行される、請求項4に記載のコンピュータ実装方法。
  6. パイプライン化コマンドは、非同期的に実行される、請求項4に記載のコンピュータ実装方法。
  7. メッセージング層を使用して、非同期的に実行されるコマンド間でデータを交換することをさらに含む、請求項6に記載のコンピュータ実装方法。
  8. コード化キューを前記グラフ実行エンジンによって処理される実行グラフのノードに関連付けることをさらに含み、各ノードは、コマンドと関連付けられ、前記実行グラフは、前記複数のコマンドの実行の順序を決定する、請求項6に記載のコンピュータ実装方法。
  9. 各コード化キューは、コマンドの処理状態における異なるステータスを決定し、各キューは、前記実行グラフのノードに対するポインタを保持する、請求項6に記載のコンピュータ実装方法。
  10. 前記データストリームが、移動中のデータを含む、請求項1に記載のコンピュータ実装方法。
  11. 前記グラフ実行エンジンが、ハードウェア論理コンポーネントである、請求項1に記載のコンピュータ実装方法。
  12. 分散データソースに存在するデータストリームの連続処理プロセスを処理回路に実行させる命令を保存する、非一時的なコンピュータ可読媒体であって、前記プロセスが、
    複数の分散データソースから複数のデータストリームを受信することと、
    複数のコマンドを使用して、前記複数のデータストリームのそれぞれを処理することであって、前記複数のコマンドは、グラフ実行エンジンを使用して、並行して実行される、処理することと、
    トランスポート層によって、前記複数のコマンドを使用して、前記複数のデータストリームのそれぞれを少なくとも1つのデータシンクに転送することと、
    を含む、非一時的なコンピュータ可読媒体。
  13. 分散データソースに存在するデータストリームの連続処理のためのシステムであって、
    処理回路と、
    メモリであって、前記処理回路によって実行されると、
    複数の分散データソースから複数のデータストリームを受信し、
    複数のコマンドを使用して、前記複数のデータストリームのそれぞれを処理し、前記複数のコマンドは、グラフ実行エンジンを使用して、並行して実行され、
    トランスポート層によって、前記複数のコマンドを使用して、前記複数のデータストリームのそれぞれを少なくとも1つのデータシンクに転送するように前記システムを構成する命令を含む、メモリと、
    を含む、システム。
  14. 前記複数のコマンドのそれぞれは、以下のインタフェース:
    コマンド<I,O,P,S>
    を使用して定義され、
    「I」は、コマンドに対する入力を表すジェネリックタイプであり、「O」は、前記コマンドの出力を表すジェネリックタイプであり、「P」は、コマンドのパラメータを含み、「S」は、前記コマンドの順次コール間の中間データの管理を提供する持続的サービスである、請求項13に記載のシステム。
  15. 各コマンドは、ステートレスインスタンスであり、前記複数のデータソースに依存する、請求項13に記載のシステム。
  16. 前記複数のコマンドは、パイプライン方式で実行される、請求項13に記載のシステム。
  17. パイプライン化コマンドは、順次実行される、請求項16に記載のシステム。
  18. パイプライン化コマンドは、非同期的に実行される、請求項16に記載のシステム。
  19. 前記システムは、
    メッセージング層を使用して、非同期的に実行されるコマンド間でデータを交換する
    ようにさらに構成される、請求項18に記載のシステム。
  20. 前記システムは、
    コード化キューを前記グラフ実行エンジンによって処理される実行グラフのノードに関連付けるようにさらに構成され、各ノードは、コマンドと関連付けられ、前記実行グラフは、前記複数のコマンドの実行の順序を決定する、請求項18に記載のシステム。
  21. 各コード化キューは、コマンドの処理状態における異なるステータスを決定し、各キューが、前記実行グラフのノードに対するポインタを保持する、請求項18に記載のシステム。
  22. 前記データストリームは、移動中のデータを含む、請求項13に記載のシステム。
  23. 前記グラフ実行エンジンは、ハードウェア論理コンポーネントである、請求項13に記載のシステム。
JP2021550706A 2019-03-01 2020-02-25 分散データソースに存在するデータストリームの連続処理のためのコンピュータによる処理方法 Active JP7508725B2 (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/019653 WO2020180537A1 (en) 2019-03-01 2020-02-25 Computer implemented method for continuous processing of data streams reside in distributed data sources

Publications (2)

Publication Number Publication Date
JP2022522464A true JP2022522464A (ja) 2022-04-19
JP7508725B2 JP7508725B2 (ja) 2024-07-02

Family

ID=72236769

Family Applications (2)

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

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2021550703A Active JP7433335B2 (ja) 2019-03-01 2020-01-23 移動中のデータの処理技術

Country Status (4)

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

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150149503A1 (en) * 2013-11-26 2015-05-28 Ab Initio Technology Llc Parallel access to data in a distributed file system
US20160006779A1 (en) * 2014-07-01 2016-01-07 Microsoft Corporation Distributed stream processing in the cloud
JP2017527024A (ja) * 2014-08-29 2017-09-14 マイクロソフト テクノロジー ライセンシング,エルエルシー イベントストリーム変換
US20180074870A1 (en) * 2016-09-15 2018-03-15 Oracle International Corporation Graph generation for a distributed event processing system

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6363396B1 (en) 1998-12-21 2002-03-26 Oracle Corporation Object hashing with incremental changes
JP3318834B2 (ja) 1999-07-30 2002-08-26 三菱電機株式会社 データファイルシステム及びデータ検索方法
US7421541B2 (en) 2000-05-12 2008-09-02 Oracle International Corporation Version management of cached permissions metadata
JP3515050B2 (ja) 2000-07-07 2004-04-05 三菱電機株式会社 データベース演算処理装置
JP2007241378A (ja) 2006-03-06 2007-09-20 Data Henkan Kenkyusho:Kk 検索装置及びそのプログラム
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
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
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
CN109964228B (zh) 2016-09-21 2023-03-28 万事达卡国际股份有限公司 用于数据双重匿名化的方法和系统
US11188550B2 (en) 2016-09-26 2021-11-30 Splunk Inc. Metrics store system
US10489348B2 (en) 2017-07-17 2019-11-26 Alteryx, Inc. Performing hash joins using parallel processing
US10642796B2 (en) 2017-07-18 2020-05-05 International Business Machines Corporation File metadata verification in a distributed file system
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 (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150149503A1 (en) * 2013-11-26 2015-05-28 Ab Initio Technology Llc Parallel access to data in a distributed file system
JP2017506373A (ja) * 2013-11-26 2017-03-02 アビニシオ テクノロジー エルエルシー 分散ファイルシステム内のデータへの並列アクセス
US20160006779A1 (en) * 2014-07-01 2016-01-07 Microsoft Corporation Distributed stream processing in the cloud
JP2017527024A (ja) * 2014-08-29 2017-09-14 マイクロソフト テクノロジー ライセンシング,エルエルシー イベントストリーム変換
US20180074870A1 (en) * 2016-09-15 2018-03-15 Oracle International Corporation Graph generation for a distributed event processing system
JP2019533854A (ja) * 2016-09-15 2019-11-21 オラクル・インターナショナル・コーポレイション 分散イベント処理システムのためのグラフ生成

Also Published As

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

Similar Documents

Publication Publication Date Title
TWI518530B (zh) Repeated data processing methods, devices and systems
US8521871B2 (en) System and method for merging monitoring data streams from a server and a client of the server
KR102361153B1 (ko) 데이터 유형에 관련된 데이터 프로파일링 동작 관리
US10831773B2 (en) Method and system for parallelization of ingestion of large data sets
US11687527B2 (en) System and method for analysis of graph databases using intelligent reasoning systems
US9229961B2 (en) Database management delete efficiency
Vallentin et al. {VAST}: A Unified Platform for Interactive Network Forensics
JP6726690B2 (ja) 基本データシーブを用いて無損失削減されたデータに対する多次元検索、コンテンツ連想的な取出し、ならびにキーワードベースの検索および取出しの実行
US10521434B2 (en) Population of context-based data gravity wells
Hu et al. Towards big linked data: a large-scale, distributed semantic data storage
US10108745B2 (en) Query processing for XML data using big data technology
KR102610636B1 (ko) 데이터베이스 가속기로의 병렬 컴퓨트 오프로드
US20140164374A1 (en) Streaming data pattern recognition and processing
JP7508725B2 (ja) 分散データソースに存在するデータストリームの連続処理のためのコンピュータによる処理方法
JP5546909B2 (ja) データ処理システム及び方法及びプログラム
JP6393193B2 (ja) データ仮想化装置及び大規模データ処理プログラム
Koivisto Efficient data analysis pipeline
Blochwitz et al. Hardware-Accelerated radix-tree based string sorting for big data applications
WO2019126154A1 (en) System and method for data storage management
JP2020038610A (ja) 検索処理プログラム、検索処理方法及び情報処理装置
Li et al. Data aggregation and anomaly detection system for isomerism and heterogeneous data
US12105716B2 (en) Parallel compute offload to database accelerator
Dutta et al. Brushing—An Algorithm for Data Deduplication
Wang et al. An Undirected Graph Traversal Based Grouping Prediction Method for Data De-duplication
Sidhu et al. Efficient Batch Processing of Related Big Data Tasks using Persistent MapReduce Technique

Legal Events

Date Code Title Description
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

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230704

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231002

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

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20240111

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240111

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240613

R150 Certificate of patent or registration of utility model

Ref document number: 7508725

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150