JP2023537725A - 分析ワークスペースの実体化 - Google Patents
分析ワークスペースの実体化 Download PDFInfo
- Publication number
- JP2023537725A JP2023537725A JP2023507898A JP2023507898A JP2023537725A JP 2023537725 A JP2023537725 A JP 2023537725A JP 2023507898 A JP2023507898 A JP 2023507898A JP 2023507898 A JP2023507898 A JP 2023507898A JP 2023537725 A JP2023537725 A JP 2023537725A
- Authority
- JP
- Japan
- Prior art keywords
- workspace
- model
- data
- data objects
- production environment
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2457—Query processing with adaptation to user needs
- G06F16/24573—Query processing with adaptation to user needs using data annotations, e.g. user-defined metadata
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/35—Creation or generation of source code model driven
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0633—Workflow analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/103—Workflow collaboration or project management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2379—Updates performed during online database operations; commit processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Abstract
ワークスペースを作成するための技術が開示されている。データ処理システムは、生成環境にデプロイされたモデルの一部を実行するためにワークスペースを作成する要求を受信する。モデルの一部に関連する1つまたは複数のデータオブジェクトおよびそれらの関連付けられたメタデータ、ならびにワークスペースの実行場所が取得される。ワークスペースにおいて1つまたは複数のデータオブジェクトおよび関連付けられたメタデータを実行するための命令のセットが生成される。ワークスペースにおいてモデルの一部、1つまたは複数のデータオブジェクトおよび関連付けられたメタデータをインスタンス化することによって、実行場所内にワークスペースが作成される。命令のセットに従って、1つまたは複数のデータオブジェクトおよび関連付けられたメタデータを使用して、ワークスペースにおいてモデルの一部が処理され、処理に基づいてデータ処理システムによって生成環境が更新される。
Description
関連出願の相互参照
本願は、2020年8月7日に出願されたインド仮出願番号第202041033832号および2021年5月28日に出願された米国通常出願番号第17/333,738号の利益および優先権を主張し、これらの出願の全内容は、全ての目的で引用によって本明細書に援用される。
本願は、2020年8月7日に出願されたインド仮出願番号第202041033832号および2021年5月28日に出願された米国通常出願番号第17/333,738号の利益および優先権を主張し、これらの出願の全内容は、全ての目的で引用によって本明細書に援用される。
分野
本開示は、一般にデータ処理システムに関し、より特定的には、生成環境にデプロイされたモデルの少なくとも一部を実行するためにシームレスな態様でワークスペースを作成する技術に関する。
本開示は、一般にデータ処理システムに関し、より特定的には、生成環境にデプロイされたモデルの少なくとも一部を実行するためにシームレスな態様でワークスペースを作成する技術に関する。
背景
インターネットの普及にともなって、さまざまな業界の企業は常に膨大な量のデータを生成して処理するようになっている。これらのデータを利用するために、さまざまな企業は、企業のビジネスにおける選好に従って多数の異なるデータインデックスをデータから抽出し、これらのデータインデックスは、企業の事業開発状況を測定するのに使用される。たとえば、eコマースウェブサイトアプリケーションでは、企業サービスを測定するためのデータインデックスは、一日当たりのウェブページへのアクティブユーザ訪問数、ユーザのクリック率、ウェブページ当たりのコンバージョン率などの要素を備え得る。
インターネットの普及にともなって、さまざまな業界の企業は常に膨大な量のデータを生成して処理するようになっている。これらのデータを利用するために、さまざまな企業は、企業のビジネスにおける選好に従って多数の異なるデータインデックスをデータから抽出し、これらのデータインデックスは、企業の事業開発状況を測定するのに使用される。たとえば、eコマースウェブサイトアプリケーションでは、企業サービスを測定するためのデータインデックスは、一日当たりのウェブページへのアクティブユーザ訪問数、ユーザのクリック率、ウェブページ当たりのコンバージョン率などの要素を備え得る。
一般に、組織が請け負うプロセスは、ワークフロー、すなわちパイプラインとしてモデル化され、たとえばデータサイエンティスト、モデラ、アナリストなどのさまざまなスタッフがワークフローの性能をモニタリングすることができる。このようなワークフローでは、決定論的であって統計的でもあるデータ変換の複雑なセットを構築して、予測結果を導き出すことをサポートするユースケースを供給することは、一般に、プライベートワークスペースの作成を必要とする。このようなプライベートワークスペースは、通常、デスクトップアプリケーションまたは手動プロセスのホスト経由でアドレス指定されて、結果をソースデータと再び相関付けて、形成された論理/計算変換を生成ユースケースと結び付ける。このようなワークスペースを作成するアプローチは、サイロ化してワークフロー全体の系統を失いがちであるので、非効率である。
本明細書に記載されている実施形態は、これらのおよび他の問題に個々におよび集合的に対処する。
概要
生成環境にデプロイされたモデルの少なくとも一部を実行するためにワークスペースを作成するための技術(たとえば、方法、システム、1つまたは複数のプロセッサによって実行可能なコードまたは命令を格納する非一時的なコンピュータ読取可能媒体)が提供される。方法、システム、1つまたは複数のプロセッサによって実行可能なプログラム、コードまたは命令を格納する非一時的なコンピュータ読取可能記憶媒体などを含むさまざまな実施形態が本明細書に記載されている。
生成環境にデプロイされたモデルの少なくとも一部を実行するためにワークスペースを作成するための技術(たとえば、方法、システム、1つまたは複数のプロセッサによって実行可能なコードまたは命令を格納する非一時的なコンピュータ読取可能媒体)が提供される。方法、システム、1つまたは複数のプロセッサによって実行可能なプログラム、コードまたは命令を格納する非一時的なコンピュータ読取可能記憶媒体などを含むさまざまな実施形態が本明細書に記載されている。
さまざまな実施形態において、方法が提供され、上記方法は、データ処理システムが、生成環境にデプロイされたモデルの少なくとも一部を実行するためにワークスペースを作成する要求を受信するステップと、上記データ処理システムが、上記モデルの上記一部に関連する1つまたは複数のデータオブジェクトおよびそれらの関連付けられたメタデータを取得するステップと、上記データ処理システムが、上記ワークスペースの実行場所を取得するステップと、上記データ処理システムが、上記ワークスペースにおいて上記1つまたは複数のデータオブジェクトおよび上記関連付けられたメタデータを実行するための命令のセットを生成するステップと、上記データ処理システムが、上記実行場所内に上記ワークスペースを作成するステップとを備え、上記作成するステップは、上記ワークスペースにおいて上記モデルの上記一部、上記1つまたは複数のデータオブジェクトおよび上記関連付けられたメタデータをインスタンス化するステップを備え、上記方法はさらに、上記命令のセットに従って、上記1つまたは複数のデータオブジェクトおよび上記関連付けられたメタデータを使用して、上記ワークスペースにおいて上記モデルの上記一部を処理するステップと、上記データ処理システムが、上記処理に基づいて上記生成環境を更新するステップとを備える。
いくつかの実施形態において、上記方法は、上記生成環境に関連付けられた1つまたは複数のデータベースから複数のデータオブジェクトおよび複数のメタデータを取得するステップをさらに備え、上記1つまたは複数のデータベースは、上記生成環境にデプロイされたモデルおよび関連付けられたデータオブジェクトのマッピングを維持しており、上記複数のデータオブジェクトおよび上記複数のメタデータをフィルタリングして、上記モデルの上記一部に関連する上記1つまたは複数のデータオブジェクトおよび上記関連付けられたメタデータを取得するステップと、上記生成環境に関連付けられた上記1つまたは複数のデータベースに対してルックアップオペレーションのセットを反復的に実行して、上記1つまたは複数のデータオブジェクトに関連する少なくとも1つのデータオブジェクトを取得するステップとをさらに備える。
いくつかの実施形態において、上記実行場所は、上記生成環境内のアプリケーションインスタンス内のエリア、またはリモートアプリケーションインスタンスである。
いくつかの実施形態において、上記方法は、上記ワークスペースにおいて上記モデルの上記一部を実行する上記要求をユーザから受信するステップと、上記モデルの上記一部に関連する上記1つまたは複数のデータオブジェクトおよび上記それらの関連付けられたメタデータに上記ユーザがアクセスすることを許可されるかどうかを確認するステップと、確認の成功に応答して、上記実行場所内に上記ワークスペースを作成するプロビジョニング実行ファイルを生成するステップとをさらに備える。
いくつかの実施形態において、上記ワークスペースはさらに、上記データ処理システムの外部のデータソースからデータを取り込み、上記モデルの上記一部に基づいて少なくとも1つのサンドボックスアプリケーションまたは分析パイプラインを作成するように構成されており、上記ワークスペースにおける上記モデルの上記一部は、上記少なくとも1つのサンドボックスアプリケーションまたは上記分析パイプラインを使用して処理される。
いくつかの実施形態において、上記命令のセットは、上記ワークスペースをホストする上記実行場所において実行することができる等価の命令セットに変換可能なフォーマットで生成される。
いくつかの実施形態において、上記生成環境を更新するステップは、上記実行場所内に上記ワークスペースを作成する前に、上記生成環境の初期状態を取得するステップをさらに備え、上記初期状態は、上記生成環境にデプロイされた上記モデルの第1の出力を含み、上記生成環境を更新するステップはさらに、上記生成環境にデプロイされた上記モデルの上記一部を上記ワークスペースにおいて処理された上記モデルの上記一部と置換するステップと、上記置換に基づいて、上記生成環境の更新状態を生成するステップとを備え、上記更新状態は、上記生成環境にデプロイされた上記モデルの第2の出力を含む。
いくつかの実施形態において、上記生成環境にデプロイされた上記モデルは、複数のサブモデルを含み、上記モデルの上記一部は、上記複数のサブモデルのうちのあるサブモデルに対応する。
いくつかの実施形態において、上記ワークスペースにおいて上記モデルの上記一部を処理するステップは、訓練データセットに対して上記モデルの上記一部を再訓練するステップと、上記再訓練に基づいて上記モデルの上記一部の1つまたは複数のパラメータを修正するステップとをさらに備える。
いくつかの実施形態において、上記実行場所内に上記ワークスペースを作成するステップは、上記データ処理システムが、上記実行場所内に上記ワークスペースを作成することができるプロビジョニング実行ファイルを生成するステップと、上記実行場所内に上記ワークスペースを作成するように上記プロビジョニング実行ファイルを実行するステップとをさらに備える。
いくつかの実施形態において、上記方法は、上記ワークスペースの構成情報を上記データ処理システムのデータベースに格納するステップをさらに備え、上記構成情報は、少なくとも、上記モデルの上記一部に関連する上記1つまたは複数のデータオブジェクトおよび上記それらの関連付けられたメタデータ、ならびに上記実行場所に関連する情報を含み、上記方法はさらに、上記データ処理システムが、上記実行場所に作成された上記ワークスペースを削除するステップと、上記データ処理システムが、上記構成情報に基づいて別の実行場所に新たなワークスペースを生成するステップとを備える。
いくつかの実施形態において、上記複数のサブモデルは、ニューラルネットワークモデル、線形回帰モデル、サポートベクターマシンモデルまたはクラスタリングモデルを含む。
いくつかの実施形態において、コンピューティングデバイスが提供され、上記コンピューティングデバイスは、プロセッサと、命令を含むメモリとを含み、上記命令は、上記プロセッサによって実行されると、上記コンピューティングデバイスに、少なくとも、生成環境にデプロイされたモデルの少なくとも一部を実行するためにワークスペースを作成する要求を受信し、上記モデルの上記一部に関連する1つまたは複数のデータオブジェクトおよびそれらの関連付けられたメタデータを取得し、上記ワークスペースの実行場所を取得し、上記ワークスペースにおいて上記1つまたは複数のデータオブジェクトおよび上記関連付けられたメタデータを実行するための命令のセットを生成し、上記ワークスペースにおいて上記モデルの上記一部、上記1つまたは複数のデータオブジェクトおよび上記関連付けられたメタデータをインスタンス化することによって、上記実行場所内に上記ワークスペースを作成し、上記命令のセットに従って、上記1つまたは複数のデータオブジェクトおよび上記関連付けられたメタデータを使用して、上記ワークスペースにおいて上記モデルの上記一部を処理し、上記処理に基づいて上記生成環境を更新するようにさせる。
いくつかの実施形態において、特定のコンピュータ実行可能な命令を格納する非一時的なコンピュータ読取可能媒体が提供され、上記命令は、プロセッサによって実行されると、コンピュータシステムに、少なくとも、生成環境にデプロイされたモデルの少なくとも一部を実行するためにワークスペースを作成する要求を受信し、上記モデルの上記一部に関連する1つまたは複数のデータオブジェクトおよびそれらの関連付けられたメタデータを取得し、上記ワークスペースの実行場所を取得し、上記ワークスペースにおいて上記1つまたは複数のデータオブジェクトおよび上記関連付けられたメタデータを実行するための命令のセットを生成し、上記ワークスペースにおいて上記モデルの上記一部、上記1つまたは複数のデータオブジェクトおよび上記関連付けられたメタデータをインスタンス化することによって、上記実行場所内に上記ワークスペースを作成し、上記命令のセットに従って、上記1つまたは複数のデータオブジェクトおよび上記関連付けられたメタデータを使用して、上記ワークスペースにおいて上記モデルの上記一部を処理し、上記処理に基づいて上記生成環境を更新するようにさせる。
上記および下記の技術は、さまざまな方法で、および、さまざまな文脈において実現され得る。以下でより詳細に説明するように、以下の図面を参照していくつかの例示的な実現例および文脈が提供されている。しかし、以下の実現例および文脈は、多くのもののうちのいくつかにすぎない。
詳細な説明
以下の説明では、特定の本発明の実施形態の理解の徹底を期すために、具体的な詳細が説明の目的で記載されている。しかし、これらの具体的な詳細がなくてもさまざまな実施形態を実施できることは明らかであろう。図面および説明は、限定的であるよう意図されるものではない。「例示的な」という単語は、「例、たとえ、または例示として機能する」ことを意味するように本明細書で使用されている。「例示的」であるとして本明細書に記載されている実施形態または設計はいずれも、必ずしも他の実施形態または設計よりも好ましいまたは有利であると解釈されるものではない。
以下の説明では、特定の本発明の実施形態の理解の徹底を期すために、具体的な詳細が説明の目的で記載されている。しかし、これらの具体的な詳細がなくてもさまざまな実施形態を実施できることは明らかであろう。図面および説明は、限定的であるよう意図されるものではない。「例示的な」という単語は、「例、たとえ、または例示として機能する」ことを意味するように本明細書で使用されている。「例示的」であるとして本明細書に記載されている実施形態または設計はいずれも、必ずしも他の実施形態または設計よりも好ましいまたは有利であると解釈されるものではない。
データ処理システムの概要
一般に、企業は、広く行き渡っている規制基準および監督基準に準拠するために、リスクを測定するワークフローの常時モニタリングを必要とする。このようなワークフローでは、測定は、企業のデータを用いた相当な演算および検証を伴うことが多い。データは、このような測定および計算をサポートするために変換される。データの変換に関与する処理は、大量の期間データを含み、その処理手法は、規定の規則のセットによって実現され得るデータ変換およびアクション(算出された値の挿入/更新を含む)を実行する一連のタスクであると考えられる。
一般に、企業は、広く行き渡っている規制基準および監督基準に準拠するために、リスクを測定するワークフローの常時モニタリングを必要とする。このようなワークフローでは、測定は、企業のデータを用いた相当な演算および検証を伴うことが多い。データは、このような測定および計算をサポートするために変換される。データの変換に関与する処理は、大量の期間データを含み、その処理手法は、規定の規則のセットによって実現され得るデータ変換およびアクション(算出された値の挿入/更新を含む)を実行する一連のタスクであると考えられる。
複雑な分析ワークフローは、いくつかのサブモデルを構成する全体モデル(たとえば、機械学習モデル)としてモデル化される。具体的には、いくつかのサブモデルは、予め定められた態様でまとめられて(すなわち、組み合わせられて)、全体モデルを生成する。これらのサブモデルは、予め定められた順序で実行されて、全体モデルの1つまたは複数の出力変数を決定する。各サブモデルは、1つまたは複数のデータセットに対して動作して、データ変換を実行して全体モデルの1つまたは複数の出力変数を算出する一連のタスクを含む。したがって、全体モデルの実行は、(i)複数の入力変数(すなわち、1つまたは複数のサブモデルへの入力パラメータ)を決定し、(ii)予め定められた順序に従って1つまたは複数のサブモデルを実行し、(iii)全体モデルの1つまたは複数の出力変数を生成することを含む。このような全体モデルは、企業の生成環境にデプロイされる。企業のさまざまな部門からのさまざまなスタッフ(たとえば、開発者、データサイエンティストなど)は、生成環境内の全体モデルをモニタリングすることができる。サブモデルは、ニューラルネットワークモデル、線形回帰モデル、サポートベクターマシンモデルまたはクラスタリングモデルなどの機械学習モデルを含み得る。
このような複雑な分析ワークフローにおける要求事項は、さまざまなエンティティがさらなる処理および開発のために全体モデルの一部(たとえば、サブモデル)を抽出したいと思う場合がある、というものである。たとえば、全体モデルの特定のサブモデルを構築する企業の部門は、たとえば新たな訓練データに対してサブモデルを再訓練したり、性能を向上させるためにサブモデルの1つまたは複数のパラメータを微調整したりするなど、サブモデルをさらに処理して向上させることを目的として、サブモデル(ならびに、このモデルを構築するのに使用される関連付けられたデータオブジェクトおよびメタデータ)を抽出したいと思う場合がある。代替的に、新たな予測モデルを構築すること、または異常検出のためのシナリオを評価すること、データパターンを検討することなどを目的として、たとえばデータオブジェクト、データレコードなどの生成環境データのスライスを取得することも望まれる場合がある。生成環境における全体モデルの機能に影響を及ぼすことなく所望のサブモデル、データオブジェクト、メタデータなどをさらなる処理のために抽出することができるワークスペースを(たとえば、既存のアプリケーションインスタンス内のエリア、リモートアプリケーションインスタンス、またはハイブリッド環境内に)作成することを可能にする機構が本明細書に記載されている。いくつかの実施形態によって、パイプライン作成ユニット111は、モデルアグリゲータを含む。このモデルアグリゲータは、1つまたは複数のサブモデル(ならびに、それらの関連付けられたデータオブジェクトおよびメタデータ)を取得して、これらの1つまたは複数のサブモデルをユーザ定義の態様で組み合わせて全体モデルを生成するようにプログラムされている。このモデルアグリゲータは、まとめられて(または、組み合わせられて)全体モデルを形成する1つまたは複数のサブモデルを取得するスクリプト、たとえばPythonスクリプトとして実現されてもよい。
本明細書に記載されているさまざまな実施形態は、各種の異なるドメインおよびコンテキストで使用され得る。特定の実施形態は、分散型コンピューティング技術において提供される企業アプリケーションソフトウェアに特に適用可能である。しかし、本明細書に記載されているシステムおよび方法は、ワークスペースの作成が望まれるいかなるシステムまたはアプリケーションフレームワークにもデータ変換機能を提供するのに使用することができる。データ処理システムが、ワークスペースをインスタンス化して、さらなる処理のために、全体モデルの関連する部分、すなわちサブモデル、特定のデータオブジェクト(および、それらの関連付けられたメタデータ)を(生成環境から)ワークスペースに抽出することを可能にするための技術(たとえば、システム、方法および機械読取可能媒体)が開示されている。
図1は、さまざまな実施形態に係る、クライアントデバイス105と、生成アプリケーション環境110と、ワークスペース作成ユニット120と、ネットワーク130と、オペレーションモジュール140と、データストレージ150(たとえば、メモリストア)とを備えるデータ処理システム100を示す図である。生成アプリケーション環境110は、パイプライン作成ユニット111と、規則ユニット113とを含む。
クライアントデバイス105を動作させるユーザは、入力を受け付けてユーザが生成アプリケーション環境110および/またはワークスペース作成ユニット120と対話することを可能にする1つまたは複数のアプリケーションインターフェイス(たとえば、グラフィカルユーザインターフェイス)を提供され得る。クライアントデバイス105の例としては、ワークステーション、パーソナルコンピュータ(PC:Personal Computer)、ラップトップコンピュータ、スマートフォンなどのモバイルデバイス、ウェアラブルコンピュータ、または他のネットワーク接続された電子デバイスが挙げられるが、それらに限定されるものではない。クライアントデバイス105に表示されるインターフェイスは、クライアントデバイス105で実行されるアプリケーションを使用してアクセス可能であり得る。クライアントデバイス105、生成アプリケーション環境110、ワークスペース作成ユニット120およびオペレーションモジュール140は、1つまたは複数の通信ネットワーク130を介して通信し得る。通信ネットワーク130の例としては、モバイルネットワーク、ワイヤレスネットワーク、セルラーネットワーク、ローカルエリアネットワーク(LAN:Local Area Network)、ワイドエリアネットワーク(WAN:Wide Area Network)、他のワイヤレス通信ネットワーク、またはそれらの組み合わせを挙げることができる。
いくつかの実施形態によって、生成アプリケーション環境110に含まれるパイプライン作成ユニット111は、ユーザが、全体モデルをパイプライン(本明細書では、ワークフローとも称される)、すなわちまとめられて/組み合わせられて全体モデルを形成する1つまたは複数のサブモデルの組み合わせ、として定義するようにプロビジョニングする。また、パイプライン作成ユニット111は、ユーザが、データ処理システム100においてデータを変換することが要求される規則、報告オブジェクトおよびプロセスのセットを定義および実行するようにプロビジョニングする。パイプライン作成ユニット111は、ユーザがたとえばクライアントデバイス105を介して規則、プロセスを定義および実行し、全体モデルを形成するのに使用される各サブモデルの定義を管理することを可能にするインターフェイスを提供する。たとえば、多くの企業は、広く行き渡っている規制基準および監督基準に準拠するために、リスクの常時モニタリングおよび測定を必要とする。これらの測定は、企業のデータを用いた相当な演算および検証を伴うことが多い。データは、このような測定および計算をサポートするために頻繁に変換される。これらのデータ変換は、規定の規則のセットによって実現され得る。
パイプライン作成ユニット111は、ユーザが、全体モデルを実行するための規則113を定義する、たとえば全体モデルを形成する1つまたは複数のサブモデルの実行順序を定義するようにプロビジョニングする。たとえば、規則は、同時に実行される1つまたは複数のサブモデルの第1のサブセットを含み得て、1つまたは複数のサブモデルの第2のサブセットは、全体モデルの1つまたは複数の出力変数を決定するためにシーケンシャルに実行される。また、さらに、パイプライン作成ユニット111は、ユーザが、全体モデルを評価する際の基準となる、たとえば外部データソースから取得される1つまたは複数のデータセットをアプリケーションインターフェイスを介して定義するようにプロビジョニングする。このようなデータセットは、外部データソースからオペレーションモジュール140を介して取得することができる。
規則ユニット113は、ユーザが、データストレージ150などのストレージデバイス内のデータを変換するために(たとえば、サブモデルに対して)実行される規則、報告オブジェクトおよびプロセスのセットを定義することを容易にする。たとえば、規則ユニット113は、変換の定義およびメンテナンスを容易にするフレームワークを提供する。規則の定義ではメタデータ抽象化レイヤが使用されてもよく、そこでは、ユーザは、データストア150内の属性を再分類することを許可されるので、データを変換する。大規模でないまたは非リストのデータセットおよびプロセッサである階層などの基本的なメタデータオブジェクトは、規則機能を駆動する。規則は、さまざまなタイプを含み得る。たとえば、タイプ1規則は、特定のフィルタに基づいてデータモデル内の所与のレコードのセットからレコードのサブセットを作成することを含み得る。このプロセスは、変換、集約、またはそれらの組み合わせを含み得る。タイプ1規則定義は、テーブル・トゥ・テーブル(T2T)抽出によって実現され得る。タイプ2規則は、テーブル内に複雑なグループバイ(group-by)句およびサブクエリを含む基準に基づいてデータモデルにおけるテーブル内のレコードを再分類することを含み得る。タイプ3規則は、単純な尺度に基づいて新たな値またはメトリックを算出し、算出された値を用いて、データモデル内の識別されたレコードのセットを更新することを含み得る。パイプライン作成ユニット111は、さまざまな規則定義で動作するようにユーザを手助けするツールのセットを含む。
さまざまな実施形態において、規則は、1つまたは複数のコンポーネントを含むように定義される。これらのコンポーネントは、データセット、ソース、ターゲット、マッピングおよび/またはノード識別子を含み得る。データセットは、キーによって連結されるテーブルのセットである。データセットは、少なくとも1つのファクトテーブルを有し得る。ファクトテーブルは、プロセスの測定値、メトリックまたはファクトを格納している。ファクトテーブルは、ディメンションテーブルによって囲まれているスタースキーマまたはスノーフレークスキーマの中心に位置し得る。ディメンションテーブルは、参照データを格納している(たとえば、エンティティが扱う製品リスト、支店リスト、地理リスト、通貨リストなどは、比較的静的である)。複数のファクトテーブルが使用される場合、これらはファクトコンステレーションスキーマとして配置することができる。ファクトテーブルは、一般に、2つのタイプの列、すなわちファクトを含む列と、ディメンションテーブルにとっての外部キーである列とを有する。ファクトテーブルの主キーは、通常、全てのその外部キーで構成された複合キーである。ファクトテーブルは、データストア150のコンテンツを含んでおり、加法的測度、非加法的測度および準加法的測度のようなさまざまなタイプの測度を格納している。タイプ3規則定義は、2つ以上のファクトテーブルを含むデータセットに基づき得る。タイプ2規則定義は、1つのファクトテーブルを含むデータセットに基づき得る。データセット内のファクトテーブルの1つまたは複数の列の中の値は、新たな値で変換され得る。
いくつかの実施形態に従って、規則のセットは、プロセスを集合的に形成する。プロセス定義は、プロセスツリーとして表現されてもよい。規則ユニット113は、プロセスの定義およびメンテナンスを容易にするフレームワークを提供する。プロセスを定義することによって、ユーザは、機能プロセスに関係する規則の集合体を論理的にグループ化することができる。たとえば、ユーザは、階層構造を使用して既存のメタデータオブジェクトでプロセスを定義することができ、これは、プロセスツリーの構築を容易にする。プロセスツリーは、各レベル内に多くのレベルおよび1つまたは多くのノードを有し得る。このように、生成アプリケーション環境110は、規則ユニット113を利用して、複雑な分析ワークフローのサブモデルのためのプロセスを定義することができる。サブモデルは、1つまたは複数のタスクを含み得て、1つまたは複数のタスクの各々は、サブモデルの実行を完了させるために実行される、ということが理解される。(たとえば、サブモデルのタスクの)サブプロセスは、レベルメンバにおいて定義され得て、プロセス階層メンバは、ツリーのリーフメンバを形成する。したがって、プロセスは、2つのタイプ、すなわち(i)機能的完全性を表し、実行可能な状態になっているエンドツーエンドプロセスと、(ii)規則の論理的集合体であって、それだけで実行されることができない非エンドツーエンドプロセスを含み得る。非エンドツーエンドプロセスは、実行対象のエンドツーエンドプロセスにおけるサブプロセスとして定義され得る。規則ユニット113は、プロセスノードと呼ばれる1つまたは複数のメンバを追加することによってプロセスツリーを構築するのに使用され得る。任意のメンバに関連付けられた先行タスクがある場合、先行タスクとして定義されるこれらのタスクは、当該メンバの実行に先行する。
規則ユニット113によって作成される定義は、固有のバッチグループをもたらす。これらのバッチは、次に、生成アプリケーション環境110によって提供されるインターフェイスを介して実行をスケジュールされ得る。プロセスの実行(たとえば、サブモデルの実行)の要求はいずれも、バッチグループにおけるバッチになり得る。生成アプリケーション環境110は、ユーザがプロセスを実行するためのワークフローを有することを可能にする。いくつかの実施形態によって、これらのバッチは、次に、オペレーションモジュール140から実行され得る。たとえば、ユーザは、実行のために印を付けられたプロセス定義をアプリケーションプログラミングインターフェイス(API)を介して選択してもよく、選択されたプロセス定義の名前は、APIの実行説明テキストボックスに表示される。APIは、他の情報、たとえば要求実行ID、要求実行説明、要求ステータス、実行ステータスおよび編集などのオプションを表示する。
APIは、実行のために定義されるバッチを選択するオプションを有し得る。「オープン」という要求ステータスは、選択されたプロセスIDが実行可能な状態になっていることを示す。「未開始」という実行ステータスは、特定のプロセス定義/バッチがまだ実行されていないことを示す。ユーザは、実行要求を編集する編集オプションを選択することができる。また、ユーザは、プロセス名、プロセス実行説明、プロセス実行ID、プロセスタイプ、要求ステータスなどに基づいて特定のプロセスをサーチするサーチおよびフィルタリングオプションを使用することができる。ユーザがデータ処理システム内で既存のプロセスの協調的ビューを管理することを支援するページネーションオプションも提供され得る。
いくつかの実施形態によって、オペレーションモジュール140は、ユーザが、データ(たとえば、企業データ)の管理および処理の際に、データ処理システム100内で最高レベルの効率を作成して1つまたは複数の所定の規則に基づいて結果を導き出すことを容易にする。オペレーションモジュール140は、バッチメンテナンス、バッチ実行、バッチスケジューラ、バッチモニタリング、バッチ処理報告、バッチキャンセル、ログ表示および報告生成などのユニットを含み得る。
オペレーションモジュール140内のバッチメンテナンスフレームワークは、ユーザがバッチ定義を作成してメンテナンスすることを容易にする。ユーザは、バッチメンテナンスからの、また、アドバンスド・アナリティクス・インフラストラクチャ・モジュール(図示せず)および規則ユニット113などの他のモジュールからの、実行をスケジュールされたバッチを処理することができる。オペレーションモジュール140のバッチ実行ユニットは、処理のためにバッチを起動するように構成されている。いくつかの実施形態によって、バッチが実行のために提出されると、規定のコンポーネントおよびパラメータに対して一連のコマンドがデータストア150に送信される。そして、これらのコマンドが成功裏に実行されると、これは更新数(たとえば、値定義)のアレイを返す。オペレーションモジュール140内のバッチスケジューラユニットは、ユーザがその後の処理のためにバッチをスケジュールすることを容易にする。ユーザは、新たなバッチスケジュールを定義するか、または以前に定義されたバッチスケジュールを処理のために更新することができる。
オペレーションモジュール140のバッチモニタリングユニットは、ユーザが、実行されたバッチ定義のステータスをタスク詳細とともに閲覧することを容易にする。ユーザは、もしあれば発行を一定の間隔で追跡して、円滑なバッチ実行を保証することができる。イベントログは、実行されたバッチのリアルタイムステータスをユーザに提供する。オペレーションモジュール140内のバッチ処理報告は、ユーザが、バッチに定義された各タスクコンポーネントの実行ステータスを閲覧することを容易にする。オペレーションモジュール140のバッチキャンセルユニットは、ユーザが、実行をスケジュールされているかまたは実行中であるバッチまたは特定のタスクをキャンセルするまたは中断することを容易にする。ログ表示ユニットは、ユーザが、バッチに定義された各タスクコンポーネントの実行ステータスを閲覧することを容易にする。オペレーションモジュール140の報告生成ユニットは、クライアントデバイス150に提供される全体モデルの性能報告を生成するように構成されている。
ワークスペース作成ユニット120は、たとえばモデラ、データおよびドメインアナリストが1つまたは複数のワークスペースを作成することを可能にする。このようなワークスペースでは、生成環境からのデータオブジェクト、論理抽象、メタデータおよび/または全体モデルの一部(すなわち、サブモデル)のスライスがエクスポートされ得て、その結果、エクスポートされた情報は、さまざまな目的で、独立した態様で(すなわち、生成環境から分離して)処理されることができる。たとえば、エクスポートされたデータオブジェクト、メタデータおよび論理抽象は、予測モデルの構築または異常検出のためのシナリオまたはデータパターンの検討に使用することができる。エクスポートされたサブモデルは、性能を向上させるためにさらに訓練されて強化されることができる(たとえば、サブモデルのパラメータを最適化する)。ワークスペース作成ユニット120は、インタラクティブであってオフラインで生成された命令セットを介して共通の/適合したメタデータを適用しながら、ワークスペース、すなわち既存のアプリケーションインスタンス内のエリアまたはリモートインスタンスまたはハイブリッド環境にデータおよび関連付けられたオブジェクト(論理/演算)を両方とも引き込むことを可能にする。このようなアプローチは、セキュリティ資格、自己拡張および制御によって規定されるターゲットへの自動バインディングによる訓練済み論理/演算/モデルの複製、仮想化およびデプロイメントを可能にする。
いくつかの実施形態に従って、ワークスペース作成ユニット120は、サブモデル、すなわちサブモデルのコードのコピーを抽出する(すなわち、スナップショットを取得する)と同時に、サブモデルに関連付けられたメタデータのコピーを抽出する、たとえばJava(登録商標)スクリプト、SQLスクリプトなどの実行可能なスクリプトとして実現され得る。このメタデータは、たとえば、データオブジェクト、外部ソフトウェアパッケージ、およびサブモデルに関連付けられた外部データソースからのデータを含み得る。サブモデルおよびその関連付けられたメタデータの抽出されたコピーは、アーカイブ、たとえば実行可能なzipアーカイブにパッケージングされる。また、実行可能なスクリプトとして実現されるワークスペース作成ユニット120は、(サブモデルを実行するのに必要とされる)全ての関係するデータがzipアーカイブに含まれることを保証するために、サブモデルに関連付けられたメタデータ内の従属関係(たとえば、データ従属関係)も定義することができる。したがって、アーカイブは、生成環境における全体モデルの機能に影響を及ぼすことなく、サブモデルをさらに発展させるまたは改良する目的で、特定のユーザのために作成されたワークスペースにエクスポートされることができる。
いくつかの実施形態によって、たとえばモデラ、データ/ドメインアナリストなどの1人または複数人のユーザは、ユーザのそれぞれのワークスペースにエクスポートされる個々のアーカイブ、すなわちパッケージングされたサブモデルを作成し得る。複数のエンティティが、同一のサブモデルに対応するzipアーカイブを作成してもよい、ということが理解される。ユーザは、独立した態様でそれぞれのワークスペース内のサブモデルを処理する。たとえば、さまざまなユーザがさまざまなデータセット、さまざまなパラメータなどを利用してサブモデルを再訓練し得る。ユーザのさまざまなワークスペース内のサブモデルの処理が完了すると、いくつかの実施形態によって、ワークスペースのうちの1つからの特定のサブモデルが選択されて、生成環境における元のサブモデルに取って代わる。たとえば、ユーザのワークスペースで実行される各サブモデルの性能は、他の同様のサブモデルの性能と比較される。このように、性能が他のサブモデルよりも優れている(たとえば、サブモデルのより高いスループットを実現する)サブモデルのうちの1つが選択されて、生成環境における元のサブモデルに取って代わる。その後、さまざまなユーザによるこのサブモデルのさらなる処理/改良が、取って代わられたサブモデルに対して実行される。サブモデルの古いバージョンは、その後の使用または監査の目的で、生成環境に関連付けられたデータストア150に格納されてもよい、ということが理解される。
いくつかの実施形態に従って、ワークスペース作成ユニット120は、クライアントデバイス105がワークスペースを作成することを可能にするユーザインターフェイスウィザード(たとえば、オペレーションモジュール115の一部)をクライアントデバイス105に提供する。ワークスペースの作成は、(i)制御されたユーザの資格によるデータエンティティ選択、(ii)選択された論理データ要素(すなわち、データセットまたはデータオブジェクト)に関連付けがなされた関連付けられたメタデータ(論理/演算)を自動的にリストにすること、(iii)関連するメタデータの選択を必要に応じて可能にすること、(iv)ワークスペースをホストすることができるローカルなリモート環境(すなわち、ワークスペースの実行場所)をスキャンすること、および(v)ワークスペースデプロイメントのためのリスト選択(たとえば、データ実体化がハイブリッドであるようにプロビジョニングすること)を含み得る。図3を参照して本明細書において説明するように、上記のステップの各々について命令セットが生成されて、ワークスペースを作成して、関連するデータをワークスペースにエクスポートする。この命令セットは、ドメイン固有言語、または、論理モデル、メタデータオブジェクト、データファイルへの関連付けを含むShell、Perl、Pythonのようなスクリプト言語で生成され得る、ということが理解される。さらに、この命令セットは、ワークスペースの所望の実行場所において実行されるように命令セットをプロビジョニングする態様で生成される。ワークスペースの作成に関する詳細については、図2~図5を参照して以下で説明する。
図2は、さまざまな実施形態に係る、ワークスペースをプロビジョニングすることの説明図である。図2の説明図200に示されるように、データモデル205(たとえば、全体モデル)が生成環境201にデプロイされる。データモデル205は、外部データソース210から取得されたデータに基づいて構築され得る。ワークスペース作成ユニット120は、生成環境201にデプロイされたデータモデル205の少なくとも一部を実行するためにワークスペースを作成する要求をクライアントデバイス(たとえば、図1のクライアントデバイス105)から受信する。
いくつかの実施形態に従って、ワークスペースにおいて実行されることが望まれるデータモデル205の一部は、たとえば新たな訓練データに対してサブモデルを再訓練したり、性能を向上させるためにサブモデルの1つまたは複数のパラメータを微調整したりするなど、サブモデルをさらに処理して向上させることを目的とした、データモデルの特定のサブモデル(ならびに、サブモデルを構築するのに使用される関連付けられたデータオブジェクトおよびメタデータ)に対応し得る。さらに、ワークスペースにおいて実行されることが望まれるデータモデル205の一部は、新たな予測モデルを構築すること、または異常検出のためのシナリオを評価すること、データパターンを検討することなどを目的とした、たとえばデータオブジェクト、データレコードなどの生成環境データのスライスに対応し得る。ワークスペースにおいて実行されることが望まれるデータモデル205の一部は、クライアントデバイスによってワークスペース作成ユニット120に発行される要求に含まれ得る。
データオブジェクト、メタデータまたはデータテンプレート(たとえば、報告テンプレート、分析テンプレート、製品階層テンプレート、組織階層テンプレートなど)は、さらなる処理のためにワークスペースに含まれるように生成環境201から抽出され得る、ということが理解される。言い換えれば、ワークスペース作成ユニット120は、生成環境201に含まれるデータオブジェクト、メタデータなどのコピーを作成して、これらのコピーをワークスペースにおいてインスタンス化(すなわち、物理的にデプロイ)する。インスタンス化されたデータオブジェクト、メタデータなどは、たとえばサブモデルをテストする、サブモデルを更新するなどの、ワークスペースにおいて実行される処理に基づいて、変更することができる。いくつかの実施形態によって、ワークスペースにおいて実行される処理が完了すると、ワークスペースにおいて変更されたデータオブジェクト、メタデータ、モデルの一部などは、ワークスペース作成ユニット120を介して生成環境に押し戻され得る。たとえば、データモデルのサブモデルが(たとえば、サブモデルを微調整または再訓練する目的で)ワークスペースにおいてインスタンス化されるシナリオでは、再訓練/微調整されたサブモデルは、(完了時に)ワークスペース作成ユニット120によって生成環境201に押し戻され得る。
このように、生成環境201にデプロイされたサブモデルの古いバージョンは、ワークスペースからの再訓練/微調整されたサブモデルと置換され得る。さらに、いくつかの実施形態によって、図1のデータ処理システムは、サブモデルの古いバージョンもサブモデルの更新されたバージョンも生成環境201内に維持するオプションを提供してもよい。いくつかの実施形態に従って、ワークスペースの作成の前に、生成環境201の初期状態は、(生成環境201に関連付けられた)データストアに格納され得て、この初期状態は、生成環境201にデプロイされたデータモデル205の性能パラメータ(たとえば、第1の出力)を含む。たとえばデータモデルのサブモデルの古いバージョンをサブモデルの再訓練/微調整されたバージョン(ワークスペースから取得される)と置換すると、データ処理システムは、生成環境の更新状態を生成することができ、この更新状態は、生成環境にデプロイされたモデルの新たな出力(すなわち、第1の出力とは異なる第2の出力)を含む。生成環境にデプロイされたデータモデルの更新後の性能は、アプリケーションインターフェイスを介してクライアントデバイスに表示され得る。
クライアントデバイスによってワークスペース作成ユニット120に発行される要求は、作成対象のワークスペースの実行場所に関する情報を含む。具体的には、この実行場所は、ワークスペースを作成することが望まれる目的地環境に対応する。いくつかの実施形態に従って、実行場所は、生成環境内のアプリケーションインスタンス内のエリア(すなわち、インメモリワークスペースインプリメンテーション)またはリモートアプリケーションインスタンスまたはハイブリッド環境に対応する。本明細書では、ハイブリッド環境は、(生成環境201から抽出されたデータに加えて)データを他のワークスペース、外部データソース210などから抽出するように構成された、ワークスペースをホストする環境として定義される。
(たとえば、組織のさまざまな部門からの)さまざまなクライアントデバイスがワークスペース作成要求をワークスペース作成ユニット120に発行することができる。なお、各要求は、ワークスペースの実行場所に関する情報およびワークスペースにおいてインスタンス化されるデータモデル205の一部を含む。ワークスペース作成ユニット120は、各要求についてワークスペース、たとえばワークスペースA 215,ワークスペースB 220およびワークスペースC 225を作成するように構成されている。各ワークスペースにおいて、関連するデータオブジェクト、メタデータ、および/または、データモデルの一部は、コピーされて、さらなる処理のためにローカルに格納される。たとえば、図2に示されるように、ワークスペースAは、クライアントデバイスによって要求された対応するデータオブジェクトおよびメタデータのコピーを格納するデータベース216および217を含むのに対して、ワークスペースBは、要求されたデータオブジェクトおよびメタデータの対応するコピーを格納するデータベース221および222を含み、ワークスペースC(ハイブリッド環境にデプロイされる)は、クライアントデバイスによって要求された対応するデータオブジェクトおよびメタデータのコピーを格納するデータベース226および227を含む。図3を参照して詳細に説明するように、ワークスペースにおいてインスタンス化される関連データを取得するために、フィルタリング機構がワークスペース作成ユニット120によって利用され得る。
さらに、図2に示されるように、ワークスペースCは、外部データソース210からデータを抽出すると同時に他のワークスペース(たとえば、ワークスペースB 220)からデータを抽出するように構成されているので、ハイブリッド環境にデプロイされる、ということが理解される。いくつかの実施形態によって、作成されたワークスペース215,220および225の各々は、ワークスペースにおいて実行される(たとえば、サブモデルの)処理/評価を支援する少なくとも1つのサンドボックスアプリケーション(241,242)または分析パイプライン(243)を、アプリケーションプログラミングインターフェイス230(たとえば、REST API)を介してさらに作成し得る。たとえば、ソフトウェア開発の文脈において、サンドボックスアプリケーションは、サブモデルに関するコードを評価してテストすることができる隔離された環境である。同様に、特定のワークスペース(たとえば、ワークスペースA 215)は、ワークスペースA 215において処理されているサブモデルに含まれるさまざまな部分(たとえば、プロセス)をエミュレート/テストするのに使用することができる分析パイプライン243を作成し得る。
図3は、さまざまな実施形態に係る、ワークスペースをプロビジョニングすることの詳細を示す図である。具体的には、図3に示される概略図300は、実行場所内でのワークスペースの作成を担当するワークスペース作成ユニットのコンポーネントを示している。図3に示されるように、ワークスペース作成ユニット(たとえば、図1のワークスペース作成ユニット120)は、データオブジェクトおよび関連付けられたメタデータをリモートデータストア310および/または生成環境320から取得して、取得された情報を1つまたは複数のワークスペース、たとえばワークスペースA 341,ワークスペースB 343およびワークスペースC 345においてインスタンス化(すなわち、物理的に実体化)するプロビジョニングアプリケーション330を含む。
いくつかの実施形態によって、プロビジョニングアプリケーション330は、データインターフェイスユニット333と、オブジェクトインターフェイスユニット335と、命令ユニット336と、構成データベース337と、マテリアライザユニット338とを含む。データインターフェイスユニット333は、リモートデータストア310から、および生成環境320に含まれるデータストア322からデータ(たとえば、データオブジェクト)を抽出するように構成されている。オブジェクトインターフェイスユニット335は、生成環境320に含まれるメタストア323からメタデータ(たとえば、データオブジェクトに関連付けられたメタデータ)を抽出するように構成されている。抽出されたメタデータは、抽出されたデータオブジェクトとともに、ワークスペース、たとえばワークスペースA 341,ワークスペースB 343およびワークスペースC 345においてプロビジョニングアプリケーションによってインスタンス化される。図3に示されるように、ワークスペース作成ユニットのプロビジョニングアプリケーション330は、さまざまなタイプのワークスペースを実体化(すなわち、物理的にデプロイ)することができる。たとえば、ワークスペースA 341およびワークスペースB 343は、リモートアプリケーションインスタンスまたはハイブリッド環境である実行場所にデプロイされるのに対して、ワークスペースCは、生成環境320内のアプリケーションインスタンス内のエリア、すなわちインメモリワークスペースインプリメンテーションにデプロイされる。
いくつかの実施形態によって、データインターフェイスユニット333およびオブジェクトインターフェイスユニット335は、フィルタリング機構を利用して、関連するデータ(および、メタデータ)をリモートデータストア310および生成環境320から取得し得る。データインターフェイスユニット333のオペレーションに関する詳細については、図4を参照して本明細書において説明する。データインターフェイスユニット333を介して取得されたデータオブジェクトおよびオブジェクトインターフェイスユニット335を介して取得されたメタデータは、命令ユニット337に入力される。命令ユニット337は、実行場所内に作成されるワークスペースにおいて1つまたは複数のデータオブジェクトおよび関連付けられたメタデータを実行するための命令のセットを生成する。具体的には、命令のセットは、ワークスペースをホストする実行場所において実行することができる等価の命令セットに変換可能なフォーマットで命令ユニット337によって生成される。したがって、命令ユニット337は、命令セットを、さまざまなワークスペース環境において実行することができる実行可能なスクリプト(たとえば、アーティファクト)として生成する。言い換えれば、命令ユニット337によって生成される命令セットは、ターゲットに依存せずに(すなわち、ワークスペースに依存せずに)、実行可能なスクリプトの実行によってデータオブジェクトおよびメタデータをさまざまなワークスペース環境において実体化することができる。たとえば、ワークスペース作成ユニットは、たとえばビットデータストア、リレーショナルデータストアなどのさまざまなタイプのデータストアからデータを抽出して、抽出されたデータを任意の環境、たとえばビッグデータ環境において実体化することができる。
いくつかの実施形態によって、クライアントデバイスによって発行されるワークスペース作成要求では、生成された命令セット(ならびに、関連付けられたデータオブジェクトおよびメタデータ)、ワークスペースの実行場所などに関する情報は、命令ユニット337によってワークスペースの構成情報として構成データベース336に格納される。さまざまなワークスペースのこのような構成情報を構成データベース336に格納することは、ワークスペース作成ユニット120が今後ワークスペースをシームレスに作成することを可能にする。たとえば、特定のワークスペース(たとえば、ワークスペースA 341)の構成情報が構成データベース336に格納されることを考えてみる。ある時点で、ワークスペースAは、クライアントデバイスによって発行された要求によって削除されるものとする。その後、クライアントデバイスがワークスペースAを再作成したいと思った場合、ワークスペース作成ユニットは、単に構成データベース336から構成情報を検索してワークスペースAを実体化することができる。その際に、ワークスペース作成ユニットは、全てのデータオブジェクトおよび関連付けられたメタデータをリモートデータストア310および/または生成環境320から(再び)抽出する必要がないので、データ処理システムの計算リソースが節約される。さらに、ワークスペース作成ユニットは、ワークスペースに以前に関連付けられたデータオブジェクトおよびメタデータのリストを(APIを介して)クライアントデバイスに提供することができる。クライアントデバイスは、このデータオブジェクトおよびメタデータのリストを利用すると同時に、ワークスペースの新たなインスタンスを再作成しながらさらなるデータオブジェクト(または、メタデータ)を検索するようにワークスペース作成ユニットに指示し得る。
いくつかの実施形態に従って、マテリアライザユニット339は、抽出されたデータオブジェクトおよびメタデータを処理して、(実行時に)実行場所内にワークスペースを物理的に作成することができるプロビジョニング実行ファイル(たとえば、スクリプト)を生成するように構成されている。ワークスペースが作成されると、ワークスペース作成ユニットは、さらなる処理のために、ワークスペースにおいて、抽出されたデータオブジェクト、メタデータおよび/またはデータモデルの一部(すなわち、サブモデル)をインスタンス化し得る。
図4は、さまざまな実施形態に係る、データインターフェイスユニットを示す図である。具体的には、図4は、図3のプロビジョニングアプリケーション330内に含まれるデータインターフェイスユニット333のコンポーネントを示す概略図400を示している。データインターフェイスユニット333は、要求処理ユニット410と、フィルタリングユニット411と、データ検索ユニット413と、影響分析ユニット415と、データ処理ユニット417と、資格419と、ニュートラル言語トランスレータ421とを含む。
いくつかの実施形態に従って、ワークスペースの作成のためにクライアントデバイスによって発行された要求(たとえば、図1のクライアントデバイス105を介して発行されたユーザ要求)は、ワークスペース作成ユニットに向けられる。具体的には、この要求は、データインターフェイスユニット333の要求処理ユニット410に向けられる。要求処理ユニット410は、たとえばワークスペースの実行場所に関する情報を抽出したり、ワークスペースにおいて実行されるモデル(たとえば、生成環境201にデプロイされたデータモデル205)の一部に関する情報を取得したりするなどの要求を処理するように構成されている。ワークスペース作成要求を処理すると、要求処理ユニット410は、データ検索ユニット413をトリガする。
データ検索ユニット413は、生成環境410に含まれるドライバ403と通信する。ドライバ403は、(生成環境410の)データストア401に対してルックアップオペレーションを実行して、データオブジェクト、機能などを検索する。データストア401から抽出された情報は、データインターフェイスユニット333のデータ検索ユニット413に渡される。いくつかの実施形態に従って、ユーザ要求がワークスペース内でのサブモデルの作成に関する場合、データ検索ユニット413は、このサブモデルに関連付けられた識別子をドライバ403に送信する。ドライバ403は、この識別子を利用して、データストア401に対してルックアップオペレーションを実行し、データストア401は、生成環境にデプロイされたモデルおよび関連付けられたデータオブジェクトのマッピングを維持している。このように、ドライバは、サブモデルに関連付けられた関連するデータオブジェクトを抽出して、抽出されたデータオブジェクトをデータ検索ユニット413に送信することができる。
いくつかの実施形態によって、データ検索ユニット413は、影響分析ユニット415と通信して、検索されたデータオブジェクトの分析を実行する。たとえば、影響分析ユニット415は、抽出されたデータオブジェクトの従属関係をチェックして、すなわち検索されたデータオブジェクトに従属する1つまたは複数のさらなるデータオブジェクトを判断して、これらのさらなるデータオブジェクトを検索するようにデータ検索ユニット413に通知する。いくつかの実施形態によって、データインターフェイスユニット333は、フィルタリングユニット411を利用して、検索されたデータオブジェクトに対してフィルタリングオペレーションを実行して、要求に対して関連するデータオブジェクトのセットを取得する。たとえば、ワークスペースを作成する要求は、データオブジェクトに対するユーザの選好に関する情報を含み得る。このようなユーザの選好は、フィルタリング機構として利用されて、ワークスペースにおいて実体化される最も関連するデータオブジェクトのセットを取得することができる。
さらに、検索および/またはフィルタリングされたデータオブジェクトは、データ処理ユニット417に渡され、データ処理ユニット417は、資格419(すなわち、1つまたは複数のアクセス権のセット)を利用して、ユーザ(たとえば、ワークスペース作成要求を起動したユーザ)が、検索および/またはフィルタリングされたデータオブジェクトの各々にアクセスする権限が付与されているかどうかを判断する。ユーザが、検索されたデータオブジェクトのうちの1つまたは複数にアクセスする権限が付与されていないとデータ処理ユニット417が判断したことに応答して、データ処理ユニット417は、要求処理ユニット410をトリガして、このような判断をユーザに通知する電子メッセージをクライアントデバイスに送信する。さらに、この電子メッセージは、アクセス問題に起因してワークスペース作成要求を完了できないことをユーザに伝える通知を含み得る。しかし、ユーザが1つまたは複数のデータオブジェクトの各々にアクセスする権限が付与されていると成功裏に判断したことに応答して、データ処理ユニット417は、ニュートラル言語トランスレータ421を起動する。
いくつかの実施形態によって、ニュートラル言語トランスレータ421は、データオブジェクト、メタデータなどのフォーマットを、ワークスペースの実行場所の環境によって受け入れられるフォーマットに変換するように構成されている。その際に、データインターフェイスユニット333は、抽出された1つまたは複数のデータオブジェクトをワークスペースのさらなる処理に利用できることを保証する。いくつかの実施形態によって、データ処理ユニット417は、ユーザが1つまたは複数のデータオブジェクトの各々にアクセスする権限が付与されていると成功裏に判断すると、マテリアライザ(図3のユニット338)をトリガして、実行場所内にワークスペースを作成するプロビジョニング実行ファイルを生成する。さらに、データ処理ユニット417は、要求処理ユニット410をトリガして、1つまたは複数のデータオブジェクトに対するユーザの権限付与の成功を示す電子メッセージをクライアントデバイスに送信することもできる。ニュートラル言語トランスレータ421によって処理された1つまたは複数のデータオブジェクトは、命令ユニット(すなわち、図3のユニット336)に渡されて、実行場所内にワークスペースを作成するプロセスを開始する。
図5は、さまざまな実施形態に係る、データ処理システムのワークスペース作成ユニットによって実行されるワークスペースプロビジョニングのプロセスを示すフローチャート500を示す図である。図5に示される処理は、それぞれのシステム、ハードウェア、またはそれらの組み合わせの1つまたは複数の処理ユニット(たとえば、プロセッサ、コア)によって実行されるソフトウェア(たとえば、コード、命令、プログラム)で実現され得る。ソフトウェアは、非一時的な記憶媒体(たとえば、メモリデバイス)に格納され得る。図5に示されて以下で説明される方法は、例示的であって非限定的であるよう意図されている。図5は、特定のシーケンスまたは順序で行われるさまざまな処理ステップを示しているが、これは、限定的であるよう意図されるものではない。特定の代替的な実施形態では、これらのステップは何らかの異なる順序で実行されてもよく、またはいくつかのステップは並行して実行されてもよい。
プロセスは、ステップ510において開始し、ステップ510において、ワークスペース作成ユニットは、生成環境にデプロイされたモデルの少なくとも一部を実行するためにワークスペースを作成する要求を(たとえば、クライアントデバイスから)受信する。ワークスペースにおいて実行されることが望まれるモデル(たとえば、図5のデータモデル205)の一部は、たとえば新たな訓練データに対してサブモデルを再訓練したり、性能を向上させるためにサブモデルの1つまたは複数のパラメータを微調整したりするなど、サブモデルをさらに処理して向上させることを目的とした、データモデルの特定のサブモデル(ならびに、このサブモデルを構築するのに使用される関連付けられたデータオブジェクトおよびメタデータ)に対応し得る。いくつかの実施形態によって、ワークスペースにおいて実行されることが望まれるモデルの一部は、新たな予測モデルを構築すること、または異常検出のためのシナリオを評価すること、データパターンを検討することを目的とした、たとえばデータオブジェクト、データレコードなどの生成環境データのスライスに対応し得る。
次に、プロセスはステップ520に進み、ステップ520において、ワークスペース作成ユニットは、モデルの一部に関連するデータオブジェクトおよび関連付けられたメタデータを生成環境(たとえば、生成環境に含まれるデータストアおよびメタストア)から取得する。ワークスペース作成ユニットは、データストアおよびメタストアに対してルックアップオペレーションを実行することによって、関連するデータオブジェクトおよび関連付けられたメタデータを取得し、データストアおよびメタストアは、生成環境にデプロイされたモデルならびにこれらのモデルによって利用される関連付けられたデータオブジェクトおよびメタデータのマッピングを維持している。ステップ530において、ワークスペース作成ユニットは、実行場所、すなわちワークスペースが作成される目的地を取得する。ワークスペース作成ユニットは、クライアントデバイスによって発行されたワークスペース作成要求に組み込まれた実行場所情報を抽出する。
その後、プロセスはステップ540に進み、ステップ540において、ワークスペース作成ユニットは、ワークスペースにおいて1つまたは複数のデータオブジェクトおよび関連付けられたメタデータを実行するための命令のセットを生成する。命令のセットは、ワークスペースをホストする実行場所において実行することができる等価の命令セットに変換可能なフォーマットで生成される、ということが理解される。ステップ550において、ワークスペース作成ユニットは、実行(ステップ560)時に、実行場所にワークスペースを物理的に作成することができるプロビジョニング実行ファイル(たとえば、スクリプト)を生成する。いくつかの実施形態によって、ワークスペース作成ユニットは、ワークスペースを作成する要求を発行したユーザ(クライアントデバイスに関連付けられている)が、ステップ520において取得された関連するデータオブジェクトおよび関連付けられたメタデータにアクセスする権限が付与されていると判断したことに応答して、プロビジョニング実行ファイルを生成する、ということが理解される。
ステップ570において、ワークスペース作成ユニットは、作成されたワークスペースにおいて命令のセットを実行する。具体的には、ワークスペース作成ユニットは、さらなる処理のために、ワークスペースにおいて、抽出されたデータオブジェクト、メタデータ、および/または、データモデルの一部(すなわち、サブモデル)をインスタンス化する。ワークスペースにおけるサブモデルの処理が完了すると、ステップ580におけるプロセスは、生成環境を更新する。たとえば、生成環境201にデプロイされたサブモデルの古いバージョンは、ワークスペースからの処理済みのサブモデル、すなわち再訓練/微調整されたサブモデルと置換され得る。
さらに、いくつかの実施形態によって、データ処理システムは、サブモデルの古いバージョンもサブモデルの更新されたバージョンも生成環境内に維持するオプションを提供してもよい。上記のように、生成環境の初期状態は、ワークスペースを作成する前に、生成に関連付けられたデータストレージに格納され得て、この初期状態は、生成環境201にデプロイされたデータモデルの性能パラメータ(たとえば、第1の出力)を含む。たとえばデータモデルのサブモデルの古いバージョンを、(ワークスペースから取得された)サブモデルの再訓練/微調整されたバージョンと置換すると、データ処理システムは、生成環境の更新状態を生成することができ、この更新状態は、生成環境にデプロイされたモデルの新たな出力(すなわち、第1の出力とは異なる第2の出力)を含む。
例示的なシステム
図6は、分散型システム600の簡略図である。示されている例では、分散型システム600は、1つまたは複数のクライアントコンピューティングデバイス602,604,606および608を含み、それらは、1つまたは複数の通信ネットワーク610を介してサーバ612に結合されている。クライアントコンピューティングデバイス602,604,606および608は、1つまたは複数のアプリケーションを実行するように構成され得る。
図6は、分散型システム600の簡略図である。示されている例では、分散型システム600は、1つまたは複数のクライアントコンピューティングデバイス602,604,606および608を含み、それらは、1つまたは複数の通信ネットワーク610を介してサーバ612に結合されている。クライアントコンピューティングデバイス602,604,606および608は、1つまたは複数のアプリケーションを実行するように構成され得る。
さまざまな例において、サーバ612は、本開示に記載されている1つまたは複数の実施形態を可能にする1つまたは複数のサービスまたはソフトウェアアプリケーションを実行するように適合され得る。特定の例において、サーバ612は、非仮想環境および仮想環境を含み得る他のサービスまたはソフトウェアアプリケーションも提供し得る。いくつかの例において、これらのサービスは、ソフトウェア・アズ・ア・サービス(SaaS)モデル下などのウェブベースのサービスまたはクラウドサービスとしてクライアントコンピューティングデバイス602,604,606および/または608のユーザに対して提供され得る。そして、クライアントコンピューティングデバイス602,604,606および/または608を動作させるユーザは、1つまたは複数のクライアントアプリケーションを利用してサーバ612と対話して、これらのコンポーネントによって提供されるサービスを利用し得る。
図6に示される構成では、サーバ612は、サーバ612によって実行される機能を実現する1つまたは複数のコンポーネント618,620および622を含み得る。これらのコンポーネントは、1つまたは複数のプロセッサによって実行され得るソフトウェアコンポーネント、ハードウェアコンポーネント、またはそれらの組み合わせを含み得る。分散型システム600とは異なっていてもよいさまざまな異なるシステム構成が可能である、ということが理解されるべきである。図6に示される例は、したがって、例示的なシステムを実現するための分散型システムの一例であり、限定的であるよう意図されるものではない。
ユーザは、クライアントコンピューティングデバイス602,604,606および/または608を使用して、1つまたは複数のアプリケーション、モデルまたはチャットボットを実行し得て、これらの1つまたは複数のアプリケーション、モデルまたはチャットボットは、本開示の教示に従って実行または供給され得る1つまたは複数のイベントまたはモデルを生成し得る。クライアントデバイスは、クライアントデバイスのユーザがクライアントデバイスと対話することを可能にするインターフェイスを提供し得る。また、クライアントデバイスは、このインターフェイスを介して情報をユーザに出力し得る。図6は、クライアントコンピューティングデバイスを4つだけ示しているが、任意の数のクライアントコンピューティングデバイスがサポートされてもよい。
クライアントデバイスは、携帯型の手持ち式デバイス、汎用コンピュータ(パーソナルコンピュータおよびラップトップなど)、ワークステーションコンピュータ、ウェアラブルデバイス、ゲーミングシステム、シンクライアント、さまざまなメッセージングデバイス、センサまたは他の感知デバイスなどのさまざまなタイプのコンピューティングシステムを含み得る。これらのコンピューティングデバイスは、さまざまなモバイルオペレーティングシステム(たとえば、マイクロソフトウィンドウズモバイル(Microsoft Windows Mobile,登録商標)、iOS(登録商標)、ウィンドウズフォン(Windows Phone,登録商標)、アンドロイド(Android,登録商標)、ブラックベリー(BlackBerry,登録商標)、パームOS(Palm OS,登録商標))を含むさまざまなタイプおよびバージョンのソフトウェアアプリケーションおよびオペレーティングシステム(たとえば、マイクロソフトウィンドウズ(Microsoft Windows,登録商標)、アップルマッキントッシュ(Apple Macintosh,登録商標)、UNIX(登録商標)またはUNIX系オペレーティングシステム、Linux(登録商標)またはLinux系オペレーティングシステム(グーグルクローム(Google Chrome,商標)OSなど))を実行し得る。携帯型の手持ち式デバイスは、携帯電話、スマートフォン(たとえば、iPhone(登録商標))、タブレット(たとえば、iPad(登録商標))、パーソナルデジタルアシスタント(PDA:Personal Digital Assistant)などを含み得る。ウェアラブルデバイスは、グーグルグラス(Google Glass,登録商標)頭部装着型ディスプレイおよび他のデバイスを含み得る。ゲーミングシステムは、さまざまな手持ち式ゲーミングデバイス、インターネット対応ゲーミングデバイス(たとえば、キネクト(Kinect,登録商標)ジェスチャ入力デバイスを有していたり有していなかったりするマイクロソフトXbox(Microsoft Xbox,登録商標)ゲーム機、ソニープレイステーション(Sony PlayStation,登録商標)システム、任天堂(Nintendo,登録商標)によって提供されるさまざまなゲーミングシステムなど)などを含み得る。クライアントデバイスは、さまざまなインターネット関連アプリ、通信アプリケーション(たとえば、電子メールアプリケーション、ショートメッセージサービス(SMS:Short Message Service)アプリケーション)などのさまざまな異なるアプリケーションを実行することが可能であり得て、さまざまな通信プロトコルを使用し得る。
ネットワーク610は、さまざまな入手可能なプロトコルのうちのいずれかを使用したデータ通信をサポートすることができる、当業者が精通している任意のタイプのネットワークであり得て、これらのプロトコルは、TCP/IP(伝送制御プロトコル/インターネットプロトコル)、SNA(システムネットワークアーキテクチャ)、IPX(インターネットパケット交換)、アップルトーク(AppleTalk,登録商標)などを含むが、それらに限定されるものではない。単に一例として、ネットワーク610は、ローカルエリアネットワーク(LAN)、イーサネット(登録商標)に基づくネットワーク、トークンリング、ワイドエリアネットワーク(WAN)、インターネット、仮想ネットワーク、仮想プライベートネットワーク(VPN:Virtual Private Network)、イントラネット、エクストラネット、公衆交換電話網(PSTN:Public Switched Telephone Network)、赤外線ネットワーク、ワイヤレスネットワーク(たとえば、米国電気電子学会(IEEE:Institute of Electrical and Electronics)1002.11のプロトコル一式、ブルートゥース(Bluetooth,登録商標)および/もしくはその他のワイヤレスプロトコルのうちのいずれかの下で動作するネットワーク)、ならびに/または、これらの任意の組み合わせおよび/もしくは他のネットワークであり得る。
サーバ612は、1つもしくは複数の汎用コンピュータ、専用サーバコンピュータ(一例として、PC(パーソナルコンピュータ)サーバ、UNIXサーバ、ミッドレンジサーバ、メインフレームコンピュータ、ラックマウント型サーバなどを含む)、サーバファーム、サーバクラスタ、または、その他の適切な構成および/もしくは組み合わせで構成され得る。サーバ612は、仮想オペレーティングシステムを実行する1つもしくは複数の仮想マシン、または、サーバのための仮想ストレージデバイスを維持するように仮想化され得る論理ストレージデバイスの1つもしくは複数のフレキシブルなプールなどの、仮想化を含む他のコンピューティングアーキテクチャを含み得る。さまざまな例において、サーバ612は、前述の開示に記載される機能を提供する1つまたは複数のサービスまたはソフトウェアアプリケーションを実行するように適合され得る。
サーバ612におけるコンピューティングシステムは、上記のもののうちのいずれかを含む1つまたは複数のオペレーティングシステム、および、市場で入手可能な任意のサーバオペレーティングシステムを実行し得る。サーバ612は、さまざまなさらに他のサーバアプリケーションおよび/または中間層アプリケーションのうちのいずれかも実行し得て、これらのアプリケーションは、HTTP(ハイパーテキスト転送プロトコル)サーバ、FTP(ファイル転送プロトコル)サーバ、CGI(コモンゲートウェイインターフェイス)サーバ、JAVA(登録商標)サーバ、データベースサーバなどを含む。例示的なデータベースサーバは、オラクル社(Oracle,登録商標)、マイクロソフト社(Microsoft,登録商標)、サイベース社(Sybase,登録商標)、IBM社(IBM,登録商標)(インターナショナルビジネスマシンズ)などから市場で入手可能なものを含むが、それらに限定されるものではない。
いくつかの実現例において、サーバ612は、クライアントコンピューティングデバイス602,604,606および608のユーザから受信されるデータフィードおよび/またはイベント更新情報を分析および整理統合するための1つまたは複数のアプリケーションを含み得る。一例として、データフィードおよび/またはイベント更新情報は、1つまたは複数の第三者情報源および連続データストリームから受信される、ツイッター(Twitter,登録商標)フィード、フェイスブック(Facebook,登録商標)更新情報またはリアルタイムの更新情報を含み得るが、それらに限定されるものではなく、これらは、センサデータアプリケーション、金融株式相場表示板、ネットワーク性能測定ツール(たとえば、ネットワーク監視およびトラフィック管理アプリケーション)、クリックストリーム分析ツール、自動車交通監視などに関連するリアルタイムのイベントを含み得る。サーバ612は、データフィードおよび/またはリアルタイムのイベントをクライアントコンピューティングデバイス602,604,606および608の1つまたは複数のディスプレイデバイスを介して表示するための1つまたは複数のアプリケーションも含み得る。
分散型システム600は、1つまたは複数のデータリポジトリ614,616も含み得る。特定の例において、これらのデータリポジトリは、データおよび他の情報を格納するのに使用され得る。たとえば、データリポジトリ614,616のうちの1つまたは複数は、チャットボットの性能またはさまざまな実施形態に係るさまざまな機能を実行する際にサーバ612によって使用されるチャットボットが使用する生成済モデルに関連する情報などの情報を格納するのに使用され得る。データリポジトリ614,616は、さまざまな場所にあり得る。たとえば、サーバ612によって使用されるデータリポジトリは、サーバ612にローカルであってもよく、またはサーバ612からリモートであってネットワークベースの接続もしくは専用の接続を介してサーバ612と通信してもよい。データリポジトリ614,616は、さまざまなタイプであってもよい。特定の例において、サーバ612によって使用されるデータリポジトリは、オラクル社および他のベンダによって提供されるデータベースなどのデータベース、たとえばリレーショナルデータベースであってもよい。これらのデータベースのうちの1つまたは複数は、SQLでフォーマットされたコマンドに応答したデータベースとの間でのデータの格納、更新および検索を可能にするように適合され得る。
特定の例において、データリポジトリ614,616のうちの1つまたは複数は、アプリケーションによって、アプリケーションデータを格納するのにも使用され得る。アプリケーションによって使用されるデータリポジトリは、たとえばキー値格納リポジトリ、オブジェクト格納リポジトリ、またはファイルシステムによってサポートされる一般的なストレージリポジトリなどのさまざまなタイプであってもよい。
特定の例において、本開示に記載されている機能は、クラウド環境を介してサービスとして提供され得る。図7は、特定の例に係る、さまざまなサービスがクラウドサービスとして提供され得るクラウドベースのシステム環境の簡略ブロック図である。図7に示される例において、クラウドインフラストラクチャシステム702は、1つまたは複数のクライアントコンピューティングデバイス704,706および708を使用してユーザによって要求され得る1つまたは複数のクラウドサービスを提供し得る。クラウドインフラストラクチャシステム702は、サーバ612について上記したものを含み得る1つまたは複数のコンピュータおよび/またはサーバを備え得る。クラウドインフラストラクチャシステム702におけるコンピュータは、汎用コンピュータ、専用サーバコンピュータ、サーバファーム、サーバクラスタ、またはその他の適切な構成および/もしくは組み合わせとして編成され得る。
ネットワーク710は、クライアント704,706および708とクラウドインフラストラクチャシステム702との間のデータの伝達およびやりとりを容易にし得る。ネットワーク710は、1つまたは複数のネットワークを含み得る。これらのネットワークは、同一のタイプであってもよく、または異なるタイプであってもよい。ネットワーク710は、通信を容易にするために、ワイヤードおよび/またはワイヤレスプロトコルを含む1つまたは複数の通信プロトコルをサポートし得る。
図7に示される例は、クラウドインフラストラクチャシステムの一例に過ぎず、限定的であるよう意図されるものではない。いくつかの他の例において、クラウドインフラストラクチャシステム702は、図7に示されるコンポーネントよりも多くのコンポーネントまたは少ないコンポーネントを有してもよく、2つまたはそれ以上のコンポーネントを組み合わせてもよく、またはコンポーネントの異なる構成もしくは配置を有していてもよい、ということが理解されるべきである。たとえば、図7は3つのクライアントコンピューティングデバイスを示しているが、代替例では任意の数のクライアントコンピューティングデバイスがサポートされてもよい。
クラウドサービスという用語は、一般に、サービスプロバイダのシステム(たとえば、クラウドインフラストラクチャシステム702)によってインターネットなどの通信ネットワークを介してオンデマンドでユーザが入手できるようにされるサービスを指すのに使用される。一般に、パブリッククラウド環境では、クラウドサービスプロバイダのシステムを構成するサーバおよびシステムは、顧客自身のオンプレミスサーバおよびシステムとは異なっている。クラウドサービスプロバイダのシステムは、クラウドサービスプロバイダによって管理される。したがって、顧客は、クラウドサービスプロバイダによって提供されるクラウドサービスのために別のライセンス、サポート、またはハードウェアおよびソフトウェアリソースを購入する必要なく、これらのサービスを利用することができる。たとえば、クラウドサービスプロバイダのシステムは、アプリケーションをホストし得て、ユーザは、このアプリケーションを実行するためのインフラストラクチャリソースを購入する必要なく、インターネットを介してオンデマンドでこのアプリケーションをオーダーして使用することができる。クラウドサービスは、アプリケーション、リソースおよびサービスへの簡単でスケーラブルなアクセスを提供するように設計される。いくつかのプロバイダは、クラウドサービスを提供する。たとえば、ミドルウェアサービス、データベースサービス、Javaクラウドサービスなどのいくつかのクラウドサービスは、カリフォルニア州レッドウッドショアーズのオラクル社によって提供される。
特定の例において、クラウドインフラストラクチャシステム702は、ハイブリッドサービスモデルを含む、ソフトウェア・アズ・ア・サービス(SaaS:Software as a Service)モデル、プラットフォーム・アズ・ア・サービス(PaaS:Platform as a Service)モデル、インフラストラクチャ・アズ・ア・サービス(IaaS:Infrastructure as a Service)モデル下などのさまざまなモデルを使用して1つまたは複数のクラウドサービスを提供し得る。クラウドインフラストラクチャシステム702は、さまざまなクラウドサービスの提供を可能にする一連のアプリケーション、ミドルウェア、データベースおよび他のリソースを含み得る。
SaaSモデルは、基本的なアプリケーションのためのハードウェアまたはソフトウェアを顧客が購入する必要なく、アプリケーションまたはソフトウェアをインターネットのような通信ネットワークを介してサービスとして顧客に提供することを可能にする。たとえば、SaaSモデルは、クラウドインフラストラクチャシステム702によってホストされるオンデマンドアプリケーションへのアクセスを顧客に提供するのに使用され得る。オラクル社によって提供されるSaaSサービスの例としては、人材/資本管理、顧客関係管理(CRM:Customer Relationship Management)、企業資源計画(ERP:Enterprise Resource Planning)、サプライチェーン管理(SCM:Supply Chain Management)、企業業績管理(EPM:Enterprise Performance Management)、アナリティクスサービス、ソーシャルアプリケーションなどのためのさまざまなサービスが挙げられるが、それらに限定されるものではない。
IaaSモデルは、一般に、インフラストラクチャリソース(たとえば、サーバ、ストレージ、ハードウェアおよびネットワーキングリソース)をクラウドサービスとして顧客に提供して、弾力的な演算およびストレージ機能を提供するのに使用される。さまざまなIaaSサービスは、オラクル社によって提供される。
PaaSモデルは、一般に、顧客がプラットフォームおよび環境リソースを調達、構築またはメンテナンスする必要なく、顧客がアプリケーションおよびサービスを開発、実行および管理することを可能にするこのようなリソースをサービスとして提供するのに使用される。オラクル社によって提供されるPaaSサービスの例としては、オラクルJavaクラウドサービス(JCS:Java Cloud Service)、オラクルデータベースクラウドサービス(DBCS:Database Cloud Service)、データ管理クラウドサービス、さまざまなアプリケーション開発ソリューションサービスなどが挙げられるが、それらに限定されるものではない。
クラウドサービスは、一般に、オンデマンドセルフサービスベースの、サブスクリプションベースの、弾性的にスケーラブルな、信頼性のある、高可用性の、セキュリティ保護された態様で提供される。たとえば、顧客は、クラウドインフラストラクチャシステム702によって提供される1つまたは複数のサービスをサブスクリプションオーダーを介してオーダーし得る。次に、クラウドインフラストラクチャシステム702は、顧客のサブスクリプションオーダーで要求されたサービスを提供するように処理を実行する。たとえば、ユーザは、発話を使用して、上記のように特定のアクションを起こすように(たとえば、インテント)、および/または、本明細書に記載されているようにチャットボットシステムにサービスを提供するように、クラウドインフラストラクチャシステムに要求し得る。クラウドインフラストラクチャシステム702は、1つまたは複数のクラウドサービスを提供するように構成され得る。
クラウドインフラストラクチャシステム702は、さまざまなデプロイメントモデルを介してクラウドサービスを提供し得る。パブリッククラウドモデルでは、クラウドインフラストラクチャシステム702は、第三者クラウドサービスプロバイダによって所有され得て、クラウドサービスは、任意の一般大衆顧客に提供され、顧客は、個人または企業であり得る。特定の他の例では、プライベートクラウドモデル下で、クラウドインフラストラクチャシステム702は、組織内(たとえば、企業組織内)で運営され得て、当該組織内の顧客にサービスが提供される。たとえば、顧客は、人事部、給与支払部などの企業のさまざまな部署であってもよく、または当該企業内の個人であってもよい。特定の他の例では、コミュニティクラウドモデル下で、クラウドインフラストラクチャシステム702および提供されるサービスは、関連するコミュニティ内のいくつかの組織によって共有されてもよい。上記のモデルのハイブリッドなどのさまざまな他のモデルも使用されてもよい。
クライアントコンピューティングデバイス704,706および708は、さまざまなタイプ(図6に示されるクライアントコンピューティングデバイス602,604,606および608など)であり得て、1つまたは複数のクライアントアプリケーションを動作させることが可能であり得る。ユーザは、クライアントデバイスを使用して、クラウドインフラストラクチャシステム702によって提供されるサービスを要求するなど、クラウドインフラストラクチャシステム702と対話し得る。たとえば、ユーザは、クライアントデバイスを使用して、本開示に記載されているように情報またはアクションをチャットボットから要求し得る。
いくつかの例において、サービスを提供するためにクラウドインフラストラクチャシステム702によって実行される処理は、モデルの訓練およびデプロイメントを含み得る。この分析は、データセットを使用、分析および操作して、1つまたは複数のモデルを訓練してデプロイすることを含み得る。この分析は、場合によってはデータを並行して処理したりデータを使用してシミュレーションを行ったりする1つまたは複数のプロセッサによって実行され得る。たとえば、ビッグデータ分析は、チャットボットシステムのための1つまたは複数のモデルを生成して訓練するためにクラウドインフラストラクチャシステム702によって実行され得る。この分析に使用されるデータは、構造化されたデータ(たとえば、データベースに格納されたデータまたは構造化されたモデルに従って構造化されたデータ)および/または構造化されていないデータ(たとえば、データブロブ(バイナリ・ラージ・オブジェクト))を含み得る。
図7の例に示されるように、クラウドインフラストラクチャシステム702は、クラウドインフラストラクチャシステム702によって提供されるさまざまなクラウドサービスの提供を容易にするために利用されるインフラストラクチャリソース730を含み得る。インフラストラクチャリソース730は、たとえば、処理リソース、ストレージまたはメモリリソース、ネットワーキングリソースなどを含み得る。特定の例では、アプリケーションから要求されるストレージを供給するために利用可能であるストレージ仮想マシンは、クラウドインフラストラクチャシステム702の一部であってもよい。他の例では、ストレージ仮想マシンは、異なるシステムの一部であってもよい。
特定の例において、クラウドインフラストラクチャシステム702によってさまざまな顧客に提供されるさまざまなクラウドサービスをサポートするためのこれらのリソースの効率的なプロビジョニングを容易にするために、リソースは、リソースまたはリソースモジュール(「ポッド」とも称される)のセットに束ねられ得る。各リソースモジュールまたはポッドは、1つまたは複数のタイプのリソースの予め統合されて最適化された組み合わせを備え得る。特定の例において、さまざまなタイプのクラウドサービス用にさまざまなポッドが予めプロビジョニングされ得る。たとえば、ポッドの第1のセットは、データベースサービス用にプロビジョニングされ得て、ポッドの第1のセットの中のポッドとは異なるリソースの組み合わせを含み得るポッドの第2のセットは、Javaサービス用にプロビジョニングされ得る、などである。いくつかのサービスでは、サービスのプロビジョニングに割り当てられるリソースは、サービス間で共有され得る。
クラウドインフラストラクチャシステム702自体は、クラウドインフラストラクチャシステム702のさまざまなコンポーネントによって共有されるサービス732を内部で使用し得て、これにより、クラウドインフラストラクチャシステム702によるサービスのプロビジョニングが容易になる。これらの内部共有サービスは、セキュリティおよびアイデンティティサービス、統合サービス、企業リポジトリサービス、企業マネージャサービス、ウイルススキャンおよびホワイトリストサービス、高可用性、バックアップおよび回復サービス、クラウドサポートを可能にするためのサービス、電子メールサービス、通知サービス、ファイル転送サービスなどを含み得るが、それらに限定されるものではない。
クラウドインフラストラクチャシステム702は、複数のサブシステムを備え得る。これらのサブシステムは、ソフトウェアで実現されてもよく、またはハードウェアで実現されてもよく、またはそれらの組み合わせで実現されてもよい。図7に示されるように、これらのサブシステムは、クラウドインフラストラクチャシステム702のユーザまたは顧客がクラウドインフラストラクチャシステム702と対話することを可能にするユーザインターフェイスサブシステム712を含み得る。ユーザインターフェイスサブシステム712は、ウェブインターフェイス714、オンラインストアインターフェイス716(クラウドインフラストラクチャシステム702によって提供されるクラウドサービスが宣伝されて消費者によって購入可能である)および他のインターフェイス718などのさまざまな異なるインターフェイスを含み得る。たとえば、顧客は、クライアントデバイスを使用して、クラウドインフラストラクチャシステム702によって提供された1つまたは複数のサービスをインターフェイス714,716および718のうちの1つまたは複数を使用して要求し得る(サービス要求734)。たとえば、顧客は、オンラインストアにアクセスして、クラウドインフラストラクチャシステム702によって提供されたクラウドサービスをブラウズして、顧客が申し込みたい、クラウドインフラストラクチャシステム702によって提供された1つまたは複数のサービスのサブスクリプションオーダーを行い得る。このサービス要求は、顧客および顧客が申し込みたい1つまたは複数のサービスを識別する情報を含み得る。たとえば、顧客は、クラウドインフラストラクチャシステム702によって提供されたサービスのサブスクリプションオーダーを行い得る。オーダーの一部として、顧客は、サービスが提供されるチャットボットシステムを識別する情報、および任意に、当該チャットボットシステムの1つまたは複数の資格証明を提供し得る。
図7に示される例などの特定の例において、クラウドインフラストラクチャシステム702は、新たなオーダーを処理するように構成されたオーダー管理サブシステム(OMS:Order Management Subsystem)720を備え得る。この処理の一部として、OMS720は、まだなされていなければ顧客の口座を作成して、要求されたサービスを顧客に提供するために請求書を顧客に発行するのに使用される請求書発行および/または課金情報を顧客から受信して、顧客情報を検証して、検証されると顧客のオーダーを確定して、さまざまなワークフローをオーケストレートしてプロビジョニングに備えてオーダーを整えるように構成され得る。
適切に認証されると、OMS720は、次に、オーダープロビジョニングサブシステム(OPS:Order Provisioning Subsystem)724を呼び出し得る。OPS724は、処理、メモリおよびネットワーキングリソースを含む、オーダーのためのリソースをプロビジョニングするように構成されている。プロビジョニングは、オーダーのためのリソースを割り当てて、顧客オーダーによって要求されたサービスを容易にするようにこれらのリソースを構成することを含み得る。オーダーに対してリソースをプロビジョニングする態様およびプロビジョニングされたリソースのタイプは、顧客によってオーダーされたクラウドサービスのタイプに依存し得る。たとえば、1つのワークフローに従って、OPS724は、特定のクラウドサービスが要求されていると判断して、当該特定のクラウドサービスについて予め構成されていたであろうポッドの数を識別するように構成され得る。オーダーに割り当てられるポッドの数は、要求されたサービスのサイズ/量/レベル/範囲に依存し得る。たとえば、割り当てられるポッドの数は、サービスによってサポートされるユーザの数、サービスが要求されている期間などに基づいて決定され得る。次に、割り当てられたポッドは、要求されたサービスを提供するように特定の要求発行顧客に合わせてカスタマイズされ得る。
特定の例において、上記のセットアップフェーズ処理は、プロビジョニングプロセスの一部としてクラウドインフラストラクチャシステム702によって実行され得る。クラウドインフラストラクチャシステム702は、アプリケーションIDを生成して、クラウドインフラストラクチャシステム702自体によって提供されるストレージ仮想マシンの中から、またはクラウドインフラストラクチャシステム702以外の他のシステムによって提供されるストレージ仮想マシンから、アプリケーションのためのストレージ仮想マシンを選択し得る。
クラウドインフラストラクチャシステム702は、応答または通知744を要求発行顧客に送信して、要求されたサービスがいつ使用できる状態になるかを示し得る。いくつかの事例では、要求されたサービスの利益を顧客が使用および利用し始めることを可能にする情報(たとえば、リンク)が顧客に送信され得る。特定の例において、顧客がサービスを要求する場合、応答は、クラウドインフラストラクチャシステム702によって生成されたチャットボットシステムIDと、このチャットボットシステムIDに対応する、クラウドインフラストラクチャシステム702によって選択されたチャットボットシステムを識別する情報とを含み得る。
クラウドインフラストラクチャシステム702は、サービスを複数の顧客に提供し得る。各顧客について、クラウドインフラストラクチャシステム702は、顧客から受信された1つまたは複数のサブスクリプションオーダーに関連する情報を管理して、これらのオーダーに関連する顧客データをメンテナンスして、要求されたサービスを顧客に提供することを担当する。クラウドインフラストラクチャシステム702は、申し込みされたサービスの顧客の使用に関する使用量統計も収集し得る。たとえば、使用されたストレージの量、転送されたデータの量、ユーザの数、ならびにシステムアップ時間およびシステムダウン時間などについて統計が収集され得る。この使用量情報は、顧客に請求書を発行するのに使用され得る。請求書発行は、たとえば月1回のサイクルで行われ得る。
クラウドインフラストラクチャシステム702は、サービスを複数の顧客に並行して提供し得る。クラウドインフラストラクチャシステム702は、場合によっては専有情報を含むこれらの顧客の情報を格納し得る。特定の例において、クラウドインフラストラクチャシステム702は、顧客情報を管理して、ある顧客に関連する情報が別の顧客によってアクセス不可能であるように、管理された情報を分離するように構成されたアイデンティティ管理サブシステム(IMS:Identity Management Subsystem)728を備える。IMS728は、アイデンティティサービス(情報アクセス管理、認証および認可サービス、顧客のアイデンティティおよび役割および関連する機能を管理するためのサービスなど)などのさまざまなセキュリティ関連サービスを提供するように構成され得る。
図8は、コンピュータシステム800の一例を示す図である。いくつかの例において、コンピュータシステム800は、分散型環境内のデジタルアシスタントまたはチャットボットシステム、ならびに上記のさまざまなサーバおよびコンピュータシステムのうちのいずれかを実現するのに使用され得る。図8に示されるように、コンピュータシステム800は、処理サブシステム804を含むさまざまなサブシステムを含み、処理サブシステム804は、バスサブシステム802を介していくつかの他のサブシステムと通信する。これらの他のサブシステムは、処理加速ユニット806と、I/Oサブシステム808と、ストレージサブシステム818と、通信サブシステム824とを含み得る。ストレージサブシステム818は、記憶媒体822とシステムメモリ810とを含む非一時的なコンピュータ読取可能記憶媒体を含み得る。
バスサブシステム802は、コンピュータシステム800のさまざまなコンポーネントおよびサブシステムに意図した通りに互いに通信させるための機構を提供する。バスサブシステム802は、単一のバスとして概略的に示されているが、バスサブシステムの代替例は、複数のバスを利用してもよい。バスサブシステム802は、いくつかのタイプのバス構造のうちのいずれかであり得て、これらのバス構造は、さまざまなバスアーキテクチャのうちのいずれかを使用したメモリバスまたはメモリコントローラ、周辺バス、ローカルバスなどを含む。たとえば、このようなアーキテクチャは、業界標準アーキテクチャ(ISA:Industry Standard Architecture)バス、マイクロチャネルアーキテクチャ(MCA:Micro Channel Architecture)バス、エンハンストISA(EISA:Enhanced ISA)バス、ビデオ・エレクトロニクス・スタンダーズ・アソシエーション(VESA:Video Electronics Standards Association)ローカルバス、およびIEEE P1386.1規格に従って製造される中二階バスとして実現され得る周辺コンポーネントインターコネクト(PCI:Peripheral Component Interconnect)バスなどを含み得る。
処理サブシステム804は、コンピュータシステム800の動作を制御し、1つまたは複数のプロセッサ、特定用途向け集積回路(ASIC:Application Specific Integrated Circuit)またはフィールドプログラマブルゲートアレイ(FPGA:Field Programmable Gate Array)を備え得る。これらのプロセッサは、シングルコアプロセッサまたはマルチコアプロセッサを含み得る。コンピュータシステム800の処理リソースは、1つまたは複数の処理ユニット832,834などに編成されることができる。処理ユニットは、1つもしくは複数のプロセッサ、同一のもしくは異なるプロセッサからの1つもしくは複数のコア、コアとプロセッサとの組み合わせ、またはコアとプロセッサとの他の組み合わせを含み得る。いくつかの例において、処理サブシステム804は、グラフィックスプロセッサ、デジタル信号プロセッサ(DSP:Digital Signal Processor)などの1つまたは複数の特別目的コプロセッサを含み得る。いくつかの例において、処理サブシステムの処理ユニットの一部または全部は、特定用途向け集積回路(ASIC)またはフィールドプログラマブルゲートアレイ(FPGA)などのカスタマイズされた回路を使用して実現され得る。
いくつかの例において、処理サブシステム804内の処理ユニットは、システムメモリ810内またはコンピュータ読取可能記憶媒体822上に格納された命令を実行することができる。さまざまな例において、処理ユニットは、さまざまなプログラムまたはコード命令を実行することができ、複数の同時実行プログラムまたはプロセスを維持することができる。どんなときでも、実行対象のプログラムコードの一部または全部は、システムメモリ810内および/またはコンピュータ読取可能記憶媒体822上(場合によっては、1つまたは複数のストレージデバイス上を含む)にあることができる。好適なプログラミングを通じて、処理サブシステム804は、上記のさまざまな機能を提供することができる。コンピュータシステム800が1つまたは複数の仮想マシンを実行している事例では、1つまたは複数の処理ユニットは、各仮想マシンに割り当てられ得る。
特定の例において、処理加速ユニット806は、コンピュータシステム800によって実行される処理全体を加速させるために、カスタマイズされた処理を実行するように、または、処理サブシステム804によって実行される処理の一部をオフロードするように任意に設けられ得る。
I/Oサブシステム808は、情報をコンピュータシステム800に入力する、および/または、情報をコンピュータシステム800からもしくはコンピュータシステム800を介して出力するためのデバイスおよび機構を含み得る。一般に、入力デバイスという用語の使用は、情報をコンピュータシステム800に入力するための全ての可能なタイプのデバイスおよび機構を含むよう意図されている。ユーザインターフェイス入力デバイスは、たとえば、キーボード、マウスまたはトラックボールなどのポインティングデバイス、ディスプレイに組み込まれたタッチパッドまたはタッチスクリーン、スクロールホイール、クリックホイール、ダイアル、ボタン、スイッチ、キーパッド、音声コマンド認識システムを伴う音声入力デバイス、マイクロフォン、および他のタイプの入力デバイスを含み得る。ユーザインターフェイス入力デバイスは、ユーザが入力デバイスを制御して入力デバイスと対話することを可能にするマイクロソフトキネクトモーションセンサなどのモーション感知および/またはジェスチャ認識デバイス、マイクロソフトXbox360ゲームコントローラ、ジェスチャおよび口頭のコマンドを使用して入力を受信するためのインターフェイスを提供するデバイスも含み得る。ユーザインターフェイス入力デバイスは、ユーザから目の動き(たとえば、写真を撮っている間および/またはメニュー選択を行なっている間の「まばたき」)を検出し、アイジェスチャを入力デバイス(たとえば、グーグルグラス)への入力として変換するグーグルグラスまばたき検出器などのアイジェスチャ認識デバイスも含み得る。さらに、ユーザインターフェイス入力デバイスは、ユーザが音声コマンドを介して音声認識システム(たとえば、シリ(Siri,登録商標)ナビゲータ)と対話することを可能にする音声認識感知デバイスを含み得る。
ユーザインターフェイス入力デバイスの他の例としては、三次元(3D)マウス、ジョイスティックまたはポインティングスティック、ゲームパッドおよびグラフィックタブレット、ならびにオーディオ/ビジュアルデバイス(スピーカ、デジタルカメラ、デジタルカムコーダ、ポータブルメディアプレーヤ、ウェブカム、画像スキャナ、指紋スキャナ、バーコードリーダ3Dスキャナ、3Dプリンタ、レーザレンジファインダ、および視線追跡デバイスなど)が挙げられるが、それらに限定されるものではない。さらに、ユーザインターフェイス入力デバイスは、たとえば、コンピュータ断層撮影、磁気共鳴撮像、ポジションエミッショントモグラフィーおよび医療用超音波検査デバイスなどの医療用画像化入力デバイスを含み得る。ユーザインターフェイス入力デバイスは、たとえば、MIDIキーボード、デジタル楽器などの音声入力デバイスも含み得る。
一般に、「出力デバイス」という用語の使用は、情報をコンピュータシステム800からユーザまたは他のコンピュータに出力するための全ての可能なタイプのデバイスおよび機構を含むよう意図されている。ユーザインターフェイス出力デバイスは、ディスプレイサブシステム、インジケータライト、または音声出力デバイスなどの非ビジュアルディスプレイなどを含み得る。ディスプレイサブシステムは、陰極線管(CRT:Cathode Ray Tube)、液晶ディスプレイ(LCD:Liquid Crystal Display)またはプラズマディスプレイを使用するものなどのフラットパネルデバイス、投影デバイス、タッチスクリーンなどであり得る。たとえば、ユーザインターフェイス出力デバイスは、モニタ、プリンタ、スピーカ、ヘッドフォン、自動車ナビゲーションシステム、プロッタ、音声出力デバイスおよびモデムなどの、テキスト、グラフィックスおよび音声/映像情報を視覚的に伝えるさまざまなディスプレイデバイスを含み得るが、それらに限定されるものではない。
ストレージサブシステム818は、コンピュータシステム800によって使用される情報およびデータを格納するためのリポジトリまたはデータストアを提供する。ストレージサブシステム818は、いくつかの例の機能を提供する基本的なプログラミングおよびデータ構造を格納するための有形の非一時的なコンピュータ読取可能記憶媒体を提供する。ストレージサブシステム818は、処理サブシステム804によって実行されると上記の機能を提供するソフトウェア(たとえば、プログラム、コードモジュール、命令)を格納し得る。このソフトウェアは、処理サブシステム804の1つまたは複数の処理ユニットによって実行され得る。ストレージサブシステム818は、本開示の教示に係る認証も提供し得る。
ストレージサブシステム818は、揮発性および不揮発性メモリデバイスを含む1つまたは複数の非一時的なメモリデバイスを含み得る。図8に示されるように、ストレージサブシステム818は、システムメモリ810と、コンピュータ読取可能記憶媒体822とを含む。システムメモリ810は、いくつかのメモリを含み得て、これらのメモリは、プログラム実行中に命令およびデータを格納するための揮発性メインランダムアクセスメモリ(RAM:Random Access Memory)、および、固定命令が格納される不揮発性リードオンリメモリ(ROM:Read Only Memory)またはフラッシュメモリを含む。いくつかの実現例において、起動中などにコンピュータシステム800内の要素間で情報を転送するのを手助けする基本的なルーチンを含むベーシックインプット/アウトプットシステム(BIOS:Basic Input/Output System)は、一般に、ROMに格納され得る。RAMは、一般に、処理サブシステム804によって現在動作および実行されているデータおよび/またはプログラムモジュールを含む。いくつかの実現例において、システムメモリ810は、スタティックランダムアクセスメモリ(SRAM:Static Random Access Memory)、ダイナミックランダムアクセスメモリ(DRAM:Dynamic Random Access Memory)などの複数の異なるタイプのメモリを含み得る。
一例として、図8に示されるように、システムメモリ810は、実行中のアプリケーションプログラム812(ウェブブラウザ、中間層アプリケーション、リレーショナルデータベース管理システム(RDBMS:Relational Database Management System)などのさまざまなアプリケーションを含み得る)、プログラムデータ814およびオペレーティングシステム816をロードし得るが、それらに限定されるものではない。一例として、オペレーティングシステム816は、さまざまなバージョンのマイクロソフトウィンドウズ、アップルマッキントッシュおよび/もしくはLinuxオペレーティングシステム、さまざまな市場で入手可能なUNIXもしくはUNIX系オペレーティングシステム(さまざまなGNU/Linuxオペレーティングシステム、グーグルクロームOSなどを含むが、それらに限定されるものではない)、ならびに/または、iOS、ウィンドウズフォン、アンドロイドOS、ブラックベリーOS、パームOSオペレーティングシステムなどのモバイルオペレーティングシステムを含み得る。
コンピュータ読取可能記憶媒体822は、いくつかの例の機能を提供するプログラミングおよびデータ構造を格納し得る。コンピュータ読取可能媒体822は、コンピュータ読取可能な命令、データ構造、プログラムモジュールおよび他のデータのストレージをコンピュータシステム800に提供し得る。処理サブシステム804によって実行されると上記の機能を提供するソフトウェア(プログラム、コードモジュール、命令)は、ストレージサブシステム818に格納され得る。一例として、コンピュータ読取可能記憶媒体822は、ハードディスクドライブ、磁気ディスクドライブ、CD ROM、DVD、ブルーレイ(Blu-Ray,登録商標)ディスクなどの光ディスクドライブ、または他の光学媒体などの不揮発性メモリを含み得る。コンピュータ読取可能記憶媒体822は、Zip(登録商標)ドライブ、フラッシュメモリカード、ユニバーサルシリアルバス(USB:Universal Serial Bus)フラッシュドライブ、セキュアデジタル(SD:Secure Digital)カード、DVDディスク、デジタルビデオテープなどを含み得るが、それらに限定されるものではない。コンピュータ読取可能記憶媒体822は、フラッシュメモリベースのSSD、企業フラッシュドライブ、ソリッドステートROMなどの不揮発性メモリをベースにしたソリッドステートドライブ(SSD:Solid-State Drive)、ソリッドステートRAM、ダイナミックRAM、スタティックRAMなどの揮発性メモリをベースにしたSSD、DRAMベースのSSD、磁気抵抗RAM(MRAM:Magnetoresistive RAM)SSD、およびDRAMベースのSSDとフラッシュメモリベースのSSDとの組み合わせを使用するハイブリッドSSDも含み得る。
特定の例において、ストレージサブシステム818は、コンピュータ読取可能記憶媒体822にさらに接続可能なコンピュータ読取可能記憶媒体リーダ820も含み得る。リーダ820は、ディスク、フラッシュドライブなどのメモリデバイスからデータを受信して、読み取るように構成され得る。
特定の例において、コンピュータシステム800は、処理およびメモリリソースの仮想化を含むがそれに限定されるものではない仮想化技術をサポートし得る。たとえば、コンピュータシステム800は、1つまたは複数の仮想マシンを実行するためのサポートを提供し得る。特定の例において、コンピュータシステム800は、仮想マシンの構成および管理を容易にするハイパーバイザなどのプログラムを実行し得る。各仮想マシンは、メモリリソース、計算リソース(たとえば、プロセッサ、コア)、I/Oリソースおよびネットワーキングリソースを割り当てられ得る。各仮想マシンは、一般に、他の仮想マシンから独立して動作する。仮想マシンは、一般に、自身のオペレーティングシステムを実行し、このオペレーティングシステムは、コンピュータシステム800によって実行される他の仮想マシンによって実行されるオペレーティングシステムと同一であってもよく、または異なっていてもよい。したがって、場合によっては、複数のオペレーティングシステムがコンピュータシステム800によって同時に実行されてもよい。
通信サブシステム824は、他のコンピュータシステムおよびネットワークに対するインターフェイスを提供する。通信サブシステム824は、他のシステムとコンピュータシステム800との間のデータの送受のためのインターフェイスとしての役割を果たす。たとえば、通信サブシステム824は、コンピュータシステム800が、1つまたは複数のクライアントデバイスとの間での情報の送受のための、インターネットを介したクライアントデバイスとの通信チャネルを確立することを可能にし得る。たとえば、コンピュータシステム800を使用して図1に示されるボットシステム120を実現する場合、通信サブシステムは、アプリケーションに合わせて選択されたチャットボットシステムと通信するのに使用され得る。
通信サブシステム824は、ワイヤードおよび/またはワイヤレス通信プロトコルを両方ともサポートし得る。特定の例において、通信サブシステム824は、(たとえば、セルラー電話技術、3G、4GもしくはEDGE(グローバル進化のための拡張版データ通信速度)などの先進データネットワーク技術、WiFi(IEEE802.XXファミリー規格)、または他のモバイル通信技術、またはそれらの任意の組み合わせを使用して)ワイヤレス音声および/またはデータネットワークにアクセスするための無線周波数(RF)送受信機コンポーネント、グローバルポジショニングシステム(GPS)受信機コンポーネント、ならびに/または、他のコンポーネントを含み得る。いくつかの例において、通信サブシステム824は、ワイヤレスインターフェイスに加えて、またはその代わりに、ワイヤードネットワーク接続(たとえば、イーサネット)を提供することができる。
通信サブシステム824は、データをさまざまな形式で送受信することができる。いくつかの例において、他の形式に加えて、通信サブシステム824は、構造化されたおよび/または構造化されていないデータフィード826、イベントストリーム828、イベント更新情報830などの形式で、入力された通信を受信し得る。たとえば、通信サブシステム824は、ツイッターフィード、フェイスブック更新情報、リッチ・サイト・サマリ(RSS:Rich Site Summary)フィードなどのウェブフィード、および/または、1つもしくは複数の第三者情報源からのリアルタイム更新情報などのデータフィード826をソーシャルメディアネットワークおよび/または他の通信サービスのユーザからリアルタイムで受信(または、送信)するように構成され得る。
特定の例において、通信サブシステム824は、連続データストリームの形式でデータを受信するように構成され得て、当該連続データストリームは、明確な終端を持たない、事実上連続的または無限であり得るリアルタイムイベントのイベントストリーム828および/またはイベント更新情報830を含み得る。連続データを生成するアプリケーションの例としては、たとえば、センサデータアプリケーション、金融株式相場表示板、ネットワーク性能測定ツール(たとえば、ネットワーク監視およびトラフィック管理アプリケーション)、クリックストリーム分析ツール、自動車交通監視などを挙げることができる。
また、通信サブシステム824は、データをコンピュータシステム800から他のコンピュータシステムまたはネットワークに伝えるように構成され得る。このデータは、構造化されたおよび/または構造化されていないデータフィード826、イベントストリーム828、イベント更新情報830などのさまざまな異なる形式で1つまたは複数のデータベースに伝えられ得て、これらの1つまたは複数のデータベースは、コンピュータシステム800に結合された1つまたは複数のストリーミングデータソースコンピュータと通信し得る。
コンピュータシステム800は、手持ち式の携帯型デバイス(たとえば、iPhone携帯電話、iPadコンピューティングタブレット、PDA)、ウェアラブルデバイス(たとえば、グーグルグラス頭部装着型ディスプレイ)、パーソナルコンピュータ、ワークステーション、メインフレーム、キオスク、サーバラック、またはその他のデータ処理システムを含むさまざまなタイプのものであり得る。コンピュータおよびネットワークの性質は常に変化しているので、図8に示されるコンピュータシステム800の記載は、1つの具体例として意図されているに過ぎない。図8に示されるシステムよりも多くのコンポーネントまたは少ないコンポーネントを有する多くの他の構成が可能である。本明細書における開示および教示に基づいて、さまざまな例を実現するための他のやり方および/または方法が存在するということが理解されるべきである。
特定の例について説明してきたが、さまざまな変形例、変更例、代替構成および等価物が可能である。例は、特定の具体的なデータ処理環境内での動作に限定されるものではなく、複数のデータ処理環境内で自由に動作できる。さらに、特定の一連のトランザクションおよびステップを使用して特定の例について説明してきたが、これは限定的であるよう意図されるものではないということが当業者に明らかであるべきである。いくつかのフローチャートは、動作をシーケンシャルなプロセスとして説明しているが、これらの動作の多くは、並行してまたは同時に実行されてもよい。また、動作の順序は、並べ替えられてもよい。プロセスは、図面に含まれていない追加のステップを有してもよい。上記の例のさまざまな特徴および局面は、個々に使用されてもよく、または一緒に使用されてもよい。
さらに、ハードウェアとソフトウェアとの特定の組み合わせを使用して特定の例について説明してきたが、ハードウェアとソフトウェアとの他の組み合わせも可能であるということが認識されるべきである。特定の例は、ハードウェアのみで実現されてもよく、ソフトウェアのみで実現されてもよく、またはそれらの組み合わせを使用して実現されてもよい。本明細書に記載されているさまざまなプロセスは、任意の組み合わせで同一のプロセッサ上で実現されてもよく、または任意の組み合わせで異なるプロセッサ上で実現されてもよい。
デバイス、システム、コンポーネントまたはモジュールは、特定の動作または機能を実行するように構成されるものとして説明されているが、このような構成は、たとえば、動作を実行するように電子回路を設計することによって、非一時的なメモリ媒体に格納されたコードもしくは命令を実行するようにプログラムされたコンピュータ命令もしくはコード、もしくはプロセッサもしくはコアを実行するなど、動作を実行するようにプログラム可能電子回路(マイクロプロセッサなど)をプログラムすることによって、またはそれらの任意の組み合わせによって実現することができる。プロセスは、プロセス間通信のための従来の技術を含むがそれに限定されるものではないさまざまな技術を使用して通信することができ、異なるプロセスペアが異なる技術を使用してもよく、同じプロセスペアが異なるタイミングで異なる技術を使用してもよい。
例の理解の徹底を期すために、本開示では具体的な詳細が示されている。しかし、これらの具体的な詳細がなくても例を実施することができる。たとえば、周知の回路、プロセス、アルゴリズム、構造および技術は、例を曖昧にすることを回避するために、不必要な詳細なしに示されている。この説明は、例示的な例を提供しているに過ぎず、他の例の範囲、適用性または構成を限定するよう意図されるものではない。むしろ、例の上記の説明は、さまざまな例を実現するための実施可能な程度の説明を当業者に提供するであろう。要素の機能および配置の点でさまざまな変更がなされてもよい。
したがって、明細書および図面は、限定的な意味ではなく例示的な意味で考えられるべきである。しかし、特許請求の範囲に記載されているより広い精神および範囲から逸脱することなく、追加、減算、削除ならびに他の変形および変更がなされてもよい、ということは明らかであろう。したがって、特定の例について説明してきたが、これらは限定的であるよう意図されるものではない。さまざまな変形例および等価物は、以下の特許請求の範囲の範囲内である。
上記の明細書では、本開示の局面をその具体的な例を参照して説明しているが、本開示はそれに限定されるものではないということを当業者は認識するであろう。上記の開示のさまざまな特徴および局面は、個々に使用されてもよく、または一緒に使用されてもよい。さらに、例は、明細書のより広い精神および範囲から逸脱することなく、本明細書に記載されているものを越える多くの環境およびアプリケーションで利用されてもよい。したがって、明細書および図面は、限定的ではなく例示的であると見なされるべきである。
上記の説明では、例示の目的で、方法は特定の順序で記載された。代替例では、これらの方法は、記載されている順序とは異なる順序で実行されてもよい、ということが理解されるべきである。また、上記の方法は、ハードウェアコンポーネントによって実行されてもよく、または、命令でプログラムされた汎用もしくは特別目的プロセッサもしくは論理回路などの機械に上記の方法を実行させるのに使用され得る機械実行可能な命令のシーケンスで具体化されてもよい、ということが理解されるべきである。これらの機械実行可能な命令は、CD-ROMもしくは他のタイプの光ディスク、フロッピー(登録商標)ディスケット、ROM、RAM、EPROM、EEPROM、磁気もしくは光カード、フラッシュメモリ、または電子命令を格納するのに適した他のタイプの機械読取可能媒体などの1つまたは複数の機械読取可能媒体に格納され得る。代替的に、これらの方法は、ハードウェアとソフトウェアとの組み合わせによって実行されてもよい。
コンポーネントが特定の動作を実行するように構成されるものとして説明される場合、このような構成は、たとえば動作を実行するように電子回路もしくは他のハードウェアを設計することによって、動作を実行するようにプログラム可能電子回路(たとえば、マイクロプロセッサもしくは他の好適な電子回路)をプログラムすることによって、またはそれらの任意の組み合わせによって実現することができる。
本明細書では本願の例示的な例について詳細に説明してきたが、本発明の概念が他の態様でさまざまに具体化されて利用され得ること、および、添付の特許請求の範囲が、先行技術によって限定される場合を除き、このような変形例を包含するように解釈されるよう意図されていることが理解されるべきである。
Claims (20)
- 方法であって、
データ処理システムが、生成環境にデプロイされたモデルの少なくとも一部を実行するためにワークスペースを作成する要求を受信するステップと、
前記データ処理システムが、前記モデルの前記一部に関連する1つまたは複数のデータオブジェクトおよびそれらの関連付けられたメタデータを取得するステップと、
前記データ処理システムが、前記ワークスペースの実行場所を取得するステップと、
前記データ処理システムが、前記ワークスペースにおいて前記1つまたは複数のデータオブジェクトおよび前記関連付けられたメタデータを実行するための命令のセットを生成するステップと、
前記データ処理システムが、前記実行場所内に前記ワークスペースを作成するステップとを備え、前記作成するステップは、前記ワークスペースにおいて前記モデルの前記一部、前記1つまたは複数のデータオブジェクトおよび前記関連付けられたメタデータをインスタンス化するステップを備え、前記方法はさらに、
前記命令のセットに従って、前記1つまたは複数のデータオブジェクトおよび前記関連付けられたメタデータを使用して、前記ワークスペースにおいて前記モデルの前記一部を処理するステップと、
前記データ処理システムが、前記処理に基づいて前記生成環境を更新するステップとを備える、方法。 - 前記生成環境に関連付けられた1つまたは複数のデータベースから複数のデータオブジェクトおよび複数のメタデータを取得するステップをさらに備え、前記1つまたは複数のデータベースは、前記生成環境にデプロイされたモデルおよび関連付けられたデータオブジェクトのマッピングを維持しており、
前記複数のデータオブジェクトおよび前記複数のメタデータをフィルタリングして、前記モデルの前記一部に関連する前記1つまたは複数のデータオブジェクトおよび前記関連付けられたメタデータを取得するステップと、
前記生成環境に関連付けられた前記1つまたは複数のデータベースに対してルックアップオペレーションのセットを反復的に実行して、前記1つまたは複数のデータオブジェクトに関連する少なくとも1つのデータオブジェクトを取得するステップとをさらに備える、請求項1に記載の方法。 - 前記実行場所は、前記生成環境内のアプリケーションインスタンス内のエリア、またはリモートアプリケーションインスタンスである、請求項1または2に記載の方法。
- 前記ワークスペースにおいて前記モデルの前記一部を実行する前記要求をユーザから受信するステップと、
前記モデルの前記一部に関連する前記1つまたは複数のデータオブジェクトおよび前記それらの関連付けられたメタデータに前記ユーザがアクセスすることを許可されるかどうかを確認するステップと、
確認の成功に応答して、前記実行場所内に前記ワークスペースを作成するプロビジョニング実行ファイルを生成するステップとをさらに備える、請求項1、2または3に記載の方法。 - 前記ワークスペースはさらに、
前記データ処理システムの外部のデータソースからデータを取り込み、
前記モデルの前記一部に基づいて少なくとも1つのサンドボックスアプリケーションまたは分析パイプラインを作成するように構成されており、前記ワークスペースにおける前記モデルの前記一部は、前記少なくとも1つのサンドボックスアプリケーションまたは前記分析パイプラインを使用して処理される、先行する請求項のいずれか1項に記載の方法。 - 前記命令のセットは、前記ワークスペースをホストする前記実行場所において実行することができる等価の命令セットに変換可能なフォーマットで生成される、先行する請求項のいずれか1項に記載の方法。
- 前記生成環境を更新するステップは、
前記実行場所内に前記ワークスペースを作成する前に、前記生成環境の初期状態を取得するステップをさらに備え、前記初期状態は、前記生成環境にデプロイされた前記モデルの第1の出力を含み、前記生成環境を更新するステップはさらに、
前記生成環境にデプロイされた前記モデルの前記一部を前記ワークスペースにおいて処理された前記モデルの前記一部と置換するステップと、
前記置換に基づいて、前記生成環境の更新状態を生成するステップとを備え、前記更新状態は、前記生成環境にデプロイされた前記モデルの第2の出力を含む、先行する請求項のいずれか1項に記載の方法。 - コンピューティングデバイスであって、
プロセッサと、
命令を含むメモリとを備え、前記命令は、前記プロセッサによって実行されると、前記コンピューティングデバイスに、少なくとも、
生成環境にデプロイされたモデルの少なくとも一部を実行するためにワークスペースを作成する要求を受信し、
前記モデルの前記一部に関連する1つまたは複数のデータオブジェクトおよびそれらの関連付けられたメタデータを取得し、
前記ワークスペースの実行場所を取得し、
前記ワークスペースにおいて前記1つまたは複数のデータオブジェクトおよび前記関連付けられたメタデータを実行するための命令のセットを生成し、
前記ワークスペースにおいて前記モデルの前記一部、前記1つまたは複数のデータオブジェクトおよび前記関連付けられたメタデータをインスタンス化することによって、前記実行場所内に前記ワークスペースを作成し、
前記命令のセットに従って、前記1つまたは複数のデータオブジェクトおよび前記関連付けられたメタデータを使用して、前記ワークスペースにおいて前記モデルの前記一部を処理し、
前記処理に基づいて前記生成環境を更新するようにさせる、コンピューティングデバイス。 - 前記プロセッサはさらに、
前記生成環境に関連付けられた1つまたは複数のデータベースから複数のデータオブジェクトおよび複数のメタデータを取得するように構成されており、前記1つまたは複数のデータベースは、前記生成環境にデプロイされたモデルおよび関連付けられたデータオブジェクトのマッピングを維持しており、前記プロセッサはさらに、
前記複数のデータオブジェクトおよび前記複数のメタデータをフィルタリングして、前記モデルの前記一部に関連する前記1つまたは複数のデータオブジェクトおよび前記関連付けられたメタデータを取得し、
前記生成環境に関連付けられた前記1つまたは複数のデータベースに対してルックアップオペレーションのセットを反復的に実行して、前記1つまたは複数のデータオブジェクトに関連する少なくとも1つのデータオブジェクトを取得するように構成されている、請求項8に記載のコンピューティングデバイス。 - 前記実行場所は、前記生成環境内のアプリケーションインスタンス内のエリア、またはリモートアプリケーションインスタンスである、請求項8または9に記載のコンピューティングデバイス。
- 前記プロセッサはさらに、
前記ワークスペースにおいて前記モデルの前記一部を実行する前記要求をユーザから受信し、
前記モデルの前記一部に関連する前記1つまたは複数のデータオブジェクトおよび前記それらの関連付けられたメタデータに前記ユーザがアクセスすることを許可されるかどうかを確認し、
確認の成功に応答して、前記実行場所内に前記ワークスペースを作成するプロビジョニング実行ファイルを生成するように構成されている、請求項8、9または10に記載のコンピューティングデバイス。 - 前記ワークスペースはさらに、
外部のデータソースからデータを取り込み、
前記モデルの前記一部に基づいて少なくとも1つのサンドボックスアプリケーションまたは分析パイプラインを作成するように構成されており、前記ワークスペースにおける前記モデルの前記一部は、前記少なくとも1つのサンドボックスアプリケーションまたは前記分析パイプラインを使用して処理される、請求項8~11のいずれか1項に記載のコンピューティングデバイス。 - 前記命令のセットは、前記ワークスペースをホストする前記実行場所において実行することができる等価の命令セットに変換可能なフォーマットで生成される、請求項8~12のいずれか1項に記載のコンピューティングデバイス。
- 前記プロセッサはさらに、
前記実行場所内に前記ワークスペースを作成する前に、前記生成環境の初期状態を取得するように構成されており、前記初期状態は、前記生成環境にデプロイされた前記モデルの第1の出力を含み、前記プロセッサはさらに、
前記生成環境にデプロイされた前記モデルの前記一部を前記ワークスペースにおいて処理された前記モデルの前記一部と置換し、
前記モデルの前記一部が置換されたことに基づいて、前記生成環境の更新状態を生成するように構成されており、前記更新状態は、前記生成環境にデプロイされた前記モデルの第2の出力を含む、請求項8~13のいずれか1項に記載のコンピューティングデバイス。 - 特定のコンピュータ実行可能な命令を格納する非一時的なコンピュータ読取可能媒体であって、前記命令は、プロセッサによって実行されると、コンピュータシステムに、少なくとも、
生成環境にデプロイされたモデルの少なくとも一部を実行するためにワークスペースを作成する要求を受信し、
前記モデルの前記一部に関連する1つまたは複数のデータオブジェクトおよびそれらの関連付けられたメタデータを取得し、
前記ワークスペースの実行場所を取得し、
前記ワークスペースにおいて前記1つまたは複数のデータオブジェクトおよび前記関連付けられたメタデータを実行するための命令のセットを生成し、
前記ワークスペースにおいて前記モデルの前記一部、前記1つまたは複数のデータオブジェクトおよび前記関連付けられたメタデータをインスタンス化することによって、前記実行場所内に前記ワークスペースを作成し、
前記命令のセットに従って、前記1つまたは複数のデータオブジェクトおよび前記関連付けられたメタデータを使用して、前記ワークスペースにおいて前記モデルの前記一部を処理し、
前記処理に基づいて前記生成環境を更新するようにさせる、非一時的なコンピュータ読取可能媒体。 - 前記コンピュータシステムはさらに、
前記生成環境に関連付けられた1つまたは複数のデータベースから複数のデータオブジェクトおよび複数のメタデータを取得するように構成されており、前記1つまたは複数のデータベースは、前記生成環境にデプロイされたモデルおよび関連付けられたデータオブジェクトのマッピングを維持しており、前記コンピュータシステムはさらに、
前記複数のデータオブジェクトおよび前記複数のメタデータをフィルタリングして、前記モデルの前記一部に関連する前記1つまたは複数のデータオブジェクトおよび前記関連付けられたメタデータを取得し、
前記生成環境に関連付けられた前記1つまたは複数のデータベースに対してルックアップオペレーションのセットを反復的に実行して、前記1つまたは複数のデータオブジェクトに関連する少なくとも1つのデータオブジェクトを取得するように構成されている、請求項15に記載の非一時的なコンピュータ読取可能媒体。 - 前記実行場所は、前記生成環境内のアプリケーションインスタンス内のエリア、またはリモートアプリケーションインスタンスである、請求項15または16に記載の非一時的なコンピュータ読取可能媒体。
- 前記コンピュータシステムはさらに、
前記ワークスペースにおいて前記モデルの前記一部を実行する前記要求をユーザから受信し、
前記モデルの前記一部に関連する前記1つまたは複数のデータオブジェクトおよび前記それらの関連付けられたメタデータに前記ユーザがアクセスすることを許可されるかどうかを確認し、
確認の成功に応答して、前記実行場所内に前記ワークスペースを作成するプロビジョニング実行ファイルを生成するように構成されている、請求項15、16または17に記載の非一時的なコンピュータ読取可能媒体。 - 前記コンピュータシステムはさらに、
外部のデータソースからデータを取り込み、
前記モデルの前記一部に基づいて少なくとも1つのサンドボックスアプリケーションまたは分析パイプラインを作成するように構成されており、前記ワークスペースにおける前記モデルの前記一部は、前記少なくとも1つのサンドボックスアプリケーションまたは前記分析パイプラインを使用して処理される、請求項15~18のいずれか1項に記載の非一時的なコンピュータ読取可能媒体。 - 前記コンピュータシステムはさらに、
前記実行場所内に前記ワークスペースを作成する前に、前記生成環境の初期状態を取得するように構成されており、前記初期状態は、前記生成環境にデプロイされた前記モデルの第1の出力を含み、前記コンピュータシステムはさらに、
前記生成環境にデプロイされた前記モデルの前記一部を前記ワークスペースにおいて処理された前記モデルの前記一部と置換し、
前記モデルの前記一部が置換されたことに基づいて、前記生成環境の更新状態を生成するように構成されており、前記更新状態は、前記生成環境にデプロイされた前記モデルの第2の出力を含む、請求項15~19のいずれか1項に記載の非一時的なコンピュータ読取可能媒体。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IN202041033832 | 2020-08-07 | ||
IN202041033832 | 2020-08-07 | ||
US17/333,738 US11714677B2 (en) | 2020-08-07 | 2021-05-28 | Materialization of an analytical workspace |
US17/333,738 | 2021-05-28 | ||
PCT/IN2021/050739 WO2022029797A1 (en) | 2020-08-07 | 2021-07-30 | Materialization of an analytical workspace |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023537725A true JP2023537725A (ja) | 2023-09-05 |
Family
ID=80113785
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2023507898A Pending JP2023537725A (ja) | 2020-08-07 | 2021-07-30 | 分析ワークスペースの実体化 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11714677B2 (ja) |
EP (1) | EP4193319A1 (ja) |
JP (1) | JP2023537725A (ja) |
CN (1) | CN116097244A (ja) |
WO (1) | WO2022029797A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11929989B2 (en) * | 2021-03-23 | 2024-03-12 | Dell Products, L.P. | Systems and methods for orchestrated VPN consolidation for modern workspaces |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7499897B2 (en) * | 2004-04-16 | 2009-03-03 | Fortelligent, Inc. | Predictive model variable management |
US7562058B2 (en) * | 2004-04-16 | 2009-07-14 | Fortelligent, Inc. | Predictive model management using a re-entrant process |
US7933762B2 (en) * | 2004-04-16 | 2011-04-26 | Fortelligent, Inc. | Predictive model generation |
US9348888B1 (en) * | 2013-09-24 | 2016-05-24 | Emc Corporation | Iterative filter expression processing for filtering embedded data objects |
US10853693B2 (en) * | 2018-12-04 | 2020-12-01 | Sap Se | Software logistic for learning applications |
US11250322B2 (en) * | 2019-07-15 | 2022-02-15 | Sony Interactive Entertainment LLC | Self-healing machine learning system for transformed data |
-
2021
- 2021-05-28 US US17/333,738 patent/US11714677B2/en active Active
- 2021-07-30 CN CN202180057053.5A patent/CN116097244A/zh active Pending
- 2021-07-30 JP JP2023507898A patent/JP2023537725A/ja active Pending
- 2021-07-30 EP EP21762143.2A patent/EP4193319A1/en active Pending
- 2021-07-30 WO PCT/IN2021/050739 patent/WO2022029797A1/en unknown
Also Published As
Publication number | Publication date |
---|---|
EP4193319A1 (en) | 2023-06-14 |
US20220043671A1 (en) | 2022-02-10 |
WO2022029797A1 (en) | 2022-02-10 |
US11714677B2 (en) | 2023-08-01 |
CN116097244A (zh) | 2023-05-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7333424B2 (ja) | 分散イベント処理システムのためのグラフ生成 | |
US10503493B2 (en) | Distributed versioning of applications using cloud-based systems | |
US10462210B2 (en) | Techniques for automated installation, packing, and configuration of cloud storage services | |
US9851952B2 (en) | Seamless restful API generation and consumption through a single channel | |
US9600342B2 (en) | Managing parallel processes for application-level partitions | |
US11822526B2 (en) | Integrated transition control center | |
US10216491B2 (en) | Controlled availability of objects in a visual design tool for integration development | |
US10942900B2 (en) | Techniques for tenant controlled visualizations and management of files in cloud storage systems | |
US10614048B2 (en) | Techniques for correlating data in a repository system | |
US20200125540A1 (en) | Self-correcting pipeline flows for schema drift | |
US10142371B2 (en) | Authorization policy customization and authorization policy lockdown | |
JP7465869B2 (ja) | ユニバーサルガバナンス | |
US11334601B2 (en) | Unified data model | |
US11392560B2 (en) | Consolidating and transforming metadata changes | |
US20150199535A1 (en) | Organization-based policies | |
US11226940B2 (en) | Adapting data for changes to data attributes | |
US11714677B2 (en) | Materialization of an analytical workspace | |
US11526345B2 (en) | Production compute deployment and governance | |
US11354639B2 (en) | Pipeline modeler supporting attribution analysis |