IP Library Granted Patent US 10,824,636
Granted Patent B2
US 10,824,636 · App. 14/722,330 · Granted Nov 3, 2020

Mechanisms for querying disparate data storage systems

Inventors: Mark Fischer (Chelmsford, MA); Prakash Khot (Gachibowli, IN); Dilip Kumar Vedula (Waltham, MA); Tong Zhao (Marlborough, MA); Siva Prakash Ragavan (Gachibowli, IN); Joseph Paquette (Nashua, NH)
Assignee: Kaseya International Limited
G06F16/256G06F16/258G06F16/2452G06F16/2455G06F16/2471G06F16/27
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,824,636
App. No.
14/722,330
Granted
Nov 3, 2020
Kind
B2
Abstract

Computer implemented techniques for storage management include receiving a query from an application within an application level, which is received as a standard syntax wrapped query language query, with the standard syntax wrapped query having as a parameter, an identifier to a specific object, determining a platform type on which the received query is executable and translating the standard syntax wrapped query language query into the determined native query language used by the determined data storage platform type.

Claims (50)

1. A system comprising:

a processor device;

a memory in communication with the processor device; and

a storage medium that stores a computer program product to configure the system to:

receive a query from an application within an application level, which query is produced as a standard syntax wrapped query language query that is executable against data objects stored in NoSQL databases and that are instances of data elements, and which data objects include metadata that describe a structure and a type of data within the data objects, with the standard syntax wrapped query language query including a parameter that is an identifier to a specific one of the data objects;

determine a NoSQL data storage platform type associated with a target of the received query and a native query language associated with the data storage platform type; and

translate the received query in the standard syntax wrapped query language into the determined native query language for the determined NoSQL data storage platform.

2. The system of claim 1 , wherein the system is further configured to:

cause execution of the translated query on the target data storage platform to retrieve query results;

translate the retrieved query results into a common query results structure; and

return the retrieved, translated query results in the common query results structure to the application.

3. The system of claim 1 further configured to:

determine the storage platform type from metadata in the specific object, which determines the data storage entity/entities from which to retrieve the data.

4. The system of claim 1 wherein the system is further configured to translate the standard syntax wrapped query language into the determined native language, by configuring the system to:

retrieve syntax semantics for the determined storage platform; and

re-write the query into the determined native query using the retrieved syntax semantics.

5. The system of claim 1 wherein queries are wrapped queries that are in a standard syntax query language used to execute queries against cloud data storage that are expressed using a Java application programming interface (API) or a string-based query.

6. The system of claim 5 wherein storage platforms are NoSQL server databases that provide storage and retrieval of data modeled in forms besides the tabular relations used in relational databases.

7. The system of claim 1 , wherein the specified object includes metadata comprising at least one of a specific data element identifier, specifier of one or more query filters other than the specific data element identifier, and an indicator of references to relationship graphs and/or binary large object storage systems, which exist in returned native query results.

8. The system of claim 7 , wherein the references to relationship graphs and/or binary large object storage systems exist in returned native query results, subsequent queries are executed against referenced relationship graphs and/or against referenced binary large object storage systems.

9. A method executed by a device that comprises a processor device, a memory in communication with the processor device, and storage that stores a computer program product, the method comprising:

receiving by the device from an application within an application level, a standard syntax wrapped query language query that is executable against data objects stored in NoSQL databases and that are instances of data elements, and which data objects include metadata that describe a structure and a type of data within the data objects, with the standard syntax wrapped query language query including a parameter that is an identifier to a specific one of the objects;

determining by the device, a NoSQL platform type associated with a target of the received query and a native query language associated with the data storage platform type; and

translating by the device the received query in the standard syntax wrapped query language query into the determined native query language for the determined NoSQL data storage platform.

10. The method of claim 9 further comprising:

executing the translated query on the target data storage platform to retrieve query results;

translating the retrieved query results into a common query results; and

returning the translated retrieved query results in the common query results structure to the application.

11. The method of claim 9 wherein determining the platform type comprises:

using metadata specified in the specific object to determine the data storage entity/entities from which to retrieve the data.

12. The method of claim 9 wherein translating the standard syntax wrapped query language into the determined data storage platform query semantics, comprises:

retrieving syntax semantics for the determined storage platform; and

re-writing the query into the determined native query using the retrieved syntax semantics.

13. The method of claim 9 wherein queries are wrapped queries that are in a standard syntax query language used to execute queries against cloud data storage that are expressed using a Java application programming interface (API) or a string-based query.

14. The method of claim 9 wherein storage platforms are NoSQL server databases that provide storage and retrieval of data modeled in forms besides the tabular relations used in relational databases.

15. A computer program product tangibly stored on a computer readable hardware storage device, the computer program product comprising instructions for causing a processor to:

receive from an application within an application level, a standard syntax wrapped query language query that is executable against data objects stored in NoSQL databases and that are instances of data elements, and which data objects include metadata that describe a structure and a type of data within the data objects, with the standard syntax wrapped query language query including a parameter that is an identifier to a specific one of the objects;

determine a NoSQL platform type associated with a target of the received query and a native query language associated with the data storage platform type; and

translate the received query in the standard syntax wrapped query language query into the determined native query language for the determined NoSQL data storage platform.

16. The computer program product of claim 15 wherein computer program product further comprises instructions to cause a processor to:

cause execution of the translated query on the target data storage platform to retrieve query results;

translate the retrieved query results into a common query results structure; and

return the translated retrieved query results in the common query results structure to the application.

17. The computer program product of claim 15 wherein computer program product further comprises instructions to cause a processor to:

determine the storage platform by using metadata specified in the specific object to determine the data storage entity/entities from which to retrieve the data.

18. The computer program product of claim 15 wherein computer program product further comprises instructions to cause a processor to translate the standard syntax wrapped query language into the determined data storage platform query semantics, by instructions to:

retrieve syntax semantics for the determined storage platform; and

re-write the query into the determined native query using the retrieved syntax semantics.

19. The computer program product of claim 15 wherein queries are wrapped queries that are in a standard syntax query language used to execute queries against cloud data storage that are expressed using a Java application programming interface (API) or a string-based query.

20. The computer program product of claim 15 wherein storage platforms are NoSQL server databases that provide storage and retrieval of data modeled in forms besides the tabular relations used in relational databases.

Assignments (7)
CHANGE OF NAME Recorded Oct 27, 2023
From: DATTO, INC.
To: DATTO, LLC
Reel/Frame 065385/0256 →
EMPLOYMENT AGREEMENT Recorded May 18, 2017
From: VEDULA, DILIP KUMAR
To: KASEYA INTERNATIONAL LIMITED
Reel/Frame 042493/0399 →
EMPLOYMENT AGREEMENT Recorded May 18, 2017
From: RAGAVAN, SIVAPRAKASH
To: KASEYA INTERNATIONAL LIMITED
Reel/Frame 042493/0604 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 3, 2017
From: PAQUETTE, JOSEPH
To: KASEYA INTERNATIONAL LIMITED
Reel/Frame 042392/0916 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 3, 2017
From: FISCHER, MARK
To: KASEYA INTERNATIONAL LIMITED
Reel/Frame 042391/0781 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 3, 2017
From: ZHAO, TONG
To: KASEYA INTERNATIONAL LIMITED
Reel/Frame 042390/0814 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 3, 2017
From: KHOT, PRAKASH
To: KASEYA INTERNATIONAL LIMITED
Reel/Frame 042391/0476 →