Enfish, LLC v. Microsoft Corporation

822 F.3d 1327, 118 U.S.P.Q. 2d (BNA) 1684, 2016 U.S. App. LEXIS 8699, 2016 WL 2756255
CourtCourt of Appeals for the Federal Circuit
DecidedMay 12, 2016
Docket2015-1244
StatusPublished
Cited by625 cases

This text of 822 F.3d 1327 (Enfish, LLC v. Microsoft Corporation) is published on Counsel Stack Legal Research, covering Court of Appeals for the Federal Circuit primary law. Counsel Stack provides free access to over 12 million legal documents including statutes, case law, regulations, and constitutions.

Bluebook
Enfish, LLC v. Microsoft Corporation, 822 F.3d 1327, 118 U.S.P.Q. 2d (BNA) 1684, 2016 U.S. App. LEXIS 8699, 2016 WL 2756255 (Fed. Cir. 2016).

Opinion

HUGHES, Circuit Judge.

Enfish sued Microsoft for infringement of several patents related to a “self-referential” database. On summary judgment, the district court found all claims invalid as ineligible under § 101, some claims invalid as anticipated under § 102, and one claim not infringed. Enfish appeals. We find that the claims are not directed to an abstract idea, so we reverse the summary judgment based on § 101. We find that the “pivot table” feature of the prior art Excel product does not contain the “self-referential” feature of the claims, so we vacate the summary judgment based on § 102. Lastly, we find no error in the district court’s determination on non-infringement, so we affirm the summary judgment of non-infringement. We remand the case for further proceedings.

I

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 11. 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.

Each table in the relational model contains columns defining that table. In the corporate file repository example, the relational model might have the. following ta *1331 bles: 1

[[Image here]]

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:

[[Image here]]

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:

*1332 [[Image here]]

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 self-referential 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 self-referential 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

[[Image here]]

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 self-referential table: the row beginning with ID = # 4. This row has values *1333 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,11. 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 11. 55-59;. id. at col. 2 1. 66-col. 3 1. 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 11.16-22; col. 2 11. 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 11. 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=2015-1244.mp3; see also '604 patent, col. 7 11. 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.

Free access — add to your briefcase to read the full text and ask questions with AI

Related

Cite This Page — Counsel Stack

Bluebook (online)
822 F.3d 1327, 118 U.S.P.Q. 2d (BNA) 1684, 2016 U.S. App. LEXIS 8699, 2016 WL 2756255, Counsel Stack Legal Research, https://law.counselstack.com/opinion/enfish-llc-v-microsoft-corporation-cafc-2016.