MOPOP - Chapter 16
Computer implemented inventions
(PDF: 189 KB; 40 pages)
Table of Contents
- 16.01 Scope of this chapter
- 16.02 Subject-matter
- 16.03 Examining computer claims
- 16.04 Utility
- 16.05 Sufficiency
- 16.06.01 Anticipation by prior use
- 16.07 Ingenuity
- 16.08 Claims
- 16.09 Special topics
16.01 Scope of this chapter
The purpose of this chapter is to highlight Office practice as it pertains in particular to computer-implemented inventions.
The term "computer" is used in this chapter to refer to an electronic device comprising a processor, such as a general-purpose central processing unit (CPU), a specific purpose processor or a microcontroller. A computer is capable of receiving data (an input), of performing a sequence of predetermined operations thereupon, and of producing thereby a result in the form of information or signals (an output).
Depending on context, the term "computer" will mean either a processor in particular or can refer more generally to a processor in association with an assemblage of interrelated elements contained within a single case or housing.
The present chapter sets out the Office's practice for determining whether or not an invention is statutory and useful. The former requirement can be framed in terms of asking whether or not the invention is proper "subject-matter" for a patent.
Guidance provided herein in respect of "computers" may apply, where the term has been used to refer to a device comprising a processor, to devices such as network servers, personal digital assistants (PDA), multi-function cell phones, and the like, or even to processor-containing televisions, music or video playback devices and appliances such as bread makers or coffee machines.
In certain contexts, the term "computer" may be used to encompass a device interacting with certain ubiquitous peripherals, such as a keyboard, mouse or display, necessary for interacting with the computer itself. In this sense, the term "computer" may refer to a "general purpose computer" such as a desktop or laptop computer capable of receiving input, such as via a keyboard, and providing output, such as to a display means.
Where references are made to software "stored on" a physical memory, these are intended to simply refer to the fact that the physical memory is storing the software. No distinction is made herein between memory types which are best described as having software "stored in" the memory and those that are best described as having the software "stored on" the memory.
In reading this chapter, it should be borne in mind that its purpose is to clarify, through elaboration, the application of the more generic teachings of other chapters to the particular issues encountered with computer-implemented inventions.
Nothing in this chapter should be interpreted as providing exceptions to any practice of general applicability set out in any other chapter. Throughout this chapter, reference is made to the nature of the contribution in a claimed invention. Additional guidance on the contribution approach used to assess whether a patentable contribution has been made can be found in Chapter 13 of this manual.
As with any invention, in order to be patentable under the Patent Act the claimed subject-matter of a computer-implemented invention must fall within one of the five categories found within the section 2 definition of "invention", namely art, process, machine, manufacture or composition of matter.
The following sections set out how the five categories of invention apply to computer-implemented inventions in particular, and consequently refine the more general guidance provided in Chapter 12 of this manual.
A computer-implemented invention may be claimed as a method (art, process or method of manufacture), machine (generally, a device that relies on a computer for its operation), or product (an article of manufacture). Certain subject-matter relevant in the computer arts may not be claimed as such, including computer programs 16.08.04, data structures 16.09.02, and computer-generated signals 16.09.05.1
A guiding principle in respect of computer-related inventions was provided by the Federal Court of Appeal in Schlumberger, which noted that "the fact that a computer is or should be used to implement a discovery does not change the nature of that discovery", and also that the presence of a computer cannot effect the "transforming into patentable subject-matter [of] what would, otherwise, be clearly not patentable".2
Computer-implemented inventions falling within the category art are typically claimed as methods.
Many methods involve the use of a computer or an apparatus or device including a computer. A method that, on its own merits, would be considered non-statutory does not become statutory simply by virtue of some part of the method being carried out on or by a computer. The method itself, as a whole, must be a solution to a practical problem and must lie within a field of technology.
Claims to computer-implemented methods for playing games or creating works of art do not define inventions that belong to a field of technology and do not come within the definition of invention in section 2 of the Patent Act [see sections 12.06.05 (Games) and 12.06.03 (Fine arts) of this manual].
A method of controlling a computer’s operations so as to achieve a technological3 result, in contrast, would come within the definition of invention in section 2 of the Patent Act. In such a method, the electronic processes within the computer are considered to satisfy the requirement that the method include (either explicitly or implicitly) at least one act performed by a physical agent upon a physical object, producing in that object some change of condition.
As noted in section 12.02.02 of this manual, a process implies the application of a method to a material or materials. To be statutory, a process must apply a statutory method.
When assessing the contribution of a computer-implemented process, it must be borne in mind that the necessary ingenuity can arise from the method, from the material or materials, or from the recognition that applying the method to the material or materials leads to an unexpected useful result.
A device such as a computer, or an apparatus or system including a computer associated with other devices, is generally viewed as falling within the category machine.
Whether or not a claim to a device defines a patentable invention depends on the presence of a contribution in the claimed matter and the nature of this contribution [see section 13.05.03 of this manual]. As noted in section 13.05.03b, for a claim to be patentable it must define at least one statutory element that forms part of the contribution. For a claim to a device to be patentable, the device itself must therefore be a contributed practical form. That is, the device must provide a novel and unobvious technological solution to a technological problem.
Determining whether or not this is the case can be performed by assessing the device itself, but in many cases can also be performed indirectly by reference to the method implemented by the device. Where a statutory method is implemented by a computer, apparatus or system, a device capable of implementing the entire method is necessarily a solution to a practical problem. Presuming the device has been specifically modified to implement the method, such that it is novel and unobvious, it will be a statutory contribution. The patentability of a device is not negated, however, from the mere fact that the device is intended to implement or to be used in a non-statutory method. The question to be addressed in such cases remains whether the device provides a novel and inventive technological solution to a technological problem.
Where a device does provide such a solution, its patentability does not depend on whether it was adapted by providing new hardware or by controlling existing hardware in a particular manner by the addition of software or firmware (software programmed into a read-only memory).
Note that the "technological solution to a technological problem" does not have to be in relation to the operation of the computer as a general purpose device (e.g. it is not necessary that a computer be made more efficient or reliable), but could be simply that the general purpose device has been technologically adapted to act as a special purpose device. Thus, presuming novelty and ingenuity, any of the following provide technological solutions to technological problems and would be viewed as contributed devices: a computer programmed to allow its speakers to simulate "surround sound" (known hardware controlled by new software), a computer adapted to operate using two central processing units (new arrangement of known hardware, controlled by new software), a computer programmed to allocate memory to video processing in a manner that increases the efficiency of the device when running several applications (known hardware controlled by new software), and a computer whose motherboard has an inventive new video card slot with a faster data transfer rate (new hardware).
Where a computer or other device does not provide a solution to a technological problem, the computer or device as a whole is not a contributed practical form of an invention. Where such a device is further defined in terms of discrete non-statutory features, the claim would be objected to on the ground that it does not define a statutory "invention" within the meaning of section 2 of the Patent Act [see section 13.05.03b of this manual]. For example, a computer or other programmable device cannot be patentably distinguished from other computers simply on the basis of stored information; the stored information does not cause the computer to become a new and unobvious solution to a practical problem [see section 12.06.07 of this manual].
The category manufacture encompasses both processes for manufacturing and the products made by such processes [see section 12.02.04 of this manual]. As noted in 16.02.03, a device including a CPU is generally viewed as falling within the category machine. The category manufacture is therefore considered to apply to computer-implemented inventions either where a computer is used to control a manufacturing process, or where a non-machine computer product is claimed. The principles discussed in 16.02.02 apply equally to computer-controlled manufacturing processes.
The concept of a non-machine computer product applies to a physical memory storing computer-executable instructions. A computer program per se is not statutory because it is disembodied. A physical medium storing the program, however, may be considered a manufacture. The patentability of such products depends on the nature of the contribution, and is discussed in 16.08.04.
16.02.05 Composition of matter
The category of invention composition of matter relates to chemical compounds, compositions and substances and is not of great significance to computer-implemented inventions. A computer-controlled method or process for manufacturing compositions of matter could be evaluated under the category art or process as the case may be.
16.03 Examining computer claims
A patentable claim must include a statutory contribution. Where a claim is directed to a computer, it must be determined whether the device itself is part of the contribution - that is, whether the computer itself may be considered novel and inventive.
In evaluating whether the computer has been contributed, it is first necessary to identify the essential elements of the device; i.e., those that, as a set, provide a technological solution to a technological problem [see section 13.05.03 of this manual]. For the computer to be patentable, this set of elements must be novel and inventive.
As noted in 16.02.03, where the machine has been specially adapted to implement the entirety of a patentable (statutory, useful, novel and inventive) method, the machine is considered to be a technological solution and is patentable.
Where a machine implements a non-statutory method, in contrast, inventive ingenuity associated with the method per se does not provide the inventive step necessary to support the patentability of a machine implementing that method. The inventive ingenuity necessary to make the machine patentable must arise in relation to adapting the machine to implement the method.
16.03.01 Adapting a computer to solve a problem
A computer can be adapted to solve a problem either by its hardware, software or a combination thereof. Where the adaptation is performed via hardware, this will typically permit a structural comparison of the computer to other computers and will facilitate the assessment of novelty and ingenuity.
More often, however, a computer will be adapted via software. In evaluating whether a computer adapted by software is the result of ingenuity, it is useful to draw a distinction between the design of a computer program and the expression of that program in a specific programming language.
Designing a computer program comprises steps such as developing a method to be implemented by the computer and creating flow charts, design diagrams or pseudocode to describe the method steps to be performed by the computer in order to solve a problem. Furthermore, specific operations and their necessary sequence to enable the computer to implement the method are determined.
Once the design is completed, the computer program is expressed as lines of code. Expressing a computer program in a specific programming language, however, is considered to fall within the common general knowledge of an uninventive skilled programmer and is not considered to require inventive effort. This person skilled in the art is considered to be able to express the program in any number of different programming languages without the exercise of judgement or reasoning, and therefore without the exercise of ingenuity. Consequently, the inventive ingenuity necessary to provide patentability to a computer is never found simply in writing computer code to express a developed program.
16.03.02 Patentability and programming
A computer program is not, by itself, statutory subject-matter. However, if the result of running the program on a computer is to provide a novel and inventive technological solution to a technological problem, then the program is viewed as modifying the technological nature of the computer as a whole. The program in such cases is not a discrete element of a claim to the computer.
In considering whether a program will bestow patentability on an otherwise-known computer, the goal is therefore to identify whether it provides a novel and inventive technological solution to a technological problem.
In cases where the computer program expresses a statutory method (i.e. a series of steps which provides a technological solution to a technological problem), the program will be considered to be technological in nature. If the method is also both novel and inventive, then the programmed computer would be patentable. Thus, as noted in 16.02.03, where a computer implements the entirety of a patentable method, the computer is patentable. If the method, while technological, is not novel and inventive then it is not sufficient to render the computer patentable. Note that where the computer only implements part of a patentable method, care must be taken to base the assessment only on those parts of the method which take place on the computer, and not on the basis of the method as a whole.
On the other hand, where the computer program expresses a non-statutory method, the non-statutory method itself is not a patentable contribution, regardless of whether it is novel and inventive. The patentability of the computer claims in such cases will depend on additional elements defining how the computer is adapted to implement the method. These additional elements may or may not be novel and inventive, depending on their nature and complexity and the state of the art in programming at the relevant date. Where inventive effort is needed to enable a computer to implement a method in a novel way, a technological solution to a technological problem has been contributed.
In determining whether the program’s design is inventive or not, the examiner will be guided by the description. Paragraph 80(1)(d) of the Patent Rulesstates that the description shall "describe the invention in terms that allow the understanding of the technical problem, even if not expressly stated as such, and its solution".
Thus, it should be clear from the description what technical (technological) problem is being addressed, and what solution is being proposed by the inventors. Where the examiner is considering whether ingenuity was required in reducing an algorithm to a specific series of operations to be carried out by the computer program, the level of detail included in the description will be informative.
Where the application includes no details regarding how the computer program is to operate, this suggests the applicant considers the manner of implementing their method to be uninventive. It can be appropriately concluded by the examiner that there is no invention in the reduction to practice of the method. This conclusion is not prejudicial to the applicant, since even if the applicant were incorrect in considering the development of the program to be uninventive it would nevertheless follow that the description would not be enabling. Given the lack of disclosure, the programmer would be called upon to exercise inventive effort in determining how the program is to operate.
Where a greater level of detail is provided, the examiner must consider whether the specific implementation is an inventive solution to a technological problem in respect of the operation of the computer, and thereby determine if the computer itself has been contributed.
The following examples illustrate how the guidance in this chapter can be applied in practice, particularly where the subject-matter of the invention lies outside the field of computers per se.
An application discloses the atomic coordinates of protein X and a crystal structure of said protein. A three-dimensional molecular modelling algorithm is applied to the atomic coordinates to determine the spatial coordinates of the binding pocket of protein X and subsequently, in silico screening is performed to search for compounds that interact with protein X.
Prior art document D1 discloses:
- molecular modelling software capable of generating a 3D representation of a binding pocket from the atomic coordinates of a protein,
- that the software is capable of performing in silico screening to predict whether known molecules will bind with the binding pocket, and
- databases storing the atomic coordinates of various molecules.
- Atomic coordinates of protein X.
- A computer readable medium comprising the atomic coordinates of claim 1.
- A computer-implemented method for identifying compounds that interact with protein X, comprising the steps of:
- generating on a computer a three-dimensional model of protein X from the atomic coordinates of claim 1;
- identifying a binding pocket in the model of protein X;
- searching within a database of structurally defined compounds to identify compounds that are structurally complementary to the binding pocket of protein X;
- calculating the binding energy for each structurally complementary compound identified in step (c) to the binding pocket of protein X; and
- generating an output identifying compounds with binding energies meeting preselected conditions.
Claim 1 defines atomic coordinates, which are merely descriptive information relating to the protein. The claim is not, by its form, directed to a statutory invention under section 2 of the Patent Act.
Claim 2 defines this information when stored on a carrier. It is statutory in its form, but does not include a statutory contribution (the storage medium itself being, self-evidently, known).
Claim 3 defines a method whereby a computer generates a 3D model of a molecule, analyses the model to identify a binding pocket, and attempts to find target molecules whose structures are complementary to the binding pocket and which will bind to the binding pocket. Several of the steps involve computer operations that could potentially be technological innovations in the operation of a computer, including generating the 3D model (step a), analysing the model to identify a binding pocket (step b), and performing the shape-matching and energy minimization calculations (steps c and d). Claim 3 is directed, by its form, to a statutory method. In view of D1, however, these operations are already known and therefore do not form part of the contribution. The specific atomic coordinates of protein X do not modify the technological manner by which the computer performs the calculations, and therefore the model of protein X is a discrete element of the claim. The model of protein X is not itself a statutory invention (could not be a statutory contribution). After having set out a contribution analysis, in view of D1, the claim can be found defective under section 2 of the Patent Act on the basis that no contributed statutory subject-matter has been defined and the model of protein X is not a statutory invention.
The analysis of claim 3 would be guided by the description of the application. The level of detail provided in respect of how the computer performs the various modelling, analysis, shape fitting and energy minimization steps would be indicative of whether technological obstacles were overcome by the inventors in respect of these operations. A lack of detail, or for example a reference to the known molecular modelling software of D1, would be a strong indication that there was no innovation in how the computer performed these operations. Note that if specific details were given in respect of how the computer operations were performed, these would need to be claimed in order to distinguish the method from that of D1.
Note that the conclusion with respect to claim 3 is arrived at after having performed a contribution analysis, in view of the substance of the claimed invention. This can be contrasted with the statement made with respect to the claim in example 5 in section 17.02.04 of this manual, which indicates only that, by its form, that claim is directed to a statutory method.
An application discloses a vehicle wheel alignment system comprising a vehicle station used for vehicle testing, a set of optical sensors for measuring vehicle wheel alignment angles, an automated tool for adjusting wheel angles, and a computer station. Aligning vehicle wheels is a process which includes measuring and adjusting a number of wheel angles, such as camber, caster and toe angles, as well as the steering axis inclination. The computer runs software which compares angles measured by the optical sensors with manufacturer-recommended specifications stored in a database and produces an output signal which instructs the automated tool to perform a synchronized adjustment of any wheel angles that are outside predetermined limits. The automated tool is a single unit comprising several modules, with each module being capable of adjusting one of the wheel angles.
The prior art search reveals that the following features are known:
- a vehicle station used for alignment of vehicle wheels,
- measuring wheel alignment angles using a set of optical sensors,
- inputting the measured values to a computer,
- searching a database to determine if the measured angles meet manufacturer recommendations,
- the use of a computer to calculate required wheel angle corrections; and a tool for adjusting wheel angles.
The prior art does not disclose an automated tool for the synchronized adjustment of multiple wheel angles, comprising several modules in a single unit wherein each module adjusts a specific wheel angle.
- A method for vehicle wheel alignment comprising the steps of:
- measuring vehicle wheel alignment angles using a set of optical sensors,
- inputting the measured alignment angle values into a computer,
- searching for corresponding manufacturer recommended wheel angles stored in an electronic database,
- calculating differences between the measured values and the corresponding manufacturer recommended angles,
- producing a signal to actuate an automated tool for angle alignment, said signal being based on the calculated differences, and
- synchronously aligning wheel angles on the vehicle using the actuated tool.
- A system for vehicle wheel alignment comprising:
- a set of optical sensors for measuring vehicle wheel alignment angles;
- an automated tool for the synchronous adjustment of vehicle wheel angles, the automated tool being a single unit comprising several modules, with each module being capable of adjusting a specific wheel angle; and
- a general purpose computer in electronic communication with the optical sensors and the automated tool, wherein the computer comprises:
- means for receiving inputted data,
- means for retrieving manufacturer recommended wheel angle values from an electronic database,
- means to calculate differences between the measured values of the vehicle wheel alignment angles and the manufacturer recommended angles, and
- means to output a signal based on the calculated values to actuate the automated tool in order to synchronously align the vehicle wheel angles.
- A method for calculating a vehicle wheel angle condition comprising the steps of:
- inputting measured values of vehicle wheel angles into a computer,
- searching for corresponding manufacturer recommended wheel angles stored in an electronic database,
- calculating differences between the measured values and the recommended values, and
- displaying the calculated angle differences on a computer display.
- A system for calculating a vehicle wheel angle condition comprising:
- an input means for inputting measured values of vehicle wheel angles,
- a processor means for searching for corresponding manufacturer recommended angles stored in an electronic database and for calculating differences between the measured values and the manufacturer recommended angles, and
- an output means for displaying the calculated angle differences on a computer display.
Claim 1 defines a method involving the application of physical steps to solve a technological problem - how to align the various wheel angles synchronously rather than sequentially. The method, when considered as a whole, is statutory in form. The prior art discloses measuring wheel alignment angles, comparing the measured values to a database and performing the alignment sequentially in respect of each angle. There is no prior disclosure of performing the alignment synchronously. The patentability of the method depends on whether the examiner considers step f, which is novel, to also be inventive. Since the patentability of this claim depends on whether a statutory step is considered to be inventive, the critical assessment can be made under section 28.3 of the Patent Act.
Claim 2 defines a system to perform the method of claim 1. If the system has been specifically adapted in order to perform the method (in this case, the use of multiple modules in a single unit suggests that this is the case), then its patentability depends on the same factor of inventiveness as claim 1. As noted in 16.02.03, a machine specifically adapted to perform the entirety of a patentable method is patentable.
Claim 3 defines a method for performing calculations in order to obtain information. By its form, the claim includes physical steps that could, in theory, be patentable. It is clear, however, that the technological aspects of each step (how to input data on a computer, how to search databases, how to solve a simple algebraic equation on a computer, how to display a result) are known and form part of the common general knowledge in the art. In view of the common general knowledge in the art, it can be readily concluded that, in substance, the invention in claim 3 amounts to a mental method performed by a computer. Following 16.02.01, the addition of a computer does not make a non-statutory method statutory. Having determined that no statutory subject-matter has been contributed, the defect associated with claiming a mental method is identified under section 2 of the Patent Act.
Claim 4 defines a computer capable of performing the method of claim 3. For it to be patentable, some technological advance would have to have been made in the operation of the computer itself. The claim defines "an input means for inputting", "a processor means for searching ... and calculating" and "an output means for displaying". These are the discrete statutory elements of the system and represent hardware and software components capable of performing the stated functions. The remaining features of the claim pertain to what values are to be inputted, looked up, used in the calculations and displayed. These features have purely intellectual significance and do not define how the system is operated as a technological entity. As drafted, it is self-evident that the technological functionality required of the defined statutory means is present in a general purpose computer. The claimed matter lacks novelty in view of the common general knowledge in the field of computers and does not comply with section 28.2 of the Patent Act. The claim can also be considered defective under section 2 of the Patent Act for attempting to distinguish over known subject-matter by features having a solely intellectual significance.
An invention must be useful, in the sense of doing whatever was promised by the inventors. The utility of the claimed subject-matter must be established by demonstration or sound prediction, and this subject-matter must be operable to produce the promised result in a manner that is controllable and reproducible.
A computer is generally considered to be capable of reproducibly performing whatever operations its hardware and programming enable. The utility of a computer-implemented invention is not guaranteed by this fact, however. Even where the components of the computer are working as intended, the invention as a whole may require other elements for its proper operation.
Where the judgement or interpretative reasoning of an operator is implicated in the proper operation of the claimed invention, such as deciding on suitable computer-managed operations through the exercise of judgement and reasoning, the criterion of reproducibility will not be satisfied. Where an operator’s input is required, but there is no judgement associated with the input, the need to rely on the input does not cause a lack of reproducibility [see section 12.08.02 of this manual].4
Where a computer-implemented method is being claimed, it must be unambiguously clear which steps of the method are being carried out on or by a computer [see 16.08.01].
The general requirements for a sufficient disclosure of an invention are detailed in Chapter 9 of this manual, and apply equally to computer-implemented inventions as to any other.
Certain aspects of a correct and full description of a computer-implemented invention warrant particular attention, and are discussed in the following sections.
16.05.01 Written description and enablement
In accordance with subsection 27(3) of the Patent Act, the specification must correctly and fully describe the invention. In practice, this requirement relates to the description, which must support the claims in accordance with section 84 of the Patent Rules.
The two requirements of a description are i) that it disclose in clear and unambiguous terms the nature of the claimed invention (written description requirement) and ii) that it provide any teachings necessary to allow a person skilled in the art to operate the claimed invention (enablement requirement). A person skilled in the art must be able to understand, in view of the specification alone when read in light of their common general knowledge, what the invention is, what it does, and how to make it work.
The level of description necessary will depend on the facts of each case. In general, where aspects of common general knowledge are referred to, it may not be necessary to do more than identify a well-known element or technique forming part of this common stock of information. Where specific information is required that does not form part of the common general knowledge, this must be explicitly provided. For example, if certain hardware and software are known in the art at the date of invention, it will be obvious that they can be used to achieve known or predictable results or perform known or predictable operations. It may be possible to describe and enable those aspects of the invention that relate to this known hardware or software simply by identifying the particular hardware or software element to be used and the known or predictable result to be achieved. In contrast, if the desired result requires a novel and unobvious application of hardware or software, a greater level of detail regarding how this result is to be achieved would be necessary.
Where a claim defines the invention in terms of means-plus-function statements, the nature of the means, and where applicable how they are arranged to provide the stated functionality, must be clear to the person skilled in the art. The level of description necessary to correctly and fully describe the means, and their arrangement where applicable, will depend on the state of the common general knowledge in the art. Where limited description is provided, this is taken as an indication that the applicant (rightly or wrongly) considers that the selection of suitable means to perform the stated function would be readily apparent to a person skilled in the art.
Computer-implemented inventions are often described in terms of a flow chart that illustrates the algorithm or logic tree on which the operation of the invention is based. Typically, the flow chart will set out the operations performed by a computer. Flow charts are diagrams having a series of boxes, each representing a state or a step in an algorithm, and arrows that interconnect these boxes to describe the order or relationship of the various steps.
It will often be the case that the algorithm or logic performed by the computer lie at the heart of the invention. In such circumstances, a full description of the algorithm or logic tree should be provided. Where the algorithm or logic is described by reference to a flow chart, presented as a drawing, a written explanation of the flow chart is necessary to provide support for any claims that refer to the algorithm or logic.
In order to successfully practice the invention, it is necessary for the person skilled in the art to be able to put each step in the flow chart into operation. For the description to be enabling, the person skilled in the art must be able to do this without recourse to inventive ingenuity or undue experimentation. The flow chart, and any accompanying description, must therefore provide any information necessary to enable the algorithm to be so practised.
The amount of written description necessary to properly describe and enable an algorithm depends on the relationship of each step to the common general knowledge. Where the algorithm invokes well-known operations, it may be that very little or no specific description is necessary for the purposes of proper description or enablement. If, in contrast, the specific operations necessary to enable a step in the algorithm would not be obvious to the person skilled in the art, these operations would need to be fully described.
Furthermore, if the common general knowledge of the person skilled in the art would lead them to attempt to enable the algorithm in ways that would not in fact work, the description should provide sufficient instructions to allow the person skilled in the art to arrive at operable embodiments and avoid inoperative ones.
Where very little explanation is given regarding how a step in a method is to be implemented by a computer, this will generally be understood as an indication that the applicant, rightly or wrongly, does not consider the implementation of that step to require inventive effort on the part of the person skilled in the art.
16.05.02 Source code or pseudocode
Source code or pseudocode may be provided as part of the description of a computer-implemented invention, but will generally not be considered, by themselves, to provide a full and enabling description of an invention.
Where source code is provided, it must be remembered that the significance of the commands used in specific code may depend on the intended platform, and the code itself will generally not be a clear and unambiguous description of the invention.
Pseudocode refers to a semi-structured, natural language explanation of the functioning of an intended program, and may be used as an alternative to a flowchart to provide a set of instructions with a logical sequence but which do not follow the syntax of any particular programming language. Pseudocode will therefore usually have a greater value in describing an invention than source code in a specific programming language. However, in the same way that a flowchart will usually require an accompanying description in order to fully describe an invention, pseudocode alone will typically not be sufficient to provide a full and unambiguous description of an invention.
16.05.03 Common general knowledge and programming
The activities required to reduce a specific series of logic instructions to a computer code are considered to form part of the common general knowledge of a skilled programmer. It is, therefore, typically not necessary for an inventor to describe how to write computer code, either in general or in respect of a specific computer language.
Where the algorithm to be written out as lines of code only invokes well-known operations, or if specific and unobvious logic operations are required, where these have been clearly described, the act of expressing the specific commands as lines of code is considered not to require inventive ingenuity or undue effort.
Where the description only discloses in broad terms what the program is intended to do, and it would not be clear to the person skilled in the art in view of their common general knowledge what the required operations are or the logic necessary to enable specific required operations, then the skilled programmer has not been given sufficient instructions to create the necessary code. To create a working program, the programmer would first have to exercise ingenuity in order to solve the problem of reducing the concepts disclosed to a series of practical instructions (i.e. would need to design the program; see 16.03.01).
As with every invention, in order to be patentable a computer-implemented invention must not be anticipated by prior art that is relevant under section 28.2 of the Patent Act.
To be anticipatory, a single prior written disclosure, when understood in light of the common general knowledge, must both provide a written description of the claimed invention and sufficient instructions to enable the invention to be practised by the person skilled in the art without recourse to inventive effort or undue burden.
In considering whether a claimed invention is anticipated, its essential elements must be compared to those taught in a single prior disclosure. If all its essential elements were previously disclosed, the invention is anticipated. The essential elements of an invention are those that have a bearing on what the invention will do and how it does it (i.e. on its practical and promised utility) [see section 13.05.03 of this manual].
When considering a computer device (machine) claim, the effect of any commands being implemented by software must be carefully considered in order to determine if they lead to a technological effect relevant to the promised utility of the device. If so, those commands are essential elements of the device, and must be considered during the novelty analysis. If the commands are simply an application of functionality the machine was already known to possess, they are not considered to be essential elements of the machine itself.
16.06.01 Anticipation by prior use
Although the majority of prior art consists of prior written disclosures, a prior sale or use of an invention can also amount to an anticipation, provided it makes available information which describes the claimed invention and amounts to an enabling disclosure.5
With regard to computer-implemented inventions, software that was available to the public prior to the claim date can be considered as prior art. To be considered to have disclosed the claimed invention, the software must provide to the person skilled in the art information sufficient to comprehend the invention.6 The use of a product makes the invention part of the state of the art only so far as that use makes available the necessary information.7 The information made available must be such that if the person skilled in the art were to write down that information, they would have drafted a clear and unambiguous description of the claimed invention.8
Thus, if the claimed invention is defined broadly using functional language, any prior art software that achieves the same function could be anticipatory. In contrast, if the claimed invention defines a particular method for arriving at a specific result, prior art software would only be anticipatory if it could be established, on the balance of probabilities, that it was using the same method for arriving at the result.
As was noted in Baker Petrolite Corp. v. Canwell Enviro-Industries Ltd., in determining whether a publicly available product anticipates a claimed invention, the ability of the person skilled in the art to reverse engineer the product "in accordance with known analytical techniques" may be relevant.9 Therefore, where relevant, the ability of the person skilled in the art to reverse engineer software, without inventive effort, in order to ascertain what method it implements must be considered. Note that what is considered is the ability to reverse engineer, such as by decompiling; it is not necessary to establish that the product was actually reverse engineered.10
In considering whether anticipation by prior sale or use of an invention has occurred, the grace period provided for in paragraph 28.2(1)(a) of the Patent Act applies in respect of any making available of the invention by the applicant or by a person who obtained the relevant knowledge directly or indirectly from the applicant.
As with every invention, in order to be patentable a computer-implemented invention must not be rendered obvious by prior art that is relevant under section 28.3 of the Patent Act.
Obviousness is evaluated in view of the overall state of the art contained in the prior art, when this is considered as a whole in light of the common general knowledge of the person skilled in the art. A claimed invention must be the result of ingenuity, and a conclusion of obviousness is equivalent to a conclusion of lack of inventive step. To be considered obvious, the teachings present in the prior art must be sufficient so that, if combined, they would lead to the claimed invention. Furthermore, it must be uninventive (obvious) to combine the necessary teachings.
As with the assessment of novelty, the assessment of obviousness is based on the essential elements of the claimed invention. There is nothing inventive in adding a non-essential element to an invention, since by definition the non-essential element is irrelevant to the invention’s successful operation.
It is considered obvious that computers can be used to automate many manual operations, and the idea of automating a manual process is, in the absence of reasons to conclude the contrary, considered to be uninventive. The inventive step necessary to support a claim to a computer-automated version of a known manual method therefore must typically be found in the solution to specific challenges attendant to enabling the automation.
Where a computer-implemented invention aims to achieve a new unitary result through the use of a combination of known hardware and software, an inventive step may exist by virtue of the recognition that the combination will achieve that result. If, in contrast, using the hardware and software together merely results in a predictable outcome, the alleged invention is a mere aggregation.
A computer-implemented invention is typically claimed as a machine, a method (an art or process) or a manufacture (computer-readable medium). As with any type of claim, a claim to a computer-implemented invention must meet the requirements of, inter alia, subsection 27(4) of the Patent Act and section 84 of the Patent Rules.
16.08.01 Computer-implemented method claims
Where a claim is directed to a method that is to be implemented in whole or in part by computer, it must be unambiguously clear which steps of the method are being carried out by the computer.
Specifying in the preamble that a method is "computer-implemented" implies that some, but not necessarily all, steps of the method are performed by a computer. Where, in view of the specification as a whole, a given step can be understood as being performed either by a computer or by a person, it should generally not be presumed that the claimed method requires that step to be performed by a computer.
16.08.02 Computer claims
Where a claim is directed to a machine, it must be defined in terms of physical components.
Many computer claims will define the device in terms of means statements that set out what the device will do. Where a means statement is understood to be a software means, it must be specified that the software is stored on a physical memory. This can be done in the claim itself or in the description, with due regard being given to the need for the language of the claim to be clear, concise and unambiguous.
In some cases, it is possible that the means referred to in a means statement can be either hardware or software. In such cases, it may be most convenient to specify in the description that the means statement refers to either hardware or software on a physical memory.
16.08.03 System claims
The term system, depending on the context in which it is used, may refer to a machine (a device or apparatus, or a network of devices or apparatuses), a computer program or set of computer programs (e.g. a database management system or an operating system), or a method. Consequently, care must be taken to ensure that its intended meaning in a given context is unambiguous.
In the computer arts, where it is not clear that something else is meant it may be presumed that the term system refers to a machine.11
Regardless of which meaning is intended, it must be clear which category of invention the claimed subject-matter is meant to belong to. Where the claimed system is not a machine, it may be necessary to explicitly define that it is, for example, a software product or method in order to comply with subsection 27(4) of the Patent Act.
16.08.04 Software product claims
A computer program (software), when claimed per se, is considered by the Office to be an abstract scheme, plan or set of rules for operating a computer [see section 12.06.02 of this manual], and consequently not to be an invention within the meaning of section 2 of the Patent Act.
Under certain circumstances, software can be claimed by directing the claim to a physical memory storing the computer program. A claim to a physical memory falls within the category manufacture.
In defining a software product, the form of the claim is important. The preamble must clearly direct the claim to a physical product limited by the computer program stored thereon, and not to a computer program limited by having been stored on a memory. Thus, the preamble "a physical memory having stored thereon..." directs the claim to a statutory embodiment, whereas "a computer program stored on a physical memory" directs the claim to a computer program and thus to excluded subject-matter.
Furthermore, it must be explicitly defined that the computer program is present as machine-executable code. Only machine-executable code can change the technological functionality of the physical memory storing the program. Non-executable code is considered to be mere descriptive matter [see section 12.06.04 of this manual].
Where the computer program would cause the device it controls to provide a technological solution to a technological problem, the "software-modified physical memory" is a single discrete element. Where the program is novel and inventive, the claim will include a statutory contribution [see section 12.06.07 of this manual]. These, then, are the circumstances under which a software product comprising a physical memory storing executable code can be patented.
An application is directed to a computer-implemented method for determining a channel assignment in a Code Division Multiple Access (CDMA) network. The method improves CDMA networks by determining CDMA channel assignments according to predetermined constraints. It has been discovered that appropriate predetermined constraints improve efficiency in the network.
The prior art search reveals that the following features were known from D1:
- CDMA network with channel assignments
- A computer-implemented method for performing the channel assignment
D1 does not disclose the use of predetermined constraints to modify channel assignments
- A computer-implemented method for optimizing channel assignments in a CDMA network, comprising the steps of:
- performing an initial channel assignment;
- comparing the channel assignment with predetermined constraints to determine a difference;
- modifying said initial channel assignment in accordance with said difference; and
- changing the channel assignment in the CDMA network in accordance with the modified channel assignment.
- A computer program for optimizing channel assignments in a CDMA network according to the method of claim 1.
- A computer readable memory having recorded thereon statements and instructions for execution by a computer, said statements and instructions comprising:
- code means for performing an initial channel assignment;
- code means for comparing the channel assignment with predetermined constraints to determine a difference;
- code means for modifying said initial channel assignment in accordance with said difference; and
- code means for changing the channel assignment in the CDMA network in accordance with the modified channel assignment.
- A computer program product comprising a computer readable memory storing computer executable instructions thereon that when executed by a computer perform the method steps of claim 1.
Claim 1 defines a technological method comprising physical steps, and is therefore statutory in form. Assigning channels in a CDMA network according to the method results in an improved communications network; the method therefore provides a technological solution to a practical problem and the steps pertaining to the predetermined constraints are technologically distinct from similar steps performed without the constraints. The prior art does not disclose the feature of using predetermined constraints to modify an initial channel assignment in a CDMA network. Presuming that the examiner determines this to be an inventive feature, at least one physical step in the method will have been contributed. The claim would then include a statutory contribution and be allowable. Note that, to avoid indefiniteness, it would be necessary in an actual claim to define the actual "predetermined constraints" being relied on.
Claim 2 defines a computer program per se and is therefore directed to non-statutory subject matter by its form. The claim is objected to under section 2 of the Patent Act.
Claims 3 and 4 are alternative ways for defining a computer product. Both are acceptable in their form. To be patentable, the physical memory must be considered to be technologically distinct from other physical memories. This is considered to be the case where the computer program stored on the memory would cause a computer running the program to itself be a technological solution to a technological problem. A computer programmed in a novel way to implement the entirety of an inventive method is patentable in its own right [see section 12.06.06b of this manual]. Where the programmed device would be patentable, a physical memory storing the program as computer executable code is also patentable. Therefore, where the method of claim 1 would be patentable, either of claim 3 or claim 4 would also be allowable.
16.08.05 Means statements in claims
A "means" statement defines some part of an invention in terms of a means suitable for achieving a result, rather than by explicitly defining those specific things that would yield the result. Means statements are not objectionable per se, provided the claim meets all the requirements of the Patent Act and Patent Rules.
In order for a means statement to be properly supported, the description must describe what types of means are contemplated by the inventor unless this would be obvious to the person skilled in the art in view of their common general knowledge. Where it would not be obvious to the person skilled in the art which means fall within the scope of a defined means statement, the claim may be defective for lack of proper support or for indefiniteness. A means statement may refer to hardware or to software, and it should be clear in the context of the claim what the means statement refers to.
In the computer arts, the term "means" is often used in reference to a computer running software. Unless the context of the claim precludes this interpretation, a means statement that encompasses software may be understood to refer to software stored on a physical memory and being executed by a processor.
16.08.06 Mixed claim types
The subject-matter of a claim must belong to a category of invention as defined in section 2 of the Patent Act. The elements used to define the subject-matter must consequently be of a type appropriate to that category of invention.
Where a claim in one category of invention (e.g. a machine) defines its subject matter in terms of elements from another category (e.g. method steps), there is a risk of ambiguity over the intended subject-matter.
Where a claim is directed to a machine, it must define its subject-matter in terms of structural components whereby the machine can be distinguished from all other machines. Given that computers are often defined in terms of means statements that provide functional limitations to the machine, care must be taken to ensure these means statements can be understood to be physical components [see 16.08.02].12
Where a claim is directed to a method of using a device, it must include at least one step whereby the device is applied to the task at hand. A claim simply reading "A method of using the device of claim 1." may be considered indefinite, for example, since the manner by which the device is used has not been defined.
Note that the "product-by-process" claim type defines a product wholly or partly in terms of the process by which it is produced. It is not a format for defining a product in terms of the method for which it will be used.
16.09 Special topics
This section addresses specific types of subject-matter for which particular attention, elaboration or clarification was considered appropriate.
In the following sections, the example claims are analysed following the approach set out in Chapter 13 [see, in particular, section 13.05 of this manual and its various subsections]. Furthermore, the analyses focus primarily on the question of whether a statutory contribution exists on the presumed facts of each example. In attempting to provide simplified examples, little consideration has been given to the question of enablement. Many of the example claims are defined in terms of broad functional statements ("means for" statements). In practice, whether these are properly supported would depend on the degree of disclosure and on the common general knowledge in the field [see section 16.05].
16.09.01 Graphical user interfaces
A "Graphical User Interface" (GUI), as the name implies, refers to a type of interface for enabling a user to interact with a computer or a computer-based device. While early computers used command line interfaces that required the user to enter textual commands to control a computer, graphical user interfaces enable the user to interact with the computer via visual elements such as icons, buttons, menus, toolbars and other graphical screen elements.
The term GUI is considered by the Office to refer only to the arrangement of visual elements that will be displayed on a screen, and not to include any of the hardware or software components that may be required to generate the graphical user interface or to make it functional. A GUI as such is consequently considered to be information, that when displayed on a screen is subject to the practice set out in section 12.06.04 of this manual.
An invention is considered to be a solution to a practical problem, which the Office considers to imply a "technological solution to a practical problem" [see section 13.05.01 of this manual]. Features having purely intellectual or aesthetic significance are not statutory subject matter and cannot provide a statutory contribution [see section Features of solely intellectual or aesthetic significance 12.06.01 of this manual]. Any display of information wherein the sole contribution is in the information itself amounts to non-functional descriptive matter, and is not a patentable contribution [see section 12.06.04 of this manual].
The specific arrangement of graphical elements on a screen, or in other words the visual design that defines a graphical user interface, is viewed by the Office as not constituting a patentable contribution where the visual design of the graphical user interface does not provide a technological solution to a practical problem. Rather, it is viewed as having purely aesthetic significance and amounts to non-functional descriptive matter.
However, the presence of a graphical user interface does not exclude an invention from patentability if the criteria for patentability are satisfied. A GUI that has been integrated with statutory subject matter may be patentable. Claims including a GUI must be directed to one of the categories of invention, as defined in section 2 of the Patent Act.
An application discloses a portable device that allows a user to read an electronic book. The device comprises a touch screen, and displays the electronic book using an efficient graphical user interface that provides buttons for frequently used operations at the top of the screen, hyperlinks to other content within the book on the left of the screen, and a central frame for displaying the content of the book. The device also allows the user to enter personal notes at any location within the content of the electronic book. The personal notes are stored within XML tags that are embedded within the content, and a graphical icon is displayed at the location of each XML tag. The user is able to view stored personal notes by clicking on the relevant graphical icon. The touch screen is able to recognize advanced user touch commands, and the device comprises software to interpret such touch commands and perform specific functions.
The prior art search reveals that the following features are known from D1:
- displaying an electronic book on a portable device having a touch screen;
- displaying a graphical user interface including common elements such as hyperlinks, buttons, scrollbars, content frames and input boxes;
- the touch screen allows the user to point, click and drag items on the GUI.
The prior art does not disclose the efficient GUI arrangement of this application, the feature of storing personal notes using XML, or the feature of recognizing advanced touch commands.
- A graphical user interface for a portable electronic book reading device having a touch screen, the graphical user interface displaying on the touch screen:
- a series of buttons appearing at the top of the screen representing frequently performed operations;
- a region appearing at the left hand side of the screen containing a plurality of hyperlinks to other content within the electronic book;
- a scrollbar appearing at the right hand side of the screen;
- a central frame displaying a page of content from the electronic book;
- an input box appearing at the bottom of the screen for accepting user input.
- A portable electronic book reading device having a touch screen displaying the GUI of claim 1.
- A computer readable medium comprising computer instructions that when executed by a portable electronic book reading device having a touch screen displays the GUI of claim 1.
- The computer readable medium of claim 3 further comprising instructions that when executed enable the portable electronic book reading device to:
- accept a text input from the input box representing a user's personal notes;
- identify a specific location within the page currently being displayed on the screen;
- embed the personal notes within the content of the electronic book at the identified location using predefined XML tags;
- parse the content of the electronic book to identify all embedded XML tags and to display a graphical icon at the location of each XML tag; and
- display the personal notes embedded within an XML tag upon user request.
- The portable electronic book reading device of claim 2, wherein the touch screen is configured to recognize a pinching motion touch command by the user, and wherein the touch command enables the user to flip to the next or previous page of content by performing the touch command and dragging the page to the right or left hand side of the touch screen.
Claim 1 defines a graphical user interface per se and is therefore directed to non-statutory subject matter by its form. The claim is objected to under section 2 of the Patent Act.
Claim 2, in contrast, is directed to a device and is therefore not objectionable in terms of its form. Upon closer examination, it is evident that claim 2 contains both statutory and non-statutory features. The portable device and the touch screen are two statutory features, while the arrangement of screen elements as defined in the claim is a non-statutory feature. The touch screen provides a technological limitation to the portable device, so the two are considered to be a single discrete element of the claim. However, the arrangement of screen elements does not provide a technological limitation to the portable device having a touch screen, and is therefore considered to be a second discrete element of the claim. In order to determine if the subject matter of claim 2 includes a statutory contribution, the prior art features disclosed in D1 must be compared to the statutory discrete element recited in the claim. Given that the prior art discloses a portable electronic book reading device having a touch screen, this feature does not form part of the contribution of the claim. It is not necessary to assess whether the arrangement of screen elements has been contributed, since it is a non-statutory discrete element and cannot itself result in a statutory invention. Following the contribution analysis, it is determined that claim 2 does not contain a statutory contribution. An objection under section 2 of the Patent Act on the basis of the non-statutory subject matter would be appropriate, since this matter is the point of the invention.
Claim 3 defines a computer program on a physical medium. The software allows the GUI of claim 1 to be displayed. The claim does not define any features that define a technological solution to a technological problem. The GUI of claim 1 remains a discrete element of the claim, and the physical memory comprising software that enables information to be displayed is a second discrete element of the claim. It is clear from D1 that software for displaying information was known in the prior art, and the memory having such software stored on it is therefore not part of the contribution. The claim can be objected to in the same manner as was claim 2.
Claim 4 is again directed to a computer program on a physical medium, but recites additional features allowing the user to embed personal notes at specific locations within the content of the electronic book using predefined XML tags, and to subsequently display the personal notes upon request. These features work together to modify the way in which the device executing the instructions stored on the computer readable medium operates, in such a way that they provide new functionality to solve a practical problem. In this case, the practical problem being how to enable the user to store and retrieve personal notes at specific locations within the content of an electronic book. Since the device itself would provide a technological solution to a technological problem and would be considered statutory, the computer readable medium storing the instructions that would control the device is also considered to be statutory [see 16.08.04]. If the examiner determines, based on the state of the art at the claim date, that the feature of embedding notes within the content of an electronic book using XML tags is novel and inventive, then this would be regarded as a statutory contribution and the claim would be allowable.
Claim 5 recites an additional feature of recognizing a specific touch command performed by the user of the touch screen, and performing a specific functionality based on such a touch command. Although the prior art touch screen allowed the user to point and click, it did not have the ability to recognize a complex motion such as a pinching motion similar to how a person would flip a page in a physical book. This feature is regarded as a technological feature providing new functionality to solve a practical problem, which is in this case to provide functionality to the touch screen to enable the user to conveniently browse through an electronic book using normal hand gestures. Since this feature is a technological modification to the portable electronic device, the overall modified device is now considered to be a single discrete element. If the examiner determines that this functionality is novel and inventive, a statutory contribution would be present in the claim and it would be allowable.
An application discloses a system for controlling the operation of network devices. Each device stores self-describing information detailing what type of device it is, and what control options are available to network users. A graphical user interface displays unique icons representing each device on the network, as well as a customized menu for each device showing available control options. The unique icon and the available control options are retrieved from each device on the network dynamically, resulting in a graphical user interface that accurately reflects the network at all times, even when changes are made to the network or the network devices.
The prior art search reveals that the following features were known from D1:
- A system for controlling network devices
- The system uses a GUI to display the devices and the available control operations
The GUI of D1 is static and does not obtain self-describing information from the devices.
- A graphical user interface generated by a computer program for facilitating the control of devices located on a network, comprising:
- a first graphical element representing each device located on the network; and
- a second graphical element representing available control options for each of the devices, wherein the computer program dynamically retrieves the graphical representations and available control options from self-describing information stored within each of the devices.
- A computer-implemented method for interacting with devices located on a network, comprising:
- displaying a first graphical element representing each device located on the network;
- displaying a second graphical element representing available control options for each of the devices; and
- dynamically retrieving the graphical representations and available control options from self-describing information stored within each of the devices.
Claim 1 is directed to a GUI, and further defines that the GUI is generated by a computer program and that program will dynamically retrieve certain information from devices attached to the computer. The claim is directed to excluded subject-matter by its form, however, and is objected to under section 2 of the Patent Act. The presence of the computer program feature indicates how the GUI is generated and modified, but the claim itself is still directed to a GUI per se.
Claim 2 is directed to a computer-implemented method wherein graphical elements are displayed and wherein the content of the display is dynamically updated by the computer program that generates the GUI. This method of controlling the operation of the computer provides a technological solution (dynamic querying) to the practical (technological) problem of having a current list of control options available for each peripheral device attached to the computer. The method enables the graphical user interface to be dynamically updated as devices on the network are added, removed or modified, and results in a more efficient system for controlling network devices. The method is statutory in form. Each step in the method includes both a statutory discrete element (displaying graphical elements or dynamically retrieving information) and a non-statutory discrete element (the information that is displayed or retrieved, and which does not limit the technological aspects of displaying or retrieving). The statutory steps of displaying graphical elements and dynamically retrieving information from the peripheral devices would be examined to determine if the overall method is both novel and inventive over the prior art. Since the steps operate together to provide a unitary result, they are compared to the prior art in combination.
Note that if the method is considered to be novel and inventive, a claim to a device operating the method or to a physical memory storing the software that enables the method would also be allowable.
16.09.02 Data structures
A data structure is a format for organizing and storing a collection of related data items to suit a specific purpose. A particular data structure may enable or facilitate a specific set of operations to be performed on the data items easily and efficiently, for example to improve the performance of computer programs and minimize the consumption of computer resources. Examples of data structures are arrays, records, linked lists, stacks and trees.
The Office considers a data structure to be an abstract idea or plan for organizing data items, and not to include the physical medium upon which the data structure is to be stored. A data structure per se is consequently considered to be disembodied and not an invention within the meaning of section 2 of the Patent Act [see section 12.06.02 of this manual]. For a data structure to have an impact on the patentability of a claimed invention, it must in some way limit the technological nature of a statutory element in the claim.
An application discloses a networking system that guarantees a quality of service for a networking connection, wherein the system comprises networking equipment that is used to transmit data packets across a network. The data packets include a quality of service indicator that is read by other networking equipment along the path of the transmission, such that the networking equipment will prioritize delivery of packets with a higher quality of service guarantee.
The prior art search reveals that the following features are known from D1:
- Networking equipment for transporting data packets from source to destination
- Data packets having a header and a payload for transporting data through a network
- Packet header containing control bits including addresses and error correction bits
The prior art does not disclose prioritizing packet delivery based on a quality of service indicator within the packet header.
- A data structure for transmitting data over a network with a guaranteed transmission quality of service, the data structure being a packet comprising:
- a payload containing the data to be transmitted;
- a header containing control bits for managing the transmission of the data, including:
- a source address indicating the source of the data;
- a destination address indicating the destination of the data;
- error detection and correction bits;
- an 8-bit quality of service indicator that is used by networking equipment to prioritize delivery of packets.
- A memory for storing data for access by an application program being executed on a data processing system, the memory storing the data structure of claim 1.
- A computer-implemented method for data transmission with a guaranteed quality of service comprising:
- transmitting and receiving data over a network using data packets according to claim 1; and
- prioritizing the delivery of data packets on the basis of the quality of service indicator.
Claim 1 defines a data structure per se, and is therefore directed to non-statutory subject matter by its form.
Claim 2, in contrast, is directed in form to a physical memory, and consequently to a statutory manufacture. The data stored on the memory does not alter the technological character of the memory, and therefore is a discrete element of the claim. The claim, consequently does not include a statutory contribution. Since the data structure is the point of the invention, an objection could be presented under section 2 of the Patent Act on the basis of a contribution analysis. Note that the conclusion differs from that which could be reached if the physical memory were storing executable computer code that made use of the structure to render a computer more efficient or reliable.
Claim 3 defines a method for transmitting and receiving data wherein the system can prioritize data based on its quality of service indicator. The data structure is made use of to control the manner by which data packets are transmitted, and this changes the technological character of step b). The step of prioritizing delivery is understood to involve an analysis of the packets, an evaluation of network traffic and available bandwidth, possibly storing certain packets temporarily, etc. Depending upon the state of the art and the common general knowledge in the field, such details might need to be defined in an actual claim. Both steps in the method are technological in nature, and the method provides a technological solution to a practical problem and is statutory. If the data structure and its technological effect are found to be novel and inventive, the method would be patentable.
In general terms, a database refers to a collection of information organized so that it can be stored, searched and retrieved easily. Computer databases can be implemented in many forms, the simplest being to store information in a text file in a specific format (a data structure) to enable the information to be subsequently retrieved. More advanced implementations employ specialized software, often referred to as a database management system, to control access to the stored information. Examples of common database management systems in use today include MicrosoftTM AccessTM, MySQLTM, and OracleTM.
The Office interprets a database to be solely a collection of information, and not to include the physical medium upon which the database is stored. A database per se is consequently considered to be disembodied and not an invention within the meaning of section 2 of the Patent Act [see section 12.06.02 of this manual]. Where a database, as a feature of a claim, limits the technological nature of a statutory element in the claim it can result in a statutory contribution.
A database management system is generally understood in the art to be a computer program [see 16.08.03 on system claims]. A claim to a database management system computer program is not directed to a statutory invention whereas a claim to a physical memory storing a database management system defines, in form, a statutory manufacture [see 16.08.04].
An application discloses a distributed database system to reduce the load on database servers in a network. The same database is stored on multiple database servers. A common control server receives database access requests and distributes them among the multiple database servers. The control server keeps track of the load on each database server, and distributes requests in order to evenly distribute the load on the servers. The control server also periodically synchronises the data across the database servers during periods of lighter load, in order to maximise performance of the overall distributed database system. The application describes the use of the distributed database system for a web based social networking application.
The prior art search reveals that the following features are known from document D1:
- a web application using a distributed database system,
- that database access requests are distributed across the system, and
- that synchronisation is performed at set intervals
The prior art does not disclose the feature of a common control server keeping track of the load on the database servers in order to evenly distribute access requests and scheduling database synchronisation during periods of light server load, which results in improved performance of the overall distributed database system.
- A distributed database system comprising:
- a plurality of database servers, each of which stores a copy of a database;
- a control server for controlling the distributed database system, wherein the control server comprises:
- means for distributing received database access requests among the plurality of database servers; and
- means for performing database synchronisation to synchronise the content of the databases stored on the database servers.
- The system of claim 1, further comprising:
- iii. a web-based social networking application server; wherein the distributed database is used to store for each user of the application:
- account information;
- profile information;
- a list of relationships between users; and
- messages sent and received by each user.
- iii. a web-based social networking application server; wherein the distributed database is used to store for each user of the application:
- The system of claim 2, wherein the control server further comprises:
- c. means for tracking the load of each of the plurality of database servers; wherein the database access requests are distributed among the plurality of database servers according to the load of each server in order to evenly distribute the load among the database servers; and wherein the database synchronisation is performed during periods where the database servers are experiencing a lighter than normal load.
- A database comprising data related to a web-based social networking application, wherein the database includes for each user:
- account information;
- profile information;
- a list of relationships between users; and
- messages sent and received by each user.
Claim 1 defines a plurality of servers i), wherein each server stores a copy of the database, and a control server ii) which comprises means to manage the system as a whole. The means statements are understood to be software stored on a physical memory and executed by the server’s processor. The means both alter the technological operation of the control server ii), and the "software on a physical memory" means are therefore statutory elements of the claim. Equivalently, the "means-modified control server" may be considered a single discrete element of the claim. Each server i) is also a discrete element of the claim, as is the database (which does not provide a technological limitation to the server storing it). The patentability of the claim will depend on whether server ii) is found to be novel and inventive, since the servers i) are known and since the database is not a statutory feature of the claim. In view of D1, the server ii) would be considered novel. For the sake of this example, it is presumed that the server is found to be obvious in view of the cited prior art and knowledge in the field. The claim would therefore be objected to under section 28.3 of the Patent Act.
Claim 2 adds to the features of claim 1 a web-based social network application server, and defines the information stored for each user of the system. The application server is a statutory feature. In this example claim, there is insufficient information defined about the nature of any software on the server (i.e. how the social network application works) to determine whether the software would enable the server to solve a particular technological problem. In view of D1, which discloses a web-based application, it does not appear that the server iii) distinguishes the system over the prior art. The further feature of the claim, the specific information stored, is a non-statutory feature which does not provide a technological limitation to the server. The data is therefore a discrete element of the claim. To the extent it appears the applicant is asserting the data in order to distinguish the invention, an objection under section 2 of the Patent Act, referring to a contribution analysis, is warranted.
Claim 3 adds to claim 2 the additional feature of the system comprising means for tracking the load of the database servers, distributing database access requests according to this information in order to evenly distribute the load on the servers, and performing synchronization during periods of lighter than normal load. This means is, again, understood to be software stored on a physical memory and being executed by a processor. The means provides new technological functionality to the control server, and is a statutory "software on a physical memory" element of the claim. Equivalently, the means-modified server can be considered to be a single discrete element of the claim. If the examiner considers that the server having a means to provide the defined functionality is novel and inventive over the prior art, claim 3 would be considered to involve a statutory contribution and would be allowable.
Claim 4 defines a database per se, and is therefore directed to non-statutory subject matter by its form. The examiner will object to this claim under section 2 of the Patent Act.
16.09.04 Computer-aided design (CAD) programs
A computer-aided design program is a computer program specifically used in the design of objects and to perform simulations on designed objects before the final product is actually built, thereby leading to significant reductions in time and cost. CAD programs are used in many industries including architecture, automotive, electronics and computer animation among others.
CAD programs are typically not capable of independently performing the act of designing; rather they are tools that are used by designers to help with the design process. Inventions related to CAD programs will therefore usually focus on the functionality of the CAD program as a tool used to assist the designer, and not on their ability to independently carry out a design. While methods of designing may be viewed as schemes or mental processes, which are disembodied and not a practical form of an invention, CAD programs are tools that are used during the design process and may comprise a technological contribution.
A CAD program is a specialized type of computer program, and consequently the practices pertaining to computer programs apply to CAD programs.
An application discloses a computer-aided design tool for automatically performing integrated circuit placement, layout and routing. The tool starts its process by reading a netlist file defining all the components in a circuit schematic and their interconnections. The CAD program then performs the circuit placement, layout and routing using a hierarchical approach wherein simple circuit cells (sub-circuits within the overall circuit) are optimised first (this being the lowest level in the hierarchy), then larger sub-circuits (second and subsequent levels in the hierarchy), and so on until the overall circuit has been created. The program first scans the circuit to look for circuit cells, optimizes one example of each such cell and adjusts all others according to the optimized result. It then scans the circuit looking for larger cells and repeats the process until the overall circuit has been optimized. Since each higher level is optimised relying on the results of the lower level optimisation, fewer operations are needed overall in order to optimise the overall circuit. The approach also avoids "false minimum" optimisation results that can occur when the starting point of the optimisation is too unrelated to the actual optimised circuit. The optimised circuit can be displayed as an image, schematic, or as a control file for a computer-controlled fabrication process.
The prior art search reveals that the following features are known from D1:
- a CAD program for automated layout and routing requiring the manual placement by a user of all circuit cells before routing can be performed;
- a series of calculations that optimise the entire circuit iteratively.
The prior art does not disclose using a hierarchical approach to perform the layout and routing.
- A computer-implemented method for the automated optimisation of an integrated circuit design, comprising:
- reading a netlist file defining all circuit elements and interconnections;
- identifying circuit cells that are repeatedly instantiated in the design;
- creating a tree representation of the circuit cells and their hierarchical relationship;
- starting at the lowest level of the hierarchy:
- performing integrated circuit layout of the individual circuit cells;
- identifying the interconnections between the circuit cells;
- performing placement and routing of the circuit cells while minimizing interconnection length and routing complexity;
- repeating steps a - c for all remaining levels within the hierarchy of the circuit, proceeding from the next lowest level to the highest level; and
- generating an output file containing the detailed layout and routing of the integrated circuit.
- A computer-aided design program for performing the method of claim 1.
- A computer readable memory having recorded thereon statements and instructions for execution by a computer to carry out the method of claim 1.
Claim 1 defines a computer-implemented method whose object is the solution of a technological problem - how to provide an optimised layout of a circuit based on predetermined input parameters while avoiding "false minimum" results and minimising the number of operations necessary to optimise the circuit. The method as a whole therefore is statutory in its form. Each step in the method involves a series of computer operations for performing a specific task. The steps of reading the netlist file and generating an output file can be treated as discrete elements, since they do not limit the technological nature of the remaining steps. They represent known computer operations and are presumably not part of the contribution.
For this example, it is presumed that the hierarchical approach to optimizing the circuit was not previously known and would not be obvious. The method provides a technological solution to a practical problem in the operation of the computer: it requires fewer computer operations to arrive at the optimised circuit than the prior art method, and in effect allows the computer to perform the optimisation more accurately and efficiently. The steps in the method relating to how the computer performs the analysis are therefore a statutory contribution, and the claim is consequently patentable.
Note that the question of how the hierarchical analysis and optimisation is performed is essential to the claimed invention; it is worth reiterating, in respect of this example in particular, that depending on the extent of the description and the state of the common general knowledge, specific details regarding the implementation of the method may be required in the claim.
Note that if the hierarchical approach had already been known, the analysis would be different. In that case, a contributed technological solution to a technological problem would only exist if a specific obstacle to implementing the steps relating to the hierarchical approach in a computer had been overcome. In such a case, the specific inventive operations to be performed by the computer to provide this solution would need to be specified.
Claim 2 is directed to a computer program per se, and is defective in form.
Claim 3, in contrast, illustrates a claim properly directed to a computer product. Given that the method of claim 1 is patentable, a computer implementing the entire method also would be patentable. The subject-matter of claim 3, a physical memory embodying a computer program that would render a computer running it patentable, is likewise patentable.
An application discloses a CAD program for optimizing transistor sizing for combinatorial networks. The program uses the Logical Effort gate delay model to optimize transistor sizing based on gate load and the desired delay characteristics. The program takes as inputs a schematic netlist file and the desired delay through the critical path of the circuit. The program calculates the optimum width and length for each transistor in the critical path of the circuit, and produces an output netlist file with that information.
The prior art search reveals that the following features are known from D1:
- The Logical Effort gate delay model and associated equations are known
- Using the Logical Effort gate delay model to optimize transistor sizing is known
The prior art does not disclose using a computer program to automatically optimize transistor sizing based on Logical Effort, taking as inputs only the netlist and the desired delay.
- A computer-implemented method for optimizing the transistor sizing of a circuit schematic, comprising the steps of:
- reading a netlist file defining all circuit elements and interconnections;
- reading an input defining the desired delay of the critical path of the circuit;
- identifying the critical path of the circuit;
- identifying the fanout of each gate along the critical path;
- calculating optimum transistor sizing for each gate along the critical path using the Logical Effort gate delay model, so as to provide the desired delay; and
- generating an output netlist file having the optimum transistor sizing.
Claim 1 defines a method for using a computer to optimise a circuit schematic. The claim is statutory in its form. The steps of reading a netlist file and generating an output netlist file can each be considered a discrete statutory element of the method, and it is understood that neither forms part of the contribution.
The remaining steps relate to a series of calculations. It is presumed for the purposes of this example that the description does not disclose any obstacles that were encountered in implementing the calculations on the computer. The sequence of operations necessary to perform the calculations would have been self-evident to a person skilled in the art presented with the equation. Consequently, there was no technological innovation in enabling the computer to perform the calculations. The steps of calculating are consequently simply the performing of an otherwise non-statutory method of calculation on a computer. Absent a technological problem to be overcome in how the computer performs the calculations, there is no statutory contribution in the claimed matter. Given that the specification emphasises the importance of the specific calculations, it would be appropriate to object to the claim under section 2 of the Patent Act in light of a contribution analysis.
The Office regards electromagnetic and acoustic signals and waveforms to be forms of energy and not to contain matter despite that the signal may be transmitted through a physical medium. As a result, claims to electromagnetic and acoustic signals do not constitute statutory subject-matter within the definition of invention in section 2 of the Patent Act.
More particularly, an electromagnetic or acoustic signal is interpreted to be neither an art nor a process because it is not an act or series of acts or method of operation by which a result or effect is produced by physical or chemical action. Neither is an electromagnetic or acoustic signal a machine, as it is not the mechanical embodiment of any function or mode of operation designed to accomplish a particular effect, or a composition of matter, as it is not a chemical compound, composition or substance. An electromagnetic or acoustic signal is considered not to be a material product and, therefore, not a manufacture.13
The Office considers signals to be transitory in nature, and to exist only while being propagated.14 Once the information contained in a signal has been stored on a physical medium, it is no longer considered to be a signal and is more appropriately referred to as data. Therefore, claims that define a physical medium storing a signal or a waveform are considered indefinite under section 27(4) of the Patent Act.
Although signals per se are not patentable, methods, processes, machines or manufactures involved in the generation, transmission, reception, or processing of signals may be patentable if all other criteria for patentability are satisfied.
An application discloses a transmission system to transmit video data over short distances. The system uses a carrierless ultra wideband signal, where the video data is encoded into multi-phase wavelets. The system allows for transmission at high data rates over short distances, and can be used to transmit video from a security camera to a recording device, for example. When transmitted at low power, such carrierless transmissions do not interfere with narrowband or spread spectrum signals.
The prior art search reveals that the following features are known from D1:
- Wireless security system including security video cameras
- Wireless transmission of video data over short distances
D1 does not disclose the use of a carrierless ultra wideband signal where the data is encoded into multi-phase wavelets.
- A data signal for transmission of video data over short distances, the signal being embodied in a carrierless ultra wideband waveform wherein the data is encoded into multi-phase wavelets, the signal being transmitted from a transmitting antenna to a receiving antenna.
- A physical transmission medium carrying the signal of claim 1.
- A transceiver for transmitting and receiving data signals comprising:
- means for encoding video data into multi-phase wavelets;
- means for transmitting the encoded data as a data signal embodied in a carrierless ultra wideband waveform; and
- means for receiving and decoding the transmitted signal to retrieve the original video data.
Claim 1 defines a signal per se, and is therefore directed to non-statutory subject-matter by its form and is objected to under section 2 of the Patent Act.
Claim 2 defines a physical transmission medium and is therefore directed in form to statutory subject-matter. The signal does not provide any technological limitation to the transmission medium, however, and the claim therefore includes two discrete elements (the medium and the signal). Since the physical transmission medium has self-evidently not been contributed, the claim does not include a statutory contribution. As the signal of claim 1 appears to be the inventive aspect, an objection is made under section 2 of the Patent Act in light of the contribution analysis.
Claim 3 defines, in form, a statutory device. The claim recites means for encoding, transmitting, and receiving and decoding data signals. For the purposes of this example, it is presumed that it is clear from the description that certain of the means relate to hardware components and others to software stored on a physical memory. The encoding of the data into multi-phase wavelets allows the transceiver to transmit data at a high rate while minimizing interference with other signals. Thus, the technological character of the device is modified by the software-enabled encoding. The claim does not include a discrete non-statutory element, and the patentability of the claim is evaluated on the basis of the novelty and ingenuity of all the defined elements in combination. Presuming the use of multi-phase wavelets is considered novel and inventive, the claim would be allowable.
1 Source code for computer programs may, however, be subject to the protection of the Copyright Act as a literary work.
2 Schlumberger Canada Ltd. v. Commissioner of Patents [(1981), 56 C.P.R. (2nd), 204 (F.C.A.)] at page 206
3 i.e. provide a technological solution to a technological problem
4 Re Application for Patent Containing Claims that Read on Mental Steps [(1972), 23 C.P.R. (2nd), 93] ; Re Application 269,230 of Itek Corporation (1981) C.D. 896
5 Baker Petrolite Corp. v. Canwell Enviro-Industries Ltd. [(2002), 17 C.P.R. (4th), 478 (F.C.A.)] at paragraphs  and 
6 Bauer Hockey Corp. v. Easton Sports Canada Inc. 2010 FC 361 at paragraphs  to 
7 Bauer (supra at 6) citing Merrell Dow Pharmaceuticals Inc. v. H.N. Norton & Co. Ltd. (1995),  R.P.C. 76 (H.L.) at p. 86
8 Bauer (supra at 6) citing Lux Traffic Controls Limited v. Pike Signals Limited,  R.P.C. 107 (Pat. Ct.) at p.132
9 Baker Petrolite (supra at 5) at paragraph 
10 Baker Petrolite (supra at 5) at paragraph 
11 see, e.g., the comments in Re Application 2,349,479 of U-Haul International Inc. (2010) C.D. 1298 at paragraphs  to 
12 Re Application of U-Haul (supra at 11) at paragraphs  to 
13 Office Practice Regarding Signals C.P.O.R. Vol. 135, No. 33, August 14, 2007
14 A signal is considered to be propagating even if it is moving in a closed loop.
- Date modified: