Distributed query cache in a database system
First Claim
1. A method comprising:
- parsing a user query at a client to identify a skeletal query form corresponding to the user query and one or more arguments associated with the user query, receiving a request from the client of a plurality of clients for a compiled skeletal query corresponding to the identified skeletal query form, the compiled skeletal query including machine code that is executable directly by a processing system for accessing records of a database;
searching a server cache to determine whether the compiled skeletal query corresponding to the identified skeletal query form from another client of the plurality of clients is available;
upon determining that the compiled skeletal query is available;
providing access to the compiled skeletal query to the client, in response to the request;
executing the compiled skeletal query at the client using the arguments associated with the user query; and
providing results of the executing of the compiled skeletal query in response to the user query; and
upon determining that the compiled skeletal query is not available;
creating a new compiled skeletal query corresponding to the identified skeletal query form, the new compiled skeletal query comprising executable machine code for accessing records of the database;
executing the new compiled skeletal query at the client using the one or more arguments associated with the user query; and
providing results of the executing of the new compiled skeletal query in response to the user query.
7 Assignments
0 Petitions
Accused Products
Abstract
A distributed query system includes a distributed collection of dynamically created compiled queries. As each client submits a query, a parameterized query skeleton is identified, which identifies the general form of the query, and the parameters associated with the particular query. If a compiled form of the skeletal query is available within the distributed system, it is executed with the parameters of the current query. If the compiled form of the skeletal query is not available within the distributed system, a compiled form is created, and the location of this compiled skeletal query is stored for subsequent access by this client, or other clients. The executable compiled skeletal queries may be stored at each client system, or in a commonly available server storage system.
13 Citations
22 Claims
-
1. A method comprising:
-
parsing a user query at a client to identify a skeletal query form corresponding to the user query and one or more arguments associated with the user query, receiving a request from the client of a plurality of clients for a compiled skeletal query corresponding to the identified skeletal query form, the compiled skeletal query including machine code that is executable directly by a processing system for accessing records of a database; searching a server cache to determine whether the compiled skeletal query corresponding to the identified skeletal query form from another client of the plurality of clients is available; upon determining that the compiled skeletal query is available; providing access to the compiled skeletal query to the client, in response to the request; executing the compiled skeletal query at the client using the arguments associated with the user query; and providing results of the executing of the compiled skeletal query in response to the user query; and upon determining that the compiled skeletal query is not available; creating a new compiled skeletal query corresponding to the identified skeletal query form, the new compiled skeletal query comprising executable machine code for accessing records of the database; executing the new compiled skeletal query at the client using the one or more arguments associated with the user query; and providing results of the executing of the new compiled skeletal query in response to the user query. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A non-transitory computer-readable medium that includes a computer program, which, when executed by a processing system at a client causes the processing system to:
-
receive a user query at a client for selecting data from a database; parse the user query to identify a skeletal query form corresponding to the user query and one or more arguments associated with the user query; access a server cache that is in communication with other clients to determine whether a compiled skeletal query from an other client corresponding to the identified skeletal query form is available, the compiled skeletal including machine code that is executable directly by the processing system for accessing records of the database; and upon determining that the compiled skeletal query is available; execute the compiled skeletal query using the one or more arguments of the user query, and provide results of the executing of the compiled skeletal query in response to the user query; and upon determining that the compiled skeletal query is not available; create a new compiled skeletal query corresponding to the identified skeletal query form; execute the new compiled skeletal query using the one or more arguments associated with the user query; and provide results of the executing of the compiled skeletal query in response to the user query. - View Dependent Claims (9, 10, 11)
-
-
12. A non-transitory computer-readable medium that includes a computer program, which, when executed by a processing system at a server causes the processing system to:
-
receive a request from a client of a plurality of clients for a compiled skeletal query corresponding to an identified skeletal query form, the compiled skeletal query including machine code that is executable directly by the processing system for accessing records of a database; determine whether the compiled skeletal query from another client corresponding to the identified skeletal query form is available; and
,upon determining that the compiled skeletal query is available, providing access to the compiled skeletal query to the client, in response to the request; and
,upon determining that the compiled skeletal query is not available, the client; creates a new compiled skeletal query corresponding to the identified skeletal query form, the compiled skeletal query comprising executable machine code for accessing records of the database, and provides access to the new compiled skeletal query to the processing system at the server, to facilitate access to the new compiled skeletal query by the plurality of clients. - View Dependent Claims (13, 14, 15, 16)
-
-
17. A system comprising:
-
a plurality of clients; and a server cache; wherein; a client of the plurality of clients parses a user query to identify a skeletal query form corresponding to the user query and one or more arguments associated with the user query for accessing records of a database, and communicates a request to the server cache to access to a compiled skeletal query from an other client corresponding to the identified skeletal query form, the compiled skeletal query including machine code that is executable directly by the processing system for accessing records of the database; upon determining, at the server cache, that the compiled skeletal query is available; the server cache provides access to the compiled skeletal query to the client; and the client executes the compiled skeletal query using the one or more arguments of the user query, and provides results of the execution of the compiled skeletal query in response to the user query; and upon determining, at the server cache, that the compiled skeletal query is not available, the client; compiles a new compiled skeletal query corresponding to the skeletal query form, the new compiled skeletal query comprising executable machine code for accessing records of the database, executes the new compiled skeletal query using the one or more arguments of the user query, and provides results of the execution of the new compiled skeletal query in response to the user query. - View Dependent Claims (18, 19, 20, 21, 22)
-
Specification