IP Library Granted Patent US 12,353,389
Granted Patent B2
US 12,353,389 · App. 15/942,150 · Granted Jul 8, 2025

Customized code configurations for a multiple application service environment

Inventors: Amandeep Khurana (San Francisco, CA); Nong Li (San Francisco, CA)
Assignee: Databricks, Inc.
G06F16/2272G06F8/70G06F9/54G06F16/24568G06F16/2457G06F16/248G06F16/284
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,353,389
App. No.
15/942,150
Granted
Jul 8, 2025
Kind
B2
Abstract

Disclosed herein provides enhancements for operating a data access system for large data processing environments. In one implementation, a method provides for maintaining a data structure comprising a plurality of customized code configurations each associated with a data request rule for each of the multiple application services. A code configuration query from a user is then received indicating a data request rule. The code configuration query requests code configurations for data retrieval from at least one of the multiple storage services over the data access system. The data structure is queried for one or more customized code configurations for each of the multiple application services associated with the indicated data request rule. The user is then provided with the one or more customized code configurations for each of the multiple application services associated with the indicated data request rule.

Claims (50)

1. A method of operating a data access service, wherein the data access service provides an interface layer between multiple application services and multiple storage services, the method comprising:

maintaining, in the data access service, a data structure comprising a plurality of code configurations corresponding to a plurality of application services, wherein the plurality of code configurations are associated with a plurality of data request rules for retrieving data from a storage service that stores one or more datasets associated with a user,

wherein for each data request rule of the plurality of data request rules, the data structure comprises at least one customized code configuration for each of the multiple application services, wherein the plurality of code configurations includes at least a first code configuration for a first type of application service including a block of program code that when run by the respective application service of the first type retrieves data stored in the storage service, and a second code configuration for a second type of application service including a block of program code in a different language that when run by the application service of the second type retrieves data stored in the same storage service;

receiving, in the data access service, a code configuration query from an application service running on a user device, wherein the code configuration query is associated with at least one data request rule, wherein the at least one data request rule comprises at least one of a type of data search, dataset search initiated by the user, and whether the user has access to the plurality of code configurations based on a user's access level;

in response to receiving the code configuration query, retrieving, in the data access service, the plurality of code configurations corresponding to the plurality of application services from the data structure based on the at least one data request rule;

generating, in the data access service, one or more customized code configurations from the plurality of code configurations corresponding to the application services, wherein the one or more customized code configurations are generated based on determining that the user has access to the one or more customized code configurations based on the user's access level in the at least one data request rule;

displaying, on a user interface running on a user device, options corresponding to the plurality of application services; and

in response to receiving a selection of an option from the user interface, displaying on the user interface running on the user device, the generated custom code configuration corresponding to the option selected by the user.

2. The method of claim 1 further comprising suggesting, in the data access service, an additional code configuration query from the application service running on the user device indicating one or more additional data request rules.

3. The method of claim 1 wherein:

the code configuration query from the application service further indicates a user type; and

the one or more customized code configurations provided to the application service running on the user device are provided based on the indicated user type.

4. The method of claim 1 wherein:

the code configuration query from the application service further indicates a dataset type; and

the one or more customized code configurations provided to the application service running on the user device are provided based on the indicated dataset type.

5. The method of claim 1 wherein providing the one or more customized code configurations to the application service running on the user device comprises one or more of exporting and saving a file including each of the one or more customized code configurations.

6. The method of claim 1 wherein providing the one or more customized code configurations to the application service running on the user device comprises surfacing a view of each of the one or more customized code configurations.

7. The method of claim 1 wherein providing the one or more customized code configurations to the application service running on the user device further comprises displaying a preview of data retrieved by executing the one or more customized code configurations.

8. The method of claim 1 wherein the at least one of the multiple application services comprises one or more of a distributed application, an Open Database Connectivity (ODBC) service, and a Representational State Transfer (REST) service.

9. The method of claim 1 wherein the at least one of the multiple storage services comprises one or more of a file system, a Relational Database Management System (RDBMS), and a stream.

10. A computing apparatus comprising:

one or more computer readable storage media;

one or more processors operatively coupled with the one or more computer readable storage media; and

program instructions stored on the one or more computer readable storage media to operate a data access service that provides an interface layer between multiple application services and multiple storage services, wherein the program instructions, when read and executed by the one or more processors, direct the one or more processors to at least:

maintain, in the data access service, a data structure comprising a plurality of code configurations corresponding to a plurality of application services, wherein the plurality of code configurations are associated with a plurality of data request rules for retrieving data from a storage service that stores one or more datasets associated with a user,

wherein for each data request rule of the plurality of data request rules, the data structure comprises at least one customized code configuration for each of the multiple application services, wherein the plurality of code configurations includes at least a first code configuration for a first type of application service including a block of program code that when run by the respective application service of the first type retrieves data stored in the storage service, and a second code configuration for a second type of application service including a block of program code in a different language that when run by the application service of the second type retrieves data stored in the same storage service;

receive, in the data access service, a code configuration query from an application service running on a user device, wherein the code configuration query is associated with at least one data request rule, wherein the at least one data request rule comprises at least one of a type of data search, dataset search initiated by the user, and whether the user has access to the plurality of code configurations based on a user's access level;

in response to receiving the code configuration query, retrieve, in the data access service, the plurality of code configurations corresponding to the plurality of application services from the data structure based on the at least one data request rule;

generate, in the data access service, one or more customized code configurations from the plurality of code configurations corresponding to the application service, wherein the one or more customized code configurations are generated based on determining that the user has access to the one or more customized code configurations based on the user's access level in the at least one data request rule;

display, on a user interface running on a user device, options corresponding to the plurality of application services; and

in response to receiving a selection of an option from the user interface, display on the user interface running on the user device, the generated custom code configuration corresponding to the option selected by the user.

11. The computing apparatus of claim 10 , wherein the program instructions, when read and executed by the one or more processors, further direct the one or more processors to suggest, in the data access service, an additional code configuration query from the application service running on the user device indicating one or more additional data request rules.

12. The computing apparatus of claim 10 wherein:

the code configuration query from the application service further indicates a user type; and

the one or more customized code configurations provided to the application service running on the user device are provided based on the indicated user type.

13. The computing apparatus of claim 10 wherein:

the code configuration query from the application service further indicates a dataset type; and

the one or more customized code configurations provided to the application service running on the user device are provided based on the indicated dataset type.

14. The computing apparatus of claim 10 wherein to provide the one or more customized code configurations to the application service running on the user device, the program instructions, when read and executed by the one or more processors, direct the one or more processors to export or save a file including each of the one or more customized code configurations.

15. The computing apparatus of claim 10 wherein to provide the one or more customized code configurations the application service running on the user device the program instructions, when read and executed by the one or more processors, direct the one or more processors to surface a view of each of the one or more customized code configurations.

16. The computing apparatus of claim 10 wherein to provide the one or more customized code configurations to the application service running on the user device the program instructions, when read and executed by the one or more processors, further direct the one or more processors to display a preview of data retrieved by executing the one or more customized code configurations.

17. The computing apparatus of claim 10 wherein the at least one of the multiple application services comprises one or more of a distributed application, an Open Database Connectivity (ODBC) service, and a Representational State Transfer (REST) service.

18. One or more computer-readable storage media having program instructions stored thereon to operate a data access service that provides an interface layer between multiple application services and multiple storage services, wherein the program instructions, that, when read and executed by a processing system, direct the processing system to at least:

maintain, in the data access service, a data structure comprising a plurality of code configurations corresponding to a plurality of application services, wherein the plurality of code configurations are associated with a plurality of data request rules for retrieving data from a storage service that stores one or more datasets associated with a user,

wherein for each data request rule of the plurality of data request rules, the data structure comprises at least one customized code configuration for each of the multiple application services, wherein the plurality of code configurations includes at least a first code configuration for a first type of application service including a block of program code that when run by the respective application service of the first type retrieves data stored in the storage service, and a second code configuration for a second type of application service including a block of program code in a different language that when run by the application service of the second type retrieves data stored in the same storage service;

receive, in the data access service, a code configuration query from an application service running on a user device, wherein the code configuration query is associated with at least one data request rule, wherein the at least one data request rule comprises at least one of a type of data search, dataset search initiated by the user, and whether the user has access to the plurality of code configurations based on a user's access level;

in response to receiving the code configuration query, retrieve, in the data access service, the plurality of code configurations corresponding to the plurality of application services from the data structure based on the at least one data request rule;

generate, in the data access service, one or more customized code configurations from the plurality of code configurations corresponding to the application service, wherein the one or more customized code configurations are generated based on determining that the user has access to the one or more customized code configuration based on the user's access level in the at least one data request rule;

display, on a user interface running on a user device, options corresponding to the plurality of application services; and

in response to receiving a selection of an option from the user interface, display on the user interface running on the user device, the generated custom code configuration corresponding to the option selected by the user.

Assignments (5)
SECURITY INTEREST Recorded Oct 3, 2025
From: DATABRICKS, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 072456/0740 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 17, 2025
From: OKERA, INC.
To: DATABRICKS, INC.
Reel/Frame 069919/0445 →
SECURITY INTEREST Recorded Jan 6, 2025
From: DATABRICKS, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 069825/0419 →
CHANGE OF NAME Recorded Apr 17, 2023
From: CEREBRO DATA, INC.
To: OKERA, INC.
Reel/Frame 063349/0034 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 30, 2018
From: KHURANA, AMANDEEP; LI, NONG
To: CEREBRO DATA, INC.
Reel/Frame 045402/0023 →
Continuity (1)
Related Publication 20190303466A1 · Oct 3, 2019
References Cited (22)
US 7139761B2 · McKibben et al. · 2006 [cited by applicant]
US 7447681B2 · Lightstone et al. · 2008 [cited by applicant]
US 8214393B2 · Joshi · 2012 [cited by examiner]
US 9513901B2 · Chen et al. · 2016 [cited by applicant]
US 20030172047A1 · Hosali et al. · 2003 [cited by applicant]
US 20130007710A1 · Vedula · 2013 [cited by examiner]
US 20140365467A1 · Dessau · 2014 [cited by examiner]
US 20140372963A1 · Chandaria · 2014 [cited by examiner]
US 20150310526A1 · Warren · 2015 [cited by examiner]
US 20150363191A1 · Shanmugam · 2015 [cited by examiner]
US 20160105328A1 · Cooper · 2016 [cited by examiner]
US 20160147879A1 · Huang · 2016 [cited by examiner]
US 20160188383A1 · Contractor · 2016 [cited by examiner]
US 20170048222A1 · Wise · 2017 [cited by examiner]
US 20170052835A1 · Cook · 2017 [cited by examiner]
US 20170168993A1 · Prakash · 2017 [cited by examiner]
US 20170277518A1 · Krishnan · 2017 [cited by examiner]
US 20170371937A1 · Shah · 2017 [cited by examiner]
US 20180024731A1 · Sanches · 2018 [cited by examiner]
US 20180088925A1 · Emeis · 2018 [cited by examiner]
US 20180089005A1 · Green · 2018 [cited by examiner]
CN 101645010A · 2010 [cited by applicant]