Suche Bilder Maps Play YouTube News Gmail Drive Mehr »
Erweiterte Patentsuche | Abbildungen der Seite | Webprotokoll | Anmelden

Patente

  
[blocks in formation]
[merged small][merged small][table][merged small][merged small][graphic][graphic][graphic][table]

1

SYSTEM AND METHOD FOR AUTOMATIC
TRANSMISSION OF PERSONALIZED OLAP
REPORT OUTPUT

RELATED APPLICATIONS

This application claims priority from U.S. Provisional Application No. 60/126,055, filed Mar. 23, 1999 entitled "System and Method for Automatic Transmission of On-Line Analytical Processing, System Report Output" and is a contination of U.S. application Ser. No. 09/343,562, filed Jun. 30, 1999. "This application is also related by subject matter to the following U.S. Patent Applications: "System and Method For Subscription Interfacing in an Automatic Broadcast OLAP Report System," Ser. No. 09/345,439; "System and Method for Adaptable Automatic Output of OLAP Reports To Output Devices," Ser. No. 09/345,561; and "System and Method for A management of an Automatic OLAP Report Broadcast System," Ser. No. 04/345,439.

FIELD OF THE INVENTION

This invention relates to a system and method for automatic broadcasting of personalized reports processed by an on-Line analytical processing system reports to subscriber devices, including electronic mail, pagers, personal digital assistants (PDA), facsimiles, printers, telephones, and mobile phones, based on subscriber-specified or administrator-specified criteria.

BACKGROUND OF THE INVENTION

The ability to act quickly and decisively in todays increasingly competitive marketplace is critical to the success of any organization. The volume of data that is available to organizations is rapidly increasing and frequently overwhelming. The availability of large volumes of data presents various challenges. One challenge is to avoid inundating an individual with unnecessary information. Another challenge is to ensure all relevant information is available in a timely manner.

One known approach to addressing these and other challenges is known as data warehousing. Data warehouses, relational databases, and data marts are becoming important elements of many information delivery systems because they provide a central location where a reconciled version of data extracted from a wide variety of operational systems may be stored. As used herein, a data warehouse should be understood to be an informational database that stores shareable data from one or more operational databases of record, such as one or more transaction-based database systems. A data warehouse typically allows users to tap into a business's vast store of operational data to track and respond to business trends that facilitate forecasting and planning efforts. A data mart may be considered to be a type of data warehouse that focuses on a particular business segment.

Decision support systems have been developed to efficiently retrieve selected information from data warehouses. One type of decision support system is known as an on-line analytical processing system ("OLAP"). In general, OLAP systems analyze the data from a number of different perspectives and support complex analyses against large input data sets.

There are at least three different types of OLAP architectures—ROLAP, MOLAP, and HOLAP, ROLAP ("Relational On-Line Analytical Processing") systems are

2

systems that use a dynamic server connected to a relational database system. Multidimensional OLAP ("MOLAP") utilizes a proprietary multidimensional database ("MDDB") to provide OLAP analyses. The main premise of this architec

5 ture is that data must be stored multidimensionally to be viewed multidimensionally. A HOLAP ("Hybrid On-Line Analytical Processing") system is a hybrid of these two.

ROLAP is a three-tier, client/server architecture comprising a presentation tier, an application logic tier and a

10 relational database tier. The relational database tier stores data and connects to the application logic tier. The application logic tier comprises a ROLAP engine that executes multidimensional reports from multiple end users. The ROLAP engine integrates with a variety of presentation layers, through which users perform OLAP analyses. The

15 presentation layers enable users to provide requests to the ROLAP engine. The premise of ROLAP is that OLAP capabilities are best provided directly against a relational database, e.g., the data warehouse.

In a ROLAP system, data from transaction-processing systems is loaded into a defined data model in the data warehouse. Database routines are run to aggregate the data, if required by the data model. Indices are then created to optimize query access times. End users submit multidimensional analyses to the ROLAP engine, which then dynamically transforms the requests into SQL execution plans. The SQL is submitted to the relational database for processing, the relational query results are cross-tabulated, and a multidimensional result set is returned to the end user. ROLAP

3Q is a fully dynamic architecture capable of utilizing precalculated results when they are available, or dynamically generating results from atomic information when necessary.

The ROLAP architecture directly accesses data from data warehouses, and therefore supports optimization techniques

35 to meet batch window requirements and to provide fast response times. These optimization techniques typically include application level table partitioning, aggregate inferencing, denormalization support, and multiple fact table joins.

40 MOLAP is a two-tier, client/server architecture. In this architecture, the MDDB serves as both the database layer and the application logic layer. In the database layer, the MDDB system is responsible for all data storage, access, and retrieval processes. In the application logic layer, the

45 NDDB is responsible for the execution of all OLAP requests. The presentation layer integrates with the application logic layer and provides an interface through which the end users view and request OLAP analyses. The client/ server architecture allows multiple users to access the mul

50 tidimensional database.

Information from a variety of transaction-processing systems is loaded into the MDDB System through a series of batchRoutines. Once this atomic data has been loaded into the MDDB, the general approach is to perform a series of

55 batch calculations to aggregate along the orthogonal dimensions and fill the MDDB array structures. For example, revenue figures for all of the stores in a state would be added together to fill the state level cells in the database. After the array structure in the database has been filled, indices are

60 created and hashing algorithms are used to improve query access times.

Once this compilation process has been completed, the MDDB is ready for use. Users request OLAP reports through the presentation layer, and the application logic 65 layer of the MDDB retrieves the stored data.

The MOLAP architecture is a compilation-intensive architecture. It principally reads the pre-compiled data, and

3 4

has limited capabilities to dynamically create aggregations information broadcasts from a data warehouse through a

or to calculate business metrics that have not been pre- subscription interface system that contains references to the

calculated and stored. contents of the data warehouse.

The hybrid OLAP ("HOLAP") solution is a mix of These and omer obJects are realized by a system and

MOLAP and relational architectures that support inquiries 5 method according to the present invention as described

against summary and transaction data in an integrated fash- bel°w; Such a system and meth°d comprises a broadcast

ion. The HOLAP approach enables a user to perform mul- 5°*^,that connects to. an on-llne analytlcal processing

• , , • , , • ... Tt •£ (OLAP) system comprising a server system tor accessing

tidimensional analysis on data in the MDDB. However, it > r \. . r b , ^ J, ^ r b

if , , ^ r• , , • information in one or more data warehouses to perform

the user reaches the bottom of the multidimensional hierar- ^ , . „, , , , , , , if r , .

, , . , . ., , , . .. TTT .„ . ln report analysis. 1 he broadcast module may enable the defin

chy and requires more detailed data, the HOLAP engine lu . r J . . „ . „ , , • , ,, ,

„„T ^ ^ . if ,' ., , , ^ j, °, ing of a service. A service as used herein should be

generates an SOL to retrieve the detailed data from the . ^ ^ , , , ,

, .. , , . , . ... understood to include one or more reports that are scheduled

source relational database management system ( RDBMS ) , , . , , , , , ,

, v . , „„, . „ . , V , to be run against one or more data warehouses, relational

and returns it to the end user. HOLAP implementations rely , ^ , ,. . r r ,

, O^t ^ L L „, . • / databases, files in a directory, information from a web or file

on simple SOL statements to pull large quantities of data into . r' , .. . i .. ., , ,

if ., . , • r • T,, 1C transfer protocol site, or information provided by a custom

the mid-tier, multidimensional engine tor processing. 1ms li , , , ' r„, . , ,

^ . J r i^i n , module, by a server system. Ihese services may be subconstrains the range of inquiry and returns large, unrefined ., ,' , , . 1,^1 ,

,4 . 4, . , , J . , ... .. , , , scribed to by users or user devices to enable the broadcast

result sets that can overwhelm networks with limited band- , , ^ :^ . , , ,, r

. 1if module to determine who should receive the results of a width.

service.

As described above, each of these types of OLAP systems These and Qther ... of ^ esent invention are are typically client-server systems The OLAP engine ... th h embodiments described herein. resides on the server side and a module is typically provided Accordi to one embodiment, a system for automatic at a client-side to enable users to input queries and report tion of personaiized output from an on4ine analytical requests to the OLAP engine. Current chent-side modules ssi tem is provided. The system pr0Cesses at least are typically stand alone software modules that are loaded Qne scheduled service in an on4ine analytical processing on client-side computer systems. One drawback of such m and tes personaiized output based on personsystems is that a user must learn how to operate the ... information for subscribers of the service to one or client-side software module in order to initiate queries and mQre subscriber output devices xhe system enables a user generate reports. to specify gjobal and service-specific personalization infor

Although various user interfaces have been developed to 3Q mation including specification of multidimensional filters to

enable users to access the content of data warehouses be applied to services and the specification of trigger criteria

through server systems, many such systems experience to be satisfied before output is generated. Personalization

significant drawbacks. All of these systems require that the information may also be set for each output device for a

user connect via a computer system to the server system to particular subscriber.

initiate reports and view the contents of the reports. 3J xhe broadcast module enables the creation of a service, Moreover, current systems require that the user initiate a the scheduling of the service, subscription of users to the request for a report each time the user desires to have that defined services, generation of reports for the service, forreport generated. A particular user may desire to run a matting of outputs of the service and broadcasting of mesparticular report frequently to determine the status of the sages based on the output for the service, among other report. 40 functions. A subscription interface module may be provided Further, reports may be extensive and may contain a large to enable users to select the services they want to subscribe amount of information for a user to sort through each time to, the schedule on which they want to receive the contents a report is run. A particular user may only be interested in of the service, and the personalization criteria to use for knowing if a particular value or set of values in the report has personalizing their content. A personalization module may changed over a predetermined period of time. Current sys- 45 be provided that enables subscribers to personalize the terns require the user to initiate the new report and then scan content of an individual service to which the subscriber is through the new report to determine if the information has subscribing or to all services to which the subscriber subchanged over the time period specified. scribes. The broadcast module may be connected to a These and other drawbacks exist with current OLAP plurality of user devices including a personal digital assisinterface systems 50 tant (PDA), facsimile, printer, pager, mobile phone,

telephone, electronic mail, and web page output.

SUMMARY OF THE INVENTION According to one embodiment of the present invention, a

. , . . ri, . . 4, , 4, system for automatically generating output from an on-line

An object of the invention is to overcome these and other • :, , 1,,,

, , , • • , analytical processing system based on scheduled services

drawbacks in existing systems. .„ , , , r, J r if ^ . ., , „,

55 specified by subscribers of the system is provided. Ihe

Another object of the present invention is to provide a system processes scheduled services in an on-line analytical

system that automatically broadcasts personalized messages processing system with each service comprising at least one

to subscribers based on criteria established by the subscriber, query to be performed by the on-line analytical processing

or a system administrator hen those criteria are determined system xhe system then automatically forwards output from

to be satisfied by an on-line analytical processing system. m the services t0 one or more subscriber output devices

Another object of the present invention is to provide specified for that service. Users may define new services,

personalized information broadcasts of information from an including the schedule of the services and the type, such as

on-line analytical processing system through a variety of alert services or scheduled services, and may also subscribe

user output devices depending on the criteria established by to the services provided by the system. If an alert service is

the user. 65 processed, the system may forward output only when one or

Another object of the present invention is to provide a more alert criteria are satisfied. Subscribers may be specified

system that enables a user to personalize the content of by a dynamic recipient list that is resolved each time the

5

service is processed to determine recipients of the service output. A dynamic recipient list may be, for example, a list that determines the recipients of a service based on dynamically resolved criteria. For example, a bank may generate a list every month that identifies customers who have an 5 account balance greater than $100,000 and who have not made a transaction within the last three months. The output devices the system may forward output to may comprise electronic mailbox, facsimile, printer, mobile phone, telephone, pager, PDA or web pages. 10

According to another embodiment of the present invention, a system that enables subscribers to personalize services used for automatically generating output from an on-line analytical processing system is provided. In addition to enabling subscribers to specify the content and schedule :5 of one or more services, the system enables subscribers to personalize various other parameters relating to the service. For example, subscribers may specify the format of service output, filters to be applied to the service, and a variety of other personalization options described in greater detail 20 below.

According to another embodiment of the invention, the system utilizes static recipient lists ("SRL") and dynamic recipient lists ("DRL") for determining subscribers to a service. SRLs may be a list of manually entered subscriber 25 names of a particular service. DRLs, however, may be a report generated by the system listing subscriber names that meet a predetermined criteria for a service. DRLs enable lists of subscribers to change according to certain criteria applied to contents of a database. For example, a DRL may 30 be used to broadcast a sales report to only those subscribers who are managers of stores who have not met a predetermined sales goal.

Other objects and advantages of the present invention will 3J be apparent to one of ordinary skill in the art upon reviewing the detailed description of the present invention.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic block diagram of a system in 40 accordance with an embodiment of the present invention.

FIG. 2 is a schematic block diagram of a method for automatic transmission of OLAP report information.

FIG. 3 is a schematic block diagram of a method for creating a service according to an embodiment of the present 45 invention.

FIG. 4 is a schematic block diagram of an overall system in accordance with an embodiment of the present invention.

DETAILED DESCRIPTION OF THE 50
PREFERRED EMBODIMENTS

According to one embodiment of the present invention, a system is provided for automatic transmission of OLAP report output to one or more of a plurality of user output 55 devices. FIG. 1 depicts an embodiment of a system 100 according to the present invention. System 100 may comprise a data warehouse 12, a server system 14, a broadcast module 20, an object creation module 94, an agent module 28, and one or more user devices 40. User devices 40 may go comprise a facsimile 40a, pager 40fc, mobile telephone 40c, electronic mail 40rf, and web page output 40e.

Broadcast module 20 may comprise a module that broadcasts personalized information derived from the OLAP system (e.g., data warehouse 12 and sever system 14) to 65 users via one or more user devices 40 such as electronic mail, facsimile, printer, pager, mobile phone, telephone,

6

PDA, and multiple other types of user information devices. Broadcast module 20 enables users to define services (e.g. queries and reports) that are to be run against an OLAP system such as server system 14 and data warehouse 12 based on a predetermined schedule. A "service" as used herein should be understood to include one or more reports that are scheduled to be run against data warehouse 12 by server system 14. Broadcast module 20 also enables users on the system to subscribe to one or more services and then broadcast module 20 outputs the results of these services to subscribers according to criteria established by the subscribers.

Data warehouse 12 may comprise any data warehouse or data mart as is known in the art, including a relational database management system ("RDBMS"), a multidimensional database management system ("MDDBMS") or a hybrid system. Server system 14 may comprise an OLAP server system for accessing and managing data stored in data warehouse 12. Server system 14 may comprise a ROLAP engine, MOLAP engine or a HOLAP engine according to different embodiments. Specifically, server system 14 may comprise a multithreaded server for performing analysis directly against data warehouse 12. One embodiment of server system 14 may comprise a ROLAP engine known as DSS ServerTM offered by MicroStrategy. Accordingly, data warehouse 12 and server system 14 comprise an OLAP system that connects to broadcast module 20 for broadcast of user-specified reports from data maintained by data warehouse 12.

Broadcast module 20 may also be connected to an agent module 28 which may also be connected to server system 14. Agent module 28 may be provided to define reports and queries that may be selected as part of one or more services by broadcast module 20. Agent module 28 may be used to define queries to be performed against the data contained in data warehouse 12 using components, templates, filters, reports, agents, etc. Components may include dimensions, attributes, attribute elements, and metrics—in other words, the building blocks for templates, filters, and reports. Templates generally define a report format and specify the attributes, dimensions, metrics, and display properties comprising a report. Filters generally qualify report content and identify a subset of data warehouse 12 to be included in a report. Filters may also be used to apply set math to report content. For example, filters may be used with set math, multidimensional qualifications, and metric qualifications. Using set math, users can define and embed any set of limiting criteria (e.g., union, intersect, exclude). Multidimensional qualifications enable users to indicate general subject areas or perspectives on data (e.g., time, geography, product). Metric qualifications may be used to compute mathematical calculations of various numerical data (e.g., total sales, profit, cost, percent change, profit). Metrics may be displayed in a variety of formats (e.g., percentages, currency, fonts indicating predetermined values). Reports are generally understood to be a data analysis created by combining a template (the format) with a filter (the content). Agents may be a group of reports cached on a time- or event-based schedule for rapid retrieval and batch processing. According to one embodiment of the invention, agent module 28 may comprise a software package known as DSS AgentTTM offered by MicroStrategy.

Agent module 28 may operate on any user system 26 including personal computers, network workstations, laptop computers or any other electronic device connected to server system 14 or may comprise an object connected to broadcast module 20.

« ZurückWeiter »