DCT

1:18-cv-01373

Realtime Data LLC v. Facebook Inc

I. Executive Summary and Procedural Information

  • Parties & Counsel:
  • Case Identification: 1:18-cv-01373, D. Colo., 06/05/2018
  • Venue Allegations: Plaintiff alleges venue is proper in the District of Colorado because Defendant Facebook maintains a regular and established place of business in Denver, transacts business in the district, and has committed the alleged acts of infringement there.
  • Core Dispute: Plaintiff alleges that Defendant’s Zstandard compression algorithm, and products incorporating it, infringe three patents related to systems and methods for data compression.
  • Technical Context: The technology at issue is data compression, a fundamental process for reducing the size of digital information to enable more efficient storage and faster transmission in large-scale data centers and networks.
  • Key Procedural History: The complaint alleges that Plaintiff has licensed patents from its portfolio to numerous technology companies, but does not identify any prior litigation or administrative proceedings involving the patents-in-suit or the Defendant.

Case Timeline

Date Event
1998-12-11 U.S. Patent No. 9,054,728 Priority Date
1999-03-11 U.S. Patent No. 7,415,530 Priority Date
1999-03-11 U.S. Patent No. 9,116,908 Priority Date
2008-08-19 U.S. Patent No. 7,415,530 Issued
2015-06-09 U.S. Patent No. 9,054,728 Issued
2015-08-25 U.S. Patent No. 9,116,908 Issued
2016-09-01 Article cited describing Facebook's use of Zstandard
2018-06-05 Complaint Filing Date

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

U.S. Patent No. 9,054,728 - "Data compression systems and methods"

  • Patent Identification: U.S. Patent No. 9,054,728, "Data compression systems and methods," issued June 9, 2015.

The Invention Explained

  • Problem Addressed: The patent addresses the challenge of selecting an optimal lossless compression technique when the content of the data is not known in advance, a common problem with heterogeneous data streams (US9054728B2, col. 2:28-44).
  • The Patented Solution: The invention proposes a system that first analyzes a data block to identify intrinsic "parameters or attributes." Based on this analysis, the system directs the data block to one of two paths: if specific attributes are identified, it uses one or more "content dependent" compression encoders; if not, it uses a "single data compression encoder" intended for general-purpose use (’728 Patent, Abstract). This adaptive, two-path approach aims to apply the most effective compression method based on the data's characteristics ('728 Patent, col. 13:5-24).
  • Technical Importance: This method provides a framework for automatically handling diverse data types by applying specialized compression where beneficial and falling back to a default method otherwise, potentially improving overall compression efficiency.

Key Claims at a Glance

  • The complaint asserts independent claim 1 (Compl. ¶9).
  • The essential elements of Claim 1 are:
    • A processor;
    • One or more content dependent data compression encoders;
    • A single data compression encoder;
    • Wherein the processor is configured to:
      • analyze data within a data block to identify one or more parameters or attributes, excluding analysis based solely on a descriptor indicative of those attributes;
      • perform content dependent data compression with the content dependent encoders if such parameters or attributes are identified; and
      • perform data compression with the single data compression encoder if such parameters or attributes are not identified.
  • The complaint alleges infringement of "other claims of the '728 Patent" (Compl. ¶20).

U.S. Patent No. 7,415,530 - "System and methods for accelerated data storage and retrieval"

  • Patent Identification: U.S. Patent No. 7,415,530, "System and methods for accelerated data storage and retrieval," issued August 19, 2008.

The Invention Explained

  • Problem Addressed: The patent identifies a performance bottleneck in computer systems where memory storage devices, such as magnetic disks, have a much lower data read/write rate than the system's internal bus capabilities, limiting overall performance (’530 Patent, col. 2:19-32).
  • The Patented Solution: The invention describes a "data accelerator" that losslessly compresses a data stream at a rate faster than the target storage device's native write speed. This allows the system to store the compressed data stream continuously at the input transmission rate, effectively increasing the storage bandwidth of the memory device. The system can apply different compression techniques to different blocks within the data stream and stores a "descriptor" with the compressed data to indicate which technique was used for later decompression ('530 Patent, Abstract; col. 3:1-12).
  • Technical Importance: By compressing data "on the fly" at high speeds, the invention aims to overcome the physical data rate limitations of storage media, thereby accelerating data storage and retrieval operations.

Key Claims at a Glance

  • The complaint asserts independent claim 1 (Compl. ¶26).
  • The essential elements of Claim 1 are:
    • A memory device and a data accelerator coupled to it;
    • Receiving a data stream containing a first and a second data block;
    • Compressing the first data block with a first compression technique and the second data block with a second, different compression technique;
    • Storing the compressed data stream on the memory device;
    • Wherein the compression and storage occurs faster than the data stream could be stored in its uncompressed form;
    • Storing a first data descriptor on the memory device indicative of the first compression technique; and
    • Utilizing the first descriptor to decompress the portion of the compressed data stream associated with the first data block.
  • The complaint alleges infringement of "other claims of the '530 Patent" (Compl. ¶40).

U.S. Patent No. 9,116,908 - "System and methods for accelerated data storage and retrieval"

  • Multi-Patent Capsule: U.S. Patent No. 9,116,908
    • Patent Identification: U.S. Patent No. 9,116,908, "System and methods for accelerated data storage and retrieval," issued August 25, 2015 (Compl. ¶45).
    • Technology Synopsis: Related to the '530 patent, this invention describes a system for accelerating data storage through high-speed compression. It features a data accelerator that compresses different data blocks using different compression techniques, with the overall compression and storage process being faster than storing the data in its original, uncompressed form (Compl. ¶47).
    • Asserted Claims: The complaint asserts independent claim 1 (Compl. ¶50).
    • Accused Features: The accused features are the Zstandard algorithm's use of different compression techniques for different types of data (e.g., dictionary vs. entropy-based) and its high-speed performance, which allegedly allows data to be compressed and stored faster than it could be stored without compression (Compl. ¶¶ 51, 55, 56).

III. The Accused Instrumentality

Product Identification

  • The accused instrumentality is Facebook's Zstandard compression algorithm ("Zstandard"), products and services that incorporate the algorithm, and all versions thereof (Compl. ¶8).

Functionality and Market Context

  • The complaint describes Zstandard as a "real-time compression algorithm" designed to "scale with modern hardware and compress smaller and faster" (Compl. ¶¶ 5, 12). It allegedly provides high compression ratios across a wide trade-off of compression levels and speed (Compl. ¶12).
  • Zstandard is alleged to use multiple compression techniques. For "small data," where an algorithm cannot learn from "past" data, it allegedly employs "dictionary compression" using pre-shared dictionaries to improve efficiency (Compl. ¶¶ 15, 17). A bar chart in the complaint illustrates that using a dictionary can improve the compression ratio from approximately 2.9x to 9.9x for certain data (Compl. p. 7). For other data, or for the remainder of a file after an initial portion, the complaint alleges Zstandard uses breakthroughs like "Finite State Entropy" (Compl. ¶¶ 16, 19).
  • The complaint alleges Zstandard provides significant commercial benefits, citing reports that its use resulted in storage reduction in Facebook's data warehouses and substantial reductions in CPU requirements for both compression and decompression compared to the widely used zlib algorithm (Compl. ¶5).

IV. Analysis of Infringement Allegations

'9,054,728 Patent Infringement Allegations

Claim Element (from Independent Claim 1) Alleged Infringing Functionality Complaint Citation Patent Citation
a processor; Facebook's data centers and test servers run on hardware containing a processor, such as a Core I7-6700K CPU. ¶14 col. 27:37-37
one or more content dependent data compression encoders; Zstandard performs dictionary compression for small data inputs, which is alleged to be a content dependent data compression encoder. ¶15 col. 27:38-39
a single data compression encoder; Zstandard uses compression breakthroughs like Finite State Entropy, which is alleged to be a single data compression encoder. ¶16 col. 27:40-41
wherein the processor is configured: to analyze data within a data block to identify one or more parameters or attributes of the data wherein the analyzing...excludes analyzing based solely on a descriptor...; Zstandard analyzes a data block to determine if the data has been seen in the "past" by the encoder, an analysis which allegedly does not rely only on a descriptor. ¶17 col. 27:42-49
to perform content dependent data compression...if the one or more parameters or attributes of the data are identified; If Zstandard identifies the data as "small data" without a "past" to learn from, it performs dictionary-assisted compression. ¶18 col. 27:50-54
and to perform data compression with the single data compression encoder, if the one or more parameters or attributes of the data are not identified. For data where specific attributes for dictionary compression are not identified, Zstandard uses its general compression algorithm, such as Finite State Entropy. ¶19 col. 27:55-58
  • Identified Points of Contention:
    • Scope Questions: Does Zstandard's process of checking for "past" data or using a pre-shared dictionary constitute "analyzing data... to identify one or more parameters or attributes" as required by the claim? A central question may be whether this operational check maps to the patent's concept of content analysis.
    • Technical Questions: Does the complaint provide sufficient basis to characterize "dictionary compression" as a "content dependent data compression encoder" and "Finite State Entropy" as a "single data compression encoder" within the meaning of the patent? The litigation may focus on whether these specific algorithms fit the claimed categories.

'7,415,530 Patent Infringement Allegations

Claim Element (from Independent Claim 1) Alleged Infringing Functionality Complaint Citation Patent Citation
a memory device; and a data accelerator, wherein said data accelerator is coupled to said memory device Facebook's test servers and data centers contain hardware with a memory device and a processor (the alleged data accelerator) running the Zstandard algorithm. ¶32 col. 17:26-29
a data stream is received by said data accelerator... said data stream includes a first data block and a second data block Zstandard is a general-purpose compression tool that receives data streams comprising various data types, which are composed of multiple data blocks. ¶¶33, 34 col. 17:30-33
said data stream is compressed...by compressing said first data block with a first compression technique and said second data block with a second compression technique, said first and second compression techniques are different Zstandard compresses a data stream using different techniques: dictionary compression for small data blocks (first technique) and Finite State Entropy for other data (second technique). ¶¶35, 36 col. 17:34-40
said compressed data stream is stored on said memory device After compression by Zstandard, the compressed data is stored on memory devices in Facebook's servers. ¶37 col. 17:41-42
said compression and storage occurs faster than said data stream is able to be stored on said memory device in said received form Zstandard is alleged to be a "real-time compression algorithm" whose speed allows compression and storage to be faster than storing the uncompressed data directly. ¶38 col. 17:43-46
a first data descriptor is stored on said memory device indicative of said first compression technique, and said first descriptor is utilized to decompress... Zstandard's training process creates a "dictionary" file that is stored and must be loaded for both compression and decompression, allegedly serving as the claimed descriptor. ¶39 col. 17:47-53
  • Identified Points of Contention:
    • Scope Questions: Does a general-purpose CPU executing the Zstandard software algorithm meet the definition of a "data accelerator" as used in the patent, or does the term imply a specialized hardware component distinct from the main processor?
    • Evidentiary Questions: The claim requires that the "compression and storage occurs faster than" storing the uncompressed data. The case may require evidence beyond marketing claims to demonstrate that this performance benchmark is met on the accused systems for the data types at issue.

V. Key Claim Terms for Construction

The Term: "data accelerator" ('530 Patent, Claim 1)

  • Context and Importance: This term defines the central component of the claimed invention in the '530 and ’908 patents. Its construction is critical because if it is construed to require a dedicated hardware component separate from a general-purpose CPU, it may present a significant challenge to the infringement allegation against the Zstandard algorithm running on standard server hardware.
  • Intrinsic Evidence for Interpretation:
    • Evidence for a Broader Interpretation: The specification states the invention can be implemented in "various forms of hardware, software, firmware, or a combination thereof" and on a platform including "one or more central processing units (CPU) or digital signal processors (DSP)" ('530 Patent, col. 4:48-53). This may support an argument that the term's meaning is functional and can be fulfilled by software on a CPU.
    • Evidence for a Narrower Interpretation: The patent's title refers to "accelerated" storage, and the abstract describes the component as a "data storage accelerator." This language, along with figures depicting it as a distinct block (e.g., '530 Patent, Fig. 1, block 10), may support an argument that it is a discrete hardware unit intended to offload work from a general-purpose processor.

The Term: "analyze data within a data block to identify one or more parameters or attributes of the data" ('728 Patent, Claim 1)

  • Context and Importance: This phrase defines the decision-making step that triggers the system's choice between "content dependent" and "single" compression encoders. The scope of "analyze" and "parameters or attributes" will determine whether Zstandard's method of checking for "past" data or using a dictionary falls within the claim. Practitioners may focus on this term because it is the core of the claimed adaptive logic.
  • Intrinsic Evidence for Interpretation:
    • Evidence for a Broader Interpretation: The patent describes the analysis in broad, functional terms, without limiting it to specific data types like images or audio. The specification discusses recognizing "data types, data structures, and formats" as part of the analysis, which could be interpreted broadly ('728 Patent, col. 3:5-7).
    • Evidence for a Narrower Interpretation: The claim includes the negative limitation "excludes analyzing based solely on a descriptor that is indicative of the one or more parameters or attributes." This suggests the "analysis" must be an examination of the data's content itself, not just metadata. A defendant may argue that Zstandard's use of pre-built dictionaries is akin to using an external descriptor.

VI. Other Allegations

  • Indirect Infringement: The complaint alleges both induced and contributory infringement for all three patents-in-suit. Inducement allegations are based on Facebook's promotion of Zstandard's benefits and the provision of user manuals, product support, and marketing materials that allegedly instruct users on how to use the infringing features (Compl. ¶¶ 11-12, 28, 50-51). Contributory infringement is alleged on the basis that Zstandard is especially designed for infringement and is not a staple article of commerce with substantial non-infringing uses (Compl. ¶¶ 13, 31, 53).
  • Willful Infringement: The complaint does not contain an explicit allegation of willful infringement. It alleges that Facebook has had knowledge of the patents-in-suit "since at least the filing of this Complaint or shortly thereafter," which may form a basis for alleging post-filing willfulness but does not assert pre-suit knowledge (Compl. ¶¶ 10, 27, 49).

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

  • A core issue will be one of definitional scope: can the term "data accelerator," which is described in the context of overcoming hardware bottlenecks, be construed to cover a software algorithm like Zstandard running on a general-purpose CPU? The outcome of this question will be central to the allegations concerning the '530 and '908 patents.
  • A key question of claim mapping will be whether Zstandard's operational logic—using dictionary compression for "small data" and Finite State Entropy for other data—aligns with the specific two-path analytical framework of Claim 1 of the '728 patent, which requires "analyzing" for "attributes" and then selecting between "content dependent" and "single" encoders.
  • The case will also present an evidentiary question of performance: for the '530 and '908 patents, can the Plaintiff provide sufficient technical evidence to prove that the accused Zstandard algorithm, when running on Defendant’s systems, meets the claim limitation that "compression and storage occurs faster than" the uncompressed data could be stored directly to the same memory device?