IP Library Granted Patent US 11,622,003
Granted Patent B2
US 11,622,003 · App. 16/686,023 · Granted Apr 4, 2023

Multi-tenancy via code encapsulated in server requests

Inventors: Tomasz Janczuk (Redmond, WA); Matías Woloski (Buenos Aires, AR)
Assignee: Auth0, Inc.
H04L67/1097G06F9/547H04L67/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,622,003
App. No.
16/686,023
Granted
Apr 4, 2023
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 (54)

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

providing a webtask container in an isolated environment at a server in which to execute the computer routine, the webtask container having an associated programming language;

receiving a webtask request that includes:

client data;

the computer routine in the form of executable computer code or a uniform resource locator (URL) link to the computer routine; and

at least one client secret associated with the computer routine;

determining a programming language of the computer routine;

responsive to the determined programming language corresponding to the programming language associated with the webtask container:

applying computing resources to the webtask container to create a uniform logic-agnostic execution environment for executing the received webtask request;

executing the computer routine in the webtask container;

returning a calculated result based on the executed computer routine; and

destroying the webtask container upon completion of the executing of the computer routine to prevent persistent storage 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,

wherein the destroying of the webtask container is in response to receiving the confirmation.

4. The method of claim 1 , wherein:

the webtask 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 environment.

6. The method of claim 5 , wherein the isolated 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 at least one client secret comprises secrets that the computer routine requires to access protected data or functionality.

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

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

10. A non-transitory computer-readable medium storing executable instructions that, if executed by a computing device, cause the computing device to perform operations comprising:

receiving a webtask request that includes:

client data;

a computer routine in the form of executable computer code or a uniform resource locator (URL) link to the computer routine; and

at least one client secret associated with the computer routine;

providing a webtask container in an isolated environment at a server in which to execute the computer routine, the webtask container having an associated programming language;

determining a programming language of the computer routine;

responsive to the determined programming language corresponding to the programming language associated with the webtask container:

applying computing resources to the webtask container to create a uniform logic-agnostic execution environment for executing computer routines in the received webtask request;

executing the computer routine in the webtask container;

returning a calculated result based on the executed computer routine; and

destroying the webtask container upon completion of the executing of the computer routine to prevent persistent storage of the computer routine.

11. The non-transitory computer-readable medium of claim 10 , wherein the operations further comprise:

selecting the webtask container from a pool of pre-warmed webtask containers.

12. The non-transitory computer-readable medium of claim 10 , wherein the operations further comprise following the URL link to retrieve the computer routine.

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

the webtask request is an HTTP request; and

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

14. The non-transitory computer-readable medium of claim 10 , wherein the computer routine or URL link thereto and the at least one client secret are bundled in a webtask token.

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

the webtask request is an HTTP request; and

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

16. The non-transitory computer-readable medium of claim 10 , wherein the operations further comprise:

receiving a confirmation of the returned calculated result,

wherein the destroying of the webtask container is in response to receiving the confirmation.

17. The non-transitory computer-readable medium of claim 10 , wherein the computer routine is independent of an operating system of the isolated environment.

18. The non-transitory computer-readable medium of claim 10 , wherein the webtask request is single-threaded.

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

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

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 Dec 3, 2019
From: JANCZUK, TOMASZ; WOLOSKI, MATÍAS
To: AUTH0, INC.
Reel/Frame 051165/0544 →
Continuity (3)
Continuation 14951223 · Nov 24, 2015
Provisional Application 62084511 · Nov 25, 2014
Related Publication 20200092369A1 · Mar 19, 2020