This paper was written in March of 1995 by Jeffrey R. Kuester and Ann K. Moceyunas for the purpose of Jeff teaching a college class on software patents. Jeff is a partner with Thomas, Kayden, Horstemeyer & Risley, L.L.P., a patent, copyright, and trademark law firm in Atlanta, Georgia, and his practice focuses on software, electrical, and telecommunication patent law. The opinions expressed herein should not neccessarily be understood to represent the views of these attorneys, their firms, or their clients.
The topic of patents for software-related inventions is a very technical and complicated area. Furthermore, there have recently been many discussions and heated debates regarding the wisdom of using the patent system to protect software. This is especially true in light of recent developments in copyright law which suggest that computer software will not find very much protection under the copyright law. However, before examining the peculiarities and issues involved with patents for particular areas of technology, certain basic information regarding patent protection should be understood.
The founders of the United States provided in the Constitution that "Congress shall have the power...to promote the progress of science and useful arts, by securing for limited times to authors and inventors the exclusive right to their respective writings and discoveries." A patent is the grant from the United States government to the owner of an invention to exclude all others from making, using or selling the invention for a limited time. In exchange for the patent rights, the inventor is required to disclose the invention in enough detail to allow other people to use the invention after the monopoly expires and to learn from the invention to build on its ideas. Thus, the patent system was founded to promote technological development by providing incentive to developers of new products through enabling them to prevent others from "stealing their ideas" through profiting without spending the necessary research time and money.
The Patent Act is broad and general in its language describing the proper subject matter for a patent:
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. 
However, not all "inventions" are patentable; "excluded from such patent protection are laws of nature, natural phenomena, and abstract ideas." "An idea in and of itself is not patentable."
There are different types of patents. A utility patent is granted for the functional aspect of a machine, an article of manufacture, a composition of matter or a process. A utility patent currently lasts for 17 years from the date of the grant (provided that maintenance fees are paid at certain intervals after the patent issue date: 3 and 1/2 years, 7 and 1/2 years, and 11 and 1/2 years). A design patent is granted for the ornamental appearance of an article, but protects only the non-functional aspects of the design. A plant patent is granted for the discovery and a-sexual reproduction of a new variety of plant.
Someone who infringes the patent by making, selling, or using the invention without a license may be liable to the patent owner for damages (no less than a reasonable royalty), pre-judgment interest, treble damages (for willful infringement), and attorneys fees and costs in egregious cases. The infringer's infringing actions can also be stopped by court order.
In the United States, a person is entitled to a patent if:
The specification shall contain a written description of the invention, and of the manner and process of making and using it, in such full, clear, concise, and exact terms as to enable any person skilled in the art to which it pertains, or with which it is most nearly connected, to make and use the same, and shall set forth the best mode contemplated by the inventor of carrying out his invention.Because of the specialized nature of a patent application, the applicant should seek the advice of a patent attorney or patent agent having knowledge and/or education in the discipline of the invention. Only those persons admitted to the U.S. Patent Bar are allowed to file and prosecute patent applications for others before the PTO.
The courts decide the validity of a patent with regard to both the language of the Patent Act and to interpretations of the Patent Act in other cases. Those other interpretations form the body of case law which, in the U.S. judicial process, is respected as precedence.
As of today, inventions that include computer programs as all or part of the invention may be patentable under certain circumstances. However, before discussing recommendations for software owners or the current state of the patent law as applied to software-related inventions, an examination of the history and development of this area of law is in order.
In the 1972 United States Supreme Court case, Gottschalk v. Benson, the Court framed the issue as: "The question is whether the method described and claimed is a 'process' within the meaning of the Patent Act."  The Court went on to describe the claimed invention:
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. From the generic formulation, programs may be developed as specific applications.Prior United States Supreme Court cases had interpreted the word "process" in Section 101 of the Patent Act to preclude patents on "scientific truth or the mathematical expression of it". Accordingly, the Court in Benson decided the claimed invention was just a mathematical algorithm, and thus not within the subject matter of patentable inventions as a "process".
The wake of the Benson decision caused all sorts of difficulties with the word "algorithm". These difficulties arose out of decisions of Patent Examiners who rejected patent applications because an application contained the word "algorithm" or the examiner used an overly expansive definition of "mathematical algorithm."
In 1976, the Court of Customs and Patent Appeals (the "CCPA") reviewed a patent application that claimed an invention for dynamically rearranging priorities in a multi-program operating system. The PTO Board of Appeals had taken the position that Benson precluded patentability of computer programs. The CCPA decided differently, limiting the Benson decision to precluding patentability of mathematical algorithms, but not computer programs generally. The CCPA was careful to explain the difference under Patent Law (as it understood it in 1976) between a mathematical algorithm and general algorithms:
Over-concentration on the word 'algorithm' alone, for example, may mislead. The Supreme Court carefully supplied a definition of the particular algorithm before it, i.e., '[a] procedure for solving a given type of mathematical problem.' The broader definition of algorithm is 'a step-by-step procedure for solving a problem or accomplishing some end.' Webster's New Collegiate Dictionary (1976). It is axiomatic that inventive minds seek and develop solutions to problems and step-by-step solutions often attain the status of patentable invention. It would be unnecessarily detrimental to our patent system to deny inventors patent protection on the sole ground that their contribution could be broadly termed an 'algorithm.'In 1978, the CCPA reviewed a patent application that claimed a new method for typesetting alphanumeric information (such as a mathematical expression) using a computer-based control system (employing a hierarchical tree data structure) in conjunction with a phototypesetter. The PTO had rejected the application on the basis that Benson precluded patentability of an invention where the only "novel" part was the computer program. Once again the CCPA stated that Benson only precluded patentability of mathematical algorithms, but in this case, the claims were broader algorithms:
The 'local positioning algorithm' described in appellant's specification is the order of steps in processing the hierarchical tree structure and spatially relating the various characters to be displayed. Appellant has thus used the term 'algorithm' as a term of art in its broad sense, i.e., to identify a step-by-step procedure for accomplishing a given result. Only a few months later, the CCPA again had to reverse a decision of the PTO Board of Appeals that rejected a patent application for a computer program. The PTO Board of Appeals had used the broad definition of "algorithm" instead of the narrower definition of "mathematical algorithm" in its interpretation of Benson. The invention in this case claimed a method of translating from one natural language (e.g. Russian) to another natural language (e.g. English). The CCPA held that the process described did not solve a mathematical problem, directly or indirectly, and thus was not precluded from patentability.
Because the invention in the patent application in Diehr did not encompass a general non-mathematical algorithm (or so says the Court), the Court stated that this decision was confined to mathematical algorithms:
The term 'algorithm' is subject to a variety of definitions. The petitioner defines the term to mean:
In September 1982, the CCPA reviewed a patent application for a process and apparatus for testing a complex system and analyzing the results according to a factor of function or malfunction (illustrated as a process for diagnosing neurological disorders in patients). The CCPA held the claims were not patentable because they really distilled down to a mathematical algorithm representing a mental process that is not applied to physical elements or process steps.
In 1989 the Federal Circuit Court of Appeals (the successor court to the CCPA) again held that claims for a method of testing a complex system to determine whether the system condition is normal or abnormal and to determine the cause of any abnormality was non-patentable as a mathematical algorithm. The only "physical" step in the invention was the gathering of data for input, a step which was not significant enough to take the invention out of the category of unpatentable mathematical algorithms. Three days later, the Federal Circuit Court of Appeals held that an auto-correlation circuit for use in voice pattern recognition was patentable despite the use of computer algorithms. In this second case, the Court emphasized that the overall invention was the apparatus (the interrelation of the various hardware components which operate according to an algorithm) and not the algorithm itself.
The next case from the Federal Circuit issued in March of 1992, Arrhythmia Research Technology, Inc. v. Corazonix Corporation. That case originated in the District court after the patent had already issued. The invention was for a method of analyzing electrocardiograph signals using a computer to diagnose heart attack patients who are at high risk for heart arrhythmia. The lower court had held the patent was invalid because the mathematical algorithm used to detect certain heart signals predominated. The Federal Circuit disagreed, holding that the overall result (not the process) controlled: in this case, the conversion of one physical electrical signal to another signal.
This distinction between the method and its result appears to indicate a more liberal view from the Federal Circuit on the issue of patentability of computer programs. However, the PTO continues to err on the side of conservatism. Presently, one of the policies of the PTO has been articulated as:
`Claims that deal with 'computer programs,' equations or mathematical calculations, or methods which might be suspect under the Supreme Court's exclusions...need to be carefully analyzed...If the claim is the least bit suspect regarding the 101 question - make the rejection...The whole 'software' question is very sensitive...If too many patents are issued that are borderline or that are perceived as being borderline, the unfriendly publicity could adversely affect us. 
However, after a very divided court issued the case of In re Alappat, the future appeared brighter for the viability of broad computer software patents. The claims of that upheld patent were directed toward a "machine" for smoothing waveforms for an oscilloscope. Since the claims were directed toward a machine, including elements described in a "means-plus-function" format, it appeared that claim drafting techniques would be the answer to making software-related inventions patentable subject matter. The case pointed out that although specific hardware structures had been disclosed in the specification, (ALU, ROM, shift registers) the claim at issue would also read on a general purpose computer programmed to carry out the invention.
The case of In re Warmerdam seemed to support this view since the court found the robotic collision avoidance system "method" and "data structure" claims of that patent to be unpatentable subject matter, yet upheld the claim directed toward a machine including memory generated according to the unpatentable method. Another interesting note regarding that case is that the court avoided the issue of determining a definition for a "mathematical algorithm", instead finding the issue to be whether the method for generating a data structure representing the shape of a physical object was "a process that goes beyond simply manipulating 'abstract ideas' or 'natural phenomena'".
Later in the year, the Federal Circuit decided the case of In re Lowry to reverse a decision by the Board of Patent Appeals and Interferences to find a claim to a "memory" with a particular "data structure" for organizing memory to be patentable subject matter. However, rather than presenting a direct argument under 35 U.S.C. § 101, the Board argued that the data structure was analogous to printed matter, and thus obvious under 35 U.S.C. §§ 102 and 103. The court disagreed and found the "memory" claims to be patentable.
Finally, the most recent and troubling case addressing the patentability of software-related inventions is the case of In re Trovato. In this case, the court found both method and machine claims directed toward planning a path for an object to follow in a physical task space to be unpatentable subject matter. The court upheld application of the Freeman-Walter-Abele test and found that although the claims did not express the mathematical algorithm in terms of a mathematical formula, the court re-stated that words in a claim operating on data can serve the same purpose as a formula.
Of particular importance to the court was the lack of disclosed structure in the specification, prompting the court to find the machine claims to be drafted in "illusory apparatus format." Finally, the court noted that "Trovato does not claim to have invented a new kind of computer which the recited mathematical algorithm controls. Nor do they claim that the recited mathematical algorithm has been combined with a new memory controlling a computer known to the art."
In conclusion, In re Trovato seems to erase the perception created by the court in In re Warmerdam that claim drafting techniques will provide the entire answer for the persistent subject matter problems for software-related inventions. Instead, future specifications will apparently be scrutinized much more closely for detailed structural disclosure, and mathematical algorithms will apparently be found to exist in more unlikely locations.
Mathematical algorithms found not to be patentable by themselves.
Algorithms that are expressed as mathematical formulas found not to be patentable by themselves, and those algorithms which appear to replicate human decision-making skills found not to be patentable:
One of the reasons for building a patent portfolio is the common practice of patent cross-licensing. Among companies with patent portfolios, it is a very common practice for one company to offer to cross-license one or more patents of its own when accused of infringing a patent belonging to another company. Through this practice, the patent assets of both companies are increased. Another related reason for utilizing the patent system is to create a more effective defense to patent infringement suits. In other words, if another company is aware of your patents and fears retaliatory patent infringement actions, this knowledge can often provide a fairly effective "defense".
Thus, software companies should begin evaluating the best internal procedures for identifying potentially patentable ideas and pursuing patent protection for such ideas. Since software-related patent applications are often relatively expensive and time-consuming, appropriate business decisions should also be made to support such an endeavor.