DCT
2:24-cv-00999
Algebraix LLC v. IBM Corp
Key Events
Amended Complaint
I. Executive Summary and Procedural Information
- Parties & Counsel:
- Plaintiff: Algebraix LLC (Wyoming)
- Defendant: International Business Machines Corporation (New York)
- Plaintiff’s Counsel: Nelson Bumgardner Conroy PC
- Case Identification: 2:24-cv-00999, E.D. Tex., 03/31/2025
- Venue Allegations: Plaintiff alleges venue is proper in the Eastern District of Texas because IBM is subject to personal jurisdiction and maintains a regular and established place of business in the district, supported by allegations of multiple physical office locations, substantial property holdings, and numerous employees.
- Core Dispute: Plaintiff alleges that Defendant’s IBM i/Db2 database software and associated server products infringe six patents related to systems and methods for data storage, retrieval, and query optimization using algebraic relations.
- Technical Context: The technology concerns methods for improving the speed and efficiency of database query processing by creating and manipulating abstract mathematical representations of data, known as algebraic relations, rather than directly accessing and manipulating the underlying data in slower storage.
- Key Procedural History: The complaint alleges extensive pre-suit knowledge by Defendant, detailing meetings, technical demonstrations, and intellectual property disclosures between the parties beginning in January 2011. It also notes that Defendant cited one of the asserted patents' family members during its own patent prosecution. The complaint further addresses a potential patent ownership and standing issue, asserting that a recently executed patent assignment agreement moots any prior defects regarding the right to sue for past infringement.
Case Timeline
| Date | Event |
|---|---|
| 2006-05-15 | Priority Date for all Asserted Patents |
| 2009-11-03 | U.S. Patent No. 7,613,734 Issued |
| 2010-05-18 | U.S. Patent No. 7,720,806 Issued |
| 2010-08-03 | U.S. Patent No. 7,769,754 Issued |
| 2011-01-01 | Alleged first meeting between Algebraix and IBM |
| 2011-01-25 | U.S. Patent No. 7,877,370 Issued |
| 2011-03-01 | Alleged Algebraix technology demonstration for IBM |
| 2011-06-01 | Alleged IBM technical evaluation of Algebraix platform |
| 2011-09-01 | IBM allegedly cites related ’806 Patent in an IDS for its own patent application |
| 2011-10-04 | U.S. Patent No. 8,032,509 Issued |
| 2013-02-19 | U.S. Patent No. 8,380,695 Issued |
| 2013-12-31 | Alleged reconnection between Algebraix and IBM |
| 2014-02-21 | Alleged meeting between Algebraix and IBM subsidiary Softlayer |
| 2016-06-01 | Alleged brief reconnection between Algebraix and IBM |
| 2025-03-31 | Complaint Filing Date |
II. Technology and Patent(s)-in-Suit Analysis
U.S. Patent No. 7,877,370 - “Systems and Methods for Data Storage and Retrieval Using Algebraic Relations Composed from Query Language Statements”
- Issued: January 25, 2011
The Invention Explained
- Problem Addressed: The patent’s background describes inefficiencies in traditional database systems that use a "predetermined schema" to structure data (Compl. ¶29; ’370 Patent, col. 1:31-34). This rigid structure was often not optimized for how data was actually queried and created a "tight coupling" between logical data relationships and physical storage structures, constraining query flexibility and slowing performance due to the disparity between fast processors and slow storage access (Compl. ¶29; ’370 Patent, col. 1:43-55).
- The Patented Solution: The invention proposes a system that uses a "universal data model based on extended set theory" to represent data and its interrelationships as "algebraic relations" (Compl. ¶30; ’370 Patent, col. 4:34-40). Instead of directly accessing data from storage to satisfy a query, the system manipulates these stored algebraic relations at faster processor speeds (Compl. ¶31; ’370 Patent, col. 4:49-54). This approach also enables features like "temporal invariance" (the ability to query a database as it existed at a prior time) and "adaptive data restructuring" to accelerate query processing (Compl. ¶¶30-31; ’370 Patent, col. 4:55-5:4).
- Technical Importance: This algebraic approach aims to decouple the logical data model from the physical storage format, thereby improving query processing speed, increasing flexibility in handling disparate data formats, and enabling more advanced data analysis capabilities (Compl. ¶32; ’370 Patent, col. 5:5-33).
Key Claims at a Glance
- The complaint asserts at least independent claim 1 (Compl. ¶53).
- Claim 1 of the ’370 Patent recites a computer-implemented method comprising the key elements of:
- Receiving a first query language statement.
- Providing a data set information store where "temporal information is associated with each of the data sets" to indicate when it was added.
- "Composing a first plurality of algebraic relations" referencing the data sets, where each relation comprises first and second expressions and a relational operator defining a mathematical relationship.
- Storing the first plurality of algebraic relations in a relation store.
- Receiving a second query language statement and composing and storing a second plurality of algebraic relations.
- Using at least one relation from both the first and second pluralities to provide a data set in response to the second query.
- "Temporally redefining the data set information store by removing data sets" associated with temporal information prior to a specified time.
- "Removing algebraic relations from the relation store that reference the data sets removed."
- The complaint reserves the right to assert additional claims (Compl. ¶53, fn. 5).
U.S. Patent No. 8,032,509 - “Systems and Methods for Data Storage and Retrieval Using Algebraic Relations Composed from Query Language Statements”
- Issued: October 4, 2011
The Invention Explained
- Problem Addressed: The complaint notes that the asserted patents share a "virtually identical specification" (Compl. ¶27, fn. 3). The technical problem is therefore the same as that described for the ’370 Patent: the inefficiency and rigidity of traditional database schemas.
- The Patented Solution: The patented solution is also consistent with that of the ’370 Patent, employing a database architecture based on composing, storing, and manipulating algebraic relations to optimize query processing (Compl. ¶27, fn. 3).
- Technical Importance: The technical importance is the same as described for the ’370 Patent.
Key Claims at a Glance
- The complaint asserts at least independent claim 1 (Compl. ¶80).
- Claim 1 of the ’509 Patent recites a computer system comprising a processor, memory, and stored instructions configured to provide a requested data set, the instructions including:
- Instructions for receiving a first query language statement.
- Instructions for storing information, including "temporal information," regarding the data sets in a "data set information store."
- Instructions for "composing a first plurality of algebraic relations" with a defined mathematical structure.
- Instructions for storing the first plurality of algebraic relations in a "relation store."
- Instructions for receiving a second query and composing and storing a second plurality of algebraic relations.
- Instructions for providing the requested data set using relations from both the first and second pluralities.
- Instructions for "removing at least some of the first plurality of algebraic relations from the relation store based, at least in part, on the temporal information."
- The complaint reserves the right to assert additional claims (Compl. ¶53, fn. 5).
U.S. Patent No. 8,380,695 - “Systems and Methods for Data Storage and Retrieval Using Algebraic Relations Composed from Query Language Statements”
- Issued: February 19, 2013
- Technology Synopsis: The patent addresses inefficiencies in traditional database systems by disclosing a method where incoming query language statements are used to "accumulate" a store of algebraic relations over time (Compl. ¶36). The system then composes a second set of algebraic relations based on "a pattern of the query language statements that have been received," and uses these relations to optimize the provision of a requested data set (Compl. ¶36).
- Asserted Claims: At least independent claim 1 is asserted (Compl. ¶108).
- Accused Features: The accused features include the query optimization, access plan generation and caching, and pattern-based optimization functionalities of IBM's i/Db2 software (Compl. ¶¶113-120).
U.S. Patent No. 7,613,734 - “Systems and Methods for Providing Data Sets Using a Store of Algebraic Relations”
- Issued: November 3, 2009
- Technology Synopsis: This patent describes a method for optimizing data retrieval by composing a "plurality of collections of algebraic relations defining a result equal to the requested data set" (Compl. ¶37). The system then applies "optimization criteria" to select one of these collections, with the criteria being based, in part, on the "cost for retrieving data sets from the data store" required for the calculation (Compl. ¶37).
- Asserted Claims: At least independent claim 1 is asserted (Compl. ¶141).
- Accused Features: The accused features include the query optimizer in IBM i/Db2, which allegedly selects the "most efficient technique" to respond to a query based on minimizing I/O and CPU cost (Compl. ¶¶156, 158).
U.S. Patent No. 7,769,754 - “Systems and Methods for Data Storage and Retrieval Using Algebraic Optimization”
- Issued: August 3, 2010
- Technology Synopsis: The patent discloses a method where a system receives statements that define "additional data sets" and composes "additional algebraic relations" from them (Compl. ¶38). When a data set is requested, the system composes collections of relations to find a result, "including generating new algebraic relations that were not previously available." It then determines the "lowest cost" collection based on an estimated data transfer time and uses that collection to provide the data set (Compl. ¶38).
- Asserted Claims: At least independent claim 1 is asserted (Compl. ¶173).
- Accused Features: The accused features include the IBM i/Db2 query optimizer's functions for generating and selecting from multiple potential access plans based on cost estimates, including I/O transfer time, to fulfill a data request (Compl. ¶¶192-195).
U.S. Patent No. 7,720,806 - “Systems and Methods for Data Manipulation Using Multiple Storage Formats”
- Issued: May 18, 2010
- Technology Synopsis: This patent describes a method for handling data sets that contain the "same logical data stored in different physical formats" (e.g., one in volatile memory, one in non-volatile storage) (Compl. ¶39). The system composes at least two "alternative algebraic relations" corresponding to the different formats, determines that one data set is available in faster volatile memory, and selects the corresponding algebraic relation to calculate the requested data set (Compl. ¶39).
- Asserted Claims: At least independent claim 1 is asserted (Compl. ¶208).
- Accused Features: The accused features include the IBM i/Db2 system's memory preference controls and query optimization functions that allegedly select query plans based on data availability in volatile memory versus non-volatile storage (Compl. ¶¶213, 219-221).
III. The Accused Instrumentality
Product Identification
- The accused instrumentalities are identified as IBM i/Db2 software, computers loaded with this software (such as IBM Power Servers), and other systems with similar functionality (Compl. ¶¶5-6).
Functionality and Market Context
- The complaint describes IBM i as an operating system and Db2 as an integrated database platform designed for IBM Power servers (Compl. ¶¶54, 56). The core accused functionality is the query processing system, which uses one of two query engines (Classic Query Engine or SQL Query Engine) to process requests (Compl. ¶55). For any query, a "query optimizer develops an optimized plan of how to access the requested data," which the complaint calls an "access plan" (Compl. ¶58). The complaint includes a screenshot from IBM's documentation showing an overview of the query engines (Compl. ¶55, Fig. 2). These access plans are allegedly stored in a "plan cache" for potential reuse (Compl. ¶61). The system also allegedly features "system-period temporal tables" for tracking data history (Compl. ¶57) and uses cost-based optimization to select the most efficient query plan (Compl. ¶¶126-127). A diagram from IBM's documentation illustrates how different query statements can be serviced by plans stored in the plan cache (Compl. ¶61, Fig. 10).
IV. Analysis of Infringement Allegations
7,877,370 Patent Infringement Allegations
| Claim Element (from Independent Claim 1) | Alleged Infringing Functionality | Complaint Citation | Patent Citation |
|---|---|---|---|
| (A) receiving a first query language statement referencing a plurality of data sets; | The IBM i system receives SQL and non-SQL query statements via its Classic Query Engine (CQE) and SQL Query Engine (SQE). | ¶55 | col. 14:1-3 |
| (B) providing a data set information store... (C) wherein temporal information is associated with each of the data sets... to indicate the time at which information regarding the data set is added... | The IBM i system includes Db2 as a database platform, which uses "system-period temporal tables" and "history tables" to associate temporal information with data sets. | ¶56-57 | col. 14:4-10 |
| (D) composing a first plurality of algebraic relations... wherein each... comprises a respective first expression... a respective second expression... and a relational operator... | The query optimizer develops an "access plan" which specifies the order of operations for accessing data by creating an internal "query graph model" to analyze query semantics. | ¶58-60 | col. 14:11-23 |
| (E) storing the first plurality of algebraic relations in a relation store in the memory; | The system stores the generated access plans in a "plan cache," which is a repository in memory. | ¶61 | col. 14:24-26 |
| (F) ...receiving a second query language statement... (G) composing a second plurality of algebraic relations... (H) storing the second plurality of algebraic relations in the relation store; | The system receives subsequent queries and, for each, the query optimizer develops a new optimized access plan which is then stored in the plan cache. | ¶62-64 | col. 14:27-35 |
| (I) using the at least one processor to provide a data set in response to the second query language statement using at least one algebraic relation from the first plurality... and at least one... from the second plurality... | The plan cache is interrogated for each query, and if an existing access plan can satisfy the request, it is used to implement the query and provide the results. | ¶65-66 | col. 14:36-42 |
| (J) temporally redefining the data set information store by removing data sets from the data set information store that are associated with temporal information prior to a specified time; | The system uses features like "triggers" and "constraints" to manipulate and delete data sets based on time criteria. | ¶67 | col. 14:43-47 |
| (H) removing algebraic relations from the relation store that reference the data sets removed from the data set information store. | Access plans in the plan cache are removed in response to changes in the underlying data, such as when a plan is outdated due to changes in the number of rows in a table. | ¶68 | col. 14:48-51 |
Identified Points of Contention
- Scope Questions: A central issue may be whether an "access plan," described in IBM’s documentation as a "control structure that describes the actions necessary to satisfy each query request" (Compl. ¶58), meets the claim definition of an "algebraic relation." The claim requires a specific mathematical structure comprising two symbolic expressions and a relational operator. The court may need to determine if a procedural query plan can be construed to be the claimed mathematical abstraction.
- Technical Questions: The complaint alleges that removing an access plan from the cache because it is "out of date due to changes in the number of rows in the table" (Compl. ¶68) satisfies the claim limitation of removing relations that "reference the data sets removed." This raises a technical question of causation: does the accused functionality remove a plan because it references a removed data set, as claimed, or is it removed for a more general reason like statistical staleness, which may or may not be equivalent?
8,032,509 Patent Infringement Allegations
| Claim Element (from Independent Claim 1) | Alleged Infringing Functionality | Complaint Citation | Patent Citation |
|---|---|---|---|
| (c)(i) instructions for receiving a first query language statement... | The system includes instructions for its two query engines (CQE and SQE) to process received SQL and non-SQL query statements. | ¶84 | col. 15:13-15 |
| (c)(ii) instructions for storing information in the data set information store... including temporal information... | The system includes instructions for using "system-period temporal tables" and "history tables" to associate time-based information with data sets. | ¶85 | col. 15:16-22 |
| (c)(iii) instructions for composing a first plurality of algebraic relations... | The system includes instructions for the query optimizer to develop an "access plan" by creating and analyzing a "query graph model." | ¶86-88 | col. 15:23-34 |
| (c)(iv) instructions for storing the first plurality of algebraic relations in the relation store; | The system includes instructions for storing the generated access plans in a "plan cache." | ¶89 | col. 15:35-37 |
| (c)(v-vii) instructions for receiving a second query... composing a second plurality... and storing the second plurality... | The system includes instructions to receive subsequent queries, generate new access plans, and store them in the plan cache. | ¶90-92 | col. 15:38-44 |
| (c)(viii) instructions for providing the requested data set... using at least one algebraic relation from the first plurality... and at least one... from the second plurality... | The system includes instructions to interrogate the plan cache and use an existing, suitable access plan to implement the query and provide the data. | ¶93-94 | col. 15:45-51 |
| (c)(ix) instructions for removing at least some of the first plurality of algebraic relations from the relation store based, at least in part, on the temporal information... | The system includes instructions to remove plans from the plan cache in response to changes in underlying data, such as when data is manipulated based on time criteria. | ¶95-96 | col. 15:52-57 |
Identified Points of Contention
- Scope Questions: As with the ’370 Patent, the primary scope question is whether the system's "instructions for" creating and storing an "access plan" correspond to the claimed "instructions for composing" and storing "algebraic relations" with a specific mathematical structure.
- Technical Questions: Claim 1(c)(ix) requires removing relations "based, at least in part, on the temporal information" regarding the data sets. The complaint alleges that plans are removed due to "changes in the underlying data sets" (Compl. ¶96). A technical question for the court will be whether the evidence shows this removal is sufficiently "based on... temporal information" as required by the claim, or if it is based on other, non-temporal factors.
V. Key Claim Terms for Construction
The Term: "algebraic relation"
- Context and Importance: This term is the technological core of the asserted patents. The infringement case appears to depend on whether Defendant's "access plans" and "query graph models" (Compl. ¶¶58, 60) fall within the scope of this term. Practitioners may focus on this term because its construction could be dispositive of infringement.
- Intrinsic Evidence for Interpretation:
- Evidence for a Broader Interpretation: The specification suggests a broad purpose, stating that "Algebraic integrity enables manipulation of algebraic relations to be substituted for manipulation of the information it models" to allow processing at faster speeds ('370 Patent, col. 4:49-52). This focus on functional substitution could support an argument that any symbolic query plan achieving this purpose is an "algebraic relation."
- Evidence for a Narrower Interpretation: Claim 1 of the ’370 Patent explicitly defines the structure of the relation as comprising "a respective first expression..., a respective second expression..., and a relational operator symbolically defining a mathematical relationship between" them. This detailed structural requirement could support a narrower construction that excludes procedural query plans lacking this specific mathematical form.
The Term: "temporally redefining the data set information store by removing data sets... that are associated with temporal information prior to a specified time" (’370 Patent, Claim 1)
- Context and Importance: This term is critical for infringement of the final limitations of claim 1 of the ’370 Patent. The infringement allegation links this to the accused product's use of "triggers" and "constraints" to delete data (Compl. ¶67). The construction will determine if this general database functionality meets the claim's specific requirements.
- Intrinsic Evidence for Interpretation:
- Evidence for a Broader Interpretation: The specification discusses "temporal invariance" and the ability to "examine the information contained in the system as it existed at any time in its recorded history" ('370 Patent, col. 4:55-64). This suggests any mechanism that manages the historical state of data, including time-based deletion rules, could be considered "temporally redefining" the store.
- Evidence for a Narrower Interpretation: The claim language "removing data sets ... associated with temporal information prior to a specified time" suggests a specific, systematic process tied to the timestamps stored in the "data set information store." This could be construed to require more than general-purpose, user-defined triggers that happen to be based on time, potentially requiring a system-level garbage collection process linked directly to the patent's temporal tracking feature.
VI. Other Allegations
- Indirect Infringement: The complaint alleges inducement of infringement, asserting that IBM knowingly and intentionally encourages its customers to infringe by providing instructional materials, user manuals, software development kits (SDKs), technical support, and marketing materials that promote the use of the accused functionalities (Compl. ¶¶69-71, 97-99).
- Willful Infringement: The complaint alleges willful infringement based on Defendant's alleged pre-suit knowledge of the patents. This allegation is supported by claims of specific meetings and technical presentations between the parties from 2011 to 2014, where Algebraix's patent portfolio was allegedly discussed, and by evidence that IBM cited a related patent in its own patent prosecution filings (Compl. ¶¶70, 73, 98, 101).
VII. Analyst’s Conclusion: Key Questions for the Case
- A core issue will be one of definitional scope: can Defendant's "access plan"—described by the complaint as a procedural "control structure" for executing a query—be construed to meet the claim requirement of an "algebraic relation," which is defined with a specific mathematical structure of symbolic expressions and a relational operator?
- A second key issue will be one of evidentiary mapping: what technical evidence will be presented to demonstrate that the accused system's general-purpose database functions, such as its method for invalidating outdated query plans in a cache, perform the specific, narrowly-defined steps recited in the claims, such as "removing algebraic relations... that reference the data sets removed"?
- A potential threshold question may involve the timing and legal effect of the patent assignment detailed in the complaint. While Plaintiff asserts the issue is mooted, Defendant may challenge whether Plaintiff had the right to sue for infringement that occurred prior to the execution of the corrective assignment documents.