6:23-cv-00642
S3G Technology LLC v. Foot Locker Inc
I. Executive Summary and Procedural Information
- Parties & Counsel:
- Plaintiff: S3G Technology LLC (California)
- Defendant: Foot Locker, Inc. (New York)
- Plaintiff’s Counsel: PARKER, BUNT & AINSWORTH, P.C.
- Case Identification: 6:23-cv-00642, W.D. Tex., 09/01/2023
- Venue Allegations: Plaintiff alleges venue is proper in the Western District of Texas because Defendant maintains a regular and established place of business in the district, specifically a retail store in Waco, Texas.
- Core Dispute: Plaintiff alleges that Defendant’s customer-facing mobile applications infringe patents related to a system for efficiently modifying software on remote devices by transmitting small data modules rather than complete application updates.
- Technical Context: The technology addresses bandwidth and efficiency challenges in updating software on networked devices, such as mobile phones, by separating an application’s core executable instructions from modifiable "code" that governs specific dialogue sequences.
- Key Procedural History: The complaint notes that terms central to the asserted patents—including "code" and "dialogue module"—were construed in prior litigation involving the patent family. It also references the patent prosecution history, noting an Examiner's finding that the claimed software structure was not obvious over the prior art.
Case Timeline
| Date | Event |
|---|---|
| 2009-07-23 | Earliest Priority Date for Asserted Patents |
| 2015-07-14 | U.S. Patent No. 9,081,897 Issues |
| 2018-04-10 | U.S. Patent No. 9,940,124 Issues |
| 2020-11-10 | U.S. Patent No. 10,831,468 Issues |
| 2023-08-17 | Accused App Last Updated Date |
| 2023-09-01 | 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”
The Invention Explained
- Problem Addressed: The patent addresses the difficulty of distributing large, newly compiled software updates to a multitude of remote devices, a problem exacerbated by the limited bandwidth of wireless networks (’897 Patent, col. 2:36-55; Compl. ¶¶13-14). Transmitting an entire updated application is often slow, costly, and inefficient (Compl. ¶12).
- The Patented Solution: The invention proposes a three-part system architecture comprising a "terminal machine" (e.g., a user's device), a "service provider machine" (e.g., a back-end server), and an "update server machine" (’897 Patent, fig. 1; Compl. ¶15). Instead of sending a full application update, the update server sends a small "dialogue module" containing "code"—defined as information that must be translated by the application before execution. This module modifies the application's behavior without altering the underlying, pre-compiled "computer-executable instructions" that run directly on the processor (’897 Patent, col. 4:24-31; Compl. ¶¶16, 19). Figure 1 of the patent, included in the complaint, illustrates this three-entity communication structure (Compl. p. 7).
- Technical Importance: This architectural approach is intended to reduce network bandwidth utilization, thereby enabling more efficient modification and customization of applications running on remote devices (Compl. ¶23).
Key Claims at a Glance
- The complaint asserts at least independent claim 1 (Compl. ¶28).
- Essential elements of claim 1, a method claim, include:
- Displaying a first prompt on a terminal machine via a terminal application comprising first computer-executable instructions and first code.
- Accepting a first data entry at the terminal machine.
- Communicating information from the terminal machine to a service provider machine running a provider application comprising second computer-executable instructions and second code.
- Storing at least a portion of the information in memory for analysis.
- Receiving, at the terminal machine, a terminal dialogue module that updates a portion of 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, and first updated code comprise intermediate code.
U.S. Patent No. 10,831,468 - “Modification of Terminal and Service Provider Machines Using an Update Server Machine”
The Invention Explained
- Problem Addressed: As a continuation of the same patent family, the ’468 Patent addresses the same technical problem of inefficiently distributing large software updates over bandwidth-constrained networks (’468 Patent, col. 2:36-55; Compl. ¶¶13-14).
- The Patented Solution: The solution is the three-entity system described previously, which uses small dialogue modules to modify translatable "code" while leaving the core "computer-executable instructions" unchanged (’468 Patent, col. 4:28-31, fig. 2; Compl. ¶¶15-17). Figure 2 of the patent, reproduced in the complaint, depicts the software structure, distinguishing between executable instructions (214, 224) and code (212, 222) within the applications (Compl. p. 7).
- Technical Importance: The system is designed to enable efficient application modification, reducing network load and improving design flexibility for systems with numerous remote clients (Compl. ¶23).
Key Claims at a Glance
- The complaint asserts at least independent claim 1 (’468 Patent, col. 41:26-42:21; Compl. ¶47).
- Essential elements of claim 1, a method claim, include:
- Displaying a first prompt via a terminal application comprising first computer-executable instructions and first code, where the first code comprises information to be translated.
- Receiving entry of first data.
- Communicating information to a provider application comprising second computer-executable instructions and second code.
- Receiving, at the terminal machine, third code that replaces or supplements at least a portion but not all of the first code to produce first updated code.
- The first updated code adapts the terminal application to conduct a modified dialogue sequence.
- The third code is received after the terminal machine satisfies a trigger condition.
- The third code is received from an update server machine separate from the terminal and service provider machines.
- The terminal and service provider machines include different types of processors, such that the first computer-executable instructions cannot be executed on the service provider machine, and vice-versa.
U.S. Patent No. 9,081,897 - “Modification of Terminal and Service Provider Machines Using an Update Server Machine”
Technology Synopsis
This patent, the parent of the others asserted, discloses a three-part system (update server, terminal machine, service provider machine) for modifying software applications. The system avoids sending large, fully recompiled applications by instead sending small "dialogue modules" that modify only the interpretable "code" portion of an application, leaving the core executable instructions intact to conserve bandwidth.
Asserted Claims
Claim 1 (Compl. ¶71).
Accused Features
The complaint accuses the overall system architecture, comprising the user's mobile device (terminal machine) running the app, Defendant's back-end server (service provider machine), and an "update server" (alleged to be the device initiating a session or the Defendant's server itself). The system is accused of sending data like saved order information ("dialogue modules") to modify application behavior ("code") (Compl. ¶¶72-76).
III. The Accused Instrumentality
Product Identification
The "Accused Instrumentalities" are Defendant’s Champs Sports and Foot Locker mobile applications for Android and iOS, along with the supporting back-end systems, including servers and software (Compl. ¶7).
Functionality and Market Context
The accused applications function as e-commerce platforms, allowing users to interact with Defendant's servers (Compl. ¶36). The functionality specifically identified as infringing involves a dialogue where a user can review, edit, and delete "saved order items" (Compl. ¶30). The complaint alleges that information about these saved items is communicated from the Defendant's server to the user's mobile app in JSON format, which allegedly constitutes the claimed "terminal dialogue module" (Compl. ¶34). The complaint alleges Defendant derives significant revenue from these applications (Compl. ¶7).
IV. Analysis of Infringement Allegations
9,940,124 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 Defendant app (terminal application) on a user's smartphone (terminal machine) prompts a user with saved order items. The app allegedly comprises computer-executable instructions (Android Runtime) and code (the app's bytecode). | ¶30 | col. 7:45-50 |
| accepting a first data entry at the terminal machine | A user selects, edits, or deletes a saved order item within the app. | ¶31 | col. 4:14-16 |
| communicating information associated with the first data entry from the terminal machine to the service provider machine | The user's selections regarding saved order items are communicated from the mobile app to the Defendant's server (service provider machine). | ¶32 | col. 4:17-20 |
| 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 mobile app receives information from the server (e.g., in JSON format) about a saved order item, which allegedly constitutes a "terminal dialogue module" that updates the app's bytecode ("first code") to produce updated code. | ¶34 | col. 4:24-31 |
| 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 code allows the user to access new saved order items, which constitutes a second prompt in a modified dialogue. | ¶34 | col. 8:50-58 |
10,831,468 Infringement Allegations
| Claim Element (from Independent Claim 1) | Alleged Infringing Functionality | Complaint Citation | Patent Citation |
|---|---|---|---|
| displaying a first prompt ... the terminal application comprising first computer-executable instructions and first code that conduct the terminal machine's portion of a dialogue sequence ... wherein the first code comprises information to be translated | The Defendant app displays saved orders to a user. The app allegedly consists of executable instructions (Android Runtime) and code (app program) that requires translation. | ¶49 | col. 7:31-41 |
| receiving, at the terminal machine, third code that replaces or supplements at least a portion but not all of the first code to produce first updated code | Information sent from the Defendant's server (e.g., in JSON format) is received by the app. This is alleged to be "third code" that supplements the app's existing code. | ¶52 | col. 8:43-49 |
| wherein the receiving the third code is performed after the terminal machine satisfies a trigger condition | The "third code" is allegedly received after a user action, such as connecting to the network or accessing the Defendant app, which satisfies a trigger condition. | ¶54 | col. 9:40-44 |
| wherein the third code is received from an update server machine that is separate and distinct from the terminal machine and the service provider machine | The "third code" is allegedly received from an "update server machine," which the complaint identifies as a separate device (e.g., another smartphone) accessing the system. | ¶55 | col. 3:39-44 |
| wherein the terminal machine and the service provider machine include different types of processors | The user's mobile device (e.g., using an ARM-based Snapdragon processor) and the Defendant's server (e.g., using an x86 processor) have different processor architectures. | ¶56 | col. 1:41-45 |
Identified Points of Contention
- Architectural Questions: The complaint's theory appears to map a conventional two-tier client-server architecture onto the patents' three-entity (terminal, service provider, update server) structure. A potential point of contention is whether the roles of "service provider machine" and "update server machine" are truly separate and distinct in the accused system as required by the claims, or if the complaint conflates them by alleging both can be the Defendant's server (Compl. ¶73).
- Scope Questions: A central dispute may arise over whether standard data interchange formats, such as the alleged JSON data for "saved order items" (Compl. ¶34), meet the patents' definition of a "dialogue module," which a prior court construed as a "particular type of structure" containing "code or instructions" (Compl. ¶¶19-20).
- Technical Questions: The complaint alleges a specific technical separation between "computer-executable instructions" (e.g., Android Runtime) and "code" (e.g., app bytecode) (Compl. ¶30). A key question will be whether this distinction holds true in the operation of the accused apps, or if it is an artificial mapping of claim terms onto the components of a modern mobile operating system.
V. Key Claim Terms for Construction
The Term: "code"
Context and Importance
The patents' core inventive concept relies on modifying "code" (which must be translated) without touching the underlying "computer-executable instructions." The infringement case depends on mapping this term to elements like application bytecode (Compl. ¶30). Practitioners may focus on whether "code" as used in the patent refers to any interpreted language or a specific, purpose-built data structure for dialogue modification.
Intrinsic Evidence for Interpretation
- Evidence for a Broader Interpretation: The specification states, "[t]he code represents at least some information that must be translated by the software application before it can be implemented on the machine processor" (’468 Patent, col. 4:28-31). This language could support a broad definition encompassing any data or script that is not directly machine-executable.
- Evidence for a Narrower Interpretation: The same sentence could be read to require that the "software application" itself performs the translation, potentially excluding interpretation by a general-purpose, OS-level runtime engine like Android's ART. The Abstract consistently distinguishes "computer-executable instructions" from "code," suggesting they are structurally distinct components of the patented application design (’468 Patent, Abstract).
The Term: "update server machine"
Context and Importance
The system claims of the ’897 patent and method claims of the ’468 patent require an "update server machine" that is distinct from the terminal and service provider machines. The complaint's infringement theory alleges this role can be fulfilled by various devices, including the Defendant's own server (Compl. ¶73), which is also alleged to be the "service provider machine." The viability of the infringement claim may depend on whether a single entity can embody two distinct claim elements.
Intrinsic Evidence for Interpretation
- Evidence for a Broader Interpretation: The claims do not explicitly forbid one physical machine from hosting logically separate functions. Plaintiff may argue that any machine that performs the function of sending the dialogue module is acting as the "update server machine" for purposes of that step.
- Evidence for a Narrower Interpretation: Figure 1, which illustrates the system, depicts the "UPDATE SERVER MACHINE" (102), "SERVICE PROVIDER MACHINE" (110), and "TERMINAL MACHINE" (120) as three structurally separate boxes, suggesting they are distinct entities (’468 Patent, fig. 1). The ’897 patent's system claim 1 recites "one or more update server machines," "one or more terminal machines," and "one or more service provider machines" as separate components of the system.
VI. Other Allegations
Indirect Infringement
The complaint alleges inducement by Defendant's acts of marketing the Accused Instrumentalities and encouraging users to download and run the mobile apps, allegedly with the knowledge and intent that doing so would infringe (Compl. ¶¶40, 64, 82). It alleges contributory infringement on the basis that the accused apps are not staple articles of commerce and are especially adapted for use in an infringing manner (Compl. ¶¶41, 65, 83).
Willful Infringement
Willfulness allegations are premised on knowledge of the patents "at least since the filing of this complaint," suggesting a theory based on post-suit conduct (Compl. ¶¶27, 46, 70).
VII. Analyst’s Conclusion: Key Questions for the Case
- A core issue will be one of architectural mapping: can a standard two-tier mobile commerce system (client app and back-end server) be mapped onto the patents' specific three-entity architecture (terminal, service provider, update server), or does this theory impermissibly conflate the distinct roles required by the claims?
- A second key issue will be one of definitional scope: does generic data sent from a server to an app, such as order information in a JSON format, constitute the specific "dialogue module" structure claimed in the patents, and does general-purpose application bytecode meet the definition of the claimed "code" designed for modification?
- A final question will be one of technical separation: does the accused system in fact operate by modifying only a "code" layer while leaving "computer-executable instructions" untouched, as required by the claims, or is this a constructed narrative that does not reflect the integrated operation of modern mobile applications and runtimes?