T 0678/14 (Data-warehouse application programs/SAP) of 22.6.2018

European Case Law Identifier: ECLI:EP:BA:2018:T067814.20180622
Date of decision: 22 June 2018
Case number: T 0678/14
Application number: 04734840.4
IPC class: G06F 17/30
Language of proceedings: EN
Distribution: D
Download and more information:
Decision text in EN (PDF, 336 KB)
Documentation of the appeal procedure can be found in the Register
Bibliographic information is available in: EN
Versions: Unpublished
Title of application: Data processing system and method for application programs in a data warehouse
Applicant name: SAP SE
Opponent name: -
Board: 3.5.07
Headnote: -
Relevant legal provisions:
European Patent Convention Art 54(1)
European Patent Convention Art 54(2)
Keywords: Novelty - main request (yes)
Remittal to the department of first instance - (yes)
Catchwords:

-

Cited decisions:
-
Citing decisions:
-

Summary of Facts and Submissions

I. The appellant appealed against the decision of the Examining Division refusing European patent application No. 04734840.4, published as international application WO 2004/107205.

II. The decision cited the following documents:

D1: |WO 00/19340 A1, published on 6 April 2000; and|

D2: |US 6 408 292 B1, published on 18 June 2002; and|

D3: |WO 01/50245 A2, published on 12 July 2001. |

The Examining Division decided that the subject-matter of claims 1, 5 and 8 of the then main request and of claim 1 of the then first and second auxiliary requests was not new over document D3.

III. With its statement of grounds of appeal, the appellant filed a main request and first and second auxiliary requests corresponding to the requests considered in the decision under appeal, but with claim 4 of each request removed. It requested that the decision under appeal be set aside and that a patent be granted on the basis of the claims of the main request or, in the alternative, on the basis of the claims of either of the first and second auxiliary requests.

IV. Independent claim 1 of the main request reads as follows:

"A data processing system comprising:

- a relational database (102;302) of a data warehouse (100;300) for storing of a set of database tables (104,106,108,...; 304, 306, 308, ... ),

- a set of online analytical processing cubes (328,329, ...),

- an online analytical processing component (330)

- a set of application programs (320), each application program operable for processing one or more pre-defined classes of database tables and for storage of the result of the processing in an online analytical processing cube of a pre-defined class of online analytical processing cubes using the online analytical processing component,

- a first mapping table (124; 324) for mapping of sub-sets of the set of database tables to the pre-defined classes of database tables,

- a second mapping table (334) for mapping online analytical processing cubes of the set of online analytical processing cubes to the pre-defined classes of online analytical processing cubes,

- interface means (326) for a user's selection of one of the application programs of the set of application programs, the interface means adapted to allow the user to specify the mappings of the first mapping table and mappings of the second mapping table, and

- processing means (118) for execution of the selected one of the application programs by reading the database tables that are assigned to the pre-defined classes of database tables of the selected one of the application programs in the first mapping table and storing the result of the processing in one of the online analytical processing cubes of the set of online analytical processing cubes that is assigned to the pre-defined class of online analytical processing cubes by the second mapping table."

Claims 2 and 3 of the main request are directly or indirectly dependent on claim 1.

Independent claim 4 of the main request reads as follows:

"A data processing method of [sic] comprising the steps of:

- providing a set of database tables in a data warehouse,

- providing a set of online analytical processing cubes (328,329, ...),

- providing an online analytical processing component (330),

- providing a set of application programs, each application program for processing one or more pre-defined classes of database tables and for storing of the result of the processing in an online analytical processing cube of a pre-defined class of online analytical processing cubes using an online analytical processing component,

- receiving user assignment of at least one of the database tables to each one of the classes of database tables of the application program in a first mapping table,

- receiving user assignment of online analytical processing cubes of the set of online analytical processing cubes to the classes of online analytical processing cubes in a second mapping table,

- processing data items stored in the assigned database tables by the application program, and

- storing the result of the processing in one of the online analytical processing cubes of the set of online analytical processing cubes that is assigned to the pre-defined class of online analytical processing cubes by the second mapping table."

Claims 5 and 6 are directly or indirectly dependent on claim 4.

Independent claim 7 reads as follows:

"A computer program product for implementing the data processing method of any of claims 4, 5 or 6."

V. The text of the auxiliary requests is not relevant to this decision.

Reasons for the Decision

1. The appeal complies with the provisions referred to in Rule 101 EPC and is therefore admissible.

2. The invention

2.1 The invention relates to data warehouse computer systems and online analytical processing (OLAP). The background section of the application explains that OLAP services, which are part of most data warehouse systems, provide a global view of the data stored in the data warehouse which can be "drilled down" into the particular data of interest to the user. The Board notes that such a global view of the data is typically referred to as an "OLAP cube", which is essentially a multidimensional summary of the data along dimensions such as "product", "year" and "customer". The background section specifically mentions the "SAP business information warehouse" as an example of a data warehouse.

2.2 According to the last paragraph of the background section, it is a common disadvantage of prior-art data processing systems that the assignment of data tables to be processed by application programs and the selection of the output format of the data processing are tedious and error-prone tasks which often involve a substantial amount of manual interaction. There is therefore a need for a data processing system and method that reduces the amount of user interaction.

2.3 The invention as claimed concerns a data processing system having a set of application programs, where each application program is operable to process one or more "pre-defined classes" of database tables and to store the processing results in an OLAP cube from a "pre-defined class" of OLAP cubes. To reduce the amount of user interaction, it proposes a first mapping table for mapping database tables to predefined classes of database tables and a second mapping table for mapping OLAP cubes to predefined classes of OLAP cubes. Using an "interface means", the user can select an application program and specify the mappings of the first and second mapping tables. The selected application program is then executed by reading "the database tables assigned to the pre-defined classes of database tables" by the first mapping table and storing the processing results in "one of the online analytical processing cubes of the set of online analytical processing cubes that is assigned to the pre-defined class of online analytical processing cubes" by the second mapping table.

3. Main request - novelty

3.1 In point 10.1 of its reasons, the contested decision lists the features of claim 1 together with references to passages of document D3 allegedly disclosing those features.

3.2 According to the decision, the feature "a relational database of a data warehouse for storing a set of database tables" is anticipated by the phrase "the methods are generic and applicable to any data warehouse design" in the abstract of document D3.

The Board notes that several passages of document D3 do in fact disclose a relational database (see e.g. page 6, lines 22 and 23, and page 7, lines 16 to 20; the abstract itself refers to "relational OLAP" and "relational implementation schemas"). But the phrase cited by the Examining Division does not. Even if "any data warehouse design" were to be understood as "a data warehouse comprising any type of database", the generic disclosure "any type of database" would not take away the novelty of the specific disclosure "a relational database".

3.3 For the claim feature "a set of application programs, each application program operable for processing one or more pre-defined classes of database tables and for storage of the result of the processing in an online analytical processing cube of a pre-defined class of online analytical processing cubes using the online analytical processing component", the decision refers to page 5, lines 20, 21 and 30 to 32, and to Figure 1 of document D3.

This feature refers to applications that process data contained in database tables and store the results in an OLAP cube. The database tables being processed belong to one or more "pre-defined classes of database tables", and the OLAP cube belongs to a "pre-defined class of OLAP cubes".

The sentence in document D3 on page 5, lines 20 and 21, reads: "The current invention reveals processes that transform a set of heterogeneous measurements, i.e. relations, into multidimensional data cubes, i.e., hypercubes".

The passage on page 5, line 30, to page 6, line 1, reads: "Fig. 1 is a block diagram illustrating an exemplary hardware setup required to implement the preferred embodiment of the present invention. A client/server architecture is illustrated comprising a database server 101 and an OLAP server 102 coupled to an OLAP client 103".

Figure 1 schematically shows a system 100 comprising a database 101, an OLAP server 102 and an OLAP client 103, the system being connected via a network 104 to "other systems" 105.

Presumably, the Examining Division considered the "processes" mentioned on page 5, lines 20 and 21, of document D3 to correspond to the "application programs" of the claim. Those processes arguably process data contained in a database table (i.e. "relations") and store the result in OLAP cubes ("multidimensional data cubes"). The cited passages do not, however, disclose that there are different processes, each process having been designed to process database tables of one or more predefined classes of databases tables and to store the results in an OLAP cube of a predefined class of OLAP cubes. They therefore do not disclose the claim feature under consideration.

3.4 In respect of the first and second mapping tables, the Examining Division referred to page 7, lines 26 to 30, page 8, lines 31 to 32, and Figure 2. It explained that "'table' in the application can refer to any collection of data" and that "the definition of names for the application mapping is implicitly disclosed".

The passage on page 7, lines 26 to 30, reads: "The measurements 203, 204, 205 and 206, as shown [in Figure 2], are selected such that they agree on overlapping dimensions and can therefore be joined, using the natural join, to form a larger composed measurement 207. The composed measurement 207 is referred to, here, as a point in a multidimensional cube, i.e., a hypercube, with dimensions numbered by the sequence 201".

The sentence on page 8, lines 31 and 32, reads: "As relations are selected for multidimensional processing in a hypercube, each of the domains supporting the relations is associated with a dimension in the hypercube."

Figure 2 shows the following "Logical View":

FORMULA/TABLE/GRAPHIC

The document explains on page 7, lines 4 to 25, that Figure 2 is a "high level illustration of a join process associated with multidimensional analysis". It shows four "measurements" numbered 1, 2, 3 and 4 identified by reference signs 203, 204, 205 and 206. A measurement is "a collection of related attributes/values from a stored or derived relation".

The Board is unable to see how the passages cited by the Examining Division could be seen as disclosing the claimed first and second "mapping tables". There is no concept in these passages of "classes" of database tables and "classes" of OLAP cubes, let alone of such classes in connection with the "processes" mentioned on page 5, lines 20 and 21.

3.5 The decision further suggests that the claimed "interface means" is disclosed on page 9, lines 3 to 10, of document D3.

The cited passage states that "[t]his mapping of domains to dimensions, and the naming of dimensions, is controlled by the user of the system performing the multidimensional processing or OLAP". The Board agrees that this implies the presence of "interface means", but it does not see why a mapping of "domains" to "dimensions" should correspond either to the first mapping of database tables to predefined classes of database tables or to the second mapping of OLAP cubes to predefined classes of OLAP cubes. Indeed, the passage mentions, as an example, a mapping of the "Age" domain to the "Age-Diagnosis" and "Age-Location" dimensions in a hypercube. The "Age" domain is neither a database table nor an OLAP cube, and dimensions in a hypercube (i.e. dimensions in an OLAP cube) can be equated neither to classes of database tables nor to classes of OLAP cubes.

The cited passage also fails to disclose the claimed user selection of an "application program" (or "process").

3.6 Finally, the "processing means" feature of claim 1 specifies how the "application programs", "mapping tables" and "classes" fit together: the selected application reads the database tables that are mapped, by the first mapping table, to the predefined classes of database tables associated with the selected application, and it stores the processing results in one of the OLAP cubes that is mapped, by the second mapping table, to the predefined class of OLAP cubes associated with the selected application.

According to the contested decision, these features are disclosed on page 9, line 25, to page 10, line 20, and in Figure 3. But Figure 3 merely illustrates the example "Age" domain, the passage on page 9, line 25, to page 10, line 6, describes Figure 3, and the passage on page 10, lines 9 to 20, relates to "hierarchies and their level sets", defining "a hierarchical function on the domain".

3.7 In view of the above, the Board agrees with the appellant that the contested decision's reasoning is not convincing and that document D3, apart from relating to an OLAP system, has little in common with the invention as claimed. In particular, there is no disclosure in document D3 of the user-configurable mappings of claim 1. Hence, the subject-matter of claim 1 of the main request is new over document D3, and the same applies to the subject-matter of the corresponding independent claims 4 and 7.

4. Documents D1 and D2

4.1 Document D1 relates to object classes in an object/relational database management system. The objects in this system do not correspond to database tables but rather to rows of database tables (see page 6, lines 25 to 27, of document D1), so the system's object classes correspond neither to the present application's classes of database tables nor to classes of OLAP cubes.

4.2 Document D2 appears to have been cited because its abstract mentions a "mapping" process. But the "module-arithmetic based address data mapping" of document D2 again is of no relevance to the present application.

5. Remittal for further prosecution

Since the Board is not confident that documents D1, D2 and D3 represent the most pertinent prior art, and since the international search report cites a number of further documents, the Board will remit the case to the Examining Division for further prosecution on the basis of the main request.

As the appellant did not request oral proceedings, this decision can be taken in the written proceedings.

Order

For these reasons it is decided that:

1. The decision under appeal is set aside.

2. The case is remitted to the department of first instance for further prosecution.

Quick Navigation