ENFISH, LLC,
v.
MICROSOFT CORPORATION

Links

ENFISH, LLC, v. MICROSOFT CORPORATION

US 6,151,604

US 6,163,775

Summary

Claims of US patent 6,151,604 and 6,163,775 in the name of Enfish LCC were found to be patent eligible subject matter under 35 USC 101 because they relate to an improvement in computer related technology.

Comments

  • Not all improvements in computer related technology are inherently abstract and hence unpatenatable.
  • Claim directed to software, as opposed to hardware, are not inherently abstract.
  • It is relevant to ask whether the claims are directed to an improvement to computer functionality versus being directed to an abstract idea, even at the first step of the Alice analysis.
  • Claims that are directed to a specific improvement to the way that computer operates may generally define patentable subject matter.
  • Claims that are specifically directed are more likely to define patentable subject matter.
  • Non conventional functions may suggest patentable subject matter.
  • Advantages included in a specification increase the likelihood of a finding of patent eligible subject matter.
  • Consider using means-plus-function claims to obtain narrow claims that may be patentable.
  • Support the means-plus-function claims with a detailed description.
  • Merely because software can run on a general purpose computer does not result in patent ineligibility.

Broad description of the invention

The patents claims methods and systems that are directed to a logical model for a computer database.

Characteristic Claim

Claim 17 of the ‘604 patent recites:

A data storage and retrieval system for a computer memory, comprising:

means for configuring said memory according to a logical table, said logical table including:

a plurality of logical rows, each said logical row including an object identification number (OID) to identify each said logical row, each said logical row corresponding to a record of information;

a plurality of logical columns intersecting said plurality of logical rows to define a plurality of logical cells, each said logical column including an OID to identify each said logical column; and

means for indexing data stored in said table.

Details

Microsoft develops and sells a variety of software products, including the product ADO.NET. At least through the late 1990s and early 2000s, Enfish developed and sold software products, including a new type of database program.

Enfish received U.S. Patent 6,151,604 and U.S. Patent 6,163,775 in late 2000. Both claim priority to the same application filed in March 1995.

The ‘604 and ‘775 patents are directed to an innovative logical model for a computer database. A logical model is a model of data for a computer database explaining how the various elements of information are related to one another. A logical model generally results in the creation of particular tables of data, but it does not describe how the bits and bytes of those tables are arranged in physical memory devices. Contrary to conventional logical models, the patented logical model includes all data entities in a single table, with column definitions provided by rows in that same table. The patents describe this as the “self-referential” property of the database. ‘604 patent, col. 2 ll. 44-52.

This self-referential property can be best understood in contrast with the more standard “relational” model. With the relational model, each entity (i.e., each type of thing) that is modeled is provided in a separate table. For instance, a relational model for a corporate file repository might include the following tables:

document table, person table, company table.

The document table might contain information about documents stored on the file repository, the person table might contain information about authors of the documents, and the company table might contain information about the companies that employ the persons.

Using this relational model, if a database were to store information about a document called proj.doc, a person called Scott Wlaschin, and a company called DEXIS, then the result might be: [Table omitted – Ed]

To indicate that Scott Wlaschin is the author of proj.doc and that he is employed by DEXIS, the relational model uses relationships as follows: [Omitted – Ed]Here, the top-most relationship explains that the value for “Author” in the Document table refers to the “ID” column of the Person table. Because the row for proj.doc has AUTHOR = 1, the row in the Person table that has ID = 1 is the author of proj.doc. By this technique, the relational model captures information about each type of entity in a separate table, with relationships between those tables informing the relationships between rows in different tables.

In contrast to the relational model, the patented selfreferential model has two features that are not found in the relational model: first the self-referential model can store all entity types in a single table, and second the selfreferential model can define the table’s columns by rows in that same table. For example, a self-referential model corresponding to the example relational model discussed above might look like the following:[2] [Table omitted – ED]

This self-referential table stores the same information that is stored by the example relational model shown above. However, all of the information about documents, persons, and companies are stored in a single table.

Further, an additional row is included in the selfreferential table: the row beginning with ID = #4. This row has values of TYPE = “field” and LABEL = “Employed By.” Such a row with TYPE = “field” is a special row, because it defines characteristics of a column in that same table. In this case, the row with ID = #4 corresponds to the penultimate column, which is denoted by also marking that column with the ID of #4. The row with ID = #4 defines a single characteristic of the corresponding column, viz., its label. Because the row with ID = #4 has LABEL = “Employed By,” we know that the corresponding column is labeled “Employed By,” as seen in the penultimate column. In other situations, the row might define other characteristics of the column, such as the type of data that the column can hold, e.g., text, integer numbers, or decimal numbers. Because the patent describes a model where the table’s columns are defined by rows in that same table, it is “self-referential.” See ‘604 patent, col. 2, ll. 59-65.

The patents teach that multiple benefits flow from this design. First, the patents disclose an indexing technique that allows for faster searching of data than would be possible with the relational model. See, e.g., ‘604 patent, col. 1 ll. 55-59; id. at col. 2 l. 66-col. 3 l. 6. Second, the patents teach that the self-referential model allows for more effective storage of data other than structured text, such as images and unstructured text. See, e.g., ‘604 patent, col. 2 ll. 16-22; col. 2 ll. 46-52.

Finally, the patents teach that the self-referential model allows more flexibility in configuring the database. See, e.g., ‘604 patent, col. 2 ll. 27-29. In particular, whereas deployment of a relational database often involves extensive modeling and configuration of the various tables and relationships in advance of launching the database, Enfish argues that the self-referential database can be launched without such tasks and instead configured on-the-fly. See Oral Argument at 1:00-2:15 http://oralarguments.cafc.ucsourts.gov/default.aspx?fl=20 15-1244.mp3; see also ‘604 patent, col. 7 ll. 10-22. For instance, the database could be launched with no or only minimal column definitions. Then, as a new attribute of information is encountered, such as an email address, an “Email” column could be added simply by inserting a new row of TYPE = “field” and LABEL = “email.” The addition of this new row can then instigate the database to create a new, corresponding column. The addition of a new row defining-a-column to the previous example might result in the following: [Omitted – Ed]

In 2012, Enfish filed suit against Microsoft in district court in California, alleging that Microsoft’s ADO.NET product infringes the ‘604 and ‘775 patents. ADO.NET provides an interface by which software applications can store, retrieve, and otherwise manipulate data stored in a database. Enfish alleges that ADO.NET creates and manipulates self-referential tables as part of its operation.

Five claims are at issue in this appeal: claims 17, 31, and 32 of the ‘604 patent; and claims 31 and 32 of the ‘775 patent. The district court entered summary judgment on these claims as follows: all claims invalid under 35 U.S.C. § 101 as directed to an abstract idea; claims 31 and 32 of both patents invalid under 35 U.S.C. § 102(b) as anticipated by the prior public sale and use of Microsoft’s Excel 5.0 product; and claim 17 not infringed by ADO.NET.

Enfish appeals each of these summary judgments. We have jurisdiction under 28 U.S.C. § 1295(a)(1).

Section 101 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. This court, as well as the Supreme Court, has long grappled with the exception that “[l]aws of nature, natural phenomena, and abstract ideas are not patentable.” Ass’n for Molecular Pathology v. Myriad Genetics, Inc., ___ U.S. ___, 133 S. Ct. 2107, 2116 (2013) (quoting Mayo Collaborative Servs. v. Prometheus Labs., Inc., ___ U.S. ___, 132 S. Ct. 1289, 1293 (2012)). Supreme Court precedent instructs us to “first determine whether the claims at issue are directed to a patentineligible concept.” Alice Corp. Pty Ltd. v. CLS Bank Int’l, ___ U.S. ___, 134 S. Ct. 2347, 2355 (2014). If this threshold determination is met, we move to the second step of the inquiry and “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.” Id. (quoting Mayo, 132 S. Ct. at 1298, 1297).

The Supreme Court has not established a definitive rule to determine what constitutes an “abstract idea” sufficient to satisfy the first step of the Mayo/Alice inquiry. See id. at 2357. Rather, both this court and the Supreme Court have found it sufficient to compare claims at issue to those claims already found to be directed to an abstract idea in previous cases. “[The Court] need not labor to delimit the precise contours of the `abstract ideas’ category in this case. It is enough to recognize that there is no meaningful distinction between the concept of risk hedging in Bilski and the concept of intermediated settlement at issue here.” Alice, 134 S. Ct. at 2357; see also OIP Techs., 788 F.3d at 1362. For instance, fundamental economic and conventional business practices are often found to be abstract ideas, even if performed on a computer. See, e.g., OIP Techs., 788 F.3d at 1362-63.

In setting up the two-stage Mayo/Alice inquiry, the Supreme Court has declared: “We must first determine whether the claims at issue are directed to a patent ineligible concept.” Alice, 134 S. Ct. at 2355. That formulation plainly contemplates that the first step of the inquiry is a meaningful one, i.e., that a substantial class of claims are not directed to a patent-ineligible concept. The “directed to” inquiry, therefore, cannot simply ask whether the claims involve a patent-ineligible concept, because essentially every routinely patent-eligible claim involving physical products and actions involves a law of nature and/or natural phenomenon—after all, they take place in the physical world. See Mayo, 132 S. Ct. at 1293 (“For all inventions at some level embody, use, reflect, rest upon, or apply laws of nature, natural phenomena, or abstract ideas.”) Rather, the “directed to” inquiry applies a stage-one filter to claims, considered in light of the specification, based on whether “their character as a whole is directed to excluded subject matter.” Internet Patents Corp. v. Active Network, Inc., 790 F.3d 1343, 1346 (Fed. Cir. 2015); see Genetic Techs. Ltd. v. Merial L.L.C., 2016 WL 1393573, at *5 (Fed. Cir. 2016) (inquiring into “the focus of the claimed advance over the prior art”).

The Supreme Court has suggested that claims “purport[ing] to improve the functioning of the computer itself,” or “improv[ing] an existing technological process” might not succumb to the abstract idea exception. See Alice, 134 S. Ct. at 2358-59. While it is true that the Court discussed improvements to computer-related technology in the second step of its analysis in Alice, see id. at 2355-60, that was because the Court did not need to discuss the first step of its analysis at any considerable length, see id. at 2356 (“Petitioner acknowledges that its claims describe intermediate settlement. . . .”), id. at 2357.

We do not read Alice to broadly hold that all improvements in computer-related technology are inherently abstract and, therefore, must be considered at step two. Indeed, some improvements in computer-related technology when appropriately claimed are undoubtedly not abstract, such as a chip architecture, an LED display, and the like. Nor do we think that claims directed to software, as opposed to hardware, are inherently abstract and therefore only properly analyzed at the second step of the Alice analysis. Software can make non-abstract improvements to computer technology just as hardware improvements can, and sometimes the improvements can be accomplished through either route. We thus see no reason to conclude that all claims directed to improvements in computer-related technology, including those directed to software, are abstract and necessarily analyzed at the second step of Alice, nor do we believe that Alice so directs. Therefore, we find it relevant to ask whether the claims are directed to an improvement to computer functionality versus being directed to an abstract idea, even at the first step of the Alice analysis.

For that reason, the first step in the Alice inquiry in this case asks whether the focus of the claims is on the specific asserted improvement in computer capabilities (i.e., the self-referential table for a computer database) or, instead, on a process that qualifies as an “abstract idea” for which computers are invoked merely as a tool. As noted infra, in Bilski and Alice and virtually all of the computer-related § 101 cases we have issued in light of those Supreme Court decisions, it was clear that the claims were of the latter type—requiring that the analysis proceed to the second step of the Alice inquiry, which asks if nevertheless there is some inventive concept in the application of the abstract idea. See Alice, 134 S. Ct. at 2355, 2357-59. In this case, however, the plain focus of the claims is on an improvement to computer functionality itself, not on economic or other tasks for which a computer is used in its ordinary capacity.

Accordingly, we find that the claims at issue in this appeal are not directed to an abstract idea within the meaning of Alice. Rather, they are directed to a specific improvement to the way computers operate, embodied in the self-referential table. See supra at 6. Claim 17 of the ‘604 patent recites:

A data storage and retrieval system for a computer memory, comprising:

means for configuring said memory according to a logical table, said logical table including:

a plurality of logical rows, each said logical row including an object identification number (OID) to identify each said logical row, each said logical row corresponding to a record of information;

a plurality of logical columns intersecting said plurality of logical rows to define a plurality of logical cells, each said logical column including an OID to identify each said logical column; and

means for indexing data stored in said table.

Pursuant to 35 U.S.C. § 112 ¶ 6 (2006), the district court construed the “means for configuring” language as requiring a four-step algorithm:[3]

  1. Create, in a computer memory, a logical table that need not be stored contiguously in the computer memory, the logical table being comprised of rows and columns, the rows corresponding to records, the columns corresponding to fields or attributes, the logical table being capable of storing different kinds of records.
  2. Assign each row and column an object identification number (OID) that, when stored as data, can act as a pointer to the associated row or column and that can be of variable length between databases.
  3. For each column, store information about that column in one or more rows, rendering the table self-referential, the appending, to the logical table, of new columns that are available for immediate use being possible through the creation of new column definition records.
  4. In one or more cells defined by the intersection of the rows and columns, store and access data, which can include structured data, unstructured data, or a pointer to another row.

J.A. 325.

The district court concluded that the claims were directed to the abstract idea of “storing, organizing, and retrieving memory in a logical table” or, more simply, “the concept of organizing information using tabular formats.” J.A. 321 (emphasis omitted). Likewise, Microsoft urges the court to view the claims as being directed to “the concepts of organizing data into a logical table with identified columns and rows where one or more rows are used to store an index or information defining columns.” Appellee’s Br. 17. However, describing the claims at such a high level of abstraction and untethered from the language of the claims all but ensures that the exceptions to § 101 swallow the rule. See Alice, 134 S. Ct. at 2354 (noting that “we tread carefully in construing this exclusionary principle [of laws of nature, natural phenomena, and abstract ideas] lest it swallow all of patent law”); cf. Diamond v. Diehr, 450 U.S. 175, 189 n.12 (1981) (cautioning that overgeneralizing claims, “if carried to its extreme, make[s] all inventions un patentable because all inventions can be reduced to underlying principles of nature which, once known, make their implementation obvious”).

Here, the claims are not simply directed to any form of storing tabular data, but instead are specifically directed to a self-referential table for a computer database. For claim 17, this is reflected in step three of the “means for configuring” algorithm described above. For both pairs of claims 31 and 32, this is reflected in other claim language, discussed infra at 20. The necessity of describing the claims in such a way is underscored by the specification’s emphasis that “the present invention comprises a flexible, self-referential table that stores data.” ‘604 patent at Abstract; see also id. at col. 2 ll. 44-46 (“The present invention improves upon prior art information search and retrieval systems by employing a flexible, self referential table to store data.”).

The specification also teaches that the self-referential table functions differently than conventional database structures. According to the specification, traditional databases, such as “those that follow the relational model and those that follow the object oriented model,” ‘604 patent, col. 1 ll. 37-40, are inferior to the claimed invention. While “[t]he structural requirements of current databases require a programmer to predefine a structure and subsequent [data] entry must conform to that structure,” id. at col. 2 ll. 10-13, the “database of the present invention does not require a programmer to preconfigure a structure to which a user must adapt data entry.” Id. at col 2 ll. 27-29. Moreover, our conclusion that the claims are directed to an improvement of an existing technology is bolstered by the specification’s teachings that the claimed invention achieves other benefits over conventional databases, such as increased flexibility, faster search times, and smaller memory requirements. See id. at col 2 ll. 23-27; see also Openwave Sys., Inc. v. Apple Inc., 808 F.3d 509, 513-14 (Fed. Cir. 2015) (finding that a specification’s disparagement of the prior art is relevant to determine the scope of the invention).

In finding that the claims were directed simply to “the concept of organizing information using tabular formats,” J.A. 321 (emphasis omitted), the district court oversimplified the self-referential component of the claims and downplayed the invention’s benefits. The court determined that the patents’ self-referential concept could be satisfied by creating a table with a simple header row. But that is simply not the case. For example, step three of the algorithm described above explains that the table stores information related to each column in rows of that very same table, such that new columns can be added by creating new rows in the table. See J.A. 325 (describing four-step algorithm); see also ‘604 patent, col. 2 ll. 53-65 (describing “the present invention”, including a description where “columns are entered as rows in the table and the record corresponding to a column contains various information about the column,” thereby “render[ing] the table self-referential”). It is beyond debate that this is more than simply a header row.

Moreover, we are not persuaded that the invention’s ability to run on a general-purpose computer dooms the claims. Unlike the claims at issue in Alice or, more recently in Versata Development Group v. SAP America, Inc., 793 F.3d 1306 (Fed. Cir. 2015), which Microsoft alleges to be especially similar to the present case, Appellee’s Br. 18, see also Oral Argument at 15:40-18:15, the claims here are directed to an improvement in the functioning of a computer. In contrast, the claims at issue in Alice and Versata can readily be understood as simply adding conventional computer components to well-known business practices. See Alice, 134 S. Ct. at 2358-60; Versata Dev. Grp., 793 F.3d at 1333-34 (computer performed “purely conventional” steps to carry out claims directed to the “abstract idea of determining a price using organization and product group hierarchies”); see also Mortgage Grader, Inc. v. First Choice Loan Servs. Inc., 811 F.3d 1314, 1324-25 (Fed. Cir. 2016) (claims attaching generic computer components to perform “anonymous loan shopping” not patent eligible); Intellectual Ventures I LLC v. Capital One Bank (USA), 792 F.3d 1363, 1367-69 (Fed. Cir. 2015) (claims adding generic computer components to financial budgeting); OIP Techs., 788 F.3d at 1362-64 (claims implementing offer-based price optimization using conventional computer activities); Ultramercial, Inc. v. Hulu, LLC, 772 F.3d 709, 714-17 (Fed. Cir. 2014) (claims applying an exchange of advertising for copyrighted content to the Internet); buySAFE, Inc. v. Google, Inc., 765 F.3d 1350, 1354-55 (Fed. Cir. 2014) (claims adding generic computer functionality to the formation of guaranteed contractual relationships). And unlike the claims here that are directed to a specific improvement to computer functionality, the patentineligible claims at issue in other cases recited use of an abstract mathematical formula on any general purpose computer, see Gottschalk v. Benson, 409 U.S. 63, 93 (1972), see also Alice, 134 S. Ct. at 2357-58, or recited a purely conventional computer implementation of a mathematical formula, see Parker v. Flook, 437 U.S. 584, 594 (1978); see also Alice, 134 S. Ct. at 2358, or recited generalized steps to be performed on a computer using conventional computer activity, see Internet Patents, 790 F.3d 1348-49 (claims directed to abstract idea of maintaining computer state without recitation of specific activity used to generate that result), Digitech Image Techs., LLC v. Electrs. For Imaging, Inc., 758 F.3d 1344, 1351 (Fed. Cir. 2014) (claims directed to abstract idea of “organizing information through mathematical correlations” with recitation of only generic gathering and processing activities).

Similarly, that the improvement is not defined by reference to “physical” components does not doom the claims. To hold otherwise risks resurrecting a bright-line machine-or-transformation test, cf. Bilski v. Kappos, 561 U.S. 593, 604 (2010) (“The machine-or-transformation test is not the sole test for deciding whether an invention is a patent-eligible `process.'”), or creating a categorical ban on software patents, cf. id. at 603 (“This Court has not indicated that the existence of these well-established exceptions gives the Judiciary carte blanche to impose other limitations that are inconsistent with the text and the statute’s purpose and design.”). Much of the advancement made in computer technology consists of improvements to software that, by their very nature, may not be defined by particular physical features but rather by logical structures and processes. We do not see in Bilski or Alice, or our cases, an exclusion to patenting this large field of technological progress.

In sum, the self-referential table recited in the claims on appeal is a specific type of data structure designed to improve the way a computer stores and retrieves data in memory. The specification’s disparagement of conventional data structures, combined with language describing the “present invention” as including the features that make up a self-referential table, confirm that our characterization of the “invention” for purposes of the § 101 analysis has not been deceived by the “draftsman’s art.” Cf. Alice, 134 S. Ct. at 2360. In other words, we are not faced with a situation where general-purpose computer components are added post-hoc to a fundamental economic practice or mathematical equation. Rather, the claims are directed to a specific implementation of a solution to a problem in the software arts. Accordingly, we find the claims at issue are not directed to an abstract idea.

Because the claims are not directed to an abstract idea under step one of the Alice analysis, we do not need to proceed to step two of that analysis. See id. at 2355. We recognize that, in other cases involving computerrelated claims, there may be close calls about how to characterize what the claims are directed to. In such cases, an analysis of whether there are arguably concrete improvements in the recited computer technology could take place under step two. Here, though, we think it is clear for the reasons stated that the claims are not directed to an abstract idea, and so we stop at step one. We conclude that the claims are patent-eligible.

 

Other “Alice” patents found valid by a US court