DCT

2:24-cv-00833

S3G Technology LLC v. Six Continents Hotels Inc

Key Events
Complaint
complaint

I. Executive Summary and Procedural Information

  • Parties & Counsel:
  • Case Identification: 2:24-cv-00833, E.D. Tex., 10/15/2024
  • Venue Allegations: Plaintiff alleges venue is proper because Defendant maintains a regular and established place of business in the district at 500 I-20 E., Marshall, TX 75670, and distributes the accused products to customers in the district.
  • Core Dispute: Plaintiff alleges that Defendant’s mobile applications and backend systems for hotel rewards and booking infringe four patents related to the efficient modification and updating of software on remote devices.
  • Technical Context: The technology concerns client-server architectures that allow for dynamic updates to an application's functionality without requiring the recompilation and distribution of the entire software package, a significant issue in mobile ecosystems with bandwidth and device management constraints.
  • Key Procedural History: The complaint references prior litigation, S3G Tech. LLC v. Unikey Techs., Inc., in which a court in the same district construed key terms from the asserted patent family, including "code," "computer-executable instructions," and "dialogue module." The complaint also notes that during prosecution, the claimed inventions were distinguished from prior art and allowed over subject matter eligibility contentions.

Case Timeline

Date Event
2009-07-23 Earliest Patent Priority Date (’124, ’140, ’758, ’995 Patents)
2016-04-05 U.S. Patent No. 9,304,758 Issues
2018-04-10 U.S. Patent No. 9,940,124 Issues
2019-08-20 U.S. Patent No. 10,387,140 Issues
2023-05-30 U.S. Patent No. 11,662,995 Issues
2024-08-15 Accused Product Update Date
2024-10-15 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.

The Invention Explained

  • Problem Addressed: The patent addresses the inefficiency of updating software applications distributed across numerous remote devices, particularly over wireless networks. Distributing a newly recompiled version of an entire application for each modification consumes significant bandwidth, takes excessive time, and is difficult to manage across different application versions. (Compl. ¶¶14-16; ’140 Patent, col. 2:12-64).
  • The Patented Solution: The invention proposes a three-entity system (terminal machine, service provider machine, and update server machine) where applications are architected into two distinct parts: a stable set of "computer-executable instructions" (akin to an engine or runtime) and a modifiable set of "code" (such as bytecode or scripts) that must be translated by the instructions to be executed. The update server sends small "dialogue modules" containing new or updated "code" to the terminal and service provider machines. These modules alter application behavior, such as changing a sequence of user prompts, without replacing the larger, underlying executable instructions. (Compl. ¶¶17-19; ’140 Patent, col. 4:30-40). The complaint includes a figure from the patents illustrating the three-entity system architecture, comprising an update server machine, a service provider machine, and a terminal machine (Compl. ¶17, FIG. 1). A second figure illustrates the patented application structure, which comprises separate computer-executable instructions and translatable "code" on both the terminal and service provider machines (Compl. ¶18, FIG. 2).
  • Technical Importance: This architectural separation allows for lightweight, efficient updates that conserve network bandwidth and simplify the modification of applications on a large scale. (Compl. ¶26).

Key Claims at a Glance

  • The complaint asserts at least independent Claim 1 (Compl. ¶33). Based on the infringement allegations, the essential elements of this method claim include:
    • Conducting a dialogue between a terminal machine and a service provider machine.
    • Displaying a first prompt by running a terminal application comprising first computer-executable instructions and first code.
    • Accepting a first data entry associated with the prompt.
    • Communicating information from the terminal machine to a provider application on the service provider machine, the provider application comprising 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 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, or first updated code comprises intermediate code.

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.

The Invention Explained

  • Problem Addressed: This patent, from the same family as the ’124 Patent, addresses the same technical problems related to inefficient software updates on remote devices. (Compl. ¶¶14-16).
  • The Patented Solution: The patented solution is structurally similar to that of the ’124 Patent, utilizing a system where applications are modified via lightweight "code" modules rather than full application replacements. This patent’s claims add further specificity to the system’s operation and environment, as described in Section II of the '124 Patent analysis.
  • Technical Importance: The invention provides a method for efficient application modification, with claims that may add further definition to the hardware context and the triggering mechanism for updates. (Compl. ¶26).

Key Claims at a Glance

  • The complaint asserts at least independent Claim 1 (Second Claim for Relief, ¶4). Based on the infringement allegations, the essential elements of this method claim build upon the core dialogue process and include:
    • Receiving, at the terminal machine, "third code" that modifies the "first code" to produce "first updated code" for a modified dialogue sequence.
    • Receiving the third code is performed in response to the terminal machine satisfying 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 machine and service provider machine include different types of processors, such that the first computer-executable instructions cannot be executed on the service provider machine, and vice-versa.
    • The first and second computer-executable instructions are fully compiled.

U.S. Patent No. 9,304,758 - "Modification of Terminal and Service Provider Machines Using an Update Server Machine"

  • 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. ¶12).
  • Technology Synopsis: This patent is part of the same family as the ’124 and ’140 patents. It addresses the problem of inefficiently updating remote software by sending small modules of "code" to modify application behavior without replacing the underlying executable instructions. The asserted claim specifically recites that the code comprises "Java Byte code." (Third Claim for Relief, ¶32).
  • Asserted Claims: At least Claim 1 (Third Claim for Relief, ¶27).
  • Accused Features: The accused features are the same as those for the ’124 Patent, involving the IHG app and servers exchanging data to manage travel preferences. The complaint specifically alleges that the app's bytecode constitutes the claimed "Java Byte code." (Third Claim for Relief, ¶32).

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, “Network Efficient Location-Based Dialogue Sequence Using Virtual Processor,” issued May 30, 2023 (Compl. ¶13).
  • Technology Synopsis: This patent describes conducting a dialogue sequence between at least two separate user devices, facilitated by one or more provider applications. The system involves a provider application receiving "code" from a first user device and, in response, sending different "code" to a second user device to facilitate its part of the dialogue, with the update occurring without an explicit request from the receiving device. (Fourth Claim for Relief, ¶¶55, 58, 62).
  • Asserted Claims: At least Claim 1 (Fourth Claim for Relief, ¶54).
  • Accused Features: The infringement theory accuses a scenario where a user interacts with the IHG website on a first device and the IHG mobile app on a second device. When a user saves a travel preference on the website, this is alleged to be the server ("provider application") receiving "second code." The server then allegedly sends "third code" to the mobile app to synchronize the change, thereby facilitating the dialogue sequence between the two user devices. (Fourth Claim for Relief, ¶¶56-58, 62).

III. The Accused Instrumentality

Product Identification

  • The accused instrumentalities are the InterContinental Hotels Group (IHG) mobile applications for Android and iOS (the "Defendant app") and the associated backend systems, methods, computing devices, and servers that support their functionality (the "Accused System") (Compl. ¶8).

Functionality and Market Context

  • The Defendant app allows users to manage their rewards accounts, including creating, reviewing, editing, and removing saved travel preferences (Compl. ¶¶35, Second Claim for Relief, ¶6). This functionality requires communication between the user's mobile device and Defendant's servers. The complaint alleges that during these interactions, Defendant's servers transmit data, for example in JSON format, to the Defendant app. This data allegedly serves to update the application's behavior by enabling a "modified dialogue sequence," such as displaying new or updated saved preferences on the user's device (Compl. ¶¶39, Second Claim for Relief, ¶10). The app is distributed through major public channels including the Apple App Store and Google Play (Compl. ¶4).

IV. Analysis of Infringement Allegations

9,940,124 Infringement Allegations

Claim Element (from Independent Claim 1) Alleged Infringing Functionality Complaint Citation Patent Citation
a method comprising 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 IHG app (terminal application) displays prompts for users to manage saved travel preferences. The app allegedly consists of the Android Runtime (instructions) and the app’s bytecode (code). ¶35 col. 7:56-61
accepting a first data entry at the terminal machine The IHG app accepts user input, such as edits or removals of saved travel preferences. ¶36 col. 4:40-52
communicating information associated with the first data entry from the terminal machine to the service provider machine... [using] a provider application comprising second computer-executable instructions and second code The IHG app communicates the user's changes to IHG’s servers. The server application allegedly consists of the .NET Common Language Runtime (instructions) and the compiled .NET program (code). ¶37 col. 8:1-6
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 IHG app receives JSON data from the server representing, for example, a saved travel preference. This JSON data is alleged to be the "terminal dialogue module" that updates the app's bytecode ("first code"). ¶39 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 bytecode adapts the IHG app to display a modified interface, such as a list including a new saved travel preference or prompts to edit existing ones. ¶39 col. 9:4-13
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. ¶39 col. 2:63-65

Identified Points of Contention

  • Scope Questions: A central question may be whether receiving and processing application data (e.g., a JSON object from a server) constitutes "receiving... a terminal dialogue module that updates... code" as claimed. The dispute may focus on whether this is a passive data transaction handled by existing code, versus an active update of the code itself.
  • Technical Questions: The complaint's division of the accused application into "computer-executable instructions" (the Android Runtime) and "code" (the app's bytecode) will likely be a point of dispute. The analysis may turn on whether this distinction aligns with the patent's description and the technical reality of how Android applications execute.

10,387,140 Infringement Allegations

Claim Element (from Independent Claim 1) Alleged Infringing Functionality Complaint Citation Patent Citation
receiving, at the terminal machine, third code that modifies at least a portion of the first code to produce first updated code The IHG app receives JSON data from IHG servers. This data is alleged to be the "third code" that modifies the app’s bytecode ("first code"). Second Claim, ¶10 col. 19:12
wherein receiving the third code is performed in response to the terminal machine satisfying a trigger condition The receipt of the code is allegedly triggered by user actions, such as connecting to a network or accessing the IHG app. Second Claim, ¶11 col. 19:18
receiving the third code from an update server machine that is separate and distinct from the terminal machine... and the service provider machine The complaint alleges the "update server machine" could be another computing device, such as another smartphone, accessing the Accused System. Second Claim, ¶12 col. 4:38-41
wherein 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 The complaint alleges that the user's mobile device (terminal machine) runs on an ARM-based processor while the Defendant's server (service provider machine) runs on an x86-based processor. Second Claim, ¶13 col. 41:59-67

Identified Points of Contention

  • Scope Questions: The definition of "update server machine" may be a key dispute. The complaint's allegation that it can be "an Android, iOS or other smart phone" appears broad and may raise questions about whether the accused system meets the claimed three-entity architectural requirement.
  • Technical Questions: The nature of the "trigger condition" as alleged ("user action, such as connecting to the network and/or accessing the Defendant app") may be contested as encompassing routine, non-specific operations rather than a specific condition intended to initiate a software update as described by the patent.

V. Key Claim Terms for Construction

The Term: "code"

  • Context and Importance: This term is fundamental to the patents' core distinction between fixed "computer-executable instructions" and modifiable "code." The infringement theory depends on construing data like app bytecode or JSON objects as "code." Practitioners may focus on this term because its construction will determine whether standard client-server data exchange falls within the claim scope.
  • Intrinsic Evidence for Interpretation:
    • Evidence for a Broader Interpretation: The complaint does not provide specific evidence from the patent for a broad interpretation that would encompass any application data.
    • Evidence for a Narrower Interpretation: The complaint alleges the patents define "code" as information "that must be translated by the software application before it can be implemented on the machine processor" (Compl. ¶18, citing Col. 4:30-40). It further cites a prior judicial construction of the term as "information that must be translated before it can be executed on a processor" (Compl. ¶18, fn. 6).

The Term: "dialogue module"

  • Context and Importance: The infringement allegations identify JSON data packets as the infringing "terminal dialogue module." The viability of this theory hinges on whether a data structure like a JSON object meets the definition of a "dialogue module" as used in the claims.
  • Intrinsic Evidence for Interpretation:
    • Evidence for a Broader Interpretation: The term could be interpreted functionally to mean any package of information used to conduct a dialogue.
    • Evidence for a Narrower Interpretation: The complaint cites a prior judicial construction holding that the claim "uses the term 'module' to refer to a particular type of structure rather than to any structure for performing a function" (Compl. ¶22, emphasis in original). This suggests a structural, rather than purely functional, limitation that a simple data object may not satisfy. The complaint also references a construction of the term as "code or instructions related to a dialogue sequence" (Compl. ¶20, fn. 7).

VI. Other Allegations

Indirect Infringement

  • The complaint alleges inducement based on Defendant’s marketing and promotion of the accused app, which allegedly encourages users to download and operate the app in an infringing manner (Compl. ¶45). Contributory infringement is alleged on the basis that the Accused Instrumentalities are not staple articles of commerce and are especially adapted to infringe the patents (Compl. ¶46).

Willful Infringement

  • The complaint alleges Defendant has had actual knowledge of the asserted patents at least since the filing of the complaint, forming a basis for post-suit willful infringement (Compl. ¶32). The prayer for relief explicitly requests a finding of willful infringement and enhanced damages (Compl. p. 40, ¶¶C, F).

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

  • A central issue will be one of definitional scope: can standard application data, such as a JSON object representing user preferences, be construed as the structurally specific, translatable "code" that constitutes the core of the patented inventions, or does this represent a routine data transaction outside the claim scope?
  • A key factual question will be one of architectural mapping: does the accused client-server system meet the claimed three-entity structure requiring a distinct "terminal machine," "service provider machine," and "update server machine," particularly where the complaint's allegations regarding the identity of the "update server" are unconventional?
  • For the ’995 patent, a crucial question will be one of functional equivalence: does a user accessing their account on a website and later on a mobile app constitute the claimed method of a provider application receiving "code" from a first device and sending different "code" to a second device, or is this a characterization of standard data synchronization in a multi-platform user account?