This is an interesting decision for programmers, since the EPO Board of Appeal 3.5.06 had to decide whether the reduction of the execution time of a computer-implemented method is a technical effect and thus potentially patentable.
The board’s answer in a nutshell:
The improved speed of a computer program is not by itself a technical contribution to the art.
The case at hand
The patent application concerned the managing of objects and their properties. When the value of a first property depends on that of another second property, the question arises of how to update the first if the second changes. In this context, programmers may unintentionally define circular dependencies between properties. When listener functions are used, such circular dependencies may lead to infinite computations because the properties involved in a circle may continue to change states indefinitely.
To overcome this, the application proposed an “on-demand type of property system”, i.e., a system in which a change in a property does not affect a dependent property until an operation, associated with the dependent property, is called.
What the board said
Here are the relevant passages of the decision:
5.2 At the same time, the board considers that objects, properties, relationships and expressions are merely abstract concepts used to structure and model an application domain so that it can be implemented on a computer device. The modelling however inevitably precedes the implementation and is, as such, an entirely mental activity which remains within the domain of non-technical knowledge and cannot, by itself, constitute the technical solution to a technical problem. In this, the board endorses the reasoning of T 49/99 (catchword and reasons 7).
6. The remainder of claim 1 specifies that property values may be requested and that they are retrieved from a “cache”. When a requested value is missing, the cache is updated to hold the result of evaluating the expression concerned, and when the source property changes, that value must be “invalidated” and “cleared […] from the cache”.
Does the invention solve a technical problem?
7. The appellant argued that the claimed invention solved two technical problems in comparison with D2.
a) The computing time was reduced by evaluating the “expression” only on request — i.e. only when needed — and caching the result, and
b) the problem of circular property dependencies and infinite computations could be avoided.
8. Regarding b), the board agrees that the invention indeed does allow the detection of circular dependencies as disclosed by the application (see the description, page 15, lines 1–6). However, this possibility is a consequence of the fact that property values are computed only on request, regardless of whether the claimed caching method is used or not.
8.1 In this regard, the board notes that computation on request is known from D2, which discloses as “lazy computation” the recomputation of a property value when the “getter method” is called, i.e. when the value is requested (see D2, page 69, paragraph 2).
8.2 Hence, noting that the actual detection of cycles is not claimed, the board finds that the possibility of avoiding infinite computations by cycle detection also exists in D2 for precisely the same reasons as in the invention.
9. Regarding a), the board accepts that the claimed caching method is not known from D2 and has the effect that unnecessary evaluation or re-evaluation of an expression can be avoided.
9.1 It is questionable whether this implies that the overall computing time is actually reduced. That depends on whether the management of the cache is less computationally demanding than the evaluation of the expressions, which in turn depends on the type of expressions and the number of times they typically have to be evaluated. Since, however, nothing is known about the expressions it cannot be demonstrated that the computing time is reduced, either for the general or for the average or typical case.
9.2 However, for the sake of argument, it is assumed that the claimed cache does indeed have the alleged advantage of reducing the computing time required.
Is the reduction of computing time a technical problem?
10. In the board’s view, the argument that a computer program or computer-implemented method is inventive because it is faster than an earlier one is on its own insufficient to establish an inventive step. More specifically, the improved speed of a computer program is not by itself a technical contribution to the art.
10.1 By way of illustration, let it be assumed that the method in question is a non-technical one, for example a mathematical method or a method of doing business.
10.2 Under Article 52(2)(a) and © and (3) EPC, this method will not be regarded as an invention in the sense of Article 52(1) EPC.
10.3 Any computer program implementing that method will, of necessity, need a particular amount of computing resources, in particular time. This is merely a consequence of the “normal” physical interactions between program (software) and computer (hardware) (see T 1173/97, OJ EPO 1999, 609; headnote and reasons 6.6, 9.6, 13). According to established jurisprudence of the boards of appeal, the computer program would thus be found not to comply with Article 52(2)© and (3) EPC for lack of a “further” technical effect. And because the computing time does not contribute to the technical character of the computer program, it could not support the presence of inventive step of a corresponding computer-implemented method (see T 641/00, OJ EPO 2003, 352; headnote 1).
10.4 These findings cannot be changed by a document which discloses an alternative, earlier non-technical method which takes longer to carry out on a computer. In other words, it cannot be argued that a computer program must be regarded as an invention in the sense of Article 52(1) EPC, i.e. as a technical invention, for the sole reason that an earlier computer program happens to exist which solves the same, non-technical problem more slowly (see also T 42/10, reasons 2.12, for a similar conclusion). Otherwise, the exclusion of computer-implemented methods under Article 52(2) and (3) EPC would become meaningless, because for any given computer program a less efficient one is either known or conceivable. As a consequence, a computer-implemented method cannot be found to show an inventive step for the sole reason that a slower computer-implemented method exists in the prior art.
10.5 Therefore, for a computer-implemented method or a computer program to be patentable it must be established that it has a “further” technical effect and solves a technical problem independently of its absolute or relative computing time . Only then, and only if the alleged speed-up affects an established technical effect, can it be argued that the speed-up contributes to a technical effect and thus to inventive step (see again T 641/00, headnote 1).
11. Returning to the claimed invention (see point 9.2), the board accepts that certain kinds of cache may well be accepted as the technical solution to a technical problem. This may be the case, for instance, for a fast page cache in RAM to avoid repeated access to a slow peripheral hard disk.
11.1 However, the claimed “cache” is not such a cache. In fact, little detail of the cache is claimed. For example, the claims cover the possibility that each object stores the values of its dependent properties in place along with a flag indicating their validity, and that the term “cache” is merely a way of referring to the totality of these local property copies.
11.2 Thus, the claimed concept of caching does not go beyond the idea of memorising a value that one might need again and its validity, so that the effort involved in obtaining it need not always be repeated. In the board’s view, this idea is obvious from first principles.
11.3 Moreover, the claimed method of “caching” a value and its validity achieves, if anything, a speed-up of an entirely abstract method (see point 5 above) and thus is, as argued above, insufficient to establish that the claimed computer-implemented method solves a technical problem.
12. In summary, the appellant did not convince the board that the claimed invention had any genuinely technical effect over D2. In fact, it also failed to show that the claimed method could be considered to have any “further” technical effect beyond being computer-implemented.
13. Therefore, the board finds that the subject-matter of claim 1 according to the main request lacks inventive step, Article 56 EPC 1973.
The bottom line
Techniques for speeding up a computation that otherwise have no further technical effect cannot be patented in Europe. A software program is not inventive for the sole reason that a slower program exists in the prior art.
Read the whole decision here: T 1370/11 (On-demand property system/MICROSOFT) of 11.3.2016
As always, feel invited to leave a comment below with your thoughts and feedback. For specific questions and requests for advice, email me directly at email@example.com.
P.S.: This was just the tip of the iceberg. If you want more, get on my email list. I usually write an update every two weeks or so – it features inside knowledge and practical tips on European software patents. You can subscribe here.