The European Patent Office (EPO) is in a privileged position as an observer of the evolution of various fields of technology since it receives patent applications that are systematically classified by technical area.
EPO statistics with data from 2020, which show the evolution of the number of patent applications, reveal that the digital communications sector is a major player, only coming second to medical technology:
While information and communications technology (ICT) is a very large field that is directly related to software, we can affirm that software is not limited to ICT. Instead, it also covers other highly relevant sectors, such as areas of specialisation currently as active as those linked to artificial intelligence, system control, natural language processing or process optimisation, just to name a few examples.
Similarly, software also extends its reach, to, a priori, unrelated, but highly relevant fields of specialisation, such as, for example, those linked to pharmaceuticals, medical devices or biotechnology.
In this scenario, software protection is a key element while simultaneously presenting a challenge for the patent system.
What is meant by software?
Software or computer program is understood to mean a set of instructions that can be understood by a computer.
A wide range of formats is comprised within the term ‘computer program’ and it can be classified in many ways. Computer programs usually consist of instructions that can be directly understood by the programmable machine processor. However, computer program is also understood to mean the instructions written in a language which can be understood by humans and for which there is a “translator”, which is either an interpreter or a compiler.
In turn, a computer is understood to mean a programmable machine capable of executing instructions. The most common form of a computer is a physical device with one or more processors, one or more memory units, and other auxiliary devices which allow communication with the computer or specific tasks to be performed. According to its broadest interpretation, a computer can have a distributed configuration connected by means of a communication network.
What does the patent law say about software?
At first it would seem that software protection through a patent is not allowed. The Spanish Patent Law (LP) and the European Patent Convention (EPC) include a non-limiting list of everything that is not considered an invention (Art. 4 LP and Art. 52 EPC, which share very similar wording). The list particularly mentions computer programs, mathematical methods or means of presenting information among the exceptions. Given that the patent law only protects inventions, everything that is not considered to be an invention cannot be protected under the patent law.
Software materialises as a computer program, wherein much of the software involves an algorithm which is nothing more than a mathematical method, and almost all software has a graphic interaction whereby information is shown. Through the above examples, we have already seen that these three aspects are explicitly mentioned in the list of exclusions; however, a more careful interpretation of the law makes it possible to envision certain circumstances in which software can be protected by a patent.
The same article that includes this list of exclusions to patentability establishes that patents shall be granted for inventions, in all fields of technology, which are novel, involve inventive step and are capable of industrial application. The reference to “all fields of technology” leaves no doubt that technological scope is not a discriminatory criterion which excludes software due to the mere fact that it is within the field of programmable machines.
Likewise, the end of the same article of the law (Art. 4(5) LP and Art. 52(3) EPC) provides that the subject matter or activities referred to in the list only apply to the extent to which the patent relates exclusively to one of them as such.
In other words, software is not patentable insofar as it represents an isolated list of instructions, which is not associated with the solution to an industrial technical problem. However, if software can be presented as a technical solution that solves a technical problem, and it proves to be novel, involves inventive step and is capable of industrial application, it will be patentable, just like any other technology.
In an actual patent specification, any technical solution based on software is protected by claiming, for example, a method with steps that are executed by the software. This occurs regardless of the programming language allowed by such execution, which, far from being limiting, is precisely what has the greatest value for a patent applicant or proprietor.
Control algorithms for optimal industrial process management, communication encryption techniques, physical entity simulation models or packet routing techniques in communication networks can be referenced as examples of computer programs capable of being patented.
Software = computer-implemented inventions
In the patent field, the most suitable term to refer to “software patents” is the term coined by the European Patent Office: Computer-Implemented Invention or CII.
This term not only covers computer programs, but it also refers to any invention the implementation of which involves the use of a computer, a network of computers or any programmable apparatus where some of the features of the invention are, at least partially, carried out by a computer program.
In this regard, it should be mentioned that a claim does not need to start by explicitly indicating that it is a computer-implemented invention for it to be one. It would be sufficient to consider, for example, a claim relating to a data structure.
In a computer-implemented invention, by way of example, the following can be protected by a patent:
- methods which can be implemented by means of a set of instructions,
- specific data structures when the data structure itself solves a technical problem,
- computational systems with a client-server structure,
- encryption techniques for communications,
- transmission/reception devices,
- physical representation models for physical entity simulation.
CII Patentability: the technical character is the crux of the matter
As indicated above, computers display information and use algorithms that are nothing more than mathematical formulas that are often complex, and both of these aspects are explicitly mentioned in the list of items excluded from patentability. In all these cases, the technical effect produced by the algorithm must be assessed to prove that it has technical character.
While any invention, regardless of the field of technology it belongs to, must have such technical character to be patentable, in the specific area of CIIs patent office examiners are particularly vigilant to ensure that this requirement is fulfilled.
So much so that the well-known EPO Guidelines for Examination dedicate a special section to inventions of that type, the so-called “Index for Computer-Implemented Inventions”.
A computer-implemented invention is often a combination of some features interpreted as technical and others as non-technical. An invention is regarded as having technical character if it contains at least one technical feature.
Technical and non-technical invention
Given this situation, the features of the invention must be classified or distinguished as technical and non-technical features, since only technical features contribute to the invention being inventive.
A computer program, when executed in a machine, causes physical processes such as the flow of current through its electronic circuits or the movement of certain mechanical parts to occur, just to name a couple of examples. These basic physical processes for operating a computer are not enough to justify the technical character of an invention and it is necessary to “go beyond”. One conclusion is that the use of technical means does not always ensure the technical character of the invention.
Examples of technical effects are: fewer requirements for computational resources, memory or clock cycles needed for executing the method, scalability, utilisation of the architecture on which the program is executed, etc.
Below are a couple of examples to show which features in a claim would be technical features or not:
- Two different types of entities accounted for in a computer, and they include a variable that works as a distinguishing tag in order to differentiate them. Even if the distinguishing tag, through a variable that takes two value types, was extremely descriptive, it would only be a way to manage two entities. Therefore, it would be considered a merely administrative, i.e., non-technical, method.
- Conversely, each of the entities can be accessible through a set of indices which are handled according to an indexing algorithm which allows a given entity to be accessed with a very small number of steps. In this case, even though the resources that are optimised are purely computational (the lowest number of steps required to access an entity also represents a lower number of cycles to perform the task), the feature would indeed be a technical feature.
Assessment of inventive step in CIIs
The mentioned distinction between technical and non-technical features represents the first step of the analysis to be conducted when evaluating the inventive step of a CII.
The most common method of assessing inventive step is known as the “Problem-Solution approach”. This method is still valid in the CII field, but in this approach, that first step of distinguishing between technical and non-technical is added to the method. The second step of the analysis involves assessing whether the technical effect is unexpected.
The fact that the method is expressed with a higher number of steps is not because it is distorted, but rather simply because the technical, and especially legal, particularity of the field causes the assessment of which features are technical and which are not to require a more meticulous distinction than in other technological sectors.
Challenges in drafting a CII patent
The programming paradigm is an analysis model that allows computational problems to be solved, leading to an organisation of tasks and specific data structures as well. There are programming languages that adapt to certain specific programming paradigms. For example, one of the first paradigms used was the structured programming paradigm. Others such as the imperative, functional, logic programming paradigms, etc., are known. The object-oriented programming paradigm is also widely used.
The work of patent attorneys consists of discerning the essential features of the invention from those that are optional or specific ways of carrying out the invention, such that the combination of essential features solves the technical problem. In an ideal approach, the selection of essential and non-essential features must be independent of the paradigm with which the inventor has solved a technical problem.
While this is true in all fields of the art, it is also possible in the area of computer-implemented inventions, but the effort put into carrying out this analysis independently on the programming paradigm is, at times, at a much higher cost than that of the work put in by the inventor to arrive at the invention.
Furthermore, in this field of the art, an analysis prior to drafting the patent document has become quite relevant in order to determine:
- the technical problems solved by the invention
- the manner in which it has been coded or implemented
- the licences of libraries used
- the way in which the software is distributed.
This prior work, combined with the typically higher complexity of computer-implemented inventions, means that the applicants are expected to arrive, with sufficient time in advance, at both a suitable patent application document for defence before the Patent Office, and to establish the distribution conditions of the software which adapt to a compatible marketing and licensing strategy.
Examples of software patents
A few examples of computer-implemented patents that have been granted by the EPO include the following (the patent can be accessed by clicking on the number):
- EP2556453. This European patent protects a solar cell simulation technique. The solar cell is represented by a mathematical model and the specific simulation mode simultaneously solves two problems: one technical problem related to behaviour when the sun does not evenly strike the solar cell; and another mathematical problem, since the calculation method always reaches the solution. In this case, no objection can be made against the subject matter as a computer program or as a “mathematical theory”.
- EP2856693. This patent protects an encryption technique between two devices, for example for streaming a video, based on mathematical results of the chaos theory. The encryption technique does not need to exchange keys between devices, making it impossible for an attacker to obtain or derive the encryption key.
- EP3358339. The claimed solution provides a numerical model which allows the behaviour of a rock sample to be simulated by using certain values that can be obtained in a lab. Using this numerical model, it generates a more complex numerical model that allows an entire reservoir to be simulated. The simulation is performed by means of specific software that implements the claimed method.
- EP2693687. This patent relates to security in operations and protects a method and a system for authorising an operation/transaction. The method comprises the authorisation of an operation carried out by a client on a first server, and a second server generating an authorisation code according to an encoding method is involved in the authorisation.
The wording of the application: the key to software patentability
In conclusion, in the field of software, it can be said that availing of the advice offered by a patent attorney who is skilled in the art is particularly important.
While inventors are extremely familiar with the software they have written, only the perspective of a patent attorney will allow claimable features to be effectively drawn out in a patent application.