IP Library Granted Patent US 11,625,414
Granted Patent B2
US 11,625,414 · App. 16/999,035 · Granted Apr 11, 2023

Method and system for transparent interoperability between applications and data management systems

Inventors: Florian Michael Waas (San Francisco, CA); Mohamed Soliman (Foster City, CA); Zhongxian Gu (Sunnyvale, CA); Lyublena Rosenova Antova (Sunnyvale, CA); Tuan Anh Cao (San Francisco, CA); Entong Shen (Foster City, CA); Michael Alexander Duller (San Francisco, CA); John Eshleman (Mountain View, CA)
Assignee: DATOMETRY, INC.
G06F16/252H04L63/08
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,625,414
App. No.
16/999,035
Granted
Apr 11, 2023
Kind
B2
Abstract

A method for providing database management system support to a source application configured to operate with a source database management system Is provided. The method comprises detecting database management system communications issued by the source application to the source database management system; and responsive to said database management systems communications, impersonating the source database management system to the source application.

Claims (31)

1. A method for providing interoperability between a first database system and a different, second database system, the method comprising:

intercepting, from a database application, a particular query directed to the first database system, wherein the particular query is written for a first data model supported by the first database system;

translating the particular query into a plurality of queries directed to the second database system, wherein the plurality of queries are written for a second, different data model supported by the second database system;

executing the translated queries on the second database system; and

based on a plurality of replies received from the second database system, generating a particular reply directed to the database application.

2. The method of claim 1 , wherein the first data model is a list data model and the second data model is a table data model.

3. The method of claim 1 , wherein the first data model is a serial data model and the second data model is a concurrent data model.

4. The method of claim 1 , wherein the first data model is a column-store data model and the second data model is a row data model.

5. The method of claim 1 , wherein the first database is a kdb+ database.

6. The method of claim 1 , wherein the second database is a PostgreSQL database.

7. The method of claim 1 , wherein the particular query is written in Q.

8. The method of claim 1 , wherein intercepting the particular query comprises natively receiving the particular query from the database application using a first wire protocol, wherein executing the translated queries on the second database system comprises natively sending the translated queries to the second database system using a second, different wire protocol, the method further comprising:

natively receiving the plurality of replies from the second database using the second wire protocol; and

natively sending the particular reply to the database application using the first wire protocol.

9. The method of claim 8 , wherein the first wire protocol is the QIPC protocol.

10. The method of claim 8 , wherein the second wire protocol is the PG wire protocol.

11. The method of claim 1 , further comprising performing a bridging authentication operation comprising (i) performing a first authentication operation with the first database system using a set of user credentials provided by the database application and (ii) performing a second, different authentication operation with the second database system using the set of user credentials.

12. A non-transitory machine readable medium storing a program which when executed by at least one processing unit provides interoperability between a first database system and a different, second database system, the program comprising sets of instructions for:

intercepting, from a database application, a particular query directed to the first database system, wherein the particular query is written for a first data model supported by the first database system;

translating the particular query into a plurality of queries directed to the second database system, wherein the plurality of queries are written for a second, different data model supported by the second database system;

executing the translated queries on the second database system; and

based on a plurality of replies received from the second database system, generating a particular reply directed to the database application.

13. The machine readable medium of claim 12 , wherein the set of instructions for intercepting the particular query comprises a set of instructions for natively receiving the particular query from the database application using a first wire protocol, wherein the set of instructions for executing the translated queries on the second database system comprises a set of instructions for natively sending the translated queries to the second database system using a second, different wire protocol, the program further comprising sets of instructions for:

natively receiving the plurality of replies from the second database using the second wire protocol; and

natively sending the particular reply to the database application using the first wire protocol.

14. The machine readable medium of claim 12 , wherein the set of instructions for translating the particular query into the plurality of queries comprises a set of instructions for caching metadata to resolve variable references, said metadata comprising a mapping between variables in the first data model and properties of objects in the second data model.

15. The machine readable medium of claim 12 , the program further comprising sets of instructions for performing a bridging authentication operation, the set of instructions for performing the bridging authentication operation comprising sets of instructions for:

performing a first authentication operation with the first database system using a set of user credentials provided by the database application; and

performing a second, different authentication operation with the second database system using the set of user credentials.

16. The machine readable medium of claim 12 , wherein the first data model is a list data model and the second data model is a table data model.

17. The machine readable medium of claim 12 , wherein the first data model is a column-store data model and the second data model is a row data model.

Assignments (1)
CONFIRMATORY ASSIGNMENT Recorded Feb 26, 2026
From: DATOMETRY, INC.
To: SNOWFLAKE INC.
Reel/Frame 074957/0656 →
Continuity (4)
Continuation 16378556 · Apr 8, 2019
Continuation 15150389 · May 9, 2016
Provisional Application 62158484 · May 7, 2015
Related Publication 20210034636A1 · Feb 4, 2021