IP Library Granted Patent US 12,147,555
Granted Patent B1
US 12,147,555 · App. 17/733,485 · Granted Nov 19, 2024

Data sharing for network connected systems

Inventors: Matei Zaharia (Palo Alto, CA); Shixiong Zhu (Fremont, CA); Xiaotong Sun (Mountain View, CA); Ramesh Chandra (Sunnyvale, CA); Michael Paul Armbrust (Berkeley, CA); Ali Ghodsi (Berkeley, CA)
Assignee: Databricks, Inc.
G06F21/6218G06F21/602G06F21/604
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 12,147,555
App. No.
17/733,485
Granted
Nov 19, 2024
Kind
B1
Abstract

The present application discloses a method, system, and computer system for providing access to data. The method includes receiving, by a data manager service from a data requesting service, a request using an identifier for a high-level data object to access a set of data associated with the high-level data object, determining, by the data manager service, low-level data object(s) corresponding to the set of data based on the identifier for the high-level data object, determining whether a user associated with the request has permission to access at least a subset of the low-level data object(s), and in response to determining that the user associated has permission to access the at least the subset of the low-level data object(s), generating, by the data manager service, a uniform resource locator (URL) via which the at least the subset of the one or more low-level data objects is accessible by the user.

Claims (59)

1. A system, comprising:

one or more processors configured to:

receive, by a data manager service from a data requesting service, a request using an identifier for a high-level data object to access a set of data associated with the high-level data object, wherein the high-level data object comprises a table, a view, a database, or a model;

determine, by the data manager service, one or more low-level data objects corresponding to the set of data based on the identifier for the high-level data object, wherein the one or more low-level data objects comprises one or more files;

determine, by the data manager service, whether a user associated with the request has permission to access at least a subset of the one or more low-level data objects;

determine a set of locations for the subset of the one or more low-level data objects based at least in part on a mapping of the one or more files to the table, the view, the database, or the model; and

in response to a determination that the user associated with the request has permission to access the at least the subset of the one or more low-level data objects,

generate, by the data manager service, a uniform resource locator (URL) via which the at least the subset of the one or more low-level data objects is accessible by the user, wherein the URL is generated based at least in part on a credential to access the at least the subset of the one or more low-level data objects; and

provide, from the data manager service, the URL to the data requesting service; and

a memory coupled to the one or more processors and configured to provide the one or more processors with instructions.

2. The system of claim 1 , wherein the URL comprises the credential.

3. The system of claim 1 , wherein the URL expires after a predefined amount of time.

4. The system of claim 1 , wherein the URL is generated based at least in part on the mapping of the one or more files to the table.

5. The system of claim 4 , wherein:

the table is mapped to at least a first subset of files and a second subset of files;

the first subset of files is encrypted based at least in part on a first cryptographic key associated with the first subset of files; and

the second subset of files is not encrypted based at least in part on the first cryptographic key.

6. The system of claim 5 , wherein:

the set of data corresponds to the second subset of files; and

the URL is generated based at least in part on a second determination to provide access to the second subset of files without providing access to the first subset of files.

7. The system of claim 6 , wherein the URL is generated to exclude a credential for decrypting the first subset of files.

8. The system of claim 7 , wherein:

the set of data corresponds to the first subset of files; and

the URL is generated based at least in part on a third determination to provide access to the at least the first subset set of files.

9. The system of claim 8 , wherein the URL comprises a credential to decrypt the first subset of files.

10. The system of claim 9 , wherein the credential is a second cryptographic key as part of a key pair comprising the first cryptographic key and the second cryptographic key.

11. The system of claim 7 , wherein:

the first subset of files are stored at a first location of a data storage system; and

the second subset of files are stored at a second location of the data storage system.

12. The system of claim 1 , wherein the URL is generated based on a fourth determination to provide access to a first subset of files and to withhold access to a second subset of files.

13. The system of claim 1 , wherein the set of data is comprised in a dataset that is configured based on a predefined data protocol, and the dataset is stored on one or more cloud storage systems.

14. The system of claim 13 , wherein the predefined data protocol includes metadata with a mapping of the one or more low-level data objects to the high-level data object.

15. The system of claim 13 , wherein the dataset has a plurality of subsets of data that are respectively stored at a plurality of different data storage provider services.

16. The system of claim 1 , wherein the data requesting service provides the URL to a user system associated with the user.

17. A method, comprising:

receiving, by a data manager service from a data requesting service, a request using an identifier for a high-level data object to access a set of data associated with the high-level data object, wherein the high-level data object comprises a table, a view, a database, or a model;

determining, by the data manager service, one or more low-level data objects corresponding to the set of data based on the identifier for the high-level data object, wherein the one or more low-level data objects comprises one or more files;

determining, by the data manager service, whether a user associated with the request has permission to access at least a subset of the one or more low-level data objects;

determining a set of locations for the subset of the one or more low-level data objects based at least in part on a mapping of the one or more files to the table, the view, the database, or the model; and

in response to a determination that the user associated with the request has permission to access the at least the subset of the one or more low-level data objects,

generating, by the data manager service, a uniform resource locator (URL) via which the at least the subset of the one or more low-level data objects is accessible by the user, wherein the URL is generated based at least in part on a credential to access the at least the subset of the one or more low-level data objects; and

providing, from the data manager service, the URL to the data requesting service.

18. A computer program product embodied in a non-transitory computer readable medium and comprising computer instructions for:

receiving, by a data manager service from a data requesting service, a request using an identifier for a high-level data object to access a set of data associated with the high-level data object, wherein the high-level data object comprises a table, a view, a database, or a model;

determining, by the data manager service, one or more low-level data objects corresponding to the set of data based on the identifier for the high-level data object, wherein the one or more low-level data objects comprises one or more files;

determining, by the data manager service, whether a user associated with the request has permission to access at least a subset of the one or more low-level data objects;

determining a set of locations for the subset of the one or more low-level data objects based at least in part on a mapping of the one or more files to the table, the view, the database, or the model; and

in response to a determination that the user associated with the request has permission to access the at least the subset of the one or more low-level data objects,

generating, by the data manager service, a uniform resource locator (URL) via which the at least the subset of the one or more low-level data objects is accessible by the user, wherein the URL is generated based at least in part on a credential to access the at least the subset of the one or more low-level data objects; and

providing, from the data manager service, the URL to the data requesting service.

19. A system, comprising:

one or more processors configured to:

receive, by a data manager service from a data requesting service, a request using an identifier for a high-level data object to access a set of data associated with the high-level data object, wherein the set of data is comprised in a dataset that is configured based on a predefined data protocol, and the dataset is stored on one or more cloud storage systems, and wherein the predefined data protocol includes metadata with a mapping of one or more low-level data objects to the high-level data object;

determine, by the data manager service, the one or more low-level data objects corresponding to the set of data based on the identifier for the high-level data object;

determine, by the data manager service, whether a user associated with the request has permission to access at least a subset of the one or more low-level data objects; and

in response to a determination that the user associated with the request has permission to access the at least the subset of the one or more low-level data objects,

generate, by the data manager service, a uniform resource locator (URL) via which the at least the subset of the one or more low-level data objects is accessible by the user, wherein the URL is generated based at least in part on a credential to access the at least the subset of the one or more low-level data objects; and

provide, from the data manager service, the URL to the data requesting service; and

a memory coupled to the one or more processors and configured to provide the one or more processors with instructions.

Assignments (2)
SECURITY INTEREST Recorded Jan 6, 2025
From: DATABRICKS, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 069825/0419 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 14, 2023
From: GHODSI, ALI; ARMBRUST, MICHAEL PAUL; ZAHARIA, MATEI; CHANDRA, RAMESH; ZHU, SHIXIONG; SUN, XIAOTONG
To: DATABRICKS, INC.
Reel/Frame 064265/0110 →
Cited By (1)
US 12,664,350