IP Library › Granted Patent US 12,147,422
Granted Patent B2
US 12,147,422 · App. 17/557,208 · Granted Nov 19, 2024

System and method for transpilation of machine interpretable languages

Inventors: Maharaj Mukherjee (Poughkeepsie, NY); Carl M. Benda (Charlotte, NC); Elvis Nyamwange (Little Elm, TX); Suman Roy Choudhury (Jersey City, NJ); Utkarsh Raj (Charlotte, NC)
Assignee: Bank of America Corporation
G06F16/2452G06F16/214G06F16/2425G06F16/2433G06F16/2448G06F16/24534G06F16/248G06F16/258G06F40/205
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,147,422
App. No.
17/557,208
Granted
Nov 19, 2024
Kind
B2
Abstract

Aspects of the disclosure relate to transliteration of machine interpretable languages. A computing platform may train a machine learning model using source syntax trees and target dialect syntax trees, which may configure the model to output source dialect keys and their corresponding target dialect queries. The computing platform may execute the corresponding target dialect queries to identify whether they are valid. For a valid target dialect query, the computing platform may store the valid target dialect query and first source dialect keys corresponding to the valid target dialect query in a lookup table. For an invalid target dialect query resulting in error, the computing platform may: 1) identify a cause of the error; 2) generate a transliteration rule to correct the error; and 3) store, in the lookup table, the invalid target dialect query, second source dialect keys corresponding to the invalid target dialect query, and the transliteration rule.

Claims (78)

1. A computing platform comprising:

at least one processor;

a communication interface communicatively coupled to the at least one processor; and

memory storing computer-readable instructions that, when executed by the at least one processor, cause the computing platform to:

train a machine learning model using one or more source syntax trees, one or more target dialect syntax trees, and relationships between the one or more source syntax trees and the one or more target dialect syntax trees, wherein training the machine learning model comprises configuring the machine learning model to output source dialect keys and their corresponding target dialect queries;

execute the corresponding target dialect queries to identify whether the corresponding target dialect queries result in valid execution or result in error;

for a first target dialect query resulting in valid execution, store the first target dialect query and first source dialect keys corresponding to the first target dialect query in a query library lookup table;

for a second target dialect query resulting in error:

identify a cause of the error;

automatically generate, based on the identified cause of the error, a transliteration rule to correct the error; and

store, in the query library lookup table, the second target dialect query, second source dialect keys corresponding to the second target dialect query, and the transliteration rule;

receive, from a client application, a first source query formatted in the source dialect;

translate, using the transliteration rule, the first source query to the target dialect to produce a translated query;

execute the translated query on a target database to produce a query result; and

send, to the client application, the query result.

2. The computing platform of claim 1 , wherein the memory stores additional computer-readable instructions that, when executed by the at least one processor, cause the computing platform to:

refine the machine learning model based on the identified cause of error.

3. The computing platform of claim 1 , wherein the memory stores additional computer-readable instructions that, when executed by the at least one processor, cause the computing platform to:

receive a request to perform a data migration from a first database configured in the source dialect to a second database configured in the target dialect, wherein training the machine learning model comprises training, during the data migration, the data migration.

4. The computing platform of claim 1 , wherein generating the transliteration rule comprises generating, based on user input, the transliteration rule.

5. The computing platform of claim 1 , wherein the computing platform includes a source database, formatted in the source dialect, and the target database, formatted in the target dialect, and wherein executing the corresponding target dialect queries comprises executing the corresponding target dialect queries on the target database.

6. The computing platform of claim 1 , wherein translating the first source query to the target dialect comprises:

parsing the first source query to create a query key, wherein creating the query key comprises:

extracting non-essential portions of the first source query from the first source query; and

replacing the non-essential portions of the first source query with pointers;

storing the non-essential portions of the first source query as query parameters, wherein the query parameters are stored along with their corresponding pointers;

executing a lookup function on the query library lookup table to identify a pre-verified target query corresponding to the first source query, wherein the identified pre-verified target query comprises the second target dialect query and includes the corresponding pointers; and

updating the identified pre-verified target query to include the query parameters.

7. The computing platform of claim 6 , wherein identifying the pre-verified target query comprises:

identifying that the query key matches the second source dialect keys; and

identifying that the second source dialect keys correspond to the second target dialect query.

8. The computing platform of claim 6 , wherein updating the identified pre-verified target query to include the query parameters further comprises:

adjusting the second target dialect query based on the transliteration rule to produce the translated query.

9. The computing platform of claim 1 , wherein the transliteration rule includes the identified error and indicates a correction to the translated query that remedies the identified error and causes the translated query to produce a valid query result.

10. The computing platform of claim 9 , wherein the identified error comprises a missing space, and wherein the transliteration rule indicates that a space should be input into the translated query once the first source query has been translated.

11. A method comprising:

at a computing platform comprising at least one processor, a communication interface, and memory:

training a machine learning model using one or more source syntax trees, one or more target dialect syntax trees, and relationships between the one or more source syntax trees and the one or more target dialect syntax trees, wherein training the machine learning model comprises configuring the machine learning model to output source dialect keys and their corresponding target dialect queries;

executing the corresponding target dialect queries to identify whether the corresponding target dialect queries result in valid execution or result in error;

for a first target dialect query resulting in valid execution, storing the first target dialect query and first source dialect keys corresponding to the first target dialect query in a query library lookup table;

for a second target dialect query resulting in error:

identifying a cause of the error;

automatically generating, based on the identified cause of the error, a transliteration rule to correct the error; and

storing, in the query library lookup table, the second target dialect query, second source dialect keys corresponding to the second target dialect query, and the transliteration rule;

receiving, from a client application, a first source query formatted in the source dialect;

translating, using the transliteration rule, the first source query to the target dialect to produce a translated query;

executing the translated query on a target database to produce a query result; and

sending, to the client application, the query result.

12. The method of claim 11 , further comprising:

refining the machine learning model based on the identified cause of error.

13. The method of claim 11 , further comprising:

receiving a request to perform a data migration from a first database configured in the source dialect to a second database configured in the target dialect, wherein training the machine learning model comprises training, during the data migration, the data migration.

14. The method of claim 11 , wherein generating the transliteration rule comprises generating, based on user input, the transliteration rule.

15. The method of claim 11 , wherein the computing platform includes a source database, formatted in the source dialect, and the target database, formatted in the target dialect, and wherein executing the corresponding target dialect queries comprises executing the corresponding target dialect queries on the target database.

16. The method of claim 11 , wherein translating the first source query to the target dialect comprises:

parsing the first source query to create a query key, wherein creating the query key comprises:

extracting non-essential portions of the first source query from the first source query; and

replacing the non-essential portions of the first source query with pointers;

storing the non-essential portions of the first source query as query parameters, wherein the query parameters are stored along with their corresponding pointers;

executing a lookup function on the query library lookup table to identify a pre-verified target query corresponding to the first source query, wherein the identified pre-verified target query comprises the second target dialect query and includes the corresponding pointers; and

updating the identified pre-verified target query to include the query parameters.

17. The method of claim 16 , wherein identifying the pre-verified target query comprises:

identifying that the query key matches the second source dialect keys; and

identifying that the second source dialect keys correspond to the second target dialect query.

18. The method of claim 11 , wherein the transliteration rule includes the identified error and indicates a correction to the translated query that remedies the identified error and causes the translated query to produce a valid query result.

19. The method of claim 18 , wherein the identified error comprises a missing space, and wherein the transliteration rule indicates that a space should be input into the translated query once the first source query has been translated.

20. One or more non-transitory computer-readable media storing instructions that, when executed by a computing platform comprising at least one processor, a communication interface, and memory, cause the computing platform to:

train a machine learning model using one or more source syntax trees, one or more target dialect syntax trees, and relationships between the one or more source syntax trees and the one or more target dialect syntax trees, wherein training the machine learning model comprises configuring the machine learning model to output source dialect keys and their corresponding target dialect queries;

execute the corresponding target dialect queries to identify whether the corresponding target dialect queries result in valid execution or result in error;

for a first target dialect query resulting in valid execution, store the first target dialect query and first source dialect keys corresponding to the first target dialect query in a query library lookup table;

for a second target dialect query resulting in error:

identify a cause of the error;

automatically generate, based on the identified cause of the error, a transliteration rule to correct the error; and

store, in the query library lookup table, the second target dialect query, second source dialect keys corresponding to the second target dialect query, and the transliteration rule;

receive, from a client application, a first source query formatted in the source dialect;

translate, using the transliteration rule, the first source query to the target dialect to produce a translated query;

execute the translated query on a target database to produce a query result; and

send, to the client application, the query result.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 21, 2021
From: MUKHERJEE, MAHARAJ; BENDA, CARL M.; NYAMWANGE, ELVIS; CHOUDHURY, SUMAN ROY; RAJ, UTKARSH
To: BANK OF AMERICA CORPORATION
Reel/Frame 058447/0956 →
Continuity (2)
Provisional Application 63272263 · Oct 27, 2021
Related Publication 20230129994A1 · Apr 27, 2023