Making software quicker is not patentable

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

Improved speed of software is not technical

Here are the relevant passages of the decision:

5.2 At the same time, the board considers that objects, proper­ties, relationships and expressions are merely abstract concepts used to structure and model an applica­tion do­main so that it can be implemen­ted­ 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 it­self, con­stitute 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 avoi­ded.

8. Regarding b), the board agrees that the invention indeed does allow the detection of circular de­pen­dencies 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 compu­tation” the re­com­puta­tion of a property value when the “getter method” is called, i.e. when the value is re­quested (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 in­finite computations by cycle detection also exists in D2 for precisely the same rea­sons 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 unne­cessary evaluation or re-evaluation of an expression can be avoided.

9.1 It is questionable whether this implies that the over­all 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-im­plemented method is inventive because it is faster than an earlier one is on its own insufficient to establish an inventive step. More specifi­cally, 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-tech­­nical one, for example a mathema­tical method or a method of doing bu­si­ness.

10.2 Under Article 52(2)(a) and (c) 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 “nor­mal” physical interactions between program (soft­ware) 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)(c) 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 do­cu­ment which discloses an alter­native, earlier non-tech­nical method which takes longer to carry out on a com­puter.  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 ex­clusion of computer-implemented me­thods 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-imple­men­ted method or a computer program to be patentable it must be estab­lished that it has a  “further” tech­nical 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 co­pies.

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 prin­ciples.

11.3 Moreover, the claimed method of “caching” a value and its validity achieves, if anything, a speed-up of an entirely ab­stract method (see point 5 above) and thus is, as argued above, insufficient to estab­lish 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 bastian.best@bardehle.de.

3 thoughts on “Making software quicker is not patentable

  1. I think it’s not one of the simpler EPO decisions. At 10.5 it’s said: “a computer program to be patentable it must be estab­lished that it has a “further” tech­nical effect and solves a technical problem independently of its absolute or relative computing time.” My thought is: being the “time” maybe the most important resource we have, how can’t be a technical problem waste less of this “commodity”? The quantum computer will succeed in deciphering something or do anything else at a much smaller time than a normal computer. Of course you can answer that this is a new machine a new hardware, but a more robust and efficient software is still something patentable, isn’t it? Why not more fast? I’m quite confused. Thank you for answer.

  2. Hi Albert,

    I agree that time is the most precious resource we have these days, the infrequency of my blog posts being a good example of the lack of time 🙂

    When it comes to patents at the EPO, what this decision says is that doing “something” in less time is in itself not technical.

    In your example, however, if the invention makes it possible to decipher data quicker (i.e. not just do a generic “something”), or maybe retrieve data from a database more quickly, that could indeed be considered the solution of a technical problem.

    Best,
    Bastian

Leave a Reply