JP2023543715A - 連合プライベート・データのための分析プラットフォーム - Google Patents
連合プライベート・データのための分析プラットフォーム Download PDFInfo
- Publication number
- JP2023543715A JP2023543715A JP2023517848A JP2023517848A JP2023543715A JP 2023543715 A JP2023543715 A JP 2023543715A JP 2023517848 A JP2023517848 A JP 2023517848A JP 2023517848 A JP2023517848 A JP 2023517848A JP 2023543715 A JP2023543715 A JP 2023543715A
- Authority
- JP
- Japan
- Prior art keywords
- data
- coordinator
- runner
- silo
- client
- 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.)
- Pending
Links
- 238000010801 machine learning Methods 0.000 claims abstract description 27
- 238000000034 method Methods 0.000 claims description 24
- 238000004891 communication Methods 0.000 claims description 18
- 238000004458 analytical method Methods 0.000 claims description 10
- 230000006870 function Effects 0.000 claims description 7
- 238000007405 data analysis Methods 0.000 claims description 4
- 238000013501 data transformation Methods 0.000 claims description 4
- 230000004044 response Effects 0.000 claims description 4
- 230000009471 action Effects 0.000 claims description 3
- 238000006243 chemical reaction Methods 0.000 claims description 2
- 238000012517 data analytics Methods 0.000 abstract 1
- 238000003860 storage Methods 0.000 description 27
- 230000015654 memory Effects 0.000 description 23
- 230000002085 persistent effect Effects 0.000 description 11
- 238000012549 training Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 7
- 230000008901 benefit Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000004888 barrier function Effects 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000002093 peripheral effect Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 238000013526 transfer learning Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 239000000203 mixture Substances 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 238000004900 laundering Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000013474 audit trail Methods 0.000 description 1
- 238000003339 best practice Methods 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012417 linear regression Methods 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000007477 logistic regression Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000007637 random forest analysis Methods 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 238000013341 scale-up Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000003245 working effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/554—Detecting local intrusion or implementing counter-measures involving event detection and direct action
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6227—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/034—Test or assess a computer or a system
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Complex Calculations (AREA)
- Medical Treatment And Welfare Office Work (AREA)
Abstract
データ分析プラットフォームが、高度分析及び機械学習のための連合データへのセキュア・アクセスを提供する。生データがその元のロケーションの外部に公開も移動もされず、それにより、データ・プライバシーを提供する。プロバイダ・クラウド中にあるコーディネータが、各クライアント・データ・サイロ中のランナーと通信することができる。ランナーは、生プライベート・データが決してコーディネータに公開されないことを確実にする。プラットフォームのクライアント・クラウド・コンポーネントをリモートで管理及び維持するために、サイロ・マネージャがクライアント・データ・サイロにおいて実装される。いくつかの実施例では、プラットフォームは、プライバシー及びコンプライアンスのために、検証されたモデルを匿名化することができ、ユーザが、元のデータ・ロケーションの外部にセキュア・モデルをエクスポート及び展開することができる。
Description
本出願は、2021年9月18日に出願された米国仮特許出願第63/080,333号の利益を主張する。上記の出願は、その全体が参照により本明細書に組み込まれる。
情報障壁は、データ分析の使用を制限する。これらの情報障壁は、多数の形態をとり得る。欧州連合における一般データ保護規則(GDPR:General Data Protection Regulation)などのデータ・プライバシー規制は、個人情報のアクセス及び移動を制限する。より広範には、2023年までに、世界の人口の65%超は、その情報が現代のプライバシー規制の下で扱われることになる。同様に、組織は、データへのアクセスを獲得することに対する条件として、データの使用を制限する無数のデータ機密性契約条項に従うことがある。ローカルにホストされた環境とクラウド環境との間のデータの移行も、障壁をもたらす。様々なプライベート合意又はベスト・プラクティス制限が、組織内で機密性理由のためにデータの移動に対する障壁を設け得る。また、会社内の様々な部門の間のデータを「サイロ化する(silo)」ことも、組織にわたってデータを分析する能力を制限し得る。
情報障壁に対する一般的な反応は、データを集中化する(centralize)ことである。しかし、プライバシー規制が、集中化を実行不可能又は不可能にし得る。集中化が可能であるときでも、集中化は、すべてのデータを中央リポジトリ中に置くことによってプライバシー・リスクの増加をもたらし、この情報のすべてへのアクセスを与えられるアナリストによる内部脅威をもたらす。集中化はまた、集中型記憶ロケーションを必要とすることによるコストと、統一プラットフォームにデータのすべてを移動することに関連するコストとを増加させる。
本発明は、分散される及びプライベート・データのための連合(federated)データ分析プラットフォームを対象とし、これは、非集中型データセットにおいてこのプライベート・データを変換、処理、及び分析する。いくつかの実施例では、マルチパーティ分析アプリケーション・プログラミング・インターフェース(API:application programming interface)が、高速アクセス、機敏な分析、及び自動コンプライアンスのために、機密の及び分散されるデータを一元化するように働く。いくつかの実施例では、コンピューティング・プラットフォームが、コンプライアンス・リスクを軽減しながら、クエリ、データ変換、機械学習のためにデータにセキュアにアクセスし、それを使用するための機能を提供する。本開示のいくつかの実施例によるコンピューティング・プラットフォームは、機械学習モデル・トレーニング及び分析クエリを処理するために、連合学習(federated learning)と、連合クエリ処理と、差分プライバシー(differential privacy)と、セキュア・マルチパーティ算出との組合せを使用し得る。
様々な実施例では、生データがその元のロケーションの外部に公開も移動もされず、それにより、データ・プライバシー及びローカライゼーション法律及び規制のコンプライアンスを提供する。いくつかの実施例では、プラットフォームが、プライバシー及びコンプライアンスのために、検証されたモデルを匿名化することができ、ユーザが、元のデータ・ロケーションの外部にセキュア・モデルをエクスポート及び展開することができる。
本開示のいくつかの実施例は、セキュア及びプライベート・ゲートウェイをデータセットに接続し、それを公開し、データに対して実施される各アクションが、カスタム・アクセス・ポリシーに従って許可され、オーディット・トレール及びコンプライアンス報告における使用のために記録され得る。いくつかの実施例では、コンピューティング・プラットフォームが、基礎をなすデータセットを表すプライベート統合データを差分的に(differentially)生成することができる。これは、データ科学者及び技術者が、決して生データを参照することなしに、データ・プレップ、データ・クリーニング、及び特徴パイプラインを構築することを可能にし、それにより、プライバシーを保護することができる。いくつかの実施例では、機械学習モデル及びクエリを定義するために、よく知っているライブラリ及びフレームワークがデータ科学者によって使用され得る。ユーザは、特定のAPIを使用して単純なコマンドをサブミットすることによって、いくつかの実施例によるプラットフォームに関与することができる。要求は、ローカル・データセットに送り出(ship)されるように一連の連合及びプライバシー拡張動作を定義する分析グラフに分解され得る。
本発明のこれらの及び他の特徴、目的並びに利点は、以下で説明されるように、図面とともに、好ましい実施例の以下の詳細な説明、及び添付の特許請求の範囲を考慮するとより良く理解されるようになるであろう。
本発明がさらに詳細に説明される前に、本発明の範囲は特許請求の範囲によってのみ限定されるので、本発明が、説明される特定の実施例に限定されないこと、並びに特定の実施例を説明する際に使用される用語が、それらの特定の実施例を説明するためのものにすぎず、限定するものではないことを理解されたい。
旧来の機械学習モデルは、ランダム・フォレストのようなツリーベース・モデルに対して、ニューラル・ネットワークに対して、線形回帰又はロジスティック回帰のような比較的単純なモデルを含む。集中型機械学習(centralized machine learning)では、トレーニング・データと算出データとは、同じ機械上に存続する。分散型機械学習(distributed machine learning)は、集中型機械学習のために開発された技法に基づいて構築されるが、モデル及び/又はトレーニング・データを単一の機械上に適合させることが不可能であるポイントまでモデル及びデータ・サイズが増加するにつれて、重要性が上昇している。トレーニング・データが、1つの場所に適合するには大きすぎる、又は効率的に読み取られるには大きすぎるとき、アナリストはデータ並列分散型学習を使用し得る。この場合、データは多くの異なる機械にわたって記憶され得、学習が分散型様式で起こる。
トレーニング・データは、サイズによる機械学習システムに関する唯一の問題ではない。今日、いくつかの機械学習モデル自体が、単一の機械上で適合するには大きすぎる。ニューラル・ネットワーク・モデルが、単一の機械に適合するには大きすぎるとき、1つの手法は、モデル並列分散型学習を使用することである。この手法では、ネットワークの異なるレイヤが異なる機械上に存続し、重み及び勾配が、モデル・トレーニングのフォワードプロパゲーション及びバックプロパゲーション段階中に機械間で受け渡される。最終的に、ここで使用される、基礎をなすアルゴリズムは、集中型機械学習において使用されるものと同じであるが、分散型アーキテクチャは、巨大なモデル及びデータセットの使用を可能にする。
非集中型機械学習(decentralized machine learning)は、モデル・トレーニングを制御するために使用される集中型コンピュート・リソースがないという点で、集中型機械学習及び分散型機械学習とは異なる。一実例として、これは、セル・フォンにわたる学習のコンテキストにおいて理解され得、すなわち、集中型機械学習さらには分散型機械学習システムでは、セル・フォン・データに基づいて機械学習モデルを構築することを希望した場合、データをフォンから人工知能(AI:artificial intelligence)アーキテクチャに送り出し、そこでモデルを構築することになる。非集中型学習の場合、フォンは、それ自体のデータに基づいて、それ自体のモデルを作ることを担当する。フォンは、次いで、そのモデルを他のフォンに送ることになる。それらのフォンは、それらのフォンに送られたモデルを見て、それら自体のデータを元のモデルに追加することによってモデルを改善することを試みることになる。各フォンは、次いで、この改善されたモデルを別のフォンに送り出すことになる。これは、モデル・トレーニングを制御する集中型サービスなしに続くことになる。
非集中型機械学習におけるモデル・トレーニングのタイプは、集中型学習において使用されるものとは極めて異なり、したがって、それは、異なる手法及びアルゴリズムを必要とする。しかしながら、非集中型学習は、セキュリティ利益を提供し、すなわち、各エンドポイント(たとえば、フォン)が、それ自体のデータのみを用いてモデルを構築又は改善しているので、各データ所有者は、そのデータがどのように使用されるかの制御を有する。そのデータは、その元のロケーションから決して移動される必要がない。
プロセスを協調させる単一のデバイスがない場合、非集中型機械学習を使用するときに生じるいくつかの課題がある。たとえば、デフォルトで、より速いネットワーク接続をもつデバイスは、モデルをより迅速に送る及び受信することが可能であることになり、したがって、それらのデバイスは、最終モデル状態に対してより大きい影響を有し得る。ただし、完全非集中型学習に関する最も大きい問題は、スケールである。プロトコル帯域幅の大部分が、冗長メッセージを送る及び受信するために使用される。集中型のレート制限もジョブ・スケジューリングもないので、ノードが当惑することがある。
これらの制限は、連合学習につながった。連合学習では、データは、異なるデバイス又はサイロにわたって拡散される。各デバイス又はサイロは、非集中型機械学習におけるプロセスと同様に、それ自体のデータを使用して、モデルを作る。しかしながら、連合学習では、これらのモデルは、次いで、コーディネータに送られ、コーディネータは、各データセットからの学習をまとめて、単一のユニバーサル・モデルを作成する。そのモデルは、次いで、デバイス又はサイロに送り出される。このモデルは、このプロセスを繰り返すことによって改良され続けることができる。連合学習は、非集中型機械学習の場合と同じセキュリティ利益を提供し、すなわち、各データ所有者は各データ所有者のデータを制御し、そのデータは決して移動されない。連合学習は、集中型機械学習が有する協調の利益をも有し、非集中型機械学習のスケーラビリティ問題を回避することが可能である。
3つのタイプの連合学習、すなわち、水平学習と、垂直学習と、連合転移学習とがある。水平学習は、データセットが、同じ特徴空間又はスキーマを共有するが、それらのサンプルにおいて異なるとき、行われる。水平学習は、デバイスにわたって又はサイロにわたって実施され得る。クロスデバイス(cross-device)連合学習の一実例は、セル・フォンにわたる学習であろう。各デバイスは単一のユーザのデータを有し、永続的接続の保証がない。クロスサイロ(cross-silo)は、データのサイロにわたる学習を指し、すなわち、各サイロは多くのユーザのデータを有し、一貫したネットワーク接続性の予想がある。類推により、水平学習は、同じ列を有するが、異なる行を有するデータベースのようなものである。1つのデバイス又はサイロが、中央ロケーション中のすべてのデータに対してではなく、そのデバイス又はサイロがアクセスを有するデータのみに対して動作するので、連合学習の主要な課題は、複数の部分的なモデルを単一の完全なモデルに組み合わせるプロセスである。水平学習の場合、連合平均化、連合SGD、及び分割学習(split learning)が、有効な最適化技法の実例である。
水平学習は、データが共有するのが不可能又は実行不可能である、多くの状況にわたって適用可能であり得る。一実例は、個人データを含んでいる異なる法的管轄における同様に構造化されたデータベースである。データは、データがある場所にとどまることを法律によって必要とされ得るが、連合学習の場合、これらの異種データベースは、単一の、完全なデータセットとして扱われ得る。別の適用例は、モノのインターネット(IoT:Internet of Things)デバイスである。連合学習は、エコシステムのホリスティック・ピクチャを作成するために、数千個又は何百万個ものデバイス及びセンサーにわたって学習することを可能にする。連合学習は、業界全体の学習をも可能にする。同じ概念が、不正検出に適用される。たとえば、連合学習は、ある銀行がパートナー銀行において行われた不正の実例から学習することを可能にする。
垂直連合学習は、異なるデータセットが、同じサンプル空間を共有するが、特徴空間において異なる場合、行われ得る。たとえば、これは、同じ行を有するが、異なる列を有するテーブルと考えられ得る。垂直連合学習は、本質的に、2つの異なるデータベース・テーブルの合成(join)と考えられ得る。主な違いは、データベース合成では、データが集中型ロケーションに一緒にプルされるが、垂直分割連合学習では、データがそれらの元のロケーションを決して出ないことである。
垂直連合学習において、合成鍵を比較し、データセット間の合成を表すリンク・テーブルを生成するために、暗号鍵が使用される。合成論理は、いくつかの実装形態において高度に構成可能であり、すなわち、合成論理は、完全マッチをサポートし得るが、(つづりを間違えた名前又は他の誤入力されたデータをとらえるための)ファジー・マッチ、及び複数列合成をもサポートし得る。ちょうど水平連合学習の場合のように、集中型機械学習のためのアルゴリズムは、集中型ロケーションにデータを移動することなしに、このタイプのデータにわたってモデルを構築することができない。代わりに、垂直連合学習は、たとえば、テイラー勾配降下と、SecureBoostと、連合フォレストと、SplitNNとを含む、最適化アルゴリズムのそれ自体のセットを使用する。これらのアルゴリズムを使用すると、線形、ツリー、及びニューラル・ネットワーク・モデルは、それらが単一のデータ・ウェアハウスに一緒に位置しているかのように、複数の関係するデータセットにわたってトレーニングされ得る。
垂直連合学習についての1つの使用事例は、ライン・オブ・ビジネスにわたる学習である。ライン・オブ・ビジネス(LoB:lines of business)間のデータ共有は、内部ポリシーによって又は規制によってしばしば制限される。垂直連合学習は、行レベル・データを決して共有することなしに、LoBにわたってインサイトを共有することを可能にする。別の使用事例は、サードパーティ・データ・アクセスである。銀行のクレジット・アンダーライティング・プロセス(credit underwriting process)を強化するために、サードパーティ・データを使用することを望む銀行について考えるが、銀行にそのデータをもたらすことは、銀行にリスクを提示し、データ最小化の原理に従わない。垂直学習を使用すると、銀行は、データへのフル・アクセスを決して必要とすることなしに、サードパーティ・データとの銀行のデータの組合せからインサイトを収集することが可能である。垂直連合学習は、会社が、サードパーティ・データを購入することを判断する前に、サードパーティ・データを「試す」ことをも可能にする。連合学習の場合、基礎をなす機密のデータのいずれも公開することなしに、2つのデータセットの交差部を決定することが可能である。
第3のタイプの連合学習は、連合転移学習である。このタイプの連合学習は、連合設定において重複しないデータを利用するための転移学習技法を使用することに焦点を当てる。垂直連合学習では、たとえば、データセットが合成されるときにマッチしない、各データセットにおける多くの行があり得、すなわち、連合転移学習は、モデルの品質を改善するためにそれらのマッチしない行を使用する。
連合学習に対するこれらの手法は、様々な適用例において組み合わせられ得る。たとえば、垂直及び水平連合学習は、マネー・ロンダリングを検出するために使用され得る。マネー・ロンダリング・レッド・フラグが、単一の銀行の異なる管轄にわたって、又はパートナー銀行にわたってのいずれかで、水平連合学習を使用して分類され得る。そのモデルは、不正を阻止するのを助けるための、疑わしい活動報告(SAR:suspicious activity report)を作成するために使用されるが、犯罪者は、犯罪者が管轄にわたって犯罪者の活動を分散することができる場合、犯罪者を阻止することがより難しいことを了解している。しかし、垂直連合学習のコアにおけるクロスサイロ合成のために、システムは、クロス管轄(cross-jurisdiction)不正をなくすように組み立てられ得る。
連合学習は、サイロ間でデータを移動する必要をなくすが、連合学習は、誰がモデルを構築することができるかに関する保証も、それらのモデルのプライバシーに関する保証も与えない。本発明の様々な実施例では、データ管理者は、デフォルト許可スキーマの上に構築され得、誰がどんなデータに対してモデルを作成することができるか、及びそれらのモデルがどのように使用され得るかを判断するためのカスタム・ルールを定義することができる。
次に図1を参照しながら、本発明の一実施例による、プラットフォームの主要コンポーネントが次に説明され得る。クライアント・ポータル10において、データ・ユーザが、プラットフォームと対話し得る。クライアント・ポータル10は、データ・ユーザが、異なるソフトウェア・ツールを使用してプラットフォームと対話することを可能にするために、アプリケーション・プログラミング・インターフェース(API)又は複数の個々のAPIを使用して実装され得る。いくつかの実施例におけるそのようなツールの実例は、SparkとTensorflowとを含む。クライアント・ポータル10を通して、データ・ユーザは、プライバシー準拠様式で連合データ分析を実施するためにソフトウェア・ツールを使用し得る。
コーディネータ12は、プラットフォームを使用して、データを用いた動作を管理するように働く。コーディネータ12は、たとえば、そのサイロから削除され得ないデータが、すべての動作中にそのサイロ中に残ることを確実にする。コーディネータ12はまた、そのサイロを出るが、データが移動されるために必要とされる特定のプライバシー手法を有する、データについて、正しいプライバシー手法が適用されることを確実にするように働く。
コーディネータ12は、それ自体が3つの基本動作、すなわち、論理的計画と、物理的計画と、最適化とに分割される。論理的計画は、異なる段階にわたって、概して、何が行われる必要があるかの決定である。物理的計画は、コーディネータ12が、その計画をすべての適用可能なプライバシー要件を満たすインクリメントにどのように分けるかについて説明する。オプティマイザ(optimizer)は、これらのタスクのすべてをどのように最も効率的に実施すべきかを決定する。
コーディネータ12は、サイロ・マネージャ14の各々と通信する。各データ・サイロに配置されたサイロ・マネージャ14があり、各データ・サイロは、特定の分析問題におけるプラットフォームによって使用されるべきデータセットを含んでいる。コーディネータ12は各サイロ・マネージャ14と通信し、いくつかの場合には、所望のタスクが完了されるまで、これらの2つのコンポーネント間でデータを行ったり来たり送る。サイロ・マネージャ14は、以下で説明されるように、タスクを完了するために、1つ又は複数のランナー42をスピン・アップし得る。
図2を参照すると、コーディネータ12は、本質的に、クライアント・ポータル10におけるデータ・ユーザ・システム11からの要求に応答して異なる機能を実施するコーディネーション・コンポーネント16のグループ化として特徴づけられ得る。コーディネータ12のコンポーネントの各々は、それ自体のコーディネータ・バックエンド18を有する。同様に、各ランナー14は、本質的に、それ自体のランナー・バックエンド22を各々もつ、要求ハンドラ・コンポーネント20のグループ化である。様々なコーディネータ・バックエンド18、並びに、対応するランナー・バックエンド22は、プラットフォームが実行し得る異なる役割のために使用され得る。たとえば、これらは、機械学習と、アイデンティティ解決と、データ・クエリと、データ変換とを含み得る。
図3は、コーディネータ12及びサイロ・マネージャ14の仕組みに関するさらなる詳細を提供する。データ24は、サイロ・マネージャ14が設置された特定のサイロ中のデータである。データ24は、データ・ウェアハウスの形態のものであり得る。データ・ユーザ・システム11は、コーディネータ12のコーディネータAPI13を通してコーディネータ12と対話する。スキーマ・リポジトリ26は、コーディネータ12によって計画された動作が、サイロ・バックエンド22によって正常に実行されることになることを確実にするために、プラットフォーム中のデータ24に関するメタデータを記憶する。より詳細には、スキーマ・リポジトリ26は、データ・サイロ中のデータに関するメタデータの集合であり、したがって、このデータに対する動作が計画され得る。たとえば、サイロAが、名と、性と、年齢とを含むデータを有し、サイロBが、名と、性と、体重とを有する場合、コーディネータ12は、そのスキーマ・リポジトリ26中にそれらのデータ・スキーマの各々を有する。メタデータはデータ・タイプに関する情報を含み、したがって、それは、「合計」動作が、サイロA中の「年齢」列とサイロB中の「体重」列とに対して実施され得るが、それが、各サイロ中の名及び性に対して、(それらがテキスト・フィールドであるので)その数学関数を実施することができないことを知っている。コーディネータ・オーソライザ28は、システムへの要求を行うためのデータ・ユーザ・システム11の能力に関するアクセス制御機能を提供し、それにより、許諾及びプライバシー保護を提供する。コーディネータ・スケジューラ30は、コーディネータ12の要求された様々なタスクについてのスケジューリング機能を実施する。アーティファクト・ストア32は、後の処理において再使用され得る計算された出力のためのストレージを提供し、それにより、同じ又は同様のタスクの再実行の速度を上げる。
サイロ・マネージャ14において、スキーマ・リポジトリ・クライアントがあり、スキーマ・リポジトリ・クライアントは、コーディネータ12のスキーマ・リポジトリ26にデータ24に関するメタデータを送る。これらは、ランナーAPI15を通して対話する。ランナー・オーソライザ36は、コーディネータ12が、実施するようにサイロ・マネージャ14からのランナーをコールする、タスクが、事実上許可されることを確実にする。サービス・ルータ38は、コーディネータ12中のスケジューラ30から受信された命令動作を適切なバックエンド22にルーティングする機能を実施する。コーディネータ12バックエンド18は、データ処理中に、特定のタイプのタスク及びプライバシー・ニーズについての正しいバックエンドに各々対応する、バックエンド22と直接通信することができるが、サイロ・マネージャ14タスクの初期実行は、サービス・ルータ38を通して開始されなければならない。
次に図4を参照すると、管理されたサービス・システム(managed service system)が、図1~図3に示されているようなプラットフォームの上に位置する。管理されたサービス・システムは、異種コンピューティング・インフラストラクチャにわたる、図1~図3に示されているプラットフォームの自動展開を容易にする。より詳細には、管理されたサービス・システム・コンポーネントの目的は、システムを使用する顧客が、システムに接続するために最小のセットアップ及び保守を実施することを可能にすることである。これはまた、より少数のアクター(actor)がセキュア・システムへのアクセスを有することになるので、システム・セキュリティを改善する。
制御プレーン40は、クラウド環境であり得る、プロバイダの環境内に存在する全体的システムの部分である。顧客クラウド44は、物理的に別個のクラウド環境中にあり得、異なるクラウド技術又はクラウド・プロバイダを使用し得る。顧客クラウド内で、サイロ・マネージャ14が作成され、クラウド環境内でそれ自体のアカウントを与えられ得る。サイロ・マネージャ42は、それ自体のランナー14をスピン・アップ(作成)することを許諾される。プライバシー保護を最大化するために、サイロ・マネージャ42は、サイロ・マネージャ42に関連するサイロ内のデータ24のいずれにもアクセスするための許可を有しないことがあるが、ランナー14は、データ24にアクセスすることを許可される。サイロ・マネージャ42は、たとえば、それらの動作のために必要とされるコンピュート・リソースをスケール・アップ及びスケールダウンする能力を有し、それにより、クラウド・コンピュート・リソースを温存し得る。それらはまた、システムに対してアップグレードを実施し、障害応答動作を実施し得る。サイロ・マネージャ42はプラットフォーム・オペレータによって制御され、それにより、プラットフォーム・オペレータが、顧客のために顧客のクラウドのこの部分を管理することを可能にし得る。これは、顧客観点からシステムの展開を大幅に簡略化する。しかし、サイロ・マネージャ42とランナー14との間の分離は、プラットフォーム・プロバイダが顧客データ24へのアクセスを決して有せず、それにより、プライバシーを保つことを意味する。
図5は、制御プレーン40及び顧客クラウド44のより詳細な図を提供する。この場合、コーディネータAPI13を通して制御プレーン40へのアクセスを各々もつ、複数のデータ・ユーザに対応する複数のクライアント・ポータル10がある。これらの通信は、要求スケジューラ・サービス46に送られる。いくつかの実施例では、要求スケジューラ・サービス46は、スケジューリングのために算出グラフを使用する。算出グラフは、ノードが演算又は変数に対応する、有向グラフ・データ構造である。要求スケジューラ・サービス46の機能は、別個の顧客クラウド44との非同期通信を可能にすることである。難点は、これらのシステムが完全に異なるハードウェア環境中にあるので、アクセス及び許諾が厳しく制御されることである。さらに、プラットフォームは、任意の特定の時間における顧客クラウド44の状態を直接知る術がなく、代わりに、顧客クラウド44が、たとえば、任意の所与のタスクに対してその時間に正しく動作し、作動しているかどうか、又は使用のために利用可能であるかどうかを決定するための要求を送らなければならない。要求スケジューラ・サービス46は、メッセージング・サービス・クラスタ48を介して、コーディネータ12を通して、これらの様々な動作を制御する。顧客クラウド44では、サイロ・マネージャ42は、サイロ・マネージャ42とメッセージング・サービス・クラスタ48との間で非同期メッセージを行ったり来たり送るために、それ自体のメッセージング・サービスを有する。
図5に示されている他のコンポーネントは、クラウド・ベンダーによって提供されるクラウド・オブジェクト・ストレージ53を含む。サイロ・ダイレクタ49は、顧客クラウド44内のサイロ・マネージャ42の展開を担当する。データ・コラボレーション・サービス50は、データに適用可能なポリシーの定義と、クライアントの間でデータがどのように共有されるかとを管理する。クレーム・チェック・ストア51は、要求のための大きいオブジェクトの一時的ストレージを提供し、後の取出しのためにトークンを返す。トランスレーション・サービス52は、Javaデータベース接続性(jdbc:Java Database Connectivity)プロトコルをRESTfulサービスにトランスレートする。クラウド・データ・ウェアハウス54は、顧客データがアクセスされる場所である。
本明細書で説明されるシステム及び方法は、様々な実施例では、ハードウェアとソフトウェアとの任意の組合せによって実装され得る。たとえば、一実施例では、システム及び方法は、コンピュータ・システム又はコンピュータ・システムの集合によって実装され得、それらの各々は、プロセッサに結合されたコンピュータ可読記憶媒体に記憶されたプログラム命令を実行する1つ又は複数のプロセッサを含む。プログラム命令は、本明細書で説明される機能を実装し得る。図において示されているような、本明細書で説明される様々なシステム及び表示は、例示的な実装形態を表す。任意の方法の順序が変更され得、様々な要素が追加、修正、又は省略され得る。
本明細書で説明されるコンピューティング・システム又はコンピューティング・デバイスは、本発明の様々な実装形態の部分を形成するものとして、クラウド・コンピューティング・システム又は非クラウド・コンピューティング・システムのハードウェア部分を実装し得る。コンピュータ・システムは、限定はしないが、コモディティ・サーバ、パーソナル・コンピュータ・システム、デスクトップ・コンピュータ、ラップトップ又はノートブック・コンピュータ、メインフレーム・コンピュータ・システム、ハンドヘルド・コンピュータ、ワークステーション、ネットワーク・コンピュータ、消費者デバイス、アプリケーション・サーバ、ストレージ・デバイス、電話、携帯電話、或いは概して任意のタイプのコンピューティング・ノード、コンピュート・ノード、コンピュート・デバイス、及び/又はコンピューティング・デバイスを含む、様々なタイプのデバイスのうちのいずれかであり得る。コンピューティング・システムは、入出力(I/O)インターフェースを介してシステム・メモリに結合された(それらのうちのいずれかが単一又はマルチスレッドであり得る複数の処理コアを含み得る)1つ又は複数のプロセッサを含む。コンピュータ・システムは、I/Oインターフェースに結合されたネットワーク・インターフェースをさらに含み得る。
様々な実施例では、コンピュータ・システムは、1つのプロセッサを含むシングル・プロセッサ・システム、又は複数のプロセッサを含むマルチプロセッサ・システムであり得る。プロセッサは、コンピューティング命令を実行することが可能な任意の好適なプロセッサであり得る。たとえば、様々な実施例では、プロセッサは、様々な命令セット・アーキテクチャのうちのいずれかを実装する汎用プロセッサ又は組込みプロセッサであり得る。マルチプロセッサ・システムでは、プロセッサの各々は、通常、必ずしもそうではないが、同じ命令セットを実装し得る。コンピュータ・システムはまた、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、又はインターネットなど、通信ネットワークにわたって他のシステム及び/又はコンポーネントと通信するための1つ又は複数のネットワーク通信デバイス(たとえば、ネットワーク・インターフェース)を含む。たとえば、コンピューティング・デバイス上で実行するクライアント・アプリケーションは、様々なサブシステムにおいて実装される、クラウド・コンピューティング又は非クラウド・コンピューティング環境において本明細書で説明されるシステムのコンポーネントのうちの1つ又は複数を実装する単一のサーバ上で又はサーバのクラスタ上で実行するサーバ・アプリケーションと通信するためのネットワーク・インターフェースを使用し得る。別の実例では、コンピュータ・システム上で実行するサーバ・アプリケーションのインスタンスは、他のコンピュータ・システム上に実装され得るアプリケーションの他のインスタンスと通信するためのネットワーク・インターフェースを使用し得る。
コンピューティング・デバイスはまた、1つ又は複数の永続ストレージ・デバイス及び/又は1つ又は複数のI/Oデバイスを含む。様々な実施例では、永続ストレージ・デバイスは、ディスク・ドライブ、テープ・ドライブ、固体メモリ、他の大容量ストレージ・デバイス、又は任意の他の永続ストレージ・デバイスに対応し得る。コンピュータ・システム(或いはその上で動作する分散型アプリケーション又はオペレーティング・システム)は、要望に応じて、命令及び/又はデータを永続ストレージ・デバイスに記憶し得、必要に応じて、記憶された命令及び/又はデータを取り出し得る。たとえば、いくつかの実施例では、コンピュータ・システムは、制御プレーン又は制御システムの1つ又は複数のノードを実装し得、永続ストレージは、そのサーバ・ノードに取り付けられたSSDを含み得る。複数のコンピュータ・システムは、同じ永続ストレージ・デバイスを共有し得るか、或いは、永続ストレージ・デバイスのプールを共有し得、プール中のデバイスは、同じ又は異なるストレージ技術を表す。
コンピュータ・システムは、(1つ又は複数の)プロセッサによってアクセス可能なコード/命令とデータとを記憶し得る1つ又は複数のシステム・メモリを含む。システムのメモリ能力は、たとえば、アクセス速度に基づいてメモリ中の情報をスワップするように設計されたシステムにおける複数のレベルのメモリ及びメモリ・キャッシュを含み得る。インターリービング及びスワッピングが、仮想メモリ実装形態において永続ストレージに拡張し得る。メモリを実装するために使用される技術は、実例として、スタティック・ランダムアクセス・メモリ(RAM:random-access memory)、ダイナミックRAM、読取り専用メモリ(ROM:read-only memory)、不揮発性メモリ、又はフラッシュタイプ・メモリを含み得る。永続ストレージの場合と同様に、複数のコンピュータ・システムは、同じシステム・メモリを共有し得るか、又はシステム・メモリのプールを共有し得る。1つ又は複数のシステム・メモリは、本明細書で説明されるルーチンを実装するために、(1つ又は複数の)プロセッサによって実行可能であるプログラム命令を含んでいることがある。様々な実施例では、プログラム命令は、バイナリ、アセンブリ言語、Javaなどの任意のインタープリタ型言語、C/C++などのコンパイルされた言語において、又はそれらの任意の組合せにおいて符号化され得、ここで与えられる特定の言語は、実例にすぎない。いくつかの実施例では、プログラム命令は、複数の別個のクライアント、サーバ・ノード、及び/又は他のコンポーネントを実装し得る。
いくつかの実装形態では、プログラム命令は、UNIX(登録商標)、LINUX、Solaris(商標)、MacOS(商標)、又はMicrosoft Windows(商標)など、様々なオペレーティング・システムのうちのいずれかであり得る、オペレーティング・システム(図示せず)を実装するために実行可能な命令を含み得る。プログラム命令のいずれか又はすべては、様々な実装形態に従ってプロセスを実施するようにコンピュータ・システム(又は他の電子デバイス)をプログラムするために使用され得る、命令を記憶した非一時的コンピュータ可読記憶媒体を含み得る、コンピュータ・プログラム製品又はソフトウェアとして提供され得る。非一時的コンピュータ可読記憶媒体は、機械(たとえば、コンピュータ)によって可読な形態(たとえば、ソフトウェア、処理アプリケーション)で情報を記憶するための任意の機構を含み得る。概して、非一時的コンピュータアクセス可能媒体は、磁気媒体又は光媒体など、コンピュータ可読記憶媒体又はメモリ媒体、たとえば、I/Oインターフェースを介してコンピュータ・システムに結合されたディスク又はDVD/CD-ROMを含み得る。非一時的コンピュータ可読記憶媒体は、コンピュータ・システムのいくつかの実施例では、システム・メモリ又は別のタイプのメモリとして含まれ得る、RAM又はROMなど、任意の揮発性媒体又は不揮発性媒体をも含み得る。他の実装形態では、プログラム命令は、ネットワーク・インターフェースを介して実装され得るものなど、ネットワーク及び/或いはワイヤード又はワイヤレス・リンクなど、通信媒体を介して伝達される、伝搬される信号の光形態、音響形態、又は他の形態(たとえば、搬送波、赤外線信号、デジタル信号など)を使用して通信され得る。ネットワーク・インターフェースは、他のコンピュータ・システム又は任意のタイプの外部電子デバイスを含み得る、他のデバイスとインターフェースするために使用され得る。概して、ネットワークを通して他のデバイス上でアクセス可能なシステム・メモリ、永続ストレージ、及び/又はリモート・ストレージは、データ・ブロック、データ・ブロックのレプリカ、データ・ブロック及び/又はそれらの状態に関連付けられたメタデータ、データベース構成情報、並びに/或いは本明細書で説明されるルーチンを実装する際に使用可能な任意の他の情報を記憶し得る。
いくつかの実装形態では、I/Oインターフェースは、ネットワーク・インターフェース又は他の周辺インターフェースを通してを含めて、システムにおけるプロセッサとシステム・メモリと任意の周辺デバイスとの間のI/Oトラフィックを協調させ得る。いくつかの実施例では、I/Oインターフェースは、あるコンポーネント(たとえば、システム・メモリ)からのデータ信号を、別のコンポーネント(たとえば、プロセッサ)による使用に好適なフォーマットにコンバートするために、任意の必要なプロトコル、タイミング又は他のデータ変換を実施し得る。いくつかの実施例では、I/Oインターフェースは、たとえば、周辺コンポーネント相互接続(PCI:Peripheral Component Interconnect)バス規格又はユニバーサルシリアルバス(USB:Universal Serial Bus)規格の変形態など、様々なタイプの周辺バスを通して取り付けられたデバイスのサポートを含み得る。また、いくつかの実施例では、システム・メモリへのインターフェースなど、I/Oインターフェースの機能の一部又は全部が、(1つ又は複数の)プロセッサに直接組み込まれ得る。
ネットワーク・インターフェースは、たとえば、データが、コンピュータ・システムと、(本明細書で説明される、1つ又は複数のストレージ・システム・サーバ・ノード、1次ノード、読取り専用ノード・ノード、及び/又はデータベース・システムのクライアントを実装し得る)他のコンピュータ・システムなど、ネットワークに取り付けられた他のデバイスとの間で交換されることを可能にし得る。さらに、I/Oインターフェースは、コンピュータ・システムと様々なI/Oデバイス及び/又はリモート・ストレージとの間の通信を可能にし得る。入出力デバイスは、いくつかの実施例では、1つ又は複数のディスプレイ端末、キーボード、キーパッド、タッチパッド、走査デバイス、ボイス又は光認識デバイス、或いは1つ又は複数のコンピュータ・システムによってデータを入れるか又は取り出すのに好適な任意の他のデバイスを含み得る。これらは、特定のコンピュータ・システムに直接接続するか、或いは、概して、クラウド・コンピューティング環境、グリッド・コンピューティング環境、又は複数のコンピュータ・システムを伴う他のシステムにおける、複数のコンピュータ・システムに接続し得る。複数の入出力デバイスが、コンピュータ・システムと通信して存在し得るか、又はコンピュータ・システムを含む分散型システムの様々なノード上に分散され得る。本明細書で説明されるユーザ・インターフェースは、CRTディスプレイと、LCDディスプレイと、LEDディスプレイと、他のディスプレイ技術とを含み得る、様々なタイプのディスプレイ・スクリーンを使用してユーザに可視であり得る。いくつかの実装形態では、入力は、タッチスクリーン技術を使用してディスプレイを通して受信され得、他の実装形態では、入力は、キーボード、マウス、タッチパッド、又は他の入力技術、或いはこれらの技術の任意の組合せを通して受信され得る。
いくつかの実施例では、同様の入出力デバイスが、コンピュータ・システムとは別個であり得、ネットワーク・インターフェース上でなど、ワイヤード又はワイヤレス接続を通して、コンピュータ・システムを含む分散型システムの1つ又は複数のノードと対話し得る。ネットワーク・インターフェースは、通常、1つ又は複数のワイヤレス・ネットワーキング・プロトコル(たとえば、Wi-Fi/IEEE802.11、又は別のワイヤレス・ネットワーキング規格)をサポートし得る。ネットワーク・インターフェースは、たとえば、他のタイプのイーサネット・ネットワークなど、任意の好適なワイヤード又はワイヤレスの一般的なデータ・ネットワークを介した通信をサポートし得る。さらに、ネットワーク・インターフェースは、アナログ・ボイス・ネットワーク又はデジタル・ファイバー通信ネットワークなどの電気通信/テレフォニー・ネットワークを介した通信、ファイバー・チャネルSANなどのストレージ・エリア・ネットワークを介した通信、或いは任意の他の好適なタイプのネットワーク及び/又はプロトコルを介した通信をサポートし得る。
本明細書で説明される分散型システム実施例のうちのいずれか、又はそれらのコンポーネントのうちのいずれかは、クラウド・コンピューティング環境における1つ又は複数のネットワークベース・サービスとして実装され得る。たとえば、データベース・システムのデータベース・ティア内の読取り書込みノード及び/又は読取り専用ノードは、本明細書で説明される分散型ストレージ・システムを採用するデータベース・サービス及び/又は他のタイプのデータ・ストレージ・サービスを、ネットワークベース・サービスとしてクライアントに提示し得る。いくつかの実施例では、ネットワークベース・サービスは、ネットワークを介した相互運用可能なマシンツーマシン対話をサポートするように設計されたソフトウェア及び/又はハードウェア・システムによって実装され得る。ウェブ・サービスは、ウェブ・サービス記述言語(WSDL:Web Services Description Language)などの機械処理可能なフォーマットで記述されたインターフェースを有し得る。他のシステムは、ネットワークベース・サービスのインターフェースの記述によって規定された様式でネットワークベース・サービスと対話し得る。たとえば、ネットワークベース・サービスは、他のシステムが呼び出し得る様々な動作を定義し得、様々な動作を要求するときに他のシステムが従うことが予想され得る特定のアプリケーション・プログラミング・インターフェース(API)を定義し得る。
様々な実施例では、ネットワークベース・サービスは、ネットワークベース・サービス要求に関連付けられたパラメータ及び/又はデータを含むメッセージの使用を通して要求されるか又は呼び出され得る。そのようなメッセージは、拡張可能マークアップ言語(XML:Extensible Markup Language)などの特定のマークアップ言語に従ってフォーマットされ得、及び/又はシンプル・オブジェクト・アクセス・プロトコル(SOAP:Simple Object Access Protocol)などのプロトコルを使用してカプセル化され得る。ネットワークベース・サービス要求を実施するために、ネットワークベース・サービス・クライアントは、要求を含むメッセージをアセンブルし、ハイパーテキスト転送プロトコル(HTTP:Hypertext Transfer Protocol)などのインターネットベース・アプリケーション・レイヤ転送プロトコルを使用して、そのメッセージを、ウェブ・サービスに対応するアドレス指定可能なエンドポイント(たとえば、ユニフォーム・リソース・ロケータ(URL:Uniform Resource Locator))に伝達し得る。いくつかの実施例では、ネットワークベース・サービスは、メッセージ・ベース技法ではなく表現状態転送(REST:Representational State Transfer)技法を使用して実装され得る。たとえば、REST技法に従って実装されたネットワークベース・サービスが、PUT、GET、又はDELETEなど、HTTPメソッド内に含まれるパラメータを通して呼び出され得る。
別段に明記されていない限り、本明細書で使用されるすべての技術用語及び科学用語は、本発明が属する当技術分野の当業者によって一般に理解されるものと同じ意味を有する。本明細書で説明されるものと同様の又は等価な方法及び材料が、本発明の実施又はテストにおいても使用され得るが、限られた数の例示的な方法及び材料が本明細書で説明される。はるかに多くの修正が、本明細書の発明概念から逸脱することなく可能であることが当業者には明らかであろう。
本明細書で使用されるすべての用語は、コンテキストに一致する最も広い可能な様式で解釈されるべきである。グループ化が本明細書で使用されるとき、グループのすべての個々のメンバー、並びにグループの可能なすべての組合せ及び部分組合せが、個々に含まれるものとする。本明細書で範囲が明記されるとき、範囲は、範囲内のすべてのサブ範囲及び個々の点を含むものとする。本明細書で引用されるすべての参照は、本明細書の本開示との不整合がない範囲で、参照により本明細書に組み込まれる。
本発明は、例にすぎないことが意図され、添付の特許請求の範囲に記載されたような本発明の完全な範囲に限定するものではない、いくつかの好ましい実施例及び代替実施例に関して説明された。
Claims (25)
- 連合データのための分析プラットフォームであって、
各ランナーが、データ・サイロ中に配置され、前記データ・サイロ内のデータセットに対して分析を実施するように構成された、複数のランナーであって、前記データ・サイロの各々が、他のデータ・サイロと共有され得ないプライベート・データを備える、複数のランナーと、
各ランナーに分析命令を送るために、及びランナー分析の結果を統合して分析結果を提供するために、各ランナーと通信するように構成されたコーディネータと
を備える、分析プラットフォーム。 - 各ランナーが、前記コーディネータとの、前記データ・サイロ内の前記データセットからの生プライベート・データの共有を防ぐように構成された、請求項1に記載のシステム。
- 前記コーディネータが、ユーザによって構成されたように各データ・サイロ中の前記データセットに対して複数のプライベート動作をエンフォースするように構成された、請求項1に記載のシステム。
- 前記コーディネータが、論理的計画を実施するようにさらに構成され、前記コーディネータは、どの機能が分析動作の各段階において実施されるかを決定する、請求項1に記載のシステム。
- 前記コーディネータが、物理的計画を実施するようにさらに構成され、前記論理的計画を実行するために、前記データ・サイロ中の前記データセットの各々にわたって動作が分けられる、請求項4に記載のシステム。
- 前記コーディネータが、前記物理的計画をどのように効率的に実行すべきかを決定するように構成されたオプティマイザをさらに備える、請求項5に記載のシステム。
- 前記コーディネータと通信しているクライアント・ポータルをさらに備え、前記クライアント・ポータルが、少なくとも1つのアプリケーション・プログラミング・インターフェース(API)を備える、請求項1に記載のシステム。
- 前記コーディネータがコーディネータ・バックエンドを備え、各ランナーがランナー・バックエンドを備え、前記コーディネータが、前記コーディネータ・バックエンド及び前記ランナー・バックエンドを通して前記ランナーの各々と通信する、請求項7に記載のシステム。
- 各コーディネータが複数のコーディネータ・バックエンドを備え、各ランナーが複数のランナー・バックエンドを備え、前記コーディネータが、前記クライアント・ポータルAPIにおける動作選択に基づいて、前記複数のバックエンドのうちの1つを選定するように構成された、請求項8に記載のシステム。
- 前記クライアントAPIにおいて選択されるべき前記動作が、機械学習である、請求項9に記載のシステム。
- 前記クライアントAPIにおいて選択されるべき前記動作が、アイデンティティ解決である、請求項9に記載のシステム。
- 前記クライアントAPIにおいて選択されるべき前記動作が、データ・クエリである、請求項9に記載のシステム。
- 前記クライアントAPIにおいて選択されるべき前記動作が、データ変換である、請求項9に記載のシステム。
- 前記クライアントAPIにおいて選択されるべき前記動作が、機械学習と、アイデンティティ解決と、データ・クエリと、データ変換とのうちの1つ又は複数である、請求項9に記載のシステム。
- 前記クライアントAPIにおいて選択され得る前記動作が、機械学習と、アイデンティティ解決と、データ・クエリと、データ変換とを含む、請求項9に記載のシステム。
- 前記コーディネータが、対応するデータ・サイロ中のデータに対応するメタデータを各々備える、複数のコーディネータ・スキーマを備えるコーディネータ・スキーマ・リポジトリをさらに備える、請求項1に記載のシステム。
- 前記コーディネータが、後の再使用のために、計算された出力を記憶するように構成されたアーティファクト・ストアをさらに備える、請求項16に記載のシステム。
- 前記複数のランナーのうちの少なくとも1つが、各コーディネータ・スキーマについてランナー・スキーマを備えるランナー・スキーマ・リポジトリをさらに備える、請求項17に記載のシステム。
- 管理された分析プラットフォームであって、
フリート・マネージャと、
コーディネータと、
命令を受信し、前記コーディネータに命令を送信するためのクライアント・ポータルと
を備える、制御プレーンと、
前記制御プレーンとは物理的に別個のクライアント・クラウドであって、前記クライアント・クラウドが、
前記フリート・マネージャと通信することと、前記フリート・マネージャからの命令に応答して、前記クライアント・クラウド内で、前記管理された分析プラットフォームを構成及び維持することとを行うように構成されたサイロ・マネージャと、
データ動作のために、前記サイロ・マネージャと通信するように、及び前記クライアント・クラウド内のデータセットにアクセスするように構成された少なくとも1つのランナーであって、前記サイロ・マネージャが、前記ランナーにデータ動作命令を提供するように構成されるが、前記サイロ・マネージャが、前記データセット内からの生データにアクセスするのを防がれる、少なくとも1つのランナーと
を備える、クライアント・クラウドと
を備える、管理された分析プラットフォーム。 - 複数のクライアント・クラウドを備え、各ランナーが、変換されたデータを作り出すためにデータ動作を実施するように構成され、各ランナーが、その対応するクライアント・クラウドからの前記変換されたデータに対してデータ分析を実施するように構成され、前記コーディネータが、前記クライアント・クラウドの各々からの前記ランナーの各々からの分析結果を組み合わせるように構成された、請求項19に記載のシステム。
- 前記制御プレーンが、前記コーディネータと通信している要求スケジューラ・サービスをさらに備え、前記要求スケジューラ・サービスが、前記複数のクライアント・クラウドとの非同期通信をスケジュールするように構成された、請求項20に記載のシステム。
- 各ランナー・マネージャが、前記制御プレーンにおける前記要求スケジューラ・サービスと通信するためのランナー・メッセージング・サービスをさらに備える、請求項21に記載のシステム。
- プラットフォームを使用してデータを分析するための方法であって、前記方法は、
クライアント・ポータルにおいて要求を受信するステップと、
前記クライアント・ポータルからコーディネータに前記要求を転送するステップであって、前記コーディネータが、複数の物理的にリモートの及び別個のサイロ・マネージャと通信している、ステップと、
前記コーディネータにおいて、各サイロ・マネージャに、データ動作を実施するようにとの命令を送るステップと、
各サイロ・マネージャにおいて、少なくとも1つのデータ・ランナーを作成するステップであって、各データ・ランナーが、各サイロ・マネージャと通信しているデータ・サイロ中に含まれているデータに対して動作を実施するために構成された、ステップと、
各データ・ランナーからその対応するサイロ・マネージャに、及び各サイロ・マネージャから前記コーディネータに結果を送るステップであって、各データ・ランナーからその対応するサイロ・マネージャに送られた前記結果が、データ・サイロからの生データを含んでいない、ステップと、
最終結果を提供するために、前記コーディネータにおいて、各サイロ・マネージャからの前記結果を組み合わせるステップと
を含む、方法。 - 前記コーディネータが、プロバイダ・クラウドにおいて実装され、各サイロ・マネージャが、その対応するデータ・サイロとともにクライアント・クラウドにおいて実装される、請求項23に記載の方法。
- 前記クライアント・クラウドのうちの少なくとも1つが、他のクライアント・クラウドのうちの少なくとも1つとは別個の法的管轄にある、請求項24に記載の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202063080333P | 2020-09-18 | 2020-09-18 | |
US63/080,333 | 2020-09-18 | ||
PCT/US2021/050951 WO2022061165A1 (en) | 2020-09-18 | 2021-09-17 | Analytics platform for federated private data |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023543715A true JP2023543715A (ja) | 2023-10-18 |
Family
ID=80776393
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2023517848A Pending JP2023543715A (ja) | 2020-09-18 | 2021-09-17 | 連合プライベート・データのための分析プラットフォーム |
JP2023517887A Pending JP2023543716A (ja) | 2020-09-18 | 2021-09-17 | 定量化された再識別化リスクを用いたデータ分析プライバシー・プラットフォーム |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2023517887A Pending JP2023543716A (ja) | 2020-09-18 | 2021-09-17 | 定量化された再識別化リスクを用いたデータ分析プライバシー・プラットフォーム |
Country Status (5)
Country | Link |
---|---|
US (2) | US20230351036A1 (ja) |
EP (2) | EP4200774A1 (ja) |
JP (2) | JP2023543715A (ja) |
CA (2) | CA3193215A1 (ja) |
WO (2) | WO2022061165A1 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11741262B2 (en) | 2020-10-23 | 2023-08-29 | Mirador Analytics Limited | Methods and systems for monitoring a risk of re-identification in a de-identified database |
US20230315899A1 (en) * | 2022-03-30 | 2023-10-05 | Amazon Technologies, Inc. | Synthetic data generation |
US20240039692A1 (en) * | 2022-07-28 | 2024-02-01 | International Business Machines Corporation | Private vertical federated learning |
CN116702214B (zh) * | 2023-08-02 | 2023-11-07 | 山东省计算中心(国家超级计算济南中心) | 基于相干邻近度与贝叶斯网络的隐私数据发布方法及系统 |
JP7493087B1 (ja) | 2023-11-30 | 2024-05-30 | Kddi株式会社 | 情報処理装置及び情報処理方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6577271B1 (en) * | 1999-03-30 | 2003-06-10 | Sirf Technology, Inc | Signal detector employing coherent integration |
US20110178930A1 (en) * | 2001-01-30 | 2011-07-21 | Scheidt Edward M | Multiple Level Access with SILOS |
US7725291B2 (en) * | 2006-04-11 | 2010-05-25 | Moresteam.Com Llc | Automated hypothesis testing |
US8655939B2 (en) * | 2007-01-05 | 2014-02-18 | Digital Doors, Inc. | Electromagnetic pulse (EMP) hardened information infrastructure with extractor, cloud dispersal, secure storage, content analysis and classification and method therefor |
CA2750200C (en) * | 2009-01-05 | 2015-12-15 | Schlumberger Canada Limited | Processing time series data embedded in high noise |
US8380151B2 (en) * | 2009-12-18 | 2013-02-19 | Broadcom Corporation | Method and system for reducing the complexity of multi-frequency hypothesis testing using an iterative approach |
US8874593B2 (en) * | 2011-07-01 | 2014-10-28 | Salesforce.Com, Inc. | Testing data silo |
US8630870B2 (en) * | 2011-07-12 | 2014-01-14 | Universal Research Solutions, Llc | Patient portal |
US9934379B2 (en) * | 2013-03-05 | 2018-04-03 | The University Of North Carolina At Chapel Hill | Methods, systems, and computer readable media for detecting a compromised computing host |
-
2021
- 2021-09-17 EP EP21870322.1A patent/EP4200774A1/en active Pending
- 2021-09-17 US US18/026,753 patent/US20230351036A1/en active Pending
- 2021-09-17 EP EP21870324.7A patent/EP4200775A1/en active Pending
- 2021-09-17 WO PCT/US2021/050951 patent/WO2022061165A1/en unknown
- 2021-09-17 JP JP2023517848A patent/JP2023543715A/ja active Pending
- 2021-09-17 CA CA3193215A patent/CA3193215A1/en active Pending
- 2021-09-17 CA CA3193213A patent/CA3193213A1/en active Pending
- 2021-09-17 US US18/026,775 patent/US20230342491A1/en active Pending
- 2021-09-17 WO PCT/US2021/050947 patent/WO2022061162A1/en unknown
- 2021-09-17 JP JP2023517887A patent/JP2023543716A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2022061162A1 (en) | 2022-03-24 |
WO2022061165A1 (en) | 2022-03-24 |
EP4200775A1 (en) | 2023-06-28 |
CA3193213A1 (en) | 2022-03-24 |
CA3193215A1 (en) | 2022-03-24 |
JP2023543716A (ja) | 2023-10-18 |
US20230342491A1 (en) | 2023-10-26 |
EP4200774A1 (en) | 2023-06-28 |
US20230351036A1 (en) | 2023-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11397744B2 (en) | Systems and methods for data storage and processing | |
JP2023543715A (ja) | 連合プライベート・データのための分析プラットフォーム | |
CN110188573B (zh) | 分区授权方法、装置、设备及计算机可读存储介质 | |
CN104769607B (zh) | 利用预定义的查询来过滤视图 | |
US11741119B2 (en) | Canonical data model for distributed data catalog and metadata exchange | |
US12032940B2 (en) | Multi-platform application integration and data synchronization | |
US8375009B2 (en) | Scalable and extensible framework for data-driven web services | |
US10382463B2 (en) | Techniques and architectures for cross-organization threat detection | |
US11334601B2 (en) | Unified data model | |
Thota et al. | Architecture for big data storage in different cloud deployment models | |
US20230145461A1 (en) | Receiving and integrating external data into a graphical user interface of an issue tracking system | |
Yang et al. | Design of enterprise management system based on edge computing architecture | |
US20160239531A1 (en) | Integrated framework for data management and provisioning | |
US20120216240A1 (en) | Providing data security through declarative modeling of queries | |
US20210312299A1 (en) | Ai connector module | |
US20200151346A1 (en) | Method and system for implementing a cloud machine learning environment | |
EP4312134A1 (en) | Self-service data mesh | |
US10152556B1 (en) | Semantic modeling platform | |
US20240184781A1 (en) | Systems and Methods for Intelligent Database Report Generation | |
US20240113963A1 (en) | Methods, apparatuses and computer program products for implementing unified data control policy in distributed and product-oriented computing platforms | |
US11321093B1 (en) | Multilayered generation and processing of computer instructions | |
Daniel et al. | Hybrid Cloud Computing Model for Big Data Analytics in Organization | |
US20240112067A1 (en) | Managed solver execution using different solver types | |
Parkhomenko et al. | Cloud platform for software development | |
Zhu et al. | Cloud computing technology for the network resource allocation on the research of application |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20240611 |