DCT
3:26-cv-00978
Intellectual Ventures I LLC v. Government Employees Insurance Co
Key Events
Complaint
Table of Contents
complaint Intelligence
I. Executive Summary and Procedural Information
- Parties & Counsel:
- Plaintiff: Intellectual Ventures I LLC and Intellectual Ventures II LLC (Delaware)
- Defendant: Government Employees Insurance Company d/b/a GEICO (Maryland)
- Plaintiff's Counsel: Cherry Johnson Siegmund James PLLC; KASOWITZ LLP
- Case Identification: 3:26-cv-00978, N.D. Tex., 03/27/2026
- Venue Allegations: Plaintiff alleges venue is proper in the Northern District of Texas because GEICO maintains regular and established places of business in the district, including a corporate office in Richardson, Texas, and has committed and continues to commit acts of patent infringement within the district.
- Core Dispute: Plaintiff alleges that Defendant's backend financial services and technology infrastructure, which utilizes Apache Spark, Docker, and Kubernetes, infringes four patents related to parallel and distributed computing, virtual image management, and multi-cluster hosting.
- Technical Context: The technologies at issue concern methods for managing and executing large-scale, distributed software applications, which are foundational components of modern cloud computing and enterprise-level IT infrastructure.
- Key Procedural History: The complaint alleges that Defendant had actual knowledge of the patents-in-suit no later than its receipt of a notice letter dated March 26, 2026, one day before the complaint was filed.
Case Timeline
| Date | Event |
|---|---|
| 2003-05-21 | U.S. Patent No. 7,712,080 Priority Date |
| 2004-12-30 | U.S. Patent No. 8,332,844 Priority Date |
| 2007-10-30 | U.S. Patent No. 8,352,584 Priority Date |
| 2007-10-30 | U.S. Patent No. 7,822,841 Priority Date |
| 2010-05-04 | U.S. Patent No. 7,712,080 Issued |
| 2010-10-26 | U.S. Patent No. 7,822,841 Issued |
| 2012-12-11 | U.S. Patent No. 8,332,844 Issued |
| 2013-01-08 | U.S. Patent No. 8,352,584 Issued |
| 2026-03-26 | Date of Notice Letter to Defendant |
| 2026-03-27 | Complaint Filing Date |
II. Technology and Patent(s)-in-Suit Analysis
U.S. Patent No. 7,712,080 - "Systems and Methods for Parallel Distributed Programming"
- Issued: May 4, 2010 Compl. ¶43
The Invention Explained
- Problem Addressed: The patent's background section describes the complexity of developing software for systems with multiple processors and multiple memory areas ("parallel distributed programs") Compl. ¶58 '080 Patent, col. 1:25-30 It notes that prior art methods like "message passing" were burdensome for developers and could "dramatically change the code structure," while "distributed shared memory" approaches were often inefficient due to the need to transfer large amounts of data between processors '080 Patent, col. 1:31-col. 2:2
- The Patented Solution: The invention proposes a system using a "distributed shared variable," which is a single logical variable physically distributed across multiple memories, and "self-migrating threads" that can move between processors to operate on data locally '080 Patent, col. 3:15-25 '080 Patent, col. 3:31-40 Instead of moving large amounts of data to the computation, the computation (as a thread) moves to the data, aiming to combine the programming simplicity of shared memory with the efficiency of message passing '080 Patent, abstract
- Technical Importance: This approach sought to simplify programming for parallel systems while maintaining high performance, addressing a central challenge in the development of large-scale distributed computing applications Compl. ¶58
Key Claims at a Glance
- The complaint asserts infringement of claims including independent claim 9 Compl. ¶62
- The essential elements of independent claim 9 include:
- A distributed parallel computing system with at least one memory area and processor.
- A "distributed shared variable" that is a single logical variable physically loadable across the memory area.
- A "distributed sequential computing program" configured to access the shared variable.
- The program is also configured to transform into a parallel program by "spawning at least one child distributed sequential computing system program" when an "intermediate condition occurs."
- The original program and the spawned child program "concurrently" perform parallel processing.
- The "intermediate condition" includes an "intermediate result" required by the spawned child program to continue its computation.
U.S. Patent No. 8,332,844 - "Root Image Caching and Indexing for Block-Level Distributed Application Management"
- Issued: December 11, 2012 Compl. ¶46
The Invention Explained
- Problem Addressed: In large computing clusters, updating the operating system or application "boot image" across all nodes is "cumbersome" because it requires updating numerous individual copies of the image '844 Patent, col. 1:64-67 Compl. ¶87
- The Patented Solution: The patent describes a system using a common, read-only "root image" and separate "leaf images" for each compute node '844 Patent, col. 2:15-22 A leaf image stores only the differential data-additions or changes-made by a specific node, rather than a full copy of the entire image '844 Patent, abstract This allows for efficient storage and streamlined updates. The system further improves performance by caching frequently accessed blocks from the root image in a faster cache memory '844 Patent, abstract '844 Patent, col. 2:60-62
- Technical Importance: This differential, copy-on-write approach to managing system images reduces storage overhead, accelerates deployment ("bring-up time"), and simplifies software updates in large-scale cluster environments, a concept foundational to modern containerization and virtualization platforms Compl. ¶87
Key Claims at a Glance
- The complaint asserts infringement of claims including independent claim 7 Compl. ¶92
- The essential elements of independent claim 7 include:
- A method for providing data to compute nodes.
- Storing blocks of a "root image" on a first storage unit.
- Storing "leaf images" for each compute node on second storage units.
- The leaf images include "only additional data blocks not previously contained in said root image and changes made by respective compute nodes to the blocks of the root image."
- The leaf images "do not include blocks of said root image that are unchanged by respective compute nodes."
- Caching blocks of the root image that have been accessed by at least one compute node in a cache memory.
U.S. Patent No. 8,352,584 - "Systems for Hosting Customized Computing Clusters"
- Issued: January 8, 2013 Compl. ¶49
- Technology Synopsis: The patent addresses technical problems in managing multi-cluster environments, including complex setup, configuration, and monitoring Compl. ¶128 The patented solution is a computer system comprising at least two clusters that can have different configurations, are communicatively linked to a private network, and are isolated from each other, along with a monitoring system to detect communications problems between them '584 Patent, abstract
- Asserted Claims: The complaint asserts infringement of claims including independent claim 1 Compl. ¶133
- Accused Features: GEICO's use of Kubernetes to manage and orchestrate multiple computing clusters is accused of infringement Compl. ¶126
U.S. Patent No. 7,822,841 - "Method and System for Hosting Multiple, Customized Computing Clusters"
- Issued: October 26, 2010 Compl. ¶52
- Technology Synopsis: Addressing similar issues as the '584 Patent, this patent describes a system for hosting multiple, customized computing clusters for clients, which can become expensive and complex to maintain and monitor '841 Patent, col. 2:22-27 Compl. ¶185 The invention comprises a system with first and second clusters in different configurations, linked to a private network, and a hierarchical monitoring system with a main monitor and per-node monitors to identify and report operational, connectivity, hardware, and software problems '841 Patent, abstract
- Asserted Claims: The complaint asserts infringement of claims including independent claim 1 Compl. ¶190
- Accused Features: GEICO's use of Kubernetes to host and monitor computing clusters is accused of infringement Compl. ¶183
III. The Accused Instrumentality
Product Identification
- The complaint identifies the accused instrumentalities as GEICO's "Accused Systems and Services" Compl. ¶9 These are internal, backend technology systems that utilize open-source platforms, including Apache Spark, Docker, and Kubernetes, to support GEICO's financial and insurance products Compl. ¶10
Functionality and Market Context
- The accused systems form the basis of GEICO's private cloud and on-premise IT infrastructure Compl. ¶60 Compl. ¶88 Compl. ¶129 The complaint alleges that GEICO is using these technologies to build out a large-scale private infrastructure, in part to "repatriate" workloads from public cloud providers and reduce costs Compl. ¶60 Compl. ¶90
- Apache Spark is allegedly used for large-scale, parallel data processing Compl. ¶59
- Docker is allegedly used for application containerization, a method of packaging and running applications in isolated environments Compl. ¶88
- Kubernetes is allegedly used as a container orchestration platform to manage "containerised compute and storage" at scale Compl. ¶89 Compl. ¶129
IV. Analysis of Infringement Allegations
'080 Patent Infringement Allegations
| Claim Element (from Independent Claim 9) | Alleged Infringing Functionality | Complaint Citation | Patent Citation |
|---|---|---|---|
| A distributed parallel computing system, having at least one memory area and at least one processor... | GEICO's systems use Apache Spark, which is a distributed parallel computing system operating across multiple processors and memory areas on a cluster of nodes. | ¶63 | col. 1:25-28 |
| ...at least one distributed shared variable...is a single variable that includes several variables that may be physically loaded into the at least one memory area... | Spark partitions data into Resilient Distributed Datasets (RDDs). An RDD is a single logical entity that is physically partitioned and distributed across the memory of multiple nodes in the cluster. | ¶64 | col. 3:31-36 |
| ...at least one distributed sequential computing program...configured to transform into at least one distributed parallel computing program by spawning at least one child distributed sequential computing system program when at least one intermediate condition occurs... | A Spark application begins with a driver program (the sequential program) which is transformed by a scheduler into a directed acyclic graph (DAG) of stages. Each stage consists of parallel tasks (spawned child programs) that execute across the cluster. | ¶66; ¶67 | col. 6:46-52 |
| ...the at least one distributed parallel computing program concurrently uses the at least one distributed sequential computing program and the at least one spawned child distributed sequential computing program to perform parallel processing... | The Spark driver program and the distributed parallel tasks execute concurrently. The driver program coordinates the overall job while the tasks perform the parallel computations on data partitions. A diagram in the complaint illustrates this execution workflow (Compl. p. 35). | ¶69 | col. 6:61-64 |
| ...the at least one intermediate condition comprising one intermediate result that will be required by the at least one spawned child...to continue computation. | Spark implements "shuffle boundaries" between stages, where tasks in a subsequent stage must wait for the prior stage to complete to fetch its output data (the intermediate result) before they can begin execution. A diagram in the complaint shows this process (Compl. p. 37). | ¶70 | col. 8:1-5 |
'844 Patent Infringement Allegations
| Claim Element (from Independent Claim 7) | Alleged Infringing Functionality | Complaint Citation | Patent Citation |
|---|---|---|---|
| ...storing blocks of a root image of said compute nodes on a first storage unit; | Docker utilizes a base "image" composed of a series of read-only layers, which serves as the root image. This image is stored in a Docker registry. | ¶95 | col. 2:15-17 |
| ...storing leaf images for respective compute nodes...said leaf images including only additional data blocks not previously contained in said root image and changes made...wherein said leaf images...do not include blocks of said root image that are unchanged... | When a Docker container is run from an image, a new writable "container layer" is created. This layer acts as the leaf image, storing only new files or modifications to existing files, using a copy-on-write strategy that leaves unchanged blocks in the underlying root image untouched. A diagram in the complaint illustrates these stacked layers (Compl. p. 47). | ¶101; ¶105; ¶108 | col. 2:18-22 |
| ...caching blocks of said root image that have been accessed by at least one of said compute nodes in a cache memory. | Docker uses a "build cache" that stores and reuses unchanged intermediate image layers from previous builds to accelerate the process of creating new images. | ¶111 | col. 2:60-62 |
Identified Points of Contention
- '080 Patent: A primary point of contention may be whether the architecture of Apache Spark-with its scheduler, driver program, and DAG of tasks-maps onto the patent's specific claim language of a "distributed sequential computing program" that "spawns" a "child" program. The defense may argue that Spark's declarative, scheduler-based execution model is a distinct technology from the patent's more imperative "self-migrating thread" concept, raising a question of definitional scope.
- '844 Patent: The infringement analysis for the '844 patent may raise technical questions about the function of the accused features. For example, a point of contention could be whether Docker's "build cache," which is used during the image creation process Compl. ¶111, meets the claim limitation of "caching blocks of said root image that have been accessed by at least one of said compute nodes in a cache memory," which may imply a runtime access cache rather than a build-time optimization cache. Further, the strict negative limitation that leaf images "do not include blocks of said root image that are unchanged" may be a focus of dispute, depending on the precise implementation details of Docker's storage drivers.
V. Key Claim Terms for Construction
'080 Patent, Claim 9
- The Term: "distributed sequential computing program"
- Context and Importance: This term defines the entity that is transformed into a parallel program. The infringement theory hinges on the Spark "driver program" meeting this definition. Practitioners may focus on this term because its construction will determine whether the patent's architecture, seemingly based on mobile agents, can read on the more modern, scheduler-based architecture of Spark.
- Intrinsic Evidence for Interpretation:
- Evidence for a Broader Interpretation: The specification describes "distributed sequential computing ('DSC')" as "computing using a single locus of computation over distributed data" '080 Patent, col. 4:50-52 This language could support an argument that any program that coordinates work on distributed data from a single point of control, like a Spark driver, qualifies.
- Evidence for a Narrower Interpretation: The patent heavily illustrates its concepts using a "self-migrating thread" that "hops" between processors '080 Patent, col. 5:44-48 A party could argue the term is implicitly limited to this specific mobile-agent implementation, which differs from Spark's model of a stationary driver dispatching tasks.
'844 Patent, Claim 7
- The Term: "leaf images ... do not include blocks of said root image that are unchanged"
- Context and Importance: This negative limitation is a critical part of the definition of a "leaf image." The infringement allegation relies on Docker's writable container layer satisfying this strict exclusionary requirement. The case may turn on whether the accused technology is implemented in a way that perfectly aligns with this constraint.
- Intrinsic Evidence for Interpretation:
- Evidence for a Broader Interpretation: The abstract describes leaf images as including "additional data blocks ... and changes," which frames the element in positive terms. A party might argue the claim's negative limitation is merely a clarification of the copy-on-write principle, not a brittle requirement that would be defeated by incidental inclusion of an unchanged block for metadata or alignment reasons.
- Evidence for a Narrower Interpretation: The claim language is explicit and absolute ("do not include"). A party could argue this creates a strict requirement that if the accused "writable container layer" ever contains even a single unchanged block from the root image for any technical reason, it falls outside the literal scope of the claim. The specification supports this by describing the leaf image as storing "changes made by a compute node" '844 Patent, col. 2:18-20
VI. Other Allegations
- Indirect Infringement: The complaint alleges GEICO induces infringement by providing its partners, vendors, customers, and employees with access to its backend systems and services that use the accused technologies Compl. ¶75 Compl. ¶116 Compl. ¶173 Compl. ¶213 It further alleges GEICO provides instructions on how to use these systems in a manner that results in infringement Compl. ¶76 Compl. ¶117
- Willful Infringement: The complaint alleges willful infringement based on GEICO's alleged knowledge of the patents-in-suit, or willful blindness to their existence, dating from at least its receipt of a notice letter on March 26, 2026 Compl. ¶74 Compl. ¶115 Compl. ¶172 Compl. ¶212 The allegations cover both pre-suit and continued post-suit conduct.
VII. Analyst's Conclusion: Key Questions for the Case
- A core issue will be one of technical analogy: can the claims of the '080 patent, which describe a "self-migrating thread" that "spawns a child," be construed to cover the architecture of Apache Spark, which uses a central driver and a DAG scheduler to dispatch parallel tasks? This raises a fundamental question of whether a patent directed to a mobile-agent model of computation reads on a modern, scheduler-based distributed processing framework.
- A second key question will be one of functional precision: does the accused implementation of Docker's features, such as its "build cache" and "writable container layer," perform the exact functions and meet the strict negative limitations required by the '844 patent's claims? The resolution may depend on a technical deep-dive into whether a build-time optimization feature is equivalent to a runtime access cache, and whether the copy-on-write layer is ever implemented in a way that violates the "do not include unchanged blocks" constraint.
- Across all four patents, a central theme will be whether claims drafted in the context of earlier-generation, and often proprietary, distributed computing systems are broad enough to encompass the functionality of today's ubiquitous, general-purpose, open-source infrastructure platforms like Kubernetes and Docker.
Analysis metadata