IP Library › Granted Patent US 11,809,904
Granted Patent B2
US 11,809,904 · App. 17/244,086 · Granted Nov 7, 2023

System and method for executing multiple scripts at a single extension point

Inventors: David Cameron (Kitchener, CA); Jonathan Mitchell Dickinson (Kitchener, CA)
Assignee: SHOPIFY INC.
G06F9/4881
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 11,809,904
App. No.
17/244,086
Filed
Apr 29, 2021
Granted
Nov 7, 2023
Kind
B2
Art Unit
2199
USPC
718/107
Abstract

Systems and methods of executing multiple scripts at an extension point are provided. If there are multiple scripts that are associated with an extension point for a service instance in a SAAS platform, a script execution schedule is determined. This can indicate the order of execution of the multiple scripts, but may also specify how the inputs and outputs of the multiple script executions are obtained. For example, the inputs for multiple scripts can be the same, and be those provided by the SAAS platform at the extension point. In this case, in effect the multiple scripts are executed independently. Alternatively, the output of one script can function as the input to another script, which requires a certain order of execution. After all of the scripts are executed, output rules are used to determine an overall output of the script execution to be returned the platform through the extension point.

Claims (34)

1. A computer-implemented method comprising:

executing computer executable code to provide a service instance in a software as a service (SAAS) platform, the computer executable code including an extension point;

determining a script execution schedule for executing multiple scripts to be executed for the extension point;

during execution of said computer executable code for the service instance, responsive to reaching the extension point, executing the multiple scripts in accordance with the script execution schedule, wherein the executing the multiple scripts results in a respective output for each of the multiple scripts; and

applying an output rule to determine an overall output of executing the multiple scripts, wherein the overall output is a function of at least one of the respective outputs, and returning the overall output to the service instance through the extension point.

2. The method of claim 1 wherein determining the script execution schedule comprises performing an automated analysis of the scripts.

3. The method of claim 1 wherein the overall output is a selected one of the respective outputs.

4. The method of claim 1 , wherein the overall output is a function of two or more of the respective outputs.

5. The method of claim 1 , wherein each script is run independently based on an input from the extension point.

6. The method of claim 1 , wherein the scripts are executed in a specific order, the specific order including a last script to be executed; and

the overall output is the respective output of the last script to be executed.

7. An apparatus comprising:

a processor and a memory, the apparatus configured to execute a method comprising:

executing computer executable code to provide a service instance in a software as a service (SAAS) platform, the computer executable code including an extension point;

determining a script execution schedule for executing multiple scripts to be executed for the extension point;

during execution of said computer executable code for the service instance, responsive to reaching the extension point, executing the multiple scripts in accordance with the script execution schedule, wherein the executing the multiple scripts results in a respective output for each of the multiple scripts; and

applying an output rule to determine an overall output of executing the multiple scripts, wherein the overall output is a function of at least one of the respective outputs, and returning the overall output to the service instance through the extension point.

8. The apparatus of claim 7 further comprising determining the script execution schedule by performing an automated analysis of the scripts.

9. The apparatus of claim 7 wherein the overall output is a selected one of the respective outputs.

10. The apparatus of claim 7 , wherein the overall output is a function of two or more of the respective outputs.

11. The apparatus of claim 7 , wherein each script is run independently based on an input from the extension point.

12. The apparatus of claim 7 , wherein the scripts are executed in a specific order, the specific order including a last script to be executed; and

the overall output is the respective output of the last script to be executed.

13. A non-transitory computer-readable medium having instructions stored thereon that, when executed by a computer, cause the computer to perform a method comprising:

executing computer executable code to provide a service instance in a software as a service (SAAS) platform, the computer executable code including an extension point;

determining a script execution schedule for executing multiple scripts to be executed for the extension point;

during execution of said computer executable code for the service instance, responsive to reaching the extension point, executing the multiple scripts in accordance with the script execution schedule, wherein the executing the multiple scripts results in a respective output for each of the multiple scripts; and

applying an output rule to determine an overall output of executing the multiple scripts, wherein the overall output is a function of at least one of the respective outputs, and returning the overall output to the service instance through the extension point.

14. The non-transitory computer readable medium of claim 13 , wherein determining the script execution schedule comprises performing an automated analysis of the scripts.

15. The non-transitory computer readable medium of claim 13 wherein the overall output is a selected one of the respective outputs.

16. The non-transitory computer readable medium of claim 13 , wherein the overall output is a function of two or more of the respective outputs.

17. The non-transitory computer readable medium of claim 13 , wherein each script is run independently based on an input from the extension point.

18. The non-transitory computer readable medium of claim 13 , wherein the scripts are executed in a specific order, the specific order including a last script to be executed; and

the overall output is the respective output of the last script to be executed.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 2, 2021
From: CAMERON, DAVID; DICKINSON, JONATHAN MITCHELL
To: SHOPIFY INC.
Reel/Frame 056747/0060 →
Continuity (1)
Related Publication 20220350646A1 · Nov 3, 2022
Cited By (1)
US 12,260,250