Computing architecture deployment configuration recommendation using machine learning

US10810502B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10810502-B2
Application numberUS-201715829717-A
CountryUS
Kind codeB2
Filing dateDec 1, 2017
Priority dateDec 1, 2017
Publication dateOct 20, 2020
Grant dateOct 20, 2020

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

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.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for implementation by at least one computing device comprising: receiving or recording data characterizing a software system executing in a computing environment; generating, using at least one machine learning model trained using historical testing data derived from testing of a plurality of training software systems according to pre-defined testing plans, a recommended computing architecture for the software system in light of one or more resource constraints of the computing environment; and providing data characterizing the recommended computing architecture for the software system; wherein: the training software systems are tested to identify performance faults with such training software systems by selectively altering resources available to one or more software programs forming part of the corresponding training software system or the computing environment according to a respective test plan and monitoring, concurrent with the altering of the resources, performance of the respective training software system to identify performance faults; changes to computing architectures for the training software systems are recorded in light of the identified performance faults; the at least one machine learning model is trained using both the identified performance faults and the recorded changes; 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. 2. 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. 3. The method of claim 1 , 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 computing environment. 4. The method of claim 1 , wherein the test plan specifies a sequence of test events which cause the resources for specific software programs to be altered. 5. The method of claim 4 , wherein each test event quantifies an amount of variance for the corresponding altered resource. 6. The method of claim 1 , 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. 7. 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. 8. 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 or recording data characterizing a software system executing in a computing environment; generating, using at least one machine learning model trained using historical testing data derived from testing of a plurality of training software systems according to pre-defined testing plans, a recommended computing architecture for the software system in light of one or more resource constraints of the computing environment; and providing data characterizing the recommended computing architecture for the software system; wherein: the training software systems are tested to identify performance faults with such training software systems by selectively altering resources available to one or more software programs forming part of the corresponding training software system or the computing environment according to a respective test plan and monitoring, concurrent with the altering of the resources, performance of the respective training software system to identify performance faults; changes to computing architectures for the training software systems are recorded in light of the identified performance faults; the at least one machine learning model is trained using both the identified performance faults and the recorded changes; 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. 9. The system of claim 8 , 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. 10. The system of claim 8 , 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 computing environment. 11. The system of claim 8 , wherein the test plan specifies a sequence of test events which cause the resources for specific software programs to be altered. 12. The system of claim 11 , wherein each test event quantifies an amount of variance for the corresponding altered resource. 13. The system of claim 8 , 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. 14. 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 or recording data characterizing a software system executing in a computing environment; generating, using at least one machine learning model trained using historical testing data derived from testing of a plurality of training software systems according to pre-defined testing plans, a recommended computing architecture for the software system in light of one or more resource constraints of the computing environment; and providing data characterizing the recommended computing architecture for the software system; wherein: the training software systems are tested to identify performance faults with such training software systems by selectively altering resources available to one or more software programs forming part of the corresponding training software system or the computing environment according to a respective test plan and monitoring, concurrent with the altering of the resources, performance of the respective training software system to identify performance faults; changes to computing architectures for the training software systems are recorded in light of the identified performance faults; the at least one machine learning model is trained using both the identified performance faults and the recorded changes; 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. 15. The non-transitory computer program product of claim 14 , 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. 16. The non-transitory computer program product 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

Assignees

Inventors

Classifications

  • Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound · CPC title

  • Probabilistic graphical models, e.g. probabilistic networks · CPC title

  • Supervised learning · CPC title

  • where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems (multiprogramming arrangements G06F9/46; allocation of resources G06F9/50) · CPC title

  • Workload generation, e.g. scripts, playback · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10810502B2 cover?
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 d…
Who is the assignee on this patent?
Sap Se
What technology area does this patent fall under?
Primary CPC classification G06N20/00. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Oct 20 2020 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).