IP Library Granted Patent US 8,239,383
Granted Patent B2
US 8,239,383 · App. 11/424,268 · Granted Aug 7, 2012

System and method for managing execution of queries against database samples

Assignee: International Business Machines Corporation
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,239,383
App. No.
11/424,268
Granted
Aug 7, 2012
Kind
B2
Abstract

A method, system and article of manufacture for query execution management and, more particularly, for managing execution of queries against database samples. One embodiment provides a computer-implemented method for managing execution of a query against a database having a multiplicity of data records. The method comprises receiving, from a requesting entity, a query against the database, and performing an automated execution process, comprising: (i) iteratively executing the query against samples of the database, each sample including a subset of the multiplicity of data records, (ii) after each iterative execution of the query, determining whether a query result obtained for the iterative execution satisfies a predefined condition, and (iii) if the predefined condition is not satisfied, performing a predefined action.

Claims (104)

1. A computer-implemented method for managing execution of a query against a database having a multiplicity of data records, comprising:

receiving, from a requesting entity, a query against the database; and

performing an automated execution process, comprising:

(i) iteratively executing the query against different samples of the database, each sample including a different subset of the multiplicity of data records;

(ii) after each iterative execution of the query, determining whether a query result obtained for the iterative execution satisfies a predefined condition; and

(iii) if the predefined condition is not satisfied, performing a predefined action.

2. The method of claim 1 , further comprising, prior to each iterative execution of the query:

selecting a plurality of data records from the multiplicity of data records, the plurality of data records defining a particular sample including a particular subset of the multiplicity of data records.

3. The method of claim 2 , wherein selecting the plurality of data records from the multiplicity of data records comprises:

for a given iterative execution, selecting only data records for the plurality of data records which are not included with a sample for any previous iterative execution of the query, whereby only non-overlapping samples of the database are selected for the iterative executions.

4. The method of claim 1 , wherein the predefined condition defines an allowable range of values for values obtained in each iterative execution of the query, and wherein the predefined condition is only satisfied if the obtained values are included with the allowable range.

5. The method of claim 1 , wherein performing the predefined action comprises:

interrupting the iterative execution of the query against the samples of the database; and

notifying the requesting entity that the predefined condition is not satisfied.

6. The method of claim 5 , further comprising:

in response to notifying the requesting entity, receiving a modified query from the requesting entity;

iteratively executing the modified query against one or more samples of the database;

after each iterative execution of the modified query, determining whether a query result obtained for the iterative execution satisfies the predefined condition; and

if the predefined condition is not satisfied, performing the predefined action.

7. The method of claim 5 , further comprising:

in response to notifying the requesting entity, receiving a modified predefined condition from the requesting entity;

resuming the iterative execution of the query against one or more samples of the database;

determining whether the query result obtained for each subsequent iterative execution of the query satisfies the modified condition; and

if the modified condition is not satisfied, performing the predefined action.

8. The method of claim 1 , further comprising, prior to iteratively executing the query against the samples of the database:

receiving alternative definitions from the requesting entity, the alternative definitions indicating at least one of:

(i) authorized modifications to the query; and

(ii) authorized modifications to the predefined condition.

9. The method of claim 8 , wherein performing the predefined action comprises:

interrupting the iterative execution of the query against the samples of the database;

generating a modified query on the basis of the authorized modifications to the query;

iteratively executing the modified query against one or more samples of the database;

after each iterative execution of the modified query, determining whether a query result obtained for the iterative execution satisfies the predefined condition; and

if the predefined condition is not satisfied, performing the predefined action.

10. The method of claim 8 , wherein performing the predefined action comprises:

interrupting the iterative execution of the query against the samples of the database;

generating a modified condition on the basis of the authorized modifications to the predefined condition;

resuming the iterative execution of the query against one or more samples of the database;

determining whether the query result obtained for each subsequent iterative execution of the query satisfies the modified condition; and

if the modified condition is not satisfied, performing the predefined action.

11. The method of claim 10 , further comprising:

determining whether all previous query results obtained for the iterative executions performed prior to receiving the modified condition satisfy the modified condition; and

if the modified condition is not satisfied by one or more of the previous query results, performing the predefined action.

12. A computer readable medium containing a program which, when executed, performs operations for managing execution of a query against a database having a multiplicity of data records, the operations comprising:

receiving, from a requesting entity, a query against the database; and

performing an automated execution process, comprising:

(i) iteratively executing the query against different samples of the database, each sample including a different subset of the multiplicity of data records;

(ii) after each iterative execution of the query, determining whether a query result obtained for the iterative execution satisfies a predefined condition; and

(iii) if the predefined condition is not satisfied, performing a predefined action.

13. The computer readable medium of claim 12 , wherein performing the automated execution process further comprises, prior to each iterative execution of the query:

selecting a plurality of data records from the multiplicity of data records, the plurality of data records defining a particular sample including a particular subset of the multiplicity of data records.

14. The computer readable medium of claim 13 , wherein selecting the plurality of data records from the multiplicity of data records comprises:

for a given iterative execution, selecting only data records for the plurality of data records which are not included with a sample for any previous iterative execution of the query, whereby only non-overlapping samples of the database are selected for the iterative executions.

15. The computer readable medium of claim 12 , wherein the predefined condition defines an allowable range of values for values obtained in each iterative execution of the query, and wherein the predefined condition is only satisfied if the obtained values are included with the allowable range.

16. The computer readable medium of claim 12 , wherein performing the predefined action comprises:

interrupting the iterative execution of the query against the samples of the database; and

notifying the requesting entity that the predefined condition is not satisfied.

17. The computer readable medium of claim 16 , wherein performing the automated execution process further comprises:

in response to notifying the requesting entity, receiving a modified query from the requesting entity;

iteratively executing the modified query against one or more samples of the database;

after each iterative execution of the modified query, determining whether a query result obtained for the iterative execution satisfies the predefined condition; and

if the predefined condition is not satisfied, performing the predefined action.

18. The computer readable medium of claim 16 , wherein performing the automated execution process further comprises:

in response to notifying the requesting entity, receiving a modified predefined condition from the requesting entity;

resuming the iterative execution of the query against one or more samples of the database;

determining whether the query result obtained for each subsequent iterative execution of the query satisfies the modified condition; and

if the modified condition is not satisfied, performing the predefined action.

19. The computer readable medium of claim 18 , wherein performing the automated execution process further comprises:

determining whether all previous query results obtained for the iterative executions performed prior to receiving the modified condition satisfy the modified condition; and

if the modified condition is not satisfied by one or more of the previous query results, performing the predefined action.

20. The computer readable medium of claim 12 , wherein performing the automated execution process further comprises, prior to iteratively executing the query against the samples of the database:

receiving alternative definitions from the requesting entity, the alternative definitions indicating at least one of:

(i) authorized modifications to the query; and

(ii) authorized modifications to the predefined condition.

21. The computer readable medium of claim 20 , wherein performing the predefined action comprises:

interrupting the iterative execution of the query against the samples of the database;

generating a modified query on the basis of the authorized modifications to the query;

iteratively executing the modified query against one or more samples of the database;

after each iterative execution of the modified query, determining whether a query result obtained for the iterative execution satisfies the predefined condition; and

if the predefined condition is not satisfied, performing the predefined action.

22. The computer readable medium of claim 20 , wherein performing the predefined action comprises:

interrupting the iterative execution of the query against the samples of the database;

generating a modified condition on the basis of the authorized modifications to the predefined condition;

resuming the iterative execution of the query against one or more samples of the database;

determining whether the query result obtained for each subsequent iterative execution of the query satisfies the modified condition; and

if the modified condition is not satisfied, performing the predefined action.

23. The computer readable medium of claim 22 , wherein performing the automated execution process further comprises:

determining whether all previous query results obtained for the iterative executions performed prior to receiving the modified condition satisfy the modified condition; and

if the modified condition is not satisfied by one or more of the previous query results, performing the predefined action.

24. A computer-implemented method for managing execution of a query against a database having a multiplicity of data records, comprising:

receiving, from a requesting entity, a query against the database; and

performing an automated execution process, comprising:

(i) iteratively executing the query against different samples of the database, each sample including a different subset of the multiplicity of data records;

(ii) after each iterative execution of the query, determining whether a query result obtained for the iterative execution satisfies a predefined condition; and

(iii) if the predefined condition is not satisfied, performing a predefined action;

wherein the predefined action comprises:

interrupting the iterative execution of the query against the samples of the database;

notifying the requesting entity that the predefined condition is not satisfied;

in response to notifying the requesting entity, receiving a modified predefined condition from the requesting entity;

resuming the iterative execution of the query against one or more samples of the database;

determining whether the query result obtained for each subsequent iterative execution of the query satisfies the modified condition;

if the modified condition is not satisfied, performing the predefined action;

determining whether all previous query results obtained for the iterative executions performed prior to receiving the modified condition satisfy the modified condition; and

if the modified condition is not satisfied by one or more of the previous query results, performing the predefined action.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 15, 2006
From: SANTOSUOSSO, JOHN M.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 017788/0362 →
Continuity (1)
Related Publication 20070294214A1 · Dec 20, 2007