6:24-cv-00088
S3G Technology LLC v. PetSmart LLC
I. Executive Summary and Procedural Information
- Parties & Counsel:
- Plaintiff: S3G Technology LLC (California)
- Defendant: PetSmart, LLC (Delaware)
- Plaintiff’s Counsel: Parker, Bunt & Ainsworth, P.C.
- Case Identification: 6:24-cv-00088, W.D. Tex., 02/15/2024
- Venue Allegations: Plaintiff alleges venue is proper in the Western District of Texas because Defendant operates a regular and established place of business within the district, specifically a retail store in Waco, and has transacted business involving the accused products in the district.
- Core Dispute: Plaintiff alleges that Defendant’s PetSmart mobile applications for Android and iOS, along with their supporting backend server infrastructure, infringe three patents related to methods for efficiently modifying software on remote devices.
- Technical Context: The technology addresses the challenge of updating client-server applications by separating an application into a stable, directly executable portion and a modifiable, translatable "code" portion, allowing for small, efficient updates without replacing the entire application.
- Key Procedural History: The complaint references prior litigation involving the asserted patents, S3G Tech. LLC v. Unikey Techs., Inc., noting that a court in that case construed key terms including "computer-executable instructions," "code," and "dialogue module." The complaint also cites the prosecution history of the ’571 patent, highlighting an Examiner's Statement of Reasons for Allowance to argue the claimed inventions were non-obvious over the prior art.
Case Timeline
| Date | Event |
|---|---|
| 2009-07-23 | Earliest Priority Date for ’124, ’468, and ’571 Patents |
| 2013-07-11 | ’571 Patent Notice of Allowability Issued |
| 2013-10-29 | ’571 Patent Issued |
| 2018-04-10 | ’124 Patent Issued |
| 2020-11-10 | ’468 Patent Issued |
| 2023-10-19 | Last Update Date for Accused PetSmart Android & iOS Apps |
| 2024-02-15 | Complaint Filed |
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 patents describe the technical challenge of updating software applications distributed across a large number of remote devices, particularly over wireless networks. Transmitting a fully recompiled application is often inefficient due to large file sizes and limited network bandwidth, making updates slow and difficult to manage. (Compl. ¶¶ 12-14; ’571 Patent, col. 2:1-52).
- The Patented Solution: The invention proposes a three-entity system architecture comprising a terminal machine (e.g., a mobile device), a service provider machine (e.g., a server), and an update server machine. As illustrated in the patent's Figure 1, these machines communicate to modify applications running on the terminal and service provider machines (Compl. p. 8, FIG. 1). The core innovation is a software application structure that splits the application into two parts: a set of "computer-executable instructions" that can run directly on a processor, and a separate set of "code" that must first be translated by those instructions. Updates are achieved by sending small "dialogue modules" from the update server that modify only the "code," thereby changing the application's behavior without requiring the transmission of the much larger executable portion. (Compl. ¶¶ 15-16; ’571 Patent, col. 4:21-25, Fig. 2).
- Technical Importance: This architectural approach was designed to reduce network bandwidth utilization and improve the efficiency of modifying applications running on remote devices. (Compl. ¶24).
Key Claims at a Glance
- The complaint asserts direct infringement of at least independent claim 1. (Compl. ¶31).
- Essential elements of independent claim 1 include:
- A method of conducting a dialogue sequence between a terminal machine and a service provider machine.
- Displaying a first prompt by running a terminal application that comprises first computer-executable instructions and first code.
- Accepting a first data entry at the terminal machine.
- Communicating information from the terminal to a service provider machine running a provider application, which comprises 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 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.
- At least one of the first code, second code, and first updated code must 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: The patent addresses the same technical problems as the ’124 patent: the inefficiency and bandwidth-intensive nature of distributing full software updates to numerous remote devices. (Compl. ¶¶ 12-14; ’571 Patent, col. 2:1-52).
- The Patented Solution: The solution is also based on the three-entity architecture and the bifurcated application structure of computer-executable instructions and translatable "code." Updates are delivered via modules that modify only the "code." This patent's claims add further limitations, such as requiring the update to be received after a "trigger condition" is met and specifying that the machines may have different processor types, making their respective executable instructions non-interchangeable. (Compl. ¶¶ 15-16, 57, 59; ’571 Patent, Fig. 2).
- Technical Importance: The invention aims to enable efficient, targeted software modifications that reduce network load and streamline the update process for distributed systems. (Compl. ¶24).
Key Claims at a Glance
- The complaint asserts direct infringement of at least independent claim 1. (Compl. ¶50).
- Essential elements of independent claim 1 include:
- A method of conducting a dialogue sequence involving a terminal application (with first computer-executable instructions and first code) and a provider application (with second computer-executable instructions and second code).
- Receiving, at the terminal machine, "third code" that replaces or supplements a portion (but not all) of the first code to produce first updated code.
- The third code must comprise information to be translated.
- The third code is received after the terminal machine satisfies a "trigger condition."
- The third code is received from an "update server machine" that is separate and distinct from the terminal and service provider machines.
- The terminal and service provider machines include different processor types, rendering their respective computer-executable instructions mutually incompatible for direct execution.
- The first and second computer-executable instructions are fully compiled.
U.S. Patent No. 8,572,571 - "Modification of Terminal and Service Provider Machines Using an Update Server Machine"
The Invention Explained
- Technology Synopsis: This patent discloses a system and method for modifying applications on terminal and service provider machines. It addresses the problem of transmitting large executable files for updates by proposing a system where applications are composed of fixed, directly executable instructions and modifiable "code." An update server sends "dialogue modules" containing new code to alter application behavior without replacing the entire executable. (Compl. ¶¶ 12-15, 22).
Key Claims and Accusations
- Asserted Claims: At least claim 2. (Compl. ¶74).
- Accused Features: The complaint accuses the system architecture of the PetSmart mobile app and backend servers. It alleges that an update server sends "terminal dialogue modules" and "provider dialogue modules" (e.g., data representing favorite items) to modify the respective applications' "code" without altering the underlying "computer-executable instructions." (Compl. ¶¶ 76-79).
III. The Accused Instrumentality
Product Identification
The PetSmart mobile applications for Android and iOS devices, and the associated backend systems, including servers and server software (collectively, the "Accused System"). (Compl. ¶7).
Functionality and Market Context
The Accused System provides a client-server platform allowing users to interact with PetSmart services via a mobile application. The complaint focuses on functionality such as viewing, editing, deleting, and ordering "favorite items." (Compl. ¶33). It alleges that data is communicated between the mobile app (the "terminal application") and PetSmart's servers (the "service provider machine"). Specifically, the complaint alleges that data sent from the server to the app, such as JSON-formatted information about favorite items, constitutes a "dialogue module" that updates the application's functionality. (Compl. ¶37). The complaint alleges that Defendant derives a significant portion of its revenue from the use of these instrumentalities. (Compl. ¶7).
IV. Analysis of Infringement Allegations
The complaint alleges that the architecture of the PetSmart app and servers maps to the patented claims. For example, it alleges that the Android Runtime (ART) and .Net Common Language Runtime (CLR) constitute the "computer-executable instructions," while the app's bytecode and the .Net program constitute the "code" that is modified by incoming data packets, which are alleged to be "dialogue modules." (Compl. ¶¶ 34, 35, 77, 78). The complaint includes a diagram from the patent illustrating the claimed application structure with separate executable instructions (224) and code (222) (Compl. p. 8, FIG. 2).
’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 PetSmart app displays prompts for users to manage "favorite items." The app is alleged to comprise the Android Runtime (ART) as "computer-executable instructions" and the app’s bytecode as "first code." - | ¶33-34 | col. 7:40-45 |
| communicating information... to the service provider machine, wherein the service provider machine uses a provider application comprising second computer-executable instructions and second code... | The app sends information about a user's favorite items to the PetSmart 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." - | ¶35 | col. 7:5-10 |
| 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 PetSmart app receives information from the server, such as JSON data, which updates the available favorite items. This data is alleged to be the "terminal dialogue module" that updates the app's bytecode (the "first code"). - | ¶37 | col. 8:44-52 |
| ...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. - | ¶37 | col. 2:67-68 |
’468 Patent Infringement Allegations
| Claim Element (from Independent Claim 1) - | Alleged Infringing Functionality - | Complaint Citation | Patent Citation |
|---|---|---|---|
| receiving... third code that replaces or supplements at least a portion but not all of the first code to produce first updated code... - | The app receives JSON data from the server representing favorite items. This is alleged to be the "third code" that supplements a portion of the app's bytecode ("first code"). - | ¶55 | col. 8:44-52 |
| receiving the third code is performed after the terminal machine satisfies a trigger condition. | The JSON data is received after a "user action, such as connecting to the network and/or accessing the Defendant app." - | ¶57 | col. 9:43-48 |
| 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 update server machine is alleged to be "an Android, iOS or other smart phone or other computing device accessing the Accused System." - | ¶58 | col. 4:36-40 |
| the terminal machine and the service provider machine include different types of processors, whereby the first computer-executable instructions are not able to be executed on the service provider machine... | Mobile devices (terminal machine) are alleged to use ARM-based processors, while servers (service provider machine) use x86 processors, which have different instruction set architectures. - | ¶59 | col. 2:49-52 |
Identified Points of Contention
- Scope Questions: A primary question will be whether application-level data, such as a JSON object describing "favorite items," can be construed as the claimed "code" which "must be translated... before it can be implemented on the machine processor." An alternative interpretation may frame JSON as mere data processed by the application, not as translatable code that modifies the application itself.
- Scope Questions: The analysis for the ’468 patent may focus on the identity of the "update server machine." The complaint's allegation that this can be another user's device raises the question of whether PetSmart's system meets the claimed three-entity architectural requirement of a terminal, a service provider, and a separate and distinct update server.
- Technical Questions: What evidence does the complaint provide that the accused system's runtime environments (e.g., Android's ART, Microsoft's CLR) and application programs (bytecode, .Net) function as the distinct, separable "computer-executable instructions" and "code" structures as depicted in the patent's Figure 2? (Compl. p. 8, FIG. 2).
V. Key Claim Terms for Construction
The Term: "code"
- Context and Importance: The plaintiff's infringement theory depends on this term encompassing both application bytecode and data structures like JSON. The construction of "code" will be pivotal in determining whether the accused data transmissions fall within the scope of the claims. Practitioners may focus on this term because the distinction between executable code and passive data is a fundamental concept in computer science.
- Intrinsic Evidence for Interpretation:
- Evidence for a Broader Interpretation: The patent 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). A prior court construction cited in the complaint defined it as "information that must be translated before it can be executed on a processor." (Compl. ¶16, fn. 5).
- Evidence for a Narrower Interpretation: Embodiments in the patent focus on modifying a "dialogue protocol" and a "sequence of dialogue prompts." (’571 Patent, col. 4:50-54). This context may support an interpretation limiting "code" to instructions that structurally alter application logic or flow, rather than data that merely populates a pre-defined template.
The Term: "dialogue module"
- Context and Importance: The complaint alleges that JSON data packets are "dialogue modules." Whether a simple data packet meets the structural and functional requirements of this term is a central dispute.
- Intrinsic Evidence for Interpretation:
- Evidence for a Broader Interpretation: A prior court construction cited in the complaint defined the term as "code or instructions related to a dialogue sequence." (Compl. ¶18). This could be argued to include data that defines the content of a dialogue.
- Evidence for a Narrower Interpretation: The complaint also cites a judicial finding from the same prior litigation stating the claim uses ""module" to refer to a particular type of structure rather than to any structure for performing a function." (Compl. ¶20). This suggests a "dialogue module" is not just any data, but a specific structural component as taught in the patent.
VI. Other Allegations
- Indirect Infringement: The complaint alleges inducement of infringement, stating that Defendant instructs and encourages its customers to download and use the PetSmart apps in an infringing manner. (Compl. ¶¶ 41, 43, 65, 67, 83, 85).
- Willful Infringement: The complaint alleges willfulness based on knowledge of the patents acquired "at least since the filing of this complaint." (Compl. ¶¶ 30, 49, 73). No allegations of pre-suit knowledge are made.
VII. Analyst’s Conclusion: Key Questions for the Case
- A core issue will be one of definitional scope: can the term "code," rooted in the context of translatable instructions that modify application logic, be construed to cover application-level data structures like JSON that populate user interfaces?
- A key architectural question will be one of structural equivalence: does PetSmart’s client-server system embody the specific three-entity structure (terminal, service provider, and a "separate and distinct" update server machine) required by certain claims, or is it a conventional two-tier architecture that falls outside the patent's scope?
- A central evidentiary question will be one of functional operation: does receiving data to update a list of "favorite items" perform the claimed function of "adapting the terminal application to conduct a modified dialogue sequence," or does it merely populate data fields within a pre-existing, static dialogue framework?