DCT
1:25-cv-01229
SAP Se v. Celonis Se
Key Events
Amended Complaint
Table of Contents
amended complaint
I. Executive Summary and Procedural Information
- Parties & Counsel:
- Plaintiff: SAP Se (Germany)
- Defendant: Celonis SE (Germany) and Celonis, Inc. (Delaware)
- Plaintiff’s Counsel: Duane Morris LLP
- Case Identification: 1:25-cv-01229, D. Del., 01/22/2026
- Venue Allegations: Plaintiff alleges venue is proper because Defendant Celonis, Inc. is a Delaware corporation and thus resides in the district, and because Defendant Celonis SE is a foreign corporation.
- Core Dispute: Plaintiff alleges that Defendant’s process mining software platform infringes four patents related to graph data traversal in columnar databases, automatic connection management for business intelligence tools, and dynamic data processing in semantic storage architectures.
- Technical Context: The technology domain is process mining and enterprise resource planning (ERP) software, a market focused on analyzing business data to discover, monitor, and improve operational processes.
- Key Procedural History: The complaint notes that from 2016 to 2021, the parties had a business relationship wherein Plaintiff resold Defendant's process mining software. This relationship was terminated by Defendant after Plaintiff acquired Signavio, a competing process mining software supplier. Plaintiff alleges this prior relationship provided Defendant with a deep technical understanding of Plaintiff's database architecture and data techniques.
Case Timeline
| Date | Event |
|---|---|
| 2012-12-13 | ’254 and ’492 Patents Priority Date |
| 2015-03-31 | ’492 Patent Issue Date |
| 2016-01-01 | Approximate start of SAP and Celonis business relationship |
| 2017-07-04 | ’254 Patent Issue Date |
| 2018-11-13 | ’034 Patent Priority Date |
| 2020-10-14 | Earliest alleged infringement date for ’034 Patent |
| 2021-01-01 | Approximate termination of SAP and Celonis business relationship |
| 2021-06-24 | ’007 Patent Priority Date |
| 2021-09-14 | ’034 Patent Issue Date |
| 2022-11-29 | ’007 Patent Issue Date |
| 2023-10-01 | Earliest alleged infringement date for ’254, ’492, and ’007 Patents |
| 2026-01-22 | Complaint Filing Date |
II. Technology and Patent(s)-in-Suit Analysis
U.S. Patent No. 9,697,254 - Graph Traversal Operator Inside a Column Store
The Invention Explained
- Problem Addressed: The patent describes conventional computer graph traversal techniques as being inefficient when applied to very large graph datasets (e.g., millions of nodes and edges) stored within modern, memory-centric database systems ('254 Patent, col. 1:38-47).
- The Patented Solution: The invention proposes an optimized graph traversal engine for columnar databases that improves computer performance ('254 Patent, col. 7:1-3). It employs a specialized in-memory data structure, a column-oriented "edge table," and uses "path predicates" to pre-filter edges and limit the search scope. The system can leverage knowledge of the graph's physical layout and ordering to execute multiple scan operations in parallel on multi-core processors, which reduces latency ('254 Patent, col. 9:65-10:3, Abstract).
- Technical Importance: The described approach aims to improve memory efficiency, minimize memory bandwidth usage, and avoid redundant processing during complex graph queries on large datasets (Compl. ¶27).
Key Claims at a Glance
- Independent Claim 1 (Method):
- Receiving an input parameter with a set of path step descriptions.
- Recursively traversing a column-oriented edge table in a memory-centric database.
- The traversing comprises: selecting a path step description, extracting a path predicate, evaluating the predicate against the edge table to generate valid edges and reduce a scan range, determining a scanning direction, and generating traversed vertices by scanning the valid edges.
- Returning the set of traversed vertices.
- Independent Claim 8 (System):
- A system comprising a graph traversal operator stored in memory that executes on a processor.
- The operator is configured to perform the steps of receiving an input parameter, recursively traversing a column-oriented edge table, and further steps of selecting a path description, extracting a predicate, evaluating the predicate, determining a direction, generating vertices, and returning the vertices.
- The complaint also asserts dependent claims 12 and 13, which add limitations related to an "optimization module" for parallel traversal and topological ordering (Compl. ¶¶80, 118).
U.S. Patent No. 8,996,492 - Graph Traversal Operator Inside a Column Store
The Invention Explained
- Problem Addressed: The patent identifies that conventional graph traversal techniques are inefficient when applied to large graphs stored in memory, particularly where unnecessary memory retrievals cause significant memory-bandwidth waste ('492 Patent, col. 1:31-39).
- The Patented Solution: The invention describes storing a graph's edges in a column-oriented "edge table" within a specialized data structure in cache memory ('492 Patent, col. 2:63-3:2). Traversal operations use "path predicates" to pre-filter edges and leverage knowledge of the graph's physical layout to scan only relevant regions of the edge table. The traversal terminates when a specified condition is met, avoiding unnecessary scanning ('492 Patent, Abstract).
- Technical Importance: This technological approach is designed to improve cache locality, reduce memory bandwidth consumption, and increase throughput by focusing traversal work on constrained regions of the columnar edge table (Compl. ¶30).
Key Claims at a Glance
- Independent Claim 1 (Method):
- Receiving an input parameter with path step descriptions and start vertices.
- Recursively traversing an edge table stored in a column-oriented table in a cache memory.
- The traversing comprises: identifying a path predicate, generating valid edges based on the predicate to reduce a scan range, determining a scanning direction, scanning valid edges against a set of vertices until a terminating condition is met, and terminating the generation of vertices.
- Returning the set of traversed vertices.
- Independent Claim 8 (System):
- A system comprising a graph traversal operator stored in memory.
- The operator is configured to perform the steps of receiving an input parameter, recursively traversing a column-oriented edge table in cache memory, and further steps including identifying a predicate, generating valid edges, determining a direction, generating vertices until termination, terminating, and returning the vertices.
- The complaint also asserts dependent claims 12 and 13, which add limitations related to an "optimization module" for parallel traversal and topological ordering (Compl. ¶¶171, 212).
U.S. Patent No. 11,120,034 - Automatic Routing of Connection Requests in Business Intelligence (BI) Tools
- Technology Synopsis: The patent addresses the complexity and maintenance issues of "thick-client" BI tools, which conventionally bundle numerous database drivers, leading to large installation sizes and version inconsistencies ('034 Patent, col. 2:7-3:23). The invention describes a middleware architecture where a BI tool connects to a central connection server integrated with a BI platform, which then retrieves and provides the appropriate database coupling components (e.g., drivers) as needed, centralizing their management ('034 Patent, Abstract).
- Asserted Claims: Independent claim 9 is asserted (Compl. ¶234).
- Accused Features: The complaint accuses the data integration workflow of the Celonis Platform, including its user interface and the Celonis Execution Management System (“EMS”) platform (Compl. ¶234).
U.S. Patent No. 11,514,007 - Dynamic Data Processing For a Semantic Data Storage Architecture
- Technology Synopsis: The patent addresses the rigidity of conventional systems for data ingestion that rely on static, predefined schemas ('007 Patent, col. 1:11-20). The proposed solution is a dual-storage architecture comprising a "raw storage portion" and a "curated storage portion" within a semantic data store. The system receives event-based data, stores it in raw form, updates a semantic index, automatically transforms the data schema into a normalized form, and stores the resulting data in the curated portion ('007 Patent, col. 1:33-55, Abstract).
- Asserted Claims: Independent claim 8 is asserted (Compl. ¶267).
- Accused Features: The complaint accuses the Celonis Object-Centric process mining system, which implements the Object-Centric Data Model (OCDM) of the Celonis Platform (Compl. ¶262).
III. The Accused Instrumentality
Product Identification
The accused instrumentality is the Celonis Platform, with specific features accused under different patents:
- For the ’254 and ’492 Patents, the accused features are the Celonis Process Query Language (PQL) Engine, the Object Link feature, and its LINK_PATH operator (collectively, "Celonis Object Link") (Compl. ¶¶42, 130).
- For the ’034 Patent, the accused features are the Celonis Platform's user interface for data integration and the underlying Celonis Execution Management System (“EMS”) platform (Compl. ¶234).
- For the ’007 Patent, the accused feature is the Celonis Object-Centric process mining system, which implements the Object-Centric Data Model (OCDM) (Compl. ¶262).
Functionality and Market Context
- The Celonis Platform provides process mining software that enables companies to analyze log data from their information systems, such as ERP systems, to discover, validate, and improve business processes (Compl. ¶14).
- The complaint alleges that the Celonis PQL Engine is an "analytical column-store main memory database system" (Compl. ¶52). The Object Link feature is described as a "framework to model and analyze flows between object instances as a graph" using "dedicated mapping tables which build a graph or network" (Compl. ¶43). The complaint includes a figure from Celonis's documentation illustrating how multiple tables are connected via a "mapping table" to represent a graph structure (Compl. ¶63, Figure).
- The complaint alleges that Celonis markets and sells this software to SAP customers, among others, positioning it as a tool to analyze data from SAP's own systems (Compl. ¶14).
IV. Analysis of Infringement Allegations
’254 Patent Infringement Allegations
| Claim Element (from Independent Claim 1) | Alleged Infringing Functionality | Complaint Citation | Patent Citation |
|---|---|---|---|
| A computer-implemented method for improved graph traversal in a memory-centric database... | Celonis's PQL Engine is described as an analytical column-store main memory database system, which the complaint alleges is a memory-centric database. | ¶52 | col. 13:14-17 |
| receiving, by at least one processor, an input parameter, wherein the input parameter includes a set of path step descriptions; | The Celonis PQL Engine receives input parameters for the "LINK_PATH" operator, which includes arguments such as "direction" and clauses like "CONSTRAINED BY" that allegedly serve as path step descriptions. The complaint references a screenshot of the "LINK_PATH" syntax from Celonis documentation (Compl., p. 17, "Syntax" Screenshot). | ¶¶55, 57-58 | col. 13:18-20 |
| recursively traversing an edge table for a data graph, wherein the edge table is a column oriented table in the memory-centric database... | The PQL Engine recursively traverses "dedicated mapping tables which build a graph or network." These tables are alleged to function as a column-oriented edge table within Celonis's main memory database system. | ¶¶59-60, 64 | col. 13:21-23 |
| extracting a path predicate from the selected path step description; | The PQL Engine allegedly extracts a path predicate from arguments like the "CONSTRAINED BY" clause or the "ALL" expression within it. | ¶¶68-69 | col. 13:27-28 |
| evaluating the extracted path predicate against the edge table, wherein the evaluation generates a set of valid edges, and the set of valid edges reduces a scan range... | Constraints such as "ALL (all_objects_expression)" are allegedly evaluated against objects in the graph (represented in the edge table), generating a set of valid edges that fulfill a certain condition and thereby limiting the traversal to reduce the scan range. | ¶¶71-73 | col. 13:29-32 |
| determining a direction for scanning the set of valid edges based on the selected path step description; | The "LINK_PATH" operator uses a "direction" parameter (e.g., "FORWARDS" or "BACKWARDS") to specify the traversal direction. | ¶¶74-75 | col. 13:33-35 |
| generating the set of traversed vertices by scanning the set of valid edges using the determined direction; | The PQL Engine allegedly generates a set of traversed vertices (objects) by scanning in the determined direction, with the output being a column containing all objects of the calculated paths. | ¶¶76-77 | col. 13:36-37 |
| returning the set of traversed vertices, wherein the set of traversed vertices are a set of vertices visited during the traversing. | The "LINK_PATH" operator returns a table of the traversal activity, representing "individual paths calculated by traversing the Object Link graph," which is alleged to be the set of traversed vertices. The complaint provides a diagram from Celonis's documentation showing the generation of an activity table (Compl. ¶79, Figure). | ¶¶78-79 | col. 13:38-40 |
- Identified Points of Contention:
- Scope Questions: A central question may be whether Celonis's "dedicated mapping tables" (Compl. ¶43), which link separate object tables, can be properly construed as the claimed "edge table." The defense may argue that this is a fundamentally different data structure than what is described in the patent.
- Technical Questions: The analysis will likely focus on whether the "CONSTRAINED BY" clause in Celonis's PQL performs the specific function of "extracting a path predicate" and "evaluating" it to "reduce a scan range" as required by the claim, or if it functions as a more generic database filter that does not meet the claim's technical requirements.
’492 Patent Infringement Allegations
| Claim Element (from Independent Claim 1) | Alleged Infringing Functionality | Complaint Citation | Patent Citation |
|---|---|---|---|
| A computer-implemented method comprising: receiving an input parameter, wherein the input parameter includes at least a set of path step descriptions that set criteria for a data graph traversal and a set of start vertices; | The PQL Engine receives parameters for the "LINK_PATH" operator, which allegedly include path step descriptions ("CONSTRAINED BY", "ALL") that set criteria for traversal and a "START" argument that provides a set of start vertices. | ¶¶143, 145-146 | col. 12:59-62 |
| recursively traversing an edge table in a data graph that is stored in a column oriented table in a cache memory, based on the input parameter... | The PQL Engine recursively traverses "mapping tables" that are alleged to be a column-oriented edge table. The complaint alleges these are stored in cache memory, citing a Celonis paper stating the engine achieves "good cache locality." | ¶¶147-149 | col. 12:63-65 |
| identifying a path predicate included in a path step description; | The "CONSTRAINED BY" clause or the "ALL" expression within the "LINK_PATH" operator is alleged to be the identified path predicate. | ¶¶153-154 | col. 13:1-2 |
| generating a set of valid edges based on the path predicate, wherein the set of valid edges reduces a scan range during the traversing; | Celonis's documentation allegedly shows that the "ALL" constraint limits valid edges based on a specified condition, generating "resulting paths" and avoiding traversal of certain objects, which is alleged to reduce the scan range. | ¶¶157-158 | col. 13:3-5 |
| determining a direction for scanning... wherein the direction determines whether the scan begins at a vertex source column or a vertex target column in the edge table; | The "direction" parameter ("FORWARDS" or "BACKWARDS") of the "LINK_PATH" operator allegedly determines whether the scan begins at a source object or target object in the edge table. | ¶¶159-162 | col. 13:6-10 |
| generating the set of traversed vertices by scanning... until at least one terminating condition is met...; and terminating the generating... when the at least one terminating condition is met; | The "LINK_PATH" operator's "END" parameter is alleged to be a terminating condition. The scan allegedly proceeds until this condition is met (e.g., an end object is reached), at which point generation of traversed vertices terminates. | ¶¶163-167 | col. 13:14-18 |
- Identified Points of Contention:
- Scope Questions: In addition to the "edge table" question shared with the ’254 Patent, a critical issue for the ’492 Patent will be the construction of "cache memory." The complaint relies on a statement about "good cache locality" (Compl. ¶149). The defense may argue this is a general performance characteristic and not evidence that the "edge table" itself is stored in a specific hardware cache as required by the claim.
- Technical Questions: The analysis may scrutinize whether the "END" parameter in Celonis's PQL functions as a "terminating condition" that actively stops the "generating of the set of traversed vertices" in the manner claimed, or if it is merely a filter applied after a broader traversal has already occurred.
V. Key Claim Terms for Construction
For the ’254 and ’492 Patents:
The Term: "edge table"
- Context and Importance: This term is foundational to the core infringement theory. Plaintiff alleges Celonis's "mapping tables" constitute the "edge table." The case may turn on whether this distributed mapping architecture falls within the scope of the single, unified "edge table" structure described in the patents.
- Intrinsic Evidence for Interpretation:
- Evidence for a Broader Interpretation: The claims require an "edge table... stored in a column oriented table" but do not specify it must be a single, monolithic table. The specification describes the table's function—storing source vertices, target vertices, and edge types ('254 Patent, Fig. 2B)—which may support an argument that any structure performing this function qualifies.
- Evidence for a Narrower Interpretation: The patent figures and description consistently depict a single table structure named "edge table" containing columns like
VsourceandVtarget('254 Patent, Fig. 2B; '492 Patent, Fig. 2B). This may support an argument that the term is limited to a non-distributed, singular table structure.
The Term: "path predicate"
- Context and Importance: Plaintiff maps this term to standard SQL-like filter clauses in Celonis's PQL ("CONSTRAINED BY"). Practitioners may focus on this term because if it is construed to be more than a generic filter—requiring a specific structure or evaluation method—the infringement read may be more difficult to sustain.
- Intrinsic Evidence for Interpretation:
- Evidence for a Broader Interpretation: The specification refers to the predicate as a "complex relational expression which is evaluated... to reduce the number of edges" ('254 Patent, col. 6:3-6), a functional description that could encompass various types of query filters.
- Evidence for a Narrower Interpretation: The patent describes the predicate as being "extracted from the selected path step description" ('254 Patent, cl. 1), suggesting a specific, structured input rather than a generic query constraint. The specific context of a "path step description" may imply a more specialized meaning than a general
WHEREclause.
For the ’492 Patent:
- The Term: "cache memory"
- Context and Importance: This term is a key distinction between the otherwise similar ’492 and ’254 Patents. Its construction will be critical to determining infringement of the ’492 Patent. Plaintiff's allegations rely on general statements about "main memory" and "good cache locality" (Compl. ¶149).
- Intrinsic Evidence for Interpretation:
- Evidence for a Broader Interpretation: The specification discusses the benefits of storing the graph in a way that is "cache-efficient" and leverages "memory cache" ('492 Patent, col. 10:45-47). This language could support an interpretation where "cache memory" refers generally to any fast, frequently accessed portion of main memory, rather than a specific hardware layer.
- Evidence for a Narrower Interpretation: The term "cache memory" has a well-understood technical meaning in computer architecture (e.g., L1, L2, L3 cache). The patent's focus on performance gains from cache efficiency may support an argument that the inventors intended this specific technical meaning, requiring proof that the accused "edge table" is stored in a processor's hardware cache.
VI. Other Allegations
- Indirect Infringement: The complaint alleges inducement of infringement for all asserted patents. The factual basis includes Defendant’s extensive documentation, online training courses via the "Celonis Academy," and user manuals that allegedly instruct and encourage customers to use the accused features (e.g., the "LINK_PATH" operator) in an infringing manner (Compl. ¶¶47, 53-54, 134). Contributory infringement is also alleged, based on the assertion that the accused features (e.g., "Celonis Object Link") are non-staple components not suitable for substantial non-infringing use (Compl. ¶¶48, 135).
- Willful Infringement: The complaint alleges that Defendants have known of the asserted patents "at least since the service of the present Complaint" (Compl. ¶¶47, 134, 232, 265). This provides a basis for alleging willful infringement for any infringing conduct that continues post-filing. The complaint does not allege pre-suit knowledge.
VII. Analyst’s Conclusion: Key Questions for the Case
- A core issue will be one of definitional scope: can Celonis's use of "mapping tables" to link separate data tables be construed as the "edge table" claimed in the '254 and '492 patents? The resolution will depend on whether the term is interpreted functionally (what it does) versus structurally (what it is).
- A second key issue will be one of technical specificity: do the general-purpose query constraints in Celonis's PQL, such as the "CONSTRAINED BY" clause, perform the specific, multi-step functions of "extracting a path predicate" and "evaluating" it to "reduce a scan range" as narrowly defined by the claims, or is there a fundamental mismatch in technical operation?
- A third central question, specific to the '492 patent, will be the construction of "cache memory." The case may require detailed evidence on whether this term refers to a specific hardware component (e.g., L1/L2 CPU cache) or can be read more broadly to cover any performance-optimized portion of main memory, a distinction that could be dispositive for that patent.
Analysis metadata