Session Directories for Setting up and Monitoring CORE2000/Habanero Conferences via Java, CORBA, and LDAP
Deborah A. Payne, Brett T. Didier, James D. Myers1
Environmental Molecular Sciences Laboratory, Pacific Northwest National Laboratory,
K1-87, P.O. Box 999, Richland, WA 99352, USA
Debbie.Payne@pnl.gov, Brett.Didier@pnl.gov, Jim.Myers@pnl.gov
Abstract:
Pacific Northwest National Laboratory's Environmental Molecular Sciences Laboratory (EMSL) is a collaborative user facility with many unique scientific capabilities. This collaborative facility is supported by an electronic collaborative research environment (CORE2000). CORE2000 is an extension of the National Center for Supercomputing Applications’ (NCSA) Habanero environment. (See Virtual Partnerships in Research and Education, WebNet'97.) The EMSL Collaborative team has recently developed a new Web monitoring and session launch facility to CORE2000 that both enhances ease-of-use and provides a means to measure the use of CORE2000 and its component tools over time. The Web Session Directory’s (WSD) Java/Swing applet interface displays a list of active sessions, users, and tools, communicating with a Lightweight Directory Access Protocol (LDAP) session database via a Common Object Request Broker Architecture (CORBA) server. In this talk we will describe the approach used in designing this application along with the lessons learned from implementing in these three new technologies.
CORE2000 is a cross platform electronic collaboration environment that provides audio and video conferencing, whiteboards, shared computer displays, and growing variety of collaborative data acquisition, analysis, and visualization tools. CORE2000 extends NCSA’s Habanero environment and incorporates a number of EMSL and third-party developed tools. CORE2000 is being used by a growing number of people. However, since CORE2000 itself does not include facilities for monitoring and recording usage, we have not been able to quantify this growth beyond measuring the number of downloads of CORE2000 software. We developed the Web Session Directory (WSD) to provide this functionality. WSD displays a list of active CORE2000 sessions, the participants in the sessions, and the tools are using. This display provides a sense of community, and with assumed to be added capability to join a session with a simple mouse click, will greatly simplified the setup of CORE2000-based interactions. (Without WSD, the session name, server host name, and server port number must be distributed via phone or email beforehand). WSD also provides a persistent record of past sessions that allows us to track CORE2000 usage. Additional time-stamp information in the record allows calculation of session durations, the pattern of participants joining and leaving a session, and pattern of use of individual tools. This information will be extremely helpful in our efforts to understand the group dynamics of distributed teams and the evolution of these dynamics over time. It will also help us target CORE2000 development efforts.
WSD consists of four major components. A Common Object Request Broker Architecture (CORBA) server maintains and distributes information about active CORE2000 sessions. Event logging methods that have been added to the CORE2000 client use the Internet Inter-Orb Protocol (IIOP) to register session, participant, and tool related events with the WSD server. (If errors occur during communication with the WSD server, the events may not be registered, but the CORE2000 session itself is unaffected.) The WSD server persistently stores session information in a Lightweight Directory Access Protocol (LDAP) database. Finally, WSD interfaces, currently implemented as both a Java applet and application, register with a WSD server to receive real-time updates on CORE2000 activity.
The WSD user interface dynamically displays a list of the names of active sessions and the participants in each session. After startup, the displayed list of sessions and participants are continuously updated as new information is received from the WSD server. A user will be able to join a session by clicking a button beside the session's name. This will start the CORE2000 client on the user’s machine and pass it the information necessary to connect to the CORE2000 server hosting the desired session. The WSD interface runs on both Unix and PC platforms and uses Java's Swing user interface classes. We anticipate the applet version of the WSD interface, embedded in a dynamic "Status" web page, will be the primary means for CORE2000 users and administrators to monitor activity. The application version may still prove useful, but it was developed originally as a work around for a difficulty we had in getting Netscape’s browser to use the CORBA classes in our applet (Iona Technology's OrbixWeb product) instead of the built-in classes from VisiGenics. It is interesting to note the applet is currently much slower in loading than the application (a factor of two even on our internal network), primarily due to the loading of the large Swing library across the network. If the Swing library is put in the browser's local classpath, the applet slow time is greatly reduced. (This can be done now by individual users, and will presumably become the default in future browsers.)
The WSD server is implemented in Java using Iona's OrbixWeb CORBA product. CORBA was chosen as a communications mechanism because it provides a natural, object-oriented communications interface, the ability to transparently relocate servers, in the possibility for connecting to software developed and other languages. Currently, the WSD server runs on come in Sun Solaris machine, but is capable of running on any OrbixWeb supported platform. The WSD server receives session, member, and tool information from CORE2000 and logs these events to the database as they come in. If CORE2000 is unable to connect with the CORBA server then the connection to CORBA is skipped but users are still capable of running sessions. The CORBA server forwards session and member information to all active WSD user interfaces through the use of client callbacks, an advanced feature of OrbixWeb. During periods of inactivity (configurable), the WSD server can be shut down. When new events occur, the WSD server automatically restarts, loads its state from the database, and responds appropriately.
Netscape’s LDAP-based Directory Server is used for the persistent storage of CORE2000 metric information. The Directory Server’s schema was extended to include object definitions for sessions, members, and tools. Netscape’s LDAP Java Software Development Kit (SDK) was used to provide the connection between the WSD server and the directory. Within the Directory Server, active sessions are maintained within a separate tree to provide quick access for storage and retrieval. Sessions that are no longer active are transferred to a historical tree that is available for analysis.
As the use electronic collaboration and conferencing tools grows, the need to monitor and understand the use of these tools grows as well. We have developed such monitoring functionality for the CORE2000 collaboration environment and plan to deploy it to help understand the use of CORE2000 in research and education collaborations involving EMSL staff and their external partners. We expect that this ability to analyze collaborative work habits will be invaluable in developing ever more effective collaboration tools. The new technologies used in this project provided significant benefits, but provided significant integration challenges due to their relative immaturity. Both CORE2000 and WSD are available at http://www.emsl.pnl.gov:2080/docs/collab/ .
Acknowledgements
This work was supported by the U. S. Department of Energy through the DOE2000 program and the Distributed Collaboratory Experiment Environments (DCEE) program, both sponsored by the Mathematical, Information and Computational Sciences Division of the Office of Energy Research, and through the Laboratory Directed Research and Development program at Pacific Northwest National Laboratory. Pacific Northwest National Laboratory is a multiprogram national laboratory operated by Battelle Memorial Institute for the U.S. Department of Energy under Contract DE-AC06-76RLO 1830. CORE2000 is based on the National Center for Supercomputing Applications’ (NCSA) Habanero environment. We gratefully acknowledge NCSA for providing Habanero source code license and thank the Habanero development team for many helpful discussions. We also gratefully acknowledge the contribution of many individuals to EMSL Collaboratory project.