Patent No. US10387140 (titled "Modification of terminal and service provider machines using an update server machine") on Feb 11, 2019. The application was issued on Aug 20, 2019.
'140 is related to the field of software updates for distributed systems, particularly those involving a client-server architecture. The background involves the challenge of updating software applications on remote devices, especially when bandwidth is limited or physical access is difficult. Traditional methods require transmitting large, recompiled applications, which is inefficient and costly for systems distributed over wide areas, such as mobile devices on wireless networks. The problem is how to efficiently modify the dialogue between a terminal and a service provider without pushing out a full software update.
The underlying idea behind '140 is to update the dialogue protocol between a client (terminal) and a server (service provider) by sending small code snippets, called dialogue modules, that modify the application's behavior without requiring a full recompile or software update. This is achieved by separating the core application logic (computer-executable instructions) from the dialogue definition (code). The dialogue module contains code that is interpreted by the core application logic, allowing for dynamic modification of the user interface and data exchange without altering the underlying application structure.
The claims of '140 focus on a method, a terminal machine, and a non-transitory computer readable storage medium for conducting a dialogue sequence between a terminal and a service provider. The key elements include displaying a prompt, receiving data entry, communicating data to the service provider, storing the data for analysis, and receiving code that modifies the terminal application to adapt to a modified dialogue sequence. A crucial aspect is that the code update is triggered by a specific condition and comes from a separate update server. The terminal and service provider machines have different processors, and the core application logic is fully compiled.
In practice, the invention allows for rapid customization and adaptation of applications in response to changing business needs or user requirements. For example, a bank could quickly update the prompts and data entry fields on an ATM interface by sending a small dialogue module, without requiring customers to download a new version of the ATM software. This is particularly useful for applications that need to be tailored to specific locations or user groups, or for A/B testing different user interface designs. The stored data can be analyzed to determine how users interact with the application, and the dialogue can be further refined based on these insights.
The differentiation from prior approaches lies in the separation of concerns between the application's core logic and the dialogue definition. Instead of recompiling and redistributing the entire application for every change, only the dialogue module needs to be updated. This significantly reduces the size of the update and the time required to deploy it. Furthermore, the use of intermediate code interpreted by a platform module allows for cross-platform compatibility, as the same dialogue module can be used on different devices with different processors, as long as they have the appropriate platform module. The trigger condition ensures that updates are only applied when necessary, further optimizing bandwidth usage and minimizing disruption to the user experience.
In the late 2000s when ’140 was filed, the technical landscape was characterized by the increasing deployment of mobile devices at a time when software updates were typically implemented using full binary overwrites. When systems commonly relied on high-bandwidth wired connections for maintenance, hardware and software constraints made the frequent distribution of large, compiled executable files over wireless telecommunications networks non-trivial due to significant bandwidth costs and slow transfer rates. During this era, engineering practices generally required developers to recompile source code into machine-specific instructions, which created a dependency between the software and the underlying processor architecture, complicating the management of uniform updates across heterogeneous device fleets.
The examiner allowed the application because the claims specify a unique method for updating remote devices without modifying their core compiled machine code. Specifically, the approval was based on the combination of storing data entry information for analysis and receiving a specific update code from a separate server when a trigger condition is met. This update code modifies only a portion of the application's logic to change the user dialogue sequence. Furthermore, the examiner noted that the system involves a terminal and a service provider machine that use different types of processors, meaning the compiled executable code from one cannot run on the other, yet both are updated by the same separate server to conduct a modified dialogue sequence.
This patent contains 20 claims, with independent claims numbered 1, 19, and 20. The independent claims are generally directed to a method, a terminal machine, and a non-transitory computer readable storage medium for conducting a dialogue sequence between a terminal machine and a service provider machine, where the terminal application can be updated. The dependent claims generally elaborate on and add detail to the elements and steps recited in the independent claims.
Definitions of key terms used in the patent claims.
US Latest litigation cases involving this patent.

The dossier documents provide a comprehensive record of the patent's prosecution history - including filings, correspondence, and decisions made by patent offices - and are crucial for understanding the patent's legal journey and any challenges it may have faced during examination.
Get instant alerts for new documents