UK e-Science Technical Report Series ISSN 1751-5971 RAVE – Resource Aware Visualisation Environment Middleware Evaluation Report Grid Engineering Task Force (ETF) Anthony Stell, National e-Science Centre Steven Young, Oxford e-Science Centre Matthew Dovey, Oxford e-Science Centre 03-Mar-2006 Abstract: This report provides an evaluation of the Resource Aware Visualisation Environment (RAVE) as developed by the Welsh e-Science Centre (WeSC) in Cardiff. It reports on a series of operations carried out by members of the Grid Engineering Task Force (ETF) which included the process of installation, deployment and use of RAVE services. The report is written with a view to finding out the suitability of RAVE in facilitating a national visualisation service. Criteria reported on for the purposes of this evaluation include: installation and deployment for clients, installation and deployment for servers, documentation, ease of use, functionality and future scalability. All technical issues encountered by the evaluators have been documented. The RAVE evaluation is part of a series of middleware evaluations conducted by the ETF. It stands alone and does not compare the application to other visualisation packages. UK e-Science Technical Report Series Report UKeS-2006-01 Available from http://www.nesc.ac.uk/technical_papers/UKeS-2006-01.pdf Copyright © 2006 The University of Edinburgh. All rights reserved. RAVE – Resource Aware Visualisation Environment Middleware Evaluation Report 03-Mar-2006 UK e-Science Report UKeS-2006-01 Executive Summary This document provides a report of the UK Engineering Task Force (ETF) evaluation for the Resource Aware Visualisation Environment (RAVE) application, as part of the series of ETF evaluations of Grid middleware solutions. The evaluation was conducted to report on the suitability of the RAVE software in the context of setting up a National Visualisation Service but does not compare RAVE against other visualisation applications. The period of the evaluation was from May to December 2005. The evaluation proceeded by setting up and running thin and active clients on machines in Cardiff, Glasgow and Oxford, then proceeding to set up RAVE servers and publishing to the Cardiff machine server pool. The evaluation group found the following positive features of the application: • RAVE software provides useful features for collaborative visualisation sessions – such as tracking, customisable markers and object selection. • RAVE software can be installed on a variety of platforms including Windows, various Linux builds and a PDA operating system. • RAVE documentation was clear and easy to follow, though requiring some updates and a larger trouble-shooting section. • RAVE software integrates with Access Grid and GridSphere technologies allowing wider access to the resources provided. In terms of negative features, two major shortcomings that were found were the need for greater robustness within the application and the need for any kind of security implementation. The product is still in development and the RAVE team are aware of the need for these features. The software could provide a possible solution to the need for a visualisation service with nationwide coverage but would require more development time and effort before being in a state where end-users with little experience of visualisation or Web services can run it “out of the box”. The RAVE project is currently funded until 1st April 2006. 2 RAVE – Resource Aware Visualisation Environment Middleware Evaluation Report 03-Mar-2006 UK e-Science Report UKeS-2006-01 1 Introduction The ETF is conducting a series of Grid middleware evaluations that review the suitability of various software packages for their use within a national UK e-infrastructure. As part of this initiative, an evaluation of the RAVE (Resource Aware Visualisation Environment) software [1] is being conducted between the centres of the Welsh e-Science Centre (WeSC), the National e-Science Centre (NeSC) and the Oxford e-Science Centre (OeSC). RAVE is a collaborative visualisation tool that allows users to view data sets together using distributed and potentially disparate resources. The access to visualisations is provided by the software in the form of centrally administered Web services. These allow either active clients (those that consume the central data service but do their own local rendering of that data) or thin clients (where both the central data service and render services are consumed). Other features of the software include the abilities to interact within the visualisation with other users, to jump to each other’s camera position, to track each other’s camera as it moves within the data set and to select and highlight individual objects within the visualisation. This evaluation will concentrate on setting up clients that report to the main RAVE server in Cardiff then it will progress on to setting up servers at other locations. Thus will the strengths and weaknesses of the software be tested, reviewing available documentation and testing robustness against different versions of underlying base components. 2 General Information 2.1 The Provider RAVE is a project being developed, maintained and supported at the Welsh e-Science Centre (WeSC). The principal investigators are Prof. D Walker and Dr I. Grimstead. The RAVE project is currently funded until 1st April 2006. The software is still largely in development and as such hasn't had an official release. As a result, the install base is therefore currently restricted to test deployments at Cardiff/WeSC. 2.2 Licensing RAVE is covered by a software license, reproduced in Appendix A.1. The license was specifically written for the ETF evaluators, initially granted for a period of three months. The option of an extension was made available and this was invoked until the end of December 2005. At the present time, details of what the actual software licensing will be when the finished product is made available are not known. How the code will be made available is currently not known either and will depend on how WeSC/Cardiff University perceives RAVE to be best exploited upon completion. If commercial opportunities exist WeSC and Cardiff Computer Science department would retain intellectual property rights. Otherwise it could become open source. 2.3 Supported Platforms RAVE has been tested, by the developers, on the following platforms: SGI IRIX, SGI Altix, Sun Solaris, Microsoft Windows XP, 2000 and Linux (IA64, AMD64, i386 and embedded) 3 RAVE – Resource Aware Visualisation Environment Middleware Evaluation Report 03-Mar-2006 UK e-Science Report UKeS-2006-01 [1]. The software is implemented using Java coded Web services to provide data and render services, with local data rendering being implemented using the Java3D infrastructure. Thin clients are additionally implemented in C++ for the purposes of supporting systems where Java implementations are incomplete or too slow. For the purposes of this evaluation, RAVE was tested, by the evaluators, on Windows XP, two variants of RedHat Linux and a Zaurus PDA operating system. The Java Development Kit (JDK) used throughout the evaluation was version 1.4.2 and the Java3D package used was version 1.3.2. It should be noted that the use of Web services enables RAVE to be implemented in any language, the abstraction hiding any underlying specific implementation or OS [9]. 2.4 Support Under the terms of the license agreement detailed in Appendix A.1, no support or training is currently provided by WeSC. There is also currently no online or commercial support for RAVE, but this may change once full-scale distribution of the software is undertaken. The documentation used by the evaluation team [2] may be available upon request to the WeSC team. 2.5 Context Other visualisation projects are currently being undertaken that cover a similar domain as that by RAVE, that of collaborative visualisation applications that meet the real-time, highthroughput needs of scientists using such tools. They do not yet have end-line “products” available for evaluation but should be considered in the wider context of visualisation and would be the next logical step in ETF evaluations, looking towards the NVS. This section gives a very brief overview of two of the further developed projects: • gViz [20] – This project has developed an extension and binding between the already established products of the IRIS Explorer [22] from the Numerical Algorithms Group (NAG) and the pV3 [23] from Massachusetts Institute of Technology (MIT). The gViz library binds the visualisation on the local desktop to one over the Grid and a descriptive XML language has been developed to allow piping of data/data formats between nodes. • eViz [21] – This deals with issues such as the data flow within an High Performance Visualisation (HPV) environment, the investigation of commonly used protocols governing HPV interactions, the investigation of the best type of decision metric when managing data flow and job scheduling within HPV and finally, the development of a software tool that covers all these aspects. The following three are other projects that the RAVE software author thought were also relevant to this domain. Information on their content is currently limited: • E-Demand [23] – This project focuses on stereo viewing, implementing a work-flow with each module represented as a Web service. • COVISE [24] – This is a commercial visualisation product that supports distributed users. 4 RAVE – Resource Aware Visualisation Environment Middleware Evaluation Report 03-Mar-2006 UK e-Science Report UKeS-2006-01 • Supervise [25] – This is a visualisation tool under development at the Simulation and Visualisation Research Group at Hull University. 3 Systems Management 3.1 Documentation for System Managers Documentation provided was in the form of a user guide [2], in PDF format, for installing thin and active clients and for installing local server deployments of the RAVE software. A quick-start guide was not provided. 3.2 Server Deployment Figure 1: The overall RAVE architecture The servers available at WeSC are listed on a UDDI registry accessed by a GUI provided upon startup of the software. A list of machines available for hosting data and render services are shown, and the process of instantiating services upon these hosts is achieved through a series of simple text-entry and button-click processes. A mechanism exists that allows the RAVE services to be deployed into a local Tomcat container using the Axis Web services framework. When Tomcat is started the set of operations associated with both data and render services is exposed. Currently, the only way of accessing these is to then make the local Tomcat installation available to the pool of machines in WeSC. This is done by opening the relevant ports on the both the local and remote firewalls and informing the WeSC administrator of the hostname and IP address of the machine in question. The ideal model would be to automate this process but this requires re-engineering of the underlying UDDI registry code. See the “Distributed Management” (3.6) section for more details on this issue. 5 RAVE – Resource Aware Visualisation Environment Middleware Evaluation Report 03-Mar-2006 UK e-Science Report UKeS-2006-01 It has been noted that future development would move in the direction of allowing other centres to set up their own RAVE pools. There are place-holding pages within the Axis/RAVE set-up that suggest there is opportunity for development here. As a result of this evaluation a machine has been made available at NeSC in Glasgow, providing a data server resource. There are also data/render services set up on an SGI Prism machine at Manchester University (independent of this evaluation). 3.3 Client Deployment The installation and activation of thin clients is the simplest and most straightforward implementation of the RAVE software. The only pre-requisite of the local machine is to have an up to date version of the Java Development Kit [3], and a copy of the RAVE installation JAR file (available from WeSC after signature of the license agreement). Active clients require more in the way of supporting infrastructure and are therefore more vulnerable to version instability. A functioning version of Java3D [4] is required to provide the ability of local rendering. However, in tests run so far the functionality of the feature has been subject to the Java3D version being compatible with the graphics card of the local machine. Two versions were available for download, with only the development version from [5] providing the functionality needed for running the software on the architecture at NeSC. 3.4 Account Management There is no account management implemented at present. Lists of services instantiated can be viewed through the management GUI. However, there are no restrictions on who can instantiate what on any given machine at any given time. This also has ramifications in the security aspects of RAVE – see the “Security” section (4.6). 3.5 Reliability At its current stage of development (beta testing), the application as a whole operates within reasonable tolerance bounds and provides the functionality that it claims. However, there are still several rough edges that need stabilised before it can be considered for production use. The most notable issues with reliability are those of a cross-platform (more specifically crossarchitecture) nature. Render services require Java3D support which is hardware-dependent on the local machine. This has been tested to work on Sun Solaris, SGI Prism, Linux and MS Windows. However, there are driver issues – NVidia cards appear to be the most reliable, whilst ATI and Intel cards have issues communicating with the OpenGL driver. Spikes of high CPU usage were noted during testing, which would eventually drop off again. However, this made running software alongside the application difficult (such as the VoIP backup channels – see appendix A.3). The issues associated with these spikes were reported to the RAVE team but the causes were never properly identified. Other reliability issues include the occasional freezing of the management GUI upon loading, the crashing of the avatar during visualisation and the slow-down of performance with increase of user numbers. 6 RAVE – Resource Aware Visualisation Environment Middleware Evaluation Report 03-Mar-2006 UK e-Science Report UKeS-2006-01 3.6 Distributed Management In terms of what can be described as a “Grid” in this context, a pool of server machines exist in Cardiff from which the data and render services can be instantiated and used by remote machines. To support this pool, Jakarta Tomcat [6] and Apache Ant [7] are used. The software author has an Ant build script that copies and re-launches the latest JAR file. There is also an automated version release system that combines these tools to distribute the software to licensed remote users [9]. To scale this pool of machines up to a higher number, other hosts can only be added by contacting the author with the IP address/hostname and port of the relevant Tomcat servers of the local installations. Ideally, this process could be semi-automated with the minimum of input by system administrators at either end of the deployment process. Progress towards this model has been made using the tools available with UDDI, however there is an inconsistency in the implementation of the access control within UDDI deployment process, which hampers this automation. In UDDI, services implementing a particular API, can be described by assigning them to a particular technical model (tModel). A suitable tModel for RAVE has been created. However, whereas the correct method within UDDI would be to search for all services in the UDDI registry implementing the RAVE tModel, the current RAVE software currently only looks for services implementing the RAVE tModel belonging to a single Business Entity stored in the UDDI registry. This was due to a mis-assumption that anyone could publish to a given Business (the UDDI security model is that only the owner of the Business Entity in the registry can create services belonging to that business). Until the ability to locate all RAVE tModel services in a registry is implemented, an independent, automatic UDDI based deployment process, will not be possible [9]. Testing was done using the jUDDI and the Microsoft test registry [12]; there is no reason to believe that RAVE will not work (proviso the caveat above) with the OMII Grimoires UDDI registry [31] or any other UDDI registry meeting the UDDI standard. It should be noted that the Microsoft UDDI Test Registry has been taken off-line as of January 12th 2006. 3.7 External Services Within RAVE itself, there was an option to import external data-sets but this was dropped from the software functionality due to the overhead of implementation issues being deemed too great to justify the usefulness of the function. An external interface has been developed for the GECEM project [8] that consists of rendering the RAVE management options within the context of a GridSphere [9] portal. Integration of RAVE with Access Grid has also been achieved, again making use of an external interface. See the section on “Developer Experience” (5) for more details on these. 3.8 Scalability 7 RAVE – Resource Aware Visualisation Environment Middleware Evaluation Report 03-Mar-2006 UK e-Science Report UKeS-2006-01 The paradigm of the application is that datasets are visualised in a collaborative environment, so scalability is key to its successful operation. So far the system has been successfully tested with one, two and three users looking at the same visualisation. The methods and infrastructure necessary to scale collaborations up to higher numbers of users appear to be in place so, in this regard, and based upon this limited number of users, the application appears to be scalable. However, performance limitation must also be considered. Signs of instability were apparent when the three-user test was being performed – such as fatal exits of the GUI. There were also usability issues (such as the screen freezing of particular users and bandwidth capability reduction) that only appeared when the multi-user test was taking place. It should be noted that scalability in terms of running the software over a variety of bandwidth and locations, was well accounted for. There was strong connectivity when a three-way collaboration was conducted between the LANs in Glasgow and Oxford and an ADSL connection being used by the software author. 4 User Experience 4.1 User Documentation Part of the documentation released after signature of the license is a user guide [2] that walks the user through the specific steps needed for setting up of client and server installations. There is no separate specific user guide for post-installation operation. The Java versioning issues that have been raised means that this document does require updating and will continue to do so until a stable and specific API of the supporting infrastructure has been definitively chosen for the official release. 4.2 Joining the Grid A collaborative visualisation is joined by either creating a render service and a thin client or an active client that makes use of the same data service as the other users. The machine name and the data service instance is the information that must be shared between the various users before collaboration can take place. As described in previous sections this process is straightforward if the necessary infrastructure is already in place. To “join the grid” in terms of adding resources to the underlying infrastructure currently requires registering any Tomcat servers that have the RAVE services deployed, with the WeSC machine pool. By following the instructions in the documentation, opening the firewall connections necessary for communication and contacting the WeSC administrator this is also a straight-forward process. However, the model that would be needed for the software to work in a wider environment will be a semi-automated process using the UDDI registry (already mentioned in section 3.6). There is no security access control implemented in RAVE so there is no mechanism for exchanging authentication or authorisation tokens. Again, this is an aspect that requires immediate addressing. 4.3 Legacy Application Integration Legacy data that it may be desirable to visualise must follow a specific format before it can be used with RAVE. The formats included can be found in Appendix A.2. 8 RAVE – Resource Aware Visualisation Environment Middleware Evaluation Report 03-Mar-2006 UK e-Science Report UKeS-2006-01 One issue here is that RAVE does not support textured formats. However this is a design decision due to the large number of features that this would necessarily introduce. If demand was high enough this could be introduced [9]. Two of the data-sets supported by RAVE – Virtual Reality Modelling Language (VRML) [4] and Visualisation Toolkit (VTK) [13] – are popular as export formats and extra functionality could be introduced into RAVE to import new data-types, again if demand was high enough. In terms of version changes, as the application is isolated in its execution, the context of migrating legacy data or executables will not be an issue until two or three production versions of the software have been produced and widely distributed. 4.4 Migration between platforms The cross-platform nature of RAVE means that any migration of the application between platforms is relatively straightforward. Successful installation and execution of the application has been performed by the evaluators on Windows and Linux machines. Similar tests were performed on a Zaurus PDA OS but these were ultimately unsuccessful in running either thin or active clients. RAVE uses the basic Web services paradigm with remote function calls. It does not implement any of the more complex WS specification types (e.g. the Web Services Resource Framework, WSRF) [9]. 4.5 Usability In this context “usable” constitutes an interface that is intuitive to use, and provides an easy way of navigating around the collaboration and the service creation interface. The interfaces that RAVE provided were good in this regard. After reading the user guide, the management interface was laid out in a logical manner and the procedure of setting up render and data services, followed by avatar creation, was easy to complete. The avatar itself also had an intuitive interface, with the operations (listed in section 4.5.2) being easy to understand when the user was presented with the visualisation. 4.5.1 Basic setup Upon start-up of the RAVE application, a management GUI is presented that is split into three sections: 9 RAVE – Resource Aware Visualisation Environment Middleware Evaluation Report 03-Mar-2006 UK e-Science Report UKeS-2006-01 Figure 2: RAVE Management GUI The top section allows the user to specify a name, a description and what machine to run the data service on. The middle section does exactly the same but for the render service. The bottom section allows the user to specify whether they would like to run an active client or a thin client and what size the avatar is to be. Finally the user clicks on the “Create Visualisation Client” button and the visualisation avatar appears as specified. The management GUI itself is easy to navigate and is easy to use once familiar. However, it was originally built for testing the RAVE software and as such, has some faults that are still to be remedied: The main criticism is a lack of robustness, though this can perhaps be attributed to underlying application issues rather than the GUI itself. While it works most of the time, it is still unpredictable for a significant number of tries. The function of populating the UDDI entries does not always render cleanly and must be restarted. Similarly, the “Refresh” buttons on both the data and render services can sometimes cause the operation of the GUI to slow down significantly. Finally, it also seems to be a problem that if difficulties occur in the rendering of the avatar, this can cause the GUI to exit fatally. The source of this issue is unclear. These problems have all been reported to the RAVE team in the course of the evaluation. There is no automated mechanism for tracking the progress of these issues so the RAVE team need to be contacted directly. 10 RAVE – Resource Aware Visualisation Environment Middleware Evaluation Report 03-Mar-2006 UK e-Science Report UKeS-2006-01 4.5.2 Supported operations The following operations are available when the avatar is rendered and the client is taking part in a visualisation: • • • • • • • • • • Drive camera Move camera Rotate camera Track other camera Jump to camera’s position Fly to camera’s position Go to home position Move object Rotate object Set/Drop marker The operations that make RAVE distinct from other visualisation software are those involving the interaction between users. The ability to jump to, track and fly to the positions of the other cameras gives the visualisation a dynamic and interactive aspect. Objects can be selected and indicated by users to highlight features of interest to the other members of the visualisation. This is done by a “pulsing” feature of a selected object and a unique numerical reference for each object in the data-set. The object naming-scheme is not standard and the objects are not obviously delineated in each set. However, the set/drop marker feature compensates this to some degree – this allows a text parameter to be set that can be “dropped” and made visible to all users. An important new feature is the integration of RAVE with Access Grid [10] technology. The creation of an “AG client” on a given render service can be achieved by providing the VIC address/port and unicast/multicast setting [9]. The output appears as a regular window in the VIC management system and as such, is “view-only” output that must be controlled from another RAVE client connected to the same session. Since the beginning of this evaluation, the evaluators have provided feedback to the author to help improve the usability and HCI aspects of the software. As such the following “wish-list” was provided and implemented: • • • Co-ordinate references. This did not exist originally but now there are readouts at the bottom, providing orientation in the x, y and z axes. Reset button. A user can move objects and distort the visualisation. The reset button was required so that a “Home” configuration could be returned to if required. Object selection. Originally the object selected did not look any different visually. With the current operation, the object now “pulses” so that it is obvious what has been selected. This is primarily useful for the user doing the selecting, as previously it was easy to get confused as to which object had been selected. However, it also helps direct other users to the object of interest. A suggestion has been noted that some kind of VoIP integration would be very useful in the RAVE interface to provide a back-up channel for communication. This was investigated, with the results detailed in appendix A.3. 11 RAVE – Resource Aware Visualisation Environment Middleware Evaluation Report 03-Mar-2006 UK e-Science Report UKeS-2006-01 4.5.3 Data-sets There are only a limited number of data-sets that can be visualised using RAVE, listed in Appendix A.2. The data-sets used for testing were primarily those residing in the WeSC test directories – most useful examples were artistic graphic representations (e.g. a rendering of a galleon, a skeletal hand representation, a cartoon character) but for demonstration purposes a protein structure for the Diffusion Tensor Imaging [19] project at WeSC was used. Some test data-sets from the Bio-Informatics department at Glasgow University were sourced but these turned out to have too complex a polygonal structure, with too many textures within the format - requiring support that RAVE does not provide. 4.6 Security This is a facet of the software that requires immediate attention before it can be considered for production use. Services that are provided on the WeSC UDDI registry are available for anyone to start or, critically, shut down. So no service is secure from either accidental or malicious attempts at disruption. 4.7 Verification The methods and messages provided for verification are adequate for debugging so far, but there are some errors thrown that could be clearer. The two methods of message delivery are through dialogue boxes of the application itself and exceptions thrown in the terminal window from which the application has been launched. Improvements to be made here are that the dialogue boxes need to be more verbose in instructing the user as to what problem has occurred. Current methodology is to report the error back to the application developer who “knows what it means”. While this is sufficient for the purposes of this evaluation it would not be acceptable on a production release. Exceptions thrown in the terminal window tend to be opaque, with, for instance, the Java RMI (Remote Method Invocation) exception being thrown generically, the source of which could be several different errors. 4.7.1 Technical issues This section outlines continuing problems that occur with the software that have been relayed to the author and are being addressed. • • The visualisation client freezes on occasion and it has been noted that this occurs more often when more than one user is looking at the same data-set. When this happens it causes major disruption, as the user that is frozen has no control over their avatar and must shut down completely. It seems to have a knock-on effect of making the management GUI unstable and if the same data-set is then resumed later on, the avatars are left from the previous visualisation. The source of this error is being investigated. Originally, upon start-up of the management GUI, there was an issue with the software attempting to synchronise with the NTP server at WeSC, which would cause the application to freeze. The source of the problem was located to be the NTP server itself which was notoriously unreliable. A workaround was provided by giving the application a list of NTP servers to synchronise with in case of any failures. However, 12 RAVE – Resource Aware Visualisation Environment Middleware Evaluation Report 03-Mar-2006 UK e-Science Report UKeS-2006-01 • in later versions, this problem occasionally recurred though not with the frequency of before. As stated previously, high CPU usage caused in running software simultaneously. This problem was most noticeable when attempting to run VoIP applications to serve as a backup channel during the collaborations. 4.7.2 Usability issues Issues that were encountered in this field were an import button that was presented that allowed for users to import external data-sets of their own creation. However, there were many issues in formatting the data-set correctly and overcoming security implementations of protected file-systems when importing. As a result, the button was removed, considered not to be useful enough to merit the implementation time – as data-sets can be retrieved using other methods. Another issue was that the speed of the visualisation can, on occasion, be cumbersome and unreliable. During the evaluation, smooth operations were achieved from remote sites, but not always. However, though the operation is regularly smooth and fast while testing in Cardiff it would appear that issues surrounding network latency and remote invocation of services hamper the “feel” of the visualisation. The result is an erratic rendering of the data-set. 5 Developer Experience There is some limited scope for application development to be built upon RAVE. An API has been developed that allows an existing Java program to be instrumented to use RAVE. Examples of using this can be found at WeSC with the development of a web portal to RAVE used by the GECEM project [8]. Figure 3: GECEM portal implementing RAVE and GridSphere – the interface essentially is a more colourful version of the management GUI, with the same options for data/render service creation 13 RAVE – Resource Aware Visualisation Environment Middleware Evaluation Report 03-Mar-2006 UK e-Science Report UKeS-2006-01 The functionality of the RAVE management GUI has been essentially transposed to the context of a GridSphere [11] portal. With the creation of a user account, data and render services can be created and an avatar launched as normal. To obtain this user account requires registering with the WeSC project administrator and this also allows a minimal level of security to be applied. The same restrictions apply for local rendering as applied when not using the portal i.e. the correct version of Java3D must be present in the local JDK installation. However, this provides a centralised way of accessing the RAVE application across the web rather than through the use of locally installed software. Figure 4: A RAVE avatar rendered on the AG VIC screen, controlled by a separate avatar. Development opportunity also exists with the RAVE interface that has been created for integration with the Access Grid system. Both of these examples are tightly-bound integrations with no externally exposed interface. Therefore, development opportunity is limited. 6 Conclusions The RAVE software stack provides a grid infrastructure to enable collaborative visualisations in real-time. It has features that allow advanced and flexible operations such as the ability to set markers, selecting specific objects and tracking different users around the visualised domain. Its strengths include the fact that it provides a solution that follows the tenets of Grid technology, with different features of the application having the ability to be distributed across many machines. Tools exist for adding new resources, which are in the process of being developed to be automated and dynamic. Its main weaknesses are its current lack of robustness and need for security. The development team are aware of these shortcomings and an effort will be made to address these issues given 14 RAVE – Resource Aware Visualisation Environment Middleware Evaluation Report 03-Mar-2006 UK e-Science Report UKeS-2006-01 time and renewed funding. In conclusion, RAVE provides an innovative solution for distributed visualisation that could make for a national solution, but would require more development time and resources. References [1] RAVE – http://www.wesc.ac.uk/projects/rave/index.html [2] RAVE user guide documentation [3] Java Development Kit (JDK) – http://java.sun.com [4] Java3D – https://java3d.dev.java.net/ [5] Java3D Development Version – https://www.blackdown.org [6] Jakarta Tomcat – http://tomcat.apache.org [7] Apache Ant – http://ant.apache.org [8] GECEM – http://www.wesc.ac.uk/projectsite/gecem [9] Personal communication with RAVE author, Dr Grimstead [10] Access Grid – http://www.accessgrid.org [11] GridSphere – http://www.gridsphere.org [12] Microsoft Test UDDI Registry – http://test.uddi.microsoft.com [13] Visualisation ToolKit – http://www.vtk.org [14] Xj3D Project – http://www.xj3d.org [15] OBJ File Format – http://www.eg-models.de/formats/Format_Obj.html [16] Polygon File Format – http://www.cc.gatech.edu/projects/large_models/ply.html [17] Martin Connell and Mark Bastin. Diffusion Tensor Imaging (DTI) dataset. Personal communication, SHEFC Brain Imaging Research Centre for Scotland, 2004. [18] Ensight Gold – http://www.ensight.com/pub/NEWEST_RELEASE/ensight76/doc/OnlineHelp/UM-C11.pdf [19] ETOPO data-sets – http://www.ngdc.noaa.gov/mgg/gdas/gd_designagrid.html [20] gViz Project (White Rose Grid) – http://www.comp.leeds.ac.uk/vis/gviz/ [21] eViz Project – http://www.eviz.org [22] NAG IRIS Explorer – http://www.nag.co.uk/Welcome_IEC.asp [23] e-Demand - http://www.comp.leeds.ac.uk/edemand/index.html [24] COVISE - http://www.hlrs.de/organization/vis/covise/ [25] Supervise – http://www.dcs.hull.ac.uk/simvis/research/research.htm [26] Grid Engineering Task Force – http://tyne.dl.ac.uk/ETF/index.shtml [27] Skype – http://www.skype.com [28] Skype EULA - http://www.skype.com/company/legal/eula/index.html [29] OpenPhone - http://www.openh323.org/ [30] GnomeMeeting – http://www.gnomemeeting.org [31] Grimoires UDDI Registry – http://www.omii.ac.uk/mp/mp_grimoires.jsp Appendix A.1 License Agreement Software Licence for RAVE IMPORTANT - PLEASE READ CAREFULLY This is a legal Agreement between you the user of the RAVE Software and Cardiff University of 30-36 Newport Road, Cardiff CF24 0DE (“Cardiff”). ____________________________________________________________________ A. Cardiff’s School of Computer Science has developed a computer software known as RAVE (hereinafter called “the Software”); and B. You (“the Licensee”) wish to use the Software for evaluation purposes, and C. Cardiff hereby grants a licence to the Licensee for use of the Software under the terms herein. 15 RAVE – Resource Aware Visualisation Environment Middleware Evaluation Report 03-Mar-2006 UK e-Science Report UKeS-2006-01 1. Purpose The purpose of this licence is to permit use of the Software by the Licensee for internal noncommercial evaluation only during the Evaluation Period and in accordance with the provisions of this Agreement. The Evaluation Period shall be for <n> months from the date of signature of this Agreement. 2. Software Licence Cardiff grants to the Licensee on the following terms a non-exclusive and non-transferable licence to install and use the Software: a. The Licensee shall not copy the Software as delivered other than to create a backup copy in case of malfunction of the designated computer or network. b. The Licensee may use the Software solely for the purposes of undertaking academic research projects. The licensee agrees not to use the Software for profit-making or commercial purposes, including consultancy. c. Copying of the Software other than as defined in Clause 2.a herein is a breach of this Agreement. d. The Licensee shall not provide, disclose or otherwise make available the Software in any form to any person other than the Licensee’s students and employees without Cardiff’s prior written consent. e. The Licensee will not attempt to “reverse engineer”, decompile, disassemble or otherwise derive the source code for the Software except to the extent specifically permitted under English law. Any such attempt is a breach of this Agreement entitling Cardiff to legal remedies, including injunctive relief. The Licensee may modify only those parts of the Software which Cardiff elects to provide in the form of source code. f. The Licensee will not attempt to modify or remove any copyright notices or proprietary markings from the Software. 3. Support Services Cardiff makes no undertaking that it will resolve any reported problem relating to the Software and will provide no training. 4. Termination When the Licensee discontinues use of the Software, the Licensee will return the Software to Cardiff together with any documentation including all copies of both Software and documentation unless otherwise agreed with Cardiff. Cardiff shall have the right to terminate this Agreement forthwith if the Licensee breaches the terms and conditions of this Agreement, and in such instance the Licensee will return the Software to Cardiff together with any documentation and all copies of both Software and documentation. 5. Ownership and Use a. All copies of the Software and documentation are Cardiff’s confidential and proprietary property, and title to them remains in Cardiff. This Agreement and the Licensee’s use of the Software shall not be deemed to transfer any of Cardiff’s rights in patents copyrights and trade secrets in the Software to the Licensee. No title to or ownership of the Software is transferred to the Licensee. b. Cardiff shall have the right to terminate the Licensee’s licence and rights granted by this Agreement, as detailed in Clause 4. c. The rights and obligations contained in this Clause 5 shall survive any termination of this Agreement. d. The Licensee shall have no right to duplicate manuals, or to use them, except in conjunction with its use of the Software. 6. Reporting 16 RAVE – Resource Aware Visualisation Environment Middleware Evaluation Report 03-Mar-2006 UK e-Science Report UKeS-2006-01 The Licensee agrees to provide Cardiff with a written evaluation report on its use of the Software, using a pro forma which will be provided to the Licensee. The Licensee will send Cardiff a copy of the report within 30 days of the end of the Evaluation Period. The evaluation report shall not be released to any third party without the consent of Cardiff, such consent not to be unreasonably withheld. 6. Exclusion of Warranty and Limitation of Liability a. Cardiff makes no warranties, expressed or implied, by operation of law or otherwise, of any item or service furnished in connection with this Agreement. Cardiff expressly disclaims all implied warranties or merchantability or fitness for particular purpose. No representation or other statement, including statements of capacity, suitability for use or performance of the Software, whether made by Cardiff’s employees or others will be considered a warranty by Cardiff for any purpose or give rise to any liability of Cardiff. b. To the best of Cardiff’s knowledge the Software will not infringe the proprietary rights of any third party but Cardiff makes no representations or warranties that the Software is delivered free of the rightful claims of any third party for infringement of proprietary rights. c. Neither party shall be liable to the other for incidental, consequential, special or exemplary damages resulting from the use of the Software or caused by any defect, failure, or malfunction whether the claim for such damages is based upon warranty, contract, tort, negligence or otherwise. 7. Assignment The Licensee may not assign, sub-license, or transfer the licence of the Software. Any attempt otherwise to sub-license, assign or transfer any of the rights, duties or obligations under this Agreement is void. 8. Governing Law This Agreement shall be subject to the exclusive jurisdiction of the laws of England and Wales. The Licensee acknowledges that it has read this Agreement, understands it and agrees to be bound by its terms and conditions. If the Licensee does not agree to be bound by the terms and conditions of this Agreement, then Cardiff does not agree to license the Software to the Licensee and the Licensee should not use or copy the Software. Appendix Description of the RAVE Software RAVE uses 'grid' technology, that makes use of spare capacity in remote machines via a network or grid, to allow locally sited computers to draw on the resources of computers from as far away as the US. Spare capacity is used to draw complex datasets and show the results on the local machine. The system also creates a collaborative environment so multiple users can view the same data at the same time, as well as interact with each other - for instance, to point out interesting features in the data. Supplied: Java archive containing the RAVE software, an installation and user manual. 17 RAVE – Resource Aware Visualisation Environment Middleware Evaluation Report 03-Mar-2006 UK e-Science Report UKeS-2006-01 A.2 List of accepted data-set formats • • • • • • • • • Visualisation ToolKit - VTK (binary or ASCII) [13] Java 3D (including LightWave3D) [4] Xj3D Project (including VRML and X3D) [14] OBJ (Wavefront) [15] PLY (Polygon file format) [16] GECEM project specific (ADF converted into ASCII format) [8] DTI (Diffusion Tensor Imaging – custom ASCII format) [17] Ensight Gold [18] ETOPO datasets [19] A.3 Separate Voice over Internet Protocol (VoIP) channel Skype [27] was initially tested as a means of communicating over a separate channel between RAVE collaborators, to allow real-time discussion of the data-sets and to provide a back-up channel in case of failure of the visualising application. However, though this was the most useful tool and easy to set up and use, its use has been prohibited over many university campuses (including Oxford and Glasgow) because of the “supernode” ability of the software. This is where the software acts as a relay for arbitrary third-party traffic - there is no way to limit or prevent this and there is no way to detect what this traffic is carrying. The Skype license agreement [28] has been amended recently to reflect that this can happen: 4.1 Permission to utilize Your computer. In order to receive the benefits provided by the Skype Software, You hereby grant permission for the Skype Software to utilize the processor and bandwidth of Your computer for the limited purpose of facilitating the communication between Skype Software users. Other options investigated were OpenPhone [29], GnomeMeeting [30] and Microsoft NetMeeting (implemented as standard in XP). However, it was discovered that NetMeeting was the only option that supported communication that was more than two-way – and this had to be used between Windows operating systems only. OpenPhone was sporadically unreliable and GnomeMeeting only worked between Unix operating systems. For future use of VoIP backup channel tools, technically Skype remains the most useful and achieves the functionality required for use with visualisation software such as RAVE. However, its widespread prohibition currently makes it untenable until such time as this issue is resolved. 18