IP Library Granted Patent US 11,657,179
Granted Patent B2
US 11,657,179 · App. 17/231,235 · Granted May 23, 2023

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, 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 11,657,179
App. No.
17/231,235
Granted
May 23, 2023
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 (42)

1. A method for database processing, comprising:

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

transmitting, to the user device based at least in part on identifying the action, a set of instructions that are configured to access and process the private data that is stored within the local system; and

receiving, from the user device based at least in part on transmitting the set of instructions, a result of execution of the set of instructions by the user device.

2. The method of claim 1 , wherein transmitting the set of instructions comprises:

transmitting, to the user device, a direct data query associated with the action and the set of instructions include a first instruction for directly accessing the private data and a second instruction for performing the action at the user device based at least in part on a result of executing the first instruction.

3. The method of claim 2 , wherein the second instruction is configured to mask content of the private data as the result.

4. The method of claim 2 , wherein the set of instructions are encoded and are configured to be self-extracting upon being executed by a browser of the user device.

5. The method of claim 1 , wherein receiving the result comprises:

receiving the result that masks the private data accessed by the user device from the local system resulting from the set of instructions being executed on the user device.

6. The method of claim 1 , further comprising:

receiving, from the user device, a request for the set of instructions to directly access the private data, wherein the set of instructions are transmitted in response to the request.

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

8. An apparatus for database processing, comprising:

a processor;

memory coupled with the processor; and

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

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

transmit, to the user device based at least in part on identifying the action, a set of instructions that are configured to access and process the private data that is stored within the local system; and

receive, from the user device based at least in part on transmitting the set of instructions, a result of execution of the set of instructions by the user device.

9. The apparatus of claim 8 , wherein the instructions to transmit the set of instructions are executable by the processor to cause the apparatus to:

transmit, to the user device, a direct data query associated with the action and the set of instructions include a first instruction for directly accessing the private data and a second instruction for performing the action at the user device based at least in part on a result of executing the first instruction.

10. The apparatus of claim 9 , wherein the second instruction is configured to mask content of the private data as the result.

11. The apparatus of claim 9 , wherein the set of instructions are encoded and are configured to be self-extracting upon being executed by a browser of the user device.

12. The apparatus of claim 8 , wherein the instructions to receive the result are executable by the processor to cause the apparatus to:

receive the result that masks the private data accessed by the user device from the local system resulting from the set of instructions being executed on the user device.

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

receive, from the user device, a request for the set of instructions to directly access the private data, wherein the set of instructions are transmitted in response to the request.

14. The apparatus of claim 8 , wherein:

the set of instructions comprises JavaScript.

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

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

transmit, to the user device based at least in part on identifying the action, a set of instructions that are configured to access and process the private data that is stored within the local system; and

receive, from the user device based at least in part on transmitting the set of instructions, a result of execution of the set of instructions by the user device.

16. The non-transitory computer-readable medium of claim 15 , wherein the instructions to transmit the set of instructions are executable by the processor to:

transmit, to the user device, a direct data query associated with the action and the set of instructions include a first instruction for directly accessing the private data and a second instruction for performing the action at the user device based at least in part on a result of executing the first instruction.

17. The non-transitory computer-readable medium of claim 16 , wherein the second instruction is configured to mask content of the private data as the result.

18. The non-transitory computer-readable medium of claim 16 , wherein the set of instructions are encoded and are configured to be self-extracting upon being executed by a browser of the user device.

19. The non-transitory computer-readable medium of claim 15 , wherein the instructions to receive the result are executable by the processor to:

receive the result that masks the private data accessed by the user device from the local system resulting from the set of instructions being executed on the user device.

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

receive, from the user device, a request for the set of instructions to directly access the private data, wherein the set of instructions are transmitted in response to the request.

Assignments (2)
CHANGE OF NAME Recorded Mar 8, 2023
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 062992/0802 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 15, 2021
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 055928/0985 →
Continuity (2)
Continuation 16032902 · Jul 11, 2018
Related Publication 20220027503A1 · Jan 27, 2022