IP Library Granted Patent US 11,494,400
Granted Patent B2
US 11,494,400 · App. 16/913,216 · Granted Nov 8, 2022

Servicing database requests using subsets 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/258G06F16/221G06F16/2282G06F16/245
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 11,494,400
App. No.
16/913,216
Granted
Nov 8, 2022
Kind
B2
Abstract

Servicing database requests using subsets 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 a subset of a canonicalized table in the canonical table repository; and in response to determining that the canonical version of the requested table is a subset of the canonicalized table in the canonical table repository: transforming the canonicalized table containing a superset of the canonical version of the requested table based on the received request for the table; and providing, to the client computing system, the transformed canonicalized table containing the superset of the canonical version of the requested table.

Claims (41)

1. A method of servicing database requests using subsets of canonicalized tables, the method comprising:

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 a subset of a canonicalized table in the canonical table repository; and

in response to determining that the canonical version of the requested table is a subset of the canonicalized table in the canonical table repository:

transforming, into the requested table, the canonicalized table containing a superset of the canonical version of the requested table based on the received request for the table; and

providing, to the client computing system, the transformed canonicalized table containing the superset of the canonical version of the requested table.

2. The method of claim 1 , wherein determining that the canonical version of the requested table is a subset of the canonicalized table in the canonical table repository comprises determining that the canonical version of the requested table does not match any canonicalized table in the canonical table repository.

3. The method of claim 1 , wherein determining that the canonical version of the requested table is a subset of a canonicalized table in the canonical table repository comprises determining that the canonical version of the requested table is a subset of a combination of at least two canonicalized tables in the canonical table repository.

4. The method of claim 1 , wherein determining that the canonical version of the requested table is a subset of a canonicalized table in the canonical table repository comprises matching each column and row in the canonical version of the requested table to columns and rows in the canonicalized table in the canonical table repository.

5. The method of claim 1 , wherein transforming the canonicalized table containing the superset of the canonical version of the requested table based on the received request for the table comprises extracting the subset of the canonicalized table in the canonical table repository to generate the requested table.

6. The method of claim 1 , wherein transforming the canonicalized table containing the superset of the canonical version of the requested table based on the received request for the table comprises one selected from a group consisting of repositioning at least one column and repositioning at least one row in the canonicalized table.

7. The method of claim 1 , wherein providing, to the client computing system, the transformed canonicalized table containing the superset of the canonical version of the requested table bypasses retrieving the requested table from the database.

8. An apparatus for servicing database requests using subsets of canonicalized tables, 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 carry out the steps of:

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 a subset of a canonicalized table in the canonical table repository; and

in response to determining that the canonical version of the requested table is a subset of the canonicalized table in the canonical table repository:

transforming, into the requested table, the canonicalized table containing a superset of the canonical version of the requested table based on the received request for the table; and

providing, to the client computing system, the transformed canonicalized table containing the superset of the canonical version of the requested table.

9. The apparatus of claim 8 , wherein determining that the canonical version of the requested table is a subset of the canonicalized table in the canonical table repository comprises determining that the canonical version of the requested table does not match any canonicalized table in the canonical table repository.

10. The apparatus of claim 8 , wherein determining that the canonical version of the requested table is a subset of a canonicalized table in the canonical table repository comprises determining that the canonical version of the requested table is a subset of a combination of at least two canonicalized tables in the canonical table repository.

11. The apparatus of claim 8 , wherein determining that the canonical version of the requested table is a subset of a canonicalized table in the canonical table repository comprises matching each column and row in the canonical version of the requested table to columns and rows in the canonicalized table in the canonical table repository.

12. The apparatus of claim 8 , wherein transforming the canonicalized table containing the superset of the canonical version of the requested table based on the received request for the table comprises extracting the subset of the canonicalized table in the canonical table repository to generate the requested table.

13. The apparatus of claim 8 , wherein transforming the canonicalized table containing the superset of the canonical version of the requested table based on the received request for the table comprises one selected from a group consisting of repositioning at least one column and repositioning at least one row in the canonicalized table.

14. The apparatus of claim 8 , wherein providing, to the client computing system, the transformed canonicalized table containing the superset of the canonical version of the requested table bypasses retrieving the requested table from the database.

15. A computer program product for servicing database requests using subsets of canonicalized tables, the computer program product disposed upon a non-transitory computer readable medium, the computer program product comprising computer program instructions that, when executed, cause a computer to carry out the steps of:

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 a subset of a canonicalized table in the canonical table repository; and

in response to determining that the canonical version of the requested table is a subset of the canonicalized table in the canonical table repository:

transforming, into the requested table, the canonicalized table containing a superset of the canonical version of the requested table based on the received request for the table; and

providing, to the client computing system, the transformed canonicalized table containing the superset of the canonical version of the requested table.

16. The computer program product of claim 15 , wherein determining that the canonical version of the requested table is a subset of the canonicalized table in the canonical table repository comprises determining that the canonical version of the requested table does not match any canonicalized table in the canonical table repository.

17. The computer program product of claim 15 , wherein determining that the canonical version of the requested table is a subset of a canonicalized table in the canonical table repository comprises determining that the canonical version of the requested table is a subset of a combination of at least two canonicalized tables in the canonical table repository.

18. The computer program product of claim 15 , wherein determining that the canonical version of the requested table is a subset of a canonicalized table in the canonical table repository comprises matching each column and row in the canonical version of the requested table to columns and rows in the canonicalized table in the canonical table repository.

19. The computer program product of claim 15 , wherein transforming the canonicalized table containing the superset of the canonical version of the requested table based on the received request for the table comprises extracting the subset of the canonicalized table in the canonical table repository to generate the requested table.

20. The computer program product of claim 15 , wherein transforming the canonicalized table containing the superset of the canonical version of the requested table based on the received request for the table comprises one selected from a group consisting of repositioning at least one column and repositioning at least one row in the canonicalized table.

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 Jun 26, 2020
From: WOOLLEN, ROBERT C.; TRUONG, KENNETH; FRANTZ, JASON D.
To: SIGMA COMPUTING, INC.
Reel/Frame 053049/0638 →
Continuity (2)
Provisional Application 62867493 · Jun 27, 2019
Related Publication 20200409971A1 · Dec 31, 2020
Cited By (1)
US 12,554,719