Rev Socionetwork Strat (2015) 9:19-27
Research Note: A High Resolution Graph Viewer for Multi-monitor Visualization Environment Ryoichi JINGAI1), Yoshiyuki KIDO 2)3), Susumu DATE 2) and Shinji SHIMOJO2) 1)
Graduate School of Information Science and Technology, Osaka University 1-5 Yamadaoka, Suita 565-0871, Osaka, Japan
2)
Cybermedia Center, Osaka University
3)
Quantitative Biology Center, RIKEN
5-1 Mihogaoka, Ibaraki 567-0047, Osaka, Japan 1-6-5 Minatojima-minamimachi, Chuo, Kobe 650-0047, Hyogo, Japan
[email protected] [email protected] [email protected] [email protected]
Received: 25 May 2015 / Accepted: 15 June 2015 © Springer 2015
Abstract. Bigdata analysis is a hot topic in all fields of science. Particularly in scientific fields investigating data relations, observation and analysis of relation among diverse data sets has begun to play a role of great importance. A graph is a representative expression for the purpose and many graph viewers and tools prevail today. However, most of these graph viewers do not offer the capability for displaying graphs on a multi-monitor visualization environment, even though multi-monitor visualization environment facilitates scientists in understanding data in a more detailed and intuitive manner. In this paper, our first exploration towards a high resolution graph viewer for a multi-monitor visualization environment is explored and reported. Keywords: Graph viewer, Large-scale visualization
20
Rev Socionetwork Strat (2015) 9:19-27
1 Introduction In recent years, with the performance improvement of computers and observation equipment, the amount of data that must be analyzed has been dramatically increased. Today’s advances in science require the exploration and investigation of big data composed of a heterogeneity of scientific data. In particular, the investigation and analysis of the relation between different data sets are becoming important in exploring and understanding new scientific discoveries. Intuitive and easy-to-understand visualization of scientific data is indispensable for the purposes described above [1]. Visualizing the relation between data sets as a network graph, which is expressed using nodes and links, is highly effective in big data science, where a heterogeneity of scientific data must be treated, for example, in complex biological systems such as the relation between proteins and between genes are expressed [2], [3]. In social science as well, network graphs can be used to extract information about interactions between people to understand human behaviors [4]. A major reason why network graphs are used for visualization of large data is that such data can be structured into expressions that can be mathematically processed based on graph theory on computer systems. Many graph visualization tools prevail today. These tools can be used to visualize cluster properties representing the degree of integration on nodes, and the scale-free properties for extracting a network hub. Also, co-occurrences on network graphs that change over time can be extracted because of the scale-free property and the cluster property between seemingly unrelated events that occur at the same time [5]. In searching co-occurrences, a scientist can simultaneously comprehend an entire network graph and see a specific graph region in detail by visualizing it in high resolution manner. However, most of these graph visualization tools are currently used with a single monitor, which means that the available visualization capacity is limited to the monitor’s display capability, that is, the monitor’s resolution. Although recent advanced monitor resolutions have reached 4K and are approaching 8K, the demand for even greater resolutions and visualization is increasing more than the current monitor’s display capability. Therefore, a multi-monitor visualization environment has gathered much interest from scientists and researchers. SAGE [6], [7], CGLX [8], COVISE [9], Chromium [10] and EasyVR [11] are examples of technology enabling such an environment. Although the concept and design behind these technologies differ, the multi-monitor visualization environment delivered by these technologies commonly allows us to use multiple monitors as a single virtual display. This study seeks an easy way to realize a high resolution graph viewer adapted for a multi-monitor visualization environment, where scientists can easily analyze big data. At the current stage of this research, we take the approach and strategy of developing a
Rev Socionetwork Strat (2015) 9:19-27
21
high resolution graph viewer available in general field of science rather than targeting a specific field of science. The reason is explained from the existence of diverse requirements and needs in the visualization of graphs. In the future stages of this study we plan to make the graph viewer more practical and useful by focusing on a specific field of science. Following this reasoning, we consider the following two technical issues in this paper: 1) visualization of a high resolution graph on a multi-monitor environment and 2) the extensibility and easiness for further development in the future. This paper presents and reports our first exploration and the interim result which we have achieved.
2
Technical background
As mentioned in Section 1, today’s advances in science require the exploration and investigation of big data to understand the meaning of that data. In this section, two building-block technologies are introduced for use with a developed graph viewer in a multi-monitor environment.
2.1 Gephi
Figure 1. A snapshot of Gephi
22
Rev Socionetwork Strat (2015) 9:19-27
Gephi [12] is a popular graphical visualization tool. Figure 1 is a captured image of Gephi. Gephi offers the visualization capability of highlighting and focusing on a node through user interaction in editting a graph. Also, dynamic filtering allows users to extract the subgraph. This graph tool enables the visualization of a huge network graph consisting of approximately 500,000 edges and 50,000 nodes [13]. Gephi is a Java-based open source application that leverages an OpenGL for graph visualization. In addition, it can be operated on most operating system platforms since it is written in the Java language. These facts make it easy to enhance this graph visualization tool adapted to a multi-monitor environment.
2.2 Technological survey on multi-monitor visualization As mentioned in Section 1, several middleware and tools enabling multi-monitor visualization are available. In this subsection we investigate SAGE, COVISE, CGLX and Chromium from the technical issues raised in Section 1. SAGE enables the simultaneous display of multiple applications on its multi-monitor environment. This simultaneous display capability of multiple applications is a merit superior to other similar technologies. However, the application needs to be modified and compiled with the application interface library SAIL. COVISE was basically designed to provide a virtual reality environment. It supports multi-monitor visualization but does not enable an OpenGL application to be displayed. CGLX, on the other hand, supports an OpenGL-based application on a multi-monitor environment and facilitates the development of high-performance applications. However, according to Web updates, the development and support of CGLX seem to be temporarily inactive. Chromium and EasyVR offer a high degree of affinity with OpenGL applications, but Chromium requires a slight modification to OpenGL applications.
2.3 EasyVR EasyVR is a commercial middleware developed mainly for virtual reality (VR). It also supports multi-monitor visualization. While it is a middleware that conforms to OpenGL Architecture such as Chromium, EasyVR is designed and specialized to display VR space, as the name of the software indicates. EasyVR offers many important functions that work with other user-interaction control software and devices such as trackers and stereoscopic vision systems. Therefore, with these functionalities, users can easily interact with visualization on a multi-monitor environment.
Rev Socionetwork Strat (2015) 9:19-27
23
Furthermore, because EasyVR offers OpenGL APIs and functionalities, developers can develop OpenGL applications with ease. Therefore, OpenGL-based graph viewers can be easily enhanced so that they can operate on virtual reality (VR)-enabled multimonitor environments.
3 A high resolution graph viewer adapted for a multi-monitor visualization environment
3.1 Approach Our research has adopted Gephi and EasyVR as the building block technology for a high resolution graph viewer for the multi-monitor visualization environment. The reason for this choice can also be explained from the following two facts in addition to the technological survey in section 2. EasyVR has been deployed to our multi-monitor visualization systems in the Cybermedia Center and it allows an easy deployment and enhancement of the OpenGL application. Gephi, a widely-accepted OpenGL-based graph tool, can be enhanced on EasyVR to benefit visualization capability from the multi-monitor environment. In addition, Gephi is an open-source application with a code that can be easily modified so that it can take advantage of EasyVR functionalities. Our approach is to develop a high resolution graph viewer for a multi-monitor visualization environment as easily as possible.
3.2 Overview of the proposed graph viewer Figure 2 shows the architecture of the developed graph viewer, which is basically composed of three parts: the graph application, the multi-monitor display part, and the modification part. In this graph viewer, EasyVR and Gephi have been utilized to a multi-monitor display part, and the graph application respectively. The basic architecture of EasyVR is a simple computing model, which is a clientserver model. EasyVR is composed of the client as the master node and the server as the display nodes. The master node accommodates an OpenGL application and the display nodes are in charge of displaying the received image onto the display sets in charge. The left side of the figure shows the master node of the multi-monitor and the right side shows that two displays are connected to each display node.
Rev Socionetwork Strat (2015) 9:19-27
24
Figure 2. The architecture of our high-resolution graph viewer leveraging EasyVR
The EasyVR client receives OpenGL commands from the OpenGL application running on the master node. Upon receiving the OpenGL commands, the client divides the OpenGL canvas into the same number of display nodes and then sends the divided canvas with OpenGL commands separately to each display node. Upon receiving the commands, each display node draws the image to display onto the display sets of which it is in charge. 3.3 Modification part As described previously, by leveraging EasyVR, we can easily have an OpenGL application displayed on a multi-monitor environment. This application is specialized to render the objects and display the VR space and does not support fonts. The lack of font support means that label information, the most important information in a graph drawing, is not displayed on the multi-monitor visualization environment. To solve this problem, we have modified a part of the Gephi function that allows fonts to be displayed on a multi-monitor environment. In the original Gephi, the fonts are rendered with the TextRenderer of Java OpenGL (JOGL) package, an OpenGL library in Java. TextRenderer.draw3d() API in the library designates the contents of the text, the position coordinate of the rendering and the font size. The OpenGL command
Rev Socionetwork Strat (2015) 9:19-27
25
TextRenderer.draw3d() API does not work for EasyVR, which results in the situation where the label information is missing from the displayed graph. To solve this problem, we modified the original Gephi code so that TextRenderer.draw3d() API is replaced with the primitive and plain API, glutBitmapStirng().
4
Evaluation Table 1. Specification of the display nodes
CPU Memory Graphics OS
Specification Intel Xeon 3.5 GHz × 2 64 GB NVIDA Quadro K5000 Windows 7
We have tested our prototyped graph viewer onto the 15-screen cylindrical stereo visualization system at the Cybermedia Center [14]. The system is composed of 15 WXGA 46-inch LCD and 6 display nodes. Table 1 shows the specification of the display nodes. On this visualization system we have confirmed that the prototyped graph viewer can display a yeast protein interaction network composed of 2361 nodes and 7182 links [15] on the multi-monitor visualization environment (Figure 3) without losing the label information of the graph. Also, the rendering time in this case was short enough to be used in a practical situation. However, we observed that the prototyped graph viewer suffered slightly from performance degradation when the size of the network graph increased. Investigations on the performance characteristics and performance improvement of the prototyped graph viewer are the issues we need to tackle in the future.
Figure 3. Snapshots of graph viewer
Rev Socionetwork Strat (2015) 9:19-27
26
5
Conclusion
In this study, we have prototyped a high resolution graph viewer for a multi-monitor visualization environment using Gephi and EasyVR as building block technologies. Nonetheless, we recognize that the prototyped graph viewer still has several issues to be solved such as the acceleration of visualization. By actively leveraging the prototyped graph viewer to analyze actual scientific data, we plan to make the developed graph viewer presented in this paper more practical and useful.
Acknowledgement This work was partially supported by JSPS KAKENHI Grant Number 24700295 and 26540053.
References 1. Heer, J., Shneiderman, B.: A taxonomy of tools that support the fluent and flexible use of visualization. ACM Queue. 10(2), 1-26, 2012 2. Eisenberg, D., Marcotte, E. M., Xenarios, I., Yeates, T. O.: Protein function in the postgenomic era. Nature. 405, 823-826, 2000 3. Jeong, H., Tombor, B., Albert, R., Oltvai, Z. N., Barabási, A. L.: The large-scale organization of metabolic networks. Nature. 407, 651-654, 2000 4. Scott, J.: Social Network Analysis, 3rd ed. Sage, 2013 5. Kou, T., Takao, M.: Clustering web documents based on correlation of hyperlinks. The Proceedings of IEEE 29th International Conference on Data Engineering Workshops (ICDEW). 1225, 2013 6. Jeong, B., Renambot, L., Jagodic, R., Singh, R., Aguilera, J., Johnson, A., Leigh, J.: Highperformance dynamic graphics streaming for scalable adaptive graphics environment. The Proceedings of the 4th Workshop on Advanced Collaborative Environments. 2004 7. Renambot, L., Rao, A., Singh, R.: SAGE: the scalable adaptive graphics environment. The Proceedings of the 4th Workshop on Advanced Collaborative Environments. 2004 8. Doerr, K. U., Kuester, F.: CGLX: a scalable, high-performance visualization framework for networked display environments. IEEE Transactions on Visualization and Computer Graphics. 17(3), 320-332, 2011 9. Ruprecht, A., Eisinger, R., Göde, E., Rainer, D.: Virtual numerical test bed for intuitive design of hydro turbine components. The Proceedings of the Hydropower into the Next Century. 1999 10.Humphreys, G., Houston, M., Ng, R., Frank, R., Ahern, S., Kirchner, P. D., Klosowski, J. T.: Chromium: a stream-processing framework for interactive rendering on clusters. ACM Transactions on Graphics. 21(3), 693-702, 2002
Rev Socionetwork Strat (2015) 9:19-27
27
11.Itoh, Y., Matsuo, T., Ohyoshi, Y., Tanimae, T.: Development of “EasyVR” & “Fusion” which enable virtual reality based on 3D-graphics API intercept technology. The Journal of the Visualization Society of Japan. 27(106), 45-47, 2007 12.Bastian, M., Heyman, S., Jacomy, M.: Gephi: an open source software for exploring and manipulating networks. The Proceedings of the 3rd International AAAI Conference on Weblogs and Social Media (ICWSM09). 361-362, 2009 13. Gephi - The Open Graph Viz Platform, http://gephi.github.io/ 14. Cybermedia Center, Osaka university, http://www.hpc.cmc.osaka-u.ac.jp/15vis/ 15. Datasets gephi/gephi Wiki GitHub, https://github.com/gephi/gephi/wiki/Datasets