On October 1st, 2009, the Board of Patent Appeals and Interferences of the U.S. Patent and Trademark Office issued a precedential opinion in Ex Parte Rodriguez rejecting an appealed LSI Logic Corporation patent application for its lack of disclosure of a specific algorithm for carrying out the claimed software invention. The Board felt that the specification of the patent application did not “enable those skilled in the art to make and use the . . . invention without undue experimentation.” The opinion was remarkable for reasons that go beyond its content. The Board convened a panel of seven judges instead of the normal three, and chose to issue the opinion under an operating procedure that makes the opinion a precedent for deciding future appeals within the Patent and Trademark Office as well as for patent examiners in examining applications.
The patent statute requires a patent applicant to “enable” his or her invention by explaining in the patent application how the invention works so that others can make and use the invention by reading the issued patent. With software inventions, enablement can present a challenge because most patentees don’t want to include details about computer programming code in their patent applications. While it is certainly possible to provide a good, enabling disclosure of a software invention without resorting to computer program code listings, the Patent and Trademark Office may have signaled in Rodriguez that software patent applications that disclose the details of implementing an invention by presenting and describing only simple functional diagrams will be subject to more scrutiny regarding whether such an application meets the enablement requirements of the patent statute.
In Rodriguez, the Board seemed bothered by the fact that the patent application did not include any working examples of what seemed to be a highly complex invention. In order to provide working examples of a software invention, patentees should consider including relatively detailed flowcharts or software block diagrams. For software inventions that involve complex calculations, a walk-through of the relevant mathematical equations is appropriate. Finally, the Patent and Trademark Office regulations provide for the submission of actual computer program code as part of a patent application. Where an invention is embedded in a complex software product with diverse functions, it may be difficult or completely impractical to disclose computer program code without revealing trade secrets that are unrelated to the claimed invention. However, in appropriate cases, the inclusion of computer program code, especially source code, should be considered, as there is no easier or more certain way to provide a good “working example” of a software-implemented invention.