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

Patent No. US9304758 (titled "Modification of terminal and service provider machines using an update server machine") on Jun 30, 2015. The application was issued on Apr 5, 2016.

What is this patent about?

'758 is related to the field of updating software on remote devices, specifically focusing on adapting transaction dialogues between a terminal and a service provider. The background involves the challenge of modifying software applications distributed across a network, especially when bandwidth is limited or physical access to devices is difficult. Traditional methods require recompiling and redistributing entire applications, which can be inefficient and costly.

The underlying idea behind '758 is to update the dialogue protocol between a terminal and a service provider by sending a small dialogue module that modifies existing code, rather than replacing the entire application. This module contains code that adapts the terminal and service provider applications to use a new sequence of prompts and data entries. Crucially, the core executable instructions of the applications remain unchanged, allowing for efficient updates even over low-bandwidth networks.

The claims of '758 focus on a method, system, and non-transitory computer readable storage medium for conducting a dialogue between a terminal and a service provider. The terminal displays a prompt using a terminal application, accepts user input, and communicates this information to the service provider. The key is receiving a dialogue module that replaces a portion of the existing code in the terminal application. This updated code then adapts the application to display a new prompt, modifying the dialogue sequence.

In practice, the terminal and service provider machines initially run applications with a set of computer-executable instructions and associated code (e.g., Java Bytecode) that define the dialogue. When an update is needed, an update server sends a dialogue module containing new code. This new code replaces or modifies the existing code on both the terminal and service provider machines, effectively changing the prompts, data entry fields, or even the graphical user interface of the transaction. The platform module, which interprets the code, remains untouched, avoiding the need for recompilation.

This approach differentiates itself from prior solutions by avoiding the need to transmit large software updates. Instead of sending an entirely new application, only the dialogue module, which is significantly smaller, needs to be transmitted. This is particularly advantageous in scenarios with limited bandwidth or high communication costs. The use of intermediate code, like Java Bytecode, allows the platform module to interpret the updated code without requiring processor-specific recompilation, making the update process more flexible and efficient.

How does this patent fit in bigger picture?

Technical Landscape

In the late 2000s when ’758 was filed, at a time when updating software on remote mobile devices was typically implemented by redistributing and reinstalling entire compiled application packages. When systems commonly relied on high-bandwidth wired connections for version management rather than efficient delta-based updates, hardware and software constraints made frequent over-the-air modifications non-trivial. During this era, the technical reality of limited wireless data rates meant that transmitting large executable files for every minor functional change was often economically and operationally impractical, particularly for systems managing a high volume of distributed terminals.

Prosecution Position

The examiner allowed the patent because the prior art did not demonstrate a specific method for updating a transaction dialogue between a terminal and a service provider. Specifically, the examiner noted that the prior art lacked the combination of communicating data entries between machines where the service provider uses a specific set of executable instructions and code to manage its part of the dialogue, and the terminal receives a module that replaces only a portion of its existing code to enable a new sequence of prompts. Furthermore, the examiner highlighted that the use of Java Byte Code for the initial and updated code segments was a distinguishing technical feature not found in the earlier records.

Claims

This patent contains 23 claims, with independent claims 1, 16, and 23. The independent claims focus on a method, a system, and a storage medium, respectively, for conducting a dialogue between a terminal machine and a service provider machine, involving updating code modules to modify the dialogue sequence. The dependent claims generally elaborate on and refine the features of the independent claims.

Key Claim Terms New

Definitions of key terms used in the patent claims.

Term (Source)Support for SpecificationInterpretation
First code
(Claim 1, Claim 16, Claim 23)
The terminal application is comprised of a first set of computer-executable instructions and a first set of code. The service provider machine runs a provider application. The provider application is comprised of a second set of computer-executable instructions and a second set of code. The update server machine is able to send a dialogue module to the terminal machine and the service provider machine. 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.Code that, along with the first computer-executable instructions, comprises the terminal application and conducts the terminal machine's portion of the dialogue.
First computer-executable instructions
(Claim 1, Claim 16, Claim 23)
A computerized system may be constructed, which includes electronic hardware, one or more computer processors, and software, which is able to perform system functionality. Typically, the software is written or created as source code and later compiled or converted into computer-executable instructions able to be read and executed by a computer processor without additional translation or adaptation.The computer-executable instructions that, along with the first code, comprise the terminal application.
Java Byte code
(Claim 1, Claim 16, Claim 23)
Virtual machines can be used to provide a method of executing code on a computer system that is not dependent on a specific processor or hardware configuration. When using a virtual machine, a portion of code (typically in the form of source code) is compiled or translated into intermediary code, such as Java Byte Code. The intermediary code is then able to be further translated using the virtual machine, which itself is run on a computer processor (and perhaps also an operating system).A type of code that at least one of the first code, second code, and first updated code comprises.
Second code
(Claim 1, Claim 16, Claim 23)
The terminal application is comprised of a first set of computer-executable instructions and a first set of code. The service provider machine runs a provider application. The provider application is comprised of a second set of computer-executable instructions and a second set of code. The update server machine is able to send a dialogue module to the terminal machine and the service provider machine. 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.Code that, along with the second computer-executable instructions, comprises the provider application and conducts the service provider machine's portion of the dialogue.
Terminal dialogue module
(Claim 1, Claim 16, Claim 23)
The update server machine is able to send a dialogue module to the terminal machine and the service provider machine. 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 module received at the terminal machine that replaces at least a portion of the first code to produce first updated code, which adapts the terminal application to display a second prompt for the terminal machine's portion of a modified dialogue sequence with the service provider machine.

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

US9304758

Application Number
US14788506A
Filing Date
Jun 30, 2015
Publication Date
Apr 5, 2016
External Links
Slate, USPTO, Google Patents