Prioritized execution of plans for obtaining and/or processing data
First Claim
1. A computer-implemented method of prioritizing execution of plans for obtaining and/or processing data based on partial execution of the plans, the method being implemented by a computer system that includes one or more physical processors executing one or more computer program instructions which, when executed, perform the method, the method comprising:
- determining, by the computer system, at least a first plan and a second plan for obtaining data from one or more data sources and/or processing the obtained data, wherein the first plan comprises utilizing a first path to obtain results related to at least one data set from a data source, and the second plan comprises utilizing a second path different from the first path to obtain results related to the at least one data set from the data source;
executing, by the computer system, the first plan and the second plan;
estimating, by the computer system, based on partial execution of the first plan, a first cost for fully executing the first plan, wherein the estimation of the first cost comprises estimating, based on the partial execution of the first plan, a first delay associated with presenting a set of results related to a data set when the first plan is used such that the first cost is estimated based on the estimated first delay;
estimating, by the computer system, based on partial execution of the second plan, a second cost for fully executing the second plan, wherein the estimation of the second cost comprises estimating, based on the partial execution of the second plan, a second delay associated with presenting a set of results related to the data set when the second plan is used such that the second cost is estimated based on the estimated second delay, and wherein the first cost and the second cost are estimated after the execution of the first plan and the execution of the second plan have begun and before the execution of the first plan and the execution of the second plan are completed; and
prioritizing, by the computer system, the execution of one of the first plan or the second plan over at least the execution of the other one of the first plan or the second plan based on a comparison of the estimated first cost and the estimated second cost, wherein the prioritization occurs after the execution of the first plan and the execution of the second plan have begun and before the execution of the first plan and the execution of the second plan are completed.
9 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods of prioritizing execution of plans for obtaining and/or processing data based on partial execution of the plans are presented herein. In certain implementations, one or more plans may be executed. Costs associated with individual ones of the plans may be estimated based on partial execution of respective ones of the plans. Based on a comparison between the estimated costs, the execution of at least one of plans may be prioritized over at least the execution of the other ones of the plans.
-
Citations
24 Claims
-
1. A computer-implemented method of prioritizing execution of plans for obtaining and/or processing data based on partial execution of the plans, the method being implemented by a computer system that includes one or more physical processors executing one or more computer program instructions which, when executed, perform the method, the method comprising:
-
determining, by the computer system, at least a first plan and a second plan for obtaining data from one or more data sources and/or processing the obtained data, wherein the first plan comprises utilizing a first path to obtain results related to at least one data set from a data source, and the second plan comprises utilizing a second path different from the first path to obtain results related to the at least one data set from the data source; executing, by the computer system, the first plan and the second plan; estimating, by the computer system, based on partial execution of the first plan, a first cost for fully executing the first plan, wherein the estimation of the first cost comprises estimating, based on the partial execution of the first plan, a first delay associated with presenting a set of results related to a data set when the first plan is used such that the first cost is estimated based on the estimated first delay; estimating, by the computer system, based on partial execution of the second plan, a second cost for fully executing the second plan, wherein the estimation of the second cost comprises estimating, based on the partial execution of the second plan, a second delay associated with presenting a set of results related to the data set when the second plan is used such that the second cost is estimated based on the estimated second delay, and wherein the first cost and the second cost are estimated after the execution of the first plan and the execution of the second plan have begun and before the execution of the first plan and the execution of the second plan are completed; and prioritizing, by the computer system, the execution of one of the first plan or the second plan over at least the execution of the other one of the first plan or the second plan based on a comparison of the estimated first cost and the estimated second cost, wherein the prioritization occurs after the execution of the first plan and the execution of the second plan have begun and before the execution of the first plan and the execution of the second plan are completed. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A system for prioritizing execution of plans for obtaining and/or processing data based on partial execution of the plans, the system comprising:
one or more physical processors programmed to execute one or more computer program instructions which, when executed, cause the one or more physical processors to; determine at least a first plan and a second plan for obtaining data from one or more data sources and/or processing the obtained data, wherein the first plan comprises utilizing a first path to obtain results related to at least one data set from a data source, and the second plan comprises utilizing a second path different from the first path to obtain results related to the at least one data set from the data source; execute the first plan and the second plan; estimate, based on partial execution of the first plan, a first cost for fully executing the first plan, wherein the estimation of the first cost comprises estimating, based on the partial execution of the first plan, a first delay associated with presenting a set of results related to a data set when the first plan is used such that the first cost is estimated based on the estimated first delay; estimate, based on partial execution of the second plan, a second cost for fully executing the second plan, wherein the estimation of the second cost comprises estimating, based on the partial execution of the second plan, a second delay associated with presenting a set of results related to the data set when the second plan is used such that the second cost is estimated based on the estimated second delay, and wherein the first cost and the second cost are estimated after the execution of the first plan and the execution of the second plan have begun and before the execution of the first plan and the execution of the second plan are completed; and prioritize the execution of one of the first plan or the second plan over at least the execution of the other one of the first plan or the second plan based on a comparison of the estimated first cost and the estimated second cost, wherein the prioritization occurs after the execution of the first plan and the execution of the second plan have begun and before the execution of the first plan and the execution of the second plan are completed. - View Dependent Claims (13, 14, 15, 16, 17, 18)
-
19. A computer-implemented method of prioritizing execution of plans for obtaining and/or processing data based on partial execution of the plans, the method being implemented by a computer system that includes one or more physical processors executing one or more computer program instructions which, when executed, perform the method, the method comprising:
-
determining, by the computer system, at least a first plan and a second plan for obtaining data from one or more data sources and/or processing the obtained data, wherein the first plan comprises utilizing a first path to obtain results related to at least one data set from a data source, and the second plan comprises utilizing a second path different from the first path to obtain results related to the at least one data set from the data source; executing, by the computer system, the first plan and the second plan; estimating, by the computer system, based on partial execution of the first plan, a first cost for fully executing the first plan wherein the estimation of the first cost comprises estimating, based on the partial execution of the first plan, first delays between updates to a presentation of a data set to a user when the first plan is used such that the first cost is estimated based on the estimated first delays; estimating, by the computer system, based on partial execution of the second plan, a second cost for fully executing the second plan, wherein the estimation of the second cost comprises estimating, based on the partial execution of the second plan, second delays between updates to a presentation of a data set to a user when the second plan is used such that the second cost is estimated based on the estimated second delays, and wherein the first cost and the second cost are estimated after the execution of the first plan and the execution of the second plan have begun and before the execution of the first plan and the execution of the second plan are completed; and prioritizing, by the computer system, the execution of one of the first plan or the second plan over at least the execution of the other one of the first plan or the second plan based on a comparison of the estimated first cost and the estimated second cost, wherein the prioritization occurs after the execution of the first plan and the execution of the second plan have begun and before the execution of the first plan and the execution of the second plan are completed. - View Dependent Claims (20, 21, 22, 23, 24)
-
Specification