IP Library Granted Patent US 12,566,763
Granted Patent B1
US 12,566,763 · App. 18/457,696 · Granted Mar 3, 2026

Dashboard loading using a filtering query from a cloud-based data warehouse cache

Inventors: James L Gale (San Francisco, CA); Kenneth Truong (Temple City, CA); Max H. Seiden (San Francisco, CA); Stipo Josipovic (San Francisco, CA)
Assignee: SIGMA COMPUTING, INC.
G06F16/24552G06F16/248G06F16/254
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,566,763
App. No.
18/457,696
Filed
Aug 29, 2023
Granted
Mar 3, 2026
Kind
B1
Examiner
LE, HUNG D
Art Unit
2161
USPC
707/602
Abstract

Dashboard loading using a filtering query from a cloud-based data warehouse cache, including determining that a filtered result for a first filtering query is stored in a cache of a cloud-based data warehouse; sending, in response to the filtered result being stored in the cache, to the cloud-based data warehouse, a request for the filtered result from the cache; and providing, based on the filtered result for the first filtering query, one or more dashboard visualizations.

Claims (57)

1 . A method of dashboard loading using a filtering query from a cloud-based data warehouse cache, the method comprising:

determining, by a dashboard module within a data access computing system separate from a cloud-based data warehouse, that a filtered result for a filtering query is stored in a cache of the cloud-based data warehouse, including:

generating a digest for the filtering query based on a digest function applied to the filtering query; and

identifying, based on the digest, an entry in a data structure stored in the data access computing system, wherein the data structure tracks a state of the cache of the cloud-based data warehouse;

sending, in response to the filtered result being stored in the cache, to the cloud-based data warehouse, a request for the filtered result from the cache; and

providing, based on the filtered result for the filtering query, one or more dashboard visualizations.

2 . The method of claim 1 , wherein the entry in the data structure includes a timestamp, generated by the dashboard module at a time the entry was created, for the filtered result for the filtering query indicative of when the filtered result was produced and stored in the cache.

3 . The method of claim 2 , further comprising determining, based on the entry, a location in the cache of the filtered result.

4 . The method of claim 1 , further comprising:

determining that an age associated with the filtered result exceeds a threshold;

querying the cloud-based data warehouse with the filtering query;

receiving, in response to the filtering query, a next filtered result for the filtering query; and

updating the one or more dashboard visualizations based on the next filtered result for the filtering query.

5 . The method of claim 1 , further comprising:

determining that a next filtered result for a next filtering query is not stored in the cache of the cloud-based data warehouse;

querying the cloud-based data warehouse with the next filtering query; and

receiving, in response to the next filtering query, the next filtered result for the next filtering query.

6 . The method of claim 5 , further comprising storing an indication that the next filtered result for the next filtering query is stored in the cache of the cloud-based data warehouse.

7 . The method of claim 1 , further comprising:

determining that a next filtered result for a next filtering query is stored in the cache of the cloud-based data warehouse and associated with an age exceeding a threshold;

querying the cloud-based data warehouse with the next filtering query; and

receiving, in response to the next filtering query, the next filtered result for the next filtering query.

8 . The method of claim 1 , wherein the filtering query comprises a request for rows matching a criterion, and wherein the one or more dashboard visualizations comprises a dashboard visualization of the rows matching the criterion.

9 . The method of claim 1 , wherein the filtering query comprises a request for a frequency distribution, and wherein the one or more dashboard visualizations comprise a histogram distribution of values.

10 . An apparatus for dashboard loading using a filtering query from a cloud-based data warehouse cache, the apparatus comprising a computer processor, a computer memory operatively coupled to the computer processor, the computer memory having disposed within it computer program instructions that, when executed by the computer processor, cause the apparatus to:

determine, by a dashboard module within a data access computing system separate from a cloud-based data warehouse, that a filtered result for a filtering query is stored in a cache of the cloud-based data warehouse, including:

generating a digest for the filtering query based on a digest function applied to the filtering query; and

identifying, based on the digest, an entry in a data structure stored in the data access computing system, wherein the data structure tracks a state of the cache of the cloud-based data warehouse;

send, in response to the filtered result being stored in the cache, to the cloud-based data warehouse, a request for the filtered result from the cache; and

provide, based on the filtered result for the filtering query, one or more dashboard visualizations.

11 . The apparatus of claim 10 , wherein the entry in the data structure includes a timestamp, generated by the dashboard module at a time the entry was created, for the filtered result for the filtering query indicative of when the filtered result was produced and stored in the cache.

12 . The apparatus of claim 11 , further comprising: determining,

based on the entry, a location in the cache of the filtered result.

13 . The apparatus of claim 10 , further comprising:

determining that an age associated with the filtered result exceeds a threshold;

querying the cloud-based data warehouse with the filtering query;

receiving, in response to the filtering query, a next filtered result for the filtering query; and

updating the one or more dashboard visualizations based on the next filtered result for the filtering query.

14 . The apparatus of claim 10 , further comprising:

determining that a next filtered result for a next filtering query is not stored in the cache of the cloud-based data warehouse;

querying the cloud-based data warehouse with the next filtering query;

receiving, in response to the next filtering query, the next filtered result for the next filtering query; and

storing an indication that the next filtered result for the next filtering query is stored in the cache of the cloud-based data warehouse.

15 . The apparatus of claim 10 , further comprising:

determining that a next filtered result for a next filtering query is stored in the cache of the cloud-based data warehouse and associated with an age exceeding a threshold;

querying the cloud-based data warehouse with the next filtering query; and

receiving, in response to the next filtering query, the next filtered result for the next filtering query.

16 . The apparatus of claim 10 , wherein the filtering query comprises a request for rows matching a criterion, and wherein the one or more dashboard visualizations comprises a dashboard visualization of the rows matching the criterion.

17 . The apparatus of claim 10 , wherein the filtering query comprises a request for a frequency distribution, and wherein the one or more dashboard visualizations comprise a histogram distribution of values.

18 . A computer program product for dashboard loading using a filtering query from a cloud-based data warehouse cache, the computer program product disposed upon a computer readable medium, the computer program product comprising computer program instructions that, when executed, cause a computer to:

determine, by a dashboard module within a data access computing system separate from a cloud-based data warehouse, that a filtered result for a filtering query is stored in a cache of the cloud-based data warehouse, including:

generating a digest for the filtering query based on a digest function applied to the filtering query; and

identifying, based on the digest, an entry in a data structure stored in the data access computing system, wherein the data structure tracks a state of the cache of the cloud-based data warehouse;

send, in response to the filtered result being stored in the cache, to the cloud-based data warehouse, a request for the filtered result from the cache; and

provide, based on the filtered result for the filtering query, one or more dashboard visualizations.

19 . The computer program product of claim 18 , wherein the entry in the data structure includes a timestamp, generated by the dashboard module at a time the entry was created, for the filtered result for the filtering query indicative of when the filtered result was produced and stored in the cache.

20 . The computer program product of claim 19 , further comprising: determining, based on the entry, a location in the cache of the filtered result.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 29, 2023
From: GALE, JAMES L.; TRUONG, KENNETH; SEIDEN, MAX H.; JOSIPOVIC, STIPO
To: SIGMA COMPUTING, INC.
Reel/Frame 064737/0680 →
Continuity (3)
Continuation 17081669 · Oct 27, 2020
Continuation In Part 16927397 · Jul 13, 2020
Provisional Application 62961369 · Jan 15, 2020
References Cited (50)
US 5745737A · Kayes · 1998 [cited by examiner]
US 6182133B1 · Horvitz · 2001 [cited by examiner]
US 9495473B2 · Gardner · 2016 [cited by examiner]
US 10614091B1 · Kapoor · 2020 [cited by examiner]
US 10776355B1 · Batsakis · 2020 [cited by examiner]
US 11308106B1 · Muralimanohar · 2022 [cited by examiner]
US 11704327B2 · Neugebauer et al. · 2023 [cited by applicant]
US 20040168115A1 · Bauernschmidt · 2004 [cited by examiner]
US 20070088681A1 · Aravamudan · 2007 [cited by examiner]
US 20080056010A1 · Horch · 2008 [cited by examiner]
US 20080059441A1 · Gaug et al. · 2008 [cited by applicant]
US 20090307257A1 · Menon · 2009 [cited by examiner]
US 20090319476A1 · Olston et al. · 2009 [cited by applicant]
US 20110302168A1 · Aggarwal · 2011 [cited by applicant]
US 20120017165A1 · Gardner · 2012 [cited by examiner]
US 20130297588A1 · Tyagi · 2013 [cited by applicant]
US 20140111545A1 · Damola · 2014 [cited by examiner]
US 20140222826A1 · DaCosta · 2014 [cited by examiner]
US 20150088805A1 · Kakarla · 2015 [cited by examiner]
US 20150254294A1 · Marais · 2015 [cited by examiner]
US 20150296040A1 · Wang · 2015 [cited by examiner]
US 20160005230A1 · Asselin · 2016 [cited by examiner]
US 20160034553A1 · Tong et al. · 2016 [cited by applicant]
US 20160125029A1 · Damm · 2016 [cited by examiner]
US 20170017614A1 · Simonyi · 2017 [cited by examiner]
US 20170017688A1 · Das · 2017 [cited by examiner]
US 20170139816A1 · Sapozhnikov et al. · 2017 [cited by applicant]
US 20180124095A1 · Hamdi · 2018 [cited by examiner]
US 20190306010A1 · Medam · 2019 [cited by examiner]
US 20190377682A1 · Roh · 2019 [cited by examiner]
US 20200099745A1 · Diaconu · 2020 [cited by examiner]
US 20200142787A1 · Thatikonda · 2020 [cited by examiner]
US 20200208857A1 · Nayak · 2020 [cited by examiner]
US 20200334257A1 · Nicolaisen · 2020 [cited by examiner]
US 20200334317A1 · Ashman · 2020 [cited by examiner]
US 20210081252A1 · Bhargava · 2021 [cited by examiner]
US 20210110897A1 · Ginsburg · 2021 [cited by examiner]
US 20210216552A1 · Gale et al. · 2021 [cited by applicant]
US 20210216553A1 · Gale et al. · 2021 [cited by applicant]
US 20230177210A1 · Avanes et al. · 2023 [cited by applicant]
CN 106126604A · 2016 [cited by applicant]
CN 107924406A · 2018 [cited by applicant]
CN 110347707A · 2019 [cited by applicant]
CN 110347706A · 2022 [cited by applicant]
WO 2019082177A1 · 2019 [cited by applicant]
International Search Report and Written Opinion, PCT/US2020/062081, Feb. 26, 2021, 11 pages. [cited by applicant]
International Search Report and Written Opinion, PCT/US2020/067209, Mar. 21, 2021, 11 pages. [cited by applicant]
Lawrence et al., “Next Generation JDBC Database Drivers for Performance, Transparent Caching, Load Balancing, and Scale-out”, SAC '17: Proceedings of the Symposium on Applied Computing, Apr. 2017, 4 pages, ACM New York. [cited by applicant]
Wikipedia, “Dashboard (business)”, URL: https://en.wikipedia.org/wiki/Dashboard_(business), last edited Mar. 15, 2021, printed Mar. 16, 2021, 7 pages. [cited by applicant]
Chinese Patent Office, Application No. 202080098429.2, Office Action dated Jun. 29, 2004, 10 pages. [cited by applicant]