IP Library Granted Patent US 9,922,109
Granted Patent B1
US 9,922,109 · App. 14/752,058 · Granted Mar 20, 2018

Adaptive column set composition

Inventors: Silvius V. Rus (Orinda, CA); Thileepan Subramaniam (Mountain View, CA)
Assignee: Quantcast Corporation
G06F17/30584
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 9,922,109
App. No.
14/752,058
Granted
Mar 20, 2018
Kind
B1
Abstract

A column set server adapts to data use patterns by data consumers by modifying how a table produced by a data producer is partitioned into separate column sets to reduce the waste incurred in accessing the data by multiple consumers of the data. For example, the column set server adjusts a column set distribution when a new consumer process is added, when one is retired, or when relative data set size ratios change.

Claims (38)

1. A method comprising:

receiving notifications of a plurality of accesses by a plurality of data consumers to a table produced by a data producer, the notifications including columns of data of the table used by each of the data consumers, wherein at least a first and a second data consumer of the plurality of data consumers use at least a first column of the table, and wherein the first data consumer uses at least a second column of the table not used by the second data consumer;

analyzing by a column set server the plurality of accesses to determine an updated column set composition recommendation for the table, the analyzing comprising:

determining a total amount of waste for each of a plurality of combinations of column set partitions, each combination comprising a plurality of column set partitions having at least one column set partition having two or more columns of the table; and

selecting, from the plurality of combinations, the combination of column set partitions with the lowest total amount of waste to be the updated column set composition recommendation;

communicating the updated column set composition recommendation to the data producer for use in building a next iteration of the table; and

responsive to a change in the notifications of a plurality of accesses to the table, repeating the analyzing and the communicating steps of the method to adapt the column set composition of the table.

2. The method of claim 1 , wherein the analyzing comprises analyzing only combinations of column set partitions wherein the table is partitioned into five or fewer partitions.

3. The method of claim 1 , wherein the updated column set composition recommendation comprises identification of into how many sets the columns of the table should be divided and which columns of the table should be in each set.

4. The method of claim 1 , further comprising:

receiving notifications of a plurality of accesses to a plurality of other tables, and wherein the notifications of the accesses to the table and the notifications of accesses to the plurality of other tables each include a table identifier for the respective table.

5. The method of claim 1 , wherein a plurality of data producers produce a plurality of tables, each data producer associated with a respective producer identifier, and wherein the table is identified in the notifications by the table identifier and the producer identifier associated with the data producer that produced the table.

6. A non-transitory computer readable storage medium storing processor-executable instructions, the instructions configured to be executed by the processor to implement a method comprising:

receiving notifications of a plurality of accesses by a plurality of data consumers to a table produced by a data producer, the notifications including columns of data of the table used by each of the data consumers, wherein at least a first and a second data consumer of the plurality of data consumers use at least a first column of the table, and wherein the first data consumer uses at least a second column of the table not used by the second data consumer;

analyzing by a column set server the plurality of accesses to determine an updated column set composition recommendation for the table, the analyzing comprising:

determining a total amount of waste for each of a plurality of combinations of column set partitions, each combination comprising a plurality of column set partitions having at least one column set partition having two or more columns of the table; and

selecting, from the plurality of combinations, the combination of column set partitions with the lowest total amount of waste to be the updated column set composition recommendation;

communicating the updated column set composition recommendation to the data producer for use in building a next iteration of the table; and

responsive to a change in the notifications of a plurality of accesses to the table, repeating the analyzing and the communicating steps of the method to adapt the column set composition of the table.

7. The medium of claim 6 , wherein the analyzing comprises analyzing only combinations of column set partitions wherein the table is partitioned into five or fewer partitions.

8. The medium of claim 6 , wherein the updated column set composition recommendation comprises identification of into how many sets the columns of the table should be divided and which columns of the table should be in each set.

9. The medium of claim 6 , wherein the instructions are configured to be executed by the processor to implement a method further comprising:

receiving notifications of a plurality of accesses to a plurality of other tables, and wherein the notifications of the accesses to the table and the notifications of accesses to the plurality of other tables each include a table identifier for the respective table.

10. The medium of claim 6 , wherein a plurality of data producers produce a plurality of tables, each data producer associated with a respective producer identifier, and wherein the table is identified in the notifications by the table identifier and the producer identifier associated with the data producer that produced the table.

11. A system comprising:

a computer processor;

a computer readable storage medium storing processor-executable computer program instructions, the computer program instructions comprising instructions for:

receiving notifications of a plurality of accesses by a plurality of data consumers to a table produced by a data producer, the notifications including columns of data of the table used by each of the data consumers, wherein at least a first and a second data consumer of the plurality of data consumers use at least a first column of the table, and wherein the first data consumer uses at least a second column of the table not used by the second data consumer;

analyzing by a column set server the plurality of accesses to determine an updated column set composition recommendation for the table, the analyzing comprising:

determining a total amount of waste for each of a plurality of combinations of column set partitions, each combination comprising a plurality of column set partitions having at least one column set partition having two or more columns of the table; and

selecting, from the plurality of combinations, the combination of column set partitions with the lowest total amount of waste to be the updated column set composition recommendation;

communicating the updated column set composition recommendation to the data producer for use in building a next iteration of the table; and

responsive to a change in the notifications of a plurality of accesses to the table, repeating the analyzing and the communicating steps of the method to adapt the column set composition of the table.

12. The system of claim 11 , wherein the analyzing comprises analyzing only combinations of column set partitions wherein the table is partitioned into five or fewer partitions.

13. The system of claim 11 , wherein the updated column set composition recommendation comprises identification of into how many sets the columns of the table should be divided and which columns of the table should be in each set.

14. The system of claim 11 , wherein the instructions further comprise instructions for:

receiving notifications of a plurality of accesses to a plurality of other tables, and wherein the notifications of the accesses to the table and the notifications of accesses to the plurality of other tables each include a table identifier for the respective table.

15. The system of claim 11 , wherein a plurality of data producers produce a plurality of tables, each data producer associated with a respective producer identifier, and wherein the table is identified in the notifications by the table identifier and the producer identifier associated with the data producer that produced the table.

Assignments (9)
RELEASE OF SECURITY INTEREST Recorded Jun 21, 2024
From: BANK OF AMERICA, N.A.
To: QUANTCAST CORPORATION
Reel/Frame 067807/0017 →
SECURITY INTEREST Recorded Jun 18, 2024
From: QUANTCAST CORPORATION
To: CRYSTAL FINANCIAL LLC D/B/A SLR CREDIT SOLUTIONS
Reel/Frame 067777/0613 →
SECURITY INTEREST Recorded Dec 5, 2022
From: QUANTCAST CORPORATION
To: VENTURE LENDING & LEASING IX, INC.; WTI FUND X, INC.
Reel/Frame 062066/0265 →
RELEASE OF SECURITY INTEREST Recorded Sep 30, 2021
From: WELLS FARGO BANK, NATIONAL ASSOCIATION
To: QUANTCST CORPORATION
Reel/Frame 057678/0832 →
SECURITY INTEREST Recorded Sep 30, 2021
From: QUANTCAST CORPORATION
To: BANK OF AMERICA, N.A., AS AGENT
Reel/Frame 057677/0297 →
RELEASE OF SECURITY INTEREST Recorded Mar 15, 2021
From: TRIPLEPOINT VENTURE GROWTH BDC CORP.
To: QUANTCAST CORPORATION
Reel/Frame 055599/0282 →
SECURITY INTEREST Recorded Aug 7, 2018
From: QUANTCAST CORPORATION
To: TRIPLEPOINT VENTURE GROWTH BDC CORP.
Reel/Frame 046733/0305 →
FIRST AMENDMENT TO PATENT SECURITY AGREEMENT Recorded Nov 14, 2016
From: QUANTCAST CORPORATION
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 040614/0906 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 17, 2015
From: RUS, SILVIUS V; SUBRAMANIAM, THILEEPAN
To: QUANTCAST CORP
Reel/Frame 036374/0401 →
Continuity (1)
Continuation 13563293 · Jul 31, 2012