IP Library Granted Patent US 10,102,269
Granted Patent B2
US 10,102,269 · App. 14/742,213 · Granted Oct 16, 2018

Object query model for analytics data access

Inventor: Adrian Marius Marin (Bellevue, WA)
Assignee: Microsoft Technology Licensing, LLC
G06F17/30592G06F17/30292G06F17/30389G06F17/30427G06F17/30483G06F17/30607G06F8/51
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,102,269
App. No.
14/742,213
Granted
Oct 16, 2018
Kind
B2
Abstract

A computing device for executing a client application for analytics data access is provided. The computing device includes a processor that is a functional component of the computing device and is configured to execute software instructions to provide at least one client application function. A parsing component is configured to receive at least one data object of the client application and parse the at least one data object to provide an intermediate description of a query. At least one translator component is configured to receive the intermediate description of the query and generate a query string in a target query language. The computing device is configured to transmit the query string in the target query language to a data source for execution of the query.

Claims (35)

1. A computing device comprising:

a processor; and

memory, coupled to the processor, storing instructions that, when executed, cause the computing device to:

receive, from a client application, a query object indicative of a query;

in response to receiving the query object, identify a data source associated with the client application,

the query object being defined according to an object model that is:

expressed in an object-oriented programming language, and independent of a data model implemented by the data source;

parse the query object to generate an intermediate description of the query;

translate the intermediate description of the query into a query string in a target query language that corresponds to the data model implemented by the data source; and

transmit the query string in the target query language to the data source for execution of the query.

2. The computing device of claim 1 , wherein the target query language comprises a first target query language, and the instructions cause the computing device to receive the intermediate description and generate a query string in a second target query language that is different than the first target query language and corresponds, to a data model implemented by a second data source.

3. The computing device of claim 2 , wherein one of the first or second target query languages is SQL.

4. The computing device of claim 2 , wherein one of the first or second target query languages is MDX.

5. The computing device of claim 1 , wherein the client application is a compiled client application written in the object oriented programming language.

6. The computing device of claim 5 , wherein the query object conforms to a star-schema data model.

7. The computing device of claim 1 , wherein the intermediate description is in the form of a syntax tree.

8. The computing device of claim 1 , wherein the intermediate description applies a domain-specific rule.

9. The computing device of claim 8 , wherein the intermediate description includes a security filter based on a user profile.

10. A computer-implemented method comprising:

receiving, from a client application, a query object indicative of a query;

in response to receiving the query object, identifying a data source associated with the client application,

the query object being defined according to an object model that is:

expressed in an object-oriented programming language, and independent of a data model implemented by the data source;

parsing the query object to generate an intermediate query description;

translating the intermediate query description into a query output string in accordance with a target query language that corresponds to the data model implemented by the data source; and

transmitting the query string in the target query language to the data source for execution of the query.

11. The computer-implemented method of claim 10 , wherein the query object is defined in accordance with a generic dimensional model.

12. The computer-implemented method of claim 11 , wherein the query object includes a query scope expression that defines a target of the query at runtime.

13. The computer-implemented method of claim 11 , wherein the query object includes a select expression that sets forth at least one selection of the query.

14. The computer implemented method of claim 13 , wherein the select expression is a set expression to select at least one non-fact property.

15. The computer-implemented method of claim 13 , wherein the select expression is a numeric expression to select fact data.

16. The computer-implemented method of claim 15 , wherein the numeric expression defines a calculation that is independent of a binding of the query object to a data source.

17. The computer-implemented method of claim 16 , wherein the calculation is reusable in at least one different context in the client application.

18. The computer-implemented method of claim 10 , wherein the target query language is SQL.

19. The computer-implemented method of claim 10 , wherein the target query language is MDX.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 17, 2015
From: MARIN, ADRIAN MARIUS
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 035854/0476 →
Continuity (2)
Provisional Application 62121763 · Feb 27, 2015
Related Publication 20160253403A1 · Sep 1, 2016
Cited By (2)
US 12,242,795 US 12,393,608