|European Case Law Identifier:||ECLI:EP:BA:2009:T144906.20090722|
|Date of decision:||22 July 2009|
|Case number:||T 1449/06|
|IPC class:||G06F 17/30
|Language of proceedings:||EN|
|Download and more information:||
|Title of application:||A calculation engine for use in OLAP environments|
|Applicant name:||International Business Machines Corporation|
|Relevant legal provisions:||
|Keywords:||Clarity - all requests (no)
"Inventive step - applying spreadsheet techniques to multi-
dimensional database (no - analogous use)"
"Inventive step - setting calculation prioritisation rules
(no - non-technical user preference)"
Summary of Facts and Submissions
I. This appeal is against the decision of the examining division to refuse the European patent application No. 01309330.7. The then pending main and first to fourth auxiliary requests were filed one day before the oral proceedings, which the applicant did not attend, and the examining division found them inadmissible under Rule 86(3) EPC 1973 since they contained added subject-matter (reasons, point 2.2) and did not prima facie overcome the objections under Article 56 EPC 1973 raised against the preceding sets of claims (point 2.3). In a section entitled "Obiter Dicta", the examining division gave further reasons why the claims were not clear or inventive. In particular, the invention was seen to be an analogous use in a multidimensional database of the functions of a spreadsheet disclosed in EP-A-0 358 492 (D3).
II. In the statement setting out the grounds of appeal, the appellant requested that a patent be granted on the basis of a newly filed main, or first to fourth auxiliary requests, essentially corresponding to the refused ones. The appellant also requested oral proceedings in the event of any adverse decision.
III. In the communication accompanying the summons to oral proceedings, the Board summarised the issues to be discussed and expressed doubts about the clarity and technical character of the claims. Referring to document D3, the Board also tended to agree with the examining division that the claimed subject-matter did not involve an inventive step.
IV. In a response, the appellant stated that they would not be attending the oral proceedings.
V. At the oral proceedings, which took place in the appellant´s absence, the Board discussed the appellant´s requests comprising the main and first to fourth auxiliary requests filed with the statement of grounds of appeal, dated 24 July 2006. At the end of the proceedings the Chairman announced the decision.
VI. Claim 1 reads as follows:
"A method for the calculation and back-solving of complex relationships in a sub-cube of a multidimensional database system comprising the steps of:
a) inputting from a user for at least one specified cell, a required value or a set of simultaneous equations and inequalities, the required value or the set of simultaneous equations and inequalities being taken into account in calculations;
b) where more than one calculations may affect a cell, selecting a calculation for the affected cell in accordance with a set of prioritisation rules;
c) creating one or more parent/child tables giving the relationships and dependencies between one or more target cells and other cells in the sub-cube;
d) determining from the one or more parent/child tables the one or more target cells, each requiring a back-solving calculation to set a value of the specified cell to the required value or to satisfy said set of simultaneous equations and inequalities;
e) for each target cell requiring the back-solving calculation (230):
i) performing the back-solving calculation (240) and recording that a change has taken place (250);
ii) remembering the one or more parent cells of the target cell to ensure they are recalculated (260);
iii) recalculating the value for each remembered parent cell and recording that a change has taken place (270);
iv) repeating the i) performing, ii) remembering, and iii) recalculating steps until all user changes have been processed (280);
f) repeating the step e) until no changes are recorded (290) at step e) iii); and
g) reporting the results of the foregoing steps to the user."
Claim 1 of the first auxiliary request adds to the end of feature b) "the set of prioritisation rules determining the application of functions based on fairness and correctness".
Claim 1 of the second auxiliary request replaces the feature added in the first auxiliary request by "and accepting from a user an adjustment to the prioritisation rules".
Claim 1 of the third auxiliary request is essentially claim 1 of the main request with feature c) moved and renamed to d)i), the other features being renumbered accordingly.
Claim 1 of the fourth auxiliary request is claim 1 of the main request with the additional step "repeating steps e) and f) until a precision of a result is acceptable" interposed as step g), remaining former step g) becoming step h).
VII. The appellant argued essentially as follows:
It was not clear whether the section under the heading "Obiter Dicta" formed part of the decision or not. In point 3, the division stated that step (e)(iv) of the independent claims (of the main request, for example) was unclear. However, the claims specified that the user could input more than one value, and this step was applicable where more than one value had been input by the user.
Referring to point 4 of the decision, it was inherent in the subject-matter of the claims of the fourth auxiliary request that the precision was specified (cf. paragraph 23 of the published application).
With reference to point 5, step (c) of the claims specified what a parent/child table was.
The decision was somewhat confusing regarding the objections under Article 56 EPC (point 2.3 of the main part of the Decision and points 5 - 9 of the "Obiter Dicta").
With respect to the patentability objections based on D3 in the section entitled "Obiter Dicta", the examining division made no reference to the arguments contained in the applicant´s letter of 9 January, 2006:
The paper "Multidimensional Databases" by T.B. Pedersen et al. (retrievable at www.cs.aau.dk/~tbp/Teaching/DAT5E01/mddatabasesPJ.pdf) showed that a multidimensional database could not be considered as analogous art to a spreadsheet.
D3 did not disclose calculating the dependencies between cells as the calculation progressed (instead a complex set of "marks" of all interdependencies was maintained - see page 3, lines 21 to 31 and page 5, lines 50 to 52).
The disclosure of D3 did not specify how a set of simultaneous equations and inequalities might be solved, as recited in the amended claims.
A technical solution which applied to a spreadsheet, such as D3 disclosed, did not obviously translate to a multidimensional database. The examining division had not cited any evidence in support of this finding.
Reasons for the Decision
1. The appeal complies with the requirements referred to in Rule 65(1) EPC 1973 and is therefore admissible.
2. The application relates to performing calculations in large databases used in business planning and forecasting applications.
3. In particular, the application concerns "what-if" scenarios, which explore how output variables are affected by certain alternative input values. "Back-solving" or "goal-seeking" is the reverse and tries to work out what changes are necessary to meet particular goals (paragraphs 9 to 12 of the published application). Although the application uses these terms in connection with a multidimensional database, they are already known from spreadsheet applications as disclosed, for example, in D3 (see e.g. page 2, lines 30 to 33).
4. Figure 3 gives an example of "back-solving" quarterly sales figures in cells labelled "Back-solved Value" (321,322,323,333) to meet a user estimate of total annual sales (344). The annual sales (344) would normally be a calculated value, but if, as shown, it is set as a user estimate, the "Back-solved value" cells are adjusted so that the table is correct.
5. A main aspect of the invention is the "parent/child relationship table", which defines all the cells (children) upon which a given cell (parent) depends. Figure 4 shows this for the table of Figure 3, where, for example, the parent cell "Annual forecast-Sales" (410) has "Annual-Quantity" and "Annual-Price" as children. It is this table that, after a change to one of the cells (in either "what-if" or "back-solving" modes), enables the system to recalculate only cells that have changed rather than all the cells in the table (paragraphs 44, 52, 59 and 86).
6. Figure 5 gives another example of solving sales figures (511-514 and 521-524) for Canada and the US. In the first variation of the embodiment (paragraphs 78 to 85), to meet a change in the North America Year total (535) from 16 to 24, the eight quarterly values are all changed from 2.0 to 3.0. The second variation (paragraphs 86 to 91), which is said to illustrate the performance gains of using the parent/child table (paragraph 86), appears actually to be a "what-if" calculation, since it recalculates the totals if the value of the Canada/Q1 value (511) is changed from 2.0 to 4.0 (see point 8, below).
Clarity - all requests
7. Although the individual features of claim 1 of the main request can be understood at some general descriptive level as explained by the appellant, the Board judges that it is unclear what the claim as a whole achieves and how it achieves it (Article 84 EPC 1973).
8. In particular, in the opening lines it is not clear what the "calculation" as opposed to the "back-solving" is and thus whether the claim relates to forward ("what-if") solving as well. In this respect, as mentioned above, the second variation of the embodiment of Figure 5 does not relate to back-solving at all.
9. The Board sees no particular problem under Article 123(2) EPC with the feature a) of inputting the set of simultaneous equations and inequalities. However, it is not clear what form they take, or how they are satisfied by the back-solving calculation specified later in the claim, which talks of "changes", but is not linked to the equations and inequalities.
10. In feature b) it is not clear what the "calculations" are and how they are linked to the calculation mentioned in the opening lines. It is also not clear how the selected calculation relates to the numerous calculations mentioned later in the claim.
11. In feature f), it appears that the condition of checking whether any changes are recorded is related to checking for an "inconsistency" in the Figure 3 embodiment (paragraph 71) and/or checking whether the target value is correct in the first variation of the Figure 5 embodiment (paragraph 85). However the connection is not apparent from the wording of the claim.
12. Claim 1 of the first auxiliary request qualifies step b) with "the set of prioritisation rules determining the application of functions based on fairness and correctness". This does not overcome any of the clarity objections mentioned above, but introduces the additional vague concepts of "fairness" and "correctness".
13. In the second auxiliary request, the qualifier for step b) is changed to "accepting from a user an adjustment to the prioritisation rules". This also does not affect the clarity objections.
14. Claim 1 of the third auxiliary request contains an additional unclarity, namely that the parent/child tables in feature c) no longer have an antecedent since their creating step has been transferred to feature d)i).
15. The fourth auxiliary request contains the additional loop (step g)) whereby the back-solving calculations are repeated until the precision of the result is "acceptable". In the letter of 8 February 2006, the applicant stated in the fifth paragraph that the basis for this feature was at paragraph 22 of the application. However, this paragraph is in the opening part of the description and the Board cannot find an embodiment or other disclosure that has all three loop steps e), f) and g) in combination. Moreover, it is unclear to the Board whether and how this feature differs from the previous repeating step, considered to be unclear in point 11 above.
16. Accordingly, the Board judges that claim 1 of all requests is affected by the same (or even more) deficiencies of clarity and thus not allowable for these reasons alone (Article 84 EPC 1973).
17. Notwithstanding the above clarity objections, the Board cannot see any patentable subject-matter in the claims.
18. Firstly, the Board is not convinced that method claim 1 of the main request (and the auxiliary requests as well) defines an invention within the meaning of Article 52(1) EPC. Aspects of business planning and information modelling normally cannot establish the required technical character, the mentioning of a database not necessarily being enough (see decision T 154/04 - Estimating sales activity/DUNS LINCENSING ASSOCIATES, OJ EPO 2008, 46 at point 21).
19. Even leaving this issue aside, the Board agrees with the examining division´s comments at point 6 of the obiter dicta that D3 discloses all the concepts in claim 1 in the context of a spreadsheet, namely prioritisation rules for calculations, cell relationships and re-calculation arising from previous changes (see e.g. Figure 7 and associated text).
20. Even if one accepts the appellant´s arguments at point 13 of the grounds of appeal, which refers to the first three paragraphs of page 4 of the applicant´s reply of 9 January 2006, the subject-matter of claim 1 differs from D3 in that:
a) the method relates to a sub-cube of a multidimensional database system instead of a spreadsheet (assuming that a spreadsheet like D3 does not fall under the definition of a multi- (i.e. two-) dimensional database), and
b) it is possible to calculate multiple input values for multiple user inputs.
The third difference mentioned is that the invention can calculate a cell´s dependencies when required. However, this feature only appears in claim 1 of the third auxiliary request (see point 28, below).
21. However, the Board again agrees with the examining division that these features do not involve an inventive step.
22. Firstly, the Board agrees that the skilled person would consider applying the techniques of D3 to the closely analogous situation of a database, and even the newer "multidimensional" database, which need not be particularly complicated as the embodiments show. In this respect, the fact that the invention can be explained in terms of such two-dimensional spreadsheet-like embodiments raises some doubts about whether there is any difference at all. In any case, if the disclosure is sufficient to carry out the invention, it must mean that no additional concepts are required to jump from two to more dimensions. In fact, the application states at paragraph 73, that the invention in a large multidimensional situation takes "the same basic approach" (as the embodiments). Thus, at the very least, the Board finds no suggestion that there is any technical hurdle, prejudice or surprising effect in applying the teaching of D3 to such a database.
23. The appellant points out that the examining division made the above-mentioned comments about D3 and applying spreadsheet techniques to databases (see points 19 and 22, above) in a section of the decision entitled "Obiter Dicta", at points 6 and 8, respectively. However, these comments had in fact already been given in the division´s communication of 4 November 2005 at points 5.4 and 5.9, respectively. The Board also notes that at the end of point 6 of this communication the division also made the above-mentioned point about the lack of implementation details in the application. However, since the decision was not actually based on these arguments, the Board does not see a problem in the division not addressing the applicant´s counter-arguments in the letter of 9 January, 2006. One of these counter-arguments involved the paper "Multidimensional Databases" by T.B. Pedersen et al. However, the Board considers that this paper actually confirms that although calculations are more complex in multidimensional databases, the latter are in fact only generalisations of spreadsheets (page 2, point 3 -"Cubes", second line). This argument essentially also applies to the appellant´s allegation that the method of calculating dependencies in D3 would be impractical in a multidimensional database; the skilled person would still consider applying the concepts of D3 albeit possibly using another implementation for more than two dimensions (however, such an implementation has not actually been claimed, or even disclosed).
24. Regarding the multiple input values, the argument seems to be that D3 only discloses one back-solved (input/target) value in each calculation (e.g. X1 in Figure 4), whereas the invention allows more than one (e.g. 511-514 and 521-524 in the first variation of the Figure 5 embodiment at paragraph 79). However, the description does not give any rationale for how the specific values are assigned to multiple back-solved values (only all changed from 2.0 to 3.0 in paragraph 80, which appears to be an arbitrary choice). Thus neither the claim, nor the application disclose more than the idea of allowing more than one back-solved value per calculation, which the Board considers would be an obvious desideratum.
25. The Board understands that the possibility of multiple user inputs is enabled by repeating the back-solving calculation steps for each user as claimed in step iv). However, the Board cannot see that this is any more than an obvious extension by repetition of the calculation of an individual single value.
26. The idea introduced into claim 1 of the first auxiliary request that rules are based on fairness and correctness is such a generally formulated requirement that it is simply a (self-evident) user preference and thus has no technical character and so cannot contribute to inventive step.
27. The idea introduced into claim 1 of the second auxiliary request of changing rules in a system is also a matter of user preference, having no technical character.
28. Concerning claim 1 of the third auxiliary request, the Board again agrees with the examining division at point 2.3.2 of the reasons for the decision that the amendment to calculating the cell dependencies when needed (step d)i)) instead of in advance is an obvious design trade-off depending on the circumstances. Indeed paragraph 65 of the application gives one example of the circumstances that the skilled person would consider, namely the size and complexity of the database. The skilled person would realise that a pre-calculation is more practical for simple systems.
29. Since the additional looping step in claim 1 of the fourth auxiliary request appears to overlap with the repeating step, considered to be unclear in point 11 above, the Board cannot see how it can involve an inventive step.
30. There being no other requests, it follows that the appeal must be dismissed.
For these reasons it is decided that:
The appeal is dismissed.