Improved Outlook for Software Patents
Software development companies breathed a collective sigh of relief in May of 2016.
The Federal Circuit reversed a Central District of California decision that held all patent claims to a “self-referential” database as not patent eligible under 35 U.S.C. §101. The Federal Circuit remanded the case for further proceedings by patent holder Enfish for its ADO.NET product.
The Resurrected Patents
Enfish asserted two US patents directed to an innovative logical model for a computer database against Microsoft. Unlike conventional logical models, the patented logical models include all data entities in a single table, with column definitions provided by rows in that same table. All cross-references are to data within the same table. This property is what makes the database self-referential, as contrasted with standard relational databases where there are separate tables for separate entities for cross referencing.
The Legal Environment for Patent Eligibility of Software
Section 101 of the US Patent Statute provides that a patent may be obtained for “any new and useful process, machine, manufacture or composition of matter, or any new and useful improvement thereof.” 35 U.S.C. §101. There are exceptions. Laws of nature, natural phenomena and abstract ideas are not patent eligible, as explained by the US Supreme Court recently in Alice Corp. v. CLS Bank, 134 S.Ct. 2347, 2355 (2014) and Mayo v. Prometheus Labs., 132 S.Ct. 1289, 1293 (2012).
Courts are directed to perform a two-part test for eligibility:
- Determine whether patent claims are directed to a patent-ineligible concept; and
- if so, then consider the elements of each claim both individually and as an ordered combination to determine whether the additional elements “transform the nature of the claim” into a patent-eligible application.
Patent claims that, on the whole, recite “something more” may be transformed. “Something more” may include improving the functioning of the computer itself or improving an existing technological process.
Enfish v. Microsoft
The Federal Circuit performed the first step on the Enfish patents. The patent claims recited a data storage and retrieval system, including “means for configuring [computer] memory according to a logical table.” The district court interpreted the “means” claim element as having a four-step corresponding structure / algorithm. The district court held the disclosure of the algorithm was sufficient to save the claims from an indefiniteness attack under 35 U.S.C. §112, but ultimately held that the claims were invalid as not being patent eligible because they were directed to the abstract idea of organizing information into tabular formats.
By contrast, the Federal Circuit pointed out that the claims were not directed to any form of storing tabular data, but instead are specifically directed to a self-referential table for a computer database. The patent specifications emphasized that the invention improves on prior art search and retrieval systems by employing a flexible, self-referential table to store data. Traditional databases were described as “inferior.” The claimed system included benefits such as increased flexibility, faster search times, and smaller memory requirements.
Importantly, the Federal Circuit held “we are not persuaded that the invention’s ability to run on a general-purpose computer dooms the claims.” Unlike the claims in Alice, the Enfish claims were directed to an improvement in the function of a computer. Similarly, “that the improvement is not defined by reference to ‘physical’ components does not doom the claims.” Much of the advancement made in computer technology consists of improvements to software.
Using this analysis to conclude that that the Enfish patent claims were patent-eligible, the Federal Circuit stopped at step one and did not need to determine whether the claim elements, separately and taken together, recited the elusive and somewhat unpredictable “something more.” That said, the analysis seemed rooted in the rubric of step two, focusing on improvements to computer technology.
Lessons for Software Developer Patentees
To be sure, Enfish and Microsoft are not done litigating this case. The result may be visited en banc, and may be the subject of an appeal to the US Supreme Court. Future litigants and court decisions may provide clarity on the issues. In the meantime, software developers can capitalize on holding in Enfish:
- Include descriptions in patent specifications about how the software improves the functioning of a computer or improves other technological processes.
- If too late to modify a specification but there is sufficient foundation in the specification, during patent prosecution, consider including declarations from inventors distinguishing prior art about how the claimed systems and methods improve the functioning of a computer or improve other technological processes.
- Continue the practice of tying software to components such as a processor and computer readable memory. It may not be sufficient to save the claims, but it cannot hurt.
- Make sure “means” language in software claims is supported by sufficient description of the underlying algorithm. Otherwise patent claims may be subjected to an indefiniteness attack on their validity.