# US 12,288,106 B2 · Modeling cloud inefficiencies using domain-specific templates

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

- Number: US 12,288,106 B2
- Document ID: US12288106B2
- Status: Granted
- Kind: B2
- Application number: 17/843,918
- Filed: 2022-06-17
- Published: 2023-05-11
- Granted: 2025-04-29
- Earliest claimed: 2019-12-20
- Assignees: Cresance Inc.
- Applicants: Cresance Inc.
- Inventors: Zuhier S. Qureshi; Haamid Ali
- Web page: https://patentgrep.com/patent/US12288106B2

## CPC

- G06F 9/5094: {where the allocation takes into account power or heat criteria (power management in computers in general G06F1/3203; thermal management in computers in general G06F1/206)}
- H04L 67/10: in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46)
- G06F 9/5072: {Grid computing}
- G06N 3/045: Combinations of networks
- G06N 3/0464: Convolutional networks [CNN, ConvNet]
- G06N 3/08: Learning methods
- G06N 3/09: Supervised learning
- G06N 3/092: Reinforcement learning
- G06N 20/20: Ensemble learning
- H04L 67/51: Discovery or management thereof, e.g. service location protocol [SLP] or web services
- G06F 2209/5019: Workload prediction
- G06N 5/043: Distributed expert systems; Blackboards
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS

## Abstract

Systems and methods are provided for modeling cloud inefficiencies. The method includes connecting to services executing on cloud computing systems via APIs. The method also includes determining types of services for the services based on usage and performance data obtained from the APIs. The method also includes determining states of computing resources corresponding to the services based on the types of services and performance parameters obtained from the APIs. The method also includes cataloging cloud inefficiencies of the services using cloud wastage templates based on the states of the computing resources. The cloud wastage templates follow conventions of a domain specific language (DSL) that describe the one or more cloud computing systems. The templates can be written by a human, and/or can be generated, read, and/or manipulated by machines (e.g., neural networks). The templates use identifiers that help when it is difficult to understand or troubleshoot neural network generated output.

## Claims

### Claim 1

A method of modeling cloud inefficiencies, the method performed at a server connected to one or more cloud computing systems, the method comprising:
connecting to one or more services, distinct from the server, executing on one or more cloud computing systems via one or more application programming interfaces (APIs);
determining types of services for the one or more services based on usage and performance data obtained from the one or more APIs;
determining states of one or more computing resources corresponding to the one or more services based on the types of services and performance parameters obtained from the one or more APIs; and
cataloging cloud inefficiencies of the one or more services using one or more cloud wastage templates based on the states of one or more computing resources, wherein the one or more cloud wastage templates follow conventions of a domain specific language (DSL) that describe the one or more cloud computing systems.

### Claim 2 (depends on 1)

The method of claim 1, wherein the DSL includes a persistence mapping, the method further comprising storing the cloud wastage templates to a repository, according to the persistence mapping, and retrieving the cloud wastage templates from the repository, prior to cataloging the cloud inefficiencies.

### Claim 3 (depends on 1)

The method of claim 1, wherein the one or more cloud wastage templates are generated by a neural network trained to identify cloud inefficiencies of the one or more services.

### Claim 4 (depends on 1)

The method of claim 1, wherein the DSL includes grammar rules for describing services and metrics of the one or more cloud computing systems.

### Claim 5 (depends on 1)

The method of claim 1, wherein the one or more cloud wastage templates include one or more predetermined wastage patterns of the one or more cloud computing systems.

### Claim 6 (depends on 5)

The method of claim 5, wherein the one or more cloud computing systems facilitate Infrastructure-as-a-Service (IaaS), and the one or more predetermined wastage patterns include at least one of: a comatose state of one or more servers of the one or more cloud computing systems, a hermit state of one or more servers of the one or more cloud computing systems, and a misfit state of one or more servers of the one or more cloud computing systems.

### Claim 7 (depends on 1)

The method of claim 1, wherein the one or more cloud computing systems facilitate Platform-as-a-Service (PaaS), the method further comprising identifying one or more workloads that improve efficiency of the one or more services.

### Claim 8 (depends on 1)

The method of claim 1, wherein the one or more cloud computing systems facilitate Software-as-a-Service (SaaS), the method further comprising identifying one or more software licenses that are unused for a predetermined period of time.

### Claim 9 (depends on 1)

The method of claim 1, wherein the states includes at least one of: one or more software stacks, and one or more workloads.

### Claim 10 (depends on 1)

The method of claim 1, wherein determining the states comprises determining a confidence level that the one or more services include one more software services or one or more workloads during one or more predetermined periods of time.

### Claim 11 (depends on 1)

The method of claim 1, further comprising:
obtaining telemetric log data for the one or more services;
determining one or more disaggregation data for the one or more services based on the telemetric log data by applying one or more disaggregation algorithms;
forming feature vectors based on the telemetric log data; and
identifying the one or more cloud wastage templates by inputting the feature vectors to trained one or more classifiers, wherein each classifier is a machine-learning model trained to identify cloud wastages for predetermined states of the one or more cloud computing systems.

### Claim 12 (depends on 11)

The method of claim 11, wherein the one or more disaggregation algorithms include an energy disaggregation algorithm that parses energy usage of the one or more cloud computing systems by analyzing the telemetric log data.

### Claim 13 (depends on 11)

The method of claim 11, wherein the one or more disaggregation data includes either temporal data or types of services, for the one or more services.

### Claim 14 (depends on 11)

The method of claim 11, wherein the one or more classifiers include one or more convolutional neural networks (CNNs) trained to classify software stacks based on software fingerprints in the telemetric log data.

### Claim 15 (depends on 11)

The method of claim 11, wherein each classifier of the one or more classifiers is trained to identify a respective software.

### Claim 16 (depends on 11)

The method of claim 11, wherein the telemetric log data includes network usage data, disk usage data, and CPU resource usage data.

### Claim 17 (depends on 1)

The method of claim 1, further comprising generating one or more reports including one or more time charts that show execution of software stacks or workloads for a predetermined period of time, the software stacks or workloads corresponding to the states.

### Claim 18 (depends on 1)

The method of claim 1, further comprising:
determining an initial configuration of the one or more computing resources of the one or more cloud computing systems based on the catalog of cloud inefficiencies;
generating a first one or more configurations of the one or more computing resources by simulating changes to the one or more computing resources that improve efficiency of the one or more cloud computing systems based on the initial configuration; and
generating and displaying, on a display, a first visualization of the first one or more configurations of the one or more cloud computing systems, the first visualization comprising information related to changes to the one or more computing resources.

### Claim 19

A system, comprising:
one or more processors;
memory;
wherein the memory stores one or more programs configured for execution by the one or more processors, and the one or more programs comprising instructions for:
connecting to one or more services executing on one or more cloud computing systems via one or more APIs;
determining types of services for the one or more services based on usage and performance data obtained from the one or more APIs;
determining states of one or more computing resources corresponding to the one or more services based on the types of services and performance parameters obtained from the one or more APIs; and
cataloging cloud inefficiencies of the one or more services using one or more cloud wastage templates based on the states of one or more computing resources, wherein the one or more cloud wastage templates follow conventions of a domain specific language (DSL) that describe the one or more cloud computing systems.

### Claim 20

A non-transitory computer readable storage medium storing one or more programs configured for execution by a computer system having one or more processors, the one or more programs comprising instructions for:
connecting to one or more services executing on one or more cloud computing systems via one or more APIs;
determining types of services for the one or more services based on usage and performance data obtained from the one or more APIs;
determining states of one or more computing resources corresponding to the one or more services based on the types of services and performance parameters obtained from the one or more APIs; and
cataloging cloud inefficiencies of the one or more services using one or more cloud wastage templates based on the states of one or more computing resources, wherein the one or more cloud wastage templates follow conventions of a domain specific language (DSL) that describe the one or more cloud computing systems.
