Abstract:
An aspect of the present invention includes a system for creating navigation maps comprising a host module, said host module being adapted to receive data point markers about at least one data point of interest to a user and including a data input link for receiving information about said at least one data point of interest, a first logic processing module programmed to associate at least one data point of interest with at least one report, wherein said logic processing module uses predefined criteria to tag the at least one data point of interest as relevant to the at least one report; and a database module, said database module being adapted to store and obtain the at least one data point of interest, data point markers, and the at least one report. Another aspect of the present invention includes a method for navigating through business reports, comprising adapting a host module to receive data point markers about at least one data point of interest to a user, providing a data input link for receiving information about the at least one data point of interest, associating at least one data point of interest with at least one report, by adapting a logic processing module using predefined criteria to tag the at least one data point of interest as relevant to the at least one report, and accessing a database module to store and obtain the at least one data point of interest, at least one data point marker, and the at least one report.

Description:
RELATED APPLICATION 
       [0001]    This application claims priority from U.S. Provisional Patent Application Ser. No. 61/539,926, filed Sep. 27, 2011, which is incorporated herein by reference in its entirety for all purposes. 
     
    
     FIELD 
       [0002]    The present invention relates to navigation through complex date, and more particularly to providing systems and methods to navigate through reports and enable review of the relationships between multiple reports. 
       BACKGROUND 
       [0003]    Current methods for linking reports are very limited and don&#39;t provide an easy way to navigate complex data. Hard coded drill downloads or pre-determined hierarchies are a major limitation with current business intelligence software, as there is no way to discover the relationships between reports dynamically and move forward and backward between reports. The novel method presented herein provides for a distinct way to navigate reports. 
       SUMMARY 
       [0004]    An aspect of the present invention includes a system for creating navigation maps comprising a host module, said host module being adapted to receive data point markers about at least one data point of interest to a user and including a data input link for receiving information about said at least one data point of interest, a first logic processing module programmed to associate at least one data point of interest with at least one report, wherein said logic processing module uses predefined criteria to tag the at least one data point of interest as relevant to the at least one report; and a database module, said database module being adapted to store and obtain the at least one data point of interest, data point markers, and the at least one report. Another aspect of the present invention includes a method for navigating through business reports, comprising adapting a host module to receive data point markers about at least one data point of interest to a user, providing a data input link for receiving information about the at least one data point of interest, associating at least one data point of interest with at least one report, by adapting a logic processing module using predefined criteria to tag the at least one data point of interest as relevant to the at least one report, and accessing a database module to store and obtain the at least one data point of interest, at least one data point marker, and the at least one report. 
     
    
     
       BRIEF DESCRIPTION 
         [0005]    Although the scope of the present invention is much broader than any particular embodiment, a detailed description of the preferred embodiment follows together with drawings. These drawings are for illustration purposes only and are not drawn to scale. Like numbers represent like features and components in the drawings. The invention may best be understood by reference to the ensuing detailed description in conjunction with the drawings in which: 
           [0006]      FIG. 1  illustrates a graphical representation of a value represented by one or more various parameters in accordance, with an embodiment of the present invention. 
           [0007]      FIG. 2  illustrates a flow for navigation in accordance with an embodiment of the present invention; 
           [0008]      FIG. 3  illustrates a flow for dynamic or static linking in accordance with an embodiment of the present invention; 
           [0009]      FIG. 4  further illustrates a method for the creation of new filters in accordance with an embodiment of the present invention; 
           [0010]      FIG. 5  illustrates an example of the dynamic use of data point filters in accordance with an embodiment of the present invention; 
           [0011]      FIG. 6  illustrates an example of the dynamic use of data point filters in accordance with an embodiment of the present invention; 
           [0012]      FIG. 7  illustrates a navigation feature for the dynamic use of data point filters in accordance with an embodiment of the present invention; 
           [0013]      FIG. 8  illustrates a navigation feature in accordance with an embodiment of the present invention; 
           [0014]      FIG. 9  illustrates automatic linking of reports in accordance with an embodiment of the present invention; 
           [0015]      FIG. 10  illustrates a logical flow diagram depicting a method for dynamic mapping in accordance with an embodiment of the present invention; 
           [0016]      FIG. 11  illustrates a simplified logical flow diagram depicting a method for static linking in accordance with an embodiment of the present invention; 
           [0017]      FIG. 12  illustrates a simplified logical flow diagram depicting a method for dynamic linking in accordance with an embodiment of the present invention; 
           [0018]      FIG. 13  illustrates a simplified logical flow diagram of a method for saving a new map in accordance with an embodiment of the present invention; and 
           [0019]      FIG. 14  illustrates a simplified logical flow diagram of a method for updating an existing map in accordance with an embodiment of the present invention. 
       
    
    
     DETAILED DESCRIPTION 
       [0020]    The embodiments of the present invention are described more fully hereinafter with reference to the accompanying drawings, which form a part hereof, and which show, by way of illustration, specific exemplary embodiments by which the invention may be practiced. This invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. Among other things, the present invention may be embodied as systems, methods or devices. The following detailed description should not to be taken in a limiting sense. Throughout the specification and claims, the following terms take the meanings explicitly associated herein, unless the context clearly dictates otherwise. The phrase “in one embodiment” as used herein does not necessarily refer to the same embodiment, though it may. Furthermore, the phrase “in another embodiment” as used herein does not necessarily refer to a different embodiment, although it may. Thus, as described below, various embodiments of the invention may be readily combined, without departing from the scope or spirit of the invention. In addition, as used herein, the term “or” is an inclusive “or” operator, and is equivalent to the term “and/or,” unless the context clearly dictates otherwise. The term “based on” is not exclusive and allows for being based on additional factors not described, unless the context clearly dictates otherwise. In addition, throughout the specification, the meaning of “a,” “an,” and “the” include plural references. The meaning of “in” includes “in” and “on.” The term “coupled” implies that the elements may be directly connected together or may be coupled through one or more intervening elements. Further reference may be made to an embodiment where a component is implemented and multiple like or identical components are implemented. 
         [0021]    As used in this specification and claims, the terms “for example,” “for instance,” “such as,” and “like,” and the verbs “comprising,” “having,” “including,” and their other verb forms, when used in conjunction with a listing of one or more components or other items, are each to be construed as open-ended, meaning that that the listing is not to be considered as excluding other, additional components or items. Other terms are to be construed using their broadest reasonable meaning unless they are used in a context that requires a different interpretation. 
         [0022]      FIG. 1  depicts an embodiment of a graphical representation of a value represented by one or more various parameters  100 , for example if the report is displaying material spent for different quarters, then a user can click on a specific quarter to use the selected quarter as a parameter for all subsequent navigation map reports. As a further example, in  FIG. 1 , the user can click on the dial gauge value parameter  115  for a specific “Reschedule in” exception for all subsequent navigation map reports regarding this parameter. The report  110 , here as an example a “Current Pull In Request”, is illustrated. The exemplary purchase order rescheduling exception is shown as a dial gauge  115 , although any form of graphical representation may be used. Here, the dial gauge  115  points to a data point  120  where current purchase orders causing the order reschedule exception are greater than 16.25M. This number is exemplary in nature and any quantity could be set as the bar for taking exception to a set practice rule. If multiple values are selected as measurements for implementing an exception, this may be depicted or accomplished by a different visual, including but not limited to a bar chart or a table with multiple values visible simultaneously and options for the user to make selections for one or more values. In another embodiment, the graphical representation may display, for example, a parameter such as material spent for different quarters of the year. In this example, the user can click on a specific quarter to use the selected quarter as a parameter for all subsequent navigation map reports. 
         [0023]      FIG. 2  illustrates an embodiment of an exception  200 . As depicted here, the type of exception, Rescheduling, is shown. As a value of the graphical representation, “Reschedule In” as used in  FIG. 1 , presents a drill-down/drill through search functionality linking dynamic or static reports consisting of one or more data points in one embodiment, different filters of data points can further enhance the dynamic or static reports linked. In another embodiment, each dynamic or static report, here five reports are shown  210 ,  220 ,  230 ,  240 ,  250 , are linked to the parent graphical representation data report, in this example “Current Pull In Requests.” By clicking on the parent report, a navigation map is activated. In one embodiment, pre-existing data reports may be automatically generated and linked to the parent data point report based on different parameters including, but not limited to, user selected statically linked reports, most used report history, most voted report by users or most relevant search report, or past user experience. The pre-existing data reports may be removed or additional reports may be added or linked to any report, including those visible on the navigation map. Embodiments of the present invention permit full and unfettered discretion on the part of the user to create, add or subtract any data report and associate it with any existing data report, whether relevant or irrelevant. The reports  210 ,  220 ,  230 ,  240 ,  250  provide additional data, although depicted as five reports, the number of reports depicted is not intended to be a limitation on the embodiments of the present invention and fewer reports or more reports are contemplated within the scope of the embodiments. In one embodiment of the present invention, the navigation of the report is shown using a tree with nodes and branches graphical representation. 
         [0024]      FIG. 3  illustrates an embodiment of the present invention where, each data report is further linked dynamically or statically to further reports consisting of one or more data points  300 . The system  300  illustrates the exemplary drill-down/drill through search functionality. The system  300  expands recursively using a graph model, although any form of graphical representation may be used, where each report or node can link to one or more child report or nodes. Child reports for the graphs can be added explicitly by user or automatically by the system based on different parameters including, but not limited to, most used report history, most voted report by users or most relevant search report. Child reports  302 ,  304 ,  306 ,  308 , and  310 , of the parent reports are used to further build an exemplary graphical “tree” for the navigation map. Each child report may or may not be based on the same logic as the parent report. This model of recursively linking reports enables a dynamic graph which is then available for the user to navigate. In one embodiment, this process continues till all reports are expanded  312 ,  314 ,  316 ,  318 ,  320 ,  322  and there are no further children reports. Child report expansion can be automatic or manually by a user clicking on the expand icon for the parent report or taking some other action. 
         [0025]      FIG. 4  illustrates the system of  FIG. 3  further expanding recursively the child reports of the parent reports to further build out the graphical representation of a navigation tree or navigation map for each child report. In this embodiment  400 , new filters  402 ,  404 ,  406  represent the data points selected during navigation between different reports. In another embodiment, data point filters further enhance the reports linked via the parent-child relationship. 
         [0026]    In another embodiment, the present invention provides a method to record user navigation within the tree including all report selections, selected dimension variables and last position of user navigation within navigation tree. This may be accomplished by the system building the list of user selections which are then passed to the other reports to filter the data based on the previous selections The process of remembering the user selections at each interaction will generate a dynamic selection list at the runtime based on user navigation between different reports and will be instrumental for root-cause analysis for a specific scenario even for large data volumes. In another embodiment, aspects of the present invention permit the dimension attributed values selected during navigation to other reports within the tree navigation. 
         [0027]      FIG. 5  illustrates an embodiment of the present invention, depicting the dynamic use of data point filters  500 . As an example, data point filters may be used to track the different data points selected to arrive at the current level of reports. As a further example, data point filters permit the user to determine what data point filters were used to arrive at the current report. In the embodiment depicted, a bar graph is categorized into multiple groups based on the report data generated after applying the filter that was selected in the previous report. Now instead of displaying all the expedite exceptions, only rescheduling exceptions are visible because of the active filter “Rescheduling In.” 
         [0028]      FIG. 6  illustrates an embodiment of the present invention, depicting the dynamic use of data point filters  600 . Exemplary aspects provide a system, method, and apparatus to save a navigation tree and then open it as needed. Exemplary aspects of embodiments of the present invention include a system that permits users to link reports as children to any report.  FIG. 6  illustrates how filters will be applied when any report is selected within the navigation map. Embodiments may include navigation features, chatting features, SMS features, and any other useful features known to those practicing in the art. 
         [0029]      FIG. 7  illustrates an exemplary embodiment of the present invention, further illustrating a navigation feature for the dynamic use of data point filters where a previously created navigation map is linked to any report and then stored as part of the report. Once the navigation map is linked to a report, the user will be able to activate the linked navigation map whenever the report is displayed in the application. 
         [0030]      FIG. 8  illustrates an embodiment of a navigation feature  800 , that enables the linking and sharing of any report to other reports based on different parameters and data points, including but not limited to user role, subject area, previously viewed reports, most liked reports and reports in user network. There may be any number of reports that link to each other based on any number of data points. The navigation feature may operate to query a user to cause the user to further evaluate where relationships might or should be created, it may also suggest relations and prepopulate such. 
         [0031]      FIG. 9  illustrates the automatic or dynamic linking of reports  900 . The automatic or dynamic linking provides for linking, without user intervention based on a specified parameter, including but not limited to, similar data points, most used report history, most voted report by users or most relevant search report, or past user experience, as described in conjunction with  FIG. 3  above. This provides a system, method, and apparatus that enables users to search the previously created navigation maps and load such maps for viewing by displaying the relevant navigation maps based on the search criteria; enabling users to add navigation maps to the dashboard similar to adding a report by providing a way to select a previously created navigation map and a mechanism to select one or more navigation maps from the list of navigation maps. In one embodiment, users may suggest existing navigation maps to other users based on the reports they are accessing and using by providing a way to suggest a navigation map to another user by similar functions including, but not limited to, bookmarking, emailing or adding a navigation mark to the favorite list. It also enables a way to notify users of new navigation maps created by others by enabling sharing of navigation maps between users. This can be automated without user intervention or manually by a user requesting such or being sent such. 
         [0032]      FIG. 10  illustrates a method  1000  for creating navigation maps to allow a user to navigate through related or unrelated business reports. Although depicted in a flow chart, the order of the steps in the present embodiment is exemplary and is not intended to be a limitation on the embodiments of the present invention. It is contemplated that the present invention includes the process being practiced in other orders and/or with intermediary steps and/or processes. In exemplary step  1005 , data point markers may be identified and created. Data point markers may be any category, subcategory, class, subclass, grouping, or division of or scenario of data or data points that can be thought of. In exemplary step  1010 , reports may be associated with the data point markers. Further, although not shown, new reports may created and associated, as well as existing reports, or future reports with data point markers. In exemplary step  1015 , data point markers relevant to the report are tagged or identified using predefined criteria. In exemplary steps  1020  and  1025 , reports with common data point markers may be statically linked or dynamically linked. In one embodiment, static linkage may be accomplished by the user, manually linking various reports that have common datapoint markers. In another embodiment, dynamic linkage may be accomplished by using software or link management software. In exemplary step  1030 , linkages between various reports are graphically displayed. Further, although not shown, it is also contemplated that the graphical display step  1030  may contain reports that are dynamically and statically linked with other reports. 
         [0033]      FIG. 11  illustrates a method  1100  for creating static links for report configurations. The method may be performed by a user, may be automated or may be a combination of automation and manual user input. The orders of the steps in the present embodiment are exemplary and are not intended to be a limitation on the embodiments of the present invention. It is contemplated that the present invention includes the process being practiced in other orders and/or with intermediary steps and/or processes. A user creates a report  1110 . The user builds a navigation tree or navigation map  1120 . The user&#39;s navigation tree is linked to previously created reports from a repository. The navigation tree and reports are finally saved and stored in a database  1130 . This database may be recalled and used as existing or modified for other purposes. 
         [0034]      FIG. 12  illustrates a method  1200  for dynamic linking. The orders of the steps in the present embodiment are exemplary and are not intended to be a limitation on the embodiments of the present invention. It is contemplated that the present invention includes the process being practiced in other orders and/or with intermediary steps and/or processes. A user may view a report  1210 . A navigation tree or navigation map is loaded. The navigation tree or navigation map may or may not have previously added reports  1220 . In an exemplary step information from different sources, including but not limited to the report repository, which may include any number of reports based on any number of data points that may be changing or updating regularly or intermittently, are gathered to create navigation links  1230 . 
         [0035]      FIG. 13  illustrates a method  1300  for creating and saving a map. The orders of the steps are exemplary and are not intended to be a limitation on the embodiments of the present invention. It is contemplated that the present invention includes the process being practiced in other orders and/or with intermediary steps and/or processes. A user creates or loads a previously created map  1310 . Alternatively a navigation map can also be created automatically based on other dynamic methods discussed above. Reports and links may be added to the map  1320  by the user or through an automated process, in addition the map could be created from the reports and links. The map is then saved, and updated  1330  when appropriate, again either by a user or through an automated process. The maps as well as reports and links may be stored in a database, a repository or any other internal or external system that is capable of maintaining data  1340 . 
         [0036]      FIG. 14  illustrates a method for updating an existing map, such as a map created in conjunction with  FIG. 13  above. The method may be performed by a user, may be automated or may be a combination of automation and manual user input. The orders of the steps in the present embodiment are exemplary and are not intended to be a limitation on the embodiments of the present invention. It is contemplated that the present invention includes the process being practiced in other orders and/or with intermediary steps and/or processes. The map is located either through a search or selected by title  1410 . The map is then updated  1420  by adding links or reports or any other appropriate data. The map is saved, and updated  1430 . The map as well as reports and links may be stored in a database, a repository or any other internal or external system that is capable of maintaining data  1440 . 
         [0037]    In accordance with an embodiment of the present invention, a method provides a way for users to navigate information in the form of a visually displayed navigation tree. In one embodiment, the navigation tree is built dynamically when, for example, a user clicks on the graph, table, or any other form of organization of data. In another embodiment, the tree parent and children nodes may be determined based on what is clicked and what information is relevant for that report. Similar to a map, in one embodiment, a navigation tree will visually display the current location of user navigation within the tree. 
         [0038]    In another embodiment, the navigation tree is built statically by the user, enabling the user to link the current report to any other report the user deems relevant. The static linkage may be based on any number of data points within the present report and the reports being linked, and any other criteria deemed relevant by the user, such as, for example, practice area, scope of relevance, organizational structure, etc. 
         [0039]    In yet another embodiment the method provides for users to build new navigation map-like reports. For example, instead of just providing a single report in a dashboard, the system enables a way to display a navigation map to users that will make it very easy for them to analyze data without having to figure out the correct sequence of report navigation to determine the root cause of an issue or a trend. 
         [0040]    In another embodiment, the system presents a drill-down/drill through search functionality in a form of, for example, a tree with nodes and branches. When a user clicks on a report, a tree is built dynamically with link nodes representing dynamically or statically link reports that are relevant to the current report. It is asserted that the “tree with nodes and branches” is an exemplary embodiment of the present invention. However, any form of graphical representation may be used, including but not limited to 2-D or 3-D format, to accomplish the desired result. 
         [0041]    Aspects of the present invention may be implemented in various configurations. For example, in one embodiment the invention may be implemented as a desktop personal computer, stand alone computer, workstation computer, mobile computer, portable computing device, personal digital assistant (PDA) device, cellular telephone, digital audio or video playback device, or any other similar type of computing device. Examples of suitable network connections include a controller area network (CAN), a media oriented system transfer (MOST), a local interconnection network (LIN), a local area network (LAN), and other appropriate connections such as Ethernet or others that conform with known ISO, SAE and IEEE standards and specifications, to name but a few. 
         [0042]    Aspects of the present invention may be implemented on one or more computers executing software instructions. According to one embodiment of the present invention, server and client computer systems transmit and receive data over a computer network or a fiber or copper-based telecommunications network. The steps of accessing, downloading, and manipulating the data, as well as other aspects of the present invention are implemented by central processing units (CPU) in the server and client computers executing sequences of instructions stored in a memory. The memory may be a random access memory (RAM), read-only memory (ROM), a persistent store, such as a mass storage device, or any combination of these devices. Execution of the sequences of instructions causes the CPU to perform steps according to embodiments of the present invention. The CPU may include one or more software modules, host modules, and logic processing modules. 
         [0043]    The instructions may be loaded into the memory of the server or client computers from a storage device or from one or more other computer systems over a network connection. For example, a client computer may transmit a sequence of instructions to the server computer in response to a message transmitted to the client over a network by the server. As the server receives the instructions over the network connection, it stores the instructions in memory. The server may store the instructions for later execution, or it may execute the instructions as they arrive over the network connection. In some cases, the CPU may directly support the downloaded instructions. In other cases, the instructions may not be directly executable by the CPU, and may instead be executed by an interpreter that interprets the instructions. In other embodiments, hardwired circuitry may be used in place of, or in combination with, software instructions to implement the present invention. Thus the present invention is not limited to any specific combination of hardware circuitry and software, nor to any particular source for the instructions executed by the server or client computers. In some instances, the client and server functionality may be implemented on a single computer platform. 
         [0044]    Aspects of the present invention can be used in a distributed electronic commerce application that includes a client/server network system that links one or more server computers to one or more client computers, as well as server computers to other server computers and client computers to other client computers. The client and server computers may be implemented as desktop personal computers, workstation computers, mobile computers, portable computing devices, personal digital assistant (PDA) devices, cellular telephones, digital audio or video playback devices, or any other similar type of computing device. The terms “computer network” and “online” may be used interchangeably and do not imply a particular network embodiment or topography. In general, any type of network (e.g., LAN, WAN, or Internet) may be used to implement the online or computer networked implementation of the system, method, device, and apparatus for creating, linking and discovering navigation maps for analyzing data. Thus, the present invention is not limited to the embodiments described herein and the constituent elements of the invention can be modified in various manners without departing from the spirit and scope of the invention. Various aspects of the invention can also be extracted from any appropriate combination of a plurality of constituent elements disclosed in the embodiments. Some constituent elements may be deleted in all of the constituent elements disclosed in the embodiments. The constituent elements described in different embodiments may be combined arbitrarily. 
         [0045]    While certain embodiments of the inventions have been described, these embodiments have been presented by way of example only, and are not intended to limit the scope of the inventions. Indeed, the novel methods and systems described herein may be embodied in a variety of other forms; furthermore, various omissions, substitutions and changes in the form of the methods and systems described herein may be made without departing from the spirit of the inventions.