IP Library Granted Patent US 8,869,239
Granted Patent B2
US 8,869,239 · App. 12/546,667 · Granted Oct 21, 2014

Method and system for rendering composite view of an application

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,869,239
App. No.
12/546,667
Granted
Oct 21, 2014
Kind
B2
Abstract

Examples of systems and methods are provided for rendering a composite view of an application. A system may display a local graphical user interface (GUI) and a remote application view associated with a remote application running at a remote server. The system may provide a message directed to a remote server to launch a remote application at the remote server. The system may receive a configuration file from the remote server. The system may register a GUI event listed in the configuration file. The system may display a local GUI based on the configuration file. The system may receive display output data of the remote application running on the remote server. The system may render a composite view including the local GUI based on the configuration file and a remote application view based on the display output data.

Claims (74)

1. A non-transitory machine-readable medium encoded with instructions for rendering, at a local client device, a composite view including a local GUI and a remote application view associated with a remote application of a remote server, the instructions comprising code for:

providing a message directed to a remote server to launch a remote application at the remote server;

facilitating receiving, from the remote server, at a local client device, a configuration file associated with the remote application of the remote server, the configuration file comprising one or more events and one or more control codes corresponding to the one or more events;

registering, at the local client device, a graphical user interface (GUI) event listed in the configuration file, wherein the GUI event corresponds to a specified control code in the configuration file;

facilitating transmitting, to the remote server, the specified control code in the configuration file, wherein the specified control code in the configuration file is static and unchanged, and wherein the configuration file, stored at the local client device, is static and unchanged;

facilitating receiving, from the remote server, in response to the specified control code, display output data of the remote application of the remote server, a remote GUI of the remote application being deactivated in the display output data;

providing for display, on a local display associated with the local client device, of a composite view including a local GUI for controlling the remote application, the local GUI generated by the local client device based on the configuration file, and the composite view further including a remote application view based on the display output data, the local GUI further being associated with the local client device and associated with the remote application of the remote server; and

providing a control message, based on at least one of the one or more control codes, directed to the remote server to control the remote application of the remote server.

2. The non-transitory machine-readable medium of claim 1 , wherein the providing the control message comprises including the at least one of the one or more control codes.

3. The non-transitory machine-readable medium of claim 1 , wherein the displaying comprises constructing a remote application view responsive to a zooming factor.

4. The non-transitory machine-readable medium of claim 1 , wherein the configuration file comprises a data interchangeable format.

5. The non-transitory machine-readable medium of claim 1 , wherein the configuration file comprises a user interface control definition.

6. The non-transitory machine-readable medium of claim 1 , wherein the configuration file comprises information for at least one control GUI component.

7. The non-transitory machine-readable medium of claim 1 , wherein the configuration file comprises a virtual channel command for a GUI event.

8. The non-transitory machine-readable medium of claim 1 , wherein the user action is one or more of touch, scroll, tap, pinch, double-tap and hold.

9. The non-transitory machine-readable medium of claim 1 , wherein the instructions further comprise code for:

authenticating the configuration file.

10. The non-transitory machine-readable medium of claim 1 , wherein the instructions further comprise code for:

decrypting the configuration file.

11. The non-transitory machine-readable medium of claim 1 , wherein the code for receiving the configuration file comprises code for receiving the configuration file using a first transmission protocol and the code for receiving the display output data comprises code for receiving the display output data using a second transmission protocol.

12. The non-transitory machine-readable medium of claim 11 , wherein the first transmission protocol is a text transfer protocol and the second transmission protocol is a remote desktop protocol (RDP).

13. The non-transitory machine-readable medium of claim 1 , wherein the instructions further comprise code for:

fetching user interface information from the remote server.

14. The non-transitory machine-readable medium of claim 1 , wherein the control message is responsive to a user action.

15. The non-transitory machine-readable medium of claim 1 , wherein the code for providing the control message includes code for providing the control message for transmission over a virtual channel to the remote server.

16. The non-transitory machine-readable medium of claim 1 , wherein the code for providing the control message comprises code for providing the control message comprising a virtual channel command received in the configuration file.

17. An apparatus for rendering, at a local client device, a composite view including a local GUI and a remote application view associated with a remote application of a remote server, comprising:

means for providing a message directed to a remote server to launch a remote application at the remote server;

means for facilitating receiving, from the remote server, at a local client device, a configuration file associated with the remote application of the remote server, the configuration file comprising one or more events and one or more control codes corresponding to the one or more events;

means for registering, at the local client device, a graphical user interface (GUI) event listed in the configuration file, wherein the GUI event corresponds to a specified control code in the configuration file;

means for facilitating transmitting, to the remote server, the specified control code in the configuration file, wherein the specified control code in the configuration file is static and unchanged, and wherein the configuration file, stored at the local client device, is static and unchanged;

means for providing for display, at the local client device, of a local GUI associated with the local client device and the remote application of the remote server;

means for facilitating receiving, from the remote server, in response to the specified control code, display output data of the remote application of the remote server, a remote GUI of the remote application being deactivated in the display output data;

means for providing for display, on a local display associated with the local client device, of a composite view including a local GUI for controlling the remote application, the local GUI generated by the local client device based on the configuration file, and the composite view further including a remote application view based on the display output data; and

means for providing a control message, based on at least one of the one or more control codes, directed to the remote server to control the remote application of the remote server.

18. A machine-implemented method of rendering at a local client device a composite view including a local GUI and a remote application view associated with a remote application of a remote server, the method comprising:

providing a message directed to a remote server to launch a remote application at the remote server;

facilitating receiving, from the remote server, at a local client device, a configuration file associated with the remote application of the remote server, the configuration file comprising one or more events and one or more control codes corresponding to the one or more events;

registering, at the local client device, a graphical user interface (GUI) event listed in the configuration file, wherein the GUI event corresponds to a specified control code in the configuration file;

facilitating transmitting, to the remote server, the specified control code in the configuration file, wherein the specified control code in the configuration file is static and unchanged, and wherein the configuration file, stored at the local client device, is static and unchanged;

providing for display, at the local client device, of a local GUI associated with the local client device and the remote application of the remote server;

facilitating receiving, from the remote server, in response to the specified control code, display output data of the remote application of the remote server, a remote GUI of the remote application being deactivated in the display output data;

providing for display, on a local display associated with the local client device, of a composite view including a local GUI for controlling the remote application, the local GUI generated by the local client device based on the configuration file, and the composite view further including a remote application view based on the display output data; and

providing a control message, based on at least one of the one or more control codes, directed to the remote server to control the remote application of the remote server.

19. A system for rendering at a local client side a composite view including a local GUI and a remote application view associated with a remote application of a remote server, the system comprising:

an application launch module configured to provide a message directed to a remote server to launch a remote application at the remote server;

a configuration file processing module configured to facilitate receiving a configuration file from the remote server, the configuration file associated with the remote application of the remote server, the configuration file comprising one or more events and one or more control codes corresponding to the one or more events;

an event registration module configured to register, at a local client side, a graphical user interface (GUI) event listed in the configuration file, wherein the GUI event corresponds to a specified control code in the configuration file;

a remote access module configured to facilitate transmitting, to the remote server, the specified control code in the configuration file, wherein the specified control code in the configuration file is static and unchanged, and wherein the configuration file, stored at the local client side, is static and unchanged;

a local GUI module configured to provide for display of a local GUI based on the configuration file, the local GUI associated with the system and associated with the remote application of the remote server, a remote GUI of the remote application being deactivated in the display output data;

a GUI receiver module configured to receive, from the remote server, in response to the specified control code, display output data of the remote application of the remote server;

a display view module configured to provide, to a local display associated with the local client side, a composite view including the local GUI for controlling the remote application, the local GUI generated by the local client device based on the configuration file, and the composite view further including a remote application view based on the display output data; and

a control message generation module configured to provide a control message, based on at least one of the one or more control codes, directed to the remote server to control the remote application of the remote server.

20. The system of claim 19 , further comprising:

the local display;

a processing system; and

a machine-readable medium comprising:

a remote access module;

the application launch module;

the configuration file processing module;

the event registration module; the local GUI module;

the GUI receiver module; and

the control message generation module.

21. The non-transitory machine-readable medium of claim 1 , wherein the instructions comprise code for supporting the remote server configurable with a master agent module and a plurality of slave agent modules, wherein a specified slave agent module from among the plurality of slave agent modules is associated with the remote application, wherein the master agent module of the remote server is adapted for: facilitating receiving, from the local client device, the specified control code, determining that the specified control code is associated with the remote application, and providing, in response to determining that the specified control code is associated with the remote application, the specified control code to the specified slave agent module, and wherein the specified slave agent module is adapted for: receiving, from the master agent module, the specified control code, and facilitating transmitting, to the local client device, in response to the specified control code, the display output data of the remote application.

22. A system for rendering a composite view including a local GUI and a remote application view associated with a remote application of a remote server, the system comprising:

an application launch module configured to provide a message directed to a remote server to launch a remote application at the remote server;

a configuration file processing module configured to facilitate receiving a configuration file from the remote server, the configuration file associated with the remote application of the remote server, the configuration file comprising one or more events and one or more control codes corresponding to the one or more events;

an event registration module configured to register, at a local client side, a graphical user interface (GUI) event listed in the configuration file, wherein the GUI event corresponds to a specified control code in the configuration file;

a remote access module configured to facilitate transmitting, to the remote server, the specified control code in the configuration file, wherein the specified control code in the configuration file is static and unchanged, and wherein the configuration file, stored at the local client side, is static and unchanged;

a local GUI module configured to provide for display of a local GUI based on the configuration file, the local GUI associated with the system and associated with the remote application of the remote server;

a GUI receiver module configured to receive, from the remote server, in response to the specified control code, display output data of the remote application of the remote server, a remote GUI of the remote application being deactivated in the display output data;

a display view module configured to provide, to a local display associated with the local client side, a composite view including the local GUI for controlling the remote application, the local GUI generated by the local client device based on the configuration file, and the composite view further including a remote application view based on the display output data; and

a control message generation module configured to provide a control message, based on at least one of the one or more control codes, directed to the remote server to control the remote application of the remote server,

wherein the system is configured to support the remote server comprising a processing system configurable with a master agent module and a plurality of slave agent modules, wherein a specified slave agent module from among the plurality of slave agent modules is associated with the remote application, wherein the master agent module of the remote server is adapted for: facilitating receiving, from the local client device, the specified control code, determining that the specified control code is associated with the remote application, and providing, in response to determining that the specified control code is associated with the remote application, the specified control code to the specified slave agent module, and wherein the specified slave agent module is adapted for: receiving, from the master agent module, the specified control code, and facilitating transmitting, to the local client device, in response to the specified control code, the display output data of the remote application.

Assignments (17)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
MERGER Recorded May 13, 2022
From: WYSE TECHNOLOGY L.L.C.
To: DELL MARKETING CORPORATION
Reel/Frame 060064/0586 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061324/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 3, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL, L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058216/0001 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 14, 2016
From: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040065/0618 →
RELEASE OF SECURITY INTEREST Recorded Sep 14, 2016
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040040/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 13, 2016
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLANT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040065/0216 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Jan 2, 2014
From: APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS FIRST LIEN COLLATERAL AGENT
Reel/Frame 031897/0348 →
PATENT SECURITY AGREEMENT (ABL) Recorded Jan 2, 2014
From: DELL INC.; APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 031898/0001 →
PATENT SECURITY AGREEMENT (TERM LOAN) Recorded Jan 2, 2014
From: DELL INC.; APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 031899/0261 →
CHANGE OF NAME Recorded Nov 15, 2013
From: WYSE TECHNOLOGY INC.
To: WYSE TECHNOLOGY L.L.C.
Reel/Frame 031645/0051 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2009
From: PAHLAVAN, BABAK; MADARAKAL, NANDAKUMAR SARUN; NICHOLSON, RONALD H, JR.; BARRETO, DANIEL ERNESTO
To: WYSE TECHNOLOGY INC.
Reel/Frame 023492/0633 →