IP Library › Granted Patent US 12,461,777
Granted Patent B2
US 12,461,777 · App. 17/983,758 · Granted Nov 4, 2025

Direct launch for asynchronous actions

Inventors: Vadim Suvorov (Redmond, WA); Jonathan Luke Herman (Seattle, WA)
Assignee: Oracle International Corporation
G06F9/485G06F9/546G06F11/3419
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,461,777
App. No.
17/983,758
Filed
Nov 9, 2022
Granted
Nov 4, 2025
Kind
B2
Art Unit
2194
USPC
718/102
Abstract

Techniques are disclosed herein for a direct launch for asynchronous actions. An example method can include receiving, by a device, a first workflow request, wherein the device comprises a first launcher in operable communication with a second launcher via a shared queue, and wherein a first duplicate of the first workflow request is stored in the shared queue is to be retrieved by the second launcher upon an elapsing of a threshold time interval. The device can transmit the workflow request to an application for executing the first workflow request, wherein the transmission is prior to the threshold time elapsing. The device can determine whether the application initiated a workflow to process the workflow request. The device can update the first duplicate of the first workflow request stored at the shared queue based at least in part on the determination and prior to the threshold time interval elapsing.

Claims (43)

1 . A method, comprising;

receiving, by a computing device, a first workflow request, the device comprising a first launcher in communication with a second launcher via a shared queue, and a first duplicate of the first workflow request being stored in the shared queue to be retrieved by the second launcher upon an elapsing of a threshold time interval;

transmitting, by the computing device, the first workflow request to an application for executing the first workflow request, the transmission being prior to the threshold time elapsing;

determining, by the computing device, whether the application initiated a workflow to process the first workflow request;

in accordance with determining that the application initiated the workflow process to process the first workflow request and prior to the threshold time interval elapsing, updating, by the computing device, the first duplicate of the first workflow request stored at the shared queue;

generating a second duplicate of the first workflow request;

receiving a second workflow request via an application programming interface (API);

compressing the second duplicate of the first workflow request and the second workflow request into a batch; and

updating a first duplicate of the second workflow request based at least in part on the compression.

2 . The method of claim 1 , wherein the method further comprises generating a third launcher, based at least in part on a real-time performance metric of the device, wherein the second workflow request is received via the third launcher.

3 . The method of claim 1 , wherein updating the first duplicate of the first workflow request comprising generating an instruction based at least in part on compression of the second workflow request and the second duplicate of the first workflow request.

4 . The method of claim 1 , wherein the threshold time interval is based at least in part on a projected latency between the first duplicate of the first workflow request being loaded onto the shared queue and the second launcher retrieving the first duplicate of the first workflow request from the shared queue.

5 . The method of claim 1 , wherein the first workflow request is received via an in-memory queue.

6 . The method of claim 1 , wherein updating the duplicate of the first workflow request comprises deleting the duplicate of the first workflow request.

7 . A device, comprising:

a processor; and

a computer-readable medium including instructions that, when executed by the processor, cause the processor to perform operations comprising:

receiving, by a computing device, a first workflow request, the device comprising a first launcher in communication with a second launcher via a shared queue, and a first duplicate of the first workflow request being stored in the shared queue to be retrieved by the second launcher upon an elapsing of a threshold time interval;

transmitting, by the computing device, the first workflow request to an application for executing the first workflow request, the transmission being prior to the threshold time elapsing;

determining, by the computing device, whether the application initiated a workflow to process the first workflow request;

in accordance with determining that the application initiated the workflow process to process the first workflow request and prior to the threshold time interval elapsing, updating, by the computing device, the first duplicate of the first workflow request stored at the shared queue;

generating a second duplicate of the first workflow request;

receiving a second workflow request via an application programming interface;

compressing the second duplicate of the first workflow request and the second workflow request into a batch; and

updating a first duplicate of the second workflow request based at least in part on the compression.

8 . The device of claim 7 , wherein the instructions that, when executed by the processor, cause the processor to perform operations comprising generating a third launcher, based at least in part on a real-time performance metric of the device, wherein the second workflow request is received via the third launcher.

9 . The device of claim 7 , wherein generating the instruction is further based at least in part on compression of the second workflow request and the second duplicate of the first workflow request.

10 . The device of claim 7 , wherein the threshold time interval is based at least in part on a projected latency between the first duplicate of the first workflow request being loaded onto the shared queue and the second launcher retrieving the first duplicate of the first workflow request from the shared queue.

11 . The device of claim 7 , wherein the first workflow request is received via an in-memory queue.

12 . The device of claim 7 , wherein updating the duplicate of the first workflow request comprises deleting the duplicate of the first workflow request.

13 . A non-transitory, computer-readable medium having stored thereon a sequence of instructions which, when executed, causes a processor to perform operations comprising:

receiving, by a computing device, a first workflow request, the device comprising a first launcher in communication with a second launcher via a shared queue, and a first duplicate of the first workflow request being stored in the shared queue to be retrieved by the second launcher upon an elapsing of a threshold time interval;

transmitting, by the computing device, the first workflow request to an application for executing the first workflow request, the transmission being prior to the threshold time elapsing;

determining, by the computing device, whether the application initiated a workflow to process the first workflow request; and

in accordance with determining that the application initiated the workflow process to process the first workflow request and prior to the threshold time interval elapsing, updating, by the computing device, the first duplicate of the first workflow request stored at the shared queue;

generating a second duplicate of the first workflow request;

receiving a second workflow request via an application programming interface;

compressing the second duplicate of the first workflow request and the second workflow request into a batch; and

updating a first duplicate of the second workflow request based at least in part on the compression.

14 . The non-transitory, computer-readable medium of claim 13 , wherein the instructions that, when executed by the processor, cause the processor to perform operations comprising generating a third launcher, based at least in part on a real-time performance metric of the device, wherein the second workflow request is received via the third launcher.

15 . The non-transitory, computer-readable medium of claim 13 , wherein generating the instruction is further based at least in part on compression of the second workflow request and the second duplicate of the first workflow request.

16 . The non-transitory, computer-readable medium of claim 13 , wherein the threshold time interval is based at least in part on a projected latency between the first duplicate of the first workflow request being loaded onto the shared queue and the second launcher retrieving the first duplicate of the first workflow request from the shared queue.

17 . The non-transitory, computer-readable medium of claim 13 , wherein the first workflow request is received via an in-memory queue.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2022
From: SUVOROV, VADIM; HERMAN, JONATHAN LUKE
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 061712/0455 →
Continuity (1)
Related Publication 20240152389A1 · May 9, 2024
References Cited (17)
US 8949834B2 · Olston · 2015 [cited by applicant]
US 9183049B1 · Corley et al. · 2015 [cited by applicant]
US 10310896B1 · Kichak et al. · 2019 [cited by applicant]
US 10698767B1 · De Kadt · 2020 [cited by examiner]
US 11256547B2 · Casotto · 2022 [cited by applicant]
US 11522799B1 · Koutsikos Tsatsalmas · 2022 [cited by examiner]
US 20060048217A1 · Watkins · 2006 [cited by examiner]
US 20080209435A1 · Dong et al. · 2008 [cited by applicant]
US 20120060165A1 · Clarke · 2012 [cited by applicant]
US 20120303720A1 · Rajasekar · 2012 [cited by examiner]
US 20140188978A1 · Ng et al. · 2014 [cited by applicant]
US 20210405915A1 · Agarwal · 2021 [cited by examiner]
US 20230036900A1 · Liguori · 2023 [cited by examiner]
Hilman et al., “Workflow-as-a-Service Cloud Platform and Deployment of Bioinformatics Workflow Applications”, Available Online at: 2006.01957.pdf (arxiv.org), Apr. 2021, 29 pages. [cited by applicant]
Kumar et al., “An Approach to Workflow Scheduling Using Priority in Cloud Computing Environment”, International Journal of Computer Applications (0975-8887), vol. 109, No. 11, Available Online at: https://citeseerx.ist.… [cited by applicant]
Thyagarajan et al., “A Model for an Optimal Approach for Job Scheduling in Cloud Computing”, International Journal of Engineering Research & Technology (IJERT), vol. 2, Issue 10, Available Online at: https://www.ijert.o… [cited by applicant]
Wang et al., “Workflow as a Service in the Cloud: Architecture and Scheduling Algorithms”, Procedia Computer Science, vol. 29, Available Online at: https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5796789/, 2014, pp. 546-55… [cited by applicant]