IP Library Granted Patent US 12,265,517
Granted Patent B1
US 12,265,517 · App. 18/408,374 · Granted Apr 1, 2025

Servicing database requests using derivations of canonicalized tables

Inventors: Robert C. Woollen (San Rafael, CA); Kenneth Truong (Temple City, CA); Jason D. Frantz (San Francisco, CA)
Assignee: SIGMA COMPUTING, INC.
G06F16/2282G06F16/219G06F16/221G06F16/24553G06F16/248
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,265,517
App. No.
18/408,374
Granted
Apr 1, 2025
Kind
B1
Abstract

Servicing database requests using derivations of canonicalized tables including maintaining a canonical table repository of canonicalized tables, wherein each canonicalized table is a transformed version of a table previously retrieved from a database; receiving, from a client computing system, a request for a table from the database; generating a description of a canonical version of the requested table; determining that the canonical version of the requested table is derivable using a canonicalized table in the canonical table repository; and in response to determining that the canonical version of the requested table is derivable using the canonicalized table in the canonical table repository: transforming the canonicalized table in the canonical table repository based on the received request for the table, including deriving a portion of the requested table using the canonicalized table in the canonical table repository; and providing, to the client computing system, the transformed canonicalized table.

Claims (32)

1. A method comprising:

receiving, from a client computing system, a request for a database table from a database;

determining that a canonicalized version of the database table does not exist in a canonical table repository;

in response to the determining, retrieving the database table from the database;

converting the database table from the database into a canonicalized version of the database table based on a canonical conversion policy, including moving at least one row in the database table to generate the canonicalized version of the database table; and

storing the canonicalized version of the database table in the canonical table repository.

2. The method of claim 1 , further comprising providing, to the client computing system, the database table from the database.

3. The method of claim 1 , wherein converting the database table from the database into a canonicalized version of the database table based on a canonical conversion policy comprises resorting columns of the database table from the database.

4. The method of claim 1 , wherein converting the database table from the database into a canonicalized version of the database table based on a canonical conversion policy comprises resorting rows of the database table from the database.

5. The method of claim 1 , wherein converting the database table from the database into a canonicalized version of the database table based on a canonical conversion policy comprises removing row labels of the database table from the database.

6. The method of claim 1 , wherein converting the database table from the database into a canonicalized version of the database table based on a canonical conversion policy comprises removing column labels of the database table from the database.

7. The method of claim 1 , wherein converting the database table from the database into a canonicalized version of the database table based on a canonical conversion policy comprises reordering at least one column of the database table from the database.

8. The method of claim 1 , wherein the canonical conversion policy dictates that recent tables retrieved from the database are stored in the canonical table repository.

9. The method of claim 1 , wherein determining that the canonicalized version of the database table does not exist in the canonical table repository comprises determining that the canonical version of the database table does not match any canonicalized table in the canonical table repository.

10. An 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 carry out:

receiving, from a client computing system, a request for a database table from a database;

determining that a canonicalized version of the database table does not exist in a canonical table repository;

converting the database table from the database into a canonicalized version of the database table based on a canonical conversion policy, including moving at least one row in the database table to generate the canonicalized version of the database table; and

storing the canonicalized version of the database table in the canonical table repository.

11. The apparatus of claim 10 , wherein the computer program instructions further cause the apparatus to carry out providing, to the client computing system, the database table from the database.

12. The apparatus of claim 10 , wherein converting the database table from the database into a canonicalized version of the database table based on a canonical conversion policy comprises resorting columns of the database table from the database.

13. The apparatus of claim 10 , wherein converting the database table from the database into a canonicalized version of the database table based on a canonical conversion policy comprises resorting rows of the database table from the database.

14. The apparatus of claim 10 , wherein converting the database table from the database into a canonicalized version of the database table based on a canonical conversion policy comprises removing row labels of the database table from the database.

15. The apparatus of claim 10 , wherein converting the database table from the database into a canonicalized version of the database table based on a canonical conversion policy comprises removing column labels of the database table from the database.

16. The apparatus of claim 10 , wherein converting the database table from the database into a canonicalized version of the database table based on a canonical conversion policy comprises reordering at least one column of the database table from the database.

17. The apparatus of claim 10 , wherein the canonical conversion policy dictates that recent tables retrieved from the database are stored in the canonical table repository.

18. A computer program product comprising a computer readable storage medium comprising computer program instructions that, when executed, cause a computer to carry out:

receiving, from a client computing system, a request for a database table from a database;

determining that a canonicalized version of the database table does not exist in a canonical table repository;

in response to the determining, retrieving the database table from the database;

converting the database table from the database into a canonicalized version of the database table based on a canonical conversion policy, including moving at least one row in the database table to generate the canonicalized version of the database table; and

storing the canonicalized version of the database table in the canonical table repository.

Assignments (2)
SECURITY INTEREST Recorded Aug 1, 2025
From: SIGMA COMPUTING, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 072316/0724 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 9, 2024
From: WOOLLEN, ROBERT C.; TRUONG, KENNETH; FRANTZ, JASON D.
To: SIGMA COMPUTING, INC.
Reel/Frame 066070/0637 →
Continuity (3)
Continuation 17749256 · May 20, 2022
Continuation 16913565 · Jun 26, 2020
Provisional Application 62867298 · Jun 27, 2019
References Cited (13)
US 6546381B1 · Subramanian et al. · 2003 [cited by applicant]
US 7231403B1 · Howitt et al. · 2007 [cited by applicant]
US 8473568B2 · McCartney et al. · 2013 [cited by applicant]
US 11087080B1 · Yousaf et al. · 2021 [cited by applicant]
US 20020154161A1 · Friedman et al. · 2002 [cited by applicant]
US 20020178276A1 · McCartney et al. · 2002 [cited by applicant]
US 20090125550A1 · Barga et al. · 2009 [cited by applicant]
US 20120084341A1 · Mantri et al. · 2012 [cited by applicant]
US 20130132410A1 · Rineer · 2013 [cited by examiner]
US 20140282796A1 · Walker et al. · 2014 [cited by applicant]
US 20180246915A1 · Singh · 2018 [cited by examiner]
US 20190332686A1 · Lee · 2019 [cited by examiner]
US 20190342162A1 · Bendre et al. · 2019 [cited by applicant]
Cited By (1)
US 12,321,343