FORM 2
THE PATENTS ACT, 1970
(39 of 1970)
&
THE PATENTS RULES, 2003
COMPLETE SPECIFICATION
(See section 10, rule 13)
1. Title of the invention: INTEGRATED BUSINESS INTELLIGENCE AND IN-MEMORY
ANALYTICS
2. Applicant(s)
NAME NATIONALITY ADDRESS
TATA CONSULTANCY Indian Nirmal Building, 9th Floor, Nariman
SERVICES LIMITED Point, Mumbai, Maharashtra 400021,
India
3. Preamble to the description
COMPLETE SPECIFICATION
The following specification particularly describes the invention and the manner in which it
is to be performed.
TECHNICAL FIELD
[0001] The present subject matter, in general, relates to business intelligence and analytics
and, in particular, to systems and methods for integrated business intelligence and in-memory analytics.
BACKGROUND
[0002] Business Intelligence (BI) generally refers to software tools used to support and
improve enterprise decision-making. For example, manufacturing facilities use BI tools to evaluate and report on factory production and personnel productivity as well as other similar metrics. Retailers use BI tools to analyze trends in sales and to prepare reports for higher management. Such tools are commonly applied to business data, such as sales revenue, costs, income, or other financial data. These tools are designed to spot, retrieve and analyze business data and to provide various historical, current and predictive future views of business operations.
[0003] Common functions of BI tools include reporting, data exploration, data mining, data
cleansing, information management, and business performance management. The BI tools facilitate compilation of massive amounts of data and monitoring of various enterprise operations. Such BI tools generate business reports containing complied business information that is retrieved from a data source that is usually a data warehouse. Such business reports may be used to support the enterprise decision-making in many areas, such as in sales, marketing, management, budgeting or forecasting.
SUMMARY
[0004] This summary is provided to introduce concepts related to business intelligence.
These concepts are further described below in the detailed description. This summary is not intended to identify essential features of the claimed subject matter nor is it intended for use in determining or limiting the scope of the claimed subject matter.
[0005] In one embodiment, an integrated business analytics system is described. The
integrated business analytics system comprises an external storage device coupled to a business intelligence (BI) system and an in-memory analytics system. The external storage device is
configured to receive the BI report generated by the business intelligence (BI) system. Further, the external storage device is configured to store the BI report for retrieval by the in-memory analytics system for generation of interactive visualizations based on the BI report.
BRIEF DESCRIPTION OF THE DRAWINGS
[0006] The detailed description is described with reference to the accompanying
figure(s). In the figure(s), the left-most digit(s) of a reference number identifies the figure in which the reference number first appears. The same numbers are used throughout the figure(s) to reference like features and components. Some embodiments of system and/or methods in accordance with embodiments of the present subject matter are now described, by way of example only, and with reference to the accompanying figure(s), in which:
[0007] Fig. 1 illustrates a network environment implementing an integrated business
analytics system, in accordance with an embodiment of the present subject matter.
[0008] Fig. 2(a) illustrates components of the integrated business analytics system, in
accordance with an embodiment of the present subject matter.
[0009] Figs. 2(b)-2(d) illustrate various snapshots depicting integration of business
intelligence with the in-memory analytics, in accordance with an embodiment of the present subject matter.
[0010] Fig. 3 illustrates a method for integrated business intelligence and in-memory
analytics to leverage business intelligence experience, in accordance with an embodiment of the present subject matter.
DETAILED DESCRIPTION
[0011] Enterprises, such as companies, educational organizations, and government agencies
use business intelligence (BI) technologies for strategic and tactical decision making. In many cases the decision-making cycle may span a time period of several weeks, such as decisions relating to improving customer satisfaction. However, competitive pressures may often force enterprises to react faster to rapidly changing business conditions and customer requirements. As a result, there is an increasing need to use BI tools to help, drive and optimize business operations on a daily basis and, in some cases, in real-time.
[0012] In conventional BI tools, enterprise transactional data is collated from a variety of
operational data sources, including structured and unstructured data sources. The collated data is then processed, for example, semantics are extracted from the unstructured data, and the processed data is loaded into a data warehouse as structured data. Users can thereafter run queries on the data warehouse to generate reports from the data warehouse. The process of integrating structured and unstructured data and loading the data into the data warehouse places a significant processing load on the data warehouse. As a result, loading large amounts of data can negatively impact the data warehouse's query processing performance. Therefore, the data warehouse is generally updated periodically, during times when it is expected that the data warehouse will not be in use. Thus, changes in the enterprise transactional data will not be reflected in the data warehouse in real time, and queries made to the data warehouse may be out-of date by several hours. Thus, the conventional BI tools suffer from numerous drawbacks, such as poor flexibility, diminished scope of analysis and slow response times.
[0013] Moreover, conventional BI tools focus more on features, such as data warehousing
and data mining. Such BI tools fail to provide high-end reporting and visualization features. For example, reporting feature of the conventional BI tools may not be comparable to various In-memory analytics tools that are adopted for various applications. Such in-memory analytics tools are known to generate faster, easier, highly interactive and intuitive reports without much involvement of IT work. The in-memory analytics tools store required data in its local memory, typically, a RAM and fetch or query data from the RAM to perform all needed analytical functions at runtime including data retrieval and storage, manipulation, calculation, formatting, etc. Thus, creation and publication of reports can be easily and quickly done using such analytics tools. However, these tools can store only limited amount of data, typically, when a 32 bit operating system is used. Thus, it may not be possible to store huge volume of data due to limited size of the RAM. Therefore, data that is frequently queried by the users is usually stored into the RAM of such analytics tools for high-level analytics and creation of interactive visualizations.
[0014] In accordance with the present subject matter, the systems and methods for
integrated business intelligence and in-memory analytics are described. The BI tools and in-memory analytics tools are integrated in such a manner, so as to provide the advantages of both the tools while eliminating the disadvantages of such tools for leveraging the BI experience.
According to an embodiment of the present subject matter, integration is achieved through data connectivity. Both the BI and in-memory analytics tools are made inter-operable through a storage device that acts as a connecting bridge between the two tools. In one implementation, the storage device is external to the BI and in-memory analytics tools, and is therefore referred to as an external storage device, hereinafter.
[0015] The BI tool is configured to obtain operational data/business data directly from a
plurality of operational data sources including a customer relations management (CRM) system, an Enterprise Resource Planning (ERP) system, document repositories, and the like, in response to a user query or request. Data obtained from such data sources may be in different data formats. The BI tool processes the data gathered from such data sources to generate a business report. The data processing may include converting the data obtained in different formats to a common data format, and executing the user query thereon. Result of the execution is provided in form of the business report.
[0016] The business report thus generated by the BI tools is automatically saved into the
external storage device, from where the business report is picked by the in-memory analytics tool for high-level analytics, regardless of whatever may be the data sources to the BI tool. The in-memory analytics tool then generates interactive visualizations based on the reports generated by the BI tool, and provides analytics reports containing such visualizations to the user. In one implementation, the in-memory analytics tool stores the business report into its local memory and uses the data contained in the business report to create interactive visualizations. The analytics reports thus generated by the in-memory analytics tool aids in better decision making.
[0017] The BI tools and in memory visual analytics tools referred herein may include any
off the shelf available tool, and the external storage device referred herein may include an external network drive.
[0018] According to an embodiment, integration is achieved based on alternating the
configuration settings of the BI tool for diverting the output of the BI tool to the external storage device, altering the configuration settings of the external storage device to accept the output generated from the BI tool, and further altering the configuration settings of the in-memory analytics tool to read the output generated from the BI tool from the external storage device.
[0019] The configuration settings in the BI tool can be modified by implementing a trigger
between the BI tool and the external storage device, for triggering generation of the business report, and storage of the business report into the external storage device. As indicated previously, the business report is generated based on the operational data stored in the data sources. Whenever operational data in the data sources undergoes changes, the trigger is configured to automatically generate a new business report. The newly generated business report is then automatically saved into the external storage device from where the business report is picked by the in-memory analytics tool for high-level analytics.
[0020] The configuration settings of the external storage device are altered based on
updating access permissions assigned to directories in the external storage device. In an implementation, one or more directories can be created in the external storage device and access permissions assigned to such directories can be updated, i.e., new access permissions can be assigned, and/or existing access permissions can be modified to allow the external storage device to accept and store the business reports generated by the BI tool.
[0021] The configuration settings of the in-memory analytics tool are altered based on
configuring path of the external storage device and name of the directories in the external storage device where business reports are stored, into the in-memory analytics tool. Additionally, access permissions in the in-memory analytics tool’s configuration are modified to enable the in-memory analytics tool to read the business reports from the external storage device.
[0022] As stated above, the systems and methods according to the present subject matter
obtain data directly from the data sources, its query response time is thus relatively faster than the conventional BI tools. Moreover, most recent updated data can be retrieved in real-time. Also, the need for maintaining the data warehouse, collating and structuring data within the data warehouse is eliminated, thereby saving cost and resources. Further, reporting feature is improved with the integration of in-memory analytics techniques that enable generation of highly intuitive and interactive reports quickly, without much involvement of IT work.
[0023] The manner in which the business intelligence is integrated with the in-memory
analytics to leverage the business experience shall be explained in greater detail with respect to the Figs. 1-3. While aspects of systems and methods can be implemented in any number of different computing systems environments, and/or configurations, the embodiments are
described in the context of the following exemplary system architecture(s). Furthermore, the present description has been provided with implementations that are specific to certain business functions or certain businesses. It would be appreciated that other implementations are also covered without deviating from the scope of the present subject matter.
[0024] Fig. 1 illustrates a network environment 100 implementing an integrated business
analytics system 102, in accordance with an embodiment of the present subject matter. In one implementation, the network environment 100 can be a company network, including thousands of office personal computers, laptops, various servers, such as blade servers, and other computing devices connected over a network 106.
[0025] The integrated business analytics system 102 is connected to a plurality of user
devices 104-1, 104-2, 104-3,...104-N, collectively referred to as the user devices 104 and individually referred to as a user device 104, through a network 106. The integrated business analytics system 102 may be implemented in a variety of computing systems, such as servers, a desktop personal computer, a notebook or portable computer, a workstation, a mainframe computer, and a laptop. The user devices 104 may include, without limitation, desktop computers, laptops or other portable computing devices, and network computing devices.
[0026] The network 106 may be a wireless network, wired network or a combination
thereof. The network 106 can be implemented as one of the different types of networks, such as intranet, local area network (LAN), wide area network (WAN), the internet, and such. The network 106 may either be a dedicated network or a shared network, which represents an association of the different types of networks that use a variety of protocols, for example, Hypertext Transfer Protocol (HTTP), Transmission Control Protocol/Internet Protocol (TCP/IP), Wireless Application Protocol (WAP), to communicate with each other. Further, the network 106 may include a variety of network devices, including routers, bridges, servers, computing devices, storage devices.
[0027] The integrated business analytics system 102 is further connected to a plurality of
data sources 108-1, 108-2,…108-N, collectively referred to as the data sources 108 and individual referred to as a data source 108, through the network 106. The data sources 108 may include a customer relations management (CRM) system, an Enterprise Resource Planning (ERP) system, document repositories, and the like.
[0028] The integrated business analytics system 102, according to an implementation of
the present subject matter includes a business intelligence (BI) module 110 and an analytics module 112. The BI module 110 is configured to obtain operational data from the plurality of data sources 108, in response to a requested operation, such as a query or report request. Data may be gathered from each data source 108 in a data format native to the particular data source 108. The BI module 110 converts the data obtained from the various data sources 108 to a common data format, for example, the Resource Description Framework (RDF) data model, XML, Entity/Relationship model, or other structured data format, and creates a dataset containing combined data obtained from the data sources 108. The BI module 110 then performs the requested operation on the gathered dataset and the results of the operation may be, for example, provided to users in form of a BI report. Such the BI report is received as an input by the analytics module 112. Upon receiving the BI report, the analytics module 112 creates interactive visualization. The analytics module 112, for example, stores the data contained in the BI report in the local memory, for example, RAM of the integrated business analytics system 102 to create interactive visualizations.
[0029] In one embodiment integrated business analytics system 102, as described above,
can be a single system comprising the BI module 110 and the analytics module 112. In another embodiment, the integrated business analytics system 102 can be a distributed system comprising separate systems for BI and in-memory analytics that are communicatively coupled to each other via an external storage device. Such an embodiment of the integrated business analytics system 102 is described in detail in the forthcoming section.
[0030] Fig. 2 illustrates details of the integrated business analytics system 102, according
to an embodiment of the present subject matter. In said embodiment, the integrated business analytics system 102 comprises two independent systems 200 and 202 for BI and in-memory analytics, that are communicatively coupled to each other through an external storage device 204. In one implementation, the external storage device 204 is a network drive.
[0031] The BI system 200 (hereinafter referred to as system 200) includes one or more
processor(s) 206, a memory 208 coupled to the processor 206, and interface(s) 210, and the in-memory analytics system 202 (hereinafter referred to as system 202) includes one or more processor(s) 222, a memory 226 coupled to the processor 222, and interface(s) 228. Each of the
processors 206 and 222 may be implemented as one or more microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units, state machines, logic circuitries, and/or any devices that manipulate signals based on operational instructions. Among other capabilities, the processors 206 and 222 are configured to fetch and execute computer-readable instructions and data stored in the memory 208 and 226 respectively.
[0032] The interface(s) 210 and 228 may include a variety of software and hardware
interfaces, for example, a web interface, a graphical user interface, allowing the system 200 and 202 to interact with the user devices 104. Further, the interface(s) 210 and 228 may enable the system 200 and 202 to communicate with other computing devices, such as external network device 204, web servers and external data servers (not shown in figure). The interface(s) 210 and 228 can facilitate multiple communications within a wide variety of networks and protocol types, including wired networks, for example LAN, cable, and wireless networks such as WLAN, cellular, or satellite. The interface(s) 210 and 228 may include one or more ports for connecting the system 200 and 202 to a number of other devices to or to another server.
[0033] The memory 208 and 226 may include any computer-readable medium known in
the art including, for example, volatile memory such as static random access memory (SRAM) and dynamic random access memory (DRAM), and/or non-volatile memory, such as read only memory (ROM), erasable programmable ROM, flash memories, hard disks, optical disks, and magnetic tapes. The memory 208 also includes module(s) 212 and data 214, and the memory 226 includes module(s) 230 and data 232.
[0034] The modules 212 and 230 include routines, programs, objects, components, data
structures, etc., which perform particular tasks or implement particular abstract data types. The module(s) 212 further include the BI module 110 and other modules 216, and the module(s) 230 further include the analytics module 112 and other modules 234. The other modules 216 and 234 may include programs or coded instructions that supplement applications and functions on the system 200 and 202 respectively.
[0035] The data 214 and 232, amongst other things, serves as a repository for storing data
processed, received, and generated by one or more of the module(s) 212 and 230 respectively. The data 214 includes BI data 218 and other data 220, and the data 232 includes analytics report
236 and other data 238. The other data 220 and 238 may include data generated as a result of the execution of one or more modules in the other modules 216 and 234 respectively.
[0036] According to the present subject matter, the BI module 110 of the system 200 is
configured to obtain operational data from a plurality of data sources 108 including, but not restricted to, a customer relations management (CRM) system, an Enterprise Resource Planning (ERP) system, document repositories, and the like. For example, a user may query the integrated business analytics system 102 to obtain the required BI report 240 that could be useful for making a business decision. Based on the user query, the BI module 110 fetches the operational data directly from the data sources 108. The data obtained from the data sources 108 may be in different formats. The BI module 110 converts these different formats into a dataset, which is of a common data format. The BI module 110 may store such dataset within the BI data 218. BI module 110 then performs the requested operation on the dataset and the results of the operation may be, for example, provided in form of a BI report. 240 The BI module 200 is configured to save the generated BI report 240 into the external storage device 204.
[0037] The analytics module 112 of the system 202 is configured to obtain the BI report
240 saved in the external storage device 204 as input. Subsequent to obtaining the BI report 240, the analytics module 112 create visualizations, such as charts, graphs and the like, based on the operational data contained in the BI report 240. In one implementation, the analytics module 112 stores the BI report 240 in its local memory 226, such as RAM. The analytics module 112 then generates an analytics report 236 containing such visualizations. The analytics report 236, thus, generated is provided to the user that aids in decision making. Since the BI report 240 is made promptly available to the analytics module 112 through the external storage device 204, the analytics module 112 creates interactive visualizations for the user. Thus, the BI experience of the user is leveraged with the integration of both the systems 200 and 202.
[0038] The manner in which the system 200 is integrated with the system 202 via the
external storage device 204, shall be explained in detail the following description.
[0039] According to an embodiment, the system 200 is integrated with the system 202,
based on altering configurations settings of the system 200 to save the output of the system 200 to the external storage device 204. Further, altering the configuration settings of the external storage device 204 to accept the output from the system 200, and finally altering the
configuration settings of the system 202 to read the output generated from the system 200 from the external storage device 204.
[0040] The configuration settings of the system 200 is altered by implementing a trigger
between the system 200 and the external storage device 204, to automatically trigger generation of the BI report 240 based on operational data obtained from the data sources 108, and to store the BI report 240 into the external storage device 204. Such a trigger is configured to generate a new or updated BI report 240, if the data in the data sources 108 based on which the BI report 240 is prepared undergoes changes, or new data arrives at the data sources 108. The newly generated BI report 240 is then automatically saved into the external storage device 204 from where the BI report 240 can be picked by the system 202 for high-level analytics.
[0041] In order to implement the trigger, the data sources 108 are configured to call
application programming interface (APIs) available in the system 200. Initially, procedures/jobs are created in the data sources 108. The procedures are then called with required parameters to trigger the APIs in the system 200. In one implementation, the procedures created in the data sources 108 can be linked with a data load mechanism that loads data in the data sources 108. The procedure can thereafter be called to trigger the APIs, when the loading in the data sources 108 are over. The trigger, when activated, pulls the operational data from the data sources 108 and generates the BI report 240, which will be saved into the external storage device 204.
[0042] The configuration settings of the external storage device 204 are altered based on
updating access permissions assigned to directories in the external storage device 204. In one implementation, one or more directories can be created to store different types of BI reports 240 in the external storage device 204, and access permissions are assigned to such directories. For example, write and read access permissions can be assigned to the directories for allowing the system 200 to write the BI report 240 into the corresponding directory, or allowing the system 202 to read the BI report 240 from the corresponding directory in the external storage device 204. In one implementation, similar or different access permissions can be assigned to the directories depending upon the type of user or the type of login account.
[0043] Finally, the configuration settings of the system 202 are altered based on
configuring path of the external storage device 204 and name of the directories in the external storage device 204 where the BI reports 240 are placed into the system 202. Further, access
permissions in the system 202 are modified to enable the system 202 to read the BI reports 240 stored in the external storage device 204 for interactive visual analytics.
[0044] In addition to the configuration settings mentioned above, custom codes can be
implemented in each of the system 200, the system 202, and the external storage device 204. Further, connectivity between the system 200 and the external storage device 204, and the system 202 and the external storage device 204 can be established, and security/access permissions can be implemented, when the system 200, the system 202, and the external storage device 204 are placed across different domains within an enterprise.
[0045] The integration of the system 200 with the system 202 via the external storage
device 204 is further explained with reference to an exemplary embodiment provided below.
[0046] In said exemplary embodiment, the integration is explained with reference to the
BI system 200 known as IBM® Cognos® (hereinafter referred to as Cognos® 200), the analytics system 202 known as Tibco® SpotFire® (hereinafter referred to as SpotFire® 202), and the external storage device 204, such as external network drive 204. Although the description hereinafter is explained with reference to the specific tools mentioned above. It is to be understood that the same should not be construed as a limitation. Other conventionally available BI tools and in-memory analytics tools can be integrated using the same methodology with few modifications that will be evident to a person skilled in the art.
[0047] According to said embodiment, a plurality of data sources are connected to the
Cognos® 200. The Cognos® 200 is configured to retrieves the required information from the data sources 108. Further, Cognos® 200 is integrated with the external network drive 204. For integration, the default configuration of the Cognos® 200 is altered. In one implementation, the external network drive 204, and sub-directory is configured into the Cognos® 200. Further, a trigger is implemented in the Cognos® 200 for automatically generating the BI report 240 and for automatically storing the BI report 240 into the external network drive 204. To implement the trigger in the Cognos® 200, batch or shell scripts available in the Cognos® 200 are configured in stored procedures created in the data sources 108. Such stored procedures are called to trigger the Cognos® 200 to generate the BI report 240.
[0048] To configure the external network drive 204, a directory for file system in the
external network drive 204 is created. Thereafter, the Cognos® 200 configuration is started and
'global configuration' is chosen from an 'action' menu. A 'general' tab within the 'global configuration' is then selected and 'Archive location file system root' is altered with path of the directory created in the external network drive 204. Fig. 2(b) depicts the global configuration setting window. As shown in the fig. 2(b), the 'Archive location file system root' is altered to 'file://directory', and the alterations are saved. Thereafter, 'Content manager' within the 'Data access' in the explorer pane is selected, and value for saving the report output to the file system is set to true as shown in the fig. 2(c), and the changes are saved.
[0049] As described in the foregoing description, the directory configured in the external
network drive 204 will act as the root location where the output file(s), such as BI report(s) 240 will be saved. In order to avoid overwriting of the existing files, if any, sub-directories within the root directory is created, where output from the Cognos® 200 is stored. To configure the subdirectory in the Cognos® 200, the 'configuration tab' in the Cognos® 200 Administration' is selected, and 'Dispatchers and Services link' is selected therefrom. Thereafter, 'Define File System Locations' toolbar button is selected as shown in fig. 2(d), and 'new link' is chosen therefrom, and name for the sub-directory is provided to create the sub-directory.
[0050] With the above mentioned configuration settings in the Cognos® 200, the
Cognos® 200 is integrated with the external network drive 204. Thus, the output generated from the Cognos® 200 is stored in the external network drive 204. Next step is to integrate the SpotFire 202 with the external network drive 204.
[0051] For integrating the SpotFire® 202 with the external network drive 204, the
SpotFire® 202 web configuration file 'Web.config' is selected for editing. Such a 'Web.config' file is selected from the SpotFire® 202 installation location, which is generally, 'C:\Program Files\Tibco\Spotfire Web Player\4.x.x\webroot\Web.config'. In the 'Web.config' file, path of the files in the external network drive 204 is defined under the 'AllowedFilePaths' tag.
[0052] In one implementation, SpotFire® 202 can be configured to read only from an
excel file by defining the path of the excel file in the external network drive 204, as shown below.
\\servername\directory\sub-directory\filename.ext
[0053] In another implementation, SpotFire® 202 can be configured to read files from
the parent directory in the external network drive 204 by defining path of the sub-directory in the external network drive 204, as shown below.
\\servername\directory\sub-directory
[0054] In yet another implementation, SpotFire® 202 can be configured to read files
from the root directory in the external network drive 204 by defining path of the directory in the external network drive 204, as shown below.
\\servername\directory
[0055] Once the SpotFire® 202 is configured to operate with the external network drive
204, the file permission on the external drive is set. Depending on location of the data source 108 and the type of user, different file the permissions can be provided to the users. In one implementation, when the application pool identity is configured with the 'network service' user, the network service user is provided with the 'read' access to the file or parent folder, if the data file is located on the web player server. While, if the data file is located on another server, the
users are provided with read access to the file or parent folder. If the application pool identity is configured with a domain account, then the domain account is provided with “read” access to the file or parent folder.
[0056] Fig. 3 illustrates a method 300 for integrated business intelligence and in-memory
analytics to leverage business intelligence experience, in accordance with an embodiment of the present subject matter. The method may be described in the general context of computer executable instructions. Generally, computer executable instructions can include routines, programs, objects, components, data structures, procedures, modules, functions, etc., that perform particular functions or implement particular abstract data types. The method may also be practiced in a distributed computing environment where functions are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, computer executable instructions may be located in both local and remote computer storage media, including memory storage devices.
[0001] The order in which the method is described is not intended to be construed as a
limitation, and any number of the described method blocks can be combined in any order to implement the method, or an alternative method. Additionally, individual blocks may be deleted from the method without departing from the spirit and scope of the subject matter described herein. Furthermore, the method can be implemented in any suitable hardware, software, firmware, or combination thereof.
[0057] At block 302, operational data is obtained from multiple data sources within an
enterprise based on a user query. The data acquired from each data source 108 may be in a data format native to the data source 108. In an implementation, the BI module 110 of the system 200 obtains data directly from a plurality of data sources 108 including, but not restricted to, a customer relations management (CRM) system, an Enterprise Resource Planning (ERP) system, document repositories, and the like, in response to a user query.
[0058] At block 304, a dataset is created based on the operational data obtained from the
data sources. Since the operational data acquired from each data source 108 may be in a data format native to the data source 108, such data is compiled into a dataset containing data in a common data format. The data set thus created, represents the union of data obtained from the data sources 108. The common data format may be, for example, the Resource Description
Framework (RDF) data model, XML, Entity/Relationship model, or other structured data format. In one implementation, the BI module 110 compile the data obtained from the data sources 108 to create a dataset, which may be stored within the BI data 218.
[0059] At block 306, a business intelligence (BI) report is generated based on executing a
user query on the dataset created at the previous block. In one embodiment, the BI module 110 performs the requested business intelligence operation on the dataset and generates the BI report 240.
[0060] At block 308, the BI report 240 generated at the previous block is stored into a
storage device. In one implementation, BI module 110 of the system 200 is configured to divert the BI report 240 to the storage device 204 for storage. Such a storage device may be external to the system 200, and is therefore referred to as external storage device 204. In one example, the external storage device 104 is a network drive. In one implementation, configuration settings of the system 200 is altered based on implementing a trigger between the system 200 and the external storage device 204 to automatically generate the BI report 240 and to automatically store the BI report 240 into a directory in the external storage device 204. Further, the configuration settings of the external storage device 204 are altered based on updating access permissions assigned to the directory in the external storage device 204, to allow storage of the BI reports 240 in the directory. For example, write and read access permissions may be assigned to the directory.
[0061] At block 310, analytics report 236 is generated based on retrieving the BI report 240
from the external storage device 204. The analytics report 236 may contain interactive visualizations that are generated based on the data contained in the BI report 240. In one implementation, an analytics module 112 of the system 202 performs analytics functions in runtime on the readily available data contained in the BI report 240 and creates interactive visualizations. Such visualizations are packed into the analytics report 236 and provided to the user. Such an interactive analytics report aids in making business decisions. In one implementation, configuration settings of the system 202 are altered based on configuring path of the external storage device 204 and name of the directory containing the BI report 240 in the external storage device 204. Further, access permissions in the system 202 are configured such
that the system 202 is configured to retrieve the BI report 240 from the directory in the external storage device 204.
[0062] Although embodiments for integrated business intelligence and in-memory analytics
have been described in language specific to structural features and/or methods, it is to be understood that the invention is not necessarily limited to the specific features or methods described. Rather, the specific features and methods are disclosed as exemplary implementations for systems and methods for integrated business intelligence and in-memory analytics.
I/We claim:
1. An integrated business analytics system (102) comprising:
an external storage device (204) coupled to a business intelligence (BI) system (200) and an in-memory analytics system (202), wherein the external storage device (204) is configured to:
receive a BI report (240) generated by the BI system (200), and store the BI report (240) for retrieval by the in-memory analytics system (202) for generation of interactive visualizations based on the BI report (240).
2. The integrated business analytics system (102) as claimed in claim 1, wherein the integrated business analytics system (102) further comprises the BI system (200), wherein the BI system (200) comprises a BI module (110) configured to obtain operational data from one or more data sources (108) within an enterprise, based on a user query, to generate the BI report (240).
3. The integrated business analytics system (102) as claimed in claim 2, wherein the one or more data sources (108) include a customer relations management (CRM) system, an Enterprise Resource Planning (ERP) system, and a document repository.
4. The integrated business analytics system (102) as claimed in claim 1, wherein the integrated business analytics system (102) further comprises the in-memory analytics system (202), wherein the in-memory analytics system (202) comprises an analytics module (112) configured to retrieve the BI report (240) from the external storage device (204) into a local memory (226) of the in-memory analytics system (202) to generate an analytics report (236) containing the interactive visualizations.
5. A method for integrated business intelligence (BI) and in-memory analytics comprising:
obtaining, by a BI system (200), operational data from one or more data sources (108) within an enterprise based on a user query;
compiling, by the BI system (220), the operational data to generate a BI report (240), wherein the BI report (240) is stored into an external storage device (204); and
generating, by an in-memory analytics system (202), analytics report (236) based on retrieving the BI report (240) from the external storage device (204), wherein the analytics report (236) comprises interactive visualizations based on data contained in the BI report (240).
6. The method as claimed in claim 5, wherein the compiling comprises converting format of the operational data obtained from the one or more data sources (108) into a common data format.
7. The method as claimed in claim 5, wherein the compiling comprises creating a dataset representative of combined operational data obtained from the one or more data sources (108), and executing one or more queries on the dataset to generate the BI report (240).
8. The method as claimed in claim 5, wherein the compiling comprises altering configuration settings of the BI system (200) for storing the BI report (240) into the external storage device (204).
9. The method as claimed in claim 8, wherein the configuration settings of the BI system (200) is altered based on implementing a trigger between the BI system (200) and the external storage device (204).
10. The method as claimed in claim 5, wherein the compiling further comprises altering configuration settings of the external storage device (204) to allow storage of the BI report (240) into the external storage device (204).
11. The method as claimed in claim 10, wherein the configuration settings of the external storage device (204) is altered based on updating access permissions assigned to a directory in the external storage device (204) to allow storage of the BI report (240) in the directory.
12. The method as claimed in claim 5, wherein the generating comprises altering the configuration settings of the in-memory analytics system (202) to retrieve the BI report (240) from the external storage device (204).
13. The method as claimed in claim 12, wherein the configuration settings of the external storage device (204) is altered based on configuring path of the external storage device (204) and name of a directory containing the BI report (240) in the external storage device (204).
14. The method as claimed in claim 12, wherein the configuration settings of the external storage device (204) is altered based on updating access permissions in the in-memory analytics system (202) to read and retrieve the BI report (240) stored in the external storage device (204).
15. A computer-readable medium having embodied thereon a computer program for executing a method comprising:
obtaining operational data from one or more data sources within an enterprise based on a user query;
compiling the operational data to generate a business intelligence (BI) report, wherein the BI report is stored into an external storage device; and
generating analytics report based on retrieving the BI report from the external storage device, wherein the analytics report comprises interactive visualizations based on data contained in the BI report.