IP Library Granted Patent US 8,949,378
Granted Patent B2
US 8,949,378 · App. 13/425,496 · Granted Feb 3, 2015

Method and system for providing a state model of an application program

Inventors: Pierre Joseph Lemire (Calgary, CA); Monroe Milas Thomas (Calgary, CA); Matthew James Stephure (Calgary, CA); David Bruce McFadzean (Canmore, CA); Kevin Glen Robinson (Calgary, CA); Glen Lehmann (Crossfield, CA)
Assignee: Calgary Scientific Inc.
G06F8/70H04L67/025G06F9/541
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,949,378
App. No.
13/425,496
Granted
Feb 3, 2015
Kind
B2
Abstract

Methods and apparatuses for enabling remote access to an application program via a computer network provided. Logical elements of the application program may be determined, from which a state model of the application program may be developed. A remote access program updates the state model in accordance with user input data received from a user interface program, generates control data in accordance with the updated state model and provides the same to the application program. The state model may be updated in accordance with application data received from the application program, application representation data in accordance with the updated state model are generated and provided to the user interface program for display at, e.g., a remote client computing device. The application program may be a legacy mainframe application to which remote access is provided without the need to modify the source code of the mainframe application.

Claims (61)

1. A server-based method for providing remote access to a mainframe application program executing on a mainframe computer over a communication network, comprising:

determining logical elements of the application program;

determining a state model in accordance with the logical elements of the application program, the state model providing an association of logical elements of the application program with corresponding states of the application program;

generating a remote access program in accordance with the state model, the remote access program updating the state model in accordance with data received from a user interface program and updating the state model in accordance with application data received from the application program;

providing application data generated by the mainframe application to a terminal emulator program executing on a server computer communicatively connected to the mainframe computer;

providing application data from the terminal emulator program to the remote access program to update the state model and to generate application representation data and

providing the application representation data to the user interface program; and

generating the user interface program to enable remote interaction with the application program.

2. The method of claim 1 , further comprising determining the logical elements by launching the application program.

3. The method of claim 1 , further comprising determining the logical elements by accessing a database and retrieving the logical elements.

4. The method of claim 1 , further comprising:

representing the logical elements in a hierarchical representation of user interface elements;

assigning each logical element a unique ID; and

labeling each logical element.

5. The method of claim 1 , further comprising representing the logical elements in an Extensible Markup Language (XML) document.

6. The method of claim 1 , wherein the logical elements are associated with user interactions.

7. The method of claim 6 , wherein the logical elements comprise transition elements, and wherein each transition element relates a change of the state model to one of control data and application representation data associated therewith.

8. The method of claim 1 , further comprising making the user interface program accessible at a Uniform Resource Locator (URL).

9. The method of claim 1 , further comprising:

receiving an input at the user interface program;

updating the state model at the remote access program in accordance with the input and generating control data;

providing control data to the terminal emulator program; and

providing the control data to the mainframe application.

10. An apparatus for providing remote access to a mainframe application over a communication network, comprising:

a network interface device that interfaces with the communication network;

a memory that stores computer executable instructions; and

a processor that executes the computer executable instructions to:

determine logical elements of the mainframe application;

determine a state model in accordance with the logical elements of the mainframe application, the state model providing an association of logical elements of the mainframe application with corresponding states of the mainframe application;

generate a remote access program in accordance with the state model, the remote access program updating the state model in accordance with data received from a user interface program and updating the state model in accordance with application data received from the mainframe application;

provide application data generated by the mainframe application to a terminal emulator program executing on a server computer communicatively connected to a mainframe computer;

provide application data from the terminal emulator program to the remote access program to update the state model and to generate application representation data;

provide the application representation data to the user interface program; and

generate the user interface program to enable remote interaction with the mainframe application.

11. The apparatus of claim 10 , wherein the processor further executes computer executable instructions to:

represent the logical elements in a hierarchical representation of user interface elements;

assign each logical element a unique ID; and

label each logical element.

12. The apparatus of claim 10 , wherein the processor further executes computer executable instructions to make the user interface program available at a Uniform Resource Locator (URL).

13. The apparatus of claim 10 , wherein the processor further executes computer executable instructions to:

receive an input at the user interface program;

update the state model at the remote access program in accordance with the input and generating control data;

provide control data to the terminal emulator program; and

provide the control data to the mainframe application.

14. A method for providing remote access to an application program via a computer network comprising:

determining logical elements of the application program, the application program being executed on a mainframe computer connected to the computer network;

determining a state model of the application program in accordance with the logical elements;

providing application data generated by the application program to a terminal emulator program executing on a server computer communicatively connected to the mainframe computer; and

generating a remote access program at the server computer in accordance with the state model, the remote access program:

updating the state model in accordance with input data received from the terminal emulator program;

generating control data in accordance with the updated state model and providing the control data to the application program;

updating the state model in accordance with application data received from the application program;

generating application representation data in accordance with the updated state model; and

providing the application representation data to the user interface program.

15. The method of claim 14 , further comprising:

representing the logical elements in a hierarchical representation of user interface elements;

assigning each logical element a unique ID; and

labeling each logical element.

16. The method of claim 14 , further comprising representing the logical elements in an Extensible Markup Language (XML) document.

17. The method of claim 14 , wherein the logical elements are associated with user interactions.

18. The method of claim 14 , further comprising making the user interface program available at a Uniform Resource Locator (URL).

Assignments (3)
SECURITY AGREEMENT Recorded May 1, 2025
From: RESOLUTIONMD, INC.
To: ARES CAPITAL CORPORATION, AS COLLATERAL AGENT
Reel/Frame 071150/0555 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 29, 2024
From: CALGARY SCIENTIFIC INC.
To: RESOLUTIONMD, INC.
Reel/Frame 067914/0636 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 10, 2012
From: LEMIRE, PIERRE JOSEPH; THOMAS, MONROE MILAS; STEPHURE, MATTHEW JAMES; MCFADZEAN, DAVID BRUCE; ROBINSON, KEVIN GLEN; LEHMANN, GLEN
To: CALGARY SCIENTIFIC INC.
Reel/Frame 028189/0250 →
Priority Claims (1)
CA 2734860 · Mar 21, 2011 · national
Continuity (2)
Provisional Application 61487598 · May 18, 2011
Related Publication 20120246225A1 · Sep 27, 2012