1:18-cv-08175
Kove Io Inc v. Amazon Web Services Inc
I. Executive Summary and Procedural Information
- Parties & Counsel:
- Plaintiff: Kove IO, Inc. (Illinois)
- Defendant: Amazon Web Services, Inc. (Delaware)
- Plaintiff’s Counsel: Thompson Coburn LLP; Reichman Jorgensen LLP
- Case Identification: 1:18-cv-08175, N.D. Ill., 12/12/2018
- Venue Allegations: Plaintiff alleges venue is proper in the Northern District of Illinois because Defendant maintains a regular and established place of business in the district and has committed alleged acts of infringement there.
- Core Dispute: Plaintiff alleges that Defendant’s cloud storage services, including Amazon S3 and DynamoDB, infringe three patents related to foundational technologies for storing, managing, and retrieving data in large-scale distributed networks.
- Technical Context: The technology at issue involves methods for managing data location information in distributed storage systems, such as using hash tables to organize data pointers across multiple servers, which is a core component of modern cloud computing infrastructure.
- Key Procedural History: The complaint asserts three patents which all claim priority from a patent application filed on July 8, 1998. Subsequent to their issuance, and as noted on the patent documents, various claims of the patents-in-suit have been reviewed and confirmed in ex parte reexamination proceedings at the U.S. Patent and Trademark Office.
Case Timeline
| Date | Event |
|---|---|
| 1998-07-08 | Earliest Priority Date ('170, '978, '640 Patents) |
| 2006-03-14 | Amazon S3 Launch Date |
| 2006-09-05 | '640 Patent Issue Date |
| 2007-06-19 | '978 Patent Issue Date |
| 2010-10-12 | '170 Patent Issue Date |
| 2018-12-12 | Complaint Filing Date |
II. Technology and Patent(s)-in-Suit Analysis
U.S. Patent No. 7,814,170 - “Network Distributed Tracking Wire Transfer Protocol”
- Issued: October 12, 2010
The Invention Explained
- Problem Addressed: The patent’s background describes the difficulty in locating and retrieving information in large-scale, distributed data networks where data can reside in many different forms and places, and where servers do not know in advance where to look for a specific piece of data (Compl. ¶¶ 13-15; ’170 Patent, col. 1:31-41). This problem is exacerbated as data is dynamically added, moved, or deleted.
- The Patented Solution: The invention provides a protocol for managing data location in a distributed network by decoupling a data entity’s unique identifier (an “identification string”) from its network address (a “location string”) (’170 Patent, col. 2:15-20). A network of servers maintains the mapping between these identifiers and locations, allowing a client to query a server for a data location; if the first server does not have the information, it can redirect the client to a server that does (’170 Patent, Abstract; col. 2:62-65). This allows for dynamic and efficient data retrieval in a scalable network.
- Technical Importance: This protocol architecture enabled the development of hyper-scalable cloud storage systems by abstracting the logical identity of a data object from its physical storage location (Compl. ¶ 18).
Key Claims at a Glance
- The complaint asserts infringement of at least independent claim 1 (Compl. ¶ 36).
- The essential elements of claim 1 include:
- A system for managing data stored in a distributed network.
- A data repository configured to store a data entity identified by an identifier string.
- A data location server network with multiple data location servers that store data location information.
- Each data location server includes a portion of the data location information.
- The portion of information on each server is based on a hash function used to organize the information across the servers.
- The complaint reserves the right to assert other claims (Compl. ¶ 35).
U.S. Patent No. 7,233,978 - “Method and Apparatus for Managing Location Information in a Network Separate From the Data to Which the Location Information Pertains”
- Issued: June 19, 2007
The Invention Explained
- Problem Addressed: The patent addresses the challenge of scaling system capabilities in networked environments to handle variable demand for resources, which can create performance bottlenecks at location servers (’978 Patent, col. 2:10-16).
- The Patented Solution: The patent discloses a method for scaling location servers by monitoring a performance criterion, such as transaction rate or storage capacity. When a "predetermined performance limit" is reached on a first location server, the system transfers a portion of its identifiers and their associated location data to a second location server (’978 Patent, Abstract; col. 3:1-4). This allows the system to dynamically rebalance its load and add resources as needed.
- Technical Importance: This method provides a mechanism for the elastic scaling of a distributed storage system, allowing it to expand its capacity and throughput in response to increasing workload demands (Compl. ¶ 59).
Key Claims at a Glance
- The complaint asserts infringement of at least independent claim 17 (Compl. ¶ 58).
- The essential elements of method claim 17 include:
- Storing location information at a first location server.
- Receiving and storing an identifier and its relevant location at the first location server.
- Transferring a portion of identifiers and associated locations to a second data location server.
- This transfer occurs when a performance criterion of the first location server reaches a predetermined performance limit.
- The complaint reserves the right to assert other claims (Compl. ¶ 57).
U.S. Patent No. 7,103,640 - “Network Distributed Tracking Wire Transfer Protocol”
- Issued: September 5, 2006
Technology Synopsis
This patent addresses how a client can find the correct data location server in a distributed network if its initial query is sent to the wrong server (Compl. ¶ 73). The claimed solution is for the incorrect server to transmit a "redirect message" to the client; this message contains information the client can use to "calculate a location of a different data location server" that holds the requested information, to which the client can then direct its query (’640 Patent, col. 22:45-51).
Asserted Claims
Independent claim 18 (Compl. ¶ 73).
Accused Features
The complaint accuses Amazon S3’s request redirection functionality, where a request sent to an incorrect S3 location prompts a "temporary redirect" response that instructs the client to send the request to a new, correct endpoint (Compl. ¶ 80). The complaint includes a diagram illustrating this alleged process (Compl. p. 32).
III. The Accused Instrumentality
Product Identification
The "AWS Accused Products" are identified as cloud-based services including, without limitation, Amazon Simple Storage Service (“Amazon S3”) and DynamoDB (Compl. ¶ 26).
Functionality and Market Context
- The complaint describes the accused products as operating in tandem. Amazon S3 functions as "storage for the internet," where users store and retrieve data objects in a "Files Repository" (Compl. ¶¶ 27, 38).
- DynamoDB is described as a NoSQL database service used to store metadata and location information for S3 objects, referred to as the S3 "index subsystem" (Compl. ¶¶ 28, 39, 40). DynamoDB allegedly uses hash functions to distribute this location data across multiple servers or "partitions" to achieve high scalability (Compl. ¶ 42).
- The complaint alleges these products are foundational to AWS's business and are based on a common "Dynamo" technology platform (Compl. ¶ 32). A diagram included in the complaint shows Amazon S3 used for file storage and Amazon DynamoDB used as the "File Metadata Store" (Compl. p. 14).
IV. Analysis of Infringement Allegations
'170 Patent Infringement Allegations
| Claim Element (from Independent Claim 1) | Alleged Infringing Functionality | Complaint Citation | Patent Citation |
|---|---|---|---|
| a data repository configured to store a data entity, wherein an identifier string identifies the data entity | Amazon S3 is a "Files Repository" that stores data objects, each uniquely identified by a key, bucket, and optional version ID. | ¶38 | col. 22:56-59 |
| a data location server network comprising a plurality of data location servers, wherein data location information for a plurality of data entities is stored... | Amazon S3 uses an "index subsystem" that manages the location information of all S3 objects; this information is stored in DynamoDB tables, which are distributed across multiple servers. | ¶39, ¶40 | col. 22:60-63 |
| the portion of the data location information...is based on a hash function used to organize the data location information across the plurality of data location servers | DynamoDB uses a "partition key" as input to a hash function, and the output determines the physical partition (server) on which an item's location information is stored. | ¶42, ¶43 | col. 22:66 - col. 23:2 |
Identified Points of Contention
- Scope Questions: A central question may be whether Amazon S3 (as the alleged "data repository") and DynamoDB (as the alleged "data location server network") can be considered a single "system" under the claim's preamble, or if they are distinct products whose interoperability falls outside the claim scope.
- Technical Questions: What evidence does the complaint provide that the hash function used by DynamoDB to select a partition for metadata storage performs the specific function of "organiz[ing] the data location information across the...data location servers" as required by the claim? The complaint offers a diagram from an AWS presentation purporting to show this process (Compl. p. 18).
'978 Patent Infringement Allegations
| Claim Element (from Independent Claim 17) | Alleged Infringing Functionality | Complaint Citation | Patent Citation |
|---|---|---|---|
| transferring a portion of the identifiers and associated locations to a second data location server | DynamoDB is alleged to automatically "start splitting that thing up across physical boxes" as capacity is added, which distributes partition data across multiple servers. | ¶62, ¶65-66 | col. 28:1-4 |
| when a performance criterion of the first location server reaches a predetermined performance limit | The complaint alleges that DynamoDB uses "dynamic scaling or burst capacity" to spread data across more partitions "if the throughput performance limit is exceeded," and that S3 automatically partitions buckets to support higher request rates. | ¶59, ¶64 | col. 28:4-6 |
Identified Points of Contention
- Scope Questions: Does DynamoDB's act of "splitting" a data partition constitute "transferring a portion of the identifiers and associated locations" from a "first location server" to a "second data location server" within the meaning of the claim?
- Technical Questions: The complaint alleges that scaling occurs when a "throughput performance limit" is exceeded (Compl. ¶ 64). An evidentiary question will be whether this mechanism meets the claim limitation of a "predetermined performance limit." An AWS presentation screenshot is provided to illustrate "Dynamic Scaling—Throughput and Storage" (Compl. p. 26).
V. Key Claim Terms for Construction
Term: "data location server network" (’170 Patent, Claim 1)
- Context and Importance: The construction of this term is critical to determining whether the combination of Amazon S3 and DynamoDB constitutes a single infringing system. Defendant may argue they are separate services, while Plaintiff's theory requires them to be viewed as an integrated "network" for managing location data.
- Evidence for a Broader Interpretation: The specification discusses server networks in various flexible topologies, including hierarchical arrangements where servers are logically linked, which could support a construction covering distinct but interoperating services (’170 Patent, col. 16:15-18).
- Evidence for a Narrower Interpretation: Figures in the patent depict servers as part of a single "NDTP Server Constellation," which might suggest a more tightly coupled and administratively unified system is required than the accused S3 and DynamoDB services (’170 Patent, Fig. 11).
Term: "predetermined performance limit" (’978 Patent, Claim 17)
- Context and Importance: The infringement theory for the ’978 Patent relies on the accused products scaling automatically when a performance threshold is met. Whether AWS's scaling triggers meet the "predetermined" requirement will be a central issue.
- Evidence for a Broader Interpretation: The patent abstract and claims do not constrain the "performance criterion" to a specific metric, mentioning both "capacity and transaction rate capability," which could support a reading on the "throughput performance limit" alleged in the complaint (’978 Patent, Abstract).
- Evidence for a Narrower Interpretation: The word "predetermined" may be argued to require a static, pre-set threshold. If the accused AWS systems use dynamic or adaptive algorithms to trigger scaling, it raises the question of whether such a threshold is truly "predetermined" in the manner contemplated by the patent.
VI. Other Allegations
Indirect Infringement
The complaint alleges inducement of infringement for all three patents. It asserts that AWS provides extensive instructional materials—including developer guides, tutorials, support websites, SDKs, and webinars—that actively instruct and encourage customers to use the Accused Products in a manner that directly infringes the patents-in-suit (Compl. ¶¶ 50-54, 69, 84).
Willful Infringement
The complaint alleges that AWS has had knowledge of the patents "since at least the time it was served with this Complaint" and that its continued alleged infringement is in "wanton disregard" of Kove's rights, forming the basis for a post-suit willfulness claim (Compl. ¶¶ 49, 68, 83).
VII. Analyst’s Conclusion: Key Questions for the Case
- System Architecture vs. Claim Scope: A primary issue will be one of definitional scope: does the combination of Amazon S3 for data storage and DynamoDB for metadata indexing constitute a single, integrated "system" with a "data location server network" as claimed in the '170 patent, or are they separate commercial services whose interoperability falls outside the patent's scope?
- Mechanism of Scaling: A key evidentiary question will be one of functional operation: does the accused DynamoDB feature of automatically "splitting" data partitions in response to throughput demands perform the same function as the '978 patent's claimed method of "transferring" identifiers and locations between distinct servers when a "predetermined performance limit" is reached?
- Client vs. Server Redirection: For the '640 patent, the dispute may focus on the locus of action: does S3's alleged process of sending a redirect message back to the client for re-issuance to a new endpoint meet the claim requirement that the message contains information "for use by the client to calculate a location of a different data location server"?