IP Library Granted Patent US 10,216,784
Granted Patent B1
US 10,216,784 · App. 14/866,558 · Granted Feb 26, 2019

Referential sampling of polygot datasets

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 10,216,784
App. No.
14/866,558
Granted
Feb 26, 2019
Kind
B1
Abstract

Approaches for referential sampling of disparate datasets. An execution mode and a sampling mode are determined for each entity in a plurality of disparate datasets. A directed acyclic graph (DAG) for each entity in the plurality of disparate datasets is created. The directed acyclic graph (DAG) is topologically sorted to produce a topologically sorted directed acyclic graph (DAG). One or more sampled datasets are retrieved from the plurality of disparate datasets using the topologically sorted directed acyclic graph (DAG). Advantageously, the one or more sampled datasets are a consistent sample that honors all referential constraints in the plurality of disparate datasets.

Claims (44)

1. One or more non-transitory machine-readable storage mediums storing one or more sequences of instructions for referential sampling of disparate datasets, which when executed by one or more processors, cause:

determining an execution mode and a sampling mode for each entity in a plurality of disparate datasets,

wherein said each entity in the plurality of disparate datasets includes any tables in each of the plurality of disparate datasets,

wherein said execution mode for said each entity in the plurality of disparate datasets may correspond to either a native mode or a non-native mode, wherein said native mode is performed locally with a particular dataset, and wherein said non-native mode is performed remotely to said particular dataset, and

wherein said sampling mode for said each entity in the plurality of disparate datasets may correspond to either a direct mode or a referential mode, wherein the direct mode is used for sampling a particular dataset on its own without reference to another dataset, and wherein said referential mode is used for sampling said particular dataset in relation to other datasets;

creating a directed acyclic graph (DAG) for each entity in the plurality of disparate datasets;

topologically sorting the directed acyclic graph (DAG) to produce a topologically sorted directed acyclic graph (DAG); and

retrieving one or more sampled datasets from the plurality of disparate datasets using the topologically sorted directed acyclic graph (DAG),

wherein the one or more sampled datasets constitute a consistent sample that honors all referential constraints in the plurality of disparate datasets.

2. The one or more non-transitory machine-readable storage mediums of claim 1 , wherein execution of the one or more sequences of instructions further cause:

prior to retrieving said one or more sampled datasets using said topologically sorted directed acyclic graph (DAG), optimizing said topologically sorted directed acyclic graph (DAG) to ensure that, to the extent possible, all dependencies of each node of the topologically sorted directed acyclic graph DAG can be sampled while said each node is in memory.

3. The one or more non-transitory machine-readable storage mediums of claim 1 , wherein retrieving said sampled dataset from the plurality of disparate datasets using the topologically sorted directed acyclic graph (DAG) comprises:

traversing the topologically sorted directed acyclic graph (DAG) to retrieve data from entities in said plurality of disparate datasets in an order based on nodes of the topologically sorted directed acyclic graph (DAG).

4. The one or more non-transitory machine-readable storage mediums of claim 1 , wherein the number of datasets in said one or more sampled datasets retrieved from the plurality of disparate datasets is equal to the number of datasets in said plurality of disparate datasets.

5. An apparatus for referential sampling of disparate datasets, comprising:

one or more processors; and

one or more non-transitory computer-readable storage mediums storing one or more sequences of instructions, which when executed, cause:

determining an execution mode and a sampling mode for each entity in a plurality of disparate datasets,

wherein said each entity in the plurality of disparate datasets includes any tables in each of the plurality of disparate datasets,

wherein said execution mode for said each entity in the plurality of disparate datasets may correspond to either a native mode or a non-native mode, wherein said native mode is performed locally with a particular dataset, and wherein said non-native mode is performed remotely to said particular dataset, and

wherein said sampling mode for said each entity in the plurality of disparate datasets may correspond to either a direct mode or a referential mode, wherein the direct mode is used for sampling a particular dataset on its own without reference to another dataset, and wherein said referential mode is used for sampling said particular dataset in relation to other datasets;

creating a directed acyclic graph (DAG) for each entity in the plurality of disparate datasets;

topologically sorting the directed acyclic graph (DAG) to produce a topologically sorted directed acyclic graph (DAG); and

retrieving one or more sampled datasets from the plurality of disparate datasets using the topologically sorted directed acyclic graph (DAG),

wherein the one or more sampled datasets constitute a consistent sample that honors all referential constraints in the plurality of disparate datasets.

6. The apparatus of claim 5 , wherein execution of the one or more sequences of instructions further cause:

prior to retrieving said one or more sampled datasets using said topologically sorted directed acyclic graph (DAG), optimizing said topologically sorted directed acyclic graph (DAG) to ensure that, to the extent possible, all dependencies of each node of the topologically sorted directed acyclic graph DAG can be sampled while said each node is in memory.

7. The apparatus of claim 5 , wherein retrieving said sampled dataset from the plurality of disparate datasets using the topologically sorted directed acyclic graph (DAG) comprises:

traversing the topologically sorted directed acyclic graph (DAG) to retrieve data from entities in said plurality of disparate datasets in an order based on nodes of the topologically sorted directed acyclic graph (DAG).

8. The apparatus of claim 5 , wherein the number of datasets in said one or more sampled datasets retrieved from the plurality of disparate datasets is equal to the number of datasets in said plurality of disparate datasets.

9. A method for referential sampling of disparate datasets, comprising:

determining an execution mode and a sampling mode for each entity in a plurality of disparate datasets,

wherein said each entity in the plurality of disparate datasets includes any tables in each of the plurality of disparate datasets,

wherein said execution mode for said each entity in the plurality of disparate datasets may correspond to either a native mode or a non-native mode, wherein said native mode is performed locally with a particular dataset, and wherein said non-native mode is performed remotely to said particular dataset, and

wherein said sampling mode for said each entity in the plurality of disparate datasets may correspond to either a direct mode or a referential mode, wherein the direct mode is used for sampling a particular dataset on its own without reference to another dataset, and wherein said referential mode is used for sampling said particular dataset in relation to other datasets;

creating a directed acyclic graph (DAG) for each entity in the plurality of disparate datasets;

topologically sorting the directed acyclic graph (DAG) to produce a topologically sorted directed acyclic graph (DAG); and

retrieving one or more sampled dataset from the plurality of disparate datasets using the topologically sorted directed acyclic graph (DAG),

wherein the one or more sampled datasets constitute a consistent sample that honors all referential constraints in the plurality of disparate datasets.

10. The method of claim 9 , further comprising:

prior to retrieving said one or more sampled datasets using said topologically sorted directed acyclic graph (DAG), optimizing said topologically sorted directed acyclic graph (DAG) to ensure that, to the extent possible, all dependencies of each node of the topologically sorted directed acyclic graph DAG can be sampled while said each node is in memory.

11. The method of claim 9 , wherein retrieving said sampled dataset from the plurality of disparate datasets using the topologically sorted directed acyclic graph (DAG) comprises:

traversing the topologically sorted directed acyclic graph (DAG) to retrieve data from entities in said plurality of disparate datasets in an order based on nodes of the topologically sorted directed acyclic graph (DAG).

12. The method of claim 9 , wherein the number of datasets in said one or more sampled datasets retrieved from the plurality of disparate datasets is equal to the number of datasets in said plurality of disparate datasets.

Assignments (6)
TERMINATION AND RELEASE OF INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Dec 10, 2024
From: FIRST-CITIZENS BANK & TRUST COMPANY (AS SUCCESSOR TO SILICON VALLEY BANK)
To: COHESITY, INC.
Reel/Frame 069584/0498 →
SECURITY INTEREST Recorded Dec 9, 2024
From: VERITAS TECHNOLOGIES LLC; COHESITY, INC.
To: JPMORGAN CHASE BANK. N.A.
Reel/Frame 069890/0001 →
SECURITY INTEREST Recorded Sep 23, 2022
From: COHESITY, INC.
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 061509/0818 →
CHANGE OF NAME Recorded Oct 29, 2019
From: TALENA, INC.
To: IMANIS DATA INC.
Reel/Frame 050871/0923 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 29, 2019
From: IMANIS DATA, INC.
To: COHESITY, INC.
Reel/Frame 049311/0047 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 2, 2015
From: VADLAMANI, SRINIVAS
To: TALENA, INC.
Reel/Frame 037022/0708 →