IP Library Granted Patent US 7,886,289
Granted Patent B2
US 7,886,289 · App. 11/688,409 · Granted Feb 8, 2011

Extensibility mechanism for analysis services unified dimensional model

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 7,886,289
App. No.
11/688,409
Granted
Feb 8, 2011
Kind
B2
Abstract

Systems and methods that supply extensibility mechanisms for analysis services, via a plug-in component that enables additional functionalities. The plug-in component provide additional custom logic for the analysis services unified dimensional model (UDM). Accordingly, server functionalities can be extended in an agile manner, and without a requirement for a new release, for example.

Claims (42)

1. A method, performed by a computer, of extending the functionality of an analysis services by hosting plug-ins, the method comprising:

storing one or more assemblies that each include one or more plug-ins on an Online Analytical Processing (OLAP) server for extending the functionality of an analysis services provided by the OLAP server, the one or more plug-ins each comprising a common language runtime (CLR) class that includes a predetermined attribute that identifies the CLR class as a plug-in;

upon start up of the OLAP server, iterating through the one or more assemblies on the OLAP server to identify each class in the one or more assemblies that includes the predetermined attribute that identifies the CLR class as a plug-in;

for each identified class having the predetermined attribute, instantiating a plug-in object that subscribes to one or more events, including subscribing to a start up event indicating that a user has opened a session with the analysis services provided by the OLAP server;

upon receiving notification of the start up event, each instantiated plug-in object performing a look up for the user associated with the start up event to obtain one or more Multi-Dimensional eXpressions (MDX) commands which the user has registered to be executed to personalize the functionality of the analysis services; and

executing each of the one or more MDX commands to personalize the functionality of the analysis services.

2. The method of claim 1 wherein the one or more plug-ins further include an authentication plug-in that registers to receive notification of authentication events, wherein the method further comprises:

upon receiving notification of an authentication event, the authentication plug-in executing customized logic to authenticate the user.

3. The method of claim 1 wherein personalizing the functionality of the analysis services comprises modifying the view of a unified dimensional model in a manner that is not provided by the analysis services.

4. The method of claim 1 wherein the predetermined attribute is [PlugInAttribute].

5. The method of claim 1 wherein at least one of the plug-in objects also subscribes to a close event indicating that the user has closed the session with the analysis services, the method further comprising:

upon receiving notification of the close event, the at least one plug-in object executing customized logic to extend the functionality of the analysis services.

6. The method of claim 1 , wherein the one or more plug-ins further include an authorization plug-in that registers to receive notification of access events, wherein the method further comprises:

upon receiving notification of an access event indicating that the user is attempting to access a unified dimensional model provided by the analysis services, the authorization plug-in executing customized logic to verify whether the user's access is to be permitted.

7. One or more computer storage media storing computer executable instructions which when executed perform a method of extending the functionality of an analysis services by hosting plug-ins, the method comprising:

storing one or more assemblies that each include one or more plug-ins on an Online Analytical Processing (OLAP) server for extending the functionality of an analysis services provided by the OLAP server, the one or more plug-ins each comprising a common language runtime (CLR) class that includes a predetermined attribute that identifies the CLR class as a plug-in;

upon start up of the OLAP server, iterating through the one or more assemblies on the OLAP server to identify each class in the one or more assemblies that includes the predetermined attribute that identifies the CLR class as a plug-in;

for each identified class having the predetermined attribute, instantiating a plug-in object that subscribes to one or more events, including subscribing to a start up event indicating that a user has opened a session with the analysis services provided by the OLAP server;

upon receiving notification of the start up event, each instantiated plug-in object performing a look up for the user associated with the start up event to obtain one or more Multi-Dimensional eXpressions (MDX) commands which the user has registered to be executed to personalize the functionality of the analysis services; and

executing each of the one or more MDX commands to personalize the functionality of the analysis services.

8. The one or more computer storage media of claim 7 wherein the one or more plug-ins further include an authentication plug-in that registers to receive notification of authentication events, wherein the method further comprises:

upon receiving notification of an authentication event, the authentication plug-in executing customized logic to authenticate the user.

9. The one or more computer storage media of claim 7 wherein personalizing the functionality of the analysis services comprises modifying the view of a unified dimensional model in a manner that is not provided by the analysis services.

10. The one or more computer storage media of claim 7 wherein the predetermined attribute is [PlugInAttribute].

11. The one or more computer storage media of claim 7 wherein at least one of the plug-in objects also subscribes to a close event indicating that the user has closed the session with the analysis services, the method further comprising:

upon receiving notification of the close event, the at least one plug-in object executing customized logic to extend the functionality of the analysis services.

12. The one or more computer storage media of claim 7 , wherein the one or more plug-ins further include an authorization plug-in that registers to receive notification of access events, wherein the method further comprises:

upon receiving notification of an access event indicating that the user is attempting to access a unified dimensional model provided by the analysis services, the authorization plug-in executing customized logic to verify whether the user's access is to be permitted.

13. A system comprising a processor and memory storing computer executable instructions which when executed by the processor perform a method of extending the functionality of an analysis services by hosting plug-ins, the method comprising:

storing one or more assemblies that each include one or more plug-ins on an Online Analytical Processing (OLAP) server for extending the functionality of an analysis services provided by the OLAP server, the one or more plug-ins each comprising a common language runtime (CLR) class that includes a predetermined attribute that identifies the CLR class as a plug-in;

upon start up of the OLAP server, iterating through one or more assemblies on the OLAP server to identify each class in the one or more assemblies that includes the predetermined attribute;

for each identified class having the predetermined attribute, instantiating a plug-in object that subscribes to one or more events, including subscribing to a start up event indicating that a user has opened a session with the analysis services provided by the OLAP server;

upon receiving notification of the start up event, each instantiated plug-in object performing a look up for the user associated with the start up event to obtain one or more Multi-Dimensional eXpressions (MDX) commands which the user has registered to be executed to personalize the functionality of the analysis services; and

executing each of the one or more MDX commands to personalize the functionality of the analysis services.

14. The system of claim 13 wherein the one or more plug-ins further include an authentication plug-in that registers to receive notification of authentication events, wherein the method further comprises:

upon receiving notification of an authentication event, the authentication plug-in executing customized logic to authenticate the user.

15. The system of claim 13 wherein personalizing the functionality of the analysis services comprises modifying the view of a unified dimensional model in a manner that is not provided by the analysis services.

16. The system of claim 13 wherein the predetermined attribute is [PlugInAttribute].

17. The system of claim 13 wherein at least one of the plug-in objects also subscribes to a close event indicating that the user has closed the session with the analysis services, the method further comprising:

upon receiving notification of the close event, the at least one plug-in object executing customized logic to extend the functionality of the analysis services.

18. The system of claim 13 , wherein the one or more plug-ins further include an authorization plug-in that registers to receive notification of access events, wherein the method further comprises:

upon receiving notification of an access event indicating that the user is attempting to access a unified dimensional model provided by the analysis services, the authorization plug-in executing customized logic to verify whether the user's access is to be permitted.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034542/0001 →