DCT

1:18-cv-08370

PersonalWeb Tech LLC v. Trello Inc

Key Events
Complaint

I. Executive Summary and Procedural Information

  • Parties & Counsel:
  • Case Identification: 1:18-cv-08370, S.D.N.Y., 09/13/2018
  • Venue Allegations: Plaintiff alleges venue is proper because Defendant is incorporated in Delaware and has a regular and established place of business in the Southern District of New York, where it has allegedly committed acts of infringement.
  • Core Dispute: Plaintiff alleges that Defendant’s website, trello.com, infringes four patents related to using content-based identifiers to manage, locate, and control access to data in distributed computer networks.
  • Technical Context: The technology relates to fundamental aspects of cloud computing and content delivery networks, where data items are identified by a cryptographic hash of their content, rather than by name or location, to improve efficiency and reduce bandwidth.
  • Key Procedural History: Plaintiff notes that the last of the patents-in-suit has expired and that the infringement allegations are directed to the time period before expiration. The complaint also states that Plaintiff PersonalWeb has successfully enforced these patents against other parties, resulting in settlements and non-exclusive licenses.

Case Timeline

Date Event
1995-04-11 Earliest Priority Date for all Patents-in-Suit
2005-08-09 U.S. Patent No. 6,928,442 Issued
2010-09-21 U.S. Patent No. 7,802,310 Issued
2011-05-17 U.S. Patent No. 7,945,544 Issued
2012-01-17 U.S. Patent No. 8,099,420 Issued
2018-09-13 Complaint Filed

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

U.S. Patent No. 6,928,442 - “Enforcement and Policing of Licensed Content Using Content-Based Identifiers”

The Invention Explained

  • Problem Addressed: In expanding computer networks, conventional methods for naming and locating data (e.g., file names, pathnames) are inefficient and unreliable because they are context-dependent and unrelated to the actual data content (Compl. ¶13). This can lead to duplicate data, difficulty verifying data integrity, and challenges in managing data across dispersed systems (’442 Patent, col. 2:14-26).
  • The Patented Solution: The invention proposes replacing conventional naming with system-wide, "substantially unique," content-based identifiers called "True Names" (Compl. ¶¶14, 16). A True Name is generated by applying a cryptographic hash function (such as MD5 or SHA) to the sequence of bits comprising a data item ('442 Patent, Abstract). This creates an identifier that is dependent only on the data itself, allowing any data item to be stored, located, and accessed reliably and efficiently, regardless of its name or location in the network ('442 Patent, col. 3:6-12).
  • Technical Importance: This content-centric approach to data identification provided a foundational method for reducing bandwidth and storage requirements in distributed systems, a core principle of modern cloud computing and content delivery networks (Compl. ¶11).

Key Claims at a Glance

  • The complaint asserts independent claim 10 and dependent claim 11 (Compl. ¶52).
  • Essential elements of independent claim 10 include:
    • A method in a system with files distributed across multiple computers.
    • Obtaining a name for a data file, where the name is based on a function of the data in the file.
    • Using at least the name to determine whether a copy of the data file is present on at least one of the computers.
    • Determining whether a present copy of the data file is an unauthorized or unlicensed copy.

U.S. Patent No. 7,802,310 - “Controlling Access to Data in a Data Processing System”

The Invention Explained

  • Problem Addressed: The patent addresses the need to control the distribution of and access to content in a distributed data processing system where multiple copies of data may exist across different computers (e.g., servers, caches) (’310 Patent, col. 3:7-12).
  • The Patented Solution: The invention provides methods and systems for controlling access to a data item based on a request that includes a "content-dependent name" (e.g., a hash) of the data. A first computer receives the request from a second computer and, based on the content-dependent name, determines whether access to the content is authorized or licensed ('310 Patent, Abstract). If authorized, the first device permits the content to be provided to or accessed by the second computer; otherwise, it does not ('310 Patent, col. 39:23-31).
  • Technical Importance: This technology provides a mechanism for managing content delivery and caching in a network, ensuring that clients (e.g., web browsers) access authorized versions of files while minimizing redundant data transfers from origin servers (Compl. ¶¶33-34).

Key Claims at a Glance

  • The complaint asserts independent claims 20 and 69 (Compl. ¶60).
  • Essential elements of independent claim 20 (method) include:
    • Controlling distribution of content from a first computer to another in response to a request from a second device.
    • The request including a content-dependent name of a data item, based on a hash function of the item's data.
    • Based on the content-dependent name, the first device permits the content to be provided if it is not determined to be unauthorized or unlicensed.
    • Otherwise, if determined to be unauthorized or unlicensed, the first device does not permit the content to be provided.
  • Essential elements of independent claim 69 (system) include hardware and software configured:
    • To receive a request from a second computer at a first computer, the request including a content-dependent name for a data item based on a hash function.
    • In response, to cause the content-dependent name to be compared to a plurality of values.
    • To determine if access is authorized based on the comparison.
    • To allow the data item to be provided if access is not determined to be unauthorized.

U.S. Patent No. 7,945,544 - “Similarity-Based Access Control of Data in a Data Processing System”

  • Technology Synopsis: This patent describes a method for managing data using a two-level hashing process. A first function generates values for individual parts of a file (e.g., asset files), and a second function generates a "digital key" (e.g., an ETag) for the entire file based on the part values. This allows for efficient searching and matching of files based on their constituent parts (Compl. ¶¶72-73).
  • Asserted Claims: The complaint asserts claims 46, 48, 52, and 55, with claim 46 being independent (Compl. ¶70).
  • Accused Features: The accused features are Defendant's system of generating fingerprints for asset files using a first hash function and then generating an ETag for the main webpage file using a second hash function on content that includes the asset file fingerprints (Compl. ¶73). A browser's conditional GET request with the ETag is alleged to be a "search key" that is matched against a key in a database (Compl. ¶¶75-76).

U.S. Patent No. 8,099,420 - “Accessing Data in a Data Processing System”

  • Technology Synopsis: This patent describes a system for selectively permitting access to data items in a network. The system determines one or more "content-dependent digital identifiers" for a data item and resolves whether access is authorized by determining if the identifier corresponds to an entry in one or more databases (Compl. ¶¶84-85).
  • Asserted Claims: The complaint asserts claims 25, 26, 27, 29, 30, 32, 34–36, and 166, with claim 166 being independent (Compl. ¶81).
  • Accused Features: The accused features include Defendant's system of applying hash functions to webpage files to determine ETags and fingerprints ("content-dependent digital identifiers") (Compl. ¶84). Access is allegedly controlled by comparing a received ETag in a conditional GET request with ETags stored in a database to determine if the requesting computer can access cached content or must receive new content (Compl. ¶86).

III. The Accused Instrumentality

Product Identification

Defendant’s website located at trello.com and its associated systems for providing webpage content (Compl. ¶29).

Functionality and Market Context

The complaint alleges that the Trello website uses a system to control content distribution and caching to reduce bandwidth and server load (Compl. ¶34). This system allegedly generates content-based identifiers for its webpage and asset files in two ways: (1) "ETag values" associated with files, and (2) "fingerprints" inserted into the filenames of asset files (Compl. ¶¶31-32).

When a user's browser requests a webpage, it sends a conditional HTTP GET request containing an "If-None-Match" header with the ETag of the cached version of the file (Compl. ¶43). An intermediate cache server or origin server receives this request and compares the ETag from the request with the ETag it has stored for that file's URI (Compl. ¶44). If the ETags match, the server returns an HTTP 304 "Not Modified" response, and the browser uses its cached file (Compl. ¶45). If they do not match, the server returns an HTTP 200 response with the new file content and the new ETag, instructing the browser to update its cache (Compl. ¶46). This process allegedly controls which files a browser is "reauthorized to serve/use" (Compl. ¶42).

IV. Analysis of Infringement Allegations

U.S. Patent No. 6,928,442 Infringement Allegations

Claim Element (from Independent Claim 10) Alleged Infringing Functionality Complaint Citation Patent Citation
a method, in a system in which a plurality of files are distributed across a plurality of computers Defendant’s system distributes files (webpage content) across production servers, origin servers, intermediate cache servers, and endpoint browser caches. ¶53 col. 1:12-16
obtaining a name for a data file, the name being based at least in part on a given function of the data, wherein the data used by the function comprises the contents of the particular file Defendant’s system generates ETag values for its webpage and asset files by applying a hash function to the contents of those files. ¶54 col. 5:6-10
determining, using at least the name, whether a copy of the data file is present on at least one of said computers Defendant’s servers, in response to a conditional GET request with an If-None-Match header, compare the ETag in the request to the stored ETag for the requested file URI to determine if content with that ETag is present. ¶55 col. 3:36-40
determining whether a copy of the data file that is present on a at least one of said computers is an unauthorized copy or an unlicensed copy of the data file If the ETags match, the server determines the cached copy is authorized. If the ETags do not match, it determines the cached copy is unauthorized, requiring a new download. ¶56 col. 32:45-51

U.S. Patent No. 7,802,310 Infringement Allegations

Claim Element (from Independent Claim 20) Alleged Infringing Functionality Complaint Citation Patent Citation
controlling distribution of content from a first computer to at least one other computer, in response to a request obtained by a first device... from a second device... the request including at least a content-dependent name of a particular data item... wherein the function comprises a message digest function or a hash function An upstream server (first computer) controls distribution to a downstream cache or browser (second device) in response to a conditional GET request that includes a content-based ETag generated by a hash function. ¶62 col. 1:14-23
based at least in part on said content-dependent name... the first device (A) permitting the content to be provided... if it is not determined that the content is unauthorized or unlicensed, otherwise, (B) if it is determined that the content is unauthorized or unlicensed, not permitting the content to be provided The upstream server compares the received ETag with its stored ETag. If they match (authorized), it permits access to the cached content by sending an HTTP 304 response. If they do not match (unauthorized), it does not permit access to the old content, instead sending new content via an HTTP 200 response. ¶63 col. 40:20-31

Identified Points of Contention

  • Scope Questions: A central question may be whether an "ETag" value used in an HTTP header constitutes a "name for a data file" as contemplated by the patents. Practitioners may question if this protocol-specific metadata, which co-exists with a traditional filename/URI, meets the claim limitation, which the patent specification often describes in the context of a more fundamental file system naming architecture ('442 Patent, col. 5:11-24).
  • Technical Questions: The infringement theory equates a check for stale content with a determination of authorization or license status (Compl. ¶56). A key technical question will be whether an ETag mismatch, which indicates a cached file's content is outdated, performs the specific function of determining that the file is "unauthorized or unlicensed" as required by the claims. A defendant may argue these are distinct technical concepts, as a stale file is not necessarily an unlicensed one.

No probative visual evidence provided in complaint.

V. Key Claim Terms for Construction

The Term: "name for a data file" ('442 Patent, cl. 10)

  • Context and Importance: The viability of the infringement case against the accused ETag functionality hinges on this term. If "name" is construed narrowly to mean a primary file system identifier (like a filename), the use of an ETag as HTTP header metadata may not infringe. Practitioners may focus on this term because it represents a potential mismatch between the patent's file-system-level description and the accused web-protocol-level implementation.
  • Intrinsic Evidence for Interpretation:
    • Evidence for a Broader Interpretation: The complaint argues the invention replaces "conventional naming and storing conventions" generally (Compl. ¶14). The patent abstract refers to obtaining "a name" for content where "the name is based... on a given function of the data," suggesting any such content-based identifier could qualify ('442 Patent, Abstract).
    • Evidence for a Narrower Interpretation: The patent specification frequently discusses the invention in the context of a "file system," "directories," and "pathnames" ('442 Patent, col. 5:11-50), which could support a construction limiting "name" to an identifier used at the file system or operating system level, rather than as metadata within an application protocol.

The Term: "unauthorized copy or an unlicensed copy" ('442 Patent, cl. 10)

  • Context and Importance: Plaintiff’s infringement theory equates an ETag mismatch with a determination that a cached file is "unauthorized" (Compl. ¶56). The definition of this term is critical because if it is construed to require a formal check of rights or permissions, a simple content-freshness check may not meet the limitation.
  • Intrinsic Evidence for Interpretation:
    • Evidence for a Broader Interpretation: The patent is titled "Enforcement and Policing of Licensed Content," which suggests the term should be central to the claim's meaning. The complaint alleges the system is used to instruct caches whether they are "still authorized to reuse" content (Compl. ¶33).
    • Evidence for a Narrower Interpretation: The specification describes using the content-based name to "verify that the data delivered is the correct data" ('442 Patent, col. 2:22-24). This suggests the primary function is data integrity and verification, not a formal authorization or licensing check. A defendant may argue that a stale file is simply incorrect or outdated, not necessarily "unauthorized" or "unlicensed" in the legal or access-control sense.

VI. Other Allegations

The complaint does not plead separate counts for indirect infringement. However, it alleges that Defendant "caused" intermediate cache servers and endpoint caches to perform certain steps, such as obtaining ETags and determining whether to use cached content (Compl. ¶¶54, 55, 62). These allegations may suggest a future argument for induced infringement.

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

  • A core issue will be one of definitional scope: Can the term "name for a data file," which the patent often describes in the context of file systems, be construed to cover "ETag" values used as metadata within the HTTP protocol for cache validation?
  • A key evidentiary question will be one of functional equivalence: Does the accused system’s process of checking for a "stale" file via an ETag mismatch perform the specific, recited function of determining that a file is "unauthorized or unlicensed," or is there a fundamental mismatch in the technical operation being performed?
  • A third question concerns causation and control: To what extent does Defendant's system, which responds to standard HTTP requests, "control the distribution" of content and "cause" downstream, independently-operated caches and browsers to perform the claimed steps of comparing and determining?