IP Library Granted Patent US 11,727,017
Granted Patent B2
US 11,727,017 · App. 16/940,867 · Granted Aug 15, 2023

Methods for introspecting code in a multi-tenant environment

Inventors: Nicholas Chun Yuan Chen (San Francisco, CA); Lovi Yu (Folsom, CA); Christopher Peterson (South San Francisco, CA); Christopher Alan Ebert (Berkeley, CA); Michael Goldberg Boilen (Kirkland, WA); Samantha Reynard (San Francisco, CA)
Assignee: Salesforce, Inc.
G06F16/24575G06F16/2433G06F16/24524G06F16/24553G06F16/288
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,727,017
App. No.
16/940,867
Granted
Aug 15, 2023
Kind
B2
Abstract

A method and system for code introspection in a multi-tenant architecture. The method includes receiving a query for code introspection from an entity, retrieving context for the entity that sent the query, retrieving raw code information based on the query, filtering the raw code information based on the context, and returning the filtered code information.

Claims (38)

1. A method for code introspection in a multi-tenant architecture, the method comprising:

receiving from an entity a structured query language (SQL) query for a database that facilitates code introspection, wherein the database stores symbol table data, in an SQL queryable format, generated as part of compiling code for the multi-tenant architecture;

retrieving context for the entity that sent the query;

retrieving information, from the database based on the SQL query, regarding the symbol table data;

filtering the information based on the context; and

returning the filtered information.

2. The method of claim 1 , wherein the entity is a program executing a function that sends the query.

3. The method of claim 1 , wherein the entity is a user submitting the query via a command line interface.

4. The method of claim 1 , wherein the context defines permissions for a user, organization, and tenant of the multi-tenant architecture.

5. The method of claim 1 , wherein the filtering removes one or more portions of the information that the entity lacks permissions to access.

6. The method of claim 1 , wherein the information is a symbol table generated by the compiler of the multi-tenant architecture.

7. The method of claim 1 , wherein the information is an abstract syntax tree generated by the compiler of the multi-tenant architecture.

8. A non-transitory machine-readable storage medium that provides instructions that, if executed by a processor, will cause said processor to perform operations for code introspection in a multi-tenant architecture, the operations comprising:

receiving from an entity a structured query language (SQL) query for a database that facilitates code introspection, wherein the database stores symbol table data, in an SQL queryable format, generated as part of compiling code for the multi-tenant architecture;

retrieving context for the entity that sent the query;

retrieving information, from the database based on the SQL query, regarding the symbol table data;

filtering the information based on the context; and

returning the filtered information.

9. The non-transitory machine-readable storage medium of claim 8 , wherein the entity is a program executing a function that sends the query.

10. The non-transitory machine-readable storage medium of claim 8 , wherein the entity is a user submitting the query via a command line interface.

11. The non-transitory machine-readable storage medium of claim 8 , wherein the context defines permissions for a user, organization, and tenant of the multi-tenant architecture.

12. The non-transitory machine-readable storage medium of claim 8 , wherein the filtering removes one or more portions of the information that the entity lacks permissions to access.

13. The non-transitory machine-readable storage medium of claim 8 , wherein the information is a symbol table generated by the compiler of the multi-tenant architecture.

14. The non-transitory machine-readable storage medium of claim 8 , wherein the information is an abstract syntax tree generated by the compiler of the multi-tenant architecture.

15. A computing device to execute a method for code introspection in a multi-tenant architecture, the computing device comprising:

a non-transitory machine-readable storage structure to store a database that stores information that was generated by a compiler of the multi-tenant architecture and that relates to compilation processes performed by the compiler, and a code introspection service; and

a processor coupled to the non-transitory machine-readable storage structure, the processor to execute the code introspection service, the code introspection service to:

receive from an entity a structured query language (SQL) query for a database that facilitates code introspection, wherein the database stores symbol table data, in an SQL queryable format, generated as part of compiling code for the multi-tenant architecture;

retrieve context for the entity that sent the query;

retrieving information, from the database based on the SQL query, regarding the symbol table data;

filter the information based on the context; and

return the filtered information.

16. The computing device of claim 15 , wherein the entity is a program executing a function that sends the query.

17. The computing device of claim 15 , wherein the entity is a user submitting the query via a command line interface.

18. The computing device of claim 15 , wherein the context defines permissions for a user, organization, and tenant of the multi-tenant architecture.

19. The computing device of claim 15 , wherein the filtering removes one or more portions of the information that the entity lacks permissions to access.

20. The computing device of claim 15 , wherein the information is a symbol table generated by the compiler of the multi-tenant architecture.

21. The computing device of claim 15 , wherein the information is an abstract syntax tree generated by the compiler of the multi-tenant architecture.

Assignments (2)
CHANGE OF NAME Recorded Feb 17, 2023
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 062794/0656 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 28, 2020
From: CHEN, NICHOLAS CHUN YUAN; YU, LOVI; PETERSON, CHRISTOPHER; EBERT, CHRISTOPHER ALAN; BOILEN, MICHAEL GOLDBERG; REYNARD, SAMANTHA
To: SALESFORCE.COM, INC.
Reel/Frame 053329/0939 →
Cited By (1)
US 1,099,126