Modification of terminal and service provider machines using an update server machine

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.

What is this patent about?

'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.

How does this patent fit in bigger picture?

Technical Landscape

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.

Prosecution Position

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.

Claims

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.

Key Claim Terms New

Definitions of key terms used in the patent claims.

Term (Source)Support for SpecificationInterpretation
Dialogue sequence
(Claim 1, Claim 19, Claim 20)
A system including a terminal machine and a service provider machine is modified using a service provider machine. The terminal machine runs a terminal application. The terminal application is able to display a prompt in a first sequence of prompts and accept a user data entry in an associated first sequence of user data entries.An interaction between a terminal machine and a service provider machine involving prompts and data entries.
First code
(Claim 1, Claim 19, Claim 20)
The terminal application is comprised of a first set of computer-executable instructions and a first set of code. The dialogue module modifies the first and second set of code to produce a first and second set of updated code, respectively. The dialogue module does not modify the first or second set of computer-executable instructions.A portion of the terminal application that is modified by the third code to adapt the terminal application to conduct a modified dialogue sequence.
First updated code
(Claim 1, Claim 19, Claim 20)
The first set of updated code adapts the terminal application to use a second sequence of prompts and a second sequence of data entries. The second set of updated code adapts the provider application to use the second sequence of prompts and the second sequence of data entries.The result of modifying the first code, which adapts the terminal application to conduct a modified dialogue sequence with the service provider machine.
Provider application
(Claim 1, Claim 19, Claim 20)
The service provider machine runs a provider application. The provider application is able to receive the user data entry. The provider application is comprised of a second set of computer-executable instructions and a second set of code.Software running on the service provider machine that handles the service provider machine's part of the dialogue sequence. It includes computer-executable instructions and code and is capable of sending an authorization code to the terminal machine.
Terminal application
(Claim 1, Claim 19, Claim 20)
The terminal machine runs a terminal application. The terminal application is able to display a prompt in a first sequence of prompts and accept a user data entry in an associated first sequence of user data entries. The terminal application is comprised of a first set of computer-executable instructions and a first set of code.Software running on the terminal machine that handles the terminal machine's part of the dialogue sequence. It includes computer-executable instructions and code.

Litigation Cases New

US Latest litigation cases involving this patent.

Case NumberFiling DateTitle
2:25-cv-00172Feb 13, 2025S3G Technology LLC v. Dollar Tree Stores, Inc.

Patent Family

Patent Family

File Wrapper

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

US10387140

Application Number
US16273073A
Filing Date
Feb 11, 2019
Publication Date
Aug 20, 2019
External Links
Slate, USPTO, Google Patents