IP Library › Granted Patent US 10,366,094
Granted Patent B2
US 10,366,094 · App. 15/296,897 · Granted Jul 30, 2019

Data access using aggregation

Inventors: Zoltan Albrecht (Karlsruhe, DE); Ulrich Hanno Peter Christoph Keil (Ramsen, DE)
Assignee: SAP SE
G06F16/2477G06F16/2228G06F16/248
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 10,366,094
App. No.
15/296,897
Granted
Jul 30, 2019
Kind
B2
Abstract

Methods, systems, and computer program products for accessing data in a data structure are described. Data from a write data structure is read and aggregated into a plurality of data buckets, each data bucket corresponding to a time window. Each data bucket is stored in a read data structure.

Claims (56)

1. A computerized method for accessing information organized by time, the method comprising:

reading data from a write data structure in a database;

aggregating, using one or more hardware processors, the data to generate a plurality of data buckets associated with a corresponding plurality of time windows, wherein a first data bucket of the plurality of data buckets corresponds to a first time window of the plurality of time windows, and a second data bucket of the plurality of data buckets corresponds to a second time window of the plurality of time windows, the second time window being shorter than the first time window;

storing the plurality of data buckets in a read data structure in the database;

receiving a time constraint associated with a data query to the database, the time constraint describing a time period;

selecting the first data bucket for responding to the data query, wherein selecting the first data bucket comprises:

determining that at least a portion of the first data bucket satisfies the data query; and

determining that the first time window is a longest time window of the plurality of time windows that is within the time period;

selecting the second data bucket for responding to the data query, wherein selecting the second data bucket comprises:

determining that at least a portion of the second data bucket satisfies the data query; and

determining that the second time window is within the time period, wherein the second time window and the first time window do not overlap; and

providing a query response to the data query, the query response comprising at least a portion of the first data bucket and at least a portion of the second data bucket.

2. The computerized method of claim 1 , wherein the aggregation summarizes the data.

3. The computerized method of claim 1 , wherein the aggregation summarizes the data by counting a number of occurrences of a same data type during the corresponding time window.

4. The computerized method of claim 1 , wherein the aggregation summarizes the data by summing a value of each occurrence of a same data type during the corresponding time window.

5. The computerized method of claim 1 , wherein the first time window has a length of one hour, one day, one week, one month, or one year.

6. The computerized method of claim 1 , wherein a plurality of the data buckets are aggregated at least partially from a same portion of data of the write data structure.

7. The computerized method of claim 1 , further comprising selecting at least one additional data bucket for responding to the data query such that every portion of the time constraint has a corresponding selected data bucket.

8. An apparatus for configuring runtime bundles on a computer, the apparatus comprising:

one or more hardware processors;

memory to store instructions that, when executed by he one or more hardware processors perform operations comprising:

reading data from a write data structure in a database;

aggregating, using one or more hardware processors, the data to generate a plurality of data buckets associated with a corresponding plurality of time windows, wherein a first data bucket of the plurality of data buckets corresponds to a first time window of the plurality of time windows, and a second data bucket of the plurality of data buckets corresponds to a second time window of the plurality of time windows, the second time window being shorter than the first time window;

storing the plurality of data buckets in a read data structure in the database;

receiving a time constraint associated with a data query to the database, the time constraint describing a time period;

selecting the first data bucket for responding to the data query, wherein selecting the first data bucket comprises:

determining that at least a portion of the first data bucket satisfies the data query; and

determining that the first time window is a longest time window of the plurality of time windows that is within the time period;

selecting the second data bucket for responding to the data query, wherein selecting the second data bucket comprises:

determining that at least a portion of the second data bucket satisfies the data query; and

determining that the second time window is within the time period, wherein the second time window and the first time window do not overlap; and

providing a query response to the data query the query response comprising at least a portion of the first data bucket and at least a portion of the second data bucket.

9. The apparatus of claim 8 , wherein the aggregation summarizes the data.

10. The apparatus of claim 8 , wherein the aggregation summarizes the data by counting a number of occurrences of a same data type during the corresponding time window.

11. The apparatus of claim 8 , wherein the aggregation summarizes the data by summing a value of each occurrence of a same data type during the corresponding time window.

12. The apparatus of claim 8 , wherein the time window has a length of one hour, one day, one week, one month, or one year.

13. The apparatus of claim 8 , wherein a plurality of the data buckets are aggregated at least partially from a same portion of data of the write data structure.

14. The apparatus of claim 8 , the operations further comprising selecting at least one additional data bucket for responding to the data query such that every portion of the time constraint has a corresponding selected data bucket.

15. A non-transitory machine-readable storage medium comprising instructions, which when implemented by one or more machines, cause the one or more machines to perform operations comprising:

reading data from a write data structure in a database;

aggregating, using one or more hardware processors, the data to generate a plurality of data buckets associated with a corresponding plurality of time windows, wherein a first data bucket of the plurality of data buckets corresponds to a first time window of the plurality of time windows, and a second data bucket of the plurality of data buckets corresponds to a second time window of the plurality of time windows, the second time window being shorter than the first time window; and

storing the plurality of data bucket in a read data structure in the database;

receiving a time constraint associated with a data query to the database, the time constraint describing a time period;

selecting the first data bucket for responding to the data query, wherein selecting the first data bucket comprises:

determining that at least a portion of the first data bucket satisfies the data query; and

determining that the first time window is a longest time window of the plurality of time windows that is within the time period;

selecting the second data bucket for responding to the data query, wherein selecting the second data bucket comprises:

determining that at least a portion of the second data bucket satisfies the data query; and

determining that the second time window is within the time period, wherein the second time window and the first time window do not overlap: and

providing a query response to the data query, the query response comprising at least a portion of the first data bucket and at least a portion of the second data bucket.

16. The medium of claim 15 , wherein the aggregation summarizes the data.

17. The medium of claim 15 , wherein the aggregation summarizes the data by counting a number of occurrences of a same data type during the corresponding time window.

18. The medium of claim 15 , wherein the aggregation summarizes the data by summing a value of each occurrence of a same data type during the corresponding time window.

19. The medium of claim 15 , wherein the time window has a length of one hour, one day, one week, one month, or one year.

20. The medium of claim 15 , wherein a plurality of the data buckets are aggregated at least partially from a same portion of data of the write data structure.

21. The medium of claim 15 , the operations further comprising selecting at least one additional data bucket for responding to the data query such that every portion of the time constraint has a corresponding selected data bucket.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 18, 2016
From: ALBRECHT, ZOLTAN; KEIL, ULRICH HANNO PETER CHRISTOPH
To: SAP SE
Reel/Frame 040048/0710 →
Continuity (1)
Related Publication 20180107719A1 · Apr 19, 2018
Cited By (1)
US 12,608,359