# US 2020/0401591 A1 · Dissimilar query engine

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

- Number: US 2020/0401591 A1
- Document ID: US20200401591A1
- Status: Published application
- Kind: A1
- Application number: 16/905,513
- Filed: 2020-06-18
- Published: 2020-12-24
- Earliest claimed: 2019-06-19
- Assignees: Johnson Controls Technology Company
- Applicants: Johnson Controls Technology Company
- Inventors: Vinod Ashok Bhoite; Gourab Ghosh; Maiyank Pal; Hemlata Tiwari
- Web page: https://patentgrep.com/patent/US20200401591A1

## CPC

- G06F 16/2452: Query translation
- G06F 16/24522: {Translation of natural language queries to structured queries}
- G06F 9/44505: {Configuring for program initiating, e.g. using registry, configuration files}
- G06F 16/24553: {of query operations}
- G06F 16/24564: {Applying rules; Deductive queries}
- G06F 16/248: Presentation of query results
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A dissimilar query engine is configured to translate a query including a first query language to a second query language. One dissimilar query engine includes a configuration script handler configured to retrieve at least one pair of query language configuration scripts, a uniform query language compiler configured to translate the first query language to a uniform query language using the at least one pair of query language configuration scripts, and a uniform query language interpreter configured to translate the uniform query language to the second query language using the at least one pair of query language configuration scripts.

## Claims

### Claim 1

A dissimilar query engine configured to translate a query comprising a first query language to a second query language, the dissimilar query engine comprising one or more computer-readable storage media having instructions stored thereon that, upon execution by one or more processors, cause the one or more processors to implement:
a configuration script handler configured to retrieve at least one pair of query language configuration scripts;
a uniform query language compiler configured to translate the first query language to a uniform query language using the at least one pair of query language configuration scripts; and
a uniform query language interpreter configured to translate the uniform query language to the second query language using the at least one pair of query language configuration scripts.

### Claim 2 (depends on 1)

The dissimilar query engine of claim 1, wherein the configuration script handler is configured to receive an initialization request indicating at least one pair of query languages.

### Claim 3 (depends on 1)

The dissimilar query engine of claim 1, wherein the at least one pair of query language configuration scripts is associated with the first query language and the second query language.

### Claim 4 (depends on 3)

The dissimilar query engine of claim 3, wherein the configuration script handling is configured to retrieve the at least one pair of query language configuration scripts from a configuration scripts module comprising:
a configuration scripts store module configured to store a plurality of query language configuration scripts; and
a compiled configuration scripts module configured to store a plurality of pairs of query language configuration scripts.

### Claim 5 (depends on 1)

The dissimilar query engine of claim 1, wherein the configuration script handler is configured to transmit to a configuration scripts module a request to retrieve the pair of query language configuration scripts.

### Claim 6 (depends on 1)

The dissimilar query engine of claim 1, wherein the uniform query language compiler is configured to communicate with one or more tertiary modules.

### Claim 7 (depends on 6)

The dissimilar query engine of claim 6, wherein one of the one or more the tertiary modules comprises a business logic module.

### Claim 8

A method of translating a first query language to a second query language, comprising:
inputting a first query to a uniform query language compiler using the first query language;
transmitting a first fetch request from the uniform query language compiler to a configuration script handler;
translating the first query language to a uniform query language to generate a uniform query;
transmitting the uniform query to a uniform query language interpreter;
transmitting a second fetch request from the uniform query language interpreter to the configuration script handler; and
translating the uniform query to the second query language to generate a second query.

### Claim 9 (depends on 8)

The method of claim 8 further comprising transmitting the uniform query to an external module.

### Claim 10 (depends on 9)

The method of claim 9, wherein transmitting the uniform query to the external module further comprises processing the uniform query with a business logic module.

### Claim 11 (depends on 8)

The method of claim 8, wherein inputting the first query further comprises inputting the first query by a user.

### Claim 12 (depends on 8)

The method of claim 8, wherein transmitting the first fetch request further comprises transmitting a first compiled script from the configuration script handler to the uniform query language compiler.

### Claim 13 (depends on 8)

The method of claim 8, wherein transmitting the second fetch request further comprises transmitting a second compiled script from the configuration script handler to the uniform query language interpreter.

### Claim 14 (depends on 8)

The method of claim 8, wherein translating the uniform query to the second query language further comprises translating the second query to a server-side query.

### Claim 15 (depends on 8)

The method of claim 8, further comprising:
transmitting an initialization request comprising a pair of query languages;
transmitting a fetch request;
retrieving a pair of query language configuration scripts;
compiling the pair of query language configuration scripts;
creating a pair of translation instances associated with the pair of query languages; and
storing the pair of translation instances.

### Claim 16

A query system comprising:
one or more computer-readable storage media having instructions stored thereon; and
one or more processors configured to execute the instructions to:
retrieve at least one pair of query language configuration scripts;
translate the first query language to a uniform query language using the at least one pair of query language configuration scripts; and
translate the uniform query language to the second query language using the at least one pair of query language configuration scripts.

### Claim 17 (depends on 16)

The query system of claim 16, wherein the one or more processors are configured to receive an initialization request indicating at least one pair of query languages.

### Claim 18 (depends on 16)

The query system of claim 16, wherein the at least one pair of query language configuration scripts are associated with a pair of query languages.

### Claim 19 (depends on 16)

The query system of claim 16, wherein the one or more processors are configured to transmit a request to retrieve the at least one pair of query language configuration scripts.

### Claim 20 (depends on 16)

The query system of claim 16, wherein the instructions are configured to implement a business logic module.
