Delivery of a user interface using hypertext transfer protocol
First Claim
Patent Images
1. A method in a server for providing remote access to an application, the method comprising:
- maintaining a mapping between a plurality of (Uniform Resource Locators) URLs and a corresponding plurality of applications;
receiving a URL from a user executing a user interface on a client device remote from the server and remote from the corresponding plurality of applications;
identifying one application of the corresponding plurality of applications, the one application corresponding to the received URL;
remoting the one application over a sequence of Hypertext Transfer Protocol (HTTP) requests and responses to the user via a remoting protocol, by;
receiving a first HTTP request for a graphical user interface (GUI) of the one application;
encoding a region of a server-side frame buffer containing image data corresponding to the GUI of the one application;
sending the encoded region of the server-side frame buffer to the client device in response to the first HTTP request, wherein the client device renders the encoded region and generates a second HTTP request for an update to the server-side frame buffer in response to completing the rendering of the encoded region;
receiving, from the client device, the second HTTP request subsequent to the first HTTP request for an update to the GUI of the one application;
in response to the second HTTP request, computing a difference between the server-side frame buffer and a client-side frame buffer to identify modified image data;
sending to the client device the modified image data in response to the second HTTP request;
receiving, from the client device, an HTTP user interface (UI) interpretation message that indicates how an Internet browser on the client device interprets contents of the client-side frame buffer, wherein the HTTP UI interpretation message is used to transform a screen capture process on the server according to capabilities of the Internet browser of the client; and
adjusting the screen capture process on the server based on the HTTP UI interpretation message received from the client device, wherein the adjusting the screen capture process includes invoking a request to an operating system and graphics driver on the server to change a capture of a bitmap image in the frame buffer of the server according to information contained in the HTTP UI interpretation message.
4 Assignments
0 Petitions
Accused Products
Abstract
A method is provided to remotely access an application hosted by a server and having a corresponding application graphical user interface (GUI) represented on the server, the method comprising: a client automatically sending GUI display update requests to the server throughout a duration of the access, the requests being HTTP requests over corresponding HTTP connections.
-
Citations
18 Claims
-
1. A method in a server for providing remote access to an application, the method comprising:
-
maintaining a mapping between a plurality of (Uniform Resource Locators) URLs and a corresponding plurality of applications; receiving a URL from a user executing a user interface on a client device remote from the server and remote from the corresponding plurality of applications; identifying one application of the corresponding plurality of applications, the one application corresponding to the received URL; remoting the one application over a sequence of Hypertext Transfer Protocol (HTTP) requests and responses to the user via a remoting protocol, by; receiving a first HTTP request for a graphical user interface (GUI) of the one application; encoding a region of a server-side frame buffer containing image data corresponding to the GUI of the one application; sending the encoded region of the server-side frame buffer to the client device in response to the first HTTP request, wherein the client device renders the encoded region and generates a second HTTP request for an update to the server-side frame buffer in response to completing the rendering of the encoded region; receiving, from the client device, the second HTTP request subsequent to the first HTTP request for an update to the GUI of the one application; in response to the second HTTP request, computing a difference between the server-side frame buffer and a client-side frame buffer to identify modified image data; sending to the client device the modified image data in response to the second HTTP request; receiving, from the client device, an HTTP user interface (UI) interpretation message that indicates how an Internet browser on the client device interprets contents of the client-side frame buffer, wherein the HTTP UI interpretation message is used to transform a screen capture process on the server according to capabilities of the Internet browser of the client; and adjusting the screen capture process on the server based on the HTTP UI interpretation message received from the client device, wherein the adjusting the screen capture process includes invoking a request to an operating system and graphics driver on the server to change a capture of a bitmap image in the frame buffer of the server according to information contained in the HTTP UI interpretation message. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A server for providing remote access to an application, comprising:
-
a memory; a processor; instructions stored in the memory and configured, when executed by the processor, to; receive a Uniform Resource Locator (URL) from a user executing a user interface on a client device remote from the server; identify an application of a plurality of applications that corresponds to the received URL; and a Graphical User Interface (GUI) update response control module stored in the memory and configured, when executed on the processor, to remote the application to the user via a remoting protocol over a sequence of Hypertext Transfer Protocol (HTTP) requests and responses by; receiving a first HTTP request for a graphical user interface (GUI) of the application; encoding a region of a server-side frame buffer containing image data corresponding to the GUI of the application; sending the encoded region of the server-side frame buffer to the client device in response to the first HTTP request, wherein the client device renders the encoded region and generates a second HTTP request for an update to the server-side frame buffer in response to completing the rendering of the encoded region; receiving a second HTTP request for an update to the GUI of the application, the second HTTP request subsequent to the first HTTP request; in response to the second HTTP request, computing a difference between the server-side frame buffer and a client-side frame buffer to identify modified image data; sending to the client device, in response to the second HTTP request, the modified image data; receiving, from the client device, an HTTP user interface (UI) interpretation message that indicates how an Internet browser on the client device interprets contents of the client-side frame buffer, wherein the HTTP UI interpretation message is used to transform a screen capture process on the server according to capabilities of the Internet browser of the client; and adjusting the screen capture process on the server based on the HTTP UI interpretation message received from the client device, wherein the adjusting the screen capture process includes invoking a request to an operating system and graphics driver on the server to change a capture of a bitmap image in the frame buffer of the server according to information contained in the HTTP UI interpretation message. - View Dependent Claims (11, 12)
-
-
13. A method in a client for providing remote access to an application running on a server, the method comprising:
-
causing a hypertext transfer protocol (HTTP) client module to transmit a first HTTP request for an update to a frame buffer of the server; receiving an encoded region of the frame buffer containing image data corresponding to the graphical user interface (GUI) of the application executing on the server; decoding and rendering the encoded region of the frame buffer on a display coupled to the client device by a rendering module; monitoring the rendering module to intercept completion status of the rendering module to detect when rendering the encoded region of the frame buffer is complete; causing the HTTP client module to transmit a second HTTP request for another update to the frame buffer in response to detecting that rendering the encoded region of the frame buffer is complete; receiving, from the client device, an HTTP user interface (UI) interpretation message that indicates how an Internet browser on the client device interprets contents of the client-side frame buffer, wherein the HTTP UI interpretation message is used to transform a screen capture process on the server according to capabilities of the Internet browser of the client; and adjusting the screen capture process on the server based on the HTTP UI interpretation message received from the client device, wherein the adjusting the screen capture process includes invoking a request to an operating system and graphics driver on the server to change a capture of a bitmap image in the frame buffer of the server according to information contained in the HTTP UI interpretation message. - View Dependent Claims (14, 15, 16, 17, 18)
-
Specification