IP Library › Granted Patent US 12,585,684
Granted Patent B2
US 12,585,684 · App. 18/611,521 · Granted Mar 24, 2026

System and method supporting log analytics or other log-related functions across multiple systems

Inventors: Matti J. Oikarinen (Los Altos, CA); Atte T. Lahtiranta (Los Altos, CA)
Assignee: Goldman Sachs & Co. LLC
G06F16/338G06F11/3476G06F16/3332G06F16/335H04L63/0807
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,585,684
App. No.
18/611,521
Granted
Mar 24, 2026
Kind
B2
Abstract

A method includes receiving a user query identifying one or more criteria associated with logs or log-related information. The method also includes sending queries identifying the one or more criteria to multiple logging systems associated with different computing or networking systems. The method further includes obtaining responses from the logging systems, where at least some of the responses contain one or more logs or log-related information satisfying the one or more criteria. In addition, the method includes presenting the one or more logs or log-related information satisfying the one or more criteria to a user.

Claims (75)

1 . A method comprising:

pre-populating a cache system using a subset of logs or log-related information from multiple logging systems associated with different computing or networking systems, wherein the cache system includes a first cache and a second cache;

receiving a user query identifying one or more criteria associated with the logs or log-related information;

determining whether one or more logs or log-related information satisfying the one or more criteria is contained in the cache system;

in response to determining that the one or more logs or log-related information satisfying the one or more criteria is not contained in the cache system, sending queries identifying the one or more criteria to the multiple logging systems;

obtaining responses from the logging systems, at least some of the responses containing one or more logs or log-related information satisfying the one or more criteria;

presenting the one or more logs or log-related information satisfying the one or more criteria to a user; and

moving at least some of the subset of logs or log-related information from the first cache to the second cache based on age of the subset of logs or log-related information;

wherein the cache system is pre-populated prior to receiving the user query; and

wherein the cache system is pre-populated periodically over time at a specified time interval in order to include, in the cache system, logs or log-related information from the multiple logging systems within a most-recent specified time period.

2 . The method of claim 1 , wherein the subset of logs or log-related information used to pre-populate the cache system is not identified based on user queries.

3 . The method of claim 1 , further comprising:

obtaining at least a portion of the one or more logs or log-related information from the cache system in response to determining that the one or more logs or log-related information satisfying the one or more criteria is contained in the cache system.

4 . The method of claim 1 , wherein pre-populating the cache system comprises obtaining the logs or log-related information from the logging systems within the most-recent specified time period and storing the obtained logs or log-related information in the first cache of the cache system.

5 . The method of claim 1 , wherein the cache system is pre-populated by executing a background task and without user interaction.

6 . The method of claim 1 , further comprising at least one of:

pre-populating one or more specific types of data in the cache system;

partitioning pre-populated data in the cache system by user or user group; and

encrypting at least some of the pre-populated data in the cache system.

7 . The method of claim 1 , wherein:

the first and second caches include different storage locations;

pre-populating the cache system comprises storing different data in the different storage locations; and

the different storage locations are associated with at least one of: different query capabilities and different costs.

8 . The method of claim 1 , further comprising:

combining the one or more logs or log-related information obtained from the logging systems with one or more additional logs or additional log-related information obtained from the cache system.

9 . The method of claim 1 , wherein:

the user query is received using a specified query syntax; and

the method further comprises converting the specified query syntax into multiple query syntaxes used by two or more of the logging systems.

10 . The method of claim 1 , wherein:

different ones of the responses from the logging systems are received in different syntaxes; and

the method further comprises converting the different responses into a specified response syntax.

11 . The method of claim 1 , further comprising:

authenticating the user; and

sending at least one authentication token to at least one of the logging systems to enable retrieval of information from the at least one of the logging systems.

12 . The method of claim 1 , wherein pre-populating the cache system comprises:

executing a background task; and

using the background task:

periodically querying the multiple logging systems for newer logs or log-related information within the most-recent specified time period; and

pre-populating the first cache with the newer logs or log-related information; and

wherein the most-recent specified time period includes one or more hours or one or more days.

13 . A system comprising:

at least one processing device configured to:

pre-populate a cache system using a subset of logs or log-related information from multiple logging systems associated with different computing or networking systems, wherein the cache system includes a first cache and a second cache;

receive a user query identifying one or more criteria associated with the logs or log-related information;

determine whether one or more logs or log-related information satisfying the one or more criteria is contained in the cache system;

in response to determining that the one or more logs or log-related information satisfying the one or more criteria is not contained in the cache system, send queries identifying the one or more criteria to the multiple logging systems;

obtain responses from the logging systems, at least some of the responses containing one or more logs or log-related information satisfying the one or more criteria;

present the one or more logs or log-related information satisfying the one or more criteria to a user; and

move at least some of the subset of logs or log-related information from the first cache to the second cache based on age of the subset of logs or log-related information;

wherein the at least one processing device is configured to pre-populate the cache system prior to receiving the user query; and

wherein the at least one processing device is configured to pre-populate the cache system periodically over time at a specified time interval in order to include, in the cache system, logs or log-related information from the multiple logging systems within a most-recent specified time period.

14 . The system of claim 13 , wherein the at least one processing device is configured to obtain at least a portion of the one or more logs or log-related information from the cache system in response to determining that the one or more logs or log-related information satisfying the one or more criteria is contained in the cache system.

15 . The system of claim 13 , wherein the at least one processing device is configured to pre-populate the cache system by obtaining the logs or log-related information from the logging systems within the most-recent specified time period and storing the obtained logs or log-related information in the first cache of the cache system.

16 . The system of claim 13 , wherein the at least one processing device is configured to pre-populate the cache system by executing a background task without user interaction.

17 . The system of claim 13 , wherein:

the first and second caches include different storage locations;

to pre-populate the cache system, the at least one processing device is configured to store different data in the different storage locations; and

the different storage locations are associated with at least one of: different query capabilities and different costs.

18 . The system of claim 13 , wherein the at least one processing device is further configured to combine the one or more logs or log-related information obtained from the logging systems with one or more additional logs or additional log-related information obtained from the cache system.

19 . The system of claim 13 , wherein the at least one processing device is configured to at least one of:

receive the user query using a specified query syntax and convert the specified query syntax into multiple query syntaxes used by two or more of the logging systems; and

receive different ones of the responses from the logging systems in different syntaxes and convert the different responses into a specified response syntax.

20 . The system of claim 14 , wherein the at least one processing device is further configured to:

authenticate the user; and

send at least one authentication token to at least one of the logging systems to enable retrieval of information from the at least one of the logging systems.

21 . A non-transitory computer readable medium containing instructions that when executed cause at least one processor to:

pre-populate a cache system using a subset of logs or log-related information from multiple logging systems associated with different computing or networking systems, wherein the cache system includes a first cache and a second cache;

receive a user query identifying one or more criteria associated with the logs or log-related information;

determine whether one or more logs or log-related information satisfying the one or more criteria is contained in the cache system;

in response to determining that the one or more logs or log-related information satisfying the one or more criteria is not contained in the cache system, send queries identifying the one or more criteria to the multiple logging systems;

obtain responses from the logging systems, at least some of the responses containing one or more logs or log-related information satisfying the one or more criteria;

present the one or more logs or log-related information satisfying the one or more criteria to a user; and

move at least some of the subset of logs or log-related information from the first cache to the second cache based on age of the subset of logs or log-related information;

wherein the instructions when executed cause the at least one processor to pre-populate the cache system prior to receiving the user query; and

wherein the instructions when executed cause the at least one processor to pre-populate the cache system periodically over time at a specified time interval in order to include, in the cache system, logs or log-related information from the multiple logging systems within a most-recent specified time period.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 21, 2024
From: OIKARINEN, MATTI J.; LAHTIRANTA, ATTE T.
To: GOLDMAN SACHS & CO. LLC
Reel/Frame 066852/0168 →
Continuity (2)
Provisional Application 63492826 · Mar 29, 2023
Related Publication 20240330344A1 · Oct 3, 2024
References Cited (8)
US 10235417B1 · Sterin · 2019 [cited by examiner]
US 10394915B1 · Raghavendran · 2019 [cited by examiner]
US 10713271B2 · Das · 2020 [cited by examiner]
US 11500783B1 · Aleti · 2022 [cited by examiner]
US 20020107835A1 · Coram · 2002 [cited by examiner]
US 20140122463A1 · Olivieri · 2014 [cited by examiner]
US 20160125029A1 · Damm · 2016 [cited by examiner]
US 20180091528A1 · Shahbaz · 2018 [cited by examiner]