Enfish, LLC v. Microsoft Corporation
822 F.3d 1327
| Fed. Cir. | 2016Background
- Enfish sued Microsoft alleging ADO.NET infringed patents ’604 and ’775 claiming a "self-referential" logical database table that stores all entity types in one table and defines columns by rows in that same table.
- The district court granted summary judgment: all asserted claims invalid under 35 U.S.C. § 101 (abstract idea), claims 31–32 of both patents anticipated under § 102 by Excel 5.0 pivot tables, and claim 17 not infringed by ADO.NET.
- The patents describe benefits of the self-referential model: greater flexibility (on‑the‑fly schema changes), improved indexing/search performance, and efficient storage of unstructured data.
- Claim 17 uses means-plus-function language (means for configuring a logical table; means for indexing); the district court construed the means terms to specific algorithms/structures from the specification.
- The district court found Excel pivot tables functionally similar and that ADO.NET’s indexing differed from the patents’ disclosed indexing algorithm, leading to non‑infringement for claim 17.
Issues
| Issue | Enfish's Argument | Microsoft’s Argument | Held |
|---|---|---|---|
| 1) §101 patent eligibility | Claims directed to a concrete improvement in computer functionality (self‑referential table) and thus eligible | Claims merely claim the abstract idea of organizing information in tabular form | Court: Reversed district court; claims not directed to an abstract idea (patent‑eligible) |
| 2) §112 indefiniteness (claim 17 means‑term) | Disclosure provides sufficient structure/algorithm; four‑step algorithm adequate | Four‑step algorithm insufficient to identify structure for the means limitation | Court: Four‑step algorithm adequate; claim 17 not indefinite |
| 3) §102 anticipation by Excel 5.0 pivot tables (claims 31, 32) | Excel pivot tables anticipate the self‑referential feature because rows in source data can become columns in pivot output | Pivot uses two separate tables (raw data and pivot); not a single self‑referential table as claimed | Court: Vacated anticipation judgment; Excel pivot tables do not anticipate (no single table with row defining column) |
| 4) Non‑infringement of claim 17 (means for indexing) | ADO.NET performs equivalent indexing; differences are insubstantial | ADO.NET does not store text in index or use the bi‑directional pointers claimed; not identical or equivalent structure | Court: Affirmed non‑infringement; ADO.NET does not use identical or equivalent structure to the disclosed indexing algorithm |
Key Cases Cited
- Alice Corp. Pty Ltd. v. CLS Bank Int'l, 134 S. Ct. 2347 (2014) (two‑step framework for abstract‑idea analysis)
- Mayo Collaborative Servs. v. Prometheus Labs., 132 S. Ct. 1289 (2012) (limits on patenting laws of nature and abstract ideas)
- Diamond v. Diehr, 450 U.S. 175 (1981) (caution against overgeneralizing claims into abstract ideas)
- Bilski v. Kappos, 561 U.S. 593 (2010) (machine‑or‑transformation test not sole barometer)
- EON Corp. IP Holdings LLC v. AT&T Mobility LLC, 785 F.3d 616 (Fed. Cir. 2015) (software function: corresponding structure is the algorithm)
- OIP Techs., Inc. v. Amazon.com, Inc., 788 F.3d 1359 (Fed. Cir. 2015) (§101 precedent; abstract ideas in computer context)
- Net MoneyIN, Inc. v. VeriSign, Inc., 545 F.3d 1359 (Fed. Cir. 2008) (anticipation requires reference to disclose elements arranged as in the claim)
