IP Library Granted Patent US 11,163,873
Granted Patent B2
US 11,163,873 · App. 16/193,816 · Granted Nov 2, 2021

Distributed security introspection

Inventor: Michael Cervantez (San Francisco, CA)
Assignee: salesforce.com, Inc.
G06F21/53G06F21/554G06F21/566G06F2221/033
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,163,873
App. No.
16/193,816
Granted
Nov 2, 2021
Kind
B2
Abstract

Computer programming code may be executed via look ahead execution in a virtual machine. The computer programming code may include a first instruction to retrieve data stored in an on-demand computing services environment and a second instruction to transmit the data to a recipient. The first instruction, the second instruction, and the data may be evaluated to determine whether the execution of the computer programming code constitutes acceptable use of the on-demand computing services environment. When it is determined that the execution of the computer programming code does not constitute acceptable use of the on-demand computing services environment, further execution of the computer programming code may be halted.

Claims (29)

1. A method comprising:

performing look ahead execution of computer programming code in a virtual machine implemented on a computing device that includes a processor and memory, the computer programming code including a first instruction to retrieve data stored in an on-demand computing services environment, the computer programming code further including a second instruction to transmit the data to a recipient, the look ahead execution executing the first instruction but not the second instruction;

after executing the first instruction and retrieving the data, evaluating the first instruction, the second instruction, and the data via a processor to determine whether the execution of the computer programming code constitutes acceptable use of the on-demand computing services environment, wherein evaluating the first instruction, the second instruction, and the data further comprises receiving a response message from a scoring engine indicating whether the execution of the computer programming code constitutes acceptable use of the on-demand computing services environment; and

after determining that the execution of the computer programming code does not constitute acceptable use of the on-demand computing services environment, halting further execution of the computer programming code.

2. The method recited in claim 1 , wherein evaluating the first instruction, the second instruction, and the data comprises transmitting a request message to the scoring engine via a network.

3. The method recited in claim 2 , wherein the request message includes the first instruction, the second instruction, and information characterizing the data.

4. The method recited in claim 1 , wherein evaluating the first instruction, the second instruction, and the data comprises making a comparison with operations performed by a prior version of the computer programming code.

5. The method recited in claim 1 , wherein evaluating the first instruction, the second instruction, and the data comprises making a comparison with operations performed by a plurality of applications executed in the on-demand computing services environment.

6. The method recited in claim 1 , wherein the virtual machine is instantiated at the request of a client organization accessing the on-demand computing services environment, and wherein the computer programming code is included in an application instantiated at the request of the client organization.

7. The method recited in claim 6 , wherein the application is authored by the client organization.

8. The method recited in claim 6 , wherein the application is authored by a third-party software developer.

9. The method recited in claim 8 , wherein the application is accessed via an application exchange that provides applications for purchase and use in the on-demand computing environment.

10. The method recited in claim 1 , wherein the data is retrieved from a multi-tenant database accessible via the on-demand computing services environment.

11. A computing device comprising:

a processor configurable to perform look ahead execution of computer programming code in a virtual machine, the computer programming code including a first instruction to retrieve data stored in an on-demand computing services environment, the computer programming code further including a second instruction to transmit the data to a recipient, the look ahead execution executing the first instruction but not the second instruction;

a communications interface configurable to, after executing the first instruction and retrieving the data, communicate with a scoring engine via a network to evaluate the first instruction, the second instruction, and the data to determine whether the execution of the computer programming code constitutes acceptable use of the on-demand computing services environment, wherein evaluating the first instruction, the second instruction, and the data further comprises receiving a response message from a scoring engine indicating whether the execution of the computer programming code constitutes acceptable use of the on-demand computing services environment; and

a memory module configured to store a state of the virtual machine when further execution of the computer programming code is halted after determining that the execution of the computer programming code does not constitute acceptable use of the on-demand computing services environment.

12. The computing device recited in claim 11 , wherein the virtual machine is instantiated at the request of a client organization accessing the on-demand computing services environment, and wherein the computer programming code is included in an application instantiated at the request of the client organization.

13. The computing device recited in claim 12 , wherein the application is authored by the client organization.

14. The computing device recited in claim 12 , wherein the application is authored by a third-party software developer.

15. The computing device recited in claim 13 , wherein the application is accessed via an application exchange through which applications can be purchased for use in the on-demand computing environment.

16. The computing device recited in claim 11 , wherein the data is retrieved from a multi-tenant database accessible via the on-demand computing services environment.

17. One or more non-transitory computer readable media having stored thereon computer instructions capable of performing a method, the method comprising:

performing look ahead execution of computer programming code in a virtual machine implemented on a computing device that includes a processor and memory, the computer programming code including a first instruction to retrieve data stored in an on-demand computing services environment, the computer programming code further including a second instruction to transmit the data to a recipient, the look ahead execution executing the first instruction but not the second instruction;

after executing the first instruction and retrieving the data, evaluating the first instruction, the second instruction, and the data to determine whether the execution of the computer programming code constitutes acceptable use of the on-demand computing services environment, wherein evaluating the first instruction, the second instruction, and the data further comprises receiving a response message from a scoring engine indicating whether the execution of the computer programming code constitutes acceptable use of the on-demand computing services environment; and

after determining that the execution of the computer programming code does not constitute acceptable use of the on-demand computing services environment, halting further execution of the computer programming code.

18. The one or more non-transitory computer readable media recited in claim 17 , wherein the virtual machine is instantiated at the request of a client organization accessing the on-demand computing services environment, and wherein the computer programming code is included in an application instantiated at the request of the client organization.

19. The one or more non-transitory computer readable media recited in claim 17 ,

wherein evaluating the first instruction, the second instruction, and the data comprises transmitting a request message to the scoring engine via a network, the request message including the first instruction, the second instruction, and information characterizing the data.

Assignments (2)
CHANGE OF NAME Recorded Dec 18, 2024
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 069717/0383 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 16, 2018
From: CERVANTEZ, MICHAEL
To: SALESFORCE.COM, INC.
Reel/Frame 047529/0517 →
Continuity (1)
Related Publication 20200159912A1 · May 21, 2020