Algorithms may be the most important disclosure in a software patent, but the definition of “algorithm” remains elusive. In a precedential opinion (Ex Parte Catlin et al.) on February 3, 2009, the BPAI applied the Federal Circuit’s decision in Aristocrat Techs. Austl. Pty Ltd. v. Inter. Game Tech.1 to find claims of Catlin invalid where the specification did not provide an algorithm.
The claims in Catlin were directed to a customer accessing an “earning activity” through a merchant’s website. The relevant earning activity appears to have been frequent flyer programs and similar points-based programs. According to the BPAI, these incentive programs were simply “examples of the results of the operation of an unspecified algorithm.”
In Aristocrat, the Federal Circuit took the position that “[f]or a patent to claim a means for performing a particular function and then to disclose only a general purpose computer as the structure designed to perform that function amounts to pure functional claiming.”2 The Federal Circuit went on to conclude that such disclosure does not meet the requirements of the sixth paragraph of 35 U.S.C. §112.
The decision in Aristocrat is part of a line of cases including Biomediono, LLC v. Waters Technologies, Corp.3 In Biomediono the Federal Circuit stated: “If there is no structure in the specification corresponding to the means-plus-function limitation in the claims, the claim [sic] will be found invalid as indefinite.”4
The BPAI applied Aristocrat to the claims in Catlin and concluded that the “[a]ppellant has failed to disclose any algorithm, and thus has failed to adequately describe sufficient structure, for performing the functions recited in the means elements contained in the first step of claims 1, 9, and 20 so as to render the claims definite.”5 The BPAI, therefore, held the claims invalid under 35 U.S.C. §112, second paragraph and, in a surprising aside, vacated the rejection under 35 U.S.C. §103 as “imprudent” because of the degree of speculation required to interpret the claim.
The underlying rationale for the BPAI’s decision is two-fold:
- a general purpose computer is not (without a particular algorithm) sufficient structure to serve as the basis for a means-plus-function claim recitation and
- a particular algorithm must be identified with some degree of specificity.
The BPAI did not deem the general references to incentive programs and the like in the specification of the patent application to be sufficiently particular algorithms.
It is interesting to note that the BPAI rejected the appellants’ own designation of the means as being “merchant’s web site” in combination with “incentive program.” The BPAI argued that because the claimed means were “at a merchant’s web site” the claimed means could not correspond to the merchant’s website. Whether or not this reasoning is valid, it highlights the value of providing more discussion regarding the embodiments of the invention in the application.
One negative aspect of this particular case is that no claims were deemed to be definite. Thus, it is not clear what level of particularity is required in order to meet the BPAI’s new requirement that an algorithm be sufficiently particular. Even more concerning to patent practitioners is the complete absence of any definition of algorithm in the decision.
Based on a quotation provided from Aristocrat, we can infer that algorithm is not co-extensive with computer instructions. Aristocrat states that “[t]he instructions of the software program in effect ‘create a special purpose machine for carrying out the particular algorithm.’”6 This demonstrates that, conceptually, software instructions and a “particular algorithm” are not the same thing, although they are related.
We may be able to obtain further light on what an algorithm is intended to be by comparison to another portion of the lengthy block quotation from Aristocrat: “A general purpose computer programmed to carry out a particular algorithm creates a ‘new machine’ because a general purpose computer ‘in effect becomes a special purpose computer once it is programmed to perform particular functions pursuant to instructions from program software.’”7
There is a grammatical parallel between “particular functions” and “particular algorithm” in this discussion. Thus, one may reasonably conclude that specifying particular functions to be performed by the general purpose computer may amount to disclosing the particular algorithm, according to the implicit definition provided by the Federal Circuit and adopted by the BPAI.
However, other discussion in the BPAI decision suggests that merely specifying the particular functions may not be enough. The BPAI indicated that, in their view, the Federal Circuit had determined that the disclosure at issue was “merely a mathematical expression that describes the outcome of performing the function and not a means for achieving that outcome.”8
The only other clue provided in Catlin regarding the meaning of algorithm is the following statement: “Accordingly, the Specification fails to disclose the algorithms that transform the general purpose processor to a special purpose computer programmed to perform the disclosed functions of the first elements of claims 1, 9, and 20.”9 This discussion seems to suggest that it is the algorithms themselves that change a general purpose processor into a programmed processor.
This final clue initially appears to undermine the first inference drawn from Aristocrat as quoted in Catlin. In this final clue, the most reasonable inference is that it is the instructions themselves that the BPAI thinks constitute the algorithm for performing the functions. After all, it is literally the programmer or software installer that transforms the general purpose processor by loading computer-readable instructions onto the processor. This would seem to contradict the distinction presented in Aristocrat between instructions and an algorithm.
Perhaps the best way to resolve this tension is by placing the concept of algorithm somewhere between the level of the “function” recited in the “means-plus-function” recitation and the level of computer instructions that actually implement the function. Thus, a flow chart may suffice to serve as the desired algorithm under Catlin. It should be noted, though, that prudence would suggest that the flow chart have somewhat greater detail than the most nuanced means-plus-function recitation. Thus, for example, if the function in the means-plus-function recitation is “calculating a product” then the flow chart would show the processes used in the calculation. If the function is one of those processes (perhaps in a dependent claim), then the Catlin methodology would seem to suggest that even more minute explanation of sub-processes to accomplish that process should be provided.
In short, Catlin has potentially opened the door to a heightened disclosure requirement for software applications. Although there is no explicit definition of algorithm in the case, Catlin’s decision suggests a drafting strategy that minutely describes how each function to be recited in any means-plus-function claims can be performed. If Catlin is good law, it may not be enough simply to identify a function and indicate that it is to be carried out on a general purpose processor. Instead, it may be necessary to explain how the function would be carried out at least in some example embodiments.