IP Library › Granted Patent US 8,671,387
Granted Patent B2
US 8,671,387 · App. 13/106,191 · Granted Mar 11, 2014

Compilation and injection of scripts in a rapid application development

Inventor: Daniel Nicholas Quine (London, GB)
Assignee: Google Inc.
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 8,671,387
App. No.
13/106,191
Granted
Mar 11, 2014
Kind
B2
Abstract

Systems, computer-readable media, and methods are disclosed for generating compiled scripts from scripts that include at least one scripting-language instruction. The least one scripting-language instruction may include a script extension to specify a computational model of the application and/or a method extension to specify a function of the computational model. The script extension may be identified within the at least one scripting-language instruction and an identifier for the computational model specified by the script extension may be determined. A compiled script may be generated that includes scripting-language code for replacing the script extension by an access of the computational model identified by the identifier. The application may be executed by locating a compiled script for the application based on an identifier assigned to the compiled script, injecting the compiled script into the application, and executing the injected script in the application.

Claims (80)

1. A method, comprising:

receiving an application at a computing device, the application comprising a stack and a database, the stack comprising one or more pages for a user interface to the application; and

executing the application using the computing device, wherein executing the application comprises:

locating a compiled script for the application based on a global identifier assigned to the compiled script, the compiled script including a scripting-language instruction for the application, wherein the global identifier comprises an application identifier for specifically identifying the application in a plurality of applications and an object identifier for specifically identifying an object of a computational model, and wherein the computational model is either the stack or the database,

injecting the compiled script into the application,

executing the injected script in the application, wherein the injected script is configured to perform at least one transaction of the computational model,

wherein locating the compiled script comprises:

determining that a script is to be compiled;

requesting that the script be compiled comprises:

receiving the script at a script compiler of the computing device, the script comprising at least one scripting-language instruction for the application, wherein the at least one instruction comprises a script extension for specifying use of the computational model, wherein the script extension comprises a key character and an identifier of the computational model;

locating, by the script compiler of the computing device, the script extension within the script based on the key character;

determining, by the script compiler of the computing device, the identifier for the computational model specified by the script extension; and

generating, by the script compiler of the computing device, the compiled script corresponding to the script, wherein the compiled script comprises scripting-language code that replaces the script extension, and

wherein the scripting-language code is configured to access the computational model identified by the identifier of the computational model; and

receiving the compiled script, wherein the compiled script corresponds to the script.

2. The method of claim 1 , wherein executing the application further comprises removing the injected script from the application.

3. The method of claim 1 , wherein the at least one scripting-language instruction of the script further comprises a method extension, wherein the method extension corresponds to an invocation of a function of the computational model, and wherein the compiled script further comprises additional scripting-language code to replace the method extension with the invocation of the function of the computational model.

4. The method of claim 1 , further comprising: determining a function of the computational model based on one or more method descriptions.

5. The method of claim 4 , further comprising:

determining a return value of the function of the computational model based on the one or more method descriptions.

6. A system, comprising:

one or more computing devices configured to:

receive an application, the application comprising a stack and a database, the stack comprising one or more pages for a user interface to the application; and

execute the application by at least:

locating a compiled script for the application based on a global identifier assigned to the compiled script, the compiled script including a scripting-language instruction for the application, wherein the global identifier comprises an application identifier for specifically identifying the application in a plurality of applications and an object identifier for specifically identifying an object of a computational model, and wherein the computational model is either the stack or the database;

injecting the compiled script into the application,

executing the injected script in the application, wherein the injected script is configured to carry out at least one transaction of the computational model,

wherein locating the compiled script comprises:

determining that a script is to be compiled;

requesting that the script be compiled comprises:

 receiving a script comprising at least one scripting-language instruction for the application, wherein the at least one instruction comprises a script extension for specifying use of the computational model, wherein the script extension comprises a key character and an

identifier of the computational model,

 locating the script extension within the script based on the key character, determining an identifier for the computational model specified by the script extension, and

 generating the compiled script corresponding to the script, wherein the compiled script comprises scripting-language code that replaces the script extension, and wherein the scripting-language code is configured to access the computational model identified by the identifier of the computational model; and

receiving the compiled script, wherein the compiled script corresponds to the script.

7. The system of claim 6 , wherein executing the application further comprises removing the injected script from the application.

8. The system of claim 6 , wherein the at least one scripting-language instruction of the script further comprises a method extension, wherein the method extension corresponds to an invocation of a function of the computational model, and wherein the compiled script further comprises additional scripting-language code to replace the method extension with the invocation of the function of the computational model.

9. The system of claim 6 , wherein the one or more script compilers are further configured to determine a function of the computational model based on one or more method descriptions.

10. The system of claim 9 , wherein the one or more script compilers are further configured to determine a return value of the function of the computational model based on the one or more method descriptions.

11. An article of manufacture including a tangible, non-transitory computer-readable storage medium having computer-readable instructions encoded thereon, the instructions comprising:

instructions for receiving an application, the application comprising a stack and a database, the stack comprising one or more pages for a user interface application; and

instructions for executing the application comprising:

instructions for locating a compiled script for the application based on a global identifier assigned to the compiled script, the compiled script including a scripting-language instruction for the application, wherein the global identifier comprises an application identifier for specifically identifying the application in a plurality of applications and an object identifier for specifically identifying an object of a computational model, and wherein the computational model is either the stack or the database;

instructions for injecting the compiled script into the application;

instructions for executing the injected script in the application, wherein the injected script is configured to carry out at least one transaction of the computational model,

wherein the instructions for locating the compiled script comprise:

instructions for determining that a script is to be compiled;

instructions for requesting that the script be compiled comprise:

 instructions for receiving a script comprising at least one scripting-language instruction for the application, and wherein the at least one scripting-language instruction comprises a script extension that specifies the computational model, wherein the script extension comprises a key character and an identifier of the computational model;

 instructions for locating the script extension within the script based on the key character;

 instructions for determining an identifier for the computational model specified by the script extension; and

 instructions for generating the compiled script corresponding to the script, wherein the compiled script comprises scripting-language code that replaces the script extension, and wherein the scripting-language code is configured to access the computational model identified by the identifier of the computational model; and

instructions for receiving the compiled script, wherein the compiled script corresponds to the script.

12. The article of manufacture of claim 11 , wherein the instructions for executing the application further comprise instructions for removing the injected script from the application.

13. The article of manufacture of claim 11 , wherein the at least one scripting-language instruction of the script instructions further comprises a method extension, wherein the method extension corresponds to an invocation of a function of the computational model, and wherein the compiled script further comprises additional scripting-language code to replace the method extension with the invocation of the function of the computational model.

14. The article of manufacture of claim 11 , wherein the instructions further comprise instructions for determining a function of the computational model based on one or more method descriptions.

15. The article of manufacture of claim 14 , wherein the instructions further comprise instructions for determining a return value of the function of the computational model based on the one or more method descriptions.

16. A system, comprising:

means for receiving an application, the application comprising a stack and a database, the stack comprising one or more pages for a user interface to the application; and

means for executing the application comprising:

means for locating a compiled script for the application based on a global identifier assigned to the compiled script, the compiled script including a scripting-language instruction for the application, wherein the global identifier comprises an application identifier for specifically identifying the application in a plurality of applications and an object identifier for specifically identifying an object of a computational model, and wherein the computational model is either the stack or the database;

means for injecting the compiled script into the application;

means for executing the injected script in the application, wherein the injected script is configured to perform at least one transaction of the computational model,

wherein the means for locating the compiled script comprises:

means for determining that the script is to be compiled;

means for requesting that the script be compiled comprises:

means for receiving the script, the script comprising at least one scripting-language instruction for the application, wherein the at least one instruction comprises a script extension for specifying use of the computational model, wherein the script extension comprises a key character and an identifier of the computational model;

means for determining the script extension within the script based on the key character;

means for determining the identifier for the computational model specified by the script extension; and

means for generating the compiled script corresponding to the script,

wherein the

compiled script comprises scripting-language code that replaces the script extension, and

wherein the scripting-language code is configured to access the computational model identified by the identifier of the computational model; and

means for receiving the compiled script, wherein the compiled script corresponds to the script.

17. The system of claim 16 , wherein executing the application further comprises removing the injected script from the application.

18. The system of claim 16 , wherein the at least one scripting-language instruction of the script further comprises a method extension, wherein the method extension corresponds to an

invocation of a function of the computational model, and wherein the compiled script further comprises additional scripting-language code to replace the method extension with the invocation of the function of the computational model.

19. The system of claim 16 , further comprising means for determining a function of

the computational model based on one or more method descriptions.

20. The system of claim 19 , further comprising means for determining a return value of the function of the computational model based on the one or more method descriptions.

Assignments (2)
CHANGE OF NAME Recorded Oct 2, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044101/0299 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 12, 2011
From: QUINE, DANIEL NICHOLAS
To: GOOGLE INC.
Reel/Frame 026269/0115 →
Continuity (1)
Related Publication 20120291005A1 · Nov 15, 2012