DCT

1:22-cv-04490

Invincible IP LLC v. SAS

I. Executive Summary and Procedural Information

  • Parties & Counsel:
  • Case Identification: 1:22-cv-04490, S.D.N.Y., 05/31/2022
  • Venue Allegations: Plaintiff alleges venue is proper because Defendant has committed acts of infringement and maintains a regular and established place of business in the Southern District of New York.
  • Core Dispute: Plaintiff alleges that Defendant’s SAS Institute software platform infringes two patents related to methods for optimizing message processing between co-located software components in a datacenter.
  • Technical Context: The technology addresses performance bottlenecks in large-scale software systems by creating local caches for messages, aiming to avoid network latency when communicating software components are running on the same physical server.
  • Key Procedural History: The complaint does not mention any prior litigation or administrative challenges to the patents-in-suit. U.S. Patent No. 9,479,472 is a continuation of the application that resulted in U.S. Patent No. 8,954,993, and the two patents share a common specification.

Case Timeline

Date Event
2013-02-28 Priority Date for ’993 and ’472 Patents
2015-02-10 ’993 Patent Issued
2016-10-25 ’472 Patent Issued
2022-05-31 Complaint Filed

II. Technology and Patent(s)-in-Suit Analysis

U.S. Patent No. 8,954,993 - LOCAL MESSAGE QUEUE PROCESSING FOR CO-LOCATED WORKERS

Issued February 10, 2015

The Invention Explained

  • Problem Addressed: The patent describes a problem in datacenter architectures where software components ("workers") communicate through message queues. Even when two workers are "co-located" (i.e., running on the same physical server or even the same multi-core processor), they often still send messages over the network, a process that can be "4-6 orders of magnitude slower than using intercore hardware" and negates the performance benefits of co-location ('993 Patent, col. 1:25-39).
  • The Patented Solution: The invention proposes a system, managed by a Virtual Machine Manager (VMM), that intercepts messages sent between co-located workers. Instead of routing the message to a remote datacenter queue, it is stored in a local "queue cache." When a co-located "consumer worker" requests a message, it is served directly from this local cache, bypassing network latency. A "command channel" is used to maintain consistency between the local cache and the remote datacenter queue ('993 Patent, Abstract; col. 6:1-11; Fig. 4).
  • Technical Importance: This architecture is intended to accelerate inter-process communication within virtualized datacenter environments by leveraging the physical proximity of communicating software modules ('993 Patent, col. 1:12-24).

Key Claims at a Glance

  • The complaint asserts independent claim 1 (Compl. ¶13).
  • The essential elements of claim 1 are:
    • detecting a producer worker at a first server sending a first message to a datacenter queue at least partially stored at a second server;
    • storing the first message in a queue cache at the first server, wherein the queue cache includes one of a copy and a partial copy of the datacenter queue;
    • detecting a consumer worker at the first server sending a message request to the datacenter queue;
    • providing the stored first message to the consumer worker in response to the message request;
    • receiving a signal from a command channel associated with the datacenter queue; and
    • modifying the stored first message in response to receiving the signal.
  • The complaint alleges infringement of "one or more claims" of the patent, suggesting a reservation of rights to assert other claims (Compl. ¶11).

U.S. Patent No. 9,479,472 - LOCAL MESSAGE QUEUE PROCESSING FOR CO-LOCATED WORKERS

Issued October 25, 2016

The Invention Explained

  • Problem Addressed: As a continuation of the application for the ’993 Patent, the ’472 Patent addresses the same technical problem: the inefficiency of network-based communication between software workers that are physically co-located on the same server hardware in a datacenter (’472 Patent, col. 1:33-46).
  • The Patented Solution: The patented solution is substantively the same as that of the ’993 Patent, using a local message cache to fulfill requests between co-located workers, thereby avoiding slower network-based message queueing systems (’472 Patent, Abstract; col. 6:12-28). The patents share a nearly identical specification.
  • Technical Importance: The invention aims to improve application performance in cloud and datacenter environments by reducing communication latency (’472 Patent, col. 1:23-28).

Key Claims at a Glance

  • The complaint asserts independent claim 1 (Compl. ¶27).
  • The essential elements of claim 1 are:
    • detecting a producer worker at a first server, wherein the producer worker sends a message to a datacenter queue at least partially stored at a second server;
    • storing the message in a queue cache at the first server;
    • detecting a consumer worker at the first server, wherein the consumer worker sends a message request to the datacenter queue; and
    • providing the message to the consumer worker in response to the message request.
  • This claim is notably broader than claim 1 of the ’993 Patent, as it omits limitations related to the cache containing a "copy" of the datacenter queue and the steps of receiving a signal from a "command channel" and "modifying" the stored message.
  • The complaint alleges infringement of "one or more claims," suggesting a reservation of rights (Compl. ¶25).

III. The Accused Instrumentality

Product Identification

The complaint identifies the accused instrumentality as "SAS Institute" (Compl. ¶7). Based on the provided exhibits, this appears to refer to a suite of Defendant's software products that implement "Application Messaging," including the "SAS Message Broker" and associated tools for creating and managing message queues (Compl. pp. 4-5).

Functionality and Market Context

The complaint describes the accused functionality as a platform supporting "interoperability among loosely coupled applications over a message passing bus" using a "store-and-forward" model (Compl. p. 4). The system uses "message queues" where one application writes a message and another reads it (Compl. p. 5). The complaint provides a system diagram illustrating a "Message Broker" architecture, showing data flow between applications and queues (Compl. p. 5). The complaint does not provide details on the product's market position beyond a screenshot referencing its use by the Nature Conservancy (Compl. p. 4).

IV. Analysis of Infringement Allegations

’993 Patent Infringement Allegations

Claim Element (from Independent Claim 1) Alleged Infringing Functionality Complaint Citation Patent Citation
detecting a producer worker at a first server sending a first message to a datacenter queue at least partially stored at a second server The accused system detects a "producer application" at a "SAS server" sending a message to a "SAS message queue" stored at a separate "Message Queue server." ¶15 col. 2:15-23
storing the first message in a queue cache at the first server, wherein the queue cache includes one of a copy and a partial copy of the datacenter queue The "first server with the producer stores messages in a queue cache at the first server," which allegedly contains a copy of the "SAS message queue." ¶16 col. 16:16-20
detecting a consumer worker at the first server sending a message request to the datacenter queue The accused system detects a "consumer application" at the "first server" sending a request for messages to the "SAS message queue." ¶17 col. 2:19-23
providing the stored first message to the consumer worker in response to the message request The system provides the stored message to the "Consumer application" in response to its request. ¶18 col. 2:20-23
receiving a signal from a command channel associated with the datacenter queue The system receives a "Delete request" which functions as a signal from a command channel associated with the "SAS message queue." ¶19 col. 16:26-30
modifying the stored first message in response to receiving the signal The system modifies the stored message by "deleting the queue containing the first message" in response to the delete request. ¶20 col. 16:30-32

Identified Points of Contention

  • Technical Question: The complaint's supporting exhibits describe a standard, network-centric message broker architecture. The allegations that the accused product contains a "queue cache" for local storage and bypass (Compl. ¶16) are not explicitly supported by the cited SAS documentation. A central question is whether standard server memory or buffering can satisfy the patent’s specific "queue cache" limitation, which the patent describes as a distinct component of an intercept-and-store architecture (’993 Patent, Fig. 4, element 316).
  • Scope Question: Does the administrative "Delete request" function described in the SAS documentation (Compl. ¶19, p. 9) perform the role of the claimed "command channel" for maintaining consistency between a local cache and a remote queue? The patent describes this channel as relaying commands to keep the local and remote queues in sync, which may imply more than a simple delete function (’993 Patent, col. 6:8-11).

’472 Patent Infringement Allegations

Claim Element (from Independent Claim 1) Alleged Infringing Functionality Complaint Citation Patent Citation
detecting a producer worker at a first server, wherein the producer worker sends a message to a datacenter queue at least partially stored at a second server The accused system detects a "producer application" at a "SAS server" sending a message to a "SAS message queue" stored at a separate "Message Queue server." ¶29 col. 2:25-30
storing the message in a queue cache at the first server The accused system stores the message in a "queue cache at the first server (e.g., SAS server)." ¶30 col. 2:30-31
detecting a consumer worker at the first server, wherein the consumer worker sends a message request to the datacenter queue The accused system detects a "consumer application" at the "SAS server" sending a request for messages to the "SAS message queue." ¶31 col. 2:31-34
providing the message to the consumer worker in response to the message request The system provides the stored message to the "Consumer application" in response to its request. ¶32 col. 2:35-37

Identified Points of Contention

  • Technical Question: As with the ’993 Patent, the primary point of contention is the existence and function of the "queue cache." The complaint alleges this element (Compl. ¶30) but provides documentary evidence of a conventional message queue system. The dispute will focus on whether the accused system’s operation meets the claim requirement of storing messages in a specific "queue cache" at the producer/consumer's local server.

V. Key Claim Terms for Construction

The Term: "queue cache"

(present in both asserted claims)

  • Context and Importance: This term is the central inventive concept. The outcome of the case may depend on whether this term is construed broadly to cover any local memory used during message processing, or narrowly to require a specific architectural component designed to intercept and locally mirror a remote queue. Practitioners may focus on this term because the plaintiff's infringement theory appears to rely on a broad interpretation not explicitly shown in the defendant's documentation.
  • Intrinsic Evidence for Interpretation:
    • Evidence for a Broader Interpretation: The patent does not provide a standalone definition of the term, which may support an argument that it should be given its plain and ordinary meaning to one of skill in the art.
    • Evidence for a Narrower Interpretation: The specification consistently depicts the "queue cache" (316) as a component working in conjunction with a "matched queue traffic intercept module" (308) to specifically "intercept outgoing messages to matched queues" and "store the intercepted messages" (’993 Patent, col. 6:1-8; Fig. 3). Claim 1 of the ’993 patent further requires the cache to include a "copy or a partial copy of the datacenter queue," suggesting a persistent, mirroring function rather than a transient buffer.

The Term: "co-located workers"

(recited in the preamble of both asserted claims)

  • Context and Importance: The patents' stated purpose is to optimize processing for "co-located workers." The definition of this term establishes the scope of infringing scenarios.
  • Intrinsic Evidence for Interpretation:
    • Evidence for a Broader Interpretation: The term could be interpreted to mean any two worker processes running on the same physical application server.
    • Evidence for a Narrower Interpretation: The background section ties the benefits of the invention to overcoming inefficiencies when workers "share hardware" and can take advantage of "thread management hardware acceleration" (’993 Patent, col. 1:16-24). This context might support a narrower construction requiring workers to be running on different cores of the same multi-core processor, not just on the same server.

VI. Other Allegations

The complaint does not allege willful infringement or contain specific counts or factual allegations for indirect infringement.

VII. Analyst’s Conclusion: Key Questions for the Case

  • Evidentiary Mismatch: A primary issue will be one of evidence. The complaint alleges an "intercept and local cache" architecture, but the supporting documents depict a conventional, network-based message broker. The key question is whether Plaintiff can demonstrate, through discovery, that the accused SAS platform in fact operates in the manner claimed, or if there is a fundamental factual mismatch between the patent's requirements and the product's functionality.
  • Claim Construction of "queue cache": The case will likely turn on the definition of "queue cache". Can the term be construed broadly enough to read on the standard memory and buffering operations of a server processing messages, as Plaintiff's theory appears to require? Or will it be limited to the specific intercept-and-mirror architecture detailed in the shared patent specification, which the complaint does not show in the accused product?
  • Function of the "command channel": With respect to the ’993 patent, a dispositive question will be whether a standard administrative "Delete request" (Compl. ¶19) can satisfy the receiving a signal from a command channel ... [for] modifying the stored first message limitation. The court will need to decide if this claimed element requires a dedicated mechanism for maintaining cache consistency, or if a general-purpose management command suffices.