JP2023549277A - Paasクラウド環境における演算子の成功の蓋然性を予測する為の機械学習モデル - Google Patents

Paasクラウド環境における演算子の成功の蓋然性を予測する為の機械学習モデル Download PDF

Info

Publication number
JP2023549277A
JP2023549277A JP2023529108A JP2023529108A JP2023549277A JP 2023549277 A JP2023549277 A JP 2023549277A JP 2023529108 A JP2023529108 A JP 2023529108A JP 2023529108 A JP2023529108 A JP 2023529108A JP 2023549277 A JP2023549277 A JP 2023549277A
Authority
JP
Japan
Prior art keywords
operator
environment
computer
machine learning
deployment
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
Application number
JP2023529108A
Other languages
English (en)
Inventor
カンソ,アリ
ファン,ジンホ
ファティ ブルト,ムハンマド
ナドゴウダ,シュリパッド
リン,チェン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2023549277A publication Critical patent/JP2023549277A/ja
Pending legal-status Critical Current

Links

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/60Software deployment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Computational Mathematics (AREA)
  • Algebra (AREA)
  • Probability & Statistics with Applications (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • User Interface Of Digital Computer (AREA)
  • Stored Programmes (AREA)

Abstract

Figure 2023549277000001
機械学習モデルを統合し、より具体的には、サービスとしてのプラットフォーム(PaaS)クラウドを利用して、環境における演算子の成功の蓋然性を予測するシステム及び方法が提供される。1つの実施態様は、メモリ内に格納されたコンピュータ実行可能なコンポーネントを実行するプロセッサ;サービスとしてのプラットフォーム(PaaS)クラウドの名前空間を有する環境において演算子のデプロイメントの成功の蓋然性を予測する訓練された機械学習モデル;及び、第1の演算子と第1の名前空間を受け取り且つ該訓練された機械学習モデルを使用して第1の環境における該第1の演算子のデプロイメントの成功を予測するデプロイメントコンポーネントを備えているシステムを包含する。
【選択図】図2

Description

主題の開示は、機械学習モデルに、より具体的には、環境における演算子の成功の蓋然性(probability of success)を予測する為にサービスとしてのプラットフォームクラウドを利用することに関する。
機械学習アルゴリズムは、或る目的を持つデータに対してモデルを適応させる処理である。アルゴリズムは一般的に、データを入力から出力に変換し、そして、入力値と出力値とから適切なマッピングを学習する方法を指定する。従って、機械学習アルゴリズムは、モデルと選択されたアルゴリズムの種類との組み合わせである。モデルは、全体の目的を満たす為にアルゴリズム更新を学習し続けながら、マッピング関数の仕様で更に詳細化され、そして、パラメータデータを格納する。機械学習は、商業団体及び研究者からますます注目を集めている。既存のアプローチは、解析的アルゴリズムの適切な組み合わせを効果的に決定するという難しい計算上の問題に取り組むことに重点が置かれている。ソフトウェアエンジニアリングにおける最新の進歩により、サービスとしてのソフトウェア(Software as Services)(SaaSとして知られている)として展開されるようになり、それにより、コンピュータインフラストラクチャ及びメンテナンスにおけるリソースを拡大する代わりに、組織はコアビジネスに集中できるという有意な利点を提供する。演算子(Operators)の使用が、サービスとしてのプラットフォーム(PaaS:Platform as a Service)クラウド、例えばKubernetes(K8s)及びOpenShift(登録商標)、において人気を集めている。演算子(例えば、一般的に関数のように挙動するが、構文的に又は意味的に異なるところのプログラミング言語内で定義された1以上のコンストラクト)は、PaaSにおける操作を自動化する為に使用される。分離されたエンティティ、例えば、K8sにおける名前空間又はOpenShift(登録商標)におけるプロジェクト、は、演算子の機能に様々な影響を与える可能性があるところの夫々の構成を有することができる。ブロックされている演算子又は操作に失敗したところの演算子は、Kubernetes(K8s)における情報技術(IT:information technology)管理のライフサイクルに大きな影響を与える可能性がある。前提条件として、演算子は典型的には、リソースを作成する為の権限(permission)に依存する。しかしながら、権限を持っているだけでは、その操作を成功裡に実行するにはしばしば不十分である。
要件と利用可能なリソースとに基づいて1以上のクラウドシステム上にアプリケーションをデプロイする慣用的な方法及びシステムはしばしば、仮想化設定の移行プロセスにおけるリスクを低減する為にスナップショットを利用する。しかしながら、慣用的な技術は、新しい環境での演算子のデプロイメントに関連付けられたリスクを適切に考慮していない。
以下において、本発明の1以上の実施態様の基本的な理解を提供する為の概要を示す。この要約は、鍵となる要素又は重要な要素を識別すること、特定の実施態様の範囲又は特許請求の範囲を画定することを意図していない。その唯一の目的は、後に提示されるより詳細な説明の前段階として、概念を簡略化した形で提示することである。本明細書に記載されている1以上の実施態様において、機械学習モデルに関するシステム、コンピュータに実装された方法、装置若しくはコンピュータプログラム製品又はそれらの組み合わせ、より具体的には、環境における演算子の成功の蓋然性を予測する為にサービスとしてのプラットフォーム(PaaS)クラウドを利用するシステム、コンピュータに実装された方法、装置若しくはコンピュータプログラム製品又はそれらの組み合わせでありうる。
本実施態様は、PaaSクラウド環境における演算子のデプロイメントに焦点を当てており、及び機械学習を利用することによって演算子のデプロイメントの成功を予測する為の方法論を使用する。最後に、コードからベクターへの方法論(code to vector methodology)は、機械学習のアプリケーション内に組み込まれることができるベクトル形式にコードを変換することを可能にする。本実施態様は、コードをベクトル表現に変換し、そして、コードからベクトルへの方法論を利用して、コードとして記述される構成を有する環境において、演算子の成功を予測する。
1つの実施態様に従うと、システムは、メモリ内に格納されたコンポーネントを実行するプロセッサ、サービスとしてのプラットフォーム(PaaS)クラウドの名前空間を有する環境における演算子のデプロイメントの成功の蓋然性を予測する機械学習モデル、及び第1の演算子と第1の名前空間とを受け取り且つ機械学習モデルを使用して第1の環境における該第1の演算子のデプロイメントの成功を予測するところのデプロイメントコンポーネントを備えている。
任意の観点において、訓練コンポーネントは、該第1の演算子の能力と該第1の名前空間に適合される構成の1組とを用いて該機械学習モデルを訓練する。
任意の観点において、訓練コンポーネントは、該第1の演算子がデプロイされることができる該第1の名前空間に適合される異なる構成を入力として使用する。
任意の観点において、訓練コンポーネントは、該PaaSクラウドにおける他の名前空間への該第1の演算子のデプロイメントの出力を使用する。
1つの実施態様に従うと、該方法は、サービスとしてのプラットフォーム(PaaS)クラウドの名前空間を有する環境において演算子のデプロイメントの成功の蓋然性を、機械学習モデルを使用して予測すること、及び、第1の演算子と第1の名前空間とをデプロイメントコンポーネントを使用して受け取り、そして、該機械学習モデルを使用して第1の環境における該第1の演算子のデプロイメントの成功を予測することを含む。
任意の観点において、該方法は、該第1の演算子の能力、及び該第1の名前空間に適合される構成の1組を用いて該機械学習モデルを訓練することを更に含む。
図1は、サービスとしてのプラットフォームクラウドにおいて、新しい環境における演算子の成功の蓋然性を予測する為のシステムを実装する例示的なシステム実装のブロック図を図示する。 図2は、サービスとしてのプラットフォームクラウドにおいて、新しい環境における演算子の成功の蓋然性を予測する為の統合システムの例示的なフローチャート図を図示する。 図3は、環境の類似性解析に基づいて演算子の成功を予測する例示的なアーキテクチャを図示する。 図4は、訓練データに基づくアクティブ学習フィードバックの例示的なブロックレベル図を図示する。 図5は、ある環境において、名前空間に適合されるグローバルネットワークポリシの例を図示する。 図6は、コードが数値ベクトルを生成する為に使用されるところのニューラルネットワークアーキテクチャの例示的なフローチャート図を図示する。 図7は、本明細書に記載される1以上の実施態様が促進されることができるところの例示的な非限定的な動作環境のブロック図を図示する。 図8は、主題の開示の1以上の実施態様に従う、例示的な、非限定的なクラウドコンピューティング環境のブロック図を図示する。 図9は、主題の開示の1以上の実施態様に従う、例示的な、非限定的な抽象化モデル層のブロック図を図示する。
下記の詳細な説明は、単に例示であり、実施態様及び/又は実施態様の適用若しくは使用を制限することを意図するものでない。その上、先の概要のセクションにおいて又は詳細な説明のセクションにおいて提示された何らかの明示的又は暗示的な情報によって拘束される意図もない。1以上の実施態様が図面を参照してここで説明され、ここで、同様の参照数字が全体を通して同様の要素を参照する為に使用される。下記の説明において、説明の為に、1以上の実施態様のより徹底した理解を提供する為に、多数の具体的な詳細が記載されている。しかしながら、様々な場合において、1以上の実施態様は、これらの具体的な詳細無しに実施されることができることは明らかである。
本実施態様は、PaaSクラウド環境における演算子のデプロイメントに関し、及び機械学習を利用することによって演算子のデプロイメントの成功を予測する為の方法論を使用する。コードからベクターへの方法論は、機械学習のアプリケーション内に組み込まれることができるベクトル形式へコードを変換することを容易にする。本実施態様は、コードをベクトル表現に変換し、そして、コードとして記述される構成を有する環境において、演算子の成功を予測する為に、コードからベクトルへの方法論を利用する。例示的な実施態様は、Kubernetes(K8s)フレームワーク内で本明細書に記載されているが、本明細書に記載且つ請求されている技術革新(innovations)は、コンピュータアプリケーションのデプロイメント、スケーリング及び管理を自動化する為の、例えば、宣言文的な構成(declarative configuration)と自動化との両方を容易にするコンテナ化されたワークロード及びサービスの為の、任意の適切なコンテナオーケストレーションシステム(container-orchestration system)に適用されることが理解されるべきである。
主題の開示は一般的に、サービスとしてのプラットフォーム(PaaS)クラウドの新しい環境における演算子の成功の蓋然性を予測する実施態様に関する。これは、入力として演算子の能力を受信すること、及び該演算子がデプロイされることができる所定の名前空間に適合される異なる構成を受信することを含む。演算子の他の名前空間へのデプロイメントの出力が受け取られ、該入力と出力とが与えられると、新しいPaaS環境における該演算子のデプロイメントの成功の蓋然性を予測する為に機械学習モデルが訓練される。
今日のデジタル社会において、データは多くのアプリケーションにおいて重要な役割を担っている。ユーザによって行われた1以上のアクションはしばしば、衛星画像、バイオ医療分野、スマートフォン、ソーシャルメディア及び他のアプリケーションを通じてデジタルフットプリントを残すことができる。技術の急速な発展により、機械で生成されたデータは指数関数的に増加している。ビッグデータは、データの探索及び利用の新時代を表しており、大量、多様、高速であるデータからなる。ソフトウェアエンジニアリングにおける最新の進歩は、サービスとしてのソフトウェア(SaaSとして知られている)をデプロイすることをもたらし、それにより、企業が、コンピュータのインフラ及びメンテナンスにリソースを割く代わりに、コアビジネスに集中できるという大きな利点が提供される。例えば、「ビッグデータ」の、サービスとしてのソフトウェアは、データインスタンスの1組を入力として受け取り、データクラスタリングの為の計算を実行し、該データのパーティショニングを出力としてクライアントに返す。ビッグデータは、データマイニングの為の多くのシナリオ、例えば、ソーシャルメディアにおいてユーザによって生成されたコンテントを追跡すること、ウェブ及び国勢調査データからのウェブページ画像を解析すること、モノのインターネット(IoT:Internet of Things)センサー、スマートフォンからの行動追跡及びサイバーセキュリティの為のネットワークトラフィックデータから要求されたデータを取得すること、において利用されることができる。機械学習は、ビッグデータの世界において不可欠な要素になっている。
機械学習は、商業団体及び研究者から、ますます注目を集めている。既存のアプローチは主に、解析的アルゴリズムの適切な組み合わせを効果的に決定するという難しい計算上の問題に取り組むことに重点を置いている。例えば、特徴量エンジニアリング、選択、及びハイパーパラメータのチューニングである。新しく出現した技術は、パターン認識から特定のタスクの実行まで、機械学習アルゴリズムの概念を強化する。機械学習は、モデルが新しいデータにさらされるにつれて、デジタル世界における重要な反復的な観点(significant iterative aspect)となる。その結果、機械学習は独立して適応することができる。従って、過去の計算から学習し、そして信頼性の高い判断を下すという概念は、新たな勢いを増している。最近の研究は、多くの機械学習システムが、ビッグデータに対して複雑な数学的計算を慣用的なシステムよりも高速に自動適用できることを示している。機械学習アプリケーションの幾つかの例は、自動運転車、オンライン推薦サービス、及び不正行為の検出である。大量のデータを扱う殆どの業界は、機械学習技術の重要性を認識している。
データが大量且つ多様になるにつれ、強力で且つ安価な計算処理の重要性がまた高まっている。機械学習システムを通じて、データは自動的にモデルを生成し、複雑なデータを解析し、そして、正確な分析結果を提供することができる。これにより最終的に、多くの組織が未知のリスクを回避しながら収益性の高い機会を識別するのに役立つ。特に、演算子は、機械学習アルゴリズムに、必要な入力と出力とを含む既知のデータセットを提供することができ、及び該アルゴリズムは、それらの入力及び出力に到達する方法を決定することができる。演算子の使用が、サービスとしてのプラットフォーム(PaaS)クラウド、例えばK8s及びOpenShift(登録商標)、において人気が高まってきている。演算子は、PaaSにおける自動動作の為に、例えば、PaaSクラウドへアプリケーションをインストールすることを容易にする為に演算子が使用されているアプリケーションをオンデマンドでデプロイする等の為に、使用される。演算子のその他の使用例は、クラスタが有効なコンプライアンス構成を有するかどうかを確認する為のコンプライアンスチェック、アプリケーション状態のバックアップの生成及び復元、関連する変更、例えばデータベーススキーマ又は追加の構成設定、に伴うアプリケーションコードのアップグレードの処理、クラウド環境API、例えばKubernetes(K8s)、をサポートしていないアプリケーションへサービスを公開して、クラスタ内の障害を検出してシミュレートし、回復力をテストすることを包含する。演算子は、PaaS及びOpenShift(登録商標)ツールの結果として人気を博したコードである。クラウド環境(例えば、Kubernets(K8s)等)における分離されたエンティティについての技術的名称は名前空間として知られており、及び分離されたエンティティは互いに可視性を有しない。
分離されたエンティティ、例えばKubernetes(K8s)における名前空間及びOpenShift(登録商標)におけるプロジェクト、は、演算子の機能に影響を与える可能性のある夫々の構成を有することができる。名前空間内にデプロイされたアプリケーションは典型的には、その名前空間の為に定義されたネットワークポリシに従う。例えば、イングレス(ingress)が禁止されているインターネットからの入来要求が受け入れられることができないことを決定するネットワークポリシを名前空間が有する場合、その名前空間においてデプロイされたアプリケーションは該インターネットからの要求を受け取ることができない。しかしながら、該演算子は、ネットワークポリシに基づいて、名前空間内の要求にアクセスすることができる。演算子が要求にアクセスできる領域の他の例、例えば、ネットワークポリシ、ロールベースのアクセス制御(RBAC:role-based access control)、アドミッションコントローラ、及びリソースクォータ制限(resource quota limits)、がある。演算子がブロックされたり又は動作しなかったりすることにより、クラウド環境、例えばKubernetes、におけるIT管理のライフサイクルに大きな影響を有する場合があり、従って、演算子の性能に関連付けられたリスクを理解することにより、そのデプロイメントに関連付けられたリスクを軽減することを容易にすることができる。前提条件として、演算子は、リソース、例えばPod(Kubernetesにおける最小実行単位)、を作成する権限を必要とする。Podは本質的にエフェメラル(ephemeral)であり、Pod(又はそれが実行されるノード)に障害が発生した場合、KubernetesはそのPodの新しいレプリカを自動的に作成して操作を継続することができる。しかしながら、Podがアドミッションコントローラによってブロックされたり、Podのトラフィックがネットワークポリシによってブロックされたり、Podがスケジューリングの為に保留されたり、及びPodがロールベースのアクセス制御(RBAC)によってK8sへのアクセスをブロックされうることがあるので、権限を有するだけでは十分とはいえない。名前空間における構成に基づき、演算子はタスク化されたジョブにおいて成功を収める場合もあれば、又は失敗する場合もある。デプロイメントの前に、デプロイメントが成功するか又は失敗するかを知っておくことが望ましい。運用のリスクを理解することにより、運用エンジニアが実行に関して十分な情報に基づいた決定を下すのに役立つことができる。演算子は、行動を自動化することができる知的エージェントに似ている。従って、本明細書における実施態様は、機械学習モデルを用いて、サービスとしてのプラットフォーム(PaaS)クラウド内の新しい環境における演算子の成功の蓋然性を予測する為の効率的なシステムを提案する。機械学習モデルは、入力と出力とを与えられて訓練される。演算子は、他のアーティファクト、例えば、演算子コントローラのカスタムリソース定義(CRD:custom resource definition)、と一緒に運用の説明を入力される。CRDは、KubernetesのAPIをクラスタ内へと拡張するオブジェクトである。名前空間は、演算子がデプロイされることができる種々の構成に関連付けられている。取り出された出力は、特定の名前空間における演算子のデプロイメントが成功するかどうかを判断することを容易にする。
図1は、本明細書において記載されている1以上の実施態様に従って図示された可変コンピューティングコンポーネントを使用してデータにアクセスし、そして、そのデータを処理することができる例示的な非限定的システム100のブロック図を図示する。システム100は、メモリ104、プロセッサ106、訓練コンポーネント107、訓練された機械学習モデル108、デプロイメントコンポーネント110、若しくはバス112又はそれらの組み合わせを備えていることができる。
本明細書において開示されている様々な図面に図示された主題の開示の実施態様は、例示のためだけであり、そのような実施態様のアーキテクチャは、本明細書において図示されたシステム、デバイス、若しくはコンポーネント又はそれらの組み合わせに限定されないことが理解されるべきである。例えば、幾つかの実施態様において、システム100は、動作環境700及び図7を参照して本明細書において記載された様々なコンピュータ若しくはコンピューティングベースの要素又はそれらの組み合わせを更に備えていることができる。幾つかの実施態様において、そのようなコンピュータ若しくはコンピューティングベースの要素又はそれらの組み合わせは、図1又は本明細書に開示された他の図面に関連して示され且つ記載され説明されたシステム、デバイス、コンポーネント、若しくはコンピュータ又はそれらの組み合わせに実装された操作のうちの1以上の実装と関連して使用されることができる。
メモリ104は、プロセッサ106(例えば、古典的なプロセッサ、量子プロセッサ等)によって実行される場合に、1以上の実行可能コンポーネント若しくは1以上の命令又はそれらの組み合わせによって定義される操作の実行を容易にすることができる、1以上のコンピュータ、及び/又は機械可読、書き込み可能な若しくは実行可能な又は書き込み可能且つ実行可能なコンポーネント若しくは命令又はそれらの組み合わせを格納することができる。例えば、メモリ104は、プロセッサ106によって実行される場合に、主題の開示の様々な図面を参照して又は参照せずに本明細書において記載されている訓練された機械学習モデル108、デプロイメントコンポーネント110、若しくはシステム100又はそれらの組み合わせに関連付けられた別のコンポーネントに関して本明細書において記載されている様々な機能の実行を促進することができるコンピュータ、及び/又は機械可読、書き込み可能及び/又は実行可能なコンポーネント及び/又は命令を格納することができる。
メモリ104は、1以上のメモリアーキテクチャを使用することができる、揮発性メモリ(例えば、ランダムアクセスメモリ(RAM:random access memory)、スタティックRAM(SRAM:static RAM)、ダイナミックRAM(DRAM:dynamic RAM)等)若しくは不揮発性メモリ(例えば、読み取り専用メモリ(ROM:read only memory)、プログラム可能なROM(PROM:programmable ROM)、電気的にプログラム可能なROM(EPROM:electrically programmable ROM)、電気的に消去可能なプログラム可能なROM(EEPROM:electrically erasable programmable ROM)等)又はそれらの組み合わせを備えていることができる。メモリ104の更なる例は、システムメモリ716及び図7を参照して以下に記載されている。メモリ104のそのような例は、主題の開示の任意の実施態様を実装する為に使用されることができる。
プロセッサ106は、メモリ104上に格納されることができる1以上のコンピュータ、及び/又は機械可読、書き込み可能な若しくは実行可能な又は書き込み可能且つ実行可能なコンポーネント若しくは命令又はそれらの組み合わせを実装することができる1以上のタイプのプロセッサ若しくは電子回路(例えば、古典的なプロセッサ、量子プロセッサ等)又はそれらの組み合わせを備えていることができる。例えば、プロセッサ106は、論理、制御、入力/出力(I/O)、演算等に限定されないがこれらを包含する、そのようなコンピュータ、及び/又は機械可読、書き込み可能な若しくは実行可能な又は書き込み可能且つ実行可能なコンポーネント若しくは命令又はそれらの組み合わせによって指定されることができる様々な動作を実行することができる。幾つかの実施態様において、プロセッサ106は、1以上の中央処理ユニット、マルチコアプロセッサ、マイクロプロセッサ、デュアルマイクロプロセッサ、マイクロコントローラ、システムオンチップ(SOC:System on a Chip)、アレイプロセッサ、ベクトルプロセッサ、量子プロセッサ、若しくは別のタイプのプロセッサ又はそれらの組み合わせを備えていることができる。プロセッサ106の更なる例は、処理ユニット714及び図7を参照して以下に説明されている。プロセッサ106のそのような例は、主題の開示の任意の実施態様を実装する為に使用されることができる。
システム100、メモリ104、プロセッサ106、訓練された機械学習モデル108、デプロイメントコンポーネント110、若しくは本明細書において記載されたシステム102の別のコンポーネント又はそれらの組み合わせは、バス112を介して互いに通信的に、電気的に、動作的に、若しくは光学的に又はそれらの組み合わせで接続されて、システム100の機能若しくはそれに接続されている任意のコンポーネント又はそれらの組み合わせを実行することができる。バス112は、1以上のメモリバス、メモリコントローラ、周辺バス、外部バス、ローカルバス、量子バス、若しくは様々なバスアーキテクチャを使用することができる別のタイプのバス又はそれらの組み合わせを備えていることができる。バス112の更なる例は、システムバス718及び図7を参照して以下に説明されている。バス112のそのような例は、主題の開示の任意の実施態様を実装する為に使用されることができる。
システム100は、プロセッサを備えている、及び/又は有線ネットワーク若しくは無線ネットワーク又はそれらの組み合わせとの効果的若しくは動作可能な又はそれらの組み合わせの通信ができるところの任意のタイプのコンポーネント、機械、デバイス、設備、器具、若しくは機器又はそれらの組み合わせを備えていることができる。全てのそのような実施態様が想定される。例えば、システム100は、サーバデバイス、コンピューティングデバイス、汎用コンピュータ、特殊目的コンピュータ、量子コンピューティングデバイス(例えば、量子コンピュータ)、タブレットコンピューティングデバイス、ハンドヘルドデバイス、サーバクラスのコンピューティングデバイス及び/又はデータベース、ラップトップコンピュータ、ノートブックコンピュータ、デスクトップコンピュータ、携帯電話、スマートフォン、消費者向けアプライアンス及び/又は器具、産業及び/又はコマーシャルデバイス、デジタルアシスタント、マルチメディアインターネット対応電話、マルチメディアプレーヤー、若しくは別のタイプのデバイス又はそれらの組み合わせを備えていることができる。
システム100は、ワイヤ若しくはケーブル又はそれらの組み合わせを使用して、1以上の外部システム、ソース、若しくはデバイス又はそれらの組み合わせ(例えば、古典的なコンピューティングデバイス若しくは量子コンピューティングデバイス又はそれらの組み合わせ、通信デバイス等)に(例えば、通信的に、電気的に、動作的に、光学的に等)接続されることができる。例えば、システム100は、高精細マルチメディアインタフェース(HDMI:High-Definition Multimedia Interface)ケーブル、推奨標準(RS:recommended standard)232ケーブル、イーサネットケーブル、若しくは別のデータケーブル又はこれらの組み合わせに限定されないがこれらを包含するデータケーブルを用いて、1以上の外部システム、ソース、若しくはデバイス又はそれらの組み合わせ(例えば、古典的なコンピューティングデバイス若しくは量子コンピューティングデバイス又はそれらの組み合わせ、通信デバイス等)に(例えば、通信的に、電気的に、動作的に、光学的に等)接続されることができる。
幾つかの実施態様において、システム100は、ネットワークを介して1以上の外部システム、ソース、若しくはデバイス(例えば、古典的なコンピューティングデバイス若しくは量子コンピューティングデバイス又はそれらの組み合わせ、通信デバイス等)に(例えば、通信的に、電気的に、動作的に、光学的に等)接続されることができる。例えば、そのようなネットワークは、セルラーネットワーク、広域ネットワーク(WAN:wide area network)(例えば、インターネット)又はローカルエリアネットワーク(LAN:local area network)を包含するがこれらに限定されない有線ネットワーク若しくは無線ネットワーク又はそれらの組み合わせを備えていることができる。システム100は、例えば、ワイ・ファイ(Wi-Fi:wireless fidelity)、移動通信用グローバルシステム(GSM:global system for mobile communications)、ユニバーサル移動通信システム(UMTS:universal mobile telecommunications system)、マイクロ波を用いた世界標準規格の通信方式(WiMAX:Worldwide interoperability for microwave access)、拡張一般パケット無線サービス(拡張GPRS:enhanced general packet radio service)、第3世代パートナーシッププロジェクト(3GPP:third generation partnership project)、ロングタームエボリューション(LTE:long term evolution)、第3世代パートナーシッププロジェクト2(3GPP2:third generation partnership project 2)、ウルトラモバイルブロードバンド(UMB:ultra mobile broadband)、高速パケットアクセス(HSPA:high speed packet access)、Zigbee(登録商標)及び他の802.XX無線技術、及び/又はレガシー無線技術、BLUETOOTH(登録商標)、セッション開始プロトコル(SIP:Session Initiation Protocol)、ZIGBEE(登録商標)、RF4CEプロトコル、WirelessHARTプロトコル、6LoWPAN(IPv6 over Low power Wireless Area Networks)、Z-Wave、ANT、超広帯域(UWB:ultra-wideband)標準プロトコル、若しくは他の専有及び非専有の通信プロトコル又はそれらの組み合わせを包含するがこれらに限定されない実質的に任意の所望の有線技術若しくは無線技術又はそれらの組み合わせを使用して、1以上の外部システム、ソース、若しくはデバイス又はそれらの組み合わせ、例えばコンピューティングデバイス、と通信することができる。それ故に、幾つかの実施態様において、脆弱性及び攻撃手法関連付けシステム102は、ハードウェア(例えば、中央処理装置(CPU:central processing unit)、トランシーバ、デコーダ、量子ハードウェア、量子プロセッサ等)、ソフトウェア(例えば、スレッドの1組、プロセスの1組、実行中のソフトウェア、量子パルススケジュール、量子回路、量子ゲート等)、又は脆弱性及び攻撃手法関連付けシステム102と、外部システム、ソース、若しくはデバイス(例えば、コンピューティングデバイス、通信デバイス等)又はそれらの組み合わせとの間の情報の通信を容易にすることができるハードウェアとソフトウェアとの組み合わせを備えている。
幾つかの実施態様において、該訓練コンポーネント107は、上述されたマッピングを定義する為に、類似性学習プロセス若しくは類似性検索プロセス又はそれらの組み合わせを用いて自然言語処理(NLP:natural language processing)を行うことに基づいている若しくは行うことができる又はそれらの組み合わせである1以上の機械学習(ML:machine-learning)モデル若しくは人工知能(AI:artificial intelligence)モデル又はそれらの組み合わせを使用することができる訓練された機械学習モデル108を訓練及び開発することができる。例えば、そのような1以上のML若しくはAIモデル又はそれらの組み合わせは、微調整を伴う事前学習された言語表現モデル(例えば、変換器ベース)(例えば、トランスフォーマーによる双方向エンコーダ表現(BERT:bidirectional encoder representations from transformers)モデル)、長期短期記憶(LSTM:long short-term memory)モデル、条件付きランダムフィールド(CRF:conditional random field)層を有する双方向LSTMモデル(BiLSTM-CRFと略称される)、シャロー又はディープニューラルネットワークモデル、畳み込みニューラルネットワーク(CNN:convolutional neural network)モデル、決定木分類器、及び/又は上述されたマッピングを定義する為の類似性学習プロセス若しくは類似性検索プロセス又はそれらの組み合わせのプロセスを用いて自然言語処理(NLP:natural language processing)を行うことができる任意の教師有り又は教師なしMLモデル若しくはAIモデル又はそれらの組み合わせのモデルを包含することができるがこれらに限定されない。
システム100は、機械学習を使用して、大量の様々な形態のデータを評価及び識別すること、及びニューラルネットワーク又は他のタイプのモデルを訓練することのプロセスを促進することができる。システム100はまた、本明細書に記載されている1以上の実施態様に従って、コンテクストを有する個人レベルに対して予測的な推奨を生成することができる。本開示において説明されているシステム(例えば、システム100等)、機器又はプロセスの観点は、1以上の機械実行可能コンポーネントを構成することができ、該1以上の機械実行可能コンポーネントは、1以上の機械内に組み込まれ、例えば、1以上の機械に関連付けられた1以上のコンピュータ可読媒体内に組み込まれる。そのような1以上のコンポーネントは、1以上のマシン、例えば、1以上のコンピュータ、1以上のコンピューティングデバイス、1以上の仮想マシン等、によって実行される場合に、1以上のマシンに、本明細書において記載された動作を実行させることができる。本明細書において記載された1以上の実施態様において使用される同様の要素の反復的な説明が簡潔さの為に省略される。
システム100は、サービスとしてのプラットフォームクラウド116を利用して、訓練コンポーネント107、訓練された機械学習モデル108が、新しい環境における演算子の成功の蓋然性を予測することを促進する。入力としてデプロイメントされるべき新しい演算子及び名前空間を受け取ること、並びに訓練された機械学習モデル108を使用して、新しい環境における該演算子のデプロイメントの成功の蓋然性を予測することを含むがそれらに限定されない利点が達成されることができる。
システム100は、大量の様々な形態のデータを評価及び識別するプロセスを促進することができる。システム100はまた、本明細書において記載されている1以上の実施態様に従ったコンテクストを結果としてもたらす個人レベルへの予測的な推奨を生成することができる。本開示において説明されたシステム(例えば、システム100等)、機器又はプロセスの観点は、1以上の機械内に組み込まれた機械実行可能な1以上のコンポーネント、例えば、1以上の機械に関連付けられた1以上のコンピュータ可読媒体内に組み込まれた1以上のコンポーネント、を構成することができる。そのような1以上のコンポーネントは、1以上のマシン、例えば、1以上のコンピュータ、1以上のコンピューティングデバイス、1以上の仮想マシン等、によって実行される場合に、1以上のマシンに、本明細書に記載された動作を実行させることができる。本明細書に記載された1以上の実施態様において使用される同様の要素の反復的な説明は、簡潔さの為に省略される。
システム100は任意的に、サーバデバイス(図示せず)、1以上のネットワーク、及び1以上の装置(図示せず)を備えていてもよい。システム100はまた、演算子及び名前空間が入力として使用される訓練された機械学習モデル108を備えているサービスとしてのプラットフォーム(PaaS)クラウド116を備えているか、さもなければそれに関連付けられることができる。デプロイメントコンポーネント110は、構成及び訓練データに基づいて該入力をデプロイし、そして、名前空間に関連付けられた特定の環境における演算子のデプロイメントの成功の蓋然性を予測する為に使用される出力114を生成する。
実装において、訓練された機械学習モデル108は、サービスとしてのプラットフォーム(PaaS)クラウド116の名前空間を有する環境における演算子の成功の蓋然性を予測する。デプロイメントコンポーネント110は、PaaSクラウド116の第1の環境にデプロイされる第1の演算子及び第1の名前空間を受信し、第1の環境における第1の演算子のデプロイメントの成功を予測する為に、訓練された機械学習モデル108を使用する。該入力と該出力が与えられると、訓練された機械学習モデル108は、デプロイメントの成功の蓋然性を予測し、及び演算子がデプロイされることが意図される名前空間に適合されるところの種々の構成を使用する。デプロイメントの出力114は、成功又は失敗である場合がある。訓練コンポーネント107は、出力データ114から、及び異なるように構成された環境における演算子のデプロイメントの過去の履歴から学習して、意図された演算子のデプロイメントの成功を、機械学習を使用して予測する為に、訓練された機械学習モデル108を訓練することができる。
システム100は、デバイスに通信可能に結合されることができる任意の適切な1つのコンピューティングデバイス又は複数のコンピューティングデバイスの1組であることができ、その非限定的な例は、サーバコンピュータ、コンピュータ、モバイルコンピュータ、メインフレームコンピュータ、自動化されたテストシステム、ネットワークストレージデバイス、通信デバイス、ウェブサーバデバイス、ネットワーク切り替えデバイス、ネットワークルーティングデバイス、ゲートウェイデバイス、ネットワークハブデバイス、ネットワークブリッジデバイス、制御システム又は他の任意の適切なコンピューティングデバイスを包含するが、これらに限定されるものでない。デバイスは、システム100と情報を通信することができる任意のデバイス、若しくはシステム100によって提供される情報を使用することができる任意の他の適切なデバイス、又はそれらの組み合わせであることができる。システム100、コンポーネント、モデル、又はデバイスは、1以上のネットワークを介してシステム、コンポーネント、モデル、デバイス等の間の通信を可能にする通信コンポーネント(図示せず)を備えていることが理解されるべきである。
システム100の様々なコンポーネントは、例えば、直接的に又は1以上のネットワークを介して接続されることができる。そのようなネットワークは、有線及び無線ネットワーク、例えば、セルラーネットワーク、広域ネットワーク(WAN)(例えば、インターネット)、又はローカルエリアネットワーク(LAN)を包含するがこれらに限定されない該有線及び無線ネットワーク、を包含することができ、その非限定的な例は、セルラー、WAN、ワイ・ファイ(Wi-Fi)、Wi-Max、WLAN、無線通信、マイクロ波通信、衛星通信、光通信、音波通信、又は他の任意の適切な通信技術を包含する。その上、前述されたシステム若しくはデバイス又はそれらの組み合わせは、幾つかのコンポーネント間の相互作用に関して記載されている。そのようなシステム及びコンポーネントは、本明細書において特定されたこれらのコンポーネント或いはサブコンポーネント、特定されたコンポーネント或いはサブコンポーネントの一部、若しくは追加のコンポーネント又はそれらの組み合わせを包含することができることが理解されるであろう。サブコンポーネントはまた、親コンポーネント内に含まれているのでなく、他のコンポーネントに通信可能に接続されたコンポーネントとして実装されてもよい。更に、1以上のコンポーネント若しくは1以上のサブコンポーネント又はそれらの組み合わせは、集合的な機能を提供する単一のコンポーネントへと接続されることができる。該コンポーネントはまた、簡潔さの為に本明細書において特に記載されていないが、当業者には既知の1以上の他のコンポーネントと相互作用することができる。
対象となるコンピュータ処理システム、方法、装置若しくはコンピュータプログラム製品又はそれらの組み合わせは、技術、コンピュータネットワーク、インターネット等における進歩を通じて発生する演算子デプロイメント関連の問題を解決する為に使用されることができる。
今日のデジタル社会において、演算子の使用が、サービスとしてのプラットフォーム(PaaS)クラウドプラットフォームにおいて人気が高まってきている。特に、演算子がブロックされたり又は動作に失敗したりすることにより、KubernetesにおけるIT管理のライフサイクルに大きな影響を有する場合がある。従って、演算子のリスクを理解することは、そのデプロイメントに関連付けられたリスクの軽減を促進することができる。本実施態様は、演算子のデプロイメントが成功するかどうかの蓋然性を決定することができる。PaaS環境における演算子の成功の蓋然性は、訓練コンポーネント及び操作コンポーネントによって決定されることができる。該訓練コンポーネントにおいて、名前空間が該演算子をデプロイする為に選択される。入力演算子は、記述(アプリケーション状態のバックアップを取得する及び復元する記述)と、他のアーティファクト、例えば、演算子のカスタムリソース定義(CRD)(例えば、該演算子がデプロイされるべき場所、該演算子がどのように動作しうるかの.yamlファイル、及びコード(ロジック))を包含する。種々の構成、例えば、ネットワークポリシ、RBAC、アドミッションコントローラ及びリソース制限、が、演算子がデプロイされることができる所定の名前空間に適合される。デプロイメントに応じて、該演算子のデプロイメントが成功するかどうかを判断する為の出力が受け取られる。継続的な運用において、デプロイされるべき新しい演算子及び名前空間が入力として受け取られ、そして、訓練された機械学習モデル108を使用して、演算子のデプロイメントの成功の蓋然性が予測されることができる。この効率的な方法論により、事業運営及びコストを混乱させるリスクの軽減が容易になり、成功を事前に解析することによって演算子のデプロイメントの変更時間を短縮し、特定の環境における演算子のデプロイメントが成功する蓋然性(例えば、許容範囲内)があるかどうかの信頼性を高めることを通じて他の環境への演算子のデプロイメントを効率的にスケーリングすることを可能にする。
図2は、サービスとしてのプラットフォームクラウド内の新しい環境における演算子の成功の蓋然性を予測する為の統合システムの例示的なフローチャート図200を図示する。工程202において、幾つかの特定のアクションを実行する為に名前空間内にデプロイされるべき演算子の要求が(例えば、ソフトウェア信頼性エンジニア(SRE:software reliability engineer)により)提出される。演算子成功予測サービス(OSPS:Operator Success Prediction Service)は、例えば、Kubernetes(K8s)APIと通信して、ネットワークポリシ及び他のアーティファクトに関する情報を取得し、そして、演算子デプロイメントの成功の蓋然性を決定することができる。これらの実施態様において、工程204では、OSPSは、要求、例えばエンジニア(SRE)からの要求、を待つ。工程206では、OSPSは、例えばK8アプリケーションプログラミングインタフェース(API)を通じて、新しい環境と通信し、該新しい環境に関連付けられたネットワークポリシに関する情報を取得する。工程208では、OSPSは、Kubernetes(K8s)APIから収集された演算子及びコード部分の記述のベクトル表現を生成し、そして、入力を生成することができる。工程210で、入力が与えられると、OSPSは機械学習モデルを実行し、そして、デプロイメントの成功の蓋然性を予測する。該機械学習モデルは例えば、該新しい環境における演算子のデプロイメントの潜在的な成功率に関する0と1との間の蓋然性を出力することができる。工程212では、リスクレベルは、OSPSによって決定された蓋然性に基づいて、高/中/低/無として分類される。リスクレベルごとのポリシが低又は無である場合、OSPSは、Kubernetes(K8s)クラスタ220において、工程218で該演算子をデプロイし、そしてその動作を監視する。Kubernetes(K8s)クラスタは、コンテナ化されたアプリケーションを実行する為のノードマシンの1組である。工程212でのリスクレベルごとのポリシが高又は中である場合、工程216では、OSPSは、どの部分がエラーを生じる可能性があるかを識別することによってSREに通知し、そして、SREに対処と再送信を要求する。プロセスは工程202に戻り、SREは、リスクレベルが成功か又は失敗かに関わらず、或る特定のアクションを実行する為に名前空間にデプロイされるべき演算子の要求を提出することができ、及び工程214で、OSPSは、アクティブ学習に関連して使用されるべきナレッジベースにそのような経験を追加することができる。該プロセスは204から繰り返され、そこでは、OSPSはSREからの別の要求を待つ。高/中/低/無のリスクレベルの分類に基づき、該ポリシは、デプロイされるか又はSREに戻すかのアクションを定義する。このような継続的な(又は、反復的な)操作を通じて、様々な構成された環境における演算子のデプロイメントの過去の履歴が利用され、機械学習を使用して演算子のデプロイメントの成功を予測することができる。アクティブ学習は、様々な環境における演算子の新しいデプロイメントに基づいて、機械学習モデルを訓練し且つ開発する為に継続的に実行されることができる。
図3は、環境の類似性解析に基づいて演算子の成功を予測することを容易にする例示的なアーキテクチャ300を図示する。アーキテクチャ300は、演算子が、新しい環境において、例えば、異なるクラウド又は同じクラスタ内の異なる名前空間において、適切に実行することができる尤度を決定することを容易にすることができる。ハイレベルの概要アーキテクチャ300において記載されているように、演算子は、名前空間302内にデプロイされる。OSPS 304は、デプロイメントが成功することができるか又は成功することができないかを判断し、そして、成功率、例えば0~1、を提供する為に使用される成功予測サービスである。この例において、成功の蓋然性は0.8である。蓋然性の成功基準がX(ここで、Xは予め定められた閾値)よりも大きい場合に該演算子をデプロイし、閾値Xよりも小さい場合に該演算子をデプロイしないというプロセスを管理する為の幾つかのポリシ306がありうる。この場合、0.8が高いと分類される場合に、該演算子はデプロイされ、失敗した場合に、それは報告されることができる。その他のアーティファクトは、OpenShift(登録商標)及び他のソースから取得されることができ、名前空間、コード、又は他の関連する特徴の構成を決定することができる。該データはKubernetesクラスタ308において処理される。Kubernetesクラスタは、コントロールプレーンを表すコンポーネントと、マシンの1組(ノードと呼ばれる)とを備えていることができる。それはまた、コンテナ化されたアプリケーション、デプロイメントプロセス、及びノードプロセスを備えていることができる。このクラスタは、PaaSクラウド内のマシンのグループにわたってコンテナをスケジューリングし、且つ実行することができる。異なる環境又は構成においてデプロイされる演算子及びその成功対失敗のデータ310は、演算子ナレッジベースベース316内に入力されることができる。演算子ナレッジベース316は、演算子カスタムリソース定義CRD/コード312及び環境構成314、例えば、ネットワークポリシ、ロールベースのアクセス制御(RBAC)、アドミッションコントローラ、及びリソース制限、を格納することができる。時間をかけて収集された訓練データ318は、新しい演算子が既知の名前空間にデプロイされるアクティブ学習320の為に使用されることができる。教師付き機械学習モデルはまた、2つの異なる環境構成を調べ、そして、デプロイメントの為に意図された新しい環境に対して演算子が安全且つ適切に実行されることが事前ナレッジから知られているところのベースライン環境間の類似性スコアを提供することができる類似性学習として知られている。
機械学習モデルの実施態様は、演算子の成功を予測する為に訓練されることができる。モデルを記述する為に使用されることができる多くのアルゴリズム、例えば、SVM、決定木、及びニューラルネットワーク、が存在する。実施態様に従うと、該訓練された機械学習モデルは、環境における第1の演算子のデプロイメントの成功を予測する為に類似性学習を使用する。類似性学習は、2つのオブジェクトの関係を測定する為に分類するところの教師有り機械学習プロセスの一部である。類似性学習において、データはベクトルへと変換され、該ベクトルは距離メトリックを使用して比較され、そして、該距離は類似又は非類似として分類されることができる。これらの実施態様において、演算子がある環境にデプロイされ、そして、該類似性学習が、新しい環境においてデプロイメントの成功を予測する為に使用される。例示的なアルゴリズムの一例が以下に記載されている。
<訳>
入力:以前に送信された演算子oi(記述子等)、及びそれらに関連付けられたコントローラcrd r、及びコードci、及びデプロイされた名前空間特徴(fi1,fi2,…,fin)、及び出力yi(成功/失敗)i
各々について(oi,ri,ci,fi1,fi2,…,fin,yi)
語埋め込み(言語モデリング)を使用して、oi記述子をベクトルvi1にマッピングする
コード埋め込み(言語モデリング)を使用して、マップciをベクトルvi2にマッピングする
コード埋め込み(言語モデリング)を使用して、(fi1,fi2,…,fin)をベクトルvi3にマッピングする
vi1、vi2、vi3(連結された)を特徴ベクトルとしてリストX中に格納する
yiをY中に格納する
Xを入力として、Yを出力として使用して機械学習モデル(SVM,決定木,ニューラルネットワーク)を訓練する
ここで、記述子とそれに関連付けられたコードciとを有する演算子oiが存在する。名前空間は、構成の観点から、複数の特徴fi1,fi2,...,finを有する。出力yiは演算子のデプロイメントの成功又は失敗を決定することを容易にすることができる。類似性学習において、モデルが何らかのセキュリティ問題に遭遇した場合に、フラグが生成される。所定のパラメータを使用することで、機械学習モデルは、デプロイメントに関連付けられた内部データ及び他のセキュリティ侵害行為を分類することができる。該機械学習モデルは、特定の種類のインシデントに対して実行される様々なアクションから学習して、不正行為を予測すること及びセキュリティリスクを識別することを容易にすることができる。演算子oiのマッピングに使用されることができる様々な言語モデリング技術、例えば語埋め込み(word embedding)、があり、ここで、語の記述がコードの代わりに提供され、そして、数値ベクトルvi1表現が生成される。コードciが与えられると、ベクトルvi2が生成されるコード埋め込み(code embedding)が使用されることができる。同様に、コード埋め込みは名前空間特徴にマッピングされ、そして、ベクトルvi3が生成される。Xを入力として使用する任意の適切な機械学習モデルを使用することによって、出力Yが生成される。学習データのベクトル表現が、計算を容易にする為に生成されることができる。
類似性学習解析において、複数の環境が、操作機能性情報を提供する為に利用される。この場合、以前の環境からのデータが採用され、そしてモデル化され、出力を解析し、そして比較することで、新しい環境における演算子の成功の蓋然性を予測することができる。構成が名前空間に設定され、そして、該演算子と一緒にデプロイされることができる。該演算子のデプロイメントの出力は、他の名前空間で使用されることができる。
図4は、機械学習モデル108(図1)を訓練する為の訓練データに基づくアクティブ学習フィードバックのブロックレベル図の一例を図示する。アクティブ学習は、新しいデータポイントが所望の出力でラベル付けされる機械学習モデルにおけるアルゴリズムである。このプロセス400において、クエリに基づいて、プロセス400は、教師有りモデルの訓練に適切な影響を有する為にラベル付けされるべきデータに優先順位を付ける。アクティブ学習において、大量のデータが、基礎となる分布からランダムにサンプリングされることができ、及びこの大量のデータの組が予測、例えば、PaaS環境における演算子のデプロイメントの成功、を実行する為にモデル108を訓練する為に使用されることができる。クエリは、ラベル付けされていない組404に対して行われることができ、その後、モデル108は、これを利用して、工程406で成功又は失敗を予測し、そして、予測を検証する為にユーザからのフィードバックを使用することができる。同様に、ラベル付けされた組の演算子402は、訓練データに基づいて訓練される名前空間内にあることができる。工程406で、モデル108は、該訓練されたデータに基づいて成功又は失敗を予測し、そして、該予測を検証する為にユーザからのフィードバックを取得することができる。該学習データは、所望に応じて名前空間及びラベルで更新されることができる。非限定的な例示的なコードが以下に示されている。
<訳>
入力:ラベル付けされた組Dl:演算子、名前空間{mi}
訓練データD1に基づいて分類器f1を訓練する
真なら、
miについての成功/失敗(ri)を予測する
SMEからのフィードバックを使用して、{ri}が正しいことを検証する
必要に応じてmiとそのラベルを使用して訓練データ(Dl)を更新する
Dlを使用して分類器f1を再訓練する
新しい演算子、又は新しい名前空間を持つ古い演算子に関して新しい出力が学習されるときはいつでも、このモデル108が使用されることができる。ポリシは蓋然性に基づいて定義されることができ、成功の蓋然性が閾値より大きい場合、それは低リスクであるとみなされ、ここで、アクションはリスクファクターに基づいて予め定義されている。例えば、低リスクのアクションがデプロイされることができ、及び高リスクのアクションがデプロイされることができないようなポリシが定義されることができる。その上、予測精度の利点が不正確な予測のコストと比較検討されるように、効用ベースの解析が実装されることができる。システムは、リスク予測毎に予め定義されたアクションを許可することができる。リスクが低い場合(閾値)、自動化はより高い信頼性で演算子をデプロイすることができる。一方、リスクが高い場合(閾値)、該システムは潜在的なリスクを調査し、そして解決するか、又は識別された問題が演算子に失敗しない可能性があることを確認するようにCI/CDの専門家に通知することができる。これらのアクションは、データ又はアクティブラーニングから学習されることができ、又は時間の経過とともにより多くのデータが収集されるように調整されることができる。
図5は、或る環境において名前空間に適合される例示的なグローバルネットワークポリシを図示する。符号500に示されているように、電子メール(EML)ファイルは、ネットワークポリシが名前空間に適合されるであろう場所に関する情報を含むことができる。コードに記述されているように、これはグローバルネットワークポリシ502であり、及びそれはノードポートが拒否されるところの名前空間に適合されることができる。また、行506で、ポートが、例えばTCPプロトコル508上のポート30000:32767で拒否されるところのコード化できる或る特定のアクション504がある。同様に、UDPプロトコル514上の30000:32767のポート範囲512が拒否されるアクションの別の1組510が列挙されることができる。この場合、名前空間内にデプロイされたアプリケーションは、これらのポートから受け入れられず、これらのポート内で動作する任意の演算子は、失敗しうる。
図6は、数値ベクトルを生成する為にコードが用いられるところのニューラルネットワークのアーキテクチャのフローチャート図の一例を図示する。機械学習モデルにおいて、コード(論理)は数値で表現される。図示されているように、コードが入力として取得され、そして、機械学習において使用されるべき数値ベクトル表現が生成される。このニューラルモデルは、コードの断片を連続した分散ベクトルとして表現し、コード埋め込み(code embedding)としてまた知られている。コンテクストベクトルの1組を集約する方法の学習とともにパスの原子表現を学習しながら、コード602が完全に接続された層であるパスのコレクションに分解することによってプロセスが開始する。コードは、出力608としてベクトルを生成するニューラルネットワーク604において使用され且つ処理される。これは、最初に与えられたコードの数値表現である。このベクトル表現は、機械学習モデル610において使用され、予測値612を生成することができる。同様に、演算子コードが取り出されて、同様にベクトルに変換されることができる。コードスニペット又は組み合わされたコンテクストベクトルは、演算子のデプロイメントの成功の予測の為に使用されることができる単一の固定長コードベクトルとして表される。同じデータの組で以前の技術を比較することにより、大規模なクロスプロジェクトデータに基づく正確な予測を提供することの相対的な向上が結果として生じる。このデータの組において訓練されたコードベクトルは、訓練中に観測されなかったファイルからメソッド名を予測することができ、及び該モデルは、意味的な類似性、組み合わせ及び類似性をキャプチャするところのメソッド名ベクトルを学習する。コードからベクターへの方法論は、コードを機械学習アプリケーションにおいて使用されるべきベクトルに変換する為の方法論を提供する。従って、コードをベクトル表現に変換し、そして、ベクトル表現を利用して、コードとして記述された異なる構成を有する新しい環境における演算子の成功率を予測することに新規性がある。
本実施態様は、演算子のデプロイメントの成功の尤度を高め、失敗の場合には、スコアは、欠けている構成ファイルから開始するトラブルシューティングのガイドとして機能することができる。その上、同一クラスタ内で演算子の周りの他のワークロードのセキュリティを確保する為には、新しい環境において欠けているセキュリティ対策の指標が望ましい。テスト環境又は過去の運用環境は、演算子が意図したとおりに機能した例示的な環境を提供する。この情報は、類似性解析を実行して新しい環境と既存の環境とを比較する為に利用されることができる。教師有りの機械学習、すなわち類似性学習、は、新しい環境における演算子の成功を予測する為に使用されることができる。該演算子が新しい環境において適切に機能しない可能性が高いと予測される場合、該類似性解析によりトラブルシューティングプロセスをどこから開始するかについてのヒントを提供することができる。類似性学習とメトリック距離学習(metric distance learning)について多くの一般的な方法がある。回帰類似度学習において、物体の対が類似度の尺度とともに与えられ、そして、回帰損失を最小化する。分類類似度学習は、物体の新しい対が類似しているか否かを判断する。順位付けする類似度学習において、類似度の相対的な順位が提供される。例えば、類似度ランク付けは、最も差の大きいオブジェクトから開始し、最も差の小さい1以上のオブジェクトへと下降していくことができる。そのような順序付けはトラブルシューティングの時間と労力とを節約することができ、及びこのランク付けフレームワークは相対的に大規模なアプリケーションでのスケーリングを容易にする。その上、新しい環境がベースライン環境と比較して多くの相違を有し、該ベースライン環境において見られるセキュリティ制御が欠けている場合に、類似性解析が、新しい環境がやはり安全でない可能性があるというフラグを立てる為に使用されることができる。
開示された主題の様々な観点のコンテクストを提供する為に、図7並びに下記の議論は、開示された主題の様々な観点が実装されることができる好適な環境の一般的な説明を提供することを意図している。図7は、本明細書に記載されている1以上の実施態様が容易にされることができる例示的な非限定的な動作環境のブロック図を図示する。本明細書において記載されている他の実施態様において使用される同様の要素の反復的な説明は、簡潔さの為に省略される。
図7を参照すると、本開示の様々な観点を実装する為の好適な動作環境700はまた、コンピュータ712を備えていることができる。コンピュータ712は、処理ユニット714、システムメモリ716、及びシステムバス718を備えていることができる。システムバス718は、システムコンポーネント、例えば、システムメモリ716を備えているがこれに限定されない該システムコンポーネント、を処理ユニット714に接続する。処理ユニット714は、様々な利用可能なプロセッサのうちのいずれかであることができる。デュアルマイクロプロセッサ及び他のマルチプロセッサアーキテクチャがまた、処理ユニット714として使用されることができる。システムバス718は、任意の様々な利用可能なバスアーキテクチャ、例えば、インダストリアルスタンダードアーキテクチャ(ISA:Industrial Standard Architecture)、マイクロチャネルアーキテクチャ(MSA:Micro-Channel Architecture)、拡張ISA(EISA:Extended ISA)、インテリジェントドライブエレクトロニクス(IDE:Intelligent Drive Electronics)、VESAローカルバス(VLB:VESA Local Bus)、ペリフェラルコンポーネントインターコネクト(PCI:Peripheral Component Interconnect)、カードバス、ユニバーサルシリアルバス(USB:Universal Serial Bus)、アドバンスドグラフィックスポート(AGP:Advanced Graphics Port)、ファイヤーワイヤー(Firewire)(IEEE 1394)、及びスモールコンピュータシステムインタフェース(SCSI:Small Computer Systems Interface)を包含するがこれらに限定されない該バスアーキテクチャ、を使用する幾つかの種類の1以上のバス構造、例えば、メモリバス或いはメモリコントローラ、周辺バス或いは外部バス、若しくはローカルバス又はそれらの組み合わせを包含する該1以上のバス構造のいずれかであることができる。
システムメモリ716はまた、揮発性メモリ720及び不揮発性メモリ722を備えていることができる。例えば起動時の間に、コンピュータ712内の要素間で情報を転送する為の基本ルーチンを含む基本入出力システム(BIOS:basic input/output system)は、不揮発性メモリ722内に格納される。コンピュータ712はまた、取り外し可能/取り外し不可能な、揮発性/不揮発性のコンピュータ記憶媒体を備えていることができる。図7は例えば、ディスクストレージ724を示す。ディスクストレージ724はまた、磁気ディスクドライブ、フロッピーディスクドライブ、テープドライブ、Jazドライブ、Zipドライブ、LS-100ドライブ、フラッシュメモリカード、又はメモリスティックのようなデバイスを包含することができるが、これらに限定されない。ディスクストレージ724はまた、記憶媒体を別個に又は他の記憶媒体と組み合わせて備えていることができる。ディスクストレージ724のシステムバス718への接続を容易にする為に、取り外し可能又は取り外し不可能なインタフェース、例えばインタフェース726、が典型的に使用される。図7はまた、ユーザと、好適な動作環境700において説明される基本的なコンピュータリソースとの間で仲介役として機能するソフトウェアを図示する。そのようなソフトウェアはまた、例えば、オペレーティングシステム728を含むことができる。ディスクストレージ724上に格納されることができるオペレーティングシステム728は、コンピュータ712のリソースを制御し且つ割り当てるように作用する。
システムアプリケーション730は、プログラムモジュール732及びプログラムデータ734、例えば、システムメモリ716内又はディスクストレージ724上のいずれかに格納された上記のプログラムモジュール732及びプログラムデータ734、を介して、オペレーティングシステム728によるリソースの管理を利用する。本開示は、様々なオペレーティングシステム又はオペレーティングシステムの組み合わせで実装されることができることを理解されたい。ユーザは、1以上の入力デバイス736を通じて、コンピュータ712内にコマンド又は情報を入力する。入力デバイス736は、ポインティングデバイス、例えば、マウス、トラックボール、スタイラス、タッチパッド、キーボード、マイク、ジョイスティック、ゲームパッド、衛星アンテナ、スキャナ、TVチューナーカード、デジタルカメラ、デジタルビデオカメラ、ウェブカメラ等、を包含するが、これらに限定されるものでない。これら及び他の入力デバイスは、1以上のインタフェースポート738を介してシステムバス718を通じて処理ユニット714に接続する。1以上のインタフェースポート738は例えば、シリアルポート、パラレルポート、ゲームポート、及びユニバーサルシリアルバス(USB)を包含する。1以上の出力デバイス740は、1以上の入力デバイス736と同じ種類のポートのうちの幾つかを使用する。従って、例えば、USBポートは、コンピュータ712に入力を提供する為に及びコンピュータ712から出力デバイス740に情報を出力する為に使用されることができる。出力アダプタ742は、特別なアダプタを必要とする他の出力デバイス740のうちの幾つかの出力デバイス740、例えば、モニタ、スピーカ及びプリンタ、が存在することを説明する為に提供される。出力アダプタ742は、出力デバイス740とシステムバス718との間の接続手段を提供するビデオカード及びサウンドカードを包含するが、例示であって限定するものでない。他のデバイス若しくはデバイスのシステム又はそれらの組み合わせ、例えば1以上のリモートコンピュータ744、は、入力及び出力機能の両方を提供することに留意されたい。
コンピュータ712は、1以上のリモートコンピュータ、例えば1以上のリモートコンピュータ744、への論理接続を使用して、ネットワーク化された環境において動作することができる。1以上のリモートコンピュータ744は、コンピュータ、サーバ、ルータ、ネットワークPC、ワークステーション、マイクロプロセッサベースのアプライアンス、ピアデバイス又は他の共通のネットワークノード等であることができ、典型的には、コンピュータ712に関連して記載された要素の多く又は全てを備えていることができる。簡潔さの目的の為に、メモリストレージデバイス746のみが、1以上のリモートコンピュータ744と共に図示されている。1以上のリモートコンピュータ744は、ネットワークインタフェース748を通じてコンピュータ712に論理的に接続され、そして次に、通信接続750を介して物理的に接続される。ネットワークインタフェース748は、セルラーネットワーク等の有線通信ネットワーク若しくは無線通信ネットワーク又はそれらの組み合わせ、例えば、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、を包含する。LAN技術は、ファイバ分散データインタフェース(FDDI:Fiber Distributed Data Interface)、銅分散データインタフェース(CDDI:Copper Distributed Data Interface)、イーサネット、トークンリング等を包含する。WAN技術は、ポイントツーポイントリンク、統合サービスデジタルネットワーク(ISDN:Integrated Services Digital Networks)及びそのバリエーションのような回線交換ネットワーク、パケット交換ネットワーク、及びデジタル加入者線(DSL:Digital Subscriber Lines)を包含するが、これらに限定されるものでない。1以上の通信接続750は、ネットワークインタフェース748をシステムバス718に接続する為に使用されるハードウェア/ソフトウェアを云う。通信接続750は、例示的に明確にする為にコンピュータ712の内部に示されているが、コンピュータ712の外部であることがまた可能である。ネットワークインタフェース748に接続する為のハードウェア/ソフトウェアはまた、例示のみを目的とするものであるが、内部及び外部の技術、例えば、通常の電話グレードのモデム、ケーブルモデム及びDSLモデムを包含するモデム、ISDNアダプタ、並びにイーサネットカードを包含することができる。
ここで図8を参照すると、例示的なクラウドコンピューティング環境850が図示されている。図示されているように、クラウドコンピューティング環境850は、クラウドコンシューマ、例えば、パーソナルデジタルアシスタント(PDA:personal digital assistant)又は携帯電話854A、デスクトップコンピュータ854B、ラップトップコンピュータ854C若しくは自動車コンピュータシステム854N又はそれらの組み合わせ、によって用いられるローカルコンピューティングデバイスが通信しうる1以上のクラウドコンピューティングノード810を備えている。図8には図示されていないが、クラウドコンピューティングノード810は、クラウドコンシューマによって使用されるローカルコンピューティングデバイスが通信することができるところの量子プラットフォーム(例えば、量子コンピュータ、量子ハードウェア、量子ソフトウェア等)を更に備えていることができる。ノード810は、互いに通信しうる。それらは、1以上のネットワーク、例えば、本明細書において記載されている、プライベートクラウド、コミュニティクラウド、パブリッククラウド、若しくはハイブリッドクラウド、又はそれらの組み合わせ、において物理的又は仮想的にグループ化されていてもよい(図示せず)。これにより、クラウドコンピューティング環境850は、クラウドコンシューマがローカルコンピューティングデバイス上のリソースを維持する必要がないサービスとして、インフラストラクチャ、プラットフォーム若しくはソフトウェア又はそれらの組み合わせを提供することができる。図示されているコンピューティングデバイス854A~854Nの種類は、例示のみを意図されていること、並びにコンピューティングノード810及びクラウドコンピューティング環境850は、任意の種類のネットワーク若しくはネットワークアドレス可能な接続又はそれらの組み合わせを介して(例えば、ウェブブラウザを使用して)任意の種類のコンピュータ化されたデバイスと通信することができることが理解される。
ここで図9を参照すると、クラウドコンピューティング環境850(図8)によって提供される機能的抽象化層の1組が示されている。図9に示されているコンポーネント、層及び機能は、単に例示であることが意図されていること、並びに本発明の実施態様はそれらに限定されないことが理解されるべきである。図示されている通り、下記の複数の層及び対応する複数の機能が提供される。
ハードウェア及びソフトウェア層960は、ハードウェアコンポーネント及びソフトウェアコンポーネントを包含する。ハードウェアコンポーネントの例は、メインフレーム961、RISC(Reduced Instruction Set Computer(縮小命令セット・コンピュータ))アーキテクチャ・ベースのサーバ962;サーバ963;ブレード・サーバ964;記憶デバイス965;並びに、ネットワーク及びネットワーキングコンポーネント966を包含する。幾つかの実施態様において、ソフトウェアコンポーネントは、ネットワーク・アプリケーション・サーバ・ソフトウェア967、量子プラットフォームルーティングソフトウェア968、若しくは量子ソフトウェア(図9において図示されていない)又はそれらの組み合わせを包含する。
仮想化層970は、抽象化層を提供し、この抽象化層から、仮想エンティティの下記の例が提供されうる:すなわち、仮想サーバ971;仮想ストレージ972;仮想ネットワーク973;例えば仮想プライベートネットワークを包含する該仮想ネットワーク973;仮想アプリケーション及びオペレーティングシステム974;並びに、仮想クライアント975。
1つの例において、管理層980は、以下で説明される複数の機能を提供しうる。リソース・プロビジョニング981は、クラウドコンピューティング環境内でタスクを実行する為に利用されるコンピューティングリソース及び他のリソースの動的な調達を提供する。計量及び価格決定982は、リソースがクラウドコンピューティング環境内で利用される場合のコスト追跡と、これらのリソースの消費についての課金又は請求とを提供する。1つの例において、これらのリソースは、アプリケーション・ソフトウェア・ライセンスを包含しうる。セキュリティは、クラウドコンシューマ及びタスクに対する識別検証と、データ及び他のリソースに対する保護とを提供する。ユーザ・ポータル983は、コンシューマ及びシステム管理者の為に、クラウドコンピューティング環境へのアクセスを提供する。サービスレベル管理984は、要求されるサービスレベルが満たされるように、クラウド・コンピューティング・リソースの割り当て及び管理を提供する。サービス・レベル・アグリーメント(SLA:Service Level Agreement)の計画及び履行985は、将来の要件がSLAに従って予測されるクラウド・コンピューティング・リソースの為の事前配置及びその調達を提供する。
ワークロード層990は、該クラウドコンピューティング環境が利用されうる複数の機能の例を提供する。この層から提供されうる複数のワークロード及び複数の機能の例は、マッピング及びナビゲーション991;ソフトウェア開発及びライフサイクル管理992;仮想教室教育の提供993;データ分析処理994;トランザクション処理995;並びに、量子状態準備ソフトウェア(quantum state preparation software)996を包含する。
本発明は、統合のありうる任意の技術的詳細レベルでの、システム、方法若しくはコンピュータプログラム製品又はそれらの組み合わせでありうる。該コンピュータプログラム製品は、プロセッサに本発明の観点を実行させる為のコンピュータ可読プログラム命令を有する1以上のコンピュータ可読記憶媒体を包含しうる。該コンピュータ可読記憶媒体は、命令実行デバイスによって使用する為の命令を保持且つ記憶することができる有形のデバイスであることができる。該コンピュータ可読記憶媒体は、例えば、電子ストレージデバイス、磁気ストレージデバイス、光ストレージデバイス、電磁ストレージデバイス、半導体ストレージデバイス、又はこれらの任意の適切な組み合わせでありうるが、これらに限定されない。該コンピュータ可読記憶媒体のより具体的な例の非網羅的なリストは、下記を包含する:ポータブルのコンピュータディスケット(登録商標)、ハードディスク、ランダムアクセスメモリ(RAM:random access memory)、読み取り専用メモリ(ROM:read only memory)、消去可能なプログラム可能な読み取り専用メモリ(EPROM(erasable programmable read-only memory)又はフラッシュメモリ)、スタティックランダムアクセスメモリ(SRAM:static random access memory)、ポータブル・コンパクトディスク読み取り専用メモリ(CD-ROM:compact disc read-only memory)、デジタル多用途ディスク(DVD:digital versatile disk)、メモリスティック、フロッピーディスク、機械的に符号化されたデバイス、例えば、パンチカード若しくは命令が記録されている溝内の隆起構造又はこれらの任意の適切な組み合わせ。本明細書において使用される場合、コンピュータ可読記憶媒体は、一時的な信号それ自体、例えば、電波又は他の自由に伝播する電磁波、導波管若しくは他の伝送媒体を伝播する電磁波(例えば、光ファイバケーブルを通過する光パルス)、又は電線を介して送信される電気信号、であると解釈されるべきでない。
本明細書において記載されたコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体から夫々のコンピューティングデバイス/処理デバイスに、又はネットワーク、例えば、インターネット、ローカルエリアネットワーク、ワイドエリアネットワーク若しくはワイヤレスネットワーク又はそれらの組み合わせ、を介して外部コンピュータ又は外部記憶デバイスにダウンロードされることができる。該ネットワークは、銅線伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータ若しくはエッジサーバ又はこれらの組み合わせで構成されうる。各コンピューティングデバイス/処理デバイスにおけるネットワークアダプタカード又はネットワークインタフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、そして、該コンピュータ可読プログラム命令を、夫々のコンピューティングデバイス/処理デバイス内にコンピュータ可読記憶媒体中に記憶する為に伝送する。本発明の動作を実行する為のコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ(ISA:instruction-set-architecture)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路の為の構成データ、又は、1以上のプログラミング言語、例えばオブジェクト指向プログラミング言語、例えば、Smalltalk、C++等、慣用的な手続き型プログラミング言語(例えば、「C」プログラミング言語又は同様のプログラミング言語)、の任意の組み合わせで書かれているソースコード又はオブジェクトコードのいずれか、でありうる。該コンピュータ可読プログラム命令は、ユーザのコンピュータ上で全体的に、ユーザのコンピュータ上で部分的に、ユーザのコンピュータ上でスタンドアロン・ソフトウェア・パッケージとして部分的に、ユーザのコンピュータ上で部分的に且つリモートコンピュータ上で部分的に、又はリモートコンピュータ若しくはサーバ上で全体的に、実行されうる。後者のシナリオにおいて、該リモートコンピュータは、任意の種類のネットワーク、例えば、ローカルエリアネットワーク(LAN:local area network)若しくはワイドエリアネットワーク(WAN:wide area network)、を介してユーザのコンピュータに接続されうるか、又は該接続は(例えば、インターネットサービスプロバイダを使用したインターネットを通じて)外部コンピュータに対して行われうる。幾つかの実施態様において、電子回路、例えば、プログラム可能な論理回路、フィールドプログラム可能なゲートアレイ(FPGA:field-programmable gate arrays)又はプログラム可能なロジックアレイ(PLA:programmable logic arrays)、は、本発明の観点を実行する為に、コンピュータ可読プログラム命令の状態情報を利用することによって、電子回路をパーソナライズすることによって、コンピュータ可読プログラム命令を実行しうる。
本発明の観点は、本発明の実施態様に従う、方法、装置(システム)及びコンピュータプログラム製品若しくはコンピュータプログラムのフローチャート図若しくはブロック図又はそれらの組み合わせを参照して本明細書において記載されている。該フローチャート図若しくは該ブロック図又はそれらの組み合わせの各ブロック、並びに該フローチャート図若しくは該ブロック図又はそれらの組み合わせにおける複数のブロックの組み合わせは、コンピュータ可読プログラム命令によって実装されることができることが理解されるであろう。これらのコンピュータ可読プログラム命令は、汎用コンピュータ、専用コンピュータ、又は他のプログラム可能なデータ処理装置のプロセッサに提供され、コンピュータ又は他のプログラム可能なデータ処理装置のプロセッサを介して実行される命令が、フローチャート図若しくはブロック図又はこれらの組み合わせの1以上のブロックに指定された機能/行為を実装する手段を作成するように、マシンを生成することができる。これらのコンピュータ可読プログラム命令は、コンピュータ、プログラム可能なデータ処理装置若しくは他の装置又はこれらの組み合わせに特定の方法で機能するように指示できるコンピュータ可読記憶媒体に格納することもでき、その中に格納された命令を有するコンピュータ可読記憶媒体は、フローチャート図若しくはブロック図又はそれらの組み合わせの1以上の指定された機能/行為の観点を実装する命令を含む製造物品を備えている。該コンピュータ可読プログラム命令はまた、コンピュータ上、他のプログラム可能なデータ処理装置上又は他のデバイス上で実行される命令が、該フローチャート図若しくはブロック図若しくはそれらの組み合わせの1以上のブロックにおいて特定される機能/動作を実装するように、上記のコンピュータ上、他のプログラム可能なデータ処理装置上又は他のデバイス上にロードされて、コンピュータ、他のプログラム可能な装置又は他のデバイス上で一連の操作工程を実行させて、コンピュータに実装されたプロセスを生成しうる。
図面中のフローチャート図及びブロック図は、本発明の様々な実施態様に従う、システム、方法及びコンピュータプログラム製品若しくはコンピュータプログラムの在りうる実装の、アーキテクチャ、機能及び動作を示す。これに関連して、該フローチャート図又はブロック図における各ブロックは、命令のモジュール、セグメント、又はその一部を表し得、それは、特定された1以上の論理機能を実装する為の1以上の実行可能命令を含む。幾つかの代替の実装において、該ブロックにおいて示されている機能は、図面中に示されている順序とは異なって生じうる。例えば、連続して示されている2つのブロックは、実際には、関与する機能に依存して、同時に、実質的に同時に、部分的又は全体的に時間的に重複する様式で実行される1つの工程として達成されうるか、又は該ブロックは、逆の順序で実行されうる。該ブロック図若しくはフローチャート図又はこれらの組み合わせの各ブロック、並びに該ブロック図若しくはフローチャート図又はこれらの組み合わせの複数のブロックの組み合わせは、特定された機能又は動作を実行する特別な目的のハードウェアベースのシステムによって実装することができ、又は特別な目的のハードウェアとコンピュータ命令との組み合わせを実行することができることに留意されたい。
主題は、1以上のコンピュータ上で実行されるコンピュータプログラム製品のコンピュータ実行可能な命令の一般的なコンテクストにおいて上述されてきているが、当業者は、本開示がまた、他のプログラムモジュールと組み合わせて実施することができること又は実施されることができることを認識することができる。一般的に、プログラムモジュールは、特定のタスクを実行する及び/又は特定の抽象的なデータ型を実装するところのルーチン、プログラム、コンポーネント、データ構造等を含む。その上、当業者は、コンピュータに実装された本発明の方法が、他のコンピュータシステム構成、例えば、シングルプロセッサ又はマルチプロセッサコンピュータシステム、ミニコンピュータ装置、メインフレームコンピュータ、並びにコンピュータ、ハンドヘルドコンピュータデバイス(例えば、PDA、電話)、マイクロプロセッサベース又はプログラム可能なコンシューマ又は産業電子機器等を包含する上記の他のコンピュータシステム構成、で実施できることを理解することができる。図示された観点はまた、通信ネットワークを介してリンクされるところのリモート処理デバイスによってタスクが実行される分散コンピューティング環境において実施されうる。しかしながら、本開示の全ての観点でないにしても、幾つかの観点は、スタンドアロンコンピュータ上で実施されることができる。分散コンピューティング環境において、プログラムモジュールは、ローカル及びリモートの両方のメモリストレージデバイスに配置されることができる。
本願において使用される場合に、語「コンポーネント」、「システム」、「プラットフォーム」、「インタフェース」等は、コンピュータ関連のエンティティ又は1以上の特定の機能性を有する動作機械に関するエンティティを云うことができ、又は該エンティティを備えていることができ、又はそれらの組み合わせであることができる。本明細書において開示されているエンティティは、ハードウェア、ハードウェアとソフトウェアの組み合わせ、ソフトウェア、又は実行中のソフトウェアのいずれかであることができる。例えば、コンポーネントは、プロセッサ上で実行されるプロセス、プロセッサ、オブジェクト、実行可能ファイル、実行のスレッド、プログラム、若しくはコンピュータ又はそれらの組み合わせであることができるが、これらに限定されない。例示すると、サーバ上で実行されるアプリケーションと該サーバの両方がコンポーネントであることができる。1以上のコンポーネントは、プロセス若しくは実行のスレッド又はそれらの組み合わせ内に存在することができ、1つのコンポーネントは、1つのコンピュータ上に局在し、若しくは2以上のコンピュータ間に分散されることができ、又はそれらの組み合わせであることができる。別の例において、夫々のコンポーネントは、その上に格納された様々なデータ構造を有する様々なコンピュータ可読媒体から実行することができる。該コンポーネントは、例えば、1以上のデータパケット(例えば、ローカルシステム、分散システムにおいて別のコンポーネントと相互作用する1つのコンポーネントからのデータ、若しくは信号を介して他のシステムとネットワーク、例えばインターネット、を介して)を有する信号に従って、ローカルプロセス若しくはリモートプロセス又はそれらの組み合わせを通じて通信することが可能である。別の例として、コンポーネントは、プロセッサによって実行されるソフトウェア又はファームウェアアプリケーションによって動作する電気又は電子回路によって動作する機械部品によって提供される特定の機能性を有する装置であることができる。そのような場合、該プロセッサは、装置の内部又は外部に存在することができ、及びソフトウェア又はファームウェアアプリケーションのうちの少なくとも一部を実行することができる。更に別の例として、コンポーネントは、機械コンポーネントを用いること無しに電子コンポーネントを通じて特定の機能を提供する装置であることができ、ここで、該電子コンポーネントは、複数の電子コンポーネントの機能の少なくとも一部を付与するソフトウェア又はファームウェアを実行するプロセッサ又は他の手段を備えていることが可能である。1つの観点において、コンポーネントは、仮想マシン、例えばクラウドコンピューティングシステム内の仮想マシン、を介して電子コンポーネントをエミュレートすることができる。
加えて、語「又は」は、排他的な「又は」でなく、包含的な「又は」を意味することが意図されている。すなわち、特に指定がない限り、又は文脈から明らかな場合を除き、「XがA又はBを使用する」は、自然な包含的順列のいずれかを意味することが意図されている。すなわち、XがAを使用する場合、XがBを使用する場合、又はXがA及びBの両方を使用する場合、前述のいずれの場合においても「XがA又はBを使用する」が満たされる。更に、本明細書及び付属図面において使用される冠詞「1つ」(a)及び「1つ」(an)は、他に指定がない限り、又は文脈から単数形に向けられることが明らかでない限り、一般的に「1以上」を意味すると解釈されるべきである。本明細書において使用される場合、語「例」及び/又は「例示的」は、例、実例、又は説明として機能することを意味する為に利用される。疑念を避ける為に、本明細書に開示されている主題は、そのような例によって限定されるものでない。加えて、本明細書において「例」及び/又は「例示的」として記載されている任意の態様又は設計は、必ずしも他の態様又は設計よりも好ましい又は有利であると解釈されるものでなく、当業者に知られている同等の例示的構造及び技術を排除することを意味するものでもない。
本明細書において使用される場合に、語「プロセッサ」は、シングルコアプロセッサ、ソフトウェアマルチスレッド実行能力を有するシングルプロセッサ、マルチコアプロセッサ、ソフトウェアマルチスレッド実行能力を有するマルチコアプロセッサ、ハードウェアマルチスレッド技術を有するマルチコアプロセッサ、並列プラットフォーム、及び分散共有メモリを有する並列プラットフォームを備えているが、それらに限定されない実質的に任意の計算処理ユニット又はデバイスを云うことができる。加えて、プロセッサは、集積回路、特定用途向け集積回路(ASIC:application specific integrated circuit)、デジタル信号プロセッサ(DSP:digital signal processor)、フィールドプログラム可能なゲートアレイ(FPGA:field programmable gate array)、プログラム可能な論理コントローラ(PLC:programmable logic controller)、プログラム可能な複合論理デバイス(CPLD:complex programmable logic device)、個別ゲート又はトランジスタ論理、個別ハードウェアコンポーネント、又は本明細書において記載された機能を実行するよう設計されたそれらの任意の組み合わせを云うことができる。更に、プロセッサは、空間使用を最適化する為に、又はユーザ機器の性能を強化する為に、ナノスケールアーキテクチャ、例えばこれらに限定されないが、分子及び量子ドットベースのトランジスタ、スイッチ及びゲート、を利用することができる。プロセッサはまた、複数のコンピューティング処理ユニットの組み合わせとして実装することができる。本開示において、例えば、語「格納する」、「ストレージ」、「データストア」、「データストレージ」、「データベース」、及びコンポーネントの動作及び機能性に関連する実質的に他の任意の情報ストレージコンポーネントは、「メモリコンポーネント」、「メモリ」内に組み込まれたエンティティ、又はメモリを構成するコンポーネントを云う為に利用される。本明細書において記載されているメモリ若しくはメモリコンポーネント又はそれらの組み合わせは、揮発性メモリ若しくは不揮発性メモリのいずれかであることができ、又は揮発性メモリ及び不揮発性メモリの両方を備えていることができることが理解される。例示であって限定でないが、不揮発性メモリは、読み取り専用メモリ(ROM)、プログラム可能なROM(PROM)、電気的にプログラム可能なROM(EPROM)、電気的に消去可能なプログラム可能なROM(EEPROM)、フラッシュメモリ、又は不揮発性ランダムアクセスメモリ(RAM)(例えば、強誘電体RAM(FeRAM:ferroelectric RAM))を包含することができる。揮発性メモリは、例えば、外部キャッシュメモリとして機能することができるRAMを包含することができる。例示であって限定でないが、RAMは、シンクロナスRAM(SRAM)、ダイナミックRAM(DRAM)、シンクロナスDRAM(SDRAM)、ダブルデータレートSDRAM(DDR SDRAM)、強化型SDRAM(ESDRAM:enhanced SDRAM)、シンクリンクDRAM(SLDRAM:Synchlink DRAM)、ダイレクトラムバスRAM(DRRAM:direct Rambus RAM)、ダイレクトラムバスダイナミックRAM(DRDRAM:direct Rambus dynamic RAM)、ラムバスダイナミックRAM(RDRAM:Rambus dynamic RAM)等の多くの形式で利用可能である。加えて、本明細書におけるシステム又はコンピュータに実装された方法の開示されたメモリコンポーネントは、これら及び他の任意の適切な種類のメモリを備えているが、これらに限定されるこがないことが意図されている。
上記で記載されているものは、システム及びコンピュータに実装された方法の単なる例を含む。もちろん、本開示を説明する目的で、コンポーネントの考えうる全ての組み合わせ又はコンピュータに実装された方法を説明することは不可能であるが、当業者であれば、本開示の多くの更なる組み合わせ及び順列が可能であることを認識することが可能である。更に、語「含む」、「有する」、「所有する」等が発明の詳細な説明、請求項、要約書及び図面において使用される限りにおいて、そのような語は、語「含んでいる」が請求項において移行語として使用される場合に解釈される為、語「含んでいる」と同様に包括的であることを意図している。
本発明の様々な実施態様の記載は、例示の目的の為に提示されたものであり、網羅的であること又は開示された実施態様に限定されることが意図されたものでない。多くの修正及び変形が、記載された実施態様の範囲及び精神から逸脱することなしに当業者に明らかであろう。本明細書において使用される語は、実施態様の原理、実用的な用途、又は市場において見られる技術に対する技術的改善を最もよく説明する為に、又は当業者が本明細書において開示されている実施態様を理解することができるようにする為に選択された。

Claims (20)

  1. システムであって、
    メモリ内に格納されたコンピュータ実行可能なコンポーネントを実行するプロセッサ;
    サービスとしてのプラットフォーム(PaaS)クラウドの名前空間を有する環境において演算子のデプロイメントの成功の蓋然性を予測する機械学習モデル;及び、
    第1の演算子と第1の名前空間とを受け取り且つ機械学習モデルを使用して第1の環境における前記第1の演算子のデプロイメントの成功を予測するところのデプロイメントコンポーネント
    を備えている、前記システム。
  2. 前記第1の演算子の能力と前記第1の名前空間に適合される構成の1組とを用いて前記機械学習モデルを訓練する訓練コンポーネントを更に備えている、請求項1に記載のシステム。
  3. 前記訓練コンポーネントが、前記第1の演算子がデプロイされるべき前記第1の名前空間に適合される構成の1組を入力として使用する、請求項2に記載のシステム。
  4. 前記訓練コンポーネントが、前記PaaSクラウドにおける他の名前空間への前記第1の演算子のデプロイメントに関連付けられた出力を使用する、請求項2に記載のシステム。
  5. 前記訓練された機械学習モデルが、構成された環境における演算子のデプロイメントの過去の履歴から学習して、第2の演算子のデプロイメントの成功を予測する、請求項1に記載のシステム。
  6. 前記訓練された機械学習モデルが、類似性学習を使用して、前記第1の環境における前記第1の演算子のデプロイメントの成功を予測する、請求項1に記載のシステム。
  7. 前記類似性学習が、前記第1の環境における前記第1の演算子のデプロイメントのうちのトラブルシューティングのデプロイメントに関する指示を提供する為に利用される、請求項6に記載のシステム。
  8. 前記類似性学習が、前記第1の環境に関連付けられたセキュリティ問題に関するフラグを生成する為に使用される、請求項6に記載のシステム。
  9. 複数の環境に関する情報が、前記第1の環境と第2の環境との間の類似性学習解析を行う為の操作機能情報を提供する為に利用される、請求項1に記載のシステム。
  10. プロセッサとメモリとを使用するコンピュータに実装された方法であって、
    サービスとしてのプラットフォーム(PaaS)クラウドの名前空間を有する環境において演算子のデプロイメントの成功の蓋然性を、機械学習モデルを使用して予測すること;及び、
    第1の演算子と第1の名前空間とをデプロイメントコンポーネントを使用して受け取り、そして、前記機械学習モデルを使用して第1の環境における前記第1の演算子のデプロイメントの成功を予測すること
    を含む、前記方法。
  11. 訓練コンポーネントが前記第1の演算子の機能と前記第1の名前空間に適合される構成の1組とを用いて前記機械学習モデルを訓練することを更に含む、請求項10に記載の方法。
  12. 前記第1の演算子がデプロイされるべき前記第1の名前空間に適合される構成を入力として使用することを更に含む、請求項11に記載の、コンピュータに実装された方法。
  13. 前記PaaSクラウドにおける他の名前空間への前記第1の演算子のデプロイメントに関連付けられた出力を使用することを更に含む、請求項11に記載の、コンピュータに実装された方法。
  14. 構成された環境における演算子デプロイメントの過去の履歴から学習して、第2の演算子のデプロイメントの成功を予測することを更に含む、請求項10に記載の、コンピュータに実装された方法。
  15. 類似性学習を使用して、前記第1の環境における前記第1の演算子のデプロイメントの成功を予測することを更に含む、請求項10に記載の、コンピュータに実装された方法。
  16. 前記類似性学習を利用して、前記第1の環境における前記第1の演算子のデプロイメントのうちのトラブルシューティングのデプロイメントに関する指示を提供することを更に含む、請求項15に記載の、コンピュータに実装された方法。
  17. 前記類似性学習を利用して、前記第1の環境に関連付けられたセキュリティ問題に関するフラグを生成することを更に含む、請求項16に記載の、コンピュータに実装された方法。
  18. 複数の環境に関する情報を利用して、前記第1の環境と第2の環境との間の類似性学習解析を行う為の操作機能情報を提供することを更に含む、請求項10に記載の方法。
  19. コンピュータ可読記憶媒体に埋め込まれたプログラム命令を有する該コンピュータ可読記憶媒体を備えているコンピュータプログラム製品であって、プロセッサによって実行可能な該プログラム命令が、
    サービスとしてのプラットフォーム(PaaS)クラウドの名前空間を有する環境において演算子のデプロイメントの成功の蓋然性を、機械学習モデルを使用して予測すること;及び、
    第1の演算子と第1の名前空間とをデプロイメントコンポーネントを使用して受け取り、そして、前記機械学習モデルを使用して第1の環境における前記第1の演算子のデプロイメントの成功を予測すること
    を前記プロセッサに行わせる、前記コンピュータプログラム製品。
  20. 前記プロセッサによって実行可能な該プログラム命令が、前記第1の演算子の能力と前記第1の名前空間に適合される構成の1組とを用いて前記機械学習モデルを訓練することを前記プロセッサに行わせる、請求項19に記載のコンピュータプログラム製品。
JP2023529108A 2020-11-17 2021-11-03 Paasクラウド環境における演算子の成功の蓋然性を予測する為の機械学習モデル Pending JP2023549277A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/950,228 US20220156631A1 (en) 2020-11-17 2020-11-17 Machine-learning model to predict probability of success of an operator in a paas cloud enviornment
US16/950,228 2020-11-17
PCT/CN2021/128431 WO2022105607A1 (en) 2020-11-17 2021-11-03 Machine-learning model to predict probability of success of operator in paas cloud environment

Publications (1)

Publication Number Publication Date
JP2023549277A true JP2023549277A (ja) 2023-11-22

Family

ID=81587691

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023529108A Pending JP2023549277A (ja) 2020-11-17 2021-11-03 Paasクラウド環境における演算子の成功の蓋然性を予測する為の機械学習モデル

Country Status (5)

Country Link
US (1) US20220156631A1 (ja)
JP (1) JP2023549277A (ja)
CN (1) CN116438553A (ja)
GB (1) GB2615980A (ja)
WO (1) WO2022105607A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11822622B2 (en) * 2020-05-08 2023-11-21 Docusign, Inc. Machine learned feature recommendation engine in a digital transaction management platform
US11886296B2 (en) * 2021-02-26 2024-01-30 Dell Products L.P. Inhibiting recommendation of driver installations for drivers that are likely to cause a system failure
US12015635B2 (en) * 2021-04-29 2024-06-18 Rapid7, Inc. Infrastructure as code pre-deployment compliance testing
US20230048581A1 (en) * 2021-08-12 2023-02-16 Nec Laboratories America, Inc. Data exchange and transformation in stream computing systems
US12021900B1 (en) 2021-12-06 2024-06-25 Rapid7, Inc. Using cached summaries for efficient access analysis for cloud provider entities

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10803392B1 (en) * 2017-03-10 2020-10-13 Amazon Technologies, Inc Deploying machine learning-based models
US11138168B2 (en) * 2017-03-31 2021-10-05 Bank Of America Corporation Data analysis and support engine
US10853116B2 (en) * 2018-07-19 2020-12-01 Vmware, Inc. Machine learning prediction of virtual computing instance transfer performance
US11816575B2 (en) * 2018-09-07 2023-11-14 International Business Machines Corporation Verifiable deep learning training service
US11050637B2 (en) * 2018-09-26 2021-06-29 International Business Machines Corporation Resource lifecycle optimization in disaggregated data centers
US11468379B2 (en) * 2018-10-19 2022-10-11 Oracle International Corporation Automated evaluation of project acceleration
US10833951B2 (en) * 2018-11-06 2020-11-10 Telefonaktiebolaget Lm Ericsson (Publ) System and method for providing intelligent diagnostic support for cloud-based infrastructure
US11036483B2 (en) * 2019-03-26 2021-06-15 Digital.Ai Software, Inc. Method for predicting the successfulness of the execution of a DevOps release pipeline
CN110427275B (zh) * 2019-07-11 2022-11-18 复旦大学 基于轨迹日志学习的微服务潜在错误与故障根源预测方法

Also Published As

Publication number Publication date
GB2615980A (en) 2023-08-23
GB202308643D0 (en) 2023-07-26
US20220156631A1 (en) 2022-05-19
WO2022105607A1 (en) 2022-05-27
CN116438553A (zh) 2023-07-14

Similar Documents

Publication Publication Date Title
CN112136143B (zh) 使用神经网络的时间序列数据依赖的动态发现
JP2023549277A (ja) Paasクラウド環境における演算子の成功の蓋然性を予測する為の機械学習モデル
US10547507B2 (en) Automated change monitoring and improvement recommendation system for incident reduction in information technology infrastructure
US11143532B2 (en) Adaptive calibration of sensors through cognitive learning
US11334671B2 (en) Adding adversarial robustness to trained machine learning models
CN114830091A (zh) 整块应用的微服务分解策略
US11601468B2 (en) Detection of an adversarial backdoor attack on a trained model at inference time
US20200177634A1 (en) Hybrid Network Infrastructure Management
US11915150B2 (en) Refinement of a predicted event based on explainability data
US11924239B2 (en) Vulnerability and attack technique association
US11507890B2 (en) Ensemble model policy generation for prediction systems
US11688111B2 (en) Visualization of a model selection process in an automated model selection system
US20220103433A1 (en) Infrastructure discovery and analysis
US11847546B2 (en) Automatic data preprocessing
US11270226B2 (en) Hybrid learning-based ticket classification and response
US20200272973A1 (en) Root Cause Identification and Analysis
US11928699B2 (en) Auto-discovery of reasoning knowledge graphs in supply chains
US11526770B2 (en) Latent computing property preference discovery and computing environment migration plan recommendation
US11275974B2 (en) Random feature transformation forests for automatic feature engineering
US11797869B2 (en) Artificial intelligence facilitation of report generation, population and information prompting
US20200410379A1 (en) Computational creativity based on a tunable creativity control function of a model
US11573770B2 (en) Container file creation based on classified non-functional requirements
US20220083876A1 (en) Shiftleft topology construction and information augmentation using machine learning
US20220335217A1 (en) Detecting contextual bias in text
US11783226B2 (en) Model transfer learning across evolving processes

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230524

RD16 Notification of change of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7436

Effective date: 20230512

Free format text: JAPANESE INTERMEDIATE CODE: A7436

Effective date: 20230711

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240411