IP Library Granted Patent US 9,106,649
Granted Patent B2
US 9,106,649 · App. 12/301,767 · Granted Aug 11, 2015

Method and system for efficient remote application provision

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,106,649
App. No.
12/301,767
Granted
Aug 11, 2015
Kind
B2
Abstract

A method of remotely providing an application includes identifying a visible portion of a first application window on a display of a client. A data stream corresponding only to the visible portion of the first application window is received. The received data stream is provided to the client such that the visible portion of the first application window is able to be presented on the display.

Claims (39)

1. A method, comprising:

receiving, at a server system from a client system, information identifying a visible portion of a first application window being presented on a display of the client system and information identifying a visible portion of a second application window being presented on the display of the client system, the first application window being dedicated to a first single application and the second application window being dedicated to a second single application;

receiving, at the server system, a first application data stream provided by a first application server and a second application data stream provided by a second application server, the first application data stream comprising graphic commands regarding presenting functionality of the first application the second data stream comprising graphic commands regarding presenting functionality of the second application;

rendering, based on at least some of the graphic commands of the first application data stream from the first application server, a first presentation video stream corresponding to the visible portion of the first application window;

rendering, based on at least some of the graphic commands of the second application data stream from the second application server, a second presentation video stream corresponding to the visible portion of the second application window; and

providing the first presentation video stream and the second presentation video stream from the server system to the client system for presentation of the visible portion of the first application window and the visible portion of the second application window;

wherein the server system is remote from the first application server, the second application server, and the client system, the client system being remote from the first application server and the second application server.

2. The method of claim 1 , further comprising:

generating a data structure for conveying a location of the visible portion of the first application window within the display of the client system.

3. The method of claim 2 , wherein the data structure comprises a matrix corresponding to pixels contained within the display.

4. The method of claim 1 , further comprising identifying a non-visible portion of the first application window.

5. The method of claim 4 , wherein the non-visible portion of the first application window is covered at least in part by the second application window, and further wherein the second application window is one of a plurality of application windows.

6. The method of claim 5 , wherein the first application window has a first display priority and the second application window has a second display priority, and further wherein the second display priority is higher than the first display priority.

7. The method of claim 4 , wherein at least a portion of the non-visible portion of the first application window is outside of a display boundary.

8. The method of claim 1 , wherein the visible portion of the first application window is identified using a detection application.

9. The method of claim 1 , further comprising establishing a communication channel with the client system.

10. The method of claim 1 , wherein the step of remotely providing the first presentation video stream and the second presentation video stream comprises:

combining the first presentation video stream and the second presentation video stream to form a combined video stream; and

providing the combined video stream to the client system.

11. The method of claim 1 , wherein the server system comprises the first application server and the second application server, and the first presentation video stream is provided by the first application server and the second presentation video stream is provided by the second application server.

12. The method of claim 1 , wherein the first presentation video stream and the second presentation video stream are both provided by the first application server.

13. The method of claim 1 , further comprising:

receiving an audio preference from the client system regarding whether audio content corresponding to the first application window is to be provided; and

providing the audio content corresponding to the first application window if the received audio preference is affirmative.

14. The method of claim 1 , further comprising automatically providing audio content corresponding to the first application window if the first application window comprises an active application window.

15. A method, comprising:

identifying, by a server system, a first application window presented on a display of a client system and a second application window-presented on the display of the client system, the first application window comprising a first display priority and being dedicated to a first single application, the second application window comprising a second display priority and being dedicated to a second single application;

receiving, at the server system, a first application data stream provided by a first application server and a second application data stream provided by a second application server, the first application server and the second application server being separate from the server system, the first application data stream comprising graphic commands regarding presenting functionality of the first application, and the second application data stream comprising graphic commands regarding presenting functionality of the second application;

rendering, based on at least some of the graphic commands of the first application data stream from the first application server, a first presentation video stream corresponding to a visible portion of the first application window;

rendering, based on at least some of the graphic commands of the second application data stream from the second application server, a second presentation video stream corresponding to a visible portion of the second application window; and

providing, by the server system, to the client system the first presentation video stream and the second presentation video stream for presentation of the visible portion of the first application window and the visible portion of the second application window,

wherein the server system is remote from the first application server, the second application server, and the client system, the client system being remote from the first application server and the second application server.

16. The method of claim 15 , wherein

the second display priority is greater than the first display priority.

17. The method of claim 15 , wherein the second application window overlaps at least a portion of a non-visible portion of the first application window.

18. The method of claim 15 , wherein providing the client system with the first presentation video stream comprises:

encoding the single application corresponding to the first application window as video;

compressing the video; and

streaming the compressed video to the client system.

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/0365 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 13, 2010
From: BINYAMIN, SHUKI
To: APPTOU TECHNOLOGIES LTD
Reel/Frame 025495/0405 →