A Visualization Technique for Hierarchical Time Series Task Data
Yumiko Uchida Takayuki Itoh
Graduate School of Humanitics and Sciences, Ochanomizu University
E-mail {yumi-ko,itot}@itolab.is.ac.jp

Abstract
This paper presents an information visualization
technique that represents both time series informationand hierarchical structure onto a two-dimensional
display space. It represents time series data as barcharts along the horizontal axis of a screen, andhierarchical structure as nested rectangular borders
enclosing the bar charts. It packs the nested
rectangular borders representing hierarchicalstructure so that it can represent a lot of information ina limited display space. We suppose there are various
applications of the technique since we can obtain muchinformation from large-scale data in one display.
This paper shows the visualization result of a task
table used for business progress management andloads of a parallel computing environment as examplesof results of the proposal technique.

1. Introduction
Information visualization is an active research area
which helps understanding of abstract information
applying computer graphics. An advantage of
information visualization is that users can intuitively
understand data than reading them expressed only bycharacters or numerical values.
Shneiderman has advocated seven types of data
structure: one dimension, two-dimension, threedimension, n dimension (n>3), time series, hierarchicalstructure, and graph, as a classification of data used in
information visualization [1]. There have been manytechniques for visualizing each of above data structure.
While on the other hand, many techniques forvisualizing data compounded above seven types ofdata structures is actively proposed.

This paper focuses on hierarchical and time series
data from the above seven data structure. Here, we
define hierarchical structure data as the data forming atree structure, while those each data element ishierarchically grouped. We also define time series dataas the data representing the time-varying change of acertain phenomenon. Visualization of time series data
is very valuable, because it is generally difficult todiscover the temporal response of a certain
phenomenon from character-based description of timeseries data.
This paper presents a technique for visualizing
hierarchical time series task data. We define a task as
the operating unit which has start time and end time.
Here we treat each task as leaf node, and group of tasks
as non-leaf nodes, so that we can form collection oftasks as hierarchical data.
This technique represents a time series along thehorizontal axis on a screen, and represents each taskusing bar charts - horizontally stretched thin rectangles.
Moreover, the technique represents the hierarchicalstructure of task groups as nested rectangular borders.
This representation follows our hierarchical datavisualization technique "HeiankyoView" [2]. The
technique proposed in this paper can represent thewhole large-scale data containing a lot of tasks in one
display space, by packing the rectangle areas so thatthe amount of blanks are minimized in the display.
As an example of application of this technique, we
consider the visualization of a task table used forbusiness progress management of companies. Typicaltask tables record assignments, schedule, degree ofprogress, and so on. Although commercial productionof the task management tool is progressing in recentyears, most of them display a schedule and a degree ofprogress divided into two or more windows. Therefore,

it is controversial to develop visualization techniquewhich enables us to simultaneously get a lot of
information such as task progress and schedule.
We also visualize the load of parallel computing
environment as task data, as another example ofapplication of the technique. We assume that eachthread of parallel computing as a task, and the threads
record start time, end time, load to a computer, and soon. We can form hierarchical time series task data byclassifying these task groups according to their various
attributes, such as types of threads or assigned
computers. We expect visualizing these data will
support to determine suitability of scheduling of
hierarchical parallel computing environment. This
paper tests an availability of proposal technique, as we
visualize the processing time monitored in actual
parallel computing environment and discussing its
scheduling results.

these work, the proposed technique attempts tominimize the display space usage while itsimultaneously represents both hierarchical and timevarying information.

3. HeiankyoView
HeiankyoView [2] is one of the techniques forvisualizing hierarchical data, which represent leaf
nodes as square icons, and non-leaf node as rectangularframes. Fig. 1 shows an example of visualization resultof hierarchical data by using HeiankyoView. A featureof HeiankyoView is placing all leaf nodes over thewhole hierarchical data in one display space. It
efficiently uses display area by packing rectangles sothat the blank spaces are minimized. HeiankyoView isappropriate for visualizing large-scale hierarchical data,
since it can display many nodes in one display space,
representing a hierarchical structure.

2. Related Work
The technique proposed in this paper visualizes
hierarchical data structure in one display space, bypacking data items onto a display space while it
attempts to minimize the display space usage. Thisapproach is often called “space-filling approach”,
where HeiankyoView [2] is a typical space-fillinghierarchical data visualization technique. The most
famous space-filling hierarchical data visualization
technique is TreeMaps [3] proposed by Johnson et al.,which recursively divides a display space to form anested band chart. There have been several variationsof TreeMaps that improve its appearance andcapability [4] [5]. The technique proposed in this paper
is a kind of the combination of space-fillinghierarchical data visualization technique with timevarying data visualization technique.
There have been several works which represent task
data. Some of works extend Gantt Chart, a typicalrepresentation of task data. Some other works extend
bar charts to represent hierarchical or network timeseries data [6]. There has been also a technique which
represent time series and hierarchical structure by
combining a bar graph, a line graph, and figures
representing network on a display [7] [8]. AgainstFig.1 ： An example of visualization result ofhierarchical data by HeiankyoView
Our technique proposed in this paper represents timeseries information using bar charts like typical existing
techniques, and hierarchical structure as rectangularborders like HeiankyoView.

4. Proposal Technique
4.1 Data Structure
Table 1 shows an example of data for our technique,which forms hierarchy as
Project ⊃ Function ⊃ Task ⊃ STask .

Fig. 2 represents the data of Table 1 as hierarchicaldata. We treat lowest data elements (STask in the caseof Table 1) of each task as leaf nodes, and the higher
level unit (Project, Function, Task in the case of Table1) of each task as non-leaf nodes. We assume that eachleaf node contains start and end time, respectively, andtreat them as time series information.

Table1: An example of task table.

ScheduleStart Day
End Day

Task
ProjectFunction1
Task1.1
STask1.1.1
STask1.1.2
Task1.2
STask1.2.1
STask1.2.2
STask1.2.3
STask1.2.4

2006/04/01 2006/04/30
2006/04/01 2006/04/30

end day in the case of Table 1), and non-leaf nodes as
nested rectangular borders which enclose bar charts.

4.2 Overview of this techniqueFig. 3 shows the overview of the rectangle packing
algorithm used in this technique. The techniqueassumes the time-axis as a horizontal axis of a display,and set up a horizontal base point line. The techniqueplaces bar charts on a base point line so that they may
not overlap with each other, and then encloses them bya rectangular border. It places these rectangles so thatthey may not overlap each other, and blank spaces areminimized. Repeating this process recursively fromlowest to highest levels of hierarchy, it represents thewhole data.

2006/05/01 2006/05/31
2006/05/01 2006/05/31
2006/05/01 2006/05/31
2006/05/01 2006/05/31

Function2
Task2.1
::

:
:

:
:

:
:
Fig.3：The overview of the packing
algorithm applied in this technique.

Project

4.3 Algorithm for Packing Rectangles
Function1

Task1.1

Stask1.1.1

Task1.2

STask1.2.1

Funciton2

Task2.1････････non-leaf node･･･leaf nodeFig.2：Representation of the data
in Table 1 as hierarchical data.
The technique proposed in this paper represents leaf
nodes as bar charts, where those lengths areproportional to their duration (between start day andLet positions of the vertices of an already placed
rectangle R j as shown in Fig. 4. The techniquecalculates the x-coordinate value of the vertices of therectangle Ri according to the start time and the end
time (start day and end day in the case of Table 1). If
the calculated x-coordinate value of Ri is set tox ai , x bi ( x ai < x bi ) and satisfies equation (1), it
may overlap with Ri (See Fig. 5).
xaj < xbi ∩ xai < xbj …(1)Referring to positions of R j satisfying equation (1),the technique determines the position of Ri
Supposing there are k rectangles which satisfy
equation (1). For these rectangles, the technique varies
ycj in ascending order, as y'c1 , y'c 2 , … y'ck , and y dj
in ascending order, as y ' d 1 , y ' d 2 , … y'dk .
From s = 1 to order1) Place Ri temporarily where the y-coordinate of
the lower edge of Ri as y di = y ' ds .
2) Find R j which satisfies y 'cj < y di ∩ y ci < y ' dj .
・If there is at least one rectangle which satisfies theabove condition, Ri overlaps to the already placedrectangle. Then let s increase by one and return to1).
・If there are no rectangles which satisfy the above
equation, we arrange Ri as y di = y ' ds (See Fig. 6).
Applying this process for all Ri , we determine
positions of all bars and rectangles.

( xbj y dj )( x aj , y dj )( xaj , ycj )( xbj , y cj )Second candidate position.
In this case, rectangle isplaced here.

RiFirst candidate.

x ai

xbi

Fig.6: Searching for the position in which thecurrently placing rectangle does not overlap toother rectangles.

Fig.4：Positions of vertices of a rectangle.

Rectangles
which do notsatisfy equation
(1)
donot
overlap with Ri.

Ri

Fig. 7： A visualization result of a task table

x ai

xbi

Fig. 5: Condition whether rectangles
overlap to currently placing rectangle.

5. Results
We implemented the proposed technique on Java 1.5,
and executed on HP dc5700 Small Form (CPU 2.8GHz,
RAM 0.99GB) with Windows XP. The following
results will be also published as color document files at
http://itolab.is.ocha.ac.jp/ .

Fig. 7 shows a task table visualized by our technique.
Here, colors of bar charts denote degree of progress oftask, where a redness bar chart represents a task withlow degree of progress, and a blueness bar chart
represents a task with high degree of progress. This
technique helps us to understand the distribution of thesection behind schedule.
This section also introduces another example ofvisualization of task data, constructed from load dataof parallel computing environment, as shown in Fig. 8.
Here, bars denote threads of parallel computing
processes, and rectangular borders denote hierarchy of
the threads. Color of bars denotes degree of their scales(such as CPU time or memory usage) so that redness

bars represent large threads, and blueness bars
represent small threads.
This experiment classifies threads and constructs
hierarchy according to the following rules:• There are same numbers of firstly executed
threads and secondly executed threads. Thissection calls former threads "thread A", and latterthreads "thread B".
• This experiment forms low-level groups gathering
several thread A, and then forms a high-levelgroup consists of all thread A, by collecting all
the low-level groups. The experiment similarly
forms two-levels of groups of thread B.
• Thread A relates to thread B one for one. A thread
B can not start until the related thread A iscompleted.
One of the typical examples of processes forming such
hierarchy is parallel processing of graphics hardware,
where coordinate conversion process corresponds tothread A, and pixel process corresponds to thread B.
In Fig. 8, this technique displays whole thread A on
the upper half of the visualization result, and wholethread B is displayed on the lower half.
Fig. 8 (upper) shows an example of visualizing
parallel computing environment, where processing
time of thread A is shorter than that of thread B. Here,parallel computing starts all threads of a group ofthread B after all threads of the related group of thread
A are completed. However, if threads of another groupof thread B still run at this time, parallel computing
must wait to complete all of them, and after that it canstart the threads of another group of thread B. Fig. 8(upper) shows a situation that two or more groups ofthread B continue even if all thread of thread A iscompleted. Fig. 9 (left) is a zoom-up of the right end of
Fig 8. (upper), which represents several threads ofthread B still run after all threads of thread A iscompleted.
Fig. 8 (middle) also shows an example ofvisualization result of parallel computing environment,
where processing time of thread A is shorter than thatof thread B. Unlike the previous example shown in Fig.
8 (upper), parallel computing starts the threads of agroup of thread B unconditionally, when threads of therelated group of thread A is completed. Thisvisualization result shows that parallel computing
completes whole thread A and B almost simultaneous.
Fig. 9 (middle) is a zoom-up of the right end of Fig. 8(middle), which represents thread A and B are
completed almost simultaneous. Moreover, this result
also shows that a load of CPU becomes larger since
processing of two or more group of thread B runs atcertain time.
Fig. 8 (lower) shows an example of visualization
result of parallel computing environment, whereprocessing time of thread A is longer than that ofthread B. Here, similar as Fig. 8 (upper), parallel
computing starts threads of a group of thread B after
threads of the related group of thread A and othergroups of thread B are completed. This visualization
result shows that a group of thread B has finishedprocessing while a group of thread A is running.
Moreover, this result also shows that idle time isarising in a part of processing of thread B. Fig. 9(right) is a zoom-up of Fig. 8 (lower), which represents
that thread B is often idle.
We expect that such visualization shown in Figures
8 and 9 can contribute to configure parallel computing
environment.

6. Conclusion and Future Work
This paper proposed a technique for visualizing
hierarchical time series task data, and showedvisualization result of a task table and parallel
computing environment.
As a future work, we would like to develop atechnique to place rectangles as seamless as possible
when the period of a task is changed. Furthermore, wewould like to consider of dependency among tasks fortheir placement. We are also planning to conduct a user
test using task data containing certain problems, toproof the availability of this technique. Ultimate targetsof this study include simulations of scheduling of tasks
which assume various situations.

Acknowledgment
We appreciate Masato Oguchi, Professor ofGraduate School of Humanitics and Sciences,
Ochanomizu University, for his advices aboutvisualization of parallel computing environment.

Information Space, IEEE Visualization ’91, pp. 275-282,
1991.
[4] Bederson B., Scheneiderman B., Ordered and Quantum
Treemaps: Making Effective Use of 2D Space to Display
Hierarchies, ACM Transaction on Graphics, Vol. 21 No. 4,pp. 833-854, 2002.
[5] Bruls D. M., Huizing K., Wijk J. J., Squarified Treemaps,
Proceedings of Data Visualization 2002, pp. 33-42, 2000.
[6] Herrmann J. W., A History of Decision-Making Tools forProduction Scheduling, Multidisciplinary Conference on
Scheduling: Theory and Applications, 2005.
[7] Russell, A. D., Udaipurwala, A., Construction Schedule
Visualization, Proceedings of the International Workshop on
Information Technology in Civil Engineering, 2-3 November
2002, pp. 167-178, 2002.
[8] Russell, A. D., Udaipurwala, A., Integrated Project
Planning through Hierarchical Scheduling, Proceedings ofSpecialty Conference on Fully Integrated and AutomatedProject Processes, pp. 311-321, 2002.

Fig. 8 ： Examples of visualization of tasks
obtained from a parallel computing

References[1] Shneiderman B., The Eyes Have It: A Task by Data Type
Taxonomy for Information Visualization, IEEE Symposium
on Visual Languages '96, pp. 336-343, 1996.
[2] Itoh T., Takakura H., Sawada A., Koyamada K.,
Hierarchical Visualization of Network Intrusion Detection
Data in the IP Address Space, IEEE Computer Graphics andApplications, Vol. 26, No. 2, pp. 40-47, 2006.
[3] Johonson B., Scheneiderman B., Tree-Maps: A Space
Filling Approach to the Visualization of HierarchicalFig. 9： Extended figure of distinct part of Fig. 8