# US 10,503,568 B2 · Asynchronous handling of service requests

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,503,568 B2
- Document ID: US10503568B2
- Status: Granted
- Kind: B2
- Application number: 15/993,031
- Filed: 2018-05-30
- Published: 2019-03-28
- Granted: 2019-12-10
- Earliest claimed: 2017-09-27
- Assignees: Oracle International Corporation
- Applicants: Oracle International Corporation
- Inventors: Yuvaraj Chandrasekaran
- Web page: https://patentgrep.com/patent/US10503568B2

## CPC

- G06F 9/542: {Event management; Broadcasting; Multicasting; Notifications}
- G06F 9/546: {Message passing systems or structures, e.g. queues}
- G06F 9/547: {Remote procedure calls [RPC]; Web services}
- G06F 2209/543: Local
- G06F 2209/544: Remote
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Techniques for asynchronous handling of service requests are disclosed. A service receives a request from a requesting entity. The request includes a function identifier and function input. Responsive to receiving the message, the service selects a first event handler to process the request. The service translates, via the first event handler, the function identifier to a native function call. The service initiates execution of the native function call using the function input, and receives output corresponding to the execution of the native function call. Responsive to receiving the output, the service selects a second event handler to process the output. The service generates, at least in part by the second event handler, a response based on the output. The service transmits the response to the requesting entity.

## Claims

### Claim 1

One or more non-transitory machine-readable media storing instructions which, when executed by one or more processors, cause:
receiving, from a requesting entity to a service, a request comprising a function identifier and function input;
responsive to receiving the request: selecting a first event handler, of a plurality of event handlers, to process the request;
translating, via the first event handler, the function identifier to a native function call;
initiating execution of the native function call using the function input;
receiving output corresponding to the execution of the native function call;
responsive to receiving the output corresponding to the execution of the native function call:
selecting a second event handler, of the plurality of event handlers, to process the output;
generating, at least in part by the second event handler, a response based on the output; and
transmitting the response to the requesting entity.

### Claim 2 (depends on 1)

The one or more media of claim 1, wherein selection of second event handler to process the output is independent of selection of the first event handler to process the request.

### Claim 3 (depends on 1)

The one or more media of claim 1, wherein selection of the event handler to process the output is independent of which event handler was selected to process the request.

### Claim 4 (depends on 1)

The one or more media of claim 1, wherein the first event handler does not handle the output corresponding to the native function call.

### Claim 5 (depends on 1)

The one or more media of claim 1, further storing instructions which, when executed by one or more processors, cause:
terminating the first event handler prior to receiving the output corresponding to the execution of the native function call.

### Claim 6 (depends on 1)

The one or more media of claim 1, wherein selecting the first event handler comprises instantiating the first event handler and selecting the second event handler comprises instantiating the second event handler.

### Claim 7 (depends on 1)

The one or more media of claim 1, wherein the request further comprises a callback uniform resource locator (URL), and wherein transmitting the response comprises accessing the callback URL.

### Claim 8 (depends on 1)

The one or more media of claim 1, wherein the response indicates a location where the output corresponding to the execution of the native function call is stored, the location being accessible to the requesting entity.

### Claim 9 (depends on 1)

The one or more media of claim 1, wherein the response comprises the output corresponding to the execution of the native function call.

### Claim 10 (depends on 1)

The one or more media of claim 1, further storing instructions which, when executed by one or more processors, cause:
converting, before instantiating the first event handler, the request to a normalized message format associated with the first event handler.

### Claim 11 (depends on 10)

The one or more media of claim 10, further storing instructions which, when executed by one or more processors, cause:
converting, before instantiating the second event handler, the output to the normalized message format.

### Claim 12 (depends on 1)

The one or more media of claim 1, further storing instructions which, when executed by one or more processors, cause:
converting, before transmitting the response to the requesting entity, the response to a message format supported by the requesting entity.

### Claim 13 (depends on 1)

The one or more media of claim 1, wherein the function identifier identifies a package of functions and a particular function in the package of functions.

### Claim 14 (depends on 1)

The one or more media of claim 1, wherein selecting the first event handler is based on at least one system optimization criterion.

### Claim 15 (depends on 14)

The one or more media of claim 14, wherein the at least one system optimization criterion comprises a load balancing criterion.

### Claim 16 (depends on 1)

The one or more media of claim 1, wherein the service maintains a persistent connection with the requesting entity from (a) receiving the request to (b) transmitting the response.

### Claim 17 (depends on 1)

The one or more media of claim 1, wherein the plurality of event handlers comprises a pre-instantiated pool of event handlers.

### Claim 18 (depends on 1)

The one or more media of claim 1, wherein the service is a web service.

### Claim 19

A system comprising:
at least one device including a hardware processor;
the system being configured to perform operations comprising:
receiving, from a requesting entity to a service, a request comprising a function identifier and function input;
responsive to receiving the request: selecting a first event handler, of a plurality of event handlers, to process the request;
translating, via the first event handler, the function identifier to a native function call;
initiating execution of the native function call using the function input;
receiving output corresponding to the execution of the native function call;
terminating the first event handler prior to receiving the output corresponding to the execution of the native function call, wherein the first event handler does not handle the output corresponding to the native function call;
responsive to receiving the output corresponding to the execution of the native function call:
selecting a second event handler, of the plurality of event handlers, to process the output;
generating, at least in part by the second event handler, a response based on the output; and
transmitting the response to the requesting entity.

### Claim 20

A method comprising:
receiving, from a requesting entity to a service, a request comprising a function identifier and function input;
responsive to receiving the request: selecting a first event handler, of a plurality of event handlers, to process the request;
translating, via the first event handler, the function identifier to a native function call;
initiating execution of the native function call using the function input;
receiving output corresponding to the execution of the native function call;
responsive to receiving the output corresponding to the execution of the native function call:
selecting a second event handler, of the plurality of event handlers, to process the output;
generating, at least in part by the second event handler, a response based on the output; and
transmitting the response to the requesting entity;
wherein the method is performed by at least one device comprising a hardware processor.
