# US 12,182,155 B2 · Configuring an event table using computing node processes

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,182,155 B2
- Document ID: US12182155B2
- Status: Granted
- Kind: B2
- Application number: 18/302,515
- Filed: 2023-04-18
- Published: 2023-08-10
- Granted: 2024-12-31
- Earliest claimed: 2021-11-08
- Assignees: Snowflake Inc.
- Applicants: Snowflake Inc.
- Inventors: Benoit Dageville; Ganeshan Ramachandran Iyer; Unmesh Jagtap; Subramanian Muralidhar
- Web page: https://patentgrep.com/patent/US12182155B2

## CPC

- G06F 16/254: {Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses}
- G06F 16/284: {Relational databases}
- G06F 16/2282: {Tablespace storage structures; Management thereof}
- G06F 16/258: {Data format conversion from or to a database}
- G06F 16/278: {Data partitioning, e.g. horizontal or vertical partitioning}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Techniques for configuring event tables include retrieving, by at least one hardware processor of a computing node, log data at a first process of the computing node. The log data is associated with a function executing at a second process of the computing node. The log data is revised using a table stage to generate revised log data. The table stage is configured as a dedicated storage location of the first process. The revising includes a data enrichment process based on metadata associated with execution of the function at the second process. The revised log data is ingested into an event table.

## Claims

### Claim 1

A system comprising:
at least one hardware processor; and
at least one memory storing instructions that cause the at least one hardware processor to perform operations comprising:
retrieving log data at a first process of a computing node, the log data associated with a function executing at a second process of the computing node;
configuring a table stage as a dedicated storage location that is internal to the first process;
revising the log data using the table stage to generate revised log data, the revising comprising a data enrichment process based on metadata associated with execution of the function at the second process, and the metadata comprising at least a time the log data was generated; and
ingesting the revised log data into an event table.

### Claim 2 (depends on 1)

The system of claim 1, wherein the instructions further cause the at least one hardware processor to perform operations comprising:
configuring the second process with event table libraries, the event table libraries comprising at least one programming library.

### Claim 3 (depends on 2)

The system of claim 2, wherein the instructions further cause the at least one hardware processor to perform operations comprising:
causing execution of an event table instance within the second process using the at least one programming library.

### Claim 4 (depends on 3)

The system of claim 3, wherein the instructions further cause the at least one hardware processor to perform operations comprising:
collecting the log data at the second process using the event table instance, the log data generated by the execution of the function.

### Claim 5 (depends on 1)

The system of claim 1, wherein the instructions further cause the at least one hardware processor to perform operations comprising:
enriching the log data with contextual metadata to perform the data enrichment process, the enriching yielding the revised log data.

### Claim 6 (depends on 5)

The system of claim 5, wherein the contextual metadata comprises at least one of:
a timestamp identifying a time the log data was generated;
a query identifier of a query causing the generation of the log data;
a session identifier of a session during which the log data was generated; and
a warehouse identifier of a virtual warehouse of computing resources that include the computing node.

### Claim 7 (depends on 1)

The system of claim 1, wherein the instructions further cause the at least one hardware processor to perform operations comprising:
formatting the revised log data stored in the table stage into a format that is ingestible by the event table, yielding formatted log data.

### Claim 8 (depends on 7)

The system of claim 7, wherein the instructions further cause the at least one hardware processor to perform operations comprising:
scheduling ingestion of the formatted log data into the event table, based on an indication the formatted log data is available at the table stage.

### Claim 9 (depends on 8)

The system of claim 8, wherein the instructions further cause the at least one hardware processor to perform operations comprising:
decoding a query for the log data;
executing the query using the formatted log data stored in the event table to generate a query result; and
outputting the query result in response to the query.

### Claim 10 (depends on 1)

The system of claim 1, wherein the instructions further cause the at least one hardware processor to perform operations comprising:
configuring the function to execute as a user-defined function (UDF) using UDF code associated with the second process, wherein the second process is configured as a sub-process of the first process.

### Claim 11

A method comprising:
retrieving, by at least one hardware processor of a computing node, log data at a first process of the computing node, the log data associated with a function executing at a second process of the computing node;
configuring a table stage as a dedicated storage location that is internal to the first process;
revising the log data using the table stage to generate revised log data, the revising comprising a data enrichment process based on metadata associated with execution of the function at the second process, and the metadata comprising at least a time the log data was generated; and
ingesting the revised log data into an event table.

### Claim 12 (depends on 11)

The method of claim 11, further comprising:
configuring the second process with event table libraries, the event table libraries comprising at least one programming library.

### Claim 13 (depends on 12)

The method of claim 12, further comprising:
causing execution of an event table instance within the second process using the at least one programming library.

### Claim 14 (depends on 13)

The method of claim 13, further comprising:
collecting the log data at the second process using the event table instance, the log data generated by the execution of the function.

### Claim 15 (depends on 11)

The method of claim 11, further comprising:
enriching the log data with contextual metadata to perform the data enrichment process, the enriching yielding the revised log data.

### Claim 16 (depends on 15)

The method of claim 15, wherein the contextual metadata comprises at least one of:
a timestamp identifying a time the log data was generated;
a query identifier of a query causing the generation of the log data;
a session identifier of a session during which the log data was generated; and
a warehouse identifier of a virtual warehouse of computing resources that include the computing node.

### Claim 17 (depends on 11)

The method of claim 11, further comprising:
formatting the revised log data stored in the table stage into a format that is ingestible by the event table, yielding formatted log data.

### Claim 18 (depends on 17)

The method of claim 17, further comprising:
scheduling ingestion of the formatted log data into the event table, based on an indication the formatted log data is available at the table stage.

### Claim 19 (depends on 18)

The method of claim 18, further comprising:
decoding a query for the log data;
executing the query using the formatted log data stored in the event table to generate a query result; and
outputting the query result in response to the query.

### Claim 20 (depends on 11)

The method of claim 11, further comprising:
configuring the function to execute as a user-defined function (UDF) using UDF code associated with the second process, wherein the second process is configured as a sub-process of the first process.

### Claim 21

A computer-storage medium comprising instructions that, when executed by one or more processors of a machine, configure the machine to perform operations comprising:
retrieving log data at a first process of a computing node, the log data associated with a function executing at a second process of the computing node;
configuring a table stage as a dedicated storage location that is internal to the first process;
revising the log data using the table stage to generate revised log data, the revising comprising a data enrichment process based on metadata associated with execution of the function at the second process, and the metadata comprising at least a time the log data was generated; and
ingesting the revised log data into an event table.

### Claim 22 (depends on 21)

The computer-storage medium of claim 21, the operations further comprising:
configuring the second process with event table libraries, the event table libraries comprising at least one programming library.

### Claim 23 (depends on 22)

The computer-storage medium of claim 22, the operations further comprising:
causing execution of an event table instance within the second process using the at least one programming library.

### Claim 24 (depends on 23)

The computer-storage medium of claim 23, the operations further comprising:
collecting the log data at the second process using the event table instance, the log data generated by the execution of the function.

### Claim 25 (depends on 21)

The computer-storage medium of claim 21, the operations further comprising:
enriching the log data with contextual metadata to perform the data enrichment process, the enriching yielding the revised log data.

### Claim 26 (depends on 25)

The computer-storage medium of claim 25, wherein the contextual metadata comprises at least one of:
a timestamp identifying a time the log data was generated;
a query identifier of a query causing the generation of the log data;
a session identifier of a session during which the log data was generated; and
a warehouse identifier of a virtual warehouse of computing resources that include the computing node.

### Claim 27 (depends on 21)

The computer-storage medium of claim 21, the operations further comprising:
formatting the revised log data stored in the table stage into a format that is ingestible by the event table, yielding formatted log data.

### Claim 28 (depends on 27)

The computer-storage medium of claim 27, the operations further comprising:
scheduling ingestion of the formatted log data into the event table, based on an indication the formatted log data is available at the table stage.

### Claim 29 (depends on 28)

The computer-storage medium of claim 28, the operations further comprising:
decoding a query for the log data;
executing the query using the formatted log data stored in the event table to generate a query result; and
outputting the query result in response to the query.

### Claim 30 (depends on 21)

The computer-storage medium of claim 21, the operations further comprising:
configuring the function to execute as a user-defined function (UDF) using UDF code associated with the second process, wherein the second process is configured as a sub-process of the first process.
