IP Library Granted Patent US 9,686,205
Granted Patent B2
US 9,686,205 · App. 14/534,274 · Granted Jun 20, 2017

Method for providing a connection of a client to an unmanaged service in a client-server remote access system

Inventors: Sam Anthony Leitch (Sammamish, WA); Matthew James Stephure (Calgary, CA); Kevin Glen Robinson (Calgary, CA)
Assignee: Calgary Scientific Inc.
H04L47/70H04L67/145H04L67/16H04L69/28
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 9,686,205
App. No.
14/534,274
Granted
Jun 20, 2017
Kind
B2
Abstract

Systems and methods for providing a connection of a client to an unmanaged service in a client-server remote access system. An unmanaged service may register at a remote access server and open a communication connection there between remote access server may be configured for providing remote access to the unmanaged service by a client. The remote access server receives keep-alive messages from the unmanaged service over the communication connection, which may serve to indicate that the unmanaged service is operational. The remote access server may a request for a client connection to the unmanaged service, after which, a terminate keep-alive message is communicated to the unmanaged service to terminate the sending of keep-alive messages from the unmanaged service in response to the request for the client connection to the unmanaged service.

Claims (42)

1. A method for providing connection of a client to an unmanaged service in a client-server remote access system, comprising:

registering the unmanaged service at a remote access server and creating a communication connection there between, the remote access server being configured for providing remote access to the unmanaged service by a client;

receiving keep-alive messages at the remote access server from the unmanaged service over the communication connection;

receiving a request at the remote access server for a client connection to the unmanaged service; and

communicating a terminate keep-alive message from the remote access server to the unmanaged service to terminate the sending of keep-alive messages from the unmanaged service in response to the request for the client connection to the unmanaged service.

2. The method of claim 1 , further comprising executing at the remote access server a monitor thread to receive the keep-alive messages and monitor for the request for the client connection.

3. The method of claim 2 , further comprising:

determining if the keep-alive messages are being sent by the unmanaged service;

starting a timer for a predetermined period of time;

determining if a keep-alive message has been received within the predetermined period of time; and

if the keep-alive message was not received, unregistering the unmanaged service; and

if the keep-alive message was received, canceling the timer and looping back to the determining step.

4. The method of claim 3 , further comprising closing the communication connection.

5. The method of claim 2 , further comprising communicating from the remote access server an acknowledgement to the unmanaged service that the monitor thread has stopped.

6. The method of claim 1 , wherein the unmanaged service executes on a computing device other than the remote access server.

7. The method of claim 1 , wherein the unmanaged service executes on the remote access server.

8. A method for providing a connection of a client to an unmanaged service in a client-server remote access system, comprising:

executing the unmanaged service at a first application server;

opening a communication connection between the unmanaged service and a remote access server;

providing information to a remote access server to register the unmanaged service at the remote access server, the remote access server being configured for providing remote access to the unmanaged service by a client;

communicating keep-alive messages from the unmanaged service to the remote access server over the communication connection; and

terminating the keep-alive messages from the unmanaged service in response to receiving an instruction.

9. The method of claim 8 , further comprising communicating the keep-alive messages from the unmanaged service to the remote access at a predetermined time interval.

10. The method of claim 8 , further comprising executing an output thread and an input thread at the unmanaged service, wherein the output thread sends the keep-alive messages to the remote access server, and wherein the input thread receives an instruction to stop sending the keep-alive messages.

11. The method of claim 10 , further comprising servicing the client connection after terminating the keep-alive messages, the servicing being performed by the input thread and the output thread.

12. The method of claim 8 , wherein the first application server and the remote access server are the same computing device.

13. The method of claim 8 , wherein the first application server is a computing device other than a computing device associated with the remote access server.

14. The method of claim 8 , wherein the instruction is received from a remote access server.

15. The method of claim 14 , wherein the instruction is received in response to a request for a client connection at the remote access server.

16. The method of claim 8 , further comprising:

executing at least a second unmanaged service at at least a second application server;

creating a second communication connection between the at least second unmanaged service and the remote access server;

providing information to a remote access server to register the at least second unmanaged service at the remote access server, the remote access server being configured for providing remote access to the at least second unmanaged service by a client;

communicating keep-alive messages from the at least second unmanaged service to the remote access server over the second communication connection; and

terminating the keep-alive messages from the at least second unmanaged service in response to receiving an instruction.

17. An apparatus for providing a connection of a client to an unmanaged service in a client-server remote access system, further comprising:

a remote access server having a server layer that is a communications proxy for messages sent between the client and the unmanaged service;

an application server executing a service layer associated with the unmanaged service,

wherein the remote access server receives keep-alive messages from the unmanaged service over a communication connection, wherein the remote access server receives a request for a client connection to the unmanaged service, and wherein the remote access server communicates a terminate keep-alive message to the unmanaged service to terminate the sending of keep-alive messages from the unmanaged service in response to the request for the client connection to the unmanaged service.

18. The apparatus of claim 17 , wherein the remote access server executes a monitor thread to receive the keep-alive messages and monitor for the request for the client connection.

19. The apparatus of claim 18 , wherein the remote access server determines if the keep-alive messages are being sent by the unmanaged service by starting a timer for a predetermined period of time, and wherein if the keep-alive message was not received within the predetermined period of time, the remote access server unregisters the unmanaged service.

20. The apparatus of claim 17 , wherein the remote access server and the application server maintain message queues associated with the unmanaged service to communicate messages once the client connection is established.

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 May 15, 2015
From: LEITCH, SAM ANTHONY; STEPHURE, MATTHEW JAMES; ROBINSON, KEVIN GLEN
To: CALGARY SCIENTIFIC INC.
Reel/Frame 035649/0820 →
Continuity (3)
Provisional Application 61910189 · Nov 29, 2013
Provisional Application 61944720 · Feb 26, 2014
Related Publication 20150156133A1 · Jun 4, 2015