IP Library Granted Patent US 10,936,592
Granted Patent B2
US 10,936,592 · App. 15/565,521 · Granted Mar 2, 2021

Dynamic function invocation

Inventors: Qiming Chen (Sunnyvale, CA); Rui Liu (Sunnyvale, CA); Meichun Hsu (Sunnyvale, CA)
Assignee: Micro Focus LLC
G06F16/2455G06F16/21G06F16/2433
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 10,936,592
App. No.
15/565,521
Granted
Mar 2, 2021
Kind
B2
Abstract

According to an example, dynamic function invocation may include ascertaining a query for a database management system (DBMS). Dynamic function invocation may further include implementing a dynamic function as a meta user defined function to invoke a plurality of different coded functions including a coded function that is to be invoked by the query to perform an operation related to the DBMS, and executing the dynamic function by the query to load and invoke the coded function to perform the operation related to the DBMS.

Claims (32)

1. A method comprising:

ascertaining a query for a database management system (DBMS), wherein the query comprises a dynamic function corresponding to a plurality of coded functions, each coded function of the plurality of coded functions comprises a DBMS unwrapped coded function, and each coded function of the plurality of coded functions is unregistered with a query execution engine of the DBMS; and

executing, by a processor, the query, wherein the executing comprises the query execution engine loading a given coded function of the plurality of coded functions identified by the dynamic function from a library external to the DBMS and invoking the given coded function to perform an operation related to the DBMS.

2. The method of claim 1 , wherein the given coded function comprises a Java function.

3. The method of claim 1 , wherein the query comprises a Structured Query Language (SQL) query.

4. The method of claim 1 , wherein the given coded function is generated by a user to perform an operation on a variable.

5. The method of claim 1 , wherein the library comprises a library of coded functions that are to perform operations on variables.

6. The method of claim 1 , wherein the given coded function is generated without using any system calls of the DBMS.

7. The method of claim 1 , wherein the executing comprises accessing a library name specified by the query.

8. The method of claim 1 , wherein the executing comprises:

accessing a class that includes the given coded function by a class name; and

accessing the given coded function by a function name from the class that includes the given coded function.

9. The method of claim 8 , wherein the executing comprises:

converting the class name to a class object instance; and

converting the function name to a function object instance.

10. An apparatus comprising:

a processor; and

a memory storing machine readable instructions that, when executed by the processor, cause the processor to:

ascertain a query for a database management system (DBMS), wherein the query comprises a dynamic function corresponding to a plurality of coded functions, each coded function of the plurality of coded functions comprises a DBMS unwrapped coded function, and each coded function of the plurality of coded functions is unregistered with a query execution engine of the DBMS; and

execute the query, wherein the executing comprises causing the query execution engine to load a given coded function of the plurality of coded functions identified by the dynamic function from a library external to the DBMS and cause the query execution engine to invoke the given coded function to perform an operation related to the DBMS.

11. The apparatus of claim 10 , wherein the instructions, when executed by the processor, further cause the processor to:

retrieve arguments related to the given coded function;

convert database management system (DBMS) types of the arguments to Java types; and

use the Java types to perform the operation.

12. The apparatus of claim 10 , wherein the instructions, when executed by the processor, further cause the processor to:

access a class that includes the given coded function by a class name; and

access the given coded function by a function name from the class that includes the given coded function.

13. A non-transitory computer readable storage medium that stores machine readable instructions that, when executed by a processor, cause the processor to:

ascertain a query for a database management system (DBMS), wherein the query comprises a dynamic function corresponding to a plurality of coded functions, each coded function of the plurality of coded functions comprises a DBMS unwrapped coded function, and each coded function of the plurality of coded functions is unregistered with a query execution engine of the DBMS; and

execute the query, wherein the executing comprises causing the query execution engine to load a given coded function of the plurality of coded functions identified by the dynamic function from a library external to the DBMS and invoke the given coded function to perform an operation related to the DBMS.

14. The non-transitory computer readable storage medium of claim 13 , wherein the given coded function is generated without using any system calls of the DBMS.

15. The non-transitory computer readable storage medium of claim 13 , wherein the instructions, when executed by the processor, further cause the processor to access a library name specified by the query.

Assignments (9)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 28, 2026
From: MICRO FOCUS LLC
To: ROCKET SOFTWARE, INC.
Reel/Frame 075795/0114 →
RELEASE OF SECURITY INTEREST REEL/FRAME 052295/0041 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: MICRO FOCUS LLC; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.); NETIQ CORPORATION
Reel/Frame 062625/0754 →
RELEASE OF SECURITY INTEREST REEL/FRAME 052294/0522 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: MICRO FOCUS LLC; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.); NETIQ CORPORATION
Reel/Frame 062624/0449 →
SECURITY AGREEMENT Recorded Apr 2, 2020
From: MICRO FOCUS LLC; BORLAND SOFTWARE CORPORATION; MICRO FOCUS SOFTWARE INC.; NETIQ CORPORATION; MICRO FOCUS (US), INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 052294/0522 →
SECURITY AGREEMENT Recorded Apr 2, 2020
From: MICRO FOCUS LLC; BORLAND SOFTWARE CORPORATION; MICRO FOCUS SOFTWARE INC.; NETIQ CORPORATION; MICRO FOCUS (US), INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 052295/0041 →
CHANGE OF NAME Recorded Aug 8, 2019
From: ENTIT SOFTWARE LLC
To: MICRO FOCUS LLC
Reel/Frame 050004/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 11, 2017
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 044172/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 11, 2017
From: CHEN, QIMING; LIU, RUI; HSU, MEICHUN
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 043830/0489 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 11, 2017
From: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
To: ENTIT SOFTWARE LLC
Reel/Frame 044173/0822 →
Continuity (1)
Related Publication 20180089273A1 · Mar 29, 2018