IP Library Granted Patent US 10,185,773
Granted Patent B2
US 10,185,773 · App. 15/415,713 · Granted Jan 22, 2019

Systems and methods of precision sharing of big data

Inventors: Marin Litoiu (Toronto, CA); Mark Shtern (Toronto, CA); Bradley Simmons (Ontario, CA); Michael Smit (Upper Tantallon, CA)
Assignee: Bitnobi, Inc.
G06F17/30867G06F17/30893G06F17/30991G06F21/6245H04L63/10G06F17/30864G06Q30/0601G06Q40/04G16H10/60
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,185,773
App. No.
15/415,713
Granted
Jan 22, 2019
Kind
B2
Abstract

An ecosystem that allows fine-grained multi-party control over access to information stored in one or more data sources of a data provider. A requesting party can submit a query job to the data provider. Resellers in the chain can introduce their own query modifiers to the query job, adding additional data access, data transformation and segmentation functions to the query job. The data provider can append its own query modifier to the query job and execute the query job with all of the query modifiers. Access control for each link in the chain is checked before the query modifier for the link is executed. After execution of all query modifiers and the query job, the results can be provided to the requesting party.

Claims (63)

1. At least one non-transitory computer-readable storage medium storing instructions that, when executed by at least one processor, cause the at least one processor to:

receive, from a requestor, a requestor query job comprising:

a requestor query step comprising a requestor map step and a requestor reduce step; and

a set of requestor data values wherein the set of requestor data values defines access permission credentials with respect to one or more data sources;

identify a data source based on the set of requestor data values;

prefix the requestor query job with a query modifier associated with the identified data source, the query modifier comprising:

a filter; and

a data source query modifier step comprising a data source map step and a data source reduce step;

verify that the requestor is authorized to access data elements from the data source based on the filter and set of requestor data values;

execute, in response to verifying the requestor, the data source map step and the data source reduce step on the data elements from the data source to produce a requestor modifier output wherein the requestor modifier output comprises a subset of the one or more data sources; and

execute the requestor map step and the requestor reduce step using the requestor modifier output to produce a requestor output.

2. The at least one non-transitory computer-readable storage medium of claim 1 , further comprising instructions that cause the at least one processor to:

generate a result view based on the requestor output; and

provide the result view to the requestor.

3. The at least one non-transitory computer-readable storage medium of claim 1 , wherein:

the requestor query step in the requestor query job comprises a requestor query modifier step, the requestor query job further comprising:

a requestor filter; and

a second requestor query job corresponding to a second requestor, the second requestor query job comprising:

a second requestor query step corresponding to the second requestor;

a second set of requestor data values corresponding to the second requestor; and

the instructions further cause the at least one processor to:

verify, after producing the requestor output, that the second requestor is authorized to access the data from the data source according to the requestor output based on the requestor filter and the second set of requestor data values;

execute the second requestor query step to produce a second requestor output;

generate a result view based on the second requestor output; and

provide the result view to the second requestor.

4. The at least one non-transitory computer-readable storage medium of claim 3 , wherein the first requestor comprises a reseller and wherein the second requestor comprises a requesting user interface that submitted the second requestor query job.

5. The at least one non-transitory computer-readable storage medium of claim 3 , wherein the data source comprises at least one of a medical data source, a retailer data source, a financial data source, a gaming data source, a government data source, and an educational data source.

6. The at least one non-transitory computer-readable storage medium of claim 1 , wherein the requestor data values includes a certified data values, and wherein the verify instruction comprises verifying that the requestor is authorized to access data elements from the data source based on the certified data values and the filter.

7. The at least one non-transitory computer-readable storage medium of claim 1 , wherein the filter comprises a set of access data values for the data source, and the verify instruction further comprises matching at least a subset of the set requestor data values with at least a subset of access data values for the data source.

8. The at least one non-transitory computer-readable storage medium of claim 7 , wherein:

the filter comprises a set of metadata data values for the data source;

the verify instruction further comprises matching at least a subset of the set of the requestor data values with at least a subset of the metadata data values for the data source; and

wherein the instructions further cause the at least one processor to, in response to verification, allow access to metadata for the data source.

9. The at least one non-transitory computer-readable storage medium of claim 1 , wherein the requestor query step comprises a database query.

10. The at least one non-transitory computer-readable storage medium of claim 1 , wherein:

the requestor query step comprises a requestor data access step and at least one of a requestor data segmentation step and a requestor data transformation step; and

the data source query modifier step comprises a data source data access step, and at least one of a data source data segmentation step and a data source data transformation step.

11. The at least one non-transitory computer-readable storage medium of claim 10 , wherein at least one of the requestor query step the data source query modifier step further comprises a runtime limitation step, the runtime limitation step comprising at least one of a runtime duration limitation and a processor load limitation.

12. The at least one non-transitory computer-readable storage medium of claim 1 , wherein the requestor query job comprises compiled code.

13. At least one non-transitory computer-readable storage medium storing instructions that, when executed by at least one processor, cause the at least one processor to:

receive, from a requestor, a requestor query job comprising: a requestor query step; and a set of requestor data values defining access permission credentials;

identify a data source based on the set of requestor data values;

prefix the query job with a query modifier associated with the identified data source, the query modifier comprising: a filter; and a data source query modifier step;

verify that the requestor is authorized to access data elements from the data source based on the filter and set of requestor data values;

execute, in response to verifying the requestor, the data source query modifier step of the query modifier on the data elements from the data source to produce a modifier output; and

execute the requestor query step using the modifier output to produce a requestor output;

wherein the requestor query job comprises a requestor MapReduce job and the requestor query step comprises a requestor map step, the requestor MapReduce job further comprising a reduce step;

wherein the query modifier comprises a modifying map and the data source query modifier step comprises a data source map step; and

wherein the instructions cause the at least one processor to:

execute, in response to verifying the requestor, the map step of the modifying map on the data elements from the data source to produce the modifier output as a modifying map output wherein the modifying map output comprises a subset of the data source;

execute the requestor map step using the modifying map output to produce the requestor output as a requestor map output;

execute the reduce step based on the requestor map output; and

return the results of the reduce step to the requestor.

14. The at least one non-transitory computer-readable storage medium of claim 13 , wherein:

the requestor map step in the requestor MapReduce job comprises a requestor modifying map step, the requestor MapReduce job further comprising:

a requestor filter step;

a second requestor map step corresponding to the second requestor;

a second set of requestor data values corresponding to a second requestor; and

wherein the instructions further cause the at least one processor to:

verify, after producing the requestor map output, that the second requestor is authorized to access the data from the data source according to the requestor map output based on the requestor filter step and the second set of requestor;

execute the second requestor map step to produce a second requestor map output;

execute the reduce step based on the second requestor map output; and

return the results of the reduce step to the second requestor.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 19, 2025
From: BITNOBI
To: MYANT TECHNOLOGIES INC.
Reel/Frame 071455/0405 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 10, 2017
From: LITOIU, MARIN; SHTERN, MARK; SIMMONS, BRADLEY; SMIT, MIKE
To: BITNOBI INC.
Reel/Frame 044095/0332 →
Continuity (3)
Continuation 14312300 · Jun 23, 2014
Provisional Application 61976206 · Apr 7, 2014
Related Publication 20170132326A1 · May 11, 2017