Kaufman v. Microsoft Corporation

CourtCourt of Appeals for the Federal Circuit
DecidedMay 20, 2022
Docket21-1634
StatusPublished

This text of Kaufman v. Microsoft Corporation (Kaufman 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
Kaufman v. Microsoft Corporation, (Fed. Cir. 2022).

Opinion

Case: 21-1634 Document: 45 Page: 1 Filed: 05/20/2022

United States Court of Appeals for the Federal Circuit ______________________

MICHAEL PHILIP KAUFMAN, Plaintiff-Cross-Appellant

v.

MICROSOFT CORPORATION, Defendant-Appellant ______________________

2021-1634, 2021-1691 ______________________

Appeals from the United States District Court for the Southern District of New York in No. 1:16-cv-02880-AKH, Judge Alvin K. Hellerstein. ______________________

Decided: May 20, 2022 ______________________

RONALD ABRAMSON, ALEX G. PATCHEN, Liston Abram- son LLP, New York, NY, argued for plaintiff-cross-appel- lant. Also represented by ARI JASON JAFFESS.

CHRISTINA JORDAN MCCULLOUGH, Perkins Coie LLP, Seattle, WA, argued for defendant-appellant. Also repre- sented by DAN L. BAGATELL, Hanover, NH; TARA LAUREN KURTIS, Chicago, IL; AHMED JAMAL DAVIS, LEAH A. EDELMAN, Fish & Richardson P.C., Washington, DC; JOHN STEPHEN GOETZ, EXCYLYN HARDIN-SMITH, New York, NY; JASON W. WOLFF, San Diego, CA. ______________________ Case: 21-1634 Document: 45 Page: 2 Filed: 05/20/2022

Before DYK, REYNA, and TARANTO, Circuit Judges. TARANTO, Circuit Judge. Michael Philip Kaufman owns now-expired U.S. Patent No. 7,885,981, on which he is a co-inventor. The patent describes and claims methods for using a computer to au- tomatically generate an end-user interface for working with the data in a relational database. Mr. Kaufman brought the present action against Microsoft Corporation, asserting infringement of claims of the patent by Mi- crosoft’s making and selling of its Dynamic Data product. A jury found Microsoft liable and awarded damages of $7 million to Mr. Kaufman. The district court upheld the ver- dict against Microsoft’s post-judgment challenges, Kauf- man v. Microsoft Corp., No. 1:16-cv-02880, 2021 WL 242672, at *1 (S.D.N.Y. Jan. 25, 2021) (JMOL Order), and it also denied Mr. Kaufman’s motion to amend the judg- ment to include prejudgment interest, Kaufman v. Mi- crosoft Corp., No. 1:16-cv-02880, 2021 WL 260485, at *1 (S.D.N.Y. Jan. 25, 2021) (Prejudgment Interest Order). Microsoft and Mr. Kaufman both appeal. We reject Mi- crosoft’s challenges and thus affirm the denial of Mi- crosoft’s post-judgment motions. But we agree with Mr. Kaufman’s challenges and reverse the denial of prejudg- ment interest. I A The ’981 patent addresses the creation of user inter- faces that permit users to interact with data in relational databases, which store data in multiple tables that are re- lated to each other in defined ways. For a particular data- base, such an interface should permit the user to view and manipulate the data according to the structure of the tables and their relationships—i.e., the “data model” or “schema” of the database. See ’981 patent, col. 2, lines 29–52. The Case: 21-1634 Document: 45 Page: 3 Filed: 05/20/2022

KAUFMAN v. MICROSOFT CORPORATION 3

specification notes that in the prior art, the database soft- ware itself and the user interface were typically developed separately, and significant manual programming was needed to create an interface that matched the data model built into the database software. Id., col. 2, line 53, through col. 3, line 4. An object of the invention, the patent indi- cates, is to enable a developer to create “a complete and fully functional user interface (UI) for any arbitrarily com- plex or large database schema, without any custom soft- ware programming.” Id., col. 3, lines 8–11. Claim 1 of the ’981 patent is representative for pur- poses of the issues before us. It recites: 1. A method for operating a server comprising a processor for automatically generating an end-user interface for working with the data within a relational database defined within a rela- tional DBMS whose data is stored in machine-read- able media and which is accessible to said server, wherein said relational database comprises a plu- rality of tables, constraints and relationships stored in said DBMS in accordance with a data model comprising said tables and their column- complements and datatypes, said constraints, and the relationships across said tables, and wherein said relational database may be of any arbitrary size or complexity, said method comprising (a) providing an output stream from said server, for user display and input devices, defining a user in- terface paradigm comprising a set of modes for in- teracting with a given database table, said modes comprising create, retrieve, update and delete, and a corresponding display format for each mode; (b) causing said server to scan said database and apply a body of rules to determine the ta- ble structures, constraints and relationships of said data model, and store representations Case: 21-1634 Document: 45 Page: 4 Filed: 05/20/2022

thereof in machine-readable media accessible to said server; and (c) causing said server to use said representations to construct a corresponding client application for access through said user display and input devices, wherein said client application provides a con- nection to said database, provides displays of the table contents of said database for each of said modes in accordance with the display formats of said paradigm, integrates into each said mode display processes for representing, navi- gating, and managing said relationships across tables, for selecting among said modes, and for navigating across said tables and interacting in accordance the selected mode with the data in the tables that are reached by said navigation, while observing and enforcing relational interdependen- cies among data across said tables. Id., col. 377, lines 2–38 (emphases added). As described in limitation (a), the interface created by the claimed method uses a known “CRUD” paradigm for categorizing the uni- verse of user operations as “creating,” “retrieving,” “updat- ing,” and “deleting” records in the database. See, e.g., J.A. 5162 (Microsoft documentation describing the accused product in terms of CRUD). The ’981 patent describes in detail a single embodiment of the claimed invention: an “implementation of the inven- tion” called SCHEMALIVE™. ’981 patent, col. 4, lines 34– 38. The specification includes screen shots, id., Figs. 1–4, 7–8, 9A–9E, textual description, id., col. 4, line 51, through col. 26, line 52, and source code, id., col. 27, through col. 376, describing SCHEMALIVE™, although certain fea- tures that are described are not implemented in the code included in the patent, id., col. 4, lines 44–46. Case: 21-1634 Document: 45 Page: 5 Filed: 05/20/2022

KAUFMAN v. MICROSOFT CORPORATION 5

The patent claims priority to a provisional patent ap- plication filed in October 2000, and it issued on February 8, 2011. Id., title page. B In 2016, Mr. Kaufman sued Microsoft for infringing the ’981 patent by making and selling certain “development tools for its .NET Framework software platform,” which al- legedly automate the generation of a software application for interacting with a database based on the underlying data model. J.A. 282–83 (Compl. ¶ 11). The complaint fo- cuses on a Microsoft product called Dynamic Data, which, the complaint says, “automatically generates” a Web appli- cation for “viewing and editing data based on the schema of the data.” J.A. 285 (Compl. ¶ 20) (citation omitted); see J.A. 5162. 1 In 2019, Microsoft moved for summary judgment of noninfringement. It argued that the phrase “automatically generating” found in the preamble of claim 1 is limiting, that “automatic” means “no human labor required,” that limitation (b) (“causing said server to scan said database and apply a body of rules . . . and store representations . . .”) must be performed “automatically,” and that Mi- crosoft does not infringe because “[t]he accused Dynamic Data functionality requires significant developer effort to ‘scan said database’ and to complete the claimed steps.” J.A. 2083–87.

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

Related

General Motors Corp. v. Devex Corp.
461 U.S. 648 (Supreme Court, 1983)
Finjan, Inc. v. Secure Computing Corp.
626 F.3d 1197 (Federal Circuit, 2010)
Lucent Technologies, Inc. v. Gateway, Inc.
525 F.3d 1200 (Federal Circuit, 2008)
Sanofi-Aventis v. Apotex Inc.
659 F.3d 1171 (Federal Circuit, 2011)
Vitronics Corporation v. Conceptronic, Inc.
90 F.3d 1576 (Federal Circuit, 1996)
Manganiello v. City of New York
612 F.3d 149 (Second Circuit, 2010)
Epos Technologies Ltd. v. Pegasus Technologies Ltd.
766 F.3d 1338 (Federal Circuit, 2014)
Lifenet Health v. Lifecell Corporation
837 F.3d 1316 (Federal Circuit, 2016)
Raytheon Company v. Indigo Systems Corporation
895 F.3d 1333 (Federal Circuit, 2018)
Emamian v. Rockefeller Univ.
971 F.3d 380 (Second Circuit, 2020)
Ashley v. City of New York
992 F.3d 128 (Second Circuit, 2021)

Cite This Page — Counsel Stack

Bluebook (online)
Kaufman v. Microsoft Corporation, Counsel Stack Legal Research, https://law.counselstack.com/opinion/kaufman-v-microsoft-corporation-cafc-2022.