WO2001011497A1 - Method of and system for managing multi-dimensional databases using modular-arithmetic based address data mapping processes - Google Patents

Method of and system for managing multi-dimensional databases using modular-arithmetic based address data mapping processes Download PDF

Info

Publication number
WO2001011497A1
WO2001011497A1 PCT/IB2000/001100 IB0001100W WO0111497A1 WO 2001011497 A1 WO2001011497 A1 WO 2001011497A1 IB 0001100 W IB0001100 W IB 0001100W WO 0111497 A1 WO0111497 A1 WO 0111497A1
Authority
WO
WIPO (PCT)
Prior art keywords
mdb
data
integer
encoded
address
Prior art date
Application number
PCT/IB2000/001100
Other languages
French (fr)
Inventor
Reuven Bakalash
Guy Shaked
Original Assignee
Hyperroll, Israel Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=23450443&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=WO2001011497(A1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Hyperroll, Israel Ltd. filed Critical Hyperroll, Israel Ltd.
Priority to AU60108/00A priority Critical patent/AU6010800A/en
Publication of WO2001011497A1 publication Critical patent/WO2001011497A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24553Query execution of query operations
    • G06F16/24554Unary operations; Data partitioning operations
    • G06F16/24556Aggregation; Duplicate elimination
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/283Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99932Access augmentation or optimizing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99943Generating database or data structure, e.g. via user interface

Definitions

  • the present invention relates to an improved method of and a system for managing data elements in a multi-dimensional database (MDB) supported upon a parallel computing platform using improved address data mapping (i.e. translation) processes, and more particularly, to an improved method of and a system for managing data elements within a MDB during on-line analytical processing (OLAP) operations.
  • MDB multi-dimensional database
  • OLAP on-line analytical processing
  • the creation of an enterprise-wide data store is the first step towards managing these volumes of data.
  • the Data Warehouse is becoming an integral part of many information delivery systems because it provides a single, central location where a reconciled version of data extracted from a wide variety of operational systems is stored.
  • improvements in price, performance, scalability, and robustness of open computing systems have made data warehousing a central component of Information Technology strategies. Details on methods of data integration and data warehouse construction can be found in the white paper entitled Data Integration: The Warehouse Foundation by Louis Rolleigh and Joe Thomas, published at http://www.acxiom.com/whitepapers/wp-l 1.asp . Building a Data Warehouse has its own special challenges (e.g.
  • OLAP On-Line Analytical Processing
  • Reports can be defined from multiple perspectives that provide a high-level or detailed view of the performance of any aspect of the business. Decision makers can navigate throughout their database by drilling down on a report to view elements at finer levels of detail, or by pivoting to view reports from different perspectives. To enable such full- functioned business analyses, OLAP systems need to (1) support sophisticated analyses, (2) scale to large numbers of dimensions, and (3) support analyses against large atomic data sets. These three key requirements are discussed further below.
  • OLAP systems need to be capable of delivering these metrics in a user- customizable format. These metrics may be obtained from the transactional databases precalculated and stored in the database, or generated on demand during the query process. Commonly used metrics include:
  • Multidimensional Ratios e.g. Percent to Total
  • Comparisons e.g. Actual vs. Plan, This Period vs. Last Period
  • Custom Consolidations e.g. Financial Consolidations, Market Segments, Ad Hoc Groups
  • a dimension is any element or hierarchical combination of elements in a data model that can be displayed orthogonally with respect to other combinations of elements in the data model. For example, if a report lists sales by week, promotion, store, and department, then the report would be a slice of data taken from a four-dimensional data model.
  • Target marketing and market segmentation applications involve extracting highly qualified result sets from large volumes of data. For example, a direct marketing organization might want to generate a targeted mailing list based on dozens of characteristics, including purchase frequency, purchase recency, size of the last purchase, past buying trends, customer location, age of customer, and gender of customer. These applications rapidly increase the dimensionality requirements for analysis.
  • OLAP OLAP
  • Orthogonal dimensions in an examplary OLAP application might include Geography, Time, and Products.
  • Atomic data refers to the lowest level of data granularity required for effective decision making.
  • "atomic data" may refer to information by store, by day, and by item.
  • atomic data may be information by account by transaction by branch.
  • Most organizations implementing OLAP systems find themselves needing systems that can scale to tens, hundreds, and even thousands of gigabytes of atomic information.
  • OLAP systems As OLAP systems become more pervasive and are used by the majority of the enterprise, more data over longer time frames will be included in the data store (i.e. data warehouse), and the size of the database will increase by at least an order of magnitude. Thus, OLAP systems need to be able to scale from present to near- future volumes of data. In general, OLAP systems need to (1) support the complex analysis requirements of decision-makers, (2) analyze the data from a number of different perspectives (i.e. business dimensions), and (3) support complex analyses against large input (atomic-level) data sets from a Data Warehouse maintained by the organization using a relational database management system (RDBMS).
  • RDBMS relational database management system
  • Vendors of OLAP systems classify OLAP Systems as either Relational OLAP
  • ROLAP On-Line Analytical Processing
  • MOLAP Multidimensional OLAP
  • the Relational OLAP (ROLAP) system accesses data stored in a Data Warehouse to provide OLAP analyses.
  • the premise of ROLAP is that OLAP capabilities are best provided directly against the relational database, i.e. the Data Warehouse.
  • An overview of the ROLAP architecture is provided in Fig. 1 A. The ROLAP architecture was invented to enable direct access of data from Data
  • a typical prior art ROLAP system has a three-tier or layer client/server architecture.
  • the "database layer” utilizes relational databases for data storage, access, and retrieval processes.
  • the "application logic layer” is the ROLAP engine which executes the multidimensional reports from multiple users.
  • the ROLAP engine integrates with a variety of "presentation layers,” through which users perform OLAP analyses. As shown in Fig.
  • RDBMS relational database management system
  • database routines are run to pre- aggregate the data within the RDBMS. Indices are then created to optimize query access times.
  • End users submit multidimensional analyses to the ROLAP engine, which then dynamically transform the requests into SQL execution plans.
  • the SQL execution plans are submitted to the relational database for processing, the relational query results are cross-tabulated, and a multidimensional result data set is returned to the end user.
  • ROLAP is a fully dynamic architecture capable of utilizing precalculated results when they are available, or dynamically generating results from atomic information when necessary.
  • Multidimensional OLAP systems utilize a proprietary multidimensional database (MDB) to provide OLAP analyses.
  • MDB multidimensional database
  • the main premise of this architecture is that data must be stored multidimensionally to be accessed and viewed multi-dimensionally.
  • a typical prior art MOLAP system has a two-tier or layer client/server architecture.
  • the MDB serves as both the database layer and the application logic layer.
  • the MDB system is responsible for all data storage, access, and retrieval processes.
  • the application logic layer the MDB is responsible for the execution of all OLAP requests.
  • the presentation layer integrates with the application logic layer and provides an interface, through which the end users view and request OLAP analyses on their client machines which may be web-enabled through the infrastructure of the Internet.
  • the client server architecture of a MOLAP system allows multiple users to access the same multidimensional database (MDB).
  • MDB multidimensional database
  • a prior art multidimensional database MDB
  • the Express” server by the Oracle Corporation is examplary of a popular server can be used to carry out the data loading process in prior art MOLAP systems.
  • Fig. 2B an exemplary 3-D MDB is schematically depicted, showing geography, time and products as the "dimensions" of the database.
  • the multidimensional data of the MDB is organized in an array structure, as shown in Fig. 2C.
  • the ExpressTM server stores data in pages (or records) of an information file. Pages contain 512, or 2048, or 4096 bytes of data, depending on the platform and release of the ExpressTM server.
  • the ExpressTM server In order to look up the physical record address from the database file recorded on a disk or other mass storage device, the ExpressTM server generates a data structure referred to as a Page Allocation Table (PAT) . As shown in Fig. 2D, the PAT tells the ExpressTM server the physical record number that contains the page of data. Typically, the PAT is organized in pages. The simplest way to access a data element in the MDB is by calculating the "offset" using the additions and multiplications expressed by a simple formula:
  • Offset Months + Product * ⁇ ofJ ⁇ onths) + City * ⁇ ofJ ⁇ onths * # of Products
  • the response time of a multidimensional query on a prior art MDB depends on how many cells in the MDB have to be added "on the fly". As the number of dimensions in the MDB increases linearly, the number of the cells in the MDB increases exponentially. However, it is known that the majority of multidimensional queries deal with summarized high level data. Thus, as shown in Figs. 3A and 3B, once the atomic data (i.e. basic data ) has been loaded into the MDB, the general approach is to perform a series of calculations in a batch manner in order to aggregate (i.e. pre-aggregate) the data elements along the orthogonal dimensions of the MDB and fill the array structures thereof.
  • atomic data i.e. basic data
  • the primarily loaded data in the MDB is organized at its lowest dimensional hierarchy.
  • the results of the pre-aggregations are stored in the neighboring parts of the MDB.
  • weeks are the aggregation results of days
  • months are the aggregation results of weeks
  • quarters are the aggregation results of months.
  • states are the aggregation results of cities
  • countries are the aggregation results of states
  • continents are the aggregation results of countries.
  • MDB multidimensional database
  • the MDB is ready for use.
  • Users request OLAP reports by submitting queries through the OLAP Application interface (e.g. using web-enabled client machines), and the application logic layer responds to the submitted queries by retrieving the stored data from the MDB for display on the client machine.
  • Each data retrieval operation carried out on the MDB involves searching through the Page Allocation Tables (e.g. search trees) maintained therefor in order to determine the addresses of the data elements needed to answer the query.
  • the Page Allocation Tables typically contain billions of entries, paging of the tables from mass storage memory is often required as schematically depicted in Fig. 4.
  • the MOLAP system must carry out computationally intensive data compilation operations in order to precompile (i.e. pre-aggregate) data within the MDB.
  • the graphs plotted in Fig. 5 clearly indicate the computational demands that are created when searching an MDB during an OLAP session, where answers to queries are presented to the MOLAP system, and answers thereto are solicited often under real-time constraints.
  • prior art MOLAP systems have limited capabilities to dynamically create data aggregations or to calculate business metrics that have not been precalculated and stored in the MDB.
  • MDB multi-dimensional database
  • Applicants have recognized that the performance of such systems might be significantly improved, and thus made more competitive with and superior to prior art ROLAP systems, if parallel processing techniques are used to implement prior art MOLAP processes.
  • Applicants disclose, as generally disclosed in U.S. Patent No. 5,850,547 assigned to Oracle Corporation, incorporated herein by reference, parallel computing machine (i.e. platform) 1 for implementing MOLAP systems.
  • the multi-dimensional database (MDB) 2 is supported on the parallel machine using a plurality of processors 3 denoted P 0 , Pi, ,P p-] , each having DRAM 4 for address data storage during system operation, and one or more storage volumes 5 for storing application data and address data.
  • An OLAP server 6 e.g. the ExpressTM Server from the Oracle Corporation
  • RDBMS Data Warehouse
  • the processors) 8 within the OLAP server 6, denoted by P(s), and DRAM 9 and local storage volumes 10 associated therewith, are in communication with the array of processors 3 in the parallel computing machine 2. Also, as shown, each processor 3 in the parallel computing machine 2 has direct access to the mass storage volumes within the Data Warehouse 7.
  • the processors) used in the Data Warehouse 7 are indicated by reference numeral 1 1
  • its DRAM is indicated by reference numberal 12
  • its mass storage volumes are indicated by reference numeral 13.
  • parallel processing machines as taught in Fig. 6 should enable quick and direct access to an array of answers to the submitted queries, as well as speed up the pre-aggregation process and the execution of multidimensional queries and drill-down processes. Also, effective parallel processing can be expected only by ensuring that the data is evenly distributed data among the processors in the parallel computing system, and that all loads are balanced.
  • the first method seeks to partition a conventional array of data by dividing it by the lowest dimension of the corresponding MDB, as schematically illustrated in Fig. 7A.
  • the second method seeks to partition a multidimensional data by dividing it by the highest dimension of the corresponding MDB, as schematically illustrated in 7B.
  • the first method of data element address assignment attempts to carry out data address assignment using a method of partitioning a multidimensional data set by dividing it by the lowest dimension of the corresponding MDB. As illustrated in Fig. 7 A, this method results in unbalanced data processing among the processors of the parallel computing machine, and in sequential, as opposed to parallel, access to data.
  • the second method of data element assignment attempts to carry out data address assignment using a method of partitioning a multidiminsional data set by dividing according the highest dimension of the corresponding MDB. As illustrated in Fig. 7B, this method results in unbalanced data processing among the processors of the parallel computing machine, and in sequential access to data.
  • MDB multidimensional database
  • Another object of the present invention is to provide such apparatus in the form of an improved MOLAP system, wherein the MDB contains precompiled or pre-aggregated data and parallel data loading operations are carried out between the Data Warehouse and the MDB of the system using a novel modular arithematic based data element address assignment scheme which involves mapping (i) integer-encoded MDB dimensions associated with the raw data elements accessed from the Data Warehouse, into (ii) integer-encoded data storage addresses within the storage volumes associated with the MDB.
  • Another object of the present invention is to provide such apparatus in the form of an improved MOLAP system, wherein parallel data aggregation operations are carried out within the MDB of the system using a novel modular arithematic based data element address assignment scheme which involves mapping (i) integer-encoded MDB dimensions associated with the raw or previously pre-aggregated data elements to be stored within the MDB, into (ii) integer-encoded data storage addresses within the storage volumes thereof at which the pre- aggregated data elements are to be stored.
  • Another object of the present invention is to provide such apparatus in the form of an improved MOLAP system, wherein OLAP operations are carried out within the MDB of the system using a novel modular arithematic based data element address assignment scheme which involves mapping (i) integer-encoded MDB dimensions associated with pre-aggregated data elements to be accessed from the MDB, into (ii) integer-encoded data storage addresses within the storage volumes thereof, from which the pre-aggregated data elements are to be accessed.
  • Another object of the present invention is to provide such an improved MOLAP system, wherein data processing tasks are evenly distributed among processors on the parallel computing platform of the system.
  • Another object of the present invention is to provide such an improved MOLAP system, wherein data elements within the MDB of the system are evenly distributed among the processors on the parallel computing platform thereof.
  • Another object of the present invention is to provide such an improved MOLAP system, wherein each processor on the parallel computing platform handles data elements assigned thereto during data address assignment operations carried out during parallel data loading operations and parallel data aggregation operations within the system.
  • Another object of the present invention is to provide an improved MOLAP method, wherein parallel data loading operations are carried out between the Data Warehouse and MDB of the system using a data element address assignment scheme that employs mapping of MDB dimensions using modular arithemetic.
  • Another object of the present invention is to provide such an improved MOLAP method, wherein parallel data aggregation operations are carried out between the Data Warehouse and MDB of the system using a data element address assignment scheme that employs mapping of MDB dimensions using modular arithematic.
  • Another object of the present invention is to provide such an improved MOLAP method, wherein data processing tasks are evenly distributed among processors on the parallel computing platform of the system.
  • Another object of the present invention is to provide such an improved MOLAP method, wherein data elements within the MDB of the system are evenly distributed among the processors on the parallel computing platform thereof.
  • Another object of the present invention is to provide such an improved MOLAP method, wherein each processor on the parallel computing platform handles data elements assigned thereto during data address assignment operations carried out during parallel data loading operations and parallel data aggregation operations within the system.
  • Another object of the present invention is to provide a new method of generating an information directory or index for a multidimensional database (MDB) used in a MOLAP , system.
  • Another object of the present invention is to provide such a method of generating an information directory or index for an MDB, wherein data element addresses to data storage elemenets therewithin are generated using (i) modular arithematic functions, (ii) dimensions of the MDB and its dimensional hierarchy, and (iii) data variables from the relational database management system (RDBMS) of the Data Warehouse associated with the MDB.
  • RDBMS relational database management system
  • Another object of the present invention is to provide an improved decision support system which allows knowledge workers to intuitively, quickly, and flexibly manipulate operational data using familiar business terms in order to provide analytical insight into a business domain of interest.
  • Another object of the present invention is to provide a novel method of using a MDB to support OLAP systems.
  • Another object of the present invention is to provide an improved system and method of searching and updating a MDB containing an index of information resources locators (URLs) on the Internet, referred to as an MBD-based URL-Index or Directory.
  • Another object of the present invention is to provide such an improved system and method of searching and updating a MDB-based URL-Index or Directory, wherein data storage, retrieval, updating and shifting operations are earned out within the MDB of the system using a novel modular arithmetic based data element address assignment scheme which involves mapping (i) integer-encoded MDB dimensions associated with data elements to be stored in, retrieved from or shifted within the MDB, into (ii) integer-encoded data storage addresses within the storage volumes thereof.
  • Another object of the present invention to provide a novel method of data mapping and storage for use in the parallel access of multidimensional data bases, as well as in parallel data loading and aggregation operations, and on-the-fly multidimensional queries, while ensuring balanced processing and minimizing interprocessor communication among a plurality of processors.
  • Another object of the present invention is to provide a method of decomposing, or partitioning, an n-dimensional database intop modules, where p represents the number of processors (i.e. processing module) in the multiprocessing array, Dp, D Dminister.
  • t represent n dimensions
  • k represents the k-th out of ) processing modules, is based on the following address data translation (i.e. mapping) formula:
  • Another object of the present invention is to provide such a method, wherein each data element is specified by index k, and the entire data domain is decomposed and assigned to the
  • Another object of the present invention is to provide a novel MDB-based Internet URL
  • Directory system for supporting on-line information searching operations by Web-enabled client machines.
  • Another object of the present invention is to provide a novel personalized electronic commerce (i.e. on-line) shopping system, in which consumer shopping profile information is collected on individual consumers during e-commerce and other transactions, stored in an MBD for quick acccess and use in creating Web-enabled personalized shopping environments (e.g. personalized Web-stores) in a real-time manner which reflect the interests, tastes, desires and/or expectations of the individual customers engaged in on-line shopping activities supported by electronic-commerce servers over the Internet.
  • a novel personalized electronic commerce (i.e. on-line) shopping system in which consumer shopping profile information is collected on individual consumers during e-commerce and other transactions, stored in an MBD for quick acccess and use in creating Web-enabled personalized shopping environments (e.g. personalized Web-stores) in a real-time manner which reflect the interests, tastes, desires and/or expectations of the individual customers engaged in on-line shopping activities supported by electronic-commerce servers over the Internet.
  • Web-enabled personalized shopping environments e.g. personalized Web-stores
  • Another object of the present invention is to provide a novel MDB-based system for providing fast, affordable and easy access to customer intelligence, enabling companies to more effectively market products and services over the Internet.
  • Another object of the present invention is to provide a novel MDB-based system that enables value-added services to customers running e-commerce enabled Web sites.
  • Another object of the present invention is to provide a novel MDB-based system that enables fast knowledge discovery and accurate predictive business modeling for applications such as database marketing, financial/risk analysis, fraud management, bioinformatics, return-on- investment (ROI) justification, business intelligence applications (e.g. Balanced Scorecard, Activity-Based Costing), customer relations management (CRM), enterprise information portals and the like.
  • applications such as database marketing, financial/risk analysis, fraud management, bioinformatics, return-on- investment (ROI) justification, business intelligence applications (e.g. Balanced Scorecard, Activity-Based Costing), customer relations management (CRM), enterprise information portals and the like.
  • Another object of the present invention is to provide a novel Internet-enabled MDB- based system for supporting real-time control of processes in response to complex states of information reflected in the MDB.
  • Fig. 1 A is a schematic representation of an exemplary prior art relations on-line analytical processing (ROLAP) system comprising a three-tier or layer client/server architecture, wherein the first tier has a database layer utilizing relational databases (RDBMS) for data storage, access, and retrieval processes, the second tier has an application logic layer (i.e. the ROLAP engine) for executing the multidimensional reports from multiple users, and the third tier integrates the ROLAP engine with a variety of presentation layers, through which users perform OLAP analyses;
  • RDBMS relational databases
  • Fig. 1 B is a schematic representation of a generalized embodiment of a prior art multidimensional on-line analytical processing (MOLAP) system comprising an on-line transactional processing (OLTP) relational database, a Data Warehouse realized as a relational database, an OLAP server, a plurality of OLAP clients, and an OLAP multidimensional database);
  • MOLAP multidimensional on-line analytical processing
  • Fig. 2A is a schematic representation of the Data Warehouse shown in the prior art system of Fig. IB comprising numerous data tables (e.g. TI, T2, Tn) and data field links, and the OLAP multidimensional database shown of Fig. IB, comprising a conventional page allocation table (PAT) with pointers pointing to the physical storage of variables in a information storage device;
  • data tables e.g. TI, T2, Tn
  • OLAP multidimensional database shown of Fig. IB, comprising a conventional page allocation table (PAT) with pointers pointing to the physical storage of variables in a information storage device;
  • PAT page allocation table
  • Fig. 2B is a schematic representation of an exemplary three-dimensional database and organized as a 3-dimensional Cartesian cube and used in the prior art system of Fig. 2A, wherein the first dimension of the MDB is representative of geography (e.g. cities, states, countries, continents), the second dimension of the MDB is representative of time (e.g. days, weeks, months, years), the third dimension of the MDB is representative of products (e.g. all products, by manufacturer), and the basic data element is a set of variables which are addressed by 3-dimensional coordinate values;
  • Fig. 2C is a schematic representation of a prior art array structure associated with an exemplary three-dimensional data, arranged according to a dimensional hierarchy;
  • Fig. 2D is a schematic representation of a prior art page allocation table for an exemplary three-dimensional database, arranged according to pages of data element addresses;
  • Fig. 3A is a schematic representation of a prior art MOLAP system, illustrating the process of periodically storing raw data in the Data Warehouse thereof, serially loading of basic data from the Data Warehouse to the multidimensional database (MDB), and the process of serially pre-aggregating (or pre-compiling) the data m the multidimensional database along the entire dimensional hierarchy thereof;
  • MDB multidimensional database
  • Fig. 3B is a schematic representation illustrating that the Cartesian addresses listed in a prior art page allocation table (PAT) point to where physical storage of data elements (i.e. variables) occurs in the information recording media (e.g. storage volumes) associated with the MDB, during the loading of basic data into the MDB as well as during data preaggregation processes carried out therewithin;
  • PAT page allocation table
  • Fig. 3C1 is a schematic representation of an exemplary three-dimensional database used in a conventional MOLAP system of the prior art, showing that each data element contained therein is physically stored at a location in the recording media of the system which is specified by the dimensions (and subdimensions within the dimensional hierarchy) of the data variables which are assigned integer-based coordinates in the MDB, and also that data elements associated with the basic data loaded into the MDB are assigned lower integer coordinates in MDB Space than pre-aggregated data elements contained therewithin;
  • Fig. 3C2 is a schematic representation illustrating that a conventional hierarchy of the dimension of time typically contains the subdimensions days, weeks, months, quarters, etc. of the prior art;
  • Fig. 3C3 is a schematic representation showing how data elements having higher subdimensions of time in the MDB of the prior art are typically assigned increased integer addresses along the time dimension thereof;
  • Fig. 4 is a schematic representation illustrating that, for very large prior art multidimensional databases, very large page allocation tables (PATs) are required to represent the address locations of the data elements contained therein, and thus there is a need to employ address data paging techniques between the DRAM (e.g. program memory) and mass storage devices (e.g. recording discs or RAIDs) available on the serial computing platform used to implement such prior art MOLAP systems;
  • DRAM e.g. program memory
  • mass storage devices e.g. recording discs or RAIDs
  • Fig. 5 is a graphical representation showing how search time in a conventional (i.e. prior art) multidimensional database increases in proportion to the amount of preaggregation of data therewithin;
  • Fig. 6 is a schematic representation of a generalized MOLAP system, wherein a parallel computing machine is used to realize the MDB thereof using any one of several prior art data element addressing methods;
  • Fig. 7 A is a schematic representation illustrating a first prior art method of data element address assignment which involves the partitioning a conventional 4-D array of data by splitting the multidimensional data according the lowest dimension of the MDB, wherein this method can be used during both data element loading and preaggregation processes subject to the shortcomings and drawbacks set forth in Fig. 7C;
  • Fig. 7B is a schematic representation illustrating a second prior art method of data element address assignment in accordance with the present invention which involves partitioning a conventional 4-D array of data by splitting the multidimensional data according the highest dimension of the MDB, wherein this method can be used during both data element loading and preaggregation processes subject to the shortcomings and drawbacks set forth in Fig. 7C;
  • Fig. 7C is a table setting forth the shortcomings and drawbacks associated with the prior art data element address assignment methods depicted in Figs. 7A and 7B;
  • Fig. 8A is a schematic representation illustrating a preferred method of data element address assignment in accordance with the present invention, implemented on the parallel computing platform of Fig. 6,. and involving the generation of a set of (memory) page allocation tables (PATs) by mapping the dimensions of the MDB into physical storage addresses using modular integer-based arithmetic;
  • PATs page allocation tables
  • Fig. 8B is a schematic representation of the method of Fig. 8A, indicating that the inputs to the mapping (i.e. translation) function employed in the data address assignment method of Fig. 8 A are the MDB dimensions and dimensional hierarchy and variables in the RDBMS database, and that the outputs from the mapping function are a set of page allocation tables (PATs) preassigned to the plurality of processors associated with the parallel computing machine (i.e. platform) shown in Fig. 6;
  • PATs page allocation tables
  • Fig. 8C is a schematic representation of a MOLAP system in accordance with the present invention, illustrating the process of periodically storing raw data in the Data
  • Fig. 9A2 illustrates the result of the process of data element address assignment employed during the process of data element loading, between the MDB space of a 4-D MDB and the processor (memory) space of 3 processors (p-3) on a parallel machine operating in accordance with the present invention, showing uniform distribution of data elements of the MDB among processors;
  • Fig. 10A is a schematic representation of the MOLAP system of the present invention shown in Fig. 6, illustrating the parallel loading of basic data from the Data Warehouse to the MDB supported on the parallel computing machine, using a plurality of software drivers provided for in the OLAP server of the MOLAP system;
  • Fig. 10B is a schematic representation of the MOLAP system of the present invention shown in Fig. 10A, illustrating the parallel loading of basic data from the Data Warehouse to the MDB supported on the parallel computing machine, using the data element address assignment method shown in Fig. 8A;
  • Fig. 1 1 A is a schematic representation illustrating the internal addressing of data elements in the Storage Space of processor pO, in the particular case of Fig. 9A1, in accordance with the present invention
  • Fig. 1 IB is a schematic representation of an array of data elements in the Storage Space of processor pO (of Fig. 1 1 A), arranged according to the present invention
  • Fig. 1 1C is a schematic representation of a Page Allocation Table of processor Po, for the exemplary array of Fig. 1 IB, arranged according to pages of data element addresses;
  • Fig. 12C 1 is schematic representation depicting the aggregation procedure of the present invention carried out within a 3-dimensional MDB, where every single data element of the base data is summed up to the pre-aggregated data along each of the dimensions, and is handled only once during the entire data aggregation process of the present invention;
  • Fig. 12C2 is schematic representation of the aggregation procedure of the present invention carried out within a 5-dimensional MDB, where every single data element of the base data is summed up to the pre-aggregate data along each of the dimensions, and is handled only once in the entire aggregation process;
  • Fig. 12C3 is a schematic representation of the "Storage Space" of a single processor in the parallel operating machine of the present invention, illustrating, during the aggregation process, that most of the data is in a compressed state, in order to save memory/disk space and handling times, that all disk data is in a compressed state, that the data in the main memory is kept in two levels, namely compressed and open, that the aggregation program works directly on the open level, and that the open data, according to space availability, is compressed and moved to the Disk Space;
  • Fig. 13B is schematic representation of the parallel-based method of preaggregation according to the present invention, illustrating the Lm-th aggregation level along dimension Di, where all processors on the parallel computing platform are participating in the data aggregation process;
  • Figs. 14A through 14B3 set forth a series of schematic representations illustrating that data element loading and aggregation processes of the present invention can be carried out with an MDB having any dimensionality or hierarchy of dimensionality, provided that each unit of dimensionality in the MDB is indexed using integer-based arithmetic;
  • Fig. 15A is a schematic representation of an Internet URL directory system according to the present invention, wherein a parallel computing machine is used to realize the MDB-based URL Directory (or Index) thereof using any one of several possible types of data element addressing methods in accordance with the principles of the present invention, whereas a relational database management system (RDBMS) is used to realize the Internet URL registration subsystem thereof;
  • MDB-based URL Directory or Index
  • RDBMS relational database management system
  • Fig. 15B is a schematic representation of an exemplary three-dimensional database of an Internet URL Directory organized as a 3-dimensional Cartesian cube according to the prsent invention, wherein the first dimension of the MDB is representative of Health, the second dimension of the MDB is representative of Arts and Humanities, the third dimension of the MDB is representative of Education, and the basic data element is a set of WWW (e.g. HTML or XML) Pages which are addressed by 3-dimensional coordinate values;
  • WWW e.g. HTML or XML
  • Fig. 16 is a schematic representation of the parallel computing machine of Fig. 15A, illustrating the parallel loading of data from the RDBMS-based URL registration Data Warehouse, to the MDB-based URL Directory supported on the parallel computing machine, using the data element address assignment method (i.e. address data mapping method) shown in Fig. 8A;
  • Fig. 17 is a schematic representation of a personalized on-line e-commerce shopping system according to the present invention, wherein a parallel computing machine, of the type shown in Fig. 6, is used to realize the consumer shopping profile MDB based thereof; whereas a RDBMS is used to realize the consumer shopping profile Data Warehouse thereof; and Fig. 18 is a schematic representation of the parallel computing machine of Fig. 17, illustrating the parallel loading of data from the consumer shopping profile Data Warehouse, to the consumer shopping profile MDB supported on the parallel computing machine, using the data element address assignment method (i.e. address data mapping method) shown in Fig. 8A.
  • a parallel computing machine of the type shown in Fig. 6, is used to realize the consumer shopping profile MDB based thereof; whereas a RDBMS is used to realize the consumer shopping profile Data Warehouse thereof; and
  • Fig. 18 is a schematic representation of the parallel computing machine of Fig. 17, illustrating the parallel loading of data from the consumer shopping profile Data Warehouse, to the consumer shopping profile MDB supported on the parallel computing machine, using the
  • the address data mapping method and apparatus of the present invention can be employed in a wide range of applications, including MOLAP systems, Internet URL- directory systems, personalized on-line e-commerce shopping systems, Internet-based systems requiring real-time control of packet routing and/or switching, and the like.
  • MOLAP systems Internet URL- directory systems
  • personalized on-line e-commerce shopping systems Internet-based systems requiring real-time control of packet routing and/or switching, and the like.
  • initial focus will be accorded to improvements in MOLAP systems, in which knowledge workers are enabled to intuitively, quickly, and flexibly manipulate operational data within a MDB using familiar business , expressed in order to provide analytical insight into a business domain of interest. Thereafter, an improved system and method of accessing information on the WWW using an Internet-based URL directory will be disabled then, a personalized e-commerce shopping system will be described.
  • Other applications will also be discussed.
  • the MOLAP system and method of the preferred embodiment can be realized using the parallel computing machine shown in Fig. 6 and described above, in combination with the teachings of the present invention discloesd herein.
  • the data elements contained within the MDB of the MOLAP system are located within MDB Space at address locations specified by the integer-encoded dimensions of the data elements in the MDB.
  • these data elements within the MDB are physically stored in the storage volumes of the MDB (in Processor Storage Space) at storage locations specified by integer-encoded addresses that are generated using the novel address data translation/mapping process of the present invention.
  • the novel method of data element address assignment is used within the MOLAP system.
  • the method of data element address assignment involves generating a data structure arranged as a set of page allocation tables or PATs.
  • PAT generated for and assigned to a particular processor P k on the parallel computing platform shown in Fig. 6, contains information relating (i) the n-dimensional integer-based Cartesian addresses of data elements in the MDB assigned to the specific processor P , to (ii) the integer- based physical address locations where the corresponding data elements (i.e. data records) are stored in the storage volumes associated with the specific processor P .
  • each PAT assigned to a specific processor P k provides a one-to-one mapping between (i) each integer-based Cartesian address location in the MDB assigned to the processor P k , and (ii) an unique integer-based physical-storage address location in the storage volume of the specific processor P k .
  • the physical storage address of each data element in the MDB (listed in its corresponding PAT) is generated by a two-step process comprising: first assigning each data element in the MDB (or more precisely, each integer-based logical/Cartesian address location in the MDB) to a specific processor P k ; and then generating a unique integer-based data storage address location within the physical storage volume of the specified processor P k .
  • Fig. 8 A schematically depicts the process of assigning each data element in a three- dimensional MDB (or more precisely, each integer-based logical/Cartesian address location in the 3D MDB) to a specific processor P k on the parallel computing platform. As illustrated in Fig.
  • D2 DI and DO are the first, second, and third (business) dimensions of the MDB, respectively; and p is the number of processors employed on the parallel computing platform of the system.
  • processor assignment is carried out using the following integer-based modular arithematic function :
  • the inputs to the mapping function employed in the data address assignment method of Fig. 8 A are: (i) modular arithematic function(s); (ii) the dimensions of the MDB and its dimensional hierarchy; and (iii) data variables from the relational database management system (RDBMS) of the Data Warehouse associated with the MDB.
  • the outputs from the mapping function are a set of page allocation tables (PATs) generated for the plurality of processors associated with the parallel computing machine of Fig. 6.
  • each processor P k generates a unique integer-based physical storage address for storing each assigned data element within the physical storage volume of the specified processor P .
  • Size D int((sizeD+p- 1)* ?) (wherein int implies truncating the result is to an integer value).
  • each processor P generates a unique integer- based physical storage address for each data element assigned by formula (1) above using the following local address generation formula:
  • Fig. 9A1 there is shown a four-dimensional database which is generated during the parallel data element loading process of Fig. 10A which will be detailed hereinafter.
  • the parallel data element address mapping process depicted in Figs. 8A and 8B, and characterized by the modular arithmetic formula (1) set forth above is employed during the parallel data element loading process of Fig. 10A, and employs a plurality of software drivers provided for within the OLAP server of the system.
  • the result of the mapping process during data loading operations is a uniform distribution of data elements of the MDB among processors.
  • the amount of data elements mapped to each one the four processors is about the same, e.g. about 26 to 28.
  • the largest possible variance is smaller than/; (i.e. the number of processors on the parallel computing platform). For a realistic case, in which millions to billions of data elements are counted, such a variance is negligible.
  • the method is scalable only if any number of processors can be employed, without loosing the uniformity of distribution. Figs.
  • FIG. 9A1 to 9A4 show that the system and method of the present invention are scalable by the capacity thereof to evenly distribute data elements among a varying number of processors on the parallel computing platform.
  • Fig. 9A3 illustrates that uniform distribution of data results when the data set is loaded among five (5) processors (p-5), wherein 20 to 23 elements are distributed to each processor.
  • Fig. 9A4 illustrates that uniform distribution of data results when the data is loaded among six (6) processors (p-6), wherein 18 data elements are distributed to each processor.
  • a comparison of Figs. 9A1 to 9A4 demonstrates that the address data mapping process of the present invention is scalable to any dimension MDB without causing a decrease in system performance.
  • Fig. 10A the process of loading basic data from the RDBMS-based Data Warehouse to the MOLAP parallel machine is shown carried out in a parallel manner in accordance with the principles of the present invention. As shown therein, each one of the loading processes is handled by a separate processor. This process of parallel data loading is illustrated in greater detail in Fig. 10B. Each processor governs its own subspace, according to the mapping scheme of Figs. 8A and 8B, characterized by formulas (1) and (2) set forth hereinabove.
  • the relational data base access module or manager (RDBAM) shown in Fig. 10B is a software tool used to define the mapping between relational and multi-dimensional models employed in the system of the present invention.
  • RDBAM relational data base access module or manager
  • RDBAM subsystem A commerically available RDBAM subsystem is sold by the Oracle Corporation, under the tradename ORACLE Express Relational Access Manager (RAM), described in detail at the uniform resource loacator (URL) http://www.oracle.com/Olap/collatr 1/ramds.pdf .
  • ORACLE Express Relational Access Manager described in detail at the uniform resource loacator (URL) http://www.oracle.com/Olap/collatr 1/ramds.pdf .
  • the function of the RDBAM is to generate the address of a basic data element based on Warehouse Metadata contained in a Data Warehouse Metadata directory, and then access the basic data element from within the set of relational lists comprising the RDBMS-based Data Warehouse.
  • Warehouse Metadata contained in the Warehouse Metadata directory consists of information describing the Warehouse data contained in the RDBMS-based Data Warehouse, and is stored together with the Warehouse data.
  • the function of the Data Warehouse Metadata directory is to describe the detailed structure of the relational data (Star, Snowflakes, etc.), dimensions, and hierarchy relations associated with the RDBMS-Data Warehouse. Using the Warehouse Metadata directory, every candidate element of the MDB may be found in the set of lists of the RDBMS-based Data Warehouse.
  • a data element For a 4-D MDB, where a data element is defined by four coordinates, its value will be collected from several 2-D relational lists in the RDBMS-based Data Warehouse using the Warehouse Metadata directory.
  • the relational map of the Warehouse Metadata directory i.e. at the initialization phase
  • the Multidimensional Database (MDB) map of the present invention as defined by Fig. 8 A, are loaded into the RDBAM associated with each processor P . All the communication between RDBAM and the RDBMS-based Data Warehouse is carried out by means of SQL language.
  • the Warehouse Metadata directory will be the same.
  • the MDB map will be different, in order to properly map the subspace assigned to the specific processor, according to the modular mapping scheme of the present invention.
  • the Data Warehouse Metadata directory is then used to generate the address of a basic data element stored within the set of relational lists comprising the RDBMS-based Data Warehouse. After accessing its data value, the data element is physically stored in a mass storage device on the parallel computing machine, according to the Page Allocation Table assigned to the processor which addressed the basic data element.
  • the local address within the P processor's storage volume is computed using the modular arithmetic formula (2) set forth above.
  • Fig. 1 1A illustrates the internal mapping of data elements in processor pO.
  • the local address within the P k processor s storage volume is computed by formula (2) set forth above.
  • Fig. 12A the preaggregation process of the present invention supported on a parallel machine, as shown in Fig. 6, involves carrying out partial aggregations at each processor, and then concatenating the partial results into a final result by means of interprocessor communication enabled by the parallel machine.
  • Figs. 12B1 to 12B4 schematically depict the uniform load balancing characteristics that are achieved during preaggregation carried out by the method of the present invention. This process will be detailled hereinbelow.
  • the parallel-based method of the present invention eliminates the possibility of load unbalancing among processors.
  • Fig. 12C 1 the parallel data aggregation process is illustrated for the case of a 3-D type MDB. Every data element of the base (or raw) data in the MDB is summed up to produce the pre-aggregate data of the next hierarchy in each of the dimensions of the MDB. Every data element is handled only once during the data aggregation process. The same is done with other data elements obtained from the base data of the Data Warehouse, wherein each data element is summed up to the next hierarchy of dimensions.
  • Fig. 12C2 the parallel data aggregation process of the present invention is illustrated for the case of a 5-D type MDB.
  • the data is maintained mostly in a compressed state. Only the directly processed data handled by the aggregation program is maintained in a non-compressed state. Otherwise, all other data elements on the disk and in the main memory are maintained in a compressed state. Moving the data between main memory and the disk associated with each processor is accomplished in a virtual memory fashion, well known in the computing art.
  • the partial results of the aggregation process are concatenated, and then stored according to the address data mapping scheme of the present invention described in detail hereinabove.
  • not all/? processors are necessarily involved in generating the resulting data set, but rather only a subset of the ?
  • processors indicated by the indexy, specified by processor indices: P k to P [k + (/ -i )m o d /?] . These processors will participate in the second level of aggregation, where the results are stored according to the address data mapping scheme of the present invention.
  • Fig. 13B the Lm-th aggregation level along dimension Di is schematically depicted, where ally processors on the parallel computing platform are participating in the data aggregation process.
  • Fig. 13 A the partial results of the aggregation process are concatenated, and then stored according to the address data mapping scheme of the present invention described in detail hereinabove.
  • Figs. 14A through 14B3 an inductive proof is provided to demonstrate that the data element loading and aggregation processes of the present invention can be used with an MDB having any dimensionality or hierarchy of dimensionality, provided that each unit of dimensionality is indexed using integer-based arithmetic, in accordance with the requirements of the address data mapping technique of the present invention described herein above.
  • Fig. 14A illustrates the case of a 3-D MDB, wherein the dimensions D0-D2 form a cube.
  • the address data mapping scheme of the present invention can be applied to this 3-D type MDB, whereby the cube of data is evenly divided among three processors.
  • Fig. 14B illustrates that the address data mapping scheme of the present invention can be applied to any n-dimensional MDB.
  • the address data mapping method is shown applied to 3-D data cube (i.e. 3-D type MDB)
  • Fig. 14B2 the address data mapping method is shown applied to a 4-D data cube (i.e. 4-D type MDB) which is merely a multiplication of 3-D data cubes.
  • the address data mapping method of the present invention can be used to provide an improved system and method of searching and accessing an index of information resource locators (URLs) on the Internet, referred to hereinafter as an MBD-based URL- Index or Directory system, denoted by reference numeral 20 in Fig. 15 A.
  • MBD-based URL- Index or Directory system denoted by reference numeral 20 in Fig. 15 A.
  • system 20 there may or may not be any need for data aggregation as in the above-described MOLAP application, shown in Figs.6-14B3.
  • the dimensions of the MDB will be selected on the basis of the URL ⁇ Veb-site classification scheme embodied within the structure of the URL directory. For example, referring to the Yahoo® Internet Information Resource Directory located at http://www.yahoo.com .
  • the URL classification scheme employed by this particular URL directory includes, at its top level scheme, the following twelve (12) information categories: Arts and Humanities; Business & Economy; Computers &Internet; Education; Government; Health; News & Media; Adventure & Sports; Reference; Regional; Science; Social Science; and Society & Culture. These information categories can be defined as the high-level dimensions of the MDB of this embodiment of the present invention.
  • this high-level information category has the following information sub-categories: Art History; Artists; Arts Therapy; awards; Booksellers; Censorship; Chats and Forums; Companies; Crafts; Criticism and Theory; Cultural Policy; Cultures and Groups; Design Arts; Education; Employment; Events; Humanities; Institutes; Museums, Galleries, and Centers; News and Media; Organizations; Performing Arts; Reference; Thematic; Visual Arts; Web Directories.
  • these information subcategories would be defined as the subdimensions below the dimension Arts & Humanities . As shown in Fig.
  • each of the subdimensions defined above can be further decomposed into additional information categories, as revealed at the Yahoo Website.
  • an MDB-based URL directory as described along the lines set forth above, can be constructed in a straightforward manner in accordance with the principles of the present invention.
  • the MDB-based URL directory system 20 comprises: an Internet (i.e. http) information server (e.g. Origin 2000 Server from Silicon Graphics, Inc.) 21 connected to the infrastructure of the Internet, a back-end parallel computing system 22 for supporting the MDB-based URL directory described above, and an OLAP server 23, operally connected to Internet information server 21 by a high-steel information network 24.
  • the MDB-based URL directory is interfaced with the http information server 21 by way of a common gateway interface (CGI) , Java-scripts, or like processes well known or otherwise to be developed in the art.
  • Information contained in the MDB-based URL directory is accessible by any web enabled client machine 25 operably connected to the infrastructure of the Internet 26, in a manner known in the art.
  • the MDB-based URL directory system 20 also includes an information registration subsystem 27 comprising an Internet (i.e. http) information server 28, connected to a relational database management system (RDBMS) 29 realized using a robust database development program, such as Oracle 8i from the Oracle Corporation.
  • the main function of the information registration subsystem 27 is to enable owners or agents of Internet- based information resources (e.g. HTML documents, XML documents, and the like) to register such information resources with the MDB-based URL Directory in accordance with the current information classification scheme being employed by the directory system 20.
  • Internet- based information resources e.g. HTML documents, XML documents, and the like
  • MDB-based URL directory of the system 20 is updated by loading data elements from the RDBMS Data Warehouse 29 into the storage volumes 5 of the MDB URL Directory using the novel modular-arithematic based address data mapping scheme of the present invention, described in detail hereinabove. Also, updating operations of the MDB-based URL directory will typically require the shifting of data elements within the MDB, using the address data mapping scheme as well, in order to reflect any changes made in the information classification scheme since the last updating operation.
  • the address data mapping method of the present invention can be used to provide an improved system and method of generating personalized e-commerce-enabled (on-line) shopping environments (i.e. personalized e-stores) using information accessed from an MBD containing consumer shopping profile information.
  • personalized e-commerce-enabled (on-line) shopping environments i.e. personalized e-stores
  • MBD mobile phone
  • e-commerce-enabled (on-line) shopping environments i.e. personalized e-stores
  • the personalized on-line shopping system 30 of the present invention comprises: a RDBMS-based consumer shopping profile Data Warehouse 31 for storing consumer shopping profile information (e.g. representative of buying patterns, interests, hobbies as a function of time, personal information, credit history, income, home and auto ownership, marital status, etc.) collected from electronic commerce based transactions, compiled databases, publicly-traded response databases and the like; a consumer shopping profile MDB 32, realized on parallel computing flat form similar to 2 in Fig. 6.
  • consumer shopping profile information e.g. representative of buying patterns, interests, hobbies as a function of time, personal information, credit history, income, home and auto ownership, marital status, etc.
  • the dimensions of the MDB 32 will be selected on the basis of the consumer shopping profile attributes mined from RDBMS Data Warehouse 31.
  • first step of the personalized on-line shopping method hereof involves collecting consumer shopping profile information (e.g. representative of buying patterns, interests, hobbies, personal information, credit history, income, home and auto ownership, marital status, etc.) from electronic commerce based transactions, compiled databases, publicly-traded response databases and the like, and storing such information within the RDBMS-based Data Warehouse 31, as shown in Fig. 17.
  • consumer shopping profile information e.g. representative of buying patterns, interests, hobbies, personal information, credit history, income, home and auto ownership, marital status, etc.
  • the second step of the personalized on-line shopping method involves loading raw consumer shopping profile information from the Data Warehouse 31 to the MDB 32 using the parallel computing platform and parallelized data loading processes of the present invention described in great detail hereinabove.
  • the third step of the personalized on-line shopping method involves preaggregating (i.e. precompiling) the consumer shopping profile information within the MDB 32 using the parallel computing platform and parallelized data aggregation processes of the present invention, described in great detail hereinabove.
  • the fourth step of the personalized on-line shopping method involves indentifying, during each on-line shopping transaction, the Web-enabled consumer engaged in on-line shopping through a particular WWW site, using a Web-enabled client machine 35 equipped with an http client (browser) program and, connected to the infrastructure of the Internet 36.
  • a Web-enabled client machine 35 equipped with an http client (browser) program and, connected to the infrastructure of the Internet 36.
  • the fifth step of the personalized on-line shopping method involves accessing from the MDB 32, personal shopping information maintained on the identified consumer/shopper, and using the same, in order to construct (in real-time) personalized (i.e. customized) Web-pages that subject the consumer to a personalized shopping environment that reflects his or her interests, tastes, desires, values and/or expectations.
  • the sixth step of the personalized on-line shopping method involves analyzing, at the end of each such transaction, the collected set of data collected on the consumer from his or her shopping and/or browsing activities, in order to mine for particular consumer shopping attributes preclassif ⁇ ed within the RDBMS Data Warehouse 31.
  • the seventh step of the personalized on-line shopping method involves storing such analyzed data within the RDBMS Data Warehouse 31.
  • the eighth step of the personalized on-line shopping method involves using the
  • the information stored within the MDB subsystem 32 reflects current personal shopping profiles of the consumers (e.g. consumer and consumer households alike) represented therewithin.
  • the address data mapping processes of the present invention can be embodied within the MDB subsystem 32 used to manage multiple dimensions of information for real-time control of packet routers, switches and other devices used within the infrastructure of the Internet.
  • the advantage of using the MDB subsystem 32 of the present invention is that pre-aggregated information contained therein cane be quickly accessed in realtime to control events on the Internet in a real-time manner.
  • the address data mapping processes of the present invention can be embodied within an
  • MDB used to manage multiple dimensions of information for real-time control of automated parcel (e.g. package) routing and sortation systems so that packages automatically identified, dimensioned and weighed while being transported along a conveyor belt, can be routed to their destinations along a least-cost shipping route based on a hierarchy of information dimensions reflected within the MDB of the system.
  • automated parcel e.g. package
  • the address data mapping processes of the present invention can be embodied within an MDB subsystem used a MOLAP environment for answering questions about corporate performance in a particular market, economic trends, consumer behaviors, weather conditions, population trends, or the state of any physical, social, biological or other system or phenomenon on which different types or categories of information, organizable in accordance with a predetermined dimensional hierarchy, are collected and stored within a RDBMS of one sort or another. Regardless of the particular application selected, the address data mapping processes of the present invention will provide a quick and efficient way of managing a MDB and also enabling decision support capabilities utilizing the same in diverse application environments.

Abstract

An improved method of and a system for managing data elements in a multi-dimensional database (MDB) supported upon a parallel computing platform using modular-arithmetic based address data mapping (i.e. translation) processes. In one illustrative embodiment, the system comprises a parallel computing platform, an address data mapping mechanism, and a data management mechanism. The parallel computing platform has a plurality of processors and one or more storage volumes for physically storing data elements therein at integer-encoded physical addresses specified in Processor Storage Space. The location of each data element in the MDB is specified in MDB Space by integer-encoded business dimensions associated with the data element. The address data mapping mechanism maps the integer-encoded MDB dimensions associated with each data element into an integer-encoded data storage address within the storage volumes. The data management mechanism manages the data elements stored in the storage volumes using the integer-encoded data storage addresses generated during the address data mapping process. The use of modular-arithmetic functions in the address data mapping mechanism ensures that the data elements in the MDB are uniformly distributed among the plurality of processors, for balanced loading and processing. The present invention can be used to realize (i) an improved MDB for supporting on-line analytical processing (OLAP) operations, (ii) an improved Internet URL Directory for supporting on-line information searching operations by Web-enabled client machines, as well as (iii) diverse types of MDB-based systems for supporting real-time control of processes in response to complex states of information reflected in the MDB.

Description

METHOD OF AND SYSTEM FOR MANAGING MULTI-DIMENSIONAL DATABASES USING MODULAR-ARITHMETIC BASED ADDRESS DATA MAPPING PROCESSES
BACKGROUND OF THE INVENTION
Technical Field
The present invention relates to an improved method of and a system for managing data elements in a multi-dimensional database (MDB) supported upon a parallel computing platform using improved address data mapping (i.e. translation) processes, and more particularly, to an improved method of and a system for managing data elements within a MDB during on-line analytical processing (OLAP) operations.
Background Art
The ability to act quickly and decisively in our increasingly competitive marketplace is . critical to the success of an organization. The volume of information that is available to corporations is rapidly increasing and frequently overwhelming. Those which effectively and efficiently manage such tremendous volumes of data, and use the information to make business decisions, will realize a significant competitive advantage in the marketplace.
The creation of an enterprise-wide data store, known as data warehousing , is the first step towards managing these volumes of data. The Data Warehouse is becoming an integral part of many information delivery systems because it provides a single, central location where a reconciled version of data extracted from a wide variety of operational systems is stored. Over the last few years, improvements in price, performance, scalability, and robustness of open computing systems have made data warehousing a central component of Information Technology strategies. Details on methods of data integration and data warehouse construction can be found in the white paper entitled Data Integration: The Warehouse Foundation by Louis Rolleigh and Joe Thomas, published at http://www.acxiom.com/whitepapers/wp-l 1.asp . Building a Data Warehouse has its own special challenges (e.g. using common data model, common business dictionary, etc.) and is a complex endeavor. However, just having a Data Warehouse does not provide organizations with the often-heralded business benefits of data warehousing. To complete the supply chain from transactional systems to decision maker, organizations need to deliver systems that allow knowledge workers to make strategic and tactical decisions based on the information stored in these warehouses. These decision support systems are referred to as On-Line Analytical Processing (OLAP) systems. OLAP systems allow knowledge workers to intuitively, quickly, and flexibly manipulate operational data using familiar business terms, in order to provide analytical insight into a particular problem or line of inquiry. For example, by using an OLAP system, decision makers can slice and dice information along a customer (or business) dimension, and view business metrics by product and through time. Reports can be defined from multiple perspectives that provide a high-level or detailed view of the performance of any aspect of the business. Decision makers can navigate throughout their database by drilling down on a report to view elements at finer levels of detail, or by pivoting to view reports from different perspectives. To enable such full- functioned business analyses, OLAP systems need to (1) support sophisticated analyses, (2) scale to large numbers of dimensions, and (3) support analyses against large atomic data sets. These three key requirements are discussed further below.
Decision makers use key performance metrics to evaluate the operations within their domain, and OLAP systems need to be capable of delivering these metrics in a user- customizable format. These metrics may be obtained from the transactional databases precalculated and stored in the database, or generated on demand during the query process. Commonly used metrics include:
(1) Multidimensional Ratios (e.g. Percent to Total) Show me the contribution to weekly sales and category profit made by all items sold in the Northwest stores between July 1 and July 14. (2) Comparisons (e.g. Actual vs. Plan, This Period vs. Last Period) Show me the sales to plan percentage variation for this year and compare it to that of the previous year to identify planning discrepancies.
(3) Ranking and Statistical Profiles (e.g. Top N/Bottom N, 70/30, Quartiles)
Show me sales, profit and average call volume per day for my 20 most profitable salespeople, who are in the top 30% of the worldwide sales.
(4) Custom Consolidations (e.g. Financial Consolidations, Market Segments, Ad Hoc Groups)
Show me an abbreviated income statement by quarter for the last two quarters for my Western Region operations. Knowledge workers analyze data from a number of different business perspectives or dimensions. As used hereinafter, a dimension is any element or hierarchical combination of elements in a data model that can be displayed orthogonally with respect to other combinations of elements in the data model. For example, if a report lists sales by week, promotion, store, and department, then the report would be a slice of data taken from a four-dimensional data model.
Target marketing and market segmentation applications involve extracting highly qualified result sets from large volumes of data. For example, a direct marketing organization might want to generate a targeted mailing list based on dozens of characteristics, including purchase frequency, purchase recency, size of the last purchase, past buying trends, customer location, age of customer, and gender of customer. These applications rapidly increase the dimensionality requirements for analysis.
The number of dimensions in OLAP systems range from a few orthogonal dimensions to hundreds of orthogonal dimensions. Orthogonal dimensions in an examplary OLAP application might include Geography, Time, and Products. Atomic data refers to the lowest level of data granularity required for effective decision making. In the case of a retail merchandising manager, "atomic data" may refer to information by store, by day, and by item. For a banker, atomic data may be information by account by transaction by branch. Most organizations implementing OLAP systems find themselves needing systems that can scale to tens, hundreds, and even thousands of gigabytes of atomic information. As OLAP systems become more pervasive and are used by the majority of the enterprise, more data over longer time frames will be included in the data store (i.e. data warehouse), and the size of the database will increase by at least an order of magnitude. Thus, OLAP systems need to be able to scale from present to near- future volumes of data. In general, OLAP systems need to (1) support the complex analysis requirements of decision-makers, (2) analyze the data from a number of different perspectives (i.e. business dimensions), and (3) support complex analyses against large input (atomic-level) data sets from a Data Warehouse maintained by the organization using a relational database management system (RDBMS). Vendors of OLAP systems classify OLAP Systems as either Relational OLAP
(ROLAP) or Multidimensional OLAP (MOLAP) based on the underlying architecture thereof. Thus, there are two basic architectures for On-Line Analytical Processing systems: The ROLAP Architecture, and the MOLAP architecture.
Overview of The Relational OLAP Architecture
The Relational OLAP (ROLAP) system accesses data stored in a Data Warehouse to provide OLAP analyses. The premise of ROLAP is that OLAP capabilities are best provided directly against the relational database, i.e. the Data Warehouse. An overview of the ROLAP architecture is provided in Fig. 1 A. The ROLAP architecture was invented to enable direct access of data from Data
Warehouses, and therefore support optimization techniques to meet batch window requirements and provide fast response times. Typically, these optimization techniques typically include application-level table partitioning, pre-aggregate inferencing, denormalization support, and the joining of multiple fact tables. As shown in Fig. 1 A, a typical prior art ROLAP system has a three-tier or layer client/server architecture. The "database layer" utilizes relational databases for data storage, access, and retrieval processes. The "application logic layer" is the ROLAP engine which executes the multidimensional reports from multiple users. The ROLAP engine integrates with a variety of "presentation layers," through which users perform OLAP analyses. As shown in Fig. 1 A, after the data model for the data warehouse is defined, data from on-line transaction-processing (OLTP) systems is loaded into the relational database management system (RDBMS). If required by the data model, database routines are run to pre- aggregate the data within the RDBMS. Indices are then created to optimize query access times. End users submit multidimensional analyses to the ROLAP engine, which then dynamically transform the requests into SQL execution plans. The SQL execution plans are submitted to the relational database for processing, the relational query results are cross-tabulated, and a multidimensional result data set is returned to the end user. ROLAP is a fully dynamic architecture capable of utilizing precalculated results when they are available, or dynamically generating results from atomic information when necessary.
Overview of MOLAP Architecture
Multidimensional OLAP (MOLAP) systems utilize a proprietary multidimensional database (MDB) to provide OLAP analyses. The main premise of this architecture is that data must be stored multidimensionally to be accessed and viewed multi-dimensionally.
As shown in Fig. IB, a typical prior art MOLAP system has a two-tier or layer client/server architecture. In this architecture, the MDB serves as both the database layer and the application logic layer. In the database layer, the MDB system is responsible for all data storage, access, and retrieval processes. In the application logic layer, the MDB is responsible for the execution of all OLAP requests. The presentation layer integrates with the application logic layer and provides an interface, through which the end users view and request OLAP analyses on their client machines which may be web-enabled through the infrastructure of the Internet. The client server architecture of a MOLAP system allows multiple users to access the same multidimensional database (MDB). As shown in Fig. 2 A, information (i.e. basic data) from a variety of operational systems within an enterprise, comprising the Data Warehouse, is loaded into a prior art multidimensional database (MDB) through a series of batch routines. The Express" server by the Oracle Corporation is examplary of a popular server can be used to carry out the data loading process in prior art MOLAP systems. As shown in Fig. 2B an exemplary 3-D MDB is schematically depicted, showing geography, time and products as the "dimensions" of the database. The multidimensional data of the MDB is organized in an array structure, as shown in Fig. 2C. Physically, the Express™ server stores data in pages (or records) of an information file. Pages contain 512, or 2048, or 4096 bytes of data, depending on the platform and release of the Express™ server. In order to look up the physical record address from the database file recorded on a disk or other mass storage device, the Express™ server generates a data structure referred to as a Page Allocation Table (PAT) . As shown in Fig. 2D, the PAT tells the Express™ server the physical record number that contains the page of data. Typically, the PAT is organized in pages. The simplest way to access a data element in the MDB is by calculating the "offset" using the additions and multiplications expressed by a simple formula:
Offset = Months + Product * β ofJΛonths) + City * β ofJΛonths * # of Products)
During an OLAP session, the response time of a multidimensional query on a prior art MDB depends on how many cells in the MDB have to be added "on the fly". As the number of dimensions in the MDB increases linearly, the number of the cells in the MDB increases exponentially. However, it is known that the majority of multidimensional queries deal with summarized high level data. Thus, as shown in Figs. 3A and 3B, once the atomic data (i.e. basic data ) has been loaded into the MDB, the general approach is to perform a series of calculations in a batch manner in order to aggregate (i.e. pre-aggregate) the data elements along the orthogonal dimensions of the MDB and fill the array structures thereof. For example, revenue figures for all retail stores in a particular state (i.e. New York) would be added together to fill the "state" level cells in the MDB. After the array structure in the database has been filled, integer-based indices are created and hashing algorithms are used to improve query access times. Pre-aggregation of dimension DO is always performed along the cross-section of the MDB along the DO dimension.
As shown in Fig. 3C3, the primarily loaded data in the MDB is organized at its lowest dimensional hierarchy. As shown in Figs. 3C1 and 3C3, the results of the pre-aggregations are stored in the neighboring parts of the MDB. As shown in Fig. 3C2, along the TIME dimension, weeks are the aggregation results of days, months are the aggregation results of weeks, and quarters are the aggregation results of months. While not shown in the figures, along the GEOGRAPHY dimension, states are the aggregation results of cities, countries are the aggregation results of states, and continents are the aggregation results of countries. By pre- aggregating (i.e. consolidating or compiling) all logical subtotals and totals along all dimensions of the MDB, it is possible to carry out real-time MOLAP operations using a multidimensional database (MDB) containing both basic (i.e. atomic) and pre-aggregated data.
Once this compilation process has been completed, the MDB is ready for use. Users request OLAP reports by submitting queries through the OLAP Application interface (e.g. using web-enabled client machines), and the application logic layer responds to the submitted queries by retrieving the stored data from the MDB for display on the client machine. Each data retrieval operation carried out on the MDB involves searching through the Page Allocation Tables (e.g. search trees) maintained therefor in order to determine the addresses of the data elements needed to answer the query. Because the Page Allocation Tables (PATs) typically contain billions of entries, paging of the tables from mass storage memory is often required as schematically depicted in Fig. 4. This increases the time required to search the Page Allocation Tables, find the n-dimensional Cartesian addresses for the sought after data elements, convert the n-dimensional Cartesian addresses into physical record addresses, and physically access the corresponding data records stored within the storage volumes of the MDB.
Thus, each time the basic or atomic data in the MDB requires updating in any significant manner, for any reason, the MOLAP system must carry out computationally intensive data compilation operations in order to precompile (i.e. pre-aggregate) data within the MDB. The graphs plotted in Fig. 5 clearly indicate the computational demands that are created when searching an MDB during an OLAP session, where answers to queries are presented to the MOLAP system, and answers thereto are solicited often under real-time constraints. However, prior art MOLAP systems have limited capabilities to dynamically create data aggregations or to calculate business metrics that have not been precalculated and stored in the MDB.
Thus, there is a great need in the art for an improved way of and means for accessing data elements within a multi-dimensional database (MDB) containing precompiled or pre-aggregated data and supported on a parallel computing platform during OLAP or like operations, while avoiding the shortcomings and drawbacks of prior art systems and methodologies. In view of the computational demands of such prior art MOLAP systems, Applicants have recognized that the performance of such systems might be significantly improved, and thus made more competitive with and superior to prior art ROLAP systems, if parallel processing techniques are used to implement prior art MOLAP processes.
In Fig. 6, Applicants disclose, as generally disclosed in U.S. Patent No. 5,850,547 assigned to Oracle Corporation, incorporated herein by reference, parallel computing machine (i.e. platform) 1 for implementing MOLAP systems. As shown therein, the multi-dimensional database (MDB) 2 is supported on the parallel machine using a plurality of processors 3 denoted P0, Pi, ,Pp-], each having DRAM 4 for address data storage during system operation, and one or more storage volumes 5 for storing application data and address data. An OLAP server 6 (e.g. the Express™ Server from the Oracle Corporation) is provided between the Data Warehouse (e.g. RDBMS) 7 and the parallel machine 2. The processors) 8 within the OLAP server 6, denoted by P(s), and DRAM 9 and local storage volumes 10 associated therewith, are in communication with the array of processors 3 in the parallel computing machine 2. Also, as shown, each processor 3 in the parallel computing machine 2 has direct access to the mass storage volumes within the Data Warehouse 7. For illustration purposes, the processors) used in the Data Warehouse 7 are indicated by reference numeral 1 1 , whereas its DRAM is indicated by reference numberal 12, and its mass storage volumes are indicated by reference numeral 13.
In principal, the use of parallel processing machines as taught in Fig. 6 should enable quick and direct access to an array of answers to the submitted queries, as well as speed up the pre-aggregation process and the execution of multidimensional queries and drill-down processes. Also, effective parallel processing can be expected only by ensuring that the data is evenly distributed data among the processors in the parallel computing system, and that all loads are balanced.
In an effort to apply parallel processing techniques to prior art MOLAP systems, a number of methods of data element address assignment (i.e. address data translation) have been developed, each based on partitioning the array of multidimensional data. The first method seeks to partition a conventional array of data by dividing it by the lowest dimension of the corresponding MDB, as schematically illustrated in Fig. 7A. The second method seeks to partition a multidimensional data by dividing it by the highest dimension of the corresponding MDB, as schematically illustrated in 7B.
As indicated in Fig. 7C, the first method of data element address assignment attempts to carry out data address assignment using a method of partitioning a multidimensional data set by dividing it by the lowest dimension of the corresponding MDB. As illustrated in Fig. 7 A, this method results in unbalanced data processing among the processors of the parallel computing machine, and in sequential, as opposed to parallel, access to data.
As indicated in Fig. 7C, the second method of data element assignment attempts to carry out data address assignment using a method of partitioning a multidiminsional data set by dividing according the highest dimension of the corresponding MDB. As illustrated in Fig. 7B, this method results in unbalanced data processing among the processors of the parallel computing machine, and in sequential access to data.
Surprisingly, Applicants have discovered that implementing a MOLAP system on a parallel computing platform, using the data structure of conventional Page Allocation Tables, does not provide increases in system performance (e.g. decreased access/search time) which might be expected when parallelizing a serial computing application.
Accordingly, there is a great need in the art for an improved parallel-based method and system for accessing data elements in a MDB without the shortcomings and drawbacks associated with prior art techniques such as, for example, in U.S. Patent 5,850,547.
DISCLOSURE OF THE INVENTION
Accordingly, it is a primary object of the present invention to provide an improved method of and apparatus for accessing data elements within a multidimensional database (MDB) using a parallel computing platform, achieving a significant increase in system performance (e.g. deceased access/search time) using parallel computing techniques.
Another object of the present invention is to provide such apparatus in the form of an improved MOLAP system, wherein the MDB contains precompiled or pre-aggregated data and parallel data loading operations are carried out between the Data Warehouse and the MDB of the system using a novel modular arithematic based data element address assignment scheme which involves mapping (i) integer-encoded MDB dimensions associated with the raw data elements accessed from the Data Warehouse, into (ii) integer-encoded data storage addresses within the storage volumes associated with the MDB.
Another object of the present invention is to provide such apparatus in the form of an improved MOLAP system, wherein parallel data aggregation operations are carried out within the MDB of the system using a novel modular arithematic based data element address assignment scheme which involves mapping (i) integer-encoded MDB dimensions associated with the raw or previously pre-aggregated data elements to be stored within the MDB, into (ii) integer-encoded data storage addresses within the storage volumes thereof at which the pre- aggregated data elements are to be stored.
Another object of the present invention is to provide such apparatus in the form of an improved MOLAP system, wherein OLAP operations are carried out within the MDB of the system using a novel modular arithematic based data element address assignment scheme which involves mapping (i) integer-encoded MDB dimensions associated with pre-aggregated data elements to be accessed from the MDB, into (ii) integer-encoded data storage addresses within the storage volumes thereof, from which the pre-aggregated data elements are to be accessed.
Another object of the present invention is to provide such an improved MOLAP system, wherein data processing tasks are evenly distributed among processors on the parallel computing platform of the system. Another object of the present invention is to provide such an improved MOLAP system, wherein data elements within the MDB of the system are evenly distributed among the processors on the parallel computing platform thereof.
Another object of the present invention is to provide such an improved MOLAP system, wherein each processor on the parallel computing platform handles data elements assigned thereto during data address assignment operations carried out during parallel data loading operations and parallel data aggregation operations within the system.
Another object of the present invention is to provide such an improved MOLAP system, wherein there is no need to exchange data among processors on the parallel computing platform. Another object of the present invention is to provide such an improved MOLAP system, wherein the need for interprocessor communication among the parallel processors is minimized.
Another object of the present invention is to provide an improved MOLAP method, wherein parallel data loading operations are carried out between the Data Warehouse and MDB of the system using a data element address assignment scheme that employs mapping of MDB dimensions using modular arithemetic.
Another object of the present invention is to provide such an improved MOLAP method, wherein parallel data aggregation operations are carried out between the Data Warehouse and MDB of the system using a data element address assignment scheme that employs mapping of MDB dimensions using modular arithematic.
Another object of the present invention is to provide such an improved MOLAP method, wherein data processing tasks are evenly distributed among processors on the parallel computing platform of the system. Another object of the present invention is to provide such an improved MOLAP method, wherein data elements within the MDB of the system are evenly distributed among the processors on the parallel computing platform thereof.
Another object of the present invention is to provide such an improved MOLAP method, wherein each processor on the parallel computing platform handles data elements assigned thereto during data address assignment operations carried out during parallel data loading operations and parallel data aggregation operations within the system.
Another object of the present invention is to provide such an improved MOLAP method, wherein there is no need to exchange data among processors on the parallel computing platform. Another object of the present invention is to provide such an improved MOLAP method, wherein the need for interprocessor communication among the parallel processors is minimized.
Another object of the present invention is to provide a new method of generating an information directory or index for a multidimensional database (MDB) used in a MOLAP , system. Another object of the present invention is to provide such a method of generating an information directory or index for an MDB, wherein data element addresses to data storage elemenets therewithin are generated using (i) modular arithematic functions, (ii) dimensions of the MDB and its dimensional hierarchy, and (iii) data variables from the relational database management system (RDBMS) of the Data Warehouse associated with the MDB.
Another object of the present invention is to provide an improved decision support system which allows knowledge workers to intuitively, quickly, and flexibly manipulate operational data using familiar business terms in order to provide analytical insight into a business domain of interest. Another object of the present invention is to provide a novel method of using a MDB to support OLAP systems.
Another object of the present invention is to provide an improved system and method of searching and updating a MDB containing an index of information resources locators (URLs) on the Internet, referred to as an MBD-based URL-Index or Directory. Another object of the present invention is to provide such an improved system and method of searching and updating a MDB-based URL-Index or Directory, wherein data storage, retrieval, updating and shifting operations are earned out within the MDB of the system using a novel modular arithmetic based data element address assignment scheme which involves mapping (i) integer-encoded MDB dimensions associated with data elements to be stored in, retrieved from or shifted within the MDB, into (ii) integer-encoded data storage addresses within the storage volumes thereof.
Another object of the present invention to provide a novel method of data mapping and storage for use in the parallel access of multidimensional data bases, as well as in parallel data loading and aggregation operations, and on-the-fly multidimensional queries, while ensuring balanced processing and minimizing interprocessor communication among a plurality of processors.
Another object of the present invention is to provide a method of decomposing, or partitioning, an n-dimensional database intop modules, where p represents the number of processors (i.e. processing module) in the multiprocessing array, Dp, D D„.t represent n dimensions, and k represents the k-th out of ) processing modules, is based on the following address data translation (i.e. mapping) formula:
Figure imgf000015_0001
Another object of the present invention is to provide such a method, wherein each data element is specified by index k, and the entire data domain is decomposed and assigned to the
Processor (Memory) Space of/? processing modules.
Another object of the present invention is to provide a novel MDB-based Internet URL
Directory system for supporting on-line information searching operations by Web-enabled client machines.
Another object of the present invention is to provide a novel personalized electronic commerce (i.e. on-line) shopping system, in which consumer shopping profile information is collected on individual consumers during e-commerce and other transactions, stored in an MBD for quick acccess and use in creating Web-enabled personalized shopping environments (e.g. personalized Web-stores) in a real-time manner which reflect the interests, tastes, desires and/or expectations of the individual customers engaged in on-line shopping activities supported by electronic-commerce servers over the Internet.
Another object of the present invention is to provide a novel MDB-based system for providing fast, affordable and easy access to customer intelligence, enabling companies to more effectively market products and services over the Internet.
Another object of the present invention is to provide a novel MDB-based system that enables value-added services to customers running e-commerce enabled Web sites.
Another object of the present invention is to provide a novel MDB-based system that enables improved levels of strategic business analysis and data mining on the Internet. Another object of the present invention is to provide a novel MDB-based system that enables a company to leverage strategic information on its customers and competitors by quickly uncovering hidden patterns and more accurately predicting customer behavior.
Another object of the present invention is to provide a novel MDB-based system that enables fast knowledge discovery and accurate predictive business modeling for applications such as database marketing, financial/risk analysis, fraud management, bioinformatics, return-on- investment (ROI) justification, business intelligence applications (e.g. Balanced Scorecard, Activity-Based Costing), customer relations management (CRM), enterprise information portals and the like.
Another object of the present invention is to provide a novel Internet-enabled MDB- based system for supporting real-time control of processes in response to complex states of information reflected in the MDB.
These and other object of the present invention will become apparent hereinafter and in the Claims to Invention set forth herein.
BRIEF DESCRIPTION OF THE DRAWINGS
In order to more fully appreciate the objects of the present invention, the following Detailed Description of the Illustrative Embodiments should be read in conjunction with the accompanying Drawings, wherein:
Fig. 1 A is a schematic representation of an exemplary prior art relations on-line analytical processing (ROLAP) system comprising a three-tier or layer client/server architecture, wherein the first tier has a database layer utilizing relational databases (RDBMS) for data storage, access, and retrieval processes, the second tier has an application logic layer (i.e. the ROLAP engine) for executing the multidimensional reports from multiple users, and the third tier integrates the ROLAP engine with a variety of presentation layers, through which users perform OLAP analyses;
Fig. 1 B is a schematic representation of a generalized embodiment of a prior art multidimensional on-line analytical processing (MOLAP) system comprising an on-line transactional processing (OLTP) relational database, a Data Warehouse realized as a relational database, an OLAP server, a plurality of OLAP clients, and an OLAP multidimensional database);
Fig. 2A is a schematic representation of the Data Warehouse shown in the prior art system of Fig. IB comprising numerous data tables (e.g. TI, T2, Tn) and data field links, and the OLAP multidimensional database shown of Fig. IB, comprising a conventional page allocation table (PAT) with pointers pointing to the physical storage of variables in a information storage device;
Fig. 2B is a schematic representation of an exemplary three-dimensional database and organized as a 3-dimensional Cartesian cube and used in the prior art system of Fig. 2A, wherein the first dimension of the MDB is representative of geography (e.g. cities, states, countries, continents), the second dimension of the MDB is representative of time (e.g. days, weeks, months, years), the third dimension of the MDB is representative of products (e.g. all products, by manufacturer), and the basic data element is a set of variables which are addressed by 3-dimensional coordinate values; Fig. 2C is a schematic representation of a prior art array structure associated with an exemplary three-dimensional data, arranged according to a dimensional hierarchy;
Fig. 2D is a schematic representation of a prior art page allocation table for an exemplary three-dimensional database, arranged according to pages of data element addresses;
Fig. 3A is a schematic representation of a prior art MOLAP system, illustrating the process of periodically storing raw data in the Data Warehouse thereof, serially loading of basic data from the Data Warehouse to the multidimensional database (MDB), and the process of serially pre-aggregating (or pre-compiling) the data m the multidimensional database along the entire dimensional hierarchy thereof;
Fig. 3B is a schematic representation illustrating that the Cartesian addresses listed in a prior art page allocation table (PAT) point to where physical storage of data elements (i.e. variables) occurs in the information recording media (e.g. storage volumes) associated with the MDB, during the loading of basic data into the MDB as well as during data preaggregation processes carried out therewithin;
Fig. 3C1 is a schematic representation of an exemplary three-dimensional database used in a conventional MOLAP system of the prior art, showing that each data element contained therein is physically stored at a location in the recording media of the system which is specified by the dimensions (and subdimensions within the dimensional hierarchy) of the data variables which are assigned integer-based coordinates in the MDB, and also that data elements associated with the basic data loaded into the MDB are assigned lower integer coordinates in MDB Space than pre-aggregated data elements contained therewithin; Fig. 3C2 is a schematic representation illustrating that a conventional hierarchy of the dimension of time typically contains the subdimensions days, weeks, months, quarters, etc. of the prior art;
Fig. 3C3 is a schematic representation showing how data elements having higher subdimensions of time in the MDB of the prior art are typically assigned increased integer addresses along the time dimension thereof;
Fig. 4 is a schematic representation illustrating that, for very large prior art multidimensional databases, very large page allocation tables (PATs) are required to represent the address locations of the data elements contained therein, and thus there is a need to employ address data paging techniques between the DRAM (e.g. program memory) and mass storage devices (e.g. recording discs or RAIDs) available on the serial computing platform used to implement such prior art MOLAP systems;
Fig. 5 is a graphical representation showing how search time in a conventional (i.e. prior art) multidimensional database increases in proportion to the amount of preaggregation of data therewithin;
Fig. 6 is a schematic representation of a generalized MOLAP system, wherein a parallel computing machine is used to realize the MDB thereof using any one of several prior art data element addressing methods;
Fig. 7 A is a schematic representation illustrating a first prior art method of data element address assignment which involves the partitioning a conventional 4-D array of data by splitting the multidimensional data according the lowest dimension of the MDB, wherein this method can be used during both data element loading and preaggregation processes subject to the shortcomings and drawbacks set forth in Fig. 7C;
Fig. 7B is a schematic representation illustrating a second prior art method of data element address assignment in accordance with the present invention which involves partitioning a conventional 4-D array of data by splitting the multidimensional data according the highest dimension of the MDB, wherein this method can be used during both data element loading and preaggregation processes subject to the shortcomings and drawbacks set forth in Fig. 7C; Fig. 7C is a table setting forth the shortcomings and drawbacks associated with the prior art data element address assignment methods depicted in Figs. 7A and 7B;
Fig. 8A is a schematic representation illustrating a preferred method of data element address assignment in accordance with the present invention, implemented on the parallel computing platform of Fig. 6,. and involving the generation of a set of (memory) page allocation tables (PATs) by mapping the dimensions of the MDB into physical storage addresses using modular integer-based arithmetic;
Fig. 8B is a schematic representation of the method of Fig. 8A, indicating that the inputs to the mapping (i.e. translation) function employed in the data address assignment method of Fig. 8 A are the MDB dimensions and dimensional hierarchy and variables in the RDBMS database, and that the outputs from the mapping function are a set of page allocation tables (PATs) preassigned to the plurality of processors associated with the parallel computing machine (i.e. platform) shown in Fig. 6;
Fig. 8C is a schematic representation of a MOLAP system in accordance with the present invention, illustrating the process of periodically storing raw data in the Data
Warehouse thereof, parallelly loading basic data from the Data Warehouse to the MDB, and the parallel process of pre-aggregating (or pre-compiling) the data in the MDB along the entire dimensional hierarchy thereof;
Fig. 9A1 illustrates the result of the process of data elements address assignment employed during the process of data element loading, between the MDB space of a 4-D MDB and the processor (memory) space of 4 processors (p=4) on a parallel machine operating in accordance with the present invention, showing uniform distribution of data elements of the MDB among processors;
Fig. 9A2 illustrates the result of the process of data element address assignment employed during the process of data element loading, between the MDB space of a 4-D MDB and the processor (memory) space of 3 processors (p-3) on a parallel machine operating in accordance with the present invention, showing uniform distribution of data elements of the MDB among processors;
Fig. 9 A3 illustrates the result of the process of data elements address assignment during the process of data element loading, between the MDB space of a 4-D MDB and the processor (memory) space of 5 processors (p=5) on a parallel machine operating in accordance with the present invention, showing uniform distribution of data elements of the MDB among processors;
Fig. 9A4 illustrates the result of the process of data elements address assignment employed during the process of data element loading, between the MDB space of a 4-D MDB and the processor (memory) space of 6 processors (p=6) on a parallel machine operating in accordance with the present invention, showing uniform distribution of data elements of the MDB among processors;
Fig. 10A is a schematic representation of the MOLAP system of the present invention shown in Fig. 6, illustrating the parallel loading of basic data from the Data Warehouse to the MDB supported on the parallel computing machine, using a plurality of software drivers provided for in the OLAP server of the MOLAP system;
Fig. 10B is a schematic representation of the MOLAP system of the present invention shown in Fig. 10A, illustrating the parallel loading of basic data from the Data Warehouse to the MDB supported on the parallel computing machine, using the data element address assignment method shown in Fig. 8A;
Fig. 1 1 A is a schematic representation illustrating the internal addressing of data elements in the Storage Space of processor pO, in the particular case of Fig. 9A1, in accordance with the present invention; Fig. 1 IB is a schematic representation of an array of data elements in the Storage Space of processor pO (of Fig. 1 1 A), arranged according to the present invention;
Fig. 1 1C is a schematic representation of a Page Allocation Table of processor Po, for the exemplary array of Fig. 1 IB, arranged according to pages of data element addresses;
Fig. 12A is a schematic representation depicting the parallel data aggregation process of the present invention, shown carried out on a parallel machine of the type shown in Fig. 6 having 4 processors (p=4) operating in accordance with the present invention, and showing that partial aggregation results from the processors are concatenated into a final result by interprocessor communication provided for within the parallel computing machine;
Fig. 12B1 is a schematic representation depicting the parallel-based method of pre- aggregation according to the present invention, illustrating that each processor on a four- processor parallel computing machine of the type shown in Fig. 6, is assigned about the same number of data elements during data aggregration along the D0=2 subspace of a 3-D MDB supported thereupon;
Fig. 12B2 is a schematic representation depicting the parallel-based method of pre- aggregation according to the present invention, illustrating that each processor on a four- processor parallel computing machine, of the type shown in Fig. 6, is assigned about the same number of data elements during data aggregration along the D3=l subspace of a 3-D MDB supported thereupon;
Fig. 12B3 is a schematic representation depicting the parallel-based method of preaggregation according to the present invention, illustrating that each processor on a four- processor parallel computing machine, of the type shown in Fig. 6 is assigned about the same number of data elements during data aggregration along the D 1=1 subspace of a 3-D MDB supported thereupon;
Fig. 12B4 is a schematic representation depicting the parallel-based method of preaggregation according to the present invention, illustrating that each processor on a four- processor parallel computing machine, of the type shown in Fig. 6, is assigned about the same number of data elements during data aggregration along the D2=l subspace of a 3-D MDB supported thereupon;
Fig. 12C 1 is schematic representation depicting the aggregation procedure of the present invention carried out within a 3-dimensional MDB, where every single data element of the base data is summed up to the pre-aggregated data along each of the dimensions, and is handled only once during the entire data aggregation process of the present invention;
Fig. 12C2 is schematic representation of the aggregation procedure of the present invention carried out within a 5-dimensional MDB, where every single data element of the base data is summed up to the pre-aggregate data along each of the dimensions, and is handled only once in the entire aggregation process;
Fig. 12C3 is a schematic representation of the "Storage Space" of a single processor in the parallel operating machine of the present invention, illustrating, during the aggregation process, that most of the data is in a compressed state, in order to save memory/disk space and handling times, that all disk data is in a compressed state, that the data in the main memory is kept in two levels, namely compressed and open, that the aggregation program works directly on the open level, and that the open data, according to space availability, is compressed and moved to the Disk Space;
Fig. 13A is schematic representation of the parallel-based method of pre-aggregation according to the present invention, illustrating the first aggregation level L=0 along dimension Di, where all processors on the parallel computing platform are participating in the data aggregation process;
Fig. 13B is schematic representation of the parallel-based method of preaggregation according to the present invention, illustrating the Lm-th aggregation level along dimension Di, where all processors on the parallel computing platform are participating in the data aggregation process;
Figs. 14A through 14B3 set forth a series of schematic representations illustrating that data element loading and aggregation processes of the present invention can be carried out with an MDB having any dimensionality or hierarchy of dimensionality, provided that each unit of dimensionality in the MDB is indexed using integer-based arithmetic;
Fig. 15A is a schematic representation of an Internet URL directory system according to the present invention, wherein a parallel computing machine is used to realize the MDB-based URL Directory (or Index) thereof using any one of several possible types of data element addressing methods in accordance with the principles of the present invention, whereas a relational database management system (RDBMS) is used to realize the Internet URL registration subsystem thereof;
Fig. 15B is a schematic representation of an exemplary three-dimensional database of an Internet URL Directory organized as a 3-dimensional Cartesian cube according to the prsent invention, wherein the first dimension of the MDB is representative of Health, the second dimension of the MDB is representative of Arts and Humanities, the third dimension of the MDB is representative of Education, and the basic data element is a set of WWW (e.g. HTML or XML) Pages which are addressed by 3-dimensional coordinate values;
Fig. 16 is a schematic representation of the parallel computing machine of Fig. 15A, illustrating the parallel loading of data from the RDBMS-based URL registration Data Warehouse, to the MDB-based URL Directory supported on the parallel computing machine, using the data element address assignment method (i.e. address data mapping method) shown in Fig. 8A;
Fig. 17 is a schematic representation of a personalized on-line e-commerce shopping system according to the present invention, wherein a parallel computing machine, of the type shown in Fig. 6, is used to realize the consumer shopping profile MDB based thereof; whereas a RDBMS is used to realize the consumer shopping profile Data Warehouse thereof; and Fig. 18 is a schematic representation of the parallel computing machine of Fig. 17, illustrating the parallel loading of data from the consumer shopping profile Data Warehouse, to the consumer shopping profile MDB supported on the parallel computing machine, using the data element address assignment method (i.e. address data mapping method) shown in Fig. 8A.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS OF THE PRESENT
INVENTION
Referring now to Figs. 6, and 8A through 14B3, the preferred embodiments of the method and system of the present invention will be now described in great detail hereinbelow, wherein like elements in the Drawings shall be indicated by like reference numerals.
In general, the address data mapping method and apparatus of the present invention can be employed in a wide range of applications, including MOLAP systems, Internet URL- directory systems, personalized on-line e-commerce shopping systems, Internet-based systems requiring real-time control of packet routing and/or switching, and the like. For purposes of illustration, initial focus will be accorded to improvements in MOLAP systems, in which knowledge workers are enabled to intuitively, quickly, and flexibly manipulate operational data within a MDB using familiar business , expressed in order to provide analytical insight into a business domain of interest. Thereafter, an improved system and method of accessing information on the WWW using an Internet-based URL directory will be disabled then, a personalized e-commerce shopping system will be described. Other applications will also be discussed. Method of Assigning Data Elements In The MDB To Specific Processors On A Parallel Computing Platform
The MOLAP system and method of the preferred embodiment can be realized using the parallel computing machine shown in Fig. 6 and described above, in combination with the teachings of the present invention discloesd herein. As best illustrated in Fig. 8A, the data elements contained within the MDB of the MOLAP system are located within MDB Space at address locations specified by the integer-encoded dimensions of the data elements in the MDB. As schematically depicted in Fig. 8A, these data elements within the MDB are physically stored in the storage volumes of the MDB (in Processor Storage Space) at storage locations specified by integer-encoded addresses that are generated using the novel address data translation/mapping process of the present invention. To carry out each of the many operations associated with managing the MDB system of the present invention, the novel method of data element address assignment, schematically illustrated in Fig. 8A, is used within the MOLAP system.
As illustrated in Figs. 8A and 8B, the method of data element address assignment involves generating a data structure arranged as a set of page allocation tables or PATs. Each PAT, generated for and assigned to a particular processor Pk on the parallel computing platform shown in Fig. 6, contains information relating (i) the n-dimensional integer-based Cartesian addresses of data elements in the MDB assigned to the specific processor P , to (ii) the integer- based physical address locations where the corresponding data elements (i.e. data records) are stored in the storage volumes associated with the specific processor P . In other words, each PAT assigned to a specific processor Pk provides a one-to-one mapping between (i) each integer-based Cartesian address location in the MDB assigned to the processor Pk, and (ii) an unique integer-based physical-storage address location in the storage volume of the specific processor Pk.
In general, the physical storage address of each data element in the MDB (listed in its corresponding PAT) is generated by a two-step process comprising: first assigning each data element in the MDB (or more precisely, each integer-based logical/Cartesian address location in the MDB) to a specific processor Pk; and then generating a unique integer-based data storage address location within the physical storage volume of the specified processor Pk. Fig. 8 A schematically depicts the process of assigning each data element in a three- dimensional MDB (or more precisely, each integer-based logical/Cartesian address location in the 3D MDB) to a specific processor Pk on the parallel computing platform. As illustrated in Fig. 8 A, this process of processor assignment involves using the following integer-based modular arithmetic function, namely: k=(D2 + DI + DO) mod/? for the case of a 3-D MDB, wherein: k is the processor identity index (i.e. processor number) asssociated with the k- processor s data Storage Space;
D2, DI and DO are the first, second, and third (business) dimensions of the MDB, respectively; and p is the number of processors employed on the parallel computing platform of the system.
For the general case of a n dimensional MDB, processor assignment is carried out using the following integer-based modular arithematic function :
k = (Dn +D2 + DI + DO) mod/? (1)
As shown in Fig. 8B, the inputs to the mapping function employed in the data address assignment method of Fig. 8 A are: (i) modular arithematic function(s); (ii) the dimensions of the MDB and its dimensional hierarchy; and (iii) data variables from the relational database management system (RDBMS) of the Data Warehouse associated with the MDB. As illustrated in Fig. 8B, the outputs from the mapping function are a set of page allocation tables (PATs) generated for the plurality of processors associated with the parallel computing machine of Fig. 6. Notably, in the PAT generation process of Fig. 8B, each processor Pk generates a unique integer-based physical storage address for storing each assigned data element within the physical storage volume of the specified processor P . In the case of a four processor (p=4) computing platform, each processor Pk generates a unique integer-based physical storage address for the assigned data element using the following local address generation formula: Loc(D0,D,, D2,D3) = [ (Do+size D0* (D,+sizeD,* (D2+sizeD2*D3))) >]
wherein: p represents the Number of processors; Di represents the running index of the i-th dimension; and Size D represents the modified size of i-th dimension by Size D = int((sizeD+p- 1)* ?) (wherein int implies truncating the result is to an integer value).
In the general case of an n-dimensional MDB, each processor P generates a unique integer- based physical storage address for each data element assigned by formula (1) above using the following local address generation formula:
Loc(D0,D,, ,Dπ) = [ (Do+size D0* (D,+sizeD,* (,„*D„)) )//?] (2)
Method of Loading Basic Data From Data Warehouse To MOLAP Parallel Machine
In Fig. 9A1, there is shown a four-dimensional database which is generated during the parallel data element loading process of Fig. 10A which will be detailed hereinafter. As shown in Fig. 9A1, the parallel data loading process is carried out between the RDBMS-based Data Warehouse of the system and the 4-D MDB supported on a four processor (p=4) parallel machine, as shown in Fig. 6 , operated in accordance with the principles of the present invention. Notably, the parallel data element address mapping process depicted in Figs. 8A and 8B, and characterized by the modular arithmetic formula (1) set forth above, is employed during the parallel data element loading process of Fig. 10A, and employs a plurality of software drivers provided for within the OLAP server of the system.
As shown in Figs. 9A1 through 9A4, the result of the mapping process during data loading operations is a uniform distribution of data elements of the MDB among processors. For the small example shown in Fig. 9A1, the amount of data elements mapped to each one the four processors is about the same, e.g. about 26 to 28. The largest possible variance is smaller than/; (i.e. the number of processors on the parallel computing platform). For a realistic case, in which millions to billions of data elements are counted, such a variance is negligible. Moreover, the method is scalable only if any number of processors can be employed, without loosing the uniformity of distribution. Figs. 9A1 to 9A4 show that the system and method of the present invention are scalable by the capacity thereof to evenly distribute data elements among a varying number of processors on the parallel computing platform. For example, Fig. 9A2 illustrates uniform distribution of data that results when the the data set is loaded among three (3) processors (/>=3) on the parallel computing platform, wherein 36 data elements are assigned to each precessor. Fig. 9A3 illustrates that uniform distribution of data results when the data set is loaded among five (5) processors (p-5), wherein 20 to 23 elements are distributed to each processor. Fig. 9A4 illustrates that uniform distribution of data results when the data is loaded among six (6) processors (p-6), wherein 18 data elements are distributed to each processor. A comparison of Figs. 9A1 to 9A4 demonstrates that the address data mapping process of the present invention is scalable to any dimension MDB without causing a decrease in system performance.
In Fig. 10A, the process of loading basic data from the RDBMS-based Data Warehouse to the MOLAP parallel machine is shown carried out in a parallel manner in accordance with the principles of the present invention. As shown therein, each one of the loading processes is handled by a separate processor. This process of parallel data loading is illustrated in greater detail in Fig. 10B. Each processor governs its own subspace, according to the mapping scheme of Figs. 8A and 8B, characterized by formulas (1) and (2) set forth hereinabove. The relational data base access module or manager (RDBAM) shown in Fig. 10B is a software tool used to define the mapping between relational and multi-dimensional models employed in the system of the present invention. A commerically available RDBAM subsystem is sold by the Oracle Corporation, under the tradename ORACLE Express Relational Access Manager (RAM), described in detail at the uniform resource loacator (URL) http://www.oracle.com/Olap/collatr 1/ramds.pdf .
The function of the RDBAM is to generate the address of a basic data element based on Warehouse Metadata contained in a Data Warehouse Metadata directory, and then access the basic data element from within the set of relational lists comprising the RDBMS-based Data Warehouse. Warehouse Metadata contained in the Warehouse Metadata directory consists of information describing the Warehouse data contained in the RDBMS-based Data Warehouse, and is stored together with the Warehouse data. The function of the Data Warehouse Metadata directory is to describe the detailed structure of the relational data (Star, Snowflakes, etc.), dimensions, and hierarchy relations associated with the RDBMS-Data Warehouse. Using the Warehouse Metadata directory, every candidate element of the MDB may be found in the set of lists of the RDBMS-based Data Warehouse. For example, for a 4-D MDB, where a data element is defined by four coordinates, its value will be collected from several 2-D relational lists in the RDBMS-based Data Warehouse using the Warehouse Metadata directory. At the beginning of the data loading process, illustrated in Fig. 10B, the relational map of the Warehouse Metadata directory (i.e. at the initialization phase), and the Multidimensional Database (MDB) map of the present invention, as defined by Fig. 8 A, are loaded into the RDBAM associated with each processor P . All the communication between RDBAM and the RDBMS-based Data Warehouse is carried out by means of SQL language. For each processor Pk, the Warehouse Metadata directory will be the same. However, the MDB map will be different, in order to properly map the subspace assigned to the specific processor, according to the modular mapping scheme of the present invention. The Data Warehouse Metadata directory is then used to generate the address of a basic data element stored within the set of relational lists comprising the RDBMS-based Data Warehouse. After accessing its data value, the data element is physically stored in a mass storage device on the parallel computing machine, according to the Page Allocation Table assigned to the processor which addressed the basic data element. In the case of a four processor (p=4) computing platform, the local address within the P processor's storage volume is computed using the modular arithmetic formula (2) set forth above. For the particular case of Fig. 9A1 , Fig. 1 1A illustrates the internal mapping of data elements in processor pO. In the general case of an n-dimensional MDB, the local address within the Pk processor s storage volume is computed by formula (2) set forth above.
Method of Preaggregating Data Within the MDB of the Present Invention
As illustrated in Fig. 12A, the preaggregation process of the present invention supported on a parallel machine, as shown in Fig. 6, involves carrying out partial aggregations at each processor, and then concatenating the partial results into a final result by means of interprocessor communication enabled by the parallel machine. Figs. 12B1 to 12B4 schematically depict the uniform load balancing characteristics that are achieved during preaggregation carried out by the method of the present invention. This process will be detailled hereinbelow.
As shown in Fig. 12B1, when carrying out the parallel-based method of data preaggregation according to the present invention, each processor Pk in a four-processor parallel computing machine is assigned approximately the same number of data elements during data aggregration along the D0=2 multidimensional cross-section within a 3-D type MDB supported thereupon. This is in marked contrast with the method of Fig. 7A, wherein all the pre- aggregated data is located in a single processor's subspace, necessitating that sequential processing be be carried out.
As shown in Fig. 12B2, when carrying out the parallel-based method of preaggregation according to the present invention, each processor on a four-processor parallel computing machine is assigned substantially the same number of data elements during data aggregration along the D3=l multidimensional cross-section within a 3-D type MDB supported thereupon. This is in marked contrast with the method of Fig. 7B where all the pre-aggregated data is located in two processor subspaces. Thus, the parallel-based method of the present invention eliminates the possibility of load unbalancing among processors.
As shown in Fig. 12B3, when carrying out the parallel-based method of preaggregation according to the present invention, each processor on a four-processor parallel computing machine is assigned substantially the same number of data elements during data aggregration along the D 1=1 multidimensional cross-section within a 3-D type MDB supported thereupon. As shown in Fig. 12B4, when carrying out the parallel-based method of preaggregation according to the present invention, each processor on a four-processor parallel computing machine is assigned substantially the same number of data elements during data aggregration along the D2=l multidimensional cross-section within a 3-D type MDB supported thereupon. Referring to Figs. 12C1 to 12C3, the parallel data aggregation process of the present invention will now be described in greater detail. In Fig. 12C 1 , the parallel data aggregation process is illustrated for the case of a 3-D type MDB. Every data element of the base (or raw) data in the MDB is summed up to produce the pre-aggregate data of the next hierarchy in each of the dimensions of the MDB. Every data element is handled only once during the data aggregation process. The same is done with other data elements obtained from the base data of the Data Warehouse, wherein each data element is summed up to the next hierarchy of dimensions.
In Fig. 12C2, the parallel data aggregation process of the present invention is illustrated for the case of a 5-D type MDB. As shown in Fig. 12C3, in order to save space and I O access time, the data is maintained mostly in a compressed state. Only the directly processed data handled by the aggregation program is maintained in a non-compressed state. Otherwise, all other data elements on the disk and in the main memory are maintained in a compressed state. Moving the data between main memory and the disk associated with each processor is accomplished in a virtual memory fashion, well known in the computing art.
Referring to Figs. 13A and 13B, the parallel-based method of data pre-aggregation according to the present invention will now be described in greater detail. In Fig. 13 A, the first aggregation level L=0 along dimension Di is schematically depicted, where all p processors on the parallel computing platform are shown participating in the aggregation process of the loaded (basic) data. The partial results of the aggregation process are concatenated, and then stored according to the address data mapping scheme of the present invention described in detail hereinabove. Notably, not all/? processors are necessarily involved in generating the resulting data set, but rather only a subset of the ? processors, indicated by the indexy, specified by processor indices: Pk to P[k+(/-i)mod /?]. These processors will participate in the second level of aggregation, where the results are stored according to the address data mapping scheme of the present invention.
In Fig. 13B, the Lm-th aggregation level along dimension Di is schematically depicted, where ally processors on the parallel computing platform are participating in the data aggregation process. As in Fig. 13 A, the partial results of the aggregation process are concatenated, and then stored according to the address data mapping scheme of the present invention described in detail hereinabove.
In Figs. 14A through 14B3, an inductive proof is provided to demonstrate that the data element loading and aggregation processes of the present invention can be used with an MDB having any dimensionality or hierarchy of dimensionality, provided that each unit of dimensionality is indexed using integer-based arithmetic, in accordance with the requirements of the address data mapping technique of the present invention described herein above.
Fig. 14A illustrates the case of a 3-D MDB, wherein the dimensions D0-D2 form a cube. As shown therein, the address data mapping scheme of the present invention can be applied to this 3-D type MDB, whereby the cube of data is evenly divided among three processors. Fig. 14B illustrates that the address data mapping scheme of the present invention can be applied to any n-dimensional MDB. In Fig. 14B1, the address data mapping method is shown applied to 3-D data cube (i.e. 3-D type MDB), whereas in Fig. 14B2 the address data mapping method is shown applied to a 4-D data cube (i.e. 4-D type MDB) which is merely a multiplication of 3-D data cubes. In 14B3, the method is shown applied to a 5-D data cube (i.e. 5-D type MDB) which is simply a multiplication of 4-D data cubes, etc. Collectively, these illustrations prove, inductively, that the address data mapping scheme of the present invention can be applied to any n-dimensional MDB without any significantly compromising the performance of the system, and thus can be said to be highly-scalable in the computational sense.
Other Applications of the Present Invention
While the system and method of address data translation of the present invention has been applied above to provide a novel way of and means for of carrying out MOLAP operations, it is understood that this method can be used in numerous other data management operations as well.
MBD-based URL-Directory of The Present Invention
For example, the address data mapping method of the present invention can be used to provide an improved system and method of searching and accessing an index of information resource locators (URLs) on the Internet, referred to hereinafter as an MBD-based URL- Index or Directory system, denoted by reference numeral 20 in Fig. 15 A. In system 20, there may or may not be any need for data aggregation as in the above-described MOLAP application, shown in Figs.6-14B3. In system 20, the dimensions of the MDB will be selected on the basis of the URLΛVeb-site classification scheme embodied within the structure of the URL directory. For example, referring to the Yahoo® Internet Information Resource Directory located at http://www.yahoo.com . it is noted that as of June 28, 1999, the URL classification scheme employed by this particular URL directory includes, at its top level scheme, the following twelve (12) information categories: Arts and Humanities; Business & Economy; Computers &Internet; Education; Government; Health; News & Media; Recreation & Sports; Reference; Regional; Science; Social Science; and Society & Culture. These information categories can be defined as the high-level dimensions of the MDB of this embodiment of the present invention. Referring to the information category Arts and Humanities , which would be one of the high- level dimensions of the MDB, it is noted that as of June 28, 1999, this high-level information category has the following information sub-categories: Art History; Artists; Arts Therapy; Awards; Booksellers; Censorship; Chats and Forums; Companies; Crafts; Criticism and Theory; Cultural Policy; Cultures and Groups; Design Arts; Education; Employment; Events; Humanities; Institutes; Museums, Galleries, and Centers; News and Media; Organizations; Performing Arts; Reference; Thematic; Visual Arts; Web Directories. Notably, these information subcategories would be defined as the subdimensions below the dimension Arts & Humanities . As shown in Fig. 15B, each of the subdimensions defined above can be further decomposed into additional information categories, as revealed at the Yahoo Website. Based along the above-described lines, an MDB-based URL directory, as described along the lines set forth above, can be constructed in a straightforward manner in accordance with the principles of the present invention.
As shown in Fig. 15 A, the MDB-based URL directory system 20 comprises: an Internet (i.e. http) information server (e.g. Origin 2000 Server from Silicon Graphics, Inc.) 21 connected to the infrastructure of the Internet, a back-end parallel computing system 22 for supporting the MDB-based URL directory described above, and an OLAP server 23, operally connected to Internet information server 21 by a high-steel information network 24. The MDB-based URL directory is interfaced with the http information server 21 by way of a common gateway interface (CGI) , Java-scripts, or like processes well known or otherwise to be developed in the art. Information contained in the MDB-based URL directory is accessible by any web enabled client machine 25 operably connected to the infrastructure of the Internet 26, in a manner known in the art.
As shown in Fig. 15 A, the MDB-based URL directory system 20 also includes an information registration subsystem 27 comprising an Internet (i.e. http) information server 28, connected to a relational database management system (RDBMS) 29 realized using a robust database development program, such as Oracle 8i from the Oracle Corporation. The main function of the information registration subsystem 27 is to enable owners or agents of Internet- based information resources (e.g. HTML documents, XML documents, and the like) to register such information resources with the MDB-based URL Directory in accordance with the current information classification scheme being employed by the directory system 20. Anyone having a Web (http) enabled client machine 25, equipped with a http browser, can register Internet documents with the subsystem 27 in a quick and simple manner by accessing an HTML- encoded form from the http server 28, completing the form and returning the same thereto for analysis and updating the RDBMS. Alternatively, Web-enabled EDI processes can be used between the client machines 25 and the http server 28, properly EDI-enabled, in order to transfer URL information to the RDBMS-based URL Registration Data Warehouse 29. With the above-described system arrangement, the RDBMS 29 can be continuously updated during the course of the day, and then used to update the MDB-based URL at predetermined times during the day and/or evening when peak demand for directory services is expectedly reduced. As shown in Fig. 16, MDB-based URL directory of the system 20 is updated by loading data elements from the RDBMS Data Warehouse 29 into the storage volumes 5 of the MDB URL Directory using the novel modular-arithematic based address data mapping scheme of the present invention, described in detail hereinabove. Also, updating operations of the MDB-based URL directory will typically require the shifting of data elements within the MDB, using the address data mapping scheme as well, in order to reflect any changes made in the information classification scheme since the last updating operation.
Personalized E-Commerce On-Line Shopping System of the Present Invention The address data mapping method of the present invention can be used to provide an improved system and method of generating personalized e-commerce-enabled (on-line) shopping environments (i.e. personalized e-stores) using information accessed from an MBD containing consumer shopping profile information. In such an application shown in Figs. 17 and 18, there may or may not be any need for data aggregation as in the above-described MOLAP application.
As shown in Fig. 17, the personalized on-line shopping system 30 of the present invention comprises: a RDBMS-based consumer shopping profile Data Warehouse 31 for storing consumer shopping profile information (e.g. representative of buying patterns, interests, hobbies as a function of time, personal information, credit history, income, home and auto ownership, marital status, etc.) collected from electronic commerce based transactions, compiled databases, publicly-traded response databases and the like; a consumer shopping profile MDB 32, realized on parallel computing flat form similar to 2 in Fig. 6. for storing consumer shopping profile data, loaded from the Data Warehouse 31; an Express™ OLAP server 33; and one or more electronic commerce information servers 34 connected to the Data Warehouse 31 and the Express OLAP server 33 , for supporting one or more personalized on-line shopping WWW sites over the Internet, and transferring consumer transaction records to the Data Warehouse 31 after each consumer transaction. The dimensions of the MDB 32 will be selected on the basis of the consumer shopping profile attributes mined from RDBMS Data Warehouse 31.
As shown in Fig. 18, first step of the personalized on-line shopping method hereof involves collecting consumer shopping profile information (e.g. representative of buying patterns, interests, hobbies, personal information, credit history, income, home and auto ownership, marital status, etc.) from electronic commerce based transactions, compiled databases, publicly-traded response databases and the like, and storing such information within the RDBMS-based Data Warehouse 31, as shown in Fig. 17.
The second step of the personalized on-line shopping method involves loading raw consumer shopping profile information from the Data Warehouse 31 to the MDB 32 using the parallel computing platform and parallelized data loading processes of the present invention described in great detail hereinabove. The third step of the personalized on-line shopping method involves preaggregating (i.e. precompiling) the consumer shopping profile information within the MDB 32 using the parallel computing platform and parallelized data aggregation processes of the present invention, described in great detail hereinabove. The fourth step of the personalized on-line shopping method involves indentifying, during each on-line shopping transaction, the Web-enabled consumer engaged in on-line shopping through a particular WWW site, using a Web-enabled client machine 35 equipped with an http client (browser) program and, connected to the infrastructure of the Internet 36.
The fifth step of the personalized on-line shopping method involves accessing from the MDB 32, personal shopping information maintained on the identified consumer/shopper, and using the same, in order to construct (in real-time) personalized (i.e. customized) Web-pages that subject the consumer to a personalized shopping environment that reflects his or her interests, tastes, desires, values and/or expectations.
The sixth step of the personalized on-line shopping method involves analyzing, at the end of each such transaction, the collected set of data collected on the consumer from his or her shopping and/or browsing activities, in order to mine for particular consumer shopping attributes preclassifϊed within the RDBMS Data Warehouse 31.
The seventh step of the personalized on-line shopping method involves storing such analyzed data within the RDBMS Data Warehouse 31. The eighth step of the personalized on-line shopping method involves using the
Express™ Server 33 to periodically upload the data from the continuously updated Data
Warehouse 31 into the MDB 32.
Thereafter if necessary, the raw data loaded into the MDB 32 is pre-aggregated. The information stored within the MDB subsystem 32 reflects current personal shopping profiles of the consumers (e.g. consumer and consumer households alike) represented therewithin.
Other Applications of the Present Invention
It is contemplated that the address data mapping processes of the present invention can be embodied within the MDB subsystem 32 used to manage multiple dimensions of information for real-time control of packet routers, switches and other devices used within the infrastructure of the Internet. The advantage of using the MDB subsystem 32 of the present invention is that pre-aggregated information contained therein cane be quickly accessed in realtime to control events on the Internet in a real-time manner. The address data mapping processes of the present invention can be embodied within an
MDB used to manage multiple dimensions of information for real-time control of automated parcel (e.g. package) routing and sortation systems so that packages automatically identified, dimensioned and weighed while being transported along a conveyor belt, can be routed to their destinations along a least-cost shipping route based on a hierarchy of information dimensions reflected within the MDB of the system.
The address data mapping processes of the present invention can be embodied within an MDB subsystem used a MOLAP environment for answering questions about corporate performance in a particular market, economic trends, consumer behaviors, weather conditions, population trends, or the state of any physical, social, biological or other system or phenomenon on which different types or categories of information, organizable in accordance with a predetermined dimensional hierarchy, are collected and stored within a RDBMS of one sort or another. Regardless of the particular application selected, the address data mapping processes of the present invention will provide a quick and efficient way of managing a MDB and also enabling decision support capabilities utilizing the same in diverse application environments.
It is understood that the System and Method of the illustrative embodiments described hereinabove may be modified in a variety of ways which will become readily apparent to those skilled in the art of having the benefit of the novel teachings disclosed herein. All such modifications and variations of the illustrative embodiments thereof shall be deemed to be within the scope and spirit of the present invention as defined by the Claims to Invention appended hereto.

Claims

CLAIMS TO INVENTION:
1. A system for accessing data elements within a multidimensional database (MDB) comprising: a parallel computing platform having a plurality of processors and one or more storage volumes for physically storing data elements therein at integer-encoded physical addresses specified in Processor Storage Space, and wherein the location of each data element in said MDB is specified in MDB Space by integer-encoded business dimensions associated with said data element; an address data mapping mechanism , associated with said parallel computing platform, for mapping the integer-encoded MDB dimensions associated with each said data element into an integer-encoded data storage address within said storage volumes associated with the MDB; and a data accessing mechanism, in cooperation with said address mapping mechanism, for accessing said data element in said one or more storage volumes using said integer-encoded data storage address.
2. The system of claim 1 , wherein said address data mapping mechanism comprises means for mapping said integer-encoded MDB dimensions into said integer-encoded data storage address using a modular arithematic function.
3. The system of claim 2, wherein parallel data loading operations are carried out between a relational database management system (RDBMS) and said MDB using said modular arithematic function which maps said integer-encoded MDB dimensions associated with each raw data element accessed from said RDBMS, into an integer-encoded data storage address within one of said storage volumes associated with said MDB.
4. The system of claim 2, wherein parallel data aggregation operations are carried out within said MDB using said modular arithematic function which maps said integer-encoded MDB dimensions associated with raw or previously pre-aggregated data elements to be stored within said MDB, into integer-encoded data storage addresses within said storage volumes at which the pre-aggregated data elements are to be stored.
5. The system of claim 4, wherein OLAP operations are carried out within said MDB using said modular arithematic function which maps said integer-encoded MDB dimensions associated with pre-aggregated data elements to be accessed from said MDB, into integer- encoded data storage addresses within said storage volumes, from which asid pre-aggregated data elements are to be accessed. 0
6. The system of claim 1, wherein data processing tasks carried out therein are evenly distributed among said plurality of processors on said parallel computing platform.
7. The system of claim 1, wherein data elements within said MDB are evenly 5 distributed among said plurality of processors on said parallel computing platform.
8. The system of claim 1 , wherein each said processor on said parallel computing platform handles data elements assigned thereto during data elements address assignment operations earned out during parallel data loading operations between a relational database 0 management system (RDBMS) and said MDB within said system.
9. The system of claim I , wherein each said processor on said parallel computing platform handles data elements assigned thereto during data elements address assignment operations earned out during parallel data aggregation operations within said MDB of said
25 system.
10. The system of claim 1 , wherein interprocessor communication among said plurality of processors is minimized during parallel data loading operations carried out between a relational database management system (RDBMS) and said MDB on said parallel computing
(0 platform.
11. The system of claim 1 , wherein interprocessor communication among said plurality of processors is minimized during parallel data aggregation operations carried out within said MDB on said parallel computing platform.
12. The system of claim 1, wherein interprocessor communication among said plurality of processors is minimized during OLAP operations carried out within said MDB on said parallel computing platform.
13. A method of accessing data elements within a multidimensional database
(MDB) comprising:
(a) providing a parallel computing platform having a plurality of processors and one or more storage volumes for physically storing data elements therein at integer-encoded physical addresses specified in Processor Storage Space, and wherein the location of each data element in said MDB is specified in MDB Space by integer-encoded business dimensions associated with said data element;
(b) mapping the integer-encoded MDB dimensions associated with each said data element into an integer-encoded data storage address within said storage volumes associated with the MDB; and (c) using said integer-encoded data storage address to access said data element from said one or more storage volumes.
14. The method of claim 12, wherein step (b) comprises mapping said integer- encoded MDB dimensions into said integer-encoded data storage address using a modular arithematic function.
15. The method of claim 12, wherein parallel data loading operations are carried out between a relational database management system (RDBMS) and said MDB and step (b) comprises using a modular-arithmetic function to map said integer-encoded MDB dimensions associated with each raw data element accessed from said RDBMS, into an integer-encoded data storage address within one of said storage volumes associated with said MDB.
16. The method of claim 12, wherein parallel data aggregation operations are carried out within said MDB and step (b) comprises using said modular arithematic function to map said integer-encoded MDB dimensions associated with raw or previously pre-aggregated data elements to be stored within said MDB, into integer-encoded data storage addresses within said storage volumes at which the pre-aggregated data elements are to be stored.
17. The method of claim 15, wherein OLAP operations are carried out within said
MDB and step (b) comprises using said modular arithematic function to map said integer- encoded MDB dimensions associated with pre-aggregated data elements to be accessed from said MDB, into integer-encoded data storage addresses within said storage volumes, from which asid pre-aggregated data elements are to be accessed.
18. The method of claim 12, wherein data processing tasks carried out therein are evenly distributed among said plurality of processors on said parallel computing platform.
19. The method of claim 12, wherein data elements within said MDB are evenly distributed among said plurality of processors on said parallel computing platform.
20. The method of claim 12, wherein each said processor on said parallel computing platform handles data elements assigned thereto during data elements address assignment operations carried out during parallel data loading operations between a relational database management system (RDBMS) and said MDB within said system.
21. The method of claim 12, wherein each said processor on said parallel computing platform handles data elements assigned thereto during data elements address assignment operations carried out during parallel data aggregation operations within said MDB of said system.
22. The method of claim 12, wherein interprocessor communication among said plurality of processors is minimized during parallel data loading operations carried out between a relational database management system (RDBMS) and said MDB on said parallel computing
5 platform.
23. The method of claim 12, wherein interprocessor communication among said plurality of processors is minimized during parallel data aggregation operations carried out within said MDB on said parallel computing platform. 0
24. The method of claim 12, wherein interprocessor communication among said plurality of processors is minimized during OLAP operations carried out within said MDB on said parallel computing platform.
5 25. A system for managing data elements within a multidimensional database
(MDB) comprising: a parallel computing platform having a plurality of processors and one or more storage volumes for physically storing data elements therein at integer-encoded physical addresses specified in Processor Storage Space, and wherein the location of each data element in said 10 MDB is specified in MDB Space by integer-encoded business dimensions associated with said data element; an address data mapping mechanism, in association with said parallel computing platform, for mapping the integer-encoded MDB dimensions associated with each said data element into an integer-encoded data storage address within said storage volumes associated !5 with the MDB; and a data management mechanism, in cooperation with said address data mapping mechanism, for managing said data element in said one or more storage volumes using said integer-encoded data storage address.
26. The system of claim 25, wherein said address data mapping mechanism comprises means for mapping said integer-encoded MDB dimensions into said integer-encoded data storage address using a modular arithematic function.
27. The system of claim 25, wherein parallel data loading operations are carried out between a relational database management system (RDBMS) and said MDB using said modular arithematic function which maps said integer-encoded MDB dimensions associated with each raw data element accessed from said RDBMS, into an integer-encoded data storage address within one of said storage volumes associated with said MDB.
28. The system of claim 25, wherein parallel data aggregation operations are carried out within said MDB using said modular arithematic function which maps said integer-encoded MDB dimensions associated with raw or previously pre-aggregated data elements to be stored within said MDB, into integer-encoded data storage addresses within said storage volumes at which the pre-aggregated data elements are to be stored.
29. The system of claim 25, wherein OLAP operations are carried out within said MDB using said modular arithematic function which maps said integer-encoded MDB dimensions associated with pre-aggregated data elements to be accessed from said MDB, into integer-encoded data storage addresses within said storage volumes, from which asid pre- aggregated data elements are to be accessed.
30. The system of claim 25, wherein data processing tasks carried out therein are evenly distributed among said plurality of processors on said parallel computing platform.
31. The system of claim 25, wherein data elements within said MDB are evenly distributed among said plurality of processors on said parallel computing platform.
32. The system of claim 25, wherein each said processor on said parallel computing platform handles data elements assigned thereto during data elements address assignment operations carried out during parallel data loading operations between a relational database management system (RDBMS) and said MDB within said system.
33. The system of claim 25, wherein each said processor on said parallel computing platform handles data elements assigned thereto during data elements address assignment operations carried out during parallel data aggregation operations within said MDB of said system.
34. The system of claim 25, wherein interprocessor communication among said plurality of processors is minimized during parallel data loading operations carried out between a relational database management system (RDBMS) and said MDB on said parallel computing platform.
35. The system of claim 25, wherein interprocessor communication among said plurality of processors is minimized during parallel data aggregation operations carried out within said MDB on said parallel computing platform.
36. The system of claim 25, wherein interprocessor communication among said plurality of processors is minimized during OLAP operations carried out within said MDB on said parallel computing platform.
37. A method of managing data elements within a multidimensional database (MDB) comprising:
(a) providing a parallel computing platform having a plurality of processors and one or more storage volumes for physically storing data elements therein at integer-encoded physical addresses specified in Processor Storage Space, and wherein the location of each data element in said MDB is specified in MDB Space by integer-encoded business dimensions associated with said data element; (b) mapping the integer-encoded MDB dimensions associated with each said data element into an integer-encoded data storage address within said storage volumes associated with the MDB; and
(c) using said integer-encoded data storage address to manage said data element in said 5 one or more storage volumes.
38. The method of claim 36, wherein step (b) comprises mapping said integer- encoded MDB dimensions into said integer-encoded data storage address using a modular arithematic function. 0
39. The method of claim 36, wherein parallel data loading operations are carried out between a relational database management system (RDBMS) and said MDB and step (b) comprises using a modular-arithmetic function to map said integer-encoded MDB dimensions associated with each raw data element accessed from said RDBMS, into an integer-encoded data
5 storage address within one of said storage volumes associated with said MDB.
40. The method of claim 36, wherein parallel data aggregation operations are carried out within said MDB and step (b) comprises using said modular arithematic function to map said integer-encoded MDB dimensions associated with raw or previously pre-aggregated data
!0 elements to be stored within said MDB, into integer-encoded data storage addresses within said storage volumes at which the pre-aggregated data elements are to be stored.
41. The method of claim 36, wherein OLAP operations are carried out within said MDB and step (b) comprises using said modular arithematic function to map said integer-
5 encoded MDB dimensions associated with pre-aggregated data elements to be accessed from said MDB, into integer-encoded data storage addresses within said storage volumes, from which asid pre-aggregated data elements are to be accessed.
42. The method of claim 36, wherein data processing tasks carried out on said parallel computing platform are evenly distributed among said plurality of processors on said parallel computing platform.
43. The method of claim 36, wherein data elements within said MDB are evenly distributed among said plurality of processors on said parallel computing platform.
44. The method of claim 36, wherein each said processor on said parallel computing platform handles data elements assigned thereto during data elements address assignment operations carried out during parallel data loading operations between a relational database management system (RDBMS) and said MDB within said system.
45. The method of claim 36, wherein each said processor on said parallel computing platform handles data elements assigned thereto during data elements address assignment operations carried out during parallel data aggregation operations within said MDB of said system.
46. The method of claim 36, wherein interprocessor communication among said plurality of processors is minimized during parallel data loading operations carried out between a relational database management system (RDBMS) and said MDB on said parallel computing platform.
47. The method of claim 36, wherein interprocessor communication among said plurality of processors is minimized during parallel data aggregation operations carried out within said MDB on said parallel computing platform.
48. The method of claim 36, wherein interprocessor communication among said plurality of processors is minimized during OLAP operations carried out within said MDB on said parallel computing platform.
49. An Internet URL Directory system for supporting on-line information searching operations by Web-enabled client machines, said Internet URL Directory system comprising: a parallel computing platform having a plurality of processors and one or more storage volumes for physically storing a plurality of data elements of a multidimensional database (MDB) in said one or more storage volumes at integer-encoded physical addresses specified in Processor Storage Space, and wherein the location of each data element in said MDB is specified in MDB Space by integer-encoded business dimensions associated with said data element; an address data mapping mechanism , associated with said parallel computing platform, for mapping the integer-encoded MDB dimensions associated with each said data element into an integer-encoded data storage address within said storage volumes associated with the MDB; and a data accessing mechanism, in cooperation with said address mapping mechanism, for accessing said data element in said one or more storage volumes using said integer-encoded data storage address.
50. An Internet-enabled system for supporting real-time control of processes in response to complex states of information reflected in a multi-dimensional database (MDB), said Internet-enabled system comprising: a parallel computing platform having a plurality of processors and one or more storage volumes for physically storing a plurality of data elements of a multidimensional database (MDB) in said one or more storage volumes at integer-encoded physical addresses specified in Processor Storage Space, and wherein the location of each data element in said MDB is specified in MDB Space by integer-encoded business dimensions associated with said data element; an address data mapping mechanism , associated with said parallel computing platform, for mapping the integer-encoded MDB dimensions associated with each said data element into an integer-encoded data storage address within said storage volumes associated with the MDB; and a data accessing mechanism, in cooperation with said address mapping mechanism, for accessing said data element in said one or more storage volumes using said integer-encoded data storage address.
51. A system for accessing data elements within a multidimensional database (MDB) comprising: a parallel computing platform having a plurality of processors and one or more storage volumes for physically storing data elements therein physical storage addresses specified in Processor Storage Space, and wherein the location of each data element in said MDB is specified in MDB Space by business dimensions associated with said data element; an address data mapping mechanism , associated with said parallel computing platform, for mapping the physical MDB dimensions associated with each said data element into a physical data storage address within said storage volumes associated with the MDB; and a data accessing mechanism, in cooperation with said address mapping mechanism, for accessing said data element in said one or more storage volumes using physical storage address.
52. A system for accessing data elements within a multidimensional database
(MDB) comprising: !0 a parallel computing platform having a plurality of processors and associated memory, wherein each processor is assigned a unique integer-encoded data storage address space in said memory for storing data elements therein, and wherein location of each data element in said
MDB is specified in MDB Space by integer-encoded business dimensions associated with said data element; !5 an address data mapping mechanism, associated with said parallel computing platform, for mapping the integer-encoded MDB dimensions associated with each said data element into integer-encoded data storage addresses within said memory; and a data accessing mechanism, in cooperation with said address mapping mechanism, for accessing a given data element in said memory using the integer-encoded data storage address 10 associated with the given data element.
53. The system of claim 52, wherein said address data mapping mechanism comprises means for mapping said integer-encoded MDB dimensions into said integer-encoded data storage addresses using a modular arithematic function.
54. The system of claim 53, wherein parallel data loading operations are carried out between a relational database management system (RDBMS) and said MDB using said modular arithematic function which maps said integer-encoded MDB dimensions associated with each raw data element accessed from said RDBMS, into an integer-encoded data storage address within said memory.
55. The system of claim 53, wherein parallel data aggregation operations are carried out within said MDB using said modular arithematic function which maps said integer-encoded MDB dimensions associated with raw or previously pre-aggregated data elements to be stored within said MDB, into integer-encoded data storage addresses within said memory at which the pre-aggregated data elements are to be stored.
56. The system of claim 55, wherein OLAP operations are carried out within said MDB using said modular arithematic function which maps said integer-encoded MDB dimensions associated with pre-aggregated data elements to be accessed from said MDB, into integer-encoded data storage addresses within said memory, from which asid pre-aggregated data elements are to be accessed.
57. The system of claim 52, wherein data processing tasks carried out therein are evenly distributed among said plurality of processors on said parallel computing platform.
58. The system of claim 52, wherein said mapping performed by said address data mapping mechanism evenly distributes data elements among said integer-encoded address space in said memory associated with said plurality of processors of said parallel computing platform.
59.The system of claim 52, wherein each said processor on said parallel computing platform handles data elements assigned thereto during data elements address assignment operations carried out during parallel data loading operations between a relational database management system (RDBMS) and said MDB within said system. 5
60. The system of claim 52, wherein each said processor on said parallel computing platform handles data elements assigned thereto during data elements address assignment operations carried out during parallel data aggregation operations within said MDB of said system.
0
61. The system of claim 52, wherein interprocessor communication among said plurality of processors is minimized during parallel data loading operations carried out between a relational database management system (RDBMS) and said MDB on said parallel computing platform.
5
62. The system of claim 52, wherein interprocessor communication among said plurality of processors is minimized during parallel data aggregation operations caπied out within said MDB on said parallel computing platform.
0 63. The system of claim 52, wherein interprocessor communication among said plurality of processors is minimized during OLAP operations carried out within said MDB on said parallel computing platform.
64. The system of claim 52, wherein said integer-encoded address space in said
.5 memory comprises a virtual address space, and said system further comprises a virtual memory management system for mapping said virtual address space to real address space accessible on a storage device.
65. A method for accessing data elements within a multidimensional database Ό (MDB) comprising the steps of: providing a parallel computing platform having a plurality of processors and associated memory, wherein each processor is assigned a unique integer-encoded data storage address space in said memory for storing data elements therein, and wherein location of each data element in said MDB is specified in MDB Space by integer-encoded business dimensions associated with said data element; mapping the integer-encoded MDB dimensions associated with each said data element into integer-encoded data storage addresses within said memory; and accessing a given data element in said memory using the integer-encoded data storage address associated with the given data element.
66. The method of claim 65, wherein said mapping step uses a modular arithematic function.
67. The method of claim 66, further comprising the step of: performing parallel data loading operations between a relational database management system (RDBMS) and said MDB using said modular arithematic function which maps said integer-encoded MDB dimensions associated with each raw data element accessed from said RDBMS, into an integer-encoded data storage address within said memory.
68. The method of claim 66, further comprising the step of: performing parallel data aggregation operations within said MDB using said modular arithematic function which maps said integer-encoded MDB dimensions associated with raw or previously pre-aggregated data elements to be stored within said MDB, into integer-encoded data storage addresses within said memory at which the pre-aggregated data elements are to be stored.
69. The method of claim 68, further comprising the steps of: performing OLAP operations within said MDB using said modular arithematic function which maps said integer-encoded MDB dimensions associated with pre-aggregated data elements to be accessed from said MDB, into integer-encoded data storage addresses within said memory, from which asid pre-aggregated data elements are to be accessed.
70. The method of claim 65, wherein data processing tasks carried out on said MDB are evenly distributed among said plurality of processors on said parallel computing platform.
71. The method of claim 65, wherein said mapping performed by said address data mapping mechanism evenly distributes data elements among said integer-encoded address space in said memory associated with said plurality of processors of said parallel computing platform.
72. The method of claim 65, wherein each said processor on said parallel computing platform handles data elements assigned thereto during data elements address assignment operations carried out during parallel data loading operations between a relational database management system (RDBMS) and said MDB within said system.
73. The method of claim 65, wherein each said processor on said parallel computing platform handles data elements assigned thereto during data elements address assignment operations caπied out during parallel data aggregation operations within said MDB of said system.
74. The method of claim 65, wherein interprocessor communication among said plurality of processors is minimized during parallel data loading operations carried out between a relational database management system (RDBMS) and said MDB on said parallel computing platform.
75. The method of claim 65, wherein interprocessor communication among said plurality of processors is minimized during parallel data aggregation operations carried out within said MDB on said parallel computing platform.
76. The method of claim 65, wherein inteφrocessor communication among said plurality of processors is minimized during OLAP operations carried out within said MDB on said parallel computing platform.
77. The method of claim 65, wherein said integer-encoded address space in said memory comprises a virtual address space, further comprising the step of mapping said virtual address space to real address space accessible on a storage device.
PCT/IB2000/001100 1999-08-04 2000-08-04 Method of and system for managing multi-dimensional databases using modular-arithmetic based address data mapping processes WO2001011497A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU60108/00A AU6010800A (en) 1999-08-04 2000-08-04 Method of and system for managing multi-dimensional databases using modular-arithmetic based address data mapping processes

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/368,241 US6408292B1 (en) 1999-08-04 1999-08-04 Method of and system for managing multi-dimensional databases using modular-arithmetic based address data mapping processes on integer-encoded business dimensions
US09/368,241 1999-08-04

Publications (1)

Publication Number Publication Date
WO2001011497A1 true WO2001011497A1 (en) 2001-02-15

Family

ID=23450443

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IB2000/001100 WO2001011497A1 (en) 1999-08-04 2000-08-04 Method of and system for managing multi-dimensional databases using modular-arithmetic based address data mapping processes

Country Status (3)

Country Link
US (8) US6408292B1 (en)
AU (1) AU6010800A (en)
WO (1) WO2001011497A1 (en)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2379530A (en) * 2001-09-06 2003-03-12 Inventec Corp Handling production data
GB2382186A (en) * 2001-09-25 2003-05-21 Hewlett Packard Co Data Warehousing
WO2004053751A2 (en) * 2002-12-10 2004-06-24 Accenture Global Services Gmbh Data model development tool
SG114635A1 (en) * 2002-10-24 2005-09-28 Bayer Ag Method and computer system for project portfolio management
US7149736B2 (en) * 2003-09-26 2006-12-12 Microsoft Corporation Maintaining time-sorted aggregation records representing aggregations of values from multiple database records using multiple partitions
EP1769433A2 (en) * 2004-04-26 2007-04-04 Right90, Inc. Forecasting data with real-time updates
US7970795B2 (en) 2002-12-10 2011-06-28 Accenture Global Services Limited Data model development tool
CN102289351A (en) * 2002-05-31 2011-12-21 海德堡印刷机械股份公司 Device and method for finding and displaying information
US8315972B2 (en) * 2003-09-26 2012-11-20 Microsoft Corporation Method for maintaining databases information about multiple instances of an activity generating, updating virtual OLAP cube based on modified star-schema
JP2017513138A (en) * 2014-03-31 2017-05-25 コファックス, インコーポレイテッド Predictive analysis for scalable business process intelligence and distributed architecture
US11210221B2 (en) * 2019-12-10 2021-12-28 Pony Ai Inc. Memory architecture for efficient spatial-temporal data storage and access

Families Citing this family (320)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7085997B1 (en) 1998-12-08 2006-08-01 Yodlee.Com Network-based bookmark management and web-summary system
US7672879B1 (en) 1998-12-08 2010-03-02 Yodlee.Com, Inc. Interactive activity interface for managing personal data and performing transactions over a data packet network
US8069407B1 (en) 1998-12-08 2011-11-29 Yodlee.Com, Inc. Method and apparatus for detecting changes in websites and reporting results to web developers for navigation template repair purposes
US6477565B1 (en) * 1999-06-01 2002-11-05 Yodlee.Com, Inc. Method and apparatus for restructuring of personalized data for transmission from a data network to connected and portable network appliances
US7752535B2 (en) 1999-06-01 2010-07-06 Yodlec.com, Inc. Categorization of summarized information
US6983258B1 (en) * 1999-06-14 2006-01-03 G.E. Information Services, Inc. Trading information managing system and software including a community management function
US6385604B1 (en) * 1999-08-04 2002-05-07 Hyperroll, Israel Limited Relational database management system having integrated non-relational multi-dimensional data store of aggregated data elements
US6408292B1 (en) 1999-08-04 2002-06-18 Hyperroll, Israel, Ltd. Method of and system for managing multi-dimensional databases using modular-arithmetic based address data mapping processes on integer-encoded business dimensions
US6658413B1 (en) * 1999-09-01 2003-12-02 I2 Technologies Us, Inc. Multidimensional database system with intermediate lockable intersections
US7047301B2 (en) * 2000-01-31 2006-05-16 F5 Networks, Inc. Method and system for enabling persistent access to virtual servers by an LDNS server
US7136860B2 (en) 2000-02-14 2006-11-14 Overture Services, Inc. System and method to determine the validity of an interaction on a network
JP2001243244A (en) * 2000-02-28 2001-09-07 Hitachi Ltd Retrieving method of multi-dimensional database, retrieving device and computer readable recording medium storing multi-dimensional database retrieval program
US20020029207A1 (en) * 2000-02-28 2002-03-07 Hyperroll, Inc. Data aggregation server for managing a multi-dimensional database and database management system having data aggregation server integrated therein
US7328172B2 (en) * 2000-03-03 2008-02-05 Gxs, Inc. Provision of electronic commerce services
US6574619B1 (en) * 2000-03-24 2003-06-03 I2 Technologies Us, Inc. System and method for providing cross-dimensional computation and data access in an on-line analytical processing (OLAP) environment
US6768986B2 (en) * 2000-04-03 2004-07-27 Business Objects, S.A. Mapping of an RDBMS schema onto a multidimensional data model
US7222130B1 (en) * 2000-04-03 2007-05-22 Business Objects, S.A. Report then query capability for a multidimensional database model
US6732115B2 (en) * 2000-04-27 2004-05-04 Hyperion Solutions Corporation Chameleon measure and metric calculation
US20010044796A1 (en) * 2000-05-19 2001-11-22 Hiroyasu Fujiwara Totalization system and recording medium
CN1430758A (en) * 2000-05-22 2003-07-16 阿德特姆软件公司 Revenue forecasting and managing sellers using statistical analysis
US7096220B1 (en) 2000-05-24 2006-08-22 Reachforce, Inc. Web-based customer prospects harvester system
US7082427B1 (en) 2000-05-24 2006-07-25 Reachforce, Inc. Text indexing system to index, query the archive database document by keyword data representing the content of the documents and by contact data associated with the participant who generated the document
US7120629B1 (en) * 2000-05-24 2006-10-10 Reachforce, Inc. Prospects harvester system for providing contact data about customers of product or service offered by business enterprise extracting text documents selected from newsgroups, discussion forums, mailing lists, querying such data to provide customers who confirm to business profile data
US7003517B1 (en) 2000-05-24 2006-02-21 Inetprofit, Inc. Web-based system and method for archiving and searching participant-based internet text sources for customer lead data
US6754677B1 (en) * 2000-05-30 2004-06-22 Outlooksoft Corporation Method and system for facilitating information exchange
US6678672B1 (en) * 2000-05-31 2004-01-13 Ncr Corporation Efficient exception handling during access plan execution in an on-line analytic processing system
US7117215B1 (en) 2001-06-07 2006-10-03 Informatica Corporation Method and apparatus for transporting data for data warehousing applications that incorporates analytic data interface
US6601062B1 (en) * 2000-06-27 2003-07-29 Ncr Corporation Active caching for multi-dimensional data sets in relational database management system
US6567804B1 (en) * 2000-06-27 2003-05-20 Ncr Corporation Shared computation of user-defined metrics in an on-line analytic processing system
JP2002024286A (en) * 2000-06-30 2002-01-25 Hitachi Ltd Method and device for data display and recording medium with recorded processing program thereof
US6954758B1 (en) * 2000-06-30 2005-10-11 Ncr Corporation Building predictive models within interactive business analysis processes
US6785666B1 (en) 2000-07-11 2004-08-31 Revenue Science, Inc. Method and system for parsing navigation information
AU2002222963B2 (en) * 2000-07-13 2007-05-10 Oracle International Corporation Performing spreadsheet-like calculations in a database system
US7165065B1 (en) * 2000-07-14 2007-01-16 Oracle Corporation Multidimensional database storage and retrieval system
US6877006B1 (en) * 2000-07-19 2005-04-05 Vasudevan Software, Inc. Multimedia inspection database system (MIDaS) for dynamic run-time data evaluation
US7099886B2 (en) * 2000-07-20 2006-08-29 Microsoft Corporation Method and apparatus for identifying programming object attributes
US7130822B1 (en) 2000-07-31 2006-10-31 Cognos Incorporated Budget planning
US6704740B1 (en) * 2000-08-10 2004-03-09 Ford Motor Company Method for analyzing product performance data
US6850947B1 (en) * 2000-08-10 2005-02-01 Informatica Corporation Method and apparatus with data partitioning and parallel processing for transporting data for data warehousing applications
US6708186B1 (en) * 2000-08-14 2004-03-16 Oracle International Corporation Aggregating and manipulating dictionary metadata in a database system
US7043531B1 (en) 2000-10-04 2006-05-09 Inetprofit, Inc. Web-based customer lead generator system with pre-emptive profiling
US7330850B1 (en) 2000-10-04 2008-02-12 Reachforce, Inc. Text mining system for web-based business intelligence applied to web site server logs
US7155402B1 (en) * 2000-11-08 2006-12-26 Bluefire Systems, Inc. Method and apparatus for distribution of fashion and seasonal goods
US7092929B1 (en) 2000-11-08 2006-08-15 Bluefire Systems, Inc. Method and apparatus for planning analysis
US7523048B1 (en) 2001-01-19 2009-04-21 Bluefire Systems, Inc. Multipurpose presentation demand calendar for integrated management decision support
US7689450B1 (en) 2001-01-12 2010-03-30 Bluefire Systems, Inc. Multipurpose causal event calendar for integrated management decision support
US7516083B1 (en) 2001-06-22 2009-04-07 Bluefire Systems, Inc. Method of comparing prorated inventory budgets and simulated future inventory
US7475022B1 (en) 2000-11-08 2009-01-06 Bluefire Systems, Inc. Method and apparatus for handling disruptive events and replacement items
US6687693B2 (en) * 2000-12-18 2004-02-03 Ncr Corporation Architecture for distributed relational data mining systems
US6842753B2 (en) * 2001-01-12 2005-01-11 Microsoft Corporation Sampling for aggregation queries
US8275974B2 (en) * 2001-01-16 2012-09-25 Outlooksoft Corporation Systems and methods providing dynamic spreadsheet functionality
US7366732B2 (en) * 2001-02-16 2008-04-29 Creeth Richard F Fully capable minimally inflatable object model system for multidimensional applications
US20020161778A1 (en) * 2001-02-24 2002-10-31 Core Integration Partners, Inc. Method and system of data warehousing and building business intelligence using a data storage model
US6931390B1 (en) * 2001-02-27 2005-08-16 Oracle International Corporation Method and mechanism for database partitioning
US6651055B1 (en) * 2001-03-01 2003-11-18 Lawson Software, Inc. OLAP query generation engine
US6931418B1 (en) * 2001-03-26 2005-08-16 Steven M. Barnes Method and system for partial-order analysis of multi-dimensional data
US7031955B1 (en) * 2001-04-27 2006-04-18 I2 Technologies Us, Inc. Optimization using a multi-dimensional data model
US20030018514A1 (en) * 2001-04-30 2003-01-23 Billet Bradford E. Predictive method
US20020178140A1 (en) * 2001-05-25 2002-11-28 Woodmansee Donald Ernest Method for characterizing and storing data analyses in an analysis database
US7162643B1 (en) 2001-06-15 2007-01-09 Informatica Corporation Method and system for providing transfer of analytic application data over a network
US6691100B1 (en) * 2001-06-20 2004-02-10 Microstrategy, Incorporated HTML/DHTML web interface system and method
US6658432B1 (en) * 2001-06-20 2003-12-02 Microstrategy, Inc. Method and system for providing business intelligence web content with reduced client-side processing
US7177855B2 (en) * 2001-06-20 2007-02-13 Oracle International Corporation Compile-time optimizations of queries with SQL spreadsheet
US6704723B1 (en) * 2001-06-20 2004-03-09 Microstrategy, Incorporated Method and system for providing business intelligence information over a computer network via extensible markup language
US7761403B2 (en) * 2001-06-20 2010-07-20 Oracle International Corporation Run-time optimizations of queries with SQL spreadsheet
US8326851B2 (en) * 2001-06-29 2012-12-04 Grune Guerry L Simultaneous intellectual property search and valuation system and methodology (SIPS-VSM)
US7720842B2 (en) 2001-07-16 2010-05-18 Informatica Corporation Value-chained queries in analytic applications
US20030037023A1 (en) * 2001-08-07 2003-02-20 Intelliclaim Emulation process for making changes and revisions to computer data files
US20030074358A1 (en) * 2001-09-24 2003-04-17 Siamak Sarbaz Integration, management and processing of network data from disparate sources
CN1591400A (en) * 2001-11-09 2005-03-09 无锡永中科技有限公司 Integrated data processing system
US6820077B2 (en) 2002-02-22 2004-11-16 Informatica Corporation Method and system for navigating a large amount of data
JP2003256757A (en) * 2002-03-06 2003-09-12 Toshiba Corp Space data analysis device, space data analysis method, and space data analysis program
US7447687B2 (en) * 2002-05-10 2008-11-04 International Business Machines Corporation Methods to browse database query information
US6839719B2 (en) * 2002-05-14 2005-01-04 Time Industrial, Inc. Systems and methods for representing and editing multi-dimensional data
US7249118B2 (en) * 2002-05-17 2007-07-24 Aleri, Inc. Database system and methods
US20030236764A1 (en) * 2002-06-19 2003-12-25 Lev Shur Data architecture to support shared data resources among applications
CA2391756A1 (en) * 2002-06-26 2003-12-26 Ibm Canada Limited-Ibm Canada Limitee Accessing a remote iseries or as/400 computer system from the eclipse integrated development environment
EP1552407A4 (en) * 2002-07-26 2007-10-31 Datatrak Internat Method and system of unifying data
US7257612B2 (en) * 2002-09-30 2007-08-14 Cognos Incorporated Inline compression of a network communication within an enterprise planning environment
US7072822B2 (en) * 2002-09-30 2006-07-04 Cognos Incorporated Deploying multiple enterprise planning models across clusters of application servers
US20040138942A1 (en) * 2002-09-30 2004-07-15 Pearson George Duncan Node-level modification during execution of an enterprise planning model
US6768995B2 (en) * 2002-09-30 2004-07-27 Adaytum, Inc. Real-time aggregation of data within an enterprise planning environment
US7395273B2 (en) * 2002-10-31 2008-07-01 General Electric Company System providing receipt inspection reporting
US7464091B2 (en) * 2002-11-27 2008-12-09 Sap Ag Method and software for processing data objects in business applications
US7225302B2 (en) * 2002-11-27 2007-05-29 Sap Ag Method and software application for avoiding data loss
US7430569B2 (en) * 2002-11-27 2008-09-30 Sap Ag Computerized replication of data objects
US7409412B2 (en) 2002-11-27 2008-08-05 Sap Ag Data element and structure for data processing
US7181450B2 (en) 2002-12-18 2007-02-20 International Business Machines Corporation Method, system, and program for use of metadata to create multidimensional cubes in a relational database
US7716167B2 (en) * 2002-12-18 2010-05-11 International Business Machines Corporation System and method for automatically building an OLAP model in a relational database
US7953694B2 (en) * 2003-01-13 2011-05-31 International Business Machines Corporation Method, system, and program for specifying multidimensional calculations for a relational OLAP engine
TW200419413A (en) * 2003-01-13 2004-10-01 I2 Technologies Inc Master data management system for centrally managing core reference data associated with an enterprise
US7539220B2 (en) * 2003-02-03 2009-05-26 Asustek Computer Inc. Data discard signalling procedure in a wireless communication system
US7155398B2 (en) * 2003-02-19 2006-12-26 Cognos Incorporated Cascaded planning of an enterprise planning model
US7756901B2 (en) 2003-02-19 2010-07-13 International Business Machines Corporation Horizontal enterprise planning in accordance with an enterprise planning model
US7296010B2 (en) * 2003-03-04 2007-11-13 International Business Machines Corporation Methods, systems and program products for classifying and storing a data handling method and for associating a data handling method with a data item
US20040181518A1 (en) * 2003-03-14 2004-09-16 Mayo Bryan Edward System and method for an OLAP engine having dynamic disaggregation
US7010538B1 (en) 2003-03-15 2006-03-07 Damian Black Method for distributed RDSMS
US7895191B2 (en) 2003-04-09 2011-02-22 International Business Machines Corporation Improving performance of database queries
US7530012B2 (en) * 2003-05-22 2009-05-05 International Business Machines Corporation Incorporation of spreadsheet formulas of multi-dimensional cube data into a multi-dimensional cube
EP1482419A1 (en) * 2003-05-28 2004-12-01 Sap Ag Data processing system and method for application programs in a data warehouse
US7734652B2 (en) * 2003-08-29 2010-06-08 Oracle International Corporation Non-negative matrix factorization from the data in the multi-dimensional data table using the specification and to store metadata representing the built relational database management system
US7421458B1 (en) 2003-10-16 2008-09-02 Informatica Corporation Querying, versioning, and dynamic deployment of database objects
US20050091273A1 (en) * 2003-10-24 2005-04-28 International Business Machines Corporation Integrated control and data manager for i2 demand manager
US7383246B2 (en) 2003-10-31 2008-06-03 International Business Machines Corporation System, method, and computer program product for progressive query processing
US7979384B2 (en) * 2003-11-06 2011-07-12 Oracle International Corporation Analytic enhancements to model clause in structured query language (SQL)
US20060116898A1 (en) * 2003-11-18 2006-06-01 Peterson Gary E Interactive risk management system and method with reputation risk management
US7707511B2 (en) * 2003-11-18 2010-04-27 Gary Edward Peterson Interactive risk management system and method
US20050108080A1 (en) * 2003-11-18 2005-05-19 Peterson Gary E. Interactive risk management system and method
US7480895B2 (en) * 2003-11-24 2009-01-20 International Business Machines Corporation Web application development tool
US7254590B2 (en) * 2003-12-03 2007-08-07 Informatica Corporation Set-oriented real-time data processing based on transaction boundaries
US7822630B1 (en) * 2003-12-11 2010-10-26 Teradata Us, Inc. Forecasting with parallel processing
US7761450B1 (en) * 2003-12-24 2010-07-20 Teradata Us, Inc. Computing percentages in a database system
US10325272B2 (en) 2004-02-20 2019-06-18 Information Resources, Inc. Bias reduction using data fusion of household panel data and transaction data
WO2005098654A2 (en) * 2004-03-31 2005-10-20 The J. David Gladstone Institutes User-definable hierarchy for database management
US8572221B2 (en) 2004-05-26 2013-10-29 Facebook, Inc. System and method for managing an online social network
US7707143B2 (en) 2004-06-14 2010-04-27 International Business Machines Corporation Systems, methods, and computer program products that automatically discover metadata objects and generate multidimensional models
US7590620B1 (en) 2004-06-18 2009-09-15 Google Inc. System and method for analyzing data records
US9002778B2 (en) * 2004-06-22 2015-04-07 International Business Machines Corporation Designing aggregates based on access patterns in dimensions
US7480663B2 (en) 2004-06-22 2009-01-20 International Business Machines Corporation Model based optimization with focus regions
US20050283494A1 (en) * 2004-06-22 2005-12-22 International Business Machines Corporation Visualizing and manipulating multidimensional OLAP models graphically
DE602004024293D1 (en) * 2004-06-23 2010-01-07 Sap Ag System and method for data processing
US20060005121A1 (en) * 2004-06-30 2006-01-05 Microsoft Corporation Discretization of dimension attributes using data mining techniques
US7333995B2 (en) * 2004-07-02 2008-02-19 Cognos, Incorporated Very large dataset representation system and method
US7873669B2 (en) * 2004-07-09 2011-01-18 Microsoft Corporation Direct write back systems and methodologies
US7809678B2 (en) * 2004-07-09 2010-10-05 Microsoft Corporation Fact dimensions in multidimensional databases
US7562086B2 (en) * 2004-07-09 2009-07-14 Microsoft Corporation Custom grouping for dimension members
US7213199B2 (en) * 2004-07-16 2007-05-01 Cognos Incorporated Spreadsheet user-interface for an enterprise planning system having multi-dimensional data store
US8276150B2 (en) * 2004-10-12 2012-09-25 International Business Machines Corporation Methods, systems and computer program products for spreadsheet-based autonomic management of computer systems
US7676447B2 (en) * 2005-02-11 2010-03-09 Kinematik Research Limited Control system and method for controlling execution of scientific experiments by laboratory instruments
US20100070348A1 (en) * 2005-02-17 2010-03-18 Abhijit Nag Method and apparatus for evaluation of business performances of business enterprises
US7809754B2 (en) * 2005-02-28 2010-10-05 International Business Machines Corporation Method and computer program product for generating a lightweight ontological data model
US7814044B2 (en) * 2005-03-22 2010-10-12 Sap Ag Data access service queries
US8281282B2 (en) * 2005-04-26 2012-10-02 Ca, Inc. Method and apparatus for in-built searching and aggregating functionality
US20060259338A1 (en) * 2005-05-12 2006-11-16 Time Wise Solutions, Llc System and method to improve operational status indication and performance based outcomes
US7584205B2 (en) 2005-06-27 2009-09-01 Ab Initio Technology Llc Aggregating data with complex operations
US8572235B1 (en) 2005-11-07 2013-10-29 At&T Intellectual Property Ii, Lp Method and system for monitoring a complex IT infrastructure at the service level
US7383159B1 (en) 2005-12-13 2008-06-03 Teradata Us, Inc. Reusable measures
EP1811404A1 (en) * 2006-01-20 2007-07-25 Ubs Ag Technology for supplying a data warehouse while ensuring consistent data view
US20070179982A1 (en) * 2006-01-31 2007-08-02 International Business Machines Corporation Temporal summarization of a data subset
JP4899511B2 (en) * 2006-02-08 2012-03-21 富士通株式会社 System analysis program, system analysis apparatus, and system analysis method
US20080065590A1 (en) * 2006-09-07 2008-03-13 Microsoft Corporation Lightweight query processing over in-memory data structures
US20080066067A1 (en) * 2006-09-07 2008-03-13 Cognos Incorporated Enterprise performance management software system having action-based data capture
US7606752B2 (en) 2006-09-07 2009-10-20 Yodlee Inc. Host exchange in bill paying services
US20080086359A1 (en) * 2006-10-04 2008-04-10 Holton Peter R Sales opportunity explorer
US9262503B2 (en) 2007-01-26 2016-02-16 Information Resources, Inc. Similarity matching of products based on multiple classification schemes
EP2111593A2 (en) * 2007-01-26 2009-10-28 Information Resources, Inc. Analytic platform
US8782075B2 (en) * 2007-05-08 2014-07-15 Paraccel Llc Query handling in databases with replicated data
US7870114B2 (en) * 2007-06-15 2011-01-11 Microsoft Corporation Efficient data infrastructure for high dimensional data analysis
US7739666B2 (en) * 2007-06-15 2010-06-15 Microsoft Corporation Analyzing software users with instrumentation data and user group modeling and analysis
US7747988B2 (en) * 2007-06-15 2010-06-29 Microsoft Corporation Software feature usage analysis and reporting
US7765216B2 (en) * 2007-06-15 2010-07-27 Microsoft Corporation Multidimensional analysis tool for high dimensional data
US9449047B2 (en) 2007-06-19 2016-09-20 Sybase, Inc. Dynamic modification of schemas in streaming databases
US8745012B2 (en) 2007-08-10 2014-06-03 Sybase, Inc. Log-structured store for streaming data
WO2009030247A1 (en) * 2007-09-03 2009-03-12 Iqser Ip Ag Detecting correlations between data representing information
KR100984691B1 (en) * 2007-10-01 2010-10-01 김기미 Contents Relationship Management system By multiple internet domain
US7599997B1 (en) 2008-08-01 2009-10-06 Gene Fein Multi-homed data forwarding storage
US7636759B1 (en) * 2008-09-29 2009-12-22 Gene Fein Rotating encryption in data forwarding storage
US8458285B2 (en) * 2008-03-20 2013-06-04 Post Dahl Co. Limited Liability Company Redundant data forwarding storage
US9203928B2 (en) 2008-03-20 2015-12-01 Callahan Cellular L.L.C. Data storage and retrieval
US7636761B1 (en) * 2008-09-29 2009-12-22 Gene Fein Measurement in data forwarding storage
US7917541B2 (en) * 2008-03-31 2011-03-29 Microsoft Corporation Collecting and aggregating data using distributed resources
US8195712B1 (en) 2008-04-17 2012-06-05 Lattice Engines, Inc. Lattice data set-based methods and apparatus for information storage and retrieval
US8261334B2 (en) 2008-04-25 2012-09-04 Yodlee Inc. System for performing web authentication of a user by proxy
US8386585B2 (en) * 2008-04-25 2013-02-26 Tajitshu Transfer Limited Liability Company Real-time communications over data forwarding framework
US8452844B2 (en) * 2008-05-07 2013-05-28 Tajitshu Transfer Limited Liability Company Deletion in data file forwarding framework
US8806426B2 (en) * 2008-06-04 2014-08-12 Microsoft Corporation Configurable partitioning of parallel data for parallel processing
US9659073B2 (en) * 2008-06-18 2017-05-23 Oracle International Corporation Techniques to extract and flatten hierarchies
US8599678B2 (en) 2008-07-10 2013-12-03 Tajitshu Transfer Limited Liability Company Media delivery in data forwarding storage network
US8370446B2 (en) 2008-07-10 2013-02-05 Tajitshu Transfer Limited Liability Company Advertisement forwarding storage and retrieval network
US8463739B2 (en) * 2008-08-28 2013-06-11 Red Hat, Inc. Systems and methods for generating multi-population statistical measures using middleware
US8495007B2 (en) * 2008-08-28 2013-07-23 Red Hat, Inc. Systems and methods for hierarchical aggregation of multi-dimensional data sources
US10430338B2 (en) 2008-09-19 2019-10-01 Oracle International Corporation Selectively reading data from cache and primary storage based on whether cache is overloaded
US8478823B2 (en) 2008-09-29 2013-07-02 Tajitshu Transfer Limited Liability Company Selective data forwarding storage
US8352635B2 (en) * 2008-09-29 2013-01-08 Tajitshu Transfer Limited Liability Company Geolocation assisted data forwarding storage
US8055657B2 (en) * 2008-10-09 2011-11-08 International Business Machines Corporation Integrated entity and integrated operations of personalized data resource across the world wide web for online and offline interactions
US9020882B2 (en) 2008-11-26 2015-04-28 Red Hat, Inc. Database hosting middleware dimensional transforms
IL195956A0 (en) 2008-12-15 2009-09-01 Hyperroll Israel Ltd Automatic data store architecture detection
US20100162147A1 (en) * 2008-12-19 2010-06-24 Ritter Gerd M Ui-driven binding of extension fields to business objects
US8555359B2 (en) 2009-02-26 2013-10-08 Yodlee, Inc. System and methods for automatically accessing a web site on behalf of a client
IL197961A0 (en) * 2009-04-05 2009-12-24 Guy Shaked Methods for effective processing of time series
US9613123B2 (en) * 2009-04-13 2017-04-04 Hewlett Packard Enterprise Development Lp Data stream processing
US9292592B2 (en) * 2009-05-29 2016-03-22 Red Hat, Inc. Object-based modeling using composite model object having independently updatable component objects
US8417739B2 (en) * 2009-05-29 2013-04-09 Red Hat, Inc. Systems and methods for object-based modeling using hierarchical model objects
US9105006B2 (en) 2009-05-29 2015-08-11 Red Hat, Inc. Generating floating desktop representation of extracted model object
US8930487B2 (en) * 2009-05-29 2015-01-06 Red Hat, Inc. Object-based modeling using model objects exportable to external modeling tools
US8606827B2 (en) * 2009-05-29 2013-12-10 Red Hat, Inc. Systems and methods for extracting database dimensions as data modeling object
US9009006B2 (en) 2009-05-29 2015-04-14 Red Hat, Inc. Generating active links between model objects
US9292485B2 (en) 2009-05-29 2016-03-22 Red Hat, Inc. Extracting data cell transformable to model object
US8365195B2 (en) * 2009-08-31 2013-01-29 Red Hat, Inc. Systems and methods for generating sets of model objects having data messaging pipes
US8417734B2 (en) * 2009-08-31 2013-04-09 Red Hat, Inc. Systems and methods for managing sets of model objects via unified management interface
US9152944B2 (en) 2009-08-31 2015-10-06 Red Hat, Inc. Generating rapidly rotatable dimensional view of data objects
US20110054854A1 (en) * 2009-08-31 2011-03-03 Eric Williamson Systems and methods for generating dimensionally altered model objects
US9152435B2 (en) * 2009-08-31 2015-10-06 Red Hat, Inc. Generating a set of linked rotational views of model objects
US20110078199A1 (en) * 2009-09-30 2011-03-31 Eric Williamson Systems and methods for the distribution of data in a hierarchical database via placeholder nodes
US8984013B2 (en) * 2009-09-30 2015-03-17 Red Hat, Inc. Conditioning the distribution of data in a hierarchical database
US8909678B2 (en) * 2009-09-30 2014-12-09 Red Hat, Inc. Conditioned distribution of data in a lattice-based database using spreading rules
US9031987B2 (en) * 2009-09-30 2015-05-12 Red Hat, Inc. Propagation of data changes in distribution operations in hierarchical database
US8996453B2 (en) * 2009-09-30 2015-03-31 Red Hat, Inc. Distribution of data in a lattice-based database via placeholder nodes
US8326797B2 (en) 2009-11-11 2012-12-04 International Business Machines Corporation Supporting set-level slice and dice in data warehouses
US8589344B2 (en) * 2009-11-30 2013-11-19 Red Hat, Inc. Systems and methods for generating iterated distributions of data in a hierarchical database
US8396880B2 (en) * 2009-11-30 2013-03-12 Red Hat, Inc. Systems and methods for generating an optimized output range for a data distribution in a hierarchical database
US8315174B2 (en) * 2009-12-31 2012-11-20 Red Hat, Inc. Systems and methods for generating a push-up alert of fault conditions in the distribution of data in a hierarchical database
US9342801B2 (en) 2010-03-29 2016-05-17 Amazon Technologies, Inc. Managing committed processing rates for shared resources
US20110238857A1 (en) * 2010-03-29 2011-09-29 Amazon Technologies, Inc. Committed processing rates for shared resources
US20110295672A1 (en) * 2010-05-25 2011-12-01 Dimitriadis Christos K Methods and a system for detecting fraud in betting and lottery games
US8694557B2 (en) 2010-07-02 2014-04-08 Sap Ag Extensibility of metaobjects
CN102314460B (en) 2010-07-07 2014-05-14 阿里巴巴集团控股有限公司 Data analysis method and system and servers
US9069747B2 (en) 2010-08-26 2015-06-30 Sap Se Methods, apparatus, systems and computer readable mediums for use in association with electronic spreadsheets
US9342793B2 (en) 2010-08-31 2016-05-17 Red Hat, Inc. Training a self-learning network using interpolated input sets based on a target output
US10353891B2 (en) 2010-08-31 2019-07-16 Red Hat, Inc. Interpolating conformal input sets based on a target output
US8612330B1 (en) 2010-09-14 2013-12-17 Amazon Technologies, Inc. Managing bandwidth for shared resources
US8694400B1 (en) 2010-09-14 2014-04-08 Amazon Technologies, Inc. Managing operational throughput for shared resources
US8533103B1 (en) * 2010-09-14 2013-09-10 Amazon Technologies, Inc. Maintaining latency guarantees for shared resources
US9292575B2 (en) 2010-11-19 2016-03-22 International Business Machines Corporation Dynamic data aggregation from a plurality of data sources
US9355383B2 (en) 2010-11-22 2016-05-31 Red Hat, Inc. Tracking differential changes in conformal data input sets
US10366464B2 (en) 2010-11-29 2019-07-30 Red Hat, Inc. Generating interpolated input data sets using reduced input source objects
US8346817B2 (en) 2010-11-29 2013-01-01 Red Hat, Inc. Systems and methods for embedding interpolated data object in application data file
US8364687B2 (en) 2010-11-29 2013-01-29 Red Hat, Inc. Systems and methods for binding multiple interpolated data objects
US8886646B2 (en) * 2010-12-30 2014-11-11 Sap Se Field extensibility for analytical reports
US8862638B2 (en) 2011-02-28 2014-10-14 Red Hat, Inc. Interpolation data template to normalize analytic runs
US8768942B2 (en) 2011-02-28 2014-07-01 Red Hat, Inc. Systems and methods for generating interpolated data sets converging to optimized results using iterative overlapping inputs
US8290969B2 (en) 2011-02-28 2012-10-16 Red Hat, Inc. Systems and methods for validating interpolation results using monte carlo simulations on interpolated data inputs
US9489439B2 (en) 2011-02-28 2016-11-08 Red Hat, Inc. Generating portable interpolated data using object-based encoding of interpolation results
US20120323641A1 (en) * 2011-06-20 2012-12-20 Accenture Global Services Limited Terminal performance analytical computer system
US9020972B1 (en) * 2011-08-02 2015-04-28 Google Inc. System and method for constructing a database instruction
US9183269B1 (en) 2011-10-08 2015-11-10 Bay Dynamics, Inc. Federated multidimensional data storage cubes
US9081830B1 (en) 2011-10-08 2015-07-14 Bay Dynamics Updating a view of a multidimensional cube
US10353922B1 (en) 2011-10-08 2019-07-16 Bay Dynamics, Inc. Rendering multidimensional cube data
US9330091B1 (en) 2011-10-08 2016-05-03 Bay Dynamics, Inc. System for managing data storages
US9390082B1 (en) * 2011-10-08 2016-07-12 Bay Dynamics, Inc. Generating multiple views of a multidimensional cube
US9171055B1 (en) 2011-10-08 2015-10-27 Bay Dynamics, Inc. Content packs for multidimensional data storage cubes
US8909680B1 (en) * 2011-10-08 2014-12-09 Bay Dynamics Intelligent caching of multidimensional cube data
US9367354B1 (en) 2011-12-05 2016-06-14 Amazon Technologies, Inc. Queued workload service in a multi tenant environment
US9031900B2 (en) * 2012-01-18 2015-05-12 Sap Se System and methods for integrating software layers for OLAP
US10061758B2 (en) * 2012-03-29 2018-08-28 Red Hat, Inc. Tabular widget with mergable cells
GB2503266A (en) * 2012-06-21 2013-12-25 Ibm Sharing aggregated cache hit and miss data in a storage area network
US8996544B2 (en) 2012-09-28 2015-03-31 Oracle International Corporation Pruning disk blocks of a clustered table in a relational database management system
US9430550B2 (en) 2012-09-28 2016-08-30 Oracle International Corporation Clustering a table in a relational database management system
US9507825B2 (en) 2012-09-28 2016-11-29 Oracle International Corporation Techniques for partition pruning based on aggregated zone map information
EP2757467A1 (en) * 2013-01-22 2014-07-23 Siemens Aktiengesellschaft Management apparatus and method for managing data elements of a version control system
US10223431B2 (en) * 2013-01-31 2019-03-05 Facebook, Inc. Data stream splitting for low-latency data access
US9609050B2 (en) 2013-01-31 2017-03-28 Facebook, Inc. Multi-level data staging for low latency data access
US9471628B2 (en) 2013-03-04 2016-10-18 Mastercard International Incorporated Methods and systems for calculating and retrieving analytic data
US9934523B1 (en) 2013-03-05 2018-04-03 Square, Inc. On-device directory search
US9189809B1 (en) * 2013-03-08 2015-11-17 Square, Inc. Purchase transaction presentation
US10909590B2 (en) 2013-03-15 2021-02-02 Square, Inc. Merchant and item ratings
US10642837B2 (en) 2013-03-15 2020-05-05 Oracle International Corporation Relocating derived cache during data rebalance to maintain application performance
US20140365519A1 (en) * 2013-06-10 2014-12-11 Targit A/S Intelligent processing of user input to a business intelligence software application
US9870543B2 (en) 2013-08-12 2018-01-16 GoodData Corporation Custom-branded analytic applications in a multi-tenant environment
US9740718B2 (en) * 2013-09-20 2017-08-22 Oracle International Corporation Aggregating dimensional data using dense containers
US10229161B2 (en) * 2013-09-20 2019-03-12 Oracle International Corporation Automatic caching of scan and random access data in computing systems
US9836519B2 (en) 2013-09-20 2017-12-05 Oracle International Corporation Densely grouping dimensional data
US9990398B2 (en) 2013-09-20 2018-06-05 Oracle International Corporation Inferring dimensional metadata from content of a query
US9411721B2 (en) 2013-11-15 2016-08-09 Sandisk Technologies Llc Detecting access sequences for data compression on non-volatile memory devices
CN103605810B (en) * 2013-12-10 2017-02-01 中国海洋石油总公司 Data processing infrastructure of data warehouse
US9336236B2 (en) 2014-01-21 2016-05-10 International Business Machines Corporation Geospatial queries using associated distribution data
US9286329B2 (en) * 2014-01-31 2016-03-15 GoodData Corporation Generating analytics application using reusable application modules
WO2015131961A1 (en) 2014-03-07 2015-09-11 Systema Systementwicklung Dip.-Inf. Manfred Austen Gmbh Real-time information systems and methodology based on continuous homomorphic processing in linear information spaces
GB2524072A (en) * 2014-03-14 2015-09-16 Ibm Demand-driven dynamic aggregate
JP6354228B2 (en) 2014-03-17 2018-07-11 株式会社リコー Information processing apparatus, information processing method, image forming apparatus, information processing system, and program
US9600554B2 (en) 2014-03-25 2017-03-21 AtScale, Inc. Interpreting relational database statements using a virtual multidimensional data model
US9619769B2 (en) * 2014-04-01 2017-04-11 Sap Se Operational leading indicator (OLI) management using in-memory database
EP2954424B1 (en) 2014-05-05 2018-05-30 Huawei Technologies Co., Ltd. Method, device, and system for peer-to-peer data replication and method, device, and system for master node switching
US9767145B2 (en) 2014-10-10 2017-09-19 Salesforce.Com, Inc. Visual data analysis with animated informational morphing replay
US9600548B2 (en) 2014-10-10 2017-03-21 Salesforce.Com Row level security integration of analytical data store with cloud architecture
US9396018B2 (en) * 2014-10-10 2016-07-19 Salesforce.Com, Inc. Low latency architecture with directory service for integration of transactional data system with analytical data structures
US10049141B2 (en) 2014-10-10 2018-08-14 salesforce.com,inc. Declarative specification of visualization queries, display formats and bindings
US10101889B2 (en) 2014-10-10 2018-10-16 Salesforce.Com, Inc. Dashboard builder with live data updating without exiting an edit mode
US9449188B2 (en) 2014-10-10 2016-09-20 Salesforce.Com, Inc. Integration user for analytical access to read only data stores generated from transactional systems
US10528540B2 (en) 2015-05-11 2020-01-07 AtScale, Inc. Dynamic aggregate generation and updating for high performance querying of large datasets
US10115213B2 (en) 2015-09-15 2018-10-30 Salesforce, Inc. Recursive cell-based hierarchy for data visualizations
US10089368B2 (en) 2015-09-18 2018-10-02 Salesforce, Inc. Systems and methods for making visual data representations actionable
US10318498B2 (en) * 2015-10-23 2019-06-11 Oracle International Corporation System and method for parallel support of multidimensional slices with a multidimensional database
US10678792B2 (en) 2015-10-23 2020-06-09 Oracle International Corporation Parallel execution of queries with a recursive clause
US10642831B2 (en) 2015-10-23 2020-05-05 Oracle International Corporation Static data caching for queries with a clause that requires multiple iterations to execute
US10783142B2 (en) 2015-10-23 2020-09-22 Oracle International Corporation Efficient data retrieval in staged use of in-memory cursor duration temporary tables
US10467250B2 (en) 2015-12-14 2019-11-05 AtScale, Inc. Data model design collaboration using semantically correct collaborative objects
US10223421B2 (en) * 2015-12-30 2019-03-05 Sap Se Virtual Aggregation
US9948655B1 (en) * 2016-04-15 2018-04-17 AtScale, Inc. Data access authorization for dynamically generated database structures
US10191930B2 (en) * 2016-08-12 2019-01-29 Sap Se Priority queuing for updates in a database system
US10558659B2 (en) 2016-09-16 2020-02-11 Oracle International Corporation Techniques for dictionary based join and aggregation
US10311047B2 (en) 2016-10-19 2019-06-04 Salesforce.Com, Inc. Streamlined creation and updating of OLAP analytic databases
US10331573B2 (en) 2016-11-04 2019-06-25 Oracle International Corporation Detection of avoidable cache thrashing for OLTP and DW workloads
US10747736B2 (en) * 2016-11-09 2020-08-18 Sap Se Aggregation database for external dataset
US10067678B1 (en) 2016-12-22 2018-09-04 Amazon Technologies, Inc. Probabilistic eviction of partial aggregation results from constrained results storage
US10452682B2 (en) 2017-01-05 2019-10-22 International Business Machines Corporation Accelerator based data integration
US10656964B2 (en) 2017-05-16 2020-05-19 Oracle International Corporation Dynamic parallelization of a calculation process
US10719372B2 (en) 2017-05-22 2020-07-21 Oracle International Corporation Dynamic parallelization of data loading
US10185607B1 (en) 2017-07-23 2019-01-22 AtScale, Inc. Data statement monitoring and control
US10929361B2 (en) 2017-07-23 2021-02-23 AtScale, Inc. Rule-based data source selection
US10713248B2 (en) 2017-07-23 2020-07-14 AtScale, Inc. Query engine selection
US11019073B2 (en) 2017-07-23 2021-05-25 AtScale, Inc. Application-agnostic resource access control
US10853349B2 (en) 2017-08-09 2020-12-01 Vmware, Inc. Event based analytics database synchronization
US11687567B2 (en) * 2017-09-21 2023-06-27 Vmware, Inc. Trigger based analytics database synchronization
US11086876B2 (en) 2017-09-29 2021-08-10 Oracle International Corporation Storing derived summaries on persistent memory of a storage device
US11537610B2 (en) 2017-12-09 2022-12-27 AtScale, Inc. Data statement chunking
US10740333B1 (en) * 2018-06-27 2020-08-11 Cloudera, Inc. Apparatus and method for accelerated query processing using eager aggregation and analytical view matching
US11354373B2 (en) * 2018-12-14 2022-06-07 Sisense Ltd. System and method for efficiently querying data using temporal granularities
US10990598B2 (en) * 2019-01-31 2021-04-27 Microsoft Technology Licensing, Llc Aggregating quantile metrics in multidimensional data sets
US11803798B2 (en) * 2019-04-18 2023-10-31 Oracle International Corporation System and method for automatic generation of extract, transform, load (ETL) asserts
US11233706B2 (en) 2019-05-06 2022-01-25 Bank Of America Corporation System for multichannel aggregation of electronic data via a centralized integration hub
CN110502592B (en) * 2019-08-27 2023-08-11 深圳供电局有限公司 Project domain topic analysis system based on big data analysis technology
US11222018B2 (en) 2019-09-09 2022-01-11 Oracle International Corporation Cache conscious techniques for generation of quasi-dense grouping codes of compressed columnar data in relational database systems
US11526859B1 (en) 2019-11-12 2022-12-13 Bottomline Technologies, Sarl Cash flow forecasting using a bottoms-up machine learning approach
US11532040B2 (en) 2019-11-12 2022-12-20 Bottomline Technologies Sarl International cash management software using machine learning
USD959477S1 (en) 2019-12-20 2022-08-02 Sap Se Display system or portion thereof with a virtual three-dimensional animated graphical user interface
USD959447S1 (en) 2019-12-20 2022-08-02 Sap Se Display system or portion thereof with a virtual three-dimensional animated graphical user interface
USD959476S1 (en) 2019-12-20 2022-08-02 Sap Se Display system or portion thereof with a virtual three-dimensional animated graphical user interface
US11205296B2 (en) * 2019-12-20 2021-12-21 Sap Se 3D data exploration using interactive cuboids
CN116561162A (en) * 2019-12-31 2023-08-08 北京恒泰实达科技股份有限公司 Method for carrying out data query analysis by dynamically constructing cubes
US11562265B2 (en) * 2020-02-28 2023-01-24 Ricoh Company, Ltd. Intelligent data analytics
US11704671B2 (en) 2020-04-02 2023-07-18 Bottomline Technologies Limited Financial messaging transformation-as-a-service
US11586608B1 (en) 2020-06-23 2023-02-21 Amazon Technologies, Inc. Handling requests to access separately stored items in a non-relational database
US20220108330A1 (en) * 2020-10-06 2022-04-07 Rebecca Mendoza Saltiel Interactive and iterative behavioral model, system, and method for detecting fraud, waste, abuse and anomaly
CN112269792B (en) * 2020-12-11 2021-07-02 腾讯科技(深圳)有限公司 Data query method, device, equipment and computer readable storage medium
US11875370B2 (en) 2020-12-18 2024-01-16 Replenium Inc. Automated replenishment shopping harmonization
US20220198483A1 (en) * 2020-12-18 2022-06-23 Replenium Inc. Automated replenishment shopping platform
AU2022214554B2 (en) * 2021-01-26 2023-12-21 Donyati, Llc Dynamic application builder for multidimensional database environments
CN113094393B (en) * 2021-03-16 2023-07-14 杭州数梦工场科技有限公司 Data aggregation method and device and electronic equipment
US11645231B1 (en) * 2022-04-24 2023-05-09 Morgan Stanley Services Group Inc. Data indexing for distributed query execution and aggregation

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5257365A (en) * 1990-03-16 1993-10-26 Powers Frederick A Database system with multi-dimensional summary search tree nodes for reducing the necessity to access records
US5761652A (en) * 1996-03-20 1998-06-02 International Business Machines Corporation Constructing balanced multidimensional range-based bitmap indices
US5978796A (en) * 1997-06-30 1999-11-02 International Business Machines Corporation Accessing multi-dimensional data by mapping dense data blocks to rows in a relational database

Family Cites Families (266)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4590465A (en) 1982-02-18 1986-05-20 Henry Fuchs Graphics display system using logic-enhanced pixel memory cells
US4598400A (en) 1983-05-31 1986-07-01 Thinking Machines Corporation Method and apparatus for routing message packets
US4641351A (en) 1984-07-25 1987-02-03 Preston Jr Kendall Logical transform image processor
US6545589B1 (en) 1984-09-14 2003-04-08 Aspect Communications Corporation Method and apparatus for managing telecommunications
US4685144A (en) 1984-10-29 1987-08-04 Environmental Research Institute Of Michigan Image processing system with transformation detection
JPS61220027A (en) * 1985-03-27 1986-09-30 Hitachi Ltd Information memory system
US5696916A (en) 1985-03-27 1997-12-09 Hitachi, Ltd. Information storage and retrieval system and display method therefor
US5553226A (en) * 1985-03-27 1996-09-03 Hitachi, Ltd. System for displaying concept networks
US5404506A (en) * 1985-03-27 1995-04-04 Hitachi, Ltd. Knowledge based information retrieval system
JPH0814795B2 (en) * 1986-01-14 1996-02-14 株式会社日立製作所 Multiprocessor virtual computer system
US6182062B1 (en) * 1986-03-26 2001-01-30 Hitachi, Ltd. Knowledge based information retrieval system
US4814980A (en) 1986-04-01 1989-03-21 California Institute Of Technology Concurrent hypercube system with improved message passing
CA1258923A (en) 1986-04-14 1989-08-29 Robert A. Drebin Methods and apparatus for imaging volume data
US4989141A (en) 1987-06-01 1991-01-29 Corporate Class Software Computer system for financial analyses and reporting
US5189608A (en) 1987-06-01 1993-02-23 Imrs Operations, Inc. Method and apparatus for storing and generating financial information employing user specified input and output formats
JPH01123320A (en) 1987-10-30 1989-05-16 Internatl Business Mach Corp <Ibm> Method and apparatus for forming searching command
US5055999A (en) 1987-12-22 1991-10-08 Kendall Square Research Corporation Multiprocessor digital data processing system
US5222237A (en) 1988-02-02 1993-06-22 Thinking Machines Corporation Apparatus for aligning the operation of a plurality of processors
US5089985A (en) 1988-04-07 1992-02-18 International Business Machines Corporation System and method for performing a sort operation in a relational database manager to pass results directly to a user without writing to disk
US5202985A (en) * 1988-04-14 1993-04-13 Racal-Datacom, Inc. Apparatus and method for displaying data communication network configuration after searching the network
US4987554A (en) * 1988-08-24 1991-01-22 The Research Foundation Of State University Of New York Method of converting continuous three-dimensional geometrical representations of polygonal objects into discrete three-dimensional voxel-based representations thereof within a three-dimensional voxel-based system
US4985856A (en) * 1988-11-10 1991-01-15 The Research Foundation Of State University Of New York Method and apparatus for storing, accessing, and processing voxel-based data
US4985834A (en) 1988-11-22 1991-01-15 General Electric Company System and method employing pipelined parallel circuit architecture for displaying surface structures of the interior region of a solid body
SE466029B (en) 1989-03-06 1991-12-02 Ibm Svenska Ab DEVICE AND PROCEDURE FOR ANALYSIS OF NATURAL LANGUAGES IN A COMPUTER-BASED INFORMATION PROCESSING SYSTEM
US5101475A (en) * 1989-04-17 1992-03-31 The Research Foundation Of State University Of New York Method and apparatus for generating arbitrary projections of three-dimensional voxel-based data
US5197005A (en) 1989-05-01 1993-03-23 Intelligent Business Systems Database retrieval system having a natural language interface
US5280474A (en) 1990-01-05 1994-01-18 Maspar Computer Corporation Scalable processor to processor and processor-to-I/O interconnection network and method for parallel processing arrays
US5278966A (en) * 1990-06-29 1994-01-11 The United States Of America As Represented By The Secretary Of The Navy Toroidal computer memory for serial and parallel processors
US5293615A (en) * 1990-11-16 1994-03-08 Amada Carlos A Point and shoot interface for linking database records to spreadsheets whereby data of a record is automatically reformatted and loaded upon issuance of a recalculation command
US5379419A (en) 1990-12-07 1995-01-03 Digital Equipment Corporation Methods and apparatus for accesssing non-relational data files using relational queries
US5299321A (en) 1990-12-18 1994-03-29 Oki Electric Industry Co., Ltd. Parallel processing device to operate with parallel execute instructions
US5307484A (en) * 1991-03-06 1994-04-26 Chrysler Corporation Relational data base repository system for managing functional and physical data structures of nodes and links of multiple computer networks
US5222216A (en) 1991-07-12 1993-06-22 Thinking Machines Corporation High performance communications interface for multiplexing a plurality of computers to a high performance point to point communications bus
US5297280A (en) 1991-08-07 1994-03-22 Occam Research Corporation Automatically retrieving queried data by extracting query dimensions and modifying the dimensions if an extract match does not occur
US5359724A (en) 1992-03-30 1994-10-25 Arbor Software Corporation Method and apparatus for storing and retrieving multi-dimensional data in computer memory
US5648215A (en) 1992-05-13 1997-07-15 Board Of Regents, The University Of Texas System Telomerase diagnostic methods
US5361385A (en) 1992-08-26 1994-11-01 Reuven Bakalash Parallel computing system for volumetric modeling, data processing and visualization
US5867501A (en) * 1992-12-17 1999-02-02 Tandem Computers Incorporated Encoding for communicating data and commands
US5805885A (en) * 1992-12-24 1998-09-08 Microsoft Corporation Method and system for aggregating objects
US5794228A (en) 1993-04-16 1998-08-11 Sybase, Inc. Database system with buffer manager providing per page native data compression and decompression
US5918225A (en) 1993-04-16 1999-06-29 Sybase, Inc. SQL-based database system with improved indexing methodology
US5794229A (en) * 1993-04-16 1998-08-11 Sybase, Inc. Database system with methodology for storing a database table by vertically partitioning all columns of the table
US5852821A (en) 1993-04-16 1998-12-22 Sybase, Inc. High-speed data base query method and apparatus
US5519859A (en) * 1993-11-15 1996-05-21 Grace; John A. Method and apparatus for automatic table selection and generation of structured query language instructions
US5410693A (en) * 1994-01-26 1995-04-25 Wall Data Incorporated Method and apparatus for accessing a database
US5742806A (en) * 1994-01-31 1998-04-21 Sun Microsystems, Inc. Apparatus and method for decomposing database queries for database management system including multiprocessor digital data processing system
US5706503A (en) * 1994-05-18 1998-01-06 Etak Inc Method of clustering multi-dimensional related data in a computer database by combining the two verticles of a graph connected by an edge having the highest score
US5537589A (en) * 1994-06-30 1996-07-16 Microsoft Corporation Method and system for efficiently performing database table aggregation using an aggregation index
US5915257A (en) 1994-10-11 1999-06-22 Brio Technology, Inc. Cross tab analysis and reporting method
CA2176165A1 (en) 1995-05-19 1996-11-20 Hosagrahar Visvesvaraya Jagadish Method for querying incrementally maintained transactional databases
US5701451A (en) * 1995-06-07 1997-12-23 International Business Machines Corporation Method for fulfilling requests of a web browser
US6047323A (en) 1995-10-19 2000-04-04 Hewlett-Packard Company Creation and migration of distributed streams in clusters of networked computers
FR2740884B1 (en) 1995-11-03 1997-12-19 Bull Sa ADMINISTRATOR INTERFACE FOR A DATABASE IN A DISTRIBUTED COMPUTING ENVIRONMENT
JP3952518B2 (en) 1996-03-29 2007-08-01 株式会社日立製作所 Multidimensional data processing method
US5832475A (en) * 1996-03-29 1998-11-03 International Business Machines Corporation Database system and method employing data cube operator for group-by operations
US5901287A (en) 1996-04-01 1999-05-04 The Sabre Group Inc. Information aggregation and synthesization system
US6041103A (en) 1996-04-16 2000-03-21 Lucent Technologies, Inc. Interactive call identification
US5999192A (en) 1996-04-30 1999-12-07 Lucent Technologies Inc. Interactive data exploration apparatus and methods
US5857184A (en) * 1996-05-03 1999-01-05 Walden Media, Inc. Language and method for creating, organizing, and retrieving data from a database
US5706495A (en) 1996-05-07 1998-01-06 International Business Machines Corporation Encoded-vector indices for decision support and warehousing
US5765028A (en) 1996-05-07 1998-06-09 Ncr Corporation Method and apparatus for providing neural intelligence to a mail query agent in an online analytical processing system
US5721910A (en) * 1996-06-04 1998-02-24 Exxon Research And Engineering Company Relational database system containing a multidimensional hierachical model of interrelated subject categories with recognition capabilities
US5767854A (en) * 1996-09-27 1998-06-16 Anwar; Mohammed S. Multidimensional data display and manipulation system and methods for using same
US5848424A (en) * 1996-11-18 1998-12-08 Toptier Software, Inc. Data navigator interface with navigation as a function of draggable elements and drop targets
US5799300A (en) 1996-12-12 1998-08-25 International Business Machines Corporations Method and system for performing range-sum queries on a data cube
US5822751A (en) * 1996-12-16 1998-10-13 Microsoft Corporation Efficient multidimensional data aggregation operator implementation
US5850547A (en) 1997-01-08 1998-12-15 Oracle Corporation Method and apparatus for parallel processing aggregates using intermediate aggregate values
US6034697A (en) 1997-01-13 2000-03-07 Silicon Graphics, Inc. Interpolation between relational tables for purposes of animating a data visualization
US5852819A (en) 1997-01-30 1998-12-22 Beller; Stephen E. Flexible, modular electronic element patterning method and apparatus for compiling, processing, transmitting, and reporting data and information
US5884299A (en) * 1997-02-06 1999-03-16 Ncr Corporation Optimization of SQL queries involving aggregate expressions using a plurality of local and global aggregation operations
US5926820A (en) * 1997-02-27 1999-07-20 International Business Machines Corporation Method and system for performing range max/min queries on a data cube
JPH10333953A (en) 1997-04-01 1998-12-18 Kokusai Zunou Sangyo Kk Integrated data base system and computer-readable recording medium recording program for managing its data base structure
JP3155991B2 (en) * 1997-04-09 2001-04-16 日本アイ・ビー・エム株式会社 Aggregate operation execution method and computer system
US5978788A (en) 1997-04-14 1999-11-02 International Business Machines Corporation System and method for generating multi-representations of a data cube
US6182060B1 (en) 1997-04-15 2001-01-30 Robert Hedgcock Method and apparatus for storing, retrieving, and processing multi-dimensional customer-oriented data sets
US5794246A (en) * 1997-04-30 1998-08-11 Informatica Corporation Method for incremental aggregation of dynamically increasing database data sets
US5946692A (en) * 1997-05-08 1999-08-31 At & T Corp Compressed representation of a data base that permits AD HOC querying
US5890151A (en) 1997-05-09 1999-03-30 International Business Machines Corporation Method and system for performing partial-sum queries on a data cube
US6115705A (en) * 1997-05-19 2000-09-05 Microsoft Corporation Relational database system and method for query processing using early aggregation
US5946711A (en) * 1997-05-30 1999-08-31 Oracle Corporation System for locking data in a shared cache
US6078994A (en) * 1997-05-30 2000-06-20 Oracle Corporation System for maintaining a shared cache in a multi-threaded computer environment
US6324623B1 (en) 1997-05-30 2001-11-27 Oracle Corporation Computing system for implementing a shared cache
US6209036B1 (en) * 1997-06-06 2001-03-27 International Business Machines Corporation Management of and access to information and other material via the world wide web in an LDAP environment
US5890154A (en) * 1997-06-06 1999-03-30 International Business Machines Corp. Merging database log files through log transformations
US6397195B1 (en) 1997-06-27 2002-05-28 Hyperion Solutions Corporation System for managing accounting information in a multi-dimensional database
US5905985A (en) 1997-06-30 1999-05-18 International Business Machines Corporation Relational database modifications based on multi-dimensional database modifications
US6205447B1 (en) 1997-06-30 2001-03-20 International Business Machines Corporation Relational database management of multi-dimensional data
US5963936A (en) 1997-06-30 1999-10-05 International Business Machines Corporation Query processing system that computes GROUPING SETS, ROLLUP, and CUBE with a reduced number of GROUP BYs in a query graph model
US5943668A (en) 1997-06-30 1999-08-24 International Business Machines Corporation Relational emulation of a multi-dimensional database
US5940818A (en) * 1997-06-30 1999-08-17 International Business Machines Corporation Attribute-based access for multi-dimensional databases
US5926818A (en) 1997-06-30 1999-07-20 International Business Machines Corporation Relational database implementation of a multi-dimensional database
US5999924A (en) 1997-07-25 1999-12-07 Amazon.Com, Inc. Method and apparatus for producing sequenced queries
US6073140A (en) * 1997-07-29 2000-06-06 Acxiom Corporation Method and system for the creation, enhancement and update of remote data using persistent keys
US6006216A (en) 1997-07-29 1999-12-21 Lucent Technologies Inc. Data architecture for fetch-intensive database applications
US5987467A (en) 1997-08-15 1999-11-16 At&T Corp. Method of calculating tuples for data cubes
US6003029A (en) * 1997-08-22 1999-12-14 International Business Machines Corporation Automatic subspace clustering of high dimensional data for data mining applications
US6094651A (en) * 1997-08-22 2000-07-25 International Business Machines Corporation Discovery-driven exploration of OLAP data cubes
US5995945A (en) 1997-08-25 1999-11-30 I2 Technologies, Inc. System and process for inter-domain planning analysis and optimization using model agents as partial replicas of remote domains
US5940822A (en) 1997-08-29 1999-08-17 International Business Machines Corporation Encoding method of members related by multiple concept or group hierarchies and identification of members in a corpus or a database that are descendants of one or more selected concepts or groups from the encoding
US6141655A (en) 1997-09-23 2000-10-31 At&T Corp Method and apparatus for optimizing and structuring data by designing a cube forest data structure for hierarchically split cube forest template
US5937410A (en) 1997-10-16 1999-08-10 Johnson Controls Technology Company Method of transforming graphical object diagrams to product data manager schema
US6023695A (en) 1997-10-31 2000-02-08 Oracle Corporation Summary table management in a computer system
US6691118B1 (en) * 1997-10-31 2004-02-10 Oracle International Corporation Context management system for modular software architecture
US6134541A (en) 1997-10-31 2000-10-17 International Business Machines Corporation Searching multidimensional indexes using associated clustering and dimension reduction information
US5943677A (en) * 1997-10-31 1999-08-24 Oracle Corporation Sparsity management system for multi-dimensional databases
US6122628A (en) 1997-10-31 2000-09-19 International Business Machines Corporation Multidimensional data clustering and dimension reduction for indexing and searching
US6275818B1 (en) * 1997-11-06 2001-08-14 International Business Machines Corporation Cost based optimization of decision support queries using transient views
US6014670A (en) * 1997-11-07 2000-01-11 Informatica Corporation Apparatus and method for performing data transformations in data warehousing
US6339775B1 (en) * 1997-11-07 2002-01-15 Informatica Corporation Apparatus and method for performing data transformations in data warehousing
US5974416A (en) 1997-11-10 1999-10-26 Microsoft Corporation Method of creating a tabular data stream for sending rows of data between client and server
US6151601A (en) * 1997-11-12 2000-11-21 Ncr Corporation Computer architecture and method for collecting, analyzing and/or transforming internet and/or electronic commerce data for storage into a data storage area
US6934687B1 (en) * 1997-11-20 2005-08-23 Ncr Corporation Computer architecture and method for supporting and analyzing electronic commerce over the world wide web for commerce service providers and/or internet service providers
US6151584A (en) 1997-11-20 2000-11-21 Ncr Corporation Computer architecture and method for validating and collecting and metadata and data about the internet and electronic commerce environments (data discoverer)
US5918232A (en) 1997-11-26 1999-06-29 Whitelight Systems, Inc. Multidimensional domain modeling method and system
US6628312B1 (en) 1997-12-02 2003-09-30 Inxight Software, Inc. Interactive interface for visualizing and manipulating multi-dimensional data
US6418450B2 (en) * 1998-01-26 2002-07-09 International Business Machines Corporation Data warehouse programs architecture
US6078924A (en) * 1998-01-30 2000-06-20 Aeneid Corporation Method and apparatus for performing data collection, interpretation and analysis, in an information platform
US6003036A (en) 1998-02-12 1999-12-14 Martin; Michael W. Interval-partitioning method for multidimensional data
WO1999042942A1 (en) * 1998-02-23 1999-08-26 Ron Ribitzky Component based object-relational database infrastructure and user interface
US6405173B1 (en) * 1998-03-05 2002-06-11 American Management Systems, Inc. Decision management system providing qualitative account/customer assessment via point in time simulation
US6546545B1 (en) * 1998-03-05 2003-04-08 American Management Systems, Inc. Versioning in a rules based decision management system
US6430545B1 (en) * 1998-03-05 2002-08-06 American Management Systems, Inc. Use of online analytical processing (OLAP) in a rules based decision management system
US6601034B1 (en) * 1998-03-05 2003-07-29 American Management Systems, Inc. Decision management system which is cross-function, cross-industry and cross-platform
US6609120B1 (en) * 1998-03-05 2003-08-19 American Management Systems, Inc. Decision management system which automatically searches for strategy components in a strategy
US6321206B1 (en) 1998-03-05 2001-11-20 American Management Systems, Inc. Decision management system for creating strategies to control movement of clients across categories
US6115714A (en) 1998-03-20 2000-09-05 Kenan Systems Corp. Triggering mechanism for multi-dimensional databases
US6480842B1 (en) * 1998-03-26 2002-11-12 Sap Portals, Inc. Dimension to domain server
US6441834B1 (en) * 1998-03-26 2002-08-27 Sap Portals, Inc. Hyper-relational correlation server
US6775674B1 (en) * 1998-03-26 2004-08-10 Sap Aktiengesellschaft Auto completion of relationships between objects in a data model
US6411681B1 (en) * 1998-03-26 2002-06-25 Bell Atlantic Network Services, Inc. Traffic track measurements for analysis of network troubles
US6385301B1 (en) * 1998-03-26 2002-05-07 Bell Atlantic Services Network, Inc. Data preparation for traffic track usage measurement
US6199063B1 (en) 1998-03-27 2001-03-06 Red Brick Systems, Inc. System and method for rewriting relational database queries
EP1066574A4 (en) * 1998-03-27 2006-09-13 Ibm Processing precomputed views
US6078918A (en) * 1998-04-02 2000-06-20 Trivada Corporation Online predictive memory
US6125624A (en) 1998-04-17 2000-10-03 Pratt & Whitney Canada Corp. Anti-coking fuel injector purging device
US6161103A (en) * 1998-05-06 2000-12-12 Epiphany, Inc. Method and apparatus for creating aggregates for use in a datamart
US6212524B1 (en) 1998-05-06 2001-04-03 E.Piphany, Inc. Method and apparatus for creating and populating a datamart
US6189004B1 (en) 1998-05-06 2001-02-13 E. Piphany, Inc. Method and apparatus for creating a datamart and for creating a query structure for the datamart
US6212617B1 (en) * 1998-05-13 2001-04-03 Microsoft Corporation Parallel processing method and system using a lazy parallel data type to reduce inter-processor communication
US6108647A (en) 1998-05-21 2000-08-22 Lucent Technologies, Inc. Method, apparatus and programmed medium for approximating the data cube and obtaining approximate answers to queries in relational databases
US6324533B1 (en) 1998-05-29 2001-11-27 International Business Machines Corporation Integrated database and data-mining system
US6289352B1 (en) 1998-05-29 2001-09-11 Crystal Decisions, Inc. Apparatus and method for compound on-line analytical processing in databases
US6157955A (en) * 1998-06-15 2000-12-05 Intel Corporation Packet processing system including a policy engine having a classification unit
JP2000011005A (en) * 1998-06-17 2000-01-14 Hitachi Ltd Data analyzing method and its device and computer- readable recording medium recorded with data analytical program
US6587857B1 (en) * 1998-06-30 2003-07-01 Citicorp Development Center, Inc. System and method for warehousing and retrieving data
US6282546B1 (en) * 1998-06-30 2001-08-28 Cisco Technology, Inc. System and method for real-time insertion of data into a multi-dimensional database for network intrusion detection and vulnerability assessment
US6009432A (en) 1998-07-08 1999-12-28 Required Technologies, Inc. Value-instance-connectivity computer-implemented database
JP3213585B2 (en) * 1998-07-09 2001-10-02 株式会社インフォメックス Data search method and apparatus, data search system, recording medium
JP2000048087A (en) * 1998-07-15 2000-02-18 Internatl Business Mach Corp <Ibm> View synthesizing system
US6226647B1 (en) * 1998-07-24 2001-05-01 Oracle Corporation Method, article of manufacture, and apparatus for constructing a multi-dimensional view containing two-pass value measure results
US6446061B1 (en) 1998-07-31 2002-09-03 International Business Machines Corporation Taxonomy generation for document collections
US6567814B1 (en) * 1998-08-26 2003-05-20 Thinkanalytics Ltd Method and apparatus for knowledge discovery in databases
US6535868B1 (en) * 1998-08-27 2003-03-18 Debra A. Galeazzi Method and apparatus for managing metadata in a database management system
US6826593B1 (en) 1998-09-01 2004-11-30 Lucent Technologies Inc. Computer implemented method and apparatus for fulfilling a request for information content with a user-selectable version of a file containing that information content
JP2002526833A (en) 1998-09-30 2002-08-20 アイツー テクノロジーズ, インコーポレイテッド Multidimensional data management system
US6480850B1 (en) 1998-10-02 2002-11-12 Ncr Corporation System and method for managing data privacy in a database management system including a dependently connected privacy data mart
US6301579B1 (en) 1998-10-20 2001-10-09 Silicon Graphics, Inc. Method, system, and computer program product for visualizing a data structure
US6317750B1 (en) 1998-10-26 2001-11-13 Hyperion Solutions Corporation Method and apparatus for accessing multidimensional data
US6249769B1 (en) * 1998-11-02 2001-06-19 International Business Machines Corporation Method, system and program product for evaluating the business requirements of an enterprise for generating business solution deliverables
US6212515B1 (en) * 1998-11-03 2001-04-03 Platinum Technology, Inc. Method and apparatus for populating sparse matrix entries from corresponding data
US6256676B1 (en) * 1998-11-18 2001-07-03 Saga Software, Inc. Agent-adapter architecture for use in enterprise application integration systems
US6738975B1 (en) * 1998-11-18 2004-05-18 Software Ag, Inc. Extensible distributed enterprise application integration system
US6532459B1 (en) 1998-12-15 2003-03-11 Berson Research Corp. System for finding, identifying, tracking, and correcting personal information in diverse databases
JP4172559B2 (en) * 1998-12-22 2008-10-29 カシオ計算機株式会社 Data analysis result notification device and recording medium
US5991754A (en) 1998-12-28 1999-11-23 Oracle Corporation Rewriting a query in terms of a summary based on aggregate computability and canonical format, and when a dimension table is on the child side of an outer join
US6424979B1 (en) * 1998-12-30 2002-07-23 American Management Systems, Inc. System for presenting and managing enterprise architectures
US6363353B1 (en) * 1999-01-15 2002-03-26 Metaedge Corporation System for providing a reverse star schema data model
US6411961B1 (en) * 1999-01-15 2002-06-25 Metaedge Corporation Apparatus for providing a reverse star schema data model
US6377934B1 (en) * 1999-01-15 2002-04-23 Metaedge Corporation Method for providing a reverse star schema data model
US6487547B1 (en) 1999-01-29 2002-11-26 Oracle Corporation Database appliance comprising hardware and software bundle configured for specific database applications
US6330564B1 (en) 1999-02-10 2001-12-11 International Business Machines Corporation System and method for automated problem isolation in systems with measurements structured as a multidimensional database
US6513019B2 (en) * 1999-02-16 2003-01-28 Financial Technologies International, Inc. Financial consolidation and communication platform
US6532458B1 (en) * 1999-03-15 2003-03-11 Microsoft Corporation Sampling for database systems
US6542886B1 (en) * 1999-03-15 2003-04-01 Microsoft Corporation Sampling over joins for database systems
US6694316B1 (en) * 1999-03-23 2004-02-17 Microstrategy Inc. System and method for a subject-based channel distribution of automatic, real-time delivery of personalized informational and transactional data
US6173310B1 (en) * 1999-03-23 2001-01-09 Microstrategy, Inc. System and method for automatic transmission of on-line analytical processing system report output
US6154766A (en) 1999-03-23 2000-11-28 Microstrategy, Inc. System and method for automatic transmission of personalized OLAP report output
US6567796B1 (en) * 1999-03-23 2003-05-20 Microstrategy, Incorporated System and method for management of an automatic OLAP report broadcast system
US6260050B1 (en) * 1999-03-23 2001-07-10 Microstrategy, Inc. System and method of adapting automatic output of service related OLAP reports to disparate output devices
US6460026B1 (en) 1999-03-30 2002-10-01 Microsoft Corporation Multidimensional data ordering
US6535872B1 (en) 1999-04-08 2003-03-18 International Business Machines Corporation Method and apparatus for dynamically representing aggregated and segmented data views using view element sets
US6804714B1 (en) * 1999-04-16 2004-10-12 Oracle International Corporation Multidimensional repositories for problem discovery and capacity planning of database applications
US6549907B1 (en) 1999-04-22 2003-04-15 Microsoft Corporation Multi-dimensional database and data cube compression for aggregate query support on numeric dimensions
US6167396A (en) 1999-05-12 2000-12-26 Knosys, Inc. Method and apparatus for navigating and displaying data points stored in a multidimensional database
US6560594B2 (en) * 1999-05-13 2003-05-06 International Business Machines Corporation Cube indices for relational database management systems
US6163774A (en) 1999-05-24 2000-12-19 Platinum Technology Ip, Inc. Method and apparatus for simplified and flexible selection of aggregate and cross product levels for a data warehouse
US6282544B1 (en) * 1999-05-24 2001-08-28 Computer Associates Think, Inc. Method and apparatus for populating multiple data marts in a single aggregation process
US6285994B1 (en) 1999-05-25 2001-09-04 International Business Machines Corporation Method and system for efficiently searching an encoded vector index
US6279033B1 (en) * 1999-05-28 2001-08-21 Microstrategy, Inc. System and method for asynchronous control of report generation using a network interface
US6470344B1 (en) 1999-05-29 2002-10-22 Oracle Corporation Buffering a hierarchical index of multi-dimensional data
US6381605B1 (en) * 1999-05-29 2002-04-30 Oracle Corporation Heirarchical indexing of multi-attribute data by sorting, dividing and storing subsets
US6411313B1 (en) * 1999-06-14 2002-06-25 Microsoft Corporation User interface for creating a spreadsheet pivottable
US6366905B1 (en) * 1999-06-22 2002-04-02 Microsoft Corporation Aggregations design in database services
US6424972B1 (en) * 1999-06-22 2002-07-23 Microsoft Corporation Floating point conversion for records of multidimensional database
US6374234B1 (en) 1999-06-22 2002-04-16 Microsoft Corporation Aggregations performance estimation in database systems
US6446059B1 (en) 1999-06-22 2002-09-03 Microsoft Corporation Record for a multidimensional database with flexible paths
US6438537B1 (en) * 1999-06-22 2002-08-20 Microsoft Corporation Usage based aggregation optimization
US6456999B1 (en) 1999-06-22 2002-09-24 Microsoft Corporation Aggregations size estimation in database services
US6477536B1 (en) 1999-06-22 2002-11-05 Microsoft Corporation Virtual cubes
US6442560B1 (en) * 1999-06-22 2002-08-27 Microsoft Corporation Record for multidimensional databases
US6493728B1 (en) 1999-06-22 2002-12-10 Microsoft Corporation Data compression for records of multidimensional database
US6223573B1 (en) * 1999-06-25 2001-05-01 General Electric Company Method for precision temperature controlled hot forming
US6460031B1 (en) 1999-06-28 2002-10-01 Sap Aktiengesellschaft System and method for creating and titling reports using an integrated title bar and navigator
US6707454B1 (en) * 1999-07-01 2004-03-16 Lucent Technologies Inc. Systems and methods for visualizing multi-dimensional data in spreadsheets and other data structures
US6708155B1 (en) * 1999-07-07 2004-03-16 American Management Systems, Inc. Decision management system with automated strategy optimization
US6665682B1 (en) 1999-07-19 2003-12-16 International Business Machines Corporation Performance of table insertion by using multiple tables or multiple threads
US6453322B1 (en) 1999-07-19 2002-09-17 International Business Machines Corporation Extension of data definition language (DDL) capabilities for relational databases for applications issuing multiple units of work
US6374263B1 (en) 1999-07-19 2002-04-16 International Business Machines Corp. System for maintaining precomputed views
US6480848B1 (en) 1999-07-19 2002-11-12 International Business Machines Corporation Extension of data definition language (DDL) capabilities for relational databases for applications issuing DML and DDL statements
US6836894B1 (en) 1999-07-27 2004-12-28 International Business Machines Corporation Systems and methods for exploratory analysis of data for event management
US6581054B1 (en) * 1999-07-30 2003-06-17 Computer Associates Think, Inc. Dynamic query model and method
US6691140B1 (en) * 1999-07-30 2004-02-10 Computer Associates Think, Inc. Method and system for multidimensional storage model with interdimensional links
US6842758B1 (en) * 1999-07-30 2005-01-11 Computer Associates Think, Inc. Modular method and system for performing database queries
US6385604B1 (en) * 1999-08-04 2002-05-07 Hyperroll, Israel Limited Relational database management system having integrated non-relational multi-dimensional data store of aggregated data elements
US6408292B1 (en) * 1999-08-04 2002-06-18 Hyperroll, Israel, Ltd. Method of and system for managing multi-dimensional databases using modular-arithmetic based address data mapping processes on integer-encoded business dimensions
US6442269B1 (en) * 1999-08-23 2002-08-27 Aspect Communications Method and apparatus for integrating business data and transaction data in a transaction processing environment
US6542895B1 (en) * 1999-08-30 2003-04-01 International Business Machines Corporation Multi-dimensional restructure performance when adding or removing dimensions and dimensions members
US6546395B1 (en) * 1999-08-30 2003-04-08 International Business Machines Corporation Multi-dimensional restructure performance by selecting a technique to modify a relational database based on a type of restructure
US6587547B1 (en) 1999-09-13 2003-07-01 Microstrategy, Incorporated System and method for the creation and automatic deployment of personalized, dynamic and interactive voice services, with real-time drilling via telephone
US6430547B1 (en) * 1999-09-22 2002-08-06 International Business Machines Corporation Method and system for integrating spatial analysis and data mining analysis to ascertain relationships between collected samples and geology with remotely sensed data
US6493723B1 (en) 1999-09-22 2002-12-10 International Business Machines Corporation Method and system for integrating spatial analysis and data mining analysis to ascertain warranty issues associated with transportation products
US6493718B1 (en) 1999-10-15 2002-12-10 Microsoft Corporation Adaptive database caching and data retrieval mechanism
US6898603B1 (en) * 1999-10-15 2005-05-24 Microsoft Corporation Multi-dimensional data structure caching
US6473764B1 (en) 1999-10-15 2002-10-29 Microsoft Corporation Virtual dimensions in databases and method therefor
US6473750B1 (en) 1999-10-15 2002-10-29 Microsoft Corporation Adaptive query execution in a distributed database system
US6405207B1 (en) * 1999-10-15 2002-06-11 Microsoft Corporation Reporting aggregate results from database queries
US6484179B1 (en) * 1999-10-25 2002-11-19 Oracle Corporation Storing multidimensional data in a relational database management system
US6677963B1 (en) * 1999-11-16 2004-01-13 Verizon Laboratories Inc. Computer-executable method for improving understanding of business data by interactive rule manipulation
FR2806183B1 (en) * 1999-12-01 2006-09-01 Cartesis S A DEVICE AND METHOD FOR INSTANT CONSOLIDATION, ENRICHMENT AND "REPORTING" OR BACKGROUND OF INFORMATION IN A MULTIDIMENSIONAL DATABASE
US6766325B1 (en) 1999-12-02 2004-07-20 Microsoft Corporation System and method for maintaining data for performing “what if” analysis
US6557008B1 (en) * 1999-12-07 2003-04-29 International Business Machines Corporation Method for managing a heterogeneous IT computer complex
US6405208B1 (en) 1999-12-13 2002-06-11 Hyperion Solutions Corporation Dynamic recursive build for multidimensional databases and methods and apparatus thereof
US7822629B2 (en) * 1999-12-15 2010-10-26 Hewlett-Packard Development Company, L.P. Customer profiling apparatus for conducting customer behavior pattern analysis, and method for comparing customer behavior patterns
US6434557B1 (en) * 1999-12-30 2002-08-13 Decode Genetics Ehf. Online syntheses programming technique
US6356900B1 (en) * 1999-12-30 2002-03-12 Decode Genetics Ehf Online modifications of relations in multidimensional processing
US6633875B2 (en) 1999-12-30 2003-10-14 Shaun Michael Brady Computer database system and method for collecting and reporting real estate property and loan performance information over a computer driven network
US6418427B1 (en) * 1999-12-30 2002-07-09 Decode Genetics Ehf Online modifications of dimension structures in multidimensional processing
US6671715B1 (en) 2000-01-21 2003-12-30 Microstrategy, Inc. System and method for automatic, real-time delivery of personalized informational and transactional data to users via high throughput content delivery device
US6615096B1 (en) 2000-01-31 2003-09-02 Ncr Corporation Method using statistically analyzed product test data to control component manufacturing process
US6947934B1 (en) 2000-02-16 2005-09-20 International Business Machines Corporation Aggregate predicates and search in a database management system
US6643608B1 (en) 2000-02-22 2003-11-04 General Electric Company System and method for collecting and analyzing shipment parameter data affecting predicted statistical variables of shipped articles
CA2327948A1 (en) 2000-02-25 2001-08-25 International Business Machines Corporation System and method for accessing non-relational data by relational access methods
US20020029207A1 (en) * 2000-02-28 2002-03-07 Hyperroll, Inc. Data aggregation server for managing a multi-dimensional database and database management system having data aggregation server integrated therein
DE60143491D1 (en) 2000-03-16 2010-12-30 Poly Vista Inc SYSTEM AND METHOD FOR ANALYZING AN INQUIRY AND FOR GENERATING ANSWERS AND ASSOCIATED QUESTIONS
US6662174B2 (en) 2000-04-17 2003-12-09 Brio Software, Inc. Analytical server including metrics engine
US6732115B2 (en) 2000-04-27 2004-05-04 Hyperion Solutions Corporation Chameleon measure and metric calculation
US7080090B2 (en) 2000-04-27 2006-07-18 Hyperion Solutions Corporation Allocation measures and metric calculations in star schema multi-dimensional data warehouse
US7167859B2 (en) 2000-04-27 2007-01-23 Hyperion Solutions Corporation Database security
US7072897B2 (en) 2000-04-27 2006-07-04 Hyperion Solutions Corporation Non-additive measures and metric calculation
AU2001261084A1 (en) 2000-04-27 2001-11-07 Brio Technology, Inc. Method and apparatus for processing jobs on an enterprise-wide computer system
US6941311B2 (en) 2000-04-27 2005-09-06 Hyperion Solutions Corporation Aggregate navigation system
US6748394B2 (en) 2000-04-27 2004-06-08 Hyperion Solutions Corporation Graphical user interface for relational database
US7096219B1 (en) 2000-05-10 2006-08-22 Teleran Technologies, Inc. Method and apparatus for optimizing a data access customer service system
US6594672B1 (en) 2000-06-01 2003-07-15 Hyperion Solutions Corporation Generating multidimensional output using meta-models and meta-outlines
US6763357B1 (en) 2000-06-27 2004-07-13 Ncr Corporation Method for determining the computability of data for an active multi-dimensional cache in a relational database management system
US6601062B1 (en) 2000-06-27 2003-07-29 Ncr Corporation Active caching for multi-dimensional data sets in relational database management system
US6399775B1 (en) * 2000-07-13 2002-06-04 Thota Giridhar Methods for the preparation of polymorphs of doxazosin mesylate
US6829621B2 (en) * 2000-10-06 2004-12-07 International Business Machines Corporation Automatic determination of OLAP cube dimensions
US7054866B2 (en) 2001-03-20 2006-05-30 Mci, Inc. Systems and methods for communicating from an integration platform to a provisioning server
US6801908B1 (en) 2002-01-28 2004-10-05 Supplychainge Inc System and method for selectively presenting multi-dimensional data in two-dimensional form
CA2371731A1 (en) 2002-02-12 2003-08-12 Cognos Incorporated Database join disambiguation by grouping
US20040247105A1 (en) 2002-03-29 2004-12-09 Karen Mullis System and method for a network-based call reception limiter
US7853508B2 (en) * 2003-05-19 2010-12-14 Serena Software, Inc. Method and system for object-oriented management of multi-dimensional data
US7778899B2 (en) * 2003-05-19 2010-08-17 Serena Software, Inc. Method and system for object-oriented workflow management of multi-dimensional data
US7366725B2 (en) * 2003-08-11 2008-04-29 Descisys Limited Method and apparatus for data validation in multidimensional database
US20080129747A1 (en) * 2003-11-19 2008-06-05 Reuven Bakalash Multi-mode parallel graphics rendering system employing real-time automatic scene profiling and mode control

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5257365A (en) * 1990-03-16 1993-10-26 Powers Frederick A Database system with multi-dimensional summary search tree nodes for reducing the necessity to access records
US5761652A (en) * 1996-03-20 1998-06-02 International Business Machines Corporation Constructing balanced multidimensional range-based bitmap indices
US5978796A (en) * 1997-06-30 1999-11-02 International Business Machines Corporation Accessing multi-dimensional data by mapping dense data blocks to rows in a relational database

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2379530A (en) * 2001-09-06 2003-03-12 Inventec Corp Handling production data
GB2382186A (en) * 2001-09-25 2003-05-21 Hewlett Packard Co Data Warehousing
CN102289351B (en) * 2002-05-31 2013-06-12 海德堡印刷机械股份公司 Device and method for finding and displaying information
CN102289351A (en) * 2002-05-31 2011-12-21 海德堡印刷机械股份公司 Device and method for finding and displaying information
SG114635A1 (en) * 2002-10-24 2005-09-28 Bayer Ag Method and computer system for project portfolio management
US7970795B2 (en) 2002-12-10 2011-06-28 Accenture Global Services Limited Data model development tool
WO2004053751A3 (en) * 2002-12-10 2007-12-27 Accenture Global Services Gmbh Data model development tool
WO2004053751A2 (en) * 2002-12-10 2004-06-24 Accenture Global Services Gmbh Data model development tool
US7149736B2 (en) * 2003-09-26 2006-12-12 Microsoft Corporation Maintaining time-sorted aggregation records representing aggregations of values from multiple database records using multiple partitions
US8315972B2 (en) * 2003-09-26 2012-11-20 Microsoft Corporation Method for maintaining databases information about multiple instances of an activity generating, updating virtual OLAP cube based on modified star-schema
EP1769433A2 (en) * 2004-04-26 2007-04-04 Right90, Inc. Forecasting data with real-time updates
US8086607B2 (en) 2004-04-26 2011-12-27 Right90, Inc. Annotation of data in an operating plan data aggregation system
EP1769433A4 (en) * 2004-04-26 2009-05-06 Right90 Inc Forecasting data with real-time updates
US9026487B2 (en) 2004-04-26 2015-05-05 Right90, Inc. Forecasting system and method using change data based database storage for efficient ASP and web application
US9940374B2 (en) 2004-04-26 2018-04-10 Right90, Inc. Providing feedback in a operating plan data aggregation system
US10713301B2 (en) 2004-04-26 2020-07-14 Right90, Inc. Flexible baselines in an operating plan data aggregation system
JP2017513138A (en) * 2014-03-31 2017-05-25 コファックス, インコーポレイテッド Predictive analysis for scalable business process intelligence and distributed architecture
EP3126957A4 (en) * 2014-03-31 2017-09-13 Kofax, Inc. Scalable business process intelligence and predictive analytics for distributed architectures
US11210221B2 (en) * 2019-12-10 2021-12-28 Pony Ai Inc. Memory architecture for efficient spatial-temporal data storage and access

Also Published As

Publication number Publication date
US8041670B2 (en) 2011-10-18
US20050060326A1 (en) 2005-03-17
US6408292B1 (en) 2002-06-18
US6434544B1 (en) 2002-08-13
US20030018642A1 (en) 2003-01-23
US8799209B2 (en) 2014-08-05
US20120089563A1 (en) 2012-04-12
US20080059415A1 (en) 2008-03-06
US20100185581A1 (en) 2010-07-22
US20120089564A1 (en) 2012-04-12
US8788453B2 (en) 2014-07-22
AU6010800A (en) 2001-03-05

Similar Documents

Publication Publication Date Title
US6408292B1 (en) Method of and system for managing multi-dimensional databases using modular-arithmetic based address data mapping processes on integer-encoded business dimensions
JP5242875B2 (en) Multidimensional database and integrated aggregation server
US6684206B2 (en) OLAP-based web access analysis method and system
US7774227B2 (en) Method and system utilizing online analytical processing (OLAP) for making predictions about business locations
US20030229652A1 (en) Enterprise-wide data-warehouse with integrated data aggregation engine
US9146948B2 (en) Hilbert ordering of multidimensional tuples within computing systems
CN111160658B (en) Collaborative manufacturing resource optimization method, system and platform
Power et al. The changing technological context of decision support systems
Colossi et al. Relational extensions for OLAP
Sukheja et al. A novel approach of query optimization for distributed database systems
dos Santos et al. Building comparison-shopping brokers on the web
Liu et al. Distributed data aggregation at scale for large community of users
Bhunje et al. Workload aware incremental repartitioning of NoSQL for OLTP applications
CN115829615A (en) User grouping method, system and storage medium based on multiple databases
CN117575741A (en) Method, apparatus, device, medium and program product for processing second killing request
Harinarayan Query processing in data-warehousing environments
Chaudhuri et al. An Overview of Business Intelligence Technology BI technologies are essential to running today's businesses and this technology is going through sea changes.

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP