US 11,841,872 B2
Interactively building previews of extract, transform, load (ETL) graphs using cached previews of subgraphs
Gregory Hui, San Francisco, CA (US); Alex Field, Vancouver (CA); Brittany Zenger, Vancouver (CA); and Magnus Byne, Vancouver (CA)
Assigned to Salesforce, Inc., San Francisco, CA (US)
Filed by Salesforce.com, Inc., San Francisco, CA (US)
Filed on Jul. 26, 2021, as Appl. No. 17/385,393.
Prior Publication US 2023/0023655 A1, Jan. 26, 2023
Int. Cl. G06F 16/25 (2019.01); G06F 3/0486 (2013.01); G06F 16/2455 (2019.01); G06F 16/26 (2019.01)
CPC G06F 16/254 (2019.01) [G06F 3/0486 (2013.01); G06F 16/24552 (2019.01); G06F 16/26 (2019.01)] 20 Claims
OG exemplary drawing
 
1. A system comprising:
a database system implemented using a server system, the database system including a processor and memory, the database system being configurable to cause:
processing a first request to execute a first portion of a process flow, the first portion of the process flow being represented by a first subgraph of a graph representing the process flow, a final node of the first subgraph corresponding to a set of computer-readable instructions, the first request being received from a client device;
executing the first portion of the process flow such that a first output of executing the first portion of the process flow is obtained;
storing, in a cache, a first cache entry associating the first subgraph with the first output;
processing a second request to execute a second portion of the process flow, the second portion of the process flow being represented by a second subgraph of the graph, the second request being received from the client device;
identifying, from the cache, at least one cache entry for which a corresponding subgraph matches at least a portion of the second subgraph, the at least one cache entry including the first cache entry;
retrieving the first output from the first cache entry;
identifying a node of the second subgraph to which the final node of the first subgraph is connected; and
executing the second portion of the process flow by providing the first output as input to the identified node of the second subgraph without executing the set of computer-readable instructions.