Browse Prior Art Database

Visualization of Large Server Environments Using TreeMap techniques Disclosure Number: IPCOM000124970D
Original Publication Date: 2005-May-16
Included in the Prior Art Database: 2005-May-16
Document File: 4 page(s) / 56K

Publishing Venue



One of the daunting tasks that graphical user interface designers face today is how to slake the user's thirst for information with a minimal amount of space. There are several existing attempts at solving this problem, such as collapsable trees, dropdown boxes, and menus. The treemap is another way of displaying a large amount of data in a relatively small amount of space. Data is rendered recursively within a bounding rectangle, which allows the size to be deterministically specified, regardless of the amount of data to be portrayed. The particular strength of a treemap is the ability to display relative magnitude and health. The magnitude of some metric (whether it's dollars, requests, touchdowns, or people) is represented by rectangle size, while the health (goal attainment as percentage, dollars, calories, etc.) may be depicted as a shade between two colors defined as extremes. This article further describes the construct mentioned here.

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 46% of the total text.

Page 1 of 4

Visualization of Large Server Environments Using TreeMap techniques

What is a Data Tree?

One of the most well-known and oft-used data structures in computer science is a tree. A tree consists of a single a single root node, which has several descendant child nodes. Each of these child nodes may have child nodes of its own (making it a parent node), or be a leaf node (a node having no child nodes). Note that a leaf node is a special type of child node. The shape of a tree resembles a triangle; a single root node at the tip fans out over one or more descendant levels into many leaf nodes. Thus, the width of the structure usually increases downward, although a tree with a fan-out of only 1 will obviously not increase in width.

Trees are used to store hierarchical data such as family trees or organizational structures as well as in the implementation of many well-known algorithms (e.g. heap sort). A simple example of a Tree is shown in Figure 1 - Tree Data Structure.

Figure 1.

What is a Treemap?

In GUI programming, one of the most interesting problems is the method for visualizing certain types and/or structures of data. Most often, the data structures that need to be displayed in administrative consoles and the like are list- or map-based. Generic representation of a tree, however, embodies an interesting challenge, because the number of nodes in a full tree grows exponentially with the height of the tree. The problem is simply how to visually represent all of that data in a neat, concise, and meaningful fashion. Enter TreeMaps.


[This page contains 1 picture or other non-text object]

Page 2 of 4

Figure 2

A TreeMap is a rectangular region which is recursively subdivided into smaller rectangles for each of its child nodes. The size of a rectangle is usually determined by some attribute of each of the nodes. It may represent the salary of an employee, the GPA of a student, or the population of a state. As a tree is traversed downwards, generated rectangles become smaller and smaller, as each node obviously has at least one less descendant node than its parent. In addition to portraying relative size, TreeMaps work well for displaying containment. In this sense, another word for 'containment' is 'descendance.' Some examples are "node A belongs to network N," "person 'Mike' is a descendant of person 'Helen'," etc. Furthermore, the rectangle generated for a given node may be shaded according to some attribute of that node, thereby representing a third type of relationship. This type of attribute is most likely a percentage which is correlated to some point in a gradient of shades. An example of such a property could be CPU usage, cache hit rate, or batting average. An example is shown in Figure 2 - TreeMap. As can be seen, the rectangle labeled "bul03Network" contains the rectangle labeled "Blue", which in turn contains 2 other rectangles. One of these rectangles contains 4 shaded rectangles (all red if viewed in color) representing leaf...