DCT

5:23-cv-00124

S3G Technology LLC v. Cinemark Holdings Inc

Key Events
Complaint
complaint

I. Executive Summary and Procedural Information

  • Parties & Counsel:
  • Case Identification: 5:23-cv-00124, E.D. Tex., 10/26/2023
  • Venue Allegations: Plaintiff alleges venue is proper in the Eastern District of Texas because Defendant Cinemark maintains a regular and established place of business in the district, specifically citing a theater location in Texarkana, Texas.
  • Core Dispute: Plaintiff alleges that Defendant’s Cinemark mobile applications and supporting server infrastructure infringe three patents related to methods for efficiently modifying software on remote devices using small data packets called "dialogue modules" instead of replacing the entire application.
  • Technical Context: The technology addresses the challenge of updating applications distributed across a network, a significant issue for mobile apps that need to be updated frequently without consuming excessive bandwidth.
  • Key Procedural History: The complaint heavily relies on prior litigation involving the asserted patent family, S3G Tech. LLC v. Unikey Techs., Inc., citing specific claim construction rulings from that case for key terms such as "code," "computer-executable instructions," and "dialogue module." It also references the patent examiner's reasons for allowance during prosecution, which highlighted the unique software structure as a basis for patentability.

Case Timeline

Date Event
2009-07-23 Earliest Priority Date for ’124, ’082, and ’995 Patents
2013-07-11 Examiner's Notice of Allowability issued for related patent
2018-04-10 U.S. Patent No. 9,940,124 Issued
2021-12-28 U.S. Patent No. 11,210,082 Issued
2023-05-30 U.S. Patent No. 11,662,995 Issued
2023-09-22 Last update date for accused Android and iOS apps cited in complaint
2023-10-26 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 patent addresses the technical problems of updating software applications on a large number of geographically distributed devices (Compl. ¶15). Transmitting a newly compiled version of an entire application over a network can be slow, exceed bandwidth limitations, and is difficult to manage across devices with different application versions (Compl. ¶¶15-16; ’124 Patent, col. 2:39-64).
  • The Patented Solution: The invention proposes a three-entity system comprising a terminal machine (e.g., a user's device), a service provider machine (e.g., a backend server), and an update server machine (Compl. ¶17; ’124 Patent, FIG. 1). Instead of sending a full application update, the update server sends a small "dialogue module" to the terminal machine. This module contains "code," which is defined as information that must be translated by the existing application before it can be executed, as distinct from directly "computer-executable instructions" which run on the processor (Compl. ¶¶18, 21; ’124 Patent, col. 4:30-40). This allows for efficient modification of the application's behavior, such as changing its user prompts and dialogue sequences (Compl. ¶21). The complaint includes a diagram, FIG. 1, which illustrates this three-entity communication structure (Compl. p. 7).
  • Technical Importance: This approach claims to reduce network bandwidth utilization and enable efficient modification and development of applications running on remote devices (Compl. ¶¶21, 25; ’124 Patent, col. 6:61-63).

Key Claims at a Glance

  • The complaint asserts at least independent claim 1 of the ’124 patent (Compl. ¶30).
  • The essential elements of independent claim 1, a method claim, include:
    • Displaying a first prompt on a terminal machine by running a terminal application, which comprises first computer-executable instructions and first code.
    • Accepting a first data entry associated with the first prompt.
    • Communicating information from the terminal machine 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.
    • 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.
  • The complaint does not explicitly reserve the right to assert dependent claims for this patent.

U.S. Patent No. 11,210,082 - "Modification of Terminal and Service Provider Machines Using an Update Server Machine"

The Invention Explained

  • Problem Addressed: The patent addresses the same general problem as its family members: the inefficiency of updating distributed software applications by transmitting entire compiled programs (Compl. ¶¶14-16; ’082 Patent, col. 2:27-67).
  • The Patented Solution: This patent focuses on the server-side modification process. A service provider machine, running an application with both directly executable instructions and translatable "code," receives information associated with a dialogue sequence (Compl. ¶¶51-52). It then receives "second code" which supplements or partially replaces its existing code, creating "updated code" that adapts the provider application to conduct a modified dialogue. The service provider machine then sends "third code" to a recipient (e.g., the terminal machine) to facilitate the recipient's part of the modified dialogue (Compl. ¶¶54-55; ’082 Patent, Abstract). The complaint presents a diagram from the patent, FIG. 2, which depicts the distinct structure of applications containing both computer-executable instructions and "code" that must be translated (Compl. p. 8).
  • Technical Importance: This method allows for efficient, on-the-fly modification of the server-side logic of a client-server system without requiring a full server application restart or redeployment, thereby improving resource utilization and design efficiency (Compl. ¶21).

Key Claims at a Glance

  • The complaint asserts at least independent claim 1 of the ’082 patent (Compl. ¶49).
  • The essential elements of independent claim 1, a method claim, include:
    • A service provider machine conducting a dialogue sequence using a provider application comprising computer-executable instructions and code.
    • Receiving information associated with data entry for the dialogue sequence.
    • Storing at least a portion of the information.
    • Receiving second code that replaces or supplements the existing code to produce first updated code, which adapts the provider application for a modified dialogue.
    • Sending third code that facilitates a recipient's portion of the modified dialogue.
  • 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"

Technology Synopsis

This patent describes a method for conducting a dialogue sequence between at least two different user devices (e.g., a web browser and a mobile app), facilitated by one or more provider applications. The provider application receives "second code" from a first user device without requesting it, which supplements its own code to create an updated version. The system then determines if the second user device satisfies certain criteria and sends "third code" to that second device to facilitate its part of the now-modified dialogue sequence. (Compl. ¶¶69-76).

Asserted Claims

At least independent claim 1 (Compl. ¶68).

Accused Features

The accused features involve the interaction between a user on the Cinemark website (first user device) and the Cinemark mobile app (second user device). The act of saving a movie on the website is alleged to send "code" to the Cinemark server (the provider application). The server then allegedly sends updated information, characterized as "third code," to the user's mobile app. (Compl. ¶¶70, 72, 76).

III. The Accused Instrumentality

Product Identification

The "Accused Instrumentalities" or "Accused System" comprise the Cinemark mobile applications for Android and iOS ("Defendant app") and the associated backend "devices, servers, software, and non-transitory computer readable storage medium that execute, run, store, support or facilitate the use of the Defendant app" (Compl. ¶¶9-10).

Functionality and Market Context

The Accused System provides functionality for users to review, save, and order tickets for movies via a mobile device (Compl. ¶¶32, 34). The complaint alleges that when a user saves a movie in the app, this information is communicated to Defendant's server to be stored and made available for future use (Compl. ¶32). Subsequently, the server communicates information back to the app, which updates the app's state and display (Compl. ¶36). The complaint alleges this returned information is in JSON format and constitutes the claimed "dialogue module" or "code" (Compl. ¶¶36, 54-55). Plaintiff alleges that Defendant derives a "significant portion of its revenue" from the use of this system (Compl. ¶9).

IV. Analysis of Infringement Allegations

U.S. Patent No. 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 of a terminal machine...by running a terminal application, the terminal application comprising first computer-executable instructions and first code... The Cinemark app prompts a user with saved movies to order tickets. The complaint alleges the Android Runtime (ART) comprises the "computer-executable instructions" and the app's bytecode comprises the "first code." ¶32 col. 7:56-61
accepting a first data entry at the terminal machine...associated with the first prompt A user selects a saved movie in the Cinemark app to order tickets or remove it. ¶33 col. 8:1-12
communicating information associated with the first data entry from the terminal machine to the service provider machine... The user's selection (e.g., to order tickets for a saved movie) is communicated from the mobile app to the Cinemark server. ¶34 col. 6:26-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 saves a new movie, information is sent from the server to the app. The complaint alleges this information, in JSON format, is the "terminal dialogue module" that updates the app's bytecode to produce updated code. ¶36 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 allows the app to display a new list of saved movies, which constitutes a "second prompt" in a "modified dialogue sequence." ¶36 col. 9:3-9
wherein at least one of the first code, the second code, and the first updated code comprise intermediate code. The complaint alleges that the app's bytecode constitutes intermediate code. ¶36 col. 4:51-57

U.S. Patent No. 11,210,082 Infringement Allegations

Claim Element (from Independent Claim 1) Alleged Infringing Functionality Complaint Citation Patent Citation
a method of conducting a dialogue sequence using a service provider machine that comprises a provider application comprising computer-executable instructions and code... The Cinemark server runs a .Net application. The complaint alleges the .Net Common Language Runtime (CLR) comprises the "computer-executable instructions" and the .Net program itself comprises the "code." ¶51 col. 8:1-24
receiving information associated with data entry associated with a dialogue sequence. The Cinemark server receives information from the user's app, such as a request to review or delete a saved movie. ¶52 col. 4:5-10
receiving second code that...supplements, the code associated with the provider application to produce first updated code... When a user saves a movie, the server receives information in JSON format. The complaint alleges this JSON is the "second code" that supplements the server's existing .Net code to produce an updated state. ¶54 col. 9:18-29
wherein the first updated code adapts the provider application to be able to conduct the provider application's portion of a modified dialogue sequence... The updated code on the server adapts the application to conduct a new dialogue sequence that includes the newly saved movie. ¶54 col. 9:29-34
sending third code that facilitates a recipient's portion of the modified dialogue sequence to be conducted... The Cinemark server sends information back to the user's app (the recipient), such as the updated list of saved movies. The complaint alleges this information, formatted as JSON, is the "third code." ¶55 col. 9:43-51
  • Identified Points of Contention:
    • Scope Questions: The central legal question will be whether the term "code," previously construed as "information that must be translated before it can be executed on a processor," can be read to cover standard data interchange formats like JSON. A related question is whether a data payload like a JSON object containing a list of movies constitutes a "dialogue module," previously construed as a "particular type of structure."
    • Technical Questions: A key factual question is whether the Cinemark system actually employs the specific two-part software architecture (directly-executable instructions plus separately updatable, translatable "code") described in the patents. The complaint's theory that the Android Runtime is the "executable instructions" and the app's bytecode is the "code" (and similarly for the .Net server) presents a technical characterization that will likely be a primary point of dispute.

V. Key Claim Terms for Construction

The complaint identifies several terms that were construed in prior litigation, which will be central to this case.

  • The Term: "code"

  • Context and Importance: This term is the technological linchpin of the patents. The distinction between this translatable "code" and "computer-executable instructions" was a key argument for patentability (Compl. ¶26). The infringement case hinges on whether data formats like app bytecode and JSON, as used in the accused system, meet the definition of "code."

  • Intrinsic Evidence for Interpretation:

    • Evidence for a Broader Interpretation: The complaint relies on a prior judicial construction: "information that must be translated before it can be executed on a processor" (Compl. ¶18, fn. 5). Plaintiff will likely argue this definition is broad enough to cover any information, including data in a JSON object, that must be parsed or converted by a runtime environment before it can be used to alter the application's state or display (Compl. ¶¶54-55).
    • Evidence for a Narrower Interpretation: The specification states that "code represents at least some information that must be translated by the software application before it can be implemented on the machine processor" (’124 Patent, col. 4:30-40). A defendant may argue this language, particularly "implemented on the machine processor," implies something more akin to interpreted script or instructions that directly alter program logic, rather than simple data that is parsed and displayed.
  • The Term: "dialogue module"

  • Context and Importance: This is the asserted mechanism for delivering the "code" to modify the applications. Whether the data packets sent between the Cinemark app and server qualify as "dialogue modules" is critical.

  • Intrinsic Evidence for Interpretation:

    • Evidence for a Broader Interpretation: The complaint cites a prior construction that the term refers to a "particular type of structure rather than to any structure for performing a function" and that it "can contain code or other data and can be communicated" (Compl. ¶22). Plaintiff's allegations that a "terminal machine portion of a saved movie" constitutes a dialogue module suggest a broad interpretation where any data packet that causes a change in the dialogue sequence qualifies (Compl. ¶36).
    • Evidence for a Narrower Interpretation: The term "module" itself may suggest a self-contained unit with a defined structure beyond just a data payload. A defendant might argue that the patent's description of a system for updating software implies that a "dialogue module" must contain structured instructions or definitions for modifying application behavior, not just user-specific data content.

VI. Other Allegations

  • Indirect Infringement: The complaint alleges inducement based on Defendant's marketing and promotion of the Cinemark app, with the alleged intent that customers would download and use it in an infringing manner (Compl. ¶¶42, 61, 82). It also alleges inducement based on Defendant providing instructions to users to download and install the app (Compl. ¶¶40, 59, 80). Contributory infringement is alleged on the basis that the accused system is not a staple article of commerce and is especially adapted to infringe the patents (Compl. ¶¶43, 62, 83).
  • Willful Infringement: The complaint alleges Defendant has had actual knowledge of the patents "at least since the filing of this complaint" (Compl. ¶¶29, 48, 67). This forms the basis for a claim of post-suit willful infringement.

VII. Analyst’s Conclusion: Key Questions for the Case

  • A core issue will be one of definitional scope: Can the term "code"—defined in prior litigation as "information that must be translated before it can be executed"—be construed to cover standard data formats like JSON or app bytecode, or does the patent's context require a more specific type of interpreted instruction set distinct from application data?
  • A central evidentiary question will be one of architectural equivalence: Does the accused Cinemark client-server system possess the specific two-part software structure (a stable set of "computer-executable instructions" and a separate, updatable set of translatable "code") that the patents claim as their invention, or is it a conventional application where the exchange of data is being recharacterized to fit the claim language?