IP Library Patent Application 17543343
Patent Application
App. No. 17/543,343

AUTOMATED METHODS AND SYSTEMS FOR PREDICTING BEHAVIOR OF A DISTRIBUTED APPLICATION IN RESPONSE TO A PROPOSED CHANGE TO THE DISTRIBUTED APPLICATION

Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US None
App. No.
17/543,343
Abstract

This disclosure is directed to automated computer-implemented methods that predict behavior of a distributed application in response to a proposal to add a candidate application component to a distributed computing environment in which the distributed application is executed. The automated computer-implemented methods perform machine learning to predict whether the candidate application component will decrease performance of the distributed application. The candidate application component is automatically added to the distributed computing environment if the predicted performance of the distributed application is acceptable.

Claims (90)

1 . An automated computer-implemented process for predicting behavior of a distributed application in response to a proposal to add a candidate application component to a distributed computing environment in which the distributed application is executed, the process comprising:

constructing a graph model of the distributed computing environment;

partitioning the graph model into subgraphs based on a rule for partitioning the distributed computing environment into subsystems, wherein each subgraph is a model of a subsystem of objects of the distributed computing environment;

training neural networks for each subgraph based on the proposal to add the candidate application component the corresponding subsystem;

using the trained neural networks associated with each subgraph to predict the behavior of each subsystem to a proposal to add the candidate application to the subsystem; and

based on the predicted behavior of each subsystem, adding the candidate application to a subsystem or rejecting the proposal to add the candidate application.

2 . The process of claim 1 wherein partitioning the graph into subgraphs based on the rule comprises performing one of

partitioning the graph into subgraphs such that each subgraph corresponds to a cluster of the distributed computing environment;

partitioning the graph into subgraphs such that each subgraph corresponds to objects of the distributed computing environment that receive electrical power from the same power source; and

partitioning the graph into subgraphs such that each subgraph comprises correlated objects of the distributed computing environment.

3 . The process of claim 1 wherein training neural networks for each subgraph comprises:

for each subgraph,

for each application component of the subgraph, forming a fragment by aggregating components and metrics of one or more virtual machines used to execute the application component,

forming a candidate fragment by aggregating components and metrics of one or more VMs used to execute the candidate application component,

forming a candidate flattened subgraph from the fragments and the candidate fragment,

training a first neural network to generate a key performance indicators (“KPIs”) for each fragment of the candidate flattened subgraph, and

training a second neural network to generate a KPI of the candidate fragment.

4 . The process of claim 1 wherein using the trained neural networks associated with each subgraph to predict the behavior of each subsystem comprises:

for each subgraph,

using a first of the trained neural networks to generate a predicted KPI for each fragment of the subgraph,

using a second of the trained neural networks to generate a predicted KPI for the candidate application, and

computing an average predicted KPI of the subgraph based on the predicted KPIs of fragments of the subgraph and a predicted KPI.

5 . The process of claim 1 where adding the candidate application component to the subsystem comprises:

computing an average predicted KPI for each subsystem based on the predicted behavior of each subsystem;

for each subsystem comparing the average predicted KPI to an acceptable threshold to identify one or more of the average predicted KPIs as acceptable or unacceptable; and

adding the candidate application component to the subsystem with a corresponding with an average predicted KPI that is more acceptable than the average predicted KPIs of the other subsystems.

6 . The process of claim 1 wherein rejecting the proposal to add the candidate application comprises:

rejecting the candidate application component for addition to the distributed computing environment when the predicted behavior of the subsystems are unacceptable; and

displaying an alert in a graphical user interface, the alert indicating that the candidate application is unacceptable for addition to the distributed computing environment.

7 . A computer system for predicting behavior of a distributed application in response to a proposed change to a distributed computing environment in which the distributed application is executed, the system comprising:

one or more processors;

one or more data-storage devices; and

machine-readable instructions stored in the one or more data-storage devices that when executed using the one or more processors controls the system to perform operations comprising:

constructing a graph model of the distributed computing environment;

partitioning the graph model into subgraphs based on a rule for partitioning the distributed computing environment into subsystems, wherein each subgraph is a model of a subsystem of objects of the distributed computing environment;

training neural networks for each subgraph based on the proposal to add the candidate application component to the distributed computing environment;

using the trained neural networks associated with each subgraph to predict the behavior of each subsystem to a proposal to add the candidate application to the subsystem; and

based on the predicted behavior of each subsystem, adding the candidate application to a subsystem or rejecting the proposal to add the candidate application.

8 . The computer system of claim 7 wherein partitioning the graph into subgraphs based on the rule comprises performing one of

partitioning the graph into subgraphs such that each subgraph corresponds to a cluster of the distributed computing environment;

partitioning the graph into subgraphs such that each subgraph corresponds to objects of the distributed computing environment that receive electrical power from the same power source; and

partitioning the graph into subgraphs such that each subgraph comprises correlated objects of the distributed computing environment.

9 . The computer system of claim 7 wherein training neural networks for each subgraph comprises:

for each subgraph,

for each application component of the subgraph, forming a fragment by aggregating components and metrics of one or more virtual machines used to execute the application component,

forming a candidate fragment by aggregating components and metrics of one or more VMs used to execute the candidate application component,

forming a candidate flattened subgraph from the fragments and the candidate fragment,

training a first neural network to generate a key performance indicators (“KPIs”) for each fragment of the candidate flattened subgraph, and

training a second neural network to generate a KPI of the candidate fragment.

10 . The computer system of claim 7 wherein using the trained neural networks associated with each subgraph to predict the behavior of each subsystem comprises:

for each subgraph,

using a first of the trained neural networks to generate a predicted KPI for each fragment of the subgraph,

using a second of the trained neural networks to generate a predicted KPI for the candidate application, and

computing an average predicted KPI of the subgraph based on the predicted KPIs of fragments of the subgraph and a predicted KPI.

11 . The computer system of claim 7 wherein adding the candidate application component to the subsystem comprises:

computing an average predicted KPI for each subsystem based on the predicted behavior of each subsystem;

for each subsystem comparing the average predicted KPI to an acceptable threshold to identify one or more of the average predicted KPIs as acceptable or unacceptable; and

adding the candidate application component to the subsystem with a corresponding with an average predicted KPI that is more acceptable than the average predicted KPIs of the other subsystems.

12 . The computer system of claim 7 wherein rejecting the proposal to add the candidate application comprises:

rejecting the candidate application component for addition to the distributed computing environment when the predicted behavior of the subsystems are unacceptable; and

displaying an alert in a graphical user interface, the alert indicating that the candidate application is unacceptable for addition to the distributed computing environment.

13 . A non-transitory computer-readable medium encoded with machine-readable instructions that implement a method carried out by one or more processors of a computer system to perform operations comprising:

constructing a graph model of the distributed computing environment;

partitioning the graph model into subgraphs based on a rule for partitioning the distributed computing environment into subsystems, wherein each subgraph is a model of a subsystem of objects of the distributed computing environment;

training neural networks for each subgraph based on the proposal to add the candidate application component to the distributed computing environment;

using the trained neural networks associated with each subgraph to predict the behavior of each subsystem to a proposal to add the candidate application to the subsystem; and

based on the predicted behavior of each subsystem, adding the candidate application to a subsystem or rejecting the proposal to add the candidate application.

14 . The medium of claim 13 wherein partitioning the graph into subgraphs based on the rule comprises performing one of

partitioning the graph into subgraphs such that each subgraph corresponds to a cluster of the distributed computing environment;

partitioning the graph into subgraphs such that each subgraph corresponds to objects of the distributed computing environment that receive electrical power from the same power source; and

partitioning the graph into subgraphs such that each subgraph comprises correlated objects of the distributed computing environment.

15 . The medium of claim 13 wherein training neural networks for each subgraph comprises:

for each subgraph,

for each application component of the subgraph, forming a fragment by aggregating components and metrics of one or more virtual machines used to execute the application component,

forming a candidate fragment by aggregating components and metrics of one or more VMs used to execute the candidate application component,

forming a candidate flattened subgraph from the fragments and the candidate fragment,

training a first neural network to generate a key performance indicators (“KPIs”) for each fragment of the candidate flattened subgraph, and

training a second neural network to generate a KPI of the candidate fragment.

16 . The medium of claim 13 wherein using the trained neural networks associated with each subgraph to predict the behavior of each subsystem comprises:

for each subgraph,

using a first of the trained neural networks to generate a predicted KPI for each fragment of the subgraph,

using a second of the trained neural networks to generate a predicted KPI for the candidate application, and

computing an average predicted KPI of the subgraph based on the predicted KPIs of fragments of the subgraph and a predicted KPI.

17 . The medium of claim 13 wherein adding the candidate application component to the subsystem comprises:

computing an average predicted KPI for each subsystem based on the predicted behavior of each subsystem;

for each subsystem comparing the average predicted KPI to an acceptable threshold to identify one or more of the average predicted KPIs as acceptable or unacceptable; and

adding the candidate application component to the subsystem with a corresponding with an average predicted KPI that is more acceptable than the average predicted KPIs of the other subsystems.

18 . The medium of claim 13 wherein rejecting the proposal to add the candidate application comprises:

rejecting the candidate application component for addition to the distributed computing environment when the predicted behavior of the subsystems are unacceptable; and

displaying an alert in a graphical user interface, the alert indicating that the candidate application is unacceptable for addition to the distributed computing environment.

Assignments (2)
CHANGE OF NAME Recorded Feb 27, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 066692/0103 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 30, 2021
From: KUSHMERICK, NICHOLAS; PANTECHEV, ILIA
To: VMWARE, INC.
Reel/Frame 058509/0384 →