US 12,455,936 B2
Application remoting across a network using draw commands
Darren Remington, Mesa, AZ (US); Trevor Sundberg, Kirkland, WA (US); Killian Koenig, Seattle, WA (US); Benjamin Buzbee, Woodinville, WA (US); Michael Conrad, Monroe, WA (US); and David Harnett, Seattle, WA (US)
Assigned to CLOUDFLARE, INC., San Francisco, CA (US)
Filed by CLOUDFLARE, INC., San Francisco, CA (US)
Filed on Jun. 20, 2023, as Appl. No. 18/338,045.
Application 18/338,045 is a continuation of application No. 16/781,861, filed on Feb. 4, 2020, granted, now 11,687,610.
Claims priority of provisional application 62/800,948, filed on Feb. 4, 2019.
Claims priority of provisional application 62/800,937, filed on Feb. 4, 2019.
Prior Publication US 2023/0334111 A1, Oct. 19, 2023
Int. Cl. G06F 16/958 (2019.01); G06F 9/451 (2018.01); G06F 16/957 (2019.01); G06F 21/62 (2013.01); G06F 21/71 (2013.01); G06F 40/14 (2020.01); H04L 67/131 (2022.01)
CPC G06F 16/9574 (2019.01) [G06F 9/452 (2018.02); G06F 16/9577 (2019.01); G06F 16/972 (2019.01); G06F 16/986 (2019.01); G06F 21/6245 (2013.01); G06F 21/6281 (2013.01); G06F 21/629 (2013.01); G06F 21/71 (2013.01); G06F 40/14 (2020.01); H04L 67/131 (2022.05)] 21 Claims
OG exemplary drawing
 
1. 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 client application in a client device, the client application instance configured to interface with and display output of a remote application instance;
providing, to a server, a request from the client device for content for rendering in the client application instance;
receiving, by the client 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, the first set of one or more draw commands including a first set of vector commands;
rendering, by the client application instance, one or more portions of the first output of the remote application instance based on the first set of vector commands;
detecting, by the client application instance, an input event from a user of the client device;
providing, by the client application instance, event information associated with the input event to the remote application instance;
receiving, by the client 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, the second set of one or more draw commands including a second set of vector commands; and
rendering, by the client application instance, one or more portions of the second output of the remote application instance based on the second set of vector commands.