This article is a brief summary of the European Patent Office position on patenting inventions associated with computer programming.
It may be easier to obtain a granted patent for computer programming inventions when an application is made via the European Patent Office rather than the UK Patent Office.
However, the European Patent Office may be more likely to raise clarity objections and find relevant prior art.
Defining Case: COMVIK
The defining case in Europe is COMVIK.
Following this case, the claims of a patent application are assessed for “technical” and “non-technical” features. Only “technical” features may be used to demonstrate an improvement over previous publications.
The term “technical” is necessarily fuzzy; it has been defined in a piece-meal manner by European case law. However, it is generally taken to mean clearly relating to a field of science or engineering. Features relating to “administration” or “business” are considered “non-technical”.
Useful Case Law
The cases below provide examples of the thinking of the UK Patent Office.
- T_0505/09: in this case, an invention related to a method for identifying defective program code. At an abstract level, certain testing techniques were agreed to form part of the common general knowledge. However, there was no objection that the invention related to “non-technical” features. Instead, emphasis was put on what written evidence relating to the invention was published before the application was filed.
- T_1893/08: in this case, information on data definitions was provided in the form of a common language file represented in a different language to first and second languages for compilation. The first language had an “import” statement that imported the common language file. The board concluded that compiler features provided a solution to a “technical” problem and did provide an inventive step when compared to the cited art.
- T_1216/08: this case featured authentication of software in a dynamic loading environment. A validator generated a digital signature based on a portion of a program image, wherein pointers in the image that required “fixing up” by a program loader were excluded from the portion. Implicitly, these features were considered “technical” and an inventive step was found.
- T_0702/08: in this case, a patent claim referred generally to “process objects” and “task objects”. These terms were considered to have a broad meaning encompassing the general concept of a “goal” or “objective” at an administrative management level. It was concluded that there was no unambiguous correlation between the described “objects” and object-oriented programming. Hence, a specific technical mapping between abstract concepts and their technical implementation needs to be set out in any patent application.
- T_0077/08: here the main difference between a patent claim and a previous publication was that a business logic rule was expected as an expression rather than a statement in a programming language. It was considered obvious that both formulations would be considered. It was questioned whether making a system more “flexible” was a “technical” problem.
- T_2078/07: in this case the invention, using metadata to describe data types, was found not to provide “a further technical effect” over fundamental programming conventions. It was “simply an advice on how to write a program”.
- T_1928/07: this case referred generally to “event processes”, “tasks”, “inclusion” and “execution” in a programming context. These terms were not defined in terms of concrete, rather than abstract, features. The case was thus rejected for lacking clarity.