IP Library Granted Patent US 12,105,835
Granted Patent B2
US 12,105,835 · App. 17/224,307 · Granted Oct 1, 2024

Efficient API with privacy protection

Inventors: Jeremiah David Brazeau (Hudson, NH); Victor Manuel Romero Carrasco (Malaga, ES); Christopher David Boran (Burlington, MA); Andre Huss (San Francisco, CA); Pallav Kothari (San Francisco, CA)
Assignee: Salesforce, Inc.
G06F21/6245G06F9/547
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 12,105,835
App. No.
17/224,307
Granted
Oct 1, 2024
Kind
B2
Abstract

Methods, computer readable media, and devices for efficient application programming interface (API) processing with privacy protection include one method of receiving a user request for content from a client, parsing the user request for content to identify one or more request portions having a type of public information, customized information, and personal information, transmitting the one or more request portions to a corresponding microservice based on the type of the portion of content being requested, receiving one or more response portions, determining a type of the one or more portions of content, and in response to determining the type of a portion of content is not personal information, caching the portion of content based on the type of the portion of content, combining the one or more response portions into a user response, and sending the user response to the client.

Claims (52)

1. A computer-implemented method for efficient application programming interface (API) processing with privacy protection, the method comprising:

receiving a combined user request for content from a client;

parsing the combined user request for content to identify a first request portion for public information, a second request portion for customized information that is customized or targeted or structured for the specific individual and that can be retrieved without personally identifying the specific individual, and a third request portion for personal information that personally identifies an individual or is presented to the individual or is protected for access by the individual, wherein parsing the user request for content to identify one or more request portions comprises: identifying the one or more request portions based on a convention associated with each request portion, the convention being learned about or from the request for the portion of content based on a number of times the content is requested;

subdividing the combined user request into the corresponding request portions based on the type of content portions being requested;

transmitting separately the first request portion, the second request portion that is customized or targeted or structured for the specific individual and that can be retrieved without personally identifying the specific individual, and the third request portion to one of a plurality of microservices based on the type of the portion of content being requested;

receiving separately a first response portion comprising the public information, a second response portion comprising the customized information that is customized or targeted or structured for the specific individual and that can be retrieved without personally identifying the specific individual, and a third response portion comprising the personal information;

determining the type of the portion of content; and

in response to determining the type of the portion of content is not personal information, separately caching the portion of content based on the type of the portion of content;

combining the first response portion, the second response portion, and the third response portion into a combined user response; and

sending the combined user response to the client.

2. The computer-implemented method of claim 1 , further comprising:

in response to determining the type of the portion of content is personal information, forgoing caching the portion of content.

3. The computer-implemented method of claim 1 , wherein parsing the user request for content to identify one or more request portions comprises:

identifying the one or more request portions based on a tag associated with each request portion.

4. The computer-implemented method of claim 1 , wherein caching the portion of content based on the type of the portion of content comprises:

in response to determining the type of the portion of content is customized information, caching the portion of content on a limited basis.

5. A non-transitory machine-readable storage medium that provides instructions that, if executed by a processor, are configurable to cause the processor to perform operations comprising:

receiving a combined user request for content from a client;

parsing the combined user request for content to identify a first request portion for public information, a second request portion for customized information that is customized or targeted or structured for the specific individual and that can be retrieved without personally identifying the specific individual, and a third request portion for personal information that personally identifies an individual or is presented to the individual or is protected for access by the individual, wherein parsing the user request for content to identify one or more request portions comprises: identifying the one or more request portions based on a convention associated with each request portion, the convention being learned about or from the request for the portion of content based on a number of times the content is requested;

subdividing the combined user request into the corresponding request portions based on the type of content portions being requested;

transmitting separately the first request portion, the second request portion that is customized or targeted or structured for the specific individual and that can be retrieved without personally identifying the specific individual, and the third request portion to one of a plurality of microservices based on the type of the portion of content being requested;

receiving separately a first response portion comprising the public information, a second response portion comprising the customized information that is customized or targeted or structured for the specific individual and that can be retrieved without personally identifying the specific individual, and a third response portion comprising the personal information;

determining the type of the portion of content; and

in response to determining the type of the portion of content is not personal information, separately caching the portion of content based on the type of the portion of content;

combining the first response portion, the second response portion, and the third response portion into a combined user response; and

sending the combined user response to the client.

6. The non-transitory machine-readable storage medium of claim 5 , wherein the operations further comprise:

in response to determining the type of the portion of content is personal information, forgoing caching the portion of content.

7. The non-transitory machine-readable storage medium of claim 5 , wherein parsing the user request for content to identify one or more request portions comprises:

identifying the one or more request portions based on a tag associated with each request portion.

8. The non-transitory machine-readable storage medium of claim 5 , wherein caching the portion of content based on the type of the portion of content comprises:

in response to determining the type of the portion of content is customized information, caching the portion of content on a limited basis.

9. An apparatus comprising:

a processor; and

a non-transitory machine-readable storage medium that provides instructions that, if executed by a processor, are configurable to cause the processor to perform operations comprising:

receiving a combined user request for content from a client;

parsing the combined user request for content to identify a first request portion for public information, a second request portion for customized information that is customized or targeted or structured for the specific individual and that can be retrieved without personally identifying the specific individual, and a third request portion for personal information that personally identifies an individual or is presented to the individual or is protected for access by the individual, wherein parsing the user request for content to identify one or more request portions comprises: identifying the one or more request portions based on a convention associated with each request portion, the convention being learned about or from the request for the portion of content based on a number of times the content is requested;

subdividing the combined user request into the corresponding request portions based on the type of content portions being requested;

transmitting separately the first request portion, the second request portion that is customized or targeted or structured for the specific individual and that can be retrieved without personally identifying the specific individual, and the third request portion to one of a plurality of microservices based on the type of the portion of content being requested;

receiving separately a first response portion comprising the public information, a second response portion comprising the customized information that is customized or targeted or structured for the specific individual and that can be retrieved without personally identifying the specific individual, and a third response portion comprising the personal information;

determining the type of the portion of content; and

in response to determining the type of the portion of content is not personal information, separately caching the portion of content based on the type of the portion of content;

combining the first response portion, the second response portion, and the third response portion into a combined user response; and sending the combined user response to the client.

10. The apparatus of claim 9 , wherein the operations further comprise:

in response to determining the type of the portion of content is personal information, forgoing caching the portion of content.

11. The apparatus of claim 9 , wherein parsing the user request for content to identify one or more request portions comprises:

identifying the one or more request portions based on a tag associated with each request portion.

12. The apparatus of claim 9 , wherein caching the portion of content based on the type of the portion of content comprises:

in response to determining the type of the portion of content is customized information, caching the portion of content on a limited basis.

13. The computer-implemented method of claim 1 , wherein the separately caching comprises separately caching a first portion of the content comprising public information for repeated reuses by multiple tenants, and a second portion of the content comprising customized information until a threshold period of time elapses.

14. The non-transitory machine-readable storage medium of claim 5 , wherein the separately caching comprises separately caching a first portion of the content comprising public information for repeated reuses by multiple tenants, and a second portion of the content comprising customized information until a threshold period of time elapses.

15. The apparatus of claim 9 , wherein the separately caching comprises separately caching a first portion of the content comprising public information for repeated reuses by multiple tenants, and a second portion of the content comprising customized information until a threshold period of time elapses.

Assignments (2)
CHANGE OF NAME Recorded Jun 25, 2024
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 067826/0424 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 7, 2021
From: BRAZEAU, JEREMIAH DAVID; CARRASCO, VICTOR MANUEL ROMERO; BORAN, CHRISTOPHER DAVID; HUSS, ANDRE; KOTHARI, PALLAV
To: SALESFORCE.COM, INC.
Reel/Frame 055850/0005 →
Continuity (2)
Provisional Application 63046135 · Jun 30, 2020
Related Publication 20210406397A1 · Dec 30, 2021