6:24-cv-00059
S3G Technology LLC v. TJX Companies Inc
I. Executive Summary and Procedural Information
- Parties & Counsel:
- Plaintiff: S3G Technology LLC (California)
- Defendant: The TJX Companies, Inc. (Delaware)
- Plaintiff’s Counsel: Parker, Bunt & Ainsworth, P.C.
- Case Identification: 6:24-cv-00059, W.D. Tex., 01/31/2024
- Venue Allegations: Plaintiff alleges venue is proper in the Western District of Texas because Defendant has a regular and established place of business in the district, specifically a Marshalls retail store in Waco, and commits acts of infringement there, such as by distributing its mobile applications and providing mobile ordering services to customers in the district.
- Core Dispute: Plaintiff alleges that Defendant’s mobile e-commerce applications and associated backend server systems infringe three patents related to methods for efficiently modifying software on remote devices.
- Technical Context: The technology addresses the challenge of updating distributed software applications, such as mobile apps on smartphones, over networks with limited bandwidth by sending small packets of data to alter application behavior rather than transmitting entirely new versions of the application.
- Key Procedural History: The complaint notes an extensive litigation history involving the asserted patent family against numerous other defendants. It specifically cites claim constructions from a prior case, S3G Tech. LLC v. Unikey Techs., Inc. (E.D. Tex.), for key terms including “dialogue module” and the distinction between “code” and “computer-executable instructions.” The complaint also references the prosecution history, quoting an Examiner’s statement of reasons for allowance that distinguished the claimed inventions from the prior art.
Case Timeline
| Date | Event |
|---|---|
| 2009-07-23 | Earliest Priority Date ('571', '124', '140' Patents) |
| 2013-10-29 | '571 Patent Issued |
| 2018-04-10 | '124 Patent Issued |
| 2019-08-20 | '140 Patent Issued |
| 2023-06-15 | Accused Marshalls Apps Last Updated |
| 2024-01-31 | Complaint Filed |
II. Technology and Patent(s)-in-Suit Analysis
U.S. Patent No. 8,572,571 - "Modification of Terminal and Service Provider Machines Using an Update Server Machine"
- Patent Identification: U.S. Patent No. 8,572,571, issued October 29, 2013.
The Invention Explained
- Problem Addressed: The patent’s background describes the difficulty of distributing large, newly compiled software updates to numerous, geographically dispersed devices, particularly over wireless networks with limited bandwidth and slow transfer rates (Compl. ¶¶ 13-14; '571 Patent, col. 2:35-52).
- The Patented Solution: The invention proposes a three-part system comprising a terminal machine (e.g., a mobile device), a service provider machine (e.g., a server), and an update server machine ('571 Patent, Fig. 1). To update an application, the update server sends a small "dialogue module" containing "code"—defined as information that must be translated before execution—to the terminal or service provider machine. This module modifies only the application's "code" to alter its behavior or dialogue sequence, leaving the larger, underlying "computer-executable instructions" (which run directly on the processor) untouched, thus avoiding a large data transfer (Compl. ¶¶ 15-16; '571 Patent, col. 4:21-25).
- Technical Importance: This architectural separation allows for lightweight, efficient updates to application logic and user flow without requiring the replacement of the entire software application, conserving network resources (Compl. ¶ 24; '571 Patent, col. 6:47-49).
Key Claims at a Glance
- The complaint asserts at least claim 2, which depends on independent claim 1 (Compl. ¶ 31).
- Claim 2 recites a system comprising:
- An update server machine operable for sending a terminal dialogue module and a provider dialogue module.
- A terminal machine running a terminal application, which itself 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.
- Wherein the terminal dialogue module modifies the first set of code but not the first set of computer-executable instructions.
- Wherein the provider dialogue module modifies the second set of code but not the second set of computer-executable instructions.
- The complaint reserves the right to assert other claims (Compl. ¶ 31).
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, issued April 10, 2018.
The Invention Explained
- Problem Addressed: Similar to the '571 Patent, this patent addresses the inefficiency of distributing full software application updates to remote devices over bandwidth-constrained networks (Compl. ¶¶ 12-14; ’124 Patent, col. 2:20-53).
- The Patented Solution: The patent claims a method of conducting a dialogue between a terminal and a service provider. The method involves the terminal machine receiving a "terminal dialogue module" that "updates at least a portion of the first code to produce first updated code." This updated code then adapts the terminal application to display a new prompt as part of a modified dialogue sequence, with the patent noting that the "code" is "intermediate code" that must be translated or interpreted (’124 Patent, Abstract; col. 8:50-54).
- Technical Importance: The method provides a way to dynamically alter a remote application's interactive flow by transmitting only the logic for the change, rather than a completely new application binary (Compl. ¶ 24; ’124 Patent, col. 6:13-20).
Key Claims at a Glance
- The complaint asserts at least independent claim 1 (Compl. ¶ 49).
- Claim 1 recites a method comprising the steps of:
- Displaying a first prompt via a terminal application comprising first computer-executable instructions and first code.
- Accepting a first data entry.
- Communicating information from the terminal machine to a service provider machine.
- Receiving, at the terminal machine, a terminal dialogue module that updates the first code to produce first updated code.
- The first updated code adapts the terminal application to display a second prompt for a modified dialogue sequence.
- At least one of the first code, second code (on the provider machine), and first updated code comprises intermediate code.
- The complaint reserves the right to assert other claims (Compl. ¶ 49).
U.S. Patent No. 10,387,140 - "Modification of Terminal and Service Provider Machines Using an Update Server Machine"
- Patent Identification: U.S. Patent No. 10,387,140, issued August 20, 2019.
- Technology Synopsis: The ’140 Patent claims a method for conducting a dialogue sequence where a terminal machine receives "third code" from a separate update server in response to a trigger condition. This received code modifies the application's "first code" to produce "first updated code," which in turn adapts the application to conduct a modified dialogue with the service provider machine, solving the problem of transmitting large executables for minor updates (’140 Patent, Abstract; Compl. ¶¶ 74-75).
- Asserted Claims: At least independent claim 1 (Compl. ¶ 68).
- Accused Features: The accused features involve the Defendant's system sending information, alleged to be "third code," from a server to a user's mobile device. This occurs in response to user action, such as accessing the app, and modifies the application's dialogue by, for example, allowing access to a new favorite item (Compl. ¶¶ 74-75).
III. The Accused Instrumentality
Product Identification
- The "Marshalls Official" and "T.J. Maxx" mobile applications for Android and iOS, along with the supporting backend server systems that facilitate their operation (collectively, the "Accused System") (Compl. ¶¶ 5, 7, fn. 3).
Functionality and Market Context
- The Accused System provides a mobile e-commerce platform allowing users to browse products and manage account information, including a "favorite item (list)" (Compl. ¶¶ 33-34, 51). The complaint alleges that when a user interacts with features like the favorites list, the Defendant's server sends data (e.g., in JSON format) to the mobile application. This data allegedly modifies the application's behavior and interactive sequence without requiring a full update from an app store (Compl. ¶¶ 15, 36, 55).
- The complaint alleges that Defendant derives significant revenue from the promotion and use of these applications within the judicial district and elsewhere (Compl. ¶¶ 4, 7).
No probative visual evidence provided in complaint.
IV. Analysis of Infringement Allegations
'571 Patent Infringement Allegations
| Claim Element (from Independent Claim 1, incorporated into Claim 2) | Alleged Infringing Functionality | Complaint Citation | Patent Citation |
|---|---|---|---|
| an update server machine ... operable for sending a terminal dialogue module ... and a provider dialogue module | The Accused System includes an update server (identified as either the user's device or Defendant's server) that sends "dialogue modules" (e.g., data for a favorite item list) to the terminal and provider machines. | ¶33 | col. 5:10-20 |
| a terminal machine ... configured to run a terminal application, the terminal application comprising a first set of computer-executable instructions and a first set of code | The user's Android device ("terminal machine") runs the Defendant app ("terminal application"). The Android Runtime (ART) is alleged to be the "first set of computer-executable instructions," and the app's bytecode is the "first set of code." | ¶34 | col. 7:40-45 |
| a service provider machine ... configured to run a provider application, the provider application comprising a second set of computer-executable instructions and a second set of code | Defendant's server ("service provider machine") runs a server application (e.g., a .Net application). The Common Language Runtime (CLR) engine is alleged to be the "second set of computer-executable instructions," and the .Net program is the "second set of code." | ¶35 | col. 7:55-65 |
| the terminal dialogue module does not modify the first set of computer-executable instructions [and] the provider dialogue module does not modify the second set of computer-executable instructions | The received data for the favorite item list allegedly modifies the app's bytecode and the server's .Net program but does not modify the underlying ART or CLR engine. | ¶36, 19 | col. 8:44-52 |
- Identified Points of Contention:
- Scope Questions: A central question may be whether sending user-specific data, such as a "favorite item (list)" in a JSON object, constitutes "sending a terminal dialogue module" as contemplated by the patent. The dispute may focus on whether such data packets possess the structural and functional characteristics of the claimed "module," which modifies "code," or if they are merely data being processed by an existing application.
- Technical Questions: The complaint's infringement theory rests on a specific technological mapping: that an operating environment like the Android Runtime (ART) is the claimed "computer-executable instructions," while the application's bytecode is the "code." The case may turn on whether this distinction is technically valid in the context of the accused system and whether the incoming data actually "modifies" the bytecode, as opposed to the bytecode simply interpreting the new data using its pre-existing logic.
'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 comprising first computer-executable instructions and first code | The Defendant app displays prompts for users to create or review a favorite item list; the app is alleged to comprise the Android Runtime (instructions) and the app's bytecode (code). | ¶51 | col. 11:5-13 |
| receiving, at the terminal machine, a terminal dialogue module that updates at least a portion of the first code to produce first updated code | Information sent from Defendant's server (e.g., JSON data) is alleged to be the "terminal dialogue module." This module is alleged to update the app's bytecode ("first code") to create "first updated code." | ¶55 | col. 7:46-55 |
| 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 | The updated bytecode allegedly enables the app to display a new or modified favorite item list, which constitutes the "second prompt" in a "modified dialogue sequence." | ¶55 | col. 7:46-55 |
| 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," satisfying this limitation. | ¶55, 26 | col. 8:50-54 |
- Identified Points of Contention:
- Scope Questions: The analysis may focus on whether the accused functionality—an application receiving and displaying data from a server—constitutes "receiving a terminal dialogue module that updates" the application's code. A potential dispute is whether this describes a standard data-driven application or the specific code-modification process claimed by the patent.
- Technical Questions: An evidentiary question will be what proof exists that the app's bytecode is actually "updated" in the manner claimed. The analysis will likely require distinguishing between an application whose executable logic is altered by an incoming module versus an application whose static logic processes variable incoming data.
V. Key Claim Terms for Construction
The Term: "code"
Context and Importance: This term is foundational to the patent's purported distinction from conventional software updates. The infringement theory depends on establishing that the accused app's bytecode is "code" (which is modified), while the underlying runtime environment (ART/CLR) is "computer-executable instructions" (which are not). Practitioners may focus on this term because its construction will determine whether the accused client-server architecture can be mapped to the claims.
Intrinsic Evidence for Interpretation:
- Evidence for a Broader Interpretation: The specification defines the term 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 encompass any form of interpreted script or data that directs program flow, potentially including the bytecode alleged by the complaint.
- Evidence for a Narrower Interpretation: The context of the patent, which describes modifying "dialogue protocol" and sequences of prompts, could support a narrower reading where "code" implies a more structured set of programmatic instructions rather than user-specific data like a favorites list. The complaint itself references a prior construction ("information that must be translated...") which remains subject to interpretation in the specific context of the accused system (Compl. ¶ 16).
The Term: "dialogue module"
Context and Importance: Plaintiff's infringement case characterizes a data packet containing a "favorite item (list)" as a "dialogue module." The definition of this term is therefore critical to determining whether the accused data transmissions meet this claim limitation.
Intrinsic Evidence for Interpretation:
- Evidence for a Broader Interpretation: The complaint cites a prior construction from related litigation: “code or instructions related to a dialogue sequence” (Compl. ¶ 18). Plaintiff may argue that a favorites list constitutes "code or instructions" because it directly relates to the user's dialogue for browsing and purchasing items.
- Evidence for a Narrower Interpretation: The same prior court decision is quoted as stating a "dialogue module" is a "particular type of structure rather than to any structure for performing a function" (Compl. ¶ 20). A defendant could argue that a standard JSON data object lacks the specific, unique "structure" implied by the patent's description of a module designed to replace or supplement existing application code to alter its fundamental behavior (’571 Patent, col. 8:44-52).
VI. Other Allegations
- Indirect Infringement: The complaint alleges inducement by asserting that Defendant instructs and encourages end-users to download and operate the infringing applications in connection with its servers (Compl. ¶¶ 42, 61, 85). Contributory infringement is alleged on the basis that the accused applications are not staple articles of commerce and are specially adapted to infringe when used as intended with Defendant's system (Compl. ¶¶ 43, 62, 86).
- Willful Infringement: Willfulness allegations appear to be based on knowledge of the patents acquired "at least since the filing of this complaint," which would support a claim for post-suit willful infringement (Compl. ¶¶ 30, 48, 67). The complaint does not allege pre-suit knowledge.
VII. Analyst’s Conclusion: Key Questions for the Case
- A core issue will be one of definitional scope: can the patent terms "code" and "dialogue module," which describe a specific architecture for updating application logic, be construed to cover a conventional client-server model where a mobile app receives and processes user-specific data (such as a favorites list) from a backend server?
- A key evidentiary question will be one of technical implementation: what is the precise mechanism of interaction between the accused mobile applications and servers? The case will likely require detailed expert analysis to determine whether incoming data actually "modifies" the application's bytecode, as alleged, or if the application's existing, unmodified logic is simply interpreting new data, a distinction that may be dispositive for infringement.