IP Library Granted Patent US 10,990,694
Granted Patent B2
US 10,990,694 · App. 16/032,902 · Granted Apr 27, 2021

Processing private data using a workflow action

Inventors: Douglas Eliot Chasman (Pittsford, NY); David Chungnan Wu (Redwood City, CA); Hugh Francis Cockburn (Irvine, CA); Alex Edelstein (San Francisco, CA); Antoine Barseni (Ozoir-la-Ferriere, FR); Franck Thomas (Paris, FR); Antoine Magnier (Ablis, FR); Nhi Nguyen (Antony, FR); Benoit Dufourd (Paris, FR); Samantha Reynard (San Francisco, CA); Samuel William Bailey (Cardiff, GB)
Assignee: salesforce.com, inc.
G06F21/6245G06F9/5033G06F16/256G06F16/278G06F16/951G06F16/972G06F21/31G06F21/604G06F21/6227H04L67/1097H04L67/34G06F2221/2141
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 10,990,694
App. No.
16/032,902
Granted
Apr 27, 2021
Kind
B2
Abstract

Methods, systems, and devices for processing private data using a workflow action are described. A method may include identifying, at a user device that is authenticated to access a local system, an action of a workflow that is running on an external server that is external to the local system. The action may involve processing private data stored within the local system. The method may further include receiving, at the user device, a direct data query associated with the action, the direct data query including a set of encoded instructions that are self-extracting upon being executed by a browser of the user device. The method may further include executing, by the browser of the user device, the set of encoded instructions to directly access the private data and transmitting an indication of a result of the action based on directly accessing the private data.

Claims (49)

1. A method for database processing, comprising:

identifying, at a user device that is authenticated to access a local system associated with an organization, an action of a workflow that is running on an external server that is external to the local system, wherein the action involves processing private data at the user device associated with the organization, wherein the private data is stored within the local system;

receiving, at the user device, a direct data query associated with the action, the direct data query comprising a set of encoded instructions that are self-extracting upon being executed by a browser of the user device, wherein the set of encoded instructions comprises a first instruction for directly accessing the private data and a second instruction for performing the action at the user device based on a result of executing the first instruction;

executing, by the browser of the user device, the first instruction of the set of encoded instructions to directly access the private data and the second instruction of the set of encoded instructions to perform the action and obtain a result of the second instruction based on directly accessing the private data in accordance with the first instruction, wherein the result of the second instruction masks a content of the private data; and

transmitting, to the external server, the result of the second instruction.

2. The method of claim 1 , further comprising:

requesting, by the browser of the user device, the set of encoded instructions to directly access the private data based at least in part on the direct data query associated with the action.

3. The method of claim 1 , further comprising:

identifying, at the user device that is authenticated to access the local system, a subsequent action of the workflow that is running on the external server that is external to the local system based at least in part on transmitting the result of the second instruction.

4. The method of claim 1 , wherein executing the set of encoded instructions comprises:

downloading the set of encoded instructions to the user device; and

adding the set of encoded instructions to the action of the workflow.

5. The method of claim 4 , wherein the set of encoded instructions is based at least in part on the direct data query associated with the action.

6. The method of claim 1 , wherein the browser of the user device is associated with a self-contained, reusable portion of an application installed on the user device.

7. The method of claim 1 , wherein the direct data query associated with the action is received dynamically based at based at least in part on identifying the action of the workflow.

8. The method of claim 1 , wherein the set of encoded instructions comprises JavaScript.

9. The method of claim 1 , wherein the local system comprises an on-premise system.

10. The method of claim 1 , further comprising:

completing, by the user device, the action of the workflow that is running on the external server based at least in part on executing the set of encoded instructions, wherein transmitting the result of the second instruction triggers execution, at the external server, of at least one action subsequent to the completed action in accordance with the workflow.

11. An apparatus for database processing, comprising:

a processor,

memory in electronic communication with the processor; and

instructions stored in the memory and executable by the processor to cause the apparatus to:

identify, at a user device that is authenticated to access a local system associated with an organization, an action of a workflow that is running on an external server that is external to the local system, wherein the action involves processing private data at the user device associated with the organization, wherein the private data is stored within the local system;

receive, at the user device, a direct data query associated with the action, the direct data query comprising a set of encoded instructions that are self-extracting upon being executed by a browser of the user device, wherein the set of encoded instructions comprises a first instruction for directly accessing the private data and a second instruction for performing the action at the user device based on a result of executing the first instruction;

execute, by the browser of the user device, the first instruction of the set of encoded instructions to directly access the private data and the second instruction of the set of encoded instructions to perform the action and obtain a result of the second instruction based on directly accessing the private data in accordance with the first instruction, wherein the result of the second instruction masks a content of the private data; and

transmit, to the external server, the result of the second instruction.

12. The apparatus of claim 11 , wherein the instructions are further executable by the processor to cause the apparatus to:

request, by the browser of the user device, the set of encoded instructions to directly access the private data based at least in part on the direct data query associated with the action.

13. The apparatus of claim 11 , wherein the instructions are further executable by the processor to cause the apparatus to:

identify, at the user device that is authenticated to access the local system, a subsequent action of the workflow that is running on the external server that is external to the local system based at least in part on transmitting the result of the second instruction.

14. The apparatus of claim 11 , wherein the instructions are further executable by the processor to cause the apparatus to:

download the set of encoded instructions to the user device; and

add the set of encoded instructions to the action of the workflow.

15. The apparatus of claim 14 , wherein the set of encoded instructions is based at least in part on the direct data query associated with the action.

16. The apparatus of claim 11 , wherein the browser of the user device is associated with a self-contained, reusable portion of an application installed on the user device.

17. A non-transitory computer-readable medium storing code for database processing, the code comprising instructions executable by a processor to:

identify, at a user device that is authenticated to access a local system associated with an organization, an action of a workflow that is running on an external server that is external to the local system, wherein the action involves processing private data at the user device associated with the organization, wherein the private data is stored within the local system;

receive, at the user device, a direct data query associated with the action, the direct data query comprising a set of encoded instructions that are self-extracting upon being executed by a browser of the user device, wherein the set of encoded instructions comprises a first instruction for directly accessing the private data and a second instruction for performing the action at the user device based on a result of executing the first instruction;

execute, by the browser of the user device, the first instruction of the set of encoded instructions to directly access the private data and the second instruction of the set of encoded instructions to perform the action and obtain a result of the second instruction based on directly accessing the private data in accordance with the first instruction, wherein the result of the second instruction masks a content of the private data; and

transmit, to the external server, the result of the second instruction.

18. The non-transitory computer-readable medium of claim 17 , wherein the instructions are further executable to:

request, by the browser of the user device, the set of encoded instructions to directly access the private data based at least in part on the direct data query associated with the action.

19. The non-transitory computer-readable medium of claim 17 , wherein the instructions are further executable to:

identify, at the user device that is authenticated to access the local system, a subsequent action of the workflow that is running on the external server that is external to the local system based at least in part on transmitting the result of the second instruction.

20. The non-transitory computer-readable medium of claim 17 , wherein the instructions are further executable to:

download the set of encoded instructions to the user device; and

add the set of encoded instructions to the action of the workflow.

21. The non-transitory computer-readable medium of claim 20 , wherein the set of encoded instructions is based at least in part on the direct data query associated with the action.

Assignments (2)
CHANGE OF NAME Recorded Dec 18, 2024
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 069717/0353 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 21, 2018
From: CHASMAN, DOUGLAS; WU, DAVID CHUNGNAN; COCKBURN, HUGH FRANCIS; EDELSTEIN, ALEX; BARSENI, ANTOINE; THOMAS, FRANCK; MAGNIER, ANTOINE; NGUYEN, NHI; DUFOURD, BENOIT; REYNARD, SAMANTHA; BAILEY, SAMUEL WILLIAM
To: SALESFORCE.COM, INC.
Reel/Frame 046641/0745 →
Continuity (1)
Related Publication 20200019720A1 · Jan 16, 2020