DCT

5:24-cv-00016

S3G Technology LLC v. Kohl'S

Key Events
Complaint
complaint

I. Executive Summary and Procedural Information

  • Parties & Counsel:
  • Case Identification: 5:24-cv-00016, E.D. Tex., 01/31/2024
  • Venue Allegations: Plaintiff alleges venue is proper because Defendant maintains a regular and established place of business in the district—a physical store in Texarkana, Texas—and has transacted business involving the accused products in the district.
  • Core Dispute: Plaintiff alleges that Defendant’s mobile applications for Android and iOS, along with supporting server infrastructure, infringe three patents related to methods for efficiently modifying and updating software applications across a network.
  • Technical Context: The technology concerns the architecture of client-server systems, specifically how updates to application logic and user interfaces are managed and distributed from a central server to remote devices like smartphones.
  • Key Procedural History: The complaint references prior litigation (S3G Tech. LLC v. Unikey Techs., Inc.) where a court construed key claim terms such as "dialogue module" and "code." Plaintiff also cites the prosecution history of a related patent, quoting an Examiner's Statement of Reasons for Allowance to argue that the claimed structure was distinguishable from prior art. These references suggest Plaintiff will advocate for similar claim interpretations and validity findings in this case.

Case Timeline

Date Event
2009-07-23 Earliest Priority Date for Asserted Patents
2013-07-11 Notice of Allowability issued for related patent per complaint
2018-04-10 U.S. Patent No. 9,940,124 Issued
2021-12-28 U.S. Patent No. 11,210,082 Issued
2023-05-30 U.S. Patent No. 11,662,995 Issued
2024-01-12 Accused Android App "Last updated" date
2024-01-16 Accused iOS App "Last updated" date
2024-01-31 Complaint Filing Date

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

U.S. Patent No. 9,940,124 - "Modification of Terminal and Service Provider Machines Using an Update Server Machine"

  • Patent Identification: U.S. Patent No. 9,940,124, titled “Modification of Terminal and Service Provider Machines Using an Update Server Machine,” issued April 10, 2018 (Compl. ¶10).

The Invention Explained

  • Problem Addressed: The patent addresses the technical challenge of updating software on a large number of geographically dispersed devices (Compl. ¶14). Distributing entirely new, recompiled applications is inefficient, particularly over wireless networks with limited bandwidth, as it requires transmitting large files and can be excessively time-consuming (Compl. ¶15; ’124 Patent, col. 2:39-56).
  • The Patented Solution: The invention proposes a three-entity system architecture comprising a terminal machine (e.g., a mobile device), a service provider machine (e.g., a back-end server), and an update server machine (Compl. ¶16). Instead of sending a full application update, the update server sends a small "dialogue module" containing "code." This "code" is defined as information that must be translated by the application before execution (e.g., bytecode), as distinct from the application’s core "computer-executable instructions" which run directly on the processor (Compl. ¶17; ’124 Patent, col. 4:30-40). This module modifies the application’s behavior without replacing the entire executable file, thus enabling efficient updates (Compl. ¶¶ 20, 24). The complaint references FIG. 1 to illustrate this three-entity structure (Compl. ¶16).
  • Technical Importance: This approach is designed to reduce network bandwidth utilization and improve the efficiency of modifying software applications running on remote devices (Compl. ¶25).

Key Claims at a Glance

  • The complaint asserts at least independent claim 1 (Compl. ¶32).
  • Based on the allegations, the essential elements of this method claim include:
    • Displaying a first prompt via a terminal application, which itself comprises a first set of computer-executable instructions and a first set of code.
    • Accepting a data entry associated with the prompt.
    • Communicating information related to the data entry to a service provider machine running a provider application (comprising a second set of instructions and code).
    • Storing at least a portion of the communicated information.
    • Receiving a "terminal dialogue module" at the terminal machine that updates the first set of code to produce updated code.
    • The updated code adapts the terminal application to display a second prompt for a modified dialogue sequence.
    • At least one of the code sets comprises intermediate code (Compl. ¶¶33-38).
  • The complaint does not explicitly reserve the right to assert dependent claims for this patent.

U.S. Patent No. 11,210,082 - "Modification of Terminal and Service Provider Machines Using an Update Server Machine"

  • Patent Identification: U.S. Patent No. 11,210,082, titled “Modification of Terminal and Service Provider Machines Using an Update Server Machine,” issued December 28, 2021 (Compl. ¶11).

The Invention Explained

  • Problem Addressed: As with the related ’124 Patent, the technology addresses the difficulties of efficiently distributing newly compiled software application updates to all devices in a system, especially when physical access is impractical and network bandwidth is limited (’082 Patent, col. 2:40-54).
  • The Patented Solution: The ’082 Patent focuses on the method performed by the service provider machine. The provider application, comprising both directly executable instructions and translatable "code," receives information from a terminal, stores it, and then receives "second code" that updates its own code to adapt its part of the dialogue (’082 Patent, Abstract). It then sends "third code" to the recipient (the terminal machine) to facilitate the corresponding change on the client side, enabling a synchronized, modified dialogue sequence (Compl. ¶¶56-57).
  • Technical Importance: This server-centric method allows for dynamic modification of a distributed application's logic, reducing network load by transmitting small code updates rather than entire application packages (Compl. ¶25).

Key Claims at a Glance

  • The complaint asserts at least independent claim 1 (Compl. ¶51).
  • The essential elements of this method claim, performed by a service provider machine, include:
    • Conducting a dialogue sequence using a provider application comprising computer-executable instructions and code.
    • Receiving information associated with a data entry from the dialogue.
    • Storing at least a portion of that information.
    • Receiving "second code" that replaces or supplements the provider application's code to produce "first updated code," which adapts the application for a modified dialogue.
    • Sending "third code" to a recipient to facilitate the recipient's portion of the modified dialogue (’082 Patent, Claim 1; Compl. ¶¶53-57).
  • The complaint does not explicitly reserve the right to assert dependent claims for this patent.

U.S. Patent No. 11,662,995 - "Network Efficient Location-Based Dialogue Sequence Using Virtual Processor"

  • Patent Identification: U.S. Patent No. 11,662,995, titled “Network Efficient Location-Based Dialogue Sequence Using Virtual Processor,” issued May 30, 2023 (Compl. ¶12).
  • Technology Synopsis: This patent extends the core technology to a scenario involving a dialogue sequence between at least two different user devices, facilitated by one or more provider applications. The method involves sending authorizations to each user device, receiving code from a first device that supplements the provider application's code, and then sending code to the second device to facilitate its part of the dialogue, with the updates occurring without an explicit request from the receiving device (Compl. ¶¶ 71, 74, 78).
  • Asserted Claims: At least independent claim 1 is asserted (Compl. ¶70).
  • Accused Features: The accused functionality involves synchronizing a user's account state across multiple devices. For example, a user saving an item for later on the Kohl's website (first device) causes code to be sent to the Kohl's server, which in turn sends code to the user's Kohl's mobile app (second device) to reflect this change, thereby facilitating a continuous dialogue sequence across devices (Compl. ¶¶ 72-74).

III. The Accused Instrumentality

Product Identification

  • The accused instrumentalities are the Kohl's mobile applications for Android and iOS (collectively, the "Defendant app") and the associated back-end "systems, methods, computing devices, servers, software, and non-transitory computer readable storage medium that execute, run, store, support or facilitate the use of the Defendant app" (Compl. ¶8).

Functionality and Market Context

  • The complaint’s infringement theory centers on features that involve client-server communication to maintain a synchronized state for the user, specifically the "saved for later (list) items" feature (Compl. ¶34). A user can add, review, or remove items from this list within the app. These actions are communicated to Defendant's server, which stores the information and makes it available for future use or access from other devices (Compl. ¶¶34, 36). The complaint alleges that this functionality is representative of other features of the Accused System, including "Kohl's Cash, Coupons, Gift Cards, Kohl's Rewards, Orders, Cart, My Account," and others (Compl. ¶34, fn. 7).

IV. Analysis of Infringement Allegations

The complaint references FIG. 1 from the asserted patents to illustrate the claimed three-entity system architecture (Compl. ¶16).

9,940,124 Patent Infringement Allegations

Claim Element (from Independent Claim 1) Alleged Infringing Functionality Complaint Citation Patent Citation
...displaying a first prompt on a terminal display ... by running a terminal application, the terminal application comprising first computer-executable instructions and first code that conduct the terminal machine's portion of the dialogue... The Kohl's app (terminal application) displays a user's list of "saved for later items" (first prompt). The app allegedly comprises computer-executable instructions (the Android Runtime) and first code (the app's bytecode). ¶34 col. 7:56-61
...communicating information associated with the first data entry from the terminal machine ... to the service provider machine, wherein the service provider machine uses a provider application comprising second computer-executable instructions and second code... When a user modifies the "saved for later" list, that information is sent to the Kohl's server (service provider machine). The server application (allegedly a .Net application) comprises instructions (e.g., the Common Language Runtime) and second code (the .Net program code). ¶36 col. 8:1-5
...receiving, at the terminal machine, a terminal dialogue module that updates at least a portion of the first code to produce first updated code, wherein the first updated code adapts the terminal application to display a second prompt... The Kohl's app receives a data payload (e.g., JSON) from the server, which allegedly functions as the "terminal dialogue module." This payload updates the app's internal state (the first code) to produce an updated state (first updated code), causing the app to display a modified "saved for later" list (the second prompt). ¶38 col. 8:63-9:3
...wherein at least one of the first code, the second code, and the first updated code comprise intermediate code. The app's bytecode is alleged to be intermediate code. ¶38 col. 2:1-5

11,210,082 Patent Infringement Allegations

Claim Element (from Independent Claim 1) Alleged Infringing Functionality Complaint Citation Patent Citation
...conducting a dialogue sequence using a service provider machine that comprises a provider application comprising computer-executable instructions and code... Kohl's server (service provider machine) conducts a dialogue with the Kohl's app. The server application allegedly comprises instructions (e.g., the .NET execution environment) and code (the .Net program). ¶53 col. 8:1-5
...receiving information associated with data entry associated with a dialogue sequence. The Kohl's server receives information when a user interacts with the "saved for later" list on the mobile app. ¶54 col. 12:41-44
...receiving second code that ... supplements, the code associated with the provider application to produce first updated code, wherein the first updated code adapts the provider application to be able to conduct the provider application's portion of a modified dialogue sequence... Information from the user's device (allegedly in JSON format) is received by the server. This information is alleged to be the "second code" that supplements the server's code to produce an updated state (first updated code) for the user's "saved for later" list. ¶56 col. 10:55-64
...sending third code that facilitates a recipient's portion of the modified dialogue sequence to be conducted... The server sends information (allegedly in JSON format) to the Kohl's app (the recipient). This is alleged to be the "third code" that enables the app to display the updated "saved for later" list. ¶57 col. 9:33-36

Identified Points of Contention

  • Scope Questions: A central issue may be whether the term "code" as used in the patents, defined as "information that must be translated before it can be executed," can be construed to read on data structures like JSON objects, as the complaint alleges (Compl. ¶¶ 38, 56). The defense may argue that JSON is merely data processed by the application's pre-existing instructions, not "code" that is itself translated for execution.
  • Technical Questions: The analysis may turn on the technical mechanism of how the accused applications are modified. The complaint alleges that receiving a "dialogue module" (e.g., a JSON payload) "updates at least a portion of the first code to produce first updated code" (Compl. ¶38). A key question for the court will be what factual evidence supports the claim that the application's bytecode is actually modified or supplemented, versus the possibility that the application's executable instructions simply parse the incoming data to alter what is displayed.

V. Key Claim Terms for Construction

The Term: "code"

  • Context and Importance: This term is foundational to the patent's claimed distinction from the prior art. The infringement theory depends on construing data payloads (e.g., JSON) as "code." Practitioners may focus on this term because its definition—specifically, whether it is limited to interpretable instructions like bytecode or can encompass structured data that influences program logic—will likely determine the outcome of the infringement analysis.
  • Intrinsic Evidence for Interpretation:
    • Evidence for a Broader Interpretation: The complaint does not point to specific language for a broader reading, but parties might argue that any information requiring processing or parsing before it affects the program's output meets the "must be translated" requirement.
    • Evidence for a Narrower Interpretation: The complaint cites a construction from a prior case defining "code" as "information that must be translated before it can be executed on a processor" (Compl. ¶17, fn. 5). The specification's reference to "intermediary code, such as Java Byte Code" suggests a focus on platform-independent, machine-interpretable instructions rather than application-level data structures (’082 Patent, col. 2:4-5).

The Term: "dialogue module"

  • Context and Importance: The complaint alleges that data transmissions, such as a "terminal machine portion of a saved for later item" or a JSON payload, constitute the claimed "dialogue module" (Compl. ¶¶ 38, 56). Whether these data packets meet the structural requirements of a "dialogue module" is a critical question.
  • Intrinsic Evidence for Interpretation:
    • Evidence for a Broader Interpretation: The term "module" could be argued to broadly cover any discrete package of information, including simple data, used in the dialogue.
    • Evidence for a Narrower Interpretation: The complaint cites a prior judicial finding that "the claim uses the term ‘module’ to refer to a particular type of structure rather than to any structure for performing a function" (Compl. ¶21). This suggests the term imparts a structural limitation beyond just being a container for data. The specification describes the module as containing code and/or instructions to modify a dialogue protocol (Compl. ¶24).

VI. Other Allegations

  • Indirect Infringement: The complaint alleges inducement on the basis that Defendant provides the Kohl's app and instructs customers to download and use it in an infringing manner (Compl. ¶¶ 42, 61, 82). Contributory infringement is alleged on the grounds that the accused products are not staple articles of commerce and are especially adapted to infringe the patents (Compl. ¶¶ 45, 64, 85).
  • Willful Infringement: The complaint alleges Defendant has had "actual knowledge" of the patents "[a]t least since the filing of this complaint" (Compl. ¶¶ 31, 50, 69). This allegation forms the basis for a claim of post-suit willful infringement.

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

  • A core issue will be one of definitional scope: Can the term "code," which the patents distinguish from directly "computer-executable instructions," be construed to cover application-level data structures like JSON payloads, or is it limited to processor-level interpretable instructions like bytecode? Plaintiff's infringement case appears to depend on the broader interpretation.
  • A central evidentiary question will be one of technical mechanism: Does the accused system's process of receiving a data object and using it to alter a user display constitute "updating" the application's "code" as claimed, or is this a mischaracterization of the normal operation where executable instructions simply process variable data inputs?
  • A key procedural question will be the persuasive weight of prior proceedings: How will the court treat the claim constructions from the Unikey Techs case and the Examiner's reasoning from the related patent's prosecution history, both of which are cited by Plaintiff to support its proposed claim scope and validity arguments?