IP Library Granted Patent US 8,972,433
Granted Patent B2
US 8,972,433 · App. 12/738,350 · Granted Mar 3, 2015

Systems and methods for programmatic generation of database statements

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 8,972,433
App. No.
12/738,350
Granted
Mar 3, 2015
Kind
B2
Abstract

Computer-based systems and methods for programmatically generating code, such as Structure Query Language (SQL) code to perform an operation on a database. A code generation engine, referred to herein as an Alchemy engine, receives a request in a first language, such as an XML-based language, and translates the request into a second language, such as an SQL-based language. The translation process utilizes information stored in a metadata database.

Claims (27)

1. A computer system comprising:

a computer database comprising a plurality of data tables;

a computer device, comprising a processor and memory, that executes an application that requires data from the database; and

a code generation engine, in communication with the computer device and the database, wherein the code generation engine comprises a processor circuit, a memory circuit, and a metadata database comprising computer database metadata, wherein the code generation engine is programmed to:

receive a data request from the application, wherein the data request is in a first language, wherein the data request indicates a data rule and a plurality of attributes corresponding to the data rule; and

translate the data request, using one or more translation formulas stored in the metadata database, to a plurality of data queries of the data tables of the computer database, wherein the plurality of data queries are in a second language that is different from the first language, wherein a first data query of the plurality of data queries returns a first data element stored at a first data table of the plurality of data tables as a first attribute of the plurality of attributes, and wherein a second data query of the plurality of data queries returns a result of an application of the one or more translation formulas to a second data element stored at a second table of the plurality of data tables as a second attribute of the plurality of attributes,

wherein the first data query comprises a first SQL statement and the second data query comprises a second SQL statement, and wherein the code generation engine is also programmed to execute the first and second SQL statements, and, in response to the data request, return a result set to the application, wherein the result set comprises the first attribute and the second attribute.

2. The computer system of claim 1 , wherein the first language is an XML-based language.

3. The computer system of claim 1 , wherein the second language is a SQL-based language.

4. The computer system of claim 1 , wherein the data rule comprises an element selected from the group consisting of an attribute, a function, and a limit.

5. A computer-implemented method for retrieving data from a database, the method comprising:

storing data in a computer database comprising a plurality of data tables;

receiving from an application, executed by a computer system comprising a processor and a memory, a data request in a first language, wherein the data request indicates a data rule and a plurality of attributes corresponding to the data rule; and

translating with a code generation engine, comprising a processor circuit and a memory circuit, using one or more translation formulas stored in a metadata database, the data request to a plurality of data queries of the data tables of the computer database, wherein the plurality of data queries are in a second language that is different from the first language, wherein a first data query of the plurality of data queries returns a first data element stored at a first data table of the plurality of data tables as a first attribute of the plurality of attributes, and wherein a second data query of the plurality of data queries returns a result of an application of the one or more translation formulas to a second data element stored at a second table of the plurality of data tables as a second attribute of the plurality of attributes, wherein the first data query comprises a first SQL statement and the second data query comprises a second SQL statement, and wherein the code generation engine is also programmed to execute the first and second SQL statements, and, in response to the data request, return a result set to the application, wherein the result set comprises the first attribute and the second attribute, and wherein the code generation engine comprises a processor circuit, a memory circuit, and a metadata database comprising computer database metadata.

6. The method of claim 5 , wherein the first language is an XML-based language.

7. The method of claim 5 , wherein the second language is SQL-based language.

8. The method of claim 5 , wherein the data rule comprises an element selected from the group consisting of an attribute, a function, and a limit.

9. The method of claim 5 , further comprising storing a result set of the first and second data queries in a non-transitory computer readable medium.

10. A non-transitory computer readable medium having instructions stored thereon which when executed by a processor cause the processor to:

store data in a computer database comprising a plurality of data tables;

receive from an application, executed by a computer system comprising a processor and a memory, a data request in a first language, wherein the data request indicates a data rule and a plurality of attributes corresponding to the data rule;

translate the data request, using one or more translation formulas stored in a metadata database, to a plurality of data queries of the data tables of the computer database, wherein the plurality of data queries are in a second language that is different from the first language, wherein a first data query of the plurality of data queries returns a first data element stored at a first data table of the plurality of data tables as a first attribute of the plurality of attributes, and wherein a second data query of the plurality of data queries returns a result of an application of the one or more translation formulas to a second data element stored at a second table of the plurality of data tables as a second attribute of the plurality of attributes, wherein the first data query comprises a first SQL statement and the second data query comprises a second SQL statement;

execute the first and second SQL statements; and

in response to the data request, return a result set to the application, wherein the result set comprises the first attribute and the second attribute.

11. The computer readable medium of claim 10 , wherein the data request is XML-based and the one or more data queries are SQL statement.

12. The computer readable medium of claim 10 , wherein the first language is XML-based and the second language is SQL-based.

13. The computer readable medium of claim 10 , further comprising instructions to store query data into a memory.

Assignments (33)
RELEASE OF SECURITY INTEREST Recorded Dec 29, 2023
From: WILMINGTON TRUST, NATIONAL ASSOCIATION
To: TRAVELPORT, LP; TRAVELPORT INTERNATIONAL OPERATIONS LIMITED; DEEM, INC.
Reel/Frame 066140/0556 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Dec 28, 2023
From: WILMINGTON SAVINGS FUND SOCIETY, FSB
To: TRAVELPORT, LP; TRAVELPORT INTERNATIONAL OPERATIONS LIMITED; DEEM, INC.; TRAVELPORT, INC.; TRAVELPORT OPERATIONS, INC.
Reel/Frame 066157/0732 →
SECURITY INTEREST Recorded Dec 4, 2023
From: TRAVELPORT, LP; TRAVELPORT INTERNATIONAL OPERATIONS LIMITED; DEEM, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 065762/0267 →
SECURITY INTEREST Recorded May 25, 2023
From: TRAVELPORT TECHNOLOGIES LLC
To: TRAVELPORT TECHNOLOGIES HOLDINGS LLC
Reel/Frame 063764/0092 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 5, 2023
From: TRAVELPORT TECHNOLOGIES HOLDINGS LLC
To: TRAVELPORT, LP
Reel/Frame 063556/0755 →
GRANT OF SECURITY INTEREST IN PATENT RIGHTS Recorded Mar 30, 2023
From: TRAVELPORT, LP [COMPOSED OF: TRAVELPORT HOLDINGS, LLC]; TRAVELPORT INTERNATIONAL OPERATIONS LIMITED; DEEM, INC.; TRAVELPORT, INC.; TRAVELPORT OPERATIONS, INC.
To: WILMINGTON SAVINGS FUND SOCIETY, FSB
Reel/Frame 063197/0551 →
RELEASE OF SECURITY INTEREST Recorded Oct 9, 2020
From: WILMINGTON SAVINGS FUND SOCIETY, FSB, AS COLLATERAL AGENT
To: TRAVELPORT, LP; TRAVELPORT INTERNATIONAL OPERATIONS LIMITED
Reel/Frame 054016/0938 →
SECURITY INTEREST Recorded Sep 25, 2020
From: TRAVELPORT INTERNATIONAL OPERATIONS LIMITED; TRAVELPORT TECHNOLOGIES LLC
To: WILMINGTON SAVINGS FUND SOCIETY, FSB
Reel/Frame 053889/0722 →
SECURITY INTEREST Recorded Sep 25, 2020
From: TRAVELPORT INTERNATIONAL OPERATIONS LIMITED; TRAVELPORT TECHNOLOGIES LLC
To: WILMINGTON SAVINGS FUND SOCIETY, FSB
Reel/Frame 053890/0852 →
RELEASE OF SECURITY INTEREST Recorded Sep 25, 2020
From: UMB BANK, NATIONAL ASSOCIATION
To: TRAVELPORT TECHNOLOGIES LLC
Reel/Frame 053888/0968 →
ASSIGNMENT OF PATENT SECURITY INTERESTS (1ST LIEN) Recorded Jun 29, 2020
From: BANK OF AMERICA, N.A.
To: WILMINGTON SAVINGS FUND SOCIETY, FSB, AS SUCCESSOR ADMINISTRATIVE AGENT AND SUCCESSOR COLLATERAL AGENT
Reel/Frame 053080/0298 →
ASSIGNMENT OF PATENT SECURITY INTERESTS (2ND LIEN) Recorded Jun 29, 2020
From: BANK OF AMERICA, N.A.
To: WILMINGTON SAVINGS FUND SOCIETY, FSB, AS SUCCESSOR ADMINISTRATIVE AGENT AND SUCCESSOR COLLATERAL AGENT
Reel/Frame 053080/0430 →
SECURITY INTEREST Recorded Jun 5, 2020
From: TRAVELPORT TECHNOLOGIES LLC
To: UMB BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 052852/0587 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 5, 2020
From: TRAVELPORT OPERATIONS INC.
To: TRAVELPORT, LP
Reel/Frame 052569/0285 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 5, 2020
From: TRAVELPORT TECHNOLOGIES HOLDINGS LLC
To: TRAVELPORT TECHNOLOGIES LLC
Reel/Frame 052569/0640 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 5, 2020
From: TRAVELPORT, LP
To: TRAVELPORT TECHNOLOGIES HOLDINGS LLC
Reel/Frame 052569/0506 →
RELEASE OF SECURITY INTEREST Recorded Jun 14, 2019
From: GOLDMAN SACHS BANK USA
To: TRAVELPORT, LP; TRAVELPORT INC.; TRAVELPORT OPERATIONS, INC.; GALILEO INTERNATIONAL TECHNOLOGY, LLC
Reel/Frame 049469/0262 →
RELEASE OF SECURITY INTEREST Recorded Jun 14, 2019
From: US BANK
To: TRAVELPORT, LP; TRAVELPORT, INC.; TRAVELPORT OPERATIONS, INC.; GALILEO INTERNATIONAL TECHNOLOGY, LLC
Reel/Frame 049469/0269 →
SECOND LIEN SECURITY AGREEMENT Recorded Jun 5, 2019
From: TRAVELPORT OPERATIONS, INC.
To: BANK OF AMERICA, N.A.
Reel/Frame 049372/0796 →
FIRST LIEN SECURITY AGREEMENT Recorded Jun 4, 2019
From: TRAVELPORT OPERATIONS, INC.
To: BANK OF AMERICA, N.A.
Reel/Frame 049368/0785 →
RELEASE OF SECURITY INTEREST Recorded Mar 18, 2018
From: GOLDMAN SACHS BANK USA
To: GALILEO INTERNATIONAL TECHNOLOGY, LLC; TRAVELPORT, LP; TRAVELPORT INC.; TRAVELPORT OPERATIONS, INC.
Reel/Frame 045263/0772 →
SECURITY INTEREST Recorded Mar 18, 2018
From: TRAVELPORT, LP; TRAVELPORT OPERATIONS, INC.; TRAVELPORT INC.; GALILEO INTERNATIONAL TECHNOLOGY, LLC
To: GOLDMAN SACHS BANK USA
Reel/Frame 045263/0779 →
SECURITY INTEREST Recorded Mar 16, 2018
From: TRAVELPORT, LP; TRAVELPORT OPERATIONS, INC.; TRAVELPORT INC.; GALILEO INTERNATIONAL TECHNOLOGY, LLC
To: U.S. BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 045257/0659 →
SECURITY INTEREST Recorded Aug 1, 2017
From: DEUTSCHE BANK AG NEW YORK BRANCH
To: GOLDMAN SACHS BANK USA
Reel/Frame 043161/0051 →
RELEASE OF SECURITY INTEREST Recorded Sep 19, 2014
From: WELLS FARGO BANK, NATIONAL ASSOCIATION
To: TRAVELPORT, LP.; TRAVELPORT, INC.; WORLDSPAN TECHNOLOGIES INC.
Reel/Frame 033773/0934 →
SECURITY INTEREST Recorded Sep 11, 2014
From: TRAVELPORT, LP; TRAVELPORT, INC.
To: DEUTSCHE BANK AG
Reel/Frame 033727/0010 →
RELEASE OF SECURITY INTEREST IN PATENTS Recorded Sep 10, 2014
From: CREDIT SUISSE AG, AS COLLATERAL AGENT
To: TRAVELPORT, LP; TRAVELPORT INC.; TRAVELPORT OPERATIONS, INC.
Reel/Frame 033713/0218 →
RELEASE OF SECURITY INTEREST IN PATENTS Recorded Sep 10, 2014
From: UBS AG, STAMFORD BRANCH, AS COLLATERAL AGENT
To: TRAVELPORT, LP; TRAVELPORT OPERATIONS, INC.
Reel/Frame 033713/0190 →
SECURITY AGREEMENT Recorded May 3, 2013
From: TRAVELPORT, LP; TRAVELPORT INC.; TRAVELPORT OPERATIONS, INC.
To: CREDIT SUISSE AG, AS COLLATERAL AGENT
Reel/Frame 030342/0412 →
RELEASE OF SECURITY INTEREST Recorded May 2, 2013
From: CREDIT SUISSE AG, AS COLLATERAL AGENT
To: TRAVELPORT, LP; TRAVELPORT INC.; TRAVELPORT OPERATIONS INC.
Reel/Frame 030333/0338 →
SECURITY AGREEMENT Recorded May 16, 2012
From: TRAVELPORT INC.; TRAVELPORT, LP; TRAVELPORT OPERATIONS, INC.
To: CREDIT SUISSE AG, AS COLLATERAL AGENT
Reel/Frame 028218/0694 →
GRANT OF SECURITY INTEREST IN PATENTS (SECOND LIEN) Recorded Oct 3, 2011
From: TRAVELPORT, LP; TRAVELPORT INC.; TRAVELPORT OPERATIONS, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 027002/0226 →
SECURITY AGREEMENT Recorded Sep 30, 2011
From: TRAVELPORT, LP; TRAVELPORT OPERATIONS, INC.
To: UBS AG, STAMFORD BRANCH, AS COLLATERAL AGENT
Reel/Frame 026996/0043 →