I. Executive Summary and Procedural Information
- Parties & Counsel:
- Case Identification: 6:24-cv-00268, W.D. Tex., 05/20/2024
- Venue Allegations: Plaintiff alleges venue is proper because Defendant maintains a regular and established place of business within the district, specifically a physical store located in Harker Heights, Texas.
- Core Dispute: Plaintiff alleges that Defendant’s mobile applications and associated server infrastructure infringe three patents related to methods for efficiently modifying software applications on remote devices.
- Technical Context: The technology addresses updating distributed software applications by sending small "dialogue modules" to modify application behavior, rather than transmitting large, complete software updates, a method particularly relevant for bandwidth-constrained networks.
- Key Procedural History: The complaint asserts that terms from the asserted patents were previously construed in related litigation (S3G Tech. LLC v. Unikey Techs., Inc.). It also notes that the U.S. Patent and Trademark Office allowed the patents over prior art and subject matter eligibility contentions during prosecution.
Case Timeline
| Date |
Event |
| 2009-07-23 |
Earliest Priority Date for ’124, ’774, and ’995 Patents |
| 2018-04-10 |
’124 Patent Issued |
| 2019-04-16 |
’774 Patent Issued |
| 2023-05-30 |
’995 Patent Issued |
| 2024-04-25 |
Accused Apps Last Updated Date |
| 2024-05-20 |
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 on April 10, 2018 (Compl. ¶10).
The Invention Explained
- Problem Addressed: The patent addresses the difficulty and inefficiency of distributing large software application updates to a multitude of remote devices, particularly over wireless networks with limited bandwidth, which can be slow and economically infeasible (Compl. ¶¶13-15; ’774 Patent, col. 2:35-56).
- 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 (Compl. ¶16; ’774 Patent, Fig. 1). Instead of sending a full application replacement, the update server sends small "dialogue modules" containing "code"—defined as information that must be translated before execution—to the terminal and provider machines. These modules alter the application's interactive dialogue sequence without replacing the underlying, pre-compiled computer-executable instructions, thereby conserving network resources (Compl. ¶¶17-19; ’774 Patent, col. 4:40-43). The complaint includes a system diagram illustrating the communication between the three machines (Compl. p. 8, FIG. 1).
- Technical Importance: This method of modular, partial updates was designed to reduce network bandwidth consumption, allowing for more efficient modification of applications on remote devices in an era of expanding but still-constrained mobile data networks (Compl. ¶25; ’774 Patent, col. 6:58-60).
Key Claims at a Glance
- The complaint asserts direct infringement of at least independent claim 1 (Compl. ¶32).
- While claim 1 of the ’124 Patent is a system claim for an "update server machine," the complaint's allegations are structured as a method of use. The essential alleged steps, which mirror method claim 1 of the related ’774 Patent, include:
- Displaying a first prompt via a terminal application comprising first computer-executable instructions and first code.
- Accepting a first data entry at the terminal machine.
- Communicating information to a service provider machine running a provider application comprising second computer-executable instructions and second code.
- Receiving a terminal dialogue module at the terminal machine 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.
- The complaint does not explicitly reserve the right to assert dependent claims for this patent.
U.S. Patent No. 10,261,774 - “Modification of Terminal and Service Provider Machines Using an Update Server Machine”
- Patent Identification: U.S. Patent No. 10,261,774, titled “Modification of Terminal and Service Provider Machines Using an Update Server Machine,” issued on April 16, 2019 (Compl. ¶11).
The Invention Explained
- Problem Addressed: The ’774 patent, which is a continuation of the application that led to the ’124 patent, addresses the same technical problem of inefficiently updating software on remote, networked devices (’774 Patent, col. 2:15-67).
- The Patented Solution: The patented solution is functionally identical to that of the ’124 patent, involving a three-entity system that uses small "dialogue modules" containing translatable "code" to modify application behavior without replacing the core computer-executable instructions (’774 Patent, Abstract, Fig. 1). The complaint includes a diagram from the patent showing the structure of the terminal and service provider applications, each comprising computer-executable instructions and translatable code (Compl. p. 8, FIG. 2).
- Technical Importance: The invention provides a method for reducing bandwidth consumption during software updates, enabling more efficient modification of applications distributed across networks with limited data transfer capacity (Compl. ¶25; ’774 Patent, col. 6:58-60).
Key Claims at a Glance
- The complaint asserts direct infringement of at least independent claim 1 (Compl. ¶51).
- Independent claim 1 is a method claim comprising the following essential elements:
- Displaying a first prompt on a terminal display by running a terminal application, the application comprising first computer-executable instructions and first code.
- Accepting a first data entry at the terminal machine associated with the first prompt.
- Communicating information from the terminal machine to a service provider machine that uses a provider application comprising second computer-executable instructions and second code.
- Receiving, at the terminal machine, third code that modifies 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 for a modified dialogue sequence.
- 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 on May 30, 2023 (Compl. ¶12).
- Technology Synopsis: This patent claims a method for conducting a dialogue sequence between at least two different user devices, facilitated by one or more provider applications. The method involves receiving "code" from a first user device that supplements code on the provider application, which adapts the application to facilitate the dialogue between the first and second user devices. This update occurs during continuous operation and without the server having to request the new code (Compl. ¶¶70, 73).
- Asserted Claims: At least claim 1 is asserted (Compl. ¶69).
- Accused Features: The complaint alleges infringement through the interaction between Defendant's website (a first user device) and its mobile app (a second user device). A user saving a "favorite item" on the website is alleged to send code to the Defendant's server, which adapts the server application to then facilitate the dialogue with the mobile app regarding that item (Compl. ¶¶71-73).
III. The Accused Instrumentality
Product Identification
The accused instrumentalities are Defendant’s 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 (collectively, the “Accused System”) (Compl. ¶8).
Functionality and Market Context
The Accused System provides an e-commerce platform allowing users to manage account information, such as reviewing, ordering, editing, or deleting "favorite" items (Compl. ¶¶34, 53). The Defendant app on a user's device (the "terminal machine") communicates with Defendant's servers (the "service provider machine"). User interactions on the app, such as managing a favorites list, involve data exchange that modifies the app's subsequent display and behavior based on information received from the server (Compl. ¶¶36, 38, 55-56). The complaint alleges that Defendant derives significant revenue from the promotion and distribution of these services through the Accused Instrumentalities (Compl. ¶¶4, 8).
IV. Analysis of Infringement Allegations
9,940,124 Patent Infringement Allegations
| Claim Element (from method analogous to 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 for Android displays prompts to the user, such as a list of favorite items. The app allegedly comprises the Android Runtime (ART) as "computer-executable instructions" and the app’s bytecode as "first code." |
¶34 |
col. 7:56-61 |
| accepting a first data entry at the terminal machine... |
The user interacts with the app, for example, to review or order favorite items, which constitutes accepting data entry. |
¶35 |
col. 8:36-44 |
| communicating information...to the service provider machine...uses a provider application comprising second computer-executable instructions and second code... |
Information from the app is sent to Defendant's server. The server application is alleged to be a .Net application, comprising the Common Language Runtime (CLR) as "second computer-executable instructions" and the .Net program as "second code." |
¶36 |
col. 7:22-34 |
| receiving, at the terminal machine, a terminal dialogue module that updates at least a portion of the first code to produce first updated code... |
When a user's favorite items change, information (e.g., in JSON format) is sent from the server to the app. This is alleged to be a "terminal dialogue module" that updates the app's bytecode to produce updated code. |
¶38 |
col. 8:63-9:3 |
| ...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 adapts the app to display a new or modified list of favorite items, which constitutes a second prompt in a modified dialogue sequence. |
¶38 |
col. 9:4-9 |
10,261,774 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 Defendant app for Android displays prompts to the user, such as a list of favorite items. The app allegedly comprises the Android Runtime (ART) as "first computer-executable instructions" and the app’s bytecode as "first code." |
¶53 |
col. 15:50-58 |
| accepting a first data entry at the terminal machine, wherein the first data entry is associated with the first prompt. |
The user interacts with the app, for example, to review or edit favorite items, which constitutes accepting a first data entry. |
¶54 |
col. 15:59-62 |
| communicating information associated with the first data entry from the terminal machine to the service provider machine...uses a provider application comprising second computer-executable instructions and second code... |
Information from the app is communicated to Defendant's server. The server application is alleged to be a .Net application, comprising the Common Language Runtime (CLR) as "second computer-executable instructions" and the .Net program as "second code." |
¶55 |
col. 15:63-16:7 |
| receiving, at the terminal machine, third code that modifies at least a portion of the first code to produce first updated code... |
Information (e.g., in JSON format) representing a favorite item is sent from the server to the app. This is alleged to be "third code" that modifies the app's bytecode to produce "first updated code." |
¶56 |
col. 16:8-13 |
| ...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 modified code adapts the app to display a new or modified prompt, such as the ability to access new favorite items. |
¶56 |
col. 16:13-17 |
Identified Points of Contention
- Scope Questions: The core dispute may turn on whether the patent term "code," defined as "information that must be translated before it can be executed," encompasses modern software constructs like an application's bytecode or a .NET program, which are processed by just-in-time or ahead-of-time compilers within runtime environments like ART and CLR (Compl. ¶¶34, 36). A further question is whether a data transmission format like JSON, which contains structured data, can be considered a "dialogue module" that contains "code" in the structural sense required by the claims (Compl. ¶¶38, 56).
- Technical Questions: A key technical question for the court may be whether the accused system's process of receiving a data payload (like a JSON object) and updating the application's content accordingly is functionally the same as the patent's description of receiving a module that "updates...code." The analysis may explore whether this constitutes a modification of the application's executable logic or merely a data update processed by existing, unchanged logic.
V. Key Claim Terms for Construction
The Term: "code"
- Context and Importance: This term is central to the infringement theory. Its construction will determine if the complaint’s analogy—equating an app’s bytecode to "code" and its runtime environment to "computer-executable instructions"—is viable. The complaint cites a prior construction from related litigation defining "code" as "information that must be translated before it can be executed on a processor" (Compl. ¶9, n.6).
- 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," which is a functional definition not tied to a specific technology (’774 Patent, col. 4:40-43).
- Evidence for a Narrower Interpretation: The specification uses "Java Byte Code" as a specific example of "intermediary code" that is interpreted by a virtual machine (’774 Patent, col. 1:59-65). Parties may argue that this context limits the term to technologies that operate via interpretation rather than the just-in-time compilation common in modern systems.
The Term: "dialogue module"
- Context and Importance: Plaintiff alleges that a JSON data transmission is a "dialogue module" (Compl. ¶¶38, 56). The case depends on whether this data structure meets the structural requirements of a "module" as claimed. The complaint highlights a prior construction stating the term refers to "a particular type of structure rather than to any structure for performing a function" (Compl. ¶21).
- Intrinsic Evidence for Interpretation:
- Evidence for a Broader Interpretation: The specification discloses that a "dialogue module" can contain "code or other data" and can be communicated, suggesting flexibility in its form (’774 Patent, col. 4:40-42; Compl. ¶21).
- Evidence for a Narrower Interpretation: The patent figures depict the "dialogue module" as a discrete component originating from an "update server machine" for the purpose of updating an application (’774 Patent, Fig. 1, 106). This could support an argument that the term requires a more formal software component package, rather than a routine data payload exchanged during an application's normal operation.
VI. Other Allegations
- Indirect Infringement: The complaint alleges inducement of infringement by asserting that Defendant markets and provides instructions for users to download and operate the accused apps, knowing that such use infringes the asserted patents (Compl. ¶¶44, 62, 83). The complaint also pleads contributory infringement, alleging the Accused Instrumentalities are not staple articles of commerce and are especially adapted to infringe (Compl. ¶¶45, 63, 84).
- Willful Infringement: The complaint alleges Defendant has had actual knowledge of the patents "at least since the filing of this complaint" (Compl. ¶¶31, 50, 68). The prayer for relief requests a finding of willful infringement and enhanced damages, grounding the willfulness claim in post-suit knowledge (Compl. Prayer ¶C, F).
VII. Analyst’s Conclusion: Key Questions for the Case
- A core issue will be one of definitional scope: can the term "code"—defined in the patent family during the era of interpreted Java Byte Code—be construed to cover modern software components like an Android app's bytecode, which is processed by a sophisticated just-in-time compilation runtime?
- A key evidentiary question will be one of functional distinction: does the accused system's routine exchange of operational data, such as a JSON object containing a user's updated favorites list, constitute the claimed act of receiving a "dialogue module" that structurally "updates...code," or does it represent a fundamental mismatch in technical operation, where the accused system is merely processing data with fixed, pre-existing program logic?