IP Library Granted Patent US 11,243,960
Granted Patent B2
US 11,243,960 · App. 16/404,113 · Granted Feb 8, 2022

Content addressable caching and federation in linked data projects in a data-driven collaborative dataset platform using disparate database architectures

Inventors: David Lee Griffith (Austin, TX); Shad William Reynolds (Austin, TX)
Assignee: data.world, Inc.
G06F16/2458G06F12/0802G06F16/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 11,243,960
App. No.
16/404,113
Granted
Feb 8, 2022
Kind
B2
Abstract

Various embodiments relate generally to data science and data analysis, computer software and systems, and wired and wireless network communications to interface among repositories of disparate datasets and computing machine-based entities configured to access datasets, and, more specifically, to a computing and data storage platform to implement computerized tools to facilitate expedited queries based on query results generated by disparate computing and database architectures, according to at least some examples. For example, a method may include generating multiple results of queries, storing the multiple results of queries in a memory, and linking each of the multiple results of queries to a portion of data stored in a graph. The method can include receiving data representing a query and accessing data representing quiescent data values to form a query result.

Claims (62)

1. A method comprising:

generating data representing multiple results of queries;

decomposing a query into one or more query portions, each of the one or more query portions being associated with one or more results of queries, the data being atomized into one or more triples and the data being used to perform the decomposing, the data being ingested at an ingestion controller;

storing the data representing the multiple results of queries to form stored results of queries;

linking each of the multiple results of queries to a portion of the data stored in a graph;

receiving other data representing another query;

determining a subset of results of queries associated with quiescent data values, the quiescent data values including a non-transient data value during a period of time;

accessing the data representing the quiescent data values;

forming results for the query to form a query result, the query result being dynamically generated by omitting one or more computational resources associated with the quiescent data values when the query result is formed;

determining another subset of results of queries associated with transient data values;

detecting the transient data values include a change in data values in at least one portion of the another subset of results of queries; and

regenerating the data values associated with the at least one portion of the another subset of results of queries.

2. The method of claim 1 wherein forming the results for the query comprises:

accessing the data representing the quiescent data values in memory.

3. The method of claim 1 wherein the quiescent data values comprises:

static data.

4. The method of claim 1 further comprising:

determining the query is content addressable.

5. The method of claim 4 further comprising:

determining whether at least a portion of the query is stored in a cache memory; and

accessing the data representing the quiescent data values in the cache memory to form at least a portion of the query result.

6. The method of claim 4 further comprising:

determining a content addressable query based on identifying data representing one or more of a composition of the query, a dataset identifier, and a version identifier.

7. The method of claim 4 further comprising:

determining the subset of results of queries are addressable.

8. The method of claim 1 further comprising: executing a query to form an updated subset of data to substitute into the at least one portion of the another subset of results of queries.

9. The method of claim 1 wherein storing the data representing the multiple results of queries comprises:

storing data representing the stored results of queries in cache memory.

10. The method of claim 1 further comprising:

receiving data representing a permission to implement a result of a query as a dataset.

11. The method of claim 1 further comprising:

generating data representing a user input to present in a user interface, the user input configured to specify activation of the permission to implement the result of a query as the dataset.

12. An apparatus comprising:

a memory including executable instructions; and

a processor, responsive to executing the instructions, is configured to:

generate data representing multiple results of queries;

decompose a query to generate the multiple results of queries into one or more query portions, each of the one or more query portions being associated with one or more results of queries, the data being atomized into one or more triples and the data being used to perform the decomposing, the data being ingested at an ingestion controller;

store the data representing the multiple results of queries to form stored results of queries;

link each of the multiple results of queries to a portion of data stored in a graph;

receive other data representing another query;

determine a subset of results of queries associated with quiescent data values, the quiescent data values including a non-transient data value during a period of time;

access data representing the quiescent data values;

form results for the query to form a query result, the query result being dynamically generated by omitting one or more computational resources associated with the quiescent data values when the query result is formed;

determine another subset of results of queries associated with transient data values;

detect the transient data values include a change in data values in at least one portion of the another subset of results of queries; and

regenerate the data values associated with the at least one portion of the another subset of results of queries.

13. The apparatus of claim 12 wherein a subset of the instructions to cause the processor to form results for the query comprises further instructions to cause the processor to:

access the data representing the quiescent data values in memory.

14. The apparatus of claim 12 wherein the processor is further configured to:

determine whether at least a portion of the query is stored in a cache memory; and

access the data representing the quiescent data values in the cache memory to form at least a portion of the query result.

15. A method comprising:

receiving data representing a query, at least a portion of the query being configured to access a subset of results of queries associated with quiescent data values, the quiescent data values including a non-transient data value during a period of time, the subset of results of queries including a query result dynamically generated by omitting one or more computational resources associated with the quiescent data values when the query result is formed;

generating data to access data representing multiple results of queries, each of the multiple results of queries being linked to a portion of data stored in a graph;

decomposing the query into one or more query portions, each of the one or more query portions being associated with one or more results of queries, the data being atomized into one or more triples and the data being used to perform the decomposing, the data being ingested at an ingestion controller;

causing detection of another subset of results of queries associated with transient data values to regenerate data values for at least a portion of the another subset of results of queries;

receiving other data representing another query result based on the subset of results of queries and the another subset of results of queries;

determining another subset of results of queries associated with transient data values;

detecting the transient data values include a change in data values in at least one portion of the another subset of results of queries; and

regenerating the data values associated with the at least one portion of the another subset of results of queries.

16. The method of claim 15 comprising:

determining the query is content addressable.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 2, 2025
From: DATA.WORLD, INC.
To: SERVICENOW, INC.
Reel/Frame 073004/0844 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 17, 2019
From: GRIFFITH, DAVID LEE; REYNOLDS, SHAD WILLIAM
To: DATA.WORLD, INC.
Reel/Frame 049492/0403 →
Continuity (3)
Continuation In Part 15927004 · Mar 20, 2018
Continuation In Part 15985702 · May 22, 2018
Related Publication 20190361891A1 · Nov 28, 2019