# US 12,118,334 B1 · Determination of schema compatibility between neighboring operators within a search query statement

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

- Number: US 12,118,334 B1
- Document ID: US12118334B1
- Status: Granted
- Kind: B1
- Application number: 18/063,534
- Filed: 2022-12-08
- Granted: 2024-10-15
- Earliest claimed: 2020-10-19
- Assignees: Splunk Inc.
- Applicants: SPLUNK Inc.
- Inventors: Chinmay Madhav Kulkarni; Lin Ma; Amir Malekpour; Mohan Rajagopalan; John C. Reed; Ram Sriharsha
- Web page: https://patentgrep.com/patent/US12118334B1

## CPC

- G06F 8/31: {Programming languages or programming paradigms}
- G06F 8/427: {Parsing}
- G06F 16/211: {Schema design and management}
- G06F 16/24534: {Query rewriting; Transformation}
- G06F 16/24537: {of operators}
- G06F 16/24568: {Data stream processing; Continuous queries}
- G06F 16/252: {between a Database Management System and a front-end application}
- G06F 16/953: Querying, e.g. by the use of web search engines
- G06N 20/00: Machine learning
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS

## Abstract

Disclosed herein is a method that supports queries deploying operators based on multiple programming languages at least through determining schema compatibility between neighboring operators within a query. Upon receipt of a query, a sequence of operators of the query is identified, where the sequence of operators includes at least two neighboring operators including a first operator and a second operator representing a machine learning model. By determining schema compatibility between at least the first and second operators, the method either alerts a user to schema incompatibility before attempting to execute the query or determine that the schemas are compatible such that the query may be executed without the occurrence of errors due to schema incompatibility between neighboring operators. Advantageously, the method enables the integration of a machine learning model into the query while still ensuring schema compatibility.

## Claims

### Claim 1

A computer-implemented method, comprising:
obtaining a query;
identifying a sequence of operators associated with the query, the sequence of operators includes at least two neighboring operators including a first operator and a second operator representing a machine learning model;
determining a schema associated with the first operator and a schema associated with the second operator, wherein determining the schema of the second operator includes retrieving metadata of the machine learning model which indicates an input and an output of the machine learning model;
determining compatibility between the schema of the first operator and the schema of the second operator; and
generating a query error message in response to incompatibility between the schema of the first operator and the schema of the second operator, wherein the generating of the query error message comprises returning the query error message to a web-based application.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, wherein the machine learning model is formatted in a standardized format for representing machine learning models through a defined common set of operators and a common file format.

### Claim 3 (depends on 2)

The computer-implemented method of claim 2, wherein the machine learning model is formatted as an Open Neural Network Exchange (ONNX) model.

### Claim 4 (depends on 3)

The computer-implemented method of claim 3, wherein the ONNX model has undergone a schema verification process that includes deserializing the ONNX model into an in-memory computation graph and comparing the in-memory computation graph to predetermined schema metadata.

### Claim 5 (depends on 1)

The computer-implemented method of claim 1, wherein the query is provided in accordance with a pipeline command language that includes the sequence of operators in which a set of data or results produced based on execution of the first operator is applied to the second operator.

### Claim 6 (depends on 1)

The computer-implemented method of claim 1, further comprising:
permitting processing of the query in response to schemas associated with each neighboring operator of the sequence of operators being compatible to each other, including an output schema of the first operator being compatible with an input schema of the second operator.

### Claim 7 (depends on 1)

The computer-implemented method of claim 1, wherein determining the compatibility between the schema of the first operator and the schema of the second operator comprises determining whether a data structure of an output generated by execution of the first operator by a processor provides machine data needed as input for execution of the second operator by the processor.

### Claim 8

A system comprising:
a processor; and
a non-transitory computer-readable medium having stored thereon a query validation component that, when executed by the processor, performs operations including:
obtaining a query;
identifying a sequence of operators associated with the query, the sequence of operators includes at least two neighboring operators including a first operator and a second operator representing a machine learning model;
determining a schema associated with the first operator and a schema associated with the second operator, wherein determining the schema of the second operator includes retrieving metadata of the machine learning model which indicates an input and an output of the machine learning model;
determining compatibility between the schema of the first operator and the schema of the second operator; and
generating a query error message in response to incompatibility between the schema of the first operator and the schema of the second operator, wherein the generating of the query error message comprises returning the query error message to a web-based application.

### Claim 9 (depends on 8)

The system of claim 8, wherein the machine learning model is formatted in a standardized format for representing machine learning models through a defined common set of operators and a common file format.

### Claim 10 (depends on 9)

The system of claim 9, wherein the machine learning model is formatted as an Open Neural Network Exchange (ONNX) model.

### Claim 11 (depends on 10)

The system of claim 10, wherein the ONNX model has undergone a schema verification process that includes deserializing the ONNX model into an in-memory computation graph and comparing the in-memory computation graph to predetermined schema metadata.

### Claim 12 (depends on 8)

The system of claim 8, wherein the query is provided in accordance with a pipeline command language that includes the sequence of operators in which a set of data or results produced based on execution of the first operator is applied to the second operator.

### Claim 13 (depends on 8)

The system of claim 8, wherein the operations further include:
permitting processing of the query in response to schemas associated with each neighboring operator of the sequence of operators being compatible to each other, including an output schema of the first operator being compatible with an input schema of the second operator.

### Claim 14 (depends on 8)

The system of claim 8, wherein determining the compatibility between the schema of the first operator and the schema of the second operator comprises determining whether a data structure of an output generated by execution of the first operator by a processor provides machine data needed as input for execution of the second operator by the processor.

### Claim 15

A non-transitory computer-readable medium having stored thereon instructions that, when executed by one or more processors, cause performance of operations comprising:
obtaining a query;
identifying a sequence of operators associated with the query, the sequence of operators includes at least two neighboring operators including a first operator and a second operator representing a machine learning model;
determining a schema associated with the first operator and a schema associated with the second operator, wherein determining the schema of the second operator includes retrieving metadata of the machine learning model which indicates an input and an output of the machine learning model;
determining compatibility between the schema of the first operator and the schema of the second operator; and
generating a query error message in response to incompatibility between the schema of the first operator and the schema of the second operator, wherein the generating of the query error message comprises returning the query error message to a web-based application.

### Claim 16 (depends on 15)

The non-transitory computer-readable medium of claim 15, wherein the machine learning model is formatted in a standardized format for representing machine learning models through a defined common set of operators and a common file format.

### Claim 17 (depends on 16)

The non-transitory computer-readable medium of claim 16, wherein the machine learning model is formatted as an Open Neural Network Exchange (ONNX) model, and wherein the ONNX model has undergone a schema verification process that includes deserializing the ONNX model into an in-memory computation graph and comparing the in-memory computation graph to predetermined schema metadata.

### Claim 18 (depends on 15)

The non-transitory computer-readable medium of claim 15, wherein the query is provided in accordance with a pipeline command language that includes the sequence of operators in which a set of data or results produced based on execution of the first operator is applied to the second operator.

### Claim 19 (depends on 15)

The non-transitory computer-readable medium of claim 15, wherein the operations further comprising:
permitting processing of the query in response to schemas associated with each neighboring operator of the sequence of operators being compatible to each other, including an output schema of the first operator being compatible with an input schema of the second operator.

### Claim 20 (depends on 15)

The non-transitory computer-readable medium of claim 15, wherein determining the compatibility between the schema of the first operator and the schema of the second operator comprises determining whether a data structure of an output generated by execution of the first operator by a processor provides machine data needed as input for execution of the second operator by the processor.
