6:24-cv-00189
S3G Technology LLC v. Luxottica Of America Inc
I. Executive Summary and Procedural Information
- Parties & Counsel:
- Plaintiff: S3G Technology LLC (California)
- Defendant: Luxottica of America, Inc. (Ohio)
- Plaintiff’s Counsel: PARKER, BUNT & AINSWORTH, P.C.
- Case Identification: 6:24-cv-00189, W.D. Tex., 05/06/2024
- Venue Allegations: Plaintiff alleges venue is proper because Defendant has a regular and established place of business in the district, distributes the accused mobile applications to customers in the district, and derives revenue from activities within the district.
- Core Dispute: Plaintiff alleges that Defendant’s LensCrafters mobile application and e-commerce platform infringe three patents related to methods for dynamically modifying software on remote devices.
- Technical Context: The technology at issue concerns systems for updating client-server applications, such as mobile apps, by sending small "dialogue modules" to alter functionality, rather than transmitting a complete new version of the application.
- Key Procedural History: The complaint notes that the asserted patents have been subject to claim construction in prior litigation (S3G Tech. LLC v. Unikey Techs., Inc.), and it relies on constructions from that case. The complaint also states that during prosecution, the U.S. Patent and Trademark Office found the claimed inventions to be distinguishable from prior art and patent-eligible. Plaintiff S3G Technology LLC is concurrently asserting these patents against numerous other defendants in the same district.
Case Timeline
| Date | Event |
|---|---|
| 2009-07-23 | Earliest Priority Date for ’897, ’124, and ’571 Patents |
| 2013-07-11 | ’571 Patent Family Notice of Allowability |
| 2013-10-29 | U.S. Patent No. 8,572,571 Issues |
| 2015-07-14 | U.S. Patent No. 9,081,897 Issues |
| 2017-07-07 | Claim Construction Order in S3G v. Unikey |
| 2017-11-01 | Adoption of Claim Construction in S3G v. Unikey |
| 2018-04-10 | U.S. Patent No. 9,940,124 Issues |
| 2024-05-06 | First Amended Complaint Filed |
II. Technology and Patent(s)-in-Suit Analysis
U.S. Patent No. 9,081,897 - “Modification of Terminal and Service Provider Machines Using an Update Server Machine”
The Invention Explained
- Problem Addressed: The patents identify the inefficiency of updating software on geographically dispersed devices, particularly over wireless networks (’897 Patent, col. 2:18-44). Distributing a newly compiled version of an entire software application can be slow, consume excessive bandwidth, and be difficult to manage across many devices with different application versions (Compl. ¶13-14).
- The Patented Solution: The invention proposes a three-machine architecture: an update server, a terminal machine (e.g., a user's mobile device), and a service provider machine (e.g., a back-end server) (’897 Patent, FIG. 1). Instead of sending a full application update, the update server sends small “dialogue modules” containing “code” (information that must be translated by the application, such as bytecode) to the terminal and provider machines (’897 Patent, col. 4:20-34). This code modifies the application’s behavior without replacing the underlying, pre-installed “computer-executable instructions” (e.g., a virtual machine or runtime environment), thus enabling efficient, targeted updates (Compl. ¶15-16).
- Technical Importance: This architectural approach aims to conserve network bandwidth and computing resources by transmitting only the necessary changes to application logic, rather than entire executable files (’897 Patent, col. 6:61-63).
Key Claims at a Glance
- The complaint asserts independent claim 1 (Compl. ¶31).
- Essential elements of claim 1 include:
- A system with an update server machine, a terminal machine, and a service provider machine.
- The terminal and provider machines each run an application comprising two distinct parts: a "first/second set of computer-executable instructions" that can execute directly on a processor, and a "first/second set of code" that cannot.
- The update server sends a "terminal dialogue module" and a "provider dialogue module" to the respective machines.
- The dialogue modules modify only the "code" portions of the applications to produce "updated code," leaving the "computer-executable instructions" unmodified.
- The "updated code" adapts the applications to use a "modified dialogue sequence."
- The complaint reserves the right to assert other claims (Compl. ¶28).
U.S. Patent No. 9,940,124 - “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 ’124 patent addresses the same problems of inefficient remote software modification as the ’897 patent (Compl. ¶12-14).
- The Patented Solution: The ’124 patent claims a method for conducting a dialogue that embodies the same core technical principles as the system in the ’897 patent. The method involves a terminal machine displaying prompts, accepting user data, communicating with a service provider, and receiving a "terminal dialogue module" that updates a portion of its "first code" to adapt its behavior (Compl. ¶22-23, 51-55).
- Technical Importance: This method provides a specific process for leveraging the bandwidth-saving architecture to modify application behavior in response to a user interaction (Compl. ¶24).
Key Claims at a Glance
- The complaint asserts independent claim 1 (Compl. ¶49).
- Essential elements of this method claim include:
- Displaying a first prompt from a terminal application comprising "first computer-executable instructions" and "first code."
- Accepting a first data entry.
- Communicating information from the data entry to a service provider machine.
- Storing at least a portion of the information for analysis.
- Receiving 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.
- The complaint reserves the right to assert other claims (Compl. ¶46).
U.S. Patent No. 8,572,571 - “Modification of Terminal and Service Provider Machines Using an Update Server Machine”
Technology Synopsis
This patent, from the same family as the ’897 and ’124 patents, addresses the inefficiency of updating remote software applications (’571 Patent, col. 2:18-55). It discloses a three-part system where an update server sends small "dialogue modules" containing translatable "code" to modify the behavior of terminal and service provider applications without requiring a full software replacement, thereby conserving network bandwidth (Compl. ¶12-15).
Asserted Claims
The complaint asserts independent claim 2 (Compl. ¶69).
Accused Features
The complaint alleges that the "favorite item" functionality of the Accused System infringes, wherein data for a favorite item allegedly constitutes a "dialogue module" that modifies the application's code (Compl. ¶71-74).
III. The Accused Instrumentality
Product Identification
The "Accused Instrumentalities" or "Accused System" are identified as Defendant's "LensCrafters' mobile application" ("Defendant app"), particularly for devices running the Android operating system, and the associated systems that support it, including servers and the e-commerce website (Compl. ¶7).
Functionality and Market Context
- The accused functionality centers on the "My saved items" or "favorite list" feature, which allows users to select and save products for later review (Compl. ¶33, 51). The complaint alleges that when a user adds an item to their favorites list, data representing that choice is communicated between the user's device and Defendant's servers (Compl. ¶33-35). This screenshot shows the "My saved items" interface where a user can view a saved product (Compl. p. 5).
- The complaint alleges that this interaction constitutes the claimed "dialogue sequence" and that the data packet representing the added favorite item is the claimed "dialogue module" (Compl. ¶33, 36).
- The complaint alleges that Defendant derives a significant portion of its revenue from the services provided through the Accused Instrumentalities (Compl. ¶4, 7).
IV. Analysis of Infringement Allegations
’897 Patent Infringement Allegations
| Claim Element (from Independent Claim 1) | Alleged Infringing Functionality | Complaint Citation | Patent Citation |
|---|---|---|---|
| an update server machine ... operable for sending a terminal dialogue module ... and a provider dialogue module | The user’s device accessing the Defendant’s website, or the Defendant’s server itself, sends favorite item data (the alleged dialogue modules) to the terminal (app) and provider (server) machines. | ¶33 | col. 6:40-54 |
| a terminal machine ... configured to run a terminal application ... comprises a first set of computer-executable instructions and a first set of code ... wherein the first set of code is not able to execute directly on the terminal processor | The terminal machine is the user's Android device. The terminal application is the LensCrafters app, where the Android Runtime (ART) is the "computer-executable instructions" and the app’s bytecode is the "code" that cannot execute directly. | ¶34 | col. 7:40-50 |
| a service provider machine ... configured to run a provider application ... comprises a second set of computer-executable instructions and a second set of code | The service provider machine is the Defendant's server. The provider application is the server-side software (allegedly .NET), where the Common Language Runtime (CLR) is the "computer-executable instructions" and the .NET program is the "code." | ¶35 | col. 7:1-12 |
| wherein the terminal dialogue module modifies the first set of code to produce a first set of updated code ... wherein the terminal dialogue module does not modify the first set of computer-executable instructions | The favorite item data (the alleged "terminal dialogue module") modifies the app’s bytecode but does not modify the underlying Android Runtime (ART). | ¶36, ¶20 | col. 8:63-9:3 |
| wherein the first set of updated code adapts the terminal application to use a modified dialogue sequence | The modified bytecode adapts the app to display the newly favorited item, which constitutes a modified dialogue sequence. | ¶36 | col. 8:35-41 |
’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 of a terminal machine by running a terminal application, the terminal application comprising first computer-executable instructions and first code | The LensCrafters app prompts a user to create or review a favorite item list. The app allegedly consists of the Android Runtime (executable instructions) and the app’s bytecode (code). | ¶51 | col. 15:20-24 |
| accepting a first data entry at the terminal machine | The user selects an item to add to their favorite list. | ¶52 | col. 15:25-28 |
| communicating information associated with the first data entry from the terminal machine to the service provider machine | The user’s selection is communicated from the app to Defendant's server. | ¶53 | col. 15:29-34 |
| storing at least a portion of the information associated with the first data entry in memory for analysis | The server stores the favorite item information, for example, to analyze order history or make rewards available. | ¶54 | col. 16:47-49 |
| 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 app receives data (e.g., in JSON format) about the updated list, which allegedly updates the app's bytecode (the "first code"). | ¶55 | col. 15:38-44 |
| 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 causes the app to display the new item in the list, which is alleged to be a "second prompt" in a "modified dialogue sequence." | ¶55 | col. 15:44-50 |
Identified Points of Contention
- Scope Questions: The primary question is one of equivalence: does user-generated data, such as a "favorite list item," constitute a "dialogue module" as contemplated by the patents? The patents describe modules generated by a developer using a design tool to modify application logic (e.g., ’897 Patent, FIGS. 8A-8B), which raises the question of whether simple customer-initiated data qualifies as the same structure.
- Technical Questions: A key technical question is whether the accused system's architecture truly separates "computer-executable instructions" (e.g., ART, CLR) from "code" (e.g., app bytecode, .NET program) in the specific manner required by the claims. The infringement theory hinges on the allegation that the "dialogue module" modifies only the latter, leaving the former untouched. The court may need to determine if this distinction holds up under scrutiny of how modern runtime environments actually operate.
- Scope Questions: The complaint's recitation of Claim 1 of the ’124 patent includes the term "the second code," which appears to lack an antecedent basis within that claim as described in paragraph 55. This may raise a question of claim indefiniteness or, at a minimum, create ambiguity in the plaintiff's infringement theory that will require clarification.
V. Key Claim Terms for Construction
The Term: "dialogue module"
- Context and Importance: This term is central to the dispute. The plaintiff's entire infringement theory rests on construing user-generated data for a "favorite item" as a "dialogue module." The complaint cites a prior construction from the Unikey case: "code or instructions related to a dialogue sequence" that refers to a "particular type of structure" (Compl. ¶18, 20).
- Intrinsic Evidence for a Broader Interpretation: The patent abstract describes the module as containing "updated code" sent to the machines, which could be interpreted broadly to include any data that causes a change in application behavior (’897 Patent, Abstract).
- Intrinsic Evidence for a Narrower Interpretation: The specification provides detailed examples of a developer using a "design tool" to create screens, define flows, and generate the dialogue module, suggesting it is a deliberately constructed package of logic and instructions, not merely user data (’897 Patent, col. 14:22-56; FIGS. 8A-8B).
The Term: "code"
- Context and Importance: The patents' distinction between modifiable "code" and non-modifiable "computer-executable instructions" is fundamental. The complaint asserts a prior construction of "code" as "information that must be translated before it can be executed on a processor" (Compl. ¶10, fn. 4).
- Intrinsic Evidence for a Broader Interpretation: The general description of code as information that "must be translated" could potentially encompass any data format, like JSON, that is parsed by an interpreter before it affects the program state (’897 Patent, col. 4:26-29).
- Intrinsic Evidence for a Narrower Interpretation: The specification consistently uses "Java Byte Code" as a prime example of "intermediary code," suggesting the term "code" refers to compiled or semi-compiled program instructions rather than declarative user data structures (’897 Patent, col. 2:49-50).
VI. Other Allegations
- Indirect Infringement: The complaint alleges inducement by asserting that Defendant provides the app and user manuals (i.e., the user interface) that instruct and encourage users to perform the allegedly infringing acts of adding items to a favorite list (Compl. ¶40, 42, 59). It alleges contributory infringement by claiming the Accused Instrumentalities are not staple articles of commerce and are especially adapted to infringe (Compl. ¶43, 62).
- Willful Infringement: The willfulness claim is based on Defendant's alleged knowledge of the patents "at least since the filing of the original complaint," indicating an allegation of post-suit willfulness (Compl. ¶30, 48, 68).
VII. Analyst’s Conclusion: Key Questions for the Case
- A central issue will be one of definitional scope: can the term "dialogue module," which the patent specification illustrates as a developer-created package of logic and instructions, be construed to encompass user-generated data like an entry in a "favorites list"?
- A key evidentiary question will be one of technical equivalence: does the alleged separation between non-modifiable "computer-executable instructions" (e.g., the Android Runtime) and modifiable "code" (e.g., the application's bytecode) accurately reflect the operation of the accused e-commerce platform, or is there a fundamental mismatch between the patent's specific architecture and the accused system's actual functionality?
- The litigation may also turn on a question of claim clarity: does the term "the second code" in the complaint's recitation of claim 1 of the ’124 patent have a clear meaning in the context of the claim, or does its apparent lack of an antecedent basis render the infringement allegation for that claim ambiguous or indefinite?