IP Library › Granted Patent US 12,724,765
Granted Patent B2
US 12,724,765 · App. 18/384,808 · Granted Sep 1, 2026

In-database workflow orchestration for serverless function

Inventors: Rahul Goli (Redwood Shores, CA); Noman Sheikh (Redwood Shores, CA); Harshad Kasture (Sunnyvale, CA); Alexander Ulrich (Freiburg, DE)
Assignee: Oracle International Corporation
G06F16/2379G06F16/252
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,724,765
App. No.
18/384,808
Granted
Sep 1, 2026
Kind
B2
Abstract

The illustrative embodiments provide a framework for executing data-centric workflows within the database session, thus achieving workflow execution with no additional process creation, virtualization, or network overhead. The user-provided serverless functions that comprise the application workflow are compiled into native-image binary executables and deployed as stored procedures. Using native-image stored procedures greatly reduces memory and execution time overhead compared to traditional serverless computing frameworks. An application workflow is configured using workflow metadata, which specifies the native-image stored procedures that make up the application workflow and transaction boundaries at runtime. The framework ensures low overhead fault tolerance using run-to-completion and exactly-once semantics.

Claims (53)

1 . A method comprising:

receiving, at a database system in a database session, a remote query that requires execution of an application workflow based on workflow metadata associated with the application workflow, wherein:

the workflow metadata specifies a plurality of native-image stored procedures to be executed in the application workflow, and

the plurality of native-image stored procedures are stored within the database system;

executing, by a workflow orchestrator, the application workflow to perform functions that require access to one or more database objects in the database system, wherein:

the workflow orchestrator executes within the database session in the database system,

a database session process executes within the database session, and the workflow orchestrator shares the same memory and address space as the database session process, and

executing the application workflow comprises executing the plurality of native-image stored procedures within the database session to access the one or more database objects,

wherein the method is performed by one or more computing devices.

2 . The method of claim 1 , further comprising:

receiving, by a dispatcher executing in a machine connected to the database system, a call to compile a plurality of serverless functions;

performing, by the dispatcher, ahead-of-time compiling of the plurality of serverless functions to form the plurality of native-image stored procedures; and

storing, by the dispatcher, the plurality of native-image stored procedures in the database system.

3 . The method of claim 2 , further comprising:

responsive to the dispatcher receiving the workflow metadata, verifying, by the dispatcher, whether the workflow metadata is valid; and

responsive to determining the workflow metadata is valid, storing the workflow metadata in a workflow metadata table.

4 . The method of claim 2 , wherein the dispatcher is a Representational State Transfer (REST) endpoint.

5 . The method of claim 1 , wherein the workflow metadata specifies transactional boundaries and the workflow orchestrator enforces the specified transactional boundaries.

6 . The method of claim 5 , wherein executing the application workflow comprises:

logging, by the workflow orchestrator, outputs of the plurality of native-image stored procedures in a workflow log; and

determining whether a transaction has executed successfully based on the workflow log.

7 . The method of claim 6 , wherein the workflow orchestrator ensures exactly-once semantics.

8 . The method of claim 1 , wherein the workflow orchestrator commits completed transactions to one or more of the plurality of database objects.

9 . The method of claim 1 , wherein the workflow metadata includes one or more of:

names of the plurality of native-image stored procedures,

data types of input arguments of the plurality of native-image stored procedures,

whether each of the plurality of native-image stored procedures modifies the one or more database objects, or

data flow information of the application workflow.

10 . The method of claim 1 , further comprising:

responsive to completing execution of the application workflow, returning a result to a calling function or requesting user.

11 . The method of claim 1 , wherein executing the plurality of native-image stored procedures comprises loading the plurality of native-image stored procedures into the memory of the database session process.

12 . The method of claim 1 , wherein the plurality of native-image stored procedures access the one or more database objects by calling a backend application programming interface within the database session process.

13 . The method of claim 2 , further comprising creating, by the dispatcher, the one or more database objects required by the application workflow.

14 . One or more non-transitory storage media storing instructions which, when executed by one or more computing devices, cause:

receiving, at a database system in a database session, a remote query that requires execution of an application workflow based on workflow metadata associated with the application workflow,

wherein: the workflow metadata specifies a plurality of native-image stored procedures to be executed in the application workflow, and the plurality of native-image stored procedures are stored within the database system;

executing, by a workflow orchestrator, the application workflow to perform functions that require access to one or more database objects in the database system,

wherein: the workflow orchestrator executes within the database session in the database system,

a database session process executes within the database session, and the workflow orchestrator shares the same memory and address space as the database session process, and

executing the application workflow comprises executing the plurality of native-image stored procedures within the database session to access the one or more database objects.

15 . The one or more non-transitory storage media of claim 14 , wherein the instructions further cause:

receiving, by a dispatcher executing in a machine connected to the database system, a call to compile a plurality of serverless functions;

performing, by the dispatcher, ahead-of-time compiling of the plurality of serverless functions to form the plurality of native-image stored procedures; and

storing, by the dispatcher, the plurality of native-image stored procedures in the database system.

16 . The one or more non-transitory storage media of claim 15 , wherein the instructions further cause:

responsive to the dispatcher receiving the workflow metadata, verifying, by the dispatcher, whether the workflow metadata is valid; and

responsive to determining the workflow metadata is valid, storing the workflow metadata in a workflow metadata table.

17 . The one or more non-transitory storage media of claim 14 , wherein the workflow metadata specifies transactional boundaries and the workflow orchestrator enforces the specified transactional boundaries.

18 . The one or more non-transitory storage media of claim 17 , wherein executing the application workflow comprises:

logging, by the workflow orchestrator, outputs of the plurality of native-image stored procedures in a workflow log; and

determining whether a transaction has executed successfully based on the workflow log.

19 . The one or more non-transitory storage media of claim 14 , wherein the instructions further cause:

responsive to completing execution of the application workflow, returning a result to a calling function or requesting user.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 18, 2024
From: ULRICH, ALEXANDER
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 069309/0851 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 9, 2024
From: SHEIKH, NOMAN; KASTURE, HARSHAD
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 066068/0977 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 9, 2024
From: ULRICH, ALEXANDER
To: ORACLE GLOBAL SERVICES GERMANY GMBH,
Reel/Frame 066069/0038 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 12, 2023
From: GOLI, RAHUL; ULRICH, ALEXANDER
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 065835/0815 →
Continuity (1)
Related Publication 20250139082A1 · May 1, 2025
References Cited (18)
US 10225164B2 · Revanuru · 2019 [cited by examiner]
US 10592493B1 · Sutherland · 2020 [cited by examiner]
US 11061965B1 · Heisz · 2021 [cited by examiner]
US 11463422B1 · Kowalski · 2022 [cited by examiner]
US 20030023773A1 · Lee · 2003 [cited by examiner]
US 20110302132A1 · Muthuvelu · 2011 [cited by examiner]
US 20180357291A1 · Choi · 2018 [cited by examiner]
US 20200293920A1 · Chung · 2020 [cited by examiner]
US 20210067422A1 · Stavisski · 2021 [cited by examiner]
US 20210303154A1 · Zhang · 2021 [cited by examiner]
US 20220197682A1 · Nigro · 2022 [cited by examiner]
US 20240126745A1 · Krishnaswamy · 2024 [cited by examiner]
US 20250021377A1 · Gorge · 2025 [cited by examiner]
Wimmer, Christian et al., “Initialize Once, Start Fast: Application Initialization at Build Time”, Proc. ACM Program. Lang., vol. 3, No. OOPSLA, Article 184. Publication date: Oct. 2019, 29 pages. [cited by applicant]
Wimmer, Christian et al., “Initialize Once, Start Fast: Application Initialization at Build Time”, Initialize Once, Start Fast: Application Initialization at Build Time. Proc. ACM Program. Lang. 3, OOPSLA, Article 184, … [cited by applicant]
Kraft, Peter et al., “Apiary: A DBMS-Backed Transactional Function-as-a-Service Framework”, Aug. 2022, 14 pages. [cited by applicant]
Burckhardt, Sebastian et al., “Serverless Workflows with Durable Functions and Netherite”, Feb. 16, 2021, 14 pages. [cited by applicant]
Burckhardt, Sebastian et al., “Durable Functions: Semantics for Stateful Serverless”, roc. ACM Program. Lang. 5, OOPSLA, Article 133, Oct. 2021, 27 pages, available: https://doi.org/10.1145/3485510, 27 pages. [cited by applicant]