JP2022031851A - データフロー環境で使用されるデータ型の自動マッピングシステムおよび方法 - Google Patents

データフロー環境で使用されるデータ型の自動マッピングシステムおよび方法 Download PDF

Info

Publication number
JP2022031851A
JP2022031851A JP2021197005A JP2021197005A JP2022031851A JP 2022031851 A JP2022031851 A JP 2022031851A JP 2021197005 A JP2021197005 A JP 2021197005A JP 2021197005 A JP2021197005 A JP 2021197005A JP 2022031851 A JP2022031851 A JP 2022031851A
Authority
JP
Japan
Prior art keywords
data
certain embodiments
pipeline
accessed data
hub
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
JP2021197005A
Other languages
English (en)
Other versions
JP7333374B2 (ja
Inventor
ナマルバー,ハッサン・ヘイダリ
Heidari Namarvar Hassan
ストジャノビク,アレクサンダー・サシャ
Sasha Stojanovic Alexander
アラン,デイビッド
Allan David
シーサラマン,ガネーシュ
Seetharaman Ganesh
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.)
Oracle International Corp
Original Assignee
Oracle International Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Oracle International Corp filed Critical Oracle International Corp
Publication of JP2022031851A publication Critical patent/JP2022031851A/ja
Application granted granted Critical
Publication of JP7333374B2 publication Critical patent/JP7333374B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/43Checking; Contextual analysis
    • G06F8/433Dependency analysis; Data or control flow analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/14Details of searching files based on file metadata
    • G06F16/144Query formulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/211Schema design and management
    • 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/23Updating
    • G06F16/2308Concurrency control
    • G06F16/2315Optimistic concurrency control
    • G06F16/2322Optimistic concurrency control using timestamps
    • 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/23Updating
    • G06F16/2358Change logging, detection, and notification
    • 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/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/43Querying
    • G06F16/435Filtering based on additional data, e.g. user or group profiles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/042Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means
    • G06F3/0428Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means by sensing at the edges of the touch surface the interruption of optical paths, e.g. an illumination plane, parallel to the touch surface which may be virtual
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • G06F3/0649Lifecycle management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/10Requirements analysis; Specification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/445Exploiting fine grain parallelism, i.e. parallelism at instruction level
    • G06F8/4452Software pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/046Forward inferencing; Production systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0637Strategic management or analysis, e.g. setting a goal or target of an organisation; Planning actions based on goals; Analysis or evaluation of effectiveness of goals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources

Abstract

【課題】データフローの管理及び複合データフローソフトウェアアプリケーションの構築に使用する機械学習を活用する方法、システム、装置、記憶媒体及びプログラムを提供する。【解決手段】方法は、アクセスされたデータを処理することにより、アクセスされたデータのメタデータ解析し分類を判別し、システムのナレッジソースに、アクセスされたデータに対して有効にされたセマンティックアクションのクエリを送信し、ナレッジソースから、上記クエリに対する、アクセスされたデータに対して有効にされ上記データの分類に基づいて特定された1つ以上のセマンティックアクションを示すレスポンスを受信し、アクセスされたデータに対して有効にされたセマンティックアクションの中から選択されたセマンティックアクションを、選択のためかつアクセスされたデータに対して使用するために、グラフィカルユーザインターフェイスに表示する。【選択図】図39

Description

著作権に関する注意
本特許文献の開示の一部には、著作権保護の対象となるものが含まれている。著作権者は、この特許文献または特許開示の何者かによる複製が、特許商標庁の特許ファイルまたは記録にある限り、それに対して異議を唱えないが、そうでなければ、いかなる場合もすべての著作権を留保する。
優先権の主張
本願は、2016年8月22日に出願され「SYSTEM AND METHOD FOR AUTOMATED MAPPING OF DATA TYPES BETWEEN CLOUD AND DATABASE SERVICES」と題された米国仮特許出願第
62/378,143号、2016年8月22日に出願され「SYSTEM AND METHOD FOR DYNAMIC, INCREMENTAL RECOMMENDATIONS WITHIN REAL-TIME VISUAL SIMULATION」と題され
た米国仮特許出願第62/378,146号、2016年8月22日に出願され「SYSTEM
AND METHOD FOR INFERENCING OF DATA TRANSFORMATIONS THROUGH PATTERN DECOMPOSITION」と題された米国仮特許出願第62/378,147号、2016年8月22日に出願
され「SYSTEM AND METHOD FOR ONTOLOGY INDUCTION THROUGH STATISTICAL PROFILING AND
REFERENCE SCHEMA MATCHING」と題された米国仮特許出願第62/378,150号、2016年8月22日に出願され「SYSTEM AND METHOD FOR METADATA-DRIVEN EXTERNAL INTERFACE GENERATION OF APPLICATION PROGRAMMING INTERFACES」と題された米国仮特許出
願第62/378,151号、および、2016年8月22日に出願され「SYSTEM AND METHOD FOR DYNAMIC LINEAGE TRACKING AND RECONSTRUCTION OF COMPLEX BUSINESS ENTITIES WITH HIGH-LEVEL POLICIES」と題された米国仮特許出願第62/378,152号に
基づく優先権を主張し、上記出願各々を本明細書に引用により援用する。
発明の分野
本発明の実施形態は、概して各種ソースから得たデータを統合する方法に関し、具体的にはデータフロー環境で使用されるデータ型の自動マッピングに関する。
背景
現代のコンピューティング環境の多くは、大量のデータをさまざまなタイプのソフトウェアアプリケーション間で共有する機能を必要とする。しかしながら、分散アプリケーションは、たとえばサポートされるそれぞれのデータ型またはそれぞれの実行環境の相違のために、その構成が大幅に異なっている場合がある。アプリケーションの構成は、たとえば、そのアプリケーションプログラミングインターフェイス、実行時環境、デプロイ手法、ライフサイクル管理、またはセキュリティ管理に応じて異なり得る。
このような分散アプリケーションの開発に使用されることを目的とするソフトウェアデザインツールは、リソース集中型の傾向があり、アプリケーションおよびデータ統合を管理するためにドメインモデル専門家のサービスを必要とすることが多い。その結果、さまざまな種類の実行環境の中でさまざまな種類のデータを統合するのに使用される複雑でスケーラブルな分散アプリケーションを構築するという課題に取り組むアプリケーション開発者は、一般的に、これらのアプリケーションの設計、構築、および構成のために多大な労力を費やさねばならない。
概要
各種実施形態に従い、本明細書では、データの流れ(データフロー(dataflow)、DF)の管理および複合データフローソフトウェアアプリケーション(データフローアプリケーション、パイプライン)の構築に使用される機械学習(machine learning:ML、データフロー機械学習、DFML)を活用する、データ統合またはその他のコンピューティング環境において使用されるシステム(データ人工知能(Artificial Intelligence)システ
ム、データAIシステム)について説明する。ある実施形態に従うと、本システムは、複合データ構造、データセットまたはエンティティの、本明細書においていくつかの実施形態ではHUBと呼ぶ1つ以上のデータソースまたはターゲット間における自動マッピングに対するサポートを提供することができる。自動マッピングは、メタデータ、スキーマ、およびデータセットの統計プロファイリングによって駆動することができる。自動マッピングを使用することにより、入力HUBに対応付けられたソースデータセットまたはエンティティを、ターゲットデータセットまたはエンティティに、またはその逆にマッピングして、1つ以上の出力HUBで使用されるフォーマットまたは組織(プロジェクション)で準備された出力データを生成することができる。
ある実施形態に係る、データフロー人工知能を提供するシステムを示す図である。 ある実施形態に係る、システムに使用するイベントコーディネータを含むイベント駆動型アーキテクチャを示す図である。 ある実施形態に係る、データフロー内のステップを示す図である。 ある実施形態に係る、複数のソースを含むデータフローの一例を示す図である。 ある実施形態に係る、データフローをパイプラインとともに使用する例を示す図である。 ある実施形態に係る、インジェスト/パブリッシュエンジンおよびインジェスト/パブリッシュサービスをパイプラインとともに使用する例を示す図である。 ある実施形態に係る、HUBからのインジェストおよびトレーニングのプロセスを示す図である。 ある実施形態に係る、モデルを構築するプロセスを示す図である。 ある実施形態に係る、新たに追加されたHUBからのデータセットまたはエンティティを分類するプロセスを示す図である。 ある実施形態に係る、新たに追加されたHUBからのデータセットまたはエンティティを分類するプロセスをさらに示す図である。 ある実施形態に係る、新たに追加されたHUBからのデータセットまたはエンティティを分類するプロセスをさらに示す図である。 ある実施形態に係る、関数型分類に使用するオブジェクト図を示す図である。 ある実施形態に係る、ディメンション関数型分類の一例を示す図である。 ある実施形態に係る、キューブ関数型分類の一例を示す図である。 ある実施形態に係る、ビジネスエンティティの関数型を評価するための関数型分類の使用の一例を示す図である。 ある実施形態に係る、関数変換に使用するオブジェクト図を示す図である。 ある実施形態に係る、レコメンデーションエンジンの動作を示す図である。 ある実施形態に係る、データレイクの使用を示す図である。 ある実施形態に係る、データ駆動型戦略を使用してデータレイクを管理することを示す図である。 ある実施形態に係る、プロセス駆動型戦略を使用してデータレイクを管理することを示す図である。 ある実施形態に係る、パイプラインコンパイラの使用を示す図である。 ある実施形態に係る、パイプライングラフの一例を示す図である。 ある実施形態に係る、データパイプラインの一例を示す図である。 ある実施形態に係る、データパイプラインの別の例を示す図である。 ある実施形態に係る、オーケストレーションパイプラインの一例を示す図である。 ある実施形態に係る、オーケストレーションパイプラインの一例をさらに示す図である。 ある実施形態に係る、メッセージングシステムを含むコーディネーションファブリックの使用を示す図である。 ある実施形態に係る、メッセージングシステムを含むコーディネーションファブリックの使用をさらに示す図である。 ある実施形態に係る、システムに使用するオンプレミスエージェントを示す図である。 ある実施形態に係る、データフロープロセスを示す図である。 ある実施形態に係る、データ型の自動マッピングを示す図である。 ある実施形態に係る、マッピングの生成のための自動マップサービスを示す図である。 ある実施形態に係る、ソーススキーマとターゲットスキーマとの間のマッピングの一例を示す図である。 ある実施形態に係る、ソーススキーマとターゲットスキーマとの間のマッピングの別の例を示す図である。 ある実施形態に係る、データ型の自動マッピングを提供するプロセスを示す図である。 ある実施形態に係る、アクセスされたデータに対して有効にされた1つ以上のセマンティックアクションを表示するシステムを示す図である。 ある実施形態に係る、アクセスされたデータに対して有効にされた1つ以上のセマンティックアクションを表示するグラフィカルユーザインターフェイスを示す図である。 ある実施形態に係る、アクセスされたデータに対して有効にされた1つ以上のセマンティックアクションを表示するグラフィカルユーザインターフェイスをさらに示す図である。 ある実施形態に係る、アクセスされたデータに対して有効にされた1つ以上のセマンティックアクションを表示するプロセスを示す図である。 ある実施形態に係る、1つ以上のアプリケーション各々ごとに生成された1つ以上の関数式(functional expression)についてデータフロー内の変換のパターンを特定する手段を示す図である。 ある実施形態に係る、1つ以上の関数式についてデータフロー内の変換のパターンを特定する例を示す図である。 ある実施形態に係る、1つ以上のアプリケーション各々ごとに生成された1つ以上の関数式についてデータフロー内の変換のパターンを特定する際に使用するオブジェクト図を示す図である。 ある実施形態に係る、1つ以上のアプリケーション各々ごとに生成された1つ以上の関数式についてデータフロー内の変換のパターンを特定するプロセスを示す図である。 ある実施形態に係る、関数型ルールを生成するシステムを示す図である。 ある実施形態に係る、関数型ルールを生成するシステムをさらに示す図である。 ある実施形態に係る、関数型ルールの生成に使用するオブジェクト図を示す図である。 ある実施形態に係る、生成された1つ以上のルールに基づいて関数型システムを生成するプロセスを示す図である。 ある実施形態に係る、他言語関数インターフェイスを介して提供された情報に基づくデータフローに関するレコメンデーションの提供において使用するパターンを特定するためのシステムを示す図である。 ある実施形態に係る、他言語関数インターフェイスを介して提供された情報に基づくデータフローに関するレコメンデーションの提供において使用するパターンを特定することを示す図である。 ある実施形態に係る、他言語関数インターフェイスを介して提供された情報に基づくデータフローに関するレコメンデーションの提供において使用するパターンを特定することをさらに示す図である。 ある実施形態に係る、他言語関数インターフェイスを介して提供された情報に基づくデータフローに関するレコメンデーションの提供において使用するパターンを特定するプロセスを示す図である。 ある実施形態に係る、1つ以上の層全体にわたる系統トラッキングのための、サンプリングされたデータまたはアクセスされたデータの管理を示す図である。 ある実施形態に係る、1つ以上の層全体にわたる系統トラッキングのための、サンプリングされたデータまたはアクセスされたデータの管理をさらに示す図である。 ある実施形態に係る、1つ以上の層全体にわたる系統トラッキングのための、サンプリングされたデータまたはアクセスされたデータの管理をさらに示す図である。 ある実施形態に係る、1つ以上の層全体にわたる系統トラッキングのための、サンプリングされたデータまたはアクセスされたデータの管理をさらに示す図である。 ある実施形態に係る、1つ以上の層全体にわたる系統トラッキングのための、サンプリングされたデータまたはアクセスされたデータの管理をさらに示す図である。 ある実施形態に係る、1つ以上の層全体にわたる系統トラッキングのための、サンプリングされたデータまたはアクセスされたデータの管理をさらに示す図である。 ある実施形態に係る、1つ以上の層全体にわたる系統トラッキングのための、サンプリングされたデータまたはアクセスされたデータの管理をさらに示す図である。 ある実施形態に係る、1つ以上の層全体にわたる系統トラッキングのための、サンプリングされたデータまたはアクセスされたデータの管理のプロセスを示す図である。
詳細な説明
これまでの説明は、他の実施形態およびその特徴とともに、明細書および請求項を含む以下の記載ならびに添付の図面を参照することによって明らかになるであろう。以下の記載では、説明を目的とする具体的な詳細事項が、本発明のさまざまな実施形態の十分な理解を得るために記載されている。しかしながら、さまざまな実施形態はこれらの具体的な詳細事項なしで実施できることは明らかであろう。明細書および請求項を含む以下の記載ならびに添付の図面は、限定することを意図したものではない。
はじめに
各種実施形態に従い、本明細書では、データの流れ(データフロー、DF)の管理およ
び複合データフローソフトウェアアプリケーション(データフローアプリケーション、パイプライン)の構築に使用される機械学習(ML、データフロー機械学習、DFML)を活用する、データ統合またはその他のコンピューティング環境において使用されるシステム(データ人工知能システム、データAIシステム)について説明する。
ある実施形態に従うと、このシステムは、本明細書においていくつかの実施形態ではHUBと呼ぶ1つ以上のデータソースまたはデータターゲット間における、複合データ構造、データセットまたはエンティティの自動マッピングに対するサポートを提供することができる。自動マッピングは、メタデータ、スキーマ、およびデータセットの統計プロファイリングによって駆動することができ、自動マッピングを使用することにより、入力HUBに対応付けられたソースデータセットまたはエンティティを、ターゲットデータセットまたはエンティティに、またはその逆にマッピングして、1つ以上の出力HUBで使用されるフォーマットまたは組織(プロジェクション)で準備された出力データを生成することができる。
ある実施形態に従うと、このシステムは、本明細書においていくつかの実施形態ではパイプラインエディタまたはLambda Studio IDEと呼ぶ、上記システムで使用される視覚環
境を提供するグラフィカルユーザインターフェイスと、ソフトウェア開発コンポーネントとを含み得る。これは、入力HUBからアクセスされたデータに対するセマンティックアクションの実行のために、当該データに対応付けられた意味またはセマンティクスの理解に基づいてリアルタイムレコメンデーションを提供することを含む。
ある実施形態に従うと、このシステムは、ソフトウェアアプリケーションのデータフローの関数分解から特定されたパターンに基づいて、入力データに対するアクションおよび変換をレコメンドするためのサービスを提供することができ、これは、後のアプリケーションにおいて上記データフローに可能な変換を判定することを含む。データフローは、データの変換、述語、およびデータに適用されるビジネスルールを記述するモデルと、データフロー内で使用される属性とに分解することができる。
ある実施形態に従うと、このシステムは、スキーマ定義のオントロジー解析を実行することにより、このスキーマに対応付けられたデータおよびデータセットまたはエンティティそれぞれのタイプを判別し、データセットまたはエンティティとそれらの属性との関係に基づいて規定されたオントロジーを含むリファレンススキーマからモデルを生成またはアップデートすることができる。1つ以上のスキーマを含むリファレンスHUBを用いてデータフローを解析し、さらに、分類する、または、たとえば、入力データの変換、エンリッチ化、フィルタリング、もしくはクロスエンティティデータ融合等の、レコメンデーションを行うことができる。
ある実施形態に従うと、このシステムは、本明細書においていくつかの実施形態では他言語関数インターフェイスと呼ぶプログラマティックインターフェイスを提供する。このインターフェイスにより、ユーザまたは第三者は、サービス、関数型およびビジネス型、セマンティックアクション、ならびに関数型およびビジネス型に基づくパターンまたは予め定められた複合データフローを、宣言的に規定することにより、システムの機能を拡張することができる。
ある実施形態に従うと、このシステムはデータガバナンス機能を提供することができる。これはたとえば、特定のスナップショットに時間的に関連するデータのスライスごとの、履歴情報(provenance)(特定のデータはどこから来たデータか)、系統(lineage)
(このデータはどのようにして取得/処理されたか)、セキュリティ(誰がこのデータの責任者だったか)、分類(このデータは何に関連するデータか)、影響力(impact)(このデータがビジネスにどれほどの影響があるか)、保持時間(retention)(このデータ
はどれだけの時間存続すべきか)、および有効性(このデータは解析/処理のために除外される/含まれるべきか否か)である。よって、これらはライフサイクルの決定およびデータフローのレコメンデーションにおいて使用することができる。
ある実施形態に従うと、このシステムは、サービスとして、たとえばクラウドベースのコンピューティング環境内で提供されるクラウドサービスとして実現することができ、設計、シミュレーション、デプロイ、開発、オペレーション、およびソフトウェアアプリケーションに使用するデータの解析のための単一のコントロールポイントの役割を果たすことができる。これは、1つ以上のデータソース(たとえばある実施形態では入力HUB)からのデータ入力を有効にすること、このデータ用のアプリケーションをユーザが指定できるようにするグラフィカルユーザインターフェイスを提供すること、および、目的とするデータの宛先、用途、またはターゲット(たとえばある実施形態では出力HUB)に応じてデータをスケーリングすることを含む。
ある実施形態に従うと、本明細書において、特定のHUBとの関連で使用されるときの「入力」および「出力」という用語は、特定のユースケースまたは例におけるデータの明白な流れを反映するラベルとしてのみ提供されるのであって、特定のHUBの種類または機能を制限することを意図している訳ではない。
たとえば、ある実施形態に従うと、データのソースとして機能する入力HUBは、同時にまたは別の時に、出力HUBとしてまたはこのデータもしくは別のデータを受信するターゲットとしても機能することができ、その逆も可能である。
加えて、例示のために本明細書に記載の例のうちのいくつかは入力HUBおよび出力HUBの使用を示しているが、ある実施形態に従うと、実際の実装例においてデータ統合またはその他のコンピューティング環境はこのようなHUBを複数含み得る。これらのうちの少なくともいくつかは、入力HUBおよび/または出力HUB双方として機能する。
ある実施形態に従うと、このシステムにより、大規模な、たとえばクラウドベースのコンピューティング環境において、ソフトウェアアプリケーションを急速に開発することができる。このような環境において、データモデルは急速に発展するであろう。また、たとえばサーチ、レコメンデーション、または提案等の特徴は有用なビジネス条件である。このような環境において、人工知能(AI)とセマンティックサーチとを組合わせることにより、ユーザに対して、彼らの既存のシステムを用いてより多くを達成する権限を与える。たとえば、属性レベルマッピング等の統合インタラクションを、メタデータ、データ、およびシステムとのユーザのやり取りの理解に基づいてレコメンドすることができる。
ある実施形態に従うと、このシステムを用いることにより、複雑なケースを提案することもできる。それはたとえば、情報解析に使用することができ、かつ、それらのデータ内の今まで知られていなかった事実をユーザが発見できるようにする、興味深いディメンションエッジ(dimensional edge)である。
いくつかの実施形態において、このシステムはグラフィカルユーザインターフェイスを提供する。このグラフィカルユーザインターフェイスは、マニュアルタスク(たとえばレコメンデーションまたは提案)の自動化を可能にし、機械学習および確率的な知識の統合を活用することにより、ユーザにとって有用なコンテキストを提供するとともに、発見およびセマンティック駆動型のソリューションを可能にすることができる。それはたとえば
、データウェアハウスの作成、サービスのスケーリング、データの作成およびエンリッチ化、ならびにソフトウェアアプリケーションの設計およびモニタリングである。
各種実施形態に従うと、本システムは、以下の特徴のうちの一部またはすべてを含むまたは利用することができる。
設計時システム:ある実施形態に係る、たとえば機械学習機能を提供するデータAIサブシステムの使用を含む、ソフトウェアアプリケーション(たとえばデータフローアプリケーション、パイプライン、またはLambdaアプリケーション)の設計、作成、モニタリング、および管理を可能にする計算環境。
実行時システム:ある実施形態に係る、ソフトウェアアプリケーション(たとえばデータフローアプリケーション、パイプライン、またはLambdaアプリケーション)の実行を可能にし、入力を設計時システムから受けてレコメンデーションを設計時システムに提供する計算環境。
パイプライン:ある実施形態に係る、複数の段またはセマンティックアクションを有する処理パイプラインを規定する宣言手段。複数の段またはセマンティックアクションは各々、出力データとして作成するための、入力データのたとえばフィルタリング、結合、エンリッチ化、変換、またはフュージョンのうちの1つ以上等の機能に対応する。たとえばDFMLにおけるデータフローを表すデータフローソフトウェアアプリケーションまたはデータフローアプリケーション。ある実施形態に従うと、システムは、バッチ(履歴)データ処理にもリアルタイム(ストリーミング)データ処理にも同一のコードベースを(たとえばSpark実行時プラットフォームとともに)使用できる宣言型パイプライン設計をサ
ポートし、また、リアルタイムデータ解析のためにリアルタイムデータストリームに対して作業することができるパイプラインまたはアプリケーションの構築もサポートする。パイプラインの設計変更に伴うデータの再処理は、デプロイされたパイプラインのアップグレードのローリングを通して処理することができる。ある実施形態に従うと、パイプラインは、異なるバッチレイヤおよびリアルタイムレイヤ内のリアルタイムデータとバッチデータの処理に対応することができるLambdaアプリケーションとして提供することができる。
HUB:ある実施形態に係る、データセットまたはエンティティを含むデータソースまたはターゲット(クラウドまたはオンプレミス)。イントロスペクトすることができるデータソースであって、このデータソースからデータを消費することができる、または、データをこのデータソースに対してパブリッシュすることができる。データソースはデータセットまたはエンティティを含み、これは属性、セマンティクス、またはその他のデータセットまたはエンティティとの関係を有する。HUBの例は、ストリーミングデータ、遠隔測定、バッチベース、構造化もしくは非構造化、またはその他のタイプのデータソースを含む。データは、ソースデータセットまたはエンティティに対応付けられたHUBから受信することができ、同じまたは別のHUBのターゲットデータセットまたはエンティティにマッピングすることができる。
システムHUB:ある実施形態に従うと、システムHUBは、他のHUBに対応付けることができる他のメタデータおよびプロファイル情報ならびにデータセットまたはエンティティを上記他のメタデータに格納するナレッジソースとして機能することができ、また、処理対象のデータのソースまたは受信者としてのレギュラーHUBのように機能することもできる。たとえばDFMLにおける、メタデータおよびシステムの状態が管理される中央リポジトリである。
データセット(エンティティ):ある実施形態に係る、属性(たとえばカラム)を含むデータ構造。これは、1つ以上のHUBによって所有されるまたは1つ以上のHUBに対応付けることができる、たとえばデータベーステーブル、ビュー、ファイル、またはAPIである。ある実施形態に従うと、1つ以上のビジネスエンティティ、たとえば顧客記録であり、セマンティックビジネス型として機能することができ、データコンポーネントとして格納される、たとえばHUB内のテーブルである。データセットまたはエンティティは、属性たとえばテーブル内のカラム、および、データ型たとえばストリングまたは整数とともに、その他のデータセットまたはエンティティとの関係を有することができる。ある実施形態に従うと、当該システムは、たとえばエンリッチ化、準備、変換、モデルトレーニング、またはスコアリング動作中、すべてのタイプのデータ(たとえば構造化、半構造化、または非構造化データ)の、スキーマに依存しない処理をサポートする。
データAIサブシステム:ある実施形態に係る、たとえばデータAIシステム等のシステムのコンポーネントであり、機械学習およびセマンティック関連機能を担う。これは、サーチ、プロファイリング、レコメンデーションエンジンの提供、または自動マッピングのサポートのうちの1つ以上を含む。データAIサブシステムは、イベントコーディネータを介して、設計時システムたとえばLambda Studio等のソフトウェア開発コンポーネン
トの動作をサポートすることができ、データフローアプリケーション(たとえばパイプライン、Lambdaアプリケーション)によるデータの連続処理に基づいてレコメンデーションを提供することにより、たとえば、既存のたとえばパイプラインの修正をレコメンドして処理中のデータを活用することができる。データAIサブシステムは、入力データの量を解析し連続的にドメインナレッジモデルをアップデートすることができる。データフローアプリケーション(たとえばパイプライン)の処理中、たとえばパイプラインの各段は、データAIサブシステムが提供するレコメンドされた代案または選択肢に基づいて、アップデートされたドメインモデルおよびユーザからの入力を処理することにより、たとえば、レコメンドされたセマンティックアクションを受容または拒否することができる。
イベントコーディネータ:ある実施形態に係る、設計時システムと実行時システムとの間で動作するイベント駆動型アーキテクチャ(event-driven architecture:EDA)コ
ンポーネントであり、データフローアプリケーション(たとえばパイプライン、Lambdaアプリケーション)の設計、作成、モニタリング、および管理に関連するイベントをコーディネートする。たとえば、イベントコーディネータは、HUBからデータ(たとえば既知のデータ型に従う新たなデータ)のパブリッシュされた通知を受信し、このHUBからのデータを正規化し、正規化したデータを、サブスクライバのセットに対し、たとえばパイプラインまたはその他の下流のコンシューマによる使用のために、提供する。また、イベントコーディネータは、システム内の状態トランザクションの通知を、一時スライスの作成およびスキーマ進化を含む、系統トラッキングまたはロギングに使用するために、受信することもできる。
プロファイリング:ある実施形態に係る、HUBからデータのサンプルを抽出し、このHUBから提供されたデータ、ならびにこのHUB内のデータセットまたはエンティティおよび属性をプロファイリングするとともに、HUBのサンプリングに関連するメトリクスを決定し、HUBに関連するメタデータをアップデートすることによりデータのプロファイルをこのHUBに反映させる動作。
ソフトウェア開発コンポーネント(Lambda Studio):ある実施形態に係る、グラフィ
カルユーザインターフェイスを提供することにより、セマンティックアクションのパイプラインとしてのLambdaアプリケーションまたはパイプラインのライフサイクルをユーザが作成、モニタリング、および管理できるようにする、設計時システムツール。たとえばパイプラインやLambdaアプリケーションをユーザが設計できるようにするグラフィカルユー
ザインターフェイス(UI、GUI)またはスタジオ。
セマンティックアクション:ある実施形態に係る、データ変換関数、たとえば関係代数演算。データフローアプリケーション(たとえばパイプライン、Lambdaアプリケーション)が、HUB内のデータセットまたはエンティティに対し、別のエンティティへのプロジェクションのために実行できるアクション。セマンティックアクションは、データセット入力を受信しデータセット出力を生成できる異なるモデルまたはHUBに使用可能な高次関数として機能する。セマンティックアクションはマッピングを含み得る。セマンティックアクションは、たとえばパイプラインまたはLambdaアプリケーションの一部としてのデータの処理に応じて、たとえばデータAIサブシステムによって連続的にアップデート可能なマッピングを含み得る。
マッピング:ある実施形態に係る、たとえばデータAIサブシステムによって提供され、設計時システムを通して、たとえばソフトウェア開発コンポーネントであるLambda Studioを介してアクセス可能にされた、第1の(たとえばソース)データセットまたはエン
ティティと別の(たとえばターゲット)データセットまたはエンティティとの間のセマンティックアクションのリコメンドされるマッピングである。たとえば、データAIサブシステムはサービスとして自動マッピングを提供することができる。自動マッピングは、HUBに対応付けられたメタデータまたはデータ入力の機械学習解析に基づいて、メタデータ、スキーマ、およびデータセットの統計プロファイリングにより駆動することができる。
パターン:ある実施形態に係る、データフローアプリケーション(たとえばパイプライン、Lambdaアプリケーション)が実行できるセマンティックアクションのパターン。テンプレートを使用することにより、他のアプリケーションが再利用できるパターンの定義を提供することができる。通常ビジネスセマンティクスおよびプロセスに関連付けられるデータおよび関連する変換の論理フロー。
ポリシー:ある実施形態に係る、データフローアプリケーション、たとえばパイプライン、Lambdaアプリケーションが如何にしてスケジュールされるか、どのユーザまたはコンポーネントがどのHUBおよびセマンティックアクションにアクセスできるか、ならびにデータは如何にしてエージングされるべきか、またはその他の検討事項を制御する一組のポリシー。如何にしてたとえばパイプラインがたとえばスケジュール、実行、またはアクセスされるべきかを規定するコンフィギュレーション設定。
アプリケーション設計サービス:ある実施形態に従うと、データフローたとえばパイプライン、Lambdaアプリケーション向けのサービスたとえば検証、コンパイル、パッケージング、その他のたとえばDFMLサービス(たとえばUI、システムファサード)へのデプロイ等を提供する。ソフトウェア開発コンポーネントたとえばLambda Studio(たとえ
ばその入力および出力)におけるパイプラインたとえばLambdaアプリケーションを検証し、パイプラインを永続化(persist)し、パイプライン、Lambdaアプリケーションを実行
のためにシステムに(たとえばSparkクラスタに)デプロイすることを制御し、その後、
アプリケーションのライフサイクルまたは状態の管理に使用できる、設計時システムコンポーネント。
エッジレイヤ:ある実施形態に係る、データを収集したとえば格納および転送レイヤとしてスケーラブル入出力レイヤにデータを転送するレイヤ。インターネットにアクセス可能なたとえばゲートウェイを介してデータを受信することができ、たとえばデータAIシステムへの安全なアクセスをサポートするセキュリティおよびその他の特徴を含む1つ以上のノードを含む実行時システムコンポーネント。
計算レイヤ:ある実施形態に係る、アプリケーション実行およびデータ処理レイヤ(例:Spark)。分散処理コンポーネント、たとえばSparkクラウドサービス、計算ノードのクラスタ、仮想マシンの集合体、またはその他のコンポーネントもしくはノードとして機能し、例としてパイプライン、Lambdaアプリケーションの実行に使用される、実行時システムコンポーネント。マルチテナント環境において、計算レイヤ内のノードは、テナントに対して、これらのテナントによるパイプラインまたはLambdaアプリケーションの実行において使用されるために、割り当てることができる。
スケーラブル入出力(I/O)レイヤ:ある実施形態に従うと、トピックおよびパーティションとして構成されたスケーラブルデータパーシステンスおよびアクセスレイヤを提供する(例:Kafka)。データを、システム内で移動できるようにし、システムのさまざ
まなコンポーネント間で共有できるようにする、キューまたはその他論理ストレージを提供する実行時システムコンポーネント、たとえばKafka環境。マルチテナント環境におい
て、スケーラブルI/Oレイヤは複数のテナント間で共有できる。
データレイク:ある実施形態に係る、システムHUBまたはその他のコンポーネントからの情報のパーシステンスのリポジトリ。通常は、例としてパイプライン、Lambdaアプリケーションによって正規化または処理され、その他のパイプライン、Lambdaアプリケーションまたはパブリッシュレイヤによって消費される、例としてDFMLにおけるデータのリポジトリ。
レジストリ:ある実施形態に係る、例としてパイプライン、Lambdaアプリケーションをそれらの関数コンポーネントに分解するのに使用される、例として関数型およびビジネス型の格納のための、1つ以上の情報リポジトリ。
データフロー機械学習(DFML):ある実施形態に係る、機械学習(ML)を活用することにより複合データフローアプリケーションの構築を支援する、データ統合、データフロー管理システム。
メタデータ:ある実施形態に係る、データセットまたはエンティティおよび属性ならびにそれらの関係の、根底にある定義、記述。例としてDFMLにおけるアーティファクトに関する記述データでもあり得る。
データ:ある実施形態に係る、データセットまたはエンティティによって表されるアプリケーションデータ。これらはバッチでもストリームでもよい。たとえば、顧客、オーダー、または製品。
システムファサード:ある実施形態に係る、例としてDFMLイベント駆動型アーキテクチャの機能にアクセスするための統一APIレイヤ。
データAIサブシステム:ある実施形態に従うと、限定されないがたとえばサーチ、自動マップ、レコメンデーション、またはプロファイリングを含む人工知能(AI)サービスを提供する。
ストリーミングエンティティ:ある実施形態に係る、データの速度の強調をサポートし得る、データおよび準リアルタイム処理および出力条件の連続入力。
バッチエンティティ:ある実施形態に係る、ボリュームの強調によって特徴付けることができる、スケジュールされたまたはリクエストに応じて実施されるデータのインジェス
チョン。
データスライス:ある実施形態に係る、通常は時間によってマークされるデータのパーティション。
ルール:ある実施形態に従うと、例としてDFMLにおけるアーティファクトを左右するディレクティブを表し、たとえば、データルール、関係ルール、メタデータルール、および複合またはハイブリッドルールである。
レコメンデーション(データAI):ある実施形態に係る、例としてパイプライン、Lambdaアプリケーションの設計を支援するための1つ以上のセマンティックアクションまたはきめ細かいディレクティブによって通常表される、推奨される一連のアクション。
サーチ(データAI):ある実施形態に係る、関連するアーティファクトを返すための、コンテキストおよびユーザの意図によって特徴付けられる、例としてDFMLにおけるセマンティックサーチ。
自動マップ(データAI):ある実施形態に係る、データフローで試用されることになる候補ソースまたはターゲットデータセットもしくはエンティティをショートリストに入れるある種のリコメンデーション。
データプロファイリング(データAI):ある実施形態に係る、データセットまたはエンティティに属する属性におけるデータを特徴付けるいくつかのメトリクスの、たとえば最小値、最大値、四分位数間領域、または散在度の、集合体。
アクションパラメータ:ある実施形態に係る、セマンティックアクションの実行対象であるデータセットに対するリファレンス。たとえば、例としてパイプライン、Lambdaアプリケーションにおける等価結合(equi-join)に対するパラメータ。
他言語関数インターフェイス:ある実施形態に係る、例としてDFML Lambdaアプリケーションフレームワークの一部としてサービス(およびセマンティックアクション)を登録し呼び出すメカニズム。例としてDFMLにおける機能または変換語彙を拡張するのに使用できる。
サービス:ある実施形態に係る、データ統合段(たとえば準備、発見、変換、または視覚化)によって特徴付けることができるセマンティックアクションの集合体の、例としてDFMLにおける未対応のアーティファクト。
サービスレジストリ:ある実施形態に係る、サービス、それらのセマンティックアクションおよびその他のインスタンス情報のリポジトリ。
データライフサイクル:ある実施形態に係る、インジェスチョンで始まりパブリッシュで終わる、例としてDFML内のデータの使用における段。
メタデータハーベスティング:ある実施形態に係る、通常はHUBの登録後に、プロファイリングのためにメタデータおよびサンプルデータを収集すること。
パイプライン正規化:ある実施形態に係る、例としてパイプライン、Lambdaアプリケーションによる消費を容易にする特定のフォーマットでデータを標準化すること。
モニタリング:ある実施形態に係る、例としてパイプライン、Lambdaアプリケーションの実行を、特定、測定、および評価すること。
インジェスト:ある実施形態に係る、例としてDFMLにエッジレイヤを通してデータを取り込むこと。
パブリッシュ:ある実施形態に係る、例としてDFMLからデータをターゲットエンドポイントに書き込むこと。
データAIシステム
図1は、ある実施形態に係る、データフロー人工知能を提供するためのシステムを示す図である。
図1に示すように、ある実施形態に従うと、システム、たとえばデータAIシステム150は、たとえばビジネスデータ、消費者データ、および企業データ等のデータを処理および変換するための1つ以上のサービスを提供することができ、これは、たとえばデータベース、クラウドデータウェアハウス、ストレージシステム、またはストレージサービス等の多様な計算アセットとともに使用される機械学習処理の使用を含む。
ある実施形態に従うと、計算アセットは、クラウドベースであっても企業ベースであってもオンプレミスもしくはエージェントベースであってもよい。このシステムのさまざまな要素は1つ以上のネットワーク130によって接続することができる。
ある実施形態に従うと、このシステムは、1つ以上の入力HUB110(たとえばデータのソース、データソース)と、出力HUB180(たとえばデータのターゲット、データターゲット)とを含み得る。
ある実施形態に従うと、各入力HUB、たとえばHUB111は、複数の(ソース)データセットまたはエンティティ192を含み得る。
ある実施形態に従うと、入力HUBの例は、データベース管理システム(DB、DBMS)112(たとえばオンライントランザクション処理システム(on-line transaction processing system:OLTP)、ビジネスインテリジェンスシステム、またはオンライ
ン解析処理システム(on-line analytical processing system:OLAP))を含み得る。このような例において、たとえばデータ管理システム等のソースが提供するデータは、構造化データであっても半構造化データであってもよい。
ある実施形態に従うと、入力HUBの他の例は、非構造化データを有するオブジェクトバケットまたはクリックストリームソースであってもよいクラウドストア/オブジェクトストア114(たとえばAWS S3または別のオブジェクトストア)、データクラウド116(たとえば第三者クラウド)、ストリーミングデータソース118(たとえばAWSキネティックスまたは別のストリーミングデータソース)、またはその他入力ソース119を含み得る。
ある実施形態に従うと、入力HUBはデータソースを含み得る。データソースは、たとえばOracle Big Data Prep (BDP)サービスからデータを受ける。
ある実施形態に従うと、このシステムは1つ以上の出力HUB180(たとえば出力宛先)を含み得る。各出力HUB、たとえばHUB181は、複数の(ターゲット)データセットまたはエンティティ194を含み得る。
ある実施形態に従うと、出力HUBの例は、パブリッククラウド182、データクラウド184(たとえばAWSおよびAzure)、オンプレミスクラウド186、またはその他
の出力ターゲット187を含み得る。このシステムが提供するデータ出力は、出力HUBにおいてアクセス可能なデータフローアプリケーション(たとえばパイプライン、Lambdaアプリケーション)のために生成することができる。
ある実施形態に従うと、パブリッククラウドの例として、たとえばOracle Public Cloudを挙げることができる。これは、たとえば、Big Data Prepクラウドサービス、Exadata
クラウドサービス、Big Data Discoveryクラウドサービス、およびBusiness Intelligenceクラウドサービスを含み得る。
ある実施形態に従うと、このシステムは、サービスとして(たとえばサービスとしてのソフトウェアとして)ユーザに配信される、ストリーミングおよびオンデマンド(バッチ)データ処理のための統一されたプラットフォームとして実現することができ、複数の入力HUBのためのスケーラブルなマルチテナントデータ処理を提供する。データは、機械学習技術と、サービスの一部としてグラフィカルユーザインターフェイスによって提供される視覚的洞察およびモニタリングとを用いて、リアルタイムで解析される。データセットは、出力HUBへの出力のために複数の入力HUBからフュージングすることができる。たとえば、このシステムが提供するデータ処理サービスを通して、データをデータウェアハウス用に生成し1つ以上の出力HUBにポピュレートすることができる。
ある実施形態に従うと、このシステムは、データの変換、エンリッチ化、ルーティング、分類、およびブレンドのために宣言型およびプログラミングトポロジを提供し、設計時システム160と実行時システム170とを含み得る。ユーザは、データ処理の実行用に設計された、たとえばデータフローアプリケーション(たとえばパイプライン、Lambdaアプリケーション)190等のアプリケーションを作成することができる。
ある実施形態に従うと、設計時システムは、ユーザが、データフロー処理用に、データフローアプリケーションを設計し、データフローを規定し、データを規定できるようにすることができる。たとえば、設計時システムは、データフローアプリケーションの作成のためにグラフィカルユーザインターフェイスを提供するソフトウェア開発コンポーネント162(本明細書ではある実施形態においてLambda Studioと呼ぶ)を提供することがで
きる。
たとえば、ある実施形態に従うと、ユーザは、ソフトウェア開発コンポーネントを用いて、アプリケーション用のデータフローを作成するために入力HUBおよび出力HUBを指定することができる。グラフィカルユーザインターフェイスは、データ統合用のサービスのためのインターフェイスを示すことができる。これにより、ユーザは、アプリケーション用のデータフローを作成、操作、および管理することができる。これはデータフローパイプラインを動的にモニタリングおよび管理する機能を含み、それはたとえばデータ系統を観察することおよび法解析を実行すること等である。
ある実施形態に従うと、設計時システムはまた、データフローアプリケーションを実行時システムにデプロイするためのアプリケーション設計サービス164を含み得る。
ある実施形態に従うと、設計時システムはまた、データフローを処理するためにメタデータを格納するための1つ以上のシステムHUB166(たとえばメタデータリポジトリ)を含み得る。1つ以上のシステムHUBは、データのサンプル、たとえば関数型およびビジネスデータ型を含むデータ型等のデータのサンプルを格納することができる。システ
ムHUB内の情報を用いることにより、本明細書に開示する技術のうちの1つ以上を実行することができる。データレイク167コンポーネントは、システムHUBからの情報のパーシステンスのためにリポジトリとして動作することができる。
ある実施形態に従うと、設計時システムはまた、データ人工知能処理のための動作を実行するデータ人工知能(AI)サブシステム168を含み得る。上記動作は、ML技術、たとえばサーチおよび取出を使用することを含み得る。データAIサブシステムは、システムHUB用のメタデータを生成するためにデータをサンプリングすることができる。
ある実施形態に従うと、データAIサブシステムは、入力HUBごとに、スキーマオブジェクト解析、メタデータ解析、サンプルデータ、相関解析、および分類解析を実行することができる。データAIサブシステムは、入力されたデータに対して連続的に実行することにより、リッチデータをデータフローアプリケーションに提供することができ、かつ、たとえばパイプライン、Lambdaアプリケーションに、レコメンデーション、洞察、およびタイプ誘導を提供することができる。
ある実施形態に従うと、設計時システムにより、ユーザは、ユースケースの機能的要求を規定するポリシー、アーティファクト、およびフローを作成することができる。
たとえば、ある実施形態に従うと、設計時システムは、グラフィカルユーザインターフェイスを提供することにより、HUBを作成してデータをインジェストしインジェストポリシーを規定することができる。インジェストポリシーは、時間ベースであってもよく、または、関連するデータフローからの要求に応じたものであってもよい。入力HUBが選択されると、データをこの入力HUBからサンプリングすることにより、ソースをプロファイリングすることができる。これはたとえば、メタデータクエリを実行すること、サンプルを取得すること、およびユーザ定義入力を取得すること等である。プロファイルはシステムHUBに格納することができる。グラフィカルユーザインターフェイスは、データフローパイプラインを規定するために複数のソースを結合できるようにする。これは、スクリプトを作成することによって、または、ガイドされたエディタを用いることによって行うことができる。ガイドされたエディタによりデータを各ステップで視覚化することができる。グラフィカルユーザインターフェイスは、データクラウドを如何にしてたとえば修正、エンリッチ化、または結合し得るかを示唆するレコメンデーションサービスへのアクセスを提供することができる。
ある実施形態に従うと、設計時間中、アプリケーション設計サービスは、得られたコンテンツを解析するのに適した構造を示唆することができる。アプリケーション設計サービスは、ナレッジサービス(関数型分類)を用いることにより、処置および関連するディメンション階層を示唆することができる。これが完了すると、設計時システムは、先のパイプラインからのブレンドされたデータを取得しディメンションターゲット構造をポピュレートするのに必要なデータフローをレコメンドすることができる。依存性解析に基づいて、オーケストレーションフローを導き出して生成することにより、ターゲットスキーマをロード/リフレッシュすることもできる。フォワードエンジニアリングユースケースの場合、設計時システムは、HUBを生成することにより、ターゲット構造をホストしターゲットスキーマを作成することもできる。
ある実施形態に従うと、実行時システムは、データ処理のためのサービスの実行時間中に処理を実行することができる。
ある実施形態に従うと、実行時または動作モードにおいて、ユーザが作成したポリシーおよびフローの規定が適用および/または実行される。たとえば、このような処理は、イ
ンジェスト、変換、モデル、およびパブリッシュサービスを呼び出してパイプライン内でデータを処理することを含み得る。
ある実施形態に従うと、実行時システムは、エッジレイヤ172と、スケーラブル入出力(I/O)レイヤ174と、分散処理システムまたは計算レイヤ176とを含み得る。実行時において(たとえば1つ以上の入力HUB110からデータがインジェストされたときに)、イベントのためにエッジレイヤがデータを受けることができる。このイベントによってデータは生成される。
ある実施形態に従うと、イベントコーディネータ165は、設計時システムと実行時システムとの間で動作して、データフローアプリケーション(たとえばパイプライン、Lambdaアプリケーション)の設計、作成、モニタリング、および管理に関連するイベントを調整する。
ある実施形態に従うと、エッジレイヤは、データをスケーラブル入出力レイヤに送る。スケーラブル入出力レイヤはこのデータを分散処理システムまたは計算レイヤにルーティングする。
ある実施形態に従うと、分散処理システムまたは計算レイヤは、パイプラインプロセスを(テナント毎に)実現することにより、データを出力のために処理することができる。分散処理システムは、たとえばApache SparkおよびAlluxioを用いて実現することができ
、データをデータレイクにサンプリングしその後このデータを出力HUBに出力することができる。分散処理システムは、データを起動して処理するためにスケーラブル入出力レイヤと通信することができる。
ある実施形態に従うと、上記コンポーネントのうちのいくつかまたはすべてを含むデータAIシステムは、たとえば1つ以上のプロセッサ(CPU)とメモリとパーシステント記憶装置(198)とを含む1つ以上のコンピュータに提供することができる、またはこのコンピュータによって実行されることができる。
イベント駆動型アーキテクチャ
先に述べたように、ある実施形態に従うと、このシステムは、イベント駆動型アーキテクチャ(EDA)コンポーネントまたはイベントコーディネータを含み得る。これは、設計時システムと実行時システムとの間で動作することにより、データフローアプリケーション(たとえばパイプライン、Lambdaアプリケーション)の設計、作成、モニタリング、および管理に関連するイベントを調整する。
図2は、ある実施形態に係る、システムで使用するイベントコーディネータを含むイベント駆動型アーキテクチャを示す図である。
図2に示すように、ある実施形態に従うと、イベントコーディネータは、イベントキュー202(たとえばKafka)と、イベントブートストラッパサービス204(たとえばExecutorService)と、イベントコンフィギュレーションパブリッシャ/イベントコンシューマ206(たとえばDBCS)とを含み得る。
ある実施形態に従うと、システムファサード208(たとえばイベントAPI拡張)で受信したイベントは、1つ以上のイベントブローカー210、たとえばKafkaコンシュー
マによって、システムのさまざまなコンポーネントに伝達することができる。たとえば、例として外部データ212(たとえばS3、OSCS、またはOGGデータ)等のデータおよび/またはイベント、または、グラフィカルユーザインターフェイス214(たとえ
ばブラウザまたはDFML UI)からの入力は、イベントコーディネータを介して、その他のコンポーネント、たとえば上述のアプリケーション実行時216、データレイク、システムHUB、データAIサブシステム、アプリケーション設計サービス、および/またはインジェスト220、パブリッシュ230、スケジューリング240、またはその他のコンポーネントに、伝達することができる。
ある実施形態に従うと、イベントブローカーを、ストリームイベントのコンシューマとして構成してもよい。イベントブートストラッパは、複数の構成されたイベントブローカーを開始させることにより、登録されたサブスクライバに代わってイベントを処理することができる。所定のイベントの処理のために、各イベントブローカーは、イベントの処理を、登録されたコールバックエンドポイントに委任する。イベントコーディネータは、イベントタイプの登録、イベンティングエンティティの登録、イベントの登録、およびサブスクライバの登録を可能にする。表1は、パブリッシュイベントおよびサブスクライブイベントを含むさまざまなイベントオブジェクトの一例を提供する。
Figure 2022031851000002
イベントタイプ
ある実施形態に従うと、イベントタイプは、システムにとって重要なイベントの状態変化を規定する。それはたとえば、HUBの作成、データフローアプリケーションたとえばパイプライン、Lambdaアプリケーションの修正、データセットまたはエンティティのためのデータのインジェスト、またはターゲットHUBに対するデータのパブリッシュ等である。データフォーマットの一例と、さまざまなイベントタイプの例を、以下と表2に示す。
Figure 2022031851000003
イベンティングエンティティ
ある実施形態に従うと、イベンティングエンティティは、イベントのパブリッシャおよび/またはサブスクライバであってもよい。たとえば、イベンティングエンティティは、1つ以上のイベントをパブリッシュするために登録することができる、および/または1つ以上のイベントのコンシューマとなることができる。これは、パブリッシュに対するアクノレッジを通知または送信しサブスクライブされたイベントの処理を委任するのに使用される、エンドポイントまたはコールバックURLの登録を含む。イベンティングエンティティの例は、メタデータサービス、インジェストサービス、システムHUBアーティファクト、およびパイプライン、Lambdaアプリケーションを含み得る。データフォーマットの一例と、さまざまなイベンティングエンティティの例を、以下と表3に示す。
Figure 2022031851000004
イベント
ある実施形態に従うと、イベントは、パブリッシャとして登録されたイベンティングエンティティに対応付けられたイベントタイプのインスタンスであり、サブスクライバ(イベンティングエンティティ)を有し得る。たとえば、メタデータサービスは、パブリッシュのためにHUB作成イベントを登録することができ、このイベント用のイベントインスタンス(作成したHUB1つ当たり1つのインスタンス)のうち1つ以上をパブリッシュすることができる。さまざまなイベントの例が表4に示される。

Figure 2022031851000005
Figure 2022031851000006

ある実施形態に従うと、以下の例は、イベントタイプの作成、パブリッシュイベントの登録、サブスクライバの登録、イベントのパブリッシュ、イベントタイプの取得、イベントタイプのためのパブリッシャの取得、およびイベントタイプのためのサブスクライバの取得を示す。
Figure 2022031851000007
これは、ユニバーサル一意ID(universally unique ID:UUID)、たとえば「8e8
7039b-a8b7-4512-862c-fdb05b9b8888」を返す。イベンティングオブジェクトは、システ
ム内のイベントをパブリッシュまたはサブスクライブすることができる。たとえばインジェストサービス、メタデータサービス、およびアプリケーション設計サービス等のサービスエンドポイントは、アクノレッジ、通知、エラー、または処理のためにスタティックなエンドポイントとともに、パブリッシュまたはサブスクライブイベントであってもよい。DFMLアーティファクト(たとえばDFMLEntity, DFMLLambdaApp, DFMLHub)も、イベンティングオブジェクトとして登録することができ、これらのタイプのインスタンスは、イベンティングオブジェクトとしての登録なしでイベントをパブリッシュまたはサブスクライブすることができる。
Figure 2022031851000008
以下の例は、DFMLLambdaApps(タイプ)をイベンティングオブジェクトとして登録する。
Figure 2022031851000009
HUB、EntityおよびLambdaAppタイプのイベンティングエンティティの場合、<publisherURL>をRESTエンドポイントURLにアノテートすることができ、イベント駆動型
アーキテクチャは、実際のURLを、DFMLアーティファクトインスタンスURLを置換することによって導き出す。たとえば、notificationEndpointURLが、http://den00tnk:9021/<publisherURL>/notificationとして登録され、メッセージの一部として特定され
たパブリッシャURLがhubs/1234/entities/3456である場合、通知のために呼び出され
るURLは、http://den00tnk:9021/ hubs/1234/entities/3456 /notificationであろう
。POSTはUUID、たとえば「185cb819-7599-475b-99a7-65e0bd2ab947」を返す。
パブリッシュイベントの登録
ある実施形態に従うと、パブリッシュイベントは次のように登録できる。
Figure 2022031851000010
上記eventTypeは、イベントタイプDATA_INGESTEDの登録のために返されるUUIDであり、上記publishingEntityは、イベンティングオブジェクトとして登録されるDFMLEntityタイプである。この登録は、UUID、たとえば「2c7a4b6f-73ba-4247-a07a-806ef659def5」を返す。
サブスクライバの登録
ある実施形態に従うと、サブスクライバは次のように登録できる。
Figure 2022031851000011
パブリッシュイベント登録から返されたUUIDは、サブスクライバの登録のための経路セグメントとして使用される。
Figure 2022031851000012
上記publisherURLおよびpublishingObjectTypeは、パブリッシャオブジェクトのインスタンスおよびタイプである。ここで、データフロー(たとえばLambda)アプリケーションは、URI /lambdaApps/123456の特定において、エンティティ /hubs/1234/entities/3456からのDATA_INGESTEDイベントへのサブスクライブに注目する。この登録はUUID
、たとえば「1d542da1-e18e-4590-82c0-7fe1c55c5bc8」を返す。
イベントのパブリッシュ
ある実施形態に従うと、イベントは以下のようにパブリッシュすることができる。
Figure 2022031851000013
上記publisherURLは、パブリッシュオブジェクトが、DFMLEntity、DFMLHubまたはDFMLLambdaAppsのうちの1つである場合に使用され、サブスクライバが参加するメッセージを
パブリッシュするイベンティングオブジェクトのインスタンスをチェックするために使用される。また、パブリッシャURLは、サブスクライバがメッセージの処理に成功したときに通知URLを導き出すために使用される。このパブリッシュは、パブリッシュされたイベントの一部であったメッセージ本体を返す。
イベントタイプの取得
ある実施形態に従うと、イベントタイプは以下のように求めることができる。
Figure 2022031851000014
イベントタイプ用のパブリッシャを取得
Figure 2022031851000015
イベントタイプ用のサブスクライバを取得
ある実施形態に従うと、イベントタイプ用のサブスクライバは以下のように求めることができる。
Figure 2022031851000016
上記説明は、イベントコーディネータ、イベントタイプ、イベンティングエンティティ、およびイベントの特定の実施形態を説明するために、一例として示したものである。他の実施形態に従うと、他の種類のEDAを用いて、設計時システムと実行時システムとの間で機能するシステム内における通信を提供することにより、データフローアプリケーションの設計、作成、モニタリング、および管理に関するイベントを調整することができ、他の種類のイベントタイプ、イベンティングエンティティ、およびイベントをサポートすることができる。
データフロー機械学習(DFML)のフロー
先に述べたように、各種実施形態に従うと、本システムは、データのフロー(データフロー、DF)の管理および複合データフローソフトウェアアプリケーション(たとえばデータフローアプリケーション、パイプライン、Lambdaアプリケーション)の構築に用いられる機械学習(ML、データフロー機械学習、DFML)を活用する、データ統合またはその他のコンピューティング環境で使用することができる。
図3は、ある実施形態に係る、データフロー内のステップを示す図である。
図3に示すように、ある実施形態に従うと、DFMLデータフロー260の処理は、インジェストステップ262を含む複数のステップを含み得る。インジェストステッにおいて、データを、さまざまなソース、たとえばSalesforce(SFDC)、S3、またはDBaaSから、インジェストすることができる。
データ準備ステップ264において、インジェストされたデータを、たとえば、重複排除、標準化、またはエンリッチ化することによって準備することができる。
変換ステップ266において、本システムは、1以上のマージ、フィルタ、またはデータセットのルックアップを実行することにより、データを変換することができる。
モデルステップ268において、1つ以上のモデルが、当該モデルに対するマッピングとともに生成される。
パブリッシュステップ270において、本システムは、モデルをパブリッシュし、ポリシーおよびスケジュールを特定し、ターゲットデータ構造をポピュレートすることができる。
ある実施形態に従うと、本システムは、そのデータ準備ステップ、変換ステップ、およびモデルステップ各々の全体を通して、サーチ/レコメンド機能272の使用をサポートする。ユーザは、データ統合フレームワーク内に機能の幅が封じ込められた一組の明確に規定されたサービスを通して、システムとのやり取りを行うことができる。この一組のサービスは、システムの論理ビューを規定する。たとえば、設計モードにおいて、ユーザは、特定のユースケースの機能的要求を規定するフロー、アーティファクト、およびポリシーを作成することができる。
図4は、ある実施形態に係る、複数のソースを含むデータフローの一例を示す図である。
図4に示す一例としてのデータフロー280に示されるように、ある実施形態に従うと、必要なのは、ここではSFDCおよびFACS(Fusion Apps Cloud Service)として
示されている複数のソース282からのコンテンツを、OSCS(Oracle Storage Cloud
Service)内のいくつかのファイルとともに取り込んで、この情報を、所望のコンテンツの解析に使用できるようにブレンドし、ターゲットキューブおよびディメンションを導き出し、ブレンドしたコンテンツをターゲット構造にマッピングし、このコンテンツがディメンションモデルとともにオラクル・ビジネス・インテリジェンス・クラウドサービス(Oracle Business Intelligence Cloud Service:BICS)環境で使用できるようにすることであり、これは、インジェスト、変換266A/266B、モデル、オーケストレート292、およびデプロイ294ステップを含む。
示されている例は、本明細書に記載の技術を説明するために提供され、本明細書に記載の機能は、これら特定のデータソースとともに使用することに限定されない。
ある実施形態に従うと、インジェストステップにおいて、SFDCコンテンツにアクセスしこれをインジェストするために、HUBがデータレイクにおいて作成されてこのコンテンツを受ける。これは、たとえば、関連するアクセスモード(JDBC、REST、SOAP)のSFDCアダプタを選択し、HUBを作成し、名称を与え、時間ベースの、または関連するデータフローの要求に応じたインジェストポリシーを規定することによって、実施することができる。
ある実施形態に従うと、その他2つのソースについて同様のプロセスを実行することができる。違いは、OSCSソースの場合、スキーマは、開始時点でわかっていない場合があり、代わりに何らかの手段(たとえばメタデータクエリ、サンプリング、またはユーザ規定)によって取得できる点である。
ある実施形態に従うと、データのソースを、任意でプロファイリングすることにより、さらに調査することができる。これは、統合フローにおいて後にレコメンデーションを導き出すのに役立ち得る。
ある実施形態に従うと、次のステップは、如何にして別々のソースを中心アイテムの周りで結合するかを規定することである。これは、典型的には解析の基礎(ファクト)であり、データフローパイプラインを規定することによって実現できる。これは、直接、パイプラインドメイン固有言語(DSL)スクリプトを作成することによって、または、ガイドされたエディタを用いて、行うことができる。ガイドされたエディタの場合、ユーザは、各ステップでデータに対する効果を知ることができ、データを如何にしてたとえば修正、エンリッチ化、結合できるかを示唆するレコメンデーションサービスを使用することができる。
この時点で、ユーザは、システムが、得られたコンテンツを解析するのに適した構造を示唆することを、要求できる。たとえば、ある実施形態に従うと、システムは、ナレッジサービス(関数型分類)を用いることにより、対策および関連するディメンション階層を示唆することができる。これが完了すると、システムは、先のパイプラインからのブレンドされたデータを取得しディメンションターゲット構造をポピュレートするのに必要なデータフローをレコメンドすることができる。これはまた、依存性解析に基づいて、オーケストレーションフローを導き出して生成することにより、ターゲットスキーマをロード/リフレッシュする。
ある実施形態に従い、本システムは次に、ターゲット構造をホストするHUBを生成し、これを、アダプタを介して、ターゲットスキーマを作成するのに必要なデータ定義言語(data definition language:DDL)を生成するDBCSに対応付け、たとえば、新たに作成されたスキーマにアクセスするのに必要なモデルを生成するのにBICSが使用できるXDMLまたは何らかの形態をデプロイすることができる。これは、オーケストレーションフローを実行し排出(exhaust)サービスをトリガすることによってポピュレート
することができる。
図5は、ある実施形態に係る、パイプラインを有するデータフローの使用の一例を示す図である。
図5に示すように、ある実施形態に従うと、本システムにより、ユーザは、この例ではパイプラインステップS1~S5を含むデータフローを表すパイプライン302を規定することにより、アプリケーションとして構築/実行304されるときのデータの処理を記述することができる。
たとえば、ある実施形態に従うと、ユーザは、インジェスト、変換、モデル、およびパブリッシュサービス、またはその他のサービスたとえばポリシー306、実行310、またはパーシステンスサービス312を呼び出して、パイプライン内のデータを処理することができる。また、ユーザは、ソリューション(すなわちコントロールフロー)を規定することにより、関連するパイプラインを統合することができる統一フローを特定することもできる。典型的に、ソリューションは、完全なユースケースたとえば売上キューブおよび関連するディメンションのローディングをモデル化する。
データAIシステムコンポーネント
ある実施形態に従うと、アダプタは、さまざまなエンドポイントへの接続およびさまざまなエンドポイントからのデータのインジェストを可能にし、アプリケーションまたはソースタイプに固有である。
ある実施形態に従うと、本システムは、予め定められたアダプタのセットを含み得る。これらのアダプタのうちのいくつかは、他のSOAアダプタを活用することができ、追加のアダプタをフレームワークに登録できるようにする。所定の接続タイプに対して2つ以上のアダプタがあってもよい。その場合、インジェストエンジンは、HUBの接続タイプ構成に基づいて最も適したアダプタを選択する。
図6は、ある実施形態に係る、インジェスト/パブリッシュエンジンおよびインジェスト/パブリッシュサービスの使用の一例を示す図である。
図6に示すように、ある実施形態に従うと、パイプライン334は、インジェスト/パブリッシュエンジン330に、インジェスト/パブリッシュサービス332を介してアクセスすることができる。パイプライン334は、この例において、データ(たとえば売上データ)を入力HUB(たとえばSFDC HUB1)からインジェストし336、インジェストしたデータを変換し338、このデータを出力HUB(たとえばOracle HUB)に対してパブリッシュする340ように、設計されている。
ある実施形態に従うと、インジェスト/パブリッシュエンジンは、複数の接続タイプ331をサポートする。これらのタイプの1つである接続タイプ342は、HUBへのアクセスを提供する1つ以上のアダプタ344に対応付けられている。
たとえば、図6の例に示されるように、ある実施形態に従うと、SFDC接続タイプ352は、SFDC HUB358および359へのアクセスを提供するSFDC-Adp1アダプタ354およびSFDC-Adp2アダプタ356に対応付けることができ、ExDaaS接続タイプ362は、ExDaas HUB366へのアクセスを提供するExDaaS-Adpアダプタ364に対応付けることができ、Oracle接続タイプ372は、Oracle HUB376へのアクセスを提供するOracle Adpアダプタ374に対応付けることができる。
レコメンデーションエンジン
ある実施形態に従うと、本システムは、データに対して実行できる可能ないくつかのアクションの中から最も関連性が高いものを予測/示唆する専門フィルタリングシステムとして動作するレコメンデーションエンジンまたはナレッジサービスを含み得る。
ある実施形態に従うと、レコメンデーションを連結することにより、ユーザが所定の最終ゴールを達成するためにこれらのレコメンデーションを辿り易くすることができる。たとえば、レコメンデーションエンジンは、データセットをデータキューブに変換してターゲットBIシステムに対してパブリッシュするときの一組のステップを通してユーザを案内することができる。
ある実施形態に従うと、レコメンデーションエンジンは、(A)ビジネス型分類、(B)関数型分類、および(C)ナレッジベースという3つの側面を利用する。データセットまたはエンティティに対するオントロジー管理およびクエリ/サーチ機能は、たとえば、クエリAPI、MRSおよび監査リポジトリとの、YAGO3に由来する共有オントロジーによって、提供することができる。ビジネスエンティティ分類は、たとえば、ビジネス型を識別するMLパイプラインベースの分類によって提供することができる。関数型分類は、たとえば、演繹的なルールベースの関数型分類によって提供することができる。アクションレコメンデーションは、たとえば、帰納的なルールベースのデータ準備、変換、モデル、依存性、および関連するレコメンデーションによって提供することができる。
分類サービス
ある実施形態に従うと、本システムは、ビジネス型分類と関数型分類とにカテゴライズできる分類サービスを提供する。各々について以下でさらに説明する。
ビジネス型分類
ある実施形態に従うと、エンティティのビジネス型はその表現型(phenotype)である
。エンティティ内の個々の属性の観測可能な特性は、エンティティのビジネス型の特定において、定義と同様に重要である。分類アルゴリズムは、データセットまたはエンティティの概略的定義を使用するが、データを用いて構築したモデルを利用してデータセットまたはエンティティのビジネス型を分類することもできる。
たとえば、ある実施形態に従うと、HUBからインジェストされたデータセットは、システムが知っている既存のビジネス型(メインHUBからシードされたもの)のうちの1つとして分類することができる、または、既存のビジネス型に分類できない場合は新たな型として追加することができる。
ある実施形態に従うと、ビジネス型分類は、レコメンデーションを行う際に、帰納的推論(パイプライン内の類似するビジネス型に対して規定された変換からの)、または、分類ルートエンティティから導出された単純な命題に基づいて、利用される。
概要を述べる。ある実施形態に従うと、分類プロセスは以下の一組のステップによって説明される。これらのステップは、メイン(トレーニング)hubからインジェストしシードするステップ、モデルを構築しカラム統計を計算しこれらを分類に使用するために登録するステップ、プロファイルの作成/カラム統計の計算を含む、新たに追加されたhubからのデータセットまたはエンティティを分類するステップ、データセットまたはエンティティを分類して、構造およびカラム統計に基づき、使用するエンティティモデルのショートリストを提供するステップ、ならびに、マルチクラス分類を含むデータセットまたはエンティティを分類し、モデルを用いて計算/予測するステップである。
図7は、ある実施形態に従う、HUBからのインジェストおよびトレーニングのプロセスを示す図である。
図7に示すように、ある実施形態に従うと、HUB382(たとえばこの例ではRelatedIQソース)からのデータは、レコメンデーションエンジン380が、データセット390(たとえばレジリエント分散データセット(Resilient Distributed Dataset
:RDD)として読み出すことができる。このデータセットは、この例では、アカウントデータセット391、イベントデータセット392、コンタクトデータセット393、リストデータセット394、およびユーザデータセット395を含む。
ある実施形態に従うと、複数の型分類ツール400を、MLパイプライン402とともに使用することができる。たとえば、GraphX404、Wolfram/Yago406、および/またはMLlib統計408は、HUBが最初に登録されたときにナレッジグラフ440にエンティティメタデータ(トレーニングまたはシードデータ)をシードする際に使用することができる。
ある実施形態に従うと、データセットまたはエンティティメタデータおよびデータは、ソースHUBからインジェストされデータレイクに格納される。モデル生成410中、エンティティメタデータ(属性および他のエンティティとの関係)は、たとえばFP-growthロジスティック回帰412を通して、モデル420およびナレッジグラフの生成に使用される。ナレッジグラフは、すべてのデータセットまたはエンティティ、この例で
はイベント422、アカウント424、コンタクト426、およびユーザ428を表す。シードの一部として、回帰モデルをデータセットまたはエンティティデータを用いて構築し、属性統計(最小値、最大値、平均値、または確率密度)を計算する。
図8は、ある実施形態に係る、モデル構築プロセスを示す図である。
図8に示すように、ある実施形態に従うと、たとえばSpark環境430内で実行する場合、Spark MLlib統計を用いて、ナレッジグラフに属性プロパティとして追加されたカラム統計を計算することができる。計算したカラム統計を、他のデータセットまたはエンティティメタデータとともに用いて、その回帰モデルが分類の新たなエンティティのテストにおいて使用されるエンティティを、ショートリストに入れることができる。
図9は、ある実施形態に係る、新たに追加されたHUBからのデータセットまたはエンティティを分類するプロセスを示す図である。
図9に示すように、ある実施形態に従うと、新たなHUB、この例ではOracle HUB442が追加されると、このHUBから提供されたデータセットまたはエンティティ、たとえば当事者情報444および顧客情報446が、モデルにより、先に作成されたトレーニングまたはシードデータに基づいて、当事者448として分類される。
たとえば、ある実施形態に従うと、カラム統計を、新たなデータセットまたはエンティティのデータから計算し、エンティティのサブグラフを表す一組の述語(predicate)を
、この情報を、インジェストの一部として利用できる他のメタデータとともに用いて、作成する。
ある実施形態に従うと、カラム統計の計算は、最尤推定(maximum likelihood estimation:MLE)法において有用であり、一方、サブグラフはデータセットの回帰モデルに
おいて有用である。新たなエンティティのために生成された一組のグラフ述語を用いて、新たなエンティティのテストおよび分類のために、候補エンティティモデルをショートリストに入れる。
図10は、ある実施形態に係る、新たに追加されたHUBからのデータセットまたはエンティティを分類するプロセスをさらに示す図である。
図10に示すように、ある実施形態に従うと、分類対象である、新たなデータセットまたはエンティティのサブグラフを表す述語を、既にナレッジグラフの一部であるデータセットまたはエンティティを表す同様のサブグラフと比較する450。一致の確率に基づく一致するエンティティのランキングを、新たなエンティティの分類のためのテストで使用するエンティティモデルをショートリストに入れる際に使用する。
図11は、ある実施形態に係る、新たに追加されたHUBからのデータセットまたはエンティティを分類するプロセスをさらに示す図である。
図11に示すように、ある実施形態に従うと、ショートリストに入れた一致するデータセットまたはエンティティの回帰モデルを、新たなデータセットまたはエンティティからのデータのテストに使用する。MLパイプラインを拡張して追加の分類方法/モデルを包含することにより、プロセスの精度を改善することができる。分類サービスは、許容可能な閾値、たとえばこの例では0.8よりも高い確率以内に一致がある場合、新たなエントリを分類する452。そうでなければ、このデータセットまたはエンティティを新たなビジネス型としてナレッジグラフに追加することができる。また、ユーザは、結果を受容ま
たは拒否することによって分類を検証することができる。
関数型分類
ある実施形態に従うと、エンティティの関数型はその遺伝子型(genotype)である。関数型は、それを通して変換アクションが規定されるインターフェイスとして説明することもできる。たとえば、結合変換またはフィルタは、この場合はリレーショナルエンティティ等の関数型で規定される。要約すると、すべての変換は、パラメータとしての関数型で規定される。
図12は、ある実施形態に係る、関数型分類に使用するオブジェクト図を示す図である。
オブジェクト図460による図12に示すように、ある実施形態に従うと、本システムは、データセットまたはエンティティを評価してその関数型を特定するときの基準となる一組のルールを通して、一般的なケース(この例ではディメンション、レベル、またはキューブ)を説明することができる。
たとえば、ある実施形態に従うと、多次元キューブは、その測定属性および次元によって説明することができる。これらは各々それ自体それらのタイプおよびその他の特性によって規定できる。ルールエンジンは、ビジネス型エンティティを評価しその関数型を評価に基づいてアノテートする。
図13は、ある実施形態に係る、ディメンション関数型分類の一例を示す図である。
図13に示す一例としての関数型分類470の階層に示すように、ある実施形態に従うと、レベルは、たとえばそのディメンションおよびレベル属性によって規定することができる。
図14は、ある実施形態に係る、キューブ関数型分類の一例を示す図である。
図14に示す一例としての関数型分類480の階層に示すように、ある実施形態に従うと、キューブは、たとえばその測定属性および次元によって規定することができる。
図15は、ある実施形態に係る、ビジネスエンティティの関数型を評価するための関数型分類の使用の一例を示す図である。
図15に示すように、この例490において、ある実施形態に従うと、売上データセットは、ルールエンジンによって、キューブ関数型として評価されねばならない。同様に、製品、顧客、および時間は、ディメンションおよびレベル(たとえば年齢グループ、性別)として評価されねばならない。
ある実施形態に従うと、この具体例におけるエンティティの関数型およびデータセットまたはエンティティ要素を特定するルールが以下に示される。これは、同じ関数型の評価のために指定できるいくつかのルールを含む。たとえば、タイプ「Date」のカラムは、親レベルのエンティティに対するリファレンスがあるか否かに関わらず、ディメンションとして考慮することができる。同様に、郵便番号、性別、および年齢は、これらをディメンションとして特定するのにデータルールしか必要としない場合がある。
Figure 2022031851000017
図16は、ある実施形態に係る、関数変換に使用するオブジェクト図を示す図である。
図15に示すように、この例500において、ある実施形態に従うと、変換関数は関数型で規定することができる。ビジネスエンティティ(ビジネス型)は関数型としてアノテートされ、これは、デフォルトで、複合ビジネス型は関数型「エンティティ」であることを含む。
図17は、ある実施形態に係る、レコメンデーションエンジンの動作を示す図である。
図17に示すように、ある実施形態に従うと、レコメンデーションエンジンは、ビジネス型で規定された一組のアクションであるレコメンデーションを生成する。各アクションは、データセットに対する変換を適用することを要求する指令である。
ある実施形態に従うと、レコメンデーションコンテキスト530は、レコメンデーションのソースを抽出し、レコメンデーションを生成した一組の命題を特定するメタデータを含む。このコンテキストにより、レコメンデーションエンジンは、ユーザのレスポンスに基づいてレコメンデーションを学習しそれに優先順位を付けることができる。
ある実施形態に従うと、ターゲットエンティティ演繹/マッピング部512は、ターゲットの定義(およびデータセットまたはエンティティおよび属性ビジネス型をアノテートする分類サービス)を用いて、現在のデータセットをターゲットにマッピングすることを容易にする変換レコメンデーションを行う。これは、ユーザが、わかっているターゲットオブジェクト(たとえば売上キューブ)で開始し、パイプラインを構築してキューブをインスタンス化するときに、よくあることである。
ある実施形態に従うと、テンプレート(パイプライン/ソリューション)514は、再使用可能な一組のパイプラインステップおよび変換を規定して所望の最終結果を得る。たとえば、テンプレートがステップを含むことにより、エンリッチ化し、変換し、データマートに対してパブリッシュしてもよい。この場合の一組のレコメンデーションは、テンプレート設計を反映する。
ある実施形態に従うと、分類サービス516は、HUBからデータレイクにインジェストしたデータセットまたはエンティティのビジネス型を特定する。エンティティに対する
レコメンデーションは、同様のエンティティ(ビジネス型)に適用された変換に基づいて、または、ターゲットエンティティ演繹/マッピング部に関連して行うことができる。
ある実施形態に従うと、関数型サービス518は、規定されたルールに基づいてデータセットまたはエンティティが持つことができる関数型をアノテートする。たとえば、所定のデータセットからキューブを生成するためまたはそれをディメンションテーブルに結合するためには、キューブの関数型を規定するルールにデータセットが適合するか否かを評価することが重要である。
ある実施形態に従うと、パイプラインコンポーネント520からのパターン推論により、レコメンデーションエンジンは、類似するコンテキストの既存のパイプライン定義における所定のビジネス型に基づいて実行された変換をサマライズし、類似する変換を現在のコンテキストのレコメンデーションとして提案することができる。
ある実施形態に従うと、レコメンデーションコンテキストを用いて、レコメンデーション532を処理することができ、これは、アクション534、変換関数535、アクションパラメータ536、関数パラメータ537、およびビジネス型538を含む。
データレイク/データ管理戦略
先に述べたように、ある実施形態に従うと、データレイクは、システムHUBまたはその他のコンポーネントからの情報のパーシステンスのリポジトリを提供する。
図18は、ある実施形態に係るデータレイクの使用を示す図である。
図18に示すように、ある実施形態に従うと、データレイクは、1つ以上のデータアクセスAPI540、キャッシュ542、およびパーシステンスストア544に対応付けることができる。これらは共に動作することにより、正規化されているインジェストされたデータを、複数のパイプライン552、554、556で使用するために受ける。
ある実施形態に従うと、多種多様なデータ管理戦略を用いてデータ(パフォーマンス、スケーラビリティ)を管理するとともにデータレイクにおけるそのライフサイクルを管理することができる。これは、大まかにデータ駆動型またはプロセス駆動型に分類できる。
図19は、ある実施形態に係る、データ駆動型戦略を使用してデータレイクを管理することを示す図である。
図19に示すように、ある実施形態に従うと、データ駆動型アプローチでは、管理単位がHUBまたはデータサーバ規定に基づいて導出される。たとえば、このアプローチにおいて、Oracle1 HUBからのデータは、このHUBに対応付けられた第1のデータセンター560に格納することができ、SFHUB1からのデータは、このHUBに対応付けられた第2のデータセンター562に格納することができる。
図20は、ある実施形態に係る、プロセス駆動型戦略を使用してデータレイクを管理することを示す図である。
図20に示すように、ある実施形態に従うと、プロセス駆動型アプローチでは、管理単位がデータにアクセスする関連のパイプラインに基づいて導出される。たとえば、このアプローチにおいて、売上パイプラインに対応付けられたデータは、このパイプラインに対応付けられた第1のデータセンター564に格納することができ、他のパイプライン(たとえばパイプライン1、2、3)からのデータは、これら他のパイプラインに対応付けられた第2のデータセンター566に対応付けることができる。
パイプライン
ある実施形態に従うと、パイプラインは、インジェストされたデータに対して実行すべき変換または処理を規定する。処理済みのデータは、データレイクに格納されてもよく、または、たとえばDBCSのような別のエンドポイントに対してパブリッシュされてもよい。
図21は、ある実施形態に係るパイプラインコンパイラの使用を示す図である。
図21に示すように、ある実施形態に従うと、パイプラインコンパイラ582は、設計環境570と実行環境580との間で動作する。これは、1つ以上のパイプラインメタデータ572およびDSL、たとえばJava(登録商標) DSL574、JSON DSL576、Scala DSL578を受け取ることと、実行環境で使用される出力を、たとえばSparkアプリケーション584および/またはSQLステートメント586として与えることとを含む。
図22は、ある実施形態に係る、パイプライングラフの一例を示す図である。
図22に示すように、ある実施形態に従うと、パイプライン588はパイプラインステップのリスト含む。異なる種類のパイプラインステップは、このパイプライン内で実行できる異なる種類の動作を表している。各パイプラインステップは、一般的にパイプラインステップパラメータによって記述される、複数の入力データセットと複数の出力データセットとを含み得る。パイプライン内における動作の処理順序は、前のパイプラインステップからの出力パイプラインステップパラメータを、次のパイプラインステップに結合することによって規定される。このようにして、パイプラインステップと、パイプラインステップパラメータ間の関係とが、有向非巡回グラフ(directed acyclic graph:DAG)を形成する。
ある実施形態に従うと、パイプラインは、パイプラインの入力および出力パイプラインステップパラメータを表す1つ以上の固有パイプラインステップ(シグネチャパイプライン)をパイプラインが含む場合、別のパイプラインで再使用することができる。囲んでいるパイプラインは、(パイプライン使用(pipeline usage))パイプラインステップで再使用されるパイプラインである。
図23は、ある実施形態に係る、データパイプラインの一例を示す図である。
図23に示す一例としてのデータパイプライン600に示されるように、ある実施形態に従うと、データパイプラインはデータ変換を実行する。パイプライン内におけるデータの流れは、パイプラインステップパラメータの結合として表される。さまざまな種類のパイプラインステップが、異なる変換動作のためにサポートされる。これはたとえば、エンティティ(データをデータレイクから取り出す、または処理済みのデータをデータレイク/他のHBUに対してパブリッシュする)、および結合(複数のソースの融合)を含む。
図24は、ある実施形態に係る、データパイプラインの別の例を示す図である。
図24に示す一例としてのデータパイプライン610に示されるように、ある実施形態に従うと、データパイプラインP1は、別のデータパイプラインP2で再使用することができる。
図25は、ある実施形態に係る、オーケストレーションパイプラインの一例を示す図である。
図25に示す一例としてのオーケストレーションパイプライン620に示されるように、ある実施形態に従うと、オーケストレーションパイプラインを使用した場合、パイプラ
インステップを用いて、オーケストレーションフロー全体において実行する必要があるタスクまたはジョブを表すことができる。オーケストレーションパイプライン内のパイプラインステップはすべて、1つの入力パイプラインステップパラメータと1つの出力パイプラインステップパラメータとを有するものとする。タスク間の実行依存性は、パイプラインステップパラメータ間の結合として表すことができる。
ある実施形態に従うと、タスクの並列実行は、パイプラインステップが、条件なしで、前にある同じパイプラインステップに依存している場合(すなわちフォーク(fork))、スケジュールすることができる。あるパイプラインステップが、前にある複数のパスに依存している場合、このパイプラインステップは、それ自体の実行に先立って複数のパスすべてが完了するのを待つ(すなわち結合(join))。しかしながら、これは、タスクが並列に実行されることを常に意味する訳ではない。オーケストレーションエンジンは、利用できるリソースに応じて、タスクを直列で実行するか並列で実行するか否かを判定することができる。
図25に示す例において、ある実施形態に従うと、パイプラインステップ1が最初に実行される。パイプラインステップ2およびパイプラインステップ3が並列で実行される場合、パイプラインステップ4は、パイプラインステップ2およびパイプラインステップ3がいずれも完了してから実行される。オーケストレーションエンジンはまた、このオーケストレーションパイプラインを、パイプラインステップ間の依存性を満たしている限り、直列に(パイプラインステップ1、パイプラインステップ2、パイプラインステップ3、パイプラインステップ4)または(パイプラインステップ1、パイプラインステップ3、パイプラインステップ2、パイプラインステップ4)として実行することができる。
図26は、ある実施形態に係る、オーケストレーションパイプラインの一例をさらに示す図である。
図26に示す一例としてのパイプライン625に示されるように、ある実施形態に従うと、各パイプラインステップは、自身のセマンティクスに応じて、たとえば成功またはエラーステータス等のステータス630をリターンすることができる。2つのパイプラインステップ間の依存性は、パイプラインステップのリターンステータスに基づいて条件付きであってもよい。示されている例では、パイプラインステップ1が最初に実行され、首尾よく終了した場合はパイプラインステップ2が実行され、そうでなければパイプラインステップ3が実行される。パイプラインステップ2またはパイプライン3いずれかが実行された後に、パイプラインステップ4が実行される。
ある実施形態に従うと、オーケストレーションパイプラインを入れ子にすることにより、あるオーケストレーションパイプラインが別のオーケストレーションパイプラインをパイプライン使用(pipeline usage)を通して参照できるようにしてもよい。オーケストレーションパイプラインは、パイプライン使用(pipeline usage)としてのデータパイプラインを参照することもできる。オーケストレーションパイプラインとデータパイプラインとの相違は、オーケストレーションパイプラインが、シグネチャパイプラインステップを含まないデータパイプラインを参照するのに対し、データパイプラインは、シグナチャパイプラインステップを含む別のデータパイプラインを再使用できる点にある。
ある実施形態に従うと、パイプラインステップの種類およびコード最適化に応じて、データパイプラインを、Sparkクラスタ内で実行する単一のSparkアプリケーションとして、または、DBCS内で実行される複数のSQLステートメントとして、または、SQLおよびSparkコードの混合として、生成することができる。オーケストレーションパイプラインの場合、下にある実行エンジン内、またはたとえばOozie等のワ
ークフロースケジュールコンポーネント内で実行するために生成することができる。
コーディネーションファブリック
ある実施形態に従うと、コーディネーションファブリックまたはファブリックコントローラは、フレームワークコンポーネント(サービスプロバイダ)をデプロイし管理するのに必要なツールと、(ユーザ設計)アプリケーションとを提供し、アプリケーションの実行とリソース要求/割当を管理し、統合フレームワーク(メッセージングバス)を提供することにより、各種コンポーネント間のやり取りを容易にする。
図27は、ある実施形態に係る、メッセージングシステムを含むコーディネーションファブリックの使用を示す図である。
図27に示すように、ある実施形態に従うと、メッセージングシステム(たとえばKafka)650は、リソースマネージャ660(たとえばYarn/Mesos)と、スケジューラ662(たとえばChronos)と、アプリケーションスケジューラ664(たとえばSpark)と、ここではノード652、654、656、658として示さ
れている複数のノードとの間のインタラクションを調整する。
ある実施形態に従うと、リソースマネージャを用いてデータ計算タスク/アプリケーションのライフサイクルを管理する。これは、スケジューリング、モニタリング、アプリケーション実行、リソース調停および割当、ロードバランシングを含み、メッセージ駆動型コンポーネント統合フレームワーク内における(メッセージの作成者および消費者である)コンポーネントの構成およびデプロイを管理すること、ダウンタイムなしでコンポーネント(サービス)をアップグレードすること、および、サービスの混乱を最小にまたはなくした状態でインフラストラクチャをアップグレードすることを含む。
図28は、ある実施形態に係る、メッセージングシステムを含むコーディネーションファブリックの使用をさらに示す図である。
図28に示すように、ある実施形態に従うと、コーディネーションファブリック内のコンポーネント間の依存性が、簡単なデータ駆動型パイプライン実行ユースケースによって示されている。(c)は消費者(consumer)、(p)は生産者(producer)を示す。
図28に示す実施形態に従うと、スケジューラ(p)が、HUBへのデータのインジェストを開始することにより、プロセスを開始する(1)。インジェストエンジン(c)は、要求を処理し(2)、データをHUBからデータレイクにインジェストする。インジェストプロセスの終了後、インジェストエンジン(p)は、終了ステータスを伝達する(3)ことにより、パイプライン処理を開始する。スケジューラがデータ駆動型の実行をサポートする場合、実行するパイプラインプロセスを自動的に開始する(3a)ことができる。パイプラインエンジン(c)は、データの実行を待っているパイプラインを計算する(4)。パイプラインエンジン(p)は、実行のためにスケジューリングするパイプラインアプリケーションのリストを伝える(5)。スケジューラは、パイプラインのための実行スケジュール要求を取得し(6)、パイプラインの実行を開始する(6a)。アプリケーションスケジューラ(たとえばSpark)は、リソース割当についてリソースマネージャとの調停を行い(7)パイプラインを実行する。アプリケーションスケジューラは、割り当てられたノード内の実行部に、パイプラインを実行のために送る(8)。
オンプレミスエージェント
ある実施形態に従うと、オンプレミスエージェントは、ローカルデータへのアクセスを容易にし、かつ、限られたやり方で、分散型パイプライン実行を容易にする。オンプレミ
スエージェントは、たとえばクラウドDIサービスと通信するようにプロビジョニングおよび構成され、データアクセスおよび遠隔パイプライン実行要求を処理する。
図29は、ある実施形態に係る、システムで使用するオンプレミスエージェントを示す図である。
図29に示すように、ある実施形態に従うと、クラウドエージェントアダプタ682は、オンプレミスエージェント680をプロビジョニングし(1)、通信のためにエージェントアダプタエンドポイントを構成する。
インジェストサービスは、メッセージングシステムを通して、HUB1に対するローカルデータアクセス要求を開始する(2)。クラウドエージェントアダプタは、インジェストサービスを通して開始された要求へのアクセスを提供することにより、オンプレミスエージェントとメッセージングシステムとの間の仲介として動作し(3)、オンプレミスエージェントからのデータをデータレイクに書き込み、メッセージングシステムを通してタスクの終了を通知する。
プレミスエージェントは、データアクセス要求の処理のためにクラウドエージェントアダプタをポーリングする(4)またはデータをクラウドにアップロードする。クラウドエージェントアダプタは、データをデータレイクに書き込み(5)、メッセージングシステムを通してパイプラインに通知する。
DFMLフロープロセス
図30は、ある実施形態に係るデータフロープロセスを示す図である。
図30に示すように、ある実施形態に従うと、インジェストステップ692において、データは、さまざまなソースたとえばSFDC、S3、またはDBaaSからインジェストされる。
データ準備ステップ693において、インジェストされたデータは、たとえば重複排除、標準化、またはエンリッチ化によって準備される。
変換ステップ694において、システムは、マージ、フィルタ、またはデータセットのルックアップを実行することにより、データを変換する。
モデルステップ695において、1つ以上のモデルが、当該モデルに対するマッピングとともに生成される。
パブリッシュステップ696において、システムは、モデルをパブリッシュし、ポリシーおよびスケジュールを指定し、ターゲットデータ構造をポピュレートすることができる。
メタデータおよびデータ駆動型自動マッピング
ある実施形態に従うと、このシステムは、1つ以上のデータソースまたはターゲット(本明細書においていくつかの実施形態ではHUBと呼ぶ)間における、複合データ構造、データセット、またはエンティティの自動マッピングのサポートを提供することができる。自動マッピングは、メタデータ、スキーマ、およびデータセットの統計プロファイリングによって駆動することができる。自動マッピングを使用することにより、入力HUBに対応付けられたソースデータセットまたはエンティティを、ターゲットデータセットまたはエンティティに、またはその逆にマッピングすることにより、1つ以上の出力HUBで
使用されるフォーマットまたは組織(プロジェクション)で準備された出力データを生成することができる。
たとえば、ある実施形態に従うと、ユーザは、データフロー、パイプライン、またはLambdaアプリケーションを実装(たとえば構築)するために、入力HUB内のソースまたは入力データセットまたはエンティティから、出力HUB内のターゲットまたは出力データセットまたはエンティティにマッピングされるデータを選択することを所望する場合がある。
ある実施形態に従うと、HUBおよびデータセットまたはエンティティの、非常に大きな組について、入力HUBから出力HUBへのデータのマップを手作業で作成することは、極めて長い時間を要する非効率的なタスクとなり得るので、自動マッピングにより、データのマッピングのためのレコメンデーションをユーザに提供することによって、データフローアプリケーションたとえばパイプライン、Lambdaアプリケーションの単純化にユーザが集中できるようにする。
ある実施形態に従うと、データAIサブシステムは、グラフィカルユーザインターフェイス(たとえばLambda Studio統合開発環境(Lambda Studio Integrated Development Environment)(IDE))を介して、自動マップサービスを求める自動マップ要求を受け
ることができる。
ある実施形態に従うと、この要求は、自動マップサービスの実行対象であるアプリケーションに対して指定されたファイルを、入力HUBを特定する情報、データセットまたはエンティティ、および1つ以上の属性とともに、含み得る。アプリケーションファイルは、アプリケーションのためのデータに関する情報を含み得る。データAIサブシステムは、アプリケーションファイルを処理することにより、属性名およびデータ型を含む、エンティティ名とエンティティの他の形状特性とを抽出することができる。自動マップサービスは、これを、マッピングのための可能な候補セットを発見するためのサーチにおいて使用することができる。
ある実施形態に従うと、本システムは、たとえばデータウェアハウス等のHUBへの変換のために、データにアクセスすることができる。アクセスされたデータは、半構造化および構造化データを含むさまざまな種類のデータを含み得る。データAIサブシステムは、アクセスされたデータに対し、データの1つ以上の形状、特徴、または構造を判別することを含む、メタデータ解析を実行することができる。たとえば、メタデータ解析により、データ型(たとえばビジネス型および関数型)、およびデータのカラム形状を判別することができる。
ある実施形態に従うと、データのメタデータ解析に基づいて、データの1つ以上のサンプルを特定することができ、サンプリングされたデータに機械学習プロセスを適用することにより、アクセスされたデータ内のデータのカテゴリを判別し、モデルをアップデートすることができる。データのカテゴリは、たとえば、データ内のファクトテーブル等のデータの関連部分を示し得る。
ある実施形態に従うと、機械学習は、たとえばロジスティック回帰モデルまたは機械学習のために実装できる他の種類の機械学習モデルを用いて、実装することができる。ある実施形態に従うと、データAIサブシステムは、データ内の1つ以上のデータアイテムの関係を、データのカテゴリに基づいて解析することができる。この関係は、データのカテゴリについて、データ内の1つ以上のフィールド示す。
ある実施形態に従うと、データAIサブシステムは、特徴抽出のためのプロセスを実行することができ、これは、アクセスされたデータの属性についてランダムにサンプリングされたデータの統計プロファイル、データ型、および1つ以上のメタデータを判別することを含む。
たとえば、ある実施形態に従うと、データAIサブシステムは、アクセスされたデータのプロファイルを、そのデータのカテゴリに基づいて生成することができる。このプロファイルは、データを出力HUBに変換するために生成することができ、たとえばグラフィカルユーザインターフェイスに表示できる。
ある実施形態に従うと、このようなプロファイルを作成した結果、このモデルは、入力データセットまたはエンティティに対する候補データセットまたはエンティティの類似度に関するある程度の信頼度で、レコメンデーションをサポートすることができる。レコメンデーションは、フィルタリングしソートした後に、グラフィカルユーザインターフェイスを介してユーザに提供することができる。
ある実施形態に従うと、自動マップサービスは、ユーザがデータフローアプリケーションたとえばパイプライン、Lambdaアプリケーションを構築しているステージに基づいて、レコメンデーションを動的に示唆することができる。
エンティティレベルにおけるレコメンデーションの一例は、ある実施形態に従うと、属性のレコメンデーション、たとえば別の属性または別のエンティティに自動的にマッピングされるエンティティのカラムを、含み得る。サービスは、ユーザの過去の活動に基づいて、継続的にレコメンデーションを提供しユーザを案内することができる。
ある実施形態に従うと、レコメンデーションは、たとえば入力HUBに対応付けられたソースデータセットまたはエンティティから、出力HUBに対応付けられたターゲットデータセットまたはエンティティに、自動マップサービスから提供されたアプリケーションプログラミングインターフェイス(API)(たとえばREST API)を用いて、マッピングすることができる。レコメンデーションは、たとえば属性、データ型、および表現等のデータのプロジェクションを示すことができ、上記表現は、データ型に関する属性のマッピングであってもよい。
ある実施形態に従うと、本システムは、レコメンデーションに基づいてアクセスされたデータの変換のための出力HUBを選択するために、グラフィカルユーザインターフェイスを提供することができる。たとえば、グラフィカルユーザインターフェイスにより、ユーザは、データを出力HUBに変換するためのレコメンデーションを選択することができる。
自動マッピング
ある実施形態に従うと、自動マッピング機能は数学的に定義することができ、エンティティ集合Eは次のように定義される。
Figure 2022031851000018
式中、形状(shape)集合Sは、メタデータ(metadata)、データ型(data type)および統計プロファイリングディメンション(statistical profiling dimension)を含む。
目的は、eとeとの間の類似度の確率が最大になるjを見出すことである。
Figure 2022031851000019
データセットまたはエンティティレベルにおいて、問題はバイナリ問題である。すなわち、データセットまたはエンティティが類似しているか類似していないかである。f、f、h(f,f)がソース、ターゲットの特徴、およびソースとターゲットとの間のインタラクティブ特徴のセットを表すとする。したがって、目的は類似度の確率を推定することである。
Figure 2022031851000020
対数尤度関数は次のように定義される
Figure 2022031851000021
したがって、ロジスティック回帰モデルにおいて、未知の係数は次のように推定できる。
Figure 2022031851000022
ある実施形態に従うと、自動マップサービスは、たとえば、システムファサードサービスからHTTP POST要求を受けたことにより、トリガすることができる。システムファサードAPIは、データフローアプリケーションたとえばパイプライン、LambdaアプリケーションJSONファイルを、UIから自動マップREST APIに送り、パーサモジュールは、アプリケーションJSONファイルを処理し、属性名およびデータ型を含むデータセットまたはエンティティのエンティティ名および形状を抽出する。
ある実施形態に従うと、自動マップサービスは、サーチを利用することにより、マッピングのための有力候補セットを素早く発見する。候補セットは関連性が高いセットである
必要があるので、特別なインデックスおよびクエリを用いてこれを実現することができる。この特別なインデックスは、エンティティのすべての属性が格納されすべてがN-gramのコンビネーションでトークン化されている特別なサーチフィールドを取り入れる。クエリ時に、サーチクエリビルダモジュールは、たとえばレーベンシュタイン距離に基づいてファジーサーチ特徴を活用することにより、所定のエンティティのエンティティ名と属性名との両方を用いて特別なクエリを構成し、サーチブースト機能を活用することにより、結果を、ストリング類似度という点における関連性によってソートする。
ある実施形態に従うと、レコメンデーションエンジンは、複数の関連結果、たとえば多くの場合は上位Nの結果の選択を、ユーザに対して示す。
ある実施形態に従うと、高い精度を得るために、機械学習モデルは、ソースとターゲットを比較し、抽出された特徴に基づいてエンティティの類似度のスコアを求める。特徴抽出は、各属性についてランダムにサンプリングされたデータの統計プロファイル、データ型、およびメタデータを含む。
ある実施形態に従うと、本明細書の記載は概してロジスティック回帰モデルを用いてOracle Business Intelligence(OBI)系統マッピングデータから得た自動マッピングの例を学習することを説明しているが、その他のスーパーバイズされる機械学習モデルを代わりに使用することができる。
ある実施形態に従うと、ロジスティック回帰モデルの出力は、統計的な意味において、候補データセットまたはエンティティの、入力データセットまたはエンティティに対する類似の程度の総信頼度を表す。的確なマッピングを発見するために、その他1つ以上のモデルを用いて、類似する特徴を使用してソース属性とターゲット属性との類似度を計算することができる。
最後に、ある実施形態に従うと、レコメンデーションがフィルタリングおよびソートされてシステムファサードに送り返されユーザインターフェイスに送られる。自動マップサービスは、データフローアプリケーションたとえばパイプラインまたはLambdaアプリケーション設計中に、ユーザがどのステージにいるかに基づいて、レコメンデーションを動的に提示する。サービスは、ユーザの過去の活動に基づいて、継続的にレコメンデーションを提供しユーザをガイドすることができる。自動マッピングは、フォワード・エンジニアリング方向またはリバースエンジニアリング方向いずれかで実施することができる。
図31は、ある実施形態に係る、データ型の自動マッピングを示す図である。
図31に示すように、ある実施形態に従うと、システムファサード701および自動マップAPI702により、データフローアプリケーションたとえばパイプラインまたはLambdaアプリケーションを、ソフトウェア開発コンポーネントたとえばLambda Studioから
受けることができる。パーサ704は、アプリケーションのJSONファイルを処理し、属性名およびデータ型を含むエンティティ名および形状を抽出する。
ある実施形態に従うと、サーチインデックス708を用いてプライマリサーチ710をサポートすることにより、マッピングのためのデータセットまたはエンティティの有力候補セットを発見する。サーチクエリビルダモジュール706は、所定のエンティティのエンティティ名および属性名の両方を用いてクエリを構成することにより、選択データセットまたはエンティティ712を求める。
ある実施形態に従うと、機械学習(ML)モデルを用いてソースとターゲットの対を比較し、抽出された特徴に基づいて、データセットまたはエンティティの類似度のスコアを
求める。特徴抽出714は、各属性についてランダムにサンプリングされたデータの統計プロファイル、データ型、およびメタデータを含む。
ある実施形態に従うと、ロジスティック回帰モデル716は、出力として、入力エンティティに対する候補エンティティの類似の程度の総信頼度を提供する。より正確なマッピングを発見するために、カラムマッピングモデル718を用いてソース属性とターゲット属性との類似度をさらに評価する。
ある実施形態に従うと、次に、自動マッピング720として、レコメンデーションを、ソフトウェア開発コンポーネントたとえばLambda Studioに返すために、ソートする。自
動マップサービスは、データフローアプリケーションたとえばパイプラインまたはLambdaアプリケーション設計中に、ユーザがどのステージにいるかに基づいて、レコメンデーションを動的に提示する。サービスは、ユーザの過去の活動に基づいて、継続的にレコメンデーションを提供しユーザをガイドすることができる。
図32は、ある実施形態に係る、マッピングの生成のための自動マップサービスを示す図である。
図32に示すように、ある実施形態に従うと、自動マップサービスを、マッピングの生成のために提供することができる。これは、UIクエリ728を受け、クエリ理解エンジン729に送り、その後クエリ分解730コンポーネントに送ることを含む。
ある実施形態に従うと、プライマリサーチ710をデータHUB722を用いて実行することにより、後のメタデータおよび統計プロファイル処理732で使用する候補データセットまたはエンティティ731を求める。
ある実施形態に従うと、結果は、Get Statsプロファイル734コンポーネント、デー
タAIシステム724、および特徴抽出735に送られる。結果は、合成736、モデル723に従う最終信頼度マージおよびランキング739に使用され、レコメンデーションおよび関連信頼度740に与えられる。
自動マップの例
図33は、ある実施形態に係る、ソーススキーマとターゲットスキーマとの間のマッピングの一例を示す図である。
図33に示すように、この例741は、ある実施形態に従い、たとえば(a)上位語(hypernym)、(b)同義語(synonym)、(c)相等性(equality)、(d)Soundex、および(e)ファジーマッチングに基づく、単純な自動マッピングの例を示す。
図34は、ある実施形態に係る、ソーススキーマとターゲットスキーマとの間のマッピングの別の例を示す図である。
図34に示すように、専らメタデータに基づくアプローチは、この情報が無関係の場合、失敗する。ある実施形態に従い、図34は、ソース属性名およびターゲット属性名に全く情報がない場合の例742を示す。メタデータ特徴がないとき、本システムは、特徴の統計プロファイリングを含むモデルを用いて類似するエンティティを発見することができる。
自動マッププロセス
図35は、ある実施形態に係る、自動化されたデータ型のマッピングを提供するプロセ
スを示す図である。
図35に示すように、ステップ744で、ある実施形態に従うと、アクセスされたデータを処理することにより、アクセスされたデータのメタデータ解析を実行する。
ステップ745において、アクセスされたデータの1つ以上のサンプルを特定する。
ステップ746において、機械学習プロセスを適用することにより、アクセスされたデータ内のデータのカテゴリを判別する。
ステップ748において、アクセスされたデータの自動マッピングに使用するために、判別したデータのカテゴリに基づいて、アクセスされたデータのプロファイルを生成する。
動的レコメンデーションおよびシミュレーション
ある実施形態に従うと、このシステムは、(本明細書においていくつかの実施形態ではLambda Studioと呼ぶ)ソフトウェア開発コンポーネントと、上記システムで使用される
視覚環境を提供する(本明細書においていくつかの実施形態ではパイプラインエディタまたはLambda Studio IDEと呼ぶ)グラフィカルユーザインターフェイスとを含み得る。こ
れは、入力HUBからアクセスされたデータに対するセマンティックアクションの実行のために、当該データに対応付けられた意味またはセマンティクスの理解に基づいてリアルタイムレコメンデーションを提供することを含む。
たとえば、ある実施形態に従うと、グラフィカルユーザインターフェイスは、入力HUBからアクセスされたデータに対する動作(セマンティックアクションとも呼ぶ)を実行するためにリアルタイムレコメンデーションを提供することができる。これは、部分データおよびこのデータの形状またはその他の特性を含む。セマンティックアクションは、データに対し、このデータに対応付けられた意味またはセマンティクスに基づいて実行することができる。データの意味を用いて、このデータに対して実行できるセマンティックアクションを選択することができる。
ある実施形態に従うと、セマンティックアクションは、1つ以上のデータセットに対するオペレータを表し得るものであり、システム内で宣言的に規定されたベースセマンティックアクションまたは関数を参照することができる。処理済みの1つ以上のデータセットは、セマンティックアクションを実行することによって生成できる。セマンティックアクションは、特定の関数型またはビジネス型に対応付けられたパラメータによって規定することができる。これらは、処理対象の特定のアップストリームデータセットを表す。グラフィカルユーザインターフェイスをメタデータ駆動型とし、グラフィカルユーザインターフェイスが動的に生成されてレコメンデーションをデータ内で特定されたメタデータに基づいて動的に提供するようにしてもよい。
図36は、ある実施形態に係る、アクセスされたデータに対して有効にされた1つ以上のセマンティックアクションを表示するシステムを示す図である。
図36に示すように、ある実施形態に従うと、ユーザ入力エリア752を有するグラフィカルユーザインターフェイス750を用いて、アクセスされたデータに対して有効にされたセマンティックアクションに対するクエリが、システムのナレッジソースに送られる。このクエリは、アクセスされたデータの分類を示す。
ある実施形態に従うと、クエリに対するレスポンスをナレッジソースから受ける。このレスポンスは、アクセスされたデータに対して有効にされ、データの分類に基づいて特定
された、1つ以上のセマンティックアクションを示す。
ある実施形態に従うと、アクセスされたデータに対して有効にされたセマンティックアクションのうち選択されたセマンティックアクションが、選択のためおよびアクセスされたデータとともに使用するために表示される。これは、アクセスされたデータの処理中に、アクセスされたデータに対して有効にされたセマンティックアクション756のうち選択されたセマンティックアクションまたはレコメンデーション758のリストを、自動的に提供またはアップデートすることを含む。
ある実施形態に従うと、レコメンデーションは、静的データに基づいて予め計算するのではなく、動的に提供することができる。たとえば、システムは、たとえばユーザプロファイルまたはユーザの経験レベル等の情報を考慮して、リアルタイムでアクセスされるデータに基づき、リアルタイムでレコメンデーションを提供することができる。リアルタイムデータに対してシステムが提供するレコメンデーションは、データフローアプリケーションたとえばパイプライン、Lambdaアプリケーションを生成するために、注目すべき、関連する、正確なものであってもよい。レコメンデーションは、特定のメタデータに対応付けられたデータに関して、ユーザの行動に基づいて提供することができる。システムは、情報に対するセマンティックアクションをレコメンドすることができる。
たとえば、ある実施形態に従うと、システムは、データをインジェストし、変換し、統合し、任意のシステムに対してパブリッシュすることができる。システムは、エンティティを用いてその数値基準のうちのいくつかを興味深い解析手法で解析することをレコメンドすることができ、このデータをさまざまなディメンションでピボットし、どれが興味深いディメンションであるかを示し、ディメンション階層に関してデータを要約し、より多くのインサイトでデータをエンリッチ化する。
ある実施形態に従うと、レコメンデーションは、たとえばデータのメタデータ解析のような技術を用いるデータの解析に基づいて、提供することができる。
ある実施形態に従うと、メタデータ解析は、たとえばデータの形状、特徴、および構造等のデータの分類を判別することを含み得る。メタデータ解析は、データ型(たとえばビジネス型および関数型)を判別することができる。メタデータ解析は、データのカラム形状を示すこともできる。ある実施形態に従うと、データを、メタデータ構造(たとえば形状および特徴)と比較することにより、データ型およびデータに対応付けられた属性を判別することができる。メタデータ構造は、システムのシステムHUB(たとえばナレッジソース)で規定することができる。
ある実施形態に従うと、システムは、メタデータ解析を用いて、システムHUBにクエリすることにより、メタデータに基づいてセマンティックアクションを特定することができる。レコメンデーションは、入力HUBからアクセスされたデータのメタデータの解析に基づいて決定されたセマンティックアクションであってもよい。具体的には、セマンティックアクションは、メタデータにマッピングすることができる。たとえば、セマンティックアクションは、これらのアクションが許可されたおよび/または適用可能なメタデータにマッピングすることができる。セマンティックアクションは、ユーザによって規定されてもよく、および/またはデータの構造に基づいて規定されてもよい。
ある実施形態に従うと、セマンティックアクションは、メタデータに対応付けられた条件に基づいて規定することができる。システムHUBは、セマンティックアクションが修正、削除、または増補されるように、修正することができる。
ある実施形態に従うと、セマンティックアクションの例は、キューブの構築、データのフィルタリング、データのグループ分け、データの集約、または、データに対して実行できるその他のアクションを含み得る。メタデータに基づいてセマンティックアクションを規定することにより、データに対して許可されるセマンティックアクションを決定するのにマッピングまたはスキームは不要になる。セマンティックアクションは、新たな異なるメタデータ構造が発見されたときに規定してもよい。よって、システムは、入力として受けたデータについて解析されたメタデータを用いて、セマンティックアクションの特定に基づき、レコメンデーションを動的に求めることができる。
ある実施形態に従うと、セマンティックアクションを第三者が規定し、この第三者がデータを、たとえばメタデータに対応付けられた1つ以上のセマンティックアクションを規定するデータを、供給できるようにすることができる。システムは、システムHUBに動的にクエリすることにより、メタデータに対して利用できるセマンティックアクションを決定することができる。よって、システムHUBを修正し、その時点でこのような修正に基づいて許可されるセマンティックアクションをシステムが決定するようにしてもよい。システムは、動作(たとえばフィルタリング、検出、および登録)を実行することにより、第三者から取得したデータを処理することができる。このとき、データは、セマンティックアクションを規定し、上記処理によって特定されたセマンティックアクションに基づいてセマンティックアクションが利用できるようにすることができる。
図37および図38は、ある実施形態に係る、アクセスされたデータに対して有効にされた1つ以上のセマンティックアクションを表示するグラフィカルユーザインターフェイスを示す図である。
図37に示すように、ある実施形態に従うと、ソフトウェア開発コンポーネント(たとえばLambda Studio)は、グラフィカルユーザインターフェイス(たとえばパイプライン
エディタまたはLambda Studio IDE)750を提供することができる。これは、出力HU
Bへのプロジェクションのために入力データを処理するまたは入力データの処理をシミュレートする際に使用するレコメンデーションセマンティックアクションを表示することができる。
たとえば、ある実施形態に従うと、図37のインターフェイスによって、ユーザは、データフローアプリケーションたとえばパイプライン、Lambdaアプリケーションに対応付けられたオプション752を表示することができる。これは、たとえば入力HUB規定754を含む。
ある実施形態に従うと、データフローアプリケーションたとえばパイプライン、Lambdaアプリケーションの作成中、または、データフローアプリケーションたとえばパイプライン、Lambdaアプリケーションの、入力データに対するシミュレーション中に、1つ以上のセマンティックアクション756またはその他のレコメンデーション758を、ユーザによる検討用にグラフィカルユーザインターフェイスに表示することができる。
ある実施形態に従うと、シミュレーションモードにおいて、ソフトウェア開発コンポーネント(たとえばLambda Studio)は、サンドボックス(sandbox)環境を提供する。この環境によって、ユーザは、出力に対するさまざまなセマンティックアクションの実行の結果を即時見ることができる。これは、アクセスされたデータの処理中に、アクセスされたデータに適したセマンティックアクションのリストを自動的にアップデートすることを含む。
たとえば、図38に示すように、ある実施形態に従うと、何らかの情報を探しているユ
ーザの開始点から、システムは、情報に対する動作760をレコメンドすることができる。たとえば、エンティティを用いてその数値基準のうちのいくつかを興味深い解析手法で解析することを推奨し、このデータをさまざまなディメンションでピボットし、どれが興味深いディメンションであるかを示し、ディメンション階層に関してデータを要約し、より多くのインサイトでデータをエンリッチ化する。
ある実施形態に従うと、示されている例では、ソースおよびディメンションの双方が、システム内の解析可能なエンティティに対して推奨され、多次元キューブを構築するタスクを、概ねポイントおよびクリックのうちの一方にする。
典型的には、このような作業には多くの経験とドメイン専用知識が必要である。機械学習を用いてデータ特性と一般的な統合パターンに対するユーザの行動パターンとの両方を、セマンティックサーチと機械学習からのレコメンデーションとの組み合わせとともに解析することにより、ビジネス専用アプリケーションの構築のためにアプリケーションを開発するための先端ツーリング(tooling)を可能にする。
図39は、ある実施形態に係る、アクセスされたデータに対して有効にされた1つ以上のセマンティックアクションを表示するプロセスを示す図である。
図39に示すように、ステップ772で、ある実施形態に従い、アクセスされたデータを処理することにより、アクセスされたデータのメタデータ解析を実行する。メタデータ解析は、アクセスされたデータの分類を判別することを含む。
ステップ774で、システムのナレッジソースに、アクセスされたデータに対して有効にされたセマンティックアクションのクエリを送信する。このクエリはアクセスされたデータの分類を示す。
ステップ775で、ナレッジソースから、上記クエリに対するレスポンスを受信する。このレスポンスは、アクセスされたデータに対して有効にされ上記データの分類に基づいて特定された1つ以上のセマンティックアクションを示す。
ステップ776で、アクセスされたデータに対して有効にされたセマンティックアクションの中から選択されたセマンティックアクションを、選択のためかつアクセスされたデータに対して使用するために、グラフィカルユーザインターフェイスに表示する。これは、アクセスされたデータの処理中に、アクセスされたデータに対して有効にされたセマンティックアクションの中から選択されたセマンティックアクションのリストを自動的に提供またはアップデートすることを含む。
データフローの関数分解
ある実施形態に従うと、このシステムは、ソフトウェアアプリケーションのデータフローの関数分解から特定されたパターンに基づいて、入力データに対するアクションおよび変換をレコメンドするためのサービスを提供することができ、これは、後のアプリケーションにおいて上記データフローに可能な変換を判定することを含む。データフローは、データの変換、述語、およびデータに適用されるビジネスルールを記述するモデルと、データフロー内で使用される属性とに分解することができる。
図40は、ある実施形態に係る、パイプライン、Lambdaアプリケーションを評価してその構成要素を求めることにより、パターン検出および帰納的学習を容易にすることをサポートすることを示す。
図40に示すように、ある実施形態に従うと、関数分解ロジック800すなわちソフトウェアコンポーネントは、コンピュータシステムまたはその他の処理デバイスによって実行可能なソフトウェアまたはプログラムコードとして提供することができ、(たとえばパイプラインエディタまたはLambda Studio IDE内の)ディスプレイ805に対し、関数分
解802およびレコメンデーション804を提供するために使用することができる。たとえば、このシステムは、データフローアプリケーションたとえばパイプライン、Lambdaアプリケーションのデータフローの関数分解から特定されたパターン/テンプレートに基づいて、データに対するアクションおよび変換をレコメンドするためのサービスを提供することができる、すなわち、データフローの関数分解を通して、後のアプリケーションにおいてデータフローに可能な変換を判定するためのパターンを観察することができる。
ある実施形態に従うと、このサービスは、データフローを、データの変換、述語、およびデータに適用されるビジネスルールを記述するモデルと、データフローで使用される属性とに分解または分類することができるフレームワークによって実現できる。
従来、アプリケーションのデータフローは、データに対する一連の変換を表すことができ、データに適用される変換のタイプは、コンテキスト性が高い。大抵のデータ統合フレームワークにおいて、通常、プロセスの系統は、データフローが如何にして永続化され、解析され、生成されるかに関しては、限定的であるまたは存在しない。ある実施形態に従うと、このシステムによって、セマンティックリッチエンティティタイプに基づいてフローまたはグラフからコンテキストが関連するパターンを導出することができ、さらにデータフロー文法およびモデルを学習し、これを用いて、所定の類似するコンテキストが与えられたときに複合データフローグラフを生成することができる。
ある実施形態に従うと、システムは、データフローの設計仕様に基づいて、パターンおよびテンプレートを規定する1つ以上のデータ構造を生成することができる。データフローを分解して、関数式を規定するデータ構造にすることにより、パターンおよびテンプレートを決定することができる。データフローを用いて、データ変換のレコメンデーションのためのパターンを決定するための関数式を予測し生成することができる。レコメンデーションは、分解されたデータフローおよび固有パターンの帰納的学習によって導出されたモデルに基づいており、粒度を細かくすることができる(たとえば、特定の属性に対するスカラー変換をレコメンド、または、1つ以上の属性をフィルタリングまたは結合のために述語において使用)。
ある実施形態に従うと、データフローアプリケーションたとえばパイプライン、Lambdaアプリケーションにより、ユーザは、データに対するセマンティックアクションに基づいて複雑なデータ変換を生成することができる。このシステムは、データ変換を、パイプライン、Lambdaアプリケーションのためのデータのフローを規定する1つ以上のデータ構造として、格納することができる。
ある実施形態に従うと、データフローアプリケーション、たとえばパイプライン、Lambdaアプリケーションのデータフローの分解を利用することにより、データのパターン解析を判断し、関数式を生成することができる。分解は、セマンティックアクションと、変換および述語、またはビジネスルールに対して実行することができる。先のアプリケーションのセマンティックアクション各々は、分解を通じて特定することができる。帰納のプロセスを用いて、ビジネスロジックを、そのコンテキスト要素(ビジネス型および関数型)を含むデータフローから、抽出することができる。
ある実施形態に従い、プロセスに対してモデルを生成することができ、帰納に基づいて、コンテキストがリッチな規範データフロー設計レコメンデーションを生成することがで
きる。これらのレコメンデーションは、モデルから推論されたパターンに基づいていてもよく、各レコメンデーションは、アプリケーションのためのデータに対して実行できるセマンティックアクションに対応し得る。
ある実施形態に従い、システムは、関数分解に基づいてデータ変換のパターンを推論するプロセスを実行することができる。システムは、1つ以上のデータフローアプリケーションたとえばパイプライン、Lambdaアプリケーションのデータフローにアクセスすることができる。データフローを処理することにより、1つ以上の関数式を求めることができる。関数式は、データフロー内で特定されたアクション、述語、またはビジネスルールに基づいて生成することができる。アクション、述語、またはビジネスルールを用いることにより、データフローに対する変換のパターンを特定(たとえば推論)することができる。変換のパターンの推論は、受動プロセスであってもよい。
ある実施形態に従うと、変換のパターンは、異なるアプリケーションのデータフローの受動解析に基づいて、クラウドソーシング法で決定することができる。このパターンは、機械学習(たとえば深層強化学習)を用いて決定することができる。
ある実施形態に従うと、変換のパターンは、データフローアプリケーションたとえばパイプライン、Lambdaアプリケーションに対して生成された関数式について特定することができる。1つ以上のデータフローを分解することにより、データ変換のパターンを推論することができる。
ある実施形態に従うと、システムは、このパターンを用いて、新たなデータフローアプリケーションたとえばパイプライン、Lambdaアプリケーションのデータフローに対する1つ以上のデータ変換をレコメンドすることができる。貨幣交換のためのデータに対する処理のデータフローの例において、このシステムは、データに対する変換のパターンを特定することができる。また、このシステムは、アプリケーションの新たなデータフローに対する1つ以上の変換をレコメンドすることができ、このデータフローは、同様の貨幣交換のためのデータを含む。変換は、新たなデータフローを変換に従って修正することにより同様の貨幣交換を生み出すように、パターンに従って同様のやり方で実行することができる。
図41は、ある実施形態に係る、1つ以上のアプリケーション各々ごとに生成された1つ以上の関数式についてデータフロー内の変換のパターンを特定する手段を示す図である。
先に述べたように、ある実施形態に従うと、パイプラインたとえばLambdaアプリケーションにより、ユーザは、関係演算法におけるオペレータに対応するセマンティックアクションに基づいて、複雑なデータ変換を規定することができる。データ変換は通常、有向非巡回グラフもしくはクエリとして、または、DFMLの場合は入れ子関数として、永続化される。データフローアプリケーションたとえばパイプライン、Lambdaアプリケーションを分解し入れ子関数としてシリアライズすることにより、データフローのパターン解析を可能にし、同様のコンテキストにおいてデータセットに対する複雑な変換を抽出する関数式を生成するのに使用することができるデータフローモデルを帰納する。
ある実施形態に従うと、入れ子関数分解を、セマンティックアクション(行またはデータセットオペレータ)のレベルだけでなく、スカラー変換および述語構造でも実行する。これにより、複合データフローの深い系統機能を可能にする。帰納モデルに基づくレコメンデーションは、高粒度にすることができる(たとえば、特定の属性に対するスカラー変換をレコメンド、またはフィルタリングまたは結合のために述語における1つ以上の属性
を使用)。
ある実施形態に従うと、関数分解に含まれる要素は概ね以下の通りである。
アプリケーションは、トップレベルデータフロー変換を表す。
アクションは、1つ以上のデータセット(固有のデータフレーム)に対するオペレータを表す。
アクションは、システムにおいて宣言的に規定されたベースセマンティックアクションまたは関数を参照する。アクションは、1つ以上のアクションパラメータを有することができ、各アクションパラメータは、特定の役割(イン、アウト、イン/アウト)およびタイプを有することができ、1つ以上の処理済みのデータセットを返すことができ、数レベルの深さに埋め込むまたは入れ子にすることができる。
アクションパラメータは、アクションによって所有され、特定の関数型またはビジネス型を有し、処理対象の特定のアップストリームデータセットを表す。結合パラメータは、変換に使用されるHUB内のデータセットまたはエンティティを表す。値パラメータは、現在の変換のコンテキストにおいて処理される中間または一時データ構造を表す。
スコープリゾルバにより、全体のデータフローにおいて使用されるデータセットまたはデータセット内の要素に対し、プロセス系統を導出することができる。
図42は、ある実施形態に係る、1つ以上のアプリケーション各々ごとに生成された1つ以上の関数式についてデータフロー内の変換のパターンを特定する際に使用するオブジェクト図を示す図である。
図42に示すように、ある実施形態に従うと、関数分解ロジックを用いて、データフローアプリケーションの、たとえばパイプライン、Lambdaアプリケーションの、データフローを、データの変換、述語、およびデータに適用されるビジネスルールを記述するモデルと、データフロー内で使用される属性とに分解または分類することができる。これは、たとえば、パターンまたはテンプレート812(テンプレートがLambdaアプリケーションに対応付けられている場合はパイプライン)、サービス814、関数816、関数パラメータ818、および関数型820に分解することができる。
ある実施形態に従うと、これらの関数コンポーネント各々は、データフローアプリケーションたとえばパイプライン、Lambdaアプリケーションを反映する、たとえばタスク822またはアクション824に、さらに分解することができる。
ある実施形態に従うと、スコープリゾルバ826を用いて、特定の属性または埋め込まれたオブジェクトに対するリファレンスを、そのスコープを通してリゾルブすることができる。たとえば、図42に示すように、スコープリゾルバは、属性または埋め込まれたオブジェクトに対するリファレンスを、その隣接スコープを通してリゾルブする。たとえば、フィルタおよび別のテーブルの出力を用いる結合関数は、そのスコープリゾルバへのリファレンスを有し、InScopeOf動作と組合わせて使用することにより、リーフノードその
ルートノードにリゾルブすることができる。
図43は、ある実施形態に係る、1つ以上のアプリケーション各々ごとに生成された1つ以上の関数式についてデータフロー内の変換のパターンを特定するプロセスを示す図である。
図43に示すように、ある実施形態に従うと、ステップ842において、1つ以上のソフトウェアアプリケーション各々について、データフローにアクセスする。
ステップ844において、1つ以上のソフトウェアアプリケーションのデータフローを処理することにより、このデータフローを表す1つ以上の関数式を生成する。この1つ以上の関数式は、データフロー内で特定されたセマンティックアクションおよびビジネスルールに基づいて生成される。
ステップ845において、1つ以上のソフトウェアアプリケーション各々について生成した1つ以上の関数式に対し、データフロー内の変換のパターンを特定する。セマンティックアクションおよびビジネスルールを用いて、データフロー内の変換のパターンを特定する。
ステップ847において、データフロー内で特定された変換のパターンを用いて、1つ以上のデータ変換のレコメンデーションを、別のソフトウェアアプリケーションのデータフローに対して提供する。
オントロジー学習
ある実施形態に従うと、このシステムは、スキーマ定義のオントロジー解析を実行することにより、このスキーマに対応付けられたデータおよびデータセットまたはエンティティのタイプを判別し、エンティティとそれらの属性との関係に基づいて規定されたオントロジーを含むリファレンススキーマからモデルを生成またはアップデートすることができる。1つ以上のスキーマを含むリファレンスHUBを用いてデータフローを解析し、さらに、分類する、または、たとえば入力データの変換、エンリッチ化、フィルタリング、もしくはクロスエンティティデータ融合等の、レコメンデーションを行うことができる。
ある実施形態に従うと、本システムは、スキーマ定義のオントロジー解析を実行することにより、リファレンススキーマ内のデータおよびエンティティのタイプのオントロジーを決定することができる。言い換えると、このシステムは、エンティティとその属性との間の関係に基づいて規定されたオントロジーを含むスキーマからモデルを生成することができる。リファレンススキーマは、システムによって与えられるものであっても、デフォルトリファレンススキーマであっても、代わりに、ユーザから供給されるもしくは第三者リファレンススキーマであってもよい。
データ統合フレームワークのうちのいくつかは、エンジニアメタデータを周知のシステムソースタイプからリバースする場合があるが、パターン定義およびエンティティ分類に使用出来る関数型システムを構築するためのメタデータの解析は提供しない。また、メタデータハーベスティングは、範囲が限られており、抽出されたデータセットまたはエンティティのためのデータプロファイリングまで拡張されるものではない。ユーザが、(同様のトポロジー空間における)エンティティ分類に加えて複雑なプロセス(ビジネスロジック)および統合パターンにおいて使用する関数型システムオントロジー学習のためにリファレンススキーマを特定できるようにする機能は、現在利用できない。
ある実施形態に従うと、1つ以上のスキーマをリファレンスHUBに格納することができる。これ自体は、システムHUBの中にまたはその一部として設けることができる。リファレンススキーマと同様、リファレンスHUBも、ユーザから提供されるもしくは第三者リファレンスHUBであってもよく、または、マルチテナント環境において、特定のテナントに対応付けられたとえばデータフローAPIを通してアクセスされてもよい。
ある実施形態に従うと、リファレンスHUBを使用してデータフローを解析し、さらに
分類またはレコメンデーションを行うことができる。それはたとえば、変換、エンリッチ化、フィルタリング、またはクロスエンティティ・データフュージョンである。
たとえば、ある実施形態に従うと、このシステムは、リファレンスHUBをオントロジー解析のためのスキーマとして規定する入力を受けることができる。リファレンスHUBは、インポートされてエンティティ定義(属性定義、データ型、およびデータセットまたはエンティティ、制約、またはビジネスルール間の関係)を取得してもよい。リファレンスHUB内のサンプルデータ(たとえば、例としてカラムデータ等の属性ベクトル)を、すべてのデータセットまたはエンティティおよびプロファイリングされたデータについて抽出することにより、データのいくつかのメトリクスを導出してもよい。
ある実施形態に従うと、型システムは、リファレンススキーマの用語集に基づいてインスタンス化することができる。システムは、オントロジー解析を実行することにより、データの型を記述するオントロジー(たとえば一組のルール)を導出することができる。オントロジー解析はデータルールを決定することができる。データルールは、プロファイリングされたデータ(たとえば属性または合成値)メトリクスについて規定されたものであり、ビジネス型要素(たとえばUOM、ROIL、または通貨の種類)を、そのデータプロファイルとともに記述する。オントロジー解析は、関係ルールおよび複合ルールを決定することができる。関係ルールは、データセットまたはエンティティと属性ベクトル(リファレンススキーマからインポートされた制約またはリファレンス)との対応関係を規定し、複合ルールは、データルールおよび関係ルールの組み合わせから導出できる。そうすると、型システムは、メタデータハーベスティングおよびデータサンプリングを通して得られたルールに基づいて規定することができる。
ある実施形態に従うと、オントロジー解析を用いてインスタンス化した型システムに基づいて、システムHUBからのパターンおよびテンプレートを利用することができる。そうすると、システムは型システムを用いてデータフロー処理を実行することができる。
たとえば、ある実施形態に従うと、データセットまたはエンティティの分類および型アノテーションは、登録されたHUBの型システムによって特定することができる。型システムを用いて、リファレンススキーマから導出した関数型およびビジネス型についてルールを規定することができる。型システムを用いて、たとえばブレンド、エンリッチ化、および変換レコメンデーション等のアクションを、型システムに基づいてデータフロー内で特定したエンティティに対して実行することができる。
図44は、ある実施形態に係る、関数型ルールを生成するためのシステムを示す図である。
図44に示すように、ある実施形態に従うと、コンピュータシステムまたはその他の処理デバイスによって実行可能なソフトウェアまたはプログラムコードとして提供されるルール帰納ロジック850またはソフトウェアコンポーネントによって、ルール851を関数型システム852に対応付けることができる。
図44は、ある実施形態に係る、関数型ルールを生成するためのシステムを示す図である。
図45に示すように、ある実施形態に従うと、HUB1はリファレンスオントロジーとして機能することができる。これは、他の(たとえば新たに登録された)HUBたとえばHUB2およびHUB3から提供されたメタデータスキーマまたはオントロジーの、型タグ付け、比較、分類、そうでなければ評価に使用することができ、データAIシステムが
使用する適切なルールを作成する。
図46は、ある実施形態に係る、関数型ルールの生成に使用するオブジェクト図を示す図である。
ある実施形態に従うと、たとえば図46に示すように、ルール帰納ロジックにより、ルールを、一組の関数型853(たとえばHUB、データセットまたはエンティティ、および属性)を有する関数型システムに対応付け、データフローアプリケーションたとえばパイプライン、Lambdaアプリケーションの作成に使用するためにレジストリに格納することができる。これは、各関数型854を関数型ルール856およびルール858に対応付けることができることを含む。各ルールはルールパラメータ860に対応付けることができる。
ある実施形態に従うと、最初にリファレンススキーマが処理され、このスキーマに適した一組のルールを含むオントロジーを作成することができる。
ある実施形態に従うと、次に新たなHUBまたは新たなスキーマが評価され、そのデータセットまたはエンティティを、既存のオントロジーおよび作成したルールと比較し、新たなHUB/スキーマおよびそのエンティティの解析、ならびに、システムのさらなる学習に、使用することができる。
データ統合フレームワークにおけるメタデータハーベスティングはリバースエンジニアリングのエンティティ定義(属性およびそのデータ型、場合によっては関係)に限定される場合があるが、ある実施形態に従うと、本明細書に記載のシステムが提供するアプローチは以下の点が異なる。すなわち、スキーマ定義をリファレンスオントロジーとして使用できるようにし、そこからビジネス型および関数型を導出することができ、また、リファレンススキーマにおけるデータセットまたはエンティティのためのデータプロファイリングメトリクスを導出することができる。そうすると、このリファレンスHUBを用いてその他のHUB(データソース)内のビジネスエンティティを解析することにより、さらに分類またはレコメンデーション(たとえばブレンドまたはエンリッチ化)を行うことができる。
ある実施形態に従うと、システムは、リファレンススキーマを用いるオントロジー学習に対して以下の一組のステップを使用する。
ユーザは、新たに登録されたHUBをリファレンススキーマとして使用するためのオプションを指定する。
エンティティ定義(たとえば属性定義、データ型、エンティティ間の関係、制約またはビジネスルールがインポートされる)。
すべてのデータセットまたはエンティティについてサンプルデータが抽出され、データがプロファイリングされてデータに関するいくつかのメトリクスが導出される。
型システムがリファレンススキーマの用語集に基づいてインスタンス化される(関数型およびビジネス型)。
ビジネス型を記述する一組のルールが導出される。
データルールは、プロファイリングされたデータメトリクスに関して規定され、ビジネス型要素の性質を記述する(たとえば、UOM、ROIまたは通貨の種類は、そのデータ
プロファイルとともにビジネス型要素として規定できる)。
要素(リファレンススキーマからインポートされた制約またはリファレンス)におけるアソシエーションを規定する関係ルールが生成される。
データおよび関係ルールの組み合わせを通して導出できる複合ルールが生成される。
型システム(関数およびビジネス)は、メタデータハーベスティングおよびデータサンプリングを通して導出されたルールに基づいて規定される。
そうすると、パターンまたはテンプレートは、リファレンススキーマに基づいてインスタンス化された型を用いて複雑なビジネスロジックを規定することができる。
そうすると、システムに登録されたHUBをリファレンススキーマのコンテキストで解析することができる。
新たに登録されたHUBにおいて、データセットまたはエンティティの分類および型アノテーションを、リファレンススキーマから導出した関数型およびビジネス型についてのルールに基づいて、実施することができる。
型アノテーションに基づいて、データセットまたはエンティティに対し、ブレンド、エンリッチ化、変換レコメンデーションを実行することができる。
図47は、ある実施形態に係る、生成された1つ以上のルールに基づいて関数型システムを生成するプロセスを示す図である。
図47に示すように、ある実施形態に従い、ステップ862において、リファレンスHUBを規定する入力を受信する。
ステップ863において、リファレンスHUBにアクセスすることにより、リファレンスHUBによって与えられる、データセットまたはエンティティに対応付けられた1つ以上のエンティティ定義を取得する。
ステップ864において、リファレンスHUBから1つ以上のデータセットまたはエンティティのサンプルデータを生成する。
ステップ865において、このサンプルデータをプロファイリングすることにより、このサンプルデータに対応付けられた1つ以上のメトリクスを判定する。
ステップ866において、エンティティ定義に基づいて1つ以上のルールを生成する。
ステップ867において、生成した1つ以上のルールに基づいて関数型システムを生成する。
ステップ868において、データ入力の処理において使用するために、関数型システムおよびサンプルデータのプロファイルを永続化する。
他言語関数インターフェイス
ある実施形態に従うと、このシステムは、(本明細書においていくつかの実施形態では
他言語関数インターフェイスと呼ぶ)プログラマティックインターフェイスを提供する。このインターフェイスにより、ユーザまたは第三者は、サービス、関数型およびビジネス型、セマンティックアクション、ならびに関数型およびビジネス型に基づくパターンまた
は予め定められた複合データフローを、宣言的に規定することにより、システムの機能を拡張することができる。
先に述べたように、現在のデータ統合システムが提供し得るインターフェイスは限られており、タイプに対するサポートがなく、また、オブジェクト組成およびパターン定義について明確に規定されたインターフェイスがない。このような短所のために、フレームワークを拡張するサービス全体にわたってセマンティックアクションを呼び出すためのクロスサービスレコメンデーションまたは統一アプリケーション設計プラットフォームのような複雑な機能は、現在のところ提供されていない。
ある実施形態に従うと、多言語関数インターフェイスにより、ユーザは、定義またはその他の情報を(たとえば顧客から他の第三者に)宣言型で提供することによってシステムの機能を拡張することができる。
ある実施形態に従うと、システムはメタデータ駆動型であり、多言語関数インターフェイスを通して受けた定義を処理することによってメタデータを求め、当該メタデータの分類たとえばデータ型(たとえば関数型およびビジネス型)を判別し、これらのデータ型(関数およびビジネス両方)を既存のメタデータと比較して、型の一致があるか否かを判断することができる。
ある実施形態に従うと、多言語関数インターフェイスを通して受けたメタデータを、システムHUBに格納することにより、システムがデータフローを処理するためにメタデータにアクセスできるようにしてもよい。たとえば、メタデータにアクセスすることにより、入力として受けたデータセットのタイプに基づいてセマンティックアクションを決定することができる。システムは、このインターフェイスを通して提供されたデータのタイプについて許可されるセマンティックアクションを決定することができる。
ある実施形態に従うと、共通の宣言型インターフェイスを提供することにより、システムは、ユーザが、サービスネイティブのタイプおよびアクションを、プラットフォームネイティブのタイプおよびアクションにマッピングすることを可能にすることができる。これにより、タイプおよびパターンの発見を通して、統一されたアプリケーション設計体験が可能になる。これはまた、プラットフォームを拡張するさまざまなサービスのコンポーネント、および、各セマンティックアクションのためのネイティブコードの生成を必要とする、純粋に宣言型のデータフロー定義および設計を容易にする。
ある実施形態に従うと、多言語関数インターフェイスを通して受けたメタデータを自動で処理し、そこに記述されているオブジェクトまたはアーティファクト(たとえばデータ型またはセマンティックアクション)を、システムが処理するデータフローの動作において使用することができる。1つ以上の第三者システムから受けたメタデータ情報を用いて、サービスを規定する、1つ以上の関数型およびビジネス型を表示する、1つ以上のセマンティックアクションを表示する、または、1つ以上のパターン/テンプレートを表示してもよい。
たとえば、ある実施形態に従うと、データの関数型およびビジネス型といった、アクセスされたデータの分類を、判別することができる。この分類は、情報とともに受けたデータに関する情報に基づいて特定することができる。1つ以上の第三者システムからデータを受けることによって、システムの機能を拡張することにより、第三者から受けた情報(たとえばサービス、セマンティックアクション、またはパターン)に基づいてデータフローのデータ統合を実行することができる。
ある実施形態に従うと、システムHUB内のメタデータをアップデートすることにより、データに関して特定される情報を含むようにすることができる。たとえば、サービスおよびパターン/テンプレートを、アップデートすることにより、多言語関数インターフェイスを通して受けたメタデータにおいて特定された情報(たとえばセマンティックアクション)に基づいて、実行することができる。このようにして、システムを、データフローの処理を妨害することなく、多言語関数インターフェイスを通して強化することができる。
ある実施形態に従うと、後続のデータフローは、システムHUB内のメタデータを、そのアップデート後に用いて処理することができる。メタデータ解析は、データフローアプリケーション、たとえばパイプライン、Lambdaアプリケーションのデータフローに対して実行することができる。次に、システムHUBを用いて、他言語関数インターフェイスを介して提供された定義を考慮して変換のレコメンデーションを決定することができる。変換は、サービスを実行するためにセマンティックアクションを規定するのに使用されるパターン/テンプレートに基づいて決定することができ、セマンティックアクションも同様に他言語関数インターフェイスを介して提供された定義を考慮することができる。
図48は、ある実施形態に係る、多言語関数インターフェイスを介して提供された情報に基づくデータフローに関するレコメンデーションの提供において使用するパターンを特定するためのシステムを示す図である。
図48に示すように、ある実施形態に従うと、他言語関数インターフェイス900を介して受けた定義を用いて、システムHUB内の、サービスレジストリ902、関数およびビジネス型レジストリ904、またはパターン/テンプレート906をアップデートすることができる。
ある実施形態に従うと、アップデートした情報を、ルールエンジン908を含むデータAIサブシステムが使用することによって、たとえば、システムHUB内のタイプがアノテートされたHUB、データセットもしくはエンティティ、または属性910を判別し、これらのデータセットまたはエンティティを、ソフトウェア開発コンポーネント(たとえばLambda Studio)を介したデータフローアプリケーションたとえばパイプライン、Lambdaアプリケーションに関するレコメンデーションの提供において使用するために、レコメ
ンデーションエンジン912に提供することができる。
図49は、ある実施形態に係る、他言語関数インターフェイスを介して提供された情報に基づくデータフローに関するレコメンデーションの提供において使用するパターンを特定することをさらに示す図である。
図49に示すように、ある実施形態に従うと、第三者メタデータ920を他言語関数インターフェイスで受けることができる。
図50は、ある実施形態に係る、他言語関数インターフェイスを介して提供された情報に基づくデータフローに関するレコメンデーションの提供において使用するパターンを特定することをさらに示す図である。
図50に示すように、ある実施形態に従うと、多言語関数インターフェイスで受けた第三者メタデータを用いてシステムの機能を拡張することができる。
ある実施形態に従うと、このシステムにより、明確に規定されたインターフェイスを通してフレームワークを拡張することが可能になる。このインターフェイスにより、サービ
ス、サービスのネイティブなタイプ、サービスによって実現されるセマンティックアクションを、特にサービスの一部として利用できる予め規定されたアルゴリズムを抽出するタイプ付きパラメータ、パターンまたはテンプレートとともに、登録することができる。
ある実施形態に従うと、共通の宣言型プログラミングパラダイムを提供することにより、プラガブルサービスアーキテクチャは、サービスネイティブのタイプおよびアクションを、プラットフォームネイティブのタイプおよびアクションにマッピングすることを可能にする。これにより、タイプおよびパターンの発見を通して、統一されたアプリケーションの設計体験が可能になる。これはまた、プラットフォームを拡張するさまざまなサービスのコンポーネント、および、各セマンティックアクションのためのネイティブコードの生成を必要とする、純粋に宣言型のデータフロー定義および設計を容易にする。
ある実施形態に従うと、プラガブルサービスアーキテクチャはまた、プラグインのための、コンパイル、生成、デプロイ、および実行時実行フレームワーク(統一アプリケーション設計サービス)を規定する。レコメンデーションエンジンは、プラグインされたすべてのサービスのセマンティックアクションおよびパターンの機械学習および推論を行うことができ、分散型複合データフロー設計および開発に関するクロスサービスセマンティックアクションレコメンデーションを行うことができる。
図51は、ある実施形態に係る、他言語関数インターフェイスを介して提供された情報に基づくデータフローに関するレコメンデーションの提供において使用するパターンを特定するプロセスを示す図である。
図51に示すように、ある実施形態に従うと、ステップ932において、データの処理において使用するメタデータの1つ以上の定義を他言語関数インターフェイスを介して受信する。
ステップ934において、他言語関数インターフェイスを介して受信したメタデータを処理することにより、受信したメタデータによって規定される、分類、セマンティックアクション、パターンを規定するテンプレート、またはサービスのうちの1つ以上を含む、受信したメタデータに関する情報を特定する。
ステップ936において、他言語関数インターフェイスを介して受信したメタデータをシステムHUBに格納する。システムHUBは、アップデートされることにより、受信したメタデータに関する情報を含み、かつ、システムのサポートされるタイプ、セマンティックアクション、テンプレート、およびサービスを含むシステムの機能を拡張する。
938において、他言語関数インターフェイスを介してシステムHUBにおいてアップデートされた情報に基づいてデータフローに関するレコメンデーションを提供するためのパターンを特定する。
ポリシーベースのライフサイクル管理
ある実施形態に従うと、このシステムはデータガバナンス機能を提供することができる。これはたとえば、特定のスナップショットに時間的に関連するデータのスライスごとの、履歴情報(特定のデータはどこから来たデータか)、系統(このデータはどのようにして取得/処理されたか)、セキュリティ(誰がこのデータの責任者だったか)、分類(このデータは何に関連するデータか)、影響力(このデータがビジネスにどれほどの影響があるか)、保持時間(このデータはどれだけの時間存続すべきか)、および有効性(このデータは解析/処理のために除外される/含まれるべきか否か)である。これらは、ライフサイクルの決定およびデータフローのレコメンデーションにおいて使用することができ
る。
データライフサイクルの管理についての現在のアプローチは、一時パーティションに全体にわたるデータ特性の変化に基づくガバナンス関連機能またはデータの進化(データプロファイルまたはドリフトの変化)のトラッキングを含まない。システムが観察したまたは導出したデータ特性(分類、変化の頻度、変化のタイプ、またはプロセスにおける用途)は、ライフサイクルの決定またはデータについてのレコメンデーション(保持時間、セキュリティ、有効性、取得間隔)には使用されない。
ある実施形態に従うと、システムは、系統トラッキングに基づいてデータフローのライフサイクルを表示できるグラフィカルユーザインターフェイスを提供することができる。ライフサイクルは、どこでデータが処理されたか、および、そのデータの処理中にエラーが生じたか否かを示すことができ、データのタイムライン図(たとえば、データセットの数、データセットのボリューム、およびデータセットの使用)として示すことができる。上記インターフェイスは、データのある時点のスナップショットを提供することができ、かつ、データの処理中にその視覚的インジケータを提供することができる。よって、このインターフェイスにより、データの完全な監査、または、ライフサイクルに基づくデータのシステムスナップショット(たとえばパフォーマンスメトリクス、またはリソース使用法)が可能である。
ある実施形態に従うと、システムは、(インジェストされたデータから周期的にサンプリングされた)サンプルデータおよびユーザ規定アプリケーションによる処理のために取得したデータに基づいて、データのライフサイクルを求めることができる。データライフサイクル管理のいくつかの側面は、インジェストされたデータすなわちストリーミングデータおよびバッチデータ(リファレンスおよびインクリメンタル)のカテゴリ全体にわたって同様である。インクリメンタルデータの場合、システムは、スケジュールされたログ収集イベント駆動型方法を用いてデータの一時スライスを取得し以下の機能をカバーするアプリケーションインスタンス全体にわたるスライスの割当を管理することができる。
ある実施形態に従うと、システムは、データ損失の場合、システムHUB内で管理されるメタデータから層全体にわたる系統を用いてデータを再構成することができる。
たとえば、ある実施形態に従うと、インクリメンタルデータ属性カラム、または、ユーザ構成設定を、特定することにより、インクリメンタルデータを取得することができ、データインジェスト全体にわたり高および低ウォーターマークを維持する。クエリまたはAPIおよび対応するパラメータ(タイムスタンプまたはIDカラム)を、インジェストされたデータに対応付けることができる。
ある実施形態に従うと、システムは、層全体にわたって系統情報を管理することができる。それはたとえば、エッジレイヤ内のクエリまたはログメタデータ、スケーラブルI/Oレイヤ内のインジェストごとのトピック/パーティションオフセット、データレイク内のスライス(ファイルパーティション)、このデータを用いた後続のダウンストリーム処理済データセットのプロセス系統(データおよびそれに対応付けられたパラメータを生成するアプリケーションの特定の実行インスタンス)のリファレンス、ターゲットエンドポイントに対してパブリッシュされることが「マークされた」データセットおよびデータレイク内のそれに対応するデータスライスに関するトピック/パーティション、ならびに、ジョブ実行インスタンスのパブリッシュおよび処理されてターゲットエンドポイントに対してパブリッシュされるパーティション内のオフセット、である。
ある実施形態に従うと、レイヤ(たとえばエッジ、スケーラブルI/O、データレイク
、またはパブリッシュ)の障害の場合、データはアップストリームレイヤから再構成するかまたはソースから取得することができる。
ある実施形態に従うと、システムは、その他のライフサイクル管理機能を果たすことができる。
たとえば、ある実施形態に従うと、セキュリティは、データスライスのこれらのレイヤ各々で強化および監査される。データスライスは、処理またはアクセスの対象から除外する、または(既に除外されていた場合は)その対象にすることができる。これにより、スプリアスなまたは破損したデータスライスは処理されないようにすることができる。保持ポリシーは、スライディングウィンドウを通してデータのスライスに対して強化することができる。データのスライスについて影響力を解析する(たとえば、所定のウィンドウのスライスをタグ付けする能力を、四半期ごとの報告のために構築されたデータマートのコンテキストにおいて影響力があると解析)。
ある実施形態に従うと、データを、システム内で規定された関数型またはビジネス型をタグ付けすることによって分類する(たとえば、データセットを、ビジネス型(たとえばオーダー、顧客、製品、または時間)とともに関数型でタグ付けする(キューブまたはディメンションまたは階層データとして))。
ある実施形態に従うと、システムは、1つ以上のHUBからデータにアクセスすることを含む方法を実行することができる。このデータはサンプリングすることができ、システムは、データの一時スライスを決定し、スライスを管理する。これは、システムのシステムHUBにアクセスし、サンプリングされたデータに関するメタデータを取得することを含む。サンプリングされたデータは、システム内の1つ以上の層全体にわたる系統トラッキングのために管理することができる。
ある実施形態に従うと、サンプルデータに関するインクリメンタルデータおよびパラメータは、インジェストされたデータに対して管理することができる。データは、サンプルデータに対応付けられたデータの型のタグ付けによって分類できる。
図52は、ある実施形態に係る、1つ以上の層全体にわたる系統トラッキングのための、サンプリングされたデータまたはアクセスされたデータの管理を示す図である。
たとえば、図52に示すように、ある実施形態に従うと、このシステムを用いて、HUB952、この例ではOracleデータベース、および、HUB954、この例ではS3またはその他の環境から、データを受けることがきる。エッジレイヤにおいて入力HUBから受けたデータは、データフローアプリケーションたとえばパイプライン、Lambdaアプリケーションによる使用のために、1つ以上のトピックスとして、スケーラブルI/Oレイヤに与えることができる(トピックス各々は分散パーティションとして提供することができる)。
ある実施形態に従うと、典型的にはパーティションへのオフセットによって表される、インジェストされたデータは、コンピュートレイヤによって正規化964することができ、システムの層にまたがる1つ以上の一時スライスとしてデータレイクに書き込むことができる。
ある実施形態に従うと、このデータはその後、データフローアプリケーションたとえばパイプライン、Lambdaアプリケーション966、968によって使用され、最終的には1つ以上の追加のトピックス960、962に対してパブリッシュ970され、その後、こ
の例ではDBCS環境等の1つ以上の出力HUBでターゲットエンドポイント(たとえばテーブル)に対してパブリッシュされることができる。
図52に示すように、ある実施形態に従うと、最初、データ再構成および系統トラッキング情報は、たとえば、履歴情報(provenance)(Hub 1、S3)、系統(lineage)(Source Entity in Hub 1)、セキュリティ(security)(Connection Credential used)、またはデータのインジェストに関するその他の情報を、含み得る。
図53は、ある実施形態に係る、1つ以上の層全体にわたる系統トラッキングのための、サンプリングされたデータまたはアクセスされたデータの管理をさらに示す図である。図53に示すように、その後、データ再構成および系統トラッキング情報をアップデートすることにより、たとえば、アップデートされた履歴情報(→T1)、系統(→T1(インジェストプロセス(Ingest Process))、またはその他の情報等の情報を含むようにすることができる。
図54は、ある実施形態に係る、1つ以上の層全体にわたる系統トラッキングのための、サンプリングされたデータまたはアクセスされたデータの管理をさらに示す図である。図54に示すように、その後、データ再構成および系統トラッキング情報をさらにアップデートすることにより、たとえば、アップデートされた履歴情報(→E1)、系統(→E1(正規化(Normalize))、またはその他の情報等の情報を含むようにすることができ
る。
ある実施形態に従うと、1つ以上のデータフローアプリケーションたとえばパイプライン、Lambdaアプリケーションによって使用される、一時スライス972は、システムの層にまたがるように作成することができる。障害、たとえば、データレイクへの書込において障害が発生した場合、システムは、未処理の1つ以上のデータスライスを判別し、そのデータスライスの処理を、全体としてまたはインクリメンタルに、完了することができる。
図55は、ある実施形態に係る、1つ以上の層全体にわたる系統トラッキングのための、サンプリングされたデータまたはアクセスされたデータの管理をさらに示す図である。図55に示すように、その後、データ再構成および系統トラッキング情報をさらにアップデートし追加の一時スライスを作成することにより、たとえば、アップデートされた履歴情報(→E11(App1))、セキュリティ(Role Executing App 1)、またはその他の情報等の情報を含むようにすることができる。
図56は、ある実施形態に係る、1つ以上の層全体にわたる系統トラッキングのための、サンプリングされたデータまたはアクセスされたデータの管理をさらに示す図である。図56に示すように、その後、データ再構成および系統トラッキング情報をさらにアップデートし追加の一時スライスを作成することにより、たとえば、アップデートされた系統(→E12(App2))、セキュリティ(Role Executing App 2)、またはその他の情報等の情報を含むようにすることができる。
図57は、ある実施形態に係る、1つ以上の層全体にわたる系統トラッキングのための、サンプリングされたデータまたはアクセスされたデータの管理をさらに示す図である。図57に示すように、その後、データ再構成および系統トラッキング情報をさらにアップデートし追加の一時スライスを作成することにより、たとえば、アップデートされた系統(→T2(Publish))、セキュリティ(Role Executing Publish to I/O Layer)、またはその他の情報等の情報を含むようにすることができる。
図58は、ある実施形態に係る、1つ以上の層全体にわたる系統トラッキングのための、サンプリングされたデータまたはアクセスされたデータの管理をさらに示す図である。図58に示すように、その後、データ再構成および系統トラッキング情報をさらにアップデートすることにより、ターゲットエンドポイント976へのデータの出力を反映することができる。
データライフサイクル管理
ある実施形態に従うと、上記系統トラッキングに基づくデータライフサイクル管理は、いくつかの機能エリアに向けられている。これらのエリアのうちのいくつかは、ユーザによって構成されることができ(アクセスコントロール、保持時間、有効性)、いくつかは導出され(履歴情報、系統)、それ以外は機械学習アルゴリズムを使用する(分類、影響力)。たとえば、データ管理は、サンプルデータ(インジェストされたデータから定期的にサンプリング)にも、ユーザ規定アプリケーションによる処理のために取得されたデータにも、適用される。データライフサイクル管理のいくつかの側面は、インジェストされたデータすなわちストリーミングデータおよびバッチデータ(リファレンスおよびインクリメンタル)のカテゴリ全体にわたって同様である。インクリメンタルデータの場合、DFMLは、スケジュールされたログ収集イベント駆動型方法を用いてデータの一時スライスを取得し以下の機能をカバーするアプリケーションインスタンス全体にわたるスライスの割当を管理する。
データ損失の場合、システムHUBにおいて管理されるメタデータから層全体にわたる系統を用いてデータを再構成。
インクリメンタルデータ属性カラムまたはユーザ構成設定を特定することにより、インクリメンタルデータを取得し、インジェスト全体にわたり高および低ウォーターマークを維持。
インジェストごとに、クエリまたはAPIおよび対応するパラメータ(タイムスタンプまたはIDカラム)を対応付ける。
層全体にわたる系統情報の管理。エッジレイヤ内のクエリまたはログメタデータ。スケーラブルI/Oレイヤ内のインジェストごとのトピック/パーティションオフセット。データレイク内のスライス(ファイルパーティション)。このデータを用いた後続のすべてのダウンストリーム処理済データセットのプロセス系統(データおよびそれに対応付けられたパラメータを生成するアプリケーションの特定の実行インスタンス)のリファレンス。ターゲットエンドポイントに対してパブリッシュされることが「マークされた」データセットのトピック/パーティションオフセットおよびデータレイク内の対応するデータスライス。ジョブ実行インスタンスのパブリッシュおよび処理されてターゲットエンドポイントに対してパブリッシュされるパーティション内のオフセット。
レイヤの障害の場合、データはアップストリームレイヤから再構成するかまたはソースから取得することができる。セキュリティは、データスライスのこれらのレイヤ各々で強化および監査される。データスライスは、処理またはアクセスの対象から除外する、または(すでに除外されていた場合は)その対象にすることができる。これにより、スプリアスなまたは破損したデータスライスは処理されないようにすることができる。保持時間ポリシーは、スライディングウィンドウを通してデータのスライスに対して強化することができる。データのスライスについて影響力を解析する(たとえば、所定のウィンドウについてスライスをタグ付けする能力を、四半期ごとの報告のために構築されたデータマートのコンテキストにおいて影響力があると解析)。
システム内で規定された関数型またはビジネス型のタグ付けによってデータを分類(たとえば、データセットを、ビジネス型(たとえばオーダー、顧客、製品、または時間)とともに、関数型(キューブまたは次元または階層データ)でタグ付け)。
図59は、ある実施形態に係る、1つ以上の層全体にわたる系統トラッキングのための、サンプリングされたデータまたはアクセスされたデータの管理のプロセスを示す図である。
図59に示すように、ある実施形態に従うと、ステップ982において、1つ以上のHUBからデータにアクセスする。
ステップ983において、アクセスしたデータをサンプリングする。
ステップ984において、サンプリングされたデータおよびアクセスされたデータについて、一時スライスを特定する。
ステップ985において、システムHUBにアクセスすることにより、一時スライスによって表されるサンプリングされたデータまたはアクセスされたデータに関するメタデータを取得する。
ステップ986において、一時スライスによって表されるサンプリングされたデータまたはアクセスされたデータについて分類情報を判断する。
ステップ987において、一時スライスによって表されるサンプリングされたデータまたはアクセスされたデータを、システム内の1つ以上の層全体にわたる系統トラッキングのために管理する。
本発明の実施形態は、汎用または専用デジタルコンピュータ、コンピューティングデバイス、マシン、またはマイクロプロセッサを用いて実現可能である。これは、本開示の教示に従ってプログラムされた、1つ以上のプロセッサ、メモリおよび/またはコンピュータ読取可能な記憶媒体を含む。熟練プログラマーは本開示の教示に基づいて適切なソフトウェアコーディングを簡単に作成でき、それはソフトウェア技術の当業者には明らかであろう。
いくつかの実施形態において、本発明は、コンピュータをプログラムすることにより本発明のプロセスのうちのいずれかを実行するために使用できる命令が格納された非一時的なコンピュータ読取可能媒体(複数の媒体)であるコンピュータプログラムプロダクトを含む。記憶媒体の例は、フロッピー(登録商標)ディスク、光ディスク、DVD、CD-ROM、マイクロドライブ、および光磁気ディスク、ROM、RAM、EPROM、EEPROM、DRAM、VRAM、フラッシュメモリデバイス、磁気または光カード、名のシステム(分子メモリICを含む)、または、命令および/またはデータの非一時的な格納に適したその他のタイプの記憶媒体または装置を含み得るが、これらに限定される訳ではない。
これまでの本発明の記載は例示および説明を目的として提供されている。すべてを網羅するまたは本発明を開示されている形態そのものに限定することは意図されていない。数多くの変更および変形が当業者には明らかであろう。
たとえば、上記実施形態のうちのいくつかは、たとえばWolfram、Yago、Chronos、およびSpark等の製品を使用することによりさまざまな計算を実行すること、および、たとえ
ばBDP、SFDCおよびS3等のデータソースを使用することによりデータのソースま
たはターゲットとして機能することを示しているが、本明細書に記載の実施形態は、同様のタイプの機能を提供するその他のタイプの製品およびデータソースとともに使用することもできる。
加えて、上記実施形態のうちのいくつかは、さまざまな実施形態のコンポーネント、レイヤ、オブジェクト、ロジックまたはその他の特徴を示しているが、このような特徴は、コンピュータシステムまたはその他処理装置によって実行可能なソフトウェアまたはプログラムコードとして提供することができる。
実施形態は、本発明の原理とその実際の応用を最適に説明することにより、意図する特定の用途に適したさまざまな実施形態およびさまざまな変更を伴うこの発明を当業者が理解できるようにすることを目的として、選択され説明されている。変更および変形は、開示されている特徴の関連する任意の組合わせを含む。本発明の範囲は以下の請求項およびその均等物によって規定されることが意図されている。

Claims (23)

  1. データ統合またはその他のコンピューティング環境で使用される方法であって、
    アクセスされたデータを処理することにより、前記アクセスされたデータのメタデータ解析を実行するステップと、
    前記アクセスされたデータの1つ以上のサンプルを特定するステップと、
    機械学習プロセスを適用することにより、前記アクセスされたデータ内のデータのカテゴリを判別するステップと、
    前記アクセスされたデータの自動マッピングにおいて使用するために、前記判別したデータのカテゴリに基づいて、前記アクセスされたデータのプロファイルを生成するステップとを含む、方法。
  2. 前記プロファイルは、前記アクセスされたデータをデータウェアハウスに変換する際に使用するために生成される、請求項1に記載の方法。
  3. データフローアプリケーションを作成する際に使用するために、前記プロファイルをグラフィカルユーザインターフェイスに表示するステップをさらに含む、請求項1または2に記載の方法。
  4. レコメンデーションがフィルタリングおよびソートされて前記グラフィカルユーザインターフェイスに送られる、請求項3に記載の方法。
  5. 前記アクセスされたデータに対して有効にされたセマンティックアクションの中から選択されたセマンティックアクションのリストが、前記アクセスされたデータの前記処理中に決定される、請求項1~4のいずれかに記載の方法。
  6. 候補データセットまたはエンティティの、入力データセットまたはエンティティに対する類似の程度の総信頼度を表すように、1つ以上のロジスティック回帰またはその他のモデルが算出される、請求項1~5のいずれかに記載の方法。
  7. 前記方法は、クラウドまたはクラウドベースのコンピューティング環境で実行される、請求項1~6のいずれかに記載の方法。
  8. データ統合またはその他のコンピューティング環境で使用される複合データ構造、データセットまたはエンティティの自動マッピングのためのシステムであって、
    前記システムは1つ以上のプロセッサを備え、
    前記1つ以上のプロセッサは、
    アクセスされたデータを処理することにより、前記アクセスされたデータのメタデータ解析を実行し、
    前記アクセスされたデータの1つ以上のサンプルを特定し、
    機械学習プロセスを適用することにより、前記アクセスされたデータ内のデータのカテゴリを判別し、
    前記アクセスされたデータの自動マッピングにおいて使用するために、前記判別したデータのカテゴリに基づいて、前記アクセスされたデータのプロファイルを生成する、ように動作可能である、システム。
  9. 前記プロファイルは、前記アクセスされたデータをデータウェアハウスに変換する際に使用するために生成される、請求項8に記載のシステム。
  10. データフローアプリケーションを作成する際に使用されるグラフィカルユーザインター
    フェイスをさらに備える、請求項8または9に記載のシステム。
  11. レコメンデーションがフィルタリングおよびソートされて前記グラフィカルユーザインターフェイスに送られる、請求項10に記載のシステム。
  12. 前記アクセスされたデータに対して有効にされたセマンティックアクションの中から選択されたセマンティックアクションのリストが、前記アクセスされたデータの前記処理中に決定される、請求項8~11のいずれかに記載のシステム。
  13. 候補データセットまたはエンティティの、入力データセットまたはエンティティに対する類似の程度の総信頼度を表すように、1つ以上のロジスティック回帰またはその他のモデルが算出される、請求項8~12のいずれかに記載のシステム。
  14. 前記システムは、クラウドまたはクラウドベースのコンピューティング環境に提供される、請求項8~13のいずれかに記載のシステム。
  15. 非一時的なコンピュータ読取可能な記憶媒体であって、前記記憶媒体は、前記記憶媒体に格納された命令を含み、前記命令は、1つ以上のコンピュータによって読み取られて実行されると、前記1つ以上のコンピュータに方法を実行させ、前記方法は、
    アクセスされたデータを処理することにより、前記アクセスされたデータのメタデータ解析を実行するステップと、
    前記アクセスされたデータの1つ以上のサンプルを特定するステップと、
    機械学習プロセスを適用することにより、前記アクセスされたデータ内のデータのカテゴリを判別するステップと、
    前記アクセスされたデータの自動マッピングにおいて使用するために、前記判別したデータのカテゴリに基づいて、前記アクセスされたデータのプロファイルを生成するステップとを含む、非一時的なコンピュータ読取可能な記憶媒体。
  16. 前記プロファイルは、前記アクセスされたデータをデータウェアハウスに変換する際に使用するために生成される、請求項15に記載の非一時的なコンピュータ読取可能な記憶媒体。
  17. データフローアプリケーションを作成する際に使用するために、前記プロファイルをグラフィカルユーザインターフェイスに表示するステップをさらに含む、請求項15または16に記載の非一時的なコンピュータ読取可能な記憶媒体。
  18. レコメンデーションがフィルタリングおよびソートされて前記グラフィカルユーザインターフェイスに送られる、請求項17に記載の非一時的なコンピュータ読取可能な記憶媒体。
  19. 前記アクセスされたデータに対して有効にされたセマンティックアクションの中から選択されたセマンティックアクションのリストが、前記アクセスされたデータの前記処理中に決定される、請求項15~18のいずれかに記載の非一時的なコンピュータ読取可能な記憶媒体。
  20. 候補データセットまたはエンティティの、入力データセットまたはエンティティに対する類似の程度の総信頼度を表すように、1つ以上のロジスティック回帰またはその他のモデルが算出される、請求項15~19のいずれかに記載の非一時的なコンピュータ読取可能な記憶媒体。
  21. コンピュータシステムによって実行されると前記コンピュータシステムに請求項1~7のいずれかに記載の方法を実行させるマシン読取可能なフォーマットのプログラム命令を含むコンピュータプログラム。
  22. 非一時的なマシン読取可能なデータ記憶媒体に格納された請求項21に記載のコンピュータプログラムを含むコンピュータプログラムプロダクト。
  23. 請求項1~7のいずれかに記載の方法を実行するための手段を備える装置。
JP2021197005A 2016-08-22 2021-12-03 データフロー環境で使用されるデータ型の自動マッピングシステムおよび方法 Active JP7333374B2 (ja)

Applications Claiming Priority (14)

Application Number Priority Date Filing Date Title
US201662378146P 2016-08-22 2016-08-22
US201662378150P 2016-08-22 2016-08-22
US201662378147P 2016-08-22 2016-08-22
US201662378152P 2016-08-22 2016-08-22
US201662378151P 2016-08-22 2016-08-22
US201662378143P 2016-08-22 2016-08-22
US62/378,150 2016-08-22
US62/378,152 2016-08-22
US62/378,146 2016-08-22
US62/378,147 2016-08-22
US62/378,151 2016-08-22
US62/378,143 2016-08-22
JP2018543103A JP6990186B2 (ja) 2016-08-22 2017-08-22 データフロー環境で使用されるデータ型の自動マッピングシステムおよび方法
PCT/US2017/048033 WO2018039241A1 (en) 2016-08-22 2017-08-22 System and method for automated mapping of data types for use with dataflow environments

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2018543103A Division JP6990186B2 (ja) 2016-08-22 2017-08-22 データフロー環境で使用されるデータ型の自動マッピングシステムおよび方法

Publications (2)

Publication Number Publication Date
JP2022031851A true JP2022031851A (ja) 2022-02-22
JP7333374B2 JP7333374B2 (ja) 2023-08-24

Family

ID=59746364

Family Applications (14)

Application Number Title Priority Date Filing Date
JP2018543097A Active JP7002459B2 (ja) 2016-08-22 2017-08-22 統計プロファイリングおよびリファレンススキーママッチングによるオントロジー帰納のためのシステムおよび方法
JP2018543176A Active JP6991150B2 (ja) 2016-08-22 2017-08-22 リアルタイム視覚シミュレーション内における動的インクリメンタルレコメンデーションのためのシステムおよび方法
JP2018543082A Active JP7030707B2 (ja) 2016-08-22 2017-08-22 アプリケーションプログラミングインターフェイスのメタデータ駆動型外部インターフェイス生成ためのシステムおよび方法
JP2018543103A Active JP6990186B2 (ja) 2016-08-22 2017-08-22 データフロー環境で使用されるデータ型の自動マッピングシステムおよび方法
JP2018543165A Active JP6985279B2 (ja) 2016-08-22 2017-08-22 パターン分解を通してデータ変換を推論するためのシステムおよび方法
JP2018543085A Active JP7034924B2 (ja) 2016-08-22 2017-08-22 動的系統トラッキング、再構成、およびライフサイクル管理のためのシステムおよび方法
JP2021191062A Active JP7316343B2 (ja) 2016-08-22 2021-11-25 パターン分解を通してデータ変換を推論するためのシステムおよび方法
JP2021197005A Active JP7333374B2 (ja) 2016-08-22 2021-12-03 データフロー環境で使用されるデータ型の自動マッピングシステムおよび方法
JP2021198486A Active JP7324827B2 (ja) 2016-08-22 2021-12-07 リアルタイム視覚シミュレーション内における動的インクリメンタルレコメンデーションのためのシステムおよび方法
JP2021212280A Pending JP2022050489A (ja) 2016-08-22 2021-12-27 統計プロファイリングおよびリファレンススキーママッチングによるオントロジー帰納のためのシステムおよび方法
JP2022025435A Active JP7344327B2 (ja) 2016-08-22 2022-02-22 アプリケーションプログラミングインターフェイスのメタデータ駆動型外部インターフェイス生成ためのシステムおよび方法
JP2022031862A Pending JP2022084675A (ja) 2016-08-22 2022-03-02 動的系統トラッキング、再構成、およびライフサイクル管理のためのシステムおよび方法
JP2023136262A Pending JP2023166448A (ja) 2016-08-22 2023-08-24 統計プロファイリングおよびリファレンススキーママッチングによるオントロジー帰納のためのシステムおよび方法
JP2024016373A Pending JP2024054219A (ja) 2016-08-22 2024-02-06 動的系統トラッキング、再構成、およびライフサイクル管理のためのシステムおよび方法

Family Applications Before (7)

Application Number Title Priority Date Filing Date
JP2018543097A Active JP7002459B2 (ja) 2016-08-22 2017-08-22 統計プロファイリングおよびリファレンススキーママッチングによるオントロジー帰納のためのシステムおよび方法
JP2018543176A Active JP6991150B2 (ja) 2016-08-22 2017-08-22 リアルタイム視覚シミュレーション内における動的インクリメンタルレコメンデーションのためのシステムおよび方法
JP2018543082A Active JP7030707B2 (ja) 2016-08-22 2017-08-22 アプリケーションプログラミングインターフェイスのメタデータ駆動型外部インターフェイス生成ためのシステムおよび方法
JP2018543103A Active JP6990186B2 (ja) 2016-08-22 2017-08-22 データフロー環境で使用されるデータ型の自動マッピングシステムおよび方法
JP2018543165A Active JP6985279B2 (ja) 2016-08-22 2017-08-22 パターン分解を通してデータ変換を推論するためのシステムおよび方法
JP2018543085A Active JP7034924B2 (ja) 2016-08-22 2017-08-22 動的系統トラッキング、再構成、およびライフサイクル管理のためのシステムおよび方法
JP2021191062A Active JP7316343B2 (ja) 2016-08-22 2021-11-25 パターン分解を通してデータ変換を推論するためのシステムおよび方法

Family Applications After (6)

Application Number Title Priority Date Filing Date
JP2021198486A Active JP7324827B2 (ja) 2016-08-22 2021-12-07 リアルタイム視覚シミュレーション内における動的インクリメンタルレコメンデーションのためのシステムおよび方法
JP2021212280A Pending JP2022050489A (ja) 2016-08-22 2021-12-27 統計プロファイリングおよびリファレンススキーママッチングによるオントロジー帰納のためのシステムおよび方法
JP2022025435A Active JP7344327B2 (ja) 2016-08-22 2022-02-22 アプリケーションプログラミングインターフェイスのメタデータ駆動型外部インターフェイス生成ためのシステムおよび方法
JP2022031862A Pending JP2022084675A (ja) 2016-08-22 2022-03-02 動的系統トラッキング、再構成、およびライフサイクル管理のためのシステムおよび方法
JP2023136262A Pending JP2023166448A (ja) 2016-08-22 2023-08-24 統計プロファイリングおよびリファレンススキーママッチングによるオントロジー帰納のためのシステムおよび方法
JP2024016373A Pending JP2024054219A (ja) 2016-08-22 2024-02-06 動的系統トラッキング、再構成、およびライフサイクル管理のためのシステムおよび方法

Country Status (5)

Country Link
US (12) US11137987B2 (ja)
EP (6) EP3475888A1 (ja)
JP (14) JP7002459B2 (ja)
CN (6) CN108713205B (ja)
WO (6) WO2018039257A1 (ja)

Families Citing this family (168)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10915508B2 (en) * 2016-06-30 2021-02-09 Global Ids, Inc. Data linking
CN108713205B (zh) 2016-08-22 2022-11-11 甲骨文国际公司 用于自动映射与数据流环境一起使用的数据类型的系统和方法
US10523662B2 (en) * 2016-09-16 2019-12-31 Sap Se In-memory database advanced programming model
US10042739B2 (en) * 2016-09-29 2018-08-07 International Business Machines Corporation Real-time analytics of machine generated instrumentation data
CN110140118B (zh) * 2016-11-09 2024-02-02 起元技术有限责任公司 用于确定数据元素之间的关系的系统和方法
US10503478B2 (en) * 2017-02-14 2019-12-10 Hcl Technologies Limited System and method for guiding a user in a software development lifecycle using machine learning
US10503908B1 (en) * 2017-04-04 2019-12-10 Kenna Security, Inc. Vulnerability assessment based on machine inference
US20180342092A1 (en) * 2017-05-26 2018-11-29 International Business Machines Corporation Cognitive integrated image classification and annotation
US11169507B2 (en) 2017-06-08 2021-11-09 Rockwell Automation Technologies, Inc. Scalable industrial analytics platform
US10764204B2 (en) * 2017-06-22 2020-09-01 Sap Se Cloud extensibility framework
US10891114B2 (en) 2017-08-17 2021-01-12 Tibco Software Inc. Interpreter for interpreting a data model algorithm and creating a data schema
US11138157B2 (en) 2017-08-30 2021-10-05 Jpmorgan Chase Bank, N.A. System and method for identifying business logic and data lineage with machine learning
US11748653B2 (en) * 2017-10-05 2023-09-05 DataRobot, Inc. Machine learning abstraction
US11100425B2 (en) * 2017-10-31 2021-08-24 International Business Machines Corporation Facilitating data-driven mapping discovery
US11663517B2 (en) * 2017-11-03 2023-05-30 Salesforce, Inc. Automatic machine learning model generation
US10853131B2 (en) * 2017-11-20 2020-12-01 Salesforce.Com, Inc. Dataflow life cycles
US11568003B2 (en) 2017-12-15 2023-01-31 Google Llc Refined search with machine learning
US10783013B2 (en) 2017-12-15 2020-09-22 Google Llc Task-related sorting, application discovery, and unified bookmarking for application managers
US10846109B2 (en) 2017-12-20 2020-11-24 Google Llc Suggesting actions based on machine learning
US10789509B2 (en) * 2018-01-24 2020-09-29 WeR.AI, Inc. Systems and methods for generating machine learning applications
US11281673B2 (en) * 2018-02-08 2022-03-22 Parallel Wireless, Inc. Data pipeline for scalable analytics and management
US11741080B2 (en) * 2018-02-22 2023-08-29 Flowfinity Wireless, Inc. Dynamic data editor for data analysis system
CN108595552B (zh) * 2018-04-10 2022-09-27 平安科技(深圳)有限公司 数据立方体发布方法、装置、电子设备和存储介质
US11295375B1 (en) * 2018-04-26 2022-04-05 Cuspera Inc. Machine learning based computer platform, computer-implemented method, and computer program product for finding right-fit technology solutions for business needs
JP7015207B2 (ja) * 2018-04-27 2022-02-02 株式会社日立製作所 ビジュアルプログラミングツールを用いてフローを作成することを支援する装置および方法
GB201808065D0 (en) * 2018-05-17 2018-07-04 Quorso Uk Ltd Control network, system and method
US20190354599A1 (en) * 2018-05-21 2019-11-21 Microsoft Technology Licensing, Llc Ai model canvas
US11249960B2 (en) * 2018-06-11 2022-02-15 International Business Machines Corporation Transforming data for a target schema
US10628282B2 (en) * 2018-06-28 2020-04-21 International Business Machines Corporation Generating semantic flow graphs representing computer programs
EP3594822A1 (en) * 2018-07-13 2020-01-15 Accenture Global Solutions Limited Intelligent data ingestion system and method for governance and security
US11321338B2 (en) * 2018-07-13 2022-05-03 Accenture Global Solutions Limited Intelligent data ingestion system and method for governance and security
US10740209B2 (en) * 2018-08-20 2020-08-11 International Business Machines Corporation Tracking missing data using provenance traces and data simulation
CN109039942B (zh) * 2018-08-29 2022-08-12 南京优速网络科技有限公司 一种基于深度强化学习的网络负载均衡系统及均衡方法
US11567963B2 (en) * 2018-08-31 2023-01-31 Mindbridge Analytics Inc. Method and apparatus for shaping data using signature recognition
US11500914B2 (en) 2018-09-05 2022-11-15 International Business Machines Corporation Query recommendation to locate an application programming interface
US20200125977A1 (en) * 2018-10-18 2020-04-23 Oracle International Corporation System and method for next object prediction for ics flow using artificial intelligence/machine learning
CN109446463B (zh) * 2018-10-31 2021-02-02 北京科技大学 一种基于Web的数值模拟预加载可视化方法及系统
US10944820B2 (en) * 2018-11-07 2021-03-09 Phacil, Llc System and method for secure deployment and information mobility
US11823073B2 (en) * 2018-11-14 2023-11-21 Sap Se Declarative debriefing for predictive pipeline
US10445170B1 (en) 2018-11-21 2019-10-15 Fmr Llc Data lineage identification and change impact prediction in a distributed computing environment
US10579372B1 (en) * 2018-12-08 2020-03-03 Fujitsu Limited Metadata-based API attribute extraction
US11334472B2 (en) * 2018-12-14 2022-05-17 NextWorld, LLC Automated testing for metadata-driven custom applications
US11556838B2 (en) * 2019-01-09 2023-01-17 Sap Se Efficient data relationship mining using machine learning
CN109803018B (zh) * 2019-01-24 2022-06-03 云南电网有限责任公司信息中心 一种基于Mesos和YARN结合的DCOS云管理平台
DE112019006397T5 (de) * 2019-01-28 2021-10-07 Mitsubishi Electric Corporation Entwicklungsassistenzeinrichtung, entwicklungsassistenzsystem und entwicklungsassistenzverfahren
CN109634562A (zh) * 2019-01-30 2019-04-16 广州影子科技有限公司 需求管理方法和需求管理系统
US11501185B2 (en) * 2019-01-30 2022-11-15 Walmart Apollo, Llc System and method for real-time modeling inference pipeline
US11010237B2 (en) * 2019-02-08 2021-05-18 Accenture Global Solutions Limited Method and system for detecting and preventing an imminent failure in a target system
US11403541B2 (en) 2019-02-14 2022-08-02 Rockwell Automation Technologies, Inc. AI extensions and intelligent model validation for an industrial digital twin
CN110008288B (zh) * 2019-02-19 2021-06-29 武汉烽火技术服务有限公司 用于网络故障分析的知识图谱库的构建方法及其应用
WO2020172650A1 (en) * 2019-02-23 2020-08-27 Paat, Inc. Computer systems and methods for database schema transformations
US11263554B2 (en) * 2019-03-04 2022-03-01 Walmart Apollo, Llc Systems and methods for a machine learning framework
US11914606B2 (en) 2019-03-04 2024-02-27 Walmart Apollo, Llc Systems and methods for a machine learning framework
CN110059073B (zh) * 2019-03-18 2021-04-06 浙江工业大学 基于子图同构的web数据自动可视化方法
CN110008121B (zh) * 2019-03-19 2022-07-12 合肥中科类脑智能技术有限公司 一种个性化测试系统及其测试方法
US11086298B2 (en) 2019-04-15 2021-08-10 Rockwell Automation Technologies, Inc. Smart gateway platform for industrial internet of things
US11803798B2 (en) 2019-04-18 2023-10-31 Oracle International Corporation System and method for automatic generation of extract, transform, load (ETL) asserts
JP2022532974A (ja) * 2019-04-30 2022-07-21 オラクル・インターナショナル・コーポレイション 分析アプリケーション環境におけるSaaS/PaaSリソースの利用および割り当てのためのシステムおよび方法
US20200356575A1 (en) * 2019-05-06 2020-11-12 Oracle International Corporation System and method for customization in an analytic applications environment
US11501213B2 (en) * 2019-05-07 2022-11-15 Cerebri AI Inc. Predictive, machine-learning, locale-aware computer models suitable for location- and trajectory-aware training sets
CN111984738A (zh) * 2019-05-23 2020-11-24 杭州海康威视数字技术股份有限公司 数据关联方法、装置、设备及存储介质
CN110297869B (zh) * 2019-05-30 2022-11-25 北京百度网讯科技有限公司 一种ai数据仓库平台及操作方法
US11501011B2 (en) * 2019-06-25 2022-11-15 Jpmorgan Chase Bank, N.A. Method for defining policy across information model exposed via an application programming interface
WO2021010413A1 (ja) * 2019-07-16 2021-01-21 株式会社神戸製鋼所 機械学習方法、機械学習装置、機械学習プログラム、通信方法、及び成膜装置
JP2021017649A (ja) * 2019-07-16 2021-02-15 株式会社神戸製鋼所 機械学習方法、機械学習装置、機械学習プログラム、通信方法、及び成膜装置
JP6737944B1 (ja) * 2019-07-16 2020-08-12 株式会社神戸製鋼所 機械学習方法、機械学習装置、機械学習プログラム、通信方法、及び成膜装置
US10635657B1 (en) 2019-07-18 2020-04-28 Capital One Services, Llc Data transfer and resource management system
US11341514B2 (en) 2019-07-26 2022-05-24 EMC IP Holding Company LLC Determining user retention values using machine learning and heuristic techniques
CN110704543A (zh) * 2019-08-19 2020-01-17 上海机电工程研究所 多类型多平台信息数据自适应融合系统及方法
CN112445894A (zh) * 2019-09-05 2021-03-05 美商讯能集思智能科技股份有限公司台湾分公司 基于人工智能的商务智能系统及其分析方法
US10776686B1 (en) * 2019-09-09 2020-09-15 Iterate Studio, Inc. Container architecture for modular machine learning
US11841699B2 (en) 2019-09-30 2023-12-12 Rockwell Automation Technologies, Inc. Artificial intelligence channel for industrial automation
US11435726B2 (en) 2019-09-30 2022-09-06 Rockwell Automation Technologies, Inc. Contextualization of industrial data at the device level
CN110909531B (zh) * 2019-10-18 2024-03-22 平安科技(深圳)有限公司 信息安全的甄别方法、装置、设备及存储介质
US20210117436A1 (en) * 2019-10-22 2021-04-22 Honeywell International Inc. Methods, apparatuses, and systems for data mapping
US11640282B2 (en) * 2019-10-24 2023-05-02 Here Global B.V. Method, apparatus, and system for providing a broker for data modeling and code generation
US11860769B1 (en) * 2019-12-04 2024-01-02 Amazon Technologies, Inc. Automatic test maintenance leveraging machine learning algorithms
CN111061767B (zh) * 2019-12-10 2023-05-05 美林数据技术股份有限公司 一种基于内存计算与sql计算的数据处理方法
US11763217B2 (en) 2019-12-20 2023-09-19 Iterate Studio, Inc. Dynamic feature loading
US11249462B2 (en) 2020-01-06 2022-02-15 Rockwell Automation Technologies, Inc. Industrial data services platform
US11947505B2 (en) * 2020-01-08 2024-04-02 Jpmorgan Chase Bank , N.A. Systems and methods for tracking data lineage and record lifecycle using distributed ledgers
US11567965B2 (en) * 2020-01-23 2023-01-31 Microstrategy Incorporated Enhanced preparation and integration of data sets
US11443264B2 (en) 2020-01-29 2022-09-13 Accenture Global Solutions Limited Agnostic augmentation of a customer relationship management application
US10902011B1 (en) 2020-01-31 2021-01-26 Capital One Services, Llc Systems and methods for context development
US10848451B1 (en) 2020-01-31 2020-11-24 Capital One Services, Llc Systems and methods for context development
US11354596B2 (en) * 2020-02-03 2022-06-07 Kaskada, Inc. Machine learning feature engineering
US11238354B2 (en) 2020-02-03 2022-02-01 Kaskada, Inc. Event-based feature engineering
US11157467B2 (en) 2020-02-25 2021-10-26 International Business Machines Corporation Reducing response time for queries directed to domain-specific knowledge graph using property graph schema optimization
CN111368021A (zh) * 2020-02-25 2020-07-03 同盾控股有限公司 基于知识网络的智能决策方法及装置、终端、存储介质
CN111311104B (zh) * 2020-02-27 2023-08-25 第四范式(北京)技术有限公司 一种配置文件的推荐方法、装置及系统
US11210285B2 (en) * 2020-03-06 2021-12-28 Ab Initio Technology Llc Generation of optimized logic from a schema
US11055262B1 (en) * 2020-03-09 2021-07-06 Snowflake Inc. Extensible streams on data sources
US11269597B2 (en) * 2020-03-31 2022-03-08 Sap Se Real-time code recommendations using machine learning and reinforcement learning
US11204953B2 (en) 2020-04-20 2021-12-21 International Business Machines Corporation Generation of lineage data subset based upon business role
US11662882B2 (en) * 2020-04-22 2023-05-30 StreamSets, Inc. User-interface driven creation and distribution of computer applications
US11481785B2 (en) 2020-04-24 2022-10-25 Accenture Global Solutions Limited Agnostic customer relationship management with browser overlay and campaign management portal
US11392960B2 (en) * 2020-04-24 2022-07-19 Accenture Global Solutions Limited Agnostic customer relationship management with agent hub and browser overlay
CN115715393A (zh) * 2020-04-28 2023-02-24 Mirata软件有限公司 用于动态定义数字表单的系统和方法
US11301444B2 (en) 2020-04-30 2022-04-12 International Business Machines Corporation Methods and systems for data traceability and provenance
CN111563133A (zh) * 2020-05-06 2020-08-21 支付宝(杭州)信息技术有限公司 一种基于实体关系进行数据融合的方法及系统
US11681721B2 (en) * 2020-05-08 2023-06-20 Jpmorgan Chase Bank, N.A. Systems and methods for spark lineage data capture
CN111708520B (zh) * 2020-06-16 2023-08-29 北京百度网讯科技有限公司 应用构建方法、装置、电子设备及存储介质
US11726459B2 (en) 2020-06-18 2023-08-15 Rockwell Automation Technologies, Inc. Industrial automation control program generation from computer-aided design
CN111782184B (zh) * 2020-06-30 2022-01-07 北京百度网讯科技有限公司 执行定制化人工智能生产线的装置和方法、设备和介质
CN111797154A (zh) * 2020-07-03 2020-10-20 紫光云技术有限公司 一种基于json的实时抽取方法
US11853680B2 (en) * 2020-07-06 2023-12-26 Synopsys, Inc. Incremental routing based pin assignment
US11848980B2 (en) * 2020-07-09 2023-12-19 Boray Data Technology Co. Ltd. Distributed pipeline configuration in a distributed computing system
CN111736744B (zh) * 2020-07-22 2020-11-24 成都新希望金融信息有限公司 一种基于dsl的监控预警计算子系统
US20220075834A1 (en) * 2020-09-10 2022-03-10 Taboola.Com Ltd. Semantic meaning association to components of digital content
US11709806B2 (en) * 2020-09-24 2023-07-25 Microsoft Technology Licensing, Llc Gradient flows in dataset space
US20220100749A1 (en) 2020-09-25 2022-03-31 Oracle International Corporation System and method for use of a fragmented query model in an analytic applications environment
US11748354B2 (en) * 2020-09-27 2023-09-05 International Business Machines Corporation Data shape confidence
JP2022059247A (ja) * 2020-10-01 2022-04-13 富士フイルムビジネスイノベーション株式会社 情報処理装置及びプログラム
EP4226240A1 (en) * 2020-10-09 2023-08-16 Conektto, Inc. Natural language processing of api specifications for automatic artifact generation
US11301269B1 (en) * 2020-10-14 2022-04-12 UiPath, Inc. Determining sequences of interactions, process extraction, and robot generation using artificial intelligence / machine learning models
CN112256755A (zh) * 2020-10-20 2021-01-22 中电科新型智慧城市研究院有限公司福州分公司 一种基于深度学习的学生异常行为分析方法
CN113626694A (zh) * 2020-10-29 2021-11-09 胡培培 基于大数据的应用程序推送系统
US20220138616A1 (en) * 2020-10-30 2022-05-05 International Business Machines Corporation Scalable discovery of leaders from dynamic combinatorial search space using incremental pipeline growth approach
US11880693B2 (en) 2020-11-05 2024-01-23 Bank Of America Corporation System for automatically generating electronic artifacts using extended functionality
US11271987B1 (en) * 2020-11-26 2022-03-08 Digital.Ai Software, Inc. Universal webhook connectivity via multi-step HTTP transformation
US11928080B2 (en) * 2020-12-08 2024-03-12 Electronics And Telecommunications Research Institute Method of interoperability for data hubs based on active metadata management
CN112528083B (zh) * 2020-12-10 2022-09-30 天津(滨海)人工智能军民融合创新中心 一种基于分布式语义模板分发的消息定制方法
KR102282699B1 (ko) * 2020-12-24 2021-07-28 쿠팡 주식회사 분산 메시징 시스템을 이용한 데이터 처리 시스템 및 그 정보 처리 방법
US11917026B2 (en) 2021-01-28 2024-02-27 Mutara, Inc. Dynamic mapping and integration via a meta-model definitional platform
EP4036711A1 (en) * 2021-01-29 2022-08-03 Mitac Information Technology Corp. Visualization system based on artificial intelligence inference and method thereof
WO2022167102A1 (en) * 2021-02-05 2022-08-11 NEC Laboratories Europe GmbH A method and system for knowledge-based process support
CN112836130B (zh) * 2021-02-20 2023-02-03 四川省人工智能研究院(宜宾) 一种基于联邦学习的上下文感知推荐系统及方法
US11556514B2 (en) 2021-02-24 2023-01-17 International Business Machines Corporation Semantic data type classification in rectangular datasets
US11741177B2 (en) 2021-03-03 2023-08-29 International Business Machines Corporation Entity validation of a content originator
CN113111245B (zh) * 2021-03-15 2023-06-20 成都七柱智慧科技有限公司 实现多维数据质量校验的高校主数据治理系统及方法
US11928572B2 (en) * 2021-03-31 2024-03-12 aixplain, Inc. Machine learning model generator
US20220317985A1 (en) * 2021-04-02 2022-10-06 Fujitsu Limited Machine learning model for recommending software
CN113114685B (zh) * 2021-04-14 2021-11-02 北京滴普科技有限公司 一种支撑多数据源安全融合的安全沙箱系统
US11567739B2 (en) 2021-04-15 2023-01-31 Red Hat, Inc. Simplifying creation and publishing of schemas while building applications
US11929901B2 (en) * 2021-04-22 2024-03-12 Salesforce, Inc. Infrastructure-agnostic performance of computation sequences
US11675838B2 (en) * 2021-05-11 2023-06-13 International Business Machines Corporation Automatically completing a pipeline graph in an internet of things network
US11675690B2 (en) * 2021-06-09 2023-06-13 Capital One Services, Llc Lineage-driven source code generation for building, testing, deploying, and maintaining data marts and data pipelines
US11810381B2 (en) 2021-06-10 2023-11-07 International Business Machines Corporation Automatic rule prediction and generation for document classification and validation
US11902398B2 (en) * 2021-06-22 2024-02-13 Bizdata Inc. System and method to integrate data from one application to another application
US11748395B2 (en) * 2021-06-25 2023-09-05 Science Applications International Corporation Developing object ontologies and data usage models using machine learning
CN113721901A (zh) * 2021-06-25 2021-11-30 国网安徽省电力有限公司 一种低代码的财务数据分析可视化引擎
CN113535810B (zh) * 2021-06-25 2024-02-27 杨粤湘 一种交通违法对象的挖掘方法、装置、设备及介质
US11803448B1 (en) 2021-06-29 2023-10-31 Amazon Technologies, Inc. Faster restart of task nodes using periodic checkpointing of data sources
CN113342550A (zh) * 2021-06-29 2021-09-03 安徽容知日新科技股份有限公司 一种数据处理方法、系统、计算设备及存储介质
US11677810B2 (en) * 2021-07-23 2023-06-13 International Business Machines Corporation Configuration tool for deploying an application on a server
US11836120B2 (en) 2021-07-23 2023-12-05 Oracle International Corporation Machine learning techniques for schema mapping
US20230060957A1 (en) * 2021-08-25 2023-03-02 Red Hat, Inc. Creation of Message Serializer for Event Streaming Platform
CN113791742B (zh) * 2021-11-18 2022-03-25 南湖实验室 一种高性能的数据湖系统及数据存储方法
WO2023096887A1 (en) * 2021-11-23 2023-06-01 Kebotix, Inc. Techniques for combined data and execution driven pipeline
US20230185777A1 (en) * 2021-12-09 2023-06-15 Intuit Inc. No-code rules engine to build near real-time data projections from disparate data sources
WO2023121726A1 (en) * 2021-12-21 2023-06-29 Visa International Service Association System, method, and computer program product for data controller platform
CN114048260B (zh) * 2022-01-12 2022-09-09 南湖实验室 一种数据湖与关系型数据库互联的方法
US11880336B2 (en) * 2022-03-10 2024-01-23 International Business Machines Corporation Tracking techniques for generated data
US11900085B2 (en) * 2022-03-11 2024-02-13 Microsoft Technology Licensing, Llc System and method for semantic aware data science
CN114627968B (zh) * 2022-03-18 2023-10-20 四川大学华西医院 一种多模态组学数据管理系统
US11907241B2 (en) 2022-06-17 2024-02-20 Hewlett Packard Enterprise Development Lp Data recommender using lineage to propagate value indicators
US20230409654A1 (en) * 2022-06-21 2023-12-21 Microsoft Technology Licensing, Llc On-Device Artificial Intelligence Processing In-Browser
US20240004863A1 (en) * 2022-06-30 2024-01-04 Fractal Analytics Private Limited System and method for automated data integration
CN115145587A (zh) * 2022-07-22 2022-10-04 中国农业银行股份有限公司 一种产品参数校验方法、装置、电子设备及存储介质
CN115374108B (zh) * 2022-07-22 2023-06-20 北京三维天地科技股份有限公司 一种基于知识图谱技术的数据标准生成与自动映射方法
US11907692B2 (en) * 2022-07-25 2024-02-20 Bank Of America Corporation System and method for retrieval and generation of graphical user interface depicting of graphics associated with rules-based data management
US20240086416A1 (en) * 2022-09-09 2024-03-14 Honeywell International Inc. Methods and systems for integrating external systems of records with final report
CN115328458B (zh) * 2022-10-12 2023-02-03 共道网络科技有限公司 一种业务应用开发方法及装置
US11902177B1 (en) 2022-10-14 2024-02-13 Bank Of America Corporation System for artificial intelligence-based engine for generating recommendations for resource allocation
US11733984B1 (en) 2023-03-21 2023-08-22 Citibank, N.A. Generating a platform-agnostic data pipeline via a low code transformation layer systems and methods
CN116501972B (zh) * 2023-05-06 2024-01-05 广州市巨应信息科技有限公司 基于大数据在线服务的内容推送方法及ai智能推送系统
CN117610892B (zh) * 2024-01-23 2024-04-02 中国电子科技集团公司第二十八研究所 一种面向任务基于本体的数据需求分解和匹配方法、系统
CN117664090B (zh) * 2024-01-31 2024-03-29 三亚市林业科学研究院 一种用于林业调查的野外测绘装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006012146A (ja) * 2004-06-23 2006-01-12 Microsoft Corp 影響分析のためのシステムおよび方法
US20090216728A1 (en) * 2008-02-26 2009-08-27 Jeffrey Brainerd Graphic representations of data relationships
US20140344210A1 (en) * 2013-05-17 2014-11-20 Oracle International Corporation Use of projector and selector component types for etl map design
WO2016049460A1 (en) * 2014-09-26 2016-03-31 Oracle International Corporation Declarative language and visualization system for recommended data transformations and repairs
US20160147796A1 (en) * 2014-11-21 2016-05-26 Microsoft Technology Licensing, Llc Automatic schema mismatch detection
US20160188701A1 (en) * 2014-12-31 2016-06-30 Zephyr Health, Inc. File recognition system and method

Family Cites Families (122)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3700561A (en) 1969-08-11 1972-10-24 Pabst Brewing Co Recovery of enzymes
US3715718A (en) 1970-08-11 1973-02-06 Sundstrand Data Control Ground proximity warning system utilizing radio and barometric altimeter combination
US5291500A (en) 1990-05-22 1994-03-01 International Business Machines Corporation Eight-sample look-ahead for coded signal processing channels
US5996072A (en) 1997-01-27 1999-11-30 Micron Electronics, Inc. Method for preserving and displaying text on a PC BIOS boot screen
US6237021B1 (en) 1998-09-25 2001-05-22 Complex Data Technologies, Inc. Method and apparatus for the efficient processing of data-intensive applications
US6370573B1 (en) 1999-08-31 2002-04-09 Accenture Llp System, method and article of manufacture for managing an environment of a development architecture framework
US20070150330A1 (en) 1999-12-30 2007-06-28 Mcgoveran David O Rules-based method and system for managing emergent and dynamic processes
US20020184401A1 (en) 2000-10-20 2002-12-05 Kadel Richard William Extensible information system
US20030172368A1 (en) 2001-12-26 2003-09-11 Elizabeth Alumbaugh System and method for autonomously generating heterogeneous data source interoperability bridges based on semantic modeling derived from self adapting ontology
US6973459B1 (en) 2002-05-10 2005-12-06 Oracle International Corporation Adaptive Bayes Network data mining modeling
US20040025167A1 (en) 2002-06-07 2004-02-05 Grow John Darwin Software, method and system for data connectivity and integration having transformation and exchange infrastructure
WO2004021186A2 (en) 2002-08-29 2004-03-11 Sap Aktiengesellschaft Rapid application integration
US7353299B2 (en) * 2003-05-29 2008-04-01 International Business Machines Corporation Method and apparatus for managing autonomous third party data transfers
US7162473B2 (en) 2003-06-26 2007-01-09 Microsoft Corporation Method and system for usage analyzer that determines user accessed sources, indexes data subsets, and associated metadata, processing implicit queries based on potential interest to users
US7890540B2 (en) * 2003-07-22 2011-02-15 Sap Ag Browsing meta data for an enterprise service framework
JP4451624B2 (ja) * 2003-08-19 2010-04-14 富士通株式会社 情報体系対応付け装置および対応付け方法
US20050234969A1 (en) * 2003-08-27 2005-10-20 Ascential Software Corporation Services oriented architecture for handling metadata in a data integration platform
US20050228808A1 (en) * 2003-08-27 2005-10-13 Ascential Software Corporation Real time data integration services for health care information data integration
US8060553B2 (en) 2003-08-27 2011-11-15 International Business Machines Corporation Service oriented architecture for a transformation function in a data integration platform
US20060069717A1 (en) * 2003-08-27 2006-03-30 Ascential Software Corporation Security service for a services oriented architecture in a data integration platform
US20050262189A1 (en) * 2003-08-27 2005-11-24 Ascential Software Corporation Server-side application programming interface for a real time data integration service
US20050223109A1 (en) * 2003-08-27 2005-10-06 Ascential Software Corporation Data integration through a services oriented architecture
US7814142B2 (en) 2003-08-27 2010-10-12 International Business Machines Corporation User interface service for a services oriented architecture in a data integration platform
US20080288889A1 (en) 2004-02-20 2008-11-20 Herbert Dennis Hunt Data visualization application
US7213022B2 (en) 2004-04-29 2007-05-01 Filenet Corporation Enterprise content management network-attached system
US20050262075A1 (en) * 2004-05-21 2005-11-24 Bea Systems, Inc. Systems and methods for collaboration shared state management
US7827205B2 (en) 2004-05-27 2010-11-02 International Business Machines Corporation Bi-directional data mapping tool
JP2008511928A (ja) 2004-08-31 2008-04-17 インターナショナル・ビジネス・マシーンズ・コーポレーション メタデータの管理
WO2006026686A1 (en) * 2004-08-31 2006-03-09 Ascential Software Corporation User interfaces for data integration systems
US20060235714A1 (en) 2005-01-14 2006-10-19 Adinolfi Ronald E Enabling flexible scalable delivery of on demand datasets
US20060235715A1 (en) 2005-01-14 2006-10-19 Abrams Carl E Sharable multi-tenant reference data utility and methods of operation of same
DE602005017939D1 (de) 2005-01-27 2010-01-07 Thomson Licensing Detektionssystem für filmmarkierungen
WO2006089092A2 (en) 2005-02-16 2006-08-24 Ziyad Dahbour Hierarchal data management
US7565663B2 (en) * 2005-02-28 2009-07-21 Microsoft Corporation Automated data organization
JP2006350464A (ja) * 2005-06-13 2006-12-28 Nec Corp データ収集システム、データ抽出サーバ、データ収集方法及びデータ収集プログラム
US7849049B2 (en) 2005-07-05 2010-12-07 Clarabridge, Inc. Schema and ETL tools for structured and unstructured data
US7779017B2 (en) 2006-01-12 2010-08-17 Microsoft Corporation Employing abstract pipeline component connections to maintain data flow
WO2007127956A2 (en) 2006-04-28 2007-11-08 Business Objects, S.A. Apparatus and method for merging metadata within a repository
WO2008018080A2 (en) 2006-08-11 2008-02-14 Bizwheel Ltd. Smart integration engine and metadata-oriented architecture for automatic eii and business integration
US8365137B2 (en) 2006-08-29 2013-01-29 Wave Semiconductor, Inc. Systems and methods using an invocation model of process expression
US7984368B2 (en) 2006-09-01 2011-07-19 Samsung Electronics Co., Ltd. Method and system for increasing decoder throughput
US7624075B2 (en) 2006-09-15 2009-11-24 Microsoft Corporation Transformation of modular finite state transducers
US7925659B2 (en) 2006-10-09 2011-04-12 Sap Ag Business process change analysis and test case adaptation based on change detection
US20080109283A1 (en) * 2006-11-03 2008-05-08 Business Objects, S.A. Apparatus and method for mixing business intelligence and business process workflows
US9015301B2 (en) * 2007-01-05 2015-04-21 Digital Doors, Inc. Information infrastructure management tools with extractor, secure storage, content analysis and classification and method therefor
US9430552B2 (en) 2007-03-16 2016-08-30 Microsoft Technology Licensing, Llc View maintenance rules for an update pipeline of an object-relational mapping (ORM) platform
CN101290620A (zh) 2007-04-18 2008-10-22 中国传媒大学 一种基于数字对象的媒体资产处理方法及系统
CN101094173A (zh) 2007-06-28 2007-12-26 上海交通大学 分布式异构环境下的数据交换集成系统
CN100542178C (zh) * 2007-07-05 2009-09-16 上海交通大学 基于数据流技术的多源异构数据集成系统
US20090089078A1 (en) 2007-09-28 2009-04-02 Great-Circle Technologies, Inc. Bundling of automated work flow
US8856313B2 (en) 2007-11-13 2014-10-07 International Business Machines Corporation Systems and methods for using provenance information for data retention in stream-processing
US20090293059A1 (en) 2008-05-20 2009-11-26 Microsoft Corporation Automatically connecting items of workflow in a computer program
US20090319544A1 (en) 2008-06-20 2009-12-24 Griffin James R Facilitating integration of different computer data systems
US20110047056A1 (en) * 2008-10-11 2011-02-24 Stephen Overman Continuous measurement and independent verification of the quality of data and processes used to value structured derivative information products
US8060857B2 (en) 2009-01-31 2011-11-15 Ted J. Biggerstaff Automated partitioning of a computation for parallel or other high capability architecture
JP2011108085A (ja) * 2009-11-19 2011-06-02 Nippon Hoso Kyokai <Nhk> 知識構築装置およびプログラム
JP5427640B2 (ja) * 2010-02-22 2014-02-26 日本電信電話株式会社 決定木生成装置、決定木生成方法、及びプログラム
US8812436B2 (en) * 2010-05-04 2014-08-19 Symantec Corporation Schedule based data lifecycle management
US8799299B2 (en) * 2010-05-27 2014-08-05 Microsoft Corporation Schema contracts for data integration
CN101930362B (zh) * 2010-08-06 2013-04-24 中国科学院软件研究所 一种ttcn语言与数据描述语言的集成方法
US9263102B2 (en) 2010-09-28 2016-02-16 SanDisk Technologies, Inc. Apparatus, system, and method for data transformations within a data storage device
US20120090035A1 (en) * 2010-10-12 2012-04-12 Synergetics Incorporated System and Tool for Logistics Data Management on Secured Smart Mobile Devices
EP2628071A4 (en) 2010-10-15 2016-05-18 Qliktech Internat Ab METHOD AND SYSTEM FOR DEVELOPING DATA INTEGRATION APPLICATIONS WITH REUSABLE SEMANTIC TYPES FOR PRESENTING AND PROCESSING APPLICATION DATA
US20120117015A1 (en) * 2010-11-05 2012-05-10 Nokia Corporation Method and apparatus for providing rule-based recommendations
US8484255B2 (en) * 2010-12-03 2013-07-09 Sap Ag Automatic conversion of multidimentional schema entities
CN102135905B (zh) 2011-03-17 2014-04-02 清华大学 基于用户定制的本体匹配系统及方法
FR2973188B1 (fr) * 2011-03-25 2013-04-19 Qosmos Procede et dispositif d'extraction de donnees
US20130067182A1 (en) * 2011-09-09 2013-03-14 Onzo Limited Data processing method and system
US9813491B2 (en) 2011-10-20 2017-11-07 Oracle International Corporation Highly available network filer with automatic load balancing and performance adjustment
US9430114B1 (en) 2011-11-03 2016-08-30 Pervasive Software Data transformation system, graphical mapping tool, and method for creating a schema map
US8700561B2 (en) 2011-12-27 2014-04-15 Mcafee, Inc. System and method for providing data protection workflows in a network environment
JP2013143039A (ja) 2012-01-11 2013-07-22 Canon Inc 頻出パターン抽出装置、頻出パターン抽出方法、及びプログラム
US20130235788A1 (en) 2012-03-08 2013-09-12 Qualcomm Incorporated Systems and methods for establishing a connection setup through relays
CA2875309C (en) 2012-06-01 2018-03-06 Staples, Inc. Defining and mapping application interface semantics
US9659042B2 (en) 2012-06-12 2017-05-23 Accenture Global Services Limited Data lineage tracking
KR102031402B1 (ko) * 2012-07-24 2019-10-11 아브 이니티오 테크놀로지 엘엘시 데이터 모델에서의 엔티티 매핑
US9110983B2 (en) * 2012-08-17 2015-08-18 Intel Corporation Traversing data utilizing data relationships
ITMI20121603A1 (it) 2012-09-25 2014-03-26 Copan Italia Spa Dispositivo e metodo per il prelievo ed il trasferimento di campioni di materiale biologico
US10624986B2 (en) 2012-09-26 2020-04-21 Kemira Oyj Absorbent materials, products including absorbent materials, compositions, and methods of making absorbent materials
US10318635B2 (en) 2012-09-28 2019-06-11 Cerner Innovation, Inc. Automated mapping of service codes in healthcare systems
US9734220B2 (en) 2012-12-04 2017-08-15 Planet Os Inc. Spatio-temporal data processing systems and methods
US10649424B2 (en) 2013-03-04 2020-05-12 Fisher-Rosemount Systems, Inc. Distributed industrial performance monitoring and analytics
US20140279622A1 (en) 2013-03-08 2014-09-18 Sudhakar Bharadwaj System and method for semantic processing of personalized social data and generating probability models of personal context to generate recommendations in searching applications
US10740358B2 (en) 2013-04-11 2020-08-11 Oracle International Corporation Knowledge-intensive data processing system
US9734195B1 (en) 2013-05-16 2017-08-15 Veritas Technologies Llc Automated data flow tracking
US10216814B2 (en) 2013-05-17 2019-02-26 Oracle International Corporation Supporting combination of flow based ETL and entity relationship based ETL
US10073867B2 (en) 2013-05-17 2018-09-11 Oracle International Corporation System and method for code generation from a directed acyclic graph using knowledge modules
CN103246745B (zh) 2013-05-22 2016-03-09 中国工商银行股份有限公司 一种基于数据仓库的数据处理装置及方法
US9594849B1 (en) 2013-06-21 2017-03-14 EMC IP Holding Company LLC Hypothesis-centric data preparation in data analytics
US9948571B2 (en) 2013-06-28 2018-04-17 Oracle International Corporation System and method for cloud connection pool
CN103345514B (zh) * 2013-07-09 2016-06-08 焦点科技股份有限公司 大数据环境下的流式数据处理方法
CN103473305A (zh) * 2013-09-10 2013-12-25 北京思特奇信息技术股份有限公司 一种在统计分析中进行决策流程展示的方法及系统
IN2013MU03382A (ja) 2013-10-25 2015-07-17 Tata Consultancy Services Ltd
CN103559081B (zh) 2013-11-01 2017-11-07 贝壳网际(北京)安全技术有限公司 移动终端工作模式的推荐方法、装置和移动终端
WO2015148408A1 (en) 2014-03-25 2015-10-01 Gerweck Sarah Interpreting relational database statements using a virtual multidimensional data model
US9280340B2 (en) * 2014-04-01 2016-03-08 International Business Machines Corporation Dynamically building an unstructured information management architecture (UIMA) pipeline
US10877955B2 (en) * 2014-04-29 2020-12-29 Microsoft Technology Licensing, Llc Using lineage to infer data quality issues
CN105279145B (zh) * 2014-05-27 2018-01-09 王楠 一种计算机语义工程系统
US10705877B2 (en) * 2014-05-29 2020-07-07 Ab Initio Technology Llc Workload automation and data lineage analysis
CN104035751B (zh) * 2014-06-20 2016-10-12 深圳市腾讯计算机系统有限公司 基于多图形处理器的数据并行处理方法及装置
WO2016033493A1 (en) 2014-08-29 2016-03-03 Akana, Inc. Dynamic ontology schema generation and asset management for standards for exchanging data
US10976907B2 (en) 2014-09-26 2021-04-13 Oracle International Corporation Declarative external data source importation, exportation, and metadata reflection utilizing http and HDFS protocols
US10210246B2 (en) 2014-09-26 2019-02-19 Oracle International Corporation Techniques for similarity analysis and data enrichment using knowledge sources
US9396051B2 (en) * 2014-10-06 2016-07-19 Oracle International Corporation Integration application building tool
US10560583B2 (en) 2014-11-01 2020-02-11 Somos, Inc. Toll-free numbers metadata tagging, analysis and reporting
WO2016118979A2 (en) 2015-01-23 2016-07-28 C3, Inc. Systems, methods, and devices for an enterprise internet-of-things application development platform
US10296501B1 (en) * 2015-03-31 2019-05-21 EMC IP Holding Company LLC Lineage-based veracity for data repositories
US10242713B2 (en) 2015-10-13 2019-03-26 Richard A. ROTHSCHILD System and method for using, processing, and displaying biometric data
WO2017112864A1 (en) * 2015-12-22 2017-06-29 Opera Solutions U.S.A., Llc System and method for rapid development and deployment of reusable analytic code for use in computerized data modeling and analysis
US11175910B2 (en) * 2015-12-22 2021-11-16 Opera Solutions Usa, Llc System and method for code and data versioning in computerized data modeling and analysis
US10268753B2 (en) * 2015-12-22 2019-04-23 Opera Solutions Usa, Llc System and method for optimized query execution in computerized data modeling and analysis
US20170195253A1 (en) 2015-12-31 2017-07-06 Fortinet, Inc. Flexible pipeline architecture for multi-table flow processing
KR20180111979A (ko) 2016-02-11 2018-10-11 이베이 인크. 의미론적 카테고리 분류법
US10298020B2 (en) 2016-03-15 2019-05-21 General Electric Company Rotor synchronization of cross-compound systems on turning gear
US11379416B1 (en) * 2016-03-17 2022-07-05 Jpmorgan Chase Bank, N.A. Systems and methods for common data ingestion
KR102092721B1 (ko) 2016-03-23 2020-04-23 포그혼 시스템스 인코포레이티드 실시간 데이터플로우 프로그래밍에서 패턴 구동형 반응의 구성
US10353911B2 (en) 2016-06-19 2019-07-16 Data.World, Inc. Computerized tools to discover, form, and analyze dataset interrelations among a system of networked collaborative datasets
US10438013B2 (en) 2016-06-19 2019-10-08 Data.World, Inc. Platform management of integrated access of public and privately-accessible datasets utilizing federated query generation and query schema rewriting optimization
US10135705B2 (en) * 2016-06-30 2018-11-20 Rockwell Automation Technologies, Inc. Industrial internet of things data pipeline for a data lake
CN108713205B (zh) 2016-08-22 2022-11-11 甲骨文国际公司 用于自动映射与数据流环境一起使用的数据类型的系统和方法
US10372761B2 (en) * 2016-12-28 2019-08-06 Sap Se Auto-discovery of data lineage in large computer systems
US11334593B2 (en) * 2020-08-05 2022-05-17 International Business Machines Corporation Automated ETL workflow generation

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006012146A (ja) * 2004-06-23 2006-01-12 Microsoft Corp 影響分析のためのシステムおよび方法
US20090216728A1 (en) * 2008-02-26 2009-08-27 Jeffrey Brainerd Graphic representations of data relationships
US20140344210A1 (en) * 2013-05-17 2014-11-20 Oracle International Corporation Use of projector and selector component types for etl map design
WO2016049460A1 (en) * 2014-09-26 2016-03-31 Oracle International Corporation Declarative language and visualization system for recommended data transformations and repairs
US20160147796A1 (en) * 2014-11-21 2016-05-26 Microsoft Technology Licensing, Llc Automatic schema mismatch detection
US20160188701A1 (en) * 2014-12-31 2016-06-30 Zephyr Health, Inc. File recognition system and method

Also Published As

Publication number Publication date
US20200241854A1 (en) 2020-07-30
CN108701254A (zh) 2018-10-23
WO2018039251A1 (en) 2018-03-01
JP7344327B2 (ja) 2023-09-13
CN108701256A (zh) 2018-10-23
JP2022078130A (ja) 2022-05-24
US20200241853A1 (en) 2020-07-30
JP2022043127A (ja) 2022-03-15
WO2018039266A1 (en) 2018-03-01
US20200334020A1 (en) 2020-10-22
CN108701258B (zh) 2022-12-27
JP2022028864A (ja) 2022-02-16
EP3475884A1 (en) 2019-05-01
US11537371B2 (en) 2022-12-27
JP7030707B2 (ja) 2022-03-07
WO2018039241A1 (en) 2018-03-01
CN108713205B (zh) 2022-11-11
JP7034924B2 (ja) 2022-03-14
US20180052897A1 (en) 2018-02-22
JP2022050489A (ja) 2022-03-30
EP3475887B1 (en) 2023-07-19
EP3475886A1 (en) 2019-05-01
CN108713205A (zh) 2018-10-26
EP3475885B1 (en) 2023-10-11
US20200401385A1 (en) 2020-12-24
JP2019532365A (ja) 2019-11-07
JP2019528491A (ja) 2019-10-10
CN108701256B (zh) 2022-06-28
CN108701255A (zh) 2018-10-23
JP2019531517A (ja) 2019-10-31
US20180052878A1 (en) 2018-02-22
EP3475887A1 (en) 2019-05-01
JP7002459B2 (ja) 2022-01-20
JP6991150B2 (ja) 2022-01-12
US20180052861A1 (en) 2018-02-22
EP3475884B1 (en) 2023-12-27
JP7333374B2 (ja) 2023-08-24
US11526338B2 (en) 2022-12-13
EP3500980A1 (en) 2019-06-26
CN108701255B (zh) 2023-04-04
JP2019532366A (ja) 2019-11-07
US11537369B2 (en) 2022-12-27
US10620924B2 (en) 2020-04-14
JP2023166448A (ja) 2023-11-21
WO2018039245A1 (en) 2018-03-01
US20180052870A1 (en) 2018-02-22
JP2024054219A (ja) 2024-04-16
US20220269491A1 (en) 2022-08-25
CN108701254B (zh) 2022-11-18
JP2019532364A (ja) 2019-11-07
US20180067732A1 (en) 2018-03-08
US20180052898A1 (en) 2018-02-22
JP2019533206A (ja) 2019-11-14
WO2018039257A1 (en) 2018-03-01
JP7324827B2 (ja) 2023-08-10
US10705812B2 (en) 2020-07-07
CN108701258A (zh) 2018-10-23
US10776086B2 (en) 2020-09-15
WO2018039264A1 (en) 2018-03-01
EP3475888A1 (en) 2019-05-01
JP2022084675A (ja) 2022-06-07
CN108701257B (zh) 2023-01-06
US10620923B2 (en) 2020-04-14
JP6990186B2 (ja) 2022-01-12
EP3475885A1 (en) 2019-05-01
CN108701257A (zh) 2018-10-23
US11347482B2 (en) 2022-05-31
US11537370B2 (en) 2022-12-27
JP6985279B2 (ja) 2021-12-22
US20220066753A1 (en) 2022-03-03
US11137987B2 (en) 2021-10-05
JP7316343B2 (ja) 2023-07-27

Similar Documents

Publication Publication Date Title
JP7344327B2 (ja) アプリケーションプログラミングインターフェイスのメタデータ駆動型外部インターフェイス生成ためのシステムおよび方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211209

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20211209

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230202

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230207

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230425

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230814

R150 Certificate of patent or registration of utility model

Ref document number: 7333374

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150