Method and apparatus for implementing recursive remote procedure calls
First Claim
Patent Images
1. A computer-implemented method for operating a database server, the method comprising:
- receiving a database request message by a database server from a client, the database request message including a user-defined extension (UDE) portion to be processed by a UDE server;
generating a procedure request by the database server, the procedure request formatted as a packet including a tag identifying the procedure request;
establishing a call stack by the database server associated with the procedure request;
transmitting the procedure request from the database server to the UDE server based on the UDE portion of the database request message;
receiving the procedure request by the UDE server;
establishing a call stack by the UDE server to manage processing of the procedure request received by the UDE server;
determining if a response received from the UDE server by the database server is a procedure reply in response to the procedure request, the determining based on a comparison of the tag of the procedure request and a tag identifying the procedure reply;
updating the call stack of the database server and the call stack of the UDE server in the instance the determination concludes the response received from the UDE server is not the procedure reply in response to the procedure request and is for an intermediate process between the database server and the UDE server to process the intermediate process;
closing the call stack of the database server and the call stack of the UDE server in the instance the determination determines the response received from the UDE server by the database server is the procedure reply in response to the procedure request, the procedure reply formatted as a packet and including the tag identifying the procedure reply; and
outputting a database reply to the client in the instance the determination concludes the response received from the UDE server is the procedure reply in response to the procedure request.
2 Assignments
0 Petitions
Accused Products
Abstract
A system, method, apparatus, means and computer program code for operating a database server are provided including receiving a database request message, the database request message including a user-defined extension (UDE) portion to be processed by a UDE server, transmitting a procedure request to the UDE server based on the UDE portion of the database request message, and determining if a response received from the UDE server is a reply to the procedure request before closing a call stack associated with the database request message.
-
Citations
12 Claims
-
1. A computer-implemented method for operating a database server, the method comprising:
-
receiving a database request message by a database server from a client, the database request message including a user-defined extension (UDE) portion to be processed by a UDE server; generating a procedure request by the database server, the procedure request formatted as a packet including a tag identifying the procedure request; establishing a call stack by the database server associated with the procedure request; transmitting the procedure request from the database server to the UDE server based on the UDE portion of the database request message; receiving the procedure request by the UDE server; establishing a call stack by the UDE server to manage processing of the procedure request received by the UDE server; determining if a response received from the UDE server by the database server is a procedure reply in response to the procedure request, the determining based on a comparison of the tag of the procedure request and a tag identifying the procedure reply; updating the call stack of the database server and the call stack of the UDE server in the instance the determination concludes the response received from the UDE server is not the procedure reply in response to the procedure request and is for an intermediate process between the database server and the UDE server to process the intermediate process; closing the call stack of the database server and the call stack of the UDE server in the instance the determination determines the response received from the UDE server by the database server is the procedure reply in response to the procedure request, the procedure reply formatted as a packet and including the tag identifying the procedure reply; and outputting a database reply to the client in the instance the determination concludes the response received from the UDE server is the procedure reply in response to the procedure request. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A database system, comprising:
-
a memory storing processor-executable process instructions; an interface for receiving a database request message from a client device; and at least a first processor in communication with the memory and operative in conjunction with the stored process instructions to; process the database request message to identify a user-defined extension (UDE) portion to be processed by a UDE server; generate a procedure request by a database server, the procedure request formatted as a packet including a tag identifying the procedure request; establish a call stack associated with the database request message to track the procedure request based on the UDE portion; transmit the procedure request to the UDE server; receive the procedure request by the UDE server; establish a call stack by the UDE server to manage processing of the procedure request received by the UDE server; determine if a response received from the UDE server by the database server is a procedure reply in response to the procedure request, the determining based on a comparison of the tag of the procedure request and a tag identifying the procedure reply; update the call stack of the database server and the call stack of the UDE server in the instance the determination concludes the response received from the UDE server is not the procedure reply in response to the procedure request and is for an intermediate process between the database server and the UDE server to process the intermediate process; closing the call stack of the database server and the call stack of the UDE server in the instance the determination determines the response received from the UDE server by the database server is the procedure reply in response to the procedure request, the procedure reply formatted as a packet and including the tag identifying the procedure reply; and output a database reply to the client in the instance the determination concludes the response received from the UDE server is the procedure reply in response to the procedure request. - View Dependent Claims (9)
-
-
10. A medium storing processor-executable instructions when executed by a computer to perform the stored instructions, the medium comprising:
-
instructions to process a database request message to identify a user-defined extension (UDE) portion to be processed by a UDE server; instructions to generate a procedure request by a database server, the procedure request formatted as a packet including a tag identifying the procedure request; instructions to establish a call stack associated with the database request to track the procedure request based on the UDE portion; instructions to transmit the procedure request to the UDE server; instructions to receive the procedure request by the UDE server; instructions to establish a call stack by the UDE server to manage processing of the procedure request received by the UDE server; instructions to determine if a response received from the UDE server by the database server is a procedure reply in response to the procedure request, the determining based on a comparison of the tag of the procedure request and a tag identifying the procedure reply; instructions to update the call stack of the database server and the call stack of the UDE server in the instance the determination concludes the response received from the UDE server is not the procedure reply in response to the procedure request and is for an intermediate process between the database server and the UDE server to process the intermediate process; instructions to close the call stack of the database server and the call stack of the UDE server in the instance the determination determines the response received from the UDE server by the database server is the procedure reply in response to the procedure request, the procedure reply formatted as a packet and including the tag identifying the procedure reply; and instructions to output a database reply to the client in the instance the determination concludes the response received from the UDE server is the procedure reply in response to the procedure request, wherein the instructions stored on the processor-executable medium are executed by a processor. - View Dependent Claims (11, 12)
-
Specification