Highly scalable, fault tolerant remote access architecture and method of connecting thereto

US11310348B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11310348-B2
Application numberUS-201615011183-A
CountryUS
Kind codeB2
Filing dateJan 29, 2016
Priority dateJan 30, 2015
Publication dateApr 19, 2022
Grant dateApr 19, 2022

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Systems and methods for providing a remote access to a service in a client-server remote access system. The method includes selecting, by a scheduler, an application server hosting the service, the selecting being performed in accordance with a utilization of resources in the client-server remote access system. A session Uniform Resource Locator (URL) is created that includes a URL payload that uniquely identifies the service and being used to establish the remote access to the service by a client. The system may include a proxy server accessible at a resource URL. The proxy server receives a request from a client to connect to the service. An authentication component authenticates the request in accordance with a payload of the resource URL. A service manager establishes the session between the client and the service connected at the session URL.

First claim

Opening claim text (preview).

What is claimed: 1. A method for providing remote access to a service in a client-server remote access system, comprising: receiving, at a proxy server, a request from a client to remotely access the service at a resource URL, the request including an application name and a client identifier; authenticating the client in accordance with the client identifier to establish a trust between the client and the service; in response to an authenticated request, selecting, by a scheduler, an application server hosting the service, wherein the scheduler implements one or more selection heuristics to determine which application server to service a remote access connection request, the selection heuristics consisting of: choosing the application server running the fewest number of services or has the lightest load; choosing the longest-running application server that has availability in order to allow unused application servers to be shut down when not being utilized; choosing the application server in accordance with the state of a. preexisting running application, therefore clients will reconnect to previously used application server; creating a session uniform resource locator (URL) that includes a URL payload that uniquely identifies the service hosted on the selected application server; and establishing a remote access session between the client and the selected application server using the session URI., and by passing the URI, payload as a parameter, wherein application data and state information about the running application are communicated between the client and the application server during the remote access session to provide the client remote access to the service. 2. The method of claim 1 , further comprising creating the resource URL prior to the selection of the application server. 3. The method of claim 1 , wherein the URL payload that uniquely identifies the service is an App ID. 4. The method of claim 1 , further comprising: providing a collaboration URL by the authentication component to the client; receiving a second request at the proxy server from a second client using the collaboration URL; and joining the second client to the remote access session. 5. The method of claim 4 , wherein the collaboration URL identifies the selected application server and authenticates the second client. 6. The method of claim 1 , wherein the session URL is mapped to a user associated with the client. 7. The method of claim 1 , further comprising managing resource utilization within the client-server remote access system using the scheduler. 8. The method of claim 7 , wherein the scheduler chooses the application server based on the application server running a fewest number of services. 9. The method of claim 7 , wherein the scheduler chooses the application server based on the application server being a longest-running application server having available capacity. 10. The method of claim 7 , wherein the scheduler chooses the application server based on a state of a preexisting running service on the application server. 11. The method of claim 7 , wherein the scheduler creates the session URL in real-time to direct the client to the application server hosting the service. 12. The method of claim 7 , further comprising providing an orchestrator that starts and stops application servers within the client-server remote access system in accordance with one of load, hardware capacity (e.g., CPU, GPU, memory), networking requirements, cost, or geographic location. 13. The method of claim 12 , further comprising providing information from the scheduler to the orchestrator receives about current resource allocation to automatically start or stop the application server based on demand. 14. A client-server remote access system for providing access to a service, comprising: a proxy server accessible at a resource Uniform Resource Locator (URL), the proxy server receiving a request from a client to connect to the service, the request including an application name and a client identifier; an authentication component that authenticates the request in accordance with the client identifier to establish a trust between the client and the service; a scheduler that selects an application server hosting the service in accordance with one or more selection heuristics that consist of: choosing the application server running the fewest number of services or has the lightest load; choosing the longest-running application server that has availability in order to allow unused application servers to be shut down when not being utilized; choosing the application server in accordance with the state of a. preexisting running application, therefore clients will reconnect to previously used application server; the scheduler creating a session URL that includes the payload that is used to establish a remote access session between the client and the selected application server; and a service manager that establishes the remote access session between the client and the selected application server connected at the session URL in accordance with the authenticated request and the payload, which is passed as a parameter to the authentication component, wherein application data and state information about the running application are communicated between the client and the selected application server during the remote access session. 15. The client-server remote access system of claim 14 , wherein a collaboration URL is provided by the authentication component to the client, wherein a second request is received at the proxy server from a second client using the collaboration URL, and wherein the second client is joined to the session. 16. The client-server remote access system of claim 15 , wherein the collaboration URL identifies the application server and authenticates the second client. 17. The client-server remote access system of claim 14 , wherein resource utilization within the client-server remote access system is managed using the scheduler, and wherein the scheduler chooses the application server based on the application server running a fewest number of services, or chooses the application server based on the application server being a longest-running application server having available capacity, or chooses the application server based on a state of a preexisting running service on the application server. 18. The client-server remote access system of claim 14 , wherein a collaboration URL is provided by the authentication component to the client, the collaboration URL containing a payload parameter to identify the application server wherein a second request is received at the proxy server from a second client using the collaboration URL, and wherein the second client is joined to the session. 19. The client-server remote access system of claim 18 , wherein the collaboration URL authenticates the second client. 20. The client-server remote access system of claim 14 , wherein the scheduler chooses the application server based on one of the following criteria: selecting the application server running a fewest number of services, selecting the application server based on the application server being a longest-running application server having available capacity, or selecting the application server based on a state of a preexisting running service on the application server. 21. The client-server remote access system of claim 14 , wherein the application server creates the session URL in real-time to when making the s

Assignees

Inventors

Classifications

  • Protocols · CPC title

  • H04L63/08Primary

    for authentication of entities (cryptographic mechanisms or cryptographic arrangements for entity authentication H04L9/32) · CPC title

  • Brokering proxy services · CPC title

  • Adding application-functional data or data for application control, e.g. adding metadata · CPC title

  • Discovery or management thereof, e.g. service location protocol [SLP] or web services · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11310348B2 cover?
Systems and methods for providing a remote access to a service in a client-server remote access system. The method includes selecting, by a scheduler, an application server hosting the service, the selecting being performed in accordance with a utilization of resources in the client-server remote access system. A session Uniform Resource Locator (URL) is created that includes a URL payload that…
Who is the assignee on this patent?
Calgary Scient Inc
What technology area does this patent fall under?
Primary CPC classification H04L63/08. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Apr 19 2022 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 6 related publications on this page (citations in our corpus or others sharing the same primary CPC).