US2018032384A1PendingUtilityA1

Secure script execution using sandboxed environments

Assignee: AMAZON TECH INCPriority: Dec 18, 2014Filed: Oct 6, 2017Published: Feb 1, 2018
Est. expiryDec 18, 2034(~8.4 yrs left)· nominal 20-yr term from priority
G06F 9/45558G06F 9/54G06F 9/547G06F 3/04842G06F 21/53G06F 9/45545G06F 2009/45562G06F 2009/45587G06F 8/31G06F 9/45512
50
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A scripting platform may provide an isolated processing environment for executing user generated scripts. The isolated processing environment may be a separate execution thread of an application of the scripting platform. The separate execution thread may be configured to transmit requests over a network in order to obtain information corresponding with the execution of the script. Furthermore, the separate execution thread may be configured to provide the obtained information to a main thread of the application by at least serializing the obtained information.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . A computer-implemented method, comprising:
 executing a sandboxed thread of an application based at least in part on a command to execute a script;   causing the sandboxed thread to execute the script;   receiving a user input corresponding to the script;   transmitting a request to a scripting service;   receiving data from the scripting service;   providing the data to a thread of the application; and   modifying at least one user interface element of a user interface of the application to display the data based at least in part on a data visualization format for the data indicated by an application programming interface call, the application programming interface call determined based at least in part on the user input.   
     
     
         2 . The computer-implemented method of  claim 1 , wherein the sandboxed thread comprises at least one thread of the application isolated from an execution of other components of the application. 
     
     
         3 . The computer-implemented method of  claim 1 , wherein transmitting the request to the scripting service further comprises generating the request based at least in part on a library included in the application. 
     
     
         4 . The computer-implemented method of  claim 1 , wherein the sandboxed thread comprises a web worker associated with the application. 
     
     
         5 . The computer-implemented method of  claim 1 , wherein the computer-implemented method further comprises providing the sandboxed thread with a serialized copy of the script for execution. 
     
     
         6 . The computer-implemented method of  claim 5 , wherein causing the sandboxed thread to execute the script further comprises:
 de-serializing the serialized copy of the script;   determining additional information based at least in part on a result of de-serializing the serialized copy of the script; and   providing the additional information to the thread of the application based at least in part on the result.   
     
     
         7 . A system, comprising:
 one or more processors; and   memory that stores computer-executable instructions that, if executed, cause the one or more processors to:
 receive, through a first user interface element of an application, an input corresponding to a script; 
 execute the script within a sandboxed thread of the application; 
 provide a request to a scripting service, the request generated based at least in part on an operation of the script; 
 obtain data in a structured format from the scripting service; and 
 modify a second user interface element of the application based at least in part on the obtained data and the input. 
   
     
     
         8 . The system of  claim 7 , wherein the memory further includes computer-executable instructions that, if executed by the one or more processors, cause the one or more processors to execute the script within the sandboxed thread by at least:
 causing a thread of the application to serialize the script to result in a serialized script;   instantiating an isolated executing environment to execute the sandboxed thread; and   providing the serialized script to the sandboxed thread.   
     
     
         9 . The system of  claim 8 , wherein the computer-executable instructions that, if executed by the one or more processors, cause the one or more processors to:
 determine additional data based at least in part on the data in the structured format; and   provide the thread of the application the additional data.   
     
     
         10 . The system of  claim 7 , wherein the computer-executable instructions that, if executed by the one or more processors, cause the one or more processors to generate the request based at least in part on a set of instructions included in the application for generating application programming interface calls. 
     
     
         11 . The system of  claim 7 , wherein the sandboxed thread is a web worker of the application. 
     
     
         12 . The system of  claim 7 , wherein the memory further includes instructions that, if executed by the one or more processors, cause the system to receive a selection of the second user interface element through the first user interface element, where the first user interface element is caused to be displayed by a thread of the application. 
     
     
         13 . The system of  claim 7 , wherein the sandboxed thread is provided by an operating system executed by the system. 
     
     
         14 . A non-transitory computer-readable storage medium having stored thereon executable instructions that, as a result of being executed by one or more processors of a computer system, cause the computer system to at least:
 receive an input through a user interface element;   execute a script in an isolated process of an application associated with a scripting service;   provide a request generated based at least in part on an execution of the script to the scripting service;   obtain data generated at least in part by the scripting service as a result of the scripting service processing the request; and   modify the user interface element based at least in part on the data.   
     
     
         15 . The non-transitory computer-readable storage medium of  claim 14 , wherein the instructions that cause the computer system to execute the script in the isolated process of the application further include instructions that cause the computer system to execute an operating system level processing thread lacking an interface with a thread of the application. 
     
     
         16 . The non-transitory computer-readable storage medium of  claim 14 , wherein the request comprises an application programming interface call associated with a user of the application. 
     
     
         17 . The non-transitory computer-readable storage medium of  claim 16 , wherein the instructions further comprise instructions that, as a result of being executed by the one or more processors, cause the computer system to authenticate the application programming interface call to the scripting service. 
     
     
         18 . The non-transitory computer-readable storage medium of  claim 14 , wherein the instructions that cause the computer system to obtain the data further include instructions that cause the computer system to obtain the data from one or more other services as a result of the scripting service processing the request. 
     
     
         19 . The non-transitory computer-readable storage medium of  claim 14 , wherein the instructions further comprise instructions that, as a result of being executed by the one or more processors, cause the computer system to:
 provide the data through a communication channel from the isolated process to a thread of the application; and   wherein modifying the user interface element is performed by the thread.   
     
     
         20 . The non-transitory computer-readable storage medium of  claim 19 , wherein the instructions that cause the computer system to provide the data through the communication channel further include instructions that cause the computer system to serialize, by the isolated process, the data to result in serialized data such that the serialized data is accessible to the application.

Join the waitlist — get patent alerts

Track US2018032384A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.