Claims Analysis
Total Claims: 25
Claim 1
Independent Claim
109 words
A method for processing a request from a client, comprising the steps of: receiving the request by a database server that is executing in a first address space, the request specifying an operation to be executed by an external routine, wherein execution of said operation is necessary to execute the request; in response to the request, initiating a connection between the database server and an agent executing in a second address space separate from the first address space; causing the agent to execute the external routine to perform the operation; and processing the request by the database server based on results received from the agent executing the external routine.
Claim 2
Independent Claim
109 words
A method for processing a request from a client, comprising the steps of: receiving the request by a database server that is executing in a first address space, the request specifying an operation to be executed by an external routine, wherein execution of said operation is necessary to execute the request; in response to the request, initiating a connection between the database server and an agent executing in a second address space separate from the first address space; causing the agent to execute the external routine to perform the operation; and processing the request by the database server based on results received from the agent executing the external routine.
Claim 3
Dependent Claim
52 words
The method of claim 1, further comprising registering the external routine with the database server by: describing at least one argument of the external routine; creating a new procedure that specifies the at least one argument and a path to the external routine; and storing in a database table the new procedure.
Claim 4
Dependent Claim
42 words
The method of claim 2, wherein the step of registering an external routine with a database server further includes: creating a library for storing paths to locate respective stored external routines; and storing said path to the external routine in the library.
Claim 5
Dependent Claim
64 words
The method of claim 1, wherein the step of initiating a connection between the database server and an agent includes the steps of establishing a link with a listener agent external to the database server; causing the listener agent to transfer the link between the database server and the listener agent to the agent executing in the second address space to form said connection.
Claim 6
Dependent Claim
17 words
The method of claim 4, further comprising the step of initiating a new instance of said agent.
Claim 7
Dependent Claim
42 words
The method of claim 5, further comprising initiating another new instance of said agent in response to reception by the database server of a second request from a second client including an operation to be performed by one of the external processes.
Claim 8
Dependent Claim
32 words
The method of claim 5, further comprising initiating another new instance of said agent in response to the request including another operation to be processed by another one of said external processes.
Claim 9
Dependent Claim
81 words
The method of claim 1, wherein the step of causing the agent to execute the external routine includes: passing arguments corresponding to the operation to the agent for processing by the agent; receiving a first SQL statement from the agent during execution of the external routine; processing the first SQL statement within a same database instance executing the step of processing the request; and returning results from processing the first SQL statement back to the agent for processing of the operation.
Claim 10
Dependent Claim
25 words
The method of claim 8, wherein the step of receiving an SQL statement comprises receiving the first SQL statement from the agent via said connection.
Claim 11
Dependent Claim
21 words
The method of claim 8, further comprising suspending processing of the request in response to receipt of the first SQL statement.
Claim 12
Dependent Claim
25 words
The method of claim 10, further comprising sending a second invocation of an external routine to the agent for processing of the first SQL statement.
Claim 13
Dependent Claim
54 words
The method of claim 8, further comprising: receiving a plurality of recursive invocations of external routines from the agent during execution of the external routine; and recursively processing the plurality of SQL statements from the agent within the same database instance, each recursive processing performed within a common connection and within a common transaction.
Claim 14
Dependent Claim
15 words
The method of claim 1, further comprising registering the external routine with the database server.
Claim 15
Dependent Claim
131 words
A computer readable medium having stored thereon sequences of instructions for responding to a request for performance of an operation received by a server, the sequences of instructions including instructions for performing the steps of: receiving the request by a database server that is executing in a first address space, the request specifying an operation to be executed by an external routine, wherein execution of said operation is necessary to execute the request; in response to the request initiating a connection between the database server and an agent executing in a second address space separate from the first address space; causing the agent to execute the external routine to perform the operation; and processing the request by the database server based on results received from the agent executing the external routine.
Claim 16
Dependent Claim
131 words
A computer readable medium having stored thereon sequences of instructions for responding to a request for performance of an operation received by a server, the sequences of instructions including instructions for performing the steps of: receiving the request by a database server that is executing in a first address space, the request specifying an operation to be executed by an external routine, wherein execution of said operation is necessary to execute the request; in response to the request initiating a connection between the database server and an agent executing in a second address space separate from the first address space; causing the agent to execute the external routine to perform the operation; and processing the request by the database server based on results received from the agent executing the external routine.
Claim 17
Dependent Claim
88 words
A database system configured to respond to a statement, comprising: a local server process receiving the statement from the client and configured for identifying routines necessary for execution of the statement, the local server process including an interface configured for sending a request to execute an identified one of the routines; and an agent process configured for executing the identified routine in an address space separate from the local server process, the local server process completing execution of the statement based on results received from the agent process.
Claim 18
Dependent Claim
88 words
A database system configured to respond to a statement, comprising: a local server process receiving the statement from the client and configured for identifying routines necessary for execution of the statement, the local server process including an interface configured for sending a request to execute an identified one of the routines; and an agent process configured for executing the identified routine in an address space separate from the local server process, the local server process completing execution of the statement based on results received from the agent process.
Claim 19
Dependent Claim
40 words
The database system of claim 15, further comprising a dynamically-linked library storing a plurality of foreign routines executable by the agent process, the agent process selectively executing the identified one of the routines in response to reception of the request.
Claim 20
Dependent Claim
32 words
The database system of claim 16, wherein the dynamically-linked library is a dynamically linked library (DLL), the agent process selectively receiving arguments necessary for execution of the identified one of the routines.
Claim 21
Dependent Claim
61 words
The database server of claim 16, further comprising a listener agent configured for initiating execution of the agent process, wherein: the interface is configured for establishing a connection to the listener agent to send the request, and the listener agent is configured for selectively transferring the connection with the interface to the agent process for execution of the identified one routine.
Claim 22
Dependent Claim
19 words
The database system of claim 16, further comprising a database table for storing identifiers specifying the foreign routines, respectively.
Claim 23
Dependent Claim
42 words
The database system of claim 19, wherein the local server process identifies the identified one of the routines as a foreign routine executable by the agent process in response to accessing the database table, wherein the statement includes the corresponding stored identifier.
Claim 24
Dependent Claim
79 words
The database system of claim 15, wherein: the interface is configured to receive a second recursive invocation of an external routine from the agent process necessary for execution of the identified one routine by the agent process; and the local server process is configured for executing the second recursive invocation of an external routine within a same database instance executing the statement and returning second results for the second recursive invocation of an external routine to the agent process.
Claim 25
Dependent Claim
46 words
The database server of claim 21, wherein: the agent process is configured to store a context stack for executing external routines recursively; and the local server is configured to store a context stack for processing multiple statements from the agent process within the same database instance.