Hierarchical dataset dashboard view

Receiving a hierarchical dataset including child data items that depend directly or indirectly from one or more parent data items. Processing the hierarchical dataset to generate nodes for each data item within the hierarchical dataset, wherein nodes for child data items are generated within nodes for parent data items and aligning nodes representing like data items in a dashboard view.

BACKGROUND

The rapid growth of data collection over recent years has led to the availability of a large number of information technology (IT) services. Transforming collected raw data into valuable information is an important task. However, due to the vast amounts of data, analysts have difficulties in finding relationships within the data.

Visualization tools are used to understand collected data and correlations therein. Such visualization tools commonly use scatter plot diagrams to visualize operational data. Other tools use Slice and Dice Tree Map diagrams. These diagrams, and others, are difficult for use in perceiving data correlations, patterns, and exceptions. Further, these diagrams, and the methods behind them, do not provide flexible display options.

DETAILED DESCRIPTION

In the following detailed description, reference is made to the accompanying drawings that form a part hereof, and in which is shown by way of illustration specific embodiments in which the inventive subject matter may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice them, and it is to be understood that other embodiments may be utilized and that structural, logical, and electrical changes may be made without departing from the scope of the inventive subject matter.

The functions or algorithms described herein are implemented in hardware, software or a combination of software and hardware in one embodiment. The software comprises computer executable instructions stored on computer readable media such as memory or other type of storage devices. Further, such functions correspond to modules, which are software, hardware, firmware, or any combination thereof. Multiple functions are performed in one or more modules as desired, and the embodiments described are merely examples. The software is executed on a digital signal processor, application specific integrated circuit (ASIC), microprocessor, or other type of processor operating on a system, such as a personal computer, server, a router, or other device capable of processing data including network interconnection devices.

The inventive subject matter provides a new visualization approach for multi-attribute, time-series hierarchical datasets. This approach is more flexible and more general than existing techniques. Provided are, among other things, visualization aids not only for viewing large datasets, but also for discovering correlations, patterns, and exceptions in a dataset. Thus, the inventive subject matter is useful in supporting visual data mining.

Some embodiments include partitioning an output area, such as a monitor screen or printer paper, depending on the tree structure of a multi-attribute, time-series hierarchical dataset and a user's demands. Because the user may want different layouts for different purposes, the inventive subject matter keeps the tree structure of the hierarchical dataset separate from the visual layout to provide endless possibilities for adapting the visual layout to meet the exact user needs.

FIG. 1is a schematic block diagram of a system100according to an example embodiment. The system100includes a processor102, a memory104, software106, and an output device108. In some embodiments, the system100also includes a network interface (not shown).

The system100is a computing device. The computing device, in various embodiments, includes a personal computer, a terminal computing device, a personal digital assistant, a mobile telephone with data communications capabilities, or other such devices including, or couplable to, an output device108.

The processor102of the system100embodiment ofFIG. 1represents a digital signal processor or processing unit of any type of architecture, such as an ASIC (Application-Specific Integrated Circuit), a CISC (Complex Instruction Set Computing), RISC (Reduced Instruction Set Computing), VLIW (Very Long Instruction Word), or hybrid architecture, although any appropriate processor may be used. The processor102executes instructions. The processor102also includes a control unit that organizes data and program storage in memory, such as memory104, and transfers data and other information in and out of the system100and, in some embodiments, to and from one or more network connections (not shown) over the optional network interface (not shown).

The memory104represents one or more mechanisms for storing data. For example, the memory104, in various embodiments, includes one or more of a read only memory (ROM), random access memory (RAM), magnetic disk storage media, optical storage media, flash memory devices, and/or other volatile and non-volatile machine-readable media. In other embodiments, the memory includes any appropriate type of storage device or memory104. Although only one memory104is shown, multiple memories104of various types and multiple types of storage devices can be present.

The output device108represents one or more mechanisms for outputting data. In some embodiments, the output device108is a monitor for visually displaying data. In other embodiments, the output device108is a printer. In further embodiments, the output device108is the network interface, over which data is communicated for use on another device.

In embodiments of the system100including a network interface, the network interface is couplable to a network. The network interface includes a device such as a wireless or wired Ethernet card, or other similar devices. The network, in various embodiments includes a local area network, a wide area network, an intranet, the Internet, or other network capable of carrying data to and from the system100.

The software106stored in the memory104is operable on the processor102to cause the system to receive multi-attribute, time-series hierarchical datasets and to generate adaptable visualizations of the datasets allowing for fast comparison of data from different hierarchy levels. Visualizations generated by the software106further allow for quick identification of relationships, patterns, and trends within the dataset and animations of changes in the dataset over time. Stated differently, the software106generates a dashboard view for multi-attribute, time-series hierarchical datasets.

A multi-attribute, time-series hierarchical dataset used by the software106includes data collected over time and stored in any number of data structures. Some such data structures include one or more of relational database tables, flat files, a Resource Description Framework Schema (RDFS), or virtually any other type of data structure allowing for child data items that depend directly or indirectly from one or more parent data items. Some hierarchical dataset include data from disparate sources assembled using retrieval arguments or user parameters to define the hierarchy relationships therein.

The software106processes a dataset to generate geometric nodes for at least some data items within the dataset. The geometric nodes can be of any shape such as rectangles, triangles, circles, polygons, or any other shape. Nodes corresponding to different levels of the hierarchical dataset can be of different geometric shapes. Some embodiments further include nodes represented by graphics such as pictures.

The software106then arranges the nodes within an output area. Nodes for each level of the hierarchical dataset are represented and aligned within an output of the software106. Child nodes are generated within their respective parent nodes.

FIG. 2is a graphical representation200of a dataset according to an example embodiment. The graphical representation200is an example output from a system, such as an output from the software106of the system100shown inFIG. 1. The graphical representation200is of a four-level hierarchical dataset. The four-level hierarchical dataset is an example dataset representing service level conformance correlation between Provider1and Provider2in an Open View Internet Service Application (OVIS). The four levels of hierarchical data are as follows: 1) provider, 2) service level guarantees (i.e., Response Guarantee and Availability Guarantee), 3) time of day (i.e., hours 0-23), and 4) conformance percentage.

Within the graphical representation200, the conformance percentage data for each hour within a day for each service level guarantee for each provider is similarly situated and aligned. This arrangement of data provides a dashboard view of the hierarchical data for quick correlation and identification of conformance patterns, trends, violations, anomalies, and other characteristics of the data.

Further note that other types of data can be represented similarly to the graphical representation200ofFIG. 2. For example, school attendance data can be represented in such a four-level graphical representation. The levels in such an embodiment might be as follows: 1) school district, 2) school, 3) course, and 4) attendance percentage. There are many other uses for such a graphical representation and the systems and methods behind them as described herein. The example datasets and graphical representations shown and described herein are merely exemplary and are not intended to be limiting.

FIG. 3is a flow diagram of a method300according to an example embodiment. The method300provides one example method for generating a hierarchical dataset graphical representation, such as graphical representation200ofFIG. 2. The method300includes receiving a multi-attribute, time-series hierarchical dataset, wherein the dataset includes child data items that depend directly or indirectly from one or more parent data items302and processing the hierarchical dataset to generate nodes for each data item within the hierarchical dataset, wherein nodes for child data items are generated within nodes for parent data items304. The method300further includes aligning nodes representing like data items in a dashboard view306.

In some embodiments, the method300further includes receiving user preferences and generating the parent and child display areas according to the user preferences. User preferences include instructions, such as retrieval arguments specifying data to request that is subsequently received. Some user preferences include instructions as to how data from disparate sources is to be arranged as a multi-attribute, time-series hierarchical dataset. Other user preferences include display preferences for displaying the data in the dashboard view. Display preferences, in various embodiments, include a starting level and a number of levels of a multi-attribute, time-series hierarchical dataset to display and data specifying shapes, pictures, and colors to use in displaying one or more levels of the hierarchical data.

Other display preferences include representation preferences. Representation preferences include types of representations used to represent various levels of the data. For example, the conformance percentage data level of graphical representation200, as shown inFIG. 2, could alternatively be displayed as a bar chart, a line chart, or various other chart and graph types capable of representing the data of the conformance percentage data level. A further display preference includes a preference specifying a portion of an output area in which to display the graphical representation of the data. The portion of the output area can be less than the total output area or the entire output area. In some embodiments, the output area is the displayable area of a monitor. In other embodiments, the output area is one or more sheets of paper output from a printing device.

In some embodiments, the user preferences are received in two vectors. One such vector includes a vector specifying how the data in a received multi-attribute, time-series hierarchical dataset is to be arranged in a hierarchical fashion. The other vector specifies how the various levels of the multi-attribute, time-series hierarchical dataset are to be displayed.

FIG. 4is a flow diagram of a method400according to an example embodiment. The method400includes dividing a display area equally amongst parent nodes of a multi-attribute, time-series hierarchical data structure402and displaying data representative of the parent nodes within their respective display areas404. The method400further includes dividing each parent node display area equally amongst child nodes of the parent node406, displaying data representative of each child node within their respective display areas408, and aligning child node display areas of like data across the parent node display areas410. In some such embodiments, a child node can also be a parent node of another child node. The data values of the various nodes of a graphical representation generated according to the method400can be represented by a color, a line on a graph relative to a value represented on an axis of the graph, or by a graphical representation representative of a value or value range.

In some embodiments, aligning child node display areas of like data across the parent node display areas410includes aligning child node display areas by time of day or date at which the data represented in the child node display areas was measured. In some such embodiments, the method further includes generating an animation of the data set over a period of time. This animation includes displaying measured values at intervals displayed in the graphical representation and changing the graphical representation to show a time-elapsed view of the measured values over time. Another embodiment includes regenerating the graphical representation upon passage of a period of time to show newly measured values. In some such embodiments, the period at which to regenerate the graphical representation is specified as a user preference.

The method400, in some embodiments, further includes providing the ability to drill down within a dataset to obtain a more detailed visualization of the data. This includes receiving a selection of a child node and obtaining child data of the selected child node. The method further includes dividing the selected child node display area amongst the obtained child data and displaying a representation of the obtained child data within the display area of the selected child node. In these embodiments, the data of the selected child node is parent data to the obtained child data.

FIG. 5is a graphical representation500of a multi-attribute, time-series hierarchical dataset according to an example embodiment. The graphical representation500is a dashboard view of a four-level hierarchical dataset showing, in the first portion502of the graphical representation500, conformance with service level objectives (i.e., AVAIL. and RESP.) and a service level agreement (i.e., SLA) including those service level objectives for three providers. This conformance data is displayed at a granularity of one hour intervals with a black rectangle indicating a violation at the time indicated at the top of the column of the objective or agreement violated at the left of the row. The second portion504of the graphical representation shows a violations at a granularity of fifteen minute intervals. As illustrated, the second portion504is displaying a more detailed representation of the data for Provider3.

The data displayed in the second portion504is selected by a user by interacting with the graphical representation500when displayed on a monitor of a system. Clicking with a mouse, or otherwise selecting, an area of the first area502causes more detailed data to be displayed in the second area. Some such embodiments allow a user to drill down further into the hierarchical dataset of the graphical representation to gain more detail within the data. In some such embodiments, the more detailed data is displayed in the second portion504. In other embodiments, the more detailed data is displayed in the first portion502upon receipt of command from a user. When such a command is received to display more detailed data in the first portion502, more detailed data is displayed for all parent nodes within the first portion502.

FIG. 6is a graphical representation600of a dataset according to an example embodiment. This graphical representation600is a dashboard view of the same multi-attribute, time-series hierarchical dataset of the graphical representation500ofFIG. 5. The first portion602is identical to the first portion502ofFIG. 5. However, second portion604includes a line graph for displaying the more detailed data for provider3. This illustrates one form of flexibility provided to users. Alternatively, the second portion604can be exclusively displayed in another graphical representation including only the second portion. In such an embodiment, a user can select a data item to detail in the second portion602for display in another graphical representation.

It will be readily understood to those skilled in the art that various other changes in the details, material, and arrangements of the parts and method stages which have been described and illustrated in order to explain the nature of this inventive subject matter may be made without departing from the principles and scope of the inventive subject matter as expressed in the subjoined claims.