IP Library › Granted Patent US 12,210,579
Granted Patent B2
US 12,210,579 · App. 17/538,754 · Granted Jan 28, 2025

High scalable document generation service

Inventors: Keye Liu (San Francisco, CA); Dai Duong Doan (San Francisco, CA); Kaidi Xu (San Francisco, CA); Angela Gu (Bellevue, WA); Yi-Chin Chang (Bellevue, WA); Tyler Shopshire (San Francisco, CA); Shanis Kurundrayil (San Francisco, CA)
G06F16/955G06F16/986
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,210,579
App. No.
17/538,754
Granted
Jan 28, 2025
Kind
B2
Abstract

Disclosed are some implementations of systems, apparatus, methods and computer program products for implementing a scalable computing system. The scalable computing system includes an intermediate system that facilitates communications between a core server system and a third-party system. The core server system processes a client request for a third-party service in association with a web page having a corresponding web address. The intermediate system communicates with the core server system to obtain a session token, and transmits the session token and web address to the third-party system. The third-party system may then access the web page via the web address using the session token.

Claims (70)

1. A method, comprising:

processing, by a server system, a client request associated with a web page, the client request being received from a client device;

responsive to the client request, transmitting, by the server system, a third-party service request including a web address associated with the web page and a user identifier to an intermediate system, the third-party service request being a request for a third-party service;

processing, by the server system, a session token request received from the intermediate system, the session token request including the user identifier;

generating, by the server system, a session token using the user identifier;

transmitting, by the server system, the session token to the intermediate system responsive to the session token request;

processing, by the server system, a web page request including the web address and session token, the web page request being received from a third-party system, wherein the session token is not provided by the server system directly to the third-party system;

authenticating, by the server system, the web page request using the session token;

responsive to authenticating the web page request, transmitting, by the server system, the web page to the third-party system;

obtaining, by the server system, a first document associated with the web page and generated by the third-party system; and

providing, by the server system, the first document to the client device.

2. The method of claim 1 , wherein obtaining the first document comprises:

retrieving the first document associated with the web page from a storage medium responsive to receiving a document ready message from the intermediate system.

3. The method of claim 2 , wherein transmitting the third-party service request includes providing the third-party service request via a first queue of a first set of queues, and wherein the document ready message is received via a second queue of the first set of queues.

4. The method of claim 1 , further comprising:

transmitting, by the intermediate system, a message including the session token and web address to the third-party service.

5. The method of claim 4 , further comprising:

processing, by the intermediate system, a document ready notification message received from the third-party service; and

transmitting, by the intermediate system, a document ready message to the server system responsive to processing the document ready notification message;

wherein obtaining, by the server system, the first document includes retrieving the first document from a storage medium responsive to the document ready message.

6. The method of claim 5 , wherein transmitting the message is performed via a first queue of a second set of queues, the document ready notification message being received from the third-party service via a second queue of the second set of queues.

7. The method of claim 1 , further comprising:

configuring, by the server system, a token lifetime associated with the session token;

wherein authenticating the web page request using the session token includes verifying that the session token has not expired.

8. A system comprising:

a database system implemented using a server system, the database system configurable to cause:

processing, by a server system, a client request associated with a web page, the client request being received from a client device;

responsive to the client request, transmitting, by the server system, a third-party service request including a web address associated with the web page and a user identifier to an intermediate system, the third-party service request being a request for a third-party service;

processing, by the server system, a session token request received from the intermediate system, the session token request including the user identifier;

generating, by the server system, a session token using the user identifier;

transmitting, by the server system, the session token to the intermediate system responsive to the session token request;

processing, by the server system, a web page request including the web address and session token, the web page request being received from a third-party system, wherein the session token is not provided by the server system directly to the third-party system;

authenticating, by the server system, the web page request using the session token;

responsive to authenticating the web page request, transmitting, by the server system, the web page to the third-party system;

obtaining, by the server system, a first document associated with the web page and generated by the third-party system; and

providing, by the server system, the first document to the client device.

9. The system of claim 8 , wherein obtaining the first document comprises:

retrieving the first document associated with the web page from a storage medium responsive to receiving a document ready message from the intermediate system.

10. The system of claim 9 , wherein transmitting the third-party service request includes providing the third-party service request via a first queue of a first set of queues, and wherein the document ready message is received via a second queue of the first set of queues.

11. The system of claim 8 , the database system further configurable to cause:

transmitting, by the intermediate system, a message including the session token and web address to the third-party service.

12. The system of claim 11 , the database system further configurable to cause:

processing, by the intermediate system, a document ready notification message received from the third-party service; and

transmitting, by the intermediate system, a document ready message to the server system responsive to processing the document ready notification message;

wherein obtaining, by the server system, the first document includes retrieving the first document from a storage medium responsive to the document ready message.

13. The system of claim 12 , wherein transmitting the message is performed via a first queue of a second set of queues, the document ready notification message being received from the third-party service via a second queue of the second set of queues.

14. The system of claim 8 , the database system further configurable to cause:

configuring, by the server system, a token lifetime associated with the session token;

wherein authenticating the web page request using the session token includes verifying that the session token has not expired.

15. A computer program product comprising computer-readable program code capable of being executed by one or more processors when retrieved from a non-transitory computer-readable medium, the program code comprising computer-readable instructions configurable to cause:

processing, by a server system, a client request associated with a web page, the client request being received from a client device;

responsive to the client request, transmitting, by the server system, a third-party service request including a web address associated with the web page and a user identifier to an intermediate system, the third-party service request being a request for a third-party service;

processing, by the server system, a session token request received from the intermediate system, the session token request including the user identifier;

generating, by the server system, a session token using the user identifier;

transmitting, by the server system, the session token to the intermediate system responsive to the session token request;

processing, by the server system, a web page request including the web address and session token, the web page request being received from a third-party system, wherein the session token is not provided by the server system directly to the third-party system;

authenticating, by the server system, the web page request using the session token;

responsive to authenticating the web page request, transmitting, by the server system, the web page to the third-party system;

obtaining, by the server system, a first document associated with the web page and generated by the third-party system; and

providing, by the server system, the first document to the client device.

16. The computer program product of claim 15 , wherein obtaining the first document comprises:

retrieving the first document associated with the web page from a storage medium responsive to receiving a document ready message from the intermediate system.

17. The computer program product of claim 16 , wherein transmitting the third-party service request includes providing the third-party service request via a first queue of a first set of queues, and wherein the document ready message is received via a second queue of the first set of queues.

18. The computer program product of claim 15 , the program code comprising computer-readable instructions further configurable to cause:

transmitting, by the intermediate system, a message including the session token and web address to the third-party service.

19. The computer program product of claim 18 , the program code comprising computer-readable instructions further configurable to cause:

processing, by the intermediate system, a document ready notification message received from the third-party service; and

transmitting, by the intermediate system, a document ready message to the server system responsive to processing the document ready notification message;

wherein obtaining, by the server system, the first document includes retrieving the first document from a storage medium responsive to the document ready message.

20. The computer program product of claim 19 , wherein transmitting the message is performed via a first queue of a second set of queues, the document ready notification message being received from the third-party service via a second queue of the second set of queues.

Assignments (2)
CHANGE OF NAME Recorded Aug 4, 2026
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 076118/0548 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 30, 2021
From: LIU, KEYE; DOAN, DAI DUONG; XU, KAIDI; GU, ANGELA; CHANG, YI-CHIN; SHOPSHIRE, TYLER; KURUNDRAYIL, SHANIS
To: SALESFORCE.COM, INC.
Reel/Frame 058247/0524 →
Continuity (1)
Related Publication 20230171245A1 · Jun 1, 2023
References Cited (27)
US 9191291B2 · Doan · 2015 [cited by applicant]
US 9553783B2 · Doan · 2017 [cited by applicant]
US 9697287B2 · Doan · 2017 [cited by applicant]
US 9819568B2 · Doan · 2017 [cited by applicant]
US 10152497B2 · Doan et al. · 2018 [cited by applicant]
US 10387388B2 · Doan et al. · 2019 [cited by applicant]
US 10650337B2 · Lalani et al. · 2020 [cited by applicant]
US 10713588B2 · Doan et al. · 2020 [cited by applicant]
US 10733613B2 · Vaishnav et al. · 2020 [cited by applicant]
US 10901996B2 · Doan et al. · 2021 [cited by applicant]
US 11164118B1 · Doan et al. · 2021 [cited by applicant]
US 20170171201A1 · Matsugashita · 2017 [cited by applicant]
US 20170277768A1 · Doan et al. · 2017 [cited by applicant]
US 20170286441A1 · Doan et al. · 2017 [cited by applicant]
US 20170293629A1 · Doan et al. · 2017 [cited by applicant]
US 20180293586A1 · Doan et al. · 2018 [cited by applicant]
US 20180302405A1 · Gordon · 2018 [cited by applicant]
US 20190220828A1 · Murali et al. · 2019 [cited by applicant]
US 20190236195A1 · Sutedjo-The et al. · 2019 [cited by applicant]
US 20190236213A1 · Palmert · 2019 [cited by applicant]
US 20190236217A1 · Eroshin et al. · 2019 [cited by applicant]
US 20190372960A1 · Huang · 2019 [cited by applicant]
US 20190394204A1 · Bansal · 2019 [cited by applicant]
US 20210182343A1 · Li · 2021 [cited by examiner]
US 20210377252A1 · Monro · 2021 [cited by applicant]
Office Action (Non-Final Rejection) dated Mar. 7, 2024 for U.S. Appl. No. 17/538,761 (pp. 1-10). [cited by applicant]
Office Action (Non-Final Rejection) dated Jun. 26, 2024 for U.S. Appl. No. 17/538,761 (pp. 1-10). [cited by applicant]