1:25-cv-01082
Kaufman v. Zoho Corp
I. Executive Summary and Procedural Information
- Parties & Counsel:- Plaintiff: Michael Philip Kaufman (New York)
- Defendant: Zoho Corporation (California)
- Plaintiff’s Counsel: Jackson Walker LLP; Liston Abramson LLP
 
- Case Identification: 1:25-cv-01082, W.D. Tex., 07/11/2025
- Venue Allegations: Plaintiff alleges venue is proper in the Western District of Texas because Defendant Zoho Corporation maintains its U.S. headquarters and principal place of business, a regular and established place of business, within the district.
- Core Dispute: Plaintiff alleges that Defendant’s Zoho CRM online software services infringe three patents related to technology for automatically generating a user interface to work with the data in a relational database.
- Technical Context: Relational databases are a foundational technology for modern data-driven applications, and the automation of user-friendly interfaces to create, view, and manage data within them addresses a significant software development bottleneck.
- Key Procedural History: The complaint notes that Plaintiff licensed one of the patents-in-suit, U.S. Patent No. 10,977,220, to Salesforce.com Inc. on July 7, 2021. This prior license may become relevant to damages calculations or arguments regarding industry recognition of the technology.
Case Timeline
| Date | Event | 
|---|---|
| 2000-10-31 | Earliest Priority Date for '981, '801, and '220 Patents | 
| 2005-01-01 | Zoho CRM Introduced (approximate date) | 
| 2011-02-08 | '981 Patent Issued | 
| 2013-01-01 | Zoho CRM Supports Custom Modules (at least since) | 
| 2018-07-17 | '801 Patent Issued | 
| 2019-07-01 | Alleged Infringement Period Begins (approximate date) | 
| 2021-04-13 | '220 Patent Issued | 
| 2021-07-07 | '220 Patent Licensed to Salesforce.com Inc. | 
| 2022-02-01 | Alleged Infringement Period Ends (approximate date) | 
| 2025-07-11 | Complaint Filing Date | 
II. Technology and Patent(s)-in-Suit Analysis
U.S. Patent No. 7,885,981 - System And Method For Generating Automatic User Interface For Arbitrarily Complex Databases, issued February 8, 2011
The Invention Explained
- Problem Addressed: The complaint asserts that prior to the patented invention, creating user interfaces (UIs) for relational databases was a labor-intensive process requiring UI routines to be "written and adjusted by hand, on a per-table basis" (Compl. ¶13). This manual coding was a "recurring practical problem" when implementing or modifying data-driven systems (Compl. ¶13).
- The Patented Solution: The invention provides an automated process that first scans the structure of a relational database, including its tables and cross-table relationships, and then uses that information to automatically construct a complete, working UI application (Compl. ¶14). This generated UI supports all standard modes of data interaction (e.g., create, retrieve, update, delete) and enforces the relational integrity of the database without requiring "further human per-table input or adjustment" (Compl. ¶14).
- Technical Importance: The technology is presented as a "major advance" that automated what was previously a manual, time-consuming, and error-prone aspect of software development for database systems (Compl. ¶14).
Key Claims at a Glance
- The complaint asserts independent claim 5 (Compl. ¶20).
- Essential elements of claim 5 include:- A computer-readable storage medium containing a set of instructions for a general purpose computer.
- The instructions are for automatically generating a user interface for working with data in a relational database.
- The instructions comprise a routine for providing a user interface paradigm with modes for create, retrieve, update, and delete, and a corresponding display format for each mode.
- The instructions further comprise a routine for scanning the database to determine its table structures, constraints, and relationships, and for storing representations thereof.
- The instructions further comprise a routine for using said representations to construct a client application that provides a connection to the database.
- The client application integrates processes for representing, navigating, and managing relationships across tables.
 
- The complaint reserves the right to assert other claims (Compl. ¶20).
U.S. Patent No. 10,025,801 - Systems and Methods for Automatically Generating User Interface Elements for Complex Databases, issued July 17, 2018
The Invention Explained
- Problem Addressed: In a standard relational database, a "primary" table often references a "foreign" table using a foreign key, which is typically a simple number or alphanumeric string with no intrinsic meaning to a user (e.g., 0x12d7394) (Compl. ¶50). A UI that simply displays this raw key value is "sub-optimal" because users would prefer to see human-meaningful information (e.g., "English") (Compl. ¶50). This issue "stood in the way of automatic UI generation for relational databases" (Compl. ¶51).
- The Patented Solution: The invention provides a method for generating an "enhanced representation of data" by automatically replacing or supplementing the cryptic foreign key value with a human-friendly description (Compl. ¶51, ¶53). This description is derived from other, more descriptive column values in the referenced foreign table row (e.g., a "text" datatype column) ('801 Patent, Abstract; Compl. ¶51).
- Technical Importance: The complaint alleges this was a "radical improvement" in automated UI generation, as it made the resulting interfaces more intuitive and meaningful for the end-user (Compl. ¶51).
Key Claims at a Glance
- The complaint asserts independent claim 5 ('801 Patent, col. 37:1-30; Compl. ¶49).
- Essential elements of claim 5 include:- A non-transitory machine-readable medium with code for a program executable on a processor.
- The program comprises routines for displaying an enhanced representation of data from a relational database having a primary and a foreign table.
- The routines include one to automatically construct a representation of data from a row of the primary table by:- identifying a foreign key (FK) value in the primary table row;
- locating the corresponding row in the foreign table whose primary key (PK) matches the FK;
- selecting a value from the foreign table row other than the PK value;
- deriving a description using the selected value; and
- augmenting or supplanting the FK value with the description.
 
 
- The complaint reserves the right to assert other claims (Compl. ¶49).
U.S. Patent No. 10,977,220 - Systems and Methods for Automatically Generating User Interface Elements for Complex Databases, issued April 13, 2021
Technology Synopsis
The ’220 Patent claims a computer-readable medium containing instructions for automatically generating a user interface for a relational database. The claimed set of instructions includes distinct routines for scanning the database to determine its data model, creating machine representations of that model, and using those representations to construct a client application that provides full data interaction capabilities (Compl. ¶63-69). A key aspect is that the construction of the client application "does not require any incremental human intervention on a per table basis" (Compl. ¶69).
Asserted Claims
The complaint asserts independent claim 14 (Compl. ¶59).
Accused Features
The complaint alleges that the Zoho CRM UI's observed ability to dynamically adapt to user-made changes to the database structure (e.g., adding a new column and having it appear automatically in the UI) evidences the performance of the claimed scanning, representation, and application construction routines (Compl. ¶64, ¶66).
III. The Accused Instrumentality
Product Identification
The accused instrumentalities are Zoho Corporation's online data-driven services, specifically its Customer Relationship Management software, Zoho CRM (Compl. ¶1, ¶16-17).
Functionality and Market Context
- Zoho CRM is a service that allows users to manage customer data organized in relational databases (Compl. ¶17, ¶22). The service organizes data into "modules," which the complaint alleges are relational database tables (Compl. ¶18). A screenshot provided in the complaint shows default modules such as "Leads, Contacts, Accounts, Deals" (Compl. ¶22, p. 6).
- The service allows users to create their own custom modules and to establish inter-table relationships, such as a cross-reference from a "Contact" to an "Account" via an "Account Name" field (Compl. ¶23-25). A screenshot illustrates a list of contacts, each associated with an account (Compl. ¶24, p. 8).
- The functionality is delivered through a browser-based user interface that provides modes for creating, retrieving, updating, and deleting data (CRUD operations) (Compl. ¶29, ¶35).
IV. Analysis of Infringement Allegations
7,885,981 Patent Infringement Allegations
| Claim Element (from Independent Claim 5) | Alleged Infringing Functionality | Complaint Citation | Patent Citation | 
|---|---|---|---|
| A computer-readable storage medium containing a set of instructions for a general purpose computer | Zoho's servers store the software for running Zoho CRM | ¶28 | col. 10:50-65 | 
| for automatically generating an end-user interface for working with the data within a relational database ... compris[ing] a plurality of tables, constraints and relationships | Zoho CRM provides a browser-based UI generated from its underlying relational database, which comprises tables (called "modules"), constraints (e.g., data types), and relationships (e.g., foreign key cross-references) | ¶29, ¶31-32 | col. 9:1-4 | 
| (a) a routine for providing a user interface paradigm...comprising a set of modes for interacting with a given database table, said modes comprising create, retrieve, update and delete, and a corresponding display format for each mode | The Zoho CRM UI provides distinct interfaces for creating, retrieving, updating, and deleting data records, as shown in a series of screenshots | ¶34-35 | col. 9:56-61 | 
| (b) a routine for scanning said database and applying a body of rules to determine the table structures, constraints and relationships ... and for storing representations thereof | Plaintiff alleges this routine is reasonably inferred to exist because the UI is observed to dynamically adapt to user customizations, such as adding or modifying modules | ¶36 | col. 10:1-5 | 
| (c) a routine for using said representations to construct a corresponding client application, wherein said client application provides a connection to said database | The generated UI is alleged to be constructed from the aforementioned representations and provides persistent access to the database for data retrieval and modification | ¶37 | col. 10:6-9 | 
| [the client application] integrates into each said mode display processes for representing, navigating, and managing said relationships across tables... | The UI displays human-friendly names for cross-references, allows navigation by clicking on them, and manages relationships by constraining data entry to valid foreign keys, thereby ensuring referential integrity | ¶39-42 | col. 10:10-19 | 
- Identified Points of Contention:- Evidentiary Question: The complaint alleges the existence of a "routine for scanning" and "storing representations thereof" based on an inference from the UI's dynamic behavior (Compl. ¶36). A central question may be what direct evidence demonstrates that the accused system performs these specific internal software steps, as opposed to achieving a similar outcome via an alternative technical implementation.
- Scope Question: The claim recites constructing a "client application." A potential dispute may arise over whether Zoho's integrated, server-streamed, browser-based UI meets the definition of a "client application" as contemplated by the patent, or if that term implies a more distinct, standalone software construct.
 
10,025,801 Patent Infringement Allegations
| Claim Element (from Independent Claim 5) | Alleged Infringing Functionality | Complaint Citation | Patent Citation | 
|---|---|---|---|
| a routine to automatically construct a representation of data from a row of the primary table (primary-table row) | The Zoho CRM UI displays a "Contacts" table (primary table) where rows reference a foreign "Language" table | ¶53 | col. 36:51-54 | 
| a routine to identify a foreign key (FK) value in an FK column in the primary-table row, wherein the FK column references the foreign table | The system is alleged to identify the underlying FK value (an alphanumerical record ID) in the "Language" column of the Contacts table | ¶53 | col. 37:15-18 | 
| a routine to locate a row in the foreign table (foreign-table row) whose primary key (PK) value matches the identified FK value | The system is alleged to locate the corresponding row in the Language table that matches the FK value | ¶53 | col. 37:19-22 | 
| a routine to select a value from the foreign-table row other than the PK value | The system selects the string values "English" and "French" from the Language table to display in the UI, rather than the underlying PK value | ¶53 | col. 37:23-25 | 
| a routine to ... use the result to supplant the FK value with the derived description in constructing the representation, and display the representation | The final UI, as depicted in the screenshot, displays the derived string "English" or "French" instead of the unintelligible FK value | ¶54 | col. 36:59-63 | 
- Identified Points of Contention:- Technical Question: The complaint alleges that the descriptive value is selected based on one of the mechanisms recited in the claim (e.g., "column name," "column position") but does not specify which one or provide evidence to support this assertion (Compl. ¶54). The actual mechanism used by Zoho CRM to select the descriptive field will be a key technical question.
- Scope Question: A dispute may arise over the term "supplant the FK value with the derived description in constructing the representation." The question may be whether displaying a human-readable name in a UI column constitutes "supplanting" the FK in the data representation being constructed for display, or if it is merely a display-layer rendering of a hyperlink that does not alter the underlying data representation itself.
 
V. Key Claim Terms for Construction
U.S. Patent No. 7,885,981
- The Term: "scanning said database"
- Context and Importance: This term describes a foundational step of the claimed invention. The infringement allegation for this element is based on inference (Compl. ¶36). Practitioners may focus on this term because its definition will determine the type of evidence required to prove infringement—whether observation of the system's dynamic output is sufficient, or if direct evidence of a specific internal software process is necessary.
- Intrinsic Evidence for Interpretation:- Evidence for a Broader Interpretation: The patent may describe "scanning" in a general sense, covering any form of automated interrogation of the database schema to determine its structure, which could support Plaintiff's inferential argument.
- Evidence for a Narrower Interpretation: The complaint's description of an automated process that would "first scan the structure of the database" suggests a discrete, comprehensive, and initial step (Compl. ¶14). If the patent specification supports this, it could require proof of a specific, holistic scanning operation rather than just on-the-fly or ad-hoc schema queries.
 
U.S. Patent No. 10,025,801
- The Term: "supplant the FK value with the description"
- Context and Importance: This term is central to the novelty of the '801 Patent, defining the act of replacing a cryptic key with meaningful information. The case may turn on whether Zoho's display of a human-readable field name (which is also a hyperlink) meets this limitation.
- Intrinsic Evidence for Interpretation:- Evidence for a Broader Interpretation: The patent's abstract states the invention "resolves cross-table relationships so as to supplant internal key fields... with corresponding descriptive fields" ('801 Patent, Abstract). This language could be interpreted to mean the visual replacement in the final UI is the "supplanting," supporting a broader definition focused on the user's experience.
- Evidence for a Narrower Interpretation: The detailed description or prosecution history may define "supplanting" as an act that occurs within the software's data structures before the UI is rendered, such as creating a temporary data representation where the FK value is literally replaced by the descriptive string. Such a definition would impose a higher evidentiary burden.
 
VI. Analyst’s Conclusion: Key Questions for the Case
This case appears to center on the intersection of high-level functional claims and the specific inner workings of a complex software-as-a-service product. The key questions for the court will likely be:
- A question of definitional scope: Can the act of displaying a human-readable hyperlink in a user interface be construed as "supplanting" an underlying foreign key value "in constructing the representation," as required by the '801 patent, or is there a technical distinction between visual rendering and the construction of the underlying data representation?
- An evidentiary question of operational proof: The complaint infers the existence of internal "scanning" and "representation" routines ('981 and '220 patents) from the observed dynamic behavior of the Zoho CRM interface. A core issue will be what level of direct evidence is required to prove that the accused system performs these specific, claimed software functions, as opposed to achieving a similar user-facing result through a different, non-infringing technical method.