IP Library Granted Patent US 11,968,259
Granted Patent B2
US 11,968,259 · App. 17/877,888 · Granted Apr 23, 2024

Multi-tenancy via code encapsulated in server requests

Inventors: Tomasz Janczuk (Redmond, WA); Matías Woloski (Maldonado, UY)
H04L67/1097G06F8/433G06F9/547G06F16/955G06F21/53G06F21/604H04L67/133H04L67/34H04L67/561G06F2209/549H04L67/025
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,968,259
App. No.
17/877,888
Granted
Apr 23, 2024
Kind
B2
Abstract

A multitenant infrastructure server (MTIS) is configured to provide an environment to execute a computer routine of an arbitrary application. The MTIS receives a request from a webtask server to execute the computer routine in a webtask container. The computer routine is executed in the webtask container at the MTIS. Upon successful execution of the computer routine, a result set is returned to the webtask server. If the execution of the computer routine is unsuccessful, an error notification is returned to the webtask server. The resources consumed during the execution of the computer routine are determined. The webtask container is destroyed to prevent persistent storage of the computer routine on the MTIS.

Claims (59)

1. A method of executing a computer routine of an arbitrary application, the method comprising:

providing one or more cloud servers hosting one or more webtask containers in which to execute the computer routine, each of the one or more webtask containers having an associated programming language and an application logic layer for accessing a resource;

receiving a webtask container request that includes:

a uniform resource locator (URL) link to the computer routine; and

one or more of keys or key identifiers;

determining a programming language of the computer routine; and

responsive to the determined programming language corresponding to the programming language associated with a webtask container of the one or more webtask containers:

applying computing resources to the webtask container based on the application logic layer associated with the webtask container to create an isolated execution environment for executing the computer routine, wherein the isolated execution environment does not allow another webtask container to access state of the webtask container;

executing the computer routine in the webtask container using one or more of the keys or the key identifiers; and

returning a calculated result based on the execution of the computer routine.

2. The method of claim 1 , further comprising:

following the URL link to retrieve the computer routine.

3. The method of claim 1 , further comprising:

receiving a confirmation of the returned calculated result; and

destroying the webtask container in response to receiving the confirmation.

4. The method of claim 1 , wherein:

the webtask container request is an HTTP request; and

the computer routine is executed in a single HTTP request/response cycle.

5. The method of claim 1 , wherein the webtask container includes all dependencies of the computer routine to run in the isolated execution environment.

6. The method of claim 5 , wherein the isolated execution environment is provided such that the computer routine or its data is prevented from access by another computer routine.

7. The method of claim 1 , wherein the webtask container request comprises at least one client secret that the computer routine requires to access protected data or functionality.

8. The method of claim 1 , wherein the webtask container request invokes a sandbox as the isolated execution environment.

9. The method of claim 1 , wherein the webtask container request includes a filesystem having components sufficient to run the computer routine in the webtask container.

10. A non-transitory computer-readable storage medium storing instructions that, when executed by a computer processor, perform actions comprising:

providing one or more cloud servers hosting one or more webtask containers in which to execute a computer routine, each of the one or more webtask containers having an associated programming language and an application logic layer for accessing a resource;

receiving a webtask container request that includes:

a uniform resource locator (URL) link to the computer routine; and

one or more of keys or key identifiers;

determining a programming language of the computer routine; and

responsive to the determined programming language corresponding to the programming language associated with a webtask container of the one or more webtask containers:

applying computing resources to the webtask container based on the application logic layer associated with the webtask container to create an isolated execution environment for executing the computer routine, wherein the isolated execution environment does not allow another webtask container to access state of the webtask container;

executing the computer routine in the webtask container using one or more of the keys or the key identifiers; and

returning a calculated result based on the execution of the computer routine.

11. The non-transitory computer-readable storage medium of claim 10 , the actions further comprising:

following the URL link to retrieve the computer routine.

12. The non-transitory computer-readable storage medium of claim 10 , the actions further comprising:

receiving a confirmation of the returned calculated result; and

destroying the webtask container in response to receiving the confirmation.

13. The non-transitory computer-readable storage medium of claim 10 , wherein:

the webtask container request is an HTTP request; and

the computer routine is executed in a single HTTP request/response cycle.

14. The non-transitory computer-readable storage medium of claim 10 , wherein the webtask container includes all dependencies of the computer routine to run in the isolated execution environment.

15. The non-transitory computer-readable storage medium of claim 10 , wherein the isolated execution environment is provided such that the computer routine or its data is prevented from access by another computer routine.

16. The non-transitory computer-readable storage medium of claim 10 , wherein the webtask container request comprises at least one client secret that the computer routine requires to access protected data or functionality.

17. The non-transitory computer-readable storage medium of claim 10 , wherein the webtask container request invokes a sandbox as the isolated execution environment.

18. The non-transitory computer-readable storage medium of claim 10 , wherein the webtask container request includes a filesystem having components sufficient to run the computer routine in the webtask container.

19. A computer system comprising:

a computer processor; and

a non-transitory computer-readable storage medium storing instructions that when executed by the computer processor, perform actions comprising:

providing one or more cloud servers hosting one or more webtask containers in which to execute a computer routine, each of the one or more webtask containers having an associated programming language and an application logic layer for accessing a resource;

receiving a webtask container request that includes:

a uniform resource locator (URL) link to the computer routine; and

one or more of keys or key identifiers;

determining a programming language of the computer routine; and

responsive to the determined programming language corresponding to the programming language associated with a webtask container of the one or more webtask containers:

applying computing resources to the webtask container based on the application logic layer associated with the webtask container to create an isolated execution environment for executing the computer routine, wherein the isolated execution environment does not allow another webtask container to access state of the webtask container;

executing the computer routine in the webtask container using one or more of the keys or the key identifiers; and

returning a calculated result based on the execution of the computer routine.

20. The computer system of claim 19 , the actions further comprising: following the URL link to retrieve the computer routine.

Assignments (2)
CHANGE OF NAME Recorded May 3, 2024
From: AUTH0, INC.
To: AUTH0, LLC
Reel/Frame 068290/0896 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 25, 2023
From: JANCZUK, TOMASZ; WOLOSKI, MATÍAS
To: AUTH0, INC.
Reel/Frame 065336/0362 →
Continuity (4)
Continuation 16686023 · Nov 15, 2019
Continuation 14951223 · Nov 24, 2015
Provisional Application 62084511 · Nov 25, 2014
Related Publication 20230072584A1 · Mar 9, 2023