An enterprise can collect a relatively large amount of data records over time. Such data records can be visualized in graphical visualizations. However, visualizing relatively large amounts of data records can be associated with various challenges.
The patent or application file contains at least one drawing executed in color. Copies of this patent or patent application publication with color drawing(s) will be provided by the Office upon request and payment of the necessary fee.
Some embodiments are described with respect to the following figures:
An enterprise (e.g. business concern, educational organization, government agency, individual, etc.) can collect a relatively large amount of data records. For example, an enterprise can receive measurements from various monitoring devices in a system, such as a network of devices, a data center, a system of storage devices, and so forth. The collected measurements can include performance measurements, such as utilization of computer servers, utilization of storage devices, data rates through communication devices, and so forth. In other examples, data records can include other types of data, such as financial data (e.g. revenue, profit, etc.) of the enterprise, user feedback (expressing user sentiments regarding a product or service offering, for example) collected by the enterprise, data relating to a physical infrastructure (e.g. power utilization, water utilization, etc.), and so forth.
The collected data records can be in the form of time series or other types of data collections. A data record can generally refer to a representation of data that can have one or multiple attributes. One example of an attribute can be a time attribute, which can indicate a time associated with the data record (e.g. time that the data was acquired or received). Another attribute can represent a value that is being measured, such as processor utilization, storage utilization, data rate, profit, revenue, user sentiment, and so forth.
In some cases, it may be desirable to visualize correlations among two or more attributes associated with the data records at the various time intervals. Recognizing such correlations in a relatively large volume of data records can be challenging. In accordance with some implementations, a ring-based graphical visualization, such as 100 in
The pixels within each discrete ring represent corresponding data records in respective time intervals (e.g. a time interval can be a measurement interval during which a measurement can be taken to provide a value of a data record). Note that a discrete annular ring can be generally circular in shape. Alternatively, a discrete annular ring can have a different shape, such as a rectangular shape, a polygon shape, and so forth.
In addition to the discrete annular rings that include pixels representing various attributes of data records, a correlation ring 110 can be provided to indicate correlation among two or more attributes represented in the discrete rings 102, 104, 106, and 108.
In a specific example according to
Within each discrete ring 102, 104, 106, or 108, the pixels are temporally arranged according to the time intervals of the data records being represented by the discrete ring. For example, in ring 102, the pixels are arranged according to time intervals corresponding to the data records that contain the Amb attribute; in ring 104, the pixels are arranged according to time intervals corresponding to the data records that contain the cpu1Temperature attribute; and so forth. Stated differently, each of the discrete rings 102, 104, 106, and 108 represents a time series of values of a corresponding different attribute.
Each pixel can represent a data record for a particular time interval (e.g., minute). Assuming that each discrete ring represents attribute values collected over a day, then there can be 1,440 (24×60) pixels in each discrete ring, to represent the 1,440 minutes within each day. In a different example, each pixel can represent a data record for an hour—in such example, a discrete ring that represents attribute values collected over a day would include 24 pixels, to represent the 24 hours within each day.
Additionally, the pixels across different annular rings are temporally aligned such that along a given radial axis in the graphical visualization 100, the pixels in the different annular rings 102, 104, 106, and 108 represent the same time interval. For example, temporally aligning the pixels along a radial axis across different annular rings can refer to the fact that the pixels in the different discrete rings along the radial axis represent data records at the same minute. For example, a radial axis 112 depicted in
The pixels in the discrete rings 102, 104, 106, and 108 are assigned corresponding visual indicators, which can be colors as shown in
For example, in the ring 102, different colors are assigned to pixels according to different values of the Amb attribute. A red color indicates a higher ambient temperature, while a green color represents a lower ambient temperature.
In addition to the discrete annular rings 102, 104, 106, and 108 that contain pixels representing various attributes, the ring-based graphical visualization 100 can also include the correlation ring 110. In some examples, such as in
The correlation ring 110 has visual indicators for indicating degrees of correlation between at least two of the attributes represented by the pixels in the discrete rings 102, 104, 106, and 108. In some implementations, the visual indicators of the correlation ring 110 include different brightness for indicating different degrees of correlation between the at least two attributes. More generally, the correlation ring 110 has visual indicators for indicating degrees of correlation among (two or more) of the attributes represented in the discrete rings containing pixels representing attributes.
The brightness of the correlation ring 110 at any given annular position in the correlation ring 110 represents the degree of correlation among the attributes at the corresponding time interval. In
In some implementations, a user can select any two or more of the attributes of the discrete rings for correlation. For example, the user can select just two attributes, select three attributes, and so forth. The selection can be accomplished using any of various techniques, such as drawing a selection box, entering the attributes into a control menu, clicking on the discrete rings, and so forth.
As an example, the brightness of the correlation ring 110 at the annular position corresponding to the radial axis 112 represents the degree of correlation among the attributes Amb, cpu1Temperature, cpu2Temperature, and Util at the time interval (e.g. 19:51) corresponding to the radial axis 112. A higher brightness indicates that there is a higher degree of correlation, while a lower brightness, such as at the annular position corresponding to radial axis 116, indicates a lower degree of correlation.
Where there is no correlation among attributes, the corresponding portions of the correlation ring 110 can be faded. Fading a portion of the correlation ring can refer to making the portion darker as compared to other portions of the correlation ring 110 that indicate various degrees of correlation among the attributes. In some examples, the faded portion of the correlation ring 110 can be made black, such as in portion 118. Fading non-correlated areas allows an analyst to better focus on areas of higher correlation.
In the example of
In the region 122, there is a relatively high degree of correlation between the ambient temperature (Amb) and the temperatures of the first and second CPUs—this may indicate that high ambient temperature is causing high CPU temperatures. Note that there is low correlation between system utilization (Util) represented by the discrete ring 108 and the CPU temperature attributes represented by discrete rings 104 and 106 in region 122.
In region 124, there is relatively high correlation between system utilization (Util) and the temperatures of the CPUs—this may indicate that high system utilization is leading to increased CPU temperatures. Note, however, that in region 124, there is relatively low correlation between the ambient temperature represented by the discrete ring 102 and the CPU temperatures represented by the discrete rings 104 and 106.
Although just one correlation ring 110 is shown in
A user can select a particular pixel in any of the discrete rings 102, 104, 106, and 108 to obtain additional information regarding the pixel (a “drill-down” operation). For example, when a user moves a cursor over a particular pixel, a pop-up box can be displayed to depict additional information regarding the selected pixel. Additionally, a user can zoom into a particular portion of the ring-based graphical visualization 100 to obtain a larger view of the portion. A user can also perform other interactive tasks with respect to the multi-attribute ring-based graphical visualization 100 to perform other tasks.
By using the correlation ring, such as the correlation ring 110 of
As noted above, a degree of correlation represented by a visual indicator (e.g. brightness) in the correlation ring 110 can be based on pair-wise correlations between attributes represented by the discrete rings 102, 104, 106, and 108 containing pixels representing corresponding attributes. A pair-wise correlation refers to a correlation between a pair of attributes. In the example of
In some examples, to compute a correlation between a pair of attributes, a sliding time window can be moved over the two attributes of each pair, and a Pearson correlation coefficient (or other type correlation coefficient) can be calculated for the pair in the corresponding time window. The correlation coefficient computed for a particular time window between a pair of attributes (A1, A2) can be computed as follows:
In the foregoing, the correlation coefficient C between attributes A1 and A2 is set to the value 1 if there is no (or low) change in values of attributes A1 and A2 in the particular time window (ΔA1, ΔA2≈0). In other words, if the values of both attributes A1 and A2 do not change over the time window, or the difference between the attributes A1 and A2 is less than some predefined threshold, the correlation coefficient C is set to the value 1 (or 0 or some other predefined value according to user specification). On the other hand, if there is change in value of either or both of attributes A1 and A2 that is greater than the predefined threshold, then the correlation coefficient C is computed according to dividing the covariance of A1 and A2 by the product of the square root of each of the variants of A1 and A2, as specified in the equation above.
A higher value of the correlation coefficient C indicates a higher degree of correlation. In other examples, other types of correlation coefficients among two or more attributes can be computed.
In examples where correlation coefficients (e.g. C1, C2, . . . , Cn, where n>1) are computed for multiple respective pairs of attributes, then an aggregate (e.g. average, median, etc.) of the pair-wise correlation coefficients C1, C2, . . . , Cn can be computed to determine the overall degree of correlation among the attributes. The respective visual indicator in the correlation ring can be set according to this overall degree of correlation.
The process further provides (at 204) a correlation ring (e.g. 110 in
The process places (at 304) pixels representing the different attributes in corresponding different discrete rings of a graphical visualization. Effectively, each discrete ring contains pixels representing a corresponding time series of attribute values (of a respective attribute).
The process also computes (at 306) correlation coefficients for each of multiple pairs of attributes. Assuming that the correlation is to be performed for more than two attributes, the multiple pairwise correlation coefficients can be aggregated to produce an overall correlation coefficient, which can be used to determine the corresponding visual indicator to be used in a correlation ring.
The process then displays (at 308) the correlation ring in the graphical visualization, where the correlation ring has visual indicators for indicating degrees of correlation among the attributes according to the calculated correlation coefficients.
A number of sectors is calculated for each discrete ring. Note that both discrete rings 400 and 401 include the same number of sectors. Each sector is represented generally by a polygon 402 in
Sector lines 404 define a sector 402. Each sector 402 is defined between two adjacent sector lines 404. Two radial points 406 and 408 along each sector line 404 can be determined for each corresponding discrete ring. The two radial points 406 and 408 define the width of a discrete ring, which in the example in
In
The correlation ring visualization module 502 is able to perform processes discussed above, including processes of
The storage medium (or storage media 508) can be implemented as one or multiple computer-readable or machine-readable storage media. The storage media include different forms of memory including semiconductor memory devices such as dynamic or static random access memories (DRAMs or SRAMs), erasable and programmable read-only memories (EPROMs), electrically erasable and programmable read-only memories (EEPROMs) and flash memories; magnetic disks such as fixed, floppy and removable disks; other magnetic media including tape; optical media such as compact disks (CDs) or digital video disks (DVDs); or other types of storage devices. Note that the instructions discussed above can be provided on one computer-readable or machine-readable storage medium, or alternatively, can be provided on multiple computer-readable or machine-readable storage media distributed in a large system having possibly plural nodes. Such computer-readable or machine-readable storage medium or media is (are) considered to be part of an article (or article of manufacture). An article or article of manufacture can refer to any manufactured single component or multiple components. The storage medium or media can be located either in the machine running the machine-readable instructions, or located at a remote site from which machine-readable instructions can be downloaded over a network for execution.
In the foregoing description, numerous details are set forth to provide an understanding of the subject disclosed herein. However, implementations may be practiced without some or all of these details. Other implementations may include modifications and variations from the details discussed above. It is intended that the appended claims cover such modifications and variations.