Distributed Multimedia Application

For Integrated Scientific Simulation And Visualization

T. Andrew Yang
( yang.Andrew.t@acm.org )

Department of Computer Science

Indiana University of Pennsylvania

Indiana, PA 15705 , U.S.A.

Yiming Sun

( yiming_sun@hotmail.com )

Bombardier Transportation

Pittsburgh, Pennsylvania 15122, U.S.A.

Abstract

Simulation and visualization systems are traditionally stand-alone computer applications, but for the past four years more Web-based simulation and/or visualization systems have been developed to enable the deployment of the applications over the Web. The major advantage of moving a stand-alone application to the Web is the wide availability of Web browsers, which can be used as the front-end user interface to the application by users potentially across the globe. At IUP, a Web based multimedia visualization system has been developed to enable remote viewers to interactively and dynamically manipulate neural network models and the data generated by the simulation experiments. In this paper, we discuss the distributed framework employed in the application, the real-time synchronization issues, and future extension of the system to increase its scalability.

Introduction

The significance of scientific simulation and visualization in scientific inquiry has dramatically increased for the past decade.The following excerpt (note 1 ) very well illustrates the significance of computer simulation: "… computer simulation has now joined theory and experimentation as a third path to scientific knowledge. Simulation plays an increasingly critical role in all areas of science and engineering."

Simulation and visualization systems are traditionally stand-alone computer applications. For the past three to four years, with the widespread use of Web and the advancement of related technology, more Web-based simulation and visualization systems have been developed (Chen Chen and Hong 1998, Davis Chen and Brook 1998, Roccetti and Salomoni 2001). At IUP, a Web based real-time visualization system has been developed to enable remote viewers to interactively and dynamically manipulate scientific models and data generated by the simulation experiments. We reported, in a recent paper (Yang 2001), the application of such a system toward the remote visualization of neural network simulations. The design of the system was published in another paper (Yang Cross and MacMaster 2001).

In the rest of this paper, we focus our discussion on the distributed framework underlying a real-time on-line distributed system, especially the communication between the simulation engine and the visualization server, and that between the visualization server and the visualization client.

A Distributed Real-Time Simulation/Visualization Framework

The major advantage of moving a stand-alone application to the Web is the wide availability of Web browsers, which can be used as a universal front-end user interface to the back-end application by users potentially across the globe. A university Physics course, for instance, may be taught as a Web-based course over several distributed sites. An experiment conducted by the professor at the central site may be viewed, in real time, by students who are physically present at one of the remote sites.

The successful development of such a distributed real-time system, of course, depends on the integration of various technologies, including in particular the distributed software architecture and Web-based technologies. Issues such as real-time synchronization of data transmission and rendering will need to be addressed to enable the system to deliver real-time performance (Chen Chen and Hong 1998, Roccetti and Salomoni 2001). Real-time data communications may be achieved by adopting protocols such as RTP (note 2 ) (Parnes Synnes and Schefström 2000).

The distributed framework of a real-time on-line simulation and visualization system is depicted in Figure 1.There exist three primary components in the system: the simulation engine, the visualization server (i.e., the coordinator), and the visualization clients. The coordinator is integrated with a Web server and listens at network ports for incoming connection requests issued by the clients. In our current implementation, the visualization server is a Java application while the clients are Java applets. Communication between the server and the clients are via sockets. The adoption of Java applets takes advantage of Java’s portability feature and enables virtually ubiquitous communication with clients running on various kinds of devices, including desktop computers, laptops, and hand-held devices, et. al.

Alternatively, the client may be implemented as an object employing different technologies, such as CORBA, EJB, RMI, or intelligent agents.

distributed framework

Figure 1: Illustration of the distributed framework

The simulation engine is an independent application. Due to its high processing overhead, a simulation program is best run as the only or at least the primary process on a high-end computer. In our current experiment, we use a C++ neural network simulation program as the simulation engine, which communicates with the coordinator over sockets.

The visualization server coordinates the communication between the remote clients and the simulation engine.Due to the many (clients) to one (simulation engine) relationship between the remote clients and the simulation engine, in real time a remote user may either start the simulation (if the user has the administrator privilege) or join an existing simulation. Alternatively a ‘play-back’ mode may be adopted. The coordinator may record a simulation in a binary file and, whenever a new client requests to view the simulation, the coordinator simply sends the data over to the client.In a controlled environment, such as a Web-based class over the net, all the clients may be coordinated to start the connection to the visualization server at the same time.

use case diagram

Figure 2: Use cases of the visualization system

Figure 2 illustrates different use cases of the system by the server administrator and the end users, respectively. A user of the system may remotely connect to the visualization server, select and load a data set generated by the simulation engine, and then use one of the control commands to view and manipulate the 3-dimensional objects representing the underlying model. On the other hand, the server administrator may take actions such as starting the visualization server, viewing the client connections, killing one of the client connections, or terminating the server. A snapshot of the server administration screen is shown as Figure 3.

administration screen

Figure 3: Administration screen for the simulation and the visualization servers

Communication between the Visualization Clients and the Coordinator

Communication between the visualization server and the client is via sockets.As depicted in Figure 4, the ServerDataReceiver and the ServerDataSender classes, defined in the visualization server, interact with the ClientDataReceiver and the ClientDataSender classes, defined in the visualization client, by sending and receiving messages over sockets. Each user’s attempt to access the system triggers the instantiation of a ClientHandler by the VisualizationServer. While each client has only one ServerHandler,which handles communication with the visualization server, the VisualizationServer may instantiate multiple ClientHandler,one for each of the clients. A client’s request is forwarded by its ServerHandler to the respective ClientHandler, which then forwards the request to the VisualizationServer. If necessary (for example, a user’s request is to change the underlying architecture), the VisualizationServer may eventually forward the request to the simulation engine to have the request fulfilled.



class diagram
Figure 4: Communication between the coordinator and the clients


Communication between the Neural Network Engine and the Coordinator

Contrary to the one-to-many relationship between the visualization server and the client(s), there exists a one-to-one relationship between the visualization server and the simulation engine in our current implementation.Given a local or remote administrator’s instruction, the visualization server sends a message to the simulation engine with instructions specifying parameters such as the configuration of the neural networks (number of rows, columns, and depth), and the firing rate of the neurons, et. al. The visualization server then opens and listens at network ports for incoming client connection requests.

Once the simulation engine starts, the states of the simulation, represented as a multidimensional array (see Figure 3), are transmitted to the visualization server, which then forwards them over to the clients.On the other hand, a system administrator may acts as a remote client, which sends a message to the server to request the re-configuration of the simulation setting. After authentication, the visualization server sends a re-configuration request to the simulation engine, which stops its current run and starts over with the new configuration data. Figure 5 depicts the two-way communication paths in the system.


communication path
Figure 5: Communication Paths

Synchronization for Real-Time Rendering

A distributed multimedia application is composed of different types of objects.The synchronization of these mixed objects is critical to the realistic presentation of the multimedia application.In [Roccetti and Salomoni, 2001], media objects were grouped into three categories: discrete objects, continuous objects, and atomic objects. Discrete objects include HTML pages, which may contain interactive elements such as buttons or URL links. Interaction to discrete objects is typically event-driven. Contrary to discrete objects, continuous objects, such as audio/video traces and animations, are time-sensitive data. Smooth, uninterrupted rendering of continuous objects is critical to a real-time multimedia application. Atomic objects are objects that may not activate any other external objects during their execution.Examples of atomic objects are VRML (note 3 )  worlds and possibly Java applets.

In our application, the visualization of a three-dimensional scientific model is implemented as a Java applet, which may act as an atomic object, when running in a ‘play-back’ mode, or as a continuous object, when engaged in real-time communication with the visualization server and the simulation engine.

As described in the previous two sections, the core synchronization tasks are carried out by the sockets communication between the simulation engine and the visualization server and that between the visualization server and the client. The states of the simulation and the temporal relationship between the states need to be transported from the simulation engine to the visualization server, which forwards them to the visualization clients. The primary job of the visualization clients is to duplicate the states and the temporal relationship graphically in the user’s Web browser. Loss or distortion of data and/or their relationship is possible and may result in unacceptable rendering of the simulation. Implementation of real-time transfer protocols, such as RTP [Schulzrinne Casner Frederick and Jacobson, 1996], is a necessary next step to add functionalities such as loss detection for quality estimation and rate adaptation, data sequencing, and media synchronization into the existing system.

Due to the use of a centralized server, the current design of our application uses unicast media distribution to distribute multimedia data to users across the Internet. As stated in [Parnes Synnes and Schefström, 2000], unicast distribution has the drawback of redundant media distribution across the network and may consume significant network bandwidth.It was suggested in the same article that multicast media distribution be used to achieve scalability and decentralized control. We are at present examining implications and tradeoffs of converting to a multicast distribution model.

Summary

The distributed framework of our on-going Web-based multimedia application is discussed in this paper. The design of the visualization server allows simultaneous multiple clients connection over sockets.The existing prototype (note 4 ) is capable of delivering neural network simulation data over the Web to remote clients.Multiple remote users may view the same simulation simultaneously from separate sites. Future work of this project includes implementation of real-time transport protocol for real-time rendering of the simulation, examination of multicast distribution model versus unicast model, and integration of the existing system with data analysis and visualization tools such as Mathematica.

Acknowledgments

The research project on neural network simulation and visualization is partially supported by the faculty research fellowship of the Senate Fund and the Proposal Development Incentive Grant by the GraduateSchool at IUP.

References

Chen, Herng-Yow, Gin-Yi Chen and Jen-Shin Hong, 1998. Design of a Web-Based Synchronized Multimedia Lecture System for Distance Education.Proceedings of the IEEE International Conference on Multimedia Computing and Systems Volume II.

Davis, Wayne J., Xu Chen, and Andrew Brook, 1998. Implementing on-line simulation upon the world-wide Web. Proceedings of the 1998 winter Simulation Conference.

Parnes, Peter, K. Synnes, and D. Schefström, 2000. mSTAR: Enabling Collaborative Applications on the Internet. IEEE INTERNET COMPUTING.9/10 2000.

Roccetti, Marco and Paola Salomoni, 2001. A Web-based Synchronized Multimedia System for Distance Education. Proceedings of the 16th ACM symposium on applied computing (SAC2001).

Schulzrinne, H., S. Casner, R. Frederick, and V. Jacobson, 1996. RTP: A Transport Protocol for Real-Time Application. IETF RFC 1889 (available on line at http://www.ietf.org/rfc/rfc1889.txt).

Yang, T. Andrew, J. Linn and D. Quadrato, 1998. Developing Integrated Web and Database Applications Using JAVA Applets and JDBC Drivers.Proceedings of the 29th ACM SIGCSE (Special Interest Group in Computer Science Education) Technical Symposium.

Yang, T. Andrew, 2001.Development of a Distributed Visualization System for Neural Network Simulation. Proceedings of the IEEE-INNS International Joint Conference on Neural Networks (IJCNN2001).

Yang, T. Andrew, Zac Cross and Scott MacMaster, 2001. Development of a Web-based Visualization System for Scientific Simulation. Proceedings of the 2001 IEEE International Conference on Multimedia and Expo (ICME2001).



Notes:
  1. From the NSF Advanced Computational Research program announcement (NSF 98-168, see < http://www.nsf.gov/pubs/1999/nsf98168/nsf98168.htm >.)

  2. RTP: Real-time Transport Protocol

  3. VRML: Virtual Reality Modeling Language