US10545749B2ActiveUtilityA1
System for cloud computing using web components
Est. expiryAug 20, 2034(~8.1 yrs left)· nominal 20-yr term from priority
G06F 8/65G06F 17/2247G06F 40/143
64
PatentIndex Score
1
Cited by
44
References
15
Claims
Abstract
In one aspect, a method for executing a web component using a server device will be described. A web component is provided at a client device. The client device also provides a shadow DOM based on the web component. The shadow DOM is synchronized with a shadow DOM cache at a server device. Various implementations relate to methods, server devices, client devices, software development kits and computer readable mediums that are involved in executing a web component at a server device.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1. A computer implemented method for implementing one or more functions, the one or more functions comprising:
causing an execution, in response to a request, of a web component at a server device based on a customized tag, and at least one of (i) network traffic conditions, (ii) processing capacity at a client device, (iii) processing capacity at the server device, or a combination thereof, wherein a shadow DOM is created in association with the web component;
receiving information based on a modification of a shadow DOM cache stored at a server device, wherein the information includes a determination to modify the shadow DOM stored at the client device to include a compacted subtree corresponding to a subtree of the shadow DOM cache; and
synchronizing the shadow DOM stored at the client device with the shadow DOM cache stored at the server device based on the received information, wherein after synchronization the shadow DOM comprises a partial copy of the shadow DOM cache and wherein the shadow DOM contains a subtree that differs in size from a corresponding subtree of the shadow DOM cache;
determining, after synchronizing, that the web component should no longer be executed at the server device;
stopping forward inputs or requests to the server device from the client device for a period of time;
terminating a connection between the client device and the server device;
executing the web component at the client device without involvement of the server device; and
causing the execution of the web component to be terminated at the server device.
2. The method as recited in claim 1 , wherein:
the customized tag is an HTML tag; and
the web component is written at least partly in Javascript.
3. The method as recited in claim 1 , wherein the one or more functions further comprise:
transmitting the web component from the client device to the server device so that the web component can be executed at the server device, wherein the shadow DOM and the shadow DOM cache represent a structure of a document generated at least in part by the web component.
4. The method as recited in claim 1 , wherein after synchronization, the shadow DOM contains a single node that represents a corresponding subtree in the shadow DOM cache in a compacted form.
5. A non-transitory computer readable medium including a plurality of instructions that, when executed by a processor, causes the processor to:
execute, in response to a request, a web component at a server device based on a customized tag, and at least one of (i) network traffic conditions, (ii) processing capacity at a client device, (iii) processing capacity at the server device, or a combination thereof, wherein a shadow DOM is created in association with the web component;
receive information based on a modification of a shadow DOM cache stored at a server device, wherein the information includes a determination to modify the shadow DOM stored at the client device to include a compacted subtree corresponding to a subtree of the shadow DOM cache,
synchronize a shadow DOM stored at a client device with the shadow DOM cache stored at the server device based on the received information, wherein, after synchronization, the shadow DOM comprises a partial copy of the shadow DOM cache wherein the shadow DOM contains a subtree that differs in size from a corresponding subtree of the shadow DOM cache;
determine, after synchronizing, that the web component should no longer be executed at the server device;
stop forward inputs or requests to the server device from the client device for a period of time;
terminate a connection between the client device and the server device;
execute the web component at the client device without involvement of the server device; and
cause the execution of the web component to be terminated at the server device.
6. The non-transitory computer readable medium of claim 5 , wherein:
the customized tag is an HTML tag; and
the web component is written at least partly in Javascript.
7. The non-transitory computer readable medium of claim 5 , wherein the request received at the web component involves an event triggered by a user of the client device.
8. The non-transitory computer readable medium of claim 5 , wherein the plurality of instructions further cause the processor to:
instantiate the web component at the client device;
execute the web component at the client device;
create the shadow DOM on the client device based on the web component;
transmit the shadow DOM to the server device so that a copy can be made of the shadow DOM to generate the shadow DOM cache at the server device, wherein synchronization occurs after the instantiation of the web component, the creation of the shadow DOM at the client device and the transmission of the shadow DOM to the server device.
9. The non-transitory computer readable medium of claim 5 , wherein the plurality of instructions further cause the processor to:
receive a request from the server device indicating that the shadow DOM cache has been modified and that the shadow DOM should be synchronized with the shadow DOM cache wherein the modification of the shadow DOM cache creates a subtree, the subtree including one or more nodes; and
cause the shadow DOM of the client device to be modified in response to the request from the server device such that after synchronization the shadow DOM resembles the shadow DOM cache except that the shadow DOM contains a single node that represents a corresponding subtree of the shadow DOM cache in a compacted form.
10. The non-transitory computer readable medium of claim 9 , wherein:
each node of the subtree involves code for drawing a different portion of an image; and the single node involves code for displaying the image.
11. The non-transitory computer readable medium of claim 5 wherein the plurality of instructions further causes the processor to:
display a web document at the client device based on the synchronized shadow DOM.
12. A server device comprising:
network interface; and
at least one processor configured to:
generate a shadow DOM cache,
execute, in response to a request, a web component at the server device based on a customized tag, and at least one of (i) network traffic conditions, (ii) processing capacity at a client device, (iii) processing capacity at the server device, or a combination thereof, wherein a shadow DOM is created in association with the web component;
modify the shadow DOM cache based on execution of a web component,
determine a modification to the shadow DOM stored at the client device to include a compacted subtree corresponding to a subtree of the shadow DOM cache;
transmitting information, including information on the modification of the shadow DOM cache and determination to compact the subtree of the shadow DOM, to cause the shadow DOM stored at the client device to synchronize with the shadow DOM, wherein:
after synchronization, the shadow DOM comprises a partial copy of the shadow DOM cache,
the shadow DOM contains a subtree that differs in size from a corresponding subtree of the shadow DOM cache;
terminating the execution of the web component at the server device in response to the client device:
determining, after synchronizing, that that web component should no longer be executed at the server device,
stopping, forward inputs or requests to the server device from the client device for a period of time;
terminating, a connection between the client device and the server device; and
executing, without involvement of the server device, the web component at the client device.
13. The server device of claim 12 , wherein:
the customized tag is an HTML tag; and
the web component is written at least partly in Javascript.
14. The server device of claim 12 , wherein the determination is based on at least one of 1) an analysis of the subtree; and 2) an indicator in software code for the web component, indicating that the compaction should take place.
15. The server device of claim 12 , wherein the at least one processor is further configured to:
determine that the synchronization between the shadow DOM and the shadow DOM cache should not continue; and
closing a network connection between the client device and the server device.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.