WO2006113098A1 - Automatically moving multidimensional data between live datacubes of enterprise software systems - Google Patents

Automatically moving multidimensional data between live datacubes of enterprise software systems Download PDF

Info

Publication number
WO2006113098A1
WO2006113098A1 PCT/US2006/011993 US2006011993W WO2006113098A1 WO 2006113098 A1 WO2006113098 A1 WO 2006113098A1 US 2006011993 W US2006011993 W US 2006011993W WO 2006113098 A1 WO2006113098 A1 WO 2006113098A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
source
target
link
multidimensional data
Prior art date
Application number
PCT/US2006/011993
Other languages
French (fr)
Inventor
Leonard Roy Oppenheimer
John Martin Pitstick
Finuala Tarnoff
David S. Bowen
Original Assignee
Cognos Incorporated
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Cognos Incorporated filed Critical Cognos Incorporated
Priority to CA002603974A priority Critical patent/CA2603974A1/en
Priority to CN200680011830.8A priority patent/CN101208692B/en
Priority to AU2006237442A priority patent/AU2006237442A1/en
Priority to EP06740237A priority patent/EP1869587A1/en
Publication of WO2006113098A1 publication Critical patent/WO2006113098A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/254Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses

Definitions

  • the invention relates to software systems and, in particular, enterprise software systems.
  • Enterprise software systems are typically sophisticated, large-scale systems that support many, e.g., hundreds or thousands, of concurrent users.
  • Examples of enterprise software systems include financial planning systems, budget planning systems, order management systems, inventory management systems, sales force management systems, business intelligent tools, enterprise reporting tools, project and resource management systems and other enterprise software systems.
  • an enterprise may maintain multiple enterprise software systems.
  • the enterprise software systems typically create and maintain separate multidimensional databases to collect and manage information to support the business processes.
  • Each of the enterprise software systems is "current" from the perspective of their respective users.
  • An enterprise often desires to share data between the different enterprise software systems. As one example, the user may wish to move multi-dimensional data from a financial planning system to a reporting system.
  • One conventional technique for moving the multidimensional data is to export the multidimensional data from one enterprise software system to the second enterprise software system. During this process, it is often required to "freeze” or "lock down” the first entire enterprise software system in order to export consistent data. As one example, some software systems must be brought offline before any export can be initiated to prevent any updates or data changes during the export process. During this process, users of the first enterprise software system are prevented from accessing and utilizing the software system. [0005] Moreover, the multidimensional data often must be exported to an offline "staging area" of the second enterprise planning system. The staging area acts a temporary holding area while the multidimensional data can be processed and merged into the second enterprise planning system. As a result, conventional techniques for sharing data between enterprise software systems are often cumbersome and time-consuming.
  • the invention is directed to techniques for moving multidimensional data between software systems, such as enterprise software systems.
  • the techniques provide mechanisms for defining inter- system "links" for automatically moving data among different databases associated with the enterprise software systems.
  • the term "link” generally refers to a software element (e.g., control information) that maps multidimensional data from one data source to another data source.
  • a link may map multidimensional data from one or more source enterprise software systems to one or more destination software systems.
  • a link may map multidimensional data between multiple databases of a single enterprise software application.
  • each link provides a link definition that controls any data transformations to be applied when moving the multidimensional data. In this manner, the links control the mapping and synchronization of the multidimensional data, including control of past and future time versioning and dimensionality of the shared data.
  • the links may be activated manually or embedded within macros to run at specific times or in response to certain events. Macros can be chained together, allowing links to be defined for moving data between multiple databases in a sequence.
  • links Multiple levels of granularity are supported by different forms of links.
  • administrative links may be defined to move larger data sets associated with multiple users.
  • user-controlled links may be defined on a per-user basis to move user-specific data.
  • a system comprises a first database storing multidimensional data for a first software application, and a second database storing multidimensional data for a second software application.
  • the system further includes an interface by which an administrator defines a link that specifies a source area of the first database and a target area of the second database.
  • a link control module automatically moves multidimensional data from the source area to the target area in accordance with the link.
  • a method comprises defining a link from a first software application to a second software application, wherein the link specifies a source area of a multidimensional database associated with the first software application and a target area of a multidimensional database associated with the second software application. The method further comprises automatically moving multidimensional data from the source area to the target area in accordance with the link.
  • a computer-readable medium comprises instructions to cause a processor to present a user interface to receive input specifying a first software application, a second software application, a source data cube associated with the first software application, a source dimension of the source data cube, at least one items along the source dimension, a target data cube associated with the second software application, a target dimension of the target data cube, and at least one target item of the target dimension.
  • the instructions further cause the processor to automatically move multidimensional data associated with the source items of the source data cube to the target items of the target data cube.
  • the invention may provide one or more advantages.
  • the techniques may be used to automatically move multidimensional data between enterprise software systems while the software systems remain active. As a result, users of the respective enterprise software systems may continue to interact with the systems.
  • the techniques may allow an enterprise to utilize an efficient set of enterprise databases that are architected with the appropriate size and dimensionality for the associated business processes. As a result, the enterprise need not utilize a single, monolithic database that stores all of the multidimensional data for the enterprise.
  • FIG. 1 is a block diagram illustrating an example computing environment in which users interact with a plurality of enterprise software systems.
  • FIG. 2 is a block diagram illustrating one example embodiment of an enterprise software system in further detail.
  • FIG. 3 is a block diagram illustrating an example multidimensional data transfer in further detail.
  • FIG. 4 is a flowchart illustrating exemplary operation of an enterprise software system.
  • FIG. 5 is a block diagram illustrating another example of a multidimensional data transfer.
  • FIGS. 6-15 are exemplary screen illustrations of a user interface for defining, maintaining and monitoring enterprise software links described herein.
  • FIG. 1 is a block diagram illustrating an example computing environment 10 in which a plurality of users 12A-12N (collectively, “users 12") interact with a plurality of enterprise systems 19A and 19B (collectively “enterprise systems 19").
  • enterprise systems 19 are communicatively coupled to a number of computing devices 16A-16E (collectively, “computing devices 16") by a network 18.
  • Enterprise users 12 may use a variety of computing devices 16 to interact with enterprise software systems 19 via network 18.
  • an enterprise user 12 may interact with enterprise software systems 19 using a laptop computer, desktop computer, or the like, running a web browser, such as Internet ExplorerTM from Microsoft Corporation of Redmond, Washington.
  • a personal digital assistant (PDA) 5 such as a PalmTM organizer from Palm Inc. of Santa Clara, California, a web-enabled cellular phone, or similar device.
  • Network 18 represents any communication network, such as a packet-based digital network like the Internet.
  • computing environment 10 can readily scale to suit large enterprises.
  • Enterprise users 12 may directly access enterprise software systems 19 via a local area network, or may remotely access enterprise software systems 19 via a virtual private network, remote dial-up, or similar remote access communication mechanism.
  • enterprise software systems 19 may be any type of enterprise software system that utilizes multidimensional data.
  • the techniques described herein may be readily applied to order management systems, inventory management systems, sales force management systems, business intelligence tools, enterprise reporting tools, project and resource management systems and other enterprise software systems.
  • enterprise software system 19A represents a large-scale, web-based enterprise planning system.
  • Enterprise software system 19B may also represent an enterprise planning system for planning other business processes.
  • enterprise software system 19B may be any other type of enterprise software system.
  • enterprise software system 19A enables and automates the reconciliation of top-down targets with detailed bottom-up forecasts for an enterprise.
  • Enterprise software system 19A implements and manages an enterprise planning process, which generally consists of three functions: (1) modeling, (2) contribution and (3) reconciliation.
  • analysts define organizational targets, and build planning models for the enterprise.
  • the analysts may include, for example, financial analysts, such as the chief financial officer, senior financial analysts or product and sales analysts. More specifically, the analysts develop a model having a number of hierarchically arranged nodes representing various cost centers within the organization, such as business units or departments.
  • the analysts then specify corporate target data for each node of the organizational hierarchy.
  • Corporate target data may include financial data, revenue data, order data, inventory data, and the like, depending on the particular enterprise planning activity being carried out by the enterprise.
  • Each enterprise user 12 may be designated as a contributor that provides planning data to enterprise software system 19 A, a reviewer that accepts or rejects contributions from the contributors, or both.
  • the contributors and reviewers may be authorized users within the enterprise or within other entities coupled to network 18, such as suppliers or customers.
  • enterprise software system 19A automates the reconciliation of the forecast data with the corporate target data provided by the analysts.
  • enterprise software system 19A operates in accordance with a defined model, i.e., the enterprise planning model created by the analysts, to provide a hierarchical planning process having multiple reconciliation levels.
  • enterprise software system 19A automatically aggregates the contribution data across the enterprise in real-time, and provides access to the aggregated data to enterprise users 12 designated as reviewers associated with higher levels of the enterprise.
  • enterprise software system 19A identifies all higher levels of the organizational model affected by the newly received contribution data, and calculates new aggregate totals at each level in real-time. [0031] Consequently, the reviewers view aggregated data across the enterprise in real-time during the enterprise planning session.
  • enterprise software system 19A ensures that the reviewers, as defined by the nodes of the enterprise model, reconcile the target data with the forecast data.
  • Each of the reviewers may, for example, reject or accept the contribution data in view of corporate targets provided by the analysts. This process continues until the contribution data is ultimately approved by the highest level of the organizational hierarchy, thereby ensuring that the contribution data from the contributors reconciles with corporate targets provided by the analysts.
  • enterprise software system 19A may provide more accurate enterprise planning than with conventional techniques.
  • enterprise software system 19A may improve the accuracy and predictability of enterprise planning by enabling organizations to reconcile corporate models and organizational targets with detailed forecasts.
  • the techniques may provide a platform that delivers collaborative, real-time planning capabilities, without requiring offline consolidation and aggregation of forecasts. Because enterprise software system 19A can aggregate contribution data in real-time, all users 12 can be presented with an accurate, up-to-date view of the numbers. Further, the architecture of enterprise software system 19A can readily scale to thousands of users, and may be designed around best planning practices.
  • the techniques enabling high participation by enterprise users 12, i.e., the contributors and reviewers, allowing accurate planning cycles to be reduced.
  • Enterprise software system 19A may utilize a "cut-down" process by which the multidimensional data store is "sliced" for each user 12 in accordance with the defined enterprise model. During this process, enterprise software system 19A identifies areas of the defined model to which users 12 are assigned, either as contributors or reviewers, and “slices" the data store based on the assignments. When a given user 12 logs in and proceeds with an enterprise planning activity, enterprise software system 19A communicates the respective data slice to the respective computing device 16 for display to the user via the extended spreadsheet application. In this fashion, enterprise software system 19A need not communicate the entire model to each of users 12, thereby reducing communication time as well as resource requirements. Instead, each user 12 receives only relevant information.
  • enterprise software systems 19 provides interfaces by which administrator 15 defines "links" for automatically moving multidimensional data 17 between the enterprise software systems.
  • link generally refers to software element that maps data from one or more source enterprise software systems to one or more destination software systems.
  • administrator 15 may define links for moving multidimensional data 17 from enterprise software system 19A to enterprise software system 19B.
  • administrator 15 may define links for moving multidimensional data 17 from enterprise software system 19B to enterprise software system 19 A.
  • administrator 15 may configure each link to specify one or more data transformations to be automatically applied when moving multidimensional data 17. In this manner, administrator 15 may define the links to control the mapping and synchronization of multidimensional data 17 between enterprise software systems 19, including control of past and future time versioning and dimensionality as the data is stored in each of the enterprise software systems.
  • the links may be activated manually or automatically.
  • administrator 15 may interact with enterprise software systems 19 to define macros for automatically invoking the links at specific times or in response to certain events.
  • administrator 15 may chain together the macros, thereby defining an automated sequence of links for moving data between multiple databases.
  • enterprise software systems 19 allow administrator 15 to define the links with various levels of granularity. For example, administrator 15 may define a set of "administrative links" for moving larger data sets associated with multiple users 12. In addition, administrator 15 may define "user links" on a per-user basis to move user-specific multidimensional data. Individual users 12 may invoke the user links to initiate movement of multidimensional data 17 that is specific to a slice of the enterprise model to which the user has access. Enterprise software system 19A may, for example, present a user interface by which any of users 12 can initiate automated movement and transformation of multidimensional data 17 related to their data slice. [0038] FIG. 2 is a block diagram illustrating one embodiment of enterprise software system 19A in further detail. Again, for purposes of illustration, enterprise software system 19A is described in reference to an enterprise planning system, such as an enterprise financial or budget planning system. In the illustrated example, enterprise planning system 14 includes web servers 20, application servers 26 and database servers 40.
  • web servers 20 provide an interface for communicating with users 12 via network 18.
  • Web servers 20 execute web server software, such as Internet Information ServerTM from Microsoft Corporation, of Redmond, Washington.
  • web servers 20 provide an environment for interacting with contributors, analysts, and reviewers according to software modules 21, which include link user interface 22, analysis module 30, contribution module 32, and report generator 34.
  • Software modules 21 typically take the form of instructions stored on computer-readable media for execution by one or more processors.
  • Software modules 21 may comprise Visual Basic modules, Java scripts, Java Applets, Active Server Pages, web pages written in hypertext markup language (HTML) or dynamic HTML, Active X objects, documents conforming to the extensible markup language (XML) or other data description language, and other suitable modules.
  • Web servers 20 serve up web pages defined by software modules 21, and communicate the web pages to computing devices of enterprise users 12.
  • the web pages may include static media, such as text and graphic imagery, as well as conventional input media such as text entry boxes, radio buttons, drop-down menus, grids, spreadsheets and the like, for receiving information from enterprise users 12.
  • Enterprise data may be stored in a number of different forms including one or more data storage files, or one or more database management systems (DBMS) executing on one or more database servers.
  • DBMS database management systems
  • enterprise data 42 could be combined into a single database or other data storage structure.
  • Enterprise data 42 could, for example, be implemented as a single relational database, such as SQL Server from Microsoft Corporation.
  • User data 42 A reflects links to information for each of users 12, including the name, email address, and other contact information for the user.
  • Model data 42B stores the enterprise planning models defined by analysts.
  • model database 42B stores information that defines the reconciliation process developed by the analysts, including the number of reconciliation levels, the various "nodes" in the hierarchy, and a contributor associated with each node.
  • Planning data 42C stores the actual contribution data (i.e., "enterprise data") for each of the nodes for one or more planning sessions.
  • Link data 42C stores data that defines links for automatically moving portions of multidimensional planning data 42C from enterprise software system 19A to enterprise software system 19B.
  • link data 42D identifies and maps portions of planning data 42C to one or more multidimensional databases within enterprise software system 19B.
  • link user interface 22 presents an interface with which administrator 15 interacts to define the links.
  • administrator 15 interacts with link user interface 22 to specify a name and description for each link.
  • administrator 15 may configure the link to define a data mapping by selecting source and target enterprise software applications, source and target multidimensional data cubes, and particular source and target dimensions.
  • administrator 15 may specify a mapping between individual items of the source and target dimensions, thereby controlling mapping and aggregation of the multidimensional data.
  • administrator 15 may interact with link user interface 22 to view status and execution information for each of the links.
  • Analysis module 30 includes one or more software modules for creating enterprise planning models, such as financial models for enterprise 4, to control the entire planning process.
  • Contribution module 32 includes software modules for presenting a contribution interface for capturing contribution data from the contributors.
  • Report generator 34 includes analytical software modules that generate enterprise planning reports based on the contribution data received from the contributors and stored within planning data 42C. In particular, the analytical software modules allow users 12 to formulate complex queries for generating reports and performing other data analysis functions on the current data of the enterprise model. These software modules may be web-based modules having a browser interface, or may be stand-alone executable programs.
  • Business logic modules 46 execute within the operating environment provided by application severs 26 and provide functionality for accessing and processing the data stored within databases 42 in response to software modules 21. In particular, business logic modules 46 comprise software routines for implementing the enterprise planning functions, and are invoked by software modules 21.
  • Link control module 47 controls exportation and movement of portions of planning data 42C to one or more multidimensional databases within enterprise software system 19B in accordance with link data 42D.
  • link control module 47 may invoke one or more administrative jobs for automatically moving portions of planning data 42C in accordance with the link definitions maintained by link data 42D.
  • link control module 47 may invoke export control module 45, which controls the export of consistent data from planning data 42C based on the source cubes and dimensions specified by the links. Further details with respect to export control module 45 and the exportation of a consistent data set from planning data 42C are described in U.S. Patent Application No.
  • FIG. 3 is a block diagram illustrating an example multidimensional data transfer in further detail.
  • FIG. 3 illustrates transfer of multidimensional data 17 from enterprise software system 19A to enterprise software system 19B in response to activation of an administrative link.
  • planning data 42C includes a staging zone 50 and a "live zone" 52.
  • live zone 52 stores active planning data that is "current" from the perspective of users 12 of enterprise software system 19A.
  • staging zone 50 may be used as a temporary holding area while multidimensional data can be processed and merged into enterprise software system 19A.
  • enterprise software system 19B includes a database 60 having a staging zone 54 and a live zone 56.
  • FIG. 4 is a flowchart that describes exemplary operation of enterprise software system 19A with respect to the example of FIG. 3 in further detail. Initially, administrator 15 interacts with link user interface 22 to define an administrative link (70).
  • administrator 15 interacts with link user interface 22 to specify a name and description for each link.
  • administrator 15 configures the link to define a data mapping from planning data 42C to database 60 as well as any transformations and aggregation to be applied to multidimensional data 17 during the move.
  • link control module 47 invokes the link either in automated fashion in response to an internal or external system event or specified time period or in response to a manual request from administrator 15 (72).
  • link control module 47 accesses link data 42D to retrieve the link definition supplied by administrator 15.
  • Link control module 47 then directs export control module 45 to export a consistent set of planning data in accordance with the defined source of the link, e.g., the data cube, dimension and items of planning data 42C specified by the link definition (74).
  • link control module 47 applies any data transformations 62 to multidimensional data 17 in accordance with the link definition (76). For example, link control module 47 may compute aggregate totals from source items of planning data 42C. Link control module 47 writes the transformed multidimensional data to import queue 64 (78) for direct storage in live zone 56 in accordance with the dimensionality of database 60 (80). In this manner, enterprise software system 19B need not perform data manipulation or otherwise transform multidimensional data 17.
  • FIG. 5 is a block diagram illustrating another example of a multidimensional data transfer.
  • FIG. 5 illustrates transfer of multidimensional data 17 from enterprise software system 19A to enterprise software system 19B in response to activation of a user link.
  • administrator 15 interacts with link user interface 22 to define a user-controlled link.
  • administrator 15 defines a user link that maps multidimensional data from live zone 52 of enterprise software system 19A to live zone 56 of enterprise software system 19B.
  • administrator 15 defines the link as a "user link,” thereby allowing users, such as user 12 A, to manually activate the link for their respective portion of planning data 42C.
  • computing device 16A accesses enterprise software system 19A via computing device 16A.
  • computing device is illustrated to include a web browser 90 or other user interface layer software.
  • computing device 16A includes application layer 92 that represent business layer software for carrying out the planning process.
  • application layer 92 retrieves personal planning data 96 for the user, i.e., the "slice" of the planning data 42C associated with the user.
  • Application layer 92 downloads and stores the requested slice as user planning data 94.
  • application layer 92 downloads the user link from link data 42D for which user 12A is authorized.
  • user 12A manually invokes the user link, thereby directing application layer 92 to retrieve additional user-specific multidimensional data 98 from live zone 56 of enterprise software system 19B. Often, user 12A need not even know of the source database from which multidimensional data 98 was retrieved as administrator 15 defined and configured the user link.
  • FIGS. 6-15 are exemplary screen illustrations presented by link user interface 22 for defining, maintaining and monitoring enterprise software links described herein.
  • FIG. 6 is a screen illustration of an example user interface 100 listing administrator links 102, 104.
  • user interface 100 includes a display region 101 that lists a link name, description, edit status, last run status, an execution start time and an execution end time for each of links 102, 104.
  • user interface 100 includes display region 105 that lists mapping information for a selected one of the links listed within display region 101.
  • display region 105 presents mapping information for link 102, which is selected within display region 101.
  • display region 105 lists a description of the elements associated with link 102, a source multidimensional cube, a target multidimensional cube and an edit status for the link.
  • FIG. 7 is a screen illustration of an example user interface 110 with which administrator 15 interacts to create a new administrative link.
  • user interface includes an input area 111 for receiving a description of link being created.
  • input areas 112, 113 allow administrator 15 to select a source enterprise software application and a target enterprise software application, respectively.
  • User interface 110 further includes input areas 114, 115 for selection a source data cube from the source software application and a target data cube for the target enterprise software application. For the selected cubes, input areas 116, 117 allow administrator 15 to map particular dimensions.
  • map button 118 link user interface 22 presents user interface 120 (FIG. 8) that allows administrator 15 to map individual items from a source dimension to one or more items along a target dimension. In this example, administrator 15 maps items along a "4 months" source dimension to items along a "months" dimension of the target multidimensional cube.
  • User interface 120 includes substring buttons 121, 122 that allow administrator 15 to perform link "cleansing" via substring.
  • substring buttons 121, 122 allow administrator 15 to define string-based transformations for individual items.
  • FIG. 9, for example, illustrates a user interface 130 by which administrator 15 defines substrings within items for the target "months" dimension.
  • administrator 15 defines the substring to eliminate the last three characters from each of the items.
  • the source items and the target items have matching string names, as illustrated in user interface 140 of FIG. 10.
  • This example illustrates one of several types of mapping and cleansing capabilities that allow a user to match and map data.
  • link user interface 22 permits mapping as well as matching.
  • FIG. 11 is a screen illustration of an example user interface 150 in which administrator 15 has elected to manually map individual items between a source dimension and a target dimension.
  • user interface 150 includes a display area 151 that lists source items along the source dimension, a display area 152 that lists target items along the target dimension, and a mapping area 153 that lists mapping information for the items.
  • administrator 15 has mapped source item "Underwriting Margin %" to the target item "Pension %.”
  • administrator 15 has mapped "Total Premium” source item to both "Utilities” and “Other” target items.
  • amounts for the "Total Premium” dimensional item of the source data cube will be stored to both the "Utilities” and "Other” target dimensional items of the target data cube.
  • administrator 15 may define a 1-to-l mapping or even an N-to-1 mapping from target to source items.
  • FIG. 12 is a screen illustration of an example user interface 160 in which administrator 15 has defined a manual mapping of source items "Case 1," “Case 2" and “Case 3" to target item "Al.” In this manner, administrator 15 may define an N-to-1 data aggregation to be carried out when the link is invoked. In addition, administrator 15 has mapped source item "Case 4" to target item "Bl.”
  • FIG. 13 is a screen illustration of an example user interface 170 in which three dimensions 172 have been mapped between the source and target multidimensional data cubes. User interface 170 also indicates that source dimension 173 and target dimension 174 have not been mapped. [0067] FIG.
  • FIG. 15 is a screen illustration of an example user interface 180 with which administrator 15 interacts to handle unmapped source dimensions.
  • user interface 180 includes a display area 181 that lists available items for the unmapped dimension, and a display area 182 that lists items of the dimension to be included and available for aggregation and data movement.
  • administrator 15 has enabled selection box 183, thereby specifying that all future items added to the source dimension will also be included.
  • FIG. 15 is a screen illustration of an example user interface 190 with which administrator 15 interacts to handle unmapped target dimensions. Presenting unmapped target dimensions ensures that administrator 14 will apply business decision-making to decide whether to only some or all items on the unmapped target dimensions will receive the data values computed by the link.

Abstract

Techniques are described for sharing multidimensional data between software systems, such as enterprise software systems. Specifically, the techniques provide mechanisms for defining inter-application 'links' for automatically moving data among different databases associated with the enterprise software systems. For example, a system may include a first database storing multidimensional data for a first software application, and a second database storing multidimensional data for a second software application. The system further includes an interface by which an administrator defines a link that specifies a source area of the first database and a target area of the second database. A link control module automatically moves multidimensional data from the source area to the target area in accordance with the link. The link control module may automatically move the multidimensional data directly between live portions of the respective databases.

Description

AUTOMATICALLY MOVING MULTIDIMENSIONAL DATA BETWEEN LIVE DATACUBES OF ENTERPRISE SOFTWARE SYSTEMS
TECHNICAL FIELD
[0001] The invention relates to software systems and, in particular, enterprise software systems.
BACKGROUND
[0002] Enterprise software systems are typically sophisticated, large-scale systems that support many, e.g., hundreds or thousands, of concurrent users. Examples of enterprise software systems include financial planning systems, budget planning systems, order management systems, inventory management systems, sales force management systems, business intelligent tools, enterprise reporting tools, project and resource management systems and other enterprise software systems. [0003] In many situations, an enterprise may maintain multiple enterprise software systems. The enterprise software systems typically create and maintain separate multidimensional databases to collect and manage information to support the business processes. Each of the enterprise software systems is "current" from the perspective of their respective users. An enterprise often desires to share data between the different enterprise software systems. As one example, the user may wish to move multi-dimensional data from a financial planning system to a reporting system.
[0004] One conventional technique for moving the multidimensional data is to export the multidimensional data from one enterprise software system to the second enterprise software system. During this process, it is often required to "freeze" or "lock down" the first entire enterprise software system in order to export consistent data. As one example, some software systems must be brought offline before any export can be initiated to prevent any updates or data changes during the export process. During this process, users of the first enterprise software system are prevented from accessing and utilizing the software system. [0005] Moreover, the multidimensional data often must be exported to an offline "staging area" of the second enterprise planning system. The staging area acts a temporary holding area while the multidimensional data can be processed and merged into the second enterprise planning system. As a result, conventional techniques for sharing data between enterprise software systems are often cumbersome and time-consuming.
SUMMARY
[0006] In general, the invention is directed to techniques for moving multidimensional data between software systems, such as enterprise software systems. Specifically, the techniques provide mechanisms for defining inter- system "links" for automatically moving data among different databases associated with the enterprise software systems.
[0007] As used herein, the term "link" generally refers to a software element (e.g., control information) that maps multidimensional data from one data source to another data source. For example, a link may map multidimensional data from one or more source enterprise software systems to one or more destination software systems. As another example, a link may map multidimensional data between multiple databases of a single enterprise software application. In addition to specifying the source and destination databases, each link provides a link definition that controls any data transformations to be applied when moving the multidimensional data. In this manner, the links control the mapping and synchronization of the multidimensional data, including control of past and future time versioning and dimensionality of the shared data.
[0008] In general, the links may be activated manually or embedded within macros to run at specific times or in response to certain events. Macros can be chained together, allowing links to be defined for moving data between multiple databases in a sequence.
[0009] Multiple levels of granularity are supported by different forms of links. For example, administrative links may be defined to move larger data sets associated with multiple users. In addition, user-controlled links may be defined on a per-user basis to move user-specific data.
[0010] In one embodiment, a system comprises a first database storing multidimensional data for a first software application, and a second database storing multidimensional data for a second software application. The system further includes an interface by which an administrator defines a link that specifies a source area of the first database and a target area of the second database. A link control module automatically moves multidimensional data from the source area to the target area in accordance with the link.
[0011] In another embodiment, a method comprises defining a link from a first software application to a second software application, wherein the link specifies a source area of a multidimensional database associated with the first software application and a target area of a multidimensional database associated with the second software application. The method further comprises automatically moving multidimensional data from the source area to the target area in accordance with the link.
[0012] In another embodiment, a computer-readable medium comprises instructions to cause a processor to present a user interface to receive input specifying a first software application, a second software application, a source data cube associated with the first software application, a source dimension of the source data cube, at least one items along the source dimension, a target data cube associated with the second software application, a target dimension of the target data cube, and at least one target item of the target dimension. The instructions further cause the processor to automatically move multidimensional data associated with the source items of the source data cube to the target items of the target data cube.
[0013] The invention may provide one or more advantages. For example, in some embodiment, the techniques may be used to automatically move multidimensional data between enterprise software systems while the software systems remain active. As a result, users of the respective enterprise software systems may continue to interact with the systems.
[0014] In addition, the techniques may allow an enterprise to utilize an efficient set of enterprise databases that are architected with the appropriate size and dimensionality for the associated business processes. As a result, the enterprise need not utilize a single, monolithic database that stores all of the multidimensional data for the enterprise. [0015] The details of one or more embodiments of the invention are set forth in the accompanying drawings and the description below. Other features, objects, and advantages of the invention will be apparent from the description and drawings, and from the claims.
BRIEF DESCRIPTION OF DRAWINGS
[0016] FIG. 1 is a block diagram illustrating an example computing environment in which users interact with a plurality of enterprise software systems.
[0017] FIG. 2 is a block diagram illustrating one example embodiment of an enterprise software system in further detail.
[0018] FIG. 3 is a block diagram illustrating an example multidimensional data transfer in further detail.
[0019] FIG. 4 is a flowchart illustrating exemplary operation of an enterprise software system.
[0020] FIG. 5 is a block diagram illustrating another example of a multidimensional data transfer.
[0021] FIGS. 6-15 are exemplary screen illustrations of a user interface for defining, maintaining and monitoring enterprise software links described herein.
DETAILED DESCRIPTION
[0022] FIG. 1 is a block diagram illustrating an example computing environment 10 in which a plurality of users 12A-12N (collectively, "users 12") interact with a plurality of enterprise systems 19A and 19B (collectively "enterprise systems 19"). In the system shown in FIG. 1, enterprise systems 19 are communicatively coupled to a number of computing devices 16A-16E (collectively, "computing devices 16") by a network 18.
[0023] Enterprise users 12 may use a variety of computing devices 16 to interact with enterprise software systems 19 via network 18. For example, an enterprise user 12 may interact with enterprise software systems 19 using a laptop computer, desktop computer, or the like, running a web browser, such as Internet Explorer™ from Microsoft Corporation of Redmond, Washington. Alternatively, an enterprise user may use a personal digital assistant (PDA)5 such as a Palm™ organizer from Palm Inc. of Santa Clara, California, a web-enabled cellular phone, or similar device.
[0024] Network 18 represents any communication network, such as a packet-based digital network like the Internet. In this manner, computing environment 10 can readily scale to suit large enterprises. Enterprise users 12 may directly access enterprise software systems 19 via a local area network, or may remotely access enterprise software systems 19 via a virtual private network, remote dial-up, or similar remote access communication mechanism.
[0025] In general, enterprise software systems 19 may be any type of enterprise software system that utilizes multidimensional data. For example, the techniques described herein may be readily applied to order management systems, inventory management systems, sales force management systems, business intelligence tools, enterprise reporting tools, project and resource management systems and other enterprise software systems.
[0026] For exemplary purposes, the invention is described in reference to an enterprise planning system, such as an enterprise financial or budget planning system. In particular, it is assumed that enterprise software system 19A represents a large-scale, web-based enterprise planning system. Enterprise software system 19B may also represent an enterprise planning system for planning other business processes. Alternatively, enterprise software system 19B may be any other type of enterprise software system.
[0027] In this example, enterprise software system 19A enables and automates the reconciliation of top-down targets with detailed bottom-up forecasts for an enterprise. Enterprise software system 19A implements and manages an enterprise planning process, which generally consists of three functions: (1) modeling, (2) contribution and (3) reconciliation.
[0028] Initially, high-level enterprise managers or executives, referred to as analysts, define organizational targets, and build planning models for the enterprise. The analysts may include, for example, financial analysts, such as the chief financial officer, senior financial analysts or product and sales analysts. More specifically, the analysts develop a model having a number of hierarchically arranged nodes representing various cost centers within the organization, such as business units or departments. The analysts then specify corporate target data for each node of the organizational hierarchy. Corporate target data may include financial data, revenue data, order data, inventory data, and the like, depending on the particular enterprise planning activity being carried out by the enterprise. The analysts then assign one or more enterprise users 12 to each node, such as managers, supervisors, sales representatives, lab managers, or the like, that are responsible for enterprise planning for the cost center corresponding to the node. Each enterprise user 12 may be designated as a contributor that provides planning data to enterprise software system 19 A, a reviewer that accepts or rejects contributions from the contributors, or both. The contributors and reviewers may be authorized users within the enterprise or within other entities coupled to network 18, such as suppliers or customers.
[0029] The enterprise users 12 that are designated as contributors interact with enterprise software system 19A to input detailed forecasts in the form of contribution data. As described above, enterprise users 12 may provide detailed financial forecasts, revenue forecasts, order forecasts, inventory forecasts, estimated resource requirements, and the like, depending on the particular enterprise planning activity being carried out by the enterprise. [0030] Enterprise software system 19A automates the reconciliation of the forecast data with the corporate target data provided by the analysts. In particular, enterprise software system 19A operates in accordance with a defined model, i.e., the enterprise planning model created by the analysts, to provide a hierarchical planning process having multiple reconciliation levels. As each of the contributors provides his or her contribution data (referred to generally, as "enterprise data"), enterprise software system 19A automatically aggregates the contribution data across the enterprise in real-time, and provides access to the aggregated data to enterprise users 12 designated as reviewers associated with higher levels of the enterprise. In particular, upon receiving contribution data from the contributors, enterprise software system 19A identifies all higher levels of the organizational model affected by the newly received contribution data, and calculates new aggregate totals at each level in real-time. [0031] Consequently, the reviewers view aggregated data across the enterprise in real-time during the enterprise planning session. At each level, enterprise software system 19A ensures that the reviewers, as defined by the nodes of the enterprise model, reconcile the target data with the forecast data. Each of the reviewers may, for example, reject or accept the contribution data in view of corporate targets provided by the analysts. This process continues until the contribution data is ultimately approved by the highest level of the organizational hierarchy, thereby ensuring that the contribution data from the contributors reconciles with corporate targets provided by the analysts.
[0032] In this manner, enterprise software system 19A may provide more accurate enterprise planning than with conventional techniques. For example, enterprise software system 19A may improve the accuracy and predictability of enterprise planning by enabling organizations to reconcile corporate models and organizational targets with detailed forecasts. The techniques may provide a platform that delivers collaborative, real-time planning capabilities, without requiring offline consolidation and aggregation of forecasts. Because enterprise software system 19A can aggregate contribution data in real-time, all users 12 can be presented with an accurate, up-to-date view of the numbers. Further, the architecture of enterprise software system 19A can readily scale to thousands of users, and may be designed around best planning practices. In addition, the techniques enabling high participation by enterprise users 12, i.e., the contributors and reviewers, allowing accurate planning cycles to be reduced. [0033] Enterprise software system 19A may utilize a "cut-down" process by which the multidimensional data store is "sliced" for each user 12 in accordance with the defined enterprise model. During this process, enterprise software system 19A identifies areas of the defined model to which users 12 are assigned, either as contributors or reviewers, and "slices" the data store based on the assignments. When a given user 12 logs in and proceeds with an enterprise planning activity, enterprise software system 19A communicates the respective data slice to the respective computing device 16 for display to the user via the extended spreadsheet application. In this fashion, enterprise software system 19A need not communicate the entire model to each of users 12, thereby reducing communication time as well as resource requirements. Instead, each user 12 receives only relevant information. Users 12 interact with computing devices 16 to capture contribution data, and to reconcile the contribution data with organizational targets. [0034] As described herein, enterprise software systems 19 provides interfaces by which administrator 15 defines "links" for automatically moving multidimensional data 17 between the enterprise software systems. As used herein, the term "link" generally refers to software element that maps data from one or more source enterprise software systems to one or more destination software systems. In this example, administrator 15 may define links for moving multidimensional data 17 from enterprise software system 19A to enterprise software system 19B. Similarly, administrator 15 may define links for moving multidimensional data 17 from enterprise software system 19B to enterprise software system 19 A. Although illustrated for exemplary purposes as moving multidimensional data 17 from a single source enterprise software system to a single destination, the techniques described herein may readily be applied to move multidimensional data from one or more source enterprise software systems to one or more destination systems. [0035] In addition to specifying the source and destination databases, administrator 15 may configure each link to specify one or more data transformations to be automatically applied when moving multidimensional data 17. In this manner, administrator 15 may define the links to control the mapping and synchronization of multidimensional data 17 between enterprise software systems 19, including control of past and future time versioning and dimensionality as the data is stored in each of the enterprise software systems.
[0036] In general, the links may be activated manually or automatically. For example, administrator 15 may interact with enterprise software systems 19 to define macros for automatically invoking the links at specific times or in response to certain events. Moreover, administrator 15 may chain together the macros, thereby defining an automated sequence of links for moving data between multiple databases.
[0037] As described in further detail below, enterprise software systems 19 allow administrator 15 to define the links with various levels of granularity. For example, administrator 15 may define a set of "administrative links" for moving larger data sets associated with multiple users 12. In addition, administrator 15 may define "user links" on a per-user basis to move user-specific multidimensional data. Individual users 12 may invoke the user links to initiate movement of multidimensional data 17 that is specific to a slice of the enterprise model to which the user has access. Enterprise software system 19A may, for example, present a user interface by which any of users 12 can initiate automated movement and transformation of multidimensional data 17 related to their data slice. [0038] FIG. 2 is a block diagram illustrating one embodiment of enterprise software system 19A in further detail. Again, for purposes of illustration, enterprise software system 19A is described in reference to an enterprise planning system, such as an enterprise financial or budget planning system. In the illustrated example, enterprise planning system 14 includes web servers 20, application servers 26 and database servers 40.
[0039] In general, web servers 20 provide an interface for communicating with users 12 via network 18. Web servers 20 execute web server software, such as Internet Information Server™ from Microsoft Corporation, of Redmond, Washington. As such, web servers 20 provide an environment for interacting with contributors, analysts, and reviewers according to software modules 21, which include link user interface 22, analysis module 30, contribution module 32, and report generator 34.
[0040] Software modules 21 typically take the form of instructions stored on computer-readable media for execution by one or more processors. Software modules 21 may comprise Visual Basic modules, Java scripts, Java Applets, Active Server Pages, web pages written in hypertext markup language (HTML) or dynamic HTML, Active X objects, documents conforming to the extensible markup language (XML) or other data description language, and other suitable modules. Web servers 20 serve up web pages defined by software modules 21, and communicate the web pages to computing devices of enterprise users 12. The web pages may include static media, such as text and graphic imagery, as well as conventional input media such as text entry boxes, radio buttons, drop-down menus, grids, spreadsheets and the like, for receiving information from enterprise users 12. [0041] Software modules 21 interact with database servers 40 to access enterprise data 42 including user data 42A, model data 42B3 planning data 42C and link data 42D. Enterprise data may be stored in a number of different forms including one or more data storage files, or one or more database management systems (DBMS) executing on one or more database servers. Furthermore, although illustrated separately, enterprise data 42 could be combined into a single database or other data storage structure. Enterprise data 42 could, for example, be implemented as a single relational database, such as SQL Server from Microsoft Corporation. [0042] User data 42 A reflects links to information for each of users 12, including the name, email address, and other contact information for the user. Model data 42B stores the enterprise planning models defined by analysts. For example, model database 42B stores information that defines the reconciliation process developed by the analysts, including the number of reconciliation levels, the various "nodes" in the hierarchy, and a contributor associated with each node. Planning data 42C stores the actual contribution data (i.e., "enterprise data") for each of the nodes for one or more planning sessions. Link data 42C stores data that defines links for automatically moving portions of multidimensional planning data 42C from enterprise software system 19A to enterprise software system 19B. In particular, link data 42D identifies and maps portions of planning data 42C to one or more multidimensional databases within enterprise software system 19B. [0043] Referring again to software applications 21, link user interface 22 presents an interface with which administrator 15 interacts to define the links. In particular, administrator 15 interacts with link user interface 22 to specify a name and description for each link. In addition, administrator 15 may configure the link to define a data mapping by selecting source and target enterprise software applications, source and target multidimensional data cubes, and particular source and target dimensions. Moreover, administrator 15 may specify a mapping between individual items of the source and target dimensions, thereby controlling mapping and aggregation of the multidimensional data. Moreover, administrator 15 may interact with link user interface 22 to view status and execution information for each of the links. [0044] Analysis module 30 includes one or more software modules for creating enterprise planning models, such as financial models for enterprise 4, to control the entire planning process. Contribution module 32 includes software modules for presenting a contribution interface for capturing contribution data from the contributors. Contribution module 32 captures and aggregates the contribution data across enterprise 4 in real-time, and provides access to the aggregated data to reviewers associated with higher levels of enterprise 4. [0045] Report generator 34 includes analytical software modules that generate enterprise planning reports based on the contribution data received from the contributors and stored within planning data 42C. In particular, the analytical software modules allow users 12 to formulate complex queries for generating reports and performing other data analysis functions on the current data of the enterprise model. These software modules may be web-based modules having a browser interface, or may be stand-alone executable programs. [0046] Business logic modules 46 execute within the operating environment provided by application severs 26 and provide functionality for accessing and processing the data stored within databases 42 in response to software modules 21. In particular, business logic modules 46 comprise software routines for implementing the enterprise planning functions, and are invoked by software modules 21.
[0047] Link control module 47 controls exportation and movement of portions of planning data 42C to one or more multidimensional databases within enterprise software system 19B in accordance with link data 42D. For example, link control module 47 may invoke one or more administrative jobs for automatically moving portions of planning data 42C in accordance with the link definitions maintained by link data 42D. During this process, link control module 47 may invoke export control module 45, which controls the export of consistent data from planning data 42C based on the source cubes and dimensions specified by the links. Further details with respect to export control module 45 and the exportation of a consistent data set from planning data 42C are described in U.S. Patent Application No. 10/996,855, entitled "EXPORT QUEUE FOR AN ENTERPRISE SOFTWARE SYSTEM," filed November 22, 2004, hereby incorporated by reference. [0048] FIG. 3 is a block diagram illustrating an example multidimensional data transfer in further detail. In particular, FIG. 3 illustrates transfer of multidimensional data 17 from enterprise software system 19A to enterprise software system 19B in response to activation of an administrative link. [0049] As illustrated in FIG. 3, planning data 42C includes a staging zone 50 and a "live zone" 52. In general, live zone 52 stores active planning data that is "current" from the perspective of users 12 of enterprise software system 19A. In contrast, staging zone 50 may be used as a temporary holding area while multidimensional data can be processed and merged into enterprise software system 19A. Similarly, enterprise software system 19B includes a database 60 having a staging zone 54 and a live zone 56.
[0050] In the example of FIG. 3, administrator 15 defines an administrative link to move multidimensional data 17 from live zone 52 of enterprise software system 19A to live zone 56 of enterprise software system 19B. In particular, link control module 47 coordinates with export control module 45 to move multidimensional data 17 from enterprise software system 19A to enterprise software system 19B where the data is imported directly within live zone 56 via import queue 64. In other words, multidimensional data 17 bypasses staging zone 54 of enterprise software system 19B and need not be processed as other imported data. [0051] FIG. 4 is a flowchart that describes exemplary operation of enterprise software system 19A with respect to the example of FIG. 3 in further detail. Initially, administrator 15 interacts with link user interface 22 to define an administrative link (70). As described, administrator 15 interacts with link user interface 22 to specify a name and description for each link. In addition, administrator 15 configures the link to define a data mapping from planning data 42C to database 60 as well as any transformations and aggregation to be applied to multidimensional data 17 during the move.
[0052] Next, link control module 47 invokes the link either in automated fashion in response to an internal or external system event or specified time period or in response to a manual request from administrator 15 (72). In particular, link control module 47 accesses link data 42D to retrieve the link definition supplied by administrator 15. Link control module 47 then directs export control module 45 to export a consistent set of planning data in accordance with the defined source of the link, e.g., the data cube, dimension and items of planning data 42C specified by the link definition (74).
[0053] Once exported, link control module 47 applies any data transformations 62 to multidimensional data 17 in accordance with the link definition (76). For example, link control module 47 may compute aggregate totals from source items of planning data 42C. Link control module 47 writes the transformed multidimensional data to import queue 64 (78) for direct storage in live zone 56 in accordance with the dimensionality of database 60 (80). In this manner, enterprise software system 19B need not perform data manipulation or otherwise transform multidimensional data 17.
[0054] FIG. 5 is a block diagram illustrating another example of a multidimensional data transfer. In particular, FIG. 5 illustrates transfer of multidimensional data 17 from enterprise software system 19A to enterprise software system 19B in response to activation of a user link. [0055] In the example of FIG. 5, administrator 15 interacts with link user interface 22 to define a user-controlled link. In particular, administrator 15 defines a user link that maps multidimensional data from live zone 52 of enterprise software system 19A to live zone 56 of enterprise software system 19B. However, administrator 15 defines the link as a "user link," thereby allowing users, such as user 12 A, to manually activate the link for their respective portion of planning data 42C.
[0056] Initially, user 12A accesses enterprise software system 19A via computing device 16A. In this example, computing device is illustrated to include a web browser 90 or other user interface layer software. In addition, computing device 16A includes application layer 92 that represent business layer software for carrying out the planning process.
[0057] At the request of user 12 A, application layer 92 retrieves personal planning data 96 for the user, i.e., the "slice" of the planning data 42C associated with the user. Application layer 92 downloads and stores the requested slice as user planning data 94. In addition, application layer 92 downloads the user link from link data 42D for which user 12A is authorized. [0058] Next, user 12A manually invokes the user link, thereby directing application layer 92 to retrieve additional user-specific multidimensional data 98 from live zone 56 of enterprise software system 19B. Often, user 12A need not even know of the source database from which multidimensional data 98 was retrieved as administrator 15 defined and configured the user link. Application layer 92 performs a consistent read of multidimensional data 98 from live zone 56 and downloads the multidimensional data into user planning data 94. Application layer 92 then stores user planning data 94, including multidimensional data 98 retrieved from database 60, to planning data 42C when user 12A performs a save. [0059] FIGS. 6-15 are exemplary screen illustrations presented by link user interface 22 for defining, maintaining and monitoring enterprise software links described herein. For example, FIG. 6 is a screen illustration of an example user interface 100 listing administrator links 102, 104. As illustrated, user interface 100 includes a display region 101 that lists a link name, description, edit status, last run status, an execution start time and an execution end time for each of links 102, 104. In addition, user interface 100 includes display region 105 that lists mapping information for a selected one of the links listed within display region 101. In this example, display region 105 presents mapping information for link 102, which is selected within display region 101. In particular, display region 105 lists a description of the elements associated with link 102, a source multidimensional cube, a target multidimensional cube and an edit status for the link. [0060] FIG. 7 is a screen illustration of an example user interface 110 with which administrator 15 interacts to create a new administrative link. In this example, user interface includes an input area 111 for receiving a description of link being created. In addition, input areas 112, 113 allow administrator 15 to select a source enterprise software application and a target enterprise software application, respectively.
[0061] User interface 110 further includes input areas 114, 115 for selection a source data cube from the source software application and a target data cube for the target enterprise software application. For the selected cubes, input areas 116, 117 allow administrator 15 to map particular dimensions. Upon selecting map button 118, link user interface 22 presents user interface 120 (FIG. 8) that allows administrator 15 to map individual items from a source dimension to one or more items along a target dimension. In this example, administrator 15 maps items along a "4 months" source dimension to items along a "months" dimension of the target multidimensional cube.
[0062] User interface 120 includes substring buttons 121, 122 that allow administrator 15 to perform link "cleansing" via substring. In particular, substring buttons 121, 122 allow administrator 15 to define string-based transformations for individual items. FIG. 9, for example, illustrates a user interface 130 by which administrator 15 defines substrings within items for the target "months" dimension. In this example, administrator 15 defines the substring to eliminate the last three characters from each of the items. As a result, the source items and the target items have matching string names, as illustrated in user interface 140 of FIG. 10. This example illustrates one of several types of mapping and cleansing capabilities that allow a user to match and map data. For example, link user interface 22 permits mapping as well as matching. Thus, the following are additional examples illustrating the cleansing and mapping functionality: (a) mapping of "month 1" through "month 12" to "january-2008" through "december-2008" for a calendar year organization, (b) mapping "mon 1" through "mon 12" to "JuI 05" through "Jun 06" for a fiscal year organization, and (c) cleansing and mapping "2005_January" to match "Jan" through use of a substring selecting only the 6th through 8th digit. [0063] FIG. 11 is a screen illustration of an example user interface 150 in which administrator 15 has elected to manually map individual items between a source dimension and a target dimension. In particular, user interface 150 includes a display area 151 that lists source items along the source dimension, a display area 152 that lists target items along the target dimension, and a mapping area 153 that lists mapping information for the items.
[0064] In this example, administrator 15 has mapped source item "Underwriting Margin %" to the target item "Pension %." In addition, administrator 15 has mapped "Total Premium" source item to both "Utilities" and "Other" target items. In other words, amounts for the "Total Premium" dimensional item of the source data cube will be stored to both the "Utilities" and "Other" target dimensional items of the target data cube. In this manner, administrator 15 may define a 1-to-l mapping or even an N-to-1 mapping from target to source items. [0065] FIG. 12 is a screen illustration of an example user interface 160 in which administrator 15 has defined a manual mapping of source items "Case 1," "Case 2" and "Case 3" to target item "Al." In this manner, administrator 15 may define an N-to-1 data aggregation to be carried out when the link is invoked. In addition, administrator 15 has mapped source item "Case 4" to target item "Bl." [0066] FIG. 13 is a screen illustration of an example user interface 170 in which three dimensions 172 have been mapped between the source and target multidimensional data cubes. User interface 170 also indicates that source dimension 173 and target dimension 174 have not been mapped. [0067] FIG. 14 is a screen illustration of an example user interface 180 with which administrator 15 interacts to handle unmapped source dimensions. As illustrated, user interface 180 includes a display area 181 that lists available items for the unmapped dimension, and a display area 182 that lists items of the dimension to be included and available for aggregation and data movement. In this example, administrator 15 has enabled selection box 183, thereby specifying that all future items added to the source dimension will also be included. In similar, manner, FIG. 15 is a screen illustration of an example user interface 190 with which administrator 15 interacts to handle unmapped target dimensions. Presenting unmapped target dimensions ensures that administrator 14 will apply business decision-making to decide whether to only some or all items on the unmapped target dimensions will receive the data values computed by the link. [0068] Various embodiments of the invention have been described. Although described in reference to an enterprise planning system, such as an enterprise financial or budget planning system, the techniques may be readily applied to other software systems, including other large-scale enterprise software systems. Examples of other enterprise software systems include order management systems, inventory management systems, sales force management systems, business intelligent tools, enterprise reporting tools, project and resource management systems and other enterprise software systems. Moreover, the techniques may be implemented on any type of computing device, including servers, client computers, laptops or other devices. These and other embodiments are within the scope of the following claims.

Claims

CLAIMS:
1. A method for exporting data from a software system comprising: defining a link from a first software application to a second software application, wherein the link specifies a source area of a multidimensional database associated with the first software application and a target area of a multidimensional database associated with the second software application; and automatically moving multidimensional data from the source area to the target area in accordance with the link.
2. The method of claim 1, wherein defining a link comprises: identifying a source data cube and a target data cube; identifying a source dimension of the source data cube and a target dimension of the target data cube; and defining a mapping between items of the source dimension and items of the target dimension.
3. The method of claim 2, wherein automatically moving multidimensional data includes moving the multidimensional data in accordance with the mapping.
4. The method of claim 1, further comprising: defining at least one data transformation; and applying the transformation to the multidimensional data when moving the multidimensional data from the source area to the target area.
5. The method of claim 1, wherein defining a link comprises defining a data aggregation that maps a plurality of items along a source dimension to one item along a target dimension.
6. The method of claim 1 , wherein defining a link comprises mapping an item along a source dimension to a plurality of item along a target dimension.
7. The method of claim 1 , further comprising: defining a schedule for invoking the link; and automatically moving the multidimensional data in accordance with the schedule.
8. The method of claim 1 , wherein defining a link comprises defining an administrative link, and wherein automatically moving multidimensional data comprises executing one or administrative jobs to move the multidimensional data.
9. The method of claim 1, further comprising: downloading multidimensional planning data to a client device of a user; automatically moving the multidimensional data from the source area to the planning data upon manual invocation of the link by the user; and saving the planning data to the target area from the client device.
10. The method of claim 1 , wherein automatically moving multidimensional data comprises moving the multidimensional data from a live source area storing current multidimensional data for the first software application to a live target area storing current multidimensional data associated with the second software application
11. The method of claim 1 , wherein automatically moving multidimensional data comprises exporting a consistent set of data from the source area.
12. A system comprising : a first database storing multidimensional data for a first software application; a second database storing multidimensional data for a second software application; an interface to receive input that defines a link specifying a source area of the first database and a target area of the second database; and a link control module that automatically moves multidimensional data from the source area to the target area in accordance with the link.
13. The system of claim 12, wherein the interface includes input areas by which an administrator defines the link by specifying a source data cube of the source database, a target data cube of the target database, a source dimension of the source data cube and a target dimension of the target data cube.
14. The system of claim 13 , wherein the interface includes input areas by which an administrator defines a mapping between items of the source dimension and items of the target dimension, and wherein the link control module automatically moves the multidimensional data in accordance with the mapping.
15. The system of claim 12, wherein the interface includes input areas by which an administrator defines at least one data transformation, and wherein the link control module applies the transformation to the multidimensional data when moving the multidimensional data from the source area to the target area.
16. The system of claim 12, wherein the interface includes input areas by which an administrator defines a data aggregation that maps a plurality of items along a source dimension to one item along a target dimension, and wherein the link control module automatically aggregates at least a portion of the multidimensional data when moving the multidimensional data from the source area to the target area.
17. The system of claim 12, wherein the interface includes input areas by which an administrator defines maps an item along a source dimension of the first database to a plurality of items along a target dimension of the second database.
18. The system of claim 12, further comprising: an import queue within a live portion of the second database; and an administrative job executing on at least one computer, wherein the administrative job automatically moves the multidimensional data from the first database to the import queue of the second database.
19. The system of claim 12, further comprising: a client device providing an operating environment for a planning software application, wherein the planning software application downloads user-specific planning data from the second database to the client device, automatically retrieves the multidimensional data from the source area of the first database upon manual invocation of the link by a user, and saves the user-specific planning data and the multidimensional data to the target area from the client device.
20. The system of claim 12, wherein the source area comprises a live source area that stores current multidimensional data for the first software application, and wherein the target area comprises a live target area that stores current multidimensional data for the second software application.
21. A computer-readable medium comprising instruction that cause a programmable processor of a computing device to: present a user interface to receive input specifying: a source data cube, a source dimension of the source data cube, at least one item along the source dimension, a target data cube, a target dimension of the target data cube, and at least one target item of the target dimension; and automatically move multidimensional data associated with the source items of the source data cube to the target items of the target data cube.
PCT/US2006/011993 2005-04-12 2006-04-03 Automatically moving multidimensional data between live datacubes of enterprise software systems WO2006113098A1 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CA002603974A CA2603974A1 (en) 2005-04-12 2006-04-03 Automatically moving multidimensional data between live datacubes of enterprise software systems
CN200680011830.8A CN101208692B (en) 2005-04-12 2006-04-03 Automatically moving multidimensional data between live datacubes of enterprise software systems
AU2006237442A AU2006237442A1 (en) 2005-04-12 2006-04-03 Automatically moving multidimensional data between live datacubes of enterprise software systems
EP06740237A EP1869587A1 (en) 2005-04-12 2006-04-03 Automatically moving multidimensional data between live datacubes of enterprise software systems

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/103,902 US8468125B2 (en) 2005-04-12 2005-04-12 Automatically moving multidimensional data between live datacubes of enterprise software systems
US11/103,902 2005-04-12

Publications (1)

Publication Number Publication Date
WO2006113098A1 true WO2006113098A1 (en) 2006-10-26

Family

ID=36639925

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2006/011993 WO2006113098A1 (en) 2005-04-12 2006-04-03 Automatically moving multidimensional data between live datacubes of enterprise software systems

Country Status (6)

Country Link
US (1) US8468125B2 (en)
EP (1) EP1869587A1 (en)
CN (1) CN101208692B (en)
AU (1) AU2006237442A1 (en)
CA (1) CA2603974A1 (en)
WO (1) WO2006113098A1 (en)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8468125B2 (en) 2005-04-12 2013-06-18 International Business Machines Corporation Automatically moving multidimensional data between live datacubes of enterprise software systems
US7743071B2 (en) * 2007-02-26 2010-06-22 Microsoft Corporation Efficient data handling representations
US7720831B2 (en) * 2007-02-26 2010-05-18 Microsoft Corporation Handling multi-dimensional data including writeback data
US20080222189A1 (en) * 2007-03-06 2008-09-11 Microsoft Corporation Associating multidimensional data models
US8069129B2 (en) 2007-04-10 2011-11-29 Ab Initio Technology Llc Editing and compiling business rules
CA2593233A1 (en) * 2007-07-06 2009-01-06 Cognos Incorporated System and method for federated member-based data integration and reporting
US8347207B2 (en) * 2007-07-16 2013-01-01 International Business Machines Corporation Automatically moving annotations associated with multidimensional data between live datacubes
US9268837B2 (en) 2007-12-04 2016-02-23 International Business Machines Corporation Data entry commentary and sheet reconstruction for multidimensional enterprise system
US8078749B2 (en) * 2008-01-30 2011-12-13 Microsoft Corporation Synchronization of multidimensional data in a multimaster synchronization environment with prediction
CA2729304C (en) 2008-06-30 2016-12-13 Ab Initio Technology Llc Data logging in graph-based computations
AU2010208112B2 (en) * 2009-01-30 2015-05-28 Ab Initio Technology Llc Processing data using vector fields
CN101847153B (en) * 2010-01-27 2012-08-22 深圳市龙视传媒有限公司 Dynamic data processing method and device
US10395762B1 (en) 2011-06-14 2019-08-27 Merge Healthcare Solutions Inc. Customized presentation of data
US8867807B1 (en) 2011-09-23 2014-10-21 Dr Systems, Inc. Intelligent dynamic preloading and processing
US20130339398A1 (en) * 2012-06-18 2013-12-19 Ryan Christopher Griggs Database inbox
US9703822B2 (en) 2012-12-10 2017-07-11 Ab Initio Technology Llc System for transform generation
US9176996B2 (en) 2013-06-25 2015-11-03 Sap Se Automated resolution of database dictionary conflicts
KR102349573B1 (en) 2013-09-27 2022-01-10 아브 이니티오 테크놀로지 엘엘시 Evaluating rules applied to data
US8990212B1 (en) 2014-03-27 2015-03-24 Visier Solutions, Inc. Systems and methods of mapping multidimensional data and executing queries
CN104391927A (en) * 2014-11-21 2015-03-04 浪潮通用软件有限公司 Dimensionality reconstitution achievement method of multidimensional data models
US10127264B1 (en) 2015-09-17 2018-11-13 Ab Initio Technology Llc Techniques for automated data analysis
US20190278634A1 (en) * 2018-03-08 2019-09-12 Servicenow, Inc. Systems and Method For Inter-Platform Data Exchange
US11010817B2 (en) * 2018-03-08 2021-05-18 Servicenow, Inc. Systems and method for coordinating trend data via a hub

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000042530A1 (en) * 1999-01-15 2000-07-20 Metaedge Corporation Method for visualizing information in a data warehousing environment
US6167405A (en) * 1998-04-27 2000-12-26 Bull Hn Information Systems Inc. Method and apparatus for automatically populating a data warehouse system

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4627019A (en) 1982-07-08 1986-12-02 At&T Bell Laboratories Database management system for controlling concurrent access to a database
US4878175A (en) * 1987-11-03 1989-10-31 Emtek Health Care Systems Method for generating patient-specific flowsheets by adding/deleting parameters
US5325478A (en) * 1989-09-15 1994-06-28 Emtek Health Care Systems, Inc. Method for displaying information from an information based computer system
US5247611A (en) * 1989-09-15 1993-09-21 Emtek Health Care Systems, Inc. Spreadsheet cell having multiple data fields
US5287496A (en) 1991-02-25 1994-02-15 International Business Machines Corporation Dynamic, finite versioning for concurrent transaction and query processing
US5416895A (en) * 1992-04-08 1995-05-16 Borland International, Inc. System and methods for improved spreadsheet interface with user-familiar objects
US5392390A (en) * 1992-04-10 1995-02-21 Intellilink Corp. Method for mapping, translating, and dynamically reconciling data between disparate computer platforms
US5546680A (en) * 1992-10-28 1996-08-20 Lacrosse Footwear, Inc. Safety footwear
US6594688B2 (en) * 1993-10-01 2003-07-15 Collaboration Properties, Inc. Dedicated echo canceler for a workstation
US5546580A (en) * 1994-04-15 1996-08-13 Hewlett-Packard Company Method and apparatus for coordinating concurrent updates to a medical information database
US5899998A (en) * 1995-08-31 1999-05-04 Medcard Systems, Inc. Method and system for maintaining and updating computerized medical records
US7233952B1 (en) * 1999-01-15 2007-06-19 Hon Hai Precision Industry, Ltd. Apparatus for visualizing information in a data warehousing environment
US6944821B1 (en) * 1999-12-07 2005-09-13 International Business Machines Corporation Copy/paste mechanism and paste buffer that includes source information for copied data
US6496913B1 (en) * 2000-02-22 2002-12-17 Hewlett-Packard Company System and method for detecting and correcting fragmentation on optical storage media
US7082427B1 (en) * 2000-05-24 2006-07-25 Reachforce, Inc. Text indexing system to index, query the archive database document by keyword data representing the content of the documents and by contact data associated with the participant who generated the document
US8060389B2 (en) * 2000-06-07 2011-11-15 Apple Inc. System and method for anonymous location based services
US6546095B1 (en) * 2001-01-05 2003-04-08 America Online, Inc. Automated provisioning of telephone services
US20040162836A1 (en) * 2001-02-06 2004-08-19 Eyal Aronoff System and method for altering database requests and database responses
US7191183B1 (en) * 2001-04-10 2007-03-13 Rgi Informatics, Llc Analytics and data warehousing infrastructure and services
US7043497B1 (en) * 2001-11-16 2006-05-09 Ncr Corp. System and method for capturing and storing web site visitor profile information in a data warehouse
US7725897B2 (en) * 2004-11-24 2010-05-25 Kabushiki Kaisha Toshiba Systems and methods for performing real-time processing using multiple processors
US7536713B1 (en) * 2002-12-11 2009-05-19 Alan Bartholomew Knowledge broadcasting and classification system
US7197502B2 (en) * 2004-02-18 2007-03-27 Friendly Polynomials, Inc. Machine-implemented activity management system using asynchronously shared activity data objects and journal data items
US7266540B2 (en) * 2004-03-04 2007-09-04 International Business Machines Corporation Mechanism for dynamic workload rebalancing in a multi-nodal computer system
US20050278458A1 (en) * 2004-06-09 2005-12-15 Microsoft Corporation Analysis services database synchronization
US20060112153A1 (en) * 2004-11-22 2006-05-25 Bowen David S L Export queue for an enterprise software system
US7472346B2 (en) * 2005-04-08 2008-12-30 International Business Machines Corporation Multidimensional XBRL engine
US8468125B2 (en) 2005-04-12 2013-06-18 International Business Machines Corporation Automatically moving multidimensional data between live datacubes of enterprise software systems
US7877355B2 (en) * 2005-04-12 2011-01-25 International Business Machines Corporation Job scheduling for automatic movement of multidimensional data between live datacubes
EP1896995A4 (en) * 2005-06-24 2009-05-27 Orbital Technologies Inc System and method for translating between relational database queries and multidimensional database queries
US7747562B2 (en) * 2006-08-15 2010-06-29 International Business Machines Corporation Virtual multidimensional datasets for enterprise software systems
US20080249761A1 (en) * 2007-04-04 2008-10-09 Easterly Orville E System and method for the automatic generation of grammatically correct electronic medical records
US7610294B2 (en) * 2007-05-31 2009-10-27 International Business Machines Corporation Multidimensional data cube validation

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6167405A (en) * 1998-04-27 2000-12-26 Bull Hn Information Systems Inc. Method and apparatus for automatically populating a data warehouse system
WO2000042530A1 (en) * 1999-01-15 2000-07-20 Metaedge Corporation Method for visualizing information in a data warehousing environment

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
GOIL S ET AL: "An infrastructure for scalable parallel multidimensional analysis", SCIENTIFIC AND STATISTICAL DATABASE MANAGEMENT, 1999. ELEVENTH INTERNATIONAL CONFERENCE ON CLEVELAND, OH, USA 28-30 JULY 1999, LOS ALAMITOS, CA, USA,IEEE COMPUT. SOC, US, 28 July 1999 (1999-07-28), pages 102 - 111, XP010348718, ISBN: 0-7695-0046-3 *
JOE GUERRA: "Using Microsoft SQL server data transformation services with IBM databases", INTERNET ARTICLE, November 2002 (2002-11-01), pages 1 - 19, XP002392569, Retrieved from the Internet <URL:http://www.microsoft.com/sql/evaluation/compare/ibm/UsingMSSS-DTSwIBM-DBs.pdf> [retrieved on 20060727] *

Also Published As

Publication number Publication date
US8468125B2 (en) 2013-06-18
AU2006237442A1 (en) 2006-10-26
EP1869587A1 (en) 2007-12-26
CN101208692B (en) 2015-02-25
CA2603974A1 (en) 2006-10-26
CN101208692A (en) 2008-06-25
US20060230067A1 (en) 2006-10-12

Similar Documents

Publication Publication Date Title
US8468125B2 (en) Automatically moving multidimensional data between live datacubes of enterprise software systems
US8347207B2 (en) Automatically moving annotations associated with multidimensional data between live datacubes
AU2005308543B2 (en) De-serializing data objects on demand
AU2003274987B2 (en) Deploying multiple enterprise planning models across clusters of applications servers
AU2003274988B2 (en) Real-time aggregation of data within an enterprise planning environment
AU2005317688B2 (en) Export queue for an enterprise software system
US20040064348A1 (en) Selective deployment of software extensions within an enterprise modeling environment
CA2497745A1 (en) Node-level modification during execution of an enterprise planning model
US7877355B2 (en) Job scheduling for automatic movement of multidimensional data between live datacubes
AU2003272566C1 (en) Inline compression of a network communication within an enterprise planning environment
AbdelSalam An integrated engineering-computation framework for collaborative engineering: An application in project management

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200680011830.8

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2006740237

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2603974

Country of ref document: CA

WWE Wipo information: entry into national phase

Ref document number: 2006237442

Country of ref document: AU

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2006237442

Country of ref document: AU

Date of ref document: 20060403

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: RU