IP Library Granted Patent US 8,463,736
Granted Patent B2
US 8,463,736 · App. 12/384,093 · Granted Jun 11, 2013

Relational database management system having integrated non-relational multi-dimensional data store of aggregated data elements

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,463,736
App. No.
12/384,093
Granted
Jun 11, 2013
Kind
B2
Abstract

Improved method of and apparatus for joining and aggregating data elements integrated within a relational database management system (RDBMS) using a non-relational multi-dimensional data structure (MDD). The improved RDBMS system of the present invention can be used to realize achieving a significant increase in system performance (e.g. decreased access/search time), user flexibility and ease of use. The improved RDBMS system of the present invention can be used to realize an improved Data Warehouse for supporting on-line analytical processing (OLAP) operations or to realize an improved informational database system or the like.

Claims (39)

1. A database management system comprising:

a relational data store storing fact data;

a multi-dimensional data store configured to store aggregated fact data in a multi-dimensional data structure;

a communication interface operably connected between the relational data store and the multi-dimensional data store for the communication of fact data from the relational data store to the multi-dimensional data store and for the communication of aggregated fact data from the multi-dimensional data store to the relational data store; and

a computer system comprising computer hardware, the computer system programmed to implement:

a multi-dimensional data store generation mechanism configured to generate the multi-dimensional data store by calculating aggregated fact data from data stored in the relational data store according to a multi-dimensional data aggregation process, and store the aggregated fact data in the multi-dimensional data store;

a query servicing mechanism configured to service one or more natural language queries from a user, the query servicing mechanism comprising:

a query processing mechanism configured to process a given natural language query, the query processing mechanism configured to:

make a determination of whether servicing the given natural language query needs data stored in the relational data store or the multi-dimensional data store; and

generate one or more structured query language (“SQL”) statements, wherein the SQL statements refer to the relational data store or the multi-dimensional data store based on said determination,

wherein the multi-dimensional data aggregation process comprises:

(i) determining if the aggregated fact data needed to service the given natural language query is already pre-calculated and stored within the multi-dimensional data store, and

in response to determining that the aggregated fact data needed to service the given natural language query is already pre-calculated and stored within the multi-dimensional data store,

retrieving the pre-calculated fact data and returning the retrieved pre-calculated fact data to the query processing mechanism; and

(ii) in response to determining that the needed fact data is not already pre-calculated and stored within the multi-dimensional data store, calculating the needed aggregated fact data on demand, and automatically forwarding the aggregated fact data to the query processing mechanism.

2. The database management system of claim 1 , wherein the query servicing mechanism is implemented in a module within the database management system.

3. The database management system of claim 2 , wherein the database management system is configured to receive the given natural language query from a user via a web-enabled browser, and the database management system is configured to communicate the given natural language query to the query servicing mechanism.

4. A method comprising:

by a computer system comprising computer hardware, including

a relational data store storing fact data, and

a multi-dimensional data store configured to store aggregated fact data in a multi-dimensional data structure:

generating the multi-dimensional data store by calculating aggregated fact data from data stored in the relational data store according to a multi-dimensional data aggregation process, and storing the aggregated fact data in the multi-dimensional data store,

receiving one or more natural language queries from a user;

determining whether servicing a given natural language query of the one or more natural language queries needs data stored in the relational data store or in the multi-dimensional data store, wherein the relational data store is configured to communicate fact data to the multi-dimensional data store and the multi-dimensional data store is configured to communicate aggregated fact data to the relational data store; and

generating one or more SQL statements, wherein the SQL statements refer to the relational data store or the multi-dimensional data store based on said determining,

wherein the multi-dimensional data aggregation process comprises:

(i) in response to determining that the aggregated fact data needed to service the given natural language query is already pre-calculated and stored within the multi-dimensional data store, then the pre-calculated aggregated fact data is retrieved and returned to the user; and

(ii) in response to determining that the needed fact data is not already pre-calculated and stored within the multi-dimensional data store, then the needed aggregated fact data is calculated on demand, and the aggregated fact data is automatically forwarded to the user.

5. The method of claim 4 , the method further comprising receiving at the computer system a natural language query over a network from a user browser.

6. A non-transitory computer-readable medium encoded with instructions thereon, wherein the instructions are readable by a computing device in order to cause the computing device to perform operations comprising:

receiving one or more natural language queries from a user;

generating a multi-dimensional data store by calculating aggregated fact data from data stored in a relational data store according to a multi-dimensional data aggregation process, and store the aggregated fact data in the multi-dimensional data store,

determining whether servicing a given natural language query needs data stored in a the relational data store or in a the multi-dimensional data store, wherein the multi-dimensional data store is generated via a segmented aggregation process involving aggregation along multiple dimensions in a determined sequence comprising aggregation involving a first dimension followed by aggregation involving one or more other dimensions; and

generating one or more SQL statements, wherein the SQL statements refer to the relational data store or the multi-dimensional data store generated via the segmented aggregation process based on said determining,

wherein the multi-dimensional data aggregation process comprises:

(ii) determining if the aggregated fact data needed to service the given natural language query is already pre-calculated and stored within the multi-dimensional data store, and in response to determining that the aggregated fact data needed to service the given natural language query is already pre-calculated and stored within the multi-dimensional data store,

retrieving the pre-calculated fact data and returning the retrieved pre-calculated fact data to the query processing mechanism; and

(ii) in response to determining that the needed fact data is not already pre-calculated and stored within the multi-dimensional data store, calculating the needed aggregated fact data on demand, and automatically forwarding the aggregated fact data to the query processing mechanism.

7. The computer-readable medium of claim 6 , the operations further comprising receiving a natural language query over a network from a user browser.

Assignments (11)
SECURITY INTEREST Recorded Oct 15, 2020
From: BYLAS DISTRICT ECONOMIC ENTERPRISE, LLC
To: INTELLECTUAL VENTURES ASSETS 119 LLC; INTELLECTUAL VENTURES ASSETS 114 LLC
Reel/Frame 054089/0864 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 23, 2019
From: BYLAS DISTRICT ECONOMIC ENTERPRISE LLC
To: MEC MANAGEMENT, LLC
Reel/Frame 050144/0638 →
NUNC PRO TUNC ASSIGNMENT Recorded Dec 18, 2018
From: TAMIRAS PER PTE. LTD., LLC
To: INTELLECTUAL VENTURES ASSETS 114 LLC
Reel/Frame 047809/0516 →
MERGER Recorded Nov 2, 2015
From: YANICKLO TECHNOLOGY, L.L.C.
To: TAMIRAS PER PTE. LTD., LLC
Reel/Frame 036938/0644 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 22, 2010
From: HR ASSET HOLDINGS, INC.
To: YANICKLO TECHNOLOGY LIMITED LIABILITY COMPANY
Reel/Frame 025184/0300 →
CONFIRMATORY ASSIGNMENT Recorded Jul 15, 2010
From: BAKALASH, REUVEN; SHAKED, GUY; CASPI, JOSEPH
To: HYPERROLL ISRAEL, LTD.
Reel/Frame 024693/0174 →
CHANGE OF NAME Recorded Jan 28, 2010
From: HYPERROLL, INC.
To: HR ASSET HOLDINGS, INC.
Reel/Frame 023861/0460 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 10, 2009
From: HYPERROLL ISRAEL, LTD.
To: HYPERROLL, INC.
Reel/Frame 023486/0795 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 3, 2009
From: BAKALASH, REUVEN; SHAKED, GUY; CASPI, JOSEPH
To: HYPERROLL ISRAEL, LTD.
Reel/Frame 023456/0705 →
LICENSE Recorded Oct 27, 2009
From: HYPERROLL, INC.
To: HYPERION SOLUTIONS CORPORATION
Reel/Frame 023427/0597 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 26, 2009
From: BAKALASH, REUVEN; SHAKED, GUY; CASPI, JOSEPH
To: HYPERROLL, ISRAEL LIMITED
Reel/Frame 022878/0214 →