Appeal No. 79-533.
July 5, 1979.
Nicholas Prasinos, Waltham, Mass., attorney of record, for appellants; Ronald T. Reiling, Faith F. Driscoll, Waltham, Mass., of counsel.
Joseph F. Nakamura, Washington, D.C., for the Commissioner of Patents; Thomas E. Lynch, Washington, D.C., of counsel.
Appeal from the Patent and Trademark Office Board of Appeals.
This appeal is from the decision of the Patent and Trademark Office (PTO) Board of Appeals (board) affirming the rejection of claims 1-6, all of the claims in appellants' application serial No. 570,331, filed April 21, 1975, for "Switch System Base Mechanism," as being drawn to subject matter which is non-statutory under 35 U.S.C. § 101. We reverse.
Appellants' invention is in the field of computer technology. It does not relate to computer applications, i. e., any specific task that a computer is asked to perform, but rather to the internal operation of the computer and its ability to manage efficiently its operation in a multiprogrammed format. A multiprogrammed format is one in which the computer is capable of executing more than one program, and thus perform more than one application at the same time, without the need to reprogram the computer for each task it must perform.
Specifically, the invention relates to altering or repositioning information in the computer's system base. The system base of a computer is a fixed area in main memory which acts as the root for all information structures in the computer. In high performance computer systems, it is very advantageous to store portions of the system base in "scratchpad" registers located in the central processing unit (CPU) of the computer rather than in main memory. This greatly enhances the speed of operation of the computer because the access time (the time it takes to retrieve information from a given place) associated with the scratchpad registers is less than that associated with main memory. A problem arises, however, because a programmer may wish to change the positions or content of information in the system base which happens to be located in the scratchpad registers. These registers are "invisible" to the programmer since, unlike main memory, they cannot be accessed by software (computer programs). Prior art systems altered the system base information resident in the scratchpad registers by either reinitializing the system base (completely reloading the system base containing the new information), a process which consumes a considerable amount of time, or by using software which takes advantage of the model-dependent properties of the particular computer. The latter method has the undesirable effect of resorting to reliance on model-dependent software, which is unacceptable to some computer users.
A scratchpad register, also known as a scratchpad memory, is a plurality of multibit storage locations, usually located in the central processing unit (CPU) of a computer, used for temporary storage of program information, operands, and calculation results for use by the computer's arithmetic and logic unit, and other information of a temporary nature.
Appellants' invention enables system base information to be altered without having to resort to these techniques and their accompanying drawbacks. They accomplish their result by employing a "firmware" module, consisting of hardware elements permanently programmed with a microcode, which directs the data transfers, between the scratchpad registers and the system base located in main memory, which are necessary to effect the alteration.
Claim 1 is representative of the appealed claims:
1. In a multiprogramming computer system having a main memory, a central processing unit (CPU) coupled to said main memory, said (CPU) controlling the state of a plurality of groups of processes being in a running, ready, wait or suspended state, said computer system also having scratchpad registers being accessible to an operating system for controlling said multiprogramming computer system, a data structure for storing coded signals for communicating between said processes and said operating system, and said scratchpad registers, said data structure comprising:
(a) first means in said data structure and communicating with said operating system for storing coded signals indicative of an address for a selected one of said processes;
(b) second means in said first means for storing coded signals indicating priority of said selected one of said processes in relation to others of said processes for obtaining control of said CPU when ready;
(c) third means in said data structure and communicating with said operating system, for storing coded signals indicative of an address for a selected one of said plurality of groups of processes, and,
(d) fourth means coupled to said data structure and said scratchpad registers, for generating signals causing the changing of information in said data structure and said scratchpad registers.
The examiner rejected the appealed claims on the authority of Gottschalk v. Benson, 409 U.S. 63, 93 S.Ct. 253, 34 L.Ed.2d 273, 175 USPQ 673 (1972) (hereinafter Benson) before the Supreme Court's decision in Parker v. Flook, 437 U.S. 584, 98 S.Ct. 2522, 57 L.Ed.2d 451, 198 USPQ 193 (1978) (hereinafter Flook). In his final rejection, dated October 27, 1976, the examiner stated that the subject matter "deemed as the invention" is "a data structure" and then made the following analysis:
The term "data structure" as recited in the claim is comprised of four entities described as "first means", "second means", "third means", and "fourth means." Whether these so called "means" are hardware structure which store coded signals or performing a particular function or whether they refer to coded signals representing computer control words per se, any life which the claim may have in view of that which is admittedly old in the art, resides in the "technique" (page 5, line 4) or "switch-system base instruction" (page 5, lines 13 and 14) for solving the problem of changing information of the system base which is located in scratchpad registers which software cannot access (page 4, line 20). The invention then is embodied in the coded signals representing instructions to the computer, the running process word RPW (first means of claim), priority level indicator word PRI (second means), J Table word and G Table word (third means), and micro-instructions of Figures 15c [sic, 15b] and 15c as found in the central store 1301. The invention resides in a "data structure" or an algorithm designed to control the multiprogramming computer to solve the particular problem indicated.
Under the ruling in Gottschalk v. Benson, [ 409 U.S. 63, 93 S.Ct. 253, 34 L.Ed.2d 273] 175 USPQ 673, the instant claims, depending upon a program implemented algorithm for patentability, are deemed nonstatutory subject matter.
Appellants requested reconsideration and argued that their claims are directed to data structures in hardware which are "specific new, novel and unobvious [in] arrangement." They asserted that by stating that the invention resided in a "technique", the examiner was clearly disregarding the claims and interpreting the invention strictly on the basis of what is found in the specification, because no "technique" is claimed. They stated that even if a technique (i.e., process) were claimed, Benson does not render all such inventions nonstatutory, and that their invention does not involve a mathematical algorithm.
In Benson, the Supreme Court was clearly limiting its discussion to mathematical algorithms:
The patent sought is on a method of programming a general-purpose digital computer to convert signals from binary-coded decimal form into pure binary form. A procedure for solving a given type of mathematical problem is known as an "algorithm." The procedures set forth in the present claims are of that kind; that is to say, they are a generalized formulation for programs to solve mathematical problems of converting one form of numerical representation to another. [ 409 U.S. at 65, 93 S.Ct. at 254, 175 USPQ at 674 (emphasis ours).]
It is not clear whether the examiner regarded appellants' invention as a mathematical algorithm, but, as will become evident, the board did so regard the invention.
In his Answer before the board, the examiner noted that all of the limitations found in claim 1 were old in the art and that the "claim is thus reciting prior art coupled with subject matter which the U.S. Supreme Court has found to be non-statutory in Benson." Appellants responded in their reply brief that it makes no difference whether individual elements are old in the art and that it is the elements in combination which define the invention as a whole.
The board rendered its decision on September 20, 1978, after the Supreme Court's decision in Flook. After incorrectly stating that none of the claims recited the term "firmware," the board analyzed appellants' claims element by element, concluding that the only novel arrangement of the recited structures resided in the microprogramming, "which together with its attendant memory hardware appears to constitute firmware."
Claim 3, as well as dependent claims 4-6, explicitly recites firmware. Firmware is a term of art in the computer field and refers to microinstructions permanently embodied in hardware elements. For a further discussion, see generally Ross, The Patentability of Computer "Firmware," 59 JPOS 731 (1977). We need not and do not decide at this time whether firmware per se is statutory under 35 U.S.C. § 101 because the invention as a whole is not directed thereto. See our further discussion, infra.
Apparently on the basis of Flook, the board affirmed the rejection because it was of the opinion that the appealed claims are directed to a method of calculation or mathematical algorithm. The board found the claims similar to the claims at issue in In re Waldbaum, 559 F.2d 611, 194 USPQ 465 (Cust. Pat.App. 1977), which included language characterized by the board as "obviously related to calculating and mathematical problem solving." Although the claims here at issue do not contain similar mathematical language, the board said that this "does not make the functions attendant the `means' of appellants' claims any less mathematical or less related to an algorithm within the meaning assigned that term by the USSC in Benson."
Waldbaum claim I reads in pertinent part:
a method * * * to count the number of busy lines * * * comparing means * * * to derive the number of l's in said data word * * *. [Emphasis ours.]
It is clear that this claim recites a mathematical algorithm. It solves a mathematical problem, to wit, counting a number of busy lines in a telephone system.
To support its conclusion that the appealed claims are mathematical in nature, the board relied on a statement in the specification to the effect that all of the data in the computer are in binary form, but may be interpreted as binary coded decimal, decimal or alphanumeric. We reproduce the board's reasoning in full:
Since digital computers normally operate in some numerical radix, binary, binary coded decimal, or the like, we consider the operation of appellants' claimed invention to be mathematical.
Every operation performed in appellants' invention as claimed involves the accommodation of data and instructions to the size of the registers in memory, and to the positional assignment to the registers in memory by the use of some numerical measure or quantity effected by way of electrical signals. In whatever form the instructions employed in appellants' invention are characterized, numerical or otherwise, we think it is accurate to say that the operation of appellants' structure is mathematical and that the instructions constitute a procedure which is algorithmic in character, to the same degree as that of the Waldbaum structure and that satisfactory operation of the apparatus claimed represents the successful solution of a mathematical problem falling within the definition of algorithm supplied in Benson and reiterated in Flook.
Here the method of calculation is to be used in the internal operation of the computer system and the claims recite such an end use by means of the functions recited for the various means. A claim for an improved method of calculation, even when tied to a specific end use, is unpatentable subject matter under 35 U.S.C. § 101, Flook supra.
In summary, the board stated that the claims are drawn to apparatus in form only, and couple the apparatus (which it asserts is old in the art) "with subject matter, namely, programming, which is nonstatutory under the Benson, Christensen, Waldbaum and Flook cases * * *."
The examiner's basis for the rejection is grounded on the erroneous interpretation of the Supreme Court's decision and opinion in Benson, namely, that all computer program or program-related inventions are nonstatutory under § 101. Both the Supreme Court and this court have thoroughly repudiated this view. Our decision, therefore, is based solely on the analysis made by the board.
It is said that this decision precludes a patent for any program servicing a computer. We do not so hold.
In Flook, the Court stated, 437 U.S. at 595 n. 18, 98 S.Ct. at 2528, n. 18, 198 USPQ at 199 n. 18:
Very simply, our holding today is that a claim for an improved method of calculation, even when tied to a specific end use, is unpatentable subject matter under § 101.
See In re Gelnovatch, 595 F.2d 32, 36-37, 201 USPQ 136, 141 (Cust. Pat.App. 1979); In re Johnson, 589 F.2d 1070, 1075, 200 USPQ 199, 205 (Cust. Pat.App. 1978); In re Sarkar, 588 F.2d 1330, 1333, 200 USPQ 132, 137 (Cust. Pat.App. 1978); In re Freeman, 573 F.2d 1237, 1244, 197 USPQ 464, 470 (Cust. Pat.App. 1978); In re de Castelet, 562 F.2d 1236, 1240, 195 USPQ 439, 443 (Cust. Pat.App. 1977); In re Chatfield, 545 F.2d 152, 155-56, 191 USPQ 730, 733-34 (Cust. Pat.App. 1976), cert. denied, 434 U.S. 875, 98 S.Ct. 226, 54 L.Ed.2d 155, 195 USPQ 465 (1977).
The board said that the claims do not directly recite a mathematical formula, algorithm, or method of calculation, but, nevertheless, held the claims to be mathematical in nature. As appears from the quoted portion of the board opinion, the board regarded the fact that digital computers operate in some number radix as conclusive on the issue of whether the appealed claims recite a mathematical algorithm in the Benson and Flook sense. The board did not, however, direct attention to any specific formula it thought is utilized, or to what, if anything, the mathematical calculations alleged to be present in the claims are directed.
We do not agree with the board. We are constrained to reject its reasoning. Such reasoning leads to the conclusion that any computer-related invention must be regarded as mathematical in nature, a conclusion which is not compelled by either Benson or Flook.
The board's analysis confuses what the computer does with how it is done. It is of course true that a modern digital computer manipulates data, usually in binary form, by performing mathematical operations, such as addition, subtraction, multiplication, division, or bit shifting, on the data. But this is only how the computer does what it does. Of importance is the significance of the data and their manipulation in the real world, i.e., what the computer is doing. It may represent the solution of the Pythagorean theorem, or a complex vector equation describing the behavior of a rocket in flight, in which case the computer is performing a mathematical algorithm and solving an equation. This is what was involved in Benson and Flook. On the other hand, it may be that the data and the manipulations performed thereon by the computer, when viewed on the human level, represent the contents of a page of the Milwaukee telephone directory, or the text of a court opinion retrieved by a computerized law service. Such information is utterly devoid of mathematical significance. Thus, the board's analysis does nothing but provide a quick and automatic negative answer to the § 101 question simply because a computer program is involved.
Appellants have continuously insisted that they are claiming a new and unobvious combination of hardware elements, i. e., a new machine or apparatus. The issues of novelty and unobviousness are not before us, but we agree with appellants insofar as they characterize their invention as a machine or apparatus. The board likewise seems to agree on this point. In its opinion, it identifies all of the "means" of appellants' claim 1 as structural hardware elements, such as registers, portions of main memory and control store, and other computer components. Thus, the claim falls literally within the boundaries of § 101.
35 U.S.C. § 101 states:
Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title. [Emphasis ours.]
The control store of a computer is a plurality of multibit storage locations (memory) containing microinstructions, which, when decoded by appropriate circuitry, provide control signals which cause specific operations to take place in the computer's CPU.
Appellants have characterized their combination of hardware elements as a mechanism which enables the computer to alter information in its system base in a manner not previously possible. They are in no way claiming the altered information; in fact, the particular information acted upon by appellants' invention is irrelevant to the operation of the invention itself. We see no difference in this regard, with respect to being within § 101, between appellants' claimed invention and a strictly mechanical adding machine, which is certainly statutory if claimed in a manner which does not embrace any particular calculation that the machine is capable of making.
The PTO regards as significant the fact that firmware is involved in the present invention. In a sense, firmware may be likened to software (computer programs); it is information which has been embodied into hardware by, for example, destroying fusible links in a read only memory (ROM) array. In appellants' invention, the information contained within the firmware, which is located in the control store of the computer, directs the desired information transfers within the system base.
If appellants were claiming the information embodied in the firmware or the firmware itself, per se, a different case would be presented. We express no opinion on the statutory nature of such an invention, a question not before us. Appellants are claiming a combination of hardware elements, one of which happens to be a portion of the computer's control store microprogrammed in a particular manner. It is this subject matter with which we must deal.
From our reading of appellants' specification, their claimed "data structure" is merely that which results from the arrangement of the recited hardware elements in the claimed manner. It is the result of certain structural "means" performing certain recited functions as explicitly sanctioned by 35 U.S.C. § 112, sixth paragraph. We disapprove the board's distillation of appellants' claim down to the information contained in the firmware in order to hold it nonstatutory. The invention is not claimed in that manner, and, in this case, we see no reason to view the claim format as a subterfuge for masking the presence of an essentially nonstatutory invention.
Even though the claimed invention is a machine, we must nevertheless determine whether the claim recites a mathematical algorithm, and, if so, whether it preempts the use of the algorithm. In re Noll, 545 F.2d 141, 148, 191 USPQ 721, 726 (Cust. Pat.App. 1976). In doing so, we apply the two-step test in In re Freeman, supra note 7.
When we examine appellants' invention as a whole under the first step of this test, including the information microprogrammed into the firmware element as depicted in Figs. 14(a-i) and 15(b-c), we fail to detect the presence of any mathematical algorithm. In altering information in the system base as desired, certain "calculations" are made, such as determining whether a given quantity is equal to zero, or, as noted by the solicitor, multiplying an address in memory by sixteen to arrive at another address. However, it certainly cannot be said that comparing with zero or multiplying by sixteen is preempted by appellants' claims. Furthermore, the presence of these calculations does not transform the invention as a whole into a method of calculation. Cf. In re Gelnovatch, supra note 7. There is no solution of an equation, such as the new alarm limit in Flook, or the equivalent pure binary number, as in Benson, present in the computer after the task has been completed. See In re Chatfield, supra note 7.
In summary, we have examined the claims thoroughly and we do not find any mathematical formula or mathematical method of calculation, improved or otherwise, which is either claimed as such or essential to the vitality of the claims. We find that the invention is a combination of tangible hardware elements — a machine — including some hardware elements which contain microprogrammed information termed "firmware." We do not find the invention to be nonstatutory under the authority of Benson or Flook, or under the authority of our own cases, such as those cited at note 7 ante. Therefore, the decision of the board is reversed.