# US 12,007,978 B2 · Validation and recommendation engine

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

- Number: US 12,007,978 B2
- Document ID: US12007978B2
- Status: Granted
- Kind: B2
- Application number: 17/702,636
- Filed: 2022-03-23
- Published: 2022-07-07
- Granted: 2024-06-11
- Earliest claimed: 2019-07-30
- Assignees: Autodesk, Inc.
- Applicants: Autodesk, Inc.
- Inventors: Daniel Mercier; Anthony Ruto
- Web page: https://patentgrep.com/patent/US12007978B2

## CPC

- G06F 8/10: Requirements analysis; Specification techniques
- G06F 16/2365: {Ensuring data consistency and integrity}
- G06F 11/3604: Analysis of software for verifying properties of programs (testing of software G06F11/3668)
- G06F 30/20: Design optimisation, verification or simulation (optimisation, verification or simulation of circuit designs G06F30/30)
- G06N 5/04: Inference or reasoning models
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS

## Abstract

One embodiment of the present invention sets forth a technique for validating a set of input data used by a software application, the method comprising: determining a first validation class for a first portion of the set of input data; determining a first validation operation to be performed on the first portion of the set of input data based on the first validation class; causing the first validation operation to be performed on the first portion of the set of input data; determining that the first validation operation is unsuccessful; and generating a validation report indicating that the set of input data includes an error.

## Claims

### Claim 1

A computer-implemented method for validating input data to a cloud-based software application, the method comprising:
receiving, at a first computing device, the input data from a second computing device that is coupled to a server machine that is executing the cloud-based software application;
determining a first validation class to validate based on the input data to the cloud-based software application, wherein the first validation class is included in an application model that corresponds to the cloud-based software application;
determining a first validation operation to perform based on the first validation class;
causing the first validation operation to be performed on at least a first portion of the input data;
determining whether the first validation operation is successful; and
generating a report based on whether the first validation operation is successful or unsuccessful.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, wherein the application model includes an application class and at least one validation class.

### Claim 3 (depends on 1)

The computer-implemented method of claim 1, where the first validation operation is unsuccessful, and the report indicates that the input data includes an error.

### Claim 4 (depends on 1)

The computer-implemented method of claim 1, wherein the first validation operation is successful, and the report indicates that the input data is valid.

### Claim 5 (depends on 4)

The computer-implemented method of claim 4, further comprising transmitting the report to a web browser.

### Claim 6 (depends on 1)

The computer-implemented method of claim 1, wherein the first validation class is determined based on the at least a first portion of the input data.

### Claim 7 (depends on 1)

The computer-implemented method of claim 1, wherein the input data is received from a web browser.

### Claim 8 (depends on 1)

The computer-implemented method of claim 1, further comprising:
determining a second validation class to validate based on the input data, wherein the second validation class also is included in the application model;
determining a second validation operation to perform based on the second validation class; and
causing the first validation operation to be performed on at least a second portion of the input data.

### Claim 9 (depends on 8)

The computer-implemented method of claim 8, wherein the second validation class is determined based on the at least a second portion of the input data.

### Claim 10 (depends on 1)

The computer-implemented method of claim 1, wherein causing the first validation operation to be performed on the at least a first portion of the input data comprises:
determining a first microservice to perform the first validation operation; and
causing the first microservice to perform the first validation operation on the at least a first portion of the input data.

### Claim 11

One or more non-transitory computer-readable media storing instructions that, when executed by one or more processors, cause the one or more processors to validate input data to a cloud-based software application by performing the steps of:
receiving, at a first computing device, the input data from a second computing device that is coupled to a server machine that is executing the cloud-based software application;
determining a first validation class to validate based on the input data to the cloud-based software application, wherein the first validation class is included in an application model that corresponds to the cloud-based software application;
determining a first validation operation to perform based on the first validation class;
causing the first validation operation to be performed on at least a first portion of the input data; and
generating a report based on whether the first validation operation is successful or unsuccessful.

### Claim 12 (depends on 11)

The one or more non-transitory computer-readable media of claim 11, wherein the application model includes an application class and at least one validation class.

### Claim 13 (depends on 11)

The one or more non-transitory computer-readable media of claim 11, where the first validation operation is unsuccessful, and the report indicates that the input data includes an error.

### Claim 14 (depends on 11)

The one or more non-transitory computer-readable media of claim 11, wherein the first validation operation is successful, and the report indicates that the input data is valid.

### Claim 15 (depends on 11)

The one or more non-transitory computer-readable media of claim 11, wherein the first validation class is determined based on the at least a first portion of the input data.

### Claim 16 (depends on 11)

The one or more non-transitory computer-readable media of claim 11, further comprising receiving the input data, determining that the application model corresponds to the input data, and selecting the application model.

### Claim 17 (depends on 11)

The one or more non-transitory computer-readable media of claim 11, further comprising receiving the input data, determining that the cloud-based software application is associated with the input data, and selecting the application model.

### Claim 18 (depends on 11)

The one or more non-transitory computer-readable media of claim 11, further comprising receiving the input data, determining that the application model corresponds to the input data, and selecting the application model.

### Claim 19 (depends on 11)

The one or more non-transitory computer-readable media of claim 11, further comprising receiving the input data, determining that the cloud-based software application is associated with the input data, and selecting the application model.

### Claim 20

A system, comprising:
one or more memories storing instructions; and
one or more processors that are coupled to the one or more memories and, when executing the instructions, are configured to validate input data to a cloud-based software application by performing the steps of:
receiving the input data from a computing device that is coupled to a server machine that is executing the cloud-based software application;
determining a first validation class to validate based on the input data to the cloud-based software application, wherein the first validation class is included in an application model that comprises at least one validation class;
determining a first validation operation to perform based on the first validation class;
causing the first validation operation to be performed on at least a first portion of the input data; and
generating a report based on whether the first validation operation is successful or unsuccessful.
