IP Library Granted Patent US 8,589,868
Granted Patent B2
US 8,589,868 · App. 11/315,888 · Granted Nov 19, 2013

Creating a terminal application

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,589,868
App. No.
11/315,888
Granted
Nov 19, 2013
Kind
B2
Abstract

A configuration creator for use in creating a terminal application for a target apparatus. The configuration creator comprises: (i) an indexing routine for examining available software components that can be used in the terminal application and ascertaining possible type-safe relationships for each software component, (ii) a graphical user interface including a control area for displaying classes that can be used in the terminal application, and an association area for creating instances of the displayed classes and allowing type-safe relationships to be established between created instances, and (iii) a file creation routine for creating a configuration file including code describing created instances and relationships established between the created instances. The configuration file can subsequently be parsed to create a terminal application for use in a target apparatus, such as a self-service terminal.

Claims (28)

1. A method of creating a terminal application for use in a target computer, the method comprising:

accessing software components, from libraries, to be used in different terminal applications executed by different target computers having different configurations;

retrieving type information from metadata in classes of said libraries, including interfaces, operations, properties, and events associated with each class within the software components to ascertain type-safe relationships that are possible for each class based upon the type information;

graphically representing each class in a control area of a screen together with type-safe relationship information for that class, each of the classes include one of more properties listing the names of other classes that can be accessed by, or that can access, that particular class;

providing an association area of the screen to allow a user to create on the association area an instance of a class graphically represented on the control area;

allowing a user to establish a relationship between an instance from one class and an instance from a different class only when the relationship is consistent with the type-safe relationship information for both classes;

creating a configuration file describing the created instance and the relationships between the created instances and tailored to the configuration of the target computer

receiving the configuration file at the target computer;

wherein the target computer performs the steps of:

accessing the software components that may be used in the terminal application;

interpreting the configuration file to ascertain instances referenced by that file and relationships between instances referenced by that file; and

creating a run-time executable code of the terminal application, using the configuration file and the software components.

2. A method according to claim 1 , wherein the configuration file further includes operational parameters for each instance.

3. A system for creating a terminal application for use in a target computer, the system comprising:

(1) memory for storing software; and

(2) a processor for executing the software, the software comprising instructions to execute:

(A) a configuration creator executable by a configuration computer operable to (i) retrieve type information from metadata in classes of libraries within software components, the type information including interfaces, operations, properties, and events associated with each class within the libraries, the libraries to be used in different terminal applications executed by different target computers having different configurations, the type information to be used to ascertain type-safe relationships that are possible for each class based upon the type information, a graphical user interface including a control area for displaying classes that can be used in the terminal application together with type-safe relationship information for that class, wherein each of the classes include one of more properties listing the names of other classes that can be accessed by, or that can access, that particular class (ii) allow a user to create an instance of a class, (iii) allow a user to establish a relationship between an instance from one class and an instance from a different class only when the relationship is consistent with the type-safe relationship information for both classes, and (v) create a configuration file describing the created instances and the relationships between the created instances and tailored to the configuration of the target computer; and

(B) a configuration builder executable by the-target computer operable to receive the configuration file, access the software components that may be used in the terminal application, interpret the configuration file to ascertain instances referenced by that file and relationships between instances referenced by that file, and create a run-time executable code of the terminal application, using the configuration file and the software components.

4. A system according to claim 3 , wherein the configuration builder is further operable to ascertain which instances do not depend on other instances, and to create the instances that do not depend on other instances prior to creating instances that do depend on other instances.

5. A system according to claim 3 , wherein the configuration builder is further operable to indicate that the terminal application has been created and is ready to be executed.

6. A configuration creator for use in creating a terminal application for-a target computer, the configuration creator comprising:

(A) memory for storing software;

(B) a processor for executing the software, the software comprising instructions configured to execute:

(i) an indexing routine for examining type information from metadata in classes of libraries within software components, the type information including interfaces, operations, properties, and events associated with classes within the libraries that can be used in different terminal applications executed by different-target computers having different configurations and ascertaining possible type-safe relationships for each software component based upon the type information (ii) a graphical user interface including a control area for displaying classes that can be used in the terminal application, along with type safe relationship information for that class, wherein each of the classes include one of more properties listing the names of other classes that can be accessed by, or that can access, that particular class and an association area for creating instances of the displayed classes and allowing type-safe relationships to be established between created instances, and (iii) a file creation routine for creating a configuration file tailored to the configuration of the target computer including code describing created instances and relationships established between the created instances, so that the configuration file can be parsed by the target computer to create a run-time executable code of a terminal application for use in the target computer using the software components.

7. A configuration creator according to claim 6 , wherein the control area presents available classes to a user.

8. A configuration creator according to claim 6 , wherein the control area allows a user to configure an instance by editing properties associated with that instance.

9. A non-transitory computer readable medium comprising computer executable program instructions for execution by a processor, the instructions comprising instructions for:

(i) examining type information from metadata in classes of libraries within software components, the type information including interfaces, operations, properties, and events associated with available software components, from the libraries, to be used in different terminal applications executed by different target computers having different configurations and ascertaining possible type-safe relationships for each software component based upon the type information (ii) displaying classes that can be used, along with type-safe relationship information for the classes, wherein each of the classes include one of more properties listing the names of other classes that can be accessed by, or that can access, that particular class, creating instances of the displayed classes, and allowing type-safe relationships to be established between created instances, and (iii) creating a configuration file tailored to the configuration of a target computer including code describing created instances and relationships established between the created instances, so that the configuration file can be parsed by the target computer to create a run-time executable code of a terminal application for use in the target computer using the software components.

Assignments (10)
CORRECTIVE ASSIGNMENT TO CORRECT THE THE PROPERTIES SECTION BY INCLUDING IT WITH TEN PREVIOUSLY OMITTED PROPERTY NUMBERS PREVIOUSLY RECORDED ON REEL 65346 FRAME 367. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTEREST. Recorded Aug 13, 2025
From: NCR ATLEOS CORPORATION; CARDTRONICS USA, LLC
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 072445/0072 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 30, 2024
From: NCR VOYIX CORPORATION
To: NCR ATLEOS CORPORATION
Reel/Frame 067590/0109 →
CHANGE OF NAME Recorded May 30, 2024
From: NCR CORPORATION
To: NCR VOYIX CORPORATION
Reel/Frame 067578/0417 →
CORRECTIVE ASSIGNMENT TO CORRECT THE DOCUMENT DATE AND REMOVE THE OATH/DECLARATION (37 CFR 1.63) PREVIOUSLY RECORDED AT REEL: 065331 FRAME: 0297. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTEREST. Recorded Oct 31, 2023
From: NCR ATLEOS CORPORATION
To: CITIBANK, N.A.
Reel/Frame 065627/0332 →
SECURITY INTEREST Recorded Oct 25, 2023
From: NCR ATLEOS CORPORATION; CARDTRONICS USA, LLC
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 065346/0367 →
RELEASE OF PATENT SECURITY INTEREST Recorded Oct 25, 2023
From: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
To: NCR VOYIX CORPORATION
Reel/Frame 065346/0531 →
SECURITY INTEREST Recorded Oct 24, 2023
From: NCR ATLEOS CORPORATION
To: CITIBANK, N.A.
Reel/Frame 065331/0297 →
SECURITY AGREEMENT Recorded Apr 18, 2016
From: NCR CORPORATION; NCR INTERNATIONAL, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 038646/0001 →
SECURITY AGREEMENT Recorded Jan 15, 2014
From: NCR CORPORATION; NCR INTERNATIONAL, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 032034/0010 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 28, 2006
From: MONAGHAN, ANDREW; ROSSMANN, WOLF
To: NCR CORPORATION
Reel/Frame 017772/0001 →