IP Library Granted Patent US 10,334,042
Granted Patent B2
US 10,334,042 · App. 15/868,173 · Granted Jun 25, 2019

Method and system for providing remote access to a state of an application program

Inventors: Monroe Milas Thomas (Toronto, CA); David Bruce McFadzean (Toronto, CA); Michael Beauregard (Calgary, CA); Derek Scherger (Calgary, CA)
Assignee: Calgary Scientific Inc.
H04L67/1095G06F9/52G06F19/00H04L12/12H04L67/42
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 10,334,042
App. No.
15/868,173
Granted
Jun 25, 2019
Kind
B2
Abstract

A method and system for providing remote access to a state of an application executing on a remote server. A client computer includes a client remote access program that is used to connect to a server remote access program. At the client computer, a client difference program having encoded data indicative of a change of a state of the application last received from the server computer is generated and transmitted to the server remote access program. At the server computer, the client difference program is executed to update the state of the application and a server difference program is generated having encoded a difference between the updated state of the application and the state of the application last sent to the client computer. The server difference program is transmitted to the client computer to update the state of the application since it was last received from the server computer.

Claims (37)

1. A method of providing remote access to an application program executing on a server computing device comprising:

executing a server remote access program on the server computer computing device that communicates with the application program;

establishing a remote connection over a network between the server remote access program and a client remote access program executing on a client computing device;

determining changes in state of the application program made by execution of the application program at the server computing device or interaction with the application program at the client computing device;

communicating a difference program over the remote connection that contains data representing the changes in a state of the application program, the difference program capturing the changes in the state of the application program since the state of the application was last received by the server computing device or the client computing device; and

synchronizing the change in the state of the application program between the server computing device and the client computing device using the difference program.

2. The method of claim 1 , further comprising determining the change in the state of the application program in accordance with user inputs received at the client computing device.

3. The method of claim 2 , further comprising:

encoding data indicative of the change in the state of the application program in the difference program; and

communicating the difference program from the client computing device to the server computer.

4. The method of claim 1 , further comprising determining the change in the state of the application program in accordance with execution of the application program.

5. The method of claim 4 , further comprising:

encoding data indicative of the change in the state of the application program in the difference program; and

communicating the difference program from the server computer to the client computing device.

6. The method of claim 1 , further comprising displaying an updated state of the application program at the client computing device using the difference program.

7. The method of claim 1 , further comprising:

establishing, over the network, a second remote connection at the server computer with at least one second client computing device to provide the remote access to the application program;

communicating, over the remote connection, the difference program further containing data representing a change in the state of the application program made by the at least one second client computing device, the difference program further capturing changes in the state of the application program since the state of the application program was last received by the at least one second client computing device; and

synchronizing, between the server computer, the client computing device and the at least one second client computing device, the change in the state of the application program using the difference program.

8. The method of claim 7 , further comprising displaying an updated state of the application program at the client computing device and the at least one second client computing device using the difference program.

9. The method of claim 7 , further comprising:

encoding data indicative of a change in the state of the application program in the difference program; and

communicating the difference program among the server computer, the client computing device and the at least one second client computing device using the difference program.

10. The method of claim 1 , wherein the synchronizing further comprises processing encoded data in the difference program.

11. The method of claim 10 , wherein the encoded data are indicative of at least one of a path to the change in the state of the application program, a type of the change, and a value of the change.

12. The method of claim 1 , further comprising generating view data of the state of the application program.

13. The method of claim 12 , further comprising generating the view data in accordance with hardware capabilities of the client computing device.

14. A method of providing remote access to an application program executing on a server computing device comprising:

executing a server remote access program on the server computer computing device that communicates with the application program;

establishing plural remote connections over a network between the server remote access program and client remote access programs that each are executing on respective client computing devices;

determining changes in state of the application program made by execution of the application program at the server computing device or interaction with the application program at the client computing devices;

communicating a difference program over the remote connections that contains data representing the changes in a state of the application program, the difference program capturing the changes in the state of the application program since the state of the application was last received by the server computing device or the client computing devices; and

synchronizing the change in the state of the application program between the server computing device and the client computing devices using the difference program.

15. The method of claim 14 , further comprising displaying an updated state of the application program at the client computing devices using the difference program.

16. The method of claim 14 , further comprising:

encoding data indicative of a change in the state of the application program in the difference program; and

communicating the difference program among the server computer and the client computing devices.

Assignments (2)
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 Aug 6, 2018
From: THOMAS, MONROE M.; MCFADZEAN, DAVID B.; BEAUREGARD, MICHAEL; SCHERGER, DEREK
To: CALGARY SCIENTIFIC INC.
Reel/Frame 046562/0440 →
Continuity (5)
Continuation 15166515 · May 27, 2016
Continuation 14450491 · Aug 4, 2014
Continuation 12592473 · Nov 25, 2009
Provisional Application 61193423 · Nov 26, 2008
Related Publication 20180234495A1 · Aug 16, 2018