IP Library Granted Patent US 9,229,984
Granted Patent B2
US 9,229,984 · App. 13/272,598 · Granted Jan 5, 2016

Parameter expressions for modeling user defined function execution in analytical data processing systems

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 9,229,984
App. No.
13/272,598
Granted
Jan 5, 2016
Kind
B2
Abstract

Systems and apparatuses are provided for analytical data processing. A system includes a processor and a non-transitory computer readable medium, comprising machine readable instructions executable by the processor. The instructions include a query compiler to identify a call to a user defined function within a query. The call to a user defined function includes an input argument and a parameter expression defining a parameter value for the user defined function. A processing engine executes the user defined function to provide a function output according to the input argument and the defined parameter value.

Claims (25)

1. An analytical data processing system comprising:

a processor;

a non-transitory computer readable medium, comprising machine readable instructions executable by the processor, the instructions comprising:

a query compiler to identify a call to a user defined function, including an input expression that defines input values for the user defined function and a parameter expression, comprising a key and a value pair where key is the name of the parameter field metadata and the value is a constant or an expression that evaluates to a constant value at the time of invoking the user, for the user defined function, within a query; and

a processing engine to execute the user defined function to provide a function output according to the input expression and the parameter expression.

2. The analytical data processing system of claim 1 , wherein the user defined function represents an application program model, such that the function output represents the results of a first analytical model, evaluated using the defined input values, for a first parameter expression and the function output represents the results of a second analytical model, evaluated using the defined input values, for a second parameter expression.

3. The analytical data processing system of claim 2 , wherein the user defined function has a variable field defining a class of fields for the generation of zero, one, or multiple concrete field instances at runtime of the user defined function, the variable field being one of a variable input field and a variable output field, the parameter expression evaluating to an integer repetition count defining a number of variant fields represented by the variable field.

4. The analytical data processing system of claim 3 , the variable field comprising a variable output field and the user defined function having metadata exposed to the query compiler and the processing engine, the metadata including a base field name for the variable output field, and the variant fields represented by the variable output field having names generated in an output table object formed from the base field name and an ordinal number.

5. The analytical data processing system of claim 3 , wherein the variable field has associated metadata comprising a field indicating a minimum repetition count, such that if the minimum repetition count is one, the variable field must occur in a call to the user defined function, and if the minimum repetition count is zero, the variable field can be omitted from a call to the user defined function.

6. The analytical data processing system of claim 1 , the query complier accessing a utility function associated with the user defined function, the utility function validating an associated data type of the parameter expression according to a data type provided by metadata associated with the user defined function and evaluating the parameter expression.

7. The analytical data processing system of claim 1 , the user defined function comprising parameter metadata defining an associated data type for the parameter expression, the associated data type comprising any of Boolean, integer, double, string, date, time, timestamp, and their array types.

8. The analytical data processing system of claim 1 , the user defined function comprising parameter metadata indicating, for each of a plurality of parameters associated with the user defined function, whether a parameter is mandatory, such that a parameter expression associated with the parameter must be present in a call to the user defined function, or optional, such that no parameter expression associated with the parameter is necessary in a call to the user defined function.

9. The analytical data processing system of claim 8 , the parameter metadata further comprising, for a parameter indicated as optional, a default value, such that when no parameter expression associated with the parameter is present in the call to the user defined function, the default value is used for the execution of the user defined function.

10. The analytical data processing system of claim 2 , wherein the parameter expression provides a constant parameter value for an internal processing requirement of the user defined function.

11. The analytical data processing system of claim 2 , the parameter expression supplying a runtime program script or a file name containing a program script for the user defined function, the user defined function compiling the program script to generate an execution code and to process input rows represented by the input expression.

12. The analytical data processing system of claim 1 , wherein the parameter expression comprises information for one of connecting, accessing, processing and generating output from an external data processing system.

13. An analytical data processing system comprising:

a processor;

a non-transitory computer readable medium, comprising machine readable instructions executable by the processor, the instructions comprising:

a query compiler to identify a call to a user defined function, the user defined function representing an application program model and including an input expression that defines input values for the user defined function and an parameter expression, comprising a key and a value pair where key is the name of the parameter field metadata and the value is a constant or an expression that evaluates to a constant value at the time of invoking the user, defining a parameter value for the user defined function, within a query; and

a processing engine to execute the user defined function to provide a function output according to the input expression and the defined parameter value, such that the function output represents the results of a first analytical model, evaluated using the defined input values, for a first parameter expression and the function output represents the results of a second analytical model, evaluated using the defined input values, for a second parameter expression.

14. The analytical data processing system of claim 12 , wherein the user defined function has an associated variable field and the defined parameter value represents a number of variant fields represented by the variable field.

15. A non-transitory computer readable medium storing machine executable instructions, the machine executable instructions comprising:

a query compiler to identify a call to a user defined function, an input expression defining a variable input field, representing a class of fields for the generation of zero, one, or multiple concrete input field instances at runtime of the user defined function, and an output expression defining a variable output field, representing a class of fields for the generation of zero, one, or multiple concrete input field instances at runtime of the user defined function, for the function within a query, and an integer parameter expression defining a number of concrete input field instances represented by each variable field and generate an input table object and an output table object for the user defined function, the generated output object containing the fields represented by the variable input field and the variable output field; and

a processing engine to execute the user defined function with the input and parameter expressions and populate the fields represented by the variable output field in the output table object with the output of the user defined function.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 26, 2021
From: OT PATENT ESCROW, LLC
To: VALTRUS INNOVATIONS LIMITED
Reel/Frame 057650/0537 →
PATENT ASSIGNMENT, SECURITY INTEREST, AND LIEN AGREEMENT Recorded Jan 26, 2021
From: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP; HEWLETT PACKARD ENTERPRISE COMPANY
To: OT PATENT ESCROW, LLC
Reel/Frame 055269/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2015
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 037079/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE NAME PREVIOUSLY RECORDED ON REEL 027056 FRAME 0630. ASSIGNOR(S) HEREBY CONFIRMS THE THE ASSIGNEE NAME SHOULD BE: HEWLETT-PACKARD DEVELOPMENT COMPANY L.P.. Recorded Jun 25, 2014
From: GEORGE, MUTHIAN
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 033243/0908 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 13, 2011
From: GEORGE, MUTHIAN
To: HEWLETT-PACKARD COMPANY
Reel/Frame 027056/0630 →