Placing temporally aligned and variably sized pixels in discrete rings in a graphical visualization

Data points contain data values in respective time intervals. Pixels representing data points for time periods (each time period including multiple time intervals) are placed in corresponding discrete rings in a graphical visualization, wherein the pixels are user accessible to allow viewing of information of the corresponding data points. The pixels are temporally aligned in the corresponding discrete rings, and the pixels in the corresponding discrete rings are variably sized depending on a number of data points in the respective time periods.

BACKGROUND

An enterprise can collect a relatively large amount of data points over time. Such data points can be visualized in graphical visualizations. However, visualizing relatively large amounts of data points can be associated with various challenges.

DETAILED DESCRIPTION

An enterprise (e.g. business concern, educational organization, government agency, individual, etc.) can collect a relatively large amount of data points. 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 points 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.

A data point 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 point (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 patterns in the data points over time. Recognizing such patterns over time in a relatively large volume of data points can be challenging. In accordance with some implementations, a graphical visualization is provided that includes discrete annular rings of pixels, where the pixels represent corresponding data points 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 point). Note that an annular ring can be generally circular in shape. Alternatively, an annular ring can have a different shape, such as a rectangular shape, a polygon shape, and so forth. Note also that each discrete annular ring of the graphical visualization corresponds to a respective time period, where a time period is made up of multiple time intervals. As a specific example, a time period corresponding to a discrete annular ring can correspond to a day, whereas a time interval corresponding to a pixel can be a minute. A graphical visualization that includes discrete annular rings of pixels can also be referred to as a “tree-ring” graphical visualization, since the discrete annular rings are similar to tree rings that appear in a trunk of a tree, where the rings are built up over time.

An example tree-ring graphical visualization100is depicted inFIG. 1. The graphical visualization100includes multiple discrete annular rings102,104, and106, where the multiple discrete annular rings102,104, and106correspond to different time periods (e.g. different days). A set of data points (which can include a historical data set previously collected or data points that are being continually acquired) can be divided into multiple time periods, where each time period can correspond to a corresponding one of the discrete annular rings of the graphical visualization100. As shown inFIG. 1, time labels (e.g. 6/6, 6/7, and 6/8) are added to the annular rings102,104, and106to identify the time periods associated with the annular rings.

For example, the innermost annular ring102can contain pixels representing data points for a first day, the intermediate annular ring104can contain pixels representing data points for a second day (after the first day), and the outermost annular ring106can contain pixels representing data points for a third day (after the second day). Although three annular rings are depicted inFIG. 1, note that in other examples, the graphical visualization100can include less than three annular rings or more than three annular rings. Moreover, as additional data points are received and added to the graphical visualization100, additional annular rings can be added to the graphical visualization100. For example, a fourth annular ring can be added outside the third annular ring to represent data points for a fourth day (after the third day).

AlthoughFIG. 1shows discrete annular rings for corresponding different days, it is noted that in other examples, the discrete annular rings can correspond to different time periods, such as hours, weeks, months, years, and so forth.

Within each annular ring, the pixels are temporally arranged according to the time attribute of the data points being represented by the annular ring (the annular ring represents a time period, such as a day). Pixels in different annular rings are temporally aligned (as discussed further below). Each pixel can represent a data point for a particular time interval (e.g., a minute)—this time interval represented by each pixel has a different time length than that of the time period represented by an annular ring (a time period includes multiple time intervals). Assuming that each annular ring represents a day, then there can be 1,440 pixels (24×60) in each annular ring, to represent the 1,440 minutes within each day. In a different example, each pixel can represent a data point for an hour—in such example, an annular ring would include 24 pixels, to represent the 24 hours within each day. It is noted that tree-ring graphical visualizations depicting corresponding different data sets (having different numbers of data points) can have different time intervals corresponding to pixels. Techniques or mechanisms according to some implementations can automatically perform temporal alignment of the pixels for each data set without user involvement.

Additionally, the pixels across different annular rings are temporally aligned such that along a given radial axis in the graphical visualization100, the pixels in the different annular rings102,104, and106represent 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 annular rings along the radial axis represent data points in different days at the same minute. For example, a radial axis110depicted inFIG. 1can correspond to the 51stminute of hour 17 (17:51). The pixels in the three discrete annular rings102,104,106that are along the radial axis110represent data points for hour 17, minute 51 (17:51) on three consecutive days.

The pixels in the annular rings102,104, and106are assigned corresponding visual indicators, which can be colors as shown inFIG. 1. A color scale112is depicted inFIG. 1and maps different colors to different values of the attribute that is being depicted. In the example graphical visualization100ofFIG. 1, the attribute that is being visualized is a power attribute (in kilowatts or kW). Different power values are assigned different colors in the color scale112. The pixels depicted in the different annular rings102,104, and106are assigned different colors according to different values of the power attribute at respective time intervals. In other examples, visual indicators assigned to pixels can be for another attribute. Moreover, instead of using different colors, other types of visual indicators can be assigned to pixels, such as different graphical patterns, different gray levels, and so forth.

FIG. 1also shows that the three annular rings102,104, and106are separated from each other by visible boundaries, in the form of dark circles between the annular rings. This allows a user to easily recognize groups of pixels for corresponding different time periods represented by the respective annular rings.

As further shown inFIG. 1, a user can select a particular pixel to obtain additional information regarding the pixel. For example, when a user moves a cursor over a particular pixel, a pop-up box120can be created to depict additional information regarding the selected pixel. More generally, the pixels in the tree-ring graphical visualization100are user accessible to allow user viewing of additional information of the corresponding data point. Additionally, a user can zoom into a particular portion of the tree-ring graphical visualization100to obtain a larger view of the portion.

FIGS. 2(a)-2(d) illustrate a real-time construction of the graphical visualization100as data points are received. Pixels representing data points are considered to be added or placed in the graphical visualization100in real-time if the pixels are being added as the data points are received by a processing system.

FIG. 2(a) shows a partial construction of the innermost annular ring102containing pixels representing data points received so far for the first day. Placement of the pixels in the partial innermost annular ring102is according to a sequence based on the time attribute of the data points. As additional data points are received, the remaining pixels in the innermost annular ring102are placed. Once all pixels corresponding to the data points for the first day are placed in the innermost annular ring102, the second annular ring104is created to place pixels for data points in the second day.FIG. 2(b) shows a partial construction of the second annular ring104.FIG. 2(c) shows completion of the second annular ring104, followed by the partial creation of the third annular ring106.FIG. 2(d) depicts the completion of the third annular ring106after all the corresponding data points for the third day have been received.

As additional data points are received, additional annular rings can be added to the graphical visualization100.

FIG. 3is a flow diagram of a process of providing a tree-ring graphical visualization according to some implementations. The process divides (at302) data points into multiple time periods, where each time period includes its respective subset of data points. The data points contain data values in respective time intervals (e.g. measurement intervals). As noted above, each time period includes multiple time intervals. The process then places (at304) pixels representing data points in the multiple time periods in corresponding discrete annular rings in a graphical visualization, such as in the annular rings102,104, and106of the graphical visualization of100ofFIG. 1. The pixels in the corresponding discrete annular rings are temporally aligned (at306) such that pixels along a given radial axis in the graphical visualization correspond to data points for the same time point (e.g. same time) in different time periods (e.g. different days). Additionally, the pixels in the corresponding discrete annular rings are variably sized depending on a number of data points in the respective time periods. Stated differently, the size of pixels in each annular ring depends on the number of data points to be represented in the annular ring. The different annular rings each includes the same number of pixels. Additionally, the size of pixels in a first annular ring differs from the size of pixels in a second, different annular ring.

FIG. 4is a flow diagram of a process of constructing an annular ring according to some implementations. Reference is also made toFIG. 5in the discussion ofFIG. 4, whereFIG. 5shows two example annular rings500and501along with various parameters associated with each annular ring.

The process ofFIG. 4calculates (at402) a number of sectors for each annular ring (note that both annular rings500and501would include the same number of sectors). Each sector is represented generally by a polygon502inFIG. 5. Each polygon502defines generally the area in which a corresponding pixel in the annular ring501is located. The number of sectors502depends upon the number of pixels to be included in the annular ring. Based on the number of sectors502to be included in the annular ring, the process calculates (at404) the sector angle (represented as ∝) The sector angle is the same for each of the sectors for the annular ring.

TheFIG. 4process further creates (at406) sector lines504that define a sector502. Each sector502is defined between two adjacent sector lines504. TheFIG. 4process also calculates (at408) two radial points506and508along each sector line504for each corresponding annular ring. The two radial points506and508define the width of an annular ring, which in the example inFIG. 5is annular ring501. The points506,508on the sector lines504are connected together (at410) to form a polygon502.

InFIG. 5, each annular ring500or501includes eight pixels (which correspond to the eight sectors defined by the sector lines504ofFIG. 5). In total, the two annular rings500and501include 16 pixels.

The process ofFIG. 4is repeated for each of the other annular rings. Note that each of the annular rings of the graphical visualization includes sectors having the same sector angle ∝, and sharing the same sector lines504.

By using tree-ring graphical visualizations according to some implementations, a user can be able to quickly visually compare patterns across different time periods, to identify any events or issues that may have to be addressed or corrected. User interaction is possible with respect to the tree-ring graphical visualization to obtain further information regarding particular pixels, to aid in identifying a cause of an issue or event.

FIG. 6is a block diagram of an example system600that includes a tree-ring visualization module602executable on one or more processors604. A processor can include a microprocessor, microcontroller, processor module or subsystem, programmable integrated circuit, programmable gate array, or another control or computing device.

The tree-ring visualization module602is able to perform processes discussed above, including processes ofFIGS. 3 and 4, for example. The processor(s)604can be connected to a network interface606to communicate over a network and can be connected to a storage medium (or storage media)608. The storage medium (or storage media)608can store a data set610, such as a data set of data points. Data set610can be a historical dataset that was previously acquired, or alternatively, the data set610can include data points that are continually received by the system600, where such continually-received data points are visualized in real-time using the tree-ring visualization module602.