PatentNext Summary: In some instances, software-based patent applications can fail to include a sufficient algorithm describing “how” the software interacts with the underlying hardware of the invention. This can lead to issues in both prosecution and litigation, creating unnecessary expense and/or hardship. Therefore, as a general rule, software-related patents should include an algorithm. An algorithm provides support for a software-related patent pursuant to 35 U.S.C. § 112(a), including (1) by providing sufficiency of disclosure for the patent’s “written description” and (2) by “enabling” one of ordinary skill in the art (e.g., a computer engineer or computer programmer) to make or use the related software-related invention without undue experimentation. Without such support, a patent claim can be held invalid.

The below article provides additional details. This article forms the second part of a multi-part series. The first part, focusing on indefiniteness pursuant to 35 U.S.C. §§ 112(b) and (f), may be found here: Why including an “Algorithm” is Important for Software Patents (Part 1).


Overview of Section 112 Requirements

Two requirements for all patent applications are that: (1) the patent claims have a proper “written description” disclosure, and (2) “enablement” support. The written description requirement requires a patent specification to describe the claimed invention in sufficient detail to establish that the applicant had “possession” of the claimed invention as of the application filing date.

The enablement requirement requires a determination of whether the patent specification contains sufficient information regarding the subject matter of the claims so as to “enable” a person skilled in the art to make and use the claimed invention.

Typically, a computer scientist, computer engineer, or skilled computer programmer constitutes a person of skill in the computer and software arts.

The enablement requirement is separate and distinct from the written description requirement, where the written description requirement is intended to “clearly convey the information that a [patent] applicant has invented the subject matter which is claimed” (Manual of Patent Examination Procedure (MPEP)  2163), and the enablement requirement “serves the purpose of ‘‘ensur[ing] that the invention is communicated to the interested public in a meaningful way.” MPEP § 2164.

These requirements come from Section 112(a) of the U.S. Patent law that reads, in relative part: 

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 which it pertains, or with which it is most nearly connected, to make and use the same.

35 U.S. Code § 112(a).

While the written description and enablement requirements apply to all types of inventions (e.g., the computer, chemical, mechanical, biological, etc.), not surprisingly, given the technology involved for software-related inventions, the USPTO and U.S. courts have analyzed these requirements for software-related patents in the context of hardware and computing devices that that software typically interacts with. The following sections explore this further.

Guidance from the USPTO as to Sufficiency of Disclosure

In 2019, the United States Patent Office (USPTO) published, in the Federal Register, guidance regarding (and titled): “Examining Computer-Implemented Functional Claim Limitations for Compliance With 35 U.S.C. 112” See 84 Fed. Reg. 4 at 57-63 (Jan. 7, 2019) (referred to as “the Section 112 Guidance” herein). The Section 112 Guidance is intended for use by U.S. patent examiners for examining software-related inventions. As such, the Section 112 Guidance remains a valuable guide and backdrop to analyze computer and software-related for sufficiency of disclosure.

1. The definition of an “Algorithm”

For software-related inventions, the Section 112 Guidance provides an overarching solution to meeting both the written description and enablement requirements. That is, the Section 112 Guidance informs that disclosure of a software “algorithm” can meet both the written description and enablement requirements. 

According to the Section 112 Guidance, an algorithm is defined as “a finite sequence of steps for solving a logical or mathematical problem or performing a task.” Section 112 Guidance at 61-61 (citing  Microsoft Computer Dictionary (5th ed., 2002)). More importantly, the Section 112 Guidance defines an “algorithm” in the manner described by the Federal Circuit, which provides a flexible approach for expressing an algorithm in a patent application. That is, according to the Federal Circuit, a patent application may define an “algorithm in any understandable terms including as a mathematical formula, in prose, or as a flow chart, or in any other manner that provides sufficient structure.” Id. (citing Finisar Corp. v. DirecTV Grp., Inc., 523 F.3d 1323, 1340 (Fed. Cir. 2008).

Accordingly, for any software-related invention, an Applicant should include an algorithm that meets one or more of these definitions. Typically, a flow chart, included as part of a figure of a patent application, provides a practical approach to illustrating an algorithm, as the flow chart is easily identifiable to the examiner or district court when the patent is reviewed. 

2. Using an Algorithm to demonstrate Written Description

For the written description requirement, in order to show “possession” of the invention, an algorithm should be disclosed in a manner that demonstrates how the claimed hardware and software of the invention interact. For software-related inventions that involve a claimed function (i.e., a result of the software, such as a computational operation), the disclosure should disclose how that function interacts with the hardware (e.g., server, controlled device, etc.) in order to demonstrate how the claimed function is achieved due to the interrelationship and interdependence of the recited computer hardware and software. See Section 112 Guidance at 61.

It is not enough that a person of skill in the art (e.g., a computer programmer) could theoretically write a computer program to achieve a claimed function. Id. at 62. Rather, the specification itself must explain how the claimed function is achieved (e.g., via an algorithm) to demonstrate that the applicant had possession of it. Id. Failure to provide disclosure of an algorithm and related computer hardware to achieve the claimed result can render a patent claim invalid for lack of adequate written description. Id.

The Section 112 Guidance provides an example case Vasudevan Software, Inc. v. MicroStrategy, Inc., 782 F.3d 671 (Fed. Cir. 2015). At issue in Vasudevan was whether the patent specification provided sufficient written description support for a limitation of the asserted claims. Id. at 681–83. The patents-at-issue directed to “different features of an online analytical processing (“OLAP”) cube capable of collecting and processing ‘live’ data from multiple incompatible databases.” Id. at 675. The district court had, on a motion for summary judgment, found the claims of the patents-at-issue invalid for lack of adequate written description.

On appeal, the Federal Circuit explained that “[t]he test for the sufficiency of the written description is whether the disclosure of the application … reasonably conveys to those skilled in the art that the inventor had possession of the claimed subject matter as of the filing date.” Id. at 682. The Federal Circuit noted that ‘‘[t]he written description requirement is not met if the specification merely describes a desired result.” Id. at 682. In applying this test to the claimed software-related function, the Federal Circuit stated that “[t]he more telling question is whether the specification shows possession by the inventor of how [the claimed software-related function] is achieved.’’ Id. at 683 (emphasis added). 

In particular, in Vasudevan, the  Federal Circuit considered whether the specification demonstrated whether the inventor had sufficient possession by disclosing how the access of disparate databases was achieved.  Id. at 683. The defendant in district court had argued that ‘‘the specification does not show that the inventor had possession of the ability to access ‘disparate databases’” because, according to the defendant, “the specification describes a result, but does not show how to achieve the result [of accessing disparate databases].” Id. at 682. 

On appeal, however, the Federal Circuit disagreed. The Federal Circuit instead found that expert testimony given in the district court raised “a genuine issue of material fact on whether the specification shows how to achieve the functionality of accessing disparate databases.” Id. at 683. The expert had opined that specific portions of the specification explained “that serialized files can be used to correlate parameters from two databases,” and that “those correlation parameters can be used to identify data in one database that is correlated to data in another.” Id. Thus, the Federal Circuit ruled that the expert opinion raised a genuine issue of fact as to whether the inventor had sufficient possession of an invention that achieved the claimed result. Accordingly, the Federal Circuit reversed the district court’s determination of summary judgment regarding lack of written description.

3. Using an Algorithm to demonstrate Enablement

Disclosure of a sufficient algorithm can also satisfy the “enablement requirement.” 

The Section 112 Guidance provides that a claim is sufficiently enabled even if “a considerable amount of experimentation” is necessary, so long as the experimentation “is merely routine, or if the specification in question provides a reasonable amount of guidance with respect to the direction in which the experimentation should proceed.” Section 112 Guidance at 62 (citing Vasudevan, 782 F.3d at 684). The specification need not disclose what is well known in the art. Section 112 Guidance at 62 (citing Trs. of Bos. Univ. v. Everlight Elecs. Co., LTD., 896 F.3d 1357, 1364 (Fed. Cir. 2018)). On the other hand, if “undue extermination” is needed, then a claim can be invalid. Id.

A number of factors (from In re Wands, 858 F.2d 731, 737 (Fed. Cir. 1988)) ) can be considered to determine whether experimentation is undue. These include: “(1) the quantity of experimentation necessary, (2) the amount of direction or guidance presented, (3) the presence or absence of working examples, (4) the nature of the invention, (5) the state of the prior art, (6) the relative skill of those in the art, (7) the predictability or unpredictability of the art, and (8) the breadth of the claims.” Id

A disclosed algorithm that has detail commensurate with the scope of the claims can be sufficient to demonstrate the “enablement” requirement. For example, Section 112 Guidance provides that “[w]ith respect to the breadth of a claim, the relevant concern is whether the scope of enablement provided to one skilled in the art by the disclosure is commensurate with the scope of protection sought by the claims.” Section 112 Guidance at 62.

For example, the Section 112 Guidance provides an example case demonstrating the failure to recite sufficient enablement for a software-related invention. See Sitrick v. Dreamworks, LLC, 516 F.3d 993 (Fed. Cir. 2008). In Sitrick, the claims at issue covered ‘‘integrating’’ or ‘‘substituting’’ a user’s audio signal or visual image into both a pre-existing video game or movie. Id. at 995–97. However, the specification failed to provide sufficient enablement as to how to perform such integration substitution for movies; instead, the specification disclosed how to integrate the images into video games only. Id. at 1000. Accordingly, the Federal Circuit held that the specification ‘‘did not enable the full scope of the asserted claims” (for movies) because ‘‘one skilled in the art [such as a skilled programmer] could not take the disclosure in the specification with respect to substitution or integration of user images in video games and substitute a user image for a pre-existing character image in movies without undue experimentation.’’ Id.

Practice Tip: Include an algorithm sufficient to show possession of the invention and also with enough detail to enable one of skill in the art (a computer programmer) how to implement the software invention, as claimed, on the related hardware.

Subscribe to get updates to this post or to receive future posts from PatentNext. Start a discussion or reach out to the author, Ryan Phelan, at or 312-474-6607. Connect with or follow Ryan on LinkedIn.