# US 2019/0171948 A1 · Computing Architecture Deployment Configuration Recommendation Using Machine Learning

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2019/0171948 A1
- Document ID: US20190171948A1
- Status: Published application
- Kind: A1
- Application number: 15/829,717
- Filed: 2017-12-01
- Published: 2019-06-06
- Earliest claimed: 2017-12-01
- Assignees: Sap SE
- Applicants: Sap SE
- Inventors: Renjith Pillai; Sujith Henamagalur Dinakar; Arul Jegadish Francis; Anish Nair; John Mitchell
- Web page: https://patentgrep.com/patent/US20190171948A1

## CPC

- G06N 5/04: Inference or reasoning models
- G06F 11/3006: {where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems (multiprogramming arrangements G06F9/46; allocation of resources G06F9/50)}
- G06N 3/09: Supervised learning
- G06N 20/00: Machine learning
- G06F 11/3414: {Workload generation, e.g. scripts, playback}
- G06F 2201/865: Monitoring of software
- G06N 3/08: Learning methods
- G06N 3/126: Evolutionary algorithms, e.g. genetic algorithms or genetic programming
- G06N 5/01: Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
- G06N 7/01: Probabilistic graphical models, e.g. probabilistic networks
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Data is received that characterizes a software system. Thereafter, using at least one machine learning model trained using historical testing data from a plurality of training software systems, a recommended computing architecture is generated for the software system. Data can then be provided that characterizes the software system. Related apparatus, systems, techniques and articles are also described.

## Claims

### Claim 1

A computer-implemented method comprising:
receiving or recording data characterizing a software system;
generating, using at least one machine learning model trained using historical testing data from a plurality of training software systems, a recommended computing architecture for the software system and/or the operating environment; and
providing data characterizing the software system.

### Claim 2 (depends on 1)

The method of claim 1, wherein the providing of data comprising at least one of: causing the data to be displayed in an electronic visual display, transmitting the data to a remote computing device, loading the data into memory, or storing the data in electronic physical persistence.

### Claim 3 (depends on 1)

The method of claim 1 further comprising:
testing the training software systems to identify performance faults with such training software systems; and
recording changes to computing architectures for the training software systems in light of the identified performance faults;
wherein the at least one machine learning model is trained using both the identified performance faults and the recorded changes.

### Claim 4 (depends on 3)

The method of claim 3, wherein the testing comprises:
selectively altering resources available to one or more software programs forming part of the corresponding training software system and/or the operating environment according to a respective test plan;
monitoring, concurrent with the altering of the resources, performance of the respective training software system to identify performance faults; and
providing data characterizing the performance faults.

### Claim 5 (depends on 4)

The method of claim 4, wherein the selectively altered resources comprise at least one of: memory, I/O bandwidth, network, processor resources, or hardware capabilities or other configurations or aspects of the operating environment.

### Claim 6 (depends on 4)

The method of claim 4, wherein the test plan specifies a sequence of test events which cause the resources for specific software programs to be altered.

### Claim 7 (depends on 6)

The method of claim 6, wherein each test event quantifies an amount of variance for the corresponding altered resource.

### Claim 8 (depends on 4)

The method of claim 4, wherein the test plan specifies a decision tree of test events in which each test event is triggered based on an occurrence of a pre-defined condition.

### Claim 9 (depends on 1)

The method of claim 1, wherein the at least one machine learning model comprises at least one of: a neural network model, a logistic regression model, a support vector machine, a random forest, a nearest neighbor model, a Bayesian model, or a genetic algorithm.

### Claim 10 (depends on 1)

The method of claim 1, wherein the software system comprises a plurality of software programs executing within a plurality of containers across multiple computing nodes.

### Claim 11

A system comprising:
at least one data processor; and
memory storing instructions which, when executed by the at least one data processor, perform operations comprising:
receiving and/or recording data characterizing a software system;
generating, using at least one machine learning model trained using historical testing data from a plurality of training software systems, a recommended computing architecture for the software system; and
providing data characterizing the software system.

### Claim 12 (depends on 11)

The system of claim 11, wherein the providing of data comprising at least one of: causing the data to be displayed in an electronic visual display, transmitting the data to a remote computing device, loading the data into memory, or storing the data in electronic physical persistence.

### Claim 13 (depends on 11)

The system of claim 11, wherein the operations further comprise:
testing the training software systems to identify performance faults with such training software systems; and
recording changes to computing architectures for the training software systems in light of the identified performance faults;
wherein the at least one machine learning model is trained using both the identified performance faults and the recorded changes.

### Claim 14 (depends on 13)

The system of claim 13, wherein the testing comprises:
selectively altering resources available to one or more software programs forming part of the corresponding training software system and/or configurations or characteristics of an operating environment according to a respective test plan;
monitoring, concurrent with the altering of the resources, performance of the respective training software system to identify performance faults; and
providing data characterizing the performance faults.

### Claim 15 (depends on 14)

The system of claim 14, wherein the selectively altered resources comprise at least one of: memory, I/O bandwidth, network, processor resources, or hardware capabilities or other configurations or aspects of the operating environment.

### Claim 16 (depends on 14)

The system of claim 14, wherein the test plan specifies a sequence of test events which cause the resources for specific software programs to be altered.

### Claim 17 (depends on 16)

The system of claim 16, wherein each test event quantifies an amount of variance for the corresponding altered resource.

### Claim 18 (depends on 14)

The system of claim 14, wherein the test plan specifies a decision tree of test events in which each test event is triggered based on an occurrence of a pre-defined condition.

### Claim 19 (depends on 11)

The system of claim 11, wherein the at least one machine learning model comprises at least one of: a neural network model, a logistic regression model, a support vector machine, a random forest, a nearest neighbor model, a Bayesian model, or a genetic algorithm.

### Claim 20

A non-transitory computer program product storing instructions which, when executed by at least one data processor forming part of at least one computing device, perform operations comprising:
receiving and/or recording data characterizing a software system;
generating, using at least one machine learning model trained using historical testing data from a plurality of training software systems, a recommended computing architecture for the software system; and
providing data characterizing the software system.
