IP Library › Granted Patent US 8,332,390
Granted Patent B2
US 8,332,390 · App. 12/758,608 · Granted Dec 11, 2012

Information value-driven near real-time decision support

Assignee: SAP AG
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,332,390
App. No.
12/758,608
Granted
Dec 11, 2012
Kind
B2
Abstract

Information-based decision support may be provided by a query handler configured to receive a query which is applicable against different combinations of a plurality of remote databases and a corresponding plurality of replica databases including at least some replicated data of respective ones of the remote databases, wherein each replica database is synchronized with a corresponding remote database at a plurality of synchronization times and the different combinations include future versions of the replica databases defined by corresponding synchronization times. A query plan generator may be configured to determine information values associated with at least a subset of the different combinations, based on a query value associated with the query and on a diminishment of the query value caused by a corresponding combination, and further configured to generate, based on the information values, a query plan including at least one combination of the different combinations for executing the query therewith.

Claims (52)

1. A computer system including instructions recorded on a computer-readable medium, the system comprising:

at least one processor processor; and

a query handler configured to cause the at least one processor to receive a query for application against different combinations of a plurality of remote databases and a corresponding plurality of replica databases including at least some replicated data of respective ones of the remote databases, wherein each replica database is synchronized with a corresponding remote database at a plurality of scheduled synchronization times and the different combinations include future versions of the replica databases defined by corresponding synchronization times; and

a query plan generator configured to

cause the at least one processor to determine information values associated with at least a subset of the different combinations using an information value calculator that comprises:

a computational latency (CL) calculator configured to cause the at least one processor to determine a time between a receipt of a result of the query and an issuance of the query for a particular combination;

a synchronization latency (SL) calculator configured to cause the at least one processor to determine a time, for the particular combination, between the receipt of the result of the query and a relevant synchronization time of the plurality of scheduled synchronization times that is prior to or concurrent with the issuance of the query, and

a parameter manager configured to cause the at least one processor to determine decay rates λ CL and λ SL for defining an extent of diminishment associated with each of the computational latency and the synchronization latency, respectively,

wherein the information value calculator calculates the information value (IV) for the particular combination using the formula IV=QV(1-λ CL ) CL (1-λ SL ) SL , where QV refers to a query value associated with the query, and

further configured to cause the at least one processor to generate, based on the information values, a query plan including at least one combination of the different combinations for executing the query therewith.

2. The system of claim 1 , wherein the parameter manager is further configured to cause the at least one processor to assign a value to the query value based on rules or current conditions of the system.

3. The system of claim 1 wherein the query value is a relative term normalized to be a value between zero and one.

4. The system of claim 1 further comprising a query re-writer configured to cause the at least one processor to convert the query into a time-stamp based query for use by the query plan generator, wherein the time-stamp based query is defined by an earliest last synchronization time stamp among all replicated tables of the replica databases to be involved in the query plan.

5. The system of claim 1 further comprising a search space manager configured to cause the at least one processor to reduce a search space of the different combinations to be searched by the query plan generator when generating the query plan, including determining a query plan boundary which excludes combinations having an information value lower than a current optimal information value of a current optimal query plan.

6. The system of claim 5 further comprising a query plan selector configured to cause the at least one processor to:

determine when the search space is sufficiently restricted; and

select the query plan from query plans remaining in the search space.

7. The system of claim 1 further comprising a workload manager configured to cause the at least one processor to include the query within a group of queries and to determine the query plan as part of an optimization of an information value of the group of queries as a whole.

8. The system of claim 7 wherein the workload manager comprises a group generator configured to cause the at least one processor to determine a plurality of queries as having associated query plans and time ranges for execution thereof, and to cause the at least one processor to define the group of queries from the plurality of queries, based on an overlap of the time ranges.

9. The system of claim 8 wherein the workload manager comprises a sequence manager configured to cause the at least one processor to optimize the information value of the group of queries including determining a sequence of the queries associated with the optimized information value.

10. The system of claim 9 wherein the workload manager comprises a genetic algorithm manager configured to cause the at least one processor to express sequences of the queries of the group of queries as chromosomes, and configured to evaluate the chromosomes to obtain a subset for recombination thereof into a next generation of chromosomes.

11. A computer-implemented method, comprising:

receiving a query for application against different combinations of a plurality of remote databases and a corresponding plurality of replica databases including at least some replicated data of respective ones of the remote databases, wherein each replica database is synchronized with a corresponding remote database at a plurality of scheduled synchronization times and the different combinations include future versions of the replica databases defined by corresponding synchronization times;

determining information values associated with at least a subset of the different combinations by:

determining a computational latency (CL) for a particular combination as a time between a receipt of a result of the query and an issuance of the query,

determining a synchronization latency (SL) for the particular combination as a time between the receipt of the result of the query and a relevant synchronization time of the plurality of scheduled synchronization times that is prior to or concurrent with the issuance of the query,

determining decay rates λ CL and λ SL for defining an extent of diminishment associated with each of the computational latency and the synchronization latency, respectively, and

calculating the information value (IV) for the particular combination using the formula IV=QV(1-λ CL ) CL (1-λ SL ) SL , where QV refers to a query value associated with the query; and

generating, based on the information values, a query plan including at least one combination of the different combinations for executing the query therewith.

12. The method of claim 11 , wherein generating a query plan comprises:

reducing a search space of the different combinations to be searched, including determining a query plan boundary which excludes combinations having an information value lower than a current optimal information value of a current optimal query plan.

13. The method of claim 12 , further comprising

determining when the search space is sufficiently restricted; and

selecting the query plan from query plans remaining in the search space.

14. The method of claim 11 further comprising:

including the query within a group of queries; and

determining the query plan as part of an optimization of an information value of the group of queries as a whole.

15. The method of claim 14 wherein determining the query plan as part of an optimization of an information value of the group of queries as a whole comprises:

executing a genetic algorithm used to optimize the information value of the group of queries as a whole including determining a sequence of the queries associated with the optimized information value expressed as a chromosome of the genetic algorithm.

16. A computer program product, the computer program product being tangibly embodied on a computer-readable storage device and comprising instructions that, when executed, are configured to:

receive a query for application against different combinations of a plurality of remote databases and a corresponding plurality of replica databases including at least some replicated data of respective ones of the remote databases, wherein each replica database is synchronized with a corresponding remote database at a plurality of scheduled synchronization times and the different combinations include future versions of the replica databases defined by corresponding synchronization times;

determine information values associated with at least a subset of the different combinations by:

determining a computational latency (CL) for a particular combination as a time between a receipt of a result of the query and an issuance of the query, and

determining a synchronization latency (SL) for the particular combination as a time between the receipt of the result of the query and a relevant synchronization time of the plurality of scheduled synchronization times that is prior to or concurrent with the issuance of the query,

determining decay rates λ CL and λ SL for defining an extent of diminishment associated with each of the computational latency and the synchronization latency, respectively, and

calculating the information value (IV) for the particular combination using the formula IV=QV(1-λ CL ) CL (1-λ SL ) SL , where QV refers to a query value associated with the query; and

generate, based on the information values, a query plan including at least one combination of the different combinations for executing the query therewith.

17. The computer program product of claim 16 wherein the instructions, when executed, are further configured to:

reduce a search space of the different combinations to be searched, including determining a query plan boundary which excludes combinations having an information value lower than a current optimal information value of a current optimal query plan.

18. The computer program product of claim 17 wherein the instructions, when executed, are further configured to:

include the query within a group of queries; and

determine the query plan as part of an optimization of an information value of the group of queries as a whole.

Assignments (2)
CHANGE OF NAME Recorded Aug 26, 2014
From: SAP AG
To: SAP SE
Reel/Frame 033625/0334 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 9, 2011
From: YAN, YING; LI, WEN-SYAN; XU, JIAN
To: SAP AG
Reel/Frame 025776/0051 →
Priority Claims (1)
CN 2009 1 0163949 · Jun 12, 2009 · national
Continuity (2)
Provisional Application 61220554 · Jun 25, 2009
Related Publication 20100318559A1 · Dec 16, 2010