2:26-cv-00389
Algebraix LLC v. Microsoft Corp
I. Executive Summary and Procedural Information
- Parties & Counsel:
- Plaintiff: Algebraix LLC. (Wyoming)
- Defendant: Microsoft Corporation (Delaware)
- Plaintiff's Counsel: Nelson Bumgardner Conroy PC
- Case Identification: 2:26-cv-00389, E.D. Tex., 05/08/2026
- Venue Allegations: Plaintiff alleges venue is proper in the Eastern District of Texas because Microsoft maintains regular and established places of business in the District, including "Microsoft Windows Stores" within Best Buy locations, data centers, and substantial property holdings, and has committed the alleged acts of infringement in the District.
- Core Dispute: Plaintiff alleges that Defendant's Microsoft SQL Server, and related cloud database products including Azure SQL, infringe seven patents related to systems and methods for data storage and retrieval using algebraic relations and optimization.
- Technical Context: The technology concerns methods for improving database performance by abstracting data queries into mathematical "algebraic relations," which allows for optimization at a logical level before accessing slower physical data storage.
- Key Procedural History: The complaint alleges that Microsoft had pre-suit knowledge of the patents through direct communications beginning in August 2014, which included a technical evaluation and testing of Plaintiff's platform. The complaint also alleges knowledge via citations to the asserted patents made by the USPTO during the prosecution of Microsoft's own patent applications, with the earliest such citation occurring in January 2012.
Case Timeline
| Date | Event |
|---|---|
| 2006-05-15 | Earliest Priority Date for Asserted Patents ('370, '734, '754, '806, '503) |
| 2009-11-03 | '734 Patent Issued |
| 2010-05-18 | '806 Patent Issued |
| 2010-08-03 | '754 Patent Issued |
| 2011-01-04 | '503 Patent Issued |
| 2011-01-14 | Priority Date for '509 Patent |
| 2011-01-25 | '370 Patent Issued |
| 2011-08-19 | Priority Date for '695 Patent |
| 2011-10-04 | '509 Patent Issued |
| 2012-01-19 | '503 Patent cited by USPTO during prosecution of a Microsoft patent application |
| 2013-02-19 | '695 Patent Issued |
| 2014-08-01 | Plaintiff allegedly introduced Algebraix technology to Microsoft |
| 2019-04-09 | '806 Patent cited by USPTO during prosecution of a Microsoft patent application |
| 2026-05-08 | Complaint Filed |
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: Jan. 25, 2011)
The Invention Explained
- Problem Addressed: The patent describes conventional database systems as inefficient due to a "tight coupling" between predefined data schemas and the physical storage structure Compl. ¶34 '370 Patent, col. 1:49-52 This rigid structure is often not optimized for the way data is actually queried and can "constrain the kinds of logical relationships that [could] be specified in data queries," leading to significant inefficiencies, particularly given the disparity between fast processor speeds and slower storage access speeds Compl. ¶34 '370 Patent, col. 1:31-46
- The Patented Solution: The invention proposes a "universal data model based on extended set theory" that separates the logical representation of data from its physical storage Compl. ¶35 '370 Patent, col. 4:34-40 Queries are translated into "algebraic relations" which can be mathematically manipulated and optimized at fast processor speeds "rather than requiring various data sets to be retrieved and inspected from storage at much slower speeds" Compl. ¶36 '370 Patent, col. 4:49-54 The system maintains "temporal invariance" by not altering original data, allowing queries against the data as it existed at any point in its history Compl. ¶36 '370 Patent, col. 4:55-64
- Technical Importance: This approach claims to provide "dramatic efficiencies in accessing, integrating and processing dynamically-changing data" by creating an independence from the underlying information structures Compl. ¶37 '370 Patent, col. 5:5-11
Key Claims at a Glance
- The complaint asserts at least independent claim 1 Compl. ¶59
- The essential elements of independent claim 1, a method claim, include:
- Receiving a first query language statement referencing data sets.
- Providing a data set information store where "temporal information is associated with each of the data sets" to indicate when it was added.
- Composing and storing a "first plurality of algebraic relations" from the first query.
- Receiving a second query language statement.
- Composing and storing a "second plurality of algebraic relations" from the second query.
- Using the processor to provide a data set in response to the second query "using at least one algebraic relation from the first plurality... and at least one algebraic relation from the second plurality."
- "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 removed data sets.
- The complaint reserves the right to assert additional claims (Compl. ¶59, fn. 11).
U.S. Patent No. 8,032,509: Systems and Methods for Data Storage and Retrieval Using Algebraic Relations Composed from Query Language Statements (Issued: Oct. 4, 2011)
The Invention Explained
- As a continuation of the '370 Patent, the '509 Patent shares a virtually identical specification and addresses the same technical problems with the same proposed solution, as described above for the '370 Patent.
Key Claims at a Glance
- The complaint asserts at least independent claim 1 Compl. ¶83
- The essential elements of independent claim 1, a system claim, include:
- A computer system with a processor and memory, where the memory includes a "relation store" and a "data set information store."
- Computer program instructions stored in memory and configured to be executed by the processor, which perform steps functionally similar to those in claim 1 of the '370 patent, including:
- Receiving first and second queries.
- Storing information with "temporal information."
- Composing and storing first and second pluralities of "algebraic relations."
- Providing a data set in response to the second query using relations from both the first and second pluralities.
- Removing some of the first plurality of algebraic relations from the relation store based on the temporal information.
- The complaint reserves the right to assert additional claims (Compl. ¶59, fn. 11, incorporated by reference in ¶77).
Multi-Patent Capsule Analysis
U.S. Patent No. 8,380,695 (Systems and Methods for Data Storage and Retrieval Using Algebraic Relations Composed from Query Language Statements, Issued: Feb. 19, 2013)
- Technology Synopsis: This patent, a continuation of the '509 Patent, discloses a method for optimizing query responses by accumulating algebraic relations over time and then composing a second set of relations based on detected patterns in the received queries Compl. ¶41 This allows the system to select an optimized "collection of algebraic relations" to fulfill a data request Compl. ¶41
- Asserted Claims: At least independent claim 1 Compl. ¶106
- Accused Features: The complaint alleges that Microsoft SQL Server's query optimizer and plan cache, which generate and store query plans based on received queries, infringe this patent Compl. ¶¶107-118
U.S. Patent No. 7,613,734 (Systems and Methods for Providing Data Sets Using a Store of Albebraic Relations, Issued: Nov. 3, 2009)
- Technology Synopsis: The patent describes a method of providing a requested data set by composing algebraic relations from a store of previously composed relations Compl. ¶42 The method applies optimization criteria based on the "cost for retrieving data sets from the data store" to select the most efficient collection of algebraic relations to calculate and provide the requested data set Compl. ¶42
- Asserted Claims: At least independent claim 1 Compl. ¶130
- Accused Features: The infringement allegations target Microsoft SQL Server's query optimizer, which analyzes and selects cost-based execution plans to retrieve data Compl. ¶¶131-139
U.S. Patent No. 7,769,754 (Systems and Methods for Data Storage and Retrieval Using Algebraic Optimization, Issued: Aug. 3, 2010)
- Technology Synopsis: This patent claims a method for defining new data sets and algebraic relations based on incoming statements that reference existing data sets Compl. ¶43 The system then uses these "additional algebraic relations," including "generating new algebraic relations that were not previously available," to compose and select a lowest-cost collection of relations to satisfy a data request Compl. ¶43
- Asserted Claims: At least independent claim 1 Compl. ¶151
- Accused Features: The allegations focus on SQL Server's ability to use features like joins and views to define new data sets and its query optimizer's ability to generate and select execution plans to fulfill requests Compl. ¶¶152-164
U.S. Patent No. 7,720,806 (Systems and Methods for Data Manipulation Using Multiple Storage Formats, Issued: May 18, 2010)
- Technology Synopsis: The patent discloses a method for optimizing data retrieval where the same logical data is stored in different physical formats (e.g., one larger and one smaller) in different storage media (e.g., volatile vs. non-volatile) Compl. ¶44 The system composes at least two "alternative algebraic relations" corresponding to the different formats and selects the appropriate one for calculation based on factors like data availability in volatile memory Compl. ¶44
- Asserted Claims: At least independent claim 1 Compl. ¶176
- Accused Features: The accused functionality includes SQL Server's use of both memory-optimized tables (volatile memory) and disk-based tables (non-volatile storage) and its query optimizer's ability to choose between them to execute a query Compl. ¶¶177-183
U.S. Patent No. 7,865,503 (Systems and Methods for Data Storage and Retrieval Using Virtual Data Sets, Issued: Jan. 4, 2011)
- Technology Synopsis: This patent describes a method for "virtualization" of data sets, where a data set is removed from the data store but can be reconstructed via a defining algebraic relation Compl. ¶45 The system establishes criteria for virtualization, identifies a data set that meets the criteria, removes it from the data store, and updates an information store to indicate it is "not realized" Compl. ¶45
- Asserted Claims: At least independent claim 1 Compl. ¶195
- Accused Features: The infringement allegations target SQL Server's data virtualization features, such as Views, Indexed Views, and PolyBase, and its ability to drop indexes or virtualize tables based on criteria like usage or duplication Compl. ¶¶196-209
III. The Accused Instrumentality
Product Identification
The complaint identifies the "Accused Instrumentalities" as a broad category of Microsoft products and services Compl. ¶15 The central product is Microsoft SQL Server, including versions released within the statutory timeframe Compl. ¶15 The allegations also extend to related services that use SQL Server, such as Azure SQL Database, Azure SQL Managed Instance, Azure Synapse Analytics, and Azure SQL Edge Compl. ¶15
Functionality and Market Context
The complaint describes Microsoft SQL Server as a relational database management system (RDBMS) whose core "Database Engine" is responsible for "storing, processing, and securing data" Compl. ¶¶60-61 Compl. ¶84 The complaint alleges this engine processes queries across various storage architectures, including local tables, partitioned tables, and distributed servers Compl. ¶61 The functionality accused of infringement includes SQL Server's query processing architecture, particularly its "Relational Engine" (or Query Processor), which optimizes and executes queries by generating structures like query trees and execution plans that are stored in a "plan cache" Compl. ¶¶64-65 The complaint also highlights specific features like "temporal tables" for tracking data history and the use of different memory types, such as volatile buffer caches and non-volatile disk storage Compl. ¶63 Compl. ¶179
IV. Analysis of Infringement Allegations
'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 SQL Server Database Engine receives and processes queries on various data storage architectures, including local tables, partitioned tables, and tables distributed across multiple servers. | ¶61 | col. 2:1-4 |
| (B) providing a data set information store for storing information regarding the data sets... | SQL Server processes queries on various data storage architectures via the SQL Server Database Engine, which serves as a data set information store. | ¶62 | col. 8:5-9 |
| (C) wherein temporal information is associated with each of the data sets in the data set information store to indicate the time at which information regarding the data set is added... | The accused products include "temporal tables" and "history tables" that associate temporal information with data sets to indicate when the information was added. | ¶63 | col. 4:55-64 |
| (D) composing a first plurality of algebraic relations referencing the data sets... | The SQL Server relational engine optimizes and processes queries by generating query trees, bound trees/algebrizer trees, and execution plans, which are alleged to be algebraic relations. | ¶64 | col. 8:31-40 |
| (E) storing the first plurality of algebraic relations in a relation store in the memory; | The accused products store the generated query trees and execution plans in a "plan cache," which is alleged to be the claimed relation store. | ¶65 | col. 8:44-48 |
| (F) after storing the first plurality..., receiving a second query language statement referencing a second plurality of data sets; | The SQL Server Database Engine receives and processes subsequent queries on its various data storage architectures. | ¶66 | col. 2:1-4 |
| (G) composing a second plurality of algebraic relations... | The SQL Server relational engine generates new query trees, bound trees, and execution plans for the subsequent queries. | ¶67 | col. 8:31-40 |
| (H) storing the second plurality of algebraic relations in the relation store; | The accused products store the query trees and execution plans generated for the subsequent queries in the plan cache. | ¶68 | col. 8:44-48 |
| (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... and at least one... from the second...; | SQL Server allegedly reuses existing cached execution plans (first algebraic relations) to respond to subsequent, different queries (e.g., via parameterization), thereby using relations from different queries. | ¶69 | col. 2:5-14 |
| (J) temporally redefining the data set information store by removing data sets... associated with temporal information prior to a specified time; and | The accused products allegedly use a "temporal history retention policy" to remove data sets from history tables that are associated with temporal information prior to a specified time. | ¶70 | col. 8:60-67 |
| (H) removing algebraic relations from the relation store that reference the data sets removed... | The accused products allegedly remove algebraic relations (execution plans) from the plan cache in response to changes made to a table or view, such as a data set being removed. | ¶71 | col. 8:60-67 |
'509 Patent Infringement Allegations
| Claim Element (from Independent Claim 1) | Alleged Infringing Functionality | Complaint Citation | Patent Citation |
|---|---|---|---|
| (c) computer program instructions...including: (i) instructions for receiving a first query language statement... | The accused products include a Database Engine with instructions to process queries on various data storage architectures. | ¶86 | col. 1:62-65 |
| (ii) instructions for storing information...including temporal information... | The accused products include instructions for using "temporal tables" and "history tables" to associate temporal information with data sets. | ¶87 | col. 4:55-64 |
| (iii) instructions for composing a first plurality of algebraic relations... | The accused products include a relational engine with instructions to generate query trees and execution plans, which are alleged to be algebraic relations. | ¶88 | col. 8:31-40 |
| (iv) instructions for storing the first plurality of algebraic relations in the relation store; | The accused products include instructions to store the generated query trees and execution plans in a plan cache, alleged to be the relation store. | ¶89 | col. 8:44-48 |
| (v) instructions for receiving a second query language statement... | The Database Engine includes instructions to receive and process subsequent queries. | ¶90 | col. 2:1-4 |
| (vi) instructions for composing a second plurality of algebraic relations... | The relational engine includes instructions to generate new query trees and execution plans for the subsequent queries. | ¶91 | col. 8:31-40 |
| (vii) instructions for storing the second plurality of algebraic relations... | The accused products include instructions to store the subsequently generated query trees and execution plans in the plan cache. | ¶92 | col. 8:44-48 |
| (viii) instructions for providing the requested data set... using at least one algebraic relation from the first... and at least one... from the second...; | The accused products include instructions to check the plan cache and reuse an existing execution plan from a first query to respond to a second, different query. | ¶93 | col. 2:5-14 |
| (ix) instructions for removing at least some of the first plurality of algebraic relations... based, at least in part, on the temporal information... | The complaint alleges the accused products include instructions for removing algebraic relations from the plan cache in response to changes made to a table or view, such as removing a data set. This allegation appears to conflate removal based on temporal information with removal based on data set changes. | ¶94 | col. 8:60-67 |
Identified Points of Contention
- Scope Questions: A central point of contention may be whether the abstract concepts of the patents map cleanly onto the concrete architecture of Microsoft SQL Server. For example, does SQL Server's "plan cache," which stores compiled query execution plans, function as the claimed "relation store" for "algebraic relations"? The complaint provides a screenshot of Microsoft's documentation describing the "Bound Trees cache store," which stores structures known as "Algebrizer Trees," as a specific point of connection Compl. ¶64 The court may need to determine if these "Algebrizer Trees" are equivalent to the claimed "algebraic relations."
- Technical Questions: The complaint alleges that SQL Server's "temporal tables" meet the claim limitation of associating "temporal information" with data sets Compl. ¶63 A technical question for the court will be whether the specific implementation of this feature, as described in the screenshot from Microsoft's documentation, satisfies all requirements of the claim language Compl. ¶63 Further, for claim 1(I) of the '370 patent, the complaint's theory relies on SQL Server reusing a plan from a first query to service a second, different query Compl. ¶69 The court will likely examine whether this specific reuse mechanism (e.g., parameterization) constitutes using relations from two different pluralities as required by the claim.
V. Key Claim Terms for Construction
For the '370 and '509 Patents:
The Term: "algebraic relation"
- Context and Importance: This term is the technological core of the asserted patents. Its definition will be critical to determining infringement, as the central dispute is whether components of Microsoft's SQL Server query processing architecture (e.g., "query trees," "execution plans," "Algebrizer Trees") fall within the scope of this term.
- Intrinsic Evidence for Interpretation:
- Evidence for a Broader Interpretation: The specification states that the system represents data internally "in the form of algebraic expressions applied to one or more data sets" and that these expressions are formed from "operators, values and/or other data sets" '370 Patent, col. 7:10-16 This could support an argument that any logical representation of a query that includes operators and data references constitutes an "algebraic relation."
- Evidence for a Narrower Interpretation: The claim language itself provides a specific structure for an algebraic relation, requiring "a respective first expression," "a respective second expression," and "a relational operator symbolically defining a mathematical relationship between" them '370 Patent, claim 1(D) This might support a narrower construction requiring a distinct two-operand structure, which may or may not map to all accused structures.
The Term: "relation store"
- Context and Importance: The complaint alleges that Microsoft's "plan cache" is the claimed "relation store" Compl. ¶65 Compl. ¶85 Practitioners may focus on this term because the function of a plan cache (storing compiled, executable plans for reuse) may differ from the patent's description of a store for logical, mathematical relations used for optimization.
- Intrinsic Evidence for Interpretation:
- Evidence for a Broader Interpretation: The patent describes the relation store as a place where "algebraic relations between data sets may be accumulated in the relation store over time as statements are presented to the system" '734 Patent, abstract This focus on accumulation over time could support mapping to a cache.
- Evidence for a Narrower Interpretation: The specification refers to an "Algebraic Cache" within a "Set Manager" module, which stores "algebraic relations relating one data set to another" '370 Patent, col. 9:55-57 '370 Patent, FIG. 4B This may suggest a more specific, purpose-built logical structure rather than a general-purpose execution plan cache.
VI. Other Allegations
Indirect Infringement
The complaint alleges inducement of infringement for all asserted patents. The basis for this allegation is that Microsoft knowingly provides the Accused Instrumentalities to customers and partners with instructions, tutorials, user manuals, and marketing materials that encourage and facilitate the use of the infringing functionality (Compl. ¶72; Compl. ¶73; Compl. ¶74). Plaintiff cites Microsoft's extensive technical documentation, help blogs, and training materials as evidence of intent to cause the infringing acts Compl. ¶74
Willful Infringement
The complaint alleges willful infringement based on both pre-suit and post-suit knowledge Compl. ¶216 Pre-suit knowledge is alleged based on direct communications between Algebraix and Microsoft starting in August 2014, and also based on USPTO office actions from as early as January 2012 that cited the asserted patents against Microsoft's own patent applications Compl. ¶¶48-51 Compl. ¶73 Compl. ¶76
VII. Analyst's Conclusion: Key Questions for the Case
This case appears to center on the translation of abstract mathematical concepts described in the patents to the concrete architecture of a commercial database system. The key questions for the court will likely be:
- A core issue will be one of definitional scope: can the term "algebraic relation," which the patent grounds in extended set theory, be construed to cover the "execution plans" and "Algebrizer Trees" generated by Microsoft's SQL Server query optimizer? The outcome of this construction will likely determine whether a fundamental element of the claims is met.
- A key evidentiary question will be one of functional equivalence: does Microsoft's "plan cache," designed to store executable query plans for performance reuse, perform the same function in substantially the same way as the claimed "relation store," which is described as a repository for logical relationships used for mathematical optimization?
- A central question of temporal infringement will be whether SQL Server's "temporal tables" and "history retention policy" implement the specific claim steps of associating "temporal information" with data sets and later "temporally redefining" the data store by removing data based on that temporal information, as required by claims such as claim 1 of the '370 patent.