“Dynamic link libraries (or DLLs) were already known as a means of storing functions common to a number of different applications, so that they were only required to be stored once. The particular function is selected and linked to the application program when it is loaded and run. A function can be selected by its name (‘linking by name’) or by the numbered address at which it is located (‘linking by ordinal’). Linking by name requires a look up table, which links the name of the function to its location in the DLL. It requires more access to memory than linking by ordinal, which is achieved directly. Linking by ordinal is, therefore, the more rapid method of accessing data from a DLL. Any additional functionality can be added to the DLL. Each new functional module or program is given a numbered address. Allocation is sequential, so that the first ‘free’ number is taken. However, difficulties can arise when parties add further functionality to the DLL (for example by an upgrade of the operating system and by an additional piece of hardware) independently of each other. Because the functions are added sequentially at the end of the ordinal number range, they are independently both given the same ordinal number and location. This can cause incompatibility in the operation of these new functions. The purpose of the Application is to overcome this problem. It claims to achieve this by splitting the DLL into two parts. The first part is effectively ‘fixed’, and contains one or more functions at one or more locations that are linked directly to the program applications. The second part – called the extension part – enables the addition of further functions at further locations. The functions are not linked directly to the program applications, but are only accessed via a further library or interface that holds the ordinal address of the additional functions as located in the extension part of the DLL. The library or interface is a computer program. The effect of the interface is to enable the location of the functions in the extension part of the DLL to change without altering the location in the interface via which they can be selected or ‘called’.”
“(1) Properly construe the claim; (2) Identify the actual contribution; (3) Ask whether it falls solely within the excluded subject matter; (4) Check whether the contribution is actually technical in nature.”
“a method for obtaining and/or reproducing an image of a physical object or even an image of a simulated object (as in computer-aided design/computer-aided manufacturing … systems) may be used e.g. in investigating properties of the object or designing an industrial article and is therefore susceptible of industrial application. Similarly a method for enhancing or restoring such an image, without adding to its informational content, has to be considered as susceptible of industrial application” and hence would not be excluded from patentability. At [12]: “a claim directed to a technical process which process is carried out under the control of a program (… in hardware or in software) cannot be regarded as relating to a computer program as such …, as it is the application of the program for determining the sequence of steps in the process for which in effect protection is sought”
“Generally claims which can be considered as being directed to a computer set up to operate in accordance with a specified program (whether by means of hardware or software) for controlling a technical process cannot be regarded as relating to a computer program as such … .”