2:23-cv-00005
S3G Technology LLC v. Best Buy Co Inc
I. Executive Summary and Procedural Information
- Parties & Counsel:
- Plaintiff: S3G Technology LLC (California)
- Defendant: Best Buy Co. Inc. (Delaware)
- Plaintiff’s Counsel: Parker, Bunt & Ainsworth, P.C.
- Case Identification: 2:23-cv-00005, E.D. Tex., 01/05/2023
- Venue Allegations: Plaintiff alleges venue is proper in the Eastern District of Texas because Defendant maintains a regular and established place of business in the district, has transacted business there, and has committed alleged acts of infringement in the district, including through the distribution and use of its mobile application.
- Core Dispute: Plaintiff alleges that Defendant’s mobile e-commerce application infringes patents related to a system for efficiently modifying software applications on remote devices using lightweight "dialogue modules" instead of full application updates.
- Technical Context: The technology addresses methods for updating distributed software applications, particularly in mobile environments where network bandwidth may be limited, by altering application behavior through small data packages rather than replacing entire compiled programs.
- Key Procedural History: The complaint references prior litigation involving the Asserted Patents (S3G Tech. LLC v. Unikey Techs., Inc.) and cites claim constructions adopted in that case for key terms such as "code," "computer-executable instructions," and "dialogue module." The complaint also cites the Examiner's Statement of Reasons for Allowance during the prosecution of a related patent, arguing that the claimed structure was considered novel and non-obvious over the prior art.
Case Timeline
| Date | Event |
|---|---|
| 2009-07-23 | '124, '140, '758 Patents Priority Date |
| 2013-07-11 | Notice of Allowability for related patent application cited in complaint |
| 2016-04-05 | '758 Patent Issue Date |
| 2018-04-10 | '124 Patent Issue Date |
| 2019-08-20 | '140 Patent Issue Date |
| 2023-01-05 | 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, "Modification of Terminal and Service Provider Machines Using an Update Server Machine," issued April 10, 2018 (Compl. ¶9).
The Invention Explained
- Problem Addressed: The patents describe the technical challenge of updating software applications distributed across numerous remote devices, particularly over wireless networks. Transmitting a complete, newly compiled application for each update is inefficient, time-consuming, and can exceed the data transmission capabilities of the network (Compl. ¶¶12-14; ’140 Patent, col. 2:17-3:2).
- The Patented Solution: The invention proposes a three-entity computer system architecture: a terminal machine (e.g., a smartphone), a service provider machine (e.g., a backend server), and an update server machine. Instead of sending a full software update, the update server sends small, lightweight "dialogue modules" to the terminal and provider machines. These modules contain "code"—defined as information that must be translated by the application before execution—which modifies the behavior of the existing application software. This allows for dynamic and efficient updates to the application's functionality and user interface without replacing the entire program (Compl. ¶¶15-16; ’140 Patent, col. 3:3-5). Patent Figure 1, referenced in the complaint, illustrates this three-entity communication structure (Compl. ¶15).
- Technical Importance: This architectural approach was designed to reduce network bandwidth utilization and improve the efficiency of modifying applications running on a large number of remote devices with potentially limited connectivity (Compl. ¶23; ’140 Patent, col. 7:31-33).
Key Claims at a Glance
- The complaint asserts at least independent claim 1 (Compl. ¶28).
- Based on the complaint's allegations, the essential elements of claim 1 include:
- A method comprising displaying a first prompt via a terminal application, where the application comprises "first computer-executable instructions" and "first code."
- Accepting a first data entry associated with the prompt.
- Communicating information from the terminal machine to a service provider machine, which runs a provider application comprising "second computer-executable instructions" and "second code."
- 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" comprises "intermediate code."
- The complaint makes general allegations of infringement and does not explicitly reserve the right to assert dependent claims.
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, "Modification of Terminal and Service Provider Machines Using an Update Server Machine," issued August 20, 2019 (Compl. ¶10).
The Invention Explained
- Problem Addressed: As with the related patents, this patent addresses the inefficiencies of distributing large, fully compiled software updates to a network of remote devices, especially over bandwidth-constrained wireless networks (Compl. ¶¶12-14; ’140 Patent, col. 2:17-3:2).
- The Patented Solution: The patent describes a method and system for modifying an application's behavior through targeted updates. The core concept involves a terminal application structured with two distinct components: directly executable instructions and "code" that requires translation before execution. An update server can send "third code" (analogous to a dialogue module) to the terminal machine, which modifies the original "first code" to create "updated code," thereby altering the application's dialogue sequence and functionality without replacing the entire set of executable instructions (Compl. ¶¶15-16; ’140 Patent, Abstract). Patent Figure 2, referenced in the complaint, depicts this separation between executable instructions (224) and translatable code (222) within the terminal application (Compl. ¶16).
- Technical Importance: By separating the application logic into a stable executable portion and a modifiable "code" portion, the system enables efficient, lightweight updates that conserve network resources and facilitate rapid adaptation of software on remote devices (Compl. ¶23; ’140 Patent, col. 7:31-33).
Key Claims at a Glance
- The complaint asserts at least independent claim 1 (’140 Patent, Compl. ¶42).
- The essential elements of independent claim 1 are:
- Providing a first prompt by a terminal machine running a terminal application, which comprises "first computer-executable instructions" and "first code."
- Receiving entry of first data at the first prompt.
- Communicating information to a provider application at a service provider machine, which comprises "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 conduct a modified dialog sequence with the service provider machine.
- The complaint makes general allegations of infringement and does not explicitly reserve the right to assert dependent claims.
U.S. Patent No. 9,304,758 - "Modification of Terminal and Service Provider Machines Using an Update Server Machine"
- Multi-Patent Capsule: U.S. Patent No. 9,304,758
- Patent Identification: U.S. Patent No. 9,304,758, "Modification of Terminal and Service Provider Machines Using an Update Server Machine," issued April 5, 2016 (Compl. ¶11).
- Technology Synopsis: This patent addresses the technical problem of efficiently updating remote software applications by disclosing a system where a server sends small "dialogue modules" to a terminal device. These modules are alleged to contain code (e.g., Java Byte code) that modifies or replaces portions of the application's existing code to alter its user interface and functionality, avoiding the need to transmit a full application update (Compl. ¶¶12-15, 66).
- Asserted Claims: At least independent claim 1 (Compl. ¶61).
- Accused Features: The complaint alleges that when a user interacts with the Best Buy app, the app receives a "terminal dialogue module" (e.g., a JSON object containing information about a saved order) from Best Buy's servers. This module allegedly replaces a portion of the app's "first code" (identified as the app's bytecode) to produce "first updated code," which adapts the app to display a new prompt or modified dialogue (Compl. ¶66).
III. The Accused Instrumentality
Product Identification
- The accused instrumentalities are the Best Buy mobile applications for Android and iOS (the "Defendant app") and their supporting backend systems, servers, and software (Compl. ¶7).
Functionality and Market Context
- The Defendant app functions as a mobile commerce platform, allowing users to, among other things, create, view, and edit saved lists of items or orders (Compl. ¶30). The complaint alleges that the dialogue between the user's device (terminal machine) and Best Buy's servers (service provider machine) during these activities constitutes infringement (Compl. ¶29). The complaint alleges that this mobile ordering application is a source of significant revenue for the Defendant within the judicial district (Compl. ¶4).
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 Best Buy app displays prompts for users to interact with saved lists or orders. The complaint alleges the Android Runtime (ART) comprises the "computer-executable instructions" and the app's bytecode comprises the "first code." | ¶30 | col. 8:27-32 |
| ...accepting a first data entry at the terminal machine... | A user interacts with the app by, for example, selecting a saved list to review or edit. | ¶31 | col. 12:9-21 |
| ...communicating information... to the service provider machine... wherein the provider application is capable of sending an authorization code... | Information about the user's selection is sent to Best Buy's server. The server application is alleged to be a .NET application, where the CLR engine is the "computer-executable instructions" and .NET code is the "second code." The server authorizes logging into the system. | ¶32 | col. 11:22-26 |
| ...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 Best Buy app receives information from the server, allegedly in JSON format. This JSON data is alleged to be the "terminal dialogue module" that updates the app's bytecode ("first code") to create "first updated code." | ¶34 | col. 9:20-24 |
| ...wherein the first updated code adapts the terminal application... to display a second prompt... | The alleged "first updated code" enables the app to display a new or modified dialogue, such as accessing a new saved list or order. | ¶34 | col. 9:60-64 |
- Identified Points of Contention:
- Scope Questions: A central issue may be whether standard client-server data exchange, such as an app requesting and receiving a JSON object representing a user's shopping list, falls within the scope of a "terminal dialogue module that updates... code." The analysis may question whether receiving and rendering data constitutes "updating code" or is merely data processing by existing, unmodified code.
- Technical Questions: The complaint's distinction between "computer-executable instructions" (the runtime environment) and "code" (the application's bytecode) will likely be a point of dispute. The question is whether, in the context of the Android or .NET frameworks, this distinction is technically meaningful in the manner required by the claims and the patent's disclosure, particularly given the prior construction of "code" as "information that must be translated" (Compl. ¶16).
’140 Patent Infringement Allegations
| Claim Element (from Independent Claim 1) | Alleged Infringing Functionality | Complaint Citation | Patent Citation |
|---|---|---|---|
| ...(i) providing a first prompt by a terminal machine by running a terminal application, the terminal application comprising first computer-executable instructions and first code... | The Best Buy app prompts users to interact with saved lists. The complaint again identifies the Android Runtime (ART) as the "first computer-executable instructions" and the app's program/bytecode as the "first code." | ¶44 | col. 8:27-32 |
| ...(ii) receiving entry of first data at the first prompt. | A user provides input, such as selecting a saved list to edit or delete. | ¶45 | col. 12:9-21 |
| ...(iii) communicating information associated with the first data from the terminal machine to a provider application at the service provider machine... | The user's input is communicated from the app to Best Buy's backend server, which runs the provider application. | ¶46 | col. 11:22-26 |
| ...(iv) receiving, at the terminal machine, third code that modifies at least a portion of the first code to produce first updated code... | The app receives information (e.g., JSON data) from the server, which the complaint alleges is the "third code." This "third code" allegedly modifies the app's bytecode ("first code") to create "first updated code." | ¶48 | col. 9:20-24 |
| ...the first updated code adapting the terminal application to conduct a modified dialog sequence with the service provider machine. | The modified application is then able to conduct a new dialogue, such as displaying a newly modified saved list or order. | ¶48 | col. 9:60-64 |
- Identified Points of Contention:
- Scope Questions: As with the ’124 Patent, the key question is one of claim scope: does receiving a data payload like a JSON object constitute receiving "third code that modifies... the first code"? The interpretation of "modifies" will be critical to determining whether the accused functionality meets this limitation.
- Technical Questions: What evidence does the complaint provide that the app's bytecode is structurally "modified" by the incoming JSON data to "produce first updated code"? The dispute may center on whether the accused system performs a dynamic update of the application's underlying code structure, or whether it simply interprets received data using a fixed set of instructions.
V. Key Claim Terms for Construction
The Term: "code"
Context and Importance: This term's construction is fundamental to the patent's inventive concept and the plaintiff's infringement theory, which relies on differentiating between an application's executable instructions (e.g., the Android Runtime) and its modifiable "code" (e.g., app bytecode). Practitioners may focus on this term because its definition will determine whether a standard mobile app architecture can be mapped to the specific two-part software structure required by the claims.
Intrinsic Evidence for Interpretation:
- Evidence for a Broader Interpretation: The term could potentially be argued to encompass any information that directs the flow of a program, including interpreted scripts or configuration data.
- Evidence for a Narrower Interpretation: The specification explicitly 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" (’140 Patent, col. 4:57-61). The complaint also cites a prior court construction adopting this definition, which supports a narrow interpretation distinguishing it from directly "computer-executable instructions" (Compl. ¶16).
The Term: "dialogue module" / "third code that modifies at least a portion of the first code"
Context and Importance: The plaintiff's infringement case hinges on classifying routine data transmissions (e.g., JSON objects) as a "dialogue module" or "third code" that actively "modifies" the application's code. The definition of "modifies" is therefore central to the dispute.
Intrinsic Evidence for Interpretation:
- Evidence for a Broader Interpretation: A party might argue that "modifies" should be interpreted functionally, meaning any data that causes a change in the application's output or behavior effectively "modifies" it. The abstract of the '140 Patent describes receiving "third code that modifies...the first code...to conduct a modified dialog sequence," which could suggest a functional outcome.
- Evidence for a Narrower Interpretation: A party could argue "modifies" requires a structural alteration of the "first code" itself. The complaint alleges the module "updates at least a portion of the first code to produce first updated code," suggesting the creation of a new code structure (Compl. ¶34). Further, the complaint cites a court finding that a "dialogue module" refers to "a particular type of structure rather than to any structure for performing a function," which supports a structural rather than purely functional interpretation (Compl. ¶20).
VI. Other Allegations
- Indirect Infringement: The complaint alleges inducement of infringement, stating Defendant promotes the download and use of its mobile applications with the knowledge and intent that customers' use will infringe the patents (Compl. ¶¶35, 54, 67). It also alleges contributory infringement on the basis that the accused applications are not staple articles of commerce and are especially adapted for use in an infringing manner (Compl. ¶¶36, 55, 68).
- Willful Infringement: The complaint alleges that Defendant has had actual knowledge of the '124 and '758 patents "at least since the filing of the original complaint" and of the '140 patent "at least since the filing of this amended complaint," forming a basis for post-suit willful infringement (Compl. ¶¶27, 41, 60).
VII. Analyst’s Conclusion: Key Questions for the Case
- A core issue will be one of definitional scope: can the patent's specific architectural elements—a "dialogue module" containing "code" that "modifies" an application—be construed to cover the routine transmission and processing of data, such as a JSON object, within a standard client-server mobile application architecture?
- A key evidentiary question will be one of technical mechanism: what factual evidence demonstrates that the accused application's bytecode is structurally "modified" by incoming data to "produce... updated code," as the claim language requires, rather than the existing bytecode simply processing the incoming data according to its pre-programmed logic?