IP Library Granted Patent US 8,316,122
Granted Patent B2
US 8,316,122 · App. 13/303,962 · Granted Nov 20, 2012

Method and system for providing remote access to applications

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,316,122
App. No.
13/303,962
Granted
Nov 20, 2012
Kind
B2
Abstract

A method of remotely providing an application includes receiving, at an access server, a request for an application from a client. One or more application servers which are capable of providing the requested application are identified base at least in part on a resource of the identified one or more application servers. The client is provided with the identified one or more application servers which are capable of providing the application.

Claims (36)

1. A method comprising:

receiving, by an access server, a request, from a client, to access an application;

determining at least one resource of the client;

identifying one or more application servers capable of providing the requested application;

selecting one of the one or more application servers based, at least in part, on the at least one resource of the client;

requesting the selected application server to execute the requested application; and

providing access to the executing application on the selected application server to the client.

2. The method of claim 1 , wherein providing access to the executing application on the selected application server to the client comprises streaming at least a portion of a graphical user interface of the executing application and advertisements to the client, wherein the at least one resource of the client comprises a user preference indicating a preference for lowest cost.

3. The method of claim 1 , wherein selecting the one of the one or more application servers comprises selecting the one of the one or more application servers based, at least in part, on proximity, wherein the at least one resource of the client comprises the proximity of the client to the one of the one or more application servers.

4. The method of claim 1 , wherein selecting the one of the one or more application servers comprises selecting the one of the one or more application servers based, at least in part, on ability of the one of the one or more application servers to approximate a desired level of performance of application execution when compared to other application servers of the one or more application servers, wherein the at least one resource of the client comprises a user preference indicating the desired level of performance of application execution.

5. The method of claim 1 , wherein selecting the one of the one or more application servers based, at least in part, on the at least one resource of the client comprises generating a list of candidate application servers of the one or more application servers and selecting the one of the one or more application servers from the list.

6. The method of claim 1 , wherein selecting the one of the one or more application servers comprises determining at least one limitation of the client based on the at least one resource of the client and selecting the one of the one or more application servers based, at least in part, on at least one resource of the one or more application servers and the limitation of the client.

7. The method of claim 1 , wherein providing access of the executing application on the selected application server to the client comprises streaming a display of at least a portion of a graphical user interface of the executing application to the client.

8. The method of claim 7 , wherein the streaming the display of the at least the portion of the graphical user interface of the executing application to the client comprises streaming the display of the at least the portion of the graphical user interface to an active display of the client.

9. The method of claim 7 , wherein the streaming the display of the at least the portion of the graphical user interface of the executing application to the client comprises dividing a display of the client into a plurality of segments and streaming the display of the at least the portion of the graphical user interface to a subset of the plurality of segments.

10. The method of claim 7 , wherein the streaming the display of the at least the portion of the graphical user interface of the executing application to the client comprises determining a visible portion of an active application window of the client and streaming the display of the at least the portion of the graphical user interface to the visible portion of the active application window of the client.

11. A system comprising:

an access server comprising:

memory; and

a processor configured to receive, by the access server, a request, from a client, to access an application, to determine at least one resource of the client, to identify one or more application servers capable of providing the requested application, to select one of the one or more application servers based, at least in part, on the at least one resource of the client, to request the selected application server to execute the requested application, and to provide access to the executing application on the selected application server to the client.

12. The system of claim 11 , wherein the processor configured to provide access to the executing application on the selected application server to the client comprises the processor configured to stream at least a portion of a graphical user interface of the executing application and advertisements to the client, wherein the at least one resource of the client comprises a user preference indicating a preference for lowest cost.

13. The system of claim 11 , wherein the processor configured to select the one of the one or more application servers comprises the processor configured to select the one of the one or more application servers based, at least in part, on proximity, wherein the at least one resource of the client comprises the proximity of the client to the one of the one or more application servers.

14. The system of claim 11 , wherein the processor configured to select the one of the one or more application servers comprises the processor configured to select the one of the one or more application servers based, at least in part, on ability of the one of the one or more application servers to approximate a desired level of performance of application execution when compared to other application servers of the one or more application servers, wherein the at least one resource of the client comprises a user preference indicating the desired level of performance of application execution.

15. The system of claim 11 , wherein the processor configured to select the one of the one or more application servers based, at least in part, on the at least one resource of the client comprises the processor configured to generate a list of candidate application servers of the one or more application servers and to select the one of the one or more application servers from the list.

16. The system of claim 11 , wherein the processor configured to select the one of the one or more application servers comprises the processor configured to determine at least one limitation of the client based on the at least one resource of the client and to select the one of the one or more application servers based, at least in part, on at least one resource of the one or more application servers and the limitation of the client.

17. The system of claim 11 , wherein the processor configured to provide access of the executing application on the selected application server to the client comprises the processor configured to stream a display of at least a portion of a graphical user interface of the executing application to the client.

18. The system of claim 17 , wherein the processor configured to stream the display of the at least the portion of the graphical user interface of the executing application to the client comprises the processor configured to stream the display of the at least the portion of the graphical user interface to an active display of the client.

19. The system of claim 17 , wherein the processor configured to stream the display of the at least the portion of the graphical user interface of the executing application to the client comprises the processor configured to divide a display of the client into a plurality of segments and to stream the display of the at least the portion of the graphical user interface to a subset of the plurality of segments.

20. The system of claim 17 , wherein the processor configured to stream the display of the at least the portion of the graphical user interface of the executing application to the client comprises the processor configured to determine a visible portion of an active application window of the client and to stream the display of the at least the portion of the graphical user interface to the visible portion of the active application window of the client.

21. A non-transitory computer readable medium comprising executable instructions, the instructions executable by a processor to perform a method, the method comprising:

receiving, by an access server, a request, from a client, to access an application;

determining at least one resource of the client;

identifying one or more application servers capable of providing the requested application;

selecting one of the one or more application servers based, at least in part, on the at least one resource of the client;

requesting the selected application server to execute the requested application; and

providing access to the executing application on the selected application server to the client.

Assignments (5)
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: DROPBOX, INC.
Reel/Frame 069635/0332 →
SECURITY INTEREST Recorded Dec 12, 2024
From: DROPBOX, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 069604/0611 →
PATENT SECURITY AGREEMENT Recorded Mar 10, 2021
From: DROPBOX, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 055670/0219 →
CHANGE OF NAME Recorded Dec 11, 2015
From: APPTOU TECHNOLOGIES LTD
To: CLOUDON LTD
Reel/Frame 037277/0384 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 10, 2012
From: BINYAMIN, SHUKI
To: APPTOU TECHNOLOGIES LTD
Reel/Frame 028521/0572 →