(51) Int Cl.: G06F 17/30 (2006.01)



Similar documents
TEPZZ_768 7_B_T EP B1 (19) (11) EP B1 (12) EUROPEAN PATENT SPECIFICATION. (51) Int Cl.: H04M 19/04 ( )

(51) Int Cl.: G06Q 10/00 ( )

(51) Int Cl.: G06F 21/00 ( ) H04L 29/06 ( )

(51) Int Cl.: H04L 29/06 ( ) G06F 9/445 ( ) G06F 13/00 ( )

*EP B1* EP B1 (19) (11) EP B1 (12) EUROPEAN PATENT SPECIFICATION

(51) Int Cl.: H04W 4/14 ( )

(51) Int Cl.: H04N 7/16 ( )

(51) Int Cl.: B29C 41/20 ( ) F21S 4/00 ( ) H05K 3/28 ( )

(51) Int Cl.: G08G 1/14 ( ) G07B 15/02 ( ) G10L 15/28 ( )

TEPZZ 5Z _9_B_T EP B1 (19) (11) EP B1 (12) EUROPEAN PATENT SPECIFICATION

(51) Int Cl.: H04L 12/24 ( )

(51) Int Cl.: G06F 17/30 ( )

(51) Int Cl.: H04L 12/58 ( )

Europaisches Patentamt European Patent Office Office europeen des brevets (11) EP B2

(51) Int Cl.: G05F 3/26 ( ) G05F 3/24 ( )

(51) Int Cl.: G06F 11/14 ( ) G06F 12/08 ( )

(51) Int Cl.: H04L 12/24 ( )

(51) Int Cl.: H04L 29/06 ( )

(51) Int Cl.: G06F 13/38 ( ) G06F 1/16 ( )

(51) Int Cl.: H04L 9/24 ( ) G06Q 10/00 ( )

(51) Int Cl.: G06F 21/24 ( )

(51) Int Cl.: G06F 1/00 ( )

(51) Int Cl.: G10L 15/26 ( )

(51) Int Cl.: H04M 3/50 ( )

(51) Int Cl.: H04L 9/32 ( ) H04B 7/00 ( ) A61N 1/37 ( )

(51) Int Cl.: H04L 29/06 ( ) H04L 12/22 ( )

(51) Int Cl.: H04L 12/26 ( )

(51) Int Cl.: H04L 29/06 ( ) H04Q 7/24 ( ) H04L 12/66 ( )

(51) Int Cl. 7 : G06F 11/22

(51) Int Cl.: G06F 1/00 ( )

(51) Int Cl. 7 : G03G 15/00

(51) Int Cl.: H04B 3/23 ( )

(51) Int Cl.: H04M 3/42 ( ) H04Q 3/00 ( )

(51) Int Cl.: G06F 17/30 ( )

The Advantialer and Its Advantages

(51) Int Cl.: G06F 9/46 ( ) H04L 12/56 ( )

(51) Int Cl.: H04W 8/16 ( ) H04L 29/12 ( ) H04W 8/18 ( )

(51) Int Cl.: C08K 5/523 ( ) C08K 5/521 ( ) C08K 5/52 ( ) C08G 64/00 ( )

SAP Patent Pricing and a Transport Management System

(51) Int Cl.: G01S 7/52 ( )

(51) Int Cl.: G06F 9/455 ( ) G06F 9/50 ( )

(51) Int Cl.: H04L 9/32 ( ) G09C 1/00 ( ) G06F 21/33 ( ) H04L 29/06 ( )

(51) Int Cl.: H04L 9/32 ( )

TEPZZ_57 7_9B_T EP B1 (19) (11) EP B1 (12) EUROPEAN PATENT SPECIFICATION

(51) Int Cl.: G06F 11/14 ( ) G06F 17/30 ( )

(51) Int Cl.: H04L 29/06 ( )

EP B1 (19) (11) EP B1 (12) EUROPEAN PATENT SPECIFICATION

(51) Int Cl.: H04L 29/02 ( ) H04L 12/801 ( )

(51) Int Cl.: G06F 11/20 ( )

(51) Int Cl.: H04L 29/08 ( ) H04L 29/06 ( )

(51) Int Cl.: G01C 21/36 ( )

(51) Int Cl.: H04L 29/12 ( )

(51) Int Cl.: G10L 19/00 ( ) H04L 1/20 ( )

(51) Int Cl.: H04N 7/15 ( ) H04N 7/18 ( )

(51) Int Cl.: G06F 12/14 ( ) G06F 17/00 ( ) H04M 1/66 ( ) G06F 1/00 ( )

(51) Int Cl.: G06F 13/42 ( )

(51) Int Cl.: H04L 12/00 ( )

TEPZZ 87_546A T EP A2 (19) (11) EP A2 (12) EUROPEAN PATENT APPLICATION. (51) Int Cl.: G05B 19/05 ( )

(51) Int Cl.: H04L 29/06 ( ) H04M 15/00 ( )

(51) Int Cl.: H04L 12/56 ( )

(51) Int Cl.: H04Q 11/04 ( ) H04L 12/64 ( )

(51) Int Cl.: H04L 12/66 ( )

TEPZZ_9 6Z46B_T EP B1 (19) (11) EP B1 (12) EUROPEAN PATENT SPECIFICATION. (51) Int Cl.:

(56) References cited:

(51) Int Cl.: H05K 1/02 ( )

(51) Int Cl.: H04L 29/06 ( ) H04M 3/56 ( ) H04M 3/44 ( ) H04L 12/18 ( )

*EP B1* EP B1 (19) (11) EP B1 (12) EUROPEAN PATENT SPECIFICATION

(51) Int Cl. 7 : H04B 7/185, H04B 1/40. (56) References cited: WO-A-00/03494

(51) Int Cl.: H04N 1/19 ( ) H04N 3/15 ( ) H04N 9/04 ( )

EP B1 (19) (11) EP B1 (12) EUROPEAN PATENT SPECIFICATION

(51) Int Cl.: H04B 1/38 ( ) H04W 52/28 ( ) (56) References cited:

(51) Int Cl.: G06F 9/445 ( )

(51) Int Cl.: H04L 29/12 ( ) H04L 29/06 ( ) H04M 7/00 ( )

(51) Int Cl.: G06F 17/00 ( ) G06F 11/20 ( )

TEPZZ_965577B_T EP B1 (19) (11) EP B1 (12) EUROPEAN PATENT SPECIFICATION. (51) Int Cl.: H04M 3/523 ( )

(51) Int Cl.: B61K 9/12 ( )

(51) Int Cl.: H04L 9/08 ( )

(51) Int Cl.: G08B 21/02 ( ) H04M 11/04 ( )

(51) Int Cl.: H04L 12/10 ( ) H04L 12/40 ( )

(56) References cited:

EURÓPAI SZABADALOM SZÖVEGÉNEK FORDÍTÁSA. (51) Int. Cl.: H04L 12/24 ( )

(51) Int Cl.: H04L 12/24 ( ) G06F 9/445 ( )

(51) Int Cl.: H04L 9/00 ( ) H04K 1/00 ( ) G06F 1/04 ( ) G06F 1/06 ( ) G06F 1/08 ( ) G07F 7/10 (2006.

TEPZZ 4_888 B_T EP B1 (19) (11) EP B1 (12) EUROPEAN PATENT SPECIFICATION. (51) Int Cl.: H04W 12/00 ( )

(51) Int Cl.: G04B 19/08 ( )

(51) Int Cl.: H04L 29/06 ( ) H04L 29/12 ( )

(51) Int Cl.: H04Q 7/22 ( ) (56) References cited:

(51) Int Cl. 7 : G06F 9/00. (86) International application number: PCT/US00/32535

(51) Int Cl.: H04M 3/51 ( )

(51) Int Cl.: H04L 12/56 ( ) H04L 12/28 ( ) H04M 7/00 ( )

(51) Int Cl.: G06F 11/14 ( ) G06F 17/30 ( )

(51) Int Cl.: G06F 9/50 ( ) G06F 9/48 ( )

EUROPEAN PATENT SPECIFICATION. (51) intci.e: H04L9/06, H04L9/08. (56) References cited: DE-A US-A

(51) Int Cl.: H04L 29/06 ( )

(51) Int Cl.: B62M 7/12 ( ) B62M 23/02 ( )

(51) Int Cl.: G05B 19/05 ( )

(51) Int Cl.: H04L 29/12 ( ) H04L 12/56 ( )

(51) Int Cl.: H04L 9/00 ( ) H04K 1/00 ( )

(51) Int Cl.: G06F 11/34 ( )

(51) Int Cl.: H04L 12/58 ( )

Transcription:

(19) (11) EP 1 6 23 B1 (12) EUROPEAN PATENT SPECIFICATION (4) Date of publication and mention of the grant of the patent: 2.11.09 Bulletin 09/48 (1) Int Cl.: G06F 17/ (06.01) (21) Application number: 014696.1 (22) Date of filing: 23.06.04 (4) A data processing system and method System und Verfahren zur Datenverarbeitung Système et méthode de traitement de données (84) Designated Contracting States: AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LI LU MC NL PL PT RO SE SI SK TR (43) Date of publication of application: 28.12.0 Bulletin 0/2 (73) Proprietor: SAP AG 69190 Walldorf (DE) (72) Inventor: Schmitt, Winfried 69190 Walldorf (DE) (74) Representative: Richardt, Markus Albert et al Richardt Patents & Trademarks Leergasse 11 6343 Eltville am Rhein (DE) (6) References cited: US-A1-02 032 676 WIDOM J: "Research problems in data warehousing" PROCEEDINGS OF THE 199 ACM CIKM INTERNATIONAL CONFERENCE ON INFORMATION AND KNOWLEDGE MANAGEMENT ACM NEW YORK, NY, USA, December 199 (199-12), pages 2-, XP0026922 ISBN: 0-89791-812-6 MEGHINI C ET AL: "The complexity of operations on a fragmented relation" ACM TRANSACTIONS ON DATABASE SYSTEMS USA, vol. 16, no. 1, March 1991 (1991-03), pages 6-87, XP0026923 ISSN: 0362-91 IVES Z G ET AL: "An adaptive query execution system for data integration" SIGMOD RECORD ACM USA, vol. 28, no. 2, June 1999 (1999-06), pages 299-3, XP0026924 ISSN: 0163-808 ZAHARIOUDAKIS M. ET AL: Answering complex SQL queries using automatic summary tables ACM SIGMOD RECORD vol. 29, no. 2, 16 May 00, pages - 116 EP 1 6 23 B1 Note: Within nine months of the publication of the mention of the grant of the European patent in the European Patent Bulletin, any person may give notice to the European Patent Office of opposition to that patent, in accordance with the Implementing Regulations. Notice of opposition shall not be deemed to have been filed until the opposition fee has been paid. (Art. 99(1) European Patent Convention). Printed by Jouve, 7001 PARIS (FR)

1 EP 1 6 23 B1 2 Description Field of the invention. [0001] The present invention generally relates to the field of data processing, and more particularly to online analysis processing (OLAP) database structures. Background and prior art [0002] Conventional relational databases are wellknown and data collected in support of large enterprises is often collected into relational databases. For example, an enterprise with a sales operation might store all of their data relating to sales transactions in a relational database. A relational database structure defines the tables making up the relational database, along with definitions for the rows and columns of the tables and the relations between tables. [0003] For example, a relational sales database might have an invoice table and a customer table. The invoice table might have columns for invoice number, customer number, salesperson, sales date, shipping date, etc., with one row per "instance" in the table. In this example, an instance is an invoice. The customer table might have one row per unique customer, and columns for customer number, customer name, address, credit limit, etc. As for the relations between tables, the relational sales database might relate customer number in the invoice table with customer number in the customer table. [0004] Such relational structures are well-known and several methods of navigating large relational databases are known. For example, a user at a relational database client might formulate a Structured Query Language ("SQL") statement and submit that SQL statement to a relational database server. The relational database server would respond to the submission with a table of results that matched the SQL statement. For example, a user might request a list of invoices for a given day, listing the customer, the salesperson and the amount for each such invoice. The list might be informative if the enterprise only makes a few sales per day, but is less likely to be informative if the enterprise makes thousands of sales per day. [000] To provide knowledge workers with informative views of an enterprise s data, analytical systems are often employed. One example of an analytical system is a data warehouse. A data warehouse contains much the same data as the relational database, but in a much different form. As should be apparent with the examples used above, adding one more invoices to the relational database could be as simple as adding a record with the invoice pertinent data to the invoice table. [0006] For this reason, large relational databases used in this way are often referred to as online transaction processing ("OLTP") systems. By contrast, the data warehouse usually stores data in aggregate, to allow for high-level analysis of the data. Often the data is aggregated according to multiple criteria, to provide access to 1 2 3 4 0 data and aggregations much faster than if the same information were obtained from a relational database system. [0007] Such systems of replicated and/or aggregated data are often referred to as online analytical processing ("OLAP") systems. In a typical enterprise, the data warehouse is populated and updated periodically from the OLTP data. For example, US Patent Application 022798 shows a method of capturing data from on OLTP for data warehousing. [0008] The updating process might, for example, provide invoice totals and other data extracted from the OLTP data to the OLAP data structures on a once-daily update. Using an OLAP system, a user might request a chart of the sales by geographic region broken down by month for a year s worth of data. [0009] If such a request were to be made of the OLTP data structures, a server responding to that request would have to scan all the records in several tables to come up with totals for the chart. With one request, the scan might be easy, but when many, many requests are being made, it is more efficient to make those requests of an OLAP system, since the results for the chart can be obtained by taking the appropriate slice of data from the OLAP data structures. Sometimes, an OLAP data system is represented as a multi-dimensional data structure and each OLAP query is simply a "slice" through this multi-dimensional data structure. [00] In one common analytical application, a user is presented with a user interface at an OLAP client and uses that OLAP client to "navigate" a set of "cubes" (the multi-dimensional, or "MD" data structure) that were created from the OLTP data structures. Using that OLAP client, the user can navigate the OLAP data using topdown slicing and narrowing mechanisms, looking for points of interest within the information presented. [0011] (OLTP) database structure and data stored in at least one online analysis processing (OLAP) database structure. The system includes a dimension to domain server which interacts with a user interface client that presents, to a user, representations of elements of the OLTP database structure and representations of elements of the OLAP database structure, wherein the user interface client also includes logic to accept a selection of representations of elements selected by the user and, if the selection comprises more than one element, an association among the elements in the selection. An element relator is provided that relates one or more elements of the OLTP database structure to one or more elements of the OLAP processing database structure when the selection of representations includes at least one element from the OLTP database structure and at least one element from the OLAP database structure. A query formulator, coupled to the user interface client, formulates the query based on the selection and any associations, wherein the query formulator is also coupled to the element relator when at least one association of the selection is an association between at least one element 2

3 EP 1 6 23 B1 4 from the OLTP database structure and at least one element the OLAP database structure. A query server receives the query from the query formulator and provides responses to the query received from the query formulator. [0012] As the execution of queries in the OLTP database is expensive in terms of the required computational resources and due to the negative impact of such queries on the real-time capability of such an OLTP database the invention aims to provide an improved data processing system that reduces that amount of access operations to the OLTP database while providing a user with most up-to date data for analytical purposes. [0013] WIDOM J: "Research problems in data warehousing" PROCEEDINGS OF THE 199 ACM CIKM IN- TERNATIONAL CONFERENCE ON INFORMATION AND KNOWLEDGE MANAGEMENT ACM NEW YORK, NY, USA, December 199 (199-12), pages 2-, XP0026922 ISBN: 0-89791-812-6 shows techniques for loading a warehouse from various information sources. [0014] ZAHARIOUDAKIS M; COCHRANE R; LAPIS G; PIRAHESH H; URATA M: "Answering complex SQL queries using automatic summary tables" ACM SIGMOD RECORD, vol 29, no. 2, 16 May 00 (00-0-16), pages -116, discloses a Query Graph Model that serves as a basis for a matching algorithm. Summary of the invention [001] The present invention provides a data processing system that comprises a relational database for storage of transaction data and an OLAP database for storage of a replication of the transaction data in one or more OLAP cubes. The replication of the transaction data can be a copy of the transaction data or an aggregation of the transaction data. [0016] Data replication, i.e. the export of transaction data from the relational database into the OLAP database, is performed at defined replication times. This can be done at predefined replication times, periodically or in accordance with a customised replication scheme. Typically data replication is performed daily during the night when no or little real time transaction data is entered into the relational database. [0017] A user s data request specifies at least a time interval of interest to the user. In response to the data request the requested data is read from the respective OLAP cube and the OLAP cube data is stored in a random access memory. The OLAP cube data only contains data up to the last replication time. Transaction data that has been stored in the relational database after the last data replication is not present in the OLAP cube data. [0018] In order to provide a complete response to the user s data request a query is generated that specifies a time interval spanning the time between the last replication time and the upper limit of the time interval specified in the user s data request. This query is executed by the 1 2 3 4 0 relational database which provides the transaction data missing in the OLAP cube data. [0019] The data that is provided by the relational database in response to the query is also stored in random access memory. An output is generated in response to the user s data request on the basis of both the OLAP cube data and the data provided by the relational database in response to the query. Preferably the data is outputted in a form that is familiar to the user, such as in the form of tabular data table, or pie chart or another convenient output format. [00] The present invention is particularly advantageous as it enables to include current transaction data into online analysis processing while only minimally loading the relational database that performs the online transaction processing. This has the advantage that the real time capability of the relational database for the online transaction processing is not substantially affected while the user is provided with complete and most up to date data for online analytical processing. This is accomplished by using the data already stored in the OLAP database and completing this data from the relational database by querying the relational database for data that is more recent than the last replication time. This minimises the number of time consuming mass storage access operations in the relational database structure. [0021] Another advantage is that the process for completion of the data stored in the OLAP data structure with data received in response to the query from the OLTP database structure can be completely encapsulated such that no additional complexity needs to be added to the user interface. [0022] In accordance with a preferred embodiment of the invention the OLAP database has a plurality of OLAP cubes. Structural cube definition data that defines the structure of a cube but does not contain actual data values is stored for each such OLAP cube. The user can specify one of the OLAP cube names in his or her data request. In response the OLAP cube data of the specified OLAP cube is read and stored temporarily in random access memory. The structural cube definition data of the respective OLAP cube is used for formulating the query that is sent to the OLTP database. For example, the query is formulated by means of an SQL statement corresponding to the structural cube definition data. [0023] It is to be noted that the present invention has applications in many fields, such as financial data processing systems, logistics data processing systems, supply chain management data processing systems and manufacturing control data processing systems. Brief description of the drawings [0024] In the following preferred embodiments of the present invention are described in greater detail by way of example only, making reference to the drawings in which: 3

EP 1 6 23 B1 6 Figure 1 Figure 2 Detailed description is a block diagram of an embodiment of the data processing system, is a flowchart illustrating a preferred mode of operation of the data processing system of figure 1. [002] Figure 1 shows a data processing system that has OLTP database 0 and OLAP database 2. OLTP database 0 is a relational database that is coupled to a transaction data source 4. Transaction data source 4 provides real time or near real time transaction data to OLTP database 0 such as financial postings, logistic postings or postings from a manufacturing control system. [0026] The transaction data provided by the transaction data source 4 in OLTP database 0 is stored in database tables 1 by program 6 that is executed by the processor 8 of the OLTP database 0. The database tables 1 are stored on a mass storage device 112, such as a disc drive or tape drive. In addition OLTP database 0 has random access memory (RAM) 114 that is used as a volatile main memory. [0027] The OLTP database 0 is coupled to the OLAP database 2 by a communication channel such as by a computer network, e.g. the Internet, an intranet or extranet. The OLAP database 2 has a mass storage device 116 for storing OLAP cubes A, B, C... and for storing customising data 118. [0028] The customising data 118 contains data 1 that indicates replication times when the OLAP database 2 is synchronised with the OLTP database 0. This data 1 can explicitly indicate the last replication time or it can define a replication scheme. For example, the data 1 can indicate a specific time of the day or night when the synchronisation of the OLAP database 2 and the OLTP database 0 is to be performed. Preferably, the data 1 specifies a time when the loading of the OLTP database 0 with incoming transaction data from transaction data source 4 is expected to be at a minimum. [0029] Customising data 118 further comprises cube structural definition data 122. The cube structural definition data 122 describes the data structure of each of the OLAP cubes A, B, C... without including the respective OLAP cube data. Further, OLAP database 2 has a processor 124 for execution of a program 126 and a program 128 that provides a user interface, a random access memory 1 that is used as a volatile main memory, and a clock 132 that provides a time reference. For example clock 132 is implemented as a so called real time clock (RTC) that is battery powered. [00] In operation the transaction data source 4 provides a flow of transaction data to the OLTP database 0. The transaction data is processed and stored in the database tables 1 on mass storage device 112 by the 1 2 3 4 0 program 6. [0031] When the next replication time as defined by the data 1 is reached the OLAP database 2 sends a corresponding replication request 134 to the OLTP database 0 in order to request synchronisation of the OLAP database 2 with the OLTP database 0. In response program 6 reads at least the data that has been added or modified from the database tables 1 and sends this data as replication data 136 to the OLAP database 2 for updating of the OLAP cubes A, B, C... The replication data 136 can be a copy of the transaction data stored in the database tables or it can be an aggregation of such transaction data; in the latter case aggregation is performed by the program 6. [0032] A user can enter a query 138 into OLAP database 2 by means of the user interface provided by the program 128. The user needs to select one of the OLAP cubes that are available in the OLAP database 2 and a time interval between a beginning time TB and an end time TE that is of interest for the user. [0033] In response to the query 138 the program 126 reads the OLAP cube specified in the query 138 from mass storage device 116 into RAM 1. In addition the program 126 determines whether the time interval specified in the query 138 is covered by the OLAP cube data that has been read from the mass storage device 116. The OLAP cube data read from the mass storage device 116 is complete if the upper limit of the time interval, i.e. the time TE, is not after the time of the last update TU, i.e. the last replication time, given by data 1. However, if the upper limit TE of the interval is past the time TU additional data is required from the OLTP database 2. [0034] For example, the actual time and date provided by clock 132 is 4 June 04, 16 h. At this time the user enters a query 138 specifying a time interval between 4 May 04 and 4 June 04, 1 h. The data 1 specifies 2 h am as the replication scheme. [003] Using the data 1 and the current time provided by clock 132, the program 126 determines that the last replication has been performed on 4 June 04 at 2 h am. Thus, transactional data that has been received by the OLTP database 0 between 4 June 04, 2 h am and 4 June 04, 1 h is not contained in the respective OLAP cube stored by the mass storage device 116. [0036] As a consequence the program 126 generates a query that specifies this time interval, i.e. the time between the last synchronisation between the OLTP database 0 and the OLAP database 2 and the upper limit TE of the time interval specified in the query 138. In addition the query 1 can contain an SQL statement that corresponds to the cube structural definition data 122 of the cube that is specified in the query 138. [0037] In response to the query 1 the program 6 reads data from the mass storage device 112 that matches the query and provides this data 142 to OLAP database 2 where it is stored in the RAM 1. The data 142 complements the OLAP cube data that has been read from the mass storage device 116. On the basis of 4

7 EP 1 6 23 B1 8 the OLAP cube data and the data 142 that is temporarily stored in RAM 1 the program 126 generates an output that is shown to the user by means of the user interface. Preferably the output is tabular and has the same form irrespective of whether data 142 has been used for generating the output or not. [0038] Figure 2 shows a corresponding flowchart. In step 0 a user enters a query that specifies one of the OLAP cubes and a time interval between TB and TE that is of interest for the user. [0039] In response the respective OLAP cube data is read from the mass storage of the OLAP database (step 2). The OLAP cube data is stored in the RAM of the data processing system in step 4. In parallel to steps 2 and 4 or sequentially the steps 6 to 2 are executed in order to complement the OLAP cube data with data from the OLTP database, if necessary. [00] If the upper limit of the interval specified in the query is past the last replication time TU, i.e. the time of the last synchronisation of the OLAP and OLTP databases, a query is generated and sent to the OLTP database in order to obtain transaction data from the OLTP database that has been received from the transaction data source in the time interval spanning the last replication TU and the upper limit TE of the time interval of interest to the user. In step 8 the query response is received from the OLTP database and stored in RAM (step 2). This data received from the OLTP database complements the OLAP cube data read from the mass storage of the OLAP database. In step 212, the OLAP cube data and the data received as a query response from the OLTP database is used to generate an output as a response to the query received in step 0. List of Reference Numerals [0041] 0 OLTP Database 2 OLAP Database 4 Transaction Data Source 6 Program 8 Processor 1 Database Tables 112 Mass Storage Advice 114 RAM 116 Mass Storage Device 118 Customising Data 1 Data 122 Cube Structural Definition Data 124 Processor 126 Program 128 Program 1 RAM 132 Clock 134 Replication Request 136 Replication Data 138 Query 1 2 3 4 0 1 Query 142 Data Claims 1. A data processing system comprising: - a relational OLTP database (0, 1, 112) for storage of transaction data, said relational OLTP database coupled to a transactional source of real time or near real time data. - an OLAP database (2) for storage of a replication of the transaction data in an OLAP cube (A B, C,...),the OLAP database having a plurality of OLAP cubes and structural cube definition data (122) for each such OLAP cube, - means (116) for storing data (1) indicative of a replication time (TU), the replication time being the time when a synchronisation of the OLAP database and the relational OLTP database is performed, - random access memory means (1), - means (124, 128) for receiving into the OLAP database a data request (138), the data request specifying at least a first time interval (TB-TE), and one of the OLAP cubes, - means (124, 126) for reading OLAP cube data from the specified OLAP cube, said OLAP cube data corresponding to the portion of the data requested in the data request contained within the OLAP cube, - means (124, 126) for storing the OLAP cube data in a random access memory, - means (124, 126) for determining the replication time using the data indicative of the replication time, - means (124, 126) for using the structural cube definition data of the specified OLAP cube to generate a query (1) for the relational OLTP database specifying a second time interval, the second time interval having a lower limit (TU) given by the replication time and an upper limit (TE) given by the upper limit of the first time interval, said query concerning the data corresponding to the portion of the data requested in the data request not contained within the OLAP cube, - means (124, 126) for receiving replication data from the relational OLTP database in response to the query, - means (124, 126) for storing the replication data in the random access memory, - means (124, 126) for generating an output as a response to the data request using the OLAP cube data and the replication data stored in the random access memory.

9 EP 1 6 23 B1 2. The data processing system of claim 1, the query comprising an SQL statement corresponding to the structural cube definition data of the specified OLAP cube. 3. The data processing system of any one of the preceding claims, further comprising a time reference (132), wherein the data indicative of the replication time specifies a replication time scheme, such that the replication time is determined by the replication time scheme and the actual time provided by the time reference when the data request is received. 4. The data processing system of any one of the preceding claims, wherein the output is a data table.. A data processing method comprising: - receiving a data request (138) into an OLAP database (2), the OLAP database storing a plurality of OLAP cubes and structural cube definition data for each such OLAP cube, the data request specifying at least a first time interval (TB-TE) and one of the OLAP cubes, the OLAP database storing a replication of transaction data from a relational OLTP database (0, 1, 112), - reading OLAP cube data from the specified OLAP cube of the OLAP database, the read OLAP data being the portion of the data of the data request contained within the specified OLAP cube, - storing the OLAP cube data in a random access memory, - determining a replication time, said replication time being the time when the OLAP database was synchronised with the relational OLTP database, coupled to a transactional source of real time or near real time data, storing up-to-date transaction data, - generating a query using the structural cube definition data of the specified OLAP cube for the relational OLTP database, the query specifying a second time interval, the second time interval having a lower limit (TU) given by the replication time and an upper limit (TE) given by the upper limit of the first time interval, - receiving replication data from the relational OLTP database in response to the query, said replication data being the portion of the data requested in the request not contained within the OLAP cube, - storing the replication data in the random access memory, - generating an output as a response to the data request comprising the OLAP cube data and the replication data stored in the random access memory. 1 2 3 4 0 6. The data processing method of claim, further comprising reading an actual time from a time reference (132) and determining the replication time using the actual time and a replication time scheme. 7. The data processing method of claim 6, the replication scheme being stored as part of customizing data. 8. A computer program product comprising computer executable instructions for performing the steps of: - receiving a data request (138) into an OLAP database (2), the OLAP database storing a plurality of OLAP cubes and structural cube definition data for each such OLAP cube, the data request specifying at least a first time interval (TB-TE) and one of the OLAP cubes, the OLAP database storing a replication of transaction data from a relational OLTP database (0, 1, 112),, - reading OLAP cube data from the specified OLAP cube of the OLAP database, the read OLAP data being the portion of the data requested in the data request contained within the specified OLAP cube, - storing the OLAP cube data in a random access memory, - determining a replication time, said replication time being the time when the OLAP database was synchronised with the relational OLTP database, coupled to a transactional source of real time or near real time data, storing up-to-date transaction data, - instructions for generating a query using the structural cube definition data of the specified OLAP cube for the relational OLTP database, the query specifying a second time interval, the second time interval having a lower limit (TU) given by the replication time and an upper limit (TE) given by the upper limit of the first time interval, - receiving replication data from the relational OLTP database in response to the query, said replication data being the portion of the data requested in the data request not contained within the OLAP cube, - storing the replication data in the random access memory, - generating an output as a response to the data request comprising the OLAP cube data and the replication data stored in the random access memory. 9. The computer program product of claim 8, further comprising instructions for reading an actual time from a time reference (132) and determining the replication time using the actual time and a replication 6

11 EP 1 6 23 B1 12 time scheme. Patentansprüche 1. Datenverarbeitungssystem, umfassend: - eine relationale OLTP-Datenbank (0, 1, 112) zur Speicherung von Transaktionsdaten, wobei die relationale OLTP-Datenbank mit einer transaktionalen Quelle von Echtzeit- oder nahezu Echtzeit-Daten gekoppelt ist, - eine OLAP-Datenbank (2) zur Speicherung einer Replikation der Transaktionsdaten in einem OLAP-Würfel (A B, C,...) wobei die OLAP- Datenbank mehrere OLAP-Würfel und strukturelle Würfeldefinitionsdaten (122) für jeden solchen OLAP-Würfel aufweist, - ein Mittel (116) zum Speichern von Daten (1), die eine Replikationszeit (TU) angeben, wobei die Replikationszeit die Zeit ist, zu der eine Synchronisation der OLAP-Datenbank und der relationalen OLTP-Datenbank durchgeführt wird, - ein Direktzugriffspeichermittel (1), - ein Mittel (124, 128) zum Empfangen einer Datenanforderung (138) in die OLAP-Datenbank, wobei die Datenanforderung mindestens ein erstes Zeitintervall (TB-TE) und einen der OLAP- Würfel spezifiziert, - ein Mittel (124, 126) zum Lesen von OLAP- Würfeldaten aus dem spezifizierten OLAP-Würfel, wobei die OLAP-Würfeldaten dem Teil der in der Datenanforderung angeforderten Daten entsprechen, der in dem OLAP-Würfel enthalten ist, - ein Mittel (124, 126) zum Speichern der OLAP- Würfeldaten in einem Direktzugriffsspeicher, - ein mittel (124, 126) zum Bestimmen der Replikationszeit unter Verwendung der die Replikationszeit angebenden Daten, - ein Mittel (124, 126) zum Verwenden der strukturellen Würfeldefinitionsdaten des spezifizierten OLAP-Würfels, um eine Abfrage (1) für die relationale OLTP-Datenbank zu erzeugen, die ein zweites Zeitintervall spezifiziert, wobei das zweite Zeitintervall eine durch die Replikationszeit gegebene Untergrenze (TU) und eine durch die Obergrenze des ersten Zeitintervalls gegebenen Obergrenze (TE) aufweist, wobei die Abfrage bezüglich der Daten dem Teil der in der Datenanforderung angeforderten Daten entspricht, der nicht in dem OLAP-Würfel enthalten ist, - ein Mittel (124, 126) zum Empfangen von Replikationsdaten aus der relationalen OLTP-Datenbank als Reaktion auf die Abfrage, - ein Mittel (124, 126) zum Speichern der Replikationsdaten in dem Direktzugriffspeicher, - ein Mittel (124, 126) zum Erzeugen einer Ausgabe als Reaktion auf die Datenanforderung unter Verwendung der OLAP-Würfeldaten und der Replikationsdaten, die in dem Direktzugriffspeicher gespeichert sind. 1 2 3 4 0 2. Datenverarbeitungssystem nach Anspruch 1, wobei die Abfrage eine SQL-Anweisung umfasst, die den strukturellen Würfeldefinitionsdaten des spezifizierten OLAP-Würfels entspricht. 3. Datenverarbeitungssystem nach einem der vorhergehenden Ansprüche, ferner mit einer Zeitreferenz (132), wobei die die Replikationszeit angebenden Daten ein Replikationszeitschema spezifizieren, dergestalt, das die Replikationszeit durch das Replikationszeitschema bestimmt und die tatsächliche Zeit durch die Zeitreferenz bereitgestellt wird, wenn die Datenanforderung empfangen wird. 4. Datenverarbeitungssystem nach einem der vorhergehenden Ansprüche, wobei die Ausgabe eine Datentabelle ist.. Datenverarbeitungsverfahren mit den folgenden Schritten: - Empfangen einer Datenanforderung (138) in eine OLAP-Datenbank (2), wobei die OLAP- Datenbank mehrere OLAP-Würfel und strukturelle Würfeldefinitionsdaten für jeden solchen OLAP-Würfel speichert, wobei die Datenanforderung mindestens ein erstes Zeitintervall (TB- TE) und einen der OLAP-Würfel spezifiziert, wobei die OLAP-Datenbank eine Replikation von Transaktionsdaten aus einer relationalen OLTP-Datenbank (0, 1, 112) speichert, - Lesen von OLAP-Würfeldaten aus dem spezifizierten OLAP-Würfel der OLAP-Datenbank, wobei die gelesenen OLAP-Daten der Teil der Daten der Datenanforderung sind, der in dem spezifizierten OLAP-Würfel enthalten ist, - Speichern der OLAP-Würfeldaten in einem Direktzugriffsspeicher, - Bestimmen einer Replikationszeit, wobei die Replikationszeit die Zeit ist, zu der die OLAP- Datenbank mit der relationalen OLTP-Datenbank synchronisiert wurde, gekoppelt mit einer transaktionalen Quelle von Echtzeit- oder nahezu Echtzeit-Daten, - Speichern von auf dem neuesten Stand befindlichen Transaktionsdaten, - Erzeugen einer Abfrage unter Verwendung der strukturellen Würfeldefinitionsdaten des spezifizierten OLAP-Würfels für die relationale OLTP- Datenbank, wobei die Abfrage ein zweites Zeitintervall spezifiziert, wobei das zweite Zeitinter- 7

13 EP 1 6 23 B1 14 vall eine durch die Replikationszeit gegebene Untergrenze (TU) und eine durch die Obergrenze des ersten Zeitintervalls gegebene Obergrenze (TE) aufweist, - Erhalten von Replikationsdaten aus der relationalen OLTP-Datenbank als Reaktion auf die Abfrage, wobei die Replikationsdaten der Teil der in der Anforderung angeforderten Daten sind, der nicht in dem OLAP-Würfel enthalten ist, - Speichern der Replikationsdaten in dem Direktzugriffsspeicher, - Erzeugen einer Ausgabe als Reaktion auf die Datenanforderung, die die OLAP-Würfeldaten und die Replikationsdaten umfasst, die in dem Direktzugriffspeicher gespeichert sind. 6. Datenverarbeitungsverfahren nach Anspruch, ferner mit dem Schritt des Lesens einer tatsächlichen Zeit von einer Zeitreferenz (132) und des Bestimmens der Replikationszeit unter Verwendung der tatsächlichen Zeit und eines Replikationszeitschemas. 7. Datenverarbeitungsverfahren nach Anspruch 6, wobei das Replikatinosschema als Teil von Anpassungsdaten gespeichert wird. 8. Computerprogrammprodukt mit computerausführbaren Anweisungen, die die folgenden Schritte ausführen: - Empfangen einer Datenanforderung (138) in eine OLAP-Datenbank (2), wobei die OLAP- Datenbank mehrere OLAP-Würfel und strukturelle Würfeldefinitionsdaten für jeden solchen OLAP-Würfel speichert, wobei die Datenanforderung mindestens ein erstes Zeitintervall (TB- TE) und einen der OLAP-Würfel spezifiziert, wobei die OLAP-Datenbank eine Replikation von Transaktionsdaten aus einer relationalen OLTP-Datenbank (0, 1, 112) speichert, - Lesen von OLAP-Würfeldaten aus dem spezifizierten OLAP-Würfel der OLAP-Datenbank, wobei die gelesenen OLAP-Daten der Teil der Daten der Datenanforderung sind, der in dem spezifizierten OLAP-Würfel enthalten ist, - Speichern der OLAP-Würfeldaten in einem Direktzugriffsspeicher, - Bestimmen einer Replikationszeit, wobei die Replikationszeit die Zeit ist, zu der die OLAP- Datenbank mit der relationalen OLTP-Datenbank synchronisiert wurde, gekoppelt mit einer transaktionalen Quelle von Echtzeit- oder nahezu Echtzeit-Daten, - Speichern von auf dem neuesten Stand befindlichen Transaktionsdaten, - Instruktionen zum Erzeugen einer Abfrage unter Verwendung der strukturellen Würfeldefinitionsdaten des spezifizierten OLAP-Würfels für 1 2 3 4 0 die relationale OLTP-Datenbank, wobei die Abfrage ein zweites Zeitintervall spezifiziert, wobei das zweite Zeitintervall eine durch die Replikationszeit gegebene Untergrenze (TU) und eine durch die Obergrenze des ersten Zeitintervalls gegebene Obergrenze (TE) aufweist, - Erhalten von Replikationsdaten aus der relationalen OLTP-Datenbank als Reaktion auf die Abfrage, wobei die Replikationsdaten der Teil der in der Anforderung angeforderten Daten sind, der nicht in dem OLAP-Würfel enthalten ist, - Speichern der Replikationsdaten in dem Direktzugriffsspeicher, - Erzeugen einer Ausgabe als Reaktion auf die Datenanforderung, die die OLAP-Würfeldaten und die Replikationsdaten umfasst, die in dem Direktzugriffspeicher gespeichert sind. 9. Computerprogrammprodukt nach Anspruch 8, ferner mit Instruktionen zum Lesen einer tatsächlichen Zeit von einer Zeitreferenz (132) und zum Bestimmen der Replikationszeit unter Verwendung der tatsächlichen Zeit und eines Replikationszeitschemas. Revendications 1. Système de traitement de données comprenant : - une base de données relationnelles OLTP (0, 1, 112) destinée à la mémorisation de données de transactions, ladite base de données relationnelles OLTP étant couplée à une source transactionnelle de données en temps réel ou pratiquement en temps réel, - une base de données OLAP (2) destinée à la mémorisation d une reproduction des données des transactions dans un cube d analyse OLAP (A, B, C,...), la base de données OLAP possédant une pluralité de cubes OLAP et les données (122) structurelles de définition de cube pour chaque cube OLAP de cette nature, - un moyen (116) permettant de mémoriser des données (1) indicatrices d un temps de reproduction (TU), le temps de reproduction étant le temps pendant lequel est effectuée une synchronisation de la base de données OLAP et de la base de données relationnelles OLTP, - un moyen de mémoire à accès direct (1), - un moyen (124, 128) destiné à recevoir dans la base de données OLAP une demande (138) de données, la demande de données spécifiant au moins un premier intervalle de temps (TB - TE) et l un des cubes OLAP, - un moyen (124, 126) permettant de lire les données du cube OLAP à partir du cube OLAP spécifié, lesdites données du cube OLAP correspondant à la partie des données requises dans 8

1 EP 1 6 23 B1 16 la demande de données contenues à l intérieur du cube OLAP, - un moyen (124, 126) permettant de mémoriser les données du cube OLAP dans une mémoire à accès direct, - un moyen (124, 126) permettant de déterminer le temps de reproduction en utilisant les données indicatrices du temps de reproduction, - un moyen (124, 126) permettant d utiliser les données structurelles de définition de cube pour le cube OLAP spécifié afin de générer une consultation (1) pour la base de données relationnelles OLTP en spécifiant un second intervalle de temps, le second intervalle de temps présentant une limite inférieure (TU) donnée par le temps de reproduction, ainsi qu une limite supérieure (TE) donnée par la limite supérieure du premier intervalle de temps, ladite consultation concernant les données correspondant à la partie des données requises dans la demande de données non contenues à l intérieur du cube OLAP, - un moyen (124, 126) permettant de recevoir des données de reproduction provenant de la base de données relationnelles OLTP en réponse à la consultation, - un moyen (124, 126) permettant de mémoriser les données de reproduction dans la mémoire à accès direct, - un moyen (124, 126) permettant de générer une sortie en tant que réponse à la demande de données en utilisant les données du cube OLAP et les données de reproduction mémorisées dans la mémoire à accès direct. 2. Système de traitement de données selon la revendication 1, dans lequel la consultation comprend une instruction en langage SQL correspondant aux données structurelles de définition de cube pour le cube OLAP spécifié. 3. Système de traitement de données selon l une quelconque des revendications précédentes, comprenant en outre une référence de temps (132), dans laquelle les données indicatrices du temps de reproduction spécifient un principe de temps de reproduction de telle sorte que le temps de reproduction est déterminé par le principe de temps de reproduction et par le temps réel fourni par la référence de temps au moment où est reçue la demande de données. 4. Système de traitement de données selon l une quelconque des revendications précédentes, dans lequel la sortie est une table de données.. Procédé de traitement de données comprenant : 1 2 3 4 0 dans une base de données OLAP (2), la base de données OLAP mémorisant une pluralité de cubes OLAP et des données structurelles de définition de cube pour chaque cube OLAP de cette nature, la demande de données spécifiant au moins un premier intervalle de temps (TB - TE) et l un des cubes OLAP, la base de données de traitements OLAP mémorisant une reproduction de données de transactions provenant d une base de données relationnelles OLTP (0, 1, 112), - la lecture de données de cube OLAP provenant du cube OLAP spécifié de la base de données OLAP, les données lues du traitement OLAP représentant la partie des données de la demande de données contenues dans le cube OLAP spécifié, - la mémorisation des données du cube OLAP dans une mémoire à accès direct, - la détermination d un temps de reproduction, ledit temps de reproduction étant le temps pendant lequel la base de données OLAP a été synchronisée avec la base de données relationnelles OLTP, couplée à une source transactionnelle de données en temps réel ou pratiquement en temps réel, en mémorisant les données de transactions à jour, - la génération d une consultation en utilisant les données structurelles de définition de cube pour le cube OLAP spécifié pour la base de données relationnelles OLTP, la consultation spécifiant un second intervalle de temps, le second intervalle de temps présentant une limite inférieure (TU) donnée par le temps de reproduction ainsi qu une limite supérieure (TE) donnée par la limite supérieure du premier intervalle de temps, - la réception des données de reproduction provenant de la base de données relationnelles OLTP en réponse à la consultation, lesdites données de reproduction représentant la partie des données requises dans la demande non contenues à l intérieur du cube OLAP, - la mémorisation des données de reproduction dans la mémoire à accès direct, - la génération d une sortie en tant que réponse à la demande de données comprenant les données du cube OLAP et les données de reproduction mémorisées dans la mémoire à accès direct. 6. Procédé de traitement de données selon la revendication, comprenant en outre la lecture d un temps réel provenant d une référence de temps (132) et la détermination du temps de reproduction en utilisant le temps réel et un principe de temps de reproduction. - la réception d une demande de données (138) 7. Procédé de traitement de données selon la reven- 9

17 EP 1 6 23 B1 18 dication 6, le principe de reproduction étant mémorisé comme partie des données personnalisées. 8. Produit de programme informatique comprenant des instructions exécutables par ordinateur permettant d effectuer les étapes définissant : 9. Produit de programme informatique selon la revendication 8, comprenant en outre des instructions de lecture en temps réel à partir d une référence de temps (132) et de détermination du temps de reproduction en utilisant le temps réel et un principe de temps de reproduction. - la réception d une demande de données (138) dans une base de données OLAP (2), la base de données OLAP mémorisant une pluralité de cubes OLAP et des données structurelles de définition de cube pour chaque cube OLAP de cette nature, la demande de données spécifiant au moins un premier intervalle de temps (TB - TE) et l un des cubes OLAP, la base de données OLAP mémorisant une reproduction de données de transactions provenant d une base de données relationnelles OLTP (0, 1, 112), - la lecture des données de cube OLAP provenant du cube OLAP spécifié de la base de données OLAP, les données lues du traitement OLAP étant la partie des données requises dans la demande de données contenues à l intérieur du cube OLAP spécifié, - la mémorisation des données du cube OLAP dans une mémoire à accès direct, - la détermination d un temps de reproduction, ledit temps de reproduction étant le temps pendant lequel la base de données OLAP a été synchronisée avec la base de données relationnelles OLTP, couplée à une source transactionnelle de données en temps réel ou pratiquement en temps réel, en mémorisant les données de transactions à jour, - les instructions permettant de générer une consultation en utilisant les données structurelles de définition de cube pour le cube OLAP spécifié pour la base de données relationnelles OLTP, la consultation spécifiant un second intervalle de temps, le second intervalle de temps présentant une limite inférieure (TU) donnée par le temps de reproduction et une limite supérieure (TE) donnée par la limite supérieure du premier intervalle de temps, - la réception des données de reproduction provenant de la base de données relationnelles OLTP en réponse à la consultation, lesdites données de reproduction représentant la partie des données requises dans la demande de données non contenues à l intérieur du cube OLAP, - la mémorisation des données de reproduction dans la mémoire à accès direct, - la génération d une sortie en réponse à la demande de données comprenant les données du cube OLAP et les données de reproduction mémorisées dans la mémoire à accès direct. 1 2 3 4 0

EP 1 6 23 B1 11

EP 1 6 23 B1 12

EP 1 6 23 B1 REFERENCES CITED IN THE DESCRIPTION This list of references cited by the applicant is for the reader s convenience only. It does not form part of the European patent document. Even though great care has been taken in compiling the references, errors or omissions cannot be excluded and the EPO disclaims all liability in this regard. Patent documents cited in the description US 022798 A [0007] Non-patent literature cited in the description Research problems in data warehousing. WIDOM J. PROCEEDINGS OF THE 199 ACM CIKM INTER- NATIONAL CONFERENCE ON INFORMATION AND KNOWLEDGE MANAGEMENT. ACM NEW YORK, 2- [0013] ZAHARIOUDAKIS M ; COCHRANE R ; LAPIS G ; PIRAHESH H ; URATA M. Answering complex SQL queries using automatic summary tables. ACM SIG- MOD RECORD, 16 May 00, vol. 29, -116 [0014] 13