3.6 Programs for computers
A revised version of this publication entered into force. |
If a method has a technical character over and above the mere fact that it is computer-implemented, a corresponding computer program specifying that method produces a further technical effect when run on a computer. For example, a computer program which specifies a method of controlling an anti-lock braking system in a car, determining emissions by an X-ray device, compressing video, restoring a distorted digital image, or encrypting electronic communications brings about a further technical effect when it is run on a computer (see G‑II, 3.3).
Furthermore, if a computer program is designed based on specific technical considerations of the internal functioning of the computer on which it is to be executed, such as by being adapted to the specific architecture of the computer, it may be considered to produce a further technical effect. For example, computer programs implementing security measures for protecting boot integrity or countermeasures against power analysis attacks have a technical character since they rely on a technical understanding of the internal functioning of the computer.
Similarly, computer programs controlling the internal functioning or operation of a computer, such as processor load balancing or memory allocation, normally produce a further technical effect (see, however, G‑VII, 5.4.2.3 for an example of a case where the controlling is based on a non-technical scheme).
Programs for processing code at low level, such as builders or compilers, may well have a technical character. For example, when building runtime objects from development objects, regenerating only those runtime objects resulting from modified development objects contributes to producing the further technical effect of limiting the resources needed for a particular build.