DCT

6:23-cv-00601

S3G Technology LLC v. Jo Ann Stores LLC

Key Events
Complaint
complaint

I. Executive Summary and Procedural Information

  • Parties & Counsel:
  • Case Identification: 6:23-cv-00601, W.D. Tex., 08/15/2023
  • Venue Allegations: Plaintiff alleges venue is proper because Defendant operates a regular and established place of business within the district, including a physical store in Waco, Texas, and has transacted business involving the accused products in the district.
  • Core Dispute: Plaintiff alleges that Defendant’s mobile e-commerce applications and supporting server infrastructure infringe patents related to a system and method for dynamically modifying software applications on remote devices.
  • Technical Context: The technology addresses methods for efficiently updating client-server applications, such as those on mobile devices, by sending small packets of modifiable code rather than replacing the entire application, a significant consideration for systems with bandwidth constraints.
  • Key Procedural History: The complaint identifies numerous other lawsuits filed by Plaintiff asserting at least one of the same patents, indicating an active, broad-based litigation campaign. The complaint also references claim construction rulings from a prior case, S3G Tech. LLC v. Unikey Techs., Inc., which may influence the interpretation of key terms in this litigation. Plaintiff further cites the prosecution history of a related patent to argue that the claimed three-entity system architecture was deemed non-obvious by the patent examiner.

Case Timeline

Date Event
2009-07-23 Earliest Priority Date ('124, '571, '774 Patents)
2013-10-29 Issue Date (U.S. Patent 8,572,571)
2018-04-10 Issue Date (U.S. Patent 9,940,124)
2019-04-16 Issue Date (U.S. Patent 10,261,774)
2023-08-09 Accused Product Last Updated (Jo-Ann Stores Apps)
2023-08-15 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," issued April 10, 2018

The Invention Explained

  • Problem Addressed: The patent addresses the inefficiency and difficulty of updating software applications distributed across many remote devices, particularly over networks with limited bandwidth. Distributing an entire newly compiled application can be slow, costly, and complex to manage when different devices are running different versions of the software (Compl. ¶¶13-14; ’571 Patent, col. 2:18-52).
  • The Patented Solution: The invention describes a method for modifying an application by separating it into two parts: a set of "computer-executable instructions" (like a runtime engine or compiled binary) and a separate set of "code" (like bytecode or scripting language). An update server can send a small "dialogue module" containing new or updated "code" to a terminal machine. This module modifies the application's behavior—for example, by changing a sequence of user prompts—without replacing the larger, underlying executable instructions, thus enabling lightweight and efficient updates (’124 Patent, Abstract; ’571 Patent, col. 4:21-25). The complaint includes a figure from the patent showing the three-entity system of an update server, service provider, and terminal machine (Compl. ¶15, FIG. 1).
  • Technical Importance: This architectural approach aims to reduce network bandwidth usage and improve the efficiency of modifying applications on remote devices, a key challenge in the era of expanding mobile application ecosystems (Compl. ¶23).

Key Claims at a Glance

  • The complaint asserts at least independent claim 1 (Compl. ¶28).
  • Claim 1 is a method claim with the following essential elements:
    • Displaying a first prompt via a terminal application that comprises first computer-executable instructions and first code.
    • Accepting a first data entry from a user.
    • Communicating information from the terminal to a service provider machine.
    • Storing at least a portion of the information for analysis.
    • Receiving, at the terminal machine, a "terminal dialogue module" that updates at least a portion of the "first code" to produce "first updated code."
    • The "first updated code" adapts the terminal application to display a second prompt.
    • At least one of the "first code," "second code" (on the server), or "first updated code" comprises "intermediate code."
  • The complaint reserves the right to assert other claims (Compl. ¶28).

U.S. Patent No. 8,572,571 - "Modification of Terminal and Service Provider Machines Using an Update Server Machine," issued October 29, 2013

The Invention Explained

  • Problem Addressed: As with the '124 patent, the technology seeks to solve the problem of distributing large, monolithic software updates to remote devices over constrained networks, which is described as potentially "time-consuming and economically infeasible" (’571 Patent, col. 2:64-66; Compl. ¶13).
  • The Patented Solution: The patent claims a three-entity computer system (update server, terminal machine, service provider machine). The system's novelty lies in its method of updating. The terminal and service provider applications are structured with both executable instructions and a separate, modifiable "code." The update server sends "dialogue modules" that modify only this "code" portion on the respective machines, thereby changing the application's behavior (e.g., the "dialogue sequence") without altering the core executables (’571 Patent, Abstract, FIG. 2).
  • Technical Importance: This system facilitates the dynamic customization of distributed applications, allowing for efficient updates of application logic and user interfaces without requiring users to download and install a completely new version of the software (Compl. ¶¶19, 23).

Key Claims at a Glance

  • The complaint asserts at least independent claim 2 (Compl. ¶47).
  • Claim 2 is a system claim with the following essential elements:
    • An update server machine operable for sending a terminal dialogue module and a provider dialogue module.
    • A terminal machine running a terminal application, which comprises a first set of computer-executable instructions and a first set of code.
    • A service provider machine running a provider application, which comprises a second set of computer-executable instructions and a second set of code.
    • The terminal dialogue module modifies the first set of code (but not the instructions) to produce updated code that adapts the terminal application to use a second sequence of prompts.
    • The provider dialogue module modifies the second set of code (but not the instructions) to adapt the provider application for the modified dialogue.
  • The complaint reserves the right to assert other claims (Compl. ¶47).

Multi-Patent Capsule: U.S. Patent No. 10,261,774

  • Patent Identification: U.S. Patent No. 10,261,774, "Modification of Terminal and Service Provider Machines Using an Update Server Machine," issued April 16, 2019.
  • Technology Synopsis: This patent, part of the same family, claims a method for conducting a dialogue sequence between a terminal and service provider machine. It focuses on the terminal machine receiving "third code" (analogous to a dialogue module) that "modifies" its existing "first code" to produce an "updated code." This updated code adapts the terminal application to display a new prompt in a modified dialogue sequence, all while leaving the underlying executable instructions unchanged ('774 Patent, Abstract).
  • Asserted Claims: The complaint asserts at least independent claim 1 (Compl. ¶65).
  • Accused Features: The accused features are the Jo-Ann Stores mobile app and backend system. The complaint alleges that when the server sends data (e.g., JSON) to the app to update its content or prompts, this constitutes the claimed method of receiving and using code to modify the application's dialogue sequence (Compl. ¶¶67-70).

III. The Accused Instrumentality

Product Identification

  • The "Accused Instrumentalities" are collectively defined as the Jo-Ann Stores mobile applications for Android and iOS (the "Defendant app") and the associated backend systems, including servers, software, and computing devices that support the app's functionality (Compl. ¶7).

Functionality and Market Context

  • The Accused Instrumentality is an e-commerce platform that allows users to browse and purchase products via a mobile application. The complaint alleges that the system operates in a client-server model where the mobile app (the "terminal application") communicates with Defendant's servers (the "service provider machine"). A core accused function is the server sending data, identified as JSON, to the app. This data allegedly serves as a "terminal dialogue module" that dynamically alters the app's content and user prompts, for example, by displaying a list of recently viewed items for a user to interact with (Compl. ¶¶30, 34). The complaint alleges Defendant derives significant revenue from this system (Compl. ¶7).

IV. Analysis of Infringement Allegations

'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... The Jo-Ann Stores app for Android displays prompts to the user. The app allegedly consists of "computer-executable instructions" (the Android Runtime, ART) and "first code" (the app's bytecode). ¶30 col. 16:50-58
accepting a first data entry at the terminal machine... A user provides input to the app, such as by selecting a recently reviewed item to view or order. ¶31 col. 16:58-61
communicating information associated with the first data entry from the terminal machine to the service provider machine... The app communicates the user's input to the Defendant's backend server. ¶32 col. 17:1-9
receiving, at the terminal machine, a terminal dialogue module that updates at least a portion of the first code to produce first updated code... The app receives data, such as in JSON format, from the server. This data is alleged to be the "terminal dialogue module," and it allegedly updates the app's bytecode ("first code") to create "first updated code." ¶34 col. 17:15-22
wherein the first updated code adapts the terminal application to display a second prompt for the terminal machine's portion of a modified dialogue sequence with the service provider machine... The updated code, influenced by the received JSON, causes the app to display new or modified prompts, such as an updated list of recently reviewed items. ¶34 col. 17:20-25
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" as required by the claim. ¶34 col. 9:11-15

'571 Patent Infringement Allegations

Claim Element (from Independent Claim 2) Alleged Infringing Functionality Complaint Citation Patent Citation
an update server machine... operable for sending a terminal dialogue module to the terminal machine and a provider dialogue module to the service provider machine... The complaint alleges that either the user's device or the Defendant's server can function as the "update server machine," sending "dialogue modules" (e.g., JSON data or HTTP requests) to the other components of the system. ¶49 col. 17:59-67
wherein the terminal machine is configured to run a terminal application... comprising a first set of computer-executable instructions and a first set of code... A user's smartphone ("terminal machine") runs the Jo-Ann Stores app ("terminal application"), which allegedly comprises executable instructions (ART) and code (the app's bytecode). ¶50 col. 17:6-12
wherein the service provider machine is configured to run a provider application... comprising a second set of computer-executable instructions and a second set of code... Defendant's server ("service provider machine") runs a backend application (alleged to be a .Net application) comprising executable instructions (the Common Language Runtime, CLR) and code (the .Net program itself). ¶51 col. 17:13-22
wherein the terminal dialogue module modifies the first set of code to produce a first set of updated code wherein the first set of updated code adapts the terminal application to use a second sequence of prompts and a second sequence of data entries... Information sent from the server to the app (the "terminal dialogue module") allegedly modifies the app's bytecode ("first set of code") to produce updated code. This updated code then adapts the app to display a new sequence of prompts, such as when new items are added to a "recently reviewed" list. ¶52 col. 18:1-9
wherein the terminal dialogue module does not modify the first set of computer-executable instructions... The complaint alleges that the received information (e.g., JSON) does not modify the underlying executable instructions (e.g., the ART) on the terminal device. ¶52, p. 24 col. 18:9-11

Identified Points of Contention

  • Scope Questions: A primary question is whether standard, modern client-server communications using API calls and data formats like JSON constitute the specific, structured system of a "dialogue module" containing "code" as described in the patents. The defense may argue that the patents claim a specific architecture, while the plaintiff is attempting to read the claims onto conventional, non-infringing technology.
  • Technical Questions: The allegation that incoming JSON data "modifies" the application's bytecode raises a technical question. Does the Android Runtime's act of interpreting bytecode and processing JSON data to render a user interface constitute "modification" of the code itself, or is it merely the pre-existing, unmodified application logic processing data as intended? The factual evidence for actual modification of the bytecode will be a central point of dispute.
  • Scope Questions: The complaint's flexible identification of the "update server machine" as potentially being the user's device or the defendant's server (Compl. ¶49) may create ambiguity that the defense could challenge as failing to map the accused system to the claimed three-distinct-entity architecture.

V. Key Claim Terms for Construction

  • The Term: "code"

    • Context and Importance: This term's construction is fundamental. The infringement theory hinges on equating an application's bytecode with the claimed "code" and data like JSON with a "dialogue module" that modifies this "code". Practitioners may focus on this term because its definition will determine whether standard data-interchange formats fall within the claim's scope.
    • Intrinsic Evidence for a Broader Interpretation: The specification defines "code" as "at least some information that must be translated by the software application before it can be implemented on the machine processor" (’571 Patent, col. 4:21-25). This could be interpreted broadly to cover any non-native instruction set, including bytecode that is interpreted by a runtime.
    • Intrinsic Evidence for a Narrower Interpretation: The patent repeatedly uses "Java Byte Code" as a primary example ('571 Patent, col. 8:30-32), suggesting the term may be limited to intermediate languages for a virtual machine, not any data that influences application behavior. The clear distinction from "computer-executable instructions" further supports that it is a specific type of interpretable program language.
  • The Term: "dialogue module"

    • Context and Importance: The plaintiff alleges that a JSON data packet is a "dialogue module". The viability of this assertion depends on the term's construction. The complaint highlights a prior judicial construction holding that the term refers to a "particular type of structure rather than to any structure for performing a function" (Compl. ¶20, Ex. D at 12).
    • Intrinsic Evidence for a Broader Interpretation: The specification, as cited in the prior construction, notes a "dialogue module" "can contain code or other data and can be communicated" (Compl. ¶20). This supports the plaintiff's view that a structured data packet like a JSON object fits the definition.
    • Intrinsic Evidence for a Narrower Interpretation: Patent Figure 1 depicts the "DIALOGUE MODULE" (106) as a discrete component within the "UPDATE SERVER MACHINE" (102). This could support an argument that the term requires a pre-packaged module from a dedicated update entity, not a dynamic API response from a general-purpose service provider server.

VI. Other Allegations

  • Indirect Infringement: The complaint alleges inducement based on Defendant's marketing and distribution of the accused app with instructions for users to download and operate it in an infringing manner (Compl. ¶¶40, 58). Contributory infringement is alleged on the basis that the accused system is not a staple article of commerce and is especially adapted for infringement (Compl. ¶¶41, 59).
  • Willful Infringement: Willfulness is alleged based on Defendant's knowledge of the patents "at least since the filing of this complaint" (Compl. ¶¶27, 46, 64), creating a basis for potential post-filing willful infringement.

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

  • A core issue will be one of definitional scope: can the patent's specific architectural language—a three-entity system using "dialogue modules" containing "code" to "modify" an application's "code"—be construed to cover a conventional two-tier client-server system where a mobile app simply requests and displays data received from a server?
  • A key evidentiary question will be one of technical mechanism: does the accused system's act of processing JSON data to alter a user display constitute "modification" of the application's bytecode as claimed, or is it merely the runtime engine executing its existing, unmodified logic on new data? The case may depend on whether the plaintiff can prove a functional modification of the code itself, rather than just a change in the data being processed.
  • A central legal question will be the impact of prior litigation: how will the claim constructions from the Unikey case, particularly for "dialogue module," be applied in this context? Plaintiff will likely leverage the "structure" finding to support its theory, while Defendant may argue that the specific accused technology here—a standard mobile app architecture—is factually distinct and not covered by that prior ruling.