Repetitive query recognition and processing
First Claim
Patent Images
1. A non-transitory computer readable medium comprising instructions, the instructions operable when executed by a processor to:
- receive a second database query comprising a second connection identifier, the second connection identifier comprising a user identifier, a session identifier, and a database identifier;
determine whether a queue for unexecuted database queries contains a first database query comprising a first connection identifier, the first connection identifier comprising a user identifier, a session identifier, and a database identifier, wherein the user identifier, the session identifier, and the database identifier of the first connection identifier are the same as the user identifier, the session identifier, and the database identifier of the second connection identifier;
if the queue contains the first database query, identify the second database query as being a duplicate of the first database query;
receive one set of query results for the first database query from a database server; and
forward the set of query results to both a first client associated with the first connection identifier and a second client associated with the second connection identifier.
2 Assignments
0 Petitions
Accused Products
Abstract
Processing repetitive database queries may include receiving a database query having a connection identifier, determining whether a queue for database queries contains an earlier database query matching the received database query, identifying the second database query as matching the first database query if the queue contains an earlier matching database query, receiving query results for the earlier matching database query from a database server, and forwarding query results to the clients associated with both database queries using corresponding connection identifiers.
-
Citations
17 Claims
-
1. A non-transitory computer readable medium comprising instructions, the instructions operable when executed by a processor to:
-
receive a second database query comprising a second connection identifier, the second connection identifier comprising a user identifier, a session identifier, and a database identifier; determine whether a queue for unexecuted database queries contains a first database query comprising a first connection identifier, the first connection identifier comprising a user identifier, a session identifier, and a database identifier, wherein the user identifier, the session identifier, and the database identifier of the first connection identifier are the same as the user identifier, the session identifier, and the database identifier of the second connection identifier; if the queue contains the first database query, identify the second database query as being a duplicate of the first database query; receive one set of query results for the first database query from a database server; and forward the set of query results to both a first client associated with the first connection identifier and a second client associated with the second connection identifier. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. An apparatus comprising:
-
an interface operable to receive unexecuted database queries; a memory operable to store one or more of the received unexecuted database queries in a queue; a processor communicatively coupled to the interface and the memory, the processor operable to; receive a second database query comprising a second connection identifier from the interface, the second connection identifier comprising a user identifier, a session identifier, and a database identifier; determine whether the queue contains a first database query comprising a first connection identifier, the first connection identifier comprising a user identifier, a session identifier, and a database identifier, wherein the user identifier, the session identifier, and the database identifier of the first connection identifier are the same as the user identifier, the session identifier, and the database identifier of the second connection identifier; if the queue contains the first database query, identify the second database query as being a duplicate of the first database query; receive one set of query results for the first database query from a database server; and forward the set of query results to both a first client associated with the first connection identifier and a second client associated with the second connection identifier. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A method, comprising:
-
receiving a second database query comprising a second connection identifier, the second connection identifier comprising a user identifier, a session identifier, and a database identifier; determining whether a queue for unexecuted database queries contains a first database query comprising a first connection identifier, the first connection identifier comprising a user identifier, a session identifier, and a database identifier, wherein the user identifier, the session identifier, and the database identifier of the first connection identifier are the same as the user identifier, the session identifier, and the database identifier of the second connection identifier; if the queue contains the first database query, identifying the second database query as being a duplicate of the first database query; receiving one set of query results for the first database query from a database server; and forwarding the set of query results to both a first client associated with the first connection identifier and a second client associated with the second connection identifier. - View Dependent Claims (14, 15, 16, 17)
-
Specification