DCT
2:18-cv-00205
PersonalWeb Tech LLC v. Cloud Warmer Inc
Key Events
Complaint
Table of Contents
complaint
I. Executive Summary and Procedural Information
- Parties & Counsel:
- Plaintiff: PersonalWeb Technologies, LLC (Texas) and Level 3 Communications, LLC (Delaware)
- Defendant: Cloud Warmer Inc. (New York)
- Plaintiff’s Counsel: Kent, Beatty & Gordon, LLP
- Case Identification: 2:18-cv-00205, E.D.N.Y., 01/11/2018
- Venue Allegations: Venue is alleged to be proper because Defendant is incorporated in New York, maintains a regular and established place of business in the district, has conducted business in the district, and has committed the alleged acts of infringement within the district.
- Core Dispute: Plaintiff alleges that Defendant’s website content distribution system infringes five patents related to using content-based identifiers to locate, manage, and control access to data in computer networks.
- Technical Context: The technology concerns methods for uniquely identifying digital data based on its content (e.g., via cryptographic hashing), a foundational concept for modern cloud storage, content delivery networks (CDNs), and data de-duplication.
- Key Procedural History: The complaint notes that Plaintiff PersonalWeb has previously enforced the patents-in-suit, resulting in settlements and the granting of non-exclusive licenses. It also specifies that the infringement allegations are directed to the time period before the expiration of the last of the patents-in-suit.
Case Timeline
| Date | Event |
|---|---|
| 1995-04-11 | Earliest Priority Date for all Patents-in-Suit |
| 1999-11-02 | U.S. Patent No. 5,978,791 Issued |
| 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-01-11 | Complaint Filing Date |
II. Technology and Patent(s)-in-Suit Analysis
U.S. Patent No. 5,978,791 - "Data Processing System Using Substantially Unique Identifiers to Identify Data Items, Whereby Identical Data Items Have the Same Identifiers"
- Patent Identification: U.S. Patent No. 5,978,791, "Data Processing System Using Substantially Unique Identifiers to Identify Data Items, Whereby Identical Data Items Have the Same Identifiers," issued November 2, 1999. (Compl. ¶35).
The Invention Explained
- Problem Addressed: The patent's background describes the inefficiency and ambiguity of conventional data naming systems (e.g., file paths), where a data item's name is tied to its location and context rather than its actual content. This leads to data duplication, difficulty in verifying data integrity across networks, and the need for centralized name management. (’791 Patent, col. 1:21–2:37).
- The Patented Solution: The invention proposes a system where each "data item" (a sequence of bits, like a file) is assigned a "substantially unique identifier" that depends only on the content of the data item itself. This identifier, termed a "True Name," is generated using a function like a cryptographic hash, allowing any data item to be located, verified, and managed based on its content, irrespective of its name or location in a network. ('791 Patent, Abstract; col. 3:23–34).
- Technical Importance: This content-centric approach to data identification provided a foundational method for ensuring data integrity and reducing storage and bandwidth requirements in large, distributed networks. (Compl. ¶¶10, 13).
Key Claims at a Glance
- The complaint asserts independent method claim 38 and dependent claim 42. (Compl. ¶36).
- The essential elements of independent claim 38 include:
- (A) Determining a substantially unique identifier for a data item based on all of, and only, the data in the item.
- (B) Requesting the data item by sending its identifier from a requester to one or more provider locations.
- (C) At a provider location: (a) determining and maintaining a set of identifiers for data items it holds; (b) using that set to determine if the requested data item is present; and (c) if present, notifying the requester that it has a copy.
U.S. Patent No. 6,928,442 - "Enforcement and Policing of Licensed Content Using Content-Based Identifiers"
- Patent Identification: U.S. Patent No. 6,928,442, "Enforcement and Policing of Licensed Content Using Content-Based Identifiers," issued August 9, 2005. (Compl. ¶45).
The Invention Explained
- Problem Addressed: The patent addresses the difficulty of enforcing licensing and authorization for digital content in distributed computer systems where files can be easily copied and distributed. (’442 Patent, Abstract).
- The Patented Solution: The invention discloses a method for policing content by first obtaining a content-based name for a data file (e.g., via a hash function). This name is then used to determine whether a copy of the file present on a computer within the system is an "unauthorized copy or an unlicensed copy." ('442 Patent, Abstract; col. 7:7–12). This allows for content control based on the data itself rather than on easily defeated file-level permissions.
- Technical Importance: This technology provided a framework for managing digital rights and controlling content distribution across networks by leveraging the intrinsic properties of the data. (Compl. ¶47).
Key Claims at a Glance
- The complaint asserts independent method claim 10 and dependent claim 11. (Compl. ¶46).
- The essential elements of independent claim 10 include:
- In a system with files distributed across multiple computers.
- Obtaining a name for a data file based on a function of its contents.
- Using 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"
- Patent Identification: U.S. Patent No. 7,802,310, "Controlling Access to Data in a Data Processing System," issued September 21, 2010. (Compl. ¶53).
- Technology Synopsis: This patent describes a system for controlling data access. A computer receives a request for a data item that includes a content-dependent name (e.g., a hash); it then compares that name against a stored plurality of values to determine if access is authorized, and allows or denies access based on the outcome of that comparison. (Compl. ¶¶56-57).
- Asserted Claims: Independent claims 20 and 69 are asserted. (Compl. ¶54).
- Accused Features: The complaint alleges that Defendant’s system of using E-Tags in HTTP CONDITIONAL GET requests, where servers compare the received E-Tag to a database of authorized values to determine whether to serve new content or validate cached content, infringes the ’310 Patent. (Compl. ¶¶56-57).
U.S. Patent No. 7,945,544 - "Similarity-Based Access Control of Data in a Data Processing System"
- Patent Identification: U.S. Patent No. 7,945,544, "Similarity-Based Access Control of Data in a Data Processing System," issued May 17, 2011. (Compl. ¶60).
- Technology Synopsis: This patent discloses a method for database searching using a multi-level hashing scheme. A "digital key" is created for a file by applying a first function to the content of its constituent parts, and then applying a second function to the resulting "part values." A search key is generated in a similar manner and matched against keys in the database to locate the corresponding file. (Compl. ¶¶63-64).
- Asserted Claims: Independent claim 46 is asserted. (Compl. ¶61).
- Accused Features: The accused features include Defendant’s system of generating an E-Tag (the "digital key") for a webpage's index file by hashing its contents, where those contents are URIs that themselves contain content fingerprints of the webpage's asset files (the "part values"). This E-Tag is then allegedly used as a search key to check for updated content. (Compl. ¶¶63-68).
U.S. Patent No. 8,099,420 - "Accessing Data in a Data Processing System"
- Patent Identification: U.S. Patent No. 8,099,420, "Accessing Data in a Data Processing System," issued January 17, 2012. (Compl. ¶72).
- Technology Synopsis: This patent describes a system that determines one or more "content-dependent digital identifiers" for data items. Access to these data items across a network is then selectively permitted or denied based on whether a given identifier corresponds to an entry in one or more databases of authorized identifiers. (Compl. ¶¶76-77).
- Asserted Claims: Independent claims 25 and 166 are asserted. (Compl. ¶73).
- Accused Features: The complaint accuses Defendant’s system of applying hash functions to generate E-Tags and URL fingerprints ("digital identifiers") for its webpage files. These identifiers are allegedly stored in server databases and used within the HTTP CONDITIONAL GET protocol to authorize or deny the use of cached content. (Compl. ¶¶76-78).
III. The Accused Instrumentality
- Product Identification: The accused instrumentalities are the websites operated by Defendant at "limitedrun.com" and "limitedpressing.com", along with their underlying content distribution system and methods. (Compl. ¶19). No probative visual evidence provided in complaint.
- Functionality and Market Context:
- The complaint alleges Defendant’s system uses a Ruby on Rails architecture to compile webpage files, which consist of an index file and one or more asset files. (Compl. ¶¶21, 24). The system generates a content "fingerprint" for each file using a message digest hash function and appends it to the file's URL. (Compl. ¶21). These files are uploaded as objects to Amazon's S3 hosting system, which in turn generates a content-based "E-Tag" value for each object by applying a hash function to its bits. (Compl. ¶¶22, 23).
- This system of identifiers is allegedly used to control caching behavior. When a browser or intermediate cache requests a file it already has, it sends a CONDITIONAL GET request with an "IF-NONE-MATCH" header containing the E-Tag of its cached version. (Compl. ¶27). An upstream server compares this E-Tag to its own. A match results in an HTTP 304 (Not Modified) response, authorizing use of the cached copy. (Compl. ¶27). A mismatch results in an HTTP 200 response containing the new file and its new E-Tag, indicating the cached copy is no longer authorized for use. (Compl. ¶28). The alleged purpose of this functionality is to reduce bandwidth consumption and server load by enabling efficient updates of cached information. (Compl. ¶20).
IV. Analysis of Infringement Allegations
5,978,791 Patent Infringement Allegations
| Claim Element (from Independent Claim 38) | Alleged Infringing Functionality | Complaint Citation | Patent Citation |
|---|---|---|---|
| (A) determining a substantially unique identifier for the data item, the identifier depending on and being determined using all of the data in the data item and only the data in the data item... | Calculating hash fingerprints and E-Tags based on the contents of webpage asset and index files. | ¶38 | col. 13:10-15 |
| (B) requesting the particular data item by sending the data identifier of the data item from the requester location to at least one location of a plurality of provider locations... | User browsers and intermediate cache servers sending HTTP CONDITIONAL GET requests with "IF-NONE-MATCH" headers containing the E-Tag (the identifier) to upstream servers (provider locations). | ¶39 | col. 6:6-12 |
| (C)(a)...(i) determining a substantially unique identifier for the data item...and (ii) making and maintaining a set of identifiers of data items. | Origination servers and intermediate caches storing and maintaining databases that map file URIs (which include fingerprints) and their associated content to E-Tag values. | ¶40 | col. 7:26-34 |
| (C)(b) determining, based on the set of identifiers, whether the data item corresponding to the requested data identifier is present at the provider location. | An upstream server receiving a CONDITIONAL GET request and comparing the E-Tag in the header to its database of E-Tag values to determine if a match exists. | ¶41 | col. 3:35-40 |
| (C)(c)...when the provider location determines that the particular data item is present...notifying the requestor that the provider has a copy of the given data item. | Upon an E-Tag match, the responding server issuing an HTTP 304 message, which notifies the requesting browser or cache that the content is present and re-authorizes its use. | ¶42 | col. 45:10-18 |
6,928,442 Patent 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 uses origin servers, intermediate cache servers, and end-point browser caches to distribute webpage files. | ¶47 | col. 1:13-17 |
| 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. | Obtaining E-Tags and fingerprints for index and asset files by applying a hash function to the contents of those files. | ¶48 | col. 6:42-49 |
| determining, using at least the name, whether a copy of the data file is present on at least one of said computers. | In response to a CONDITIONAL GET request, an upstream server compares the E-Tag ("the name") received in the request with its stored E-Tags to determine if a copy of the file content is present. | ¶49 | col. 7:3-6 |
| 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 E-Tag comparison results in a match, the downstream copy is determined to be authorized; if there is no match, it is determined to be unauthorized, requiring the downstream cache to acquire new content. | ¶50 | col. 7:7-12 |
- Identified Points of Contention:
- Scope Questions: A central question may be whether the HTTP "E-Tag" / "IF-NONE-MATCH" protocol, a public standard for web caching, falls within the scope of the patents' claims for a "data processing system." Defendant may argue it is merely practicing a conventional, non-infringing industry standard, whereas Plaintiff alleges this standard implements the patented methods.
- Technical/Legal Questions: For the ’442 Patent, a key dispute may arise over the meaning of "unauthorized copy or an unlicensed copy." The complaint equates a technical cache miss (a non-matching E-Tag) with the file being legally "unauthorized." A court may need to decide if this technical check for data currency satisfies the claim's requirement for determining the licensing or authorization status of a file.
V. Key Claim Terms for Construction
The Term: "substantially unique identifier" (’791 Patent, Claim 38)
- Context and Importance: This term is foundational to the asserted patents. Whether standard web identifiers like E-Tags meet this definition is critical to infringement. Practitioners may focus on this term because the patent describes a specific method for its creation, potentially creating a gap between the claim scope and the accused functionality.
- Intrinsic Evidence for Interpretation:
- Evidence for a Broader Interpretation: The specification states the identifier is computed using a "message digest function" such as MD4, MD5, or SHA, which aligns with the complaint's allegation that E-Tags are generated using a hash function. ('791 Patent, col. 13:10-15; Compl. ¶23).
- Evidence for a Narrower Interpretation: The specification describes a preferred embodiment where the identifier is a 160-bit value created by appending the "byte length modulo 32 of the data item" to a 128-bit hash result. ('791 Patent, col. 14:5-12). If the accused E-Tags or fingerprints do not include this specific length component, it may support an argument for non-infringement.
The Term: "unauthorized copy or an unlicensed copy" (’442 Patent, Claim 10)
- Context and Importance: The infringement theory for the '442 patent hinges on mapping the technical result of a cache-coherency check to this legal/licensing status. The definition of this term will determine if the accused system performs the final step of the claim.
- Intrinsic Evidence for Interpretation:
- Evidence for a Broader Interpretation: The complaint's theory suggests that within the operational logic of the system, authorization is granted or withheld by the server's response. An HTTP 304 response (match) is an explicit authorization to use the cached copy, while an HTTP 200 response (no match) effectively revokes authorization for the old copy and provides a newly authorized one. (Compl. ¶50).
- Evidence for a Narrower Interpretation: The patent title is "Enforcement and Policing of Licensed Content." Defendant may argue that the term implies a determination of a legal right to possess the content, not merely a technical determination of whether a cached version is up-to-date. A stale file in a cache is not necessarily legally "unlicensed."
VI. Other Allegations
- Indirect Infringement: The complaint alleges that Defendant "controlled" and "forced" the actions of downstream intermediate cache servers and end-user browsers. (Compl. ¶¶39, 41). The alleged mechanism of control is the sending of HTTP 200 messages with E-Tags and the appending of fingerprints to URLs, which allegedly compels downstream devices to perform the claimed steps, such as sending CONDITIONAL GET requests. (Compl. ¶39). These allegations may support a claim for induced infringement.
VII. Analyst’s Conclusion: Key Questions for the Case
- A core issue will be one of definitional scope: can the claims for a data processing system using "substantially unique identifiers" be construed to cover the standardized and widely adopted HTTP caching protocol that uses E-Tags and "IF-NONE-MATCH" headers? The resolution will likely depend on whether the defendant’s implementation is seen as a novel application of the patented method or simply the use of conventional, off-the-shelf web technology.
- A key question will be one of functional and legal interpretation: does the technical process of a server checking an E-Tag to determine if a cached file is current perform the claimed function of determining if that file is an "unauthorized copy or an unlicensed copy"? The case may turn on whether this technical check for data staleness can be equated with a determination of legal authorization status as contemplated by the patent.
Analysis metadata