DCT
1:19-cv-00964
Sound View Innovations LLC v. Cigna Corp
I. Executive Summary and Procedural Information
- Parties & Counsel:- Plaintiff: Sound View Innovations, LLC (Delaware)
- Defendant: Cigna Corporation (Delaware) and Cigna Health and Life Insurance Company (Connecticut)
- Plaintiff’s Counsel: Phillips, Goldman, McLaughlin & Hall, P.A. (Of Counsel: Desmarais LLP)
 
- Case Identification: 1:19-cv-00964, D. Del., 05/24/2019
- Venue Allegations: Plaintiff alleges venue is proper because Defendant Cigna Corporation is a Delaware corporation and thus resides in the district, and Defendant Cigna Health and Life Insurance Company maintains a regular and established place of business and has committed acts of infringement within the district.
- Core Dispute: Plaintiff alleges that Defendant’s big data infrastructure, including systems based on Apache Spark, Storm, Hadoop YARN, and Ambari, as well as its web services and database systems, infringe five patents related to real-time processing, resource management, software component shutdown, data analysis, and database memory management.
- Technical Context: The patents-in-suit relate to foundational technologies for managing large-scale, high-performance distributed computing systems, which are critical for enterprise data processing and analytics in industries such as healthcare insurance.
- Key Procedural History: The complaint discloses that in prior, separate proceedings, certain claims of the patents-in-suit faced validity challenges. It notes that claim 14 of the ’062 patent was found invalid under 35 U.S.C. § 101 in a district court case, and that the Patent Trial and Appeal Board (PTAB) found claims of the ’371 patent unpatentable in inter partes review (IPR) proceedings. Plaintiff notes these decisions are under appeal and states a willingness to stay its claims concerning these two patents. Public records subsequent to the complaint's filing indicate that the asserted claims from three of the five patents (’062, ’371, and ’715) were ultimately cancelled in IPR proceedings. The asserted claims from the ’133 and ’456 patents were confirmed as patentable in their respective IPRs. The complaint also alleges pre-suit notice of infringement was provided via letters dated August 13, 2018 and April 17, 2019.
Case Timeline
| Date | Event | 
|---|---|
| 1995-10-17 | ’062 Patent Priority Date | 
| 1997-08-19 | ’371 Patent Priority Date | 
| 1998-09-08 | ’062 Patent Issue Date | 
| 1999-03-25 | ’133 Patent Priority Date | 
| 1999-11-29 | ’456 Patent Priority Date | 
| 2000-09-26 | ’371 Patent Issue Date | 
| 2002-12-31 | ’133 Patent Issue Date | 
| 2004-04-20 | ’456 Patent Issue Date | 
| 2004-06-14 | ’715 Patent Priority Date | 
| 2008-09-16 | ’715 Patent Issue Date | 
| 2018-08-13 | Plaintiff sends notice letter to Defendant regarding ’133, ’456, ’062, and ’371 patents | 
| 2019-04-09 | PTAB issues final written decisions finding claims of ’371 patent unpatentable | 
| 2019-04-17 | Plaintiff sends notice letter to Defendant regarding ’715 patent | 
| 2019-04-30 | District court in a separate case finds claim of ’062 patent invalid | 
| 2019-05-24 | Complaint Filing Date | 
II. Technology and Patent(s)-in-Suit Analysis
U.S. Patent No. 6,502,133 - "Real-Time Event Processing System with Analysis Engine Using Recovery Information," issued December 31, 2002
The Invention Explained
- Problem Addressed: The patent describes a need for improved real-time event processing systems. At the time of the invention, conventional general-purpose databases were too slow for applications requiring responses within milliseconds, while high-performance custom database systems were expensive to develop, inflexible, and difficult to maintain (Compl. ¶¶16-18; ’133 Patent, col. 1:16-41).
- The Patented Solution: The invention proposes a system architecture that combines a "real-time analysis engine" with an associated "main-memory database system" to achieve high performance (Compl. ¶15; ’133 Patent, col. 2:9-12). To enhance reliability, the system stores "recovery information regarding a recovery point" within the main-memory database itself, enabling a rapid "roll-back" to a known good state after a system failure (Compl. ¶¶20, 22; ’133 Patent, col. 2:21-25).
- Technical Importance: This approach sought to provide the performance benefits of custom-built systems with the flexibility and maintainability of general-purpose database systems, a critical goal for growing telecommunications and network applications (Compl. ¶18).
Key Claims at a Glance
- The complaint asserts independent claim 13 (Compl. ¶¶80, 82).
- The essential elements of claim 13 are:- A method of processing events generated by at least one system application, comprising the steps of:
- processing the events in at least one real-time analysis engine; and
- storing in a main-memory database system associated with the real-time analysis engine recovery information regarding a recovery point for the real-time analysis engine.
 
- The complaint does not explicitly reserve the right to assert dependent claims.
U.S. Patent No. 6,725,456 - "Methods and Apparatus for Ensuring Quality of Service in an Operating System," issued April 20, 2004
The Invention Explained
- Problem Addressed: The patent addresses the inadequacy of conventional time-sharing operating systems for managing shared resources (CPU, memory, bandwidth) in the face of new demands like real-time multimedia applications and distributed client-server architectures. Existing "proportional share schedulers" were described as having numerous technical shortcomings, such as lacking a proper API, failing to provide correct sharing semantics, and being unable to handle abnormal process termination (Compl. ¶¶26-28; ’456 Patent, col. 1:19-65, col. 2:1-17).
- The Patented Solution: The invention discloses a method for providing a desired Quality of Service (QoS) by allowing applications to reserve resources hierarchically. This allows an application to isolate its performance from resource overloads caused by other applications (Compl. ¶¶29-30). The system manages resource reservations through an API that organizes them hierarchically, with parent processes able to limit the resources used by their children (Compl. ¶98d; ’456 Patent, col. 2:56-61).
- Technical Importance: This capability was described as increasingly important for ensuring fairness and predictable performance for web servers, multimedia applications, and other distributed systems as demands on network resources grew (Compl. ¶¶27, 30).
Key Claims at a Glance
- The complaint asserts independent claim 13 (Compl. ¶98).
- The essential elements of claim 13 include:- A method of ensuring a particular quality of service for an application in a computer system, comprising:
- utilizing an application programming interface of an operating system to establish quality of service guarantees corresponding to a reference to an object;
- providing a particular quality of service to a request in accordance with the guarantees;
- wherein the guarantees comprise hierarchically organized resource reservations, each with an associated weight specifying how it shares resources of its parent with its siblings; and
- wherein each resource reservation receives a minimum amount of resources from its parent, such that the parent's minimum is at least equal to the sum of its children's minimums.
 
- The complaint does not explicitly reserve the right to assert dependent claims.
Multi-Patent Capsule: U.S. Patent No. 7,426,715 - "Shutting Down a Plurality of Software Components in an Ordered Sequence," issued September 16, 2008
- Technology Synopsis: The patent addresses the problem that shutting down components of a distributed software application without a proper sequence can leave system resources in an inconsistent state (Compl. ¶35). The invention provides a method for shutting down software components in an ordered sequence based on their dependency relationships, which allows for the proper saving of state information and release of resources (Compl. ¶¶38-39).
- Asserted Claims: The complaint asserts independent claim 19 (Compl. ¶113).
- Accused Features: The complaint alleges that Cigna uses Apache Ambari to manage Hadoop clusters. Ambari is accused of establishing an ordered shutdown sequence using a "Role Command Order," which is based on dependency relationships defined in a "metainfo" file, to shut down software components (Compl. ¶¶105, 109, 113b-c).
Multi-Patent Capsule: U.S. Patent No. 5,806,062 - "Data Analysis System Using Virtual Databases," issued September 8, 1998
- Technology Synopsis: The patent addresses the inflexibility of prior art data analysis systems where operators were designed for single applications and could not be easily combined (Compl. ¶¶46-47). The invention provides a system using reusable, interoperable "software operators" that receive input and produce output in a common "virtual database" format, allowing a user to combine them to create customizable data processing applications (Compl. ¶48).
- Asserted Claims: The complaint asserts independent claim 14 (Compl. ¶125).
- Accused Features: The complaint accuses Cigna's websites ("Cigna DOM Services") that use the jQuery library. It alleges that jQuery methods (e.g., ".toggleClass()", ".find()") are the "software operators" and the Document Object Model (DOM) of a web page is the "virtual database." The combination of these jQuery methods to build the website is alleged to be the claimed application (Compl. ¶¶119, 122, 125).
Multi-Patent Capsule: U.S. Patent No. 6,125,371 - "System and Method for Aging Versions of Data in a Main Memory Database," issued September 26, 2000
- Technology Synopsis: The patent addresses the problem of main memory being consumed by outdated data record versions in multi-versioning database systems, which lacked an efficient means to reclaim that space (Compl. ¶56). The invention provides a method for reclaiming memory by monitoring a "measurable characteristic" of the memory (e.g., utilization) and deleting old data record versions in response to that characteristic and the versions' timestamps (Compl. ¶57).
- Asserted Claims: The complaint asserts independent claim 8 (Compl. ¶¶142, 143).
- Accused Features: The complaint accuses Cigna's use of Cassandra and HBase databases. Both are alleged to create timestamped versions of data and to use "compaction" processes to manage and delete old versions. These compaction processes are triggered by configurable parameters (e.g., "min_threshold", "MaxVersions"), which are alleged to constitute the claimed "measurable characteristic of said memory" (Compl. ¶¶131, 133, 135-137, 142-143).
III. The Accused Instrumentality
Product Identification
- The accused instrumentalities are several open-source software frameworks and databases allegedly used by Cigna in its data systems, identified as "Cigna Spark Services," "Cigna Storm Services," "Cigna Yarn Services," "Cigna Ambari Services," "Cigna DOM Services," "Cigna Cassandra Services," and "Cigna HBase Services" (Compl. ¶¶66, 72, 88, 104, 119, 129, 134).
Functionality and Market Context
- The complaint describes these products as forming the basis of Cigna's large-scale data processing and analytics infrastructure, integrated with its database, messaging, and monitoring systems (Compl. ¶¶68, 74).
- Apache Spark & Storm: These are identified as frameworks for real-time stream processing of events. Spark is alleged to use an in-memory abstraction called Resilient Distributed Datasets (RDDs) for fault tolerance, while Storm uses components called "Bolts" for real-time analysis and has an in-memory state implementation for persistence (Compl. ¶¶66, 70, 72, 76-77).
- Apache Hadoop YARN: This is identified as the architectural center of Hadoop for resource management, using a hierarchical system of "queues" controlled by schedulers to arbitrate resources (e.g., memory, vCores) among applications (Compl. ¶¶89, 91, 95).
- Apache Ambari: This is described as a management platform for provisioning, managing, and securing Hadoop clusters, with functionality to manage service dependencies and shutdown sequences (Compl. ¶105).
- jQuery/DOM, Cassandra & HBase: These are accused in the context of Cigna's websites and NoSQL data infrastructure. jQuery is a library for manipulating the DOM on web pages (Compl. ¶122). Cassandra and HBase are described as database systems that create multiple, timestamped versions of data and use "compaction" processes to manage the accumulation of data files on disk (Compl. ¶¶130-132, 135, 137).
- The complaint alleges Cigna's use of these systems has been "openly advertised" by its employees (Compl. ¶¶66, 88, 104, 129, 134). No probative visual evidence provided in complaint.
IV. Analysis of Infringement Allegations
U.S. Patent No. 6,502,133 Infringement Allegations
| Claim Element (from Independent Claim 13) | Alleged Infringing Functionality | Complaint Citation | Patent Citation | 
|---|---|---|---|
| a method of processing events... comprising the steps of: | Cigna's use of Apache Spark and Apache Storm frameworks to process data streams for applications such as real-time analytics. | ¶¶80, 82 | col. 1:42-45 | 
| processing the events in at least one real-time analysis engine | The "Spark engine" processes batches of data from input streams. The "Bolts" in Apache Storm are described as real-time analysis engines that process data streams. | ¶¶80a, 82a | col. 2:9-12 | 
| storing in a main-memory database system associated with the real-time analysis engine recovery information regarding a recovery point for the real-time analysis engine | Spark's "executors" (worker nodes) provide in-memory storage for RDDs, which are used to rebuild lost data upon failure. Storm's "default in-memory based state implementation" stores state information relating to a Bolt's state, allowing for snapshots. | ¶¶80b, 82b | col. 2:21-25 | 
- Identified Points of Contention:- Scope Questions: A potential question is whether the alleged "recovery information" (Spark's RDD lineage or Storm's state snapshots) meets the claim requirement of being "regarding a recovery point." The analysis may explore whether the claim requires information for a specific, pre-established transactional recovery point, versus a more general capability to reconstruct a prior state.
- Technical Questions: The complaint maps the term "real-time analysis engine" to general-purpose stream processing components like the "Spark engine" and "Bolts." A technical question may arise as to whether these components, which are part of a broader data processing framework, perform the specific functions of the "real-time analysis engine" as described in the ’133 patent's specification, which provides examples in a telecommunications context.
 
U.S. Patent No. 6,725,456 Infringement Allegations
| Claim Element (from Independent Claim 13) | Alleged Infringing Functionality | Complaint Citation | Patent Citation | 
|---|---|---|---|
| utilizing an application programming interface of an operating system to establish one or more quality of service guarantees that correspond to a reference to an object | Cigna's use of Apache YARN's APIs (e.g., YarnClient, ContainerLaunchContext, Cluster Reservation Submit APIs) to define resource requirements for an application. | ¶98a | col. 2:49-52 | 
| providing a particular quality of service to a request in accordance with the... guarantees | YARN's Fair Scheduler and/or Capacity Scheduler provide access to resources in accordance with the guarantees submitted via the APIs. | ¶98b | col. 2:41-44 | 
| wherein the quality of service guarantees comprise resource reservations, each specifying a portion of a resource set aside for exclusive use | The API requests specify resource reservations, such as amounts of memory and vCores for a container. | ¶98c | col. 2:38-40 | 
| wherein the resource reservations are organized hierarchically... and associated with r is a weight that specifies how r shares the resources of r's parent | YARN's Fair Scheduler and Capacity Scheduler use hierarchical queues, and each queue has an associated weight that determines its share of resources relative to its siblings. | ¶98d | col. 2:56-61 | 
| wherein associated with each resource reservation r is a minimum amount of resources... such that the minimum amount of resources associated with p is at least equal to the sum of the minimum amount of resources associated with each of p's children | YARN's "Steady FairShare" calculation for a parent queue is alleged to be at least equal to the sum of the minimum resources for its children. | ¶98e | col. 2:61-65 | 
- Identified Points of Contention:- Scope Questions: The claim requires utilizing an API "of an operating system." A central question will be whether YARN, which is typically considered application-layer middleware that runs on top of a traditional OS like Linux, can be construed as part of the "operating system" as the term is used in the patent.
- Technical Questions: The complaint alleges that the "Steady FairShare" calculation in YARN meets the final limitation of the claim. A technical analysis may focus on whether this calculation functionally corresponds to the specific mathematical relationship required by the claim language regarding a parent's minimum resources being "at least equal to the sum" of its children's minimums.
 
V. Key Claim Terms for Construction
- For the ’133 Patent: - The Term: "recovery information regarding a recovery point"
- Context and Importance: This term is critical because the infringement allegation hinges on mapping it to modern fault-tolerance mechanisms like Spark's RDD lineage and Storm's state snapshots. The construction will determine whether any mechanism that allows for restoring a prior state qualifies, or if a more specific type of transactional recovery data is required.
- Intrinsic Evidence for Interpretation:- Evidence for a Broader Interpretation: The patent abstract states the system "incorporates a recovery model which stores recovery information in order to facilitate roll-back to a recovery point after a failure," suggesting a functional definition focused on the ability to roll back.
- Evidence for a Narrower Interpretation: The detailed description discusses utilizing "stored event information from the event log, to implement a roll-back of the RAE to the recovery point" (’133 Patent, col. 2:21-25), which might suggest the information must be tied to a specific logged event sequence, potentially narrowing the scope.
 
 
- For the ’456 Patent: - The Term: "application programming interface of an operating system"
- Context and Importance: The infringement theory depends on construing the APIs of the Apache YARN middleware platform as being "of an operating system." Practitioners may focus on this term because YARN is not part of the kernel of a traditional OS like Linux, creating a potential scope mismatch.
- Intrinsic Evidence for Interpretation:- Evidence for a Broader Interpretation: The patent does not appear to provide an explicit definition of "operating system." A party could argue that in the context of large distributed systems, resource management frameworks like YARN perform functions traditionally associated with an OS, and thus its APIs should be considered "of" that system.
- Evidence for a Narrower Interpretation: The background section contrasts the invention with "conventional time-sharing operating systems" (Compl. ¶27; ’456 Patent, col. 1:26-29), suggesting the patent is directed to the core OS. A party might argue that this context limits the term to the kernel-level OS on which YARN itself runs.
 
 
VI. Other Allegations
- Indirect Infringement: The complaint does not contain specific allegations of fact to support induced or contributory infringement. The infringement counts focus on Cigna's own direct infringement through its "making, using, selling, and/or offering for sale" of infringing systems and methods (Compl. ¶¶79, 96, 111, 124, 139).
- Willful Infringement: The complaint alleges willful infringement based on pre-suit knowledge of the patents. It specifically cites notice letters sent to Cigna on August 13, 2018 (for the ’133 and ’456 patents, among others) and April 17, 2019 (for the ’715 patent), after which Cigna allegedly continued its infringing activities (Compl. ¶¶60, 62, 78, 97, 112). The prayer for relief requests a finding of willfulness for the ’133, ’456, and ’715 patents (Compl. p. 33, ¶b).
VII. Analyst’s Conclusion: Key Questions for the Case
- A core issue will be one of definitional scope: can terms rooted in the context of prior-generation technology, such as "operating system" (’456 Patent) and "real-time analysis engine" (’133 Patent), be construed to cover modern, open-source middleware platforms like Apache YARN and Spark, or is there a fundamental mismatch in the technological paradigm?
- A key evidentiary question will be one of technical mapping: does the functionality of the accused open-source software, as actually implemented and used by the Defendant, correspond to the specific requirements of the asserted claims? This may be particularly relevant for determining if YARN's "Steady FairShare" calculation meets the precise mathematical constraints of claim 13 of the ’456 patent.
- A significant procedural factor will be the impact of prior adjudications: with the asserted claims of three of the five patents-in-suit having been cancelled in IPR proceedings after the complaint was filed, a central question will be how the court and parties will manage a case where a substantial portion of the initial allegations may no longer be viable, pending any appeals.