IP Library › Granted Patent US 11,526,505
Granted Patent B2
US 11,526,505 · App. 16/704,802 · Granted Dec 13, 2022

Enabling cross-platform query optimization via expressive markup language

Inventors: B. Anantha Subramanian (Bangalore, IN); Mohamed Yassin Eltabakh (Worcestor, MA); Mahbub Hasan (Kenmore, WA); Robert Matthew Wehrmeister (Austin, TX); Awny Kayed Al-Omari (Cedar Park, TX); Sanjay Sukumaran Nair (El Segundo, CA); Kashif Abdullah Siddiqui (Round Rock, TX); Mohammed Yassin Al-Kateb (Worchester, MA)
Assignee: Teradata US, Inc.
G06F16/2433G06F16/182G06F16/211G06F16/278
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 11,526,505
App. No.
16/704,802
Granted
Dec 13, 2022
Kind
B2
Abstract

A database system receives a request from a user. The request invokes a data set function (DSF) and uses a property to be provided by the DSF. The database system determines that a function descriptor is available for the DSF. The function descriptor is expressed as markup language instructions. The function descriptor defines the property of the DSF. The database system uses the function descriptor to define a property for the DSF.

Claims (42)

1. A method comprising:

a database system receiving a request from a user, wherein the request invokes a data set function (DSF) and uses a property to be provided by the DSF;

the database system determining that a function descriptor is available for the DSF, wherein the function descriptor is expressed as markup language instructions, wherein the markup language instructions include one or more of an ADD instruction and a CASE instruction wherein the ADD instruction adds a column to a function descriptor schema and wherein the CASE instruction includes or excludes a column in a function descriptor schema depending on the presence or absence of values or parameters in the invocation of the DSF and wherein the markup language instructions are processed when the request is executed, and wherein the function descriptor defines the property of the DSF; and

the database system using the function descriptor to define a property for the DSF.

2. The method of claim 1 further comprising:

a developer creating the DSF to execute on a remote system;

the developer writing the descriptor for the DSF; and

the database system receiving and storing the descriptor for the DSF.

3. The method of claim 1 further comprising:

a developer creating the DSF to execute on the database system;

the developer writing the descriptor for the DSF; and

the database system receiving and storing the descriptor for the DSF.

4. The method of claim 1 , wherein the markup language is an instruction-based language.

5. The method of claim 1 , further comprising using the function descriptor to define an output schema for the DSF.

6. The method of claim 1 , further comprising using the function descriptor to define an input schema for the DSF.

7. The method of claim 1 , further comprising using the function descriptor to determine to push a predicate in the request from the DSF's output to the input of the DSF.

8. The method of claim 1 , further comprising using the function descriptor to determine to push a projection in the request from the input of the DSF to the output of the DSF.

9. The method of claim 1 , further comprising using the function descriptor to estimate a cardinality of the property.

10. The method of claim 1 , further comprising using the function descriptor to determine if the DSF inherits or obeys specific ordering or partitioning schemes.

11. A non-transitory computer-readable tangible medium, on which is recorded a computer program, the computer program comprising executable instructions, that, when executed, perform a method comprising:

a database system receiving a request from a user, wherein the request invokes a data set function (DSF) and uses a property to be provided by the DSF;

the database system determining that a function descriptor is available for the DSF, wherein the function descriptor is expressed as markup language instructions, and wherein the function descriptor defines the property of the DSF, wherein the markup language instructions include one or more of an ADD instruction and a CASE instruction wherein the ADD instruction adds a column to a function descriptor schema and wherein the CASE instruction includes or excludes a column in a function descriptor schema depending on the presence or absence of values or parameters in the invocation of the DSF and wherein the markup language instructions are processed when the request is executed, and wherein the function descriptor defines the property of the DSF; and

the database system using the function descriptor to define a property for the DSF.

12. The computer program of claim 11 wherein the method further comprises:

a developer creating the DSF to execute on a remote system;

the developer writing the descriptor for the DSF; and

the database system receiving and storing the descriptor for the DSF.

13. The computer program of claim 11 wherein the method further comprises:

a developer creating the DSF to execute on the database system;

the developer writing the descriptor for the DSF; and

the database system receiving and storing the descriptor for the DSF.

14. The computer program of claim 11 , wherein the method further comprises using the function descriptor to define an output schema for the DSF.

15. The computer program of claim 11 , wherein the method further comprises using the function descriptor to define an input schema for the DSF.

16. The computer program of claim 11 , wherein the method further comprises using the function descriptor to determine to push a predicate in the request from the DSF's output to the input of the DSF.

17. The computer program of claim 11 , wherein the method further comprises using the function descriptor to determine to push a projection in the request from the input of the DSF to the output of the DSF.

18. The computer program of claim 11 , wherein the method further comprises using the function descriptor to estimate a cardinality of the property.

19. The computer program of claim 11 , wherein the method further comprises using the function descriptor to determine if the DSF inherits or obeys specific ordering or partitioning schemes.

20. A method comprising:

a database system receiving a request from a user, wherein the request invokes a data set function (DSF) to be performed remotely on a coprocessor, wherein the coprocessor is a data processing engine separate from that executing the database system and uses a property to be provided by the DSF;

the database system determining that a function descriptor that describes an output schema and an input schema for the DSF is not available for the DSF;

the database system determining that a contract function is available for the DSF, wherein the contract function is used by the database system to communicate with the coprocessor at query time to retrieve DSF properties; and

the database system using the contract function to optimize the request.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 19, 2019
From: SUBRAMANIAN, B. ANANTHA; ELTABAKH, MOHAMED YASSIN; HASAN, MAHBUB; WEHRMEISTER, ROBERT MATTHEW; AL-OMARI, AWNY KAYED; NAIR, SANJAY SUKUMARAN; SIDDIQUI, KASHIF ABDULLAH; AL-KATEB, MOHAMMED
To: TERADATA US, INC
Reel/Frame 051333/0528 →
Continuity (2)
Provisional Application 62777304 · Dec 10, 2018
Related Publication 20200183921A1 · Jun 11, 2020