US2023367836A1PendingUtilityA1

Web browser remoting across a network using draw commands

Assignee: CLOUDFLARE INCPriority: Feb 4, 2019Filed: Jul 20, 2023Published: Nov 16, 2023
Est. expiryFeb 4, 2039(~12.5 yrs left)· nominal 20-yr term from priority
G06F 16/9574G06F 16/986G06F 16/972G06F 16/9577G06F 21/6245G06F 21/6281G06F 21/629G06F 21/71G06F 9/452G06F 40/14H04L 67/131G06F 21/53H04L 67/02H04L 67/146
79
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A server receives from a client device that is executing a web browser application a request to initiate a remote application in the server. The server instantiates an instance of the remote application. The server intercepts draw commands associated with the remote application instance. The server provides the draw commands to the client to cause the web browser application to render portion(s) of output based on the draw commands. The server receives an input event from the web browser application. The server provides the client one or more draw commands based on the input event to cause the web browser application to render portion(s) of output based on those draw commands.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . A computer-implemented method, comprising:
 instantiating an instance of a web browser application in a client device, the web browser application instance preconfigured to interface with and display output of a remote application instance;   providing, to a server, a request for content for rendering in the web browser application instance;   receiving, by the web browser application instance, a first set of one or more draw commands associated with a first output of the remote application instance, the first output responsive to the request;   rendering, by the web browser application instance, one or more portions of the first output of the remote application instance based on the received first set of one or more draw commands;   providing, to the remote application instance, an input event received by the web browser application instance;   receiving, by the web browser application instance, a second set of one or more draw commands associated with a second output of the remote application instance in response to execution of an action responsive to the input event; and   rendering, by the web browser application instance, one or more portions of the second output of the remote application instance based on the received second set of one or more draw commands.   
     
     
         2 . The computer-implemented method of  claim 1 , wherein the input event is one or more of a cursor movement, a click event, keyboard events, and scrolling events. 
     
     
         3 . The computer-implemented method of  claim 1 , wherein the server is an execution computing device, and wherein the client device is a rendering computer device. 
     
     
         4 . The computer-implemented method of  claim 1 , wherein instantiating the instance of the web browser application in the client device comprises:
 receiving a packet from the server, the packet containing initial logic and a key for establishing a secure connection between the server and the web browser application executing on the client device.   
     
     
         5 . The computer-implemented method of  claim 1 , wherein instantiating the instance of the web browser application in the client device comprises:
 receiving, from the server, a set of one or more files, the set of one or more files including information that configures the web browser application executing on the client device to display the output of the remote application instance.   
     
     
         6 . The computer-implemented method of  claim 5 , wherein the set of one or more files includes a packet including initial logic and a key for establishing a secure connection between the server and the web browser application executing on the client device. 
     
     
         7 . The computer-implemented method of  claim 1 , wherein the request for content is a request for a network resource. 
     
     
         8 . A non-transitory computer-readable medium that provides instructions that, when executed by a processor, cause the processor to perform operations, comprising:
 instantiating an instance of a web browser application in a client device, the web browser application instance preconfigured to interface with and display output of a remote application instance;   providing, to a server, a request for content for rendering in the web browser application instance;   receiving, by the web browser application instance, a first set of one or more draw commands associated with a first output of the remote application instance, the first output responsive to the request;   rendering, by the web browser application instance, one or more portions of the first output of the remote application instance based on the received first set of one or more draw commands;   providing, to the remote application instance, an input event received by the web browser application instance;   receiving, by the web browser application instance, a second set of one or more draw commands associated with a second output of the remote application instance in response to execution of an action responsive to the input event; and   rendering, by the web browser application instance, one or more portions of the second output of the remote application instance based on the received second set of one or more draw commands.   
     
     
         9 . The non-transitory computer-readable medium of  claim 8 , wherein the input event is one or more of a cursor movement, a click event, keyboard events, and scrolling events. 
     
     
         10 . The non-transitory computer-readable medium of  claim 8 , wherein the server is an execution computing device, and wherein the client device is a rendering computer device. 
     
     
         11 . The non-transitory computer-readable medium of  claim 8 , wherein instantiating the instance of the web browser application in the client device comprises:
 receiving a packet from the server, the packet containing initial logic and a key for establishing a secure connection between the server and the web browser application executing on the client device.   
     
     
         12 . The non-transitory computer-readable medium of  claim 8 , wherein instantiating the instance of the web browser application in the client device comprises:
 receiving, from the server, a set of one or more files, the set of one or more files including information that configures the web browser application executing on the client device to display the output of the remote application instance.   
     
     
         13 . The non-transitory computer-readable medium of  claim 12 , wherein the set of one or more files includes a packet including initial logic and a key for establishing a secure connection between the server and the web browser application executing on the client device. 
     
     
         14 . The non-transitory computer-readable medium of  claim 8 , wherein the request for content is a request for a network resource. 
     
     
         15 . An apparatus, comprising:
 a processor; and   a non-transitory machine-readable storage medium coupled with the processor that stores instructions that, when executed by the processor, causes said processor to perform the following:
 instantiate an instance of a web browser application in a client device, the web browser application instance preconfigured to interface with and display output of a remote application instance; 
 provide, to a server, a request for content for rendering in the web browser application instance; 
 receive, by the web browser application instance, a first set of one or more draw commands associated with a first output of the remote application instance, the first output responsive to the request; 
 render, by the web browser application instance, one or more portions of the first output of the remote application instance based on the received first set of one or more draw commands; 
 provide, to the remote application instance, an input event received by the web browser application instance; 
 receive, by the web browser application instance, a second set of one or more draw commands associated with a second output of the remote application instance in response to execution of an action responsive to the input event; and 
 render, by the web browser application instance, one or more portions of the second output of the remote application instance based on the received second set of one or more draw commands. 
   
     
     
         16 . The apparatus of  claim 15 , wherein the input event is one or more of a cursor movement, a click event, keyboard events, and scrolling events. 
     
     
         17 . The apparatus of  claim 15 , wherein the server is an execution computing device, and wherein the client device is a rendering computer device. 
     
     
         18 . The apparatus of  claim 15 , wherein instantiating the instance of the web browser application in the client device further causes said processor to:
 receive a packet from the server, the packet containing initial logic and a key for establishing a secure connection between the server and the web browser application executing on the client device.   
     
     
         19 . The apparatus of  claim 15 , wherein instantiating the instance of the web browser application in the client device further causes said processor to:
 receive, from the server, a set of one or more files, the set of one or more files including information that configures the web browser application executing on the client device to display the output of the remote application instance.   
     
     
         20 . The apparatus of  claim 19 , wherein the set of one or more files includes a packet including initial logic and a key for establishing a secure connection between the server and the web browser application executing on the client device. 
     
     
         21 . The apparatus of  claim 15 , wherein the request for content is a request for a network resource.

Join the waitlist — get patent alerts

Track US2023367836A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.