IP Library › Granted Patent US 10,977,054
Granted Patent B2
US 10,977,054 · App. 15/778,090 · Granted Apr 13, 2021

Method and system for providing and executing web applications with runtime interpreter

Inventor: William Henry Chute (London, GB)
Assignee: ACADIANT LIMITED
G06F9/445G06F9/4401G06F9/45529
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 10,977,054
App. No.
15/778,090
Granted
Apr 13, 2021
Kind
B2
Abstract

The present disclosure relates to methods and systems for providing and executing semi-autonomous web applications within browsers. Examples of the disclosure include creating a runtime interpreter that can be executed by a browser, to allow complex, semi-autonomous and stable web applications to be constructed and deployed on user devices. The runtime interpreter is received from a first server at a browser executing on a device that receives an instruction set from a second server. The received runtime interpreter is executed within the browser and executes the received instructions set.

Claims (57)

1. A computer-implemented method for executing instructions within a browser on a device, including:

receiving a boot-strap web page at the browser, wherein the boot-strap web page includes a reference to a runtime interpreter on a first server and

wherein the runtime interpreter is configured to execute a plurality of instruction sets at a plurality of different device hardware configurations;

determining whether the runtime interpreter is stored at the device;

retrieving the runtime interpreter from the first server and storing the retrieved runtime interpreter within a local cache at the browser when the runtime interpreter is determined not to be stored at the device;

retrieving the runtime interpreter from the local cache at the browser

when the runtime interpreter is determined to be stored at the device;

receiving the runtime interpreter from either the first server or the local cache at the browser executing on the device;

receiving, from a second server, one of a plurality of instruction sets at the device;

executing the received runtime interpreter within the browser; and

the received runtime interpreter executing the received instruction set in accordance with a determined hardware configuration of the device.

2. A method as claimed in claim 1 , wherein the runtime interpreter is, at least in part, defined within JavaScript.

3. A method as claimed in claim 2 , wherein the runtime interpreter is, at least in part, defined within Cascading Style Sheet (CSS) format.

4. A method as claimed in claim 1 , wherein the runtime interpreter executes the received instruction set in accordance with device-specific modifications.

5. A method as claimed in claim 1 , wherein each instruction set is comprised of a plurality of objects.

6. A method as claimed in claim 5 , wherein each object comprises a directive and set of supporting data.

7. A method as claimed in claim 6 , wherein at least some objects define modification to the document object model displayed by the browser.

8. A method as claimed in claim 5 , wherein each object defines a target state.

9. A method as claimed in claim 5 , wherein the plurality of objects define a hierarchical relationship between them.

10. A method as claimed in claim 1 , wherein the received instruction set defines one or more external requests.

11. A method as claimed in claim 10 , wherein each request includes a domain and an action.

12. A method as claimed in claim 10 , wherein each request is delivered to a web server.

13. A method as claimed in claim 10 , wherein each request includes a data payload.

14. A method as claimed in claim 1 , wherein the runtime interpreter is configured to execute on a plurality of device types.

15. A method as claimed in claim 1 , wherein the runtime interpreter is configured to execute within a plurality of environment types.

16. A method as claimed in claim 1 , wherein the instruction set is defined within a structured format.

17. A method as claimed in claim 16 , wherein the structured format is subject-based.

18. A method as claimed in claim 16 , wherein the structured format is comprised of attribute-value pairs.

19. A method as claimed in claim 1 , wherein the instruction set is defined within a structured format.

20. A method as claimed in claim 19 , wherein the structured format is subject-based.

21. A method as claimed in claim 1 , furthcr including further including the received runtime interpreter detecting a change in the hardware configuration for the device and the received runtime interpreter executing the received instruction set in accordance with the detected change in the hardware configuration.

22. A method as claimed in claim 1 , wherein the boot-strap web page is configured to load a plurality of parameters including tag information for the device, a link to the local storage at the device, and a link to the runtime interpreter.

23. A method as claimed in claim 1 , wherein each instruction set is comprised of a plurality of objects and one or more of the objects define modifications to a Document Object Model represented and displayed by the browser.

24. A method as claimed in claim 1 , wherein the runtime interpreter is configured to keep track of a program state by storing state information in a Document Object Model represented and displayed by the browser.

25. A method as claimed in claim 1 , wherein the runtime interpreter is configured to determine hardware and operating system capabilities of the device and the received runtime interpreter executes the received instruction set in accordance with the determined hardware and operating system capabilities.

26. A system for deploying semi-autonomous web applications, including:

a first web server configured to deliver a runtime interpreter to a browser executing on a user device;

a second web server configured to deliver one of a plurality of instructions sets to a browser executing on a user device; and p 1 a plurality of user devices, each device including a computer system configured to control the user device to:

receive a boot-strap web page at the browser executing on the device, wherein the boot-strap web page includes a reference to the runtime interpreter on the first web server and

wherein the runtime interpreter is configured to execute a plurality of instruction sets at a plurality of different device hardware configurations;

determine whether the runtime interpreter is stored at the device;

retrieve the runtime interpreter from the first web server and store the retrieved runtime interpreter within a local cache at the browser when the runtime interpreter is determined not to be stored at the device;

retrieve the runtime interpreter from the local cache at the browser when the runtime interpreter is determined to be stored at the device;

receive the runtime interpreter from either the first web server or the local cache at the browser executing on the device;

receive, from the second web server, one of the plurality of instruction sets;

execute the received runtime interpreter within the browser; and

execute the received instruction set within the executing runtime interpreter in accordance with a determined hardware configuration of the device.

27. A non-transitory computer readable medium configured for storing a processing program executable by a computer system in a device, the processing program, when executed, causing the computer system to perform functionality comprising:

receiving a boot-strap web page at a browser executing on the device, wherein the boot-strap web page includes a reference to a runtime interpreter on a first server and

wherein the runtime interpreter is configured to execute a plurality of instruction sets at a plurality of different device hardware configurations;

determining whether the runtime interpreter is stored at the device;

retrieving the runtime interpreter from the first server and storing the retrieved runtime interpreter within a local cache at the browser when the runtime interpreter is determined not to be stored at the device;

retrieving the runtime interpreter from the local cache at the browser when the runtime interpreter is determined to be stored at the device;

receiving the runtime interpreter from either the first server or the local cache at the browser local ctoragc at a browccr executing on the device;

receiving, from a second server, one of a plurality of instruction sets at the device;

executing the received runtime interpreter within the browser; and

the received runtime interpreter executing the received instruction set in accordance with a determined hardware configuration of the device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 15, 2018
From: CHUTE, WILLIAM HENRY
To: ACADIANT LIMITED
Reel/Frame 046099/0418 →
Priority Claims (1)
GB 1520643 · Nov 23, 2015 · national
Continuity (1)
Related Publication 20180349149A1 · Dec 6, 2018